From 97111a47d707638a835d7498276ac6768a052ee8 Mon Sep 17 00:00:00 2001 From: Coccinelle Date: Sun, 22 Jan 2012 19:56:03 +0100 Subject: [PATCH] Release of coccinelle 1.0.0-rc9 ** Language: - Addition of initializer list metavariables. Thanks to Michael Stefaniuc for noticing the need for them. - Allow multiple position variables per token - ++ can now be associated with - code - Allow /* */ comments as smpl comments, not only as + code - Add support for && (label addresses) - local idexpression metavariable no longer matches static local x - Consider using to be a comment in C++ code. Patch submitted by Jani Monoses. - Command line cocci - print_main etc for ocaml Coccilib - =~ not ~= is used to indicate a regular expression constraint on an identifier. And !~ for a nonmatch. - allow long double, short int, long int, and long long int in SmPL code. - gcc constructors allowed in SmPL. Thanks to Uwe Kleine-Koenig for pointing out the problem. - Allow ! to appear before () in depends. Thanks to SF Markus Elfring for noticing the problem. - Can add code containing #pragma or #line. ** Features: - Preserve spacing before // comments when not at the beginning of a line - Adjusted parsing of endif to put it after jump code - Improve warning message when using -use_cache - More helpful initial value for exported variables in python - Support - on expression nests - Better handling of the case of a matched declaration that should only be replaced by other top level things. - Allow a semantic patch beginning and ending with braces to match the complete body of a function if the braces are not removed and if nothing is added before the first brace or after the last one. - Add -cache_prefix option, to specify where to put cached files. - Allow module_init(foo); to match module_init(foo) (or likewise for any declarer), when no transformation is specified on the semicolon. - Add Coccilib.exit() for ocaml code and cocci.exit() for python code, to abort the treatment of the current file. - Don't multiply print the same patch for the same file - Drop date in diff - Don't repeat smpl type warnings - -sp_file/-cocci_file are now optional. If not present an argument that ends in .cocci is assumed to be the name of the file containing the semantic patch. - Allow limiting the size of a named cache using -cache_limit - Cache name specified with -cache_prefix is extended according to the index (parallelism), if any. - Allow multi-character constants in C code and SmPL code. Thanks to Kamil Pilch for pointing out the problem. - Better parsing of K&R C functions. No longer convert all parameters to typedefs. - Implement newes as a hash table, for more efficiency on big sets of environments. - A local variable that is declared without a type is not considered to be a local variable. Actually, such a variable is probably really a macro that expends to a declaration, and this macro is not the variable name. - Allow iteration to make modifications when the modifications are done inplace. - -debug gives information about defined virtual rules and about virtual identifier bindings. - no more crashing on c++-like code without the c++ argument. - dependencies can have ! on () - Give ocaml code access to Flag and thus the current file name. ** Bugfix: - Corrected parsing of script strings delimited by a single quote. Thanks to Eugeniy Meshcheryakov for reporting the problem. - Improved indentation of added ifdefs. - Allow added comments and #ifdefs to precede other added code. Thanks to Jani Monoses for noticing the problem. - Corrected failure to due missing ocamlfind. Thanks to Derek M. Jones for reporting the problem. - Allow fake nodes to be - in the allminus case, to drop tokens related to a function definition or forward declaration but before the first code mentioned in the semantic patch. - Drop __init etc when deleting a whole function. - Cause appropriate newlines to be preserved when multiple matches (trees) contain adjacent modifications derived from the same SmPL code. - check_meta takes into account fresh identifier seed information. - Types for worth-trying optimization should not be followed by space - Improved filtering of result of matching atomic patterns - Drop positions before creating function prototype rules - Adjust position of { introduced by adding multiple statements in a single-statement position - Drop newline after function call ( when all arguments on that line are eliminated - Accept removal of a single declaration, replaced by arbitrary, non-declaration code - smpl_spacing takes into account newlines, indentation - Improved prevention of transformations on toplevel { ... } from causing changes outside function boundaries; also outside ifs, whiles, etc. Changes are still allowed on { ... } present for other reasons. - Fix bug in include_match that caused everything to halt when all matches were discarded - Don't call Insert_plus on rules that cannot be evaluated due to failed dependencies. - Allow variable declaration right after a case in switch. - The top of a loop is also after the body of a loop, for ... in loop body - Do not anchor Str regexp at the beginning of the string to check - Type annotation for C code uses most recent env for typedefs when possible. Thanks to Andrea Canciani for pointing out the problem. - Pretty print pointer types without a trailing space. Thanks to Michael Stefaniuc for pointing out the problem. - Propagate dependencies further in get_constants2 - Make lexer more dos friendly - slightly better handling of long long - Strip constraints from metavariables in function prototype treatment before comparison, due to incomparability of pcre regexps. - Fixed obsolete regexp doc, thanks to Dmitry Osmakov - Improved x || ... || y to avoid double modification - Transparently allow \( \| and \) to be on lines beginning with -. The - has no effect. - Remove memory leak related to pr2_once management. Thanks to Robert Gomulka for helping to solve the problem. Don't use once hashtable if messages won't be printed anyway. - Change the type of subtraction mixing pointer and array to have int result. Thanks to Robert Gomulka for noticing the problem. - Fix interpretation of dependencies in the presence of virtual rules. Ignore constraints on inherited position metavariables in a rule that will be ignored. - Better support meta iterator and meta declarer tokens, and symid tokens. - Better indentation after added noindent. --- Makefile | 41 +- Makefile.dev | 8 +- Makefile.libs | 49 + Makefile.release | 20 +- changes.txt | 35 + cocci.ml | 98 +- commons/common.ml | 1 + commons/ocamlextra/dynArray.ml | 896 +-- commons/ocamlextra/dynArray.mli | 562 +- commons/ocamlextra/enum.ml | 752 +- commons/ocamlextra/enum.mli | 402 +- commons/sexp_common.ml | 2 +- configure | 187 +- ctl/wrapper_ctl.ml | 2 +- demos/assignment_matching.c | 32 + demos/assignment_matching.cocci | 38 + demos/assignment_matching.res | 32 + demos/demo_rule9/g_NCR5380.c | 5 +- demos/demo_rule9/g_NCR5380.res | 5 +- demos/demo_rule9/nsp_cs.c | 6 +- demos/depend.c | 4 + demos/depend.cocci | 38 + demos/pcre.cocci | 2 +- demos/regexp.cocci | 2 +- docs/Coccilib.3cocci | 4 +- docs/manual/cocci_syntax.tex | 78 +- docs/manual/examples.tex | 6 +- docs/manual/macros.tex | 2 +- docs/manual/main_grammar.pdf | Bin 344637 -> 345732 bytes docs/manual/manual.pdf | Bin 451285 -> 452455 bytes docs/manual/options.pdf | Bin 140080 -> 140411 bytes engine/cocci_vs_c.ml | 65 +- engine/transformation_c.ml | 63 +- flag_cocci.ml | 1 + globals/config.ml.in | 2 +- globals/iteration.ml | 9 +- main.ml | 73 +- menhirlib/infiniteArray.ml | 2 +- ocaml/yes_prepare_ocamlcocci.ml | 2 +- ocamlsexp/license-tywith.txt | 52 +- parsing_c/ast_c.ml | 4 +- parsing_c/lexer_c.mll | 48 +- parsing_c/parser_c.mly | 17 +- parsing_c/parsing_hacks.ml | 118 +- parsing_c/pretty_print_c.ml | 2 +- parsing_c/token_helpers.ml | 3 + parsing_c/type_annoter_c.ml | 23 +- parsing_c/type_c.ml | 5 +- parsing_c/unparse_c.ml | 27 +- parsing_cocci/ast0_cocci.ml | 16 +- parsing_cocci/ast0_cocci.mli | 14 +- parsing_cocci/ast0toast.ml | 5 +- parsing_cocci/ast_cocci.ml | 4 +- parsing_cocci/ast_cocci.mli | 4 +- parsing_cocci/check_meta.ml | 4 +- parsing_cocci/compute_lines.ml | 6 +- parsing_cocci/data.ml | 3 + parsing_cocci/data.mli | 2 + parsing_cocci/function_prototypes.ml | 9 +- parsing_cocci/iso_pattern.ml | 73 +- parsing_cocci/lexer_cocci.mll | 29 +- parsing_cocci/parse_aux.ml | 61 +- parsing_cocci/parse_cocci.ml | 71 +- parsing_cocci/parser_cocci_menhir.ml | 9705 +++++++++++++------------ parsing_cocci/parser_cocci_menhir.mli | 2 + parsing_cocci/parser_cocci_menhir.mly | 61 +- parsing_cocci/pretty_print_cocci.mli | 1 + pycaml/getprefix.py | 2 +- pycaml/getversion.py | 2 +- tests/SCORE_expected.sexp | 33 +- tests/SCORE_expected_orig.sexp | 18 +- tests/symbol.c | 7 + tests/symbol.cocci | 12 + tests/symbol.res | 5 + tools/splitpatch.ml | 27 +- 75 files changed, 7497 insertions(+), 6504 deletions(-) create mode 100644 Makefile.libs create mode 100644 demos/assignment_matching.c create mode 100644 demos/assignment_matching.cocci create mode 100644 demos/assignment_matching.res create mode 100644 demos/depend.c create mode 100644 demos/depend.cocci create mode 100644 tests/symbol.c create mode 100644 tests/symbol.cocci create mode 100644 tests/symbol.res diff --git a/Makefile b/Makefile index 32ea01c..42a9aab 100644 --- a/Makefile +++ b/Makefile @@ -25,6 +25,7 @@ # Configuration section ############################################################################# +-include Makefile.libs -include Makefile.config -include /etc/lsb-release @@ -52,7 +53,7 @@ endif OPTLIBFLAGS= ifeq ("$(SEXPDIR)","ocamlsexp") -SEXPLIB=sexplib.cmo +SEXPLIB=ocamlsexp/sexplib.cmo OPTSEXPLIB=sexplib.cmx else SEXPLIB=sexplib.cma @@ -74,7 +75,7 @@ endif SEXPSYSCMA=bigarray.cma nums.cma -SYSLIBS=str.cma unix.cma $(SEXPSYSCMA) $(PYCMA) $(DYNLINK) $(PCRELIB) # threads.cma +SYSLIBS=str.cma unix.cma $(SEXPSYSCMA) $(DYNLINK) $(PCRELIB) # threads.cma LIBS=commons/commons.cma \ commons/commons_sexp.cma \ globals/globals.cma \ @@ -107,22 +108,28 @@ LOCALSEXP= endif # used for depend: and a little for rec & rec.opt -MAKESUBDIRS=$(LOCALPYCAML) $(LOCALSEXP) commons \ +MAKESUBDIRS=$(LOCALSEXP) commons \ globals $(LOCALMENHIR) ctl parsing_cocci parsing_c \ - engine popl09 extra python ocaml + engine popl09 extra python ocaml \ + $(MAKELIBS) # used for clean: # It is like MAKESUBDIRS but also # force cleaning of local library copies CLEANSUBDIRS=pycaml ocamlsexp commons \ globals menhirlib ctl parsing_cocci parsing_c \ - engine popl09 extra python ocaml + engine popl09 extra python ocaml \ + $(CLEANLIBS) INCLUDEDIRSDEP=commons commons/ocamlextra $(LOCALSEXP) \ globals $(LOCALMENHIR) $(LOCALPYCAML) ctl \ - parsing_cocci parsing_c engine popl09 extra python ocaml + parsing_cocci parsing_c engine popl09 extra python ocaml \ + $(DEPLIBS) -INCLUDEDIRS=$(INCLUDEDIRSDEP) $(SEXPDIR) $(MENHIRDIR) $(PYCAMLDIR) $(PCREDIR) +INCLUDEDIRS=$(INCLUDEDIRSDEP) $(SEXPDIR) $(MENHIRDIR) $(PYCAMLDIR) $(PCREDIR) $(INCLIBS) + +EXTRALINKS= +LINKFLAGS=$(EXTRALINKS:%=-cclib -l%) ############################################################################## # Generic variables @@ -148,8 +155,8 @@ OCAMLCFLAGS= # to also link with -g. OPTFLAGS= -g -OCAMLC=ocamlc$(OPTBIN) $(OCAMLCFLAGS) $(INCLUDES) -OCAMLOPT=ocamlopt$(OPTBIN) $(OPTFLAGS) $(INCLUDES) +OCAMLC=ocamlc$(OPTBIN) $(OCAMLCFLAGS) $(LINKFLAGS) $(INCLUDES) +OCAMLOPT=ocamlopt$(OPTBIN) $(OPTFLAGS) $(LINKFLAGS) $(INCLUDES) OCAMLLEX=ocamllex #-ml # -ml for debugging lexer, but slightly slower OCAMLYACC=ocamlyacc -v OCAMLDEP=ocamldep $(INCLUDEDIRSDEP:%=-I %) @@ -220,18 +227,20 @@ clean:: $(LIBS): $(MAKESUBDIRS) $(LIBS:.cma=.cmxa): $(MAKESUBDIRS:%=%.opt) +$(LNKLIBS) : $(MAKESUBDIRS) +$(LNKOPTLIBS) : $(MAKESUBDIRS:%=%.opt) -$(OBJS):$(LIBS) -$(OPTOBJS):$(LIBS:.cma=.cmxa) +$(OBJS):$(LIBS) $(LNKLIBS) +$(OPTOBJS):$(LIBS:.cma=.cmxa) $(LNKOPTLIBS) $(EXEC): $(LIBS) $(OBJS) - $(OCAMLC) $(BYTECODE_STATIC) -o $@ $(SYSLIBS) $(SEXPLIB) $^ + $(OCAMLC) $(BYTECODE_STATIC) -o $@ $(SYSLIBS) $(SEXPLIB) $(LNKLIBS) $^ $(EXEC).opt: $(LIBS:.cma=.cmxa) $(OPTOBJS) - $(OCAMLOPT) $(STATIC) -o $@ $(SYSLIBS:.cma=.cmxa) $(OPTSEXPLIB) $(OPTLIBFLAGS) $^ + $(OCAMLOPT) $(STATIC) -o $@ $(SYSLIBS:.cma=.cmxa) $(OPTSEXPLIB) $(OPTLIBFLAGS) $(FLAGSLIB) $(OPTLNKLIBS) $^ -$(EXEC).top: $(LIBS) $(OBJS) - $(OCAMLMKTOP) -custom -o $@ $(SYSLIBS) $(SEXPLIB) $^ +$(EXEC).top: $(LIBS) $(OBJS) $(LNKLIBS) + $(OCAMLMKTOP) -custom -o $@ $(SYSLIBS) $(SEXPLIB) $(LNKLIBS) $^ clean:: rm -f $(TARGET) $(TARGET).opt $(TARGET).top @@ -245,7 +254,7 @@ Makefile.config: @echo "Makefile.config is missing. Have you run ./configure?" @exit 1 -tools: $(LIBS) +tools: $(LIBS) $(LNKLIBS) $(MAKE) -C tools distclean:: diff --git a/Makefile.dev b/Makefile.dev index 62b1f23..2e571a5 100644 --- a/Makefile.dev +++ b/Makefile.dev @@ -14,7 +14,7 @@ website: cp $(TMP)/$(PACKAGE)-bin-x86-python.tgz $(WEBSITE) cp $(TMP)/$(PACKAGE)-bin-bytecode-$(OCAMLVERSION).tgz $(WEBSITE) cp $(TMP)/$(PACKAGE)-bin-bytecode-$(OCAMLVERSION)-python.tgz $(WEBSITE) - cd $(WEBSITE); cvs add $(PACKAGE).tgz \ + cd $(WEBSITE); svn add $(PACKAGE).tgz \ $(PACKAGE)-bin-x86.tgz \ $(PACKAGE)-bin-x86-python.tgz \ $(PACKAGE)-bin-bytecode-$(OCAMLVERSION).tgz \ @@ -53,9 +53,11 @@ diff_darcs: # Git Developer rules ############################################################################## gitupdate: - git cvsimport -d :ext:topps:/var/cvs/cocci coccinelle + echo "you should pull from the git repository" +# git cvsimport -d :ext:topps:/var/cvs/cocci coccinelle -UBUNTU=karmic lucid maverick natty +#UBUNTU=karmic lucid maverick natty +UBUNTU=lucid maverick natty UBUNTURELEASE=$(UBUNTU:%=ubuntu-%) .PHONY:: ubuntu $(UBUNTURELEASE) diff --git a/Makefile.libs b/Makefile.libs new file mode 100644 index 0000000..7716476 --- /dev/null +++ b/Makefile.libs @@ -0,0 +1,49 @@ +# +# Static configuration of Ocaml libraries +# Add these libraries to the library list in configure in order to use them. +# +# Template: +# LOCAL_$lib = modules to include when compiling $lib locally with bytecode ocaml +# LOCALOPT_$lib = moduels to include when compiling $lib locally with optimizing ocaml +# GLOBAL_$lib = modules to include when using $lib globally with bytecode ocaml +# GLOBALOPT_$lib = modules to include when using $lib globally with optimizing ocaml +# FLAGS_$lib = extra flags to pass to optimizing ocaml when using $lib at link time +# +# This file is included in the Makefile where these variables may be used depending +# on your actual configuration. +# + + +# pycaml library +LOCAL_pycaml = pycaml.cma +LOCALOPT_pycaml = pycaml.cmxa +GLOBAL_pycaml = pycaml.cma +GLOBALOPT_pycaml = pycaml.cmxa +FLAGS_pycaml = + +# sexplib library +LOCAL_sexplib = sexplib.cmo +LOCALOPT_sexplib = sexplib.cmx +GLOBAL_sexplib = sexplib.cma +GLOBALOPT_sexplib = sexplib.cmxa +FLAGS_sexplib = + +# pcre library +LOCAL_pcre = pcre.cmo +LOCALOPT_pcre = pcre.cmx +GLOBAL_pcre = pcre.cma +GLOBALOPT_pcre = pcre.cmxa +FLAGS_pcre = -cclib -lpcre + +# dynlink library +LOCAL_dynlink = +LOCALOPT_dynlink = +GLOBAL_dynlink = dynlink.cma +GLOBALOPT_dynlink = dynlink.cmxa + +# extlib library +LOCAL_extlib = +LOCALOPT_extlib = +GLOBAL_extlib = extLib.cma +GLOBALOPT_extlib = extLib.cmxa +FLAGS_extlib = diff --git a/Makefile.release b/Makefile.release index 0e2d8ed..461d068 100644 --- a/Makefile.release +++ b/Makefile.release @@ -28,7 +28,7 @@ OCAMLVERSION=$(shell ocaml -version |perl -p -e 's/.*version (.*)/$$1/;') # Procedure to do first time: # cd ~/release -# cvs checkout coccinelle -dP +# git clone ... coccinelle # cd coccinelle # # Procedure to do each time: @@ -61,8 +61,12 @@ OCAMLVERSION=$(shell ocaml -version |perl -p -e 's/.*version (.*)/$$1/;') # the scripts/licensify has been run at least once. # For the 'make bintar' I can do it from my original repo. +# The 'git rebase' is in there just in case you started with +# unpushed changes. However, that is probably something you should +# not do in the first place. + prerelease: - cvs up -CdP + git pull --rebase $(MAKE) fix-expected $(MAKE) distclean sed -i "s|^OCAMLCFLAGS=.*$$|OCAMLCFLAGS=|" Makefile @@ -77,7 +81,10 @@ fix-expected: cp tests/SCORE_actual.sexp tests/SCORE_expected_orig.sexp release: - cvs ci -m "Release $(VERSION)" globals/config.ml.in + git add globals/config.ml.in + git commit -m "Release $(VERSION)" + git tag -a -m "Release $(VERSION)" $(VERSION) + git push --mirror $(MAKE) licensify @echo "\n\tRun 'make package'\n" @@ -86,7 +93,7 @@ package: $(MAKE) package-nopython $(MAKE) package-python @echo "\tPut online with 'make website'" - @echo "\tThe coccinelle CVS repository must be in $(WEBBASE)\n" + @echo "\tThe coccinelle SVN repository must be in $(WEBBASE)\n" package-src: $(MAKE) distclean # Clean project @@ -190,10 +197,6 @@ licensify: fixdates: echo do 'touch **/*.*' -#fixCVS: -# cvs update -d -P -# echo do 'rm -rf **/CVS' - ocamlversion: @echo $(OCAMLVERSION) @@ -218,6 +221,7 @@ ocamlversion: EXCL_SYNC=--exclude ".git" \ --exclude ".gitignore" \ --exclude ".cvsignore" \ + --exclude ".svn" \ --exclude "tests" \ --exclude "TODO" \ --cvs-exclude diff --git a/changes.txt b/changes.txt index d0eee2b..2822db3 100644 --- a/changes.txt +++ b/changes.txt @@ -9,6 +9,7 @@ - function-typed metavariables - virtual typedef, declarer name, iterator name - regexps for type metavariables +- 'symbol' metadeclaration for C identifiers that are guaranteed not intended as meta variables. ** Features: - New scripting languages @@ -36,6 +37,9 @@ - allow long double, short int, long int, and long long int in SmPL code. - gcc constructors allowed in SmPL. Thanks to Uwe Kleine-Koenig for pointing out the problem. +- Allow ! to appear before () in depends. Thanks to SF Markus Elfring for + noticing the problem. +- Can add code containing #pragma or #line. ** Features: - Preserve spacing before // comments when not at the beginning of a line @@ -64,6 +68,20 @@ index (parallelism), if any. - Allow multi-character constants in C code and SmPL code. Thanks to Kamil Pilch for pointing out the problem. +- Better parsing of K&R C functions. No longer convert all parameters to + typedefs. +- Implement newes as a hash table, for more efficiency on big sets of + environments. +- A local variable that is declared without a type is not considered to be + a local variable. Actually, such a variable is probably really a macro + that expends to a declaration, and this macro is not the variable name. +- Allow iteration to make modifications when the modifications are done + inplace. +- -debug gives information about defined virtual rules and about virtual + identifier bindings. +- no more crashing on c++-like code without the c++ argument. +- dependencies can have ! on () +- Give ocaml code access to Flag and thus the current file name. ** Bugfix: - Corrected parsing of script strings delimited by a single quote. Thanks @@ -106,6 +124,23 @@ Stefaniuc for pointing out the problem. - Propagate dependencies further in get_constants2 - Make lexer more dos friendly +- slightly better handling of long long +- Strip constraints from metavariables in function prototype treatment + before comparison, due to incomparability of pcre regexps. +- Fixed obsolete regexp doc, thanks to Dmitry Osmakov +- Improved x || ... || y to avoid double modification +- Transparently allow \( \| and \) to be on lines beginning with -. The - + has no effect. +- Remove memory leak related to pr2_once management. Thanks to Robert + Gomulka for helping to solve the problem. Don't use once hashtable if + messages won't be printed anyway. +- Change the type of subtraction mixing pointer and array to have int result. + Thanks to Robert Gomulka for noticing the problem. +- Fix interpretation of dependencies in the presence of virtual rules. + Ignore constraints on inherited position metavariables in a rule that + will be ignored. +- Better support meta iterator and meta declarer tokens, and symid tokens. +- Better indentation after added noindent. * 0.2.5 ** Language: diff --git a/cocci.ml b/cocci.ml index c21ca71..94f4707 100644 --- a/cocci.ml +++ b/cocci.ml @@ -1197,6 +1197,20 @@ let prepare_c files choose_includes : file_info list = includes @ cfiles +(*****************************************************************************) +(* Manage environments as they are being built up *) +(*****************************************************************************) + +let init_env _ = Hashtbl.create 101 + +let update_env env v i = Hashtbl.replace env v i; env + +(* know that there are no conflicts *) +let safe_update_env env v i = Hashtbl.add env v i; env + +let end_env env = + List.sort compare (Hashtbl.fold (fun k v rest -> (k,v) :: rest) env []) + (*****************************************************************************) (* Processing the ctls and toplevel C elements *) (*****************************************************************************) @@ -1248,26 +1262,11 @@ let prepare_c files choose_includes : file_info list = (* r(ule), c(element in C code), e(nvironment) *) -let findk f l = - let rec loop k = function - [] -> None - | x::xs -> - if f x - then Some (x, function n -> k (n :: xs)) - else loop (function vs -> k (x :: vs)) xs in - loop (function x -> x) l - let merge_env new_e old_e = - let (ext,old_e) = - List.fold_left - (function (ext,old_e) -> - function (e,rules) as elem -> - match findk (function (e1,_) -> e =*= e1) old_e with - None -> (elem :: ext,old_e) - | Some((_,old_rules),k) -> - (ext,k (e,Common.union_set rules old_rules))) - ([],old_e) new_e in - old_e @ (List.rev ext) + List.iter + (function (e,rules) -> + let _ = update_env old_e e rules in ()) new_e; + old_e let contains_binding e (_,(r,m),_) = try @@ -1326,7 +1325,7 @@ let apply_script_rule r cache newes e rules_that_have_matched rules_that_have_matched !rules_that_have_ever_matched r.scr_rule_info.dependencies; show_or_not_binding "in environment" e; - (cache, (e, rules_that_have_matched)::newes) + (cache, safe_update_env newes e rules_that_have_matched) end else begin @@ -1359,7 +1358,7 @@ let apply_script_rule r cache newes e rules_that_have_matched 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) + (cache,update_env newes new_e rules_that_have_matched) with Not_found -> begin print_dependencies "dependencies for script satisfied:" @@ -1375,18 +1374,15 @@ let apply_script_rule r cache newes e rules_that_have_matched 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 = (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,Some script_vals) :: cache), - merge_env - [(new_e, - r.scr_rule_info.rulename :: rules_that_have_matched)] - newes) + update_env newes new_e + (r.scr_rule_info.rulename :: rules_that_have_matched)) end) | unbound -> (if !Flag_cocci.show_dependencies @@ -1396,9 +1392,8 @@ let apply_script_rule r cache newes e rules_that_have_matched (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)) + List.filter (fun (s,v) -> List.mem s r.scr_rule_info.used_after) in + (cache, update_env newes e rules_that_have_matched)) end) let rec apply_cocci_rule r rules_that_have_ever_matched es @@ -1427,12 +1422,11 @@ let rec apply_cocci_rule r rules_that_have_ever_matched es !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.rule_info.used_after), - rules_that_have_matched)] - newes) + update_env newes + (e +> + List.filter + (fun (s,v) -> List.mem s r.rule_info.used_after)) + rules_that_have_matched) end else let new_bindings = @@ -1523,12 +1517,13 @@ let rec apply_cocci_rule r rules_that_have_ever_matched es 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 *) + Common.profile_code "merge_env" (function _ -> + merge_env new_e newes))) + ([],init_env()) reorganized_env in (* end iter es *) if !(r.rule_info.was_matched) then Common.push2 r.rule_info.rulename rules_that_have_ever_matched; - es := newes; + es := end_env newes; (* apply the tagged modifs and reparse *) if not !Flag.sgrep_mode2 @@ -1751,7 +1746,7 @@ let rec bigloop2 rs (ccs: file_info list) = | _ -> Printf.printf "Unknown language: %s\n" r.language; (cache, newes)) - ([],[]) !es in + ([],init_env()) !es in (if !(r.scr_rule_info.was_matched) then @@ -1759,7 +1754,8 @@ let rec bigloop2 rs (ccs: file_info list) = (* just newes can't work, because if one does include_match false on everything that binds a variable, then nothing is left *) - es := (*newes*) (if newes = [] then init_es else newes) + es := (*newes*) + (if Hashtbl.length newes = 0 then init_es else end_env newes) | CocciRuleCocciInfo r -> apply_cocci_rule r rules_that_have_ever_matched es ccs) @@ -1802,13 +1798,15 @@ let initial_final_bigloop2 ty rebuild r = "python" -> (* include_match makes no sense in an initial or final rule, although we have no way to prevent it *) - let _ = apply_script_rule r [] [] [] [] (ref []) python_application in + let newes = init_env() in + let _ = apply_script_rule r [] newes [] [] (ref []) python_application in () | "ocaml" when ty = Initial -> () (* nothing to do *) | "ocaml" -> (* include_match makes no sense in an initial or final rule, although we have no way to prevent it *) - let _ = apply_script_rule r [] [] [] [] (ref []) ocaml_application in + let newes = init_env() in + let _ = apply_script_rule r [] newes [] [] (ref []) ocaml_application in () | _ -> failwith ("Unknown language for initial/final script: "^ @@ -1937,6 +1935,20 @@ let full_engine2 (cocci_infos,toks) cfiles = if !Flag.show_misc then pr "let's go"; if !Flag.show_misc then Common.pr_xxxxxxxxxxxxxxxxx(); + if !Flag_cocci.show_binding_in_out + then + begin + (match !Flag.defined_virtual_rules with + [] -> () + | l -> pr (Printf.sprintf "Defined virtual rules: %s" + (String.concat " " l))); + List.iter + (function (v,vl) -> + pr (Printf.sprintf "%s = %s" v vl)) + !Flag.defined_virtual_env; + Common.pr_xxxxxxxxxxxxxxxxx() + end; + let choose_includes = match !Flag_cocci.include_options with Flag_cocci.I_UNSPECIFIED -> diff --git a/commons/common.ml b/commons/common.ml index e4678d1..aa4d6e2 100644 --- a/commons/common.ml +++ b/commons/common.ml @@ -6105,6 +6105,7 @@ let main_boilerplate f = if !profile <> PNONE then pr2 (profile_diagnostic ()); erase_temp_files (); + clear_pr2_once() ) ) (* let _ = if not !Sys.interactive then (main ()) *) diff --git a/commons/ocamlextra/dynArray.ml b/commons/ocamlextra/dynArray.ml index a3ea6c8..0a6111f 100644 --- a/commons/ocamlextra/dynArray.ml +++ b/commons/ocamlextra/dynArray.ml @@ -1,448 +1,448 @@ -(* - * DynArray - Resizeable Ocaml arrays - * Copyright (C) 2003 Brian Hurt - * Copyright (C) 2003 Nicolas Cannasse - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version, - * with the special exception on linking described in file LICENSE. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - *) - -type resizer_t = currslots:int -> oldlength:int -> newlength:int -> int - -type 'a intern - -external ilen : 'a intern -> int = "%obj_size" -let idup (x : 'a intern) = if ilen x = 0 then x else (Obj.magic (Obj.dup (Obj.repr x)) : 'a intern) -let imake tag len = (Obj.magic (Obj.new_block tag len) : 'a intern) -external iget : 'a intern -> int -> 'a = "%obj_field" -external iset : 'a intern -> int -> 'a -> unit = "%obj_set_field" - -type 'a t = { - mutable arr : 'a intern; - mutable len : int; - mutable resize: resizer_t; -} - -exception Invalid_arg of int * string * string - -let invalid_arg n f p = raise (Invalid_arg (n,f,p)) - -let length d = d.len - -let exponential_resizer ~currslots ~oldlength ~newlength = - let rec doubler x = if x >= newlength then x else doubler (x * 2) in - let rec halfer x = if x / 2 < newlength then x else halfer (x / 2) in - if newlength = 1 then - 1 - else if currslots = 0 then - doubler 1 - else if currslots < newlength then - doubler currslots - else - halfer currslots - -let step_resizer step = - if step <= 0 then invalid_arg step "step_resizer" "step"; - (fun ~currslots ~oldlength ~newlength -> - if currslots < newlength || newlength < (currslots - step) - then - (newlength + step - (newlength mod step)) - else - currslots) - -let conservative_exponential_resizer ~currslots ~oldlength ~newlength = - let rec doubler x = if x >= newlength then x else doubler (x * 2) in - let rec halfer x = if x / 2 < newlength then x else halfer (x / 2) in - if currslots < newlength then begin - if newlength = 1 then - 1 - else if currslots = 0 then - doubler 1 - else - doubler currslots - end else if oldlength < newlength then - halfer currslots - else - currslots - -let default_resizer = conservative_exponential_resizer - -let changelen (d : 'a t) newlen = - let oldsize = ilen d.arr in - let r = d.resize - ~currslots:oldsize - ~oldlength:d.len - ~newlength:newlen - in - (* We require the size to be at least large enough to hold the number - * of elements we know we need! - *) - let newsize = if r < newlen then newlen else r in - if newsize <> oldsize then begin - let newarr = imake 0 newsize in - let cpylen = (if newlen < d.len then newlen else d.len) in - for i = 0 to cpylen - 1 do - iset newarr i (iget d.arr i); - done; - d.arr <- newarr; - end; - d.len <- newlen - -let compact d = - if d.len <> ilen d.arr then begin - let newarr = imake 0 d.len in - for i = 0 to d.len - 1 do - iset newarr i (iget d.arr i) - done; - d.arr <- newarr; - end - -let create() = - { - resize = default_resizer; - len = 0; - arr = imake 0 0; - } - -let make initsize = - if initsize < 0 then invalid_arg initsize "make" "size"; - { - resize = default_resizer; - len = 0; - arr = imake 0 initsize; - } - -let init initlen f = - if initlen < 0 then invalid_arg initlen "init" "len"; - let arr = imake 0 initlen in - for i = 0 to initlen-1 do - iset arr i (f i) - done; - { - resize = default_resizer; - len = initlen; - arr = arr; - } - -let set_resizer d resizer = - d.resize <- resizer - -let get_resizer d = - d.resize - -let empty d = - d.len = 0 - -let get d idx = - if idx < 0 || idx >= d.len then invalid_arg idx "get" "index"; - iget d.arr idx - -let last d = - if d.len = 0 then invalid_arg 0 "last" ""; - iget d.arr (d.len - 1) - -let set d idx v = - if idx < 0 || idx >= d.len then invalid_arg idx "set" "index"; - iset d.arr idx v - -let insert d idx v = - if idx < 0 || idx > d.len then invalid_arg idx "insert" "index"; - if d.len = ilen d.arr then changelen d (d.len + 1) else d.len <- d.len + 1; - if idx < d.len - 1 then begin - for i = d.len - 1 downto idx do - iset d.arr (i+1) (iget d.arr i) - done; - end; - iset d.arr idx v - -let add d v = - if d.len = ilen d.arr then changelen d (d.len + 1) else d.len <- d.len + 1; - iset d.arr (d.len - 1) v - -let delete d idx = - if idx < 0 || idx >= d.len then invalid_arg idx "delete" "index"; - let oldsize = ilen d.arr in - (* we don't call changelen because we want to blit *) - let r = d.resize - ~currslots:oldsize - ~oldlength:d.len - ~newlength:(d.len - 1) - in - let newsize = (if r < d.len - 1 then d.len - 1 else r) in - if oldsize <> newsize then begin - let newarr = imake 0 newsize in - for i = 0 to idx - 1 do - iset newarr i (iget d.arr i); - done; - for i = idx to d.len - 2 do - iset newarr i (iget d.arr (i+1)); - done; - d.arr <- newarr; - end else begin - for i = idx to d.len - 2 do - iset d.arr i (iget d.arr (i+1)); - done; - iset d.arr (d.len - 1) (Obj.magic 0) - end; - d.len <- d.len - 1 - - -let delete_range d idx len = - if len < 0 then invalid_arg len "delete_range" "length"; - if idx < 0 || idx + len > d.len then invalid_arg idx "delete_range" "index"; - let oldsize = ilen d.arr in - (* we don't call changelen because we want to blit *) - let r = d.resize - ~currslots:oldsize - ~oldlength:d.len - ~newlength:(d.len - len) - in - let newsize = (if r < d.len - len then d.len - len else r) in - if oldsize <> newsize then begin - let newarr = imake 0 newsize in - for i = 0 to idx - 1 do - iset newarr i (iget d.arr i); - done; - for i = idx to d.len - len - 1 do - iset newarr i (iget d.arr (i+len)); - done; - d.arr <- newarr; - end else begin - for i = idx to d.len - len - 1 do - iset d.arr i (iget d.arr (i+len)); - done; - for i = d.len - len to d.len - 1 do - iset d.arr i (Obj.magic 0) - done; - end; - d.len <- d.len - len - -let clear d = - d.len <- 0; - d.arr <- imake 0 0 - -let delete_last d = - if d.len <= 0 then invalid_arg 0 "delete_last" ""; - (* erase for GC, in case changelen don't resize our array *) - iset d.arr (d.len - 1) (Obj.magic 0); - changelen d (d.len - 1) - -let rec blit src srcidx dst dstidx len = - if len < 0 then invalid_arg len "blit" "len"; - if srcidx < 0 || srcidx + len > src.len then invalid_arg srcidx "blit" "source index"; - if dstidx < 0 || dstidx > dst.len then invalid_arg dstidx "blit" "dest index"; - let newlen = dstidx + len in - if newlen > ilen dst.arr then begin - (* this case could be inlined so we don't blit on just-copied elements *) - changelen dst newlen - end else begin - if newlen > dst.len then dst.len <- newlen; - end; - (* same array ! we need to copy in reverse order *) - if src.arr == dst.arr && dstidx > srcidx then - for i = len - 1 downto 0 do - iset dst.arr (dstidx+i) (iget src.arr (srcidx+i)); - done - else - for i = 0 to len - 1 do - iset dst.arr (dstidx+i) (iget src.arr (srcidx+i)); - done - -let append src dst = - blit src 0 dst dst.len src.len - -let to_list d = - let rec loop idx accum = - if idx < 0 then accum else loop (idx - 1) (iget d.arr idx :: accum) - in - loop (d.len - 1) [] - -let to_array d = - if d.len = 0 then begin - (* since the empty array is an atom, we don't care if float or not *) - [||] - end else begin - let arr = Array.make d.len (iget d.arr 0) in - for i = 1 to d.len - 1 do - Array.unsafe_set arr i (iget d.arr i) - done; - arr; - end - -let of_list lst = - let size = List.length lst in - let arr = imake 0 size in - let rec loop idx = function - | h :: t -> iset arr idx h; loop (idx + 1) t - | [] -> () - in - loop 0 lst; - { - resize = default_resizer; - len = size; - arr = arr; - } - -let of_array src = - let size = Array.length src in - let is_float = Obj.tag (Obj.repr src) = Obj.double_array_tag in - let arr = (if is_float then begin - let arr = imake 0 size in - for i = 0 to size - 1 do - iset arr i (Array.unsafe_get src i); - done; - arr - end else - (* copy the fields *) - idup (Obj.magic src : 'a intern)) - in - { - resize = default_resizer; - len = size; - arr = arr; - } - -let copy src = - { - resize = src.resize; - len = src.len; - arr = idup src.arr; - } - -let sub src start len = - if len < 0 then invalid_arg len "sub" "len"; - if start < 0 || start + len > src.len then invalid_arg start "sub" "start"; - let arr = imake 0 len in - for i = 0 to len - 1 do - iset arr i (iget src.arr (i+start)); - done; - { - resize = src.resize; - len = len; - arr = arr; - } - -let iter f d = - for i = 0 to d.len - 1 do - f (iget d.arr i) - done - -let iteri f d = - for i = 0 to d.len - 1 do - f i (iget d.arr i) - done - -let filter f d = - let l = d.len in - let a = imake 0 l in - let a2 = d.arr in - let p = ref 0 in - for i = 0 to l - 1 do - let x = iget a2 i in - if f x then begin - iset a !p x; - incr p; - end; - done; - d.len <- !p; - d.arr <- a - -let index_of f d = - let rec loop i = - if i >= d.len then - raise Not_found - else - if f (iget d.arr i) then - i - else - loop (i+1) - in - loop 0 - -let map f src = - let arr = imake 0 src.len in - for i = 0 to src.len - 1 do - iset arr i (f (iget src.arr i)) - done; - { - resize = src.resize; - len = src.len; - arr = arr; - } - -let mapi f src = - let arr = imake 0 src.len in - for i = 0 to src.len - 1 do - iset arr i (f i (iget src.arr i)) - done; - { - resize = src.resize; - len = src.len; - arr = arr; - } - -let fold_left f x a = - let rec loop idx x = - if idx >= a.len then x else loop (idx + 1) (f x (iget a.arr idx)) - in - loop 0 x - -let fold_right f a x = - let rec loop idx x = - if idx < 0 then x - else loop (idx - 1) (f (iget a.arr idx) x) - in - loop (a.len - 1) x - -let enum d = - let rec make start = - let idxref = ref 0 in - let next () = - if !idxref >= d.len then - raise Enum.No_more_elements - else - let retval = iget d.arr !idxref in - incr idxref; - retval - and count () = - if !idxref >= d.len then 0 - else d.len - !idxref - and clone () = - make !idxref - in - Enum.make ~next:next ~count:count ~clone:clone - in - make 0 - -let of_enum e = - if Enum.fast_count e then begin - let c = Enum.count e in - let arr = imake 0 c in - Enum.iteri (fun i x -> iset arr i x) e; - { - resize = default_resizer; - len = c; - arr = arr; - } - end else - let d = make 0 in - Enum.iter (add d) e; - d - -let unsafe_get a n = - iget a.arr n - -let unsafe_set a n x = - iset a.arr n x +(* + * DynArray - Resizeable Ocaml arrays + * Copyright (C) 2003 Brian Hurt + * Copyright (C) 2003 Nicolas Cannasse + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version, + * with the special exception on linking described in file LICENSE. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + *) + +type resizer_t = currslots:int -> oldlength:int -> newlength:int -> int + +type 'a intern + +external ilen : 'a intern -> int = "%obj_size" +let idup (x : 'a intern) = if ilen x = 0 then x else (Obj.magic (Obj.dup (Obj.repr x)) : 'a intern) +let imake tag len = (Obj.magic (Obj.new_block tag len) : 'a intern) +external iget : 'a intern -> int -> 'a = "%obj_field" +external iset : 'a intern -> int -> 'a -> unit = "%obj_set_field" + +type 'a t = { + mutable arr : 'a intern; + mutable len : int; + mutable resize: resizer_t; +} + +exception Invalid_arg of int * string * string + +let invalid_arg n f p = raise (Invalid_arg (n,f,p)) + +let length d = d.len + +let exponential_resizer ~currslots ~oldlength ~newlength = + let rec doubler x = if x >= newlength then x else doubler (x * 2) in + let rec halfer x = if x / 2 < newlength then x else halfer (x / 2) in + if newlength = 1 then + 1 + else if currslots = 0 then + doubler 1 + else if currslots < newlength then + doubler currslots + else + halfer currslots + +let step_resizer step = + if step <= 0 then invalid_arg step "step_resizer" "step"; + (fun ~currslots ~oldlength ~newlength -> + if currslots < newlength || newlength < (currslots - step) + then + (newlength + step - (newlength mod step)) + else + currslots) + +let conservative_exponential_resizer ~currslots ~oldlength ~newlength = + let rec doubler x = if x >= newlength then x else doubler (x * 2) in + let rec halfer x = if x / 2 < newlength then x else halfer (x / 2) in + if currslots < newlength then begin + if newlength = 1 then + 1 + else if currslots = 0 then + doubler 1 + else + doubler currslots + end else if oldlength < newlength then + halfer currslots + else + currslots + +let default_resizer = conservative_exponential_resizer + +let changelen (d : 'a t) newlen = + let oldsize = ilen d.arr in + let r = d.resize + ~currslots:oldsize + ~oldlength:d.len + ~newlength:newlen + in + (* We require the size to be at least large enough to hold the number + * of elements we know we need! + *) + let newsize = if r < newlen then newlen else r in + if newsize <> oldsize then begin + let newarr = imake 0 newsize in + let cpylen = (if newlen < d.len then newlen else d.len) in + for i = 0 to cpylen - 1 do + iset newarr i (iget d.arr i); + done; + d.arr <- newarr; + end; + d.len <- newlen + +let compact d = + if d.len <> ilen d.arr then begin + let newarr = imake 0 d.len in + for i = 0 to d.len - 1 do + iset newarr i (iget d.arr i) + done; + d.arr <- newarr; + end + +let create() = + { + resize = default_resizer; + len = 0; + arr = imake 0 0; + } + +let make initsize = + if initsize < 0 then invalid_arg initsize "make" "size"; + { + resize = default_resizer; + len = 0; + arr = imake 0 initsize; + } + +let init initlen f = + if initlen < 0 then invalid_arg initlen "init" "len"; + let arr = imake 0 initlen in + for i = 0 to initlen-1 do + iset arr i (f i) + done; + { + resize = default_resizer; + len = initlen; + arr = arr; + } + +let set_resizer d resizer = + d.resize <- resizer + +let get_resizer d = + d.resize + +let empty d = + d.len = 0 + +let get d idx = + if idx < 0 || idx >= d.len then invalid_arg idx "get" "index"; + iget d.arr idx + +let last d = + if d.len = 0 then invalid_arg 0 "last" ""; + iget d.arr (d.len - 1) + +let set d idx v = + if idx < 0 || idx >= d.len then invalid_arg idx "set" "index"; + iset d.arr idx v + +let insert d idx v = + if idx < 0 || idx > d.len then invalid_arg idx "insert" "index"; + if d.len = ilen d.arr then changelen d (d.len + 1) else d.len <- d.len + 1; + if idx < d.len - 1 then begin + for i = d.len - 1 downto idx do + iset d.arr (i+1) (iget d.arr i) + done; + end; + iset d.arr idx v + +let add d v = + if d.len = ilen d.arr then changelen d (d.len + 1) else d.len <- d.len + 1; + iset d.arr (d.len - 1) v + +let delete d idx = + if idx < 0 || idx >= d.len then invalid_arg idx "delete" "index"; + let oldsize = ilen d.arr in + (* we don't call changelen because we want to blit *) + let r = d.resize + ~currslots:oldsize + ~oldlength:d.len + ~newlength:(d.len - 1) + in + let newsize = (if r < d.len - 1 then d.len - 1 else r) in + if oldsize <> newsize then begin + let newarr = imake 0 newsize in + for i = 0 to idx - 1 do + iset newarr i (iget d.arr i); + done; + for i = idx to d.len - 2 do + iset newarr i (iget d.arr (i+1)); + done; + d.arr <- newarr; + end else begin + for i = idx to d.len - 2 do + iset d.arr i (iget d.arr (i+1)); + done; + iset d.arr (d.len - 1) (Obj.magic 0) + end; + d.len <- d.len - 1 + + +let delete_range d idx len = + if len < 0 then invalid_arg len "delete_range" "length"; + if idx < 0 || idx + len > d.len then invalid_arg idx "delete_range" "index"; + let oldsize = ilen d.arr in + (* we don't call changelen because we want to blit *) + let r = d.resize + ~currslots:oldsize + ~oldlength:d.len + ~newlength:(d.len - len) + in + let newsize = (if r < d.len - len then d.len - len else r) in + if oldsize <> newsize then begin + let newarr = imake 0 newsize in + for i = 0 to idx - 1 do + iset newarr i (iget d.arr i); + done; + for i = idx to d.len - len - 1 do + iset newarr i (iget d.arr (i+len)); + done; + d.arr <- newarr; + end else begin + for i = idx to d.len - len - 1 do + iset d.arr i (iget d.arr (i+len)); + done; + for i = d.len - len to d.len - 1 do + iset d.arr i (Obj.magic 0) + done; + end; + d.len <- d.len - len + +let clear d = + d.len <- 0; + d.arr <- imake 0 0 + +let delete_last d = + if d.len <= 0 then invalid_arg 0 "delete_last" ""; + (* erase for GC, in case changelen don't resize our array *) + iset d.arr (d.len - 1) (Obj.magic 0); + changelen d (d.len - 1) + +let rec blit src srcidx dst dstidx len = + if len < 0 then invalid_arg len "blit" "len"; + if srcidx < 0 || srcidx + len > src.len then invalid_arg srcidx "blit" "source index"; + if dstidx < 0 || dstidx > dst.len then invalid_arg dstidx "blit" "dest index"; + let newlen = dstidx + len in + if newlen > ilen dst.arr then begin + (* this case could be inlined so we don't blit on just-copied elements *) + changelen dst newlen + end else begin + if newlen > dst.len then dst.len <- newlen; + end; + (* same array ! we need to copy in reverse order *) + if src.arr == dst.arr && dstidx > srcidx then + for i = len - 1 downto 0 do + iset dst.arr (dstidx+i) (iget src.arr (srcidx+i)); + done + else + for i = 0 to len - 1 do + iset dst.arr (dstidx+i) (iget src.arr (srcidx+i)); + done + +let append src dst = + blit src 0 dst dst.len src.len + +let to_list d = + let rec loop idx accum = + if idx < 0 then accum else loop (idx - 1) (iget d.arr idx :: accum) + in + loop (d.len - 1) [] + +let to_array d = + if d.len = 0 then begin + (* since the empty array is an atom, we don't care if float or not *) + [||] + end else begin + let arr = Array.make d.len (iget d.arr 0) in + for i = 1 to d.len - 1 do + Array.unsafe_set arr i (iget d.arr i) + done; + arr; + end + +let of_list lst = + let size = List.length lst in + let arr = imake 0 size in + let rec loop idx = function + | h :: t -> iset arr idx h; loop (idx + 1) t + | [] -> () + in + loop 0 lst; + { + resize = default_resizer; + len = size; + arr = arr; + } + +let of_array src = + let size = Array.length src in + let is_float = Obj.tag (Obj.repr src) = Obj.double_array_tag in + let arr = (if is_float then begin + let arr = imake 0 size in + for i = 0 to size - 1 do + iset arr i (Array.unsafe_get src i); + done; + arr + end else + (* copy the fields *) + idup (Obj.magic src : 'a intern)) + in + { + resize = default_resizer; + len = size; + arr = arr; + } + +let copy src = + { + resize = src.resize; + len = src.len; + arr = idup src.arr; + } + +let sub src start len = + if len < 0 then invalid_arg len "sub" "len"; + if start < 0 || start + len > src.len then invalid_arg start "sub" "start"; + let arr = imake 0 len in + for i = 0 to len - 1 do + iset arr i (iget src.arr (i+start)); + done; + { + resize = src.resize; + len = len; + arr = arr; + } + +let iter f d = + for i = 0 to d.len - 1 do + f (iget d.arr i) + done + +let iteri f d = + for i = 0 to d.len - 1 do + f i (iget d.arr i) + done + +let filter f d = + let l = d.len in + let a = imake 0 l in + let a2 = d.arr in + let p = ref 0 in + for i = 0 to l - 1 do + let x = iget a2 i in + if f x then begin + iset a !p x; + incr p; + end; + done; + d.len <- !p; + d.arr <- a + +let index_of f d = + let rec loop i = + if i >= d.len then + raise Not_found + else + if f (iget d.arr i) then + i + else + loop (i+1) + in + loop 0 + +let map f src = + let arr = imake 0 src.len in + for i = 0 to src.len - 1 do + iset arr i (f (iget src.arr i)) + done; + { + resize = src.resize; + len = src.len; + arr = arr; + } + +let mapi f src = + let arr = imake 0 src.len in + for i = 0 to src.len - 1 do + iset arr i (f i (iget src.arr i)) + done; + { + resize = src.resize; + len = src.len; + arr = arr; + } + +let fold_left f x a = + let rec loop idx x = + if idx >= a.len then x else loop (idx + 1) (f x (iget a.arr idx)) + in + loop 0 x + +let fold_right f a x = + let rec loop idx x = + if idx < 0 then x + else loop (idx - 1) (f (iget a.arr idx) x) + in + loop (a.len - 1) x + +let enum d = + let rec make start = + let idxref = ref 0 in + let next () = + if !idxref >= d.len then + raise Enum.No_more_elements + else + let retval = iget d.arr !idxref in + incr idxref; + retval + and count () = + if !idxref >= d.len then 0 + else d.len - !idxref + and clone () = + make !idxref + in + Enum.make ~next:next ~count:count ~clone:clone + in + make 0 + +let of_enum e = + if Enum.fast_count e then begin + let c = Enum.count e in + let arr = imake 0 c in + Enum.iteri (fun i x -> iset arr i x) e; + { + resize = default_resizer; + len = c; + arr = arr; + } + end else + let d = make 0 in + Enum.iter (add d) e; + d + +let unsafe_get a n = + iget a.arr n + +let unsafe_set a n x = + iset a.arr n x diff --git a/commons/ocamlextra/dynArray.mli b/commons/ocamlextra/dynArray.mli index a2542aa..29660e1 100644 --- a/commons/ocamlextra/dynArray.mli +++ b/commons/ocamlextra/dynArray.mli @@ -1,281 +1,281 @@ -(* - * DynArray - Resizeable Ocaml arrays - * Copyright (C) 2003 Brian Hurt - * Copyright (C) 2003 Nicolas Cannasse - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version, - * with the special exception on linking described in file LICENSE. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - *) - -(** Dynamic arrays. - - A dynamic array is equivalent to a OCaml array that will resize itself - when elements are added or removed, except that floats are boxed and - that no initialization element is required. -*) - -type 'a t - -exception Invalid_arg of int * string * string -(** When an operation on an array fails, [Invalid_arg] is raised. The - integer is the value that made the operation fail, the first string - contains the function name that has been called and the second string - contains the parameter name that made the operation fail. -*) - -(** {6 Array creation} *) - -val create : unit -> 'a t -(** [create()] returns a new empty dynamic array. *) - -val make : int -> 'a t -(** [make count] returns an array with some memory already allocated so - up to [count] elements can be stored into it without resizing. *) - -val init : int -> (int -> 'a) -> 'a t -(** [init n f] returns an array of [n] elements filled with values - returned by [f 0 , f 1, ... f (n-1)]. *) - -(** {6 Array manipulation functions} *) - -val empty : 'a t -> bool -(** Return true if the number of elements in the array is 0. *) - -val length : 'a t -> int -(** Return the number of elements in the array. *) - -val get : 'a t -> int -> 'a -(** [get darr idx] gets the element in [darr] at index [idx]. If [darr] has - [len] elements in it, then the valid indexes range from [0] to [len-1]. *) - -val last : 'a t -> 'a -(** [last darr] returns the last element of [darr]. *) - -val set : 'a t -> int -> 'a -> unit -(** [set darr idx v] sets the element of [darr] at index [idx] to value - [v]. The previous value is overwritten. *) - -val insert : 'a t -> int -> 'a -> unit -(** [insert darr idx v] inserts [v] into [darr] at index [idx]. All elements - of [darr] with an index greater than or equal to [idx] have their - index incremented (are moved up one place) to make room for the new - element. *) - -val add : 'a t -> 'a -> unit -(** [add darr v] appends [v] onto [darr]. [v] becomes the new - last element of [darr]. *) - -val append : 'a t -> 'a t -> unit -(** [append src dst] adds all elements of [src] to the end of [dst]. *) - -val delete : 'a t -> int -> unit -(** [delete darr idx] deletes the element of [darr] at [idx]. All elements - with an index greater than [idx] have their index decremented (are - moved down one place) to fill in the hole. *) - -val delete_last : 'a t -> unit -(** [delete_last darr] deletes the last element of [darr]. This is equivalent - of doing [delete darr ((length darr) - 1)]. *) - -val delete_range : 'a t -> int -> int -> unit -(** [delete_range darr p len] deletes [len] elements starting at index [p]. - All elements with an index greater than [p+len] are moved to fill - in the hole. *) - -val clear : 'a t -> unit -(** remove all elements from the array and resize it to 0. *) - -val blit : 'a t -> int -> 'a t -> int -> int -> unit -(** [blit src srcidx dst dstidx len] copies [len] elements from [src] - starting with index [srcidx] to [dst] starting at [dstidx]. *) - -val compact : 'a t -> unit -(** [compact darr] ensures that the space allocated by the array is minimal.*) - -(** {6 Array copy and conversion} *) - -val to_list : 'a t -> 'a list -(** [to_list darr] returns the elements of [darr] in order as a list. *) - -val to_array : 'a t -> 'a array -(** [to_array darr] returns the elements of [darr] in order as an array. *) - -val enum : 'a t -> 'a Enum.t -(** [enum darr] returns the enumeration of [darr] elements. *) - -val of_list : 'a list -> 'a t -(** [of_list lst] returns a dynamic array with the elements of [lst] in - it in order. *) - -val of_array : 'a array -> 'a t -(** [of_array arr] returns an array with the elements of [arr] in it - in order. *) - -val of_enum : 'a Enum.t -> 'a t -(** [of_enum e] returns an array that holds, in order, the elements of [e]. *) - -val copy : 'a t -> 'a t -(** [copy src] returns a fresh copy of [src], such that no modification of - [src] affects the copy, or vice versa (all new memory is allocated for - the copy). *) - -val sub : 'a t -> int -> int -> 'a t -(** [sub darr start len] returns an array holding the subset of [len] - elements from [darr] starting with the element at index [idx]. *) - -(** {6 Array functional support} *) - -val iter : ('a -> unit) -> 'a t -> unit -(** [iter f darr] calls the function [f] on every element of [darr]. It - is equivalent to [for i = 0 to length darr - 1 do f (get darr i) done;] *) - -val iteri : (int -> 'a -> unit) -> 'a t -> unit -(** [iter f darr] calls the function [f] on every element of [darr]. It - is equivalent to [for i = 0 to length darr - 1 do f i (get darr i) done;] - *) - -val map : ('a -> 'b) -> 'a t -> 'b t -(** [map f darr] applies the function [f] to every element of [darr] - and creates a dynamic array from the results - similar to [List.map] or - [Array.map]. *) - -val mapi : (int -> 'a -> 'b) -> 'a t -> 'b t -(** [mapi f darr] applies the function [f] to every element of [darr] - and creates a dynamic array from the results - similar to [List.mapi] or - [Array.mapi]. *) - -val fold_left : ('a -> 'b -> 'a) -> 'a -> 'b t -> 'a -(** [fold_left f x darr] computes - [f ( ... ( f ( f (get darr 0) x) (get darr 1) ) ... ) (get darr n-1)], - similar to [Array.fold_left] or [List.fold_left]. *) - -val fold_right : ('a -> 'b -> 'b) -> 'a t -> 'b -> 'b -(** [fold_right f darr x] computes - [ f (get darr 0) (f (get darr 1) ( ... ( f (get darr n-1) x ) ... ) ) ] - similar to [Array.fold_right] or [List.fold_right]. *) - -val index_of : ('a -> bool) -> 'a t -> int -(** [index_of f darr] returns the index of the first element [x] in darr such - as [f x] returns [true] or raise [Not_found] if not found. *) - -val filter : ('a -> bool) -> 'a t -> unit - -(** {6 Array resizers} *) - -type resizer_t = currslots:int -> oldlength:int -> newlength:int -> int -(** The type of a resizer function. - - Resizer functions are called whenever elements are added to - or removed from the dynamic array to determine what the current number of - storage spaces in the array should be. The three named arguments - passed to a resizer are the current number of storage spaces in - the array, the length of the array before the elements are - added or removed, and the length the array will be after the - elements are added or removed. If elements are being added, newlength - will be larger than oldlength, if elements are being removed, - newlength will be smaller than oldlength. If the resizer function - returns exactly oldlength, the size of the array is only changed when - adding an element while there is not enough space for it. - - By default, all dynamic arrays are created with the [default_resizer]. - When a dynamic array is created from another dynamic array (using [copy], - [map] , etc. ) the resizer of the copy will be the same as the original - dynamic array resizer. To change the resizer, use the [set_resizer] - function. -*) - -val set_resizer : 'a t -> resizer_t -> unit -(** Change the resizer for this array. *) - -val get_resizer : 'a t -> resizer_t -(** Get the current resizer function for a given array *) - -val default_resizer : resizer_t -(** The default resizer function the library is using - in this version - of DynArray, this is the [exponential_resizer] but should change in - next versions. *) - -val exponential_resizer : resizer_t -(** The exponential resizer- The default resizer except when the resizer - is being copied from some other darray. - - [exponential_resizer] works by doubling or halving the number of - slots until they "fit". If the number of slots is less than the - new length, the number of slots is doubled until it is greater - than the new length (or Sys.max_array_size is reached). - - If the number of slots is more than four times the new length, - the number of slots is halved until it is less than four times the - new length. - - Allowing darrays to fall below 25% utilization before shrinking them - prevents "thrashing". Consider the case where the caller is constantly - adding a few elements, and then removing a few elements, causing - the length to constantly cross above and below a power of two. - Shrinking the array when it falls below 50% would causing the - underlying array to be constantly allocated and deallocated. - A few elements would be added, causing the array to be reallocated - and have a usage of just above 50%. Then a few elements would be - remove, and the array would fall below 50% utilization and be - reallocated yet again. The bulk of the array, untouched, would be - copied and copied again. By setting the threshold at 25% instead, - such "thrashing" only occurs with wild swings- adding and removing - huge numbers of elements (more than half of the elements in the array). - - [exponential_resizer] is a good performing resizer for most - applications. A list allocates 2 words for every element, while an - array (with large numbers of elements) allocates only 1 word per - element (ignoring unboxed floats). On insert, [exponential_resizer] - keeps the amount of wasted "extra" array elements below 50%, meaning - that less than 2 words per element are used. Even on removals - where the amount of wasted space is allowed to rise to 75%, that - only means that darray is using 4 words per element. This is - generally not a significant overhead. - - Furthermore, [exponential_resizer] minimizes the number of copies - needed- appending n elements into an empty darray with initial size - 0 requires between n and 2n elements of the array be copied- O(n) - work, or O(1) work per element (on average). A similar argument - can be made that deletes from the end of the array are O(1) as - well (obviously deletes from anywhere else are O(n) work- you - have to move the n or so elements above the deleted element down). - -*) - -val step_resizer : int -> resizer_t -(** The stepwise resizer- another example of a resizer function, this - time of a parameterized resizer. - - The resizer returned by [step_resizer step] returns the smallest - multiple of [step] larger than [newlength] if [currslots] is less - then [newlength]-[step] or greater than [newlength]. - - For example, to make an darray with a step of 10, a length - of len, and a null of null, you would do: - [make] ~resizer:([step_resizer] 10) len null -*) - -val conservative_exponential_resizer : resizer_t -(** [conservative_exponential_resizer] is an example resizer function - which uses the oldlength parameter. It only shrinks the array - on inserts- no deletes shrink the array, only inserts. It does - this by comparing the oldlength and newlength parameters. Other - than that, it acts like [exponential_resizer]. -*) - -(** {6 Unsafe operations} **) - -val unsafe_get : 'a t -> int -> 'a -val unsafe_set : 'a t -> int -> 'a -> unit +(* + * DynArray - Resizeable Ocaml arrays + * Copyright (C) 2003 Brian Hurt + * Copyright (C) 2003 Nicolas Cannasse + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version, + * with the special exception on linking described in file LICENSE. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + *) + +(** Dynamic arrays. + + A dynamic array is equivalent to a OCaml array that will resize itself + when elements are added or removed, except that floats are boxed and + that no initialization element is required. +*) + +type 'a t + +exception Invalid_arg of int * string * string +(** When an operation on an array fails, [Invalid_arg] is raised. The + integer is the value that made the operation fail, the first string + contains the function name that has been called and the second string + contains the parameter name that made the operation fail. +*) + +(** {6 Array creation} *) + +val create : unit -> 'a t +(** [create()] returns a new empty dynamic array. *) + +val make : int -> 'a t +(** [make count] returns an array with some memory already allocated so + up to [count] elements can be stored into it without resizing. *) + +val init : int -> (int -> 'a) -> 'a t +(** [init n f] returns an array of [n] elements filled with values + returned by [f 0 , f 1, ... f (n-1)]. *) + +(** {6 Array manipulation functions} *) + +val empty : 'a t -> bool +(** Return true if the number of elements in the array is 0. *) + +val length : 'a t -> int +(** Return the number of elements in the array. *) + +val get : 'a t -> int -> 'a +(** [get darr idx] gets the element in [darr] at index [idx]. If [darr] has + [len] elements in it, then the valid indexes range from [0] to [len-1]. *) + +val last : 'a t -> 'a +(** [last darr] returns the last element of [darr]. *) + +val set : 'a t -> int -> 'a -> unit +(** [set darr idx v] sets the element of [darr] at index [idx] to value + [v]. The previous value is overwritten. *) + +val insert : 'a t -> int -> 'a -> unit +(** [insert darr idx v] inserts [v] into [darr] at index [idx]. All elements + of [darr] with an index greater than or equal to [idx] have their + index incremented (are moved up one place) to make room for the new + element. *) + +val add : 'a t -> 'a -> unit +(** [add darr v] appends [v] onto [darr]. [v] becomes the new + last element of [darr]. *) + +val append : 'a t -> 'a t -> unit +(** [append src dst] adds all elements of [src] to the end of [dst]. *) + +val delete : 'a t -> int -> unit +(** [delete darr idx] deletes the element of [darr] at [idx]. All elements + with an index greater than [idx] have their index decremented (are + moved down one place) to fill in the hole. *) + +val delete_last : 'a t -> unit +(** [delete_last darr] deletes the last element of [darr]. This is equivalent + of doing [delete darr ((length darr) - 1)]. *) + +val delete_range : 'a t -> int -> int -> unit +(** [delete_range darr p len] deletes [len] elements starting at index [p]. + All elements with an index greater than [p+len] are moved to fill + in the hole. *) + +val clear : 'a t -> unit +(** remove all elements from the array and resize it to 0. *) + +val blit : 'a t -> int -> 'a t -> int -> int -> unit +(** [blit src srcidx dst dstidx len] copies [len] elements from [src] + starting with index [srcidx] to [dst] starting at [dstidx]. *) + +val compact : 'a t -> unit +(** [compact darr] ensures that the space allocated by the array is minimal.*) + +(** {6 Array copy and conversion} *) + +val to_list : 'a t -> 'a list +(** [to_list darr] returns the elements of [darr] in order as a list. *) + +val to_array : 'a t -> 'a array +(** [to_array darr] returns the elements of [darr] in order as an array. *) + +val enum : 'a t -> 'a Enum.t +(** [enum darr] returns the enumeration of [darr] elements. *) + +val of_list : 'a list -> 'a t +(** [of_list lst] returns a dynamic array with the elements of [lst] in + it in order. *) + +val of_array : 'a array -> 'a t +(** [of_array arr] returns an array with the elements of [arr] in it + in order. *) + +val of_enum : 'a Enum.t -> 'a t +(** [of_enum e] returns an array that holds, in order, the elements of [e]. *) + +val copy : 'a t -> 'a t +(** [copy src] returns a fresh copy of [src], such that no modification of + [src] affects the copy, or vice versa (all new memory is allocated for + the copy). *) + +val sub : 'a t -> int -> int -> 'a t +(** [sub darr start len] returns an array holding the subset of [len] + elements from [darr] starting with the element at index [idx]. *) + +(** {6 Array functional support} *) + +val iter : ('a -> unit) -> 'a t -> unit +(** [iter f darr] calls the function [f] on every element of [darr]. It + is equivalent to [for i = 0 to length darr - 1 do f (get darr i) done;] *) + +val iteri : (int -> 'a -> unit) -> 'a t -> unit +(** [iter f darr] calls the function [f] on every element of [darr]. It + is equivalent to [for i = 0 to length darr - 1 do f i (get darr i) done;] + *) + +val map : ('a -> 'b) -> 'a t -> 'b t +(** [map f darr] applies the function [f] to every element of [darr] + and creates a dynamic array from the results - similar to [List.map] or + [Array.map]. *) + +val mapi : (int -> 'a -> 'b) -> 'a t -> 'b t +(** [mapi f darr] applies the function [f] to every element of [darr] + and creates a dynamic array from the results - similar to [List.mapi] or + [Array.mapi]. *) + +val fold_left : ('a -> 'b -> 'a) -> 'a -> 'b t -> 'a +(** [fold_left f x darr] computes + [f ( ... ( f ( f (get darr 0) x) (get darr 1) ) ... ) (get darr n-1)], + similar to [Array.fold_left] or [List.fold_left]. *) + +val fold_right : ('a -> 'b -> 'b) -> 'a t -> 'b -> 'b +(** [fold_right f darr x] computes + [ f (get darr 0) (f (get darr 1) ( ... ( f (get darr n-1) x ) ... ) ) ] + similar to [Array.fold_right] or [List.fold_right]. *) + +val index_of : ('a -> bool) -> 'a t -> int +(** [index_of f darr] returns the index of the first element [x] in darr such + as [f x] returns [true] or raise [Not_found] if not found. *) + +val filter : ('a -> bool) -> 'a t -> unit + +(** {6 Array resizers} *) + +type resizer_t = currslots:int -> oldlength:int -> newlength:int -> int +(** The type of a resizer function. + + Resizer functions are called whenever elements are added to + or removed from the dynamic array to determine what the current number of + storage spaces in the array should be. The three named arguments + passed to a resizer are the current number of storage spaces in + the array, the length of the array before the elements are + added or removed, and the length the array will be after the + elements are added or removed. If elements are being added, newlength + will be larger than oldlength, if elements are being removed, + newlength will be smaller than oldlength. If the resizer function + returns exactly oldlength, the size of the array is only changed when + adding an element while there is not enough space for it. + + By default, all dynamic arrays are created with the [default_resizer]. + When a dynamic array is created from another dynamic array (using [copy], + [map] , etc. ) the resizer of the copy will be the same as the original + dynamic array resizer. To change the resizer, use the [set_resizer] + function. +*) + +val set_resizer : 'a t -> resizer_t -> unit +(** Change the resizer for this array. *) + +val get_resizer : 'a t -> resizer_t +(** Get the current resizer function for a given array *) + +val default_resizer : resizer_t +(** The default resizer function the library is using - in this version + of DynArray, this is the [exponential_resizer] but should change in + next versions. *) + +val exponential_resizer : resizer_t +(** The exponential resizer- The default resizer except when the resizer + is being copied from some other darray. + + [exponential_resizer] works by doubling or halving the number of + slots until they "fit". If the number of slots is less than the + new length, the number of slots is doubled until it is greater + than the new length (or Sys.max_array_size is reached). + + If the number of slots is more than four times the new length, + the number of slots is halved until it is less than four times the + new length. + + Allowing darrays to fall below 25% utilization before shrinking them + prevents "thrashing". Consider the case where the caller is constantly + adding a few elements, and then removing a few elements, causing + the length to constantly cross above and below a power of two. + Shrinking the array when it falls below 50% would causing the + underlying array to be constantly allocated and deallocated. + A few elements would be added, causing the array to be reallocated + and have a usage of just above 50%. Then a few elements would be + remove, and the array would fall below 50% utilization and be + reallocated yet again. The bulk of the array, untouched, would be + copied and copied again. By setting the threshold at 25% instead, + such "thrashing" only occurs with wild swings- adding and removing + huge numbers of elements (more than half of the elements in the array). + + [exponential_resizer] is a good performing resizer for most + applications. A list allocates 2 words for every element, while an + array (with large numbers of elements) allocates only 1 word per + element (ignoring unboxed floats). On insert, [exponential_resizer] + keeps the amount of wasted "extra" array elements below 50%, meaning + that less than 2 words per element are used. Even on removals + where the amount of wasted space is allowed to rise to 75%, that + only means that darray is using 4 words per element. This is + generally not a significant overhead. + + Furthermore, [exponential_resizer] minimizes the number of copies + needed- appending n elements into an empty darray with initial size + 0 requires between n and 2n elements of the array be copied- O(n) + work, or O(1) work per element (on average). A similar argument + can be made that deletes from the end of the array are O(1) as + well (obviously deletes from anywhere else are O(n) work- you + have to move the n or so elements above the deleted element down). + +*) + +val step_resizer : int -> resizer_t +(** The stepwise resizer- another example of a resizer function, this + time of a parameterized resizer. + + The resizer returned by [step_resizer step] returns the smallest + multiple of [step] larger than [newlength] if [currslots] is less + then [newlength]-[step] or greater than [newlength]. + + For example, to make an darray with a step of 10, a length + of len, and a null of null, you would do: + [make] ~resizer:([step_resizer] 10) len null +*) + +val conservative_exponential_resizer : resizer_t +(** [conservative_exponential_resizer] is an example resizer function + which uses the oldlength parameter. It only shrinks the array + on inserts- no deletes shrink the array, only inserts. It does + this by comparing the oldlength and newlength parameters. Other + than that, it acts like [exponential_resizer]. +*) + +(** {6 Unsafe operations} **) + +val unsafe_get : 'a t -> int -> 'a +val unsafe_set : 'a t -> int -> 'a -> unit diff --git a/commons/ocamlextra/enum.ml b/commons/ocamlextra/enum.ml index 063ab15..3b7708d 100644 --- a/commons/ocamlextra/enum.ml +++ b/commons/ocamlextra/enum.ml @@ -1,376 +1,376 @@ -(* - * Enum - Enumeration over abstract collection of elements. - * Copyright (C) 2003 Nicolas Cannasse - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version, - * with the special exception on linking described in file LICENSE. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - *) - -type 'a t = { - mutable count : unit -> int; - mutable next : unit -> 'a; - mutable clone : unit -> 'a t; - mutable fast : bool; -} - -(* raised by 'next' functions, should NOT go outside the API *) -exception No_more_elements - -let _dummy () = assert false - -let make ~next ~count ~clone = - { - count = count; - next = next; - clone = clone; - fast = true; - } - -let rec init n f = - if n < 0 then invalid_arg "Enum.init"; - let count = ref n in - { - count = (fun () -> !count); - next = (fun () -> - match !count with - | 0 -> raise No_more_elements - | _ -> - decr count; - f (n - 1 - !count)); - clone = (fun () -> init !count f); - fast = true; - } - -let rec empty () = - { - count = (fun () -> 0); - next = (fun () -> raise No_more_elements); - clone = (fun () -> empty()); - fast = true; - } - -type 'a _mut_list = { - hd : 'a; - mutable tl : 'a _mut_list; -} - -let force t = - let rec clone enum count = - let enum = ref !enum - and count = ref !count in - { - count = (fun () -> !count); - next = (fun () -> - match !enum with - | [] -> raise No_more_elements - | h :: t -> decr count; enum := t; h); - clone = (fun () -> - let enum = ref !enum - and count = ref !count in - clone enum count); - fast = true; - } - in - let count = ref 0 in - let _empty = Obj.magic [] in - let rec loop dst = - let x = { hd = t.next(); tl = _empty } in - incr count; - dst.tl <- x; - loop x - in - let enum = ref _empty in - (try - enum := { hd = t.next(); tl = _empty }; - incr count; - loop !enum; - with No_more_elements -> ()); - let tc = clone (Obj.magic enum) count in - t.clone <- tc.clone; - t.next <- tc.next; - t.count <- tc.count; - t.fast <- true - -let from f = - let e = { - next = f; - count = _dummy; - clone = _dummy; - fast = false; - } in - e.count <- (fun () -> force e; e.count()); - e.clone <- (fun () -> force e; e.clone()); - e - -let from2 next clone = - let e = { - next = next; - count = _dummy; - clone = clone; - fast = false; - } in - e.count <- (fun () -> force e; e.count()); - e - -let get t = - try - Some (t.next()) - with - No_more_elements -> None - -let push t e = - let rec make t = - let fnext = t.next in - let fcount = t.count in - let fclone = t.clone in - let next_called = ref false in - t.next <- (fun () -> - next_called := true; - t.next <- fnext; - t.count <- fcount; - t.clone <- fclone; - e); - t.count <- (fun () -> - let n = fcount() in - if !next_called then n else n+1); - t.clone <- (fun () -> - let tc = fclone() in - if not !next_called then make tc; - tc); - in - make t - -let peek t = - match get t with - | None -> None - | Some x -> - push t x; - Some x - -let junk t = - try - ignore(t.next()) - with - No_more_elements -> () - -let is_empty t = - if t.fast then - t.count() = 0 - else - peek t = None - -let count t = - t.count() - -let fast_count t = - t.fast - -let clone t = - t.clone() - -let iter f t = - let rec loop () = - f (t.next()); - loop(); - in - try - loop(); - with - No_more_elements -> () - -let iteri f t = - let rec loop idx = - f idx (t.next()); - loop (idx+1); - in - try - loop 0; - with - No_more_elements -> () - -let iter2 f t u = - let push_t = ref None in - let rec loop () = - push_t := None; - let e = t.next() in - push_t := Some e; - f e (u.next()); - loop () - in - try - loop () - with - No_more_elements -> - match !push_t with - | None -> () - | Some e -> - push t e - -let iter2i f t u = - let push_t = ref None in - let rec loop idx = - push_t := None; - let e = t.next() in - push_t := Some e; - f idx e (u.next()); - loop (idx + 1) - in - try - loop 0 - with - No_more_elements -> - match !push_t with - | None -> () - | Some e -> push t e - -let fold f init t = - let acc = ref init in - let rec loop() = - acc := f (t.next()) !acc; - loop() - in - try - loop() - with - No_more_elements -> !acc - -let foldi f init t = - let acc = ref init in - let rec loop idx = - acc := f idx (t.next()) !acc; - loop (idx + 1) - in - try - loop 0 - with - No_more_elements -> !acc - -let fold2 f init t u = - let acc = ref init in - let push_t = ref None in - let rec loop() = - push_t := None; - let e = t.next() in - push_t := Some e; - acc := f e (u.next()) !acc; - loop() - in - try - loop() - with - No_more_elements -> - match !push_t with - | None -> !acc - | Some e -> - push t e; - !acc - -let fold2i f init t u = - let acc = ref init in - let push_t = ref None in - let rec loop idx = - push_t := None; - let e = t.next() in - push_t := Some e; - acc := f idx e (u.next()) !acc; - loop (idx + 1) - in - try - loop 0 - with - No_more_elements -> - match !push_t with - | None -> !acc - | Some e -> - push t e; - !acc - -let find f t = - let rec loop () = - let x = t.next() in - if f x then x else loop() - in - try - loop() - with - No_more_elements -> raise Not_found - -let rec map f t = - { - count = t.count; - next = (fun () -> f (t.next())); - clone = (fun () -> map f (t.clone())); - fast = t.fast; - } - -let rec mapi f t = - let idx = ref (-1) in - { - count = t.count; - next = (fun () -> incr idx; f !idx (t.next())); - clone = (fun () -> mapi f (t.clone())); - fast = t.fast; - } - -let rec filter f t = - let rec next() = - let x = t.next() in - if f x then x else next() - in - from2 next (fun () -> filter f (t.clone())) - -let rec filter_map f t = - let rec next () = - match f (t.next()) with - | None -> next() - | Some x -> x - in - from2 next (fun () -> filter_map f (t.clone())) - -let rec append ta tb = - let t = { - count = (fun () -> ta.count() + tb.count()); - next = _dummy; - clone = (fun () -> append (ta.clone()) (tb.clone())); - fast = ta.fast && tb.fast; - } in - t.next <- (fun () -> - try - ta.next() - with - No_more_elements -> - (* add one indirection because tb can mute *) - t.next <- (fun () -> tb.next()); - t.count <- (fun () -> tb.count()); - t.clone <- (fun () -> tb.clone()); - t.fast <- tb.fast; - t.next() - ); - t - -let rec concat t = - let concat_ref = ref _dummy in - let rec concat_next() = - let tn = t.next() in - concat_ref := (fun () -> - try - tn.next() - with - No_more_elements -> - concat_next()); - !concat_ref () - in - concat_ref := concat_next; - from2 (fun () -> !concat_ref ()) (fun () -> concat (t.clone())) +(* + * Enum - Enumeration over abstract collection of elements. + * Copyright (C) 2003 Nicolas Cannasse + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version, + * with the special exception on linking described in file LICENSE. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + *) + +type 'a t = { + mutable count : unit -> int; + mutable next : unit -> 'a; + mutable clone : unit -> 'a t; + mutable fast : bool; +} + +(* raised by 'next' functions, should NOT go outside the API *) +exception No_more_elements + +let _dummy () = assert false + +let make ~next ~count ~clone = + { + count = count; + next = next; + clone = clone; + fast = true; + } + +let rec init n f = + if n < 0 then invalid_arg "Enum.init"; + let count = ref n in + { + count = (fun () -> !count); + next = (fun () -> + match !count with + | 0 -> raise No_more_elements + | _ -> + decr count; + f (n - 1 - !count)); + clone = (fun () -> init !count f); + fast = true; + } + +let rec empty () = + { + count = (fun () -> 0); + next = (fun () -> raise No_more_elements); + clone = (fun () -> empty()); + fast = true; + } + +type 'a _mut_list = { + hd : 'a; + mutable tl : 'a _mut_list; +} + +let force t = + let rec clone enum count = + let enum = ref !enum + and count = ref !count in + { + count = (fun () -> !count); + next = (fun () -> + match !enum with + | [] -> raise No_more_elements + | h :: t -> decr count; enum := t; h); + clone = (fun () -> + let enum = ref !enum + and count = ref !count in + clone enum count); + fast = true; + } + in + let count = ref 0 in + let _empty = Obj.magic [] in + let rec loop dst = + let x = { hd = t.next(); tl = _empty } in + incr count; + dst.tl <- x; + loop x + in + let enum = ref _empty in + (try + enum := { hd = t.next(); tl = _empty }; + incr count; + loop !enum; + with No_more_elements -> ()); + let tc = clone (Obj.magic enum) count in + t.clone <- tc.clone; + t.next <- tc.next; + t.count <- tc.count; + t.fast <- true + +let from f = + let e = { + next = f; + count = _dummy; + clone = _dummy; + fast = false; + } in + e.count <- (fun () -> force e; e.count()); + e.clone <- (fun () -> force e; e.clone()); + e + +let from2 next clone = + let e = { + next = next; + count = _dummy; + clone = clone; + fast = false; + } in + e.count <- (fun () -> force e; e.count()); + e + +let get t = + try + Some (t.next()) + with + No_more_elements -> None + +let push t e = + let rec make t = + let fnext = t.next in + let fcount = t.count in + let fclone = t.clone in + let next_called = ref false in + t.next <- (fun () -> + next_called := true; + t.next <- fnext; + t.count <- fcount; + t.clone <- fclone; + e); + t.count <- (fun () -> + let n = fcount() in + if !next_called then n else n+1); + t.clone <- (fun () -> + let tc = fclone() in + if not !next_called then make tc; + tc); + in + make t + +let peek t = + match get t with + | None -> None + | Some x -> + push t x; + Some x + +let junk t = + try + ignore(t.next()) + with + No_more_elements -> () + +let is_empty t = + if t.fast then + t.count() = 0 + else + peek t = None + +let count t = + t.count() + +let fast_count t = + t.fast + +let clone t = + t.clone() + +let iter f t = + let rec loop () = + f (t.next()); + loop(); + in + try + loop(); + with + No_more_elements -> () + +let iteri f t = + let rec loop idx = + f idx (t.next()); + loop (idx+1); + in + try + loop 0; + with + No_more_elements -> () + +let iter2 f t u = + let push_t = ref None in + let rec loop () = + push_t := None; + let e = t.next() in + push_t := Some e; + f e (u.next()); + loop () + in + try + loop () + with + No_more_elements -> + match !push_t with + | None -> () + | Some e -> + push t e + +let iter2i f t u = + let push_t = ref None in + let rec loop idx = + push_t := None; + let e = t.next() in + push_t := Some e; + f idx e (u.next()); + loop (idx + 1) + in + try + loop 0 + with + No_more_elements -> + match !push_t with + | None -> () + | Some e -> push t e + +let fold f init t = + let acc = ref init in + let rec loop() = + acc := f (t.next()) !acc; + loop() + in + try + loop() + with + No_more_elements -> !acc + +let foldi f init t = + let acc = ref init in + let rec loop idx = + acc := f idx (t.next()) !acc; + loop (idx + 1) + in + try + loop 0 + with + No_more_elements -> !acc + +let fold2 f init t u = + let acc = ref init in + let push_t = ref None in + let rec loop() = + push_t := None; + let e = t.next() in + push_t := Some e; + acc := f e (u.next()) !acc; + loop() + in + try + loop() + with + No_more_elements -> + match !push_t with + | None -> !acc + | Some e -> + push t e; + !acc + +let fold2i f init t u = + let acc = ref init in + let push_t = ref None in + let rec loop idx = + push_t := None; + let e = t.next() in + push_t := Some e; + acc := f idx e (u.next()) !acc; + loop (idx + 1) + in + try + loop 0 + with + No_more_elements -> + match !push_t with + | None -> !acc + | Some e -> + push t e; + !acc + +let find f t = + let rec loop () = + let x = t.next() in + if f x then x else loop() + in + try + loop() + with + No_more_elements -> raise Not_found + +let rec map f t = + { + count = t.count; + next = (fun () -> f (t.next())); + clone = (fun () -> map f (t.clone())); + fast = t.fast; + } + +let rec mapi f t = + let idx = ref (-1) in + { + count = t.count; + next = (fun () -> incr idx; f !idx (t.next())); + clone = (fun () -> mapi f (t.clone())); + fast = t.fast; + } + +let rec filter f t = + let rec next() = + let x = t.next() in + if f x then x else next() + in + from2 next (fun () -> filter f (t.clone())) + +let rec filter_map f t = + let rec next () = + match f (t.next()) with + | None -> next() + | Some x -> x + in + from2 next (fun () -> filter_map f (t.clone())) + +let rec append ta tb = + let t = { + count = (fun () -> ta.count() + tb.count()); + next = _dummy; + clone = (fun () -> append (ta.clone()) (tb.clone())); + fast = ta.fast && tb.fast; + } in + t.next <- (fun () -> + try + ta.next() + with + No_more_elements -> + (* add one indirection because tb can mute *) + t.next <- (fun () -> tb.next()); + t.count <- (fun () -> tb.count()); + t.clone <- (fun () -> tb.clone()); + t.fast <- tb.fast; + t.next() + ); + t + +let rec concat t = + let concat_ref = ref _dummy in + let rec concat_next() = + let tn = t.next() in + concat_ref := (fun () -> + try + tn.next() + with + No_more_elements -> + concat_next()); + !concat_ref () + in + concat_ref := concat_next; + from2 (fun () -> !concat_ref ()) (fun () -> concat (t.clone())) diff --git a/commons/ocamlextra/enum.mli b/commons/ocamlextra/enum.mli index a7175fd..96e0b75 100644 --- a/commons/ocamlextra/enum.mli +++ b/commons/ocamlextra/enum.mli @@ -1,201 +1,201 @@ -(* - * Enum - enumeration over abstract collection of elements. - * Copyright (C) 2003 Nicolas Cannasse - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version, - * with the special exception on linking described in file LICENSE. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - *) - -(** Enumeration over abstract collection of elements. - - Enumerations are entirely functional and most of the operations do not - actually require the allocation of data structures. Using enumerations - to manipulate data is therefore efficient and simple. All data structures in - ExtLib such as lists, arrays, etc. have support to convert from and to - enumerations. -*) - - -type 'a t - -(** {6 Final functions} - - These functions consume the enumeration until - it ends or an exception is raised by the first - argument function. -*) - -val iter : ('a -> unit) -> 'a t -> unit -(** [iter f e] calls the function [f] with each elements of [e] in turn. *) - -val iter2 : ('a -> 'b -> unit) -> 'a t -> 'b t -> unit -(** [iter2 f e1 e2] calls the function [f] with the next elements of [e] and - [e2] repeatedly until one of the two enumerations ends. *) - -val fold : ('a -> 'b -> 'b) -> 'b -> 'a t -> 'b -(** [fold f v e] returns v if e is empty, - otherwise [f (... (f (f v a1) a2) ...) aN] where a1..N are - the elements of [e]. -*) - -val fold2 : ('a -> 'b -> 'c -> 'c) -> 'c -> 'a t -> 'b t -> 'c -(** [fold2] is similar to [fold] but will fold over two enumerations at the - same time until one of the two enumerations ends. *) - -(** Indexed functions : these functions are similar to previous ones - except that they call the function with one additional argument which - is an index starting at 0 and incremented after each call to the function. *) - -val iteri : (int -> 'a -> unit) -> 'a t -> unit - -val iter2i : ( int -> 'a -> 'b -> unit) -> 'a t -> 'b t -> unit - -val foldi : (int -> 'a -> 'b -> 'b) -> 'b -> 'a t -> 'b - -val fold2i : (int -> 'a -> 'b -> 'c -> 'c) -> 'c -> 'a t -> 'b t -> 'c - -(** {6 Useful functions} *) - -val find : ('a -> bool) -> 'a t -> 'a -(** [find f e] returns the first element [x] of [e] such that [f x] returns - [true], consuming the enumeration up to and including the - found element, or, raises [Not_found] if no such element exists - in the enumeration, consuming the whole enumeration in the search. - - Since [find] consumes a prefix of the enumeration, it can be used several - times on the same enumeration to find the next element. *) - -val is_empty : 'a t -> bool -(** [is_empty e] returns true if [e] does not contains any element. *) - -val peek : 'a t -> 'a option -(** [peek e] returns [None] if [e] is empty or [Some x] where [x] is - the next element of [e]. The element is not removed from the enumeration. *) - -val get : 'a t -> 'a option -(** [get e] returns [None] if [e] is empty or [Some x] where [x] is - the next element of [e], in which case the element is removed from the enumeration. *) - -val push : 'a t -> 'a -> unit -(** [push e x] will add [x] at the beginning of [e]. *) - -val junk : 'a t -> unit -(** [junk e] removes the first element from the enumeration, if any. *) - -val clone : 'a t -> 'a t -(** [clone e] creates a new enumeration that is copy of [e]. If [e] - is consumed by later operations, the clone will not get affected. *) - -val force : 'a t -> unit -(** [force e] forces the application of all lazy functions and the - enumeration of all elements, exhausting the enumeration. - - An efficient intermediate data structure - of enumerated elements is constructed and [e] will now enumerate over - that data structure. *) - -(** {6 Lazy constructors} - - These functions are lazy which means that they will create a new modified - enumeration without actually enumerating any element until they are asked - to do so by the programmer (using one of the functions above). - - When the resulting enumerations of these functions are consumed, the - underlying enumerations they were created from are also consumed. *) - -val map : ('a -> 'b) -> 'a t -> 'b t -(** [map f e] returns an enumeration over [(f a1, f a2, ... , f aN)] where - a1...N are the elements of [e]. *) - -val mapi : (int -> 'a -> 'b) -> 'a t -> 'b t -(** [mapi] is similar to [map] except that [f] is passed one extra argument - which is the index of the element in the enumeration, starting from 0. *) - -val filter : ('a -> bool) -> 'a t -> 'a t -(** [filter f e] returns an enumeration over all elements [x] of [e] such - as [f x] returns [true]. *) - -val filter_map : ('a -> 'b option) -> 'a t -> 'b t -(** [filter_map f e] returns an enumeration over all elements [x] such as - [f y] returns [Some x] , where [y] is an element of [e]. *) - -val append : 'a t -> 'a t -> 'a t -(** [append e1 e2] returns an enumeration that will enumerate over all - elements of [e1] followed by all elements of [e2]. *) - -val concat : 'a t t -> 'a t -(** [concat e] returns an enumeration over all elements of all enumerations - of [e]. *) - -(** {6 Constructors} - - In this section the word {i shall} denotes a semantic - requirement. The correct operation - of the functions in this interface are conditional - on the client meeting these requirements. -*) - -exception No_more_elements -(** This exception {i shall} be raised by the [next] function of [make] - or [from] when no more elements can be enumerated, it {i shall not} - be raised by any function which is an argument to any - other function specified in the interface. -*) - -val empty : unit -> 'a t -(** The empty enumeration : contains no element *) - -val make : next:(unit -> 'a) -> count:(unit -> int) -> clone:(unit -> 'a t) -> 'a t -(** This function creates a fully defined enumeration. - {ul {li the [next] function {i shall} return the next element of the - enumeration or raise [No_more_elements] if the underlying data structure - does not have any more elements to enumerate.} - {li the [count] function {i shall} return the actual number of remaining - elements in the enumeration.} - {li the [clone] function {i shall} create a clone of the enumeration - such as operations on the original enumeration will not affect the - clone. }} - - For some samples on how to correctly use [make], you can have a look - at implementation of [ExtList.enum]. -*) - -val from : (unit -> 'a) -> 'a t -(** [from next] creates an enumeration from the [next] function. - [next] {i shall} return the next element of the enumeration or raise - [No_more_elements] when no more elements can be enumerated. Since the - enumeration definition is incomplete, a call to [clone] or [count] will - result in a call to [force] that will enumerate all elements in order to - return a correct value. *) - -val init : int -> (int -> 'a) -> 'a t -(** [init n f] creates a new enumeration over elements - [f 0, f 1, ..., f (n-1)] *) - -(** {6 Counting} *) - -val count : 'a t -> int -(** [count e] returns the number of remaining elements in [e] without - consuming the enumeration. - -Depending of the underlying data structure that is implementing the -enumeration functions, the count operation can be costly, and even sometimes -can cause a call to [force]. *) - -val fast_count : 'a t -> bool -(** For users worried about the speed of [count] you can call the [fast_count] - function that will give an hint about [count] implementation. Basically, if - the enumeration has been created with [make] or [init] or if [force] has - been called on it, then [fast_count] will return true. *) +(* + * Enum - enumeration over abstract collection of elements. + * Copyright (C) 2003 Nicolas Cannasse + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version, + * with the special exception on linking described in file LICENSE. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + *) + +(** Enumeration over abstract collection of elements. + + Enumerations are entirely functional and most of the operations do not + actually require the allocation of data structures. Using enumerations + to manipulate data is therefore efficient and simple. All data structures in + ExtLib such as lists, arrays, etc. have support to convert from and to + enumerations. +*) + + +type 'a t + +(** {6 Final functions} + + These functions consume the enumeration until + it ends or an exception is raised by the first + argument function. +*) + +val iter : ('a -> unit) -> 'a t -> unit +(** [iter f e] calls the function [f] with each elements of [e] in turn. *) + +val iter2 : ('a -> 'b -> unit) -> 'a t -> 'b t -> unit +(** [iter2 f e1 e2] calls the function [f] with the next elements of [e] and + [e2] repeatedly until one of the two enumerations ends. *) + +val fold : ('a -> 'b -> 'b) -> 'b -> 'a t -> 'b +(** [fold f v e] returns v if e is empty, + otherwise [f (... (f (f v a1) a2) ...) aN] where a1..N are + the elements of [e]. +*) + +val fold2 : ('a -> 'b -> 'c -> 'c) -> 'c -> 'a t -> 'b t -> 'c +(** [fold2] is similar to [fold] but will fold over two enumerations at the + same time until one of the two enumerations ends. *) + +(** Indexed functions : these functions are similar to previous ones + except that they call the function with one additional argument which + is an index starting at 0 and incremented after each call to the function. *) + +val iteri : (int -> 'a -> unit) -> 'a t -> unit + +val iter2i : ( int -> 'a -> 'b -> unit) -> 'a t -> 'b t -> unit + +val foldi : (int -> 'a -> 'b -> 'b) -> 'b -> 'a t -> 'b + +val fold2i : (int -> 'a -> 'b -> 'c -> 'c) -> 'c -> 'a t -> 'b t -> 'c + +(** {6 Useful functions} *) + +val find : ('a -> bool) -> 'a t -> 'a +(** [find f e] returns the first element [x] of [e] such that [f x] returns + [true], consuming the enumeration up to and including the + found element, or, raises [Not_found] if no such element exists + in the enumeration, consuming the whole enumeration in the search. + + Since [find] consumes a prefix of the enumeration, it can be used several + times on the same enumeration to find the next element. *) + +val is_empty : 'a t -> bool +(** [is_empty e] returns true if [e] does not contains any element. *) + +val peek : 'a t -> 'a option +(** [peek e] returns [None] if [e] is empty or [Some x] where [x] is + the next element of [e]. The element is not removed from the enumeration. *) + +val get : 'a t -> 'a option +(** [get e] returns [None] if [e] is empty or [Some x] where [x] is + the next element of [e], in which case the element is removed from the enumeration. *) + +val push : 'a t -> 'a -> unit +(** [push e x] will add [x] at the beginning of [e]. *) + +val junk : 'a t -> unit +(** [junk e] removes the first element from the enumeration, if any. *) + +val clone : 'a t -> 'a t +(** [clone e] creates a new enumeration that is copy of [e]. If [e] + is consumed by later operations, the clone will not get affected. *) + +val force : 'a t -> unit +(** [force e] forces the application of all lazy functions and the + enumeration of all elements, exhausting the enumeration. + + An efficient intermediate data structure + of enumerated elements is constructed and [e] will now enumerate over + that data structure. *) + +(** {6 Lazy constructors} + + These functions are lazy which means that they will create a new modified + enumeration without actually enumerating any element until they are asked + to do so by the programmer (using one of the functions above). + + When the resulting enumerations of these functions are consumed, the + underlying enumerations they were created from are also consumed. *) + +val map : ('a -> 'b) -> 'a t -> 'b t +(** [map f e] returns an enumeration over [(f a1, f a2, ... , f aN)] where + a1...N are the elements of [e]. *) + +val mapi : (int -> 'a -> 'b) -> 'a t -> 'b t +(** [mapi] is similar to [map] except that [f] is passed one extra argument + which is the index of the element in the enumeration, starting from 0. *) + +val filter : ('a -> bool) -> 'a t -> 'a t +(** [filter f e] returns an enumeration over all elements [x] of [e] such + as [f x] returns [true]. *) + +val filter_map : ('a -> 'b option) -> 'a t -> 'b t +(** [filter_map f e] returns an enumeration over all elements [x] such as + [f y] returns [Some x] , where [y] is an element of [e]. *) + +val append : 'a t -> 'a t -> 'a t +(** [append e1 e2] returns an enumeration that will enumerate over all + elements of [e1] followed by all elements of [e2]. *) + +val concat : 'a t t -> 'a t +(** [concat e] returns an enumeration over all elements of all enumerations + of [e]. *) + +(** {6 Constructors} + + In this section the word {i shall} denotes a semantic + requirement. The correct operation + of the functions in this interface are conditional + on the client meeting these requirements. +*) + +exception No_more_elements +(** This exception {i shall} be raised by the [next] function of [make] + or [from] when no more elements can be enumerated, it {i shall not} + be raised by any function which is an argument to any + other function specified in the interface. +*) + +val empty : unit -> 'a t +(** The empty enumeration : contains no element *) + +val make : next:(unit -> 'a) -> count:(unit -> int) -> clone:(unit -> 'a t) -> 'a t +(** This function creates a fully defined enumeration. + {ul {li the [next] function {i shall} return the next element of the + enumeration or raise [No_more_elements] if the underlying data structure + does not have any more elements to enumerate.} + {li the [count] function {i shall} return the actual number of remaining + elements in the enumeration.} + {li the [clone] function {i shall} create a clone of the enumeration + such as operations on the original enumeration will not affect the + clone. }} + + For some samples on how to correctly use [make], you can have a look + at implementation of [ExtList.enum]. +*) + +val from : (unit -> 'a) -> 'a t +(** [from next] creates an enumeration from the [next] function. + [next] {i shall} return the next element of the enumeration or raise + [No_more_elements] when no more elements can be enumerated. Since the + enumeration definition is incomplete, a call to [clone] or [count] will + result in a call to [force] that will enumerate all elements in order to + return a correct value. *) + +val init : int -> (int -> 'a) -> 'a t +(** [init n f] creates a new enumeration over elements + [f 0, f 1, ..., f (n-1)] *) + +(** {6 Counting} *) + +val count : 'a t -> int +(** [count e] returns the number of remaining elements in [e] without + consuming the enumeration. + +Depending of the underlying data structure that is implementing the +enumeration functions, the count operation can be costly, and even sometimes +can cause a call to [force]. *) + +val fast_count : 'a t -> bool +(** For users worried about the speed of [count] you can call the [fast_count] + function that will give an hint about [count] implementation. Basically, if + the enumeration has been created with [make] or [init] or if [force] has + been called on it, then [fast_count] will return true. *) diff --git a/commons/sexp_common.ml b/commons/sexp_common.ml index fa7b20d..498234b 100644 --- a/commons/sexp_common.ml +++ b/commons/sexp_common.ml @@ -1,7 +1,7 @@ (* automatically generated by ocamltarzan *) -open Sexplib open Common +open Sexplib let either_of_sexp__ = let _loc = "Xxx.either" in diff --git a/configure b/configure index 5337a7d..6f3a6c7 100755 --- a/configure +++ b/configure @@ -35,6 +35,26 @@ my $tarzan=1; my $pydir="pycaml"; my $menhirdir="menhirlib"; my $sexpdir="ocamlsexp"; +my $python_cmd="python"; + +# generic ocaml libraries (set entries to 0 to disable by default) +# 0: disabled, 1: use global library, >1: use local library +my %libs= + ( "pycaml" => 1 + , "menhirLib" => 1 + , "sexplib" => 1 + , "pcre" => 1 + , "dynlink" => 0 + , "extlib" => 0 + ); + +# add additional dependencies that some of these libraries may have +# these will then be added automatically +# (we don't really make use of this here) +my %deps= + ( # "pycaml" => ["str"] # example + # "sexplib" => ["unix", "bigarray", "num"] + ); local $_ = join ' ', @ARGV; @@ -43,6 +63,7 @@ local $_ = join ' ', @ARGV; \t--without-python\tDisable scripting in Python \t--without-ocaml\t\tDisable scripting in Ocaml \t--without-pcre\t\tDisable regexp with PCRE +\t--with-pyton=PATH\t\tSpecify path to python executable \t--no-opt\t\tDo not use the optimimized version of OCaml \t--opt\t\t\tUse the optimimized version of OCaml\n\n"; /--prefix=([^ ]*)/ and $prefix = $1; @@ -51,10 +72,35 @@ local $_ = join ' ', @ARGV; /--without-ocaml/ and $noocamlscripting = 1; /--no-opt/ and $opt = ""; /--opt/ and $opt = ".opt"; +/--with-python=([^ ]*)/ and $python_cmd = $1; + +# todo: also print these options as part of the help message... +foreach my $lib (keys %libs) { + /--with-$lib/ and $libs{$lib} = 1; + /--with-local-$lib/ and $libs{$lib} = 2; + /--without-$lib/ and $libs{$lib} = 0; +} #tarzan by default (used by score file parsing and now also for sexp_ast_c.ml) +# extend the feature set based on their dependencies +my $changedLibs = 1; +while($changedLibs) { + $changedLibs = 0; + foreach $dep (keys %deps) { + if ($libs{$dep}) { + my $reqs = $deps{$dep}; + foreach $req (@$reqs) { + if (!$libs{$req}) { + $libs{$req} = 1; + $changedLibs = 1; + } + } + } + } +} + #if($ARGV[0] =~ "--prefix=(.*)") { # $prefix = $1; #} @@ -205,17 +251,17 @@ We need 3.XX", my $PY_VERSION; if($python) { if(check_config( - "python --version 2>&1 |", - '^Python 2\.([4567]|[4567]\.\S*)$', - "python is present", - "python is missing or is not a good version." + "$python_cmd --version 2>&1 |", + '^Python [23]\.', + "$python_cmd is present", + "$python_cmd is missing or is not a good version." )) { $python=0; } if($python) { - my $PY_PREFIX = `python pycaml/getprefix.py | tr -d '\n'`; - $PY_VERSION = `python pycaml/getversion.py | tr -d '\n'`; + my $PY_PREFIX = `$python_cmd pycaml/getprefix.py | tr -d '\n'`; + $PY_VERSION = `$python_cmd pycaml/getversion.py | tr -d '\n'`; my $python_hdr = "$PY_PREFIX/include/python$PY_VERSION/Python.h"; if(check_config( "ls $python_hdr 2> /dev/null | ", @@ -240,8 +286,13 @@ my $ocamlfind=!check_config( my $syspydir=`ocamlfind query pycaml 2> /dev/null | xargs echo -n`; if($syspydir) { - $pydir=$syspydir; - pr2 "'pycaml' library is present in $pydir"; + pr2 "'pycaml' library is present in $syspydir"; + if ($libs{'pycaml'} > 1) { + pr2 "... but a local copy of 'pycaml' will be used."; + } + else { + $pydir=$syspydir; + } } else { pr2 "'pycaml' library is not present. A local copy will be used."; } @@ -256,7 +307,7 @@ if($sysmenhirdir) { pr2 "'menhirLib' library is not present. A local copy will be used."; } -# sexplib. Runtime system for the parsers generated with menhir +# sexplib. my $syssexpdir=`ocamlfind query sexplib 2> /dev/null | xargs echo -n`; if($syssexpdir) { @@ -282,6 +333,44 @@ if($pcre) { } } +###################################################################### +# Printing of library selection +###################################################################### + + +pr2 "----------------------------------------------------------------------"; +pr2 "Library configuration:"; + +my %libPaths = {}; +foreach my $lib (keys %libs) { + my $isSelected = $libs{$lib}; + if ($isSelected) { + my $libdir = `ocamlfind query $lib 2> /dev/null | xargs echo -n`; + if ($libdir && $libs{$lib} <= 1) { + $libs{$lib} = 1; + $libPaths{$lib} = $libdir; + } + else { + if (-d $lib) { # test if local directory exists + $libs{$lib} = 2; # use local version + $libPaths{$lib} = $lib; + } else { + $libs{$lib} = 0; # disable the feature + $libPaths{$lib} = ""; + } + } + } + + my $choice = $libs{$lib}; + if ($choice == 0) { + pr2 "$lib: disabled"; + } elsif ($choice == 1) { + pr2 "$lib: global version in $libPaths{$lib}"; + } else { + pr2 "$lib: local version selected"; + } +} + ###################################################################### # Generate config files (platform/portability issues) ###################################################################### @@ -295,7 +384,6 @@ if($pcre) { # Diagnostic ###################################################################### - if($error) { pr2 " ---------------------------------------------------------------------- @@ -380,7 +468,8 @@ FEATURE_TARZAN=$tarzan "; if ($python) { -print CONFIG "PYVER=$PY_VERSION"; +print CONFIG "PYVER=$PY_VERSION\n"; +print CONFIG "PYCMD=$python_cmd\n"; } if($pcre) { @@ -401,6 +490,82 @@ DYNLINK=$ocamlprefix OPTBIN=$opt "; +# +# Generate variables for handling the ocaml libraries +# + +my @sellibs = (); +my @makelibs = (); +my @cleanlibs = (); +my @deplibs = (); +my @lnklibs = (); +my @optlnklibs = (); +my @inclibs = (); +my @flagslibs = (); +my @featurelibs = (); +my @pathlibs = (); + +sub strVar { + return "\$(" . $_[0] . "_" . $_[1] . ")"; +} + +foreach $lib (keys %libs) { + my $sel = $libs{$lib}; + my $path = $libPaths{$lib}; + my $pathvar = strVar("PATH", $lib); + + if ($sel == 1) { # global version + push(@lnklibs, strVar("GLOBAL", $lib)); + push(@optlnklibs, strVar("GLOBALOPT", $lib)); + } elsif ($sel > 1) { # local version + push(@lnklibs, strVar("LOCAL", $lib)); + push(@optlnklibs, strVar("LOCALOPT", $lib)); + if (-e "$path/Makefile") { # does it have a Makefile? + push(@makelibs, $pathvar); + push(@cleanlibs, $pathvar); + push(@deplibs, $pathvar); + } + } + + if ($sel >= 1) { # indifferent of global/local + push(@sellibs, $lib); + push(@inclibs, $pathvar); + push(@flagslibs, strVar("FLAGS", $lib)); + + push(@featurelibs, "FEATURE_$lib=1"); + push(@pathlibs, "PATH_$lib=$path"); + } +} + +my $strSellibs = join(" ", @sellibs); +my $strMakelibs = join(" ", @makelibs); +my $strCleanlibs = join(" ", @cleanlibs); +my $strDeplibs = join(" ", @deplibs); +my $strLnklibs = join(" ", @lnklibs); +my $strOptlnklibs = join(" ", @optlnklibs); +my $strInclibs = join(" ", @inclibs); +my $strFlagslibs = join(" ", @flagslibs); +my $strFeatures = join("\n", @featurelibs); +my $strPaths = join("\n", @pathlibs); + +print CONFIG " +# selected libraries +$strFeatures + +# library paths +$strPaths + +# collected config vars +SELLIBS=$strSellibs +MAKELIBS=$strMakelibs +CLEANLIBS=$strCleanlibs +DEPLIBS=$strDeplibs +LNKLIBS=$strLnklibs +OPTLNKLIBS=$strOptlnklibs +INCLIBS=$strInclibs +FLAGSLIBS=$strFlagslibs +"; + my $pythonprefix = $python ? "yes" : "no"; pr2 "Support for python scripting: $pythonprefix"; diff --git a/ctl/wrapper_ctl.ml b/ctl/wrapper_ctl.ml index ac740dc..24f9c63 100644 --- a/ctl/wrapper_ctl.ml +++ b/ctl/wrapper_ctl.ml @@ -27,7 +27,7 @@ * Wrapping for FUNCTORS and MODULES * * - * $Id: wrapper_ctl.ml,v 1.68 2010/01/28 14:23:46 npalix Exp $ + * $Id$ * * **********************************************************************) diff --git a/demos/assignment_matching.c b/demos/assignment_matching.c new file mode 100644 index 0000000..6d7da46 --- /dev/null +++ b/demos/assignment_matching.c @@ -0,0 +1,32 @@ +int first() { + int a = f(3); + b = f(3); + if (c = f(3)) return 1; + if (d = (int)f(3)) return 2; + return 0; +} + +int second() { + int a = g(3); + b = g(3); + if (c = g(3)) return 1; + if (d = (int)g(3)) return 2; + return 0; +} + +int third() { + int a = h(3); + b = h(3); + if (c = h(3)) return 1; + if (d = (int)h(3)) return 2; + return 0; +} + +int fourth() { + int a = i(3); + b = i(3); + if (c = i(3)) return 1; + if (d = (int)i(3)) return 2; + return 0; +} + diff --git a/demos/assignment_matching.cocci b/demos/assignment_matching.cocci new file mode 100644 index 0000000..4949dc9 --- /dev/null +++ b/demos/assignment_matching.cocci @@ -0,0 +1,38 @@ +// This only matches cases where the assignment is a complete statement +@@ +expression x; +@@ + +-x = f(3); ++matches_little(); + +// This matches also cases where the assignment is a subterm of another +// statement, such as a conditional. +@@ +expression x; +@@ + +-x = g(3) ++matches_more() + +// An isomorphism will let this also match cases where the type is not there +@@ +expression x; +type T; +@@ + +-x = (T)h(3) ++matches_even_more() + +// This matches a variable declaration too. There are constraints on +// the transformation performed in this case, as it must ensure that the result +// will also be a variable declaration. +@@ +expression x; +type T; +@@ + + x = +-(T)i(3) ++matches_most() + diff --git a/demos/assignment_matching.res b/demos/assignment_matching.res new file mode 100644 index 0000000..041b1f3 --- /dev/null +++ b/demos/assignment_matching.res @@ -0,0 +1,32 @@ +int first() { + int a = f(3); + matches_little(); + if (c = f(3)) return 1; + if (d = (int)f(3)) return 2; + return 0; +} + +int second() { + int a = g(3); + matches_more(); + if (matches_more()) return 1; + if (d = (int)g(3)) return 2; + return 0; +} + +int third() { + int a = h(3); + matches_even_more(); + if (matches_even_more()) return 1; + if (matches_even_more()) return 2; + return 0; +} + +int fourth() { + int a = matches_most(); + b = matches_most(); + if (c = matches_most()) return 1; + if (d = matches_most()) return 2; + return 0; +} + diff --git a/demos/demo_rule9/g_NCR5380.c b/demos/demo_rule9/g_NCR5380.c index f0ca28b..ec8a895 100644 --- a/demos/demo_rule9/g_NCR5380.c +++ b/demos/demo_rule9/g_NCR5380.c @@ -79,10 +79,7 @@ */ /* - * $Log: g_NCR5380.c,v $ - * Revision 1.1 2007/11/01 09:43:07 julia - * *** empty log message *** - * + * $Log$ * Revision 1.1.1.1 2007/03/28 16:38:53 pad * your commit message * diff --git a/demos/demo_rule9/g_NCR5380.res b/demos/demo_rule9/g_NCR5380.res index 5fcc2d9..6cdb988 100644 --- a/demos/demo_rule9/g_NCR5380.res +++ b/demos/demo_rule9/g_NCR5380.res @@ -79,10 +79,7 @@ */ /* - * $Log: g_NCR5380.res,v $ - * Revision 1.1 2007/11/01 09:43:07 julia - * *** empty log message *** - * + * $Log: not supported by cvs2svn $ * Revision 1.1.1.1 2007/03/28 16:38:53 pad * your commit message * diff --git a/demos/demo_rule9/nsp_cs.c b/demos/demo_rule9/nsp_cs.c index 7858fe6..2ad4cce 100644 --- a/demos/demo_rule9/nsp_cs.c +++ b/demos/demo_rule9/nsp_cs.c @@ -66,7 +66,7 @@ #include "nsp_cs.h" MODULE_AUTHOR("YOKOTA Hiroshi "); -MODULE_DESCRIPTION("WorkBit NinjaSCSI-3 / NinjaSCSI-32Bi(16bit) PCMCIA SCSI host adapter module $Revision: 1.1 $"); +MODULE_DESCRIPTION("WorkBit NinjaSCSI-3 / NinjaSCSI-32Bi(16bit) PCMCIA SCSI host adapter module $Revision$"); MODULE_SUPPORTED_DEVICE("sd,sr,sg,st"); #ifdef MODULE_LICENSE MODULE_LICENSE("GPL"); @@ -1240,7 +1240,7 @@ static struct Scsi_Host *__nsp_detect(Scsi_Host_Template *sht) snprintf(data->nspinfo, sizeof(data->nspinfo), - "NinjaSCSI-3/32Bi Driver $Revision: 1.1 $ IO:0x%04lx-0x%04lx MMIO(virt addr):0x%04lx IRQ:%02d", + "NinjaSCSI-3/32Bi Driver $Revision$ IO:0x%04lx-0x%04lx MMIO(virt addr):0x%04lx IRQ:%02d", host->io_port, host->io_port + host->n_io_port - 1, host->base, host->irq); @@ -1325,7 +1325,7 @@ static int nsp_proc_info(char *buffer, } SPRINTF("NinjaSCSI status\n\n"); - SPRINTF("Driver version: $Revision: 1.1 $\n"); + SPRINTF("Driver version: $Revision$\n"); SPRINTF("SCSI host No.: %d\n", hostno); SPRINTF("IRQ: %d\n", host->irq); SPRINTF("IO: 0x%lx-0x%lx\n", host->io_port, host->io_port + host->n_io_port - 1); diff --git a/demos/depend.c b/demos/depend.c new file mode 100644 index 0000000..39a064c --- /dev/null +++ b/demos/depend.c @@ -0,0 +1,4 @@ +int main() { + aa(); + c(); +} diff --git a/demos/depend.cocci b/demos/depend.cocci new file mode 100644 index 0000000..95ad2ac --- /dev/null +++ b/demos/depend.cocci @@ -0,0 +1,38 @@ +// this illustrates various complex dependencies +@a@ +position p; +@@ + +a@p(); + +@b@ +position p; +@@ + +b@p(); + +@c@ +position p; +@@ + +c@p(); + +@script:python depends on a@ +@@ + +print "a is ok" + +@script:python depends on !a@ +@@ + +print "a is not ok" + +@script:python depends on (a && b) || c@ +@@ + +print "a and b or c" + +@script:python depends on !(!a && !b) || c@ +@@ + +print "a or b or c" diff --git a/demos/pcre.cocci b/demos/pcre.cocci index 1a559c3..666613d 100644 --- a/demos/pcre.cocci +++ b/demos/pcre.cocci @@ -1,5 +1,5 @@ @@ -identifier SPAM ~= "(WINE_)?(ERR|FIXME|WARN)"; +identifier SPAM =~ "(WINE_)?(ERR|FIXME|WARN)"; @@ -SPAM diff --git a/demos/regexp.cocci b/demos/regexp.cocci index 3ed0838..6ba8ea4 100644 --- a/demos/regexp.cocci +++ b/demos/regexp.cocci @@ -30,7 +30,7 @@ print "Contains foo: %s" % x @nocontain@ type t; -identifier foo !=~ "foo"; +identifier foo !~ "foo"; @@ t foo () { diff --git a/docs/Coccilib.3cocci b/docs/Coccilib.3cocci index 6fd105d..d449cb3 100644 --- a/docs/Coccilib.3cocci +++ b/docs/Coccilib.3cocci @@ -71,12 +71,12 @@ is the name of the file containing the matched position; is the number of the line containing the first character of the matched position; .B col -is the column containing the first character of the matched position; +is the (0-based) column containing the first character of the matched position; .B line_end is the number of the line containing the last character of the matched position; .B col_end -is the column containing the last character of the matched position\&. +is the (0-based) column containing the last character of the matched position\&. .sp .B === diff --git a/docs/manual/cocci_syntax.tex b/docs/manual/cocci_syntax.tex index 4bd9d53..ca65f89 100644 --- a/docs/manual/cocci_syntax.tex +++ b/docs/manual/cocci_syntax.tex @@ -30,6 +30,7 @@ A HTML version of this documentation is available online at \CASE{\any{\NT{include\_cocci}} \some{\NT{changeset}}} \RULE{\rt{include\_cocci}} + \CASE{include \NT{string}} \CASE{using \NT{string}} \CASE{using \NT{pathToIsoFile}} \CASE{virtual \T{id} \ANY{, \T{id}}} @@ -82,15 +83,13 @@ section. \opt{\NT{disable-iso}} \opt{\NT{exists}} \opt{expression}} \RULE{\rt{dep}} - \CASE{\NT{pnrule}} - \CASE{\NT{dep} \&\& \NT{dep}} - \CASE{\NT{dep} || \NT{dep}} - - \RULE{\rt{pnrule}} \CASE{\T{id}} \CASE{!\T{id}} + \CASE{!(\NT{dep})} \CASE{ever \T{id}} \CASE{never \T{id}} + \CASE{\NT{dep} \&\& \NT{dep}} + \CASE{\NT{dep} || \NT{dep}} \CASE{(\NT{dep})} \RULE{\rt{iso}} @@ -189,6 +188,7 @@ the same, but for structure fields. \CASE{constant \opt{\NT{ctype}} \NT{COMMA\_LIST}\mth{(}\NT{pmid\_with\_not\_eq}\mth{)} ;} \CASE{constant \OPT{\ttlb \NT{ctypes}\ttrb~\any{*}} \NT{COMMA\_LIST}\mth{(}\NT{pmid\_with\_not\_eq}\mth{)} ;} \CASE{position \opt{any} \NT{COMMA\_LIST}\mth{(}\NT{pmid\_with\_not\_eq\_mid}\mth{)} ;} + \CASE{symbol \NT{ids};} \end{grammar} A metavariable declaration local idexpression v means that v is restricted @@ -212,6 +212,11 @@ metavariable should match a specific number of expressions or parameters. It is possible to specify some information about the definition of a fresh identifier. See the wiki. +A symbol declaration specifies that the provided identifiers should be +considered C identifiers when encountered in the body of the rule. +Identifiers in the body of the rule that are not declared explicitly are +by default considered symbols, thus symbol declarations are optional. + \begin{grammar} \RULE{\rt{ids}} @@ -400,17 +405,22 @@ The abstract syntax tree of a metavariable declared using {\tt \section{Transformation} -The transformation specification essentially has the form of C code, -except that lines to remove are annotated with \verb+-+ in the first -column, and lines to add are annotated with \verb-+-. A -transformation specification can also use {\em dots}, ``\verb-...-'', -describing an arbitrary sequence of function arguments or instructions -within a control-flow path. Dots may be modified with a {\tt when} -clause, indicating a pattern that should not occur anywhere within the -matched sequence. Finally, a transformation can specify a disjunction -of patterns, of the form \mtt{( \mth{\mita{pat}_1} | \mita{\ldots} | - \mth{\mita{pat}_n} )} where each \texttt{(}, \texttt{|} or -\texttt{)} is in column 0 or preceded by \texttt{\textbackslash}. +The transformation specification essentially has the form of C code, except +that lines to remove are annotated with \verb+-+ in the first column, and +lines to add are annotated with \verb-+-. A transformation specification +can also use {\em dots}, ``\verb-...-'', describing an arbitrary sequence +of function arguments or instructions within a control-flow path. +Implicitly, ``\verb-...-'' matches the shortest path between something that +matches the pattern before the dots (or the beginning of the function, if +there is nothing before the dots) and something that matches the pattern +after the dots (or the end of the function, if there is nothing after the +dots). Dots may be modified with a {\tt when} clause, indicating a pattern +that should not occur anywhere within the matched sequence. {\tt when any} +removes the aforementioned constraint that ``\verb-...-'' matches the +shortest path. Finally, a transformation can specify a disjunction of +patterns, of the form \mtt{( \mth{\mita{pat}_1} | \mita{\ldots} | + \mth{\mita{pat}_n} )} where each \texttt{(}, \texttt{|} or \texttt{)} is +in column 0 or preceded by \texttt{\textbackslash}. The grammar that we present for the transformation is not actually the grammar of the SmPL code that can be written by the programmer, but is @@ -553,9 +563,9 @@ The grammar for the minus or plus slice of a transformation is as follows: \begin{grammar} \RULE{\rt{OPTDOTSEQ}\mth{(}\rt{grammar\_ds}, \rt{when\_ds}\mth{)}} \CASE{}\multicolumn{3}{r}{\hspace{1cm} - \KW{\opt{... \opt{\NT{when\_ds}}} \NT{grammar\_ds} - \ANY{... \opt{\NT{when\_ds}} \NT{grammar\_ds}} - \opt{... \opt{\NT{when\_ds}}}} + \KW{\opt{... \ANY{\NT{when\_ds}}} \NT{grammar\_ds} + \ANY{... \ANY{\NT{when\_ds}} \NT{grammar\_ds}} + \opt{... \ANY{\NT{when\_ds}}}} } % \CASE{\opt{... \opt{\NT{when\_ds}}} \NT{grammar} @@ -569,7 +579,8 @@ The grammar for the minus or plus slice of a transformation is as follows: \noindent Lines may be annotated with an element of the set $\{\mtt{-}, \mtt{+}, \mtt{*}\}$ or the singleton $\mtt{?}$, or one of each set. \mtt{?} -represents at most one match of the given pattern. \mtt{*} is used for +represents at most one match of the given pattern, ie a match of the +pattern is optional. \mtt{*} is used for semantic match, \emph{i.e.}, a pattern that highlights the fragments annotated with \mtt{*}, but does not perform any modification of the matched code. \mtt{*} cannot be mixed with \mtt{-} and \mtt{+}. There are @@ -767,10 +778,10 @@ isomorphism. If one adds code before a function declaration, then the effect depends on the kind of code that is added. If the added code is a function definition or CPP code, then the new code is placed before all information associated with the function definition, including any -comments preceeding the function definition. On the other hand, if the new +comments preceding the function definition. On the other hand, if the new code is associated with the function, such as the addition of the keyword {\tt static}, the new code is placed exactly where it appears with respect -to the rest of the function definition in the semantic patch. For example, +to the rest of the function definition in the semantic patch. For example, \begin{lstlisting}[language=Cocci] @@ @@ -834,7 +845,7 @@ considers that it is not. \RULE{\rt{init\_list\_elem}} \CASE{\NT{dot\_expr}} - \CASE{\NT{designator} = \NT{dot\_expr}} + \CASE{\NT{designator} = \NT{initialize}} \CASE{\mth{\T{metaid}^{\ssf{Initialiser}}}} \CASE{\mth{\T{metaid}^{\ssf{InitialiserList}}}} \CASE{\NT{id} : \NT{dot\_expr}} @@ -1033,13 +1044,28 @@ in a concise way. \CASE{"\any{[\^{}"]}"} \end{grammar} -\section{Comments} +\section{Comments and preprocessor directives} A \verb+//+ or \verb+/* */+ comment that is annotated with + in the leftmost column is considered to be added code. A \verb+//+ or -\verb+/* */+ comment wthout such an annotation is considered to be a +\verb+/* */+ comment without such an annotation is considered to be a comment about the SmPL code, and thus is not matched in the C code. +The following preprocessor directives can likewise be added. They cannot +be matched against. The entire line is added, but it is not parsed. + +\begin{itemize} +\item \verb+if+ +\item \verb+ifdef+ +\item \verb+ifndef+ +\item \verb+else+ +\item \verb+elif+ +\item \verb+endif+ +\item \verb+error+ +\item \verb+pragma+ +\item \verb+line+ +\end{itemize} + \section{Command-line semantic match} It is possible to specify a semantic match on the spatch command line, @@ -1068,7 +1094,7 @@ Some examples of semantic matches that can be given as an argument to {\tt where the argument is the name of the function itself. This example shows that it is not necessary to repeat the metavariable type name. \item \texttt{F:identifier:(F:identifier:)}: This matches any one argument - function call + function call where the argument is the name of the function itself. This example shows that it is possible to repeat the metavariable type name. \end{itemize} diff --git a/docs/manual/examples.tex b/docs/manual/examples.tex index 22951cc..af60e10 100644 --- a/docs/manual/examples.tex +++ b/docs/manual/examples.tex @@ -448,7 +448,7 @@ print "Identifier: %s" % x @M@contains@ type t; -identifier foo ~= ".*foo"; +identifier foo =~ ".*foo"; @@@M t foo () {...} @@ -462,7 +462,7 @@ print "Contains foo: %s" % x \begin{lstlisting}[language=Cocci,name=Regexp] @M@endsby@ type t; -identifier foo ~= ".*foo$"; +identifier foo =~ ".*foo$"; @@@M t foo () {...} @@ -474,7 +474,7 @@ print "Ends by foo: %s" % x @M@beginsby@ type t; -identifier foo ~= "^foo"; +identifier foo =~ "^foo"; @@@M t foo () {...} diff --git a/docs/manual/macros.tex b/docs/manual/macros.tex index f821f8c..3879ee5 100644 --- a/docs/manual/macros.tex +++ b/docs/manual/macros.tex @@ -4,5 +4,5 @@ \newcommand{\cpp}{\texttt{cpp}\xspace} -\newcommand{\cocciversion}{1.0.0-rc7\xspace} +\newcommand{\cocciversion}{1.0.0-rc9\xspace} diff --git a/docs/manual/main_grammar.pdf b/docs/manual/main_grammar.pdf index 02705e46c41698a3c1ec8150c4b7da4b8fb22ffc..6370f06bc327e6f5f33d83524a75131ece6c669e 100644 GIT binary patch delta 84344 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 b`c>yYetq#Hze+;oVDrY+&CRoKo?rb3^}?#< delta 83498 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 P#EyG8dU)7>IE?-QaK-ri diff --git a/docs/manual/manual.pdf b/docs/manual/manual.pdf index b4cb1b6b83633a33b51cec6cb5e0fe07ea247bde..c4d2f2bfc409b166fbc2822f02d36bc7ce8e3528 100644 GIT binary patch delta 72850 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 Ast_c.NotLocalVar | Ast_c.LocalDecl -> - Ast_c.LocalVar (Ast_c.info_of_type returnType) in + (match Ast_c.info_of_type returnType with + None -> failwith "no returnType info" + | Some ii -> Ast_c.LocalVar ii) in let typexp = (* old: Lib_parsing_c.al_type returnType * but this type has not the typename completed so @@ -540,7 +542,7 @@ let one_initialisation_to_affectation x = | Some ty_with_typename_completed -> ty_with_typename_completed | None -> raise Impossible in - + let typ = ref (Some (typexp,local), Ast_c.NotTest) in let ident = name in let idexpr = Ast_c.mk_e_bis (B.Ident ident) typ Ast_c.noii in @@ -548,8 +550,8 @@ let one_initialisation_to_affectation x = Ast_c.mk_e (B.Assignment (idexpr,B.SimpleAssign, e)) [iini] in Some assign | _ -> None) - | _ -> None - + | _ -> None + let initialisation_to_affectation decl = match decl with | B.MacroDecl _ -> F.Decl decl @@ -793,14 +795,14 @@ let list_matcher match_dots rebuild_dots match_comma rebuild_comma Some (mcode, optexpr), ys -> (* todo: if optexpr, then a WHEN and so may have to filter yys *) if optexpr <> None then failwith "not handling when in a list"; - + (* '...' can take more or less the beginnings of the arguments *) let startendxs = Common.zip (Common.inits ys) (Common.tails ys) in Some (startendxs +> List.fold_left (fun acc (startxs, endxs) -> acc >||> ( - + (* allow '...', and maybe its associated ',' to match nothing. * for the associated ',' see below how we handle the EComma * to match nothing. @@ -822,7 +824,7 @@ let list_matcher match_dots rebuild_dots match_comma rebuild_comma (match Common.last startxs with | Right _ -> fail | Left _ -> distrf (dots2metavar mcode) startxs)) - + >>= (fun mcode startxs -> let mcode = metavar2dots mcode in loop (eas, endxs) >>= (fun eas endxs -> @@ -832,7 +834,7 @@ let list_matcher match_dots rebuild_dots match_comma rebuild_comma ))) ) ) fail) - + | None,_ -> None) +++ (match match_comma ea, ebs with @@ -878,7 +880,7 @@ let list_matcher match_dots rebuild_dots match_comma rebuild_comma else let startxs' = Ast_c.unsplit_comma startxs in let len = List.length startxs' in - + (match leninfo with | A.MetaListLen (lenname,lenkeep,leninherited) -> let max_min _ = failwith "no pos" in @@ -1238,17 +1240,19 @@ let rec (expression: (A.expression, Ast_c.expression) matcher) = ((B.Binary (eb1, opb, eb2), typ),[opbi] )))))) in let in_left = - (loop eb1 >>= (fun ea1 eb1 -> - expression ea2 eb2 >>= (fun ea2 eb2 -> - tokenf opa opbi >>= (fun opa opbi -> + (expression ea2 eb2 >>= (fun ea2 eb2 -> + tokenf opa opbi >>= (fun opa opbi -> + (* be last, to be sure the rest is marked *) + loop eb1 >>= (fun ea1 eb1 -> return ( ((A.Nested (ea1, opa, ea2))) +> wa, ((B.Binary (eb1, opb, eb2), typ),[opbi] )))))) in let in_right = (expression ea2 eb1 >>= (fun ea2 eb1 -> - loop eb2 >>= (fun ea1 eb2 -> - tokenf opa opbi >>= (fun opa opbi -> + tokenf opa opbi >>= (fun opa opbi -> + (* be last, to be sure the rest is marked *) + loop eb2 >>= (fun ea1 eb2 -> return ( ((A.Nested (ea1, opa, ea2))) +> wa, ((B.Binary (eb1, opb, eb2), typ),[opbi] @@ -1519,7 +1523,7 @@ and (ident: info_ident -> (A.ident, string * Ast_c.info) matcher) = | A.OptIdent _ | A.UniqueIdent _ -> failwith "not handling Opt/Unique for ident" - + (* ------------------------------------------------------------------------- *) and (arguments: sequence -> (A.expression list, Ast_c.argument Ast_c.wrap2 list) matcher) = @@ -1537,12 +1541,12 @@ and (arguments: sequence -> * in the Ecomma matching rule. * * old: Must do some try, for instance when f(...,X,Y,...) have to - * test the transfo for all the combinaitions and if multiple transfo + * test the transfo for all the combinations and if multiple transfo * possible ? pb ? => the type is to return a expression option ? use * some combinators to help ? * update: with the tag-SP approach, no more a problem. *) - + and arguments_bis = fun eas ebs -> let match_dots ea = match A.unwrap ea with @@ -1639,7 +1643,7 @@ and parameters_bis eas ebs = let {B.p_register=(hasreg,iihasreg); p_namei = idbopt; p_type=tb; } = eb in - + if idbopt =*= None && not hasreg then match tb with @@ -1659,7 +1663,7 @@ and parameters_bis eas ebs = match_metalist build_metalist mktermval special_cases parameter X.distrf_params Lib_parsing_c.ii_of_params eas ebs - + (* let split_register_param = fun (hasreg, idb, ii_b_s) -> match hasreg, idb, ii_b_s with @@ -1668,8 +1672,8 @@ and parameters_bis eas ebs = | _, None, ii -> Right ii | _ -> raise Impossible *) - - + + and parameter = fun parama paramb -> match A.unwrap parama, paramb with A.MetaParam (ida,keep,inherited), eb -> @@ -1684,7 +1688,7 @@ and parameter = fun parama paramb -> let {B.p_register = (hasreg,iihasreg); p_namei = nameidbopt; p_type = typb;} = paramb in - + fullType typa typb >>= (fun typa typb -> match idaopt, nameidbopt with | Some ida, Some nameidb -> @@ -1696,7 +1700,7 @@ and parameter = fun parama paramb -> p_namei = Some (nameidb); p_type = typb} )) - + | None, None -> return ( A.Param (typa, None)+> A.rewrap parama, @@ -1719,7 +1723,7 @@ and parameter = fun parama paramb -> | Some _, None -> fail | None, Some _ -> fail) | (A.OptParam _ | A.UniqueParam _), _ -> - failwith "not handling Opt/Unique for Param" + failwith "not handling Opt/Unique for Param" | A.Pcircles (_), ys -> raise Impossible (* in Ordered mode *) | _ -> fail @@ -3247,7 +3251,7 @@ and storage_optional_allminus allminus stoa (stob, iistob) = | i1::iistob -> let str = B.str_of_info i1 in (match str with - "static" | "extern" | "auto" | "register" -> + "static" | "extern" | "auto" | "register" -> (* not very elegant, but tokenf doesn't know what token to match with *) tokenf x i1 >>= (fun x i1 -> @@ -3292,7 +3296,7 @@ and inline_optional_allminus allminus inla (stob, iistob) = | i1::iistob -> let str = B.str_of_info i1 in (match str with - "inline" -> + "inline" -> (* not very elegant, but tokenf doesn't know what token to match with *) tokenf x i1 >>= (fun x i1 -> @@ -3342,9 +3346,8 @@ and compatible_base_type a signa b = compatible_sign signa signb | Type_cocci.LongType, B.IntType (B.Si (signb, B.CLong)) -> compatible_sign signa signb - | _, B.IntType (B.Si (signb, B.CLongLong)) -> - pr2_once "no longlong in cocci"; - fail + | Type_cocci.LongLongType, B.IntType (B.Si (signb, B.CLongLong)) -> + compatible_sign signa signb | Type_cocci.FloatType, B.FloatType B.CFloat -> assert (signa =*= None); ok diff --git a/engine/transformation_c.ml b/engine/transformation_c.ml index 32890a0..f9eeaff 100644 --- a/engine/transformation_c.ml +++ b/engine/transformation_c.ml @@ -216,6 +216,60 @@ module XTRANS = struct | None -> failwith "weird: dont have position info for the mcodekind" + (* these remove constraints, at least those that contain pcre regexps, + which cannot be compared (problem in the unparser) *) + let strip_anything anything = + let donothing r k e = k e in + let mcode mc = mc in + let ident r k e = + let e = k e in + match Ast_cocci.unwrap e with + Ast_cocci.MetaId(name,constraints,u,i) -> + Ast_cocci.rewrap e + (Ast_cocci.MetaId(name,Ast_cocci.IdNoConstraint,u,i)) + | Ast_cocci.MetaFunc(name,constraints,u,i) -> + Ast_cocci.rewrap e + (Ast_cocci.MetaFunc(name,Ast_cocci.IdNoConstraint,u,i)) + | Ast_cocci.MetaLocalFunc(name,constraints,u,i) -> + Ast_cocci.rewrap e + (Ast_cocci.MetaLocalFunc(name,Ast_cocci.IdNoConstraint,u,i)) + | _ -> e in + let expression r k e = + let e = k e in + match Ast_cocci.unwrap e with + Ast_cocci.MetaErr(name,constraints,u,i) -> + Ast_cocci.rewrap e + (Ast_cocci.MetaErr(name,Ast_cocci.NoConstraint,u,i)) + | Ast_cocci.MetaExpr(name,constraints,u,ty,form,i) -> + Ast_cocci.rewrap e + (Ast_cocci.MetaExpr(name,Ast_cocci.NoConstraint,u,ty,form,i)) + | _ -> e in + let fn = Visitor_ast.rebuilder + mcode mcode mcode mcode mcode mcode mcode mcode mcode mcode mcode mcode + donothing donothing donothing donothing donothing + ident expression donothing donothing donothing donothing + donothing donothing donothing donothing donothing donothing in + + fn.Visitor_ast.rebuilder_anything anything + + let strip_minus_code = function + Ast_cocci.REPLACEMENT(l,c) -> + Ast_cocci.REPLACEMENT(List.map (List.map strip_anything) l,c) + | Ast_cocci.NOREPLACEMENT -> Ast_cocci.NOREPLACEMENT + let strip_context_code = function + Ast_cocci.BEFORE(l,c) -> + Ast_cocci.BEFORE(List.map (List.map strip_anything) l,c) + | Ast_cocci.AFTER(l,c) -> + Ast_cocci.AFTER(List.map (List.map strip_anything) l,c) + | Ast_cocci.BEFOREAFTER(l1,l2,c) -> + Ast_cocci.BEFOREAFTER(List.map (List.map strip_anything) l1, + List.map (List.map strip_anything) l2,c) + | Ast_cocci.NOTHING -> Ast_cocci.NOTHING + let strip_mck_code = function + Ast_cocci.MINUS(p,l,a,repl) -> + Ast_cocci.MINUS(p,l,a,strip_minus_code repl) + | Ast_cocci.CONTEXT(p,ba) -> Ast_cocci.CONTEXT(p,strip_context_code ba) + | Ast_cocci.PLUS(c) -> Ast_cocci.PLUS(c) let tag_with_mck mck ib = fun tin -> @@ -257,10 +311,11 @@ module XTRANS = struct Ast_cocci.MINUS (pos,_,adj,any_xxs) -> Ast_cocci.MINUS (pos,inst,adj,any_xxs) | mck -> mck in + let mck = strip_mck_code (update_inst tin.extra.index mck) in (* clean_env actually only needed if there is an addition not sure the extra efficiency would be worth duplicating the code *) cocciinforef := - Some (update_inst tin.extra.index mck, [clean_env tin.binding]) + Some (mck, [clean_env tin.binding]) | (_, Ast_cocci.CONTEXT(_,Ast_cocci.NOTHING)) -> (* can this case occur? stay with the old stuff *) () @@ -286,7 +341,8 @@ module XTRANS = struct | (Ast_cocci.MINUS(old_pos,old_inst,old_adj,old_modif), Ast_cocci.MINUS(new_pos,new_inst,new_adj,new_modif)) when old_pos = new_pos && - old_modif = new_modif && many_minus_count old_modif -> + old_modif = strip_minus_code new_modif && + many_minus_count old_modif -> cocciinforef := Some(Ast_cocci.MINUS(old_pos,Common.union_set old_inst new_inst, @@ -296,7 +352,8 @@ module XTRANS = struct | (Ast_cocci.CONTEXT(old_pos,old_modif), Ast_cocci.CONTEXT(new_pos,new_modif)) when old_pos = new_pos && - old_modif = new_modif && many_context_count old_modif -> + old_modif = strip_context_code new_modif && + many_context_count old_modif -> (* iteration only allowed on context; no way to replace something more than once; now no need for iterable; just check a flag *) diff --git a/flag_cocci.ml b/flag_cocci.ml index b0575a9..13f369e 100644 --- a/flag_cocci.ml +++ b/flag_cocci.ml @@ -28,6 +28,7 @@ let show_cocci = ref false (* the output *) let show_diff = ref true +let force_diff = ref false (*show diff even if thhere are only space changes*) (* the derived inputs *) let show_flow = ref false diff --git a/globals/config.ml.in b/globals/config.ml.in index 61e72d7..588c9ce 100644 --- a/globals/config.ml.in +++ b/globals/config.ml.in @@ -1,4 +1,4 @@ -let version = "1.0.0-rc7" +let version = "1.0.0-rc9" let path = try (Sys.getenv "COCCINELLE_HOME") diff --git a/globals/iteration.ml b/globals/iteration.ml index 0dc76b8..5d135b6 100644 --- a/globals/iteration.ml +++ b/globals/iteration.ml @@ -48,7 +48,14 @@ let add_pending_instance (files,a,b) = pending_instances_dir := (!base_file_list,a,b) :: !pending_instances_dir | Some f -> (* if one specifies a file, it is assumed to be the current one *) - pending_instances_file := (f,a,b) :: !pending_instances_file + (* put at the end of the list of information about this file *) + let rec loop = function + [] -> [(f,a,b)] + | ((f1,a1,b1) as front)::rest -> + if f = f1 + then front :: (loop rest) + else (f,a,b) :: front :: rest in + pending_instances_file := loop !pending_instances_file let get_pending_instance _ = (if (List.length !pending_instances_file) > 0 or diff --git a/main.ml b/main.ml index b1fbdd5..2dca9d2 100644 --- a/main.ml +++ b/main.ml @@ -349,7 +349,7 @@ let short_options = [ " guess what"; "-date", Arg.Unit (fun () -> - pr2 "version: $Date: 2011/08/12 09:45:03 $"; + pr2 "version: $Date$"; raise (Common.UnixExit 0) ), " guess what"; @@ -396,6 +396,8 @@ let other_options = [ [ "-show_diff" , Arg.Set FC.show_diff, " "; "-no_show_diff" , Arg.Clear FC.show_diff, " "; + "-force_diff" , Arg.Set FC.force_diff, + "show diff even if only spacing changes"; "-show_flow" , Arg.Set FC.show_flow, " "; (* works in conjunction with -show_ctl_text *) "-ctl_inline_let", @@ -822,7 +824,7 @@ let get_files path = else [] in cpp @ ch -let main_action xs = +let rec main_action xs = let (cocci_files,xs) = List.partition (function nm -> Filename.check_suffix nm ".cocci") xs in (match (!cocci_file,cocci_files) with @@ -975,18 +977,22 @@ let main_action xs = (x,xs,cocci_infos,outfiles) | Some (files,virt_rules,virt_ids) -> if outfiles = [] or outfiles = [] or not !FC.show_diff + or !inplace_modif then begin + (if !inplace_modif then generate_outfiles outfiles x xs); Flag.defined_virtual_rules := virt_rules; Flag.defined_virtual_env := virt_ids; Common.erase_temp_files(); Common.clear_pr2_once(); + distrib_index := None; + distrib_max := None; toploop files end else begin Common.pr2 - "Transformation not compatible with iteration. Aborting."; + "Out of place transformation not compatible with iteration. Aborting.\n consider using -no_show_diff or -in_place"; (x,xs,cocci_infos,outfiles) end) in let (x,xs,cocci_infos,outfiles) = toploop xs in @@ -994,21 +1000,26 @@ let main_action xs = Cocci.post_engine cocci_infos; Common.profile_code "Main.result analysis" (fun () -> Ctlcocci_integration.print_bench(); - let outfiles = Cocci.check_duplicate_modif outfiles in - outfiles +> List.iter (fun (infile, outopt) -> - outopt +> Common.do_option (fun outfile -> - if !inplace_modif - then begin - (match !backup_suffix with - Some backup_suffix -> - Common.command2 ("cp "^infile^" "^infile^backup_suffix) - | None -> ()); - Common.command2 ("cp "^outfile^" "^infile); - end; - - if !outplace_modif - then Common.command2 ("cp "^outfile^" "^infile^".cocci_res"); - + generate_outfiles outfiles x xs; + if !compare_with_expected + then Testing.compare_with_expected outfiles) + +and generate_outfiles outfiles x (* front file *) xs (* other files *) = + let outfiles = Cocci.check_duplicate_modif outfiles in + outfiles +> List.iter (fun (infile, outopt) -> + outopt +> Common.do_option (fun outfile -> + if !inplace_modif + then begin + (match !backup_suffix with + Some backup_suffix -> + Common.command2 ("cp "^infile^" "^infile^backup_suffix) + | None -> ()); + Common.command2 ("cp "^outfile^" "^infile); + end; + + if !outplace_modif + then Common.command2 ("cp "^outfile^" "^infile^".cocci_res") + (* potential source of security pb if the /tmp/ file is * a symlink, so simpler to not produce any regular file * (files created by Common.new_temp_file are still ok) @@ -1023,21 +1034,17 @@ let main_action xs = end *) )); - if !output_file <> "" && not !compat_mode then - (match outfiles with - | [infile, Some outfile] when infile =$= x && null xs -> - Common.command2 ("cp " ^outfile^ " " ^ !output_file); - | [infile, None] when infile =$= x && null xs -> - Common.command2 ("cp " ^infile^ " " ^ !output_file); - | _ -> - failwith - ("-o can not be applied because there are multiple " ^ - "modified files"); - ); - if !compare_with_expected - then Testing.compare_with_expected outfiles) - - + if !output_file <> "" && not !compat_mode then + (match outfiles with + | [infile, Some outfile] when infile =$= x && null xs -> + Common.command2 ("cp " ^outfile^ " " ^ !output_file) + | [infile, None] when infile =$= x && null xs -> + Common.command2 ("cp " ^infile^ " " ^ !output_file) + | _ -> + failwith + ("-o can not be applied because there are multiple " ^ + "modified files")) + (*****************************************************************************) (* The coccinelle main entry point *) (*****************************************************************************) diff --git a/menhirlib/infiniteArray.ml b/menhirlib/infiniteArray.ml index 1795c14..e72f434 100644 --- a/menhirlib/infiniteArray.ml +++ b/menhirlib/infiniteArray.ml @@ -12,7 +12,7 @@ (* *) (**************************************************************************) -(* $Id: infiniteArray.ml,v 1.2 2010/01/28 14:23:47 npalix Exp $ *) +(* $Id$ *) (** This module implements infinite arrays, that is, arrays that grow transparently upon demand. *) diff --git a/ocaml/yes_prepare_ocamlcocci.ml b/ocaml/yes_prepare_ocamlcocci.ml index 73ec7b5..736f34e 100644 --- a/ocaml/yes_prepare_ocamlcocci.ml +++ b/ocaml/yes_prepare_ocamlcocci.ml @@ -252,7 +252,7 @@ let filter_dep (accld, accinc) dep = (* Coccilib is filtered out too *) | "Coccilib" | "Common" | "Ast_c" | "Visitor_c" | "Lib_parsing_c" - | "Iteration" -> + | "Iteration" | "Flag" -> (accld, accinc) | "Dbm" -> ("dbm"::accld, accinc) diff --git a/ocamlsexp/license-tywith.txt b/ocamlsexp/license-tywith.txt index d08a6c1..6a82ee3 100644 --- a/ocamlsexp/license-tywith.txt +++ b/ocamlsexp/license-tywith.txt @@ -1,26 +1,26 @@ ---------------------------------------------------------------------------- -Copyright (c) 2004 Martin Sandin -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -3. The name of the author may not be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ---------------------------------------------------------------------------- +--------------------------------------------------------------------------- +Copyright (c) 2004 Martin Sandin +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--------------------------------------------------------------------------- diff --git a/parsing_c/ast_c.ml b/parsing_c/ast_c.ml index 014ba52..e620465 100644 --- a/parsing_c/ast_c.ml +++ b/parsing_c/ast_c.ml @@ -1216,8 +1216,8 @@ let info_of_type ft = (* bugfix: because of string->name, the ii can be deeper *) let ii = get_local_ii_of_tybis_inlining_ii_of_name ty in match ii with - | ii::_ -> ii.pinfo - | [] -> failwith "type has no text; need to think again" + | ii::_ -> Some ii.pinfo + | [] -> None (* only Label and Goto have name *) let get_local_ii_of_st_inlining_ii_of_name st = diff --git a/parsing_c/lexer_c.mll b/parsing_c/lexer_c.mll index ab777cf..1feebe0 100644 --- a/parsing_c/lexer_c.mll +++ b/parsing_c/lexer_c.mll @@ -693,29 +693,29 @@ rule token = parse ('<' (letter | '$' | '~') (letter | digit | '$' | '~') * '>') ?) + { + let info = tokinfo lexbuf in + let s = tok lexbuf in if !Flag.c_plus_plus - then + then Tconstructorname (s, info) + else begin - let info = tokinfo lexbuf in - let s = tok lexbuf in - Tconstructorname (s, info) + pr2_once "~ and :: not allowed in C identifiers, try -c++ option"; + TIdent (s, info) end - else - raise - (Lexical "~ and :: not allowed in C identifiers, try -c++ option") } | ((letter | '$') (letter | digit | '$') * ) ('<' (letter | '$' | '~') (letter | digit | '$' | '~') * '>') { + let info = tokinfo lexbuf in + let s = tok lexbuf in if !Flag.c_plus_plus - then + then TypedefIdent (s, info) + else begin - let info = tokinfo lexbuf in - let s = tok lexbuf in - TypedefIdent (s, info) + pr2_once "<> detected, try -c++ option"; + TIdent (s, info) end - else raise (Lexical "<> detected, try -c++ option") } @@ -727,18 +727,20 @@ rule token = parse ('<' (letter | '$' | '~') (letter | digit | '$' | '~') * '>') ?) * { + let info = tokinfo lexbuf in + let s = tok lexbuf in if !Flag.c_plus_plus then begin - let info = tokinfo lexbuf in - let s = tok lexbuf in if first = second then Tconstructorname (s, info) else TIdent (s, info) end else - raise - (Lexical "~ and :: not allowed in C identifiers, try -c++ option") + begin + pr2_once "~ and :: not allowed in C identifiers, try -c++ option"; + TIdent (s, info) + end } | "::" ((letter | '$') (letter | digit | '$') * ) @@ -747,16 +749,12 @@ rule token = parse ('<' (letter | '$' | '~') (letter | digit | '$' | '~') * '>') ?) * { - if !Flag.c_plus_plus + let info = tokinfo lexbuf in + let s = tok lexbuf in + (if not !Flag.c_plus_plus then - begin - let info = tokinfo lexbuf in - let s = tok lexbuf in - TIdent (s, info) - end - else - raise - (Lexical "~ and :: not allowed in C identifiers, try -c++ option") + pr2_once "~ and :: not allowed in C identifiers, try -c++ option"); + TIdent (s, info) } (* ----------------------------------------------------------------------- *) diff --git a/parsing_c/parser_c.mly b/parsing_c/parser_c.mly index 6db6958..6095239 100644 --- a/parsing_c/parser_c.mly +++ b/parsing_c/parser_c.mly @@ -98,8 +98,8 @@ let addTypeD = function | ((Middle3 x,ii), ({typeD = ((a,None,c),ii2)} as v)) -> {v with typeD = (a, Some x,c),ii++ii2} - | ((Right3 t,ii), ({typeD = ((a,b,Some _),ii2)} as _v)) -> - raise (Semantic ("two or more data types", fake_pi)) + | ((Right3 t,ii), ({typeD = ((a,b,Some x),ii2)} as _v)) -> + raise (Semantic ((Printf.sprintf "two or more data types: t %s ii %s\ntypeD %s ii2 %s\n" (Dumper.dump t) (Dumper.dump ii) (Dumper.dump x) (Dumper.dump ii2)), fake_pi)) | ((Right3 t,ii), ({typeD = ((a,b,None),ii2)} as v)) -> {v with typeD = (a,b, Some t),ii++ii2} @@ -231,7 +231,7 @@ let (fixOldCDecl: fullType -> fullType) = fun ty -> | BaseType Void -> ty | _ -> - pr2 ("SEMANTIC:parameter name omitted, but I continue"); + pr2_once ("SEMANTIC:parameter name omitted, but I continue"); ty ) @@ -240,7 +240,7 @@ let (fixOldCDecl: fullType -> fullType) = fun ty -> match param with | {p_namei = None} -> (* if majuscule, then certainly macro-parameter *) - pr2 ("SEMANTIC:parameter name omitted, but I continue"); + pr2_once ("SEMANTIC:parameter name omitted, but I continue"); | _ -> () )); ty @@ -400,6 +400,7 @@ let mk_string_wrap (s,info) = (s, [info]) %token <(string * Ast_c.isWchar) * Ast_c.info> TString %token TIdent +%token TKRParam %token Tconstructorname /* parsing_hack for c++ */ /*(* appears mostly after some fix_xxx in parsing_hack *)*/ %token TypedefIdent @@ -1219,6 +1220,14 @@ parameter_type_list: parameter_decl2: + TKRParam { + let name = RegularName (mk_string_wrap $1) in + LP.add_ident (str_of_name name); + { p_namei = Some name; + p_type = mk_ty NoType []; + p_register = (false, []); + } + } | decl_spec declaratorp { let ((returnType,hasreg),iihasreg) = fixDeclSpecForParam $1 in let (name, ftyp) = $2 in diff --git a/parsing_c/parsing_hacks.ml b/parsing_c/parsing_hacks.ml index cfc2f87..f590219 100644 --- a/parsing_c/parsing_hacks.ml +++ b/parsing_c/parsing_hacks.ml @@ -81,13 +81,16 @@ let is_known_typdef = * because it would compute msg_typedef at compile time when * the flag debug_typedef is always false *) -let msg_typedef s n = +let msg_typedef s ii n = incr Stat.nTypedefInfer; msg_gen (!Flag_parsing_c.debug_typedef) is_known_typdef (fun s -> - (*pr2_cpp (Printf.sprintf "TYPEDEF: promoting(%d): %s" n s)*) - pr2_cpp (Printf.sprintf "TYPEDEF: promoting: %s" s) + pr2_cpp + (Printf.sprintf "TYPEDEF: promoting:(%d) %s on line %d" n s + (Ast_c.line_of_info ii)) + (*(Printf.sprintf "TYPEDEF: promoting: %s on line %d" s + (Ast_c.line_of_info ii))*) ) s @@ -1240,6 +1243,8 @@ let rec find_macro_lineparen xs = ::xs (* when s ==~ regexp_macro *) -> + (* This can give a false positive for K&R functions if the function + name is in the same column as the first parameter declaration. *) let condition = (col1 =|= col2 && (match other.tok with @@ -1639,8 +1644,32 @@ let pointer = function | TAnd _ when !Flag.c_plus_plus -> true | _ -> false -let lookahead2 ~pass next before = +(* This function is inefficient, because it will look over a K&R header, +or function prototype multiple times. At least when we see a , and are in a +parameter list, we know we will eventually see a close paren, and it +should come fairly soon. *) +let k_and_r l = + let l1 = drop_until (function (TCPar _) -> true | _ -> false) l in + match l1 with + (TCPar _) :: (TOCro _) :: _ -> false + | (TCPar _) :: _ -> true + | _ -> false +(* (a)(b) is ambiguous, because (a) could be a function name or a cast. +At this point, we just see an ident for a; we don't know if it is eg a local +variable. This function sees at least if b is the only argument, ie there +are no commas at top level *) +let paren_before_comma l = + let rec loop level = function + [] -> false + | (TComma _)::_ when level = 1 -> false + | (TCPar _)::_ when level = 1 -> true + | (TCPar _)::rest -> loop (level-1) rest + | (TOPar _)::rest -> loop (level+1) rest + | x::rest -> loop level rest in + loop 0 l + +let lookahead2 ~pass next before = match (next, before) with (* c++ hacks *) @@ -1673,7 +1702,7 @@ let lookahead2 ~pass next before = LP.disable_typedef(); - msg_typedef s 1; LP.add_typedef_root s; + msg_typedef s i1 1; LP.add_typedef_root s; TypedefIdent (s, i1) (* xx yy *) @@ -1682,7 +1711,7 @@ let lookahead2 ~pass next before = -> (* && not_annot s2 BUT lead to false positive*) - msg_typedef s 2; LP.add_typedef_root s; + msg_typedef s i1 2; LP.add_typedef_root s; TypedefIdent (s, i1) @@ -1690,17 +1719,24 @@ let lookahead2 ~pass next before = | (TIdent (s, i1)::Tinline i2::_ , _) when not_struct_enum before && ok_typedef s -> - msg_typedef s 3; LP.add_typedef_root s; + msg_typedef s i1 3; LP.add_typedef_root s; TypedefIdent (s, i1) (* [,(] xx [,)] AND param decl *) - | (TIdent (s, i1)::(TComma _|TCPar _)::_ , (TComma _ |TOPar _)::_ ) + | (TIdent (s, i1)::(((TComma _|TCPar _)::_) as rest) , + (TComma _ |TOPar _)::_ ) + when not_struct_enum before && (LP.current_context() =*= LP.InParameter) + && k_and_r rest + -> + TKRParam(s,i1) + + | (TIdent (s, i1)::((TComma _|TCPar _)::_) , (TComma _ |TOPar _)::_ ) when not_struct_enum before && (LP.current_context() =*= LP.InParameter) && ok_typedef s -> - msg_typedef s 4; LP.add_typedef_root s; - TypedefIdent (s, i1) + msg_typedef s i1 4; LP.add_typedef_root s; + TypedefIdent (s, i1) (* xx* [,)] *) (* specialcase: [,(] xx* [,)] *) @@ -1709,7 +1745,7 @@ let lookahead2 ~pass next before = (* && !LP._lexer_hint = Some LP.ParameterDeclaration *) && ok_typedef s -> - msg_typedef s 5; LP.add_typedef_root s; + msg_typedef s i1 5; LP.add_typedef_root s; TypedefIdent (s, i1) @@ -1720,7 +1756,7 @@ let lookahead2 ~pass next before = (* && !LP._lexer_hint = Some LP.ParameterDeclaration *) && ok_typedef s -> - msg_typedef s 6; LP.add_typedef_root s; + msg_typedef s i1 6; LP.add_typedef_root s; TypedefIdent (s, i1) @@ -1732,7 +1768,7 @@ let lookahead2 ~pass next before = && ok_typedef s -> - msg_typedef s 7; LP.add_typedef_root s; + msg_typedef s i1 7; LP.add_typedef_root s; TypedefIdent (s, i1) (* xx const *) @@ -1742,7 +1778,7 @@ let lookahead2 ~pass next before = (* && !LP._lexer_hint = Some LP.ParameterDeclaration *) -> - msg_typedef s 8; LP.add_typedef_root s; + msg_typedef s i1 8; LP.add_typedef_root s; TypedefIdent (s, i1) @@ -1753,14 +1789,14 @@ let lookahead2 ~pass next before = -> (* && !LP._lexer_hint = Some LP.ParameterDeclaration *) - msg_typedef s 9; LP.add_typedef_root s; + msg_typedef s i1 9; LP.add_typedef_root s; TypedefIdent (s, i1) (* ( const xx) *) | (TIdent (s, i1)::TCPar _::_, (Tconst _ | Tvolatile _|Trestrict _)::TOPar _::_) when ok_typedef s -> - msg_typedef s 10; LP.add_typedef_root s; + msg_typedef s i1 10; LP.add_typedef_root s; TypedefIdent (s, i1) @@ -1770,7 +1806,7 @@ let lookahead2 ~pass next before = when not_struct_enum before && ok_typedef s -> - msg_typedef s 11; LP.add_typedef_root s; + msg_typedef s i1 11; LP.add_typedef_root s; TypedefIdent (s, i1) (* [(,] xx [ AND parameterdeclaration *) @@ -1778,7 +1814,7 @@ let lookahead2 ~pass next before = when (LP.current_context() =*= LP.InParameter) && ok_typedef s -> - msg_typedef s 12; LP.add_typedef_root s; + msg_typedef s i1 12; LP.add_typedef_root s; TypedefIdent (s, i1) (*------------------------------------------------------------*) @@ -1791,7 +1827,7 @@ let lookahead2 ~pass next before = (Tregister _|Tstatic _ |Tvolatile _|Tconst _|Trestrict _)::_) when pointer ptr && ok_typedef s -> - msg_typedef s 13; LP.add_typedef_root s; + msg_typedef s i1 13; LP.add_typedef_root s; TypedefIdent (s, i1) (* TODO xx * yy ; AND in start of compound element *) @@ -1803,7 +1839,7 @@ let lookahead2 ~pass next before = && pointer ptr && ok_typedef s -> - msg_typedef s 14; LP.add_typedef_root s; + msg_typedef s i1 14; LP.add_typedef_root s; TypedefIdent (s, i1) @@ -1814,7 +1850,7 @@ let lookahead2 ~pass next before = when not_struct_enum before && pointer ptr && (LP.is_top_or_struct (LP.current_context ())) -> - msg_typedef s 15; LP.add_typedef_root s; + msg_typedef s i1 15; LP.add_typedef_root s; TypedefIdent (s, i1) (* xx * yy , AND in Toplevel *) @@ -1823,7 +1859,7 @@ let lookahead2 ~pass next before = && ok_typedef s && pointer ptr -> - msg_typedef s 16; LP.add_typedef_root s; + msg_typedef s i1 16; LP.add_typedef_root s; TypedefIdent (s, i1) (* xx * yy ( AND in Toplevel *) @@ -1832,7 +1868,7 @@ let lookahead2 ~pass next before = && (LP.is_top_or_struct (LP.current_context ())) && ok_typedef s && pointer ptr -> - msg_typedef s 17; LP.add_typedef_root s; + msg_typedef s i1 17; LP.add_typedef_root s; TypedefIdent (s, i1) (* xx * yy [ *) @@ -1842,7 +1878,7 @@ let lookahead2 ~pass next before = (LP.is_top_or_struct (LP.current_context ())) && ok_typedef s && pointer ptr -> - msg_typedef s 18; LP.add_typedef_root s; + msg_typedef s i1 18; LP.add_typedef_root s; TypedefIdent (s, i1) (* u16: 10; in struct *) @@ -1850,7 +1886,7 @@ let lookahead2 ~pass next before = when (LP.is_top_or_struct (LP.current_context ())) && ok_typedef s -> - msg_typedef s 19; LP.add_typedef_root s; + msg_typedef s i1 19; LP.add_typedef_root s; TypedefIdent (s, i1) @@ -1872,7 +1908,7 @@ let lookahead2 ~pass next before = when not_struct_enum before && ok_typedef s && pointer ptr -> - msg_typedef s 21; LP.add_typedef_root s; + msg_typedef s i1 21; LP.add_typedef_root s; TypedefIdent (s, i1) @@ -1881,7 +1917,7 @@ let lookahead2 ~pass next before = when not_struct_enum before && (LP.current_context () =*= LP.InParameter) && ok_typedef s && pointer ptr -> - msg_typedef s 22; LP.add_typedef_root s; + msg_typedef s i1 22; LP.add_typedef_root s; TypedefIdent (s, i1) @@ -1890,7 +1926,7 @@ let lookahead2 ~pass next before = (TOBrace _| TPtVirg _)::_) when not_struct_enum before && ok_typedef s & pointer ptr -> - msg_typedef s 23; LP.add_typedef_root s; + msg_typedef s i1 23; LP.add_typedef_root s; msg_maybe_dangereous_typedef s; TypedefIdent (s, i1) @@ -1900,7 +1936,7 @@ let lookahead2 ~pass next before = (TOBrace _| TPtVirg _)::_) when ok_typedef s && pointer ptr -> - msg_typedef s 24; LP.add_typedef_root s; + msg_typedef s i1 24; LP.add_typedef_root s; TypedefIdent (s, i1) @@ -1910,7 +1946,7 @@ let lookahead2 ~pass next before = (* struct user_info_t sometimes *) && ok_typedef s && pointer ptr -> - msg_typedef s 25; LP.add_typedef_root s; + msg_typedef s i1 25; LP.add_typedef_root s; TypedefIdent (s, i1) (* xx ** yy *) (* wrong ? *) @@ -1919,7 +1955,7 @@ let lookahead2 ~pass next before = (* && !LP._lexer_hint = Some LP.ParameterDeclaration *) && ok_typedef s -> - msg_typedef s 26; LP.add_typedef_root s; + msg_typedef s i1 26; LP.add_typedef_root s; TypedefIdent (s, i1) (* xx *** yy *) @@ -1928,7 +1964,7 @@ let lookahead2 ~pass next before = && ok_typedef s (* && !LP._lexer_hint = Some LP.ParameterDeclaration *) -> - msg_typedef s 27; LP.add_typedef_root s; + msg_typedef s i1 27; LP.add_typedef_root s; TypedefIdent (s, i1) (* xx ** ) *) @@ -1937,7 +1973,7 @@ let lookahead2 ~pass next before = (* && !LP._lexer_hint = Some LP.ParameterDeclaration *) && ok_typedef s -> - msg_typedef s 28; LP.add_typedef_root s; + msg_typedef s i1 28; LP.add_typedef_root s; TypedefIdent (s, i1) @@ -1957,7 +1993,7 @@ let lookahead2 ~pass next before = && ok_typedef s -> - msg_typedef s 29; LP.add_typedef_root s; + msg_typedef s i1 29; LP.add_typedef_root s; (*TOPar info*) TypedefIdent (s, i1) @@ -1975,11 +2011,11 @@ let lookahead2 ~pass next before = TypedefIdent (s, i1) *) (* special case: = (xx) ( yy) *) - | (TIdent (s, i1)::TCPar _::TOPar _::_ , + | (TIdent (s, i1)::TCPar _::((TOPar _::_) as rest) , (TOPar info)::(TEq _ |TEqEq _)::_) - when ok_typedef s + when ok_typedef s && paren_before_comma rest -> - msg_typedef s 31; LP.add_typedef_root s; + msg_typedef s i1 31; LP.add_typedef_root s; (* TOPar info *) TypedefIdent (s, i1) @@ -1988,7 +2024,7 @@ let lookahead2 ~pass next before = | (TIdent (s, i1)::ptr::TCPar _::TIdent (s2, i2)::_ , (TOPar info)::_) when ok_typedef s && pointer ptr -> - msg_typedef s 32; LP.add_typedef_root s; + msg_typedef s i1 32; LP.add_typedef_root s; (*TOPar info*) TypedefIdent (s,i1) @@ -1998,7 +2034,7 @@ let lookahead2 ~pass next before = when (*s ==~ regexp_typedef && *) not (TH.is_stuff_taking_parenthized x) && ok_typedef s -> - msg_typedef s 33; LP.add_typedef_root s; + msg_typedef s i1 33; LP.add_typedef_root s; TypedefIdent (s, i1) @@ -2015,7 +2051,7 @@ let lookahead2 ~pass next before = when not_struct_enum before && ok_typedef s -> - msg_typedef s 34; LP.add_typedef_root s; + msg_typedef s i1 34; LP.add_typedef_root s; TypedefIdent (s, i1) (* x* ( *y )(params), function pointer 2 *) @@ -2023,7 +2059,7 @@ let lookahead2 ~pass next before = when not_struct_enum before && ok_typedef s -> - msg_typedef s 35; LP.add_typedef_root s; + msg_typedef s i1 35; LP.add_typedef_root s; TypedefIdent (s, i1) diff --git a/parsing_c/pretty_print_c.ml b/parsing_c/pretty_print_c.ml index 4abdc7c..aeaf84d 100644 --- a/parsing_c/pretty_print_c.ml +++ b/parsing_c/pretty_print_c.ml @@ -658,7 +658,7 @@ let mk_pretty_printers match ty, iity with (* the work is to do in base_type !! *) - | (NoType _, iis) -> failwith "printing notype" + | (NoType _, iis) -> () | (BaseType _, iis) -> print_ident ident | (Enum (sopt, enumt), iis) -> print_ident ident | (StructUnion (_, sopt, fields),iis) -> print_ident ident diff --git a/parsing_c/token_helpers.ml b/parsing_c/token_helpers.ml index a8ecfa3..598a77a 100644 --- a/parsing_c/token_helpers.ml +++ b/parsing_c/token_helpers.ml @@ -189,6 +189,7 @@ let is_stuff_taking_parenthized = function (* used in the algorithms for "10 most problematic errors" *) let is_ident_like = function | TIdent _ + | TKRParam _ | TypedefIdent _ | TIdentDefine _ | TDefParamVariadic _ @@ -222,6 +223,7 @@ let info_of_tok = function | TAssign (assignOp, i) -> i | TIdent (s, i) -> i + | TKRParam (s, i) -> i | Tconstructorname (s, i) -> i | TypedefIdent (s, i) -> i @@ -375,6 +377,7 @@ let visitor_info_of_tok f = function | TAssign (assignOp, i) -> TAssign (assignOp, f i) | TIdent (s, i) -> TIdent (s, f i) + | TKRParam(s, i) -> TKRParam(s, f i) | Tconstructorname(s, i) -> Tconstructorname (s, f i) | TypedefIdent (s, i) -> TypedefIdent (s, f i) | TInt (s, i) -> TInt (s, f i) diff --git a/parsing_c/type_annoter_c.ml b/parsing_c/type_annoter_c.ml index 46d3abd..a8dc275 100644 --- a/parsing_c/type_annoter_c.ml +++ b/parsing_c/type_annoter_c.ml @@ -838,7 +838,6 @@ let annotater_expr_visitor_subpart = (fun (k,bigf) expr -> (* fields *) | RecordAccess (e, namefld) | RecordPtAccess (e, namefld) as x -> - let fld = Ast_c.str_of_name namefld in k expr; (* recurse to set the types-ref of sub expressions *) @@ -1097,8 +1096,17 @@ let rec visit_toplevel ~just_add_in_env ~depth elem = match (sto,local) with | (_,Ast_c.NotLocalDecl) -> Ast_c.NotLocalVar | ((Ast_c.Sto Ast_c.Static, _), Ast_c.LocalDecl) -> - Ast_c.StaticLocalVar (Ast_c.info_of_type t) - | (_,Ast_c.LocalDecl) -> Ast_c.LocalVar (Ast_c.info_of_type t) + (match Ast_c.info_of_type t with + (* if there is no info about the type it must not be + present, so we don't know what the variable is *) + None -> Ast_c.NotLocalVar + | Some ii -> Ast_c.StaticLocalVar ii) + | (_,Ast_c.LocalDecl) -> + (match Ast_c.info_of_type t with + (* if there is no info about the type it must not be + present, so we don't know what the variable is *) + None -> Ast_c.NotLocalVar + | Some ii -> Ast_c.LocalVar ii) in var +> Common.do_option (fun (name, iniopt) -> let s = Ast_c.str_of_name name in @@ -1211,7 +1219,14 @@ let rec visit_toplevel ~just_add_in_env ~depth elem = match nameopt with | Some name -> let s = Ast_c.str_of_name name in - let local = Ast_c.LocalVar (Ast_c.info_of_type t) in + let local = + (match Ast_c.info_of_type t with + (* if there is no info about the type it must + not be present, so we don't know what the + variable is *) + None -> Ast_c.NotLocalVar + | Some ii -> Ast_c.LocalVar ii) + in add_binding (VarOrFunc (s,(Lib.al_type t,local))) true | None -> pr2 "no type, certainly because Void type ?" diff --git a/parsing_c/type_c.ml b/parsing_c/type_c.ml index 97b0f7b..250b18e 100644 --- a/parsing_c/type_c.ml +++ b/parsing_c/type_c.ml @@ -406,7 +406,8 @@ let lub op t1 t2 = Some t1 | Ast_c.Minus,Ast_c.BaseType(Ast_c.IntType _),Ast_c.Pointer _ -> Some t2 - | Ast_c.Minus,Ast_c.Pointer _,Ast_c.Pointer _ -> + | Ast_c.Minus,(Ast_c.Pointer _ | Ast_c.Array _), + (Ast_c.Pointer _ | Ast_c.Array _) -> Some ptr_diff_type (* todo, Pointer, Typedef, etc *) | _, _, _ -> Some t1 @@ -417,8 +418,6 @@ let lub op t1 t2 = | None -> None, Ast_c.NotTest | Some ft -> Some (ft, Ast_c.NotLocalVar), Ast_c.NotTest - - (*****************************************************************************) (* type lookup *) (*****************************************************************************) diff --git a/parsing_c/unparse_c.ml b/parsing_c/unparse_c.ml index 5c7bbb5..d4c54b7 100644 --- a/parsing_c/unparse_c.ml +++ b/parsing_c/unparse_c.ml @@ -1049,11 +1049,24 @@ let rec adjust_indentation xs = | _ -> balanced ct xs) | x::xs -> balanced ct xs in + let update_tabbing started s x = + let old_tabbing = !_current_tabbing in + str_of_token2 x +> new_tabbing +> (fun s -> _current_tabbing := [s]); + (* only trust the indentation after the first { *) + if started + then + adjust_tabbing_unit + (String.concat "" old_tabbing) + (String.concat "" !_current_tabbing) in + let rec aux started xs = match xs with | [] -> [] (* patch: coccinelle *) - | (T2 (Parser_c.TCommentNewline _,_,_))::Unindent_cocci2(false)::xs + | ((T2 (Parser_c.TCommentNewline s,_,_)) as x):: + Unindent_cocci2(false)::xs -> + update_tabbing started s x; + (C2 "\n")::aux started xs | (Cocci2("\n",_,_,_,_))::Unindent_cocci2(false)::xs -> (C2 "\n")::aux started xs | ((T2 (tok,_,_)) as x)::(T2 (Parser_c.TCommentNewline s, _, _)):: @@ -1062,15 +1075,9 @@ let rec adjust_indentation xs = (* to be done for if, etc, but not for a function header *) x::(C2 " ")::a::(aux started xs) | ((T2 (Parser_c.TCommentNewline s, _, _)) as x)::xs - when balanced 0 (fst(Common.span (function x -> not(is_newline x)) xs)) -> - let old_tabbing = !_current_tabbing in - str_of_token2 x +> new_tabbing +> (fun s -> _current_tabbing := [s]); - (* only trust the indentation after the first { *) - (if started - then - adjust_tabbing_unit - (String.concat "" old_tabbing) - (String.concat "" !_current_tabbing)); + when + balanced 0 (fst(Common.span (function x -> not(is_newline x)) xs)) -> + update_tabbing started s x; let coccis_rest = Common.span all_coccis xs in (match coccis_rest with (_::_,((T2 (tok,_,_)) as y)::_) when str_of_token2 y =$= "}" -> diff --git a/parsing_cocci/ast0_cocci.ml b/parsing_cocci/ast0_cocci.ml index 29d61b0..b807f37 100644 --- a/parsing_cocci/ast0_cocci.ml +++ b/parsing_cocci/ast0_cocci.ml @@ -54,7 +54,8 @@ type info = { pos_info : position_info; mcode_start : mcodekind list; mcode_end : mcodekind list; (* the following are only for + code *) strings_before : (Ast.added_string * position_info) list; - strings_after : (Ast.added_string * position_info) list } + strings_after : (Ast.added_string * position_info) list; + isSymbolIdent : bool; (* is the token a symbol identifier or not *) } (* adjacency index is incremented when we skip over dots or nest delimiters it is used in deciding how much to remove, when two adjacent code tokens are @@ -429,6 +430,17 @@ and parsed_rule = (* --------------------------------------------------------------------- *) +and dependency = + Dep of string (* rule applies for the current binding *) + | AntiDep of dependency (* rule doesn't apply for the current binding *) + | EverDep of string (* rule applies for some binding *) + | NeverDep of string (* rule never applies for any binding *) + | AndDep of dependency * dependency + | OrDep of dependency * dependency + | NoDep | FailDep + +(* --------------------------------------------------------------------- *) + and anything = DotsExprTag of expression dots | DotsInitTag of initialiser dots @@ -480,7 +492,7 @@ let default_info _ = (* why is this a function? *) { pos_info = pos_info; attachable_start = true; attachable_end = true; mcode_start = []; mcode_end = []; - strings_before = []; strings_after = [] } + strings_before = []; strings_after = []; isSymbolIdent = false; } let default_befaft _ = MIXED(ref (Ast.NOTHING,default_token_info,default_token_info)) diff --git a/parsing_cocci/ast0_cocci.mli b/parsing_cocci/ast0_cocci.mli index a2724ab..aed4167 100644 --- a/parsing_cocci/ast0_cocci.mli +++ b/parsing_cocci/ast0_cocci.mli @@ -49,7 +49,8 @@ type info = { pos_info : position_info; mcode_start : mcodekind list; mcode_end : mcodekind list; (* the following are only for + code *) strings_before : (Ast_cocci.added_string * position_info) list; - strings_after : (Ast_cocci.added_string * position_info) list } + strings_after : (Ast_cocci.added_string * position_info) list; + isSymbolIdent : bool; (* is the token a symbol identifier or not *) } type 'a mcode = 'a * arity * info * mcodekind * meta_pos list ref (* pos, - only *) * @@ -422,6 +423,17 @@ and parsed_rule = (* --------------------------------------------------------------------- *) +and dependency = + Dep of string (* rule applies for the current binding *) + | AntiDep of dependency (* rule doesn't apply for the current binding *) + | EverDep of string (* rule applies for some binding *) + | NeverDep of string (* rule never applies for any binding *) + | AndDep of dependency * dependency + | OrDep of dependency * dependency + | NoDep | FailDep + +(* --------------------------------------------------------------------- *) + and anything = DotsExprTag of expression dots | DotsInitTag of initialiser dots diff --git a/parsing_cocci/ast0toast.ml b/parsing_cocci/ast0toast.ml index c6fa642..17534a1 100644 --- a/parsing_cocci/ast0toast.ml +++ b/parsing_cocci/ast0toast.ml @@ -273,7 +273,8 @@ let convert_info info = { Ast.line = info.Ast0.pos_info.Ast0.line_start; Ast.column = info.Ast0.pos_info.Ast0.column; Ast.strbef = strings_to_s info.Ast0.strings_before; - Ast.straft = strings_to_s info.Ast0.strings_after;} + Ast.straft = strings_to_s info.Ast0.strings_after; + } let convert_mcodekind adj = function Ast0.MINUS(replacements) -> @@ -641,7 +642,7 @@ and strip_idots initlist = | Ast0.Idots(dots,None) -> let (restwhen,restinit,dotinfo) = loop rest in (restwhen, restinit, (isminus dots)::dotinfo) - | _ -> + | _ -> let (restwhen,restinit,dotinfo) = loop rest in (restwhen,x::restinit,dotinfo)) in loop l in diff --git a/parsing_cocci/ast_cocci.ml b/parsing_cocci/ast_cocci.ml index 3f0b751..bf43265 100644 --- a/parsing_cocci/ast_cocci.ml +++ b/parsing_cocci/ast_cocci.ml @@ -209,7 +209,7 @@ and base_expression = | DisjExpr of expression list | NestExpr of string mcode (* <.../<+... *) * expression dots * - string mcode (* ...>/...+> *) * + string mcode (* ...>/...+> *) * expression option * multi (* can appear in arg lists, and also inside Nest, as in: @@ -511,7 +511,7 @@ and base_statement = | Atomic of rule_elem | Disj of statement dots list | Nest of string mcode (* <.../<+... *) * statement dots * - string mcode (* ...>/...+> *) * + string mcode (* ...>/...+> *) * (statement dots,statement) whencode list * multi * dots_whencode list * dots_whencode list | FunDecl of rule_elem (* header *) * rule_elem (* { *) * diff --git a/parsing_cocci/ast_cocci.mli b/parsing_cocci/ast_cocci.mli index dc86454..4749c04 100644 --- a/parsing_cocci/ast_cocci.mli +++ b/parsing_cocci/ast_cocci.mli @@ -194,7 +194,7 @@ and base_expression = | DisjExpr of expression list | NestExpr of string mcode (* <.../<+... *) * expression dots * - string mcode (* ...>/...+> *) * + string mcode (* ...>/...+> *) * expression option * multi (* can appear in arg lists, and also inside Nest, as in: @@ -488,7 +488,7 @@ and base_statement = | Atomic of rule_elem | Disj of statement dots list | Nest of string mcode (* <.../<+... *) * statement dots * - string mcode (* ...>/...+> *) * + string mcode (* ...>/...+> *) * (statement dots,statement) whencode list * multi * dots_whencode list * dots_whencode list | FunDecl of rule_elem (* header *) * rule_elem (* { *) * diff --git a/parsing_cocci/check_meta.ml b/parsing_cocci/check_meta.ml index c2ec45c..1435fdf 100644 --- a/parsing_cocci/check_meta.ml +++ b/parsing_cocci/check_meta.ml @@ -102,7 +102,7 @@ let rec ident context old_metas table minus i = else false in (match context with ID -> - if not (is_ifdef name) && minus && not err(* warn only once per id *) + if not (is_ifdef name) && minus && not err(* warn only once per id *) && not info.Ast0.isSymbolIdent then warning (Printf.sprintf "line %d: should %s be a metavariable?" rl name) @@ -126,7 +126,7 @@ and seed table minus = function Ast.SeedString _ -> () | Ast.SeedId name -> check_table table minus (promote name)) elems - + (* --------------------------------------------------------------------- *) (* Expression *) diff --git a/parsing_cocci/compute_lines.ml b/parsing_cocci/compute_lines.ml index a4a66e3..4f6e3a2 100644 --- a/parsing_cocci/compute_lines.ml +++ b/parsing_cocci/compute_lines.ml @@ -55,7 +55,8 @@ let mkres x e left right = Ast0.mcode_start = lstart.Ast0.mcode_start; Ast0.mcode_end = lend.Ast0.mcode_end; (* only for tokens, not inherited upwards *) - Ast0.strings_before = []; Ast0.strings_after = [] } in + Ast0.strings_before = []; Ast0.strings_after = []; + Ast0.isSymbolIdent = false; } in {x with Ast0.node = e; Ast0.info = info} (* This looks like it is there to allow distribution of plus code @@ -87,7 +88,8 @@ let mkmultires x e left right (astart,start_mcodes) (aend,end_mcodes) = Ast0.mcode_start = start_mcodes; Ast0.mcode_end = end_mcodes; (* only for tokens, not inherited upwards *) - Ast0.strings_before = []; Ast0.strings_after = [] } in + Ast0.strings_before = []; Ast0.strings_after = []; + Ast0.isSymbolIdent = false; } in {x with Ast0.node = e; Ast0.info = info} (* --------------------------------------------------------------------- *) diff --git a/parsing_cocci/data.ml b/parsing_cocci/data.ml index b741f4c..f61a5fb 100644 --- a/parsing_cocci/data.ml +++ b/parsing_cocci/data.ml @@ -152,6 +152,9 @@ let add_field_list_meta: (Ast.meta_name -> Ast.list_len -> Ast0.pure -> unit) ref = ref (fun _ -> failwith "uninitialized add_meta") +let add_symbol_meta: (string -> 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 0204cd0..41de420 100644 --- a/parsing_cocci/data.mli +++ b/parsing_cocci/data.mli @@ -116,6 +116,8 @@ 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_symbol_meta: (string -> unit) ref + val add_field_list_meta: (Ast_cocci.meta_name -> Ast_cocci.list_len -> Ast0_cocci.pure -> unit) ref diff --git a/parsing_cocci/function_prototypes.ml b/parsing_cocci/function_prototypes.ml index 2f2225a..257e0ca 100644 --- a/parsing_cocci/function_prototypes.ml +++ b/parsing_cocci/function_prototypes.ml @@ -153,18 +153,19 @@ and strip = ref [],-1) in (* need a case for everything that has an unvisited component and can be in - a function prototype *) + a function prototype. Also get rid of constraints because pcre + constraints cannot be compared. *) let ident r k e = donothing r k (Ast0.rewrap e (match Ast0.unwrap e with Ast0.MetaId(nm,constraints,seed,pure) -> - Ast0.MetaId(nm,constraints,seed,Ast0.Pure) + Ast0.MetaId(nm,Ast.IdNoConstraint,seed,Ast0.Pure) | Ast0.MetaFunc(nm,constraints,pure) -> - Ast0.MetaFunc(nm,constraints,Ast0.Pure) + Ast0.MetaFunc(nm,Ast.IdNoConstraint,Ast0.Pure) | Ast0.MetaLocalFunc(nm,constraints,pure) -> - Ast0.MetaLocalFunc(nm,constraints,Ast0.Pure) + Ast0.MetaLocalFunc(nm,Ast.IdNoConstraint,Ast0.Pure) | e -> e)) in let typeC r k e = diff --git a/parsing_cocci/iso_pattern.ml b/parsing_cocci/iso_pattern.ml index 469254f..0aec0b1 100644 --- a/parsing_cocci/iso_pattern.ml +++ b/parsing_cocci/iso_pattern.ml @@ -298,7 +298,7 @@ let rec is_pure_context s = | _ -> false) | Ast0.MINUS(mc) -> (match !mc with - (* do better for the common case of replacing a stmt by another one *) + (* do better for the common case of replacing a stmt by another one *) (Ast.REPLACEMENT([[Ast.StatementTag(s)]],_),_) -> (match Ast.unwrap s with Ast.IfThen(_,_,_) -> false (* potentially dangerous *) @@ -325,7 +325,7 @@ let match_maker checks_needed context_required whencode_allowed = if checks_needed then match Ast0.get_pos cmc with - [(Ast0.MetaPos (name,_,_)) as x] -> + [(Ast0.MetaPos (name,_,_)) as x] -> (match Ast0.get_pos pmc with [Ast0.MetaPos (name1,_,_)] -> add_binding name1 (Ast0.MetaPosTag x) binding @@ -599,7 +599,7 @@ let match_maker checks_needed context_required whencode_allowed = attempts then (* not sure why this is ok. can there be more - than one OK? *) + than one OK? *) OK (List.concat (List.map (function Fail _ -> [] | OK x -> x) @@ -715,9 +715,9 @@ let match_maker checks_needed context_required whencode_allowed = check_mcode szf1 szf; match_typeC tya tyb] | (Ast0.Constructor(lp1,tya,rp1,inita), Ast0.Constructor(lp,tyb,rp,initb)) -> - conjunct_many_bindings - [check_mcode lp1 lp; check_mcode rp1 rp; - match_typeC tya tyb; match_init inita initb] + conjunct_many_bindings + [check_mcode lp1 lp; check_mcode rp1 rp; + match_typeC tya tyb; match_init inita initb] | (Ast0.TypeExp(tya),Ast0.TypeExp(tyb)) -> match_typeC tya tyb | (Ast0.EComma(cm1),Ast0.EComma(cm)) -> check_mcode cm1 cm @@ -807,8 +807,8 @@ let match_maker checks_needed context_required whencode_allowed = match_typeC tya tyb; match_option match_expr sizea sizeb] | (Ast0.EnumName(kinda,Some namea), Ast0.EnumName(kindb,Some nameb)) -> - conjunct_bindings (check_mcode kinda kindb) - (match_ident namea nameb) + conjunct_bindings (check_mcode kinda kindb) + (match_ident namea nameb) | (Ast0.EnumDef(tya,lb1,idsa,rb1), Ast0.EnumDef(tyb,lb,idsb,rb)) -> conjunct_many_bindings @@ -909,7 +909,7 @@ let match_maker checks_needed context_required whencode_allowed = 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) -> @@ -1049,7 +1049,7 @@ let match_maker checks_needed context_required whencode_allowed = single_statement can't deal with this case, perhaps because it starts introducing too many braces? don't remember the exact problem... - *) + *) conjunct_bindings (check_mcode lb1 lb) (conjunct_bindings (check_mcode rb1 rb) (if not(checks_needed) or is_minus s or @@ -1137,7 +1137,7 @@ let match_maker checks_needed context_required whencode_allowed = then (match wc with [] -> - (* not sure this is correct, perhaps too restrictive *) + (* not sure this is correct, perhaps too restrictive *) if not(checks_needed) or is_minus s or (is_context s && List.for_all is_pure_context (Ast0.undots stmt_dotsb)) @@ -1316,13 +1316,13 @@ let make_minus = let mcodekind = Ast0.get_mcodekind_ref e in match Ast0.unwrap e with Ast0.Edots(d,whencode) -> - (*don't recurse because whencode hasn't been processed by context_neg*) + (*don't recurse because whencode hasn't been processed by context_neg*) update_mc mcodekind e; Ast0.rewrap e (Ast0.Edots(mcode d,whencode)) | Ast0.Ecircles(d,whencode) -> - (*don't recurse because whencode hasn't been processed by context_neg*) + (*don't recurse because whencode hasn't been processed by context_neg*) update_mc mcodekind e; Ast0.rewrap e (Ast0.Ecircles(mcode d,whencode)) | Ast0.Estars(d,whencode) -> - (*don't recurse because whencode hasn't been processed by context_neg*) + (*don't recurse because whencode hasn't been processed by context_neg*) update_mc mcodekind e; Ast0.rewrap e (Ast0.Estars(mcode d,whencode)) | Ast0.NestExpr(starter,expr_dots,ender,whencode,multi) -> update_mc mcodekind e; @@ -1336,7 +1336,7 @@ let make_minus = let mcodekind = Ast0.get_mcodekind_ref e in match Ast0.unwrap e with Ast0.Ddots(d,whencode) -> - (*don't recurse because whencode hasn't been processed by context_neg*) + (*don't recurse because whencode hasn't been processed by context_neg*) update_mc mcodekind e; Ast0.rewrap e (Ast0.Ddots(mcode d,whencode)) | _ -> donothing r k e in @@ -1344,7 +1344,7 @@ let make_minus = let mcodekind = Ast0.get_mcodekind_ref e in match Ast0.unwrap e with Ast0.Dots(d,whencode) -> - (*don't recurse because whencode hasn't been processed by context_neg*) + (*don't recurse because whencode hasn't been processed by context_neg*) update_mc mcodekind e; Ast0.rewrap e (Ast0.Dots(mcode d,whencode)) | Ast0.Circles(d,whencode) -> update_mc mcodekind e; Ast0.rewrap e (Ast0.Circles(mcode d,whencode)) @@ -1362,7 +1362,7 @@ let make_minus = let mcodekind = Ast0.get_mcodekind_ref e in match Ast0.unwrap e with Ast0.Idots(d,whencode) -> - (*don't recurse because whencode hasn't been processed by context_neg*) + (*don't recurse because whencode hasn't been processed by context_neg*) update_mc mcodekind e; Ast0.rewrap e (Ast0.Idots(mcode d,whencode)) | _ -> donothing r k e in @@ -1416,7 +1416,7 @@ let rebuild_mcode start_line = | Ast0.PLUS count -> (* this function is used elsewhere where we need to rebuild the indices, and so we allow PLUS code as well *) - Ast0.PLUS count in + Ast0.PLUS count in let mcode (term,arity,info,mcodekind,pos,adj) = let info = @@ -1534,7 +1534,7 @@ let lookup name bindings mv_bindings = Common.Right (List.assoc (term name) mv_bindings) (* mv_bindings is for the fresh metavariables that are introduced by the -isomorphism *) + isomorphism *) let instantiate bindings mv_bindings = let mcode x = let pos_names = @@ -1595,13 +1595,13 @@ let instantiate bindings mv_bindings = Ast0.MetaParamList(name,lenname,pure) -> failwith "meta_param_list in iso not supported" (*match lookup name bindings mv_bindings with - Common.Left(Ast0.DotsParamTag(param)) -> + Common.Left(Ast0.DotsParamTag(param)) -> (match same_dots param with - Some l -> l + Some l -> l | None -> failwith "dots put in incompatible context") - | Common.Left(Ast0.ParamTag(param)) -> [param] - | Common.Left(_) -> failwith "not possible 1" - | Common.Right(new_mv) -> + | Common.Left(Ast0.ParamTag(param)) -> [param] + | Common.Left(_) -> failwith "not possible 1" + | Common.Right(new_mv) -> failwith "MetaExprList in SP not supported"*) | _ -> [r.VT0.rebuilder_rec_parameter x]) | x::xs -> (r.VT0.rebuilder_rec_parameter x)::(plist r same_dots xs) in @@ -1654,7 +1654,8 @@ let instantiate bindings mv_bindings = let rec renamer = function Type_cocci.MetaType(name,keep,inherited) -> (match - lookup (name,(),(),(),None,-1) bindings mv_bindings + lookup (name,(),(),(),None,-1) + bindings mv_bindings with Common.Left(Ast0.TypeCTag(t)) -> Ast0.ast0_type_to_type t @@ -1712,9 +1713,9 @@ let instantiate bindings mv_bindings = surely has no + code) *) match (newop,oldop) with (Ast0.MINUS(x1),Ast0.MINUS(x2)) -> nomodif oldop - | (Ast0.CONTEXT(x1),Ast0.CONTEXT(x2)) -> nomodif oldop - | (Ast0.MIXED(x1),Ast0.MIXED(x2)) -> nomodif oldop - | _ -> false in + | (Ast0.CONTEXT(x1),Ast0.CONTEXT(x2)) -> nomodif oldop + | (Ast0.MIXED(x1),Ast0.MIXED(x2)) -> nomodif oldop + | _ -> false in if was_meta then let idcont x = x in @@ -1977,7 +1978,7 @@ let merge_plus model_mcode e_mcode = | (Ast.BEFOREAFTER(b,a1,it1),Ast.AFTER(a2,it2)) -> Ast.BEFOREAFTER(b,a2@a1,Ast.lub_count it1 it2) | (Ast.BEFOREAFTER(b1,a1,it1),Ast.BEFOREAFTER(b2,a2,it2)) -> - Ast.BEFOREAFTER(b1@b2,a2@a1,Ast.lub_count it1 it2) in + Ast.BEFOREAFTER(b1@b2,a2@a1,Ast.lub_count it1 it2) in emc := (merged,tb,ta) | Ast0.MINUS(emc) -> let (anything_bef_aft,_,_) = !mc in @@ -2240,7 +2241,8 @@ let disj_starter lst = { Ast0.pos_info = new_pos_info; Ast0.attachable_start = false; Ast0.attachable_end = false; Ast0.mcode_start = []; Ast0.mcode_end = []; - Ast0.strings_before = []; Ast0.strings_after = [] } in + Ast0.strings_before = []; Ast0.strings_after = []; + Ast0.isSymbolIdent = false; } in Ast0.make_mcode_info "(" info let disj_ender lst = @@ -2253,7 +2255,8 @@ let disj_ender lst = { Ast0.pos_info = new_pos_info; Ast0.attachable_start = false; Ast0.attachable_end = false; Ast0.mcode_start = []; Ast0.mcode_end = []; - Ast0.strings_before = []; Ast0.strings_after = [] } in + Ast0.strings_before = []; Ast0.strings_after = []; + Ast0.isSymbolIdent = false; } in Ast0.make_mcode_info ")" info let disj_mid _ = Ast0.make_mcode "|" @@ -2349,9 +2352,9 @@ let transform_expr (metavars,alts,name) e = (rebuild_mcode start_line).VT0.rebuilder_rec_expression name Unparse_ast0.expression extra_copy_other_plus update_others (function x -> - match Ast0.unwrap x with - Ast0.MetaExpr _ | Ast0.MetaExprList _ | Ast0.MetaErr _ -> false - | _ -> true) + match Ast0.unwrap x with + Ast0.MetaExpr _ | Ast0.MetaExprList _ | Ast0.MetaErr _ -> false + | _ -> true) in match alts with (Ast0.ExprTag(_)::r)::rs -> @@ -2445,7 +2448,7 @@ let transform_top (metavars,alts,name) e = let (count,mv,res) = match alts with (Ast0.DotsStmtTag(_)::_)::_ -> - (* start line is given to any leaves in the iso code *) + (* start line is given to any leaves in the iso code *) let start_line = Some ((Ast0.get_info e).Ast0.pos_info.Ast0.line_start) in let alts = diff --git a/parsing_cocci/lexer_cocci.mll b/parsing_cocci/lexer_cocci.mll index 3631a07..36bfcf5 100644 --- a/parsing_cocci/lexer_cocci.mll +++ b/parsing_cocci/lexer_cocci.mll @@ -56,6 +56,9 @@ let get_current_line_type lexbuf = let current_line_started = ref false let col_zero = ref true +let contextify (c,l,ll,lex_start,preceeding_spaces,bef,aft,pos) = + (D.CONTEXT,l,ll,lex_start,preceeding_spaces,bef,aft,pos) + let reset_line lexbuf = line := !line + 1; current_line_type := (D.CONTEXT,!line,!logical_line); @@ -169,6 +172,8 @@ let declarer_names = (Hashtbl.create(100) : (string, D.clt -> token) Hashtbl.t) let iterator_names = (Hashtbl.create(100) : (string, D.clt -> token) Hashtbl.t) +let symbol_names = (Hashtbl.create(15) : (string, D.clt -> token) Hashtbl.t) + let rule_names = (Hashtbl.create(100) : (string, unit) Hashtbl.t) let check_var s linetype = @@ -184,7 +189,10 @@ let check_var s linetype = (try (Hashtbl.find declarer_names s) linetype with Not_found -> (try (Hashtbl.find iterator_names s) linetype - with Not_found -> TIdent (s,linetype)))) in + with Not_found -> + (try (Hashtbl.find symbol_names s) linetype + with Not_found -> + TIdent (s,linetype))))) in if !Data.in_meta or !Data.in_rule_name then (try Hashtbl.find rule_names s; TRuleName s with Not_found -> fail()) else fail() @@ -233,6 +241,7 @@ let id_tokens lexbuf = check_arity_context_linetype s; TContext | "error" when in_meta -> check_arity_context_linetype s; TError | "words" when in_meta -> check_context_linetype s; TWords + | "symbol" when in_meta -> check_arity_context_linetype s; TSymbol | "using" when in_rule_name || in_prolog -> check_context_linetype s; TUsing | "virtual" when in_prolog or in_rule_name or in_meta -> @@ -331,6 +340,7 @@ let init _ = Hashtbl.clear rule_names; Hashtbl.clear iterator_names; Hashtbl.clear declarer_names; + Hashtbl.clear symbol_names; let get_name (_,x) = x in Data.add_meta_meta := (fun name pure -> @@ -453,6 +463,10 @@ let init _ = (function name -> let fn clt = TIteratorId(name,clt) in Hashtbl.replace iterator_names name fn); + Data.add_symbol_meta := + (function name -> + let fn clt = TSymId (name,clt) in + Hashtbl.replace symbol_names name fn); Data.init_rule := (function _ -> Hashtbl.clear metavariables); Data.install_bindings := (function parent -> @@ -503,7 +517,7 @@ let real = pent exp | ((pent? '.' pfract | pent '.' pfract? ) exp?) rule token = parse | [' ' '\t']* ['\n' '\r' '\011' '\012'] { let cls = !current_line_started in - + if not cls then begin @@ -608,19 +622,22 @@ rule token = parse else (start_line true; check_context_linetype (tok lexbuf); TOPar0 (get_current_line_type lexbuf))} - | "\\(" { start_line true; TOPar0 (get_current_line_type lexbuf) } + | "\\(" { start_line true; + TOPar0 (contextify(get_current_line_type lexbuf)) } | "|" { if not (!col_zero) then (start_line true; TOr(get_current_line_type lexbuf)) else (start_line true; check_context_linetype (tok lexbuf); TMid0 (get_current_line_type lexbuf))} - | "\\|" { start_line true; TMid0 (get_current_line_type lexbuf) } + | "\\|" { start_line true; + TMid0 (contextify(get_current_line_type lexbuf)) } | ")" { if not !col_zero then (start_line true; TCPar (get_current_line_type lexbuf)) else (start_line true; check_context_linetype (tok lexbuf); TCPar0 (get_current_line_type lexbuf))} - | "\\)" { start_line true; TCPar0 (get_current_line_type lexbuf) } + | "\\)" { start_line true; + TCPar0 (contextify(get_current_line_type lexbuf)) } | '[' { start_line true; TOCro (get_current_line_type lexbuf) } | ']' { start_line true; TCCro (get_current_line_type lexbuf) } @@ -757,6 +774,8 @@ rule token = parse | "#" [' ' '\t']* "elif" [^'\n']* | "#" [' ' '\t']* "endif" [^'\n']* | "#" [' ' '\t']* "error" [^'\n']* + | "#" [' ' '\t']* "pragma" [^'\n']* + | "#" [' ' '\t']* "line" [^'\n']* { start_line true; check_plus_linetype (tok lexbuf); TPragma (Ast.Noindent(tok lexbuf), get_current_line_type lexbuf) } | "/*" diff --git a/parsing_cocci/parse_aux.ml b/parsing_cocci/parse_aux.ml index 8b2cbb3..2544269 100644 --- a/parsing_cocci/parse_aux.ml +++ b/parsing_cocci/parse_aux.ml @@ -43,7 +43,7 @@ let get_option fn = function None -> None | Some x -> Some (fn x) -let make_info line logical_line offset col strbef straft = +let make_info line logical_line offset col strbef straft isSymbol = let new_pos_info = {Ast0.line_start = line; Ast0.line_end = line; Ast0.logical_start = logical_line; Ast0.logical_end = logical_line; @@ -51,10 +51,11 @@ let make_info line logical_line offset col strbef straft = { Ast0.pos_info = new_pos_info; Ast0.attachable_start = true; Ast0.attachable_end = true; Ast0.mcode_start = []; Ast0.mcode_end = []; - Ast0.strings_before = strbef; Ast0.strings_after = straft; } + Ast0.strings_before = strbef; Ast0.strings_after = straft; + Ast0.isSymbolIdent = isSymbol; } let clt2info (_,line,logical_line,offset,col,strbef,straft,pos) = - make_info line logical_line offset col strbef straft + make_info line logical_line offset col strbef straft false let drop_bef (arity,line,lline,offset,col,strbef,straft,pos) = (arity,line,lline,offset,col,[],straft,pos) @@ -71,41 +72,43 @@ let set_aft aft (arity,line,lline,offset,col,strbef,_,pos) = let drop_pos (arity,line,lline,offset,col,strbef,straft,pos) = (arity,line,lline,offset,col,strbef,straft,[]) -let clt2mcode str = function +let clt2mcode_ext str isSymbol = function (Data.MINUS,line,lline,offset,col,strbef,straft,pos) -> - (str,Ast0.NONE,make_info line lline offset col strbef straft, + (str,Ast0.NONE,make_info line lline offset col strbef straft isSymbol, Ast0.MINUS(ref(Ast.NOREPLACEMENT,Ast0.default_token_info)),ref pos,-1) | (Data.OPTMINUS,line,lline,offset,col,strbef,straft,pos) -> - (str,Ast0.OPT,make_info line lline offset col strbef straft, + (str,Ast0.OPT,make_info line lline offset col strbef straft isSymbol, Ast0.MINUS(ref(Ast.NOREPLACEMENT,Ast0.default_token_info)),ref pos,-1) | (Data.UNIQUEMINUS,line,lline,offset,col,strbef,straft,pos) -> - (str,Ast0.UNIQUE,make_info line lline offset col strbef straft, + (str,Ast0.UNIQUE,make_info line lline offset col strbef straft isSymbol, Ast0.MINUS(ref(Ast.NOREPLACEMENT,Ast0.default_token_info)),ref pos,-1) | (Data.PLUS,line,lline,offset,col,strbef,straft,pos) -> - (str,Ast0.NONE,make_info line lline offset col strbef straft, + (str,Ast0.NONE,make_info line lline offset col strbef straft isSymbol, Ast0.PLUS(Ast.ONE),ref pos,-1) | (Data.PLUSPLUS,line,lline,offset,col,strbef,straft,pos) -> - (str,Ast0.NONE,make_info line lline offset col strbef straft, + (str,Ast0.NONE,make_info line lline offset col strbef straft isSymbol, Ast0.PLUS(Ast.MANY),ref pos,-1) | (Data.CONTEXT,line,lline,offset,col,strbef,straft,pos) -> - (str,Ast0.NONE,make_info line lline offset col strbef straft, + (str,Ast0.NONE,make_info line lline offset col strbef straft isSymbol, Ast0.CONTEXT(ref(Ast.NOTHING, Ast0.default_token_info,Ast0.default_token_info)), ref pos,-1) | (Data.OPT,line,lline,offset,col,strbef,straft,pos) -> - (str,Ast0.OPT,make_info line lline offset col strbef straft, + (str,Ast0.OPT,make_info line lline offset col strbef straft isSymbol, Ast0.CONTEXT(ref(Ast.NOTHING, Ast0.default_token_info,Ast0.default_token_info)), ref pos,-1) | (Data.UNIQUE,line,lline,offset,col,strbef,straft,pos) -> - (str,Ast0.UNIQUE,make_info line lline offset col strbef straft, + (str,Ast0.UNIQUE,make_info line lline offset col strbef straft isSymbol, Ast0.CONTEXT(ref(Ast.NOTHING, Ast0.default_token_info,Ast0.default_token_info)), ref pos,-1) +let clt2mcode name clt = clt2mcode_ext name false clt let id2name (name, clt) = name let id2clt (name, clt) = clt let id2mcode (name, clt) = clt2mcode name clt +let sym2mcode (name, clt) = clt2mcode_ext name true clt let mkdots str (dot,whencode) = match str with @@ -354,7 +357,8 @@ let check_meta_tyopt type_irrelevant = function | Ast.MetaPosDecl(Ast.NONE,(rule,name)) -> (match lookup rule name with Ast.MetaPosDecl(_,_) -> - if not (List.mem rule !Data.inheritable_positions) + if not (List.mem rule !Data.inheritable_positions) && + not !Data.ignore_patch_or_match then raise (Semantic_cocci.Semantic @@ -568,23 +572,44 @@ let make_iso_rule_name_result n = Ast.CocciRulename (Some n,Ast.NoDep,[],[],Ast.Undetermined,false (*discarded*)) +let fix_dependencies d = + let rec loop inverted = function + Ast0.Dep s when inverted -> Ast.AntiDep s + | Ast0.Dep s -> Ast.Dep s + | Ast0.AntiDep d -> loop (not inverted) d + | Ast0.EverDep s when inverted -> Ast.NeverDep s + | Ast0.EverDep s -> Ast.EverDep s + | Ast0.NeverDep s when inverted -> Ast.EverDep s + | Ast0.NeverDep s -> Ast.NeverDep s + | Ast0.AndDep(d1,d2) when inverted -> + Ast.OrDep(loop inverted d1,loop inverted d2) + | Ast0.AndDep(d1,d2) -> + Ast.AndDep(loop inverted d1,loop inverted d2) + | Ast0.OrDep(d1,d2) when inverted -> + Ast.AndDep(loop inverted d1,loop inverted d2) + | Ast0.OrDep(d1,d2) -> + Ast.OrDep(loop inverted d1,loop inverted d2) + | Ast0.NoDep -> Ast.NoDep + | Ast0.FailDep -> Ast.FailDep in + loop false d + let make_cocci_rule_name_result nm d i a e ee = - Ast.CocciRulename (check_rule_name nm,d,i,a,e,ee) + Ast.CocciRulename (check_rule_name nm,fix_dependencies d,i,a,e,ee) let make_generated_rule_name_result nm d i a e ee = - Ast.GeneratedRulename (check_rule_name nm,d,i,a,e,ee) + Ast.GeneratedRulename (check_rule_name nm,fix_dependencies d,i,a,e,ee) let make_script_rule_name_result lang nm deps = let l = id2name lang in - Ast.ScriptRulename (check_rule_name nm,l,deps) + Ast.ScriptRulename (check_rule_name nm,l,fix_dependencies deps) let make_initial_script_rule_name_result lang deps = let l = id2name lang in - Ast.InitialScriptRulename(None,l,deps) + Ast.InitialScriptRulename(None,l,fix_dependencies deps) let make_final_script_rule_name_result lang deps = let l = id2name lang in - Ast.FinalScriptRulename(None,l,deps) + Ast.FinalScriptRulename(None,l,fix_dependencies deps) (* Allows type alone only when it is void and only when there is only one parameter. This avoids ambiguity problems in the parser. *) diff --git a/parsing_cocci/parse_cocci.ml b/parsing_cocci/parse_cocci.ml index 90932ca..5359bbe 100644 --- a/parsing_cocci/parse_cocci.ml +++ b/parsing_cocci/parse_cocci.ml @@ -64,6 +64,7 @@ let token2c (tok,_) = | PC.TExpression -> "expression" | PC.TIdExpression -> "idexpression" | PC.TInitialiser -> "initialiser" + | PC.TSymbol -> "symbol" | PC.TDeclaration -> "declaration" | PC.TField -> "field" | PC.TStatement -> "statement" @@ -153,6 +154,7 @@ let token2c (tok,_) = | PC.TTypeId(s,clt) -> (pr "typename-%s" s)^(line_type2c clt) | PC.TDeclarerId(s,clt) -> (pr "declarername-%s" s)^(line_type2c clt) | PC.TIteratorId(s,clt) -> (pr "iteratorname-%s" s)^(line_type2c clt) + | PC.TSymId(s,clt) -> (pr "symbol-%s" s)^(line_type2c clt) | PC.TMetaDeclarer(_,_,_,clt) -> "declmeta"^(line_type2c clt) | PC.TMetaIterator(_,_,_,clt) -> "itermeta"^(line_type2c clt) @@ -392,8 +394,9 @@ let get_clt (tok,_) = | PC.TIf(clt) | PC.TElse(clt) | PC.TWhile(clt) | PC.TFor(clt) | PC.TDo(clt) | PC.TSwitch(clt) | PC.TCase(clt) | PC.TDefault(clt) | PC.TReturn(clt) | PC.TBreak(clt) | PC.TContinue(clt) | PC.TGoto(clt) | PC.TIdent(_,clt) - | PC.TTypeId(_,clt) | PC.TDeclarerId(_,clt) | PC.TIteratorId(_,clt) - + | PC.TTypeId(_,clt) | PC.TSymId(_,clt) + | PC.TDeclarerId(_,clt) | PC.TIteratorId(_,clt) + | PC.TSizeof(clt) | PC.TString(_,clt) | PC.TChar(_,clt) | PC.TFloat(_,clt) | PC.TInt(_,clt) @@ -418,6 +421,7 @@ let get_clt (tok,_) = | PC.TMetaFieldList(_,_,_,clt) | PC.TMetaFunc(_,_,_,clt) | PC.TMetaLocalFunc(_,_,_,clt) | PC.TMetaPos(_,_,_,clt) + | PC.TMetaDeclarer(_,_,_,clt) | PC.TMetaIterator(_,_,_,clt) | PC.TWhen(clt) | PC.TWhenTrue(clt) | PC.TWhenFalse(clt) | PC.TAny(clt) | PC.TStrict(clt) | PC.TEllipsis(clt) @@ -495,6 +499,7 @@ let update_clt (tok,x) clt = | PC.TTypeId(s,_) -> (PC.TTypeId(s,clt),x) | PC.TDeclarerId(s,_) -> (PC.TDeclarerId(s,clt),x) | PC.TIteratorId(s,_) -> (PC.TIteratorId(s,clt),x) + | PC.TSymId(a,_) -> (PC.TSymId(a,clt),x) | PC.TSizeof(_) -> (PC.TSizeof(clt),x) @@ -542,6 +547,9 @@ let update_clt (tok,x) clt = | PC.TMetaFunc(a,b,c,_) -> (PC.TMetaFunc(a,b,c,clt),x) | PC.TMetaLocalFunc(a,b,c,_) -> (PC.TMetaLocalFunc(a,b,c,clt),x) + | PC.TMetaDeclarer(a,b,c,_) -> (PC.TMetaDeclarer(a,b,c,clt),x) + | PC.TMetaIterator(a,b,c,_) -> (PC.TMetaIterator(a,b,c,clt),x) + | PC.TWhen(_) -> (PC.TWhen(clt),x) | PC.TWhenTrue(_) -> (PC.TWhenTrue(clt),x) | PC.TWhenFalse(_) -> (PC.TWhenFalse(clt),x) @@ -648,7 +656,7 @@ let split_token ((tok,_) as t) = PC.TMetavariable | PC.TIdentifier | PC.TConstant | PC.TExpression | PC.TIdExpression | PC.TDeclaration | PC.TField - | PC.TStatement | PC.TPosition | PC.TPosAny | PC.TInitialiser + | PC.TStatement | PC.TPosition | PC.TPosAny | PC.TInitialiser | PC.TSymbol | PC.TFunction | PC.TTypedef | PC.TDeclarer | PC.TIterator | PC.TName | PC.TType | PC.TParameter | PC.TLocal | PC.Tlist | PC.TFresh | PC.TCppConcatOp | PC.TPure @@ -679,6 +687,7 @@ let split_token ((tok,_) as t) = | PC.TReturn(clt) | PC.TBreak(clt) | PC.TContinue(clt) | PC.TGoto(clt) | PC.TIdent(_,clt) | PC.TTypeId(_,clt) | PC.TDeclarerId(_,clt) | PC.TIteratorId(_,clt) + | PC.TSymId(_,clt) | PC.TMeta(_,_,clt) | PC.TMetaConst(_,_,_,_,clt) | PC.TMetaExp(_,_,_,_,clt) | PC.TMetaIdExp(_,_,_,_,clt) | PC.TMetaLocalIdExp(_,_,_,_,clt) | PC.TMetaExpList(_,_,_,clt) @@ -966,6 +975,8 @@ let token2line (tok,_) = | PC.TTypeId(_,clt) | PC.TDeclarerId(_,clt) | PC.TIteratorId(_,clt) | PC.TMetaDeclarer(_,_,_,clt) | PC.TMetaIterator(_,_,_,clt) + | PC.TSymId(_,clt) + | PC.TString(_,clt) | PC.TChar(_,clt) | PC.TFloat(_,clt) | PC.TInt(_,clt) | PC.TOrLog(clt) | PC.TAndLog(clt) | PC.TOr(clt) | PC.TXor(clt) @@ -1611,28 +1622,27 @@ let eval_depend dep virt = if List.mem req virt then if List.mem req !Flag.defined_virtual_rules - then Some Ast.NoDep - else None - else Some dep + then Ast.NoDep + else Ast.FailDep + else dep | Ast.AntiDep antireq | Ast.NeverDep antireq -> if List.mem antireq virt then if not(List.mem antireq !Flag.defined_virtual_rules) - then Some Ast.NoDep - else None - else Some dep + then Ast.NoDep + else Ast.FailDep + else dep | Ast.AndDep(d1,d2) -> (match (loop d1, loop d2) with - (None,_) | (_,None) -> None - | (Some Ast.NoDep,x) | (x,Some Ast.NoDep) -> x - | (Some x,Some y) -> Some (Ast.AndDep(x,y))) + (Ast.NoDep,x) | (x,Ast.NoDep) -> x + | (Ast.FailDep,x) | (x,Ast.FailDep) -> Ast.FailDep + | (x,y) -> Ast.AndDep(x,y)) | Ast.OrDep(d1,d2) -> (match (loop d1, loop d2) with - (None,None) -> None - | (Some Ast.NoDep,x) | (x,Some Ast.NoDep) -> Some Ast.NoDep - | (None,x) | (x,None) -> x - | (Some x,Some y) -> Some (Ast.OrDep(x,y))) - | Ast.NoDep | Ast.FailDep -> Some dep + (Ast.NoDep,x) | (x,Ast.NoDep) -> Ast.NoDep + | (Ast.FailDep,x) | (x,Ast.FailDep) -> x + | (x,y) -> Ast.OrDep(x,y)) + | Ast.NoDep | Ast.FailDep -> dep in loop dep @@ -1853,9 +1863,7 @@ let parse file = Ast0.FinalScriptRule(name,language,deps,data)) in let do_parse_script_rule fn name l old_metas deps = - match eval_depend deps virt with - Some deps -> fn name l old_metas deps - | None -> fn name l old_metas Ast.FailDep in + fn name l old_metas (eval_depend deps virt) in let parse_rule old_metas starts_with_name = let rulename = @@ -1864,25 +1872,17 @@ let parse file = match rulename with Ast.CocciRulename (Some s, dep, b, c, d, e) -> (match eval_depend dep virt with - Some (dep) -> - parse_cocci_rule Ast.Normal old_metas (s,dep,b,c,d,e) - | None -> + Ast.FailDep -> D.ignore_patch_or_match := true; let res = parse_cocci_rule Ast.Normal old_metas (s, Ast.FailDep, b, c, d, e) in D.ignore_patch_or_match := false; - res) + res + | dep -> parse_cocci_rule Ast.Normal old_metas (s,dep,b,c,d,e)) | Ast.GeneratedRulename (Some s, dep, b, c, d, e) -> (match eval_depend dep virt with - Some (dep) -> - Data.in_generating := true; - let res = - parse_cocci_rule Ast.Generated old_metas - (s,dep,b,c,d,e) in - Data.in_generating := false; - res - | None -> + Ast.FailDep -> D.ignore_patch_or_match := true; Data.in_generating := true; let res = @@ -1890,6 +1890,13 @@ let parse file = (s, Ast.FailDep, b, c, d, e) in D.ignore_patch_or_match := false; Data.in_generating := false; + res + | dep -> + Data.in_generating := true; + let res = + parse_cocci_rule Ast.Generated old_metas + (s,dep,b,c,d,e) in + Data.in_generating := false; res) | Ast.ScriptRulename(Some s,l,deps) -> do_parse_script_rule parse_script_rule s l old_metas deps diff --git a/parsing_cocci/parser_cocci_menhir.ml b/parsing_cocci/parser_cocci_menhir.ml index c9b7c4d..53cc662 100644 --- a/parsing_cocci/parser_cocci_menhir.ml +++ b/parsing_cocci/parser_cocci_menhir.ml @@ -183,307 +183,313 @@ type token = # 168 "parser_cocci_menhir.mly" (Data.clt) # 186 "parser_cocci_menhir.ml" +) + | TSymbol + | TSymId of ( +# 125 "parser_cocci_menhir.mly" + (string * Data.clt) +# 192 "parser_cocci_menhir.ml" ) | TSwitch of ( # 123 "parser_cocci_menhir.mly" (Data.clt) -# 191 "parser_cocci_menhir.ml" +# 197 "parser_cocci_menhir.ml" ) | TSub of ( # 163 "parser_cocci_menhir.mly" (Data.clt) -# 196 "parser_cocci_menhir.ml" +# 202 "parser_cocci_menhir.ml" ) | TString of ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 201 "parser_cocci_menhir.ml" +# 207 "parser_cocci_menhir.ml" ) | TStrict of ( # 143 "parser_cocci_menhir.mly" (Data.clt) -# 206 "parser_cocci_menhir.ml" +# 212 "parser_cocci_menhir.ml" ) | TStatement | TSizeof of ( # 124 "parser_cocci_menhir.mly" (Data.clt) -# 212 "parser_cocci_menhir.ml" +# 218 "parser_cocci_menhir.ml" ) | TShROp of ( # 165 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 217 "parser_cocci_menhir.ml" +# 223 "parser_cocci_menhir.ml" ) | TShLOp of ( # 165 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 222 "parser_cocci_menhir.ml" +# 228 "parser_cocci_menhir.ml" ) | TScriptData of ( # 140 "parser_cocci_menhir.mly" (string) -# 227 "parser_cocci_menhir.ml" +# 233 "parser_cocci_menhir.ml" ) | TScript | TRuleName of ( # 112 "parser_cocci_menhir.mly" (string) -# 233 "parser_cocci_menhir.ml" +# 239 "parser_cocci_menhir.ml" ) | TRightIso | TReturn of ( # 123 "parser_cocci_menhir.mly" (Data.clt) -# 239 "parser_cocci_menhir.ml" +# 245 "parser_cocci_menhir.ml" ) | TPure | TPtrOp of ( # 173 "parser_cocci_menhir.mly" (Data.clt) -# 245 "parser_cocci_menhir.ml" +# 251 "parser_cocci_menhir.ml" ) | TPtVirg of ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 250 "parser_cocci_menhir.ml" +# 256 "parser_cocci_menhir.ml" ) | TPragma of ( # 126 "parser_cocci_menhir.mly" (Ast_cocci.added_string * Data.clt) -# 255 "parser_cocci_menhir.ml" +# 261 "parser_cocci_menhir.ml" ) | TPosition | TPosAny | TPlusFile of ( # 152 "parser_cocci_menhir.mly" (string * Data.clt) -# 262 "parser_cocci_menhir.ml" +# 268 "parser_cocci_menhir.ml" ) | TPlus0 | TPlus of ( # 167 "parser_cocci_menhir.mly" (Data.clt) -# 268 "parser_cocci_menhir.ml" +# 274 "parser_cocci_menhir.ml" ) | TPathIsoFile of ( # 148 "parser_cocci_menhir.mly" (string) -# 273 "parser_cocci_menhir.ml" +# 279 "parser_cocci_menhir.ml" ) | TParameter | TPOEllipsis of ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 279 "parser_cocci_menhir.ml" +# 285 "parser_cocci_menhir.ml" ) | TPCEllipsis of ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 284 "parser_cocci_menhir.ml" +# 290 "parser_cocci_menhir.ml" ) | TPArob | TOrLog of ( # 158 "parser_cocci_menhir.mly" (Data.clt) -# 290 "parser_cocci_menhir.ml" +# 296 "parser_cocci_menhir.ml" ) | TOr of ( # 160 "parser_cocci_menhir.mly" (Data.clt) -# 295 "parser_cocci_menhir.ml" +# 301 "parser_cocci_menhir.ml" ) | TOn | TOPar0 of ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 301 "parser_cocci_menhir.ml" +# 307 "parser_cocci_menhir.ml" ) | TOPar of ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 306 "parser_cocci_menhir.ml" +# 312 "parser_cocci_menhir.ml" ) | TOInit of ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 311 "parser_cocci_menhir.ml" +# 317 "parser_cocci_menhir.ml" ) | TOEllipsis of ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 316 "parser_cocci_menhir.ml" +# 322 "parser_cocci_menhir.ml" ) | TOCro of ( # 171 "parser_cocci_menhir.mly" (Data.clt) -# 321 "parser_cocci_menhir.ml" +# 327 "parser_cocci_menhir.ml" ) | TOBrace of ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 326 "parser_cocci_menhir.ml" +# 332 "parser_cocci_menhir.ml" ) | TNothing | TNotEq of ( # 163 "parser_cocci_menhir.mly" (Data.clt) -# 332 "parser_cocci_menhir.ml" +# 338 "parser_cocci_menhir.ml" ) | TNever | TName | TMul of ( # 168 "parser_cocci_menhir.mly" (Data.clt) -# 339 "parser_cocci_menhir.ml" +# 345 "parser_cocci_menhir.ml" ) | TMinusFile of ( # 152 "parser_cocci_menhir.mly" (string * Data.clt) -# 344 "parser_cocci_menhir.ml" +# 350 "parser_cocci_menhir.ml" ) | TMinus of ( # 167 "parser_cocci_menhir.mly" (Data.clt) -# 349 "parser_cocci_menhir.ml" +# 355 "parser_cocci_menhir.ml" ) | TMid0 of ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 354 "parser_cocci_menhir.ml" +# 360 "parser_cocci_menhir.ml" ) | TMetavariable | TMetaType of ( # 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 360 "parser_cocci_menhir.ml" +# 366 "parser_cocci_menhir.ml" ) | TMetaStmList of ( # 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 365 "parser_cocci_menhir.ml" +# 371 "parser_cocci_menhir.ml" ) | TMetaStm of ( # 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 370 "parser_cocci_menhir.ml" +# 376 "parser_cocci_menhir.ml" ) | TMetaPos of ( # 137 "parser_cocci_menhir.mly" (Parse_aux.pos_info) -# 375 "parser_cocci_menhir.ml" +# 381 "parser_cocci_menhir.ml" ) | TMetaParamList of ( # 134 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 380 "parser_cocci_menhir.ml" +# 386 "parser_cocci_menhir.ml" ) | TMetaParam of ( # 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 385 "parser_cocci_menhir.ml" +# 391 "parser_cocci_menhir.ml" ) | TMetaLocalIdExp of ( # 136 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 390 "parser_cocci_menhir.ml" +# 396 "parser_cocci_menhir.ml" ) | TMetaLocalFunc of ( # 129 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 395 "parser_cocci_menhir.ml" +# 401 "parser_cocci_menhir.ml" ) | TMetaIterator of ( # 130 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 400 "parser_cocci_menhir.ml" +# 406 "parser_cocci_menhir.ml" ) | TMetaInitList of ( # 134 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 405 "parser_cocci_menhir.ml" +# 411 "parser_cocci_menhir.ml" ) | TMetaInit of ( # 133 "parser_cocci_menhir.mly" (Parse_aux.info) -# 410 "parser_cocci_menhir.ml" +# 416 "parser_cocci_menhir.ml" ) | TMetaIdExp of ( # 136 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 415 "parser_cocci_menhir.ml" +# 421 "parser_cocci_menhir.ml" ) | TMetaId of ( # 128 "parser_cocci_menhir.mly" (Parse_aux.midinfo) -# 420 "parser_cocci_menhir.ml" +# 426 "parser_cocci_menhir.ml" ) | TMetaFunc of ( # 129 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 425 "parser_cocci_menhir.ml" +# 431 "parser_cocci_menhir.ml" ) | TMetaFieldList of ( # 135 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 430 "parser_cocci_menhir.ml" +# 436 "parser_cocci_menhir.ml" ) | TMetaField of ( # 133 "parser_cocci_menhir.mly" (Parse_aux.info) -# 435 "parser_cocci_menhir.ml" +# 441 "parser_cocci_menhir.ml" ) | TMetaExpList of ( # 134 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 440 "parser_cocci_menhir.ml" +# 446 "parser_cocci_menhir.ml" ) | TMetaExp of ( # 136 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 445 "parser_cocci_menhir.ml" +# 451 "parser_cocci_menhir.ml" ) | TMetaErr of ( # 131 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 450 "parser_cocci_menhir.ml" +# 456 "parser_cocci_menhir.ml" ) | TMetaDeclarer of ( # 130 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 455 "parser_cocci_menhir.ml" +# 461 "parser_cocci_menhir.ml" ) | TMetaDecl of ( # 133 "parser_cocci_menhir.mly" (Parse_aux.info) -# 460 "parser_cocci_menhir.ml" +# 466 "parser_cocci_menhir.ml" ) | TMetaConst of ( # 136 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 465 "parser_cocci_menhir.ml" +# 471 "parser_cocci_menhir.ml" ) | TMeta of ( # 133 "parser_cocci_menhir.mly" (Parse_aux.info) -# 470 "parser_cocci_menhir.ml" +# 476 "parser_cocci_menhir.ml" ) | TMPtVirg | TLogOp of ( # 164 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 476 "parser_cocci_menhir.ml" +# 482 "parser_cocci_menhir.ml" ) | TLocal | TLineEnd of ( # 143 "parser_cocci_menhir.mly" (Data.clt) -# 482 "parser_cocci_menhir.ml" +# 488 "parser_cocci_menhir.ml" ) | TIteratorId of ( # 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 487 "parser_cocci_menhir.ml" +# 493 "parser_cocci_menhir.ml" ) | TIterator | TIsoType @@ -499,60 +505,60 @@ type token = | TInt of ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 503 "parser_cocci_menhir.ml" +# 509 "parser_cocci_menhir.ml" ) | TInitialize | TInitialiser | TIncludeNL of ( # 149 "parser_cocci_menhir.mly" (string * Data.clt) -# 510 "parser_cocci_menhir.ml" +# 516 "parser_cocci_menhir.ml" ) | TIncludeL of ( # 149 "parser_cocci_menhir.mly" (string * Data.clt) -# 515 "parser_cocci_menhir.ml" +# 521 "parser_cocci_menhir.ml" ) | TInc of ( # 154 "parser_cocci_menhir.mly" (Data.clt) -# 520 "parser_cocci_menhir.ml" +# 526 "parser_cocci_menhir.ml" ) | TIf of ( # 123 "parser_cocci_menhir.mly" (Data.clt) -# 525 "parser_cocci_menhir.ml" +# 531 "parser_cocci_menhir.ml" ) | TIdentifier | TIdent of ( # 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 531 "parser_cocci_menhir.ml" +# 537 "parser_cocci_menhir.ml" ) | TIdExpression | TGoto of ( # 124 "parser_cocci_menhir.mly" (Data.clt) -# 537 "parser_cocci_menhir.ml" +# 543 "parser_cocci_menhir.ml" ) | TGenerated | TFunction | TFunDecl of ( # 124 "parser_cocci_menhir.mly" (Data.clt) -# 544 "parser_cocci_menhir.ml" +# 550 "parser_cocci_menhir.ml" ) | TFresh | TForall | TFor of ( # 123 "parser_cocci_menhir.mly" (Data.clt) -# 551 "parser_cocci_menhir.ml" +# 557 "parser_cocci_menhir.ml" ) | TFloat of ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 556 "parser_cocci_menhir.ml" +# 562 "parser_cocci_menhir.ml" ) | TFinalize | TField @@ -564,152 +570,152 @@ type token = | TEqEq of ( # 163 "parser_cocci_menhir.mly" (Data.clt) -# 568 "parser_cocci_menhir.ml" +# 574 "parser_cocci_menhir.ml" ) | TEq of ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 573 "parser_cocci_menhir.ml" +# 579 "parser_cocci_menhir.ml" ) | TElse of ( # 123 "parser_cocci_menhir.mly" (Data.clt) -# 578 "parser_cocci_menhir.ml" +# 584 "parser_cocci_menhir.ml" ) | TEllipsis of ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 583 "parser_cocci_menhir.ml" +# 589 "parser_cocci_menhir.ml" ) | TDotDot of ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 588 "parser_cocci_menhir.ml" +# 594 "parser_cocci_menhir.ml" ) | TDot of ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 593 "parser_cocci_menhir.ml" +# 599 "parser_cocci_menhir.ml" ) | TDo of ( # 123 "parser_cocci_menhir.mly" (Data.clt) -# 598 "parser_cocci_menhir.ml" +# 604 "parser_cocci_menhir.ml" ) | TDmOp of ( # 166 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 603 "parser_cocci_menhir.ml" +# 609 "parser_cocci_menhir.ml" ) | TDisable | TDepends | TDefineParam of ( # 151 "parser_cocci_menhir.mly" (Data.clt * token * int * int) -# 610 "parser_cocci_menhir.ml" +# 616 "parser_cocci_menhir.ml" ) | TDefine of ( # 150 "parser_cocci_menhir.mly" (Data.clt * token) -# 615 "parser_cocci_menhir.ml" +# 621 "parser_cocci_menhir.ml" ) | TDefault of ( # 123 "parser_cocci_menhir.mly" (Data.clt) -# 620 "parser_cocci_menhir.ml" +# 626 "parser_cocci_menhir.ml" ) | TDeclarerId of ( # 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 625 "parser_cocci_menhir.ml" +# 631 "parser_cocci_menhir.ml" ) | TDeclarer | TDeclaration | TDec of ( # 154 "parser_cocci_menhir.mly" (Data.clt) -# 632 "parser_cocci_menhir.ml" +# 638 "parser_cocci_menhir.ml" ) | TCppConcatOp | TContinue of ( # 124 "parser_cocci_menhir.mly" (Data.clt) -# 638 "parser_cocci_menhir.ml" +# 644 "parser_cocci_menhir.ml" ) | TContext | TConstant | TComma of ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 645 "parser_cocci_menhir.ml" +# 651 "parser_cocci_menhir.ml" ) | TChar of ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 650 "parser_cocci_menhir.ml" +# 656 "parser_cocci_menhir.ml" ) | TCase of ( # 123 "parser_cocci_menhir.mly" (Data.clt) -# 655 "parser_cocci_menhir.ml" +# 661 "parser_cocci_menhir.ml" ) | TCPar0 of ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 660 "parser_cocci_menhir.ml" +# 666 "parser_cocci_menhir.ml" ) | TCPar of ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 665 "parser_cocci_menhir.ml" +# 671 "parser_cocci_menhir.ml" ) | TCEllipsis of ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 670 "parser_cocci_menhir.ml" +# 676 "parser_cocci_menhir.ml" ) | TCCro of ( # 171 "parser_cocci_menhir.mly" (Data.clt) -# 675 "parser_cocci_menhir.ml" +# 681 "parser_cocci_menhir.ml" ) | TCBrace of ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 680 "parser_cocci_menhir.ml" +# 686 "parser_cocci_menhir.ml" ) | TBreak of ( # 124 "parser_cocci_menhir.mly" (Data.clt) -# 685 "parser_cocci_menhir.ml" +# 691 "parser_cocci_menhir.ml" ) | TBang0 | TBang of ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 691 "parser_cocci_menhir.ml" +# 697 "parser_cocci_menhir.ml" ) | TAssign of ( # 177 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 696 "parser_cocci_menhir.ml" +# 702 "parser_cocci_menhir.ml" ) | TArobArob | TArob | TAny of ( # 143 "parser_cocci_menhir.mly" (Data.clt) -# 703 "parser_cocci_menhir.ml" +# 709 "parser_cocci_menhir.ml" ) | TAndLog of ( # 159 "parser_cocci_menhir.mly" (Data.clt) -# 708 "parser_cocci_menhir.ml" +# 714 "parser_cocci_menhir.ml" ) | TAnd of ( # 162 "parser_cocci_menhir.mly" (Data.clt) -# 713 "parser_cocci_menhir.ml" +# 719 "parser_cocci_menhir.ml" ) | EOF @@ -794,7 +800,7 @@ let tmeta_to_ident (name,pure,clt) = (function TMetaId(_,_,_,_,_) -> true | _ -> false)); Ast0.wrap(Ast0.MetaId(P.clt2mcode name clt,Ast.IdNoConstraint,Ast.NoVal,pure)) -# 798 "parser_cocci_menhir.ml" +# 804 "parser_cocci_menhir.ml" let _eRR = Error @@ -808,300 +814,304 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct fun _tok -> match _tok with | EOF -> - 191 + 193 | TAnd _ -> - 190 + 192 | TAndLog _ -> - 189 + 191 | TAny _ -> - 188 + 190 | TArob -> - 187 + 189 | TArobArob -> - 186 + 188 | TAssign _ -> - 185 + 187 | TBang _ -> - 184 + 186 | TBang0 -> - 183 + 185 | TBreak _ -> - 182 + 184 | TCBrace _ -> - 181 + 183 | TCCro _ -> - 180 + 182 | TCEllipsis _ -> - 179 + 181 | TCPar _ -> - 178 + 180 | TCPar0 _ -> - 177 + 179 | TCase _ -> - 176 + 178 | TChar _ -> - 175 + 177 | TComma _ -> - 174 + 176 | TConstant -> - 173 + 175 | TContext -> - 172 + 174 | TContinue _ -> - 171 + 173 | TCppConcatOp -> - 170 + 172 | TDec _ -> - 169 + 171 | TDeclaration -> - 168 + 170 | TDeclarer -> - 167 + 169 | TDeclarerId _ -> - 166 + 168 | TDefault _ -> - 165 + 167 | TDefine _ -> - 164 + 166 | TDefineParam _ -> - 163 + 165 | TDepends -> - 162 + 164 | TDisable -> - 161 + 163 | TDmOp _ -> - 160 + 162 | TDo _ -> - 159 + 161 | TDot _ -> - 158 + 160 | TDotDot _ -> - 157 + 159 | TEllipsis _ -> - 156 + 158 | TElse _ -> - 155 + 157 | TEq _ -> - 154 + 156 | TEqEq _ -> - 153 + 155 | TError -> - 152 + 154 | TEver -> - 151 + 153 | TExists -> - 150 + 152 | TExpression -> - 149 + 151 | TExtends -> - 148 + 150 | TField -> - 147 + 149 | TFinalize -> - 146 + 148 | TFloat _ -> - 145 + 147 | TFor _ -> - 144 + 146 | TForall -> - 143 + 145 | TFresh -> - 142 + 144 | TFunDecl _ -> - 141 + 143 | TFunction -> - 140 + 142 | TGenerated -> - 139 + 141 | TGoto _ -> - 138 + 140 | TIdExpression -> - 137 + 139 | TIdent _ -> - 136 + 138 | TIdentifier -> - 135 + 137 | TIf _ -> - 134 + 136 | TInc _ -> - 133 + 135 | TIncludeL _ -> - 132 + 134 | TIncludeNL _ -> - 131 + 133 | TInitialiser -> - 130 + 132 | TInitialize -> - 129 + 131 | TInt _ -> - 128 + 130 | TInvalid -> - 127 + 129 | TIso -> - 126 + 128 | TIsoArgExpression -> - 125 + 127 | TIsoDeclaration -> - 124 + 126 | TIsoExpression -> - 123 + 125 | TIsoStatement -> - 122 + 124 | TIsoTestExpression -> - 121 + 123 | TIsoToTestExpression -> - 120 + 122 | TIsoTopLevel -> - 119 + 121 | TIsoType -> - 118 + 120 | TIterator -> - 117 + 119 | TIteratorId _ -> - 116 + 118 | TLineEnd _ -> - 115 + 117 | TLocal -> - 114 + 116 | TLogOp _ -> - 113 + 115 | TMPtVirg -> - 112 + 114 | TMeta _ -> - 111 + 113 | TMetaConst _ -> - 110 + 112 | TMetaDecl _ -> - 109 + 111 | TMetaDeclarer _ -> - 108 + 110 | TMetaErr _ -> - 107 + 109 | TMetaExp _ -> - 106 + 108 | TMetaExpList _ -> - 105 + 107 | TMetaField _ -> - 104 + 106 | TMetaFieldList _ -> - 103 + 105 | TMetaFunc _ -> - 102 + 104 | TMetaId _ -> - 101 + 103 | TMetaIdExp _ -> - 100 + 102 | TMetaInit _ -> - 99 + 101 | TMetaInitList _ -> - 98 + 100 | TMetaIterator _ -> - 97 + 99 | TMetaLocalFunc _ -> - 96 + 98 | TMetaLocalIdExp _ -> - 95 + 97 | TMetaParam _ -> - 94 + 96 | TMetaParamList _ -> - 93 + 95 | TMetaPos _ -> - 92 + 94 | TMetaStm _ -> - 91 + 93 | TMetaStmList _ -> - 90 + 92 | TMetaType _ -> - 89 + 91 | TMetavariable -> - 88 + 90 | TMid0 _ -> - 87 + 89 | TMinus _ -> - 86 + 88 | TMinusFile _ -> - 85 + 87 | TMul _ -> - 84 + 86 | TName -> - 83 + 85 | TNever -> - 82 + 84 | TNotEq _ -> - 81 + 83 | TNothing -> - 80 + 82 | TOBrace _ -> - 79 + 81 | TOCro _ -> - 78 + 80 | TOEllipsis _ -> - 77 + 79 | TOInit _ -> - 76 + 78 | TOPar _ -> - 75 + 77 | TOPar0 _ -> - 74 + 76 | TOn -> - 73 + 75 | TOr _ -> - 72 + 74 | TOrLog _ -> - 71 + 73 | TPArob -> - 70 + 72 | TPCEllipsis _ -> - 69 + 71 | TPOEllipsis _ -> - 68 + 70 | TParameter -> - 67 + 69 | TPathIsoFile _ -> - 66 + 68 | TPlus _ -> - 65 + 67 | TPlus0 -> - 64 + 66 | TPlusFile _ -> - 63 + 65 | TPosAny -> - 62 + 64 | TPosition -> - 61 + 63 | TPragma _ -> - 60 + 62 | TPtVirg _ -> - 59 + 61 | TPtrOp _ -> - 58 + 60 | TPure -> - 57 + 59 | TReturn _ -> - 56 + 58 | TRightIso -> - 55 + 57 | TRuleName _ -> - 54 + 56 | TScript -> - 53 + 55 | TScriptData _ -> - 52 + 54 | TShLOp _ -> - 51 + 53 | TShROp _ -> - 50 + 52 | TSizeof _ -> - 49 + 51 | TStatement -> - 48 + 50 | TStrict _ -> - 47 + 49 | TString _ -> - 46 + 48 | TSub _ -> - 45 + 47 | TSwitch _ -> + 46 + | TSymId _ -> + 45 + | TSymbol -> 44 | TTilde _ -> 43 @@ -1492,6 +1502,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v | TSwitch _v -> Obj.repr _v + | TSymId _v -> + Obj.repr _v + | TSymbol -> + Obj.repr () | TTilde _v -> Obj.repr _v | TTildeEq _v -> @@ -1580,19 +1594,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v let default_reduction = - (16, "\000\000\000\000\0032\000\131\000\000\000\000\003\131\001\150\000\000\001\148\001\149\001\147\000\000\001\152\001\151\000\001\000\000\001\205\000\000\000\000\000\147\000\000\000\000\001\195\000\205\000\000\000\000\000\000\000\187\000\186\000\000\000\000\000\000\000\194\000\193\000\000\000\192\000\191\000\000\000\188\000\000\000\185\000\000\000\000\000\000\000\190\000\000\000\189\003\192\003\191\000\000\000\210\000\000\000\209\000\000\000\000\000\000\000\177\000\176\000\000\000\000\000\000\000\184\000\183\000\000\000\182\000\181\000\000\000\178\000\000\000\175\000\000\000\000\000\000\000\180\000\000\000\179\000\000\000\000\000\197\000\196\000\000\000\211\000\000\000\000\000\000\000\204\000\203\000\000\000\202\000\000\000\206\000\201\000\000\000\198\000\000\000\208\000\000\000\000\000\000\002)\002(\002'\000\000\001A\001@\000\000\000\000\002A\000\000\001\219\002+\000\000\000\000\000\000\000\000\000\000\001H\000\000\000\000\001a\001\144\001`\001_\001^\001]\001\143\001\\\001[\002n\000\000\000\000\002m\000\000\000\000\000\000\000\159\000\000\000\000\000\158\002q\001Y\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\214\000\212\000\000\000\207\000\146\000\000\000\195\000\000\000\219\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\003\184\003\183\003\185\000\000\003\220\000\000\003\177\000\000\000\000\000\000\000\000\001L\000\000\000\000\000\000\004c\002\249\000\000\000\000\004a\000\000\003\021\000\000\000\000\000\000\000\000\000\000\000\000\004`\004b\002\255\001\139\002\254\001\138\002\253\002\252\002\251\002U\002\247\000\000\000\000\002\248\001B\000\000\000\000\000\000\002\250\000\000\000\000\002\246\004_\000\000\000\000\004@\002\213\000\000\000\000\002\216\000\000\000\000\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\001C\001\137\002\245\003\002\000m\000\021\000o\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000S\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\141\000d\001M\000p\002\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\000\000\000n\000f\000\000\000e\000\000\002\214\002\217\000\000\002\215\002\218\004?\000\000\003\029\000\000\001\011\000\000\000\000\002B\000\000\001\221\002,\000\000\000\000\002@\000\000\000\000\000\250\000\000\000\000\000\000\000\232\000\231\000\000\000\000\000\000\000\239\000\238\000\000\000\237\000\236\000\000\000\233\000\000\000\230\000\000\000\000\000\000\000\235\000\000\000\234\000\000\000\255\000\000\000\254\000\000\000\000\000\000\000\222\000\221\000\000\000\000\000\000\000\229\000\228\000\000\000\227\000\226\000\000\000\223\000\000\000\220\000\000\000\000\000\000\000\225\000\000\000\224\000\000\000\000\000\242\000\241\000\000\001\000\000\000\000\000\000\000\000\249\000\248\000\000\000\247\000\000\000\251\000\246\000\000\000\243\000\000\000\253\000\000\000\000\000\000\000\000\001\002\000\000\000\000\000\000\000\000\001\003\001\001\000\000\000\252\000\000\000\240\000\000\001\b\000\000\000\000\000\000\000\245\000\000\000\000\003\178\003\179\000\000\000\000\001\007\000\000\003\181\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\148\001\016\001\017\000\000\000\000\000\000\000\000\000\000\002\130\002\147\002I\000\000\000\000\000\000\000\000\000\000\001X\001\021\000\000\002J\000\000\000\000\000\000\000\000\001\015\000\000\001\r\000\000\001\197\000\171\000\000\000\000\000\170\002\134\002\131\000\000\000\000\003\188\000\000\003\187\000\000\000\000\000\000\000\000\000\000\001\005\000\000\000\000\000\000\000\000\001\006\001\004\003\219\000\000\000\000\003\190\003\182\000\244\000\000\001\217\002*\000\000\000\000\003\028\000\000\000\000\000\000\003\007\000\000\000\000\000\000\003\000\000\000\000\000\000\000\000\000\000\000\003\015\000\000\000\000\003\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001=\001<\000\000\000\000\003\r\001\167\001\166\003\012\000\000\003\011\003\n\003\t\001\169\003\005\000\000\004D\003\006\000\000\000\000\000\000\000\000\000\000\001;\000\000\004E\003\b\000\000\004G\000\000\003\004\000\000\000w\002\221\000\000\000\000\002\224\000\000\000\000\003\027\003\026\000\015\003\025\003\024\003\023\003\019\000\000\004K\003\020\000\000\000\000\000\000\000\000\004L\003\022\000\000\004N\000\000\003\018\000\000\000y\002\229\000\000\000\000\002\232\000\000\000\000\000\000\000i\000\000\000h\001P\003\030\003\017\001N\000\000\002\235\000\014\000\016\000g\0003\001>\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\143\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0005\000\000\000\000\000\000\000\000\000\000\000\000\002_\000\000\000\000\002\230\002\233\000\000\002\231\002\234\004M\000\151\002c\000\000\000\000\000\150\002`\000\000\002\227\000\000\000\000\002\222\002\225\000\000\002\223\002\226\003\016\003\003\004F\000\000\001T\000\000\000\000\000\000\000\000\001\164\000\000\001\203\000$\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&\000\000\000\000\000\000\000\000\001\165\000\000\001\160\000\000\000\000\002t\000\000\000\000\000\000\000\163\000\000\000\000\000\162\002x\001\168\001\161\000\000\001J\001\159\002u\000\000\001\163\000\000\002\228\000x\000\000\002\220\004H\000\000\002\236\000z\000\000\002\219\004[\004\\\004Z\004Y\004>\000\000\000\000\004=\001f\000\000\002S\000\000\000\000\000\000\000\000\000\000\001F\002Z\000\000\000\000\001\235\000\000\003\001\000\000\000\000\000v\000\000\000\000\000\000\004O\000\000\002T\000\000\000\000\000\000\004]\000\000\000\000\000\000\004A\000\000\000c\001\012\000\000\003\189\000\000\000\000\000\216\000\000\000\000\000\000\000\000\000\217\000\215\000\000\000\000\002H\000\000\001\233\0023\000\000\003\186\000\000\000\000\000\000\000\218\000\199\000\000\000\000\001\173\000\000\001\172\000\000\001\187\000\000\001\207\000\000\000\000\000\000\003\251\000\000\000\000\000\000\003\233\003\232\000\000\000\000\000\000\003\240\003\239\000\000\003\238\003\237\000\000\003\234\000\000\003\231\000\000\000\000\000\000\003\236\000\000\003\235\000\000\004\000\000\000\003\255\000\000\000\000\000\000\003\223\003\222\000\000\000\000\000\000\003\230\003\229\000\000\003\228\003\227\000\000\003\224\000\000\003\221\000\000\000\000\000\000\003\226\000\000\003\225\000\000\000\000\003\243\003\242\000\000\004\001\000\000\000\000\000\000\003\250\003\249\000\000\003\248\000\000\003\252\003\247\000\000\003\244\000\000\003\254\000\000\000\000\000\000\000\000\004\003\000\000\000\000\000\000\000\000\004\004\004\002\000\000\003\253\000\000\003\241\000\000\004\t\000\000\000\000\000\000\003\246\000\000\001\252\000\000\0047\000\000\000\000\002E\001\253\000\000\001\227\0020\000\000\000\000\000\000\000\000\004\b\003\245\0048\000\000\004;\004:\000\000\000\000\003\147\0049\000\139\000\000\0012\000\000\000\000\000\000\000\000\004\006\000\000\000\000\000\000\000\000\004\007\004\005\000\000\000\000\004(\000\000\000\000\000\000\004\022\004\021\000\000\000\000\000\000\004\029\004\028\000\000\004\027\004\026\000\000\004\023\000\000\004\020\000\000\000\000\000\000\004\025\000\000\004\024\000\000\004-\000\000\004,\000\000\000\000\000\000\004\012\004\011\000\000\000\000\000\000\004\019\004\018\000\000\004\017\004\016\000\000\004\r\000\000\004\n\000\000\000\000\000\000\004\015\000\000\004\014\000\000\000\000\004 \004\031\000\000\004.\000\000\000\000\000\000\004'\004&\000\000\004%\000\000\004)\004$\000\000\004!\000\000\004+\000\000\000\000\000\000\000\000\0040\000\000\000\000\000\000\000\000\0041\004/\000\000\004*\000\000\004\030\000\000\0046\000\000\000\000\000\000\004#\000\000\000\000\000\000\000\000\0045\004\"\000\000\000\000\000\000\000\000\0043\000\000\000\000\000\000\000\000\0044\0042\003\173\003\175\003\176\003\174\000\000\000\000\000\000\000\000\000\000\001\155\000\000\000\000\000\000\000\000\000\000\001\019\001\031\001\018\000\000\000\000\000\128\000\000\000\000\000\000\001+\000\000\003}\000\000\000\000\001'\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001.\000\000\000\000\0011\001p\001o\000\000\000\000\000\000\000\000\001\142\000\000\000\000\000\000\000\000\001$\000\000\001!\000\000\000\000\000\000\000\000\000\000\001,\000\000\001(\000\000\000\000\000\000\000\000\001)\000\000\001%\000\000\000\000\000\000\003#\000\000\000\000\000\000\000\000\004V\000\000\003\164\000\000\003\163\000\000\000\000\000\000\000\000\004j\000\000\000\000\000\000\004k\000\000\000\018\000\000\000\000\000\000\000\000\003*\000\000\000\000\000\000\003)\003(\003'\003&\003%\003!\000\000\004R\003\"\000\000\004S\003$\000\000\004U\000\000\003 \000\000\000{\002\237\000\000\000\000\002\240\000\000\000\000\002\243\000\000\000\000\002\238\002\241\000\000\002\239\002\242\003,\003\031\004T\000\000\000\000\000l\000\000\000k\000\000\003+\000\000\002-\000j\000B\001e\000r\000\000\000\000\000\000\000\000\000\000\000\000\000\145\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\000\000\000\000\000\000\000\000\000\000\000\000\002\244\000|\000\000\004f\000\000\001\237\000\000\000\000\000\000\001\022\003\154\001\193\000\000\001\192\001\154\001\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\168\000\000\000\000\000\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\001D\000\000\000\000\002f\000\000\000\000\000\154\002j\002g\001R\0013\000\000\0015\0014\000\000\003\166\000\000\003\165\003\150\000\000\000\000\000\000\000\000\000\000\003\160\000\000\003\155\000\000\003\167\000\000\000\000\000\000\000\000\003\161\003\152\002\176\000\000\001\026\001\156\000\000\003\170\000\000\001\158\000\000\000\000\003\198\000\000\003\205\001\028\000\000\001\"\000\000\003\199\001\027\000\000\003\200\000\000\003\207\000\000\000\000\000\000\000\000\001/\000\000\001\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001-\000\000\000\000\0010\000\000\000\000\000\000\000\000\001\141\000\000\000\000\000\000\001#\000\000\001 \000\000\000\000\000\000\000\000\000\000\001*\000\000\001&\001\024\001\023\000\000\003\208\003\209\000\000\003\210\000\000\003\211\000\000\001\157\003\158\000\000\000\000\002G\000\000\001\231\0022\000\000\003\151\000\000\000\000\000\000\003\157\000\000\000\000\000\000\001\130\000\000\001|\000\000\001}\000\000\001\135\001{\001\134\000\000\003\169\001\136\000\000\001\029\000\000\000\000\000\000\000\000\001\132\001\127\002C\000\000\001\128\000\000\001\129\000\000\001\223\002.\000\000\000\000\000\000\002O\000\000\002M\000\000\000\000\002Q\002K\000\000\002R\002L\000\000\003\171\002V\000\000\001\025\000\000\000\000\002D\000\000\001\225\002/\000\000\004g\000\000\004d\000\000\004e\000\019\000\020\000\000\000\000\003_\000\000\003^\000\000\002\150\000\000\003a\000\000\003`\000\000\000\000\000\000\002\158\000\000\000\000\002\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\165\000\000\000\000\002\168\000\000\002\152\000\000\000\000\002\155\000\000\000\000\000\000\002\159\000\000\000\000\002\163\000\000\000\000\002F\000\000\000\000\002\156\000\000\000\000\002\160\000\000\003]\003\\\002\153\000\000\000\000\000\000\000\000\002\166\000\000\002\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\164\000\000\000\000\002\167\000\000\002\151\000\000\000\000\002\154\000\000\000\000\000\000\002\157\000\000\000\000\002\161\000\000\001\229\0021\000\000\003b\000\000\000\000\004h\000\017\000~\000\000\004i\000\000\000\000\003y\000\000\000\000\003\172\000s\000\000\000\000\000\000\000t\000\000\003\162\000\000\001\199\000\000\001\201\003\159\000\000\000\000\001\179\000\000\001\178\000\000\001\188\000\000\001\213\000\000\000\000\000\000\001\177\000\000\001\176\000\000\001\185\000\000\001\211\000\000\000\000\000\000\001\184\000\000\000\000\000\000\001\181\000\000\001\180\000\000\001\186\000\000\001\215\000\000\000\000\000\000\001\182\000\000\000\000\000\000\001\175\000\000\001\174\000\000\001\189\000\000\001\209\000\000\000\000\000\000\001\183\000\002\000\000\000`\000a\000\000\000\000\003<\003@\003D\0038\0035\000\000\000\000\003A\003H\0039\003G\0037\003F\003;\0033\003:\003C\0036\003=\0034\003?\003E\003B\003>\002\002\002\001\000\137\000\000\000\000\003\143\000\000\000\000\000\000\000\000\003t\003q\000\000\000\000\003u\003r\003s\003R\000\000\000\000\003\149\003J\003I\003K\000\000\002\019\000_\001\190\000\003\000\000\000\000\003/\000\000\002\172\000\000\000\138\000\000\000\000\003\145\000\000\000\000\000\000\000\130\000\000\000\000\003\129\000\000\002\144\002\143\001\249\003S\000\000\002\"\000\000\0030\000\000\000\000\000\132\000\000\000\000\003\133\000\000\002\016\000\000\000\000\002\b\000\000\000\000\000\000\002\015\000\000\002\011\000\000\000\000\000\000\001\239\001\238\000\000\000\000\000\000\002#\000\000\002\006\000\000\002\005\000\000\000\127\000\000\000\000\003{\000\000\000\000\002\000\000\000\000\000\002\004\000\000\000\000\000\135\000\000\000\000\003\139\000\000\000\000\003Z\000\000\003Y\000\000\000\000\000\000\002\142\002\141\003W\002\182\003N\003X\000\000\002\022\000\000\000\000\000\000\002\018\000\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\002&\000\000\002\n\000\000\002\t\000\000\000\000\000\000\003P\000\136\000\000\000\000\003\141\000\000\003O\000\000\002\020\000\000\000\000\002\021\000\000\000\000\000\000\000\000\000\000\000\000\002%\000\000\002\014\000\000\002\r\000\000\000\000\001j\000\000\001i\000\000\000\000\000\000\000\000\000\000\002$\000\000\002\007\000\000\001h\000\000\002\\\000\133\000\000\000\000\003\135\000\000\000\000\000\000\000\000\003\194\003\193\000\000\000\000\001\146\000\129\001\145\000\000\000\000\003\127\000\000\002\136\002\135\002\138\003L\002\178\002\137\001g\000\000\000\134\000\000\000\000\003\137\000\000\000\000\000\000\000\000\002\140\002\139\003V\003T\002\180\003M\003U\000\000\002\029\000\000\002 \000\000\000\000\002\025\000\000\000\000\000\000\002\017\000\000\002\023\000\000\000\000\002\012\000\000\000\000\000\000\000\000\000\000\000\000\001\255\000\000\000\000\002\031\000\000\002\030\000\000\000\000\000\000\000\000\002\028\000\000\000\000\002\027\000\000\002\026\000\000\000\000\002!\000\000\000\000\001\191\000\004\000\000\002\003\000\005\000\000\000\000\001m\000\006\000\000\0027\0028\0026\000\000\0025\003\195\001\245\000\000\000\007\000\000\002:\002;\0029\000\000\000\000\000\000\000\000\001r\000\000\000\000\000\000\000\000\001w\001y\001x\001s\001u\001t\000\000\000\000\000\000\000\000\000\000\003\201\003\214\000\000\003\202\000\000\003\203\000\000\000\000\003\196\000\000\000\000\000\000\000\000\003\213\000\000\000\000\003\212\002?\002>\000\000\000\000\001\247\0024\002<\000\000\000\000\000\000\000\000\000\000\002\146\000\000\000\000\000\000\000\000\000\000\002{\002\145\000\000\000\000\000\000\000\167\000\000\000\000\000\166\002\127\002|\001V\001\020\000\000\000\000\000\000\000\000\001\140\001n\000\000\003\217\000\000\003\218\000\000\000\000\002Y\002W\000\000\002X\000\b\000\000\000\t\000\000\002\197\002\198\002\196\000\000\002\195\000\000\000\n\000\000\002\200\002\201\002\199\000\000\002\203\000\000\000\000\000\000\002\189\000\000\000\000\002\191\000\000\002\185\000\000\002\187\000\000\002\192\000\000\002\193\000\000\002\186\002\184\002\204\001\251\002\194\000\000\002\206\000\000\002\205\000\000\002\207\000\000\003[\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002\208\000\000\000\000\002\211\000\000\002\210\000\000\002\209\0016\000\000\000\000\000\000\000\000\0017\002\212\000\000\000\000\000\000\003g\000\000\003f\000\000\000\000\000\000\000\000\003h\000\000\000\000\001l\000\000\000\000\000\000\000\000\000\000\003w\000}\000\000\000\000\001?\000\000\001c\001b\000\000\001\171\000\000\003e\001\243\001\241\000\000\000\000\000\000\000\000\003i\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003d\000\000\000\000\000\000\000\000\000\000\000\000\003c\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003p\000\000\000\000\003o\000\000\003l\000\000\000\000\000\000\000\000\000\000\003m\000\000\000\000\000\000\003n\000\r\000\000\003j\000\000\003k") + (16, "\000\000\000\000\0036\000\131\000\000\000\000\003\138\001\157\000\000\001\155\001\156\001\154\000\000\001\159\001\158\000\001\000\000\001\212\000\000\000\000\000\147\000\000\000\000\001\202\000\205\000\000\000\000\000\000\000\187\000\186\000\000\000\000\000\000\000\194\000\193\000\000\000\192\000\191\000\000\000\188\000\000\000\185\000\000\000\000\000\000\000\190\000\000\000\189\003\199\003\198\000\000\000\210\000\000\000\209\000\000\000\000\000\000\000\177\000\176\000\000\000\000\000\000\000\184\000\183\000\000\000\182\000\181\000\000\000\178\000\000\000\175\000\000\000\000\000\000\000\180\000\000\000\179\000\000\000\000\000\197\000\196\000\000\000\211\000\000\000\000\000\000\000\204\000\203\000\000\000\202\000\000\000\206\000\201\000\000\000\198\000\000\000\208\000\000\004s\000\000\000\000\0022\0021\0020\002/\000\000\001F\001E\000\000\000\000\002J\000\000\001\226\0024\000\000\000\000\000\000\000\000\000\000\001M\000\000\000\000\001f\001\150\001e\001d\001c\001b\001\149\001\148\001a\001`\002w\000\000\000\000\002v\000\000\000\000\000\000\000\159\000\000\000\000\000\158\002z\001^\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\214\000\212\000\000\000\207\000\146\000\000\000\195\000\000\000\219\000\000\000\000\000\000\000\200\000\000\000\000\000\000\003Z\000\000\003\191\003\190\003\192\000\000\003\227\000\000\003\184\000\000\000\000\000\000\000\000\001Q\000\000\000\000\000\000\004j\002\253\000\000\000\000\004h\000\000\003\025\000\000\000\000\000\000\000\000\000\000\000\000\004g\004i\003\003\001\144\003\002\001\143\003\001\003\000\002\255\002^\002\251\000\000\000\000\002\252\001G\000\000\000\000\000\000\002\254\000\000\000\000\002\250\004f\000\000\000\000\004G\002\217\000\000\000\000\002\220\000\000\000\000\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\001H\001\142\002\249\003\006\000m\000\021\000o\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000S\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\141\000d\001R\000p\002\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\000\000\000n\000f\000\000\000e\000\000\002\218\002\221\000\000\002\219\002\222\004F\000\000\003!\000\000\001\011\000\000\000\000\002K\000\000\001\228\0025\000\000\000\000\002I\000\000\000\000\000\250\000\000\000\000\000\000\000\232\000\231\000\000\000\000\000\000\000\239\000\238\000\000\000\237\000\236\000\000\000\233\000\000\000\230\000\000\000\000\000\000\000\235\000\000\000\234\000\000\000\255\000\000\000\254\000\000\000\000\000\000\000\222\000\221\000\000\000\000\000\000\000\229\000\228\000\000\000\227\000\226\000\000\000\223\000\000\000\220\000\000\000\000\000\000\000\225\000\000\000\224\000\000\000\000\000\242\000\241\000\000\001\000\000\000\000\000\000\000\000\249\000\248\000\000\000\247\000\000\000\251\000\246\000\000\000\243\000\000\000\253\000\000\000\000\000\000\000\000\001\002\000\000\000\000\000\000\000\000\001\003\001\001\000\000\000\252\000\000\000\240\000\000\001\b\000\000\000\000\000\000\000\245\000\000\000\000\003\185\003\186\000\000\000\000\001\007\000\000\003\188\003Y\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\157\001\016\001\017\000\000\000\000\000\000\000\000\000\000\002\139\002\156\002R\000\000\000\000\000\000\000\000\000\000\001]\001\021\000\000\002S\000\000\000\000\000\000\000\000\001\015\000\000\001\r\000\000\001\204\000\171\000\000\000\000\000\170\002\143\002\140\000\000\000\000\003\195\000\000\003\194\000\000\000\000\000\000\000\000\000\000\001\005\000\000\000\000\000\000\000\000\001\006\001\004\003\226\000\000\000\000\003\197\003\189\000\244\000\000\001\224\0023\000\000\000\000\003 \000\000\000\000\000\000\003\011\000\000\000\000\000\000\003\004\000\000\000\000\000\000\000\000\000\000\003\019\000\000\000\000\003\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001B\001A\000\000\000\000\003\017\001\174\001\173\003\016\000\000\003\015\003\014\003\r\001\176\003\t\000\000\004K\003\n\000\000\000\000\000\000\000\000\000\000\001@\000\000\004L\003\012\000\000\004N\000\000\003\b\000\000\000\000\000w\002\225\000\000\000\000\002\228\000\000\000\000\003\031\003\030\000\015\003\029\003\028\003\027\003\023\000\000\004R\003\024\000\000\000\000\000\000\000\000\004S\003\026\000\000\004U\000\000\003\022\000\000\000y\002\233\000\000\000\000\002\236\000\000\000\000\000\000\000i\000\000\000h\001U\003\"\003\021\001S\000\000\002\239\000\014\000\016\000g\0003\001C\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\143\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0005\000\000\000\000\000\000\000\000\000\000\000\000\002h\000\000\000\000\002\234\002\237\000\000\002\235\002\238\004T\000\151\002l\000\000\000\000\000\150\002i\000\000\002\231\000\000\000\000\002\226\002\229\000\000\002\227\002\230\003\020\003\007\004M\000\000\001Y\000\000\000\000\000\000\000\000\001\171\000\000\001\210\000$\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&\000\000\000\000\000\000\000\000\001\172\000\000\001\167\000\000\000\000\002}\000\000\000\000\000\000\000\163\000\000\000\000\000\162\002\129\001\175\001\168\000\000\001O\001\166\002~\000\000\001\170\000\000\002\232\000x\000\000\002\224\004O\000\000\002\240\000z\000\000\002\223\004b\004c\004a\004`\004E\000\000\000\000\004D\001k\000\000\002\\\000\000\000\000\000\000\000\000\000\000\001K\002c\000\000\000\000\001\242\000\000\003\005\000\000\000\000\000v\000\000\000\000\000\000\004V\000\000\002]\000\000\000\000\000\000\004d\000\000\000\000\000\000\004H\000\000\000c\001\012\000\000\003\196\000\000\000\000\000\216\000\000\000\000\000\000\000\000\000\217\000\215\000\000\000\000\002Q\000\000\001\240\002<\000\000\003\193\000\000\000\000\000\000\000\218\000\199\000\000\000\000\001\180\000\000\001\179\000\000\001\194\000\000\001\214\000\000\000\000\000\000\004\002\000\000\000\000\000\000\003\240\003\239\000\000\000\000\000\000\003\247\003\246\000\000\003\245\003\244\000\000\003\241\000\000\003\238\000\000\000\000\000\000\003\243\000\000\003\242\000\000\004\007\000\000\004\006\000\000\000\000\000\000\003\230\003\229\000\000\000\000\000\000\003\237\003\236\000\000\003\235\003\234\000\000\003\231\000\000\003\228\000\000\000\000\000\000\003\233\000\000\003\232\000\000\000\000\003\250\003\249\000\000\004\b\000\000\000\000\000\000\004\001\004\000\000\000\003\255\000\000\004\003\003\254\000\000\003\251\000\000\004\005\000\000\000\000\000\000\000\000\004\n\000\000\000\000\000\000\000\000\004\011\004\t\000\000\004\004\000\000\003\248\000\000\004\016\000\000\000\000\000\000\003\253\000\000\002\003\000\000\004>\000\000\000\000\002N\002\004\000\000\001\234\0029\000\000\000\000\000\000\000\000\004\015\003\252\004?\000\000\004B\004A\000\000\000\000\003\154\004@\000\139\000\000\0012\000\000\000\000\000\000\000\000\004\r\000\000\000\000\000\000\000\000\004\014\004\012\000\000\000\000\004/\000\000\000\000\000\000\004\029\004\028\000\000\000\000\000\000\004$\004#\000\000\004\"\004!\000\000\004\030\000\000\004\027\000\000\000\000\000\000\004 \000\000\004\031\000\000\0044\000\000\0043\000\000\000\000\000\000\004\019\004\018\000\000\000\000\000\000\004\026\004\025\000\000\004\024\004\023\000\000\004\020\000\000\004\017\000\000\000\000\000\000\004\022\000\000\004\021\000\000\000\000\004'\004&\000\000\0045\000\000\000\000\000\000\004.\004-\000\000\004,\000\000\0040\004+\000\000\004(\000\000\0042\000\000\000\000\000\000\000\000\0047\000\000\000\000\000\000\000\000\0048\0046\000\000\0041\000\000\004%\000\000\004=\000\000\000\000\000\000\004*\000\000\000\000\000\000\000\000\004<\004)\000\000\000\000\000\000\000\000\004:\000\000\000\000\000\000\000\000\004;\0049\003\180\003\182\003\183\003\181\000\000\000\000\000\000\000\000\000\000\001\162\000\000\000\000\000\000\000\000\000\000\001\019\001\031\001\018\000\000\000\000\000\128\000\000\000\000\000\000\001+\000\000\003\132\000\000\000\000\001'\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001.\000\000\000\000\0011\001u\001t\000\000\000\000\000\000\000\000\001\147\000\000\000\000\000\000\000\000\001$\000\000\001!\000\000\000\000\000\000\000\000\000\000\001,\000\000\001(\000\000\000\000\000\000\000\000\001)\000\000\001%\000\000\000\000\000\000\000\000\003'\000\000\000\000\000\000\000\000\004]\000\000\003\171\000\000\003\170\000\000\000\000\000\000\000\000\004q\000\000\000\000\000\000\004r\000\000\000\018\000\000\000\000\000\000\000\000\003.\000\000\000\000\000\000\003-\003,\003+\003*\003)\003%\000\000\004Y\003&\000\000\004Z\003(\000\000\004\\\000\000\003$\000\000\000{\002\241\000\000\000\000\002\244\000\000\000\000\002\247\000\000\000\000\002\242\002\245\000\000\002\243\002\246\0030\003#\004[\000\000\000\000\000l\000\000\000k\000\000\003/\000\000\0026\000j\000B\001j\000r\000\000\000\000\000\000\000\000\000\000\000\000\000\145\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\000\000\000\000\000\000\000\000\000\000\000\000\002\248\000|\000\000\004m\000\000\001\244\000\000\000\000\000\000\001\022\003\161\001\200\000\000\001\199\001\161\001\160\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\175\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\001I\000\000\000\000\002o\000\000\000\000\000\154\002s\002p\001W\0013\000\000\0015\0014\000\000\003\173\000\000\003\172\003\157\000\000\000\000\000\000\000\000\000\000\003\167\000\000\003\162\000\000\003\174\000\000\000\000\000\000\000\000\003\168\003\159\002\185\000\000\001\026\001\163\000\000\003\177\000\000\001\165\000\000\000\000\003\205\000\000\003\212\001\028\000\000\001\"\000\000\003\206\001\027\000\000\003\207\000\000\003\214\000\000\000\000\000\000\000\000\001/\000\000\001\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001-\000\000\000\000\0010\000\000\000\000\000\000\000\000\001\146\000\000\000\000\000\000\001#\000\000\001 \000\000\000\000\000\000\000\000\000\000\001*\000\000\001&\001\024\001\023\000\000\003\215\003\216\000\000\003\217\000\000\003\218\000\000\001\164\003\165\000\000\000\000\002P\000\000\001\238\002;\000\000\003\158\000\000\000\000\000\000\003\164\000\000\000\000\000\000\001\135\000\000\001\129\000\000\001\130\000\000\001\140\001\128\001\139\000\000\003\176\001\141\000\000\001\029\000\000\000\000\000\000\000\000\001\137\001\132\002L\000\000\001\133\000\000\001\134\000\000\001\230\0027\000\000\000\000\000\000\002X\000\000\002V\000\000\000\000\002Z\002T\000\000\002[\002U\000\000\003\178\002_\000\000\001\025\000\000\000\000\002M\000\000\001\232\0028\000\000\004n\000\000\004k\000\000\004l\000\019\000\020\000\000\000\000\003f\000\000\003e\000\000\002\159\000\000\003h\000\000\003g\000\000\000\000\000\000\002\167\000\000\000\000\002\171\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\174\000\000\000\000\002\177\000\000\002\161\000\000\000\000\002\164\000\000\000\000\000\000\002\168\000\000\000\000\002\172\000\000\000\000\002O\000\000\000\000\002\165\000\000\000\000\002\169\000\000\000\000\003d\003c\002\162\000\000\000\000\000\000\000\000\002\175\000\000\002\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\173\000\000\000\000\002\176\000\000\002\160\000\000\000\000\002\163\000\000\000\000\000\000\002\166\000\000\000\000\002\170\000\000\001\236\002:\000\000\003i\000\000\000\000\004o\000\017\000~\000\000\004p\000\000\000\000\003\128\000\000\000\000\003\179\000s\000\000\000\000\000\000\000t\000\000\003\169\000\000\001\206\000\000\001\208\003\166\000\000\000\000\001\186\000\000\001\185\000\000\001\195\000\000\001\220\000\000\000\000\000\000\001\184\000\000\001\183\000\000\001\192\000\000\001\218\000\000\000\000\000\000\001\191\000\000\000\000\000\000\001\188\000\000\001\187\000\000\001\193\000\000\001\222\000\000\000\000\000\000\001\189\000\000\000\000\000\000\001\182\000\000\001\181\000\000\001\196\000\000\001\216\000\000\000\000\000\000\001\190\000\002\000\000\000`\000\000\000\000\002.\000a\000\000\000\000\003@\003D\003H\003<\003M\0039\000\000\000\000\003E\003L\003=\003K\003;\003J\003?\0037\003>\003G\003:\003A\0038\003C\003I\003F\003B\002\t\002\b\000\137\000\000\000\000\003\150\000\000\000\000\000\000\000\000\003{\003x\000\000\000\000\003|\003y\003z\003W\000\000\000\000\003\156\003O\003N\003P\000\000\002\026\000_\001\197\000\003\000\000\000\000\0033\000\000\002\181\000\000\000\138\000\000\000\000\003\152\000\000\000\000\000\000\000\130\000\000\000\000\003\136\000\000\002\153\002\152\002\000\003X\000\000\002)\000\000\0034\000\000\000\000\000\132\000\000\000\000\003\140\000\000\002\023\000\000\000\000\002\015\000\000\000\000\000\000\002\022\000\000\002\018\000\000\000\000\000\000\001\246\001\245\000\000\000\000\000\000\002*\000\000\002\r\000\000\002\012\000\000\000\127\000\000\000\000\003\130\000\000\000\000\002\007\000\000\000\000\002\011\000\000\000\000\000\135\000\000\000\000\003\146\000\000\000\000\003a\000\000\003`\000\000\000\000\000\000\002\151\002\150\003^\002\191\003S\003_\000\000\002\029\000\000\000\000\000\000\002\025\000\000\002\031\000\000\000\000\000\000\000\000\000\000\000\000\002-\000\000\002\017\000\000\002\016\000\000\000\000\000\000\003U\000\136\000\000\000\000\003\148\000\000\003T\000\000\002\027\000\000\000\000\002\028\000\000\000\000\000\000\000\000\000\000\000\000\002,\000\000\002\021\000\000\002\020\000\000\000\000\001o\000\000\001n\000\000\000\000\000\000\000\000\000\000\002+\000\000\002\014\000\000\001m\000\000\002e\000\133\000\000\000\000\003\142\000\000\000\000\000\000\000\000\003\201\003\200\000\000\000\000\001\153\001\152\000\129\001\151\000\000\000\000\003\134\000\000\002\145\002\144\002\147\003Q\002\187\002\146\001l\000\000\000\134\000\000\000\000\003\144\000\000\000\000\000\000\000\000\002\149\002\148\003]\003[\002\189\003R\003\\\000\000\002$\000\000\002'\000\000\000\000\002 \000\000\000\000\000\000\002\024\000\000\002\030\000\000\000\000\002\019\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\002&\000\000\002%\000\000\000\000\000\000\000\000\002#\000\000\000\000\002\"\000\000\002!\000\000\000\000\002(\000\000\000\000\001\198\000\004\000\000\002\n\000\005\000\000\000\000\001r\000\006\000\000\002@\002A\002?\000\000\002>\003\202\001\252\000\000\000\007\000\000\002C\002D\002B\000\000\000\000\000\000\000\000\001w\000\000\000\000\000\000\000\000\001|\001~\001}\001x\001z\001y\000\000\000\000\000\000\000\000\000\000\003\208\003\221\000\000\003\209\000\000\003\210\000\000\000\000\003\203\000\000\000\000\000\000\000\000\003\220\000\000\000\000\003\219\002H\002G\000\000\000\000\001\254\002=\002E\000\000\000\000\000\000\000\000\000\000\002\155\000\000\000\000\000\000\000\000\000\000\002\132\002\154\000\000\000\000\000\000\000\167\000\000\000\000\000\166\002\136\002\133\001[\001\020\000\000\000\000\000\000\000\000\001\145\001s\000\000\003\224\000\000\003\225\000\000\000\000\002b\002`\000\000\002a\000\b\000\000\000\t\000\000\002\206\002\207\002\205\000\000\002\204\000\000\000\n\000\000\002\209\002\210\002\208\000\000\002\212\000\000\000\000\000\000\002\198\000\000\000\000\002\200\000\000\002\194\000\000\002\196\000\000\002\201\000\000\002\202\000\000\002\195\002\193\002\213\002\002\002\203\000\000\002\215\000\000\002\214\000\000\002\216\000\000\003b\000\011\000\000\000\000\000\000\000\000\000\000\000\000\0016\000\000\000\000\001:\000\000\0019\000\000\0017\000\000\000\000\000\000\000\000\000\000\001;\0018\000\000\001=\000\000\000\000\000\000\003n\000\000\003m\000\000\000\000\000\000\000\000\003o\000\000\000\000\001q\000\000\000\000\000\000\000\000\000\000\003~\000}\000\000\000\000\001D\000\000\001h\001g\000\000\001\178\000\000\003l\001\250\001\248\000\000\000\000\000\000\000\000\003p\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003k\000\000\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003w\000\000\000\000\003v\000\000\003s\000\000\000\000\000\000\000\000\000\000\003t\000\000\000\000\000\000\003u\000\r\000\000\003q\000\000\003r") let error = - (192, "\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\b\001\006\000\000\002\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\252\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\tP\208\002\128\131T\0162\025@\134\0014\002!\222\004\128\001\014d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\026\209\192\000\000\003\016\0000\001@\134\001\016\002\000\132\000\000\000\002d1\001\b\208\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\n\208\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\b\208\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\026\209\192\000\000\003\016\0000\001@\134\001\016\002\000\132\000\000\000\002d1\001\b\208\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\n\208\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\b\208\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\b\208\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\n\212\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\b\208\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000 \000\002\004\000\000\000\000\000\000\000\000\000\000\000\000\000\012#\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0001\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0001\t\000\134\001\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\001\129\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000!\000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000A\000\002\000\000 \128@\001\129\000\000\000\128\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\001\129\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\000 \000\002 \000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\b\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\018@\000H4\n\001\1423\000\000\132\128@\000\000A\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\134z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\000\000A\000\134\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\00010M\150K\000\000\000P\002\004\000\000n\128B|w\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \134z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\00010M\150K\000\000\000P\002\004\000\000n\128B|w\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000l\128\002xw\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000l\128\002xw\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\012\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\b\208\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\n\208\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\b\208\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\b\208\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\n\208\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\b\208\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\b\208\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\n\212\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\b\208\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0001\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0001\t\000\134\001\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\000\000\000\004\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\000\000\000 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\004\001\000\000\000\128\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\000 \000\002 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000!\000\000\004\001\000\000\000\128\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0001\t\000\134\001\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\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\000\000 \000\000\000\000\000\000\018@\000H5\n\001\1423\000\000\132\128@\000\000A\000\134\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\004\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\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\000\000 \000\000\000\000 \000\0000\000A\129J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\004\134\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\000z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\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\000\000 \000\000\000\000\000\000\018@\000@1\n\001\1422\000\001\132\128@\000\000A\000\134\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\004\134\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\b\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\004\134\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\00010M\150K\000\000\000P\002\004\000\000n\128BTw\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\000\002\004\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\134\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\004\134\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000@0\n\001\1422\000\001\132\128@\000\000A\000\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\0000 A\146J\000\000\000@\000\004\000\000B\128B\004\006\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \134z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\000\000\002 \000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\000\000A \134z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A\000\134\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\000\000A\000\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\0000 E\146J\000\000\000@\000\004\000\000j\128B0F\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000h\128\0020F\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\012\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \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\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\00000A\146K\000\000\000@\000\004\000\000f\128BDF\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\018@\000@3\n\001\1903\000\001\132\128@\"\000A\000\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\018@\000@3\n\001\1903\000\001\132\128@\"\000A\000\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\002\000\000\000\000\000\000\000\000\000\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\004\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\002\004\000\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@\"\000A\004\134\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\000\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\002\004\000\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\004\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\b\000\000\016\000\000\000\000\000@\018@\000H4\n\001\1423\000\000\132\128@\000\000A\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\000\000A\000\134\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\b\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\018@\000H5\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\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\0000\000E\129J\000\000\000@\000\000\000\000h\128\0020F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\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\0001\016M\133K\000\000\000P\002\000\000\000l\128\002|w\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\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\0001\016M\133K\000\000\000P\002\000\000\000l\128\002|w\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0001\t\000\134\001\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000z\246\175\000\001\000\002\000\000 \000@\001\129\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\0000\001\000\004\001\000\000\000\128\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134z\246\175\000\001\000\002\000\000 \000@\000\001\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\128\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\128\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\128\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\128\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\132\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\128\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000z\246\175\000\001\000\002\000\000 \000@\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\001$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000!\000\000\004\001\000\000\000\128\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\001$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\128\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\128\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\128\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\128\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\132\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\128\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\001$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000!\000\000\004\001\000\000\000\128\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\001$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\002\004\026@\144@1\n\017\2063\b\001\158\160\192\001\024Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\128\001\000\002\000\000 \000@\000\012\000\000\000\128\000\000\006\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\134\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\018\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\127\254\191\130\005\026B\144H5\nq\206?\b\001\158\160\192\t\030Q\134\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\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\0001\016M\133K\000\000\000P\002\000\000\000h\128\000Pw\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\016H4\n\001\1423\000\000\132\128@\b\000A\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\131\197\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000@\000\000\000\000\000\000\001\002 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144@1\nq\206?\b\001\158\160\192\001\026Q\002\134\127\254\191\130\005\026B\144H5\011q\206?\b\001\158\160\192\t\026QB\134z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\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\000\000 \000\000\000\000\000\000\018@\000@1\n\001\1422\000\001\132\128@\000\000A\000\134\000\000\000\000\000\018@\000@0\n\001\1422\000\001\132\128@\000\000A\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000@0\n\001\1422\000\001\132\128@\000\000A\000\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\00010M\150K\000\000\000P\002\004\000\000j\128@Pw\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000h\128\000Pw\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\012\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\004\134\000\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\127\254\191\131\197\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\195\197\026B\144@1\139q\206?\024\001\158\164\192\001\030Q\198\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\127\254\191\130\005\026B\144H5\011q\206?\b\001\158\160\192\t\026QB\134\127\254\191\130\005\026B\144H5\nq\206?\b\001\158\160\192\t\026Q\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026C\144L5\011q\206?\024\003\158\164\192\029\030Q\214\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\002\004\026@\144@1\n\017\2063\b\001\158\160\192\001\024Q\002\134\000\000\000\002\004\026@\144@1\n\017\2063\b\001\158\160\192\001\024Q\002\134\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\016H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\016H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A \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\002\004\026@\144@1\n\017\2063\b\001\158\160\192\001\024Q\002\134\000\000\000\002\004\026@\144@1\n\017\2063\b\001\158\160\192\001\024Q\002\134\000\000\000\000\000\000\000\000\000\000\128\000\004\001\000\000\000\128\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\128\000\004\001\000\000\000\128\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\128\000\004\001\000\000\000\128\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\128\000\004\001\000\000\000\128\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \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\002\004\026@\144@1\n\017\2063\b\001\158\160\192\001\024Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144H5\nq\206?\024\001\158\160\192\t\026Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\195\197\026B\144@1\139q\206?\024\001\158\164\192\001\030Q\198\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144@1\138q\206?\024\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\b\004\000\000\000\000\016\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144@1\138q\206?\024\001\158\160\192\001\026Q\002\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\00010M\182K\000\004\001P\002\004\128\000n\128@Pw\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\016\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144H5\nq\206?\024\001\158\160\192\t\026Q\002\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144@1\138q\206?\024\001\158\160\192\001\026Q\002\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\0000\000\000\134\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144H5\nq\206?\024\001\158\160\192\t\026Q\002\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\016\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144H5\nq\206?\024\001\158\160\192\t\026Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\0000\000\000\134\001\016\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\002\004\026@\144@1\n\017\2063\b\001\158\160\192\001\024Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\127\254\255\194\005\026C\144L5\011q\206?\024\003\158\164\192\025\030Q\214\183\000\000\000\002\004\026@\144@1\n\017\2063\b\001\158\160\192\001\024Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144@1\139q\206?\b\001\158\160\192\001\030Q\198\134\000\000\000\000\000\000\000\000\b\004\000\000\000\000\000\000\000\000\000\b\000\000\000\000\127\254\191\130\005\026B\144@1\139q\206?\b\001\158\160\192\001\030Q\198\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\016\b\004\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144H5\011q\206?\b\001\158\160\192\t\030Q\198\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\127\254\191\130\005\026B\144H5\011q\206?\b\001\158\160\192\t\030Q\198\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\127\254\191\130\005\026B\144@1\139q\206?\b\001\158\160\192\001\026QB\134\000\000\000\000\000\000\000\000\b\004\001\000\000\000\000\000\000\000\000\b\000\000@\000\127\254\191\130\005\026B\144@1\139q\206?\b\001\158\160\192\001\026QB\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\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\001\000\000\000\000\000\000\000\000\b\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144H5\011q\206?\b\001\158\160\192\t\026QB\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\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\0000\001\000\134\001\000\000\000\128\000\000\000\000@\000\000\000\000\000\000\000\001\000\012\004\000\000\000\000\000\002\000\000\000\b\000\000\016\001\127\254\191\130\005\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\016\012\004\000\000\000\000\000\002\000\000\000\b\000\000\016\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026C\144L5\nq\206?\b\003\158\160\192\t\026Q\018\135\127\254\191\130\005\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026C\144L5\nq\206?\b\003\158\160\192\t\026Q\018\135\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\127\254\191\130\005\026B\144H5\011q\206?\b\001\158\160\192\t\026QB\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\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\016\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144H5\nq\206?\024\001\158\160\192\t\026Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\254\191\128\001\018B\144@0\nA\142>\000\001\132\128@\000\002Q\002\134\000\000\000\000\000\018@\016H4\n\001\1423\000\000\132\128@\b\000A\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\254\191\128\001\018B\144@0\nA\142>\000\001\132\128@\000\002Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\134\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000{\254\191\128\001\018B\144@0\nA\142>\000\001\132\128@\000\002Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\00000A\178K\000\004\001@\000\004\128\000b\128@@F\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\0000\000\000\134\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\0000\001\000\134\001\000\000\000\128\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\001\002\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\127\254\191\130\005\026B\144H5\nq\206?\b\001\158\160\192\t\030Q\134\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\128\001\000\002\000\000 \000@\000\012\000\000\000\128\000\000\006\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\127\254\191\130\005\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\026@\144@1\n\017\2063\b\001\158\160\192\001\024Q\002\134\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\002\004\026@\144@1\n\017\2063\b\001\158\160\192\001\024Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\026@\144@1\n\017\2063\b\001\158\160\192\001\024Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\128\001\000\002\000\000 \000@\000\012\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\127\254\191\128\001\000\002\000\000 \000@\000\012\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\128\001\000\002\000\000 \000@\000\012\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\b\003\128\130D\144!\000\192\000\001$\000!J\020\128\001\140\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\001\000\016\002\128\128D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000 \000\002\000\000\000\000\000\000 \002\002\000\000\000\000\000\004\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\"\000\000\000\000\000\000 \002\002\000\000\000\000\000\004\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\003\128\130D\016!\000\192\000\001$\000!H\020\128\001\140\000\000z\246\175\000\003\128\130\000\016!\000\192\000\001$\000!H\020\128\001\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130F\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\003\128\130@\016!\000\192\000\001$\000!H\020\128\001\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\003\128\130\000\016!\000\192\000\001$\000!H\020\128\001\132\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\004\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000\164\000!\218\004\128\001\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\016\000\000\000\164\000!\218\004\128\001\014\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000\161\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\001\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\224\130D\016\000P\000\000\000\164\000!\218\004\128\001\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\016\000\000\000\164\000!\218\004\128\001\014\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000\161\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\"\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\"\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\016\000\000\000\164\000!\218\004\128\001\014\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000\161\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\001\b\016\002\128\130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\132\130D\016\002P\000\000\000\164\000!\218\004\128\001\014\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000\161\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000d\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\224\130D\016\000P\000\000\000\164\000!\218\004\128\001\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\247\175\016\003\128\130D\016!\016@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\001\000\016\002\128\128D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\228\130D\016\002X\000\000\000\164\000!\218\004\128\001\014\000\000\000\001\000\016\002\128\130D\016\002\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000z\247\175\016\003\128\130D\016!\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\b\003\128\130D\144!\000\192\000\001$\000!J\020\128\001\140\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\014\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\000\000\000\000\000\127\254\255\194\005\026B\144H=\014q\206?\b\001\158\164\192\t\026Q\002\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\144H=\nq\206?\b\001\158\164\192\t\026Q\002\183{\254\255\192\001\000\002\000\000 \000@\000\000\000\000\000\004\000\000\000\000\000\000{\254\255\192\001\000\002\000\000 \000@\000\000\000\000\000\004\000\000\000\000\000\000{\254\255\192\001\000\002\000\000 \000@\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\bP\192\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\bP\192\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\bP\192\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\131\197\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\127\254\191\130\005\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\183\000\000\000\000\000\000\000\000\b\004\000\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144H5\nq\206?\b\001\158\160\192\t\026Q\002\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\004\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\131\197\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\127\254\191\130\005\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\127\254\191\130\005\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\131\197\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\127\254\191\130\005\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\254\255\192\001\000\002\000\000 \000@\000\000\000\000\000\132\000\000\000\000\000\000\001\bP\192\000\000\000\000\0000\000\000\134\001\000\000\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\134\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\000\000\000 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\004\001\000\000\000\128\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144H5\nq\206?\b\001\158\160\192\t\026Q\006\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144H5\nq\206?\b\001\158\160\192\t\026Q\002\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\000\016\0000\000\000\134\001\000\000\000\132\000\000\000\000\0001\000\000\000\000\000\000\b\b\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\014\001\1423\000\000\132\128@\b\000A\000\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\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\127\254\255\194\005\026B\144H=\014q\206?\b\001\158\164\192\t\026Q\002\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\144H=\nq\206?\b\001\158\164\192\t\026Q\002\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\144@1\138q\206?\b\001\158\164\192\001\026Q\002\183\000\000\000\000\000\000\000\000\b\004\000\000\000\000\000\000\000\000\000\b\000\000\0001\127\254\255\194\005\026B\144@1\138q\206?\b\001\158\164\192\001\026Q\002\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\144H5\nq\206?\b\001\158\164\192\t\026Q\002\183\127\254\255\194\005\026B\144@1\138q\206?\b\001\158\164\192\001\026Q\002\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\144H5\nq\206?\b\001\158\164\192\t\026Q\002\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\144H5\nq\206?\b\001\158\164\192\t\026Q\002\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\144H5\nq\206?\b\001\158\164\192\t\026Q\002\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\000\016\0000\000\000\134\001\000\000\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\144H5\nq\206?\b\001\158\164\192\t\026Q\002\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\144H5\nq\206?\b\001\158\164\192\t\026Q\002\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\000\016\0000\000\000\134\001\000\000\000\132\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\004\000\000\000\000\000\000\000\000\000@\145.\000`\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000 \000\000\016\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000 \004\000\000\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\016\000\000\000\001\000\000\000\000\000\000\000\000\001\006\000@\000 \020\000\000\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\001\000\000\000\000\000\000\000\000\001\006\000@\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\014\000`\000\000\016\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000`\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\002\000\016\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\014\000`\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000`\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000`\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000") + (194, "\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\012\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\0000\000\000\000\000\000\000\000\000\000 \000\002\000A\128\000\000\129\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\240\000\000\000\000\000\000\000\001\235\218\188\000\004\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\001\000\017\000\003\000\144\b`\017\000 \b@\000\000\000&C\016\016\149\r\000(\194\rP@\200e\002\024\004\208\b\135x\018\000\0049\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\000F\180p\000\001\0001\000\003\000\020\b`\017\000 \b@\000\000\000&C\016\016\141\012\000\000@\004@\000\192$\002\024\004@\b\002\016\000\000\000\t\144\196\004!C\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\173\012\000\000@\004@\000\192$\002\024\004@\b\002\016\000\000\000\t\144\196\004#C\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\004\000D\000\012\002@!\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000@\004@\000\192$\002\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\004\000D\000\012\002@!\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\004\000D\000\012\002@!\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000@\004@\000\192$\002\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000@\004@\000\192$\002\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\004\000D\000\012\002@!\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\173\028\000\000@\012@\000\192\005\002\024\004@\b\002\016\000\000\000\t\144\196\004#C\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\004\000D\000\012\002@!\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004+C\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\b\208\192\000\004\000D\000\012\002@!\128D\000\128!\000\000\000\000\153\012@B\0200\000\001\000\017\000\003\000\144\b`\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\004\000D\000\012\002@!\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\001\000\017\000\003\000\144\b`\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000B\0200\000\001\000\017\000\003\000\144\b`\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B40\000\001\000\017\000\003\000\144\b`\017\000 \b@\000\000\000&C\016\016\133\012\000\000@\004@\000\192$\002\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\001\000\017\000\003\000\144\b`\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004+S\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\b\208\192\000\004\000D\000\012\002@!\128D\000\128!\000\000\000\000\153\012@B\0200\000\001\000\017\000\003\000\144\b`\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\004\000D\000\012\002@!\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000@\004@\000\192$\002\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\001\000\017\000\003\000\144\b`\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\016\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\016\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\004\000\000\000\b\000\000\001\000@\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\001\000\000\000\002\000\000\000@\016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\130\000\000\016\004\000\000\002\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000@\016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\b\000\000\129\000\000\000\000\000\000\001\000\000\000\000\000\000\000\1940\000\b\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 @\000\000\000\000\000\000@\000\000\000\130\000\000\016\004\000\000\002\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\001\000\000\000\002\b\000\000@\016\000\000\b\000\000\000\000\000@\000\000\000\000\000\000@\000\000\000\130\000\000\016\004\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\001\000\000\000\002\b\000\000@\016\000\000\b\000\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\016\133\012\000\000@\004@\000\192$\002\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\004\000D\000\012B@!\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\001\000\000\000\002\b\000\000@\016\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\004!C\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000@\004@\000\192$\002\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\001\000\017\000\003\000\144\b`\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\004!C\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000@\000 \000\002\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000@\004@\000\196$\002\024\004@\b\002\016\000\000\000\t\144\197\235\218\188\000\004\016\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000A\000 \000\002\000\004\000\024\016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000A\000\000\000\002\016\000\000@\016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004\016\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\016A\000 \000\002\b\004\000\024\016\000\000\b\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004\016\002\000\000 \000@\001\129\000\000\000\128\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\128\000\000\016\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\000 \000\002 \000\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016B!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000\000\001\004\002\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\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\bg\175j\240\000\017I\b\001 \208)\0068\204\000\002\018\001\000 \001\004\002\025\235\218\188\000\004RB\000H4\nA\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\000\000\016@!\128\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\bg\175j\240\000\017I\b\001 \208)\0068\204\000\002\018\001\000 \001\004\002\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\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000@\000\000\000\000\000\000\016\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\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\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\t\000\000\003\019\004\217d\176\000\000\005\000 @\000\006\232\004'\199p\000\000\000\000\000@\000\000\000\128\000\000\016\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\020\144\128\018\r\"\144c\156\192\000! \016\002\000\016H!\158\189\171\192\000E$ \004\131@\164\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\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\012L\019e\146\192\000\000\020\000\129\000\000\027\160\016\159\029\192\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\002@\000\000\196A6\017,\000\000\001@\b\000\000\001\178\000\t\225\220\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\000\012D\019a\018\192\000\000\020\000\128\000\000\027 \000\158\029\192\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\000\000\003\017\004\216D\176\000\000\005\000 \000\000\004\200\000'\131p\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\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\012D\019a\018\192\000\000\020\000\128\000\000\019 \000\158\r\192\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\002@\000\000\196A6\017,\000\000\001@\b\000\000\0012\000\t\240\220\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\000\012D\019a\018\192\000\000\020\000\128\000\000\019 \000\159\r\192\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\002@\000\000\196A6\017,\000\000\001@\b\000\000\0012\000\t\240\220\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\000\012D\019a\018\192\000\000\020\000\128\000\000\019 \000\159\r\192\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\002@\000\000\196A6\017,\000\000\001@\b\000\000\0012\000\t\240\220\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\000\012D\019a\018\192\000\000\020\000\128\000\000\019 \000\159\r\192\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\002@\000\000\196A6\017,\000\000\001@\b\000\000\0012\000\t\240\220\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\000\012D\019a\018\192\000\000\020\000\128\000\000\019 \000\159\r\192\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\192\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\002@\000\000\196A6\017,\000\000\001@\b\000\000\0012\000\t\224\220\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\000\012D\019a\018\192\000\000\020\000\128\000\000\019 \000\158\r\192\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\002@\000\000\196A6\017,\000\000\001@\b\000\000\0012\000\t\224\220\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\000\012D\019a\018\192\000\000\020\000\128\000\000\019 \000\158\r\192\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\002@\000\000\196A6\017,\000\000\001@\b\000\000\0012\000\t\240\220\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\000\012D\019a\018\192\000\000\020\000\128\000\000\019 \000\159\r\192\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\002@\000\000\196A6\017,\000\000\001@\b\000\000\0012\000\t\240\220\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\000\012D\019a\018\192\000\000\020\000\128\000\000\019 \000\158\r\192\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\002@\000\000\196A6\017,\000\000\001@\b\000\000\0012\000\t\224\220\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\002@\000\000\196A6\017,\000\000\001@\b\000\000\0012\000\t\224\220\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\000\012D\019a\018\192\000\000\020\000\128\000\000\019 \000\158\r\192\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\002@\000\000\196A6\017,\000\000\001@\b\000\000\0012\000\t\224\220\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\002@\000\000\196A6\017,\000\000\001@\b\000\000\0012\000\t\224\220\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\000\012D\019a\018\192\000\000\020\000\128\000\000\019 \000\158\r\192\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000@\016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000z\246\175\000\001\000\000\128\000\b\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\175j\208\000\016\000\b\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\160@\000\000\000 \000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\016\141\012\000\000@\004@\000\192$\002\024\004@\b\002\016\000\000\000\t\144\196\004!C\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\173\012\000\000@\004@\000\192$\002\024\004@\b\002\016\000\000\000\t\144\196\004#C\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\004\000D\000\012\002@!\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000@\004@\000\192$\002\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\004\000D\000\012\002@!\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\004\000D\000\012\002@!\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000@\004@\000\192$\002\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\004\000D\000\012\002@!\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000@\004@\000\192$\002\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\000\128\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000B40\000\001\000\017\000\003\000\144\b`\017\000 \b@\000\000\000&C\016\016\133\012\000\000@\004@\000\192$\002\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\1800\000\001\000\017\000\003\000\144\b`\017\000 \b@\000\000\000&C\016\016\141\012\000\000@\004@\000\192$\002\024\004@\b\002\016\000\000\000\t\144\196\004!C\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000@\004@\000\192$\002\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\001\000\017\000\003\000\144\b`\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\004!C\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\001\000\017\000\003\000\144\b`\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004#C\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\004\000D\000\012\002@!\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\1810\000\001\000\017\000\003\000\144\b`\017\000 \b@\000\000\000&C\016\016\141\012\000\000@\004@\000\192$\002\024\004@\b\002\016\000\000\000\t\144\196\004!C\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000@\004@\000\192$\002\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\004\000D\000\012\002@!\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\001\000\017\000\003\000\144\b`\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\001\000\000\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\b \000\001\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\016\133\012\000\000@\004@\000\192$\002\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\004\000D\000\012B@!\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\001\000\000\000\002\b\000\000@\016\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\004!C\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000@\004@\000\192$\002\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\004\000D\000\012\002@!\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000@\004@\000\192$\002\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\016\133\012\000\000@\004@\000\192$\002\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\004\000D\000\012B@!\128D\000\128!\000\000\000\000\153\012^\189\171\192\000A\000 \000\002\b\004\000\024\016\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000B\0200\000\001\000\017\000\003\000\144\b`\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004\016\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000\016@\b\000\000\130\001\000\006\004\000\000\002\000\000\000\000\000\016\001\235\218\188\000\004\016\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\003\000\000\000@\016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000\016\000\b\000\000\130\001\024\000\004\000\000\000\000\000 \000\000\128\001\235\218\188\000\004\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\000\128\000\b \017\128\000@\000\000\000\000\000\000\000\b\000\030\189\171\192\000@\000 \000\002\b\004`\000\016\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\128\001\235\218\188\000\004\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\0000\000\000\004\001\000\000\000\128\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\002\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@\016\000\000\b\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\001\235\218\188\000\004\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000\016\000\b\000\000\130\001\024\000\004\000\000\000\000\000 \000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\000 \000\002 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\128\001\235\218\188\000\004\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\004\000\128\000\000\000\016\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000A\000\000\000\002\016\000\000@\016\000\000\b\000\000\000\000\000\000\007\175j\240\000\016@\b\000\000\130\001\000\006\004\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\004\000D\000\012\002@!\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000@\004@\000\196$\002\024\004@\b\002\016\000\000\000\t\144\197\235\218\188\000\004\016\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000B\0200\000\001\000\017\000\003\000\144\b`\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@\016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\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\030\189\171\192\000E$ \004\131@\164\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\005$\000\004\131P\160\024\2270\000\bH\004\000\000\004\016\b`\000\000\000\000\001I\000\001\000\206(\006\248\204\000\006\018\001\000\168\001\004\018\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\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\158\189\171\192\000E$ \004\131@\164\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\000\000\003\000\004\024\020\160\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001I\000\001\000\206(\006\248\204\000\006\018\001\000\168\001\004\018\024\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000\017I\b\001 \208)\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\001I\000\001\000\196(\0068\200\000\006\018\001\000\000\001\004\002\024\000\000\000\000\000R@\000@3\138\001\1903\000\001\132\128@*\000A\004\134\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\128\000\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001\000\206(\006\248\204\000\006\018\001\000\168\001\004\018\024\000\000\000\000\000R@\000@3\138\001\1903\000\001\132\128@*\000A\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\000\012L\019e\146\192\000\000\020\000\129\000\000\027\160\016\149\029\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 @\000\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\000R@\000H5\n\001\1583\000\000\132\128@\b\000A\000\134\000\000\000\000\000\020\144\000\016\012\226\128o\140\192\000a \016\n\128\016A!\128\000\000\000\000\001\000\000\000\002\000\000\000@\016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\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\004\000\000\000\000\000\000\001\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002@\000\000\196\1936Y,\000\000\001@\b\016\000\001\186\001\tQ\220\000\000\000\000\000R@\000@0\n\001\1422\000\001\132\128@\000\000A\000\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\002\000\000\000\192\129\006I(\000\000\001\000\000\016\000\001\n\001\b\016\024\000\000\000\000\000\016\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000E$ \004\131H\164\024\2310\000\bH\004\000\128\004\018\bg\175j\240\000\017I\b\001 \210)\0069\204\000\002\018\001\000 \001\004\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\000\007\175j\240\000\017I\b\001 \210)\0069\204\000\002\018\001\000\000\001\004\130\025\235\218\188\000\004RB\000H4\138A\142s\000\000\132\128@\b\000A\000\134\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\001\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\000R@\000H4\n\001\1423\000\000\132\128@\000\000A\000\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\002@\000\000\192\129\022I(\000\000\001\000\000\016\000\001\170\001\b\193\024\000\000\000\000\000\016\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000E$ \004\131H\164\024\2310\000\bH\004\000\128\004\018\b`\000\000\002@\000\000\192\001\022\001(\000\000\001\000\000\000\000\001\162\000\b\193\024\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\t\000\000\003\000\004X\004\160\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\0000\001\004\002\024\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\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000\144\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\t\000\000\003\000\004X\004\160\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000\144\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\t\000\000\003\000\004X\004\160\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000\144\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\t\000\000\003\000\004X\004\160\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\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\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\t\000\000\003\000\004X\004\160\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000\144\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\t\000\000\003\000\004X\004\160\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\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\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\t\000\000\003\000\004X\004\160\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000\144\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\030\189\171\192\000E$ \004\131H\164\024\2310\000\bH\004\000\128\004\018\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\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\016\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\000\007\175j\240\000\017I\b\001 \210)\0069\204\000\002\018\001\000 \001\004\130\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\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\016\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\000\000\003\003\004\025$\176\000\000\004\000\000@\000\006h\004$D`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\020\144\000\016\012\194\128o\140\192\000a \016\b\128\016@!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\001I\000\001\000\204(\006\248\204\000\006\018\001\000\136\001\004\002\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\128\000\000\000\000\000\000\000\000\b\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\b\000\000\003\000\004\024\004\160\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000\128\000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\b\000\000\003\000\004\024\004\160\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000\128\000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\b\000\000\003\000\004\024\004\160\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000\128\000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\b\000\000\003\000\004\024\004\160\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\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\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\b\000\000\003\000\004\024\004\160\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000\128\000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\b\000\000\003\000\004\024\004\160\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\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\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\b\000\000\003\000\004\024\004\160\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000\128\000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\020\144\000\016\012\226\128o\140\192\000a \016\n\128\016A!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\016\000\000\000\000\000\000R@\000@3\138\001\1903\000\001\132\128@\"\000A\004\134\000\000\000\000\000\020\144\000\016\012\226\128o\140\192\000a \016\n\128\016@!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\016\000\000\000\000\000\000R@\000@3\138\001\1903\000\001\132\128@*\000A\004\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\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\001\000\000\000\000\000\000\000\000\000\000\002\000\000\004\000\000\000\000\000\016\005$\000\004\131@\160\024\2270\000\bH\004\000\000\004\016\b`\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\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\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\000R@\000H4\n\001\1423\000\000\132\128@\000\000A\000\134\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\002\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\000\000\000\000\000\000\005$\000\004\131P\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004RB\000H4\nA\1423\000\000\132\128@\b\000A\000\134\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\t\000\000\003\000\004X\020\160\000\000\004\000\000\000\000\006\136\000#\004`\000\000\000\000\000\000\000\000\000\000\000\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\030\189\171\192\000E$ \004\131@\164\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\144\000\0001\016M\133K\000\000\000P\002\000\000\000l\128\002|w\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000E$ \004\131@\164\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\144\000\0001\016M\133K\000\000\000P\002\000\000\000l\128\002|w\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\004!C\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\001\000\017\000\003\016\144\b`\017\000 \b@\000\000\000&C\023\175j\240\000\016@\b\000\000\130\001\000\006\004\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\004\000D\000\012\002@!\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000z\246\175\000\001\004\000\128\000\b\000\016\000`@\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\0000\001\000\004\001\000\000\000\128\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000B\0200\000\001\000\017\000\003\000\144\b`\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000^\189\171\192\000@\000 \000\002\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\175\224\129E\164)\004\003\024\167\028\227\240\128\025\234\012\000\017\165\016(g\175j\240\000\016\000\b\000\000\128\001\000\000\004\000\000\000\000\000\000\000\000\000\000\000\004\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\160@\000\000\000 \000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\001\000(\194\t\016@\ba\000\000\004\144\000\135h\018\000\0040\000\000\000\004\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0008\001\000(\194\t\016@\ba\000\000\004\144\000\135h\018\000\0040\000\000\000\006\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\140 \145\004\000\134\016\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\194\t\016@\ba\000\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\140 \145\004\000\134\016\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\140 \145\004\000\134\016\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\194\t\016@\ba\000\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\140 \145\004\000\134\016\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\194\t\016@\ba\000\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\000\128\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\004\000\163\b$A\000!\132\000\000\018@\002\029\160H\000\016\192\000\000\000\016\001\000(\194\t\016@\ba\000\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\224\004\000\163\b$A\000!\132\000\000\018@\002\029\160H\000\016\192\000\000\000\024\001\000(\194\t\016@\ba\000\000\004\144\000\135h\018\000\0040\000\000\000\004\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\194\t\016@\ba\000\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\163\b$A\000!\132\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\004\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\163\b$A\000!\132\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\140 \145\004\000\134\016\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\225\004\000\163\b$A\000!\132\000\000\018@\002\029\160H\000\016\192\000\000\000\024\001\000(\194\t\016@\ba\000\000\004\144\000\135h\018\000\0040\000\000\000\004\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\194\t\016@\ba\000\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\140 \145\004\000\134\016\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\163\b$A\000!\132\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\001\000\000\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\b \000\001\000@\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\016\001\000(\194\t\016@\ba\000\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\140 \145\004\000\198\016\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\001\000\000\000\002\b\000\000@\016\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\004\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\194\t\016@\ba\000\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\140 \145\004\000\134\016\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\194\t\016@\ba\000\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\016\001\000(\194\t\016@\ba\000\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\000\128\000\b\000\016\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\016\000\030\189\171\192\000@\000 \000\002\000\004\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n0\130D\016\003\024@\000\001$\000!\218\004\128\001\012\000\000z\246\175\000\001\004\000\128\000\b \016\000`@\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\016\001\000(\194\t\016@\ba\000\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\001\000\000\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000@\000\000\000\000\001\000\000\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\004\000\000\000\b@\000\001\000@\000\000 \000\000\000\000\000\000\030\189\171\192\000A\000 \000\002\b\004\000\024\016\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\004\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\163\b$A\0001\132\000\000\018@\002\029\160H\000\016\192\000\007\175j\240\000\016@\b\000\000\130\001\000\006\004\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\140 \145\004\000\134\016\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\235\218\180\000\004\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\140 \145\004\000\134\016\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001(\016\000\000\000\b\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\140 \145\004\000\134\016\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\128\016\002\140 \145\004\000\134\016\000\000I\000\bv\129 \000C\000\000\000\000@\004\000\163\b$A\000!\132\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\140 \145\004\000\134\016\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\163\b$A\000!\132\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000@\004\000\163\b$A\000!\132\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\163\b$A\000!\132\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\160@\000\000\000 \000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\001\000(\194\t\016@\ba\000\000\004\144\000\135h\018\000\0040\000\000\000\004\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0008\001\000(\194\t\016@\ba\000\000\004\144\000\135h\018\000\0040\000\000\000\006\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\140 \145\004\000\134\016\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\194\t\016@\ba\000\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\140 \145\004\000\134\016\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\140 \145\004\000\134\016\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\194\t\016@\ba\000\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\016\002\140 \145\004\000\134\016\000\000I\000\bv\129 \000C\000\000\000\000@\004\000\163\b$A\000!\132\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\140 \145\004\000\134\016\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0008A\000(\194\t\016@\ba\000\000\004\144\000\135h\018\000\0040\000\000\000\006\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\140 \145\004\000\134\016\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\163\b$A\000!\132\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\140 \145\004\000\134\016\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\194\t\016@\ba\000\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000@\000\001\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\b\000\000@\016\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\004\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\163\b$A\0001\132\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000@\000\000\000\130\000\000\016\004\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\140 \145\004\000\134\016\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\163\b$A\000!\132\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\004\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\163\b$A\0001\132\000\000\018@\002\029\160H\000\016\192\000\007\175j\240\000\016@\b\000\000\130\001\000\006\004\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\140 \145\004\000\134\016\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\016\000\000\000!\000\000\004\001\000\000\000\128\000\000\000\000\000\000z\246\175\000\001\004\000\128\000\b \016\000`@\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\016\001\000(\194\t\016@\ba\000\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\140 \145\004\000\198\016\000\000I\000\bv\129 \000C\000\000\030\189\171\192\000A\000 \000\002\b\004\000\024\016\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\004\000@\n0\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\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\129\005\164\t\004\003\016\161\028\2270\128\025\234\012\000\017\133\016(`\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\128\001\004\000\128\000\b\000\016\000\003\000\000\000 \000\000\001\128!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\004\000\128\000\b\000\016\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000@\016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\020\144\000\018\rB\128g\140\192\000! \016\002\000\016@!\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\012\000\000!\128@\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000@\000 \000\002\b\004`\000\016\000\000\000\000\000\128\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005$\000\004\131P\160\025\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\018\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\b\000\000\128\000\000\000\000\000\000\005$\000\004\131P\160\025\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\175j\208\000\016@\b\000\000\000\001\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\004\001\000\000\000\128\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\b\000\000\128\000\000\000\000\000\000\005$\000\004\131P\160\025\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\016\004\000\000\002\000\000\000\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\020\144\000\018\rB\128g\140\192\000! \016\002\000\016@!\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\001\255\250\254\b\020ZB\144H5\nq\206?\b\001\158\160\192\t\030Q\134\134\000\000\000$\000\004\012L\019m\146\192\001\000T\000\129 \000\027\160\016\020\029\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\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\025\235\218\188\000\004RB\000H4\nA\1423\000\000\132\128@\b\000A\000\134\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\t\000\000\003\017\004\216T\176\000\000\005\000 \000\000\006\136\000\005\007p\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\016H4\n\001\1423\000\000\132\128@\b\000A\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\015\020ZB\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\016\000\000\000\000\000\000\000@\136\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\007\255\235\248 Qi\nA\000\196)\1998\252 \006z\131\000\004iD\n\025\255\250\254\b\020ZB\144H5\011q\206?\b\001\158\160\192\t\026QB\134z\246\175\000\001\020\144\128\018\r\002\144c\140\192\000! \016\002\000\016@!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\020\144\000\016\012B\128c\140\128\000a \016\000\000\016@!\128\000\000\000\000\005$\000\004\003\000\160\024\227 \000\024H\004\000\000\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\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\004\000\000\000\000\000\000\001\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001\000\192(\0068\200\000\006\018\001\000\000\001\004\002\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\t\000\000\003\019\004\217d\176\000\000\005\000 @\000\006\168\004\005\007p\000\000\000\000\000@\000\000\000\128\000\000\016\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\020\144\128\018\r\"\144c\156\192\000! \016\002\000\016H!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\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\016\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\000\000\003\017\004\216D\176\000\000\005\000 \000\000\006\136\000\005\007p\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\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\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\196A6\017,\000\000\001@\b\000\000\001\"\000\001@\220\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\000\012D\019a\018\192\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\192\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\002@\000\000\196A6\017,\000\000\001@\b\000\000\001\"\000\001@\220\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\000\012D\019a\018\192\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\002@\000\000\196A6\017,\000\000\001@\b\000\000\001\"\000\001@\220\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\000\012D\019a\018\192\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\002@\000\000\196A6\017,\000\000\001@\b\000\000\001\"\000\001@\220\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\000\012D\019a\018\192\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\000\012D\019a\018\192\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\002@\000\000\196A6\017,\000\000\001@\b\000\000\001\"\000\001@\220\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\000\012D\019a\018\192\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\000\012D\019a\018\192\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\002@\000\000\196A6\017,\000\000\001@\b\000\000\001\"\000\001@\220\000\000\000\000\000R@\000@3\138\001\1903\000\001\132\128@*\000A\004\134\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\255\250\254\015\020ZB\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\191\240\241E\164)\004\003\024\183\028\227\241\128\025\234L\000\017\229\028kp\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\b\020ZB\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\127\254\191\130\005\022\144\164\018\rB\220s\143\194\000g\1680\002F\148P\161\159\255\175\224\129E\164)\004\131P\167\028\227\240\128\025\234\012\000\145\165\016h`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\191\240\129E\1649\004\195P\183\028\227\241\1289\234L\001\209\229\029kp\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\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\002\004\022\144$\016\012B\132s\140\194\000g\1680\000F\020@\161\128\000\000\000\129\005\164\t\004\003\016\161\028\2270\128\025\234\012\000\017\133\016(`\000\000\000\000\000@\000\000\000\128\000\000\016\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001I\000A \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\004\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\130\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\002\004\022\144$\016\012B\132s\140\194\000g\1680\000F\020@\161\128\000\000\000\129\005\164\t\004\003\016\161\028\2270\128\025\234\012\000\017\133\016(`\000\000\000\000\000@\000\000\000\002\000\000\016\004\000\000\002\000\000 \000\000\128\000\000\000\000\000\000\016\000\000\000\000\128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\000\000\000\000\000\001\000\000\000\000\b\000\000@\016\000\000\b\000\000\000\000\002\000\000\000\000\000\000\000@\000\000\000\002\000\000\016\004\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\000\000\000\000\000\000\000@\000\000\000\002\000\000\016\004\000\000\002\000\000 \000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\000\000\000\000\000\001\000\000\000\000\b\000\000@\016\000\000\b\000\000\128\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\000\000\000\000\000\000\000\000\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\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000\017I\b\001 \210)\0069\204\000\002\018\001\000 \001\004\130\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\002\004\022\144$\016\012B\132s\140\194\000g\1680\000F\020@\161\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\022\144\164\018\rB\156s\143\198\000g\1680\002F\148@\161\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\251\255\015\020ZB\144@1\139q\206?\024\001\158\164\192\001\030Q\198\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\b\020ZB\144@1\138q\206?\024\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\002\001\000\000\000\000\004\000\000\000\000\002\000\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\235\248 Qi\nA\000\198)\1998\252`\006z\131\000\004iD\n\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\000\001\003\019\004\219d\176\000@\021\000 H\000\006\232\004\005\007p\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\016\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\235\248 Qi\nA \212)\1998\252`\006z\131\000$iD\n\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\127\254\191\130\005\022\144\164\016\012b\156s\143\198\000g\1680\000F\148@\173\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\001\235\218\188\000\004RB\000H4\138A\142s\000\000\132\128@\b\000A \134\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\0000\000\000\134\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000@\000 \000\002\b\004`\000\016\000\000\000\000\000\128\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005$\000\004\131P\160\025\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000@\000 \000\002\b\004`\000\016\000\000\000\000\000\128\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001I\000\001 \212(\006x\204\000\002\018\001\000 \001\004\002\024\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\235\218\180\000\004\016\002\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\b\000\000\001\000@\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\002\000\000 \000\000\000\000\000\000\001I\000\001 \212(\006x\204\000\002\018\001\000 \001\004\002\024\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\031\255\175\224\129E\164)\004\131P\167\028\227\241\128\025\234\012\000\145\165\016+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\004\002\001\000\000\000\000\004\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\235\248 Qi\nA \212)\1998\252`\006z\131\000$iD\n\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\004\000\012\000\000!\128D\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\002\004\022\144$\016\012B\132s\140\194\000g\1680\000F\020@\161\128\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\127\254\255\194\005\022\144\228\019\rB\220s\143\198\000\231\1690\006G\148u\173\192\000\000\000\129\005\164\t\004\003\016\161\028\2270\128\025\234\012\000\017\133\016(`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\b\020ZB\144@1\139q\206?\b\001\158\160\192\001\030Q\198\134\000\000\000\000\000\000\000\000\002\001\000\000\000\000\000\000\000\000\000\002\000\000\000\000\031\255\175\224\129E\164)\004\003\024\183\028\227\240\128\025\234\012\000\017\229\028h`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\175\224\129E\164)\004\131P\183\028\227\240\128\025\234\012\000\145\229\028h`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\b\020ZB\144H5\011q\206?\b\001\158\160\192\t\030Q\198\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\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\016\000\031\255\175\224\129E\164)\004\003\024\183\028\227\240\128\025\234\012\000\017\165\020(`\000\000\000\000\000\000\000\000 \016\004\000\000\000\000\000\000\000\000 \000\001\000\001\255\250\254\b\020ZB\144@1\139q\206?\b\001\158\160\192\001\026QB\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\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\001\000\000\000\000\000\000\000\000\b\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\175\224\129E\164)\004\131P\183\028\227\240\128\025\234\012\000\145\165\020(`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000@\000\192\004\002\024\004\000\000\002\000\000\000\000\001\000\000\000\000\000\000\000\000\001\000\012\004\000\000\000\000\000\002\000\000\000\b\000\000\016\001\127\254\191\130\005\022\144\164\016\012b\156s\143\194\000g\1680\000F\148@\161\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004@0\016\000\000\000\000\000\b\000\000\000 \000\000@\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\022\144\228\019\rB\156s\143\194\000\231\1680\002F\148D\161\223\255\175\224\129E\164)\004\003\024\167\028\227\240\128\025\234\012\000\017\165\016(`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\022\144\228\019\rB\156s\143\194\000\231\1680\002F\148D\161\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\016\000\031\255\175\224\129E\164)\004\131P\183\028\227\240\128\025\234\012\000\145\165\020(`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\235\248 Qi\nA \212)\1998\252`\006z\131\000$iD\n\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\191\235\248\000\017I\nA\000\192)\0068\248\000\006\018\001\000\000\tD\n\024\000\000\000\000\000R@\016H4\n\001\1423\000\000\132\128@\b\000A\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\239\250\254\000\004RB\144@0\nA\142>\000\001\132\128@\000\002Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000A\000 \000\002\000\004\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\016\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005$\000\004\131P\160\025\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\012\000\000!\128@\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000@\000 \000\002\b\004`\000\016\000\000\000\000\000\128\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005$\000\004\131P\160\025\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\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\001I\000\001 \212(\006x\204\000\002\018\001\000 \001\004\002\024\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\189\171@\000A\000 \000\000\000\004\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\016\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005$\000\004\131P\160\025\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\016\000\030\255\175\224\000E$)\004\003\000\164\024\227\224\000\024H\004\000\000%\016(`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\004\001\000\000\000\128\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\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 \212(\006x\204\000\002\018\001\000 \001\004\002\024\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\003\003\004\027$\176\000@\020\000\000H\000\006(\004\004\004`\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004RB\000H4\138A\142s\000\000\132\128@\b\000A \134\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\0000\000\000\134\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000@\000 \000\002\b\004`\000\016\000\000\000\000\000\128\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005$\000\004\131P\160\025\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\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\001I\000\001 \212(\006x\204\000\002\018\001\000 \001\004\002\024\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\189\171@\000A\000 \000\000\000\004\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\016\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005$\000\004\131P\160\025\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\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\003\000\016\b`\016\000\000\b\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\016 \000\000\000\000\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\255\250\254\b\020ZB\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\031\255\175\224\129E\164)\004\131P\167\028\227\240\128\025\234\012\000\145\229\024h`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@\b@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\000\004\016\002\000\000 \000@\000\012\000\000\000\128\000\000\006\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\005\255\250\254\b\020ZB\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\175\224\129E\164)\004\003\024\167\028\227\240\128\025\234\012\000\017\165\016(`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000@\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\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\005\164\t\004\003\016\161\028\2270\128\025\234\012\000\017\133\016(`\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\004\000\000\000\b\016Z@\144@1\n\017\2063\b\001\158\160\192\001\024Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\005\164\t\004\003\016\161\028\2270\128\025\234\012\000\017\133\016(`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\000\004\016\002\000\000 \000@\000\012\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000_\255\175\224\000A\000 \000\002\000\004\000\000\192\000\000\b\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\000\004\016\002\000\000 \000@\000\012\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\1288\130\t\018@\132\003\000\000\004\144\000\133(R\000\0060\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000@\004\000\162\b$A\000\001\000\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000@\004\000\162\b\004A\000\001\000\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\b\000\000\000\004\000@\n \130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\002\000\000 \000\000\000\000\000\002\000\b\b\000\000\000\000\000\016\004\000\000\000\000\000\000\000\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002 \000\000\000\000\000\002\000\b\b\000\000\000\000\000\016\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\003\128 \145\004\b@0\000\000I\000\bR\005 \000c\000\000\030\189\171\192\000\224\b \001\002\016\012\000\000\018@\002\020\129H\000\024\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n \130F\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\162\b$A\000\001\000\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\002\136 \145\004\000\004\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000z\246\175\000\003\128 \144\004\b@0\000\000I\000\bR\005 \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\007\175j\240\0008\002\b\000@\132\003\000\000\004\144\000\133 R\000\006\016\000\000\000\004\000@\n \130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000 @\000\000\016\001\000(\130\t\016@\000@\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\130\t\016@\000@\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\162\b$A\000\001\000\000\000\002@\002\029\160H\000\016\192\000\000\000\016\001\000(\130\t\016@\000@\000\000\002\144\000\135h\018\000\0048\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n \130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\136 \145\004\000\132\000\000\000)\000\bv\129 \000C\128\000\000\000@\004\000\162\b$A\000\001\000\000\000\002@\n\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\162\b$A\000\001\000\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000z\246\175\000\001\000\000\128\000\b\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\016\001\235\218\188\000\004\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\016\001\000(\130\t\016@\000`\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\136 \145\004\000\004\000\000\000\t\000\bv\129 \000C\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\000H\000\000\000\000\000\000\000\001\000\016\002\136 \145\004\000\004\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\b\000\000\000\004\000@\n \130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\000\000\000\004\000\000\000\b\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\130\t\016@\004@\000\000\000\144\000\135h\018\000\0040\000\000\000\004\000@\n \130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\162\b$A\000\001\000\000\000\002@\002\029\160H\000\016\192\000\000\000\016\001\000.\130\t\016@\001@\000\000\002\144\000\135h\018\000\0048\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n \130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\136 \145\004\000\132\000\000\000)\000\bv\129 \000C\128\000\000\000@\004\000\162\b$A\000\001\000\000\000\002@\n\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\000@\n \130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\002(\130\t\016@\000@\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\"\136 \145\004\000\004\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\130\t\016@\000@\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\162\b$A\000\001\000\000\000\002@\002\029\160H\000\016\192\000\000\000\016\001\000(\130\t\016@\b@\000\000\002\144\000\135h\018\000\0048\000\000\000\004\000@\n \130D\016\000\016\000\000\000$\000\161\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000@\004\000\162\b$A\000\001\000\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\n\001\b\016\002\136 \145\004\000\006\000\000\000\t\000\bv\129 \000C\000\000\000\000@\004\000\162\b$A\000\001\128\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n \130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\162H$A\000%\000\000\000\n@\002\029\160H\000\016\224\000\000\000\016\001\000(\130\t\016@\000@\000\000\000\144\002\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\001\000\016\002\136 \145\004\000\004\000\000\000\t\000\bv\129 \000C\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\162\b$A\000\001\128\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n \130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\b\000\000\000\004\000@\n \130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\004\000\000\000\b\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\b\000\000\004\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\001\000\000\000\000\000\000\128\128\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\002\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\136 \145\004\000\004\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\b\000\000\000\004\000@\n \130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024@\000\000\000\004\000\000\000\b\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\136 \145\004\000\004\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n \130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\232 \145\004\000\020\000\000\000)\000\bv\129 \000C\128\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\162\b$A\000\001\000\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\247\175\016\003\136 \145\004\bD\016\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\016\001\000(\130\001\016@\000@\000\000\000\144\000\135h\018\000\0040\000\000\000\004\000@\011\164\130D\016\002X\000\000\000\164\000!\218\004\128\001\014\000\000\000\001\000\016\002\136 \145\004\000\132\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n \130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\030\189\235\196\000\226\b$A\002\017\132\000\000\018@\002\029\160H\000\016\192\000\000\000\016\001\000(\130\t\016@\000@\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\162\b$A\000\001\000\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\130\t\016@\000@\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\194\000\226\b$I\002\016\012\000\000\018@\002\020\161H\000\024\192\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\000\018\r\003\128c\140\192\000! \016\002\000\016@!\128\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\022\144\164\018\015C\156s\143\194\000g\1690\002F\148@\173\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\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\239\252 Qi\nA \244)\1998\252 \006z\147\000$iD\n\221\239\251\255\000\004\000\002\000\000 \000@\000\000\000\000\000\004\000\000\000\000\000\000{\254\255\192\001\000\000\128\000\b\000\016\000\000\000\000\000\001\000\000\000\000\000\000\030\255\191\240\000@\000 \000\002\000\004\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\bP\192\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000B\0200\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\016\133\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\175\224\241E\164)\004\003\024\167\028\227\240\128\025\234\012\000\017\165\016(g\255\235\248 Qi\nA\000\198)\1998\252 \006z\131\000\004iD\n\024\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\022\144\164\016\012b\156s\143\194\000g\1680\000F\148@\173\192\000\000\000\000\000\000\000\000\128@\000\000\000\000\000\000\000\000\000\128\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\002\000\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\235\248 Qi\nA \212)\1998\252 \006z\131\000$iD\n\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\000\016\012\226\128o\140\192\000a \016\n\128\016A!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\015\020ZB\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\127\254\191\130\005\022\144\164\016\012b\156s\143\194\000g\1680\000F\148@\161\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\007\255\235\248 Qi\nA\000\198)\1998\252 \006z\131\000\004iD\n\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\127\254\191\131\197\022\144\164\016\012b\156s\143\194\000g\1680\000F\148@\161\159\255\175\224\129E\164)\004\003\024\167\028\227\240\128\025\234\012\000\017\165\016(`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\255\191\240\000A\000 \000\002\000\004\000\000\000\000\000\b@\000\000\000\000\000\000\016\133\012\000\000@\000\000\000\192\000\002\024\004\000\000\002\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\134\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000@\000 \000\002\b\004`\000\016\000\000\000\000\000\128\000\002\000\007\175j\240\000\016\000\b\000\000\130\001\024\000\004\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\030\189\171\192\000@\000 \000\002\b\004`\000\016\000\000\000\000\000\000\000\002\000\007\175j\240\000\016\000\b\000\000\130\001\024\000\004\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\000\128\000\b \017\128\000@\000\000\000\000\002\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\0000\000\000\004\001\000\000\000\128\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\002\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@\016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\000\128\000\b \017\128\000@\000\000\000\000\002\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\022\144\164\018\rB\156s\143\194\000g\1680\002F\148A\161\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\002\000\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\235\248 Qi\nA \212)\1998\252 \006z\131\000$iD\n\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\001\bP\192\000\004\000\004\000\012\000\000!\128@\000\000!\000\000\000\000\000\012@\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H4\014\001\1423\000\000\132\128@\b\000A\000\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\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\251\255\b\020ZB\144H=\014q\206?\b\001\158\164\192\t\026Q\002\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\191\240\129E\164)\004\131\208\167\028\227\240\128\025\234L\000\145\165\016+p\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\251\255\b\020ZB\144@1\138q\206?\b\001\158\164\192\001\026Q\002\183\000\000\000\000\000\000\000\000\002\001\000\000\000\000\000\000\000\000\000\002\000\000\000\012_\255\191\240\129E\164)\004\003\024\167\028\227\240\128\025\234L\000\017\165\016+p\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\251\255\b\020ZB\144H5\nq\206?\b\001\158\164\192\t\026Q\002\183\127\254\255\194\005\022\144\164\016\012b\156s\143\194\000g\1690\000F\148@\173\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@ \016\000\000\000\000\000\000\000\000\000 \000\000\000\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\022\144\164\018\rB\156s\143\194\000g\1690\002F\148@\173\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\239\252 Qi\nA \212)\1998\252 \006z\147\000$iD\n\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\127\254\255\194\005\022\144\164\018\rB\156s\143\194\000g\1690\002F\148@\173\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\016\133\012\000\000@\000@\000\192\000\002\024\004\000\000\002\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\022\144\164\018\rB\156s\143\194\000g\1690\002F\148@\173\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@ \016\000\000\000\000\000\000\000\000\000 \000\000\000\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\022\144\164\018\rB\156s\143\194\000g\1690\002F\148@\173\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\016\133\012\000\000@\000@\000\192\000\002\024\004\000\000\002\016\000\000\000\000\000\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000@\000\000\000\000\000\000\000\000\004\t\018\224\006\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\b\000\000\004\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000@\128\000\000\000\000\000\000\000\004\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\004\b\000\000\000\000\000\000\000\000@\000\000\000 \000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\b\001\000\000\000\000\000\000\000 \000\001\002\000\000\000\000\000\000\000\000\016\000\000\000\b\000\000\000\000\001\000\000\000\000\004\000\000\000\000\000\000\000\000\004\024\001\000\000\128P\000\000\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\128\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000@\000\000\000\000\000\000\000\000A\128\016\000\000\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\014\000`\000\000\016\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\004\024\001\128\000\000@\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\006\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\000\000\000\000\000\000\000\000\000\000\000\000\000\016`\004\000 \001\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016`\004\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\014\000`\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000A\128\024\000\000\004\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\016`\004\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\024\001\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000A\128\016\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016`\004\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\024\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\128\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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") let action = - ((16, "\002f\000\245\000\000\000\000\020<\000\245\000\000\000\000\001\202\000\000\000\000\000\000\001A\000\000\000\000\000\000\002f\000\000\000\005-b\000\000\021d\021\248\000\000\000\000Hdc\232\021d\000\000\000\000P\150d\024\021d\000\000\000\000\021d\000\000\000\000\021d\000\000\021d\000\000\000\205\000\133\021d\000\000\021d\000\000\000\000\000\000\021d\000\000\021d\000\000H\238d$\021d\000\000\000\000P\178dd\021d\000\000\000\000\021d\000\000\000\000\021d\000\000\021d\000\000\000\167\000[\021d\000\000\021d\000\000d\176\021d\000\000\000\000\021d\000\000\021dd\188\021d\000\000\000\000\021d\000\000\021d\000\000\000\000\021d\000\000\021d\000\000\000m\000\017\000\017\000\000\000\000\000\000\000\021\000\000\000\000\0016\000\017\000\000\0016\000\000\000\000\000\017\000\138\001>\000\017\001\242\000\000\000\005\000c\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\132\000\017\000\000\001\214\004\202\000\017\000\000\002@\001b\000\000\000\000\000\000\001\138\021d\000\000P\178\000\017\001\174\021d\000\000\000\000\021d\000\000\000\000\021d\000\000\021d\000\000\002\006\002J\021d\000\000-bTZ3\0043\004\000\000\000\000\000\000\000\017\000\0003\004\000\000+x\002\2123\004\002\208\000\000\000\017\002.LX\000\000\000\000Q\188R@\000\000Ud\000\000R\216J\220\029f\029fUdJ\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000S\\\029f\000\000\000\000S\\S\\S\\\000\000S\\\000m\000\000\000\000J\220S\\\000\000\000\000#Z\000\017\000\000\023v\029fJ\220\000\000$\166J\22000J\2200NJ\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000=\132J\220\000\000>\012J\2202\022J\2203 J\220\000\000J\220\000\000J\2204*J\22054J\2206>J\2207HJ\2208RJ\2209\\J\220\002\242J\220\000\000\000\000\000\000\000\000\000\000J\220?\022J\220?\158J\220@\168J\220A0J\220:fJ\220;pJ\220d\202\021d\000\000\000\000\021d\000\000\000\000\021d\000\000\021d\000\000\0044\004z\021d\000\000\021d\000\000\021d\000\000\021d\000\000\003^e\002\021d\000\000\000\000TZe\012\021d\000\000\000\000\021d\000\000\000\000\021d\000\000\021d\000\000\005\030\005j\021d\000\000\021d\000\000e\158\021d\000\000\000\000\021d\000\000M:e\180\021d\000\000\000\000\021d\000\000\021d\000\000\000\000\021d\000\000\021d\000\000\000c\000\017\005D\021d\000\000d\024\000\017\005Z\021d\000\000\000\000\021d\000\000\021d\000\000\021d\000\000\005\138\005\184\021d\000\000d$3\004\000\000\000\000\005|\021d\000\0003\004\000\0006\"4\234\000\000\000.\006J\000\017\005\246\006\1988686\000\000\000\000\000\000\001\018k\22486\001\\:J\000\000\000\000\000\000\003\\\0074\005\200\007H86\000\000\000\000\006\132\000\000\006\148\007n86\006\162\000\000\001R\000\000\002.\000\000\000\000\003\216<^\000\000\000\000\000\000\006\180\007\164\000\000\007\168\000\000\023\166\001b3\004\006\198\021d\000\000d\1763\004\006\208\021d\000\000\000\000\000\000\000\017\007\208\000\000\000\000\000\000\003\016\000\000\000\000\029f\006\242\000\000\006\252Ud-\156\000\000U\232\029f\007\002\000\000\007\b6\168-\156J\220\007\022\000\000\029f\007\"\000\000\007&g0-\156J\220\000\228J\220\0076\000\000\000\000-\156-\156\000\000\000\000\000\000\000\000(\154\000\000\000\000\000\000\000\000\000\000S\\\000\000\000\000\000\216\007\254J\220-\156\000\017\000\000S\\\000\000\000\000S\\\000\000\000m\000\000g0\000\000\000\000\028z\000\017\000\000\023v\023v\000\000\000\000\000\000\000\000\000\000\000\000\000\000S\\\000\000\000\000\003\254\027\234\023vS\\\000\000\000\000S\\\000\000\000m\000\000Ud\000\000\000\000\030\030\000\017\000\000\023vn\200J\220\000\000J\220\000\000\000\000\000\000\000\000\000\000\007F\000\000\000\000\000\000\000\000\000\000\000\000\000\000o*J\220o\144J\220\007tJ\220\000\000J\220p\030J\220p\132J\220p\230J\220qLJ\220q\218J\220r@J\220\000\000J\220r\162J\220s\bJ\220s\150J\220\000\000J\220s\252J\220t^\004\016\024\242\000\000J\220\007H\000\000\000\000\000\017\000\000\000\000\000\000\000\000\000\000\004J\026n\000\000\000\000\007R\000\000J\220\007P\000\000\000\000\000\017\000\000\000\000\000\000\000\000\000\000%\194\000\000\007\132-\156\007\142-\156\000\000\000\019\000\000\000\000j0J\220t\194J\220t\240J\220uFJ\220u\168J\220u\254J\220v,J\220v`J\220\000\000J\220v\194J\220v\228J\220wPJ\220\000\000J\220w\194J\220w\230\000\000\007Z\000\000\0042.\134\000\000\004v1x-\156\000\000\005\b/p\000\000\000\000\000\000\000\000\007\226\000\000\000\000\000\000\007b\000\000\007d\000\000\000\000\007f\000\000\000\000\007j\000\000\000\000\007t\000\000\000\000\000\000\000\000\000\000\000\000\007v\b>\000\000\000\000\007x\000\000\001(V\148\b@J\220\b\000\000\000\000\000Ud\001(\000\000\007\138\000\000\007\172LX\000\000\029f\007\194\031T\000\000\b\158\000\000\029f\007\198*\138\000\000\029f\007\204+\148\000\000\007\204\000\000\000\000\b\200\000\000\007\220\021d\000\000d\2023\004\007\226\021d\000\000\000\000\003h3\004\000\000\003h\000\000\000\000\007\244\000\000\005\200\007\238\021d\000\000\000\000\000\204-b\000\000-b\000\000\007\226\000\000\000\204\000\000\019d'\174\021\174\000\000\004\150\021\206\021\174\000\000\000\000M4J<\021\174\000\000\000\000\021\174\000\000\000\000\021\174\000\000\021\174\000\000\b(\bV\021\174\000\000\021\174\000\000\021\174\000\000\021\174\000\000\005\194MP\021\174\000\000\000\000MlP\144\021\174\000\000\000\000\021\174\000\000\000\000\021\174\000\000\021\174\000\000\b.\b\\\021\174\000\000\021\174\000\000P\172\021\174\000\000\000\000\021\174\000\000\021\174P\200\021\174\000\000\000\000\021\174\000\000\021\174\000\000\000\000\021\174\000\000\021\174\000\000\001\192\000\017\b\004\021\174\000\000\021\206\000\017\b\b\021\174\000\000\000\000\021\174\000\000\021\174\000\000\021\174\000\000\b:\bh\021\174\000\000-b\000\000\b\028\000\000\004H-b\000\000\000\000\004H\000\000\000\000\021\2483\004\b\022\021\174\000\000\000\000\000\000\002\238\000\000\000\000\003\156\002\238\000\000\000\000\000\000\t\012\000\000\004\2023\004\b \021\174\000\000\022\0183\004\b*\021\174\000\000\000\000\025\"\021\174\000\000\007\146S\246\021\174\000\000\000\000MzTT\021\174\000\000\000\000\021\174\000\000\000\000\021\174\000\000\021\174\000\000\bZ\b\136\021\174\000\000\021\174\000\000\021\174\000\000\021\174\000\000\007\184Tp\021\174\000\000\000\000M\206WZ\021\174\000\000\000\000\021\174\000\000\000\000\021\174\000\000\021\174\000\000\b`\b\154\021\174\000\000\021\174\000\000Wb\021\174\000\000\000\000\021\174\000\000\021\248W\130\021\174\000\000\000\000\021\174\000\000\021\174\000\000\000\000\021\174\000\000\021\174\000\000\002 \000\017\bD\021\174\000\000J<\000\017\bL\021\174\000\000\000\000\021\174\000\000\021\174\000\000\021\174\000\000\b|\b\176\021\174\000\000Ml3\004\bX\021\174\000\000\000\000\007\1643\004\bh\021\174\000\000M\2503\004\bl\021\174\000\000\000\000\000\000\000\000\000\000\000\000\tHJ\220\b| \204\b\254\000\000\tPJ\220\b\132\tLG\238\000\000\000\000\000\0001\220\000\017\000\000\000\174J\220\tv\000\000\000\017\000\000\000\174\tx\000\000\003X\tL\000\017\b\156\tn86\b\164\000\031\000\000J\220\t\148\000\000\000\000\000\000\tx86\b\172\t\160\000\000\005\234\001`J\220\t\162\000\000\t\164\000\000\023\166\000\017\002*J\220\t\166\000\000\t\168\000\000\000\017\002,J\220\t\170\000\000\t\172\000\000\000\012\b\238\b\242\000\000Xb\029f\b\200I\150\000\000N\152\000\000\t\184\000\000\002\250\t\146J\220\tP\000\000\t\158J\220\t\\\000\000\t\132\000\000\b\242\b\242\029f\b\230\000\000\b\232g\192g\192\000\000\000\000\000\000\000\000\000\000\000\000S\\\000\000\000\000S\\\000\000\000\000S\\\000\000\000m\000\000g\192\000\000\000\000,\176\000\017\000\000\023v\b\234\000\000J\220\b\238\000\000\000\000\000\017\000\000\000\000\000\000\000\000\000\000K\150J\220\000\000J\220\000\000\b\246\000\000\0001\000\000\000\000\000\000\000\000\000\000X\204J\220Y\214J\220\t J\220\000\000J\220ZLJ\220[VJ\220[\204J\220\\\214J\220]LJ\220^VJ\220\000\000J\220^\204J\220_\214J\220`LJ\220\000\000J\220aVJ\220a\204-\156\b\246\000\000\000\000\002\250\000\000\002\250\000\000\019d\b\242\b\242\000\000\000\000\000\000\000\003\000\000\000\000\000\000\t\206J\220\t\006 \204!\222\000\017\n\024\000\000\n\014O\028\n0O\028\n2J\220\tF \204 \204\004\014\000i\004p\b\146\000i\000\000\000\000\005V\t\242\000\000\005\128\011B\000\000\000\000\000\000\000\000\000\000\tJ\000\000\000\000\n<\000\000\nN\000\000\000\000\n\142\n8J\220\tp\n`\000\000\nl\000\000\t\170\000\000\nR\023v\t\134 \204\000\000\000\000\000\000\007t\000\000\000\000\002\250\000\000\n\006\000\000\014\234\0012\000\000\014\234\000\000\000\000%\194\000\000\002\190\000\000\000\000\011\238\000\000\014\234\000\000\nX\023v\t\140\n~\000\000\002\184\000\000\nN\000\017\t\154\nj86\t\164\000\154\000\000J\220\n\158\000\000\n\12886\t\182\n\178\000\000\002\212J\220\n\182\000\000\n\190\000\000\023\166\000\017\002\246J\220\n\200\000\000\n\202\000\000\000\000\000\000\011\238\000\000\000\000\002\190\000\000\b\242\000\000\002\184\000\000\000\000\005\214!\222\000\000\005\214\000\000\000\000\t\224\000\000\0001\001| \204\000\000\005\246\0007\005\246\000\000\0007\000\000\b\242\000\000\b\242\000\000\000\000\000\000\t\232\000\000\000\000\t\242\000\000\006\002\007t\0007\005\246\000\000\000\000\000\000\0007\000\000\b\242\000\000\006\002\000\000\000\000\r<\000\184\019d\000\000\000\184\000\000\np\019d\000\000\000\000\np\000\000\000\000\t\244\000\000\000\000\t\250\000\000\006J\b\242\000\000\006J\000\000\000\000\nx\000\000\002\190\000\000\b\242\000\000\000\000\000\000\020\224O\180\000\000\n\234\000\000\020\224\000\000\n\236\000\000\n\238\000\0001\220\000\017\003\212\000\000J\220\n\240\000\000\007\152\n\192\000\017\n\016\n\23286\n\030\005f\000\000J\220\011\018\000\000\005\244\000\000J\220\011\020\000\000\023\166\000\017\006*\000\000J\220\011\022\000\000\006f\020\224\000\000%\194\006\166\000\000J\220\011 \000\000\011(\000\000\000\000\000\000\011\n\023v\n>\011.\000\000\003\030\000\000\n\254\000\017\nF\011\02286\nL\006\174\000\000J\220\011D\000\000\006\186\000\000J\220\011H\000\000\023\166\000\017\006\188\000\000J\220\011J\000\000\006f\000\000\000\000\nb\000\000\014\186\n\226\000\000\000\000\000\000\n\228\000\000\000\165\000D\000\000\019d\011B\000\000\000\000J\220\n\150\b\242\000\000\nh\000\000\000\012\000\000G\238\000\000\000\000\002h\019d\000\000\019d\000\000\nV\000\000\002h\000\000J\220\002vJ\220\000\000J\220\000\000\nZ\000\000\002v\000\000J\220\002v\n\\\000\000 \204\004h \204\000\000 \204\000\000\n`\000\000\004h\000\000J\220\002v\nf\000\000G\238\005>G\238\000\000G\238\000\000\nj\000\000\005>\000\000J\220\002v\n\146\000\000\000\000\030\226\000\000\000\000\011\020?\158\000\000\000\000\000\000\000\000\000\000\n\232\005\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\004?\158\000\000\004\n\th\n\234\000\245\000\000\000\000\n\236\000\245\000\000\000\000\000\000\000\000\000A\th\000\000\000\000\000\000\000\000\011L\000\000\000\000\000\000\000\000#Z'@\000\000>\012\000\000?\158\000\000\005\142?\158\000\000\004:\004*\004*\000\000\005\134\004*\000\000\n\196\000\000\000\000\000\000\000\000\011P\000\000(\154\000\000*\024?\158\000\000\0044?\158\000\000\011R\000\000?\158\011T\000\000B\194cJ\011V\000\000\011Z\000\000DTh|?\158\000\000\000\000\n\214?\158\011`\000\000\011b\000\000\011h\000\000-b\000\000\006N-b\000\000\n\226\021\174\000\000?\158\011n\000\000\006\232?\158\000\000\006j?\158\000\000\004\142\011\248\000\000\011\250\000\000?\158?\158\n\238\000\000\000\000\000\000\000\000\000\000\000\000\011|\000\000E\230bT\011\128\000\000\011\130\000\000l\186h\222?\158\n\254?\158\011\136\000\000\011\138\000\000\011\140\000\000?\158\0112\000\245\000\000\000\000\007\012?\158\000\000\004\142\000\000\011\146\000\000?\158\011\148\000\000m4i\152?\158\011\016?\158\011\156\000\000\011\158\000\000\011\160\000\000f\186\021\174\000\000\021\174\000\000cJ?\158\011\030?\158\011\170\000\000\011\174\000\000\021\174\000\000k\208\000\000\000\000\0070?\158\000\000\007\020\006|\004*\011&\000\000\000\000\000\252\000\252\000\000\000\000\000\000\006h\000\252\000\000\011(\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\158\000\000\0076?\158\000\000\005\246\000\174\000\245\011*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\184\000\000\011\188\000\000?\158\011\190\000\000m\182bT\011\200\000\000\011\202\000\000?\158\011\210\000\000 B\011xn0Jj\244\000\000\000\000\006X\012B\000\017\000\000\007@k$\000\000\000\000\000\000\000\000\000\000\011\140\012T\b\242\011\146\000\000\000\000\002\190\000\000\011\238\000\000\026\022\003\214\000\000\000\000\012H\000\000\000\000\004(\000\000\004>\000\000\000\000\000\000J\220\000\000\004x\000\000\004R\000\000\000\000\000\000\007t\000\000\rl\004D\rl\000\000\b\242\rl\000\000\004D\000\000\b\242\000\000\b\242\000\000\b\242\000\000\019\190\000\000\000\000\000\000\000\000\000\000\b\242\000\000\004D\000\000\b\242\000\000\026\242\000\000\000\000\np\011\202\000\245\000\245\012t\001d\000\000\001d\012\156\000\000\012\158\000\000\012\160\000\000\000\000\001\218\001d\b\024\001d\000\000\000\000\t\150\000\245\011\156\000\000\011\158\000\000\011\220\000\245\000\245\011\162\000\000\000\152\012\174\000\000\b\014\005\018\012\192\t\244\012\192\000\000\000\000\000\246\000\245\000\000\005\012\000\000\000\000\002\150\000\000\011\168\000\000\000\000\000\000\011\230\000\245\000\245\011\172\000\000\000\000\000\152\b\014\005\018\000\246\005\012\002\150\011\174\000\000\b\014\005\018\000\246\005\012\002\150\011\178\000\000\001b\0038\011\206\000\245\011\202\004\192\007N\011\244\000\245\000\000\011\246\000\245\000\000\012X\000\000\011\224\006\242\011\218\004\192\012b\000\000\011\226\004\192\012h\000\000\000\000\004\192\000\000\012j\000\000"), (16, "\014a\014a\014a\014a\014a\014a\014a\014a\014a\014a\014a\014a\014a\014a\000\n\014a\014a\014a\014a\014a\014a\014a\014a\014a\014a\001\138\0007\000;\020\"\014a\006R\002\170\n\189\r\221\005:\n\189\014a\005J\014a\005j \178\018\002\014a\014a\017J\014a\005r\001\230\014a\001\146\019\162\001\226\001\230\014a\014a\014a\000\174\001\234\014a\001\150\006\t\001\238\001\242\005\n\014a\004\225\001\142\014a\014a\b>\000\178\002\174\001\194\014a\014a\001\"\014a\005z\014a\001\246\014M\018*\000\n\014a\000\n\014a\014a\000\n\014a\014a\014a\001&\024\150\001\146\014a\014a\014a\001\142\006\214\014a\014a\014a\001\202\001\150\020&\014a\014a\014a\014a\014a\014a\005\169\005\138\005e\014a\014a\000N\012\222\024\254\025&\0256\025^\025n\025\150\001\146\014a\014a\014a\000\n\020\210\014a\014a\014a\014a\001\150\014a\021V\014a\026j\017N\014a\b\150\014M\014a\014a\007%\r\237\t5\001\198\b\162\006\t\n\189\001\222\007m\014a\014a\b\157\012\190\014a\000\n\018\002\t5\014a\014a\014a\014a\029j\001\162\014a\019\162\014a\017\210\005e\t\173\014a\014a\014a\023\006\014a\005e\014a\014a\024\174\014a\023\n\014a\014a\007\021\014a\014a\014a\014m\014m\014m\014m\014m\014m\014m\014m\014m\014m\014m\014m\014m\014m\029\018\014m\014m\014m\014m\014m\014m\014m\014m\014m\014m\002\170\007\165\t5\005\169\014m\018\002\024\130\000\n!&\005\169\005\169\014m\012\198\014m\019\162\021Z \186\014m\014m\r\237\014m\005\169\005\169\014m\001\206\017\n\001\174\005\025\014m\014m\014m\002\210\020\210\014m\005\025\001\142!\210 \190\029\022\014m\007\150\001\194\014m\014m \194\017\022\000\n\005\169\014m\014m\007\197\014m\015-\014m\bF\t5\007\197\007\197\014m\000&\014m\014m\001\146\014m\014m\014m\005!\t5!N\014m\014m\014m\001\150\005!\014m\014m\014m\0075\bR\000*\014m\014m\014m\014m\014m\014m\016\178\014\n\011\222\014m\014m\016\182 \226\020\210\007\197\006\254\030\174\000\n\016\186\n\r\014m\014m\014m\016\190\030\178\014m\014m\014m\014m\001\230\014m\007\165\014m \202\017~\014m\007e\001\198\014m\014m\r\237\r\237\007\r\015-\015-\000\006\000\"\007\r\015-\022\n\014m\007\r\007\n\014m\017\022\016\030\t\253\014m\014m\014m\014m\002\210\002q\014m\000\n\014m \210\024\222\001\214\014m\014m\014m\002\014\014m\025\006\014m\014m\001\230\014m\t\169\014m\014m\002>\014m\014m\014m\007\173\007\173\007\173\007\173\007\173\007\173\007\173\007\173\007\173\007\173\007\173\007\173\007\173\007\173\002R\007\173\007\173\007\173\007\173\007\173\007\173\007\173\007\173\007\173\007\173\0216\000\n\002\026\n\189\007\173\018\006\018\022\018& \242\t\185\002~\007\173\018\002\007\173\r\237\001\142\021:\007\173\007\173 \234\007\173\019\162\002\130\007\173\017\158\017\186\007\r\024\230\007\173\005\213\007\173\r\237\000.\007\173\025\014\005\166\002\190\017Z\005\182\007\173\005\214!\214\001\146\017^\017\022\017\022\007\r\005\222\007\173\007\173\007\r\024\002\001\150\007\173\007\173\002*\021\218\014\166\007\173\015-\007\173\007\173\002m\007\173\007\173\007\173\001\142\024\006\002\198\007\173\007\173\007\173\005\"!f\007\173\007\173\007\173\000\n\005\230\014\170\007\173\007\173\007\173\007\173\007\173\007\173\007-\007-\017Z\007\173\007\173\0145\007M\001\146\017^\001\142\017.\001\142\007\030\007E\020\210\007\173\007\173\001\150\000\n\007\173\007\173\007\173\007\173\021~\007\173\006\165\007\173\005\246\014E\007\173\012\138\017Z\007\173\007\173\030c\030g\001\146\017^\001\146\030k\021\158\004.\000\n\017\022\015-\015-\001\150\007\173\001\150\015-\031\215\007\173\007\173\007\173\007\173\000\n\023F\007\173\031\219\007\173\017\022\030\139\030\143\007\173\007\173\007\173\030\147\026.\031\222\007\173\007\173\000\n\007\173\000\n\007\173\007\173\007]\007\173\007\173\007\173\007\205\007\205\007\205\007\205\007\205\007\205\007\205\007\205\007\205\007\205\007\205\007\205\007\205\007\205\025\210\007\205\007\205\007\205\007\205\007\205\007\205\007\205\007\205\007\205\007\205\012\242\020\"\007\205\r\002\007\205\r\"\0045\n\189\007\205\007\205\0045\007\205\r*\007\205\026\194\007\157\018\002\007\205\007\205\030R\007\205\025>\001\146\007\205\026\190\019\162\027\186\027\194\007\205\007\205\007\205\rA\001\150\007\205\007\205\007\205\007\205\014n\014\178\007\205\007\205\007\205\007\205\r2\007\205\007\205\023J\004\222\007\205\007\205\007\205\007\205\014\r\007\205\002\170\007\221\004\250\000\n\007\205\030R\007\205!\230\007\205\007\205\007\205\007\205\027\202\007\205\007j\007\205\007\205\007\205\002\157\026:\007\205\007\205\007\205\020&\rB\007\205\007\205\007\205\007\205\007\205\007\205\007\205!6\t\018\005\002\001\142\007\205\t\129\025F\rA\014\206\002\030\n\030\n\209\005~\005A\tq\007\205\007\205\007\205\020\210\007\205\007\205\007\205\007\205\007\205\007\205\005\130\007\205\011:\027\n\007\205\001\146\007\221\007\205\007\205\t\197\014\r\";\007\205\007\205\nR\001\150\007\133\025v\002M\007\205\031\247\031\251\007\205\n\237\n\237\031\255\007\205\007\205\n\237\007\205 \023 \027\007\205\020*\007\205 \031\011F\t\157\007\205\r^\000\n\023v\rn\t\213\r\142\007\205\007U\007\205\n\209\007\205\007\205\r\150\007\205\007\205\007\205\000R\000V\000f\000\194\012\226\000\198\016\178\000\202\000\210\000\218\0016\016\182\001F\001N\025\190\001v\030\154\001~\016\186\001\134\002^\002f\002j\016\190\030\158!Z\025\194\r\158\007\189\016\194\t\189\005\141!^\025~\007\189\007\189\016\210\025\198\002r\025\202\027\186\027\194\002\214\016\218\028\250\017\218\007\189\025\206\017\222\005\234\001\142\006\214\007\r\002z\011V\017\242\025\218\023\138\n\185\014=\025\222\002}\r\174\005\"\002\230\005\238\025\226\030\210\005\181\005\141\021\230\002\210\007\189\019\182\0186\030\254\031\n\001\146\019\186\022\022\029f\023z\025\230\003\n\023\166\003\014\005\229\001\150\002\142\020\202\019\194\006Z\022Z\020>\018N\003\022\019\198\t\141\007=\018R\bn\003\030\006n\006\150\006\154\018V\018Z\016\238\016\242\018^\019\202\n\201\000\n\025\234\020J\019\206\025\238\026\206\002]\006\182\025\210\026\178\001\142\031~\r\253\006\218\b~\018b\022\218\025\242\019\210\019\214\018f\019\218\025\246\000\n\025\250\019\238\025\254\026\002\005\193\026\006\023\186\019\250\018n\028\254\023\202\007\r\026\n\001\146\024\"\026\014\023\142\007]\007&\031\030\0246\024R\020\026\001\150\007\149\"\018\020\030\020j\005\229\016\246\026\018\007\r\018r\014%\020n\026\022\026\026\n\201\018z\005\229\005\229\006\226\006\230\023\170\005\229\020v\007u\018~\000\n\007\213\007\213\028\250\018\134\003b\007\213\000R\000V\000f\000\194\012\226\000\198\016\178\000\202\000\210\000\218\0016\016\182\001F\001N!\234\001v\030\154\001~\016\186\001\134\002^\002f\002j\016\190\030\158\015\006\027~\007}\015\022\016\194\0156\0045\029\014\r\229!\246\0045\016\210\015>\002r\029&\027\174\007\141\002\214\016\218\015r\017\218\r\245\015\130\017\222\015\162\023\206\007\"\007*\002z\024&\017\242\015\170\007:\n\185\014-\024:\024V\002\170\n\193\002\230\007B\n\165\018\002\015F\027\162\000\n\007F\007N\019\182\0186\030\254\019\162\014\021\019\186\022^\014\029\007~\007\130\003\n\007\138\003\014\005\245\015\178\002\142\020\202\019\194\001\142\023Z\007\158\018N\003\022\019\198\001\142\007\178\018R\bn\003\030\016\138\015V\007\202\018V\018Z\016\238\016\242\018^\019\202\004\225\007\234\017Z\020\206\019\206\004\221\007\242\001\146\017^\b\n\028R\015\194\b\018\001\146\n\193\b~\018b\001\150\b\"\019\210\019\214\018f\019\218\001\150\000\n\b.\019\238\b6\028\238\005\193\031b\029Z\019\250\018n\t\241\031n\031\142\bN\b\154\t\225\002\141\004\221\000\n\tz\020\210\t\170\n.\020\026\000\n\nb\nn\020\030\020j\n\154\016\246\n\162\0112\018r\011n\020n\011~\011\134\011\146\018z\011\158\005\245\011\170\011\198\b\022\011\214\020v\011\230\018~\011\238\007\229\007\229\012\006\018\134\003b\007\229\000R\000V\000f\000\194\012\226\000\198\016\178\000\202\000\210\000\218\0016\016\182\001F\001N\012\014\001v\030\154\001~\016\186\001\134\002^\002f\002j\016\190\030\158\012\030\012*\0126\004\225\016\194\012F\020.\012R\004\221\004\225\004\225\016\210\012^\002r\004\221\004\221\012f\002\214\016\218\012z\017\218\004\225 \178\017\222\012\162\012\174\004\221\001\146\002z\012\211\017\242\r6\r:\n\185\r\162\r\166\014\018\001\150\014&\002\230\014N\014R\018\002\004\221\014f\014\146\014\198\004\225\0182\0186\014\214\019\162\004\221\019\186 \234\014\234\015J\015N\003\n\015\182\003\014\006\017\000\n\002\142\019\190\019\194\015\186\026>\016&\018N\003\022\019\198\016:\016b\018R\bn\003\030\016f\016z\026J\018V\018Z\016\238\016\242\018^\019\202\016\146\026N\016\166\0155\019\206\004\229\016\198\016\206\018*\016\214\016\222\016\230\016\234\017\018\017&\b~\018b\0172\t\161\019\210\019\214\018f\019\218\017:\000\n\017>\019\238\017F\017V\005\193\017f\017n\019\250\018n\017r\017\134\017\142\017\166\017\174\017\194\017\202 \226\018.\017\214\020\210\017\234\017\254\020\026\026Z\018\n\018\018\020\030\020j\006\017\016\246\018\026\018\"\018r\026^\020n\018>\018F\018\174\018z\006\017\006\017\018\186\018\242\019\"\006\017\020v\019\154\018~\019\222\n\245\n\245\019\230\018\134\003b\n\245\000R\000V\000f\000\194\012\226\000\198\016\178\000\202\000\210\000\218\0016\016\182\001F\001N\019\246\001v\020\"\001~\016\186\001\134\002^\002f\002j\016\190\023\006\019\254\020\006\020\014\020\022\016\194\020f\023\n\020r\004\229\005\169\023\014\016\210\001\146\002r\004\229\004\229\020z\002\214\016\218\020\134\017\218\020\138\001\150\017\222\020\146\020\150\004\229 \166\002z\t=\017\242\020\158\020\166\n\185\020\174\020\182\020\222\021\"\021*\002\230\021.\021>\018\002\t=\024\130\021F\021J\000\n\0182\0186\021R\019\162\004\229\019\186 \234\r\213\021b\021j\003\n\021r\003\014\r\213\r\213\002\142\019\190\019\194\021v\020&\021\134\018N\003\022\019\198\021\142\r\213\018R\bn\003\030\021\166\021\174\021\254\018V\018Z\016\238\016\242\018^\019\202!>\022F\022R\t\145\019\206\022\198\022\210\022\242\023\030\023.\0236\023R\023^\r\213\t=\b~\018b!\014\023f\019\210\019\214\018f\019\218\023j\000\n\023r\019\238!\"\023\130\023\150\023\178\005\169\019\250\018n!z\023\214!&\005\169\005\169\023\222\023\238\023\246\023\250\024\n\020\210\024\018\024\022\020\026\024\030\005\169\005\169\020\030\020j\024.\016\246\024B\024^\018r\024r\020n\024~\024\142\024\166\018z\024\182\024\194\024\243\t=\025\027\0253\020v\025S\018~\020\"\025k\005\169\025\139\018\134\003b\t=\000R\000V\000f\000\194\012\226\000\198\016\178\000\202\000\210\000\218\0016\016\182\001F\001N\001\146\001v\025\163\001~\016\186\001\134\002^\002f\002j\016\190\001\150\025\186\025\214\026B\026R\016\194\026\131\026\218\026\239\027\023\027#\0273\016\210\027;\002r\027V\027_\027g\002\214\016\218\027o\017\218\027\138\027\155\017\222\000\n\027\190\027\198\027\214\002z\027\243\017\242\028\003\028\011\n\185\028\030\028'\028/\0287\028B\002\230\028g\028s\018\002\028\134\020&\028\143\028\151\028\159\0182\0186\028\194\019\162\028\203\019\186\028\211\029\006\0292\029r\003\n\029\147\003\014\029\155\029\167\002\142\019\190\019\194\002a\029\183\029\191\018N\003\022\019\198\029\203\029\214\018R\bn\003\030\029\230\029\243\029\251\018V\018Z\016\238\016\242\018^\019\202\030\002\030\015\030\027\0155\019\206\030#\030/\030;\030V\030\222\031\006\031\022\031J\031R\031\130\b~\018b\031\170\031\174\019\210\019\214\018f\019\218\031\182\000\n\031\227\019\238 \170 \182 \198 \206 \214\019\250\018n!\003!\011!\018!\031!*!:!o!~!\139!\175\020\210!\203!\218\020\026!\226!\238!\250\020\030\020j\"\007\016\246\"\014\"\022\018r\"\031\020n\"&\"/\"C\018z\000\000\000\000\000\000\000\000\000\000\000\000\020v\000\000\018~\000\000\0155\0155\000\000\018\134\003b\0155\000R\000V\000f\000\194\012\226\000\198\016\178\000\202\000\210\000\218\0016\016\182\001F\001N\000\000\001v\030\154\001~\016\186\001\134\002^\002f\002j\016\190\030\158\000\000\000\000\000\000\000\000\016\194\000\000\000\000\000\000\000\000\0216\000\000\016\210\000\000\002r\000\000\000\000\000\000\002\214\016\218\000\000\017\218\000\000\000\000\017\222\001\142\021:\000\000\000\000\002z\000\000\017\242\000\000\000\000\n\185\000\000\000\000\000\000\005\"\000\000\002\230\000\000\000\000\000\000\000\000\000\000\000\000\017Z\000\000\019\182\0186\000\000\001\146\017^\019\186 .\000\000\000\000\000\000\003\n\000\000\003\014\001\150\000\000\002\142\020\202\019\194\000\000\000\000\000\000\018N\003\022\019\198\000\000\000\000\018R\bn\003\030\000\000\000\000\000\000\018V\018Z\016\238\016\242\018^\019\202\000\n\000\000\000\000\000\000\019\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b~\018b\000\000\000\000\019\210\019\214\018f\019\218\000\000\000\n\000\000\019\238\000\000\000\000\005\193\000\000\000\000\019\250\018n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007]\000\000\000\000\000\000\000\000\000\000\020\026\000\000\000\000\000\000\020\030\020j\000\000\016\246\000\000\000\000\018r\000\000\020n\000\000\000\000\000\000\018z\000\000\000\000\000\000\000\000\000\000\000\000\020v\000\000\018~\000\000\n\217\n\217\000\000\018\134\003b\n\217\000R\000V\000f\000\194\012\226\000\198\016\178\000\202\000\210\000\218\0016\016\182\001F\001N\000\000\001v\000\000\001~\016\186\001\134\002^\002f\002j\016\190\000\000\000\000\000\000\000\000\000\000\016\194\000\000\000\000\000\000\000\000\024\002\000\000\016\210\000\000\002r\000\000\000\000\000\000\002\214\016\218\000\000\017\218\000\000\000\000\017\222\001\142\024\006\000\000\000\000\002z\000\000\017\242\000\000\000\000\n\185\000\000\000\000\000\000\005\"\000\000\002\230\000\000\000\000\000\000\000\000\000\000\000\000\017Z\000\000\019\182\0186\000\000\001\146\017^\019\186\020\230\000\000\000\000\000\000\003\n\000\000\003\014\001\150\000\000\002\142\020\202\019\194\000\000\000\000\000\000\018N\003\022\019\198\000\000\000\000\018R\bn\003\030\000\000\000\000\000\000\018V\018Z\016\238\016\242\018^\019\202\000\n\000\000\000\000\015\017\019\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b~\018b\000\000\000\000\019\210\019\214\018f\019\218\000\000\000\n\000\000\019\238\000\000\000\000\000\000\000\000\000\000\019\250\018n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007]\000\000\000\000\000\000\000\000\000\000\020\026\000\000\000\000\000\000\020\030\020j\000\000\016\246\000\000\000\000\018r\000\000\020n\000\000\000\000\000\000\018z\000\000\000\000\000\000\000\000\000\000\000\000\020v\000\000\018~\000\000\015\017\015\017\000\000\018\134\003b\015\017\000R\000V\000f\000\194\012\226\000\198\016\178\000\202\000\210\000\218\0016\016\182\001F\001N\000\000\001v\000\000\001~\016\186\001\134\002^\002f\002j\016\190\000\000\000\000\000\000\000\000\000\000\016\194\000\000\000\000\000\000\000\000\000\000\000\000\016\210\000\000\002r\000\000\000\000\000\000\002\214\016\218\000\000\017\218\000\000\000\000\017\222\000\000\000\000\000\000\000\000\002z\000\000\017\242\000\000\000\000\n\185\000\000\000\000\000\000\000\000\000\000\002\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\019\182\0186\000\000\000\000\000\000\019\186\030\226\000\000\000\000\000\000\003\n\000\000\003\014\000\000\000\000\002\142\020\202\019\194\000\000\000\000\000\000\018N\003\022\019\198\000\000\000\000\018R\bn\003\030\000\000\000\000\000\000\018V\018Z\016\238\016\242\018^\019\202\000\000\000\000\000\000\000\000\019\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b~\018b\000\000\000\000\019\210\019\214\018f\019\218\000\000\000\n\000\000\019\238\000\000\000\000\000\000\000\000\000\000\019\250\018n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\026\000\000\000\000\000\000\020\030\020j\000\000\016\246\000\000\000\000\018r\000\000\020n\000\000\000\000\000\000\018z\000\000\000\000\000\000\000\000\000\000\000\000\020v\000\000\018~\000\000\015]\015]\000\000\018\134\003b\015]\000R\000V\000f\000\194\012\226\000\198\016\178\000\202\000\210\000\218\0016\016\182\001F\001N\000\000\001v\000\000\001~\016\186\001\134\002^\002f\002j\016\190\000\000\000\000\000\000\000\000\000\000\016\194\000\000\000\000\000\000\000\000\000\000\000\000\016\210\000\000\002r\000\000\000\000\000\000\002\214\016\218\000\000\017\218\000\000\000\000\017\222\000\000\000\000\000\000\000\000\002z\000\000\017\242\000\000\000\000\n\185\000\000\000\000\000\000\000\000\000\000\002\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\019\182\0186\000\000\000\000\000\000\019\186\030\226\000\000\000\000\000\000\003\n\000\000\003\014\000\000\000\000\002\142\020\202\019\194\000\000\000\000\000\000\018N\003\022\019\198\000\000\000\000\018R\bn\003\030\000\000\000\000\000\000\018V\018Z\016\238\016\242\018^\019\202\000\000\000\000\000\000\000\000\019\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b~\018b\000\000\000\000\019\210\019\214\018f\019\218\000\000\000\n\000\000\019\238\000\000\000\000\000\000\000\000\000\000\019\250\018n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\026\000\000\000\000\000\000\020\030\020j\000\000\016\246\000\000\000\000\018r\000\000\020n\000\000\000\000\000\000\018z\000\000\000\000\000\000\000\000\000\000\000\000\020v\000\000\018~\000\000\015Y\015Y\000\000\018\134\003b\015Y\000R\000V\000f\000\194\012\226\000\198\016\178\000\202\000\210\000\218\0016\016\182\001F\001N\000\000\001v\000\000\001~\016\186\001\134\002^\002f\002j\016\190\000\000\000\000\000\000\000\000\000\000\016\194\000\000\000\000\000\000\000\000\000\000\000\000\016\210\000\000\002r\000\000\000\000\000\000\002\214\016\218\000\000\017\218\000\000\000\000\017\222\000\000\000\000\016\178\000\000\002z\000\000\017\242\016\182\000\000\n\185\000\000\000\000\030\174\000\000\016\186\002\230\000\000\000\000\000\000\016\190\030\178\000\000\000\000\000\000\019\182\0186\000\000\000\000\000\000\019\186\022\146\000\000\000\000\000\000\003\n\000\000\003\014\000\000\000\000\002\142\020\202\019\194\000\000\000\000\000\000\018N\003\022\019\198\000\000\000\000\018R\bn\003\030\000\000\0216\000\000\018V\018Z\016\238\016\242\018^\019\202\000\000\000\000\000\000\000\000\019\206\000\000\000\000\001\142\021:\000\000\000\000\000\000\000\000\000\000\000\000\b~\018b\000\000\000\000\019\210\019\214\018f\019\218\000\000\000\n\000\000\019\238\000\000\000\000\017Z\014\005\014\005\019\250\018n\001\146\017^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\150\000\000\000\000\020\026\000\000\000\000\000\000\020\030\020j\000\000\016\246\000\000\000\000\018r\000\000\020n\000\000\000\000\000\000\018z\000\000\000\000\000\000\000\000\000\000\000\n\020v\000\000\018~\000\000\005\213\000\000\000\000\018\134\003b\000R\000V\000f\000\194\000\000\000\198\016\178\000\202\000\210\000\218\0016\016\182\001F\001N\000\000\001v\000\000\001~\016\186\001\134\002^\002f\002j\016\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\002r\000\000\000\000\000\000\002\214\000\000\000\000\017\218\000\000\000\000\017\222\014\005\000\000\000\000\000\000\002z\000\000\023\018\000\000\000\000\n\185\000\000\014\005\000\000\000\000\000\000\002\230\000\000\014\005\014\005\000\000\000\000\000\000\000\000\007\005\023\"\0186\000\000\000\000\007\005\000\000\001R\000\000\001b\007\005\003\n\007\005\003\014\001j\000\000\002\142\007\005\007\005\000\022\000\000\000\000\018N\003\022\000\000\000\000\014\005\018R\001\230\003\030\000\000\014\005\014\005\018V\018Z\016\238\023&\018^\000\000\000\000\000\000\000\000\000\000\000\000\r\210\007\005\r\226\000\000\007\005\000\000\000\000\r\234\007\005\000\000\b~\018b\000\000\007\005\000\000\000\000\018f\007\005\012\246\000\n\000\000\000\000\000\000\007\005\007\005\000\000\007\005\000\000\018n\007\005\007\005\000\000\000\000\000Z\007\005\007\005\007\005\015\230\007\005\015\246\007\005\000\000\007\005\007\005\015\254\007\005\000\000\007\005\007\005\016\246\007\005\007\005\018r\007\005\023*\000\000\007\005\000\000\018z\007\005\007\005\007\005\000\000\007\005\007\005\0232\000\000\018~\000\000\007\005\000Z\007\005\018\134\003b\007\005\007\005\007\005\007\005\007\005\000\000\007\005\014\030\007\005\000\000\007\005\007\005\000Z\000\000\000\000\000\000\007\005\007\005\000\000\007\005\000\000\000\000\000\000\007\005\007\005\000\000\007\005\007\005\014\138\007\005\000\000\000\000\007\005\000Z\000\000\000\000\007\005\000\000\007\005\007\005\007\005\014\226\007\005\000\000\000\000\007\005\000Z\007\005\007\005\007\005\007\005\007\005\007\005\007\005\007\005\000\000\007\005\000\000\007\005\000\000\007\005\007\005\007\005\007\005\007\005\007\005\007\005\007\005\007\005\000\000\007\005\000\000\000\000\007\005\000\000\007\005\007\005\007\005\000\000\007\005\007\005\000\000\000\000\000\000\007\005\007\005\007\005\000\000\007\005\007\005\007\005\007\005\007\005\000\000\000\000\007\005\000\000\007\005\007\005\007\005\007\005\007\005\007\005\000\000\007\005\000\000\000\000\000\000\000\000\000\000\000\000\007\005\000\000\000\000\007\005\000\000\007\005\000\000\000\000\000\000\000\000\007\005\007\005\007\005\000\000\000\000\007\005\007\005\000\000\007\005\007\005\000\000\000\000\000\000\007\005\007\005\007\005\000\000\000\000\000\000\007\005\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\000\000\001F\001N\000\000\001v\000\000\001~\000\000\001\134\002^\002f\002j\000\000\000\000\005.\0056\000\194\000\000\000\198\000\000\005\146\005\154\005\162\005\254\000\000\006\014\006\022\002r\006>\000\000\006F\002\214\006N\006z\002\238\006\130\000\000\002\242\000\000\000\000\000\000\000\000\002z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\138\000\000\002\230\000\000\000\000\002\234\000\000\000\000\000\000\000\000\000\000\003\134\007\226\000\000\003\002\006\146\000\000\b\226\000\000\000\000\000\000\003\n\000\000\003\014\000\000\000\000\002\142\000\000\000\000\000\000\000\000\000\000\b\230\003\022\000\000\000\000\000\000\b\234\001\230\003\030\000\000\000\000\b\238\b\242\b\246\000\000\000\000\b\250\003.\000\000\006\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\254\000\000\000\000\000\000\000\000\t\002\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\014\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\026\000\000\000\000\000\000\000\000\000\000\t\"\000\000\000\000\0059\000\000\000\000\000\000\000\000\000\000\t&\000\000\000\000\000\000\000\000\t.\003b\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\000\000\001F\001N\000\000\001v\000\000\001~\000\000\001\134\002^\002f\002j\000\000\000\000\014\250\015\002\000\194\000\000\000\198\000\000\015^\015f\015n\015\202\000\000\015\218\015\226\002r\016\n\000\000\016\018\002\214\016\026\016F\002\238\016N\000\000\002\242\000\000\000\000\000\000\000\000\002z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016V\000\000\002\230\000\000\000\000\002\234\000\000\000\000\000\000\000\000\000\000\003\134\007\226\000\000\003\002\016^\000\000\b\226\000\000\000\000\000\000\003\n\000\000\003\014\000\000\000\000\002\142\000\000\000\000\000\000\000\000\000\000\b\230\003\022\000\000\000\000\000\000\b\234\001\230\003\030\000\000\000\000\b\238\b\242\b\246\000\000\000\000\b\250\003.\000\000\016n\000\000\000\000\000\000\000\000\000\000\000\000\016\178\000\000\000\000\000\000\000\000\016\182\000\000\000\000\b\254\000\000\030\174\000\000\016\186\t\002\000\000\000\000\000\n\016\190\030\178\000\000\000\000\000\000\000\000\000\000\000\000\t\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\178\000\000\000\000\t\014\000\000\016\182\000\000\000\000\000\000\000\000\030\174\000\000\016\186\000\000\000\000\000\000\t\026\016\190\030\178\000\000\000\000\000\000\t\"\000\000\000\000\tu\000\000\000\000\000\000\000\000\000\000\t&\000\000\000\000\001\142\017.\t.\003b\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\000\000\001F\001N\0216\001v\000\000\001~\017Z\001\134\002^\002f\002j\001\146\017^\000\000\000\000\000\000\000\000\001\142\021:\000\000\000\000\001\150\000\000\000\000\000\000\000\000\002r\000\000\000\000\000\000\002\214\000\000\000\000\002\238\000\000\000\000\002\242\000\000\000\000\017Z\000\000\002z\000\000\000\000\001\146\017^\000\n\000\000\000\000\000\000\000\000\005\213\002\230\000\000\001\150\002\234\000\000\000\000\000\000\000\000\016\178\003\134\007\226\000\000\003\002\016\182\000\000\b\226\000\000\000\000\030\174\003\n\016\186\003\014\000\000\000\000\002\142\016\190\030\178\000\n\000\000\000\000\b\230\003\022\005\213\000\000\000\000\b\234\001\230\003\030\000\000\000\000\b\238\b\242\b\246\000\000\000\000\b\250\003.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0216\000\000\000\000\b\254\000\000\000\000\000\000\000\000\t\002\000\000\000\000\000\n\000\000\000\000\000\000\001\142\021:\b\241\b\241\000\000\t\n\000\000\b\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\014\000\000\000\000\000\000\000\000\000\000\017Z\000\000\000\000\000\000\000\000\001\146\017^\t\026\000\000\000\000\000\000\000\000\000\000\t\"\000\000\001\150\002Q\000\000\000\000\000\000\000\000\000\000\t&\000\000\000\000\000\000\000\000\t.\003b\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\000\n\001F\001N\000\000\001v\005\213\001~\000\000\001\134\002^\002f\002j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002r\000\000\000\000\000\000\002\214\000\000\000\000\002\238\000\000\000\000\002\242\000\000\000\000\000\000\000\000\002z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011%\011%\000\000\002\230\000\000\011%\002\234\000\000\000\000\000\000\000\000\000\000\003\134\007\226\000\000\003\002\000\000\000\000\t\022\000\000\000\000\000\000\003\n\000\000\003\014\000\000\000\000\002\142\000\000\000\000\000\000\000\000\000\000\b\230\003\022\000\000\017\t\000\000\b\234\001\230\003\030\000\000\000\000\b\238\b\242\b\246\000\000\000\000\b\250\003.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\t\017\t\000\000\000\000\000\000\000\000\b\254\000\000\b\214\000\000\000\000\t\002\000\000\000\000\000\n\017\t\000\000\000\000\000\000\000\000\000\000\017\t\017\t\t\n\000\000\b\222\000\000\000\000\nf\000\000\000\000\017\t\000\000\000\000\017\t\000\000\017\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\026\000\000\000\000\000\000\000\000\000\000\t\"\000\000\000\000\t\133\000\000\000\000\000\000\000\000\000\000\t&\017\t\000\000\000\000\000\000\t.\003b\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\000\000\001F\001N\nr\001v\000\000\001~\000\000\001\134\002^\002f\002j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\t\000\000\000\000\000\000\002r\nv\000\000\017\t\002\214\000\000\000\000\002\218\000\000\000\000\002\222\000\000\n~\000\000\000\000\002z\000\000\017\t\000\000\000\000\000\000\000\000\000\000\000\000\017\t\000\000\002\230\000\000\000\000\002\234\000\000\000\000\017\t\017\t\000\000\002\254\002\250\000\000\003\002\000\000\000\000\000\000\000\000\000\000\000\000\003\n\000\000\003\014\000\000\000\000\002\142\000\000\000\000\000\000\000\000\000\000\003\018\003\022\000\000\000\000\000\000\003\026\001\230\003\030\000\000\000\000\000\000\003\"\003&\000\000\000\000\003*\003.\000\000\000\000\000\000\000\000\000\000\000\000\017%\000\000\000\000\017%\000\000\000\000\000\000\000\000\000\000\000\000\0032\000\000\000\000\000\000\000\000\0036\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\017%\017%\000\000\003>\000\000\000\000\000\000\000\000\tF\000\000\000\000\000\000\000\000\000\000\003B\017%\000\000\000\000\000\000\017%\000\000\017%\017%\000\000\000\000\tN\000\000\003F\n&\000\000\000\000\017%\000\000\003R\017%\000\000\017%\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\000\000\000\000\003Z\003b\001\133\001\133\001\133\001\133\000\000\001\133\000\000\001\133\001\133\001\133\001\133\000\000\001\133\001\133\017%\001\133\000\000\001\133\000\000\001\133\001\133\001\133\001\133\000\000\000\000\000\000\000\000\025\174\000\000\000\000\000\000\000\000\000\000\000\000\n2\000\000\000\000\001\133\001\133\001\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\133\000\000\000\000\000\000\000\000\000\000\001\133\017%\017%\001\133\017%\000\000\n6\001\133\017%\000\000\025\178\000\000\000\000\001\133\000\000\000\000\000\000\n>\000\000\000\000\001\133\000\000\017%\000\000\000\000\001\133\017%\017%\000\000\017=\000\000\000\000\017=\017%\001\133\001\133\000\000\017%\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\017=\017=\000\000\000\000\001\133\000\000\000\000\001\133\000\000\000\000\001\133\000\000\000\000\000\000\000\000\017=\000\000\000\000\000\000\017=\000\000\017=\017=\001\133\000\000\000\000\000\000\000\000\001\133\b\022\001\133\017=\000\000\001\133\017=\025\182\017=\000\000\000\000\000\000\001\133\000\000\001\133\000\000\000\000\001\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\133\001\133\000\000\017=\000\000\001\133\001\133\000\000\000\000\000\000\000R\012\230\012\238\000\194\000\000\000\198\026\134\rJ\rR\rZ\r\182\000\000\r\198\r\206\025\190\r\246\000\000\r\254\000\000\014\006\0142\002f\014:\000\000\000\000\000\000\025\194\000\000\000\000\000\000\000\000\000\000\000\000\017=\017=\000\000\017=\025\198\014B\025\202\017=\000\000\000\000\000\000\000\000\000\000\000\000\025\206\000\000\000\000\000\000\000\000\000\000\029\210\017=\000\000\025\218\000\000\017=\017=\025\222\000\000\000\000\000\000\000\000\017=\025\226\000\000\000\000\017=\017=\000\000\000\000\014Z\000\000\000\000\000\000\000\000\027r\000\000\000\000\000\000\025\230\028\222\000\000\000\000\000\000\000\000\014\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\194\000\000\000\000\000\000\000\000\000\000\000\000\016\210\000\000\000\000\000\000\000\000\014\158\002\214\016\218\025\234\017\218\000\000\025\238\017\222\000\000\000\000\000\000\000\000\000\000\000\000\017\242\000\000\000\000\n\185\000\000\025\242\000\000\000\000\000\000\002\230\025\246\000\n\025\250\000\000\025\254\026\002\000\000\026\006\019\234\0186\000\000\000\000\000\000\019\186\026\n\000\000\000\000\026\014\003\n\000\000\003\014\000\000\000\000\000\000\000\000\019\194\000\000\000\000\000\000\018N\003\022\019\198\026\018\000\000\018R\bn\003\030\026\022\026\026\000\000\018V\018Z\000\000\000\000\018^\019\202\000\000\000\000\000\000\000\000\019\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b~\018b\000\000\000\000\019\210\019\214\018f\019\218\000\000\000\n\000\000\019\238\000\000\000\000\000\000\000\000\000\000\019\250\018n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\026\000\000\000\000\000\000\020\030\020j\000\000\000\000\016\194\000\000\018r\000\000\020n\000\000\000\000\016\210\018z\000\000\000\000\000\000\000\000\002\214\016\218\020v\017\218\018~\000\000\017\222\000\000\000\000\018\134\003b\000\000\000\000\017\242\000\000\000\000\n\185\000\000\000\000\000\000\000\000\000\000\002\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018J\0186\000\000\000\000\000\000\019\186\000\000\000\000\000\000\000\000\003\n\000\000\003\014\000\000\000\000\000\000\000\000\019\194\000\000\000\000\000\000\018N\003\022\019\198\000\000\000\000\018R\bn\003\030\000\000\000\000\000\000\018V\018Z\000\000\000\000\018^\019\202\000\000\000\000\000\000\000\000\019\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b~\018b\000\000\000\000\019\210\019\214\018f\019\218\000\000\000\n\000\000\019\238\000\000\000\000\000\000\000\000\000\000\019\250\018n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\026\000\000\000\000\000\000\020\030\020j\000\000\000\000\000\000\000\000\018r\000\000\020n\000\000\000\000\000\000\018z\000\000\000\000\000\000\000\000\000\000\000\000\020v\000\000\018~\000\000\000\000\000\000\000\000\018\134\003b\012\193\012\193\012\193\012\193\000\000\012\193\000\000\012\193\012\193\012\193\012\193\000\000\012\193\012\193\000\000\012\193\000\000\012\193\000\000\012\193\012\193\012\193\012\193\000\000\000\000\017]\000\000\000\000\017]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\193\012\193\012\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\193\000\000\017]\017]\000\000\000\000\012\193\017]\000\000\026\150\003z\017]\000\000\026\158\000\000\000\000\000\000\017]\000\000\012\193\017]\017]\000\000\017]\017]\000\000\012\193\003\130\000\000\017]\003\150\012\193\000\000\017]\000\000\000\000\017]\000\000\017]\017]\012\193\012\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\000\000\000\000\000\000\000\000\000\000\000\000\000\012\193\000\000\017]\012\193\017]\000\000\012\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017]\000\000\000\000\000\000\012\193\000\000\000\000\004\226\000\000\012\193\000\000\012\193\000\000\000\000\012\193\000\000\000\000\000\000\000\000\000\000\000\000\012\193\000\000\012\193\000\000\000\000\012\193\017]\017]\000\000\017]\017]\004\230\000\000\017]\000\000\000\000\000\000\000\000\000\000\000\000\012\193\012\193\004\238\000\000\000\000\026\242\012\193\017]\000\000\000\000\017]\017]\017]\017]\017]\000\000\000\000\000\000\017]\017]\017]\000\000\017]\017]\017]\016\237\000\000\000\000\016\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\237\016\237\000\000\000\000\000\000\016\237\000\000\000\000\003z\016\237\000\000\000\000\000\000\000\000\000\000\016\237\000\000\000\000\016\237\016\237\000\000\016\237\016\237\000\000\000\000\003\130\000\000\016\237\003\150\000\000\000\000\016\237\000\000\000\000\016\237\000\000\016\237\016\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\237\000\000\016\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\237\000\000\000\000\000\000\000\000\000\000\000\000\004\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\237\016\237\000\000\016\237\016\237\004\230\000\000\016\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0069\004\238\000\000\0069\000\000\000\000\016\237\000\000\000\000\016\237\016\237\016\237\016\237\016\237\000\000\000\000\000\000\016\237\016\237\016\237\000\000\016\237\016\237\016\237\0069\0069\000\000\000\000\000\000\0069\000\000\000\000\0069\0069\000\000\000\000\000\000\000\000\000\000\0069\000\000\000\000\0069\0069\000\000\0069\0069\000\000\001\142\0069\000\000\0069\0069\000\000\000\000\0069\000\000\000\000\0069\000\000\0069\0069\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\150\000\000\0069\000\000\0069\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0069\000\000\000\000\000\000\000\000\000\000\000\000\0069\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0069\0069\000\000\0069\b\153\0069\000\000\0069\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0069\000\000\000\000\000\000\000\000\0069\000\000\000\000\0069\000\000\0069\000\000\0069\000\000\000\000\000\000\0069\0069\0069\000\000\0069\0069\0069\012\177\012\177\012\177\012\177\000\000\012\177\000\000\012\177\012\177\012\177\012\177\000\000\012\177\012\177\000\000\012\177\000\000\012\177\000\000\012\177\012\177\012\177\012\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\012\177\012\177\012\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\177\000\000\000\000\000\000\000\000\000\000\012\177\000\000\000R\012\230\012\238\000\194\000\000\000\198\000\000\rJ\rR\rZ\r\182\012\177\r\198\r\206\000\000\r\246\000\000\r\254\012\177\014\006\0142\002f\014:\012\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\177\012\177\000\000\000\000\000\000\000\000\014B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014J\000\000\012\177\000\000\000\000\012\177\000\000\000\000\012\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014Z\012\177\000\000\000\000\000\000\000\000\012\177\000\000\012\177\000\000\000\000\012\177\000\000\000\000\000\000\014\134\000\000\000\000\012\177\000\000\012\177\000\000\000\000\012\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\014\158\012\177\012\177\000\000\000\000\000\000\026\154\012\177\012\181\012\181\012\181\012\181\000\000\012\181\000\000\012\181\012\181\012\181\012\181\000\000\012\181\012\181\000\000\012\181\000\000\012\181\000\000\012\181\012\181\012\181\012\181\000\000\000\000\006=\000\000\000\000\006=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\181\012\181\012\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\181\000\000\006=\006=\000\000\000\000\012\181\006=\000\000\026\246\006=\006=\000\000\000\000\000\000\000\000\000\000\006=\000\000\012\181\006=\006=\000\000\006=\006=\000\000\012\181\006=\000\000\006=\006=\012\181\000\000\006=\000\000\000\000\006=\000\000\006=\006=\012\181\012\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\181\000\000\006=\012\181\006=\000\000\012\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006=\000\000\000\000\000\000\012\181\000\000\000\000\006=\000\000\012\181\000\000\012\181\000\000\000\000\012\181\000\000\000\000\000\000\000\000\000\000\000\000\012\181\000\000\012\181\000\000\000\000\012\181\006=\006=\000\000\006=\b\161\006=\000\000\006=\000\000\000\000\000\000\000\000\000\000\000\000\012\181\012\181\006=\000\000\000\000\000\000\012\181\006=\000\000\000\000\006=\000\000\006=\000\000\006=\000\000\000\000\000\000\006=\006=\006=\000\000\006=\006=\006=\000R\012\230\012\238\000\194\000\000\000\198\000\000\rJ\rR\rZ\r\182\000\000\r\198\r\206\000\000\r\246\000\000\r\254\000\000\014\006\0142\002f\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\000\000\026\254\014B\027\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\027&\000\000\000\000\000\000\000\000\000\000\014J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\027>\000\000\000\000\000\000\000\000\000\000\000\000\014Z\000\000\000\000\000\000\000\000\027r\000\000\000\000\000\000\017u\000\000\000\000\017u\000\000\027\146\014\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\017u\017u\000\000\000\000\014\158\017u\000\000\027\158\000\000\017u\027\246\000\000\000\000\000\000\000\000\017u\000\000\000\000\017u\017u\000\000\017u\017u\028\014\000\000\000\000\000\000\017u\028:\b\022\n\161\017u\000\000\028j\017u\000\000\017u\017u\000\000\000\000\028v\000\000\028\162\000\000\000\000\029\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029\170\029\194\000\000\017u\000\000\017u\029\206\000\000\000\000\000\000\005)\005)\005)\005)\000\000\005)\017u\005)\005)\005)\005)\000\000\005)\005)\000\000\005)\000\000\005)\000\000\005)\005)\005)\005)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\186\017u\017u\000\000\017u\017u\005)\017\005\017u\000\000\017\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005)\017u\000\000\000\000\017u\017u\017u\017u\017u\000\000\017\005\017\005\017u\017u\017u\017\005\017u\017u\017u\017\005\005)\000\000\000\000\000\000\000\000\017\005\005)\000\000\017\005\017\005\000\000\017\005\017\005\000\000\000\000\005)\000\000\017\005\000\000\b\022\000\000\017\005\000\000\000\000\017\005\000\000\017\005\017\005\000\000\005)\005)\000\000\000\000\000\000\000\000\000\000\000\000\005)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\005\000\000\017\005\000\000\000\000\000\000\000\000\000\000\000\000\005)\000\000\000\000\000\000\017\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\005\017\005\000\000\017\005\017\005\000\000\000\000\017\005\000\000\000\000\000\000\000\000\000\000\000\000\005)\017A\000\000\000\000\017A\000\000\000\000\017\005\000\000\000\000\017\005\017\005\017\005\017\005\017\005\000\000\000\000\000\000\017\005\017\005\017\005\000\000\017\005\017\005\017\005\017A\017A\000\000\000\000\000\000\017A\000\000\000\000\018\158\017A\000\000\000\000\000\000\000\000\000\000\017A\000\000\000\000\017A\017A\000\000\017A\017A\000\000\000\000\018\166\000\000\017A\018\178\000\000\000\000\017A\000\000\000\000\017A\000\000\017A\017A\000\000\000\000\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\000\000\001F\001N\000\000\001v\000\000\001~\000\000\001\134\002^\002f\002j\017A\000\000\017A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017A\000\000\002r\000\000\000\000\000\000\000\000\018\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017A\017A\000\000\017A\000\000\018\194\000\000\017A\002\214\000\000\002\138\007\250\000\000\000\000\007\254\000\000\018\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017A\002\142\017A\000\000\000\000\000\000\002\230\000\000\017A\017A\017A\000\000\017A\017A\017A\b\026\b&\000\000\000\000\b>\bV\bZ\000\000\014^\000\000\003\n\000\000\003\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b^\003\022\000\000\bb\bf\bj\bn\003\030\000\000\000\000\000\000\br\bv\000\000\000\000\bz\001\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b~\b\130\000\000\000\000\000\000\000\000\b\134\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007%\000\000\b\146\000\000\b\162\000\000\002\214\000\000\000\000\007\250\000\000\000\000\007\254\000\000\000\000\b\170\000\000\000\000\000\000\000\000\000\000\b\178\000\000\000\000\000\000\000\000\000\000\005I\002\230\000\000\b\182\000\000\000\000\000\000\000\000\b\190\003b\b\026\b&\000\000\000\000\b>\bV\bZ\000\000\000\000\000\000\003\n\000\000\003\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b^\003\022\000\000\bb\bf\bj\bn\003\030\000\000\000\000\000\000\br\bv\000\000\000\000\bz\001\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b~\b\130\000\000\000\000\000\000\000\000\b\134\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007%\000\000\b\146\000\000\b\162\000\000\002\214\000\000\000\000\007\250\000\000\000\000\007\254\000\000\000\000\b\170\000\000\000\000\000\000\000\000\000\000\b\178\000\000\000\000\000\000\000\000\000\000\t\201\002\230\000\000\b\182\000\000\000\000\000\000\000\000\b\190\003b\b\026\b&\000\000\000\000\b>\bV\bZ\000\000\000\000\000\000\003\n\000\000\003\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b^\003\022\000\000\bb\bf\bj\bn\003\030\000\000\000\000\000\000\br\bv\000\000\000\000\bz\001\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\000\000\001\209\000\000\b~\b\130\000\000\000\000\000\000\000\000\b\134\000\000\000\000\000\n\001\209\000\000\000\000\001\209\000\000\000\000\000\000\000\000\b\142\001\209\001\209\000\000\000\000\000\000\001\209\000\000\000\000\007%\001\209\b\146\000\000\b\162\000\000\000\000\001\209\001\209\000\000\001\209\001\209\001\209\001\209\001\209\b\170\001\209\000\000\000\000\001\209\000\000\b\178\001\209\001\209\000\000\001\209\001\209\002\129\001\209\001\209\b\182\000\000\000\000\000\000\001\209\b\190\003b\000\000\001\209\000\000\000\000\001\209\000\000\001\209\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\001\209\000\000\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\003\158\000\000\001\209\001\209\000\000\000\000\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\003\166\000\000\001\209\001\209\000\000\001\209\001\209\000\000\001\209\001\209\001\209\001\209\000\000\000\000\000\000\000\000\004\210\001\209\001\209\000\000\001\209\001\209\001\209\001\209\001\209\001\209\001\209\000\000\000\000\000\000\000\000\004\198\001\209\001\209\000\000\001\209\001\209\001\209\002\214\000\000\000\000\007\250\000\000\000\000\007\254\000\000\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\000\000\001F\001N\002\230\001v\000\000\001~\000\000\001\134\002^\002f\002j\b\026\b&\000\000\000\000\b>\bV\011J\000\000\000\000\000\000\003\n\000\000\003\014\000\000\000\000\002r\000\000\000\000\000\000\000\000\000\000\b^\003\022\000\000\bb\bf\bj\bn\003\030\000\000\002z\001Y\br\bv\001Y\000\000\bz\001\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\138\000\000\000\000\b~\b\130\001Y\001Y\000\000\000\000\b\134\001Y\000\000\000\n\000\000\001Y\002\142\000\000\000\000\000\000\000\000\003\222\b\142\000\000\001Y\001Y\000\000\001Y\001Y\000\000\000\000\007%\000\000\001Y\000\000\b\162\000\000\001Y\000\000\000\000\003\230\000\000\003\246\001Y\000\000\000\000\b\170\000\000\000\000\000\000\000\000\000\000\b\178\000\000\000\000\000\000\000\000\000\000\t\217\000\000\000\000\b\182\000\000\000\n\000\000\000\000\b\190\003b\000\000\001Y\000\000\001Y\000\000\000\000\000\000\000\000\000R\000V\000f\000\194\000\000\000\198\001Y\000\202\000\210\000\218\0016\000\000\001F\001N\000\000\001v\000\000\001~\000\000\001\134\002^\002f\002j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Y\000\000\000\000\001Y\001Y\002r\001M\003\238\000\000\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\001Y\000\000\000\000\001Y\001Y\001Y\001Y\001Y\000\000\001M\001M\000\000\001Y\001Y\001M\001Y\001Y\001Y\001M\002\150\000\000\000\000\000\000\000\000\001M\002\178\000\000\001M\001M\000\000\001M\001M\000\000\000\000\002\142\000\000\001M\000\000\000\000\000\000\001M\000\000\000\000\003\230\000\000\001M\001M\000\000\002\154\002\158\000\000\000\000\000\000\000\000\000\000\000\000\002\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\000\000\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\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\002\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\000\000\000\000\001M\001M\000\000\001Q\003\238\000\000\001Q\000\000\000\000\000\000\000\000\014\205\000\000\000\000\000\000\000\000\000\000\000\000\001M\000\000\000\000\001M\001M\001M\001M\001M\000\000\001Q\001Q\000\000\001M\001M\001Q\001M\001M\001M\001Q\000\000\000\000\000\000\000\000\000\000\001Q\000\000\000\000\001Q\001Q\000\000\001Q\001Q\000\000\000\000\000\000\000\000\001Q\000\000\000\000\000\000\001Q\000\000\000\000\003\230\000\000\001Q\001Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\000\000\001F\001N\000\000\001v\001Q\001~\001Q\001\134\002^\002f\002j\000\000\000\000\000\000\000\000\000\000\000\000\001Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\001Q\000\000\000\000\001Q\001Q\000\000\001U\003\238\000\000\001U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\150\000\000\000\000\000\000\001Q\000\000\002\178\001Q\001Q\001Q\001Q\001Q\000\000\001U\001U\002\142\001Q\001Q\001U\001Q\001Q\001Q\001U\000\000\000\000\000\000\000\000\000\000\003\222\002\154\002\158\001U\001U\000\000\001U\001U\000\000\002\162\000\000\000\000\001U\000\000\000\000\000\000\001U\000\000\000\000\003\230\000\000\003\246\001U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001U\000\000\001U\000\000\000\000\000\000\002\182\000R\000V\000f\000\194\000\000\000\198\001U\000\202\000\210\000\218\0016\000\000\001F\001N\000\000\001v\000\000\001~\000\000\001\134\002^\002f\002j\000\000\002\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001U\000\000\000\000\001U\001U\002r\001e\003\238\000\000\001e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\001U\000\000\000\000\001U\001U\001U\001U\001U\000\000\003\214\003\254\000\000\001U\001U\001e\001U\001U\001U\001e\002\150\000\000\000\000\000\000\000\000\003\222\002\178\000\000\001e\001e\000\000\001e\001e\000\000\000\000\002\142\000\000\001e\000\000\017!\000\000\001e\000\000\000\000\003\230\000\000\003\246\001e\000\000\002\154\002\158\000\000\000\000\000\000\000\000\000\000\000\000\002\162\000\000\000\000\000\000\000\000\000\000\017!\017!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\014\000\000\001e\000\000\000\000\017!\000\000\000\000\000\000\000\n\000\000\017!\017!\001e\000\000\000\000\000\000\000\000\000\000\b\022\000\000\017!\000\000\000\000\017!\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\001e\000\000\000\000\001e\001e\000\000\001]\003\238\000\000\001]\000\000\000\000\000\000\017!\002\173\000\000\000\000\000\000\000\000\000\000\000\000\001e\000\000\000\000\001e\001e\001e\001e\001e\000\000\003\214\003\254\000\000\001e\001e\001]\001e\001e\001e\001]\000\000\000\000\000\000\000\000\000\000\003\222\000\000\000\000\001]\001]\000\000\001]\001]\017!\000\000\000\000\000\000\001]\000\000\000\000\017!\001]\000\000\000\000\003\230\000\000\003\246\001]\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\017!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017!\017!\000\000\000\000\001]\000\000\001]\000\000\000\000\000\000\000\000\000R\000V\000f\000\194\000\000\000\198\001]\000\202\000\210\000\218\0016\000\000\001F\001N\000\000\001v\000\000\001~\000\000\001\134\002^\002f\002j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001]\000\000\000\000\001]\001]\002r\001a\003\238\000\000\001a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\001]\000\000\000\000\001]\001]\001]\001]\001]\000\000\003\214\003\254\000\000\001]\001]\001a\001]\001]\001]\001a\002\138\000\000\000\000\000\000\000\000\003\222\006\234\000\000\001a\001a\000\000\001a\001a\000\000\000\000\002\142\000\000\001a\000\000\006\238\006\242\001a\000\000\000\000\003\230\000\000\003\246\001a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\014\000\000\001a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001a\000\000\000\000\000\000\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\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001a\000\000\000\000\001a\001a\000\000\001i\003\238\000\000\001i\000\000\005Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001a\000\000\000\000\001a\001a\001a\001a\001a\000\000\003\214\003\254\000\000\001a\001a\001i\001a\001a\001a\001i\000\000\000\000\000\000\000\000\000\000\003\222\000\000\000\000\001i\001i\000\000\001i\001i\000\000\000\000\000\000\000\000\001i\000\000\000\000\000\000\004\006\000\000\000\000\003\230\000\000\003\246\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\014\000\000\001i\000\000\000\000\000\000\000\000\000R\000V\000f\000\194\000\000\000\198\001i\000\202\000\210\000\218\0016\000\000\001F\001N\000\000\001v\000\000\001~\000\000\001\134\002^\002f\002j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\022\000\000\000\000\001i\001i\002r\001q\003\238\000\000\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\001i\000\000\000\000\001i\001i\001i\001i\001i\000\000\003\214\003\254\000\000\001i\001i\001q\001i\001i\001i\001q\002\138\000\000\000\000\000\000\000\000\003\222\006\234\000\000\001q\001q\000\000\001q\001q\000\000\000\000\002\142\000\000\001q\000\000\006\238\006\242\004\006\000\000\000\000\003\230\000\000\003\246\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\014\000\000\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\022\000\000\000\000\001q\001q\000\000\004f\003\238\000\000\001m\000\000\n\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001q\000\000\000\000\001q\001q\001q\001q\001q\000\000\003\214\003\254\000\000\001q\001q\001m\001q\004\030\001q\001m\000\000\000\000\000\000\000\000\000\000\003\222\000\000\000\000\001m\001m\000\000\001m\001m\000\000\000\000\000\000\000\000\001m\000\000\000\000\000\000\004\006\000\000\000\000\003\230\000\000\003\246\001m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\014\000\000\001m\000\000\000\000\000\000\000\000\000R\000V\000f\000\194\000\000\000\198\001m\000\202\000\210\000\218\0016\000\000\001F\001N\000\000\001v\000\000\001~\000\000\001\134\002^\002f\002j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\022\000\000\000\000\001m\001m\002r\004f\003\238\000\000\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\001m\000\000\000\000\001m\001m\001m\001m\001m\000\000\003\214\003\254\000\000\001m\001m\001u\001m\004\030\001m\001u\002\138\000\000\000\000\000\000\000\000\003\222\006\234\000\000\001u\001u\000\000\001u\004n\000\000\000\000\002\142\000\000\001u\000\000\006\238\006\242\004\006\000\000\000\000\003\230\000\000\003\246\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\014\000\000\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\022\000\000\000\000\001u\001u\000\000\003\202\003\238\000\000\004&\000\000\002\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001u\000\000\000\000\001u\001u\001u\001u\001u\000\000\004F\004N\000\000\001u\001u\002-\001u\004\030\001u\002-\000\000\000\000\000\000\000\000\000\000\004V\000\000\000\000\002-\002-\000\000\004^\004~\000\000\000\000\000\000\000\000\002-\000\000\000\000\000\000\004\134\000\000\n\169\004\142\000\000\004\150\002-\000\000\000\000\000\000\000\000\000\000\000\000\000\129\n\169\000\000\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\169\000\000\n\169\000\000\000\000\000\000\000\000\004\158\000\000\002-\n\169\000\000\003\214\003\254\000\000\000\000\n\169\000\129\000\000\n\169\002-\000\129\000\000\n\169\026\162\000\000\000\000\003\222\000\000\n\169\000\129\000\129\000\000\000\129\000\129\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\004\006\000\000\n\169\003\230\004\166\003\246\000\129\002-\002-\000\000\000\000\004\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002-\000\000\000\000\002-\002-\002-\002-\004\014\n\169\000\129\000\000\n\169\002-\002-\000\000\004\182\004\190\002-\000\000\000\000\000\129\000\000\000\000\000\000\n\169\000\000\000\000\000\000\000\000\n\169\n\169\n\169\000\000\n\169\n\169\000\000\n\169\000\000\000\000\000\000\000\000\000\000\000\000\n\169\000\000\000\000\n\169\004\022\000\000\000\000\000\129\000\129\000\000\000i\003\238\000\000\000i\000\000\000\000\000\000\000\000\n\169\000\000\000\000\000\000\000\000\n\169\n\169\000\129\000\000\000\000\000\129\000\129\000\129\000\129\000\000\000\000\000i\000i\000\000\000\129\000\129\000i\000\129\004\030\000\129\000i\000\000\000\000\000\000\000\000\000\000\003\222\000\000\000\000\000i\000i\000\000\000i\000i\000\000\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\025\190\003\230\000\000\003\246\000i\000\000\000\000\000\000\000\000\000\000\000\000\000e\025\194\000\000\000e\000\000\000\000\000\000\000\000\028>\000\000\000\000\000\000\025\198\000\000\025\202\000\000\000\000\000\000\000\000\000i\000\000\000i\025\206\000\000\000e\000e\000\000\000\000\025\210\000e\000\000\025\218\000i\000e\000\000\025\222\000\000\000\000\000\000\003\222\000\000\025\226\000e\000e\000\000\000e\000e\000\000\000\000\000\000\000\000\000e\000\000\027\206\000\000\000e\000\000\025\230\003\230\000i\003\246\000e\000i\000i\000\000\000\000\003\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000i\000i\000e\025\234\000e\000\000\025\238\000i\000i\000\000\000i\000i\000i\000\000\000\000\000e\000\000\027J\000\000\025\242\000\000\000\000\000\000\000\000\025\246\000\n\025\250\000\000\025\254\026\002\000\000\026\006\000\000\000\000\000\000\000\000\000\000\000\000\026\n\000\000\000\000\026\014\000e\000\000\000\000\000e\000e\000\000\000]\003\238\000\000\000]\000\000\000\000\000\000\000\000\026\018\000\000\000\000\000\000\000\000\026\022\026\026\000e\000\000\000\000\000e\000e\000e\000e\000\000\000\000\000]\000]\000\000\000e\000e\000]\000e\000e\000e\000]\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000]\000]\000\000\000\000\000\000\000\000\000]\000\000\000\000\000\000\000]\000\000\007\245\003\230\000\000\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\004f\007\245\000\000\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\245\000\000\007\245\000\000\000\000\000\000\000\000\000]\000\000\000]\007\245\000\000\003\214\003\254\000\000\000\000\007\245\000\137\000\000\007\245\000]\000\137\000\000\007\245\000\000\000\000\000\000\003\222\000\000\007\245\000\137\000\137\000\000\000\137\004n\000\000\000\000\000\000\000\000\000\137\029\226\000\000\000\000\004\006\000\000\007\245\003\230\000]\003\246\000\137\000]\000]\000\000\000\000\003\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000]\000]\004\014\007\245\000\137\000\000\007\245\000]\000]\000\000\000]\000]\000]\000\000\000\000\000\137\000\000\000\000\000\000\007\245\000\000\000\000\000\000\000\000\007\245\007\245\007\245\000\000\007\245\007\245\000\000\007\245\000\000\000\000\000\000\000\000\000\000\000\000\007\245\000\000\000\000\007\245\004\022\000\000\000\000\000\137\000\137\000\000\004f\003\238\000\000\000}\000\000\000\000\000\000\000\000\007\245\000\000\000\000\000\000\000\000\007\245\007\245\000\137\000\000\000\000\000\137\000\137\000\137\000\137\000\000\000\000\003\214\003\254\000\000\000\137\000\137\000}\004v\004\030\000\137\000}\000\000\000\000\000\000\000\000\000\000\003\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\004\006\000\000\027*\003\230\000\000\003\246\000}\000\000\000\000\000\000\000\000\000\000\000\000\000u\025\194\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\198\000\000\025\202\000\000\000\000\000\000\000\000\004\014\000\000\000}\025\206\000\000\003\214\003\254\000\000\000\000\025\210\000u\000\000\025\218\000}\000u\000\000\025\222\000\000\000\000\000\000\003\222\000\000\025\226\000u\000u\000\000\000u\000u\000\000\000\000\000\000\000\000\000u\000\000\000\000\000\000\000u\000\000\025\230\003\230\004\022\003\246\000u\000}\000}\000\000\000\000\003\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000}\000\000\000\000\000}\000}\000}\000}\004\014\025\234\000u\000\000\025\238\000}\000}\000\000\000}\004\030\000}\000\000\000\000\000u\000\000\000\000\000\000\025\242\000\000\000\000\000\000\000\000\025\246\000\n\025\250\000\000\025\254\026\002\000\000\026\006\000\000\000\000\000\000\000\000\000\000\000\000\026\n\000\000\000\000\026\014\000u\000\000\000\000\000u\000u\000\000\000a\003\238\000\000\000a\000\000\000\000\000\000\000\000\026\018\000\000\000\000\000\000\000\000\026\022\026\026\000u\000\000\000\000\000u\000u\000u\000u\000\000\000\000\000a\000a\000\000\000u\000u\000a\000u\000u\000u\000a\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000a\000a\000\000\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\027B\003\230\000\000\000a\000a\000\000\000\000\000\000\000\000\000\000\000\000\000m\025\194\000\000\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\198\000\000\025\202\000\000\000\000\000\000\000\000\000a\000\000\000a\025\206\000\000\003\214\003\254\000\000\000\000\025\210\000m\000\000\025\218\000a\000m\000\000\025\222\000\000\000\000\000\000\003\222\000\000\025\226\000m\000m\000\000\000m\000m\000\000\000\000\000\000\000\000\000m\000\000\000\000\000\000\000m\000\000\025\230\003\230\000a\003\246\000m\000a\000a\000\000\000\000\003\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000a\000a\000m\025\234\000m\000\000\025\238\000a\000a\000\000\000a\000a\000a\000\000\000\000\000m\000\000\000\000\000\000\025\242\000\000\000\000\000\000\000\000\025\246\000\n\025\250\000\000\025\254\026\002\000\000\026\006\000\000\000\000\000\000\000\000\000\000\000\000\026\n\000\000\000\000\026\014\000m\000\000\000\000\000m\000m\000\000\000q\003\238\000\000\000q\000\000\000\000\000\000\000\000\026\018\000\000\000\000\000\000\000\000\026\022\026\026\000m\000\000\000\000\000m\000m\000m\000m\000\000\000\000\003\214\003\254\000\000\000m\000m\000q\000m\000m\000m\000q\000\000\000\000\000\000\000\000\000\000\003\222\000\000\000\000\000q\000q\000\000\000q\000q\000\000\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000\000\025\190\003\230\000\000\003\246\000q\000\000\000\000\000\000\000\000\000\000\000\000\004f\025\194\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\198\000\000\025\202\000\000\000\000\000\000\000\000\004\014\000\000\000q\025\206\000\000\003\214\003\254\000\000\000\000\025\210\000\133\000\000\025\218\000q\000\133\000\000\025\222\000\000\000\000\000\000\003\222\000\000\025\226\000\133\000\133\000\000\000\133\004n\000\000\000\000\000\000\000\000\000\133\000\000\000\000\000\000\004\006\000\000\027\250\003\230\000q\003\246\000\133\000q\000q\000\000\000\000\003\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000q\000q\000q\004\014\025\234\000\133\000\000\025\238\000q\000q\000\000\000q\000q\000q\000\000\000\000\000\133\000\000\000\000\000\000\025\242\000\000\000\000\000\000\000\000\025\246\000\n\025\250\000\000\025\254\026\002\000\000\026\006\000\000\000\000\000\000\000\000\000\000\000\000\026\n\000\000\000\000\026\014\004\022\000\000\000\000\000\133\000\133\000\000\000y\003\238\000\000\000y\000\000\000\000\000\000\000\000\026\018\000\000\000\000\000\000\000\000\026\022\026\026\000\133\000\000\000\000\000\133\000\133\000\133\000\133\000\000\000\000\003\214\003\254\000\000\000\133\000\133\000y\000\133\004\030\000\133\000y\000\000\000\000\000\000\000\000\000\000\003\222\000\000\000\000\000y\000y\000\000\000y\000y\000\000\000\000\000\000\000\000\000y\000\000\000\000\000\000\004\006\000\000\000\000\003\230\000\000\003\246\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\014\000\000\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000R\000V\000f\000\194\012\226\000\198\016\178\000\202\000\210\000\218\0016\016\182\001F\001N\000\000\001v\030\154\001~\016\186\001\134\002^\002f\002j\016\190\030\158\004\022\000\000\000\000\000y\000y\000\000\000\000\003\238\000\000\000\000\000\000\000\000\000\000\002r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000\000\000y\000y\000y\000y\002z\000\000\000\000\000\000\000\000\000y\000y\000\000\000y\000y\000y\000\000\004%\000\000\000\000\000\000\000j\004%\000\000\000z\002\138\000\154\004%\000\000\004%\000\000\031V\000\000\000\162\004%\004%\000\000\000\000\000\000\000\000\002\142\000\000\000\000\000\000\031Z\006\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\238\016\242\000\000\006\246\000\000\000\170\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\004%\004%\004!\000\n\000\000\000\000\000\222\004!\005\193\000\238\000\000\001\014\004!\004%\004!\000\186\000\000\000\000\001\022\004!\004!\000\000\004%\031^\000\000\000\000\000\000\004%\004%\000\000\000\000\000\000\007\029\016\246\000\000\000\000\000\000\004%\000\000\000\000\000\000\004%\000\000\007\029\000\000\005Q\000\000\000\000\007\029\001\030\004!\000\000\004%\000\000\004!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004%\000\000\000\000\000\000\000\000\004%\000\000\004!\004!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!\000\000\001.\000\000\000\000\000\000\000\000\000\000\000\000\004!\000\000\000\000\000\000\000\000\004!\004!\000\000\000\000\004%\000\000\000\000\004%\004%\017Y\004!\004%\017Y\000\000\004!\000\000\004%\004%\000\000\000\000\000\000\004%\000\000\000\000\000\000\004!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017Y\017Y\004!\000\000\000\000\017Y\000\000\004!\000\000\017Y\000\000\000\000\000\000\000\000\000\000\017Y\000\000\000\000\017Y\017Y\000\000\017Y\017Y\000\000\000\000\000\000\000\000\017Y\000\000\b\022\000\000\017Y\000\000\000\000\017Y\000\000\017Y\017Y\000\000\000\000\004!\000\000\000\000\004!\004!\000\000\000\000\004!\007\005\r\n\000\000\000\000\004!\004!\000\000\000\000\000\000\004!\000\000\000\000\007\005\000\000\000\000\017Y\000\000\017Y\000\000\000\000\000\000\000\000\000\000\007\005\000\000\007\005\012\197\012\197\017Y\000\000\012\197\000\000\000\000\007\005\000\000\000\000\000\000\000\000\000\000\007\005\000\000\000\000\007\005\000\000\000\000\000\000\007\005\000\000\000\000\000\000\000\000\000\000\007\005\000\000\000\000\017Y\017Y\000\000\017Y\000\000\000\000\000\000\017Y\007\005\0162\000\000\012\197\000\000\007\005\000Z\000\000\000\000\000\000\000\000\007\005\000\000\000\000\000\000\000\000\017Y\000\000\017Y\000\000\000\000\000\000\000\000\000\000\017Y\017Y\017Y\000\000\017Y\017Y\017Y\000\000\000\000\007\005\012\197\000\000\007\005\000\000\000\000\007\005\000\000\000\000\000\000\000\000\000\000\002\214\000\000\000\000\002\218\000\000\000\000\002\222\007\005\000\000\000\000\000\000\000\000\007\005\007\005\007\005\000\000\007\005\007\005\000\000\007\005\000\000\000\000\002\230\000\000\000\000\002\234\007\005\000\000\000\000\007\005\000\000\002\246\002\250\000\000\003\002\000\000\b\158\000\000\000\000\000\000\000\000\003\n\000\000\003\014\007\005\000\000\000\000\000\000\000\000\007\005\007\005\012\197\003\018\003\022\000\000\000\000\011f\003\026\001\230\003\030\000\000\000\000\000\000\003\"\003&\000\000\000\000\003*\003.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\233\000\000\000\000\001\233\000\000\000\000\000\000\000\000\000\000\0032\000\000\000\000\000\000\000\000\0036\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\001\233\001\233\003>\000\000\000\000\001\233\000\000\000\000\000\000\001\233\000\000\000\000\000\000\003B\n\177\001\233\000\000\000\000\001\233\001\233\000\000\001\233\001\233\000\000\000\000\000\000\003F\001\233\000\000\000\000\000\000\001\233\003R\000\000\001\233\n\177\001\233\001\233\000\000\000\000\000\000\003j\000\000\000\000\000\000\000\000\003Z\003b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\233\000\000\001\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\214\000\000\000\000\002\218\000\000\000\000\002\222\000\000\000\000\000\000\000\000\000\000\000\000\001\233\018\222\000\000\001\233\000\000\000\000\000\000\001\233\000\000\002\230\000\000\000\000\002\234\000\000\000\000\000\000\000\000\000\000\002\246\002\250\000\000\003\002\000\000\b\022\001\233\000\000\001\233\000\000\003\n\000\000\003\014\000\000\018\230\001\233\001\233\000\000\001\233\001\233\001\233\003\018\003\022\000\000\000\000\000\000\003\026\001\230\003\030\000\000\000\000\000\000\003\"\003&\000\000\000\000\003*\003.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\005\000\000\000\000\000\000\r\006\007\005\r\022\006\026\0032\006*\007\005\000\000\007\005\0036\0062\000\000\000\n\007\005\007\005\007\005\rb\000\000\000\000\000\000\000\000\003>\000\000\000\000\007\005\000\000\007\005\007\005\rr\007\005\r\130\000\000\003B\000\000\007\005\015\026\007\005\015*\007\005\000\000\007\005\007\005\000\000\007\005\007\005\003F\000\000\007\005\007\005\000\000\000\000\003R\007\005\007\005\007\005\000\000\n\177\007\005\000\000\007\005\003j\007\005\007\005\007\005\007\005\003Z\003b\007\005\007\005\007\005\000Z\007\005\000\000\000Z\000\000\007\005\007\005\015\134\007\005\015\150\000\000\007\005\007\005\007\005\000Z\007\005\000\000\000\000\007\005\007\005\007\005\007\005\007\005\016r\000\000\000\000\000\000\007\005\000Z\007\005\007\005\007\005\000\000\007\005\007\005\000Z\000\000\000\000\000\000\000\000\007\005\007\005\007\005\000\000\007\005\007\005\007\005\007\005\000\000\000\000\007\005\007\005\007\005\007\005\007\005\007\005\007\005\000\000\007\005\000\000\007\005\007\005\007\005\007\005\000\000\007\005\007\005\007\005\007\005\007\005\007\005\007\005\007\005\000\000\007\005\000\000\007\005\000Z\000\000\007\005\007\005\007\005\007\005\007\005\007\005\000\000\007\005\007\005\007\005\007\005\007\005\007\005\000\000\007\005\016\158\000\000\007\005\007\005\007\005\000Z\007\005\000\000\007\005\007\005\007\005\007\005\007\005\007\005\000\000\000\000\007\005\007\005\000\000\000\000\000\000\000\000\007\005\007\005\007\005\000\000\000\000\000\000\000\000\007\005\007\005\000\000\007\005\000\000\007\005\007\005\007\005\000\000\007\005\007\005\000\000\007\005\000\000\002\214\000\000\000\000\002\218\000\000\007\005\002\222\000\000\007\005\000\000\000\000\000\000\000\000\007\005\007\005\007\005\017\246\007\005\007\005\000\000\007\005\000\000\002\230\007\005\000\000\002\234\000\000\007\005\007\005\007\005\007\005\002\246\002\250\000\000\003\002\000\000\000\000\000\000\000\000\000\000\000\000\003\n\000\000\003\014\000\000\007\005\000\000\000\000\000\000\000\000\007\005\007\005\003\018\003\022\000\000\000\000\000\000\003\026\001\230\003\030\000\000\000\000\000\000\003\"\003&\000\000\002\214\003*\003.\002\218\000\000\000\000\002\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\177\000\000\000\000\0032\000\000\000\000\002\230\000\000\0036\002\234\000\000\000\n\000\000\000\000\000\000\002\246\002\250\000\000\003\002\000\000\003>\000\000\000\000\000\000\000\000\003\n\000\000\003\014\000\000\000\000\000\000\003B\000\000\000\000\000\000\000\000\003\018\003\022\000\000\000\000\000\000\003\026\001\230\003\030\003F\000\000\000\000\003\"\003&\000\000\003R\003*\003.\000\000\000\000\000\000\000\000\000\000\000\000\003j\002\214\000\000\000\000\002\218\003Z\003b\002\222\000\000\000\000\0032\000\000\000\000\000\000\000\000\0036\000\000\023\022\000\n\000\000\000\000\000\000\000\000\002\230\000\000\000\000\002\234\003>\000\000\000\000\000\000\000\000\002\246\002\250\000\000\003\002\000\000\000\000\003B\000\000\000\000\000\000\003\n\000\000\003\014\000\000\000\000\000\000\000\000\000\000\000\000\003F\000\000\003\018\003\022\000\000\000\000\003R\003\026\001\230\003\030\000\000\000\000\000\000\003\"\003&\003j\000\000\003*\003.\000\000\003Z\003b\000\000\000\000\000\000\000\000\000\000\007\005\000\000\000\000\000\000\000\000\007\005\rv\000~\0032\000\142\007\005\000\000\007\005\0036\007\005\000\000\000\n\007\005\007\005\007\005\r\186\000\242\000\000\001\002\007\005\003>\007\005\000\000\007\005\000\000\007\005\007\005\007\005\007\005\r\214\000\000\003B\000\000\007\005\000\000\000\000\000\000\007\005\000\000\007\005\007\005\000\000\007\005\007\005\003F\000\000\007\005\007\005\000\000\000\000\003R\007\005\007\005\007\005\000\000\000\000\007\005\007\005\000\000\003j\007\005\007\005\007\005\007\005\003Z\003b\007\005\007\005\007\005\000Z\007\005\000\000\000Z\000\000\007\005\007\005\007\005\007\005\000\000\000\000\007\005\002J\007\005\000Z\007\005\000\000\000Z\000\000\007\005\007\005\007\005\007\005\000\000\000\000\000\000\000\000\007\005\000Z\007\005\007\005\000\000\000\000\007\005\007\005\007\005\000\000\000\000\000\000\000\000\000\000\007\005\000\000\000\000\007\005\007\005\007\005\007\005\007\005\000\000\000\000\007\005\007\005\007\005\000\000\007\005\007\005\000\000\007\005\007\005\007\005\007\005\000\000\000\000\000\000\007\005\007\005\007\005\007\005\007\005\007\005\000\000\007\005\000\000\007\005\000\000\000\000\000\000\000\000\007\005\007\005\007\005\007\005\007\005\007\005\000\000\007\005\000\000\007\005\007\005\000\000\000\000\000\000\007\005\000\000\000\000\007\005\007\005\000\000\000\000\007\005\000\000\007\005\007\005\000\000\007\005\007\005\007\005\000\000\002\214\007\005\007\005\002\218\000\000\007\005\002\226\007\005\007\005\000\000\007\005\007\005\000\000\000\000\000\000\007\005\000\000\000\000\000\000\000\000\000\000\000\000\002\230\000\000\000\000\002\234\000\000\000\000\000\000\000\000\000\000\002\246\012>\000\000\003\002\000\000\000\000\000\000\000\000\000\000\000\000\003\n\000\000\003\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\018\003\022\000\000\000\000\000\000\003\026\001\230\003\030\000\000\000\000\000\000\003\"\003&\000\000\002\214\003*\003.\002\218\000\000\000\000\002\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0032\000\000\000\000\002\230\000\000\003J\002\234\000\000\000\n\000\000\000\000\000\000\002\246\012.\000\000\003\002\000\000\003>\000\000\000\000\000\000\000\000\003\n\000\000\003\014\000\000\000\000\000\000\003B\000\000\000\000\000\000\000\000\003\018\003\022\000\000\000\000\000\000\003\026\001\230\003\030\003N\000\000\000\000\003\"\003&\000\000\003R\003*\003.\000\000\000\000\000\000\000\000\000\000\000\000\003V\002\214\000\000\000\000\002\218\003Z\003b\002\226\000\000\000\000\0032\000\000\000\000\000\000\000\000\003J\000\000\000\000\000\n\000\000\000\000\000\000\000\000\002\230\000\000\000\000\002\234\003>\000\000\000\000\000\000\000\000\002\246\012\022\000\000\003\002\000\000\000\000\003B\000\000\000\000\000\000\003\n\000\000\003\014\000\000\000\000\000\000\000\000\000\000\000\000\003N\000\000\003\018\003\022\000\000\000\000\003R\003\026\001\230\003\030\000\000\000\000\000\000\003\"\003&\003V\002\214\003*\003.\002\218\003Z\003b\002\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0032\000\000\000\000\002\230\000\000\003J\002\234\000\000\000\n\000\000\000\000\000\000\002\246\003:\000\000\003\002\000\000\003>\000\000\000\000\000\000\000\000\003\n\000\000\003\014\000\000\000\000\000\000\003B\000\000\007\005\015\n\000\000\003\018\003\022\000\000\000\000\000\000\003\026\001\230\003\030\003N\007\005\000\000\003\"\003&\000\000\003R\003*\003.\000\000\000\000\000\000\007\005\000\000\007\005\003V\000\000\007\005\000\000\000\000\003Z\003b\007\005\000\000\005N\0032\005^\007\005\007\005\007\005\003J\007\005\000\000\000\n\007\005\007\005\007\005\015\030\005\186\000\000\005\202\007\005\003>\007\005\000\000\000\000\000\000\000\000\007\005\007\005\007\005\015v\007\005\003B\000\000\000\000\000\000\007\005\000Z\007\005\000\000\007\005\007\005\007\005\000\000\007\005\003N\000\000\000\000\007\005\000\000\000\000\003R\007\005\000\000\007\005\000\000\000\000\007\005\007\005\000\000\003V\007\005\007\005\007\005\007\005\003Z\003b\007\005\007\005\000\000\007\005\007\005\000\000\000Z\000\000\007\005\007\005\007\005\007\005\000\000\000\000\007\005\002\146\007\005\000Z\007\005\000\000\000Z\007\005\007\005\007\005\007\005\007\005\007\005\000\000\007\005\000\000\007\005\000Z\007\005\007\005\000\000\007\005\007\005\007\005\007\005\000\000\000\000\000\000\000\000\000\000\007\005\000\000\000\000\007\005\007\005\000\000\007\005\007\005\000\000\007\005\000\000\000\000\000\000\000\000\007\005\007\005\000\000\007\005\007\005\007\005\007\005\000\000\000\000\000\000\007\005\007\005\007\005\000\000\007\005\007\005\000\000\007\005\000\000\007\005\000\000\000\000\000\000\000\000\007\005\007\005\007\005\007\005\007\005\007\005\000\000\007\005\000\000\000\000\000\000\000\000\000\000\000\000\007\005\000\000\000\000\007\005\007\005\000\000\000\000\007\005\000\000\007\005\007\005\000\000\007\005\007\005\007\005\000\000\002\214\007\005\007\005\002\238\000\000\007\005\002\242\007\005\007\005\000\000\007\005\007\005\000\000\000\000\000\000\007\005\000\000\000\000\000\000\000\000\000\000\000\000\002\230\000\000\000\000\002\234\000\000\000\000\000\000\000\000\000\000\003\006\007\226\000\000\003\002\000\000\007\246\000\000\000\000\000\000\000\000\003\n\000\000\003\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\230\003\022\000\000\000\000\000\000\b\234\001\230\003\030\000\000\000\000\000\000\b\242\b\246\000\000\002\214\b\250\003.\002\218\000\000\000\000\002\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\254\000\000\000\000\002\230\000\000\t\002\002\234\000\000\000\n\000\000\000\000\000\000\002\246\b\002\000\000\003\002\000\000\t\n\000\000\000\000\000\000\000\000\003\n\000\000\003\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\018\003\022\000\000\000\000\000\000\003\026\001\230\003\030\t\026\000\000\000\000\003\"\003&\000\000\t\"\003*\003.\000\000\000\000\000\000\000\000\000\000\000\000\t&\011\226\000\000\000\000\000\000\t.\003b\000\000\000\000\000\000\0032\005\017\000\000\000\000\005\017\003J\000\000\005\017\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003>\000\000\000\000\000\000\000\000\000\000\005\017\000\000\000\000\005\017\000\000\003B\000\000\000\000\000\000\005\017\005\017\000\000\005\017\000\000\000\000\000\000\000\000\000\000\003N\005\017\000\000\005\017\000\000\000\000\003R\000\000\000\000\000\000\000\000\000\000\005\017\005\017\000\000\003V\000\000\005\017\005\017\005\017\003Z\003b\000\000\005\017\005\017\000\000\000\000\005\017\005\017\000\000\000\000\007\005\015\138\000\000\000\000\007\005\015\206\000\000\000\000\000\000\000\000\000\000\000\000\007\005\000\000\005\017\000\000\007\005\000\000\000\000\005\017\007\005\015\234\005\017\007\005\000\000\007\005\000\000\007\005\000\000\007\005\000\000\005\017\007\005\007\005\000\000\000\000\000\000\007\005\000\000\007\005\000\000\000\000\007\005\007\005\000\000\007\005\007\005\000\000\000\000\000\000\007\005\000\000\007\005\007\005\000\000\005\017\007\005\000\000\000\000\007\005\000\000\005\017\007\005\007\005\000\000\000\000\007\005\007\005\007\005\000Z\005\017\000\000\007\005\000Z\007\005\005\017\005\017\000\000\007\005\000\000\000\000\000\000\000\000\007\005\000\000\000\000\000\000\000\000\007\005\000Z\000\000\000\000\000\000\000\000\007\005\000\000\007\005\000\000\000\000\007\005\007\005\000\000\007\005\007\005\000\000\000\000\007\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\005\007\005\000\000\000\000\007\005\007\005\007\005\007\005\000\000\007\005\007\005\007\005\007\005\007\005\007\005\000\000\007\005\000\000\000\000\007\005\007\005\000\000\007\005\007\005\000\000\007\005\007\005\007\005\000\000\007\005\007\005\000\000\007\005\000\000\000\000\000\000\000\000\007\005\000\000\007\005\000\000\007\005\007\005\007\005\000\000\002\214\007\005\007\005\002\218\000\000\000\000\002\226\000\000\000\000\000\000\000\000\000\000\007\005\000\000\000\000\000\000\000\000\007\005\007\005\000\000\000\000\000\000\002\230\000\000\000\000\002\234\000\000\000\000\000\000\000\000\000\000\002\246\017\226\000\000\003\002\000\000\019\018\000\000\000\000\019\026\000\000\003\n\000\000\003\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\018\003\022\000\000\000\000\000\000\003\026\001\230\003\030\019*\0192\000\000\003\"\003&\002=\000\000\003*\003.\002=\000\000\000\000\000\000\000\000\000\000\019:\000\000\000\000\002=\002=\000\000\019B\019J\000\000\000\000\0032\000\000\002=\000\000\000\000\003J\019R\000\000\000\n\019Z\000\000\019b\002=\000\000\000\000\000\000\000\000\003>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\019j\000\000\002=\003N\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000\000\002=\000\000\000\000\000\000\000\000\003V\000\000\000\000\000\000\000\000\003Z\003b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\019r\000\000\000\000\002=\000\000\000\000\0015\019z\000\000\0015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002=\000\000\002=\000\000\000\000\000\000\003\214\003\254\000\000\002=\002=\0015\019\130\019\138\002=\0015\000\000\000\000\000\000\000\000\000\000\003\222\000\000\000\000\0015\0015\000\000\0015\0015\000\000\000\000\000\000\000\000\0015\000\000\000\000\000\000\004\006\000\000\000\000\003\230\001\029\003\246\0015\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\001\029\000\000\000\000\004\014\001\029\0015\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\000\003\222\000\000\0015\001\029\001\029\000\000\001\029\001\029\000\000\000\000\000\000\000\000\001\029\000\000\000\000\000\000\001\029\000\000\000\000\003\230\000\000\003\246\001\029\000\000\000\000\000\000\000\000\000\000\000\000\004\022\000\000\000\000\0015\000\000\000\000\000\000\003\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\001\029\000\000\000\000\0015\000\000\0015\000\000\000\000\000\000\000\000\000\000\001\029\0015\0015\000\000\0015\004\030\0015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\000\000\001\029\000\000\000\000\001\025\003\238\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\001\029\000\000\000\000\000\000\001\025\001\025\000\000\001\029\001\029\001\025\001\029\001\029\001\029\001\025\000\000\000\000\000\000\000\000\000\000\003\222\000\000\000\000\001\025\001\025\000\000\001\025\001\025\000\000\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\003\230\001\017\003\246\001\025\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\001\017\000\000\000\000\001\025\001\017\001\025\000\000\000\000\001\017\000\000\000\000\000\000\000\000\000\000\001\017\000\000\001\025\001\017\001\017\000\000\001\017\001\017\000\000\000\000\000\000\000\000\001\017\000\000\000\000\000\000\001\017\000\000\000\000\003\230\000\000\001\017\001\017\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\025\000\000\000\000\000\000\003\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\001\017\000\000\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\001\017\001\025\001\025\000\000\001\025\001\025\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\001\017\000\000\000\000\004f\003\238\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\001\017\000\000\000\000\000\000\003\214\003\254\000\000\001\017\001\017\001=\001\017\001\017\001\017\001=\000\000\000\000\000\000\000\000\000\000\003\222\000\000\000\000\001=\001=\000\000\001=\004n\000\000\000\000\000\000\000\000\001=\000\000\000\000\000\000\004\006\000\000\000\000\003\230\004f\003\246\001=\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\003\254\000\000\000\000\004\014\0011\001=\000\000\000\000\0011\000\000\000\000\000\000\000\000\000\000\003\222\000\000\001=\0011\0011\000\000\0011\0011\000\000\000\000\000\000\000\000\0011\000\000\000\000\000\000\004\006\000\000\000\000\003\230\000\000\003\246\0011\000\000\000\000\000\000\000\000\000\000\000\000\004\022\000\000\000\000\001=\000\000\000\000\000\000\003\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\014\000\000\0011\000\000\000\000\001=\000\000\001=\000\000\000\000\000\000\000\000\000\000\0011\001=\001=\000\000\004v\004\030\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\022\000\000\000\000\0011\000\000\000\000\001)\003\238\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0011\000\000\0011\000\000\000\000\000\000\003\214\003\254\000\000\0011\0011\001)\0011\004\030\0011\001)\000\000\000\000\000\000\000\000\000\000\003\222\000\000\000\000\001)\001)\000\000\001)\001)\000\000\000\000\000\000\000\000\001)\000\000\000\000\000\000\001)\000\000\000\000\003\230\001\021\003\246\001)\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\001\021\000\000\000\000\004\014\001\021\001)\000\000\000\000\001\021\000\000\000\000\000\000\000\000\000\000\001\021\000\000\001)\001\021\001\021\000\000\001\021\001\021\000\000\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\000\000\003\230\000\000\001\021\001\021\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\000\000\001)\000\000\000\000\000\000\003\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\001\021\000\000\000\000\001)\000\000\001)\000\000\000\000\000\000\000\000\000\000\001\021\001)\001)\000\000\001)\001)\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\021\000\000\000\000\001!\003\238\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\001\021\000\000\000\000\000\000\003\214\003\254\000\000\001\021\001\021\001!\001\021\001\021\001\021\001!\000\000\000\000\000\000\000\000\000\000\003\222\000\000\000\000\001!\001!\000\000\001!\001!\000\000\000\000\000\000\000\000\001!\000\000\000\000\000\000\001!\000\000\000\000\003\230\001%\003\246\001!\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\003\254\000\000\000\000\001!\001%\001!\000\000\000\000\001%\000\000\000\000\000\000\000\000\000\000\003\222\000\000\001!\001%\001%\000\000\001%\001%\000\000\000\000\000\000\000\000\001%\000\000\000\000\000\000\001%\000\000\000\000\003\230\000\000\003\246\001%\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\000\000\001!\000\000\000\000\000\000\003\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\014\000\000\001%\000\000\000\000\001!\000\000\001!\000\000\000\000\000\000\000\000\000\000\001%\001!\001!\000\000\001!\001!\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\000\000\001%\000\000\000\000\004f\003\238\000\000\0019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\001%\000\000\000\000\000\000\003\214\003\254\000\000\001%\001%\0019\001%\001%\001%\0019\000\000\000\000\000\000\000\000\000\000\003\222\000\000\000\000\0019\0019\000\000\0019\004n\000\000\000\000\000\000\000\000\0019\000\000\000\000\000\000\004\006\000\000\000\000\003\230\001-\003\246\0019\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\003\254\000\000\000\000\004\014\001-\0019\000\000\000\000\001-\000\000\000\000\000\000\000\000\000\000\003\222\000\000\0019\001-\001-\000\000\001-\001-\000\000\000\000\000\000\000\000\001-\000\000\000\000\000\000\004\006\000\000\025\190\003\230\000\000\003\246\001-\000\000\000\000\000\000\000\000\000\000\000\000\004\022\025\194\000\000\0019\000\000\000\000\000\000\003\238\000\000\000\000\000\000\000\000\025\198\000\000\025\202\r\025\r\025\000\000\000\000\004\014\000\000\001-\025\206\000\000\0019\000\000\0019\000\000\025\210\000\000\000\000\025\218\001-\0019\0019\025\222\0019\004\030\0019\000\000\000\000\025\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\025\000\000\025\230\000\000\004\022\000\000\000\000\001-\000\000\000\000\000\000\003\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001-\000\000\001-\r\025\000\000\025\234\000\000\000\000\025\238\001-\001-\000\000\001-\001-\001-\000\000\000\000\000\000\000\000\000\000\000\000\025\242\000\000\000\000\000\000\000\000\025\246\000\n\025\250\025\190\025\254\026\002\000\000\026\006\000\000\000\000\000\000\000\000\000\000\000\000\026\n\025\194\000\000\026\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\198\000\000\025\202\000\000\000\000\000\000\026\018\012\237\000\000\000\000\025\206\026\022\026\026\r\025\000\000\000\000\025\210\000\000\000\000\025\218\000\000\000\000\000\000\025\222\000\000\000\000\000\000\000\000\000\000\025\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\028\186\000\000\000\000\012\237\000\000\025\230\000\000\000\000\007\005\000\000\000\000\000\000\000\000\007\005\000\000\000\000\000\000\000n\007\005\000\000\007\005\000\000\000\000\000\000\000\000\007\005\007\005\000\000\000\000\000\000\000\000\000\000\007\005\000\000\012\237\000\000\025\234\007\005\007\005\025\238\000\000\000\130\007\005\007\005\007\005\000\000\000\000\000\226\007\005\007\005\007\005\000\000\025\242\000\000\000\000\007\005\007\005\025\246\000\n\025\250\007\005\025\254\026\002\000\000\026\006\000\000\000\000\000\000\000\000\000\000\007\005\026\n\000\000\000\000\026\014\007\005\007\005\000\000\000\000\000\246\007\005\000\000\007\005\000\000\007\005\000Z\007\005\007\005\007\005\026\018\007\005\000\000\000\000\000\000\026\022\026\026\012\237\007\005\000\000\007\005\007\005\000\000\007\005\007\005\006f\007\005\007\005\000\000\007\005\000Z\006\166\000\000\007\005\007\005\007\005\000Z\007\005\001:\007\005\007\005\007\005\007\005\007\005\001V\007\005\007\005\007\005\007\005\005>\007\005\005R\007\005\007\005\007\005\000\000\000\000\007\005\007\005\007\005\007\005\007\005\000\000\007\005\000\000\000\000\000\000\007\005\000Z\000\000\007\005\007\005\007\005\000\000\000\000\007\005\000\000\007\005\007\005\005\170\007\005\007\005\007\005\007\005\005\190\007\005\007\005\007\005\007\005\000\000\007\005\000\000\007\005\007\005\007\005\007\005\007\005\007\005\000\000\007\005\007\005\007\170\007\005\007\005\000\000\000\000\000Z\007\005\007\005\007\005\007\005\000\000\000Z\007\005\012r\007\005\000\000\000Z\007\005\000Z\007\005\000\000\007\005\007\005\007\005\007\005\007\005\007\005\000\000\007\005\007\005\007\005\007\005\007\005\007\005\007\005\007\005\007\005\007\005\007\005\000\000\000\000\007\005\007\005\007\005\000\000\007\005\000Z\007\005\000\000\007\005\000\000\000Z\007\005\007\005\007\005\000\000\006\002\007\005\007\005\007\005\007\005\007\005\007\005\007\005\007\005\007\005\000\000\006\030\007\005\007\005\007\005\000\000\000\000\007\005\007\005\007\005\007\005\007\005\007\005\000\000\000\000\000\000\007\005\000\000\000\000\000\000\000\000\000\000\007\005\000\000\000\000\000\000\000\000\007\005\000\000\007\005\000\000\000\000\007\005\007\005\000\000\007\005\007\005\007\005\007\005\007\005\007\005\007\005\007\005\007\005\007\005\007\005\007\005\007\005\007\005\007\005\000\000\000\000\007\005\007\005\007\005\007\005\000\000\007\005\000Z\007\005\007\005\007\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000Z\007\005\000\000\007\005\007\005\007\005\007\005\007\005\007\005\007\005\007\005\000\000\007\005\007\005\007\005\000\000\007\005\007\005\007\005\007\005\007\005\000\000\000\000\007\005\000\000\000\000\000\000\007\005\000\000\000\000\000\000\007\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\005\007\005\000\000\000\000\000\000\007\005\000\000\000\000\000\000\000\000\028\166\007\005\028\174\000\000\000\000\000\000\007\005\000\000\000\000\000\000\000\000\028\182\000\000\000\000\000\000\000\000\028\214\000\000\000\000\000\000\000\000\000\000\000\000\025\194\000\000\000\000\000\000\000\000\007\005\000\000\000\000\007\005\007\005\000\000\025\198\007\005\025\202\000\000\000\000\007\005\007\005\007\005\007\005\007\005\025\206\007\005\007\005\000\000\000\000\000\000\025\210\007\005\007\005\025\218\000\000\000\000\007\005\025\222\000\000\000\000\000\000\000\000\000\000\025\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\230\028\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\214\000\000\000\000\007\250\000\000\000\000\007\254\000\000\000\000\000\000\000\000\000\000\025\234\000\000\000\000\025\238\000\000\000\000\000\000\000\000\000\000\000\000\002\230\000\000\000\000\000\000\000\000\000\000\025\242\000\000\000\000\b\026\b&\025\246\000\n\025\250\b:\025\254\026\002\000\000\026\006\003\n\000\000\003\014\000\000\000\000\000\000\026\n\000\000\000\000\026\014\000\000\b^\003\022\000\000\000\000\000\000\bj\001\230\003\030\000\000\000\000\000\000\br\bv\026\018\000\000\bz\000\000\000\000\026\022\026\026\002\214\000\000\000\000\017\218\000\000\000\000\017\222\000\000\000\000\000\000\000\000\000\000\b~\b\130\000\000\000\000\000\000\000\000\b\134\000\000\000\000\000\n\002\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\142\018J\0186\000\000\000\000\000\000\019\146\000\000\000\000\000\000\000\000\003\n\000\000\003\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018N\003\022\b\170\000\000\000\000\018R\001\230\003\030\b\178\000\000\000\000\018V\018Z\000\000\025\190\018^\000\000\b\182\000\000\000\000\000\000\000\000\b\190\003b\000\000\000\000\025\194\000\000\000\000\000\000\000\000\000\000\b~\018b\000\000\000\000\000\000\025\198\018f\025\202\000\000\000\n\000\000\000\000\000\000\000\000\000\000\025\206\000\000\000\000\018n\000\000\000\000\025\210\000\000\000\000\025\218\000\000\000\000\000\000\025\222\000\000\000\000\025\190\000\000\000\000\025\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018r\025\194\000\000\027F\000\000\000\000\018z\000\000\025\230\000\000\000\000\000\000\025\198\000\000\025\202\018~\000\000\000\000\000\000\000\000\018\134\003b\025\206\000\000\000\000\000\000\000\000\000\000\025\210\000\000\000\000\025\218\000\000\000\000\000\000\025\222\000\000\012\237\000\000\025\234\000\000\025\226\025\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\028\022\000\000\000\000\025\242\000\000\025\230\000\000\000\000\025\246\000\n\025\250\000\000\025\254\026\002\000\000\026\006\000\000\000\000\000\000\000\000\000\000\000\000\026\n\000\000\000\000\026\014\000\000\000\000\000\000\000\000\025\190\000\000\000\000\000\000\012\237\000\000\025\234\000\000\000\000\025\238\026\018\000\000\025\194\000\000\000\000\026\022\026\026\012\237\000\000\000\000\000\000\000\000\025\242\025\198\000\000\025\202\000\000\025\246\000\n\025\250\000\000\025\254\026\002\025\206\026\006\000\000\000\000\000\000\000\000\025\210\000\000\026\n\025\218\000\000\026\014\000\000\025\222\000\000\000\000\000\000\000\000\000\000\025\226\000\000\000\000\000\000\000\000\000\000\000\000\026\018\000\000\000\000\000\000\028~\026\022\026\026\012\237\000\000\025\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\237\000\000\025\234\000\000\000\000\025\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\194\n\202\000\000\000\000\025\242\000\000\000\000\000\000\000\000\025\246\000\n\025\250\000\000\025\254\026\002\n\210\026\006\000\000\000\000\000\000\000\000\n\218\n\226\026\n\000\000\000\000\026\014\000\000\000\000\000\000\000\000\n\234\000\000\000\000\n\242\000\000\n\250\000\000\000\000\000\000\000\000\026\018\000\000\000\000\000\000\000\000\026\022\026\026\012\237\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\000\000\001F\001N\011\002\001v\000\000\001~\000\000\001\134\002^\002f\002j\000\000\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\000\000\001F\001N\002r\001v\000\000\001~\000\000\001\134\002^\002f\002j\000\000\000\000\000\000\000\000\000\000\000\000\002z\011\n\000\000\000\000\000\000\000\000\000\000\000\000\011\018\002r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\138\000\000\006\133\000\000\002z\000\000\031V\000\000\000\000\006\133\000\000\000\000\000\000\000\000\000\000\002\142\000\000\011\026\011\"\031Z\006\242\000\000\000\000\000\000\002\138\000\000\000\000\000\000\000\000\000\000\031V\000\000\000\000\000\000\000\000\000\000\000\000\006\246\000\000\002\142\000\000\000\000\000\000\031Z\006\242\000R\000V\000f\000\194\000\000\000\198\ti\000\202\000\210\000\218\0016\000\000\001F\001N\000\000\001v\006\246\001~\ti\001\134\002^\002f\002j\000\000\000\000\000\000\000\000\000\000\000\000\ti\000\000\ti\000\000\000\000\000\000\000\000\000\000\031^\002r\ti\000\000\000\000\000\000\000\000\000\000\ti\000\000\000\000\ti\000\000\000\000\000\000\ti\002z\000\000\000\000\000\000\000\000\ti\t\229\000\000\031^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\138\ti\028\222\000\000\000\000\000\000\007\002\000\000\000\000\000\000\002\145\000\000\000\000\000\000\000\000\002\142\000\000\000\000\000\000\006\238\006\242\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\ti\001F\001N\ti\001v\006\246\001~\000\000\001\134\002^\002f\002j\000\000\000\000\000\000\000\000\ti\000\000\028\018\000\000\000\000\ti\ti\ti\000\000\ti\ti\002r\ti\000\000\025\194\000\000\000\000\000\000\000\000\ti\000\000\000\000\ti\000\000\000\000\025\198\002z\025\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\206\000\000\ti\000\000\000\000\000\000\025\210\ti\ti\025\218\000\000\002\138\000\000\025\222\000\000\000\000\000\000\031f\000\000\025\226\000\000\n\017\000\000\000\000\000\000\000\000\002\142\000\000\028z\000\000\031Z\006\242\000\000\000\000\000\000\025\230\000\000\000\000\000\000\000\000\025\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\246\000\000\000\000\025\198\000\000\025\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\206\000\000\000\000\000\000\000\000\025\234\025\210\000\000\025\238\025\218\000\000\000\000\000\000\025\222\000\000\000\000\000\000\000\000\000\000\025\226\000\000\025\242\000\000\000\000\000\000\000\000\025\246\000\n\025\250\000\000\025\254\026\002\025\190\026\006\000\000\025\230\000\000\000\000\000\000\000\000\026\n\000\000\000\000\026\014\025\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\245\025\198\000\000\025\202\026\018\000\000\000\000\000\000\000\000\026\022\026\026\025\206\025\234\000\000\000\000\025\238\000\000\025\210\000\000\000\000\025\218\000\000\000\000\000\000\025\222\000\000\000\000\000\000\025\242\000\000\025\226\000\000\000\000\025\246\000\n\025\250\000\000\025\254\026\002\025\190\026\006\000\000\000\000\000\000\000\000\000\000\029\174\026\n\000\000\000\000\026\014\025\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\198\000\000\025\202\026\018\000\000\000\000\000\000\000\000\026\022\026\026\025\206\000\000\000\000\000\000\000\000\025\234\000\000\000\000\025\238\025\218\000\000\000\000\000\000\025\222\000\000\000\000\000\000\000\000\000\000\025\226\000\000\025\242\000\000\000\000\000\000\000\000\025\246\000\n\025\250\000\000\025\254\026\002\000\000\026\006\000\000\025\230\000\000\000\000\000\000\000\000\026\n\000\000\000\000\026\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\225\000\000\000\000\001\225\026\018\000\000\000\000\000\000\000\000\026\022\026\026\000\000\025\234\000\000\000\000\025\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\225\001\225\000\000\000\000\025\242\000\000\000\000\000\000\000\000\025\246\029\218\025\250\000\000\025\254\026\002\001\225\026\006\000\000\000\000\001\225\000\000\001\225\001\225\026\n\000\000\t\154\026\014\000\000\t\162\000\000\000\000\001\225\000\000\000\000\001\225\000\000\001\225\000\000\000\000\000\000\000\000\026\018\000\000\000\000\000\000\000\000\026\022\026\026\000\000\t\178\t\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\001\225\t\194\000\000\000\000\000\000\0025\000\000\t\202\t\210\000\000\000\000\000\000\000\000\000\249\000\000\000\000\000\249\t\218\000\000\000\000\t\226\000\000\t\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\003\254\000\000\001\225\tV\000\000\001\225\000\000\000\000\000\000\001\225\000\000\t\242\000\000\000\000\003\222\000\000\000\000\000\000\000\249\000\000\000\249\000\249\000\000\001\225\000\000\000\000\000\000\001\225\001\225\000\000\004\006\000\000\000\000\003\230\t^\003\246\000\000\000\000\001\225\001\225\000\000\000\000\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\225\000\000\t\250\000\000\000\000\0025\000\000\000\000\000\000\n\002\000\000\000\000\000\000\004\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\225\000\225\0025\000\000\000\000\000\000\0025\0025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\222\000\000\n\n\n\018\000\225\000\000\000\225\000\225\000\000\000\000\000\000\000\000\000\221\000\000\000\000\000\221\000\225\004\022\000\000\003\230\000\249\003\246\000\000\000\000\003\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\221\000\249\000\000\000\000\000\000\000\249\000\249\000\000\000\000\000\000\000\000\000\225\000\000\000\000\003\222\000\000\000\249\004\030\000\221\000\000\000\221\000\221\000\000\000\000\000\213\000\000\000\000\000\213\000\000\000\000\000\221\000\000\000\000\003\230\000\000\003\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\213\000\000\000\225\000\000\000\000\000\225\000\000\000\000\000\000\003\238\000\000\000\000\000\000\000\221\000\213\000\000\000\000\000\000\000\213\000\000\000\213\000\213\000\000\000\225\000\000\000\000\004f\000\225\000\225\001\001\000\213\000\000\000\000\003\230\000\000\000\213\000\000\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\003\214\003\254\000\000\000\221\000\000\000\000\000\221\000\000\000\000\000\000\003\238\000\000\000\213\000\000\000\000\003\222\000\000\000\000\000\000\001\001\000\000\001\001\004n\000\000\000\221\000\000\000\000\000\000\000\221\000\221\000\000\004\006\000\000\000\000\003\230\000\000\003\246\000\000\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\000\000\000\004f\000\000\000\000\000\245\000\000\000\213\000\000\000\000\000\213\000\000\000\000\000\000\003\238\000\000\000\000\000\000\004\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\003\254\000\213\000\000\000\000\000\000\000\213\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\222\000\000\000\213\000\213\000\245\000\000\000\245\000\245\000\000\000\000\000\000\000\000\000\237\000\000\000\000\000\237\004\006\004\022\000\000\003\230\001\001\003\246\000\000\000\000\003\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\003\254\001\001\000\000\000\000\000\000\001\001\001\001\000\000\000\000\000\000\000\000\004\014\000\000\000\000\003\222\000\000\004v\004\030\000\237\000\000\000\237\000\237\000\000\000\000\000\217\000\000\000\000\000\217\000\000\000\000\000\237\000\000\000\000\003\230\000\000\003\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\217\000\000\004\022\000\000\000\000\000\245\000\000\000\000\000\000\003\238\000\000\000\000\000\000\004\014\000\217\000\000\000\000\000\000\000\217\000\000\000\217\000\217\000\000\000\245\000\000\000\000\000\229\000\245\000\245\000\229\000\217\000\000\000\000\003\230\000\000\000\217\000\000\000\000\000\245\004\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\003\254\000\000\000\237\000\000\000\000\000\237\000\000\000\000\000\000\003\238\000\000\000\217\000\000\000\000\003\222\000\000\000\000\000\000\000\229\000\000\000\229\000\229\000\000\000\237\000\000\000\000\000\000\000\237\000\237\000\000\000\229\000\000\000\000\003\230\000\000\003\246\000\000\000\000\000\237\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\233\000\000\000\000\000\233\000\000\000\217\000\000\000\000\000\217\000\000\000\000\000\000\003\238\000\000\000\000\000\000\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\003\254\000\217\000\000\000\000\000\000\000\217\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\222\000\000\000\217\000\217\000\233\000\000\000\233\000\233\000\000\000\000\000\000\000\000\004f\000\000\000\000\000\253\000\233\000\229\000\000\003\230\000\229\003\246\000\000\000\000\003\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\003\254\000\229\000\000\000\000\000\000\000\229\000\229\000\000\000\000\000\000\000\000\004\014\000\000\000\000\003\222\000\000\000\229\000\229\000\253\000\000\000\253\004n\000\000\000\000\000\241\000\000\000\000\000\241\000\000\000\000\004\006\000\000\000\000\003\230\000\000\003\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\003\254\000\000\000\233\000\000\000\000\000\233\000\000\000\000\000\000\003\238\000\000\000\000\000\000\004\014\003\222\000\000\000\000\000\000\000\241\000\000\000\241\000\241\000\000\000\233\000\000\000\189\000\000\000\233\000\233\000\000\004\006\000\000\000\000\003\230\000\000\003\246\000\000\000\000\000\233\000\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\165\003\214\003\254\000\000\000\000\004\022\000\000\000\000\000\253\000\000\000\000\000\000\003\238\000\000\004\014\000\000\003\222\000\000\000\000\000\000\000\000\000\000\000\189\000\189\000\165\000\165\000\253\000\000\000\000\000\000\000\253\000\253\004\006\000\000\000\000\003\230\000\000\003\246\000\000\003\222\000\000\000\253\004\030\000\161\000\000\000\165\000\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\022\000\165\000\000\000\241\003\230\000\000\003\246\003\238\000\000\000\000\004\014\000\000\000\000\000\161\000\161\000\000\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000\000\000\241\000\241\000\000\003\222\000\000\000\000\000\000\000\000\000\165\000\161\000\161\000\241\000\241\000\153\000\000\000\000\000\000\000\000\000\000\000\161\000\000\000\000\003\230\000\000\003\246\004\022\000\000\000\000\000\000\000\000\000\000\000\000\003\238\000\000\000\000\000\000\000\000\000\153\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\189\000\000\000\165\000\000\000\000\000\161\000\153\000\189\000\000\003\238\004f\000\000\000\153\000\153\000\000\000\189\004\030\000\000\000\000\000\000\000\000\000\000\000\153\000\165\000\000\003\230\000\000\000\153\000\000\000\000\000\165\000\000\000\000\004f\003\214\003\254\000\000\000\000\000\165\000\165\000\000\000\000\000\000\000\000\000\000\000\161\000\000\000\000\000\000\003\222\000\000\000\000\003\238\000\000\000\153\000\197\004n\003\214\003\254\000\177\000\000\000\000\000\000\000\000\000\000\004\006\000\161\000\000\003\230\000\000\003\246\000\000\003\222\000\161\000\000\000\000\000\000\000\000\000\185\000\185\000\000\000\161\000\161\003\214\003\254\000\000\000\000\000\000\004\006\000\000\000\000\003\230\000\000\003\246\000\153\000\000\000\000\004\014\003\222\000\000\000\000\003\238\000\000\000\000\000\177\000\177\000\000\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\177\000\153\000\000\003\230\000\000\003\246\004\014\000\000\000\153\000\000\000\000\000\169\000\000\000\000\000\000\000\000\000\153\000\153\000\157\000\157\000\000\000\000\000\000\004\022\000\000\000\000\000\000\000\000\000\000\000\000\003\238\000\000\004\014\000\157\000\000\003\214\003\254\000\000\000\000\000\157\000\157\000\000\000\000\000\000\000\197\000\000\004\022\000\000\000\000\000\157\003\222\000\197\003\230\003\238\000\157\000\000\000\169\000\169\000\000\004v\004\030\000\000\000\000\000\000\000\000\000\173\000\169\000\185\000\000\003\230\000\000\003\246\000\177\000\000\000\185\000\000\000\000\000\000\000\000\003\238\000\000\000\157\000\185\004\030\000\000\000\000\000\000\000\000\000\000\003\214\003\254\000\000\000\000\000\177\000\000\000\000\000\000\000\000\000\169\000\000\000\177\000\000\000\000\000\000\003\222\000\000\000\000\000\000\000\177\000\177\000\173\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\157\004f\003\230\000\000\003\246\000\000\000\000\003\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\169\000\000\000\181\000\000\000\157\000\000\000\000\003\238\003\214\003\254\000\000\000\157\000\000\000\000\004\014\000\000\000\000\000\000\000\000\000\157\000\157\000\169\000\000\003\222\000\000\000\000\003\214\003\254\000\169\000\193\004n\000\000\000\000\000\000\000\000\000\000\000\169\000\169\000\000\004\006\000\000\003\222\003\230\000\000\003\246\000\000\000\000\000\181\000\181\000\000\000\000\000\000\000\000\000\000\000\173\000\000\000\000\004\006\000\000\000\000\003\230\003\238\003\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\014\000\000\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\004\014\000\173\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\022\000\000\000\000\000\000\000\000\000\000\000\000\003\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\022\000\000\000\000\000\193\000\000\000\000\000\000\003\238\000\000\000\000\000\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\193\004\030\000\000\000\181\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\181")) + ((16, "\002\130\000\151\000\000\000\000\020t\000\151\000\000\000\000\000\015\000\000\000\000\000\000\001\015\000\000\000\000\000\000\002\130\000\000\000\005/\164\000\000\022\016\022,\000\000\000\000?\220\022\016\022\016\000\000\000\000M\188N \022\016\000\000\000\000\022\016\000\000\000\000\022\016\000\000\022\016\000\000\000\191\000\143\022\016\000\000\022\016\000\000\000\000\000\000\022\016\000\000\022\016\000\000@\180^\130\022\016\000\000\000\000VF^\194\022\016\000\000\000\000\022\016\000\000\000\000\022\016\000\000\022\016\000\000\000\159\000q\022\016\000\000\022\016\000\000^\208\022\016\000\000\000\000\022\016\000\000O,^\236\022\016\000\000\000\000\022\016\000\000\022\016\000\000\000\000\022\016\000\000\022\016\000\000\000\006\000\000\000\017\000\017\000\000\000\000\000\000\000\000\000\159\000\000\000\000\000#\000\017\000\000\000#\000\000\000\000\000\017\000\164\000\160\000\017\000r\000\000\000f\000R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\017\000\000\000\136\002\220\000\017\000\000\000\142\001f\000\000\000\000\000\000\000\208\022\016\000\000\022\016\000\017\000\232\022\016\000\000\000\000\022\016\000\000\000\000\022\016\000\000\022\016\000\000\0018\002v\022\016\000\000/\164O,5\222\000\0005\222\000\000\000\000\000\000\000\017\000\0005\222\000\0004\194\002\2485\222\002\236\000\000\000\017\007|L\148\000\000\000\000VtW6\000\000Zb\000\000W\206L\148\029J\029JZbL\148\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000Xf\029J\000\000\000\000XfXfXf\000\000Xf\000\006\000\000\000\000L\148Xf\000\000\000\000%\128\000\017\000\000\023\174\029JL\148\000\000&\208L\1482\136L\1482\166L\148\000\000\000\000\000\000\000\000\000\000\000\000\000\000A\030L\148\000\000B:L\1483\194L\1484\222L\148\000\000L\148\000\000L\1485\250L\1487\022L\14882L\1489NL\148:jL\148;\134L\148\002\240L\148\000\000\000\000\000\000\000\000\000\000L\148B\194L\148C\222L\148DfL\148E\130L\148<\162L\148=\190L\148>\218L\148F\nL\148G&L\148\000\000L\148G\174L\148H\202L\148IRL\148\000\000L\148JnL\148J\246L\148\000\000\000\000L\148\000\000\002\196\000\000\000\000\000\017\000\000\000\000\000\000\003\006\000\000\003\\\000\000\000\020L\148\000\000\000\020\000\000\000\000\000b/\164\000\000\026\016\022\016\000\000\0032_\018\022\016\000\000\000\000Y<_(\022\016\000\000\000\000\022\016\000\000\000\000\022\016\000\000\022\016\000\000\003\148\0048\022\016\000\000\022\016\000\000\022\016\000\000\022\016\000\000\005\144_,\022\016\000\000\000\000Yd_R\022\016\000\000\000\000\022\016\000\000\000\000\022\016\000\000\022\016\000\000\004:\005Z\022\016\000\000\022\016\000\000_\150\022\016\000\000\000\000\022\016\000\000O\244_\210\022\016\000\000\000\000\022\016\000\000\022\016\000\000\000\000\022\016\000\000\022\016\000\000\007\212\000\017\005\004\022\016\000\000VF\000\017\005 \022\016\000\000\000\000\022\016\000\000\022\016\000\000\022\016\000\000\005X\005\188\022\016\000\000Yd5\222\000\000\000\000\005l\022\016\000\0005\222\000\000\000\000:N8\022\000\000\001f\0060\000\017\005\132\006V;j;j\000\000\000\000\000\000\000\195JR;j\001X=\162\000\000\000\000\000\000\006h\006L\002\162\006r;j\000\000\000\000\005\192\000\000\005\208\006\166;j\005\222\000\000\000+\000\000\007|\000\000\000\000\002\004C\194\000\000\000\000\000\000\006\n\007\b\000\000\007,\000\000(P\001f5\222\006P\022\016\000\000^\1305\222\006^\022\016\000\000\000\000\000\000\000\017\007T\000\000\000\000\000\000\000b\000\000\000\000\029J\006p\000\000\006tZb+\214\000\000Z\242\029J\006x\000\000\006~*\164+\214L\148\006\132\000\000\029J\006\132\000\000\006\136k$+\214L\148\000\232L\148\006\134\000\000\000\000+\214+\214\000\000\000\000\000\000\000\000).\000\000\000\000\000\000\000\000\000\000Xf\000\000\000\000\001(\007NL\148+\214\000\017\000\000Xf\000\000\000\000Xf\000\000\000\006\000\000*Vk$\000\000\000\000\024x\000\017\000\000\023\174\023\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000Xf\000\000\000\000\002\138\028.\023\174Xf\000\000\000\000Xf\000\000\000\006\000\000Zb\000\000\000\000kt\000\017\000\000\023\174\0272L\148\000\000L\148\000\000\000\000\000\000\000\000\000\000\006\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\000\000\002\162\007:\022\016\000\000\000\000\001p/\164\000\000/\164\000\000\007(\000\000\001p\000\000\019\152+V\022,\000\000\007\166\022:\022,\000\000\000\000MdO\180\022,\000\000\000\000\022,\000\000\000\000\022,\000\000\022,\000\000\007r\007\162\022,\000\000\022,\000\000\022,\000\000\022,\000\000\b\208P:\022,\000\000\000\000M\142Q\170\022,\000\000\000\000\022,\000\000\000\000\022,\000\000\022,\000\000\007x\007\166\022,\000\000\022,\000\000Q\194\022,\000\000\000\000\022,\000\000\022,Q\210\022,\000\000\000\000\022,\000\000\022,\000\000\000\000\022,\000\000\022,\000\000\007\226\000\017\007N\022,\000\000\022,\000\017\007P\022,\000\000\000\000\022,\000\000\022,\000\000\022,\000\000\007\128\007\174\022,\000\000/\164\000\000\007`\000\000\004T/\164\000\000\000\000\004T\000\000\000\000\022:5\222\007Z\022,\000\000\000\000\000\000\000\026\000\000\000\000\000\031\000\026\000\000\000\000\000\000\bT\000\000\007\1845\222\007b\022,\000\000\030\1865\222\007h\022,\000\000\000\000\030,\022,\000\000\t:R>\022,\000\000\000\000N\000RV\022,\000\000\000\000\022,\000\000\000\000\022,\000\000\022,\000\000\007\154\007\204\022,\000\000\022,\000\000\022,\000\000\022,\000\000\011\212Rd\022,\000\000\000\000N\006R|\022,\000\000\000\000\022,\000\000\000\000\022,\000\000\022,\000\000\007\178\007\224\022,\000\000\022,\000\000R\150\022,\000\000\000\000\022,\000\000K\244R\176\022,\000\000\000\000\022,\000\000\022,\000\000\000\000\022,\000\000\022,\000\000\t\018\000\017\007\140\022,\000\000K\244\000\017\007\186\022,\000\000\000\000\022,\000\000\022,\000\000\022,\000\000\007\254\b4\022,\000\000Md5\222\007\220\022,\000\000\000\000\nr5\222\007\222\022,\000\000M\1425\222\007\224\022,\000\000\000\000\000\000\000\000\000\000\000\000\b\184L\148\007\244 \164\bt\000\000\b\200L\148\b\006\b\208/\164\000\000\000\000\000\000/\164\000\017\000\000\002\224L\148\b\250\000\000\000\017\000\000\001<\b\252\000\000\t.\b\208\000\017\b\024\b\232;j\b\"\001\154\000\000L\148\t\020\000\000\000\000\000\000\b\248;j\b,\t\030\000\000\003\186\003\000L\148\t \000\000\t\"\000\000(P\000\017\004>L\148\t$\000\000\t&\000\000\000\017\004lL\148\t,\000\000\t4\000\000\0013\br\t\n\"\212\000\000\\Z\029J\bJN\254\000\000S\144\000\000\t>\000\000\003\002\t$L\148\b\232\000\000\t.L\148\b\242\000\000\001p\000\000\t\n\t\n\029J\bv\000\000\b\134l4l4\000\000\000\000\000\000\000\000\000\000\000\000Xf\000\000\000\000Xf\000\000\000\000Xf\000\000\000\006\000\000l4\000\000\000\0000\220\000\017\000\000\023\174\b\146\000\000L\148\b\148\000\000\000\000\000\017\000\000\000\000\000\000\000\000\000\000T\020L\148\000\000L\148\000\000\b\156\000\000\000\020\000\000\000\000\000\000\000\000\000\000`\204L\148a4L\148\b\202L\148\000\000L\148bPL\148b\184L\148c\212L\148d\014\137\018\030\001\138\030\191\030\195\005y\007y\014\137\030\199\014\137\019\190\018F\005y\014\137 \238\014\137\014\137\029*\014\137\012\214\001\150\014\137\002&\026\242\rU\0026\014\137\014\137\014\137\t\221\001\154\014\137\002m\001\146\006\234 \242\005-\014\137\007\170\001\202\014\137\014\137 \246\005-\017b\018J\014\137\014\137\015I\014\137\021r\014\137\bZ\029>\024\254\000\n\014\137\001\138\014\137\014\137\001\150\014\137\014\137\014\137\001\138\002J\026j\014\137\014\137\014\137\001\154\026\002\014\137\014\137\014\137\020B\bf\002^\014\137\014\137\014\137\014\137\014\137\014\137\n\229!\150\rU\014\137\014\137\020\238\012\222\005\161!\154\029B\002\138\000\n\029.\005U\014\137\014\137\014\137\020J\0055\014\137\014\137\014\137\014\137\023\"\014\137\0055\014\137 \254\017.\014\137\023&\001\206\014\137\014\137\023*\015I\015I\029\158\001\150\012\162\015I\025\006\007\030\022&\014\137\005\161\n!\014\137\001\154\000\006\000\"\014\137\014\137\014\137\014\137\017f\002q\014\137\029F\014\137!\006\021v\n\229\014\137\014\137\014\137\000\n\014\137\024\162\014\137\014\137\007Q\014\137\000\n\014\137\014\137\001\138\014\137\014\137\014\137\007\201\007\201\007\201\007\201\007\201\007\201\007\201\007\201\007\201\007\201\007\201\007\201\007\201\007\201\000\n\007\201\007\201\007\201\007\201\007\201\007\201\007\201\007\201\007\201\007\201\001\138\007i\001\146\006\234\007\201\018\"\0182\018B\025&\005J\t\197\007\201\005Z\007\201\005z\0052!\022\007\201\014\t\007\201\007\201\005\130\007\201\007~\007\185\007\201\026\238\002\157\016\202\001\150\007\201\001\146\007\201\016\206\014\t\007\201\"\014\002*\030\226\001\154\016\210\007\201\002\142\001\138\000.\016\214\030\230\026n + /\007\201\007\201\002\206 3\005\138\007\201\007\201\007\249\001\150\021R\007\201\026z\007\201\007\201\000\n\007\201\007\201\007\201\001\154\026~\014i\007\201\007\201\007\201\001\146\021V\007\201\007\201\007\201\025.\002\214\011R\007\201\007\201\007\201\007\201\007\201\007\201\t\233\005\154\t*\007\201\007\201\000\n\t\165\"\"\017r\000\n\007I\007I\023b\001\150\017v\007\201\007\201\007y\007:\007\201\007\201\007\201\007\201\001\154\007\201\017\"\007\201\021\246\026\138\007\201\n6\007\249\007\201\007\201\t\149!&\004>\004\238\026\142\007)\026\154\017\150\011^!\022\014i\017.!\030\007\201\000\n\t\249\t\225\007\201\007\201\007\201\007\201\005\201\007a\007\201\002\226\007\201\025^\017.\nj\007\201\007\201\007\201\002M\005\n\"w\007\201\007\201\001\138\007\201!\n\007\201\007\201\005\233\007\201\007\201\007\201\007\233\007\233\007\233\007\233\007\233\007\233\007\233\007\233\007\233\007\233\007\233\007\233\007\233\007\233!\014\007\233\007\233\007\233\007\233\007\233\007\233\007\233\007\233\007\233\007\233\014\t\007\233\023f\020>\007\233\005\018\014) K O\n\225\007\233\007\233 S\007\233\005\142\027\234\027\242\007\233\018\030\007\233\007\233\030\134\007\233\014\t\001\150\007\233\025f\019\190\014\t\007)\007\233\007\233\007\233\014\t\001\154\007\233\007\233\007\233\007\233\014\134 \011\007\233\007\233\007\233\007\233!.\007\233\007\233 \015\007)\007\233\007\233\007\233\007\233\014Q\007\233!\030\027\250 \018\000\n\007\233\030\134\007\233\011n\007\233\007\233\007\233\007\233\027:\007\233\002}\007\233\007\233\007\233\005\146\014)\007\233\007\233\007\233\020B\"&\007\233\007\233\007\233\007\233\007\233\007\233\007\233\n\245\020F\020Z\007q\007\233\t\193\t\177\017\182\020f\005\250\023\146\014Y\002]\t\181\"2\007\233\007\233\007\233\020\238\007\233\007\233\007\233\007\233\007\233\007\233\022\002\007\233\017.\026^\007\233\017\210\005\182\007\233\007\233\005\198\021\154\005\230\007\233\007\233\023\166\021\186\007\161\n\201\005\238\007\233\027\210\022v\007\233\015I\015I\017.\007\233\007\233\015I\007\233\017.\018\030\007\233\023\194\007\233\017.\022\246\n\245\007\233\031\150\019\190\014A\"N\n\021\023\214\007\233\023\230\007\233\026\226\007\233\007\233\005\246\007\233\007\233\007\233\000R\000V\000f\000\194\012\250\000\198\016\202\000\202\000\210\000\218\0016\016\206\001F\001N\025\234\001v\030\206\001~\016\210\001\134\002j\002r\002v\016\214\030\210\023\150\025\238\024B\024V\016\218\031\162\006\006\024r\025\150\n\005\007\177\016\234\025\242\002~\025\246\027\234\027\242\002\230\025\250\017\242\016\242\029*\017\246\027\222\025\254\017\250\005\254\n\225\006j\023\170\002\134\007\145\018\014\026\n\031\194\n\221\018\030\026\014\002\141\020\238\n\225\002\246\006~\026\018\031\006\019\190\007\153\006\166\023\198\018\030\019\210\018R\0312\031>\007\169\019\214\0222\029\154\019\190\026\022\003\026\023\234\003\030\005\249\000\n\002\154\020\230\019\222\001\138\011\017\011\017\018j\003&\019\226\011\017\006\170\018n\b\130\003.\025\158\006\198\006\238\018r\018v\017\006\017\n\018z\019\230\n\237\006\246\026\026\006\250\019\234\026\030\026\254\0076\015I\024F\024Z\001\146\0072\014\025\024v\b\146\018~\007>\026\"\019\238\019\242\018\130\019\246\026&\000\n\026*\020\n\026.\0262\005\213\0266\007N\020\022\018\138\027\174\029Z\020\238\026:\001\150\007V\026>\014\001\014\017\007Z\031R\014I\007b\0206\001\154\020\238\0141\020:\020\134\005\249\017\014\026B\007Y\018\142\0149\020\138\026F\026J\n\237\018\150\005\249\005\249\011\017\011\017\007\146\005\249\020\146\011\017\018\154\000\n\007\241\007\241\007\150\018\162\003r\007\241\000R\000V\000f\000\194\012\250\000\198\016\202\000\202\000\210\000\218\0016\016\206\001F\001N\007\158\001v\030\206\001~\016\210\001\134\002j\002r\002v\016\214\030\210\r\n\007\178\028\130\r\026\016\218\r:\0045\029\030\007\198\007\222\0045\016\234\rB\002~\007\254\029\142\b\006\002\230\b\030\017\242\016\242\b&\017\246\b6\bB\017\250\bJ\bb\b\174\007)\002\134\t\146\018\014\t\194\nF\n\221\nz\002\186\n\134\n\178\n\186\002\246\011J\001\138\018\030\rJ\011\134\011\150\002\226\011\158\019\210\018R\0312\019\190\011\170\019\214\022z\001\138\011\182\024\"\003\026\011\194\003\030\006\t\001\138\002\154\020\230\019\222\011\222\b*\011\238\018j\003&\019\226\001\146\024&\018n\b\130\003.\014\230\rZ\011\254\018r\018v\017\006\017\n\018z\019\230\012\006\012\030\012&\020\234\019\234\006b\0126\012B\017r\012N\012^\012j\014\"\001\150\017v\b\146\018~\012v\012~\019\238\019\242\018\130\019\246\001\154\000\n\012\146\020\n\001\238\012\186\005\213\012\198\012\235\020\022\018\138\001\238\rN\007)\rR\r\186\r\190\014*\014>\014f\014j\020\238\014~\014\170\0206\000\n\014\222\014\238\020:\020\134\015\002\017\014\015b\007)\018\142\015f\020\138\007)\rv\000\n\018\150\r\134\006\t\r\166\015\206\015\210\000\n\020\146\016>\018\154\r\174\b\001\b\001\001\138\018\162\003r\b\001\000R\000V\000f\000\194\012\250\000\198\016\202\000\202\000\210\000\218\0016\016\206\001F\001N\016R\001v\030\206\001~\016\210\001\134\002j\002r\002v\016\214\030\210\016z\r\182\001\146\031\178\016\218\016~\016\146\016\170\016\190\015\030\016\222\016\234\015.\002~\015N\016\230\016\238\002\230\016\246\017\242\016\242\015V\017\246\001\138\016\254\017\250\017\002\017*\017>\001\150\002\134\017J\018\014\017R\017V\n\221\r\198\001\138\017^\001\154\017n\002\246\017~\017\134\018\030\017\138\017\158\017\166\017\190\017\198\018N\018R\017\218\019\190\015^\019\214\017\226\017\238\018\006\0166\003\026\018\026\003\030\006%\000\n\002\154\019\218\019\222\001\146\017F\018&\018j\003&\019\226\018.\0186\018n\b\130\003.\018>\018Z\001\238\018r\018v\017\006\017\n\018z\019\230\018b\015n\017r\015Q\019\234\007\225\018\202\001\150\017v\018\214\019\014\007\225\007\225\019>\0045\b\146\018~\001\154\0045\019\238\019\242\018\130\019\246!\138\000\n\019\182\020\n\019\250\000\n\005\213\020\002\020\018\020\022\018\138\020\026\020\"\020*\0202\020\130\020\142\020\150\020\162\000\n\020\166\020\238\020\174\020\178\0206\020\186\007\225\020\194\020:\020\134\006%\017\014\020\202\020\210\018\142\020\250\020\138\021>\021F\021J\018\150\006%\006%\021Z\021b\021f\006%\020\146\001\138\018\154\021n\011\025\011\025\021~\018\162\003r\011\025\000R\000V\000f\000\194\012\250\000\198\016\202\000\202\000\210\000\218\0016\016\206\001F\001N\021\134\001v\021\142\001~\016\210\001\134\002j\002r\002v\016\214\021\146\002\186\021\162\021\170\020>\016\218\021\194\001\138\021\202\022\026\005\189\022b\016\234\022n\002~\022\226\022\238\023\014\002\230\023:\017\242\016\242\023J\017\246\023R\001\150\017\250\tY\023n\023z \218\002\134\ta\018\014\023\130\001\154\n\221\023\134\001\146\023\142\018\030\tY\002\246\016\162\023\158\018\030\ta\023\178\023\206\019\190\023\242\018N\018R\023\254\019\190\024\014\019\214\024\022\024\026\024*\000\n\003\026\0242\003\030\0246\001\150\002\154\019\218\019\222\024>\024N\024b\018j\003&\019\226\001\154\024~\018n\b\130\003.\020B\024\146\024\158\018r\018v\017\006\017\n\018z\019\230\024\174\024\198\024\214\004\237\019\234\024\226\025\019\025;\025S\tY\025s\000\n\025\139\002a\ta\b\146\018~!J\025\171\019\238\019\242\018\130\019\246\025\195\000\n\025\219\020\n!^\025\230\026\006\026r\005\189\020\022\018\138!\182\026\130!b\005\189\005\189\020\238\026\179\004\237\027\n\027\031\020\238\027G\027S\0206\027c\005\189\005\189\020:\020\134\027k\017\014\027\134\027\143\018\142\027\151\020\138\027\159\015\138\tY\018\150\015\154\027\186\015\186\ta\027\203\027\238\020\146\027\246\018\154\015\194\tY\005\189\028\006\018\162\003r\ta\000R\000V\000f\000\194\012\250\000\198\016\202\000\202\000\210\000\218\0016\016\206\001F\001N\028#\001v\n\225\001~\016\210\001\134\002j\002r\002v\016\214\0283\018\030\015\202\028;\028N\016\218\028W\028_\028g\004\237\019\190\028r\016\234\028\151\002~\004\237\004\237\028\163\002\230\028\182\017\242\016\242\028\191\017\246\028\199\028\207\017\250\004\237\028\242\028\251\029\003\002\134\0296\018\014\029f\029\166\n\221\015\218\001\138\029\199\029\207\029\219\002\246\029\235\004\237\018\030\029\243\029\255\015I\030\n\030\026\018N\018R\004\237\019\190!\030\019\214\030'\030/\0306\030C\003\026\030O\003\030\030W\030c\002\154\019\218\019\222\001\146\023v\030o\018j\003&\019\226\030\138\031\018\018n\b\130\003.\031:\031J\031~\018r\018v\017\006\017\n\018z\019\230\020\238\031\134\017r\015Q\019\234\031\182\031\222\001\150\017v\031\226\031\234 \023 \222 \234 \250\b\146\018~\001\154!\002\019\238\019\242\018\130\019\246!?\000\n!G\020\n!N![!f\015I\015I\020\022\018\138!v\015I!\171!\186!\199!\235\"\007!r\000\n\"\022\020\238\"\030\"*\0206\"6\"C\"J\020:\020\134\"R\017\014\"[\"b\018\142\"k\020\138\"\127\000\000\000\000\018\150\000\000\000\000\000\000\000\000\000\000\000\000\020\146\000\000\018\154\000\000\015Q\015Q\000\000\018\162\003r\015Q\000R\000V\000f\000\194\012\250\000\198\016\202\000\202\000\210\000\218\0016\016\206\001F\001N\000\000\001v\030\206\001~\016\210\001\134\002j\002r\002v\016\214\030\210\000\000\000\000\000\000\000\000\016\218\000\000\000\000\000\000\000\000\000\000\000\000\016\234\000\000\002~\000\000\000\000\000\000\002\230\000\000\017\242\016\242\000\000\017\246\000\000\000\000\017\250\000\000\000\000\000\000\000\000\002\134\000\000\018\014\000\000\000\000\n\221\000\000\000\000\000\000\000\000\000\000\002\246\000\000\000\000\000\000\000\000\007\217\000\000\000\000\000\000\019\210\018R\007\217\007\217\000\000\019\214 b\000\000\000\000\000\000\003\026\000\000\003\030\000\000\007\217\002\154\020\230\019\222\000\000\000\000\000\000\018j\003&\019\226\000\000\000\000\018n\b\130\003.\000\000\000\000\000\000\018r\018v\017\006\017\n\018z\019\230\000\000\000\000\007\217\004\249\019\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\146\018~\000\000\000\000\019\238\019\242\018\130\019\246\000\000\000\n\000\000\020\n\000\000\000\000\005\213\000\000\000\000\020\022\018\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\022\000\000\000\000\000\000\000\000\000\000\0206\000\000\000\000\000\000\020:\020\134\000\000\017\014\000\000\000\000\018\142\000\000\020\138\000\000\000\000\000\000\018\150\000\000\000\000\000\000\000\000\000\000\000\000\020\146\000\000\018\154\000\000\n\253\n\253\000\000\018\162\003r\n\253\000R\000V\000f\000\194\012\250\000\198\016\202\000\202\000\210\000\218\0016\016\206\001F\001N\004\245\001v\000\000\001~\016\210\001\134\002j\002r\002v\016\214\000\000\000\000\000\000\000\000\000\000\016\218\000\000\000\000\000\000\004\249\000\000\000\000\016\234\000\000\002~\004\249\004\249\000\000\002\230\000\000\017\242\016\242\000\000\017\246\000\000\000\000\017\250\004\249\000\000\000\000\000\000\002\134\000\000\018\014\000\000\000\000\n\221\000\000\000\000\000\000\000\000\000\000\002\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\019\210\018R\004\249\000\000!\030\019\214\021\002\000\000\000\000\000\000\003\026\000\000\003\030\000\000\000\000\002\154\020\230\019\222\000\000\000\000\000\000\018j\003&\019\226\000\000\000\000\018n\b\130\003.\000\000\000\000\000\000\018r\018v\017\006\017\n\018z\019\230\000\000\000\000\000\000\015-\019\234\000\000\000\000\000\000\000\000\000\000\000\000\004\245\000\000\000\000\000\000\b\146\018~\004\245\004\245\019\238\019\242\018\130\019\246\000\000\000\n\000\000\020\n\000\000\000\000\004\245 \230\000\000\020\022\018\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0206\000\000\000\000\000\000\020:\020\134\000\000\017\014\004\245\000\000\018\142\000\000\020\138\000\000\000\000\000\000\018\150\000\000\000\000\000\000\000\000\000\000\000\000\020\146\000\000\018\154\000\000\015-\015-\000\000\018\162\003r\015-\000R\000V\000f\000\194\012\250\000\198\016\202\000\202\000\210\000\218\0016\016\206\001F\001N\000\000\001v\000\000\001~\016\210\001\134\002j\002r\002v\016\214\000\000\000\000\000\000\000\000\000\000\016\218\000\000\000\000\000\000\000\000\000\000\000\000\016\234\000\000\002~\000\000\000\000\000\000\002\230\000\000\017\242\016\242\000\000\017\246\000\000\000\000\017\250\000\000\000\000\000\000\000\000\002\134\000\000\018\014\000\000\000\000\n\221\000\000\000\000\000\000\000\000\000\000\002\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\019\210\018R\000\000\000\000\000\000\019\214\031\022\000\000\000\000\000\000\003\026\000\000\003\030\000\000\000\000\002\154\020\230\019\222\000\000\000\000\000\000\018j\003&\019\226\000\000\000\000\018n\b\130\003.\000\000\000\000\000\000\018r\018v\017\006\017\n\018z\019\230\000\000\000\000\000\000\000\000\019\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\146\018~\000\000\000\000\019\238\019\242\018\130\019\246\000\000\000\n\000\000\020\n\000\000\000\000\000\000\000\000\000\000\020\022\018\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0206\000\000\000\000\000\000\020:\020\134\000\000\017\014\000\000\000\000\018\142\000\000\020\138\000\000\000\000\000\000\018\150\000\000\000\000\000\000\000\000\000\000\000\000\020\146\000\000\018\154\000\000\015y\015y\000\000\018\162\003r\015y\000R\000V\000f\000\194\012\250\000\198\016\202\000\202\000\210\000\218\0016\016\206\001F\001N\000\000\001v\000\000\001~\016\210\001\134\002j\002r\002v\016\214\000\000\000\000\000\000\000\000\000\000\016\218\000\000\000\000\000\000\000\000\000\000\000\000\016\234\000\000\002~\000\000\000\000\000\000\002\230\000\000\017\242\016\242\000\000\017\246\000\000\000\000\017\250\000\000\000\000\000\000\000\000\002\134\000\000\018\014\000\000\000\000\n\221\000\000\000\000\000\000\000\000\000\000\002\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\019\210\018R\000\000\000\000\000\000\019\214\031\022\000\000\000\000\000\000\003\026\000\000\003\030\000\000\000\000\002\154\020\230\019\222\000\000\000\000\000\000\018j\003&\019\226\000\000\000\000\018n\b\130\003.\000\000\000\000\000\000\018r\018v\017\006\017\n\018z\019\230\000\000\000\000\000\000\000\000\019\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\146\018~\000\000\000\000\019\238\019\242\018\130\019\246\000\000\000\n\000\000\020\n\000\000\000\000\000\000\000\000\000\000\020\022\018\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0206\000\000\000\000\000\000\020:\020\134\000\000\017\014\000\000\000\000\018\142\000\000\020\138\000\000\000\000\000\000\018\150\000\000\000\000\000\000\000\000\000\000\000\000\020\146\000\000\018\154\000\000\015u\015u\000\000\018\162\003r\015u\000R\000V\000f\000\194\012\250\000\198\016\202\000\202\000\210\000\218\0016\016\206\001F\001N\000\000\001v\000\000\001~\016\210\001\134\002j\002r\002v\016\214\000\000\000\000\000\000\000\000\000\000\016\218\000\000\000\000\000\000\000\000\000\000\000\000\016\234\000\000\002~\000\000\000\000\000\000\002\230\000\000\017\242\016\242\000\000\017\246\000\000\000\000\017\250\016\202\000\000\000\000\000\000\002\134\016\206\018\014\000\000\000\000\n\221\030\226\000\000\016\210\000\000\000\000\002\246\000\000\016\214\030\230\000\000\000\000\000\000\000\000\000\000\019\210\018R\000\000\000\000\000\000\019\214\022\174\000\000\000\000\000\000\003\026\000\000\003\030\000\000\001\138\002\154\020\230\019\222\000\000\000\000\000\000\018j\003&\019\226\000\000\000\000\018n\b\130\003.\000\000\021R\000\000\018r\018v\017\006\017\n\018z\019\230\000\000\000\000\000\000\000\000\019\234\000\000\000\000\001\146\021V\000\000\000\000\000\000\000\000\000\000\000\000\b\146\018~\000\000\000\000\019\238\019\242\018\130\019\246\000\000\000\n\000\000\020\n\000\000\000\000\017r\014!\014!\020\022\018\138\001\150\017v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\0206\000\000\000\000\000\000\020:\020\134\000\000\017\014\000\000\000\000\018\142\000\000\020\138\000\000\000\000\000\000\018\150\000\000\000\000\000\000\000\000\000\000\000\n\020\146\000\000\018\154\000\000\005\233\000\000\000\000\018\162\003r\000R\000V\000f\000\194\000\000\000\198\016\202\000\202\000\210\000\218\0016\016\206\001F\001N\000\000\001v\000\000\001~\016\210\001\134\002j\002r\002v\016\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014!\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\t\021\t\021\002\230\000\000\017\242\t\021\000\000\017\246\000\000\000\000\017\250\014!\000\000\000\000\000\000\002\134\000\000\023.\000\000\000\000\n\221\000\000\014!\000\000\000\000\000\000\002\246\000\000\014!\014!\000\000\000\000\000\000\000\000\000\000\023>\018R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\026\000\000\003\030\000\000\000\000\002\154\000\000\000\000\000\022\000\000\000\000\018j\003&\000\000\000\000\014!\018n\001\238\003.\000\000\014!\014!\018r\018v\017\006\023B\018z\000\000\000\000\000\000\000\000\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\146\018~\007!\000\000\000\000\000\000\018\130\007!\000\000\000\n\000\000\000n\007!\000\000\007!\000\000\007!\000\000\018\138\007!\007!\007!\000\000\r\234\007!\r\250\007!\000\000\007!\000\000\014\002\007!\r\014\007!\007!\007!\007!\007!\000\000\017\014\007!\007!\018\142\007!\023F\000\000\000\000\007!\018\150\007!\000\000\000\000\007!\007!\007!\023N\007!\018\154\000\000\007!\007!\007!\018\162\003r\000\000\007!\007!\000\000\007!\000\000\007!\007!\007!\000\000\000\000\007!\002V\000\000\007!\007!\000\000\000Z\007!\000Z\007!\007!\007!\000\000\000\000\007!\0146\000\000\000\000\007!\007!\000Z\007!\014\162\007!\007!\007!\007!\000Z\000\000\000\000\000\000\000\000\007!\007!\000\000\000\000\000\000\007!\007!\000\000\000\000\007!\000\000\000\000\000\000\000\000\000\000\007!\007!\000\000\007!\007!\000\000\007!\007!\000\000\000\000\007!\007!\007!\007!\007!\007!\007!\007!\000\000\007!\000\000\000\000\000\000\000\000\007!\007!\007!\000\000\007!\007!\007!\007!\007!\007!\000\000\007!\007!\000\000\007!\000\000\000\000\007!\000\000\000\000\007!\007!\000\000\000\000\007!\007!\007!\000\000\007!\007!\000\000\000\000\007!\000\000\000\000\000\000\000\000\007!\007!\007!\000\000\000\000\007!\007!\007!\007!\007!\000\000\000\000\000\000\000\000\007!\007!\000\000\000\000\000\000\007!\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\000\000\001F\001N\000\000\001v\000\000\001~\000\000\001\134\002j\002r\002v\000\000\000\000\000\000\000\000\tY\000\000\000\000\000\000\n\225\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\018\030\tY\002\230\000\000\001\138\000\000\000\000\002\254\000\000\019\190\003\002\000\000\000\000\016\202\000\000\002\134\000\000\000\000\016\206\000\000\000\000\000\000\000\000\030\226\000\000\016\210\002\246\000\000\000\000\002\250\016\214\030\230\000\000\000\000\000\000\003\150\007\246\000\000\003\018\000\000\000\000\b\250\000\000\000\000\000\000\003\026\000\000\003\030\000\000\000\000\002\154\001\138\000\000\000\000\000\000\000\000\b\254\003&\tY\000\000\000\000\t\002\001\238\003.\000\000\000\000\t\006\t\n\t\014\000\000\000\000\t\018\003>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\146\017F\000\000\000\000\017%\000\000\020\238\t\022\000\000\000\000\000\000\000\000\t\026\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\017r\000\000\t\"\000\000\000\000\001\150\017v\tY\017%\017%\000\000\000\000\000\000\t&\000\000\001\154\b\238\000\000\000\000\tY\000\000\000\000\000\000\017%\000\000\000\000\t2\000\000\000\000\017%\017%\000\000\t:\b\246\000\000\005M\n~\000\000\000\000\017%\000\n\t>\017%\000\000\017%\005\233\tF\003r\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\000\000\001F\001N\000\000\001v\000\000\001~\000\000\001\134\002j\002r\002v\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\002~\000\000\000\000\000\000\002\230\n\138\001\138\000\000\000\000\002\254\000\000\000\000\003\002\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017%\000\000\000\000\002\246\000\000\n\142\002\250\017%\000\000\000\000\000\000\000\000\003\150\007\246\000\000\003\018\n\150\000\000\b\250\000\000\000\000\017%\003\026\000\000\003\030\000\000\000\000\002\154\017%\000\000\000\000\000\000\000\000\b\254\003&\000\000\017%\017%\t\002\001\238\003.\000\000\000\000\t\006\t\n\t\014\000\000\000\000\t\018\003>\000\000\005>\005F\000\194\000\000\000\198\000\000\005\162\005\170\005\178\006\014\000\000\006\030\006&\000\000\006N\t\022\006V\000\000\006^\006\138\t\026\006\146\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\"\000\000\000\000\000\000\000\000\006\154\000\000\000\000\000\000\000\000\000\000\t&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\162\000\000\t2\000\000\000\000\000\000\000\000\000\000\t:\000\000\000\000\t\153\000\000\000\000\000\000\000\000\000\000\t>\000\000\000\000\000\000\000\000\tF\003r\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\006\178\001F\001N\000\000\001v\000\000\001~\000\000\001\134\002j\002r\002v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\002\230\000\000\001\138\000\000\021R\002\254\000\000\000\000\003\002\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\000\000\000\000\000\001\146\021V\000\000\000\000\000\000\002\246\000\000\000\000\002\250\000\000\000\000\000\000\000\000\0052\003\150\007\246\000\000\003\018\000\000\000\000\b\250\000\000\017r\000\000\003\026\000\000\003\030\001\150\017v\002\154\001\225\000\000\000\000\001\225\000\000\b\254\003&\001\154\000\000\000\000\t\002\001\238\003.\000\000\000\000\t\006\t\n\t\014\000\000\001\138\t\018\003>\000\000\000\000\000\000\000\000\001\225\001\225\000\000\000\000\000\000\000\000\000\n\000\000\000\000\024\"\000\000\000\000\t\022\000\000\000\000\001\225\000\000\t\026\000\000\001\225\000\n\001\225\001\225\000\000\001\146\024&\000\000\000\000\000\000\t\"\000\000\001\225\000\000\000\000\001\225\000\000\001\225\0052\000\000\000\000\t&\000\000\000\000\000\000\000\000\000\000\017r\007y\000\000\000\000\000\000\001\150\017v\t2\000\000\000\000\000\000\000\000\000\000\t:\000\000\001\154\002Q\001\225\000\000\000\000\000\000\000\000\t>\000\000\000\000\000\000\000\000\tF\003r\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\000\n\001F\001N\000\000\001v\000\000\001~\000\000\001\134\002j\002r\002v\000\000\000\000\000\000\000\000\000\000\001\225\tn\000\000\001\225\000\000\000\000\000\000\001\225\000\000\000\000\002~\000\000\000\000\000\000\002\230\000\000\001\138\000\000\000\000\002\254\000\000\001\225\003\002\000\000\007y\001\225\001\225\002\134\000\000\000\000\000\000\000\000\tv\000\000\000\000\000\000\001\225\001\225\002\246\000\000\000\000\002\250\000\000\000\000\000\000\000\000\000\000\003\150\007\246\000\000\003\018\000\000\000\000\t.\000\000\000\000\000\000\003\026\000\000\003\030\000\000\000\000\002\154\000\000\000\000\000\000\000\000\000\000\b\254\003&\000\000\000\000\000\000\t\002\001\238\003.\000\000\000\000\t\006\t\n\t\014\000\000\000\000\t\018\003>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\022\000\000\000\000\000\000\000\000\t\026\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000R\000V\000f\000\194\t\"\000\198\000\000\000\202\000\210\000\218\0016\000\000\001F\001N\000\000\001v\000\000\001~\000\000\001\134\002j\002r\002v\000\000\000\000\000\000\000\000\000\000\t2\000\000\000\000\000\000\000\000\000\000\t:\000\000\000\000\t\169\002~\000\000\000\000\000\000\002\230\t>\001\138\000\000\000\000\002\234\tF\003r\002\238\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\246\000\000\000\000\002\250\000\000\000\000\000\000\000\000\000\000\003\014\003\n\000\000\003\018\000\000\000\000\000\000\000\000\000\000\000\000\003\026\000\000\003\030\000\000\000\000\002\154\000\000\000\000\000\000\000\000\000\000\003\"\003&\000\000\000\000\000\000\003*\001\238\003.\000\000\000\000\000\000\0032\0036\000\000\000\000\003:\003>\000\000\015\018\015\026\000\194\000\000\000\198\000\000\015v\015~\015\134\015\226\000\000\015\242\015\250\000\000\016\"\003B\016*\000\000\0162\016^\003F\016f\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003N\000\000\000\000\000\000\000\000\016n\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016v\000\000\003V\000\000\000\000\000\000\000\000\000\000\003b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003z\000\000\000\000\000\000\000\000\003j\003r\001\133\001\133\001\133\001\133\000\000\001\133\007!\001\133\001\133\001\133\001\133\016\134\001\133\001\133\000\000\001\133\000\000\001\133\007!\001\133\001\133\001\133\001\133\000\000\000\000\000\000\000\000\025\206\000\000\007!\000\000\007!\000\000\000\000\000\000\007!\007!\001\133\001\133\001\133\000\000\007!\000\000\025\210\000\000\000\000\000\000\007!\000\000\001\133\007!\000\000\000\000\000\000\007!\001\133\000\000\000\000\001\133\000\000\007!\000\000\001\133\000\000\000\000\025\222\000\000\000\000\001\133\000\000\000\000\007!\014\250\000\000\000\000\001\133\007!\000Z\000\000\000\000\001\133\000\000\007!\000\000\000\000\000\000\000\000\000\000\000\000\001\133\001\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007!\000\000\000\000\007!\000\000\000\000\007!\000\000\001\133\000\000\000\000\001\133\000\000\000\000\001\133\000\000\000\000\000\000\000\000\007!\000\000\000\000\000\000\000\000\007!\007!\007!\001\133\007!\007!\000\000\007!\001\133\000\000\001\133\000\000\000\000\001\133\007!\025\226\000\000\007!\000\000\000\000\001\133\000\000\001\133\000\000\000\000\001\133\000\000\000\000\000\000\000\000\000\000\000\000\007!\000\000\000\000\000\000\000\000\007!\007!\000\000\001\133\001\133\000\000\000\000\000\000\001\133\001\133\000\000\000\000\000\000\000R\012\254\r\006\000\194\000\000\000\198\026\182\rb\rj\rr\r\206\000\000\r\222\r\230\025\234\014\014\000\000\014\022\000\000\014\030\014J\002r\014R\000\000\000\000\000\000\025\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\242\014Z\025\246\000\000\000\000\000\000\025\250\000\000\000\000\000\000\000\000\000\000\025\254\000\000\000\000\000\000\000\000\000\000\030\006\000\000\000\000\026\n\000\000\000\000\000\000\026\014\000\000\000\000\000\000\000\000\000\000\026\018\000\000\000\000\000\000\000\000\000\000\000\000\014r\000\000\000\000\000\000\000\000\027\162\000\000\000\000\000\000\026\022\029\014\000\000\000\000\016\218\000\000\014\158\000\000\000\000\000\000\000\000\016\234\000\000\000\000\000\000\000\000\000\000\002\230\000\000\001\138\016\242\000\000\017\246\000\000\000\000\017\250\000\000\000\000\014\182\000\000\000\000\026\026\018\014\000\000\026\030\n\221\000\000\000\000\000\000\000\000\000\000\002\246\000\000\000\000\000\000\000\000\000\000\026\"\000\000\000\000\020\006\018R\026&\000\n\026*\019\214\026.\0262\000\000\0266\003\026\000\000\003\030\000\000\000\000\000\000\026:\019\222\000\000\026>\000\000\018j\003&\019\226\000\000\000\000\018n\b\130\003.\000\000\000\000\000\000\018r\018v\026B\000\000\018z\019\230\000\000\026F\026J\000\000\019\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\146\018~\000\000\000\000\019\238\019\242\018\130\019\246\000\000\000\n\000\000\020\n\000\000\000\000\000\000\000\000\000\000\020\022\018\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0206\000\000\000\000\000\000\020:\020\134\016\218\000\000\000\000\000\000\018\142\000\000\020\138\016\234\000\000\000\000\018\150\000\000\000\000\002\230\000\000\001\138\016\242\020\146\017\246\018\154\000\000\017\250\000\000\000\000\018\162\003r\000\000\000\000\018\014\000\000\000\000\n\221\000\000\000\000\000\000\000\000\000\000\002\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018f\018R\000\000\000\000\000\000\019\214\000\000\000\000\000\000\000\000\003\026\000\000\003\030\000\000\000\000\000\000\000\000\019\222\000\000\000\000\000\000\018j\003&\019\226\000\000\000\000\018n\b\130\003.\000\000\000\000\000\000\018r\018v\000\000\000\000\018z\019\230\000\000\000\000\000\000\000\000\019\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\146\018~\000\000\000\000\019\238\019\242\018\130\019\246\000\000\000\n\000\000\020\n\000\000\000\000\000\000\000\000\000\000\020\022\018\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0206\000\000\000\000\000\000\020:\020\134\000\000\000\000\017\201\000\000\018\142\017\201\020\138\000\000\000\000\000\000\018\150\000\000\000\000\000\000\000\000\000\000\000\000\020\146\000\000\018\154\000\000\re\000\000\000\000\018\162\003r\000\000\000\000\017\201\017\201\000\000\000\000\000\000\017\201\000\000\000\000\017\201\017\201\000\000\000\000\000\000\000\000\000\000\017\201\000\000\000\000\017\201\017\201\000\000\017\201\017\201\000\000\re\017\201\000\000\017\201\017\201\000\000\000\000\017\201\000\000\000\000\017\201\000\000\017\201\017\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\re\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\re\000\000\017\201\000\000\017\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\201\000\000\000\000\000\000\000\000\000\000\000\000\017\201\000\000\000\000\re\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006M\000\000\000\000\006M\000\000\000\000\017\201\017\201\000\000\017\201\017\201\017\201\000\000\017\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\201\000\000\000\000\000\000\006M\006M\000\000\006M\017\201\000\000\017\201\000\000\006M\006M\000\000\000\000\017\201\017\201\017\201\006M\017\201\017\201\017\201\ra\000\000\006M\006M\000\000\000\000\006M\006M\006M\006M\000\000\000\000\006M\000\000\000\000\006M\006M\006M\006M\000\000\000\000\000\000\006M\000\000\000\000\006M\006M\000\000\006M\006M\000\000\ra\006M\000\000\006M\006M\000\000\000\000\006M\000\000\000\000\006M\000\000\006M\006M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ra\000\000\000\000\000\000\000\000\000\000\006M\000\000\000\000\000\000\ra\000\000\006M\000\000\006M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006M\006M\006M\000\000\000\000\b\185\006M\006M\006M\000\000\ra\000\000\000\000\000\000\000\000\000\000\000\000\006M\000\000\000\000\000\000\000\000\006M\000\000\000\000\006M\000\000\006M\006M\006M\006M\b\185\006M\006M\006M\000\000\000\000\006M\006M\000\000\000\000\000\000\000\000\006M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006M\000\000\006M\000\000\000\000\000\000\000\000\000\000\006M\006M\006M\000\000\006M\006M\006M\012\209\012\209\012\209\012\209\000\000\012\209\000\000\012\209\012\209\012\209\012\209\000\000\012\209\012\209\000\000\012\209\000\000\012\209\000\000\012\209\012\209\012\209\012\209\000\000\000\000\017y\000\000\000\000\017y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\209\012\209\012\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\209\000\000\017y\017y\000\000\000\000\012\209\017y\000\000\026\198\003\138\017y\000\000\026\206\000\000\000\000\000\000\017y\000\000\012\209\017y\017y\000\000\017y\017y\000\000\012\209\003\146\000\000\017y\003\166\012\209\000\000\017y\000\000\000\000\017y\000\000\017y\017y\012\209\012\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\209\000\000\017y\012\209\017y\000\000\012\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017y\000\000\000\000\000\000\012\209\000\000\000\000\004\242\000\000\012\209\000\000\012\209\000\000\000\000\012\209\000\000\000\000\000\000\000\000\000\000\000\000\012\209\000\000\012\209\000\000\000\000\012\209\017y\017y\000\000\017y\017y\004\246\000\000\017y\000\000\000\000\000\000\000\000\000\000\000\000\012\209\012\209\004\254\000\000\000\000\027\"\012\209\017y\000\000\000\000\017y\017y\017y\017y\017y\000\000\000\000\000\000\017y\017y\017y\000\000\017y\017y\017y\017\t\000\000\000\000\017\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\t\017\t\000\000\000\000\000\000\017\t\000\000\000\000\003\138\017\t\000\000\000\000\000\000\000\000\000\000\017\t\000\000\000\000\017\t\017\t\000\000\017\t\017\t\000\000\000\000\003\146\000\000\017\t\003\166\000\000\000\000\017\t\000\000\000\000\017\t\000\000\017\t\017\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\t\000\000\017\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\t\012\193\012\193\012\193\012\193\000\000\012\193\004\242\012\193\012\193\012\193\012\193\000\000\012\193\012\193\000\000\012\193\000\000\012\193\000\000\012\193\012\193\012\193\012\193\000\000\000\000\000\000\017\t\017\t\000\000\017\t\017\t\004\246\000\000\017\t\000\000\000\000\000\000\012\193\012\193\012\193\000\000\000\000\004\254\000\000\000\000\000\000\000\000\017\t\000\000\012\193\017\t\017\t\017\t\017\t\017\t\012\193\000\000\000\000\017\t\017\t\017\t\000\000\017\t\017\t\017\t\005>\005F\000\194\012\193\000\198\000\000\005\162\005\170\005\178\006\014\012\193\006\030\006&\000\000\006N\012\193\006V\000\000\006^\006\138\000\000\006\146\000\000\000\000\012\193\012\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\154\000\000\000\000\000\000\000\000\000\000\002\162\000\000\000\000\000\000\012\193\000\000\000\000\012\193\000\000\000\000\012\193\006\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\193\000\000\000\000\000\000\000\000\012\193\000\000\012\193\000\000\000\000\012\193\000\000\000\000\000\000\000\000\000\000\000\000\012\193\000\000\012\193\000\000\000\000\012\193\006\178\000\000\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\193\012\193\000\000\000\000\000\000\026\202\012\193\012\197\012\197\012\197\012\197\000\000\012\197\000\000\012\197\012\197\012\197\012\197\000\000\012\197\012\197\000\000\012\197\000\000\012\197\000\000\012\197\012\197\012\197\012\197\000\000\000\000\006U\000\n\000\000\006U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\197\012\197\012\197\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\197\000\000\006U\006U\000\000\000\000\012\197\006U\000\000\027&\006U\006U\000\000\000\000\000\000\000\000\000\000\006U\000\000\012\197\006U\006U\000\000\006U\006U\000\000\012\197\006U\000\000\006U\006U\012\197\000\000\006U\000\000\000\000\006U\000\000\006U\006U\012\197\012\197\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\197\000\000\006U\012\197\006U\000\000\012\197\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006U\000\000\000\000\000\000\012\197\000\000\000\000\006U\000\000\012\197\000\000\012\197\000\000\000\000\012\197\000\000\000\000\000\000\000\000\000\000\000\000\012\197\000\000\012\197\000\000\000\000\012\197\006U\006U\000\000\006U\b\197\006U\000\000\006U\000\000\000\000\000\000\000\000\000\000\000\000\012\197\012\197\006U\000\000\000\000\006Q\012\197\006U\006Q\000\000\006U\000\000\006U\000\000\006U\000\000\000\000\000\000\006U\006U\006U\000\000\006U\006U\006U\000\000\000\000\000\000\000\000\000\000\000\000\006Q\006Q\000\000\000\000\000\000\006Q\000\000\000\000\006Q\006Q\000\000\000\000\000\000\017=\000\000\006Q\000\000\000\000\006Q\006Q\000\000\006Q\006Q\000\000\000\000\006Q\000\000\006Q\006Q\000\000\000\000\006Q\000\000\000\000\006Q\000\000\006Q\006Q\000\000\017=\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\017=\000\000\000\000\000\000\000\000\000\000\017=\017=\000\000\006Q\000\000\006Q\000\000\000\000\b*\000\000\017=\000\000\000\000\017=\000\000\017=\006Q\000R\012\254\r\006\000\194\000\000\000\198\006Q\rb\rj\rr\r\206\000\000\r\222\r\230\000\000\014\014\000\000\014\022\000\000\014\030\014J\002r\014R\000\000\000\000\017=\006Q\006Q\000\000\006Q\b\189\006Q\000\000\006Q\000\000\000\000\000\000\027.\014Z\027J\000\000\000\000\006Q\000\000\000\000\000\000\000\000\006Q\000\000\027V\006Q\000\000\006Q\000\000\006Q\014b\000\000\000\000\006Q\006Q\006Q\000\000\006Q\006Q\006Q\017=\000\000\000\000\027n\000\000\000\000\000\000\017=\000\000\000\000\014r\000\000\000\000\000\000\000\000\027\162\000\000\000\000\000\000\000\000\000\000\017=\000\000\000\000\027\194\014\158\000\000\000\000\017=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017=\017=\000\000\000\000\000\000\002\230\000\000\001\138\000\000\000\000\b\014\014\182\000\000\b\018\027\206\016\202\000\000\028&\000\000\000\000\016\206\000\000\000\000\000\000\000\000\030\226\000\000\016\210\000\000\002\246\028>\000\000\016\214\030\230\000\000\028j\000\000\n\197\b.\b:\028\154\000\000\bR\bj\bn\000\000\000\000\028\166\003\026\028\210\003\030\000\000\029\210\001\138\000\000\000\000\000\000\000\000\000\000\br\003&\000\000\bv\bz\b~\b\130\003.\029\222\029\246\021R\b\134\b\138\000\000\030\002\b\142\001\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\146\021V\000\000\000\000\000\000\000\000\000\000\b\146\b\150\000\000\000\000\000\000\000\000\b\154\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\017r\000\000\000\000\b\162\000\000\001\150\017v\000\000\000\000\000\000\000\000\000\000\007A\000\000\b\166\001\154\b\182\002\230\000\000\001\138\000\000\000\000\b\014\000\000\000\000\b\018\000\000\b\190\000\000\000\000\000\000\000\000\000\000\b\198\000\000\000\000\000\000\000\000\000\000\005]\000\n\002\246\b\202\000\000\000\000\005\233\000\000\b\210\003r\000\000\b.\b:\000\000\000\000\bR\bj\bn\000\000\000\000\000\000\003\026\000\000\003\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\br\003&\000\000\bv\bz\b~\b\130\003.\000\000\000\000\000\000\b\134\b\138\000\000\000\000\b\142\001\154\000\000\000\000\011I\011I\000\000\000\000\000\000\011I\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\146\b\150\000\000\000\000\000\000\000\000\b\154\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007A\000\000\b\166\000\000\b\182\002\230\000\000\001\138\000\000\000\000\b\014\000\000\000\000\b\018\000\000\b\190\000\000\000\000\000\000\000\000\000\000\b\198\000\000\000\000\000\000\000\000\000\000\t\237\000\000\002\246\b\202\000\000\000\000\000\000\000\000\b\210\003r\000\000\b.\b:\000\000\n\210\bR\bj\bn\000\000\000\000\000\000\003\026\000\000\003\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\br\003&\000\000\bv\bz\b~\b\130\003.\n\218\n\226\000\000\b\134\b\138\000\000\000\000\b\142\001\154\000\000\000\000\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\000\000\000\000\000\n\242\n\250\000\000\b\146\b\150\000\000\000\000\000\000\000\000\b\154\011\002\000\000\000\n\011\n\000\000\011\018\000\000\000\000\000\000\000\000\000\000\b\162\000\000\017\145\000\000\000\000\017\145\000\000\000\000\000\000\007A\000\000\b\166\000\000\b\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\026\000\000\000\000\b\190\000\000\000\000\000\000\017\145\017\145\b\198\000\000\000\000\017\145\000\000\000\000\002\129\017\145\000\000\b\202\000\000\000\000\000\000\017\145\b\210\003r\017\145\017\145\000\000\017\145\017\145\000\000\000\000\000\000\000\000\017\145\000\000\b*\000\000\017\145\000\000\011\"\017\145\000\000\017\145\017\145\000\000\000\000\011*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\161\000\000\000\000\000\000\000\000\000\000\000\000\006\161\000\000\017\145\000\000\017\145\000\000\000\000\000\000\0112\011:\000\000\000\000\000\000\000\000\000\000\017\145\000R\000V\000f\000\194\012\250\000\198\016\202\000\202\000\210\000\218\0016\016\206\001F\001N\000\000\001v\030\206\001~\016\210\001\134\002j\002r\002v\016\214\030\210\000\000\017\145\017\145\000\000\017\145\017\145\000\000\000\000\017\145\000\000\000\000\000\000\000\000\002~\017!\000\000\000\000\017!\000\000\002\162\000\000\000\000\017\145\000\000\000\000\017\145\017\145\017\145\017\145\017\145\002\134\000\000\000\000\017\145\017\145\017\145\000\000\017\145\017\145\017\145\017!\017!\000\000\000\000\000\000\017!\000\000\000\000\000\000\017!\002\150\000\000\000\000\000\000\000\000\017!\000\000\000\000\017!\017!\000\000\017!\017!\000\000\000\000\002\154\000\000\017!\000\000\b*\000\000\017!\000\000\000\000\017!\000\000\017!\017!\000\000\000\000\000\000\000\000\000\000\000\000\017\006\017\n\000\000\014v\000\000\000\000\000\000\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\017!\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\017!\005\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0079\017\014\017!\017!\000\000\017!\017!\000\000\000\000\017!\000\000\0079\000\000\000\000\000\000\017]\0079\000\000\017]\000\000\000\000\000\000\000\000\017!\000\000\000\000\017!\017!\017!\017!\017!\000\000\000\000\000\000\017!\017!\017!\000\000\017!\017!\017!\017]\017]\000\000\000\000\000\000\017]\000\000\000\000\018\186\017]\000\000\000\000\000\000\000\000\000\000\017]\000\000\000\000\017]\017]\000\000\017]\017]\000\000\000\000\018\194\000\000\017]\018\206\000\000\000\000\017]\000\000\000\000\017]\000\000\017]\017]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017]\000\000\017]\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\018\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017]\017]\000\000\017]\000\000\018\222\002\230\017]\001\138\000\000\000\000\b\014\000\000\000\000\b\018\000\000\018\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017]\000\000\017]\000\000\000\000\000\000\002\246\000\000\017]\017]\017]\000\000\017]\017]\017]\b.\b:\000\000\000\000\bR\bj\011b\000\000\000\000\000\000\003\026\000\000\003\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\br\003&\000\000\bv\bz\b~\b\130\003.\000\000\000\000\000\000\b\134\b\138\000\000\000\000\b\142\001\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\000\000\001\209\000\000\000\000\000\000\b\146\b\150\000\000\000\000\000\000\000\000\b\154\000\000\001\209\000\n\000\000\001\209\000\000\000\000\000\000\000\000\000\000\000\000\b\162\001\209\001\209\000\000\000\000\000\000\001\209\000\000\000\000\007A\001\209\000\000\000\000\b\182\000\000\000\000\001\209\001\209\000\000\001\209\001\209\001\209\001\209\001\209\b\190\001\209\000\000\000\000\001\209\000\000\b\198\001\209\001\209\000\000\001\209\001\209\t\253\001\209\001\209\b\202\000\000\000\000\000\000\001\209\b\210\003r\000\000\001\209\000\000\000\000\001\209\000\000\001\209\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\001\209\000\000\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\003\174\000\000\001\209\001\209\000\000\000\000\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\003\182\000\000\001\209\001\209\000\000\001\209\001\209\000\000\001\209\001\209\001\209\001\209\001Y\000\000\000\000\001Y\004\226\001\209\001\209\000\000\001\209\001\209\001\209\001\209\001\209\001\209\001\209\000\000\000\000\000\000\000\000\004\214\001\209\001\209\000\000\001\209\001\209\001\209\001Y\001Y\000\000\000\000\000\000\001Y\000\000\000\000\000\000\001Y\000\000\000\000\000\000\000\000\000\000\003\238\000\000\000\000\001Y\001Y\000\000\001Y\001Y\000\000\000\000\000\000\000\000\001Y\000\000\000\000\000\000\001Y\000\000\000\000\003\246\000\000\004\006\001Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Y\000\000\001Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Y\005=\005=\005=\005=\000\000\005=\000\000\005=\005=\005=\005=\000\000\005=\005=\000\000\005=\000\000\005=\000\000\005=\005=\005=\005=\000\000\000\000\000\000\001Y\000\000\000\000\001Y\001Y\000\000\002\202\003\254\000\000\000\000\000\000\000\000\005=\001M\000\000\000\000\001M\000\000\005=\000\000\000\000\001Y\000\000\000\000\001Y\001Y\001Y\001Y\001Y\005=\000\000\000\000\000\000\001Y\001Y\000\000\001Y\001Y\001Y\001M\001M\000\000\000\000\000\000\001M\000\000\000\000\000\000\001M\005=\000\000\000\000\000\000\000\000\001M\005=\000\000\001M\001M\000\000\001M\001M\000\000\000\000\005=\000\000\001M\000\000\000\000\000\000\001M\000\000\000\000\003\246\000\000\001M\001M\000\000\005=\005=\000\000\000\000\000\000\000\000\000\000\000\000\005=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\000\000\001M\000\000\000\000\000\000\000\000\000\000\000\000\005=\000\000\000\000\000\000\001M\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\000\000\001F\001N\000\000\001v\000\000\001~\000\000\001\134\002j\002r\002v\000\000\000\000\000\000\001M\000\000\000\000\001M\001M\000\000\000\000\003\254\000\000\000\000\000\000\000\000\002~\001Q\005=\000\000\001Q\000\000\002\162\000\000\000\000\001M\000\000\000\000\001M\001M\001M\001M\001M\002\134\000\000\000\000\000\000\001M\001M\000\000\001M\001M\001M\001Q\001Q\000\000\000\000\000\000\001Q\000\000\000\000\000\000\001Q\002\166\000\000\000\000\000\000\000\000\001Q\002\194\000\000\001Q\001Q\000\000\001Q\001Q\000\000\000\000\002\154\000\000\001Q\000\000\000\000\000\000\001Q\000\000\000\000\003\246\000\000\001Q\001Q\000\000\002\170\002\174\000\000\000\000\000\000\000\000\000\000\000\000\002\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Q\000\000\001Q\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\001Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Q\000\000\000\000\001Q\001Q\000\000\000\000\003\254\000\000\000\000\000\000\000\000\000\000\001U\014\233\000\000\001U\000\000\000\000\000\000\000\000\001Q\000\000\000\000\001Q\001Q\001Q\001Q\001Q\000\000\000\000\000\000\000\000\001Q\001Q\000\000\001Q\001Q\001Q\001U\001U\000\000\000\000\000\000\001U\000\000\000\000\000\000\001U\000\000\000\000\000\000\000\000\000\000\003\238\000\000\000\000\001U\001U\000\000\001U\001U\000\000\000\000\000\000\000\000\001U\000\000\000\000\000\000\001U\000\000\000\000\003\246\000\000\004\006\001U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001U\000\000\001U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001U\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\000\000\001F\001N\000\000\001v\000\000\001~\000\000\001\134\002j\002r\002v\000\000\000\000\000\000\001U\000\000\000\000\001U\001U\000\000\000\000\003\254\000\000\000\000\000\000\000\000\002~\001e\000\000\000\000\001e\000\000\002\162\000\000\000\000\001U\000\000\000\000\001U\001U\001U\001U\001U\002\134\000\000\000\000\000\000\001U\001U\000\000\001U\001U\001U\003\230\004\014\000\000\000\000\000\000\001e\000\000\000\000\000\000\001e\002\166\000\000\000\000\000\000\000\000\003\238\002\194\000\000\001e\001e\000\000\001e\001e\000\000\000\000\002\154\000\000\001e\000\000\000\000\000\000\001e\000\000\000\000\003\246\000\000\004\006\001e\000\000\002\170\002\174\000\000\000\000\000\000\000\000\000\000\000\000\002\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\030\000\000\001e\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\001e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001e\000\000\000\000\001e\001e\000\000\000\000\003\254\000\000\000\000\000\000\000\000\000\000\001]\002\181\000\000\001]\000\000\000\000\000\000\000\000\001e\000\000\000\000\001e\001e\001e\001e\001e\000\000\000\000\000\000\000\000\001e\001e\000\000\001e\001e\001e\003\230\004\014\000\000\000\000\000\000\001]\000\000\000\000\000\000\001]\000\000\000\000\000\000\000\000\000\000\003\238\000\000\000\000\001]\001]\000\000\001]\001]\000\000\000\000\000\000\000\000\001]\000\000\000\000\000\000\001]\000\000\000\000\003\246\000\000\004\006\001]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001]\000\000\001]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001]\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\000\000\001F\001N\000\000\001v\000\000\001~\000\000\001\134\002j\002r\002v\000\000\000\000\000\000\001]\000\000\000\000\001]\001]\000\000\000\000\003\254\000\000\000\000\000\000\000\000\002~\001a\000\000\000\000\001a\000\000\002\162\000\000\000\000\001]\000\000\000\000\001]\001]\001]\001]\001]\002\134\000\000\000\000\000\000\001]\001]\000\000\001]\001]\001]\003\230\004\014\000\000\000\000\000\000\001a\000\000\000\000\000\000\001a\002\166\000\000\000\000\000\000\000\000\003\238\002\194\000\000\001a\001a\000\000\001a\001a\000\000\000\000\002\154\000\000\001a\000\000\000\000\000\000\001a\000\000\000\000\003\246\000\000\004\006\001a\000\000\002\170\002\174\000\000\000\000\000\000\000\000\000\000\000\000\002\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\030\000\000\001a\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\001a\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\000\000\001F\001N\000\000\001v\000\000\001~\000\000\001\134\002j\002r\002v\000\000\000\000\000\000\001a\000\000\000\000\001a\001a\000\000\000\000\003\254\000\000\000\000\000\000\000\000\002~\001i\002\173\000\000\001i\000\000\000\000\000\000\000\000\001a\000\000\000\000\001a\001a\001a\001a\001a\002\134\000\000\000\000\000\000\001a\001a\000\000\001a\001a\001a\003\230\004\014\000\000\000\000\000\000\001i\000\000\000\000\000\000\001i\002\150\000\000\000\000\000\000\000\000\003\238\006\254\000\000\001i\001i\000\000\001i\001i\000\000\000\000\002\154\000\000\001i\000\000\007\002\007\006\004\022\000\000\000\000\003\246\000\000\004\006\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\030\000\000\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001i\000\000\000\000\000\000\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\014\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\001i\001i\000\000\000\000\003\254\000\000\000\000\000\000\005m\000\000\001q\000\000\000\000\001q\000\000\000\000\000\000\000\000\001i\000\000\000\000\001i\001i\001i\001i\001i\000\000\000\000\000\000\000\000\001i\001i\000\000\001i\001i\001i\003\230\004\014\000\000\000\000\000\000\001q\000\000\000\000\000\000\001q\000\000\000\000\000\000\000\000\000\000\003\238\000\000\000\000\001q\001q\000\000\001q\001q\000\000\000\000\000\000\000\000\001q\000\000\000\000\000\000\004\022\000\000\000\000\003\246\000\000\004\006\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\030\000\000\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001q\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\000\000\001F\001N\000\000\001v\000\000\001~\000\000\001\134\002j\002r\002v\000\000\000\000\000\000\004&\000\000\000\000\001q\001q\000\000\000\000\003\254\000\000\000\000\000\000\000\000\002~\004v\000\000\000\000\001m\000\000\000\000\000\000\000\000\001q\000\000\000\000\001q\001q\001q\001q\001q\002\134\000\000\000\000\000\000\001q\001q\000\000\001q\004.\001q\003\230\004\014\000\000\000\000\000\000\001m\000\000\000\000\000\000\001m\002\150\000\000\000\000\000\000\000\000\003\238\006\254\000\000\001m\001m\000\000\001m\001m\000\000\000\000\002\154\000\000\001m\000\000\007\002\007\006\004\022\000\000\000\000\003\246\000\000\004\006\001m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\030\000\000\001m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001m\000\000\000\000\000\000\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\014\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\001m\001m\000\000\000\000\003\254\000\000\000\000\000\000\n%\000\000\004v\000\000\000\000\001u\000\000\000\000\000\000\000\000\001m\000\000\000\000\001m\001m\001m\001m\001m\000\000\000\000\000\000\000\000\001m\001m\000\000\001m\004.\001m\003\230\004\014\000\000\000\000\000\000\001u\000\000\000\000\000\000\001u\000\000\000\000\000\000\000\000\000\000\003\238\000\000\000\000\001u\001u\000\000\001u\004~\t\178\000\000\000\000\t\186\001u\000\000\000\000\000\000\004\022\000\000\000\000\003\246\000\000\004\006\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\202\t\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\030\t\218\001u\000\000\000\000\0025\000\000\t\226\t\234\000\000\000\000\000\000\000\000\001u\000\000\000\000\000\000\t\242\000\000\000\000\t\250\004%\n\002\000\000\000\000\000j\004%\000\000\000z\000\000\000\154\004%\000\000\004%\000\000\000\000\000\000\000\162\004%\004%\004&\000\000\000\000\001u\001u\000\000\000\000\003\254\000\000\n\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004%\000\000\001u\000\000\000\000\001u\001u\001u\001u\001u\000\000\000\170\004%\000\000\001u\001u\004%\001u\004.\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\018\004%\004%\0025\000\000\000\000\000\000\n\026\000\000\000\000\000\000\000\000\000\000\000\000\004%\000\000\000\186\000\000\000\000\000\000\000\000\0025\000\000\004%\000\000\0025\0025\000\000\004%\004%\000\000\000\000\000\000\000\000\000\000\000\000\n\"\n*\004%\000\000\004!\000\000\004%\000\000\000\222\004!\000\000\000\238\000\000\001\014\004!\000\000\004!\004%\000\000\000\000\001\022\004!\004!\000\000\000\000\000\000\000\000\004%\000\000\000\000\000\000\000\000\004%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\030\004!\000\000\000\000\000\000\004!\000\000\000\000\000\000\000\000\000\000\000\000\004%\000\000\000\000\004%\004%\000\000\000\000\004%\004!\004!\000\000\003\218\004%\004%\0046\000\000\000\000\004%\000\000\000\000\000\000\004!\000\000\001.\000\000\000\000\000\000\000\000\000\000\000\000\004!\000\000\000\000\000\000\000\000\004!\004!\004V\004^\000\189\000\000\000\000\002-\000\000\000\000\004!\002-\000\000\000\000\004!\000\000\000\000\004f\000\000\000\000\002-\002-\000\165\004n\004\142\004!\000\000\000\000\000\000\002-\003\230\004\014\000\000\004\150\000\000\004!\004\158\000\000\004\166\002-\004!\000\000\000\000\000\000\000\000\003\238\000\000\000\000\000\165\000\165\000\000\000\189\000\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\022\000\000\003\238\003\246\004\174\004\006\002-\000\000\000\165\000\165\000\000\000\000\004!\000\000\000\000\004!\004!\002-\000\165\004!\000\000\003\246\000\000\004\006\004!\004!\000\000\000\000\000\000\004!\000\000\000\000\004\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\182\000\000\000\000\002-\002-\000\000\000\165\004\190\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\129\000\000\000\000\000\000\000\000\002-\000\000\000\000\002-\002-\002-\002-\004&\000\000\000\000\000\000\000\000\002-\002-\003\254\004\198\004\206\002-\003\230\004\014\000\000\000\000\000\000\000\129\000\000\000\165\000\000\000\129\000\189\000\000\000\000\000\000\003\254\003\238\000\000\000\189\000\129\000\129\000\000\000\129\000\129\000\000\000\000\000\189\004.\000\129\000\165\000\000\000\000\004\022\000\000\000\000\003\246\000\165\004\006\000\129\000\000\000\000\000\000\000\000\000i\000\165\000\165\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\004\030\000\000\000\129\000\000\000\000\000i\000i\000\000\000\000\000\000\000i\000\000\000\000\000\129\000i\000\000\000\000\000\000\000\000\000\000\003\238\000\000\000\000\000i\000i\000\000\000i\000i\000\000\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\003\246\004&\004\006\000i\000\129\000\129\000\000\000\000\003\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\129\000\129\000\129\000\129\000i\000\000\000i\000\000\000\000\000\129\000\129\000\000\000\129\004.\000\129\000\000\000\000\000i\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\000\000\001F\001N\000\000\001v\000\000\001~\000\000\001\134\002j\002r\002v\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000\000\000\000\003\254\000\000\000\000\000\000\000\000\002~\000e\000\000\000\000\000e\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000i\000i\000\000\002\134\000\000\000\000\000\000\000i\000i\000\000\000i\000i\000i\000e\000e\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\002\150\000\000\000\000\000\000\000\000\003\238\006\254\000\000\000e\000e\000\000\000e\000e\000\000\000\000\002\154\000\000\000e\000\000\007\002\007\006\000e\000\000\000\000\003\246\000\000\004\006\000e\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000\000\007\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000e\000\000\000\000\000]\000]\000\000\000\000\000\000\000]\000\000\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\007\014\000\000\000\000\000]\000\000\000\000\000\000\000]\000\000\000\000\003\246\000e\000]\000]\000e\000e\000\000\000\000\003\254\000\000\000\000\000\000\002\161\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\000e\000e\000\000\000e\000e\000e\000\000\000\000\000]\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\000\000\001F\001N\000\000\001v\000\000\001~\000\000\001\134\002j\002r\002v\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000\000\003\254\000\000\000\000\000\000\000\000\002~\004v\000\000\000\000\000\137\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\000]\000]\000]\003\230\004\014\000\000\000\000\000\000\000\137\000\000\000\000\000\000\000\137\002\150\000\000\000\000\000\000\000\000\003\238\031\138\000\000\000\137\000\137\000\000\000\137\004~\000\000\000\000\002\154\000\000\000\137\000\000\031\142\007\006\004\022\000\000\000\000\003\246\000\000\004\006\000\137\000\000\000\000\000\000\000\000\004v\000\000\000\000\000}\000\000\007\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\030\000\000\000\137\000\000\000\000\003\230\004\014\000\000\000\000\000\000\000}\000\000\000\000\000\137\000}\000\000\000\000\000\000\000\000\000\000\003\238\000\000\000\000\000}\000}\000\000\000}\000}\000\000\031\146\000\000\000\000\000}\000\000\000\000\000\000\004\022\000\000\000\000\003\246\004&\004\006\000}\000\137\000\137\000\000\000\000\003\254\000\000\000\000\000\000\005e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\137\000\000\000\000\000\137\000\137\000\137\000\137\004\030\000\000\000}\000\000\000\000\000\137\000\137\000\000\004\134\004.\000\137\000\000\000\000\000}\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\000\000\001F\001N\000\000\001v\000\000\001~\000\000\001\134\002j\002r\002v\000\000\000\000\000\000\004&\000\000\000\000\000}\000}\000\000\000\000\003\254\000\000\000\000\000\000\000\000\002~\000u\000\000\000\000\000u\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\000}\004.\000}\003\230\004\014\000\000\000\000\000\000\000u\000\000\000\000\000\000\000u\002\150\000\000\000\000\000\000\000\000\003\238\031\138\000\000\000u\000u\000\000\000u\000u\000\000\000\000\002\154\000\000\000u\000\000\031\142\007\006\000u\000\000\000\000\003\246\000\000\004\006\000u\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000\000\007\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\030\000\000\000u\000\000\000\000\000a\000a\000\000\000\000\000\000\000a\000\000\000\000\000u\000a\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000a\000a\000\000\031\146\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\003\246\000u\000a\000a\000u\000u\000\000\000\000\003\254\000\000\000\000\000\000\n\t\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\000u\000u\000a\000\000\000a\000\000\000\000\000u\000u\000\000\000u\000u\000u\000\000\000\000\000a\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\000\000\001F\001N\000\000\001v\000\000\001~\000\000\001\134\002j\002r\002v\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000\000\003\254\000\000\000\000\000\000\000\000\002~\000m\000\000\000\000\000m\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000a\000a\000\000\002\134\000\000\000\000\000\000\000a\000a\000\000\000a\000a\000a\003\230\004\014\000\000\000\000\000\000\000m\000\000\000\000\000\000\000m\002\150\000\000\000\000\000\000\000\000\003\238\031\138\000\000\000m\000m\000\000\000m\000m\000\000\000\000\002\154\000\000\000m\000\000\031\142\007\006\000m\000\000\000\000\003\246\000\000\004\006\000m\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000\000\007\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000m\000\000\000\000\003\230\004\014\000\000\000\000\000\000\000q\000\000\000\000\000m\000q\000\000\000\000\000\000\000\000\000\000\003\238\000\000\000\000\000q\000q\000\000\000q\000q\000\000\031\146\000\000\000\000\000q\000\000\000\000\000\000\000q\000\000\000\000\003\246\000m\004\006\000q\000m\000m\000\000\000\000\003\254\000\000\000\000\000\000\002\145\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\000m\000m\004\030\000\000\000q\000\000\000\000\000m\000m\000\000\000m\000m\000m\000\000\000\000\000q\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\000\000\001F\001N\000\000\001v\000\000\001~\000\000\001\134\002j\002r\002v\000\000\000\000\000\000\000q\000\000\000\000\000q\000q\000\000\000\000\003\254\000\000\000\000\000\000\000\000\002~\004v\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000q\000q\000q\000\000\002\134\000\000\000\000\000\000\000q\000q\000\000\000q\000q\000q\003\230\004\014\000\000\000\000\000\000\000\133\000\000\000\000\000\000\000\133\002\150\000\000\000\000\000\000\000\000\003\238\007\022\000\000\000\133\000\133\000\000\000\133\004~\000\000\000\000\002\154\000\000\000\133\000\000\007\002\007\006\004\022\000\000\000\000\003\246\000\000\004\006\000\133\000\000\000\000\000\000\000\000\000y\000\000\000\000\000y\000\000\007\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\030\000\000\000\133\000\000\000\000\003\230\004\014\000\000\000\000\000\000\000y\000\000\000\000\000\133\000y\000\000\000\000\000\000\000\000\000\000\003\238\000\000\000\000\000y\000y\000\000\000y\000y\000\000\000\000\000\000\000\000\000y\000\000\000\000\000\000\004\022\000\000\000\000\003\246\004&\004\006\000y\000\133\000\133\000\000\000\000\003\254\000\000\000\000\000\000\n5\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\133\000\133\000\133\000\133\004\030\000\000\000y\000\000\000\000\000\133\000\133\000\000\000\133\004.\000\133\000\000\000\000\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\015\254\007!\016\014\000\000\000\000\000\000\000\000\016\022\000\000\000\000\000\000\000\000\000\000\007!\004&\000\000\000\000\000y\000y\000\000\000\000\003\254\000\000\000\000\007!\000\000\007!\012\213\012\213\000\000\007!\007!\000\000\012\213\000\000\000y\007!\000\000\000y\000y\000y\000y\007!\000\000\000\000\007!\000\000\000y\000y\007!\000y\000y\000y\000\000\000\000\007!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007!\016J\000\000\012\213\000\000\007!\000Z\000\000\000\000\000\000\000\000\007!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007!\012\213\000\000\007!\000\000\000\000\007!\000\000\000\000\000\000\002\230\000\000\001\138\000\000\000\000\002\234\000\000\000\000\002\238\007!\000\000\000\000\000\000\000\000\007!\007!\007!\000\000\007!\007!\000\000\007!\000\000\000\000\002\246\000\000\000\000\002\250\007!\000\000\000\000\007!\000\000\003\006\003\n\000\000\003\018\000\000\b\178\000\000\000\000\000\000\000\000\003\026\000\000\003\030\007!\000\000\000\000\000\000\000\000\007!\007!\012\213\003\"\003&\000\000\000\000\011~\003*\001\238\003.\000\000\000\000\000\000\0032\0036\000\000\000\000\003:\003>\000\000\000\000\000\000\000\000\r\030\007!\r.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003B\007!\000\000\000\000\000\000\003F\000\000\000\000\000\n\r\138\007!\r\154\007!\000\000\007!\000\000\000\000\003N\007!\007!\000\000\000\000\007!\000\000\007!\007!\000\000\000\000\003R\n\213\007!\000\000\000~\007!\000\142\007!\000\000\007!\000\000\007!\007!\003V\007!\007!\000\000\007!\000\000\003b\000\000\000\000\n\213\007!\n\213\000\000\007!\016\138\003z\000\000\007!\007!\000Z\003j\003r\007!\007!\007!\0152\007!\015B\015\158\007!\015\174\000\000\000\000\000\000\007!\016\182\000\000\000\000\007!\007!\000Z\007!\000\000\000\130\007!\007!\007!\000\000\000\000\007!\000\000\007!\007!\007!\007!\007!\007!\000\000\007!\007!\000\000\007!\000\000\000Z\007!\007!\007!\007!\000\000\000\000\007!\007!\007!\007!\007!\007!\000\000\007!\000\000\000\000\007!\007!\000\000\007!\007!\000\000\007!\007!\007!\000\000\007!\007!\007!\007!\007!\007!\007!\000Z\007!\007!\000Z\000\000\007!\007!\007!\007!\000\000\007!\007!\000\000\000\000\000\000\000\000\000Z\000\000\007!\007!\000\000\000\000\000\000\007!\000\000\000\000\007!\007!\007!\000\000\007!\007!\007!\007!\007!\000\000\007!\000\000\000\000\000\000\000\000\000\000\000\000\007!\000\000\000\000\007!\007!\000\000\007!\000\000\007!\007!\007!\007!\007!\007!\000\000\007!\007!\007!\007!\000\000\007!\000\000\007!\000\000\017u\007!\007!\017u\007!\000\000\007!\000\000\000\000\007!\000\000\001R\000\000\001b\007!\000\000\007!\000\000\001j\007!\000\000\007!\007!\000\000\007!\007!\017u\017u\000\000\000\000\000\000\017u\000\000\000\000\000\000\017u\000\000\000\000\000\000\007!\000\000\017u\007!\007!\017u\017u\007!\017u\017u\000\000\000\000\007!\007!\017u\007!\b*\007!\017u\007!\000\000\017u\000\000\017u\017u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007!\007!\000\000\000\000\000\000\002\158\000\000\007!\r\"\000\000\000Z\000\000\000\000\007!\000\000\000\000\017u\000\000\017u\007!\000\000\000\000\007!\000\000\000\000\000\000\000\000\007!\007!\017u\007!\007!\007!\000\000\000\000\000\000\007!\007!\006*\000\000\006:\007!\007!\007!\000\000\006B\000\000\000\000\007!\007!\000\000\007!\007!\000\000\000\000\007!\017u\017u\000\000\017u\000\000\007!\007!\017u\000\000\000\000\000\000\007!\000\000\007!\000\000\000\000\007!\000\000\007!\rz\000\000\007!\000Z\000\000\017u\007!\017u\007!\000\000\007!\007!\000\000\017u\017u\017u\000\000\017u\017u\017u\000\000\000\000\007!\000\000\007!\007!\007!\000\000\007!\007!\007!\000\000\007!\007!\007!\000Z\007!\007!\007!\000\000\007!\000\000\007!\007!\000\000\000\000\000\000\007!\000\000\007!\000\000\000\000\007!\007!\007!\007!\007!\000\000\007!\007!\000\000\007!\007!\000\000\007!\000\000\007!\000\000\007!\007!\000Z\007!\000\000\000\000\000\000\007!\000\000\007!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007!\007!\000\000\000\000\000\000\007!\007!\000\000\000\000\000\000\000\000\007!\000\000\000\000\007!\000\000\000\000\007!\000\000\000\000\000\000\002\230\000\000\001\138\000\000\000\000\002\234\000\000\000\000\002\238\007!\000\000\000\000\000\000\000\000\007!\007!\007!\000\000\007!\007!\000\000\007!\007!\000\000\002\246\007!\000\000\002\250\007!\000\000\007!\007!\000\000\003\006\003\n\007!\003\018\000\000\b*\000\000\000\000\000\000\000\000\003\026\000\000\003\030\007!\000\000\000\000\000\000\000\000\007!\007!\000\000\003\"\003&\000\000\000\000\000\000\003*\001\238\003.\000\000\000\000\000\000\0032\0036\000\000\000\000\003:\003>\000\000\000\000\000\000\000\000\000\000\007!\r\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003B\007!\r\210\000\000\000\000\003F\000\000\000\000\000\n\007!\r\238\000\000\007!\007!\007!\000\000\000\000\003N\007!\007!\000\000\007!\000\000\000\000\007!\000\000\007!\000\000\003R\000\000\007!\007!\007!\007!\007!\000\000\007!\007!\007!\007!\000\000\003V\007!\007!\007!\007!\000\000\003b\000\000\007!\007!\000\000\000\000\007!\007!\007!\003z\007!\000\000\007!\000Z\003j\003r\007!\015\"\007!\007!\000\000\000\000\000\000\000\000\007!\000Z\000\000\007!\007!\0156\007!\000\000\007!\000Z\000\000\007!\015\142\000\000\007!\007!\007!\007!\000\000\007!\000\000\007!\007!\007!\015\162\000\000\000\000\007!\007!\007!\000\000\007!\000\000\007!\007!\007!\007!\015\230\000\000\007!\007!\007!\007!\000\000\007!\007!\007!\007!\007!\007!\016\002\000\000\007!\007!\007!\007!\007!\007!\007!\007!\007!\007!\007!\000Z\007!\007!\007!\007!\007!\007!\000\000\007!\007!\000\000\007!\000Z\007!\007!\007!\007!\007!\007!\000Z\000\000\007!\000\000\000\000\007!\007!\007!\007!\000\000\007!\007!\000Z\000\000\007!\007!\007!\007!\000\000\007!\007!\007!\000\000\007!\007!\000Z\007!\007!\000\000\000\000\007!\000\000\007!\007!\007!\000\000\007!\007!\000Z\007!\000\000\000\000\007!\007!\007!\007!\007!\000\000\007!\007!\000\000\007!\007!\007!\000\000\007!\007!\000\000\007!\000\000\000\000\007!\000\000\007!\007!\007!\000\000\007!\007!\007!\007!\007!\000\000\000\000\000\000\000\000\007!\007!\007!\000\000\007!\007!\007!\007!\007!\000\000\000\000\000\000\007!\007!\007!\007!\000\000\007!\007!\007!\007!\000\000\000\000\000\000\007!\007!\000\000\007!\000\000\000\000\007!\002\230\007!\001\138\000\000\000\000\002\234\007!\007!\002\238\000\000\000\000\000\000\000\000\000\000\007!\000\000\000\000\000\000\018\018\007!\007!\000\000\000\000\000\000\002\246\000\000\000\000\002\250\000\000\000\000\000\000\000\000\000\000\003\006\003\n\000\000\003\018\000\000\000\000\000\000\000\000\000\000\000\000\003\026\000\000\003\030\000\000\000\000\000\000\001\233\000\000\000\000\001\233\000\000\003\"\003&\000\000\000\000\000\000\003*\001\238\003.\000\000\000\000\000\000\0032\0036\000\000\000\000\003:\003>\000\000\000\000\000\000\000\000\001\233\001\233\000\000\000\000\000\000\001\233\000\000\000\000\000\000\001\233\000\000\000\000\003B\000\000\000\000\001\233\000\000\003F\001\233\001\233\000\n\001\233\001\233\000\000\000\000\000\000\000\000\001\233\000\000\003N\000\000\001\233\000\000\000\000\001\233\000\000\001\233\001\233\000\000\000\000\003R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003V\000\000\000\000\000\000\000\000\000\000\003b\000\000\000\000\000\000\001\233\000\000\001\233\000\000\000\000\003z\000\000\000\000\000\000\000\000\003j\003r\000\000\001\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\230\000\000\001\138\000\000\000\000\002\234\000\000\000\000\002\238\000\000\000\000\000\000\000\000\000\000\001\233\018\250\000\000\001\233\n\213\000\000\000\000\001\233\000\000\000\000\002\246\000\000\000\000\002\250\000\000\000\000\000\000\000\000\000\000\003\006\003\n\000\000\003\018\000\000\001\233\000\000\001\233\000\000\000\000\003\026\000\000\003\030\019\002\001\233\001\233\000\000\001\233\001\233\001\233\000\000\003\"\003&\000\000\000\000\000\000\003*\001\238\003.\000\000\000\000\000\000\0032\0036\000\000\000\000\003:\003>\000\000\000\000\000\000\000\000\000\000\002\230\000\000\001\138\000\000\000\000\002\234\000\000\000\000\002\238\000\000\000\000\003B\000\000\000\000\000\000\000\000\003F\000\000\0232\000\n\000\000\000\000\000\000\000\000\002\246\000\000\000\000\002\250\003N\000\000\000\000\000\000\000\000\003\006\003\n\000\000\003\018\000\000\000\000\003R\000\000\000\000\000\000\003\026\000\000\003\030\000\000\000\000\000\000\000\000\000\000\000\000\003V\000\000\003\"\003&\000\000\000\000\003b\003*\001\238\003.\000\000\000\000\000\000\0032\0036\003z\000\000\003:\003>\007!\003j\003r\000\000\000\000\007!\000\000\000\242\000\000\001\002\007!\000\000\007!\000\000\000\000\000\000\003B\007!\007!\000\000\000\000\003F\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003N\000\000\000\000\000\000\000\000\007!\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000\000\000\000\000\000\007!\000\000\000\000\000\000\007!\000\000\000\000\003V\000\000\002\230\000\000\001\138\000\000\003b\002\234\000\000\000\000\002\242\000\000\007!\007!\000\000\003z\000\000\006v\000\000\000\000\003j\003r\000Z\000\000\000\000\007!\002\246\000\000\000\000\002\250\000\000\000\000\000\000\000\000\007!\003\006\012V\000\000\003\018\007!\007!\000\000\000\000\000\000\000\000\003\026\000\000\003\030\000\000\007!\000\000\000\000\000\000\007!\000\000\000\000\003\"\003&\000\000\000\000\000\000\003*\001\238\003.\007!\000\000\000\000\0032\0036\000\000\000\000\003:\003>\000\000\007!\000\000\000\000\000\000\000\000\007!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003B\000\000\000\000\000\000\000\000\003Z\000\000\000\000\000\n\000\000\002\230\000\000\001\138\000\000\000\000\002\234\000\000\003N\002\242\000\000\000\000\000\000\000\000\007!\000\000\000\000\007!\007!\003R\000\000\007!\000\000\000\000\000\000\002\246\007!\007!\002\250\000\000\000\000\007!\003^\000\000\003\006\012F\000\000\003\018\003b\000\000\000\000\000\000\000\000\000\000\003\026\000\000\003\030\003f\000\000\000\000\000\000\000\000\003j\003r\000\000\003\"\003&\000\000\000\000\000\000\003*\001\238\003.\000\000\000\000\000\000\0032\0036\000\000\000\000\003:\003>\000\000\000\000\000\000\000\000\000\000\002\230\000\000\001\138\000\000\000\000\002\234\000\000\000\000\002\242\000\000\000\000\003B\000\000\000\000\000\000\000\000\003Z\000\000\000\000\000\n\000\000\000\000\000\000\000\000\002\246\000\000\000\000\002\250\003N\000\000\000\000\000\000\000\000\003\006\012.\000\000\003\018\000\000\000\000\003R\000\000\000\000\000\000\003\026\000\000\003\030\000\000\000\000\000\000\000\000\000\000\000\000\003^\000\000\003\"\003&\000\000\000\000\003b\003*\001\238\003.\000\000\000\000\000\000\0032\0036\003f\000\000\003:\003>\000\000\003j\003r\000\000\000\000\002\230\000\000\001\138\000\000\000\000\002\234\000\000\000\000\002\242\000\000\000\000\003B\000\000\000\000\000\000\000\000\003Z\000\000\000\000\000\n\000\000\000\000\000\000\000\000\002\246\000\000\000\000\002\250\003N\000\000\000\000\000\000\000\000\003\006\003J\000\000\003\018\000\000\000\000\003R\000\000\000\000\000\000\003\026\000\000\003\030\000\000\000\000\000\000\000\000\000\000\000\000\003^\000\000\003\"\003&\000\000\000\000\003b\003*\001\238\003.\000\000\000\000\000\000\0032\0036\003f\000\000\003:\003>\007!\003j\003r\000\000\000\000\007!\000\000\005^\000\000\005n\007!\n\205\007!\000\000\000\000\000\000\003B\007!\007!\000\000\007!\003Z\000\000\n\205\000\n\007!\000\000\005\202\000\000\005\218\007!\000\000\007!\003N\n\205\000\000\n\205\007!\007!\000\000\n\205\000\000\000\000\000\000\003R\000\000\n\205\000\000\000\000\000\000\007!\000\000\n\205\000\000\007!\n\205\000\000\003^\007!\n\205\026\210\000\000\000\000\003b\000\000\n\205\000\000\000\000\000\000\007!\007!\000\000\003f\000\000\007!\000\000\000\000\003j\003r\000Z\000\000\n\205\007!\000\000\000\000\000\000\000\000\000\000\000\000\007!\007!\007!\000\000\000\000\006\182\000\000\007!\007!\000\000\000Z\000\000\000\000\007!\000\000\000\000\000\000\007!\000\000\000\000\000\000\007!\007!\n\205\000\000\000\000\n\205\007!\007!\000\000\000\000\000\000\007!\000\000\000\000\000\000\000\000\007!\000\000\n\205\000\000\007!\007!\000\000\n\205\n\205\n\205\007!\n\205\n\205\000\000\n\205\007!\000\000\000\000\000\000\000\000\000\000\n\205\000\000\000\000\n\205\007!\000\000\000\000\000\000\000\000\007!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\205\000\000\000\000\000\000\007!\n\205\n\205\007!\007!\000\000\000\000\007!\000\000\000\000\000\000\000\000\007!\007!\002\230\000\000\001\138\007!\000\000\002\254\007!\000\000\003\002\007!\007!\000\000\000\000\007!\000\000\000\000\000\000\000\000\007!\007!\000\000\000\000\000\000\007!\002\246\000\000\000\000\002\250\000\000\000\000\000\000\000\000\000\000\003\022\007\246\000\000\003\018\000\000\b\n\000\000\000\000\000\000\000\000\003\026\000\000\003\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\254\003&\000\000\000\000\000\000\t\002\001\238\003.\000\161\000\000\000\000\t\n\t\014\000\000\000\000\t\018\003>\000\000\002\230\000\000\001\138\000\000\000\000\002\234\000\000\000\000\002\242\000\000\000\000\000\000\000\000\000\000\000\000\t\022\000\161\000\161\000\000\000\000\t\026\000\000\000\000\000\n\002\246\000\000\000\000\002\250\000\000\000\000\000\000\003\238\t\"\003\006\b\022\000\000\003\018\000\161\000\161\000\000\000\000\000\000\000\000\003\026\000\000\003\030\000\000\000\161\000\000\000\000\003\246\000\000\004\006\000\000\003\"\003&\t2\000\000\000\000\003*\001\238\003.\t:\000\000\000\000\0032\0036\000\000\000\000\003:\003>\t>\000\000\000\000\000\000\000\000\tF\003r\000\000\000\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003B\000\000\000\000\000\000\000\000\003Z\000\000\000\000\000\n\000\000\000\000\011\250\000\000\000\000\000\000\000\000\000\000\003N\000\000\000\000\000\000\005%\000\000\005%\000\000\000\000\005%\000\000\003R\005%\000\000\000\000\000\161\000\000\000\000\000\000\000\000\000\000\000\000\003\254\000\000\003^\000\000\000\000\000\000\005%\000\000\003b\005%\000\000\000\000\000\000\000\000\000\161\005%\005%\003f\005%\000\000\000\000\000\161\003j\003r\000\000\005%\000\000\005%\000\000\000\161\000\161\000\000\000\000\000\000\000\000\000\000\005%\005%\000\000\000\000\000\000\005%\005%\005%\000\000\000\000\000\000\005%\005%\000\000\000\000\005%\005%\000\000\002\230\000\000\001\138\000\000\000\000\002\234\000\000\000\000\002\242\000\000\000\000\000\000\000\000\000\000\000\000\005%\000\000\000\000\000\000\000\000\005%\000\000\000\000\005%\002\246\000\000\000\000\002\250\000\000\000\000\000\000\000\000\005%\003\006\017\254\000\000\003\018\000\000\000\000\000\000\000\000\000\000\000\000\003\026\000\000\003\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\"\003&\005%\000\000\000\000\003*\001\238\003.\005%\000\000\000\000\0032\0036\000\000\000\000\003:\003>\005%\000\000\000\000\000\000\000\000\005%\005%\000\000\000\000\000\000\000\000\025\234\000\000\000\000\000\000\000\000\003B\000\000\000\000\000\000\000\000\003Z\000\000\025\238\000\n\000\000\000\000\000\000\000\000\000\000\028n\000\000\000\000\003N\025\242\000\000\025\246\r)\r)\000\000\025\250\000\000\000\000\000\000\003R\000\000\025\254\000\000\000\000\000\000\000\000\000\000\026\002\000\000\000\000\026\n\000\000\003^\000\000\026\014\000\000\000\000\000\000\003b\000\000\026\018\000\000\000\000\000\000\000\000\000\000\000\000\003f\000\000\000\000\000\000\025\234\003j\003r\r)\000\000\026\022\000\000\000\000\000\000\000\000\000\000\000\000\025\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\242\000\000\025\246\000\000\000\000\000\000\025\250\000\000\000\000\012\253\000\000\r)\025\254\026\026\000\000\000\000\026\030\000\000\026\002\000\000\000\000\026\n\000\000\000\000\000\000\026\014\000\000\027z\000\000\026\"\000\000\026\018\000\000\000\000\026&\000\n\026*\000\000\026.\0262\000\000\0266\028\234\027\254\000\000\012\253\000\000\026\022\026:\000\000\000\000\026>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026B\000\000\000\000\000\000\007!\026F\026J\r)\000\000\007!\012\253\000\000\026\026\000\226\007!\026\030\007!\000\000\000\000\000\000\000\000\007!\007!\000\000\000\000\000\000\000\000\000\000\026\"\000\000\000\000\000\000\000\000\026&\000\n\026*\007!\026.\0262\000\000\0266\007!\007!\007!\000\000\000\246\007!\026:\007!\000\000\026>\000\000\001:\007!\007!\007!\000\000\007!\007!\000\000\007!\007!\007!\000\000\000\000\026B\001V\007!\000\000\007!\026F\026J\012\253\007!\007!\007!\007!\000\000\007\190\000\000\000\000\007!\000\000\000Z\000\000\005N\007!\007!\007!\007!\007!\000\000\007!\007!\007!\007!\005b\007!\005\186\007!\007!\007!\000\000\000\000\007!\007!\007!\007!\007!\000\000\007!\007!\007!\007!\007!\000Z\000\000\005\206\007!\000\000\007!\000\000\000Z\000\000\000\000\007!\007!\007!\000\000\000\000\007!\012\138\007!\007!\007!\007!\000Z\007!\000\000\007!\007!\007!\007!\007!\000\000\007!\007!\007!\007!\007!\000\000\006\018\007!\007!\007!\000Z\007!\007!\007!\007!\007!\000\000\007!\007!\007!\000\000\000Z\007!\000Z\007!\000\000\007!\007!\007!\007!\000\000\007!\007!\007!\007!\007!\006.\007!\007!\007!\007!\007!\000Z\007!\007!\007!\000\000\007!\007!\000\000\007!\007!\007!\000\000\007!\000\000\000\000\000\000\000\000\007!\007!\000\000\007!\007!\007!\007!\007!\007!\000\000\007!\007!\007!\007!\007!\007!\007!\000Z\007!\007!\007!\007!\007!\000\000\000\000\007!\007!\000\000\000\000\007!\000\000\000\000\000\000\000\000\007!\007!\000\000\007!\007!\007!\007!\007!\000\000\000\000\007!\007!\000\000\000Z\007!\000\000\007!\000\000\007!\007!\007!\007!\007!\007!\007!\007!\000\000\007!\000\000\000\000\007!\007!\007!\007!\000\000\007!\000\000\007!\000\000\007!\007!\000\000\007!\007!\007!\000\000\007!\000\000\000\000\000\000\000\000\007!\007!\000\000\000\000\007!\007!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007!\000\000\000\000\000\000\000\000\007!\000\000\000\000\007!\000\000\000\000\007!\007!\019.\000\000\007!\0196\000\000\000\000\000\000\007!\007!\000\000\000\000\000\000\007!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007!\019F\019N\007!\007!\000\000\002=\007!\000\000\000\000\002=\000\000\007!\007!\000\000\000\000\019V\007!\000\000\002=\002=\000\000\019^\019f\000\000\000\000\000\000\0015\002=\000\000\0015\000\000\019n\000\000\000\000\019v\000\000\019~\002=\000\000\000\000\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\230\004\014\000\000\000\000\000\000\0015\000\000\000\000\000\000\0015\000\000\019\134\000\000\002=\000\000\003\238\000\000\000\000\0015\0015\000\000\0015\0015\000\000\002=\000\000\000\000\0015\000\000\000\000\000\000\004\022\000\000\000\000\003\246\000\000\004\006\0015\000\000\000\000\000R\000V\000f\000\194\000\000\000\198\000\000\000\202\000\210\000\218\0016\019\142\001F\001N\002=\001v\000\000\001~\019\150\001\134\002j\002r\002v\004\030\000\000\0015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002=\0015\002=\002~\000\000\000\000\000\000\000\000\000\000\002=\002=\000\000\019\158\019\166\002=\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004&\000\000\000\000\0015\000\000\000\000\000\000\003\254\000\000\000\000\000\000\000\000\002\150\001\029\000\000\000\000\001\029\000\000\031\154\000\000\000\000\000\000\000\000\000\000\0015\000\000\0015\002\154\000\000\000\000\000\000\031\142\007\006\0015\0015\000\000\0015\004.\0015\001\029\001\029\000\000\000\000\000\000\001\029\000\000\000\000\000\000\001\029\007\n\000\000\000\000\000\000\000\000\003\238\000\000\000\000\001\029\001\029\000\000\001\029\001\029\000\000\000\000\000\000\001\025\001\029\000\000\001\025\000\000\001\029\000\000\000\000\003\246\000\000\004\006\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001\025\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\001\029\000\000\001\029\000\000\003\238\000\000\000\000\001\025\001\025\000\000\001\025\001\025\000\000\001\029\n\025\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\003\246\000\000\004\006\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\029\000\000\000\000\001\029\000\000\000\000\000\000\003\254\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\000\000\000\000\000\000\001\029\001\025\001\029\000\000\000\000\000\000\000\000\000\000\000\000\001\029\001\029\000\000\001\029\001\029\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\025\000\000\000\000\000\000\003\254\000\000\000\000\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\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001\025\000\000\001\025\001\025\001\025\001\017\001\017\000\000\000\000\000\000\001\017\000\000\000\000\000\000\001\017\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\001\017\001\017\000\000\001\017\001\017\000\000\000\000\000\000\004v\001\017\000\000\001=\000\000\001\017\000\000\000\000\003\246\000\000\001\017\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\230\004\014\000\000\000\000\000\000\001=\000\000\000\000\000\000\001=\000\000\001\017\000\000\001\017\000\000\003\238\000\000\000\000\001=\001=\000\000\001=\004~\000\000\001\017\000\000\000\000\001=\000\000\000\000\000\000\004\022\000\000\000\000\003\246\000\000\004\006\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\001\017\000\000\000\000\000\000\003\254\000\000\000\000\000\000\000\000\004\030\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\001=\001\017\000\000\000\000\000\000\000\000\000\000\000\000\001\017\001\017\000\000\001\017\001\017\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004&\000\000\000\000\001=\000\000\000\000\000\000\003\254\000\000\000\000\000\000\000\000\000\000\004v\000\000\000\000\0011\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=\000\000\004\134\004.\001=\003\230\004\014\000\000\000\000\000\000\0011\000\000\000\000\000\000\0011\000\000\000\000\000\000\000\000\000\000\003\238\000\000\000\000\0011\0011\000\000\0011\0011\000\000\000\000\000\000\001)\0011\000\000\001)\000\000\004\022\000\000\000\000\003\246\000\000\004\006\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\230\004\014\000\000\000\000\000\000\001)\000\000\000\000\000\000\001)\000\000\004\030\000\000\0011\000\000\003\238\000\000\000\000\001)\001)\000\000\001)\001)\000\000\0011\000\000\000\000\001)\000\000\000\000\000\000\001)\000\000\000\000\003\246\000\000\004\006\001)\000\000\000\000\000\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\0011\000\000\000\000\000\000\003\254\000\000\000\000\000\000\000\000\004\030\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0011\001)\0011\000\000\000\000\000\000\000\000\000\000\000\000\0011\0011\000\000\0011\004.\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\000\000\001)\000\000\000\000\000\000\003\254\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\021\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)\000\000\001)\001)\001)\001\021\001\021\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\021\001\021\000\000\001\021\001\021\000\000\000\000\000\000\001!\001\021\000\000\001!\000\000\001\021\000\000\000\000\003\246\000\000\001\021\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\230\004\014\000\000\000\000\000\000\001!\000\000\000\000\000\000\001!\000\000\001\021\000\000\001\021\000\000\003\238\000\000\000\000\001!\001!\000\000\001!\001!\000\000\001\021\000\000\000\000\001!\000\000\000\000\000\000\001!\000\000\000\000\003\246\000\000\004\006\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\021\000\000\000\000\000\000\003\254\000\000\000\000\000\000\000\000\001!\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\001!\001\021\000\000\000\000\000\000\000\000\000\000\000\000\001\021\001\021\000\000\001\021\001\021\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\000\000\001!\000\000\000\000\000\000\003\254\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\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!\003\230\004\014\000\000\000\000\000\000\001%\000\000\000\000\000\000\001%\000\000\000\000\000\000\000\000\000\000\003\238\000\000\000\000\001%\001%\000\000\001%\001%\000\000\000\000\000\000\004v\001%\000\000\0019\000\000\001%\000\000\000\000\003\246\000\000\004\006\001%\000\000\000\000\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\230\004\014\000\153\000\000\000\000\0019\000\000\000\000\000\000\0019\000\000\004\030\000\000\001%\000\000\003\238\000\000\000\000\0019\0019\000\000\0019\004~\000\000\001%\000\000\000\000\0019\000\153\000\153\000\000\004\022\000\000\000\000\003\246\000\000\004\006\0019\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\153\000\153\001%\000\000\000\000\001%\000\000\000\000\000\000\003\254\000\153\000\000\000\000\003\246\004\030\000\153\0019\004v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\0019\001%\000\000\000\000\000\000\000\000\000\000\000\000\001%\001%\000\000\001%\001%\001%\000\000\000\153\003\230\004\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004&\000\000\000\000\0019\003\238\000\000\000\000\003\254\000\000\000\000\000\197\004~\000\000\001-\000\000\000\000\001-\000\000\000\000\000\000\004\022\000\000\000\000\003\246\0019\004\006\0019\000\000\000\153\000\000\000\000\000\000\000\000\0019\0019\003\254\0019\004.\0019\003\230\004\014\000\000\000\000\000\000\001-\000\000\000\000\000\000\001-\000\153\000\000\000\000\004\030\000\000\003\238\000\000\000\153\001-\001-\000\000\001-\001-\000\000\000\000\000\153\000\153\001-\000\000\000\000\000\000\004\022\000\000\028\214\003\246\028\222\004\006\001-\000\000\000\000\000\000\000\000\000\000\000\000\028\230\000\000\000\000\000\000\000\000\029\006\000\000\000\000\000\000\004&\000\000\000\000\025\238\000\000\000\000\000\000\003\254\000\000\000\000\004\030\000\000\001-\000\000\025\242\000\000\025\246\000\000\000\000\000\000\025\250\000\197\000\000\001-\000\000\000\000\025\254\000\000\000\197\000\000\000\000\000\000\026\002\000\000\000\000\026\n\004\134\004.\000\000\026\014\000\000\000\000\000\000\000\000\000\000\026\018\000\000\000\000\000\000\000\000\004&\000\000\000\000\001-\000\000\000\000\000\000\003\254\000\000\000\000\000\000\026\022\029\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001-\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\001-\001-\000\000\001-\001-\001-\000\000\000\000\000\000\026\026\000\000\000\000\026\030\000\000\000\000\002\230\000\000\001\138\000\000\000\000\b\014\000\000\000\000\b\018\000\000\026\"\000\000\000\000\000\000\000\000\026&\000\n\026*\000\000\026.\0262\000\000\0266\017A\002\246\000\000\017A\000\000\000\000\026:\000\000\000\000\026>\b.\b:\000\000\000\000\000\000\bN\000\000\000\000\000\000\000\000\003\026\000\000\003\030\000\000\026B\000\000\017A\017A\000\000\026F\026J\br\003&\000\000\t^\000\000\b~\001\238\003.\000\000\000\000\017A\b\134\b\138\000\000\017A\b\142\017A\017A\000\000\000\000\tf\000\000\000\000\n>\000\000\000\000\017A\000\000\000\000\017A\000\000\017A\b\146\b\150\000\000\000\000\000\000\000\000\b\154\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017A\000\000\000\000\000\000\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\190\000\000\000\000\000\000\nJ\000\000\b\198\000\000\002\230\000\000\001\138\000\000\000\000\017\246\000\000\b\202\017\250\000\000\000\000\000\000\b\210\003r\000\000\000\000\017A\017A\000\000\017A\000\000\nN\000\000\017A\002\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nV\018f\018R\000\000\000\000\017A\019\174\000\000\000\000\017A\017A\003\026\000\000\003\030\000\000\000\000\017A\000\000\000\000\000\000\017A\017A\018j\003&\000\000\000\000\000\000\018n\001\238\003.\000\000\000\000\000\000\018r\018v\000\000\025\234\018z\000\000\000\000\000\000\000\000\000\000\000\000\025\234\000\000\000\000\000\000\025\238\000\000\000\000\000\000\000\000\000\000\b\146\018~\025\238\000\000\000\000\025\242\018\130\025\246\000\000\000\n\000\000\025\250\000\000\025\242\000\000\025\246\000\000\025\254\018\138\025\250\000\000\000\000\000\000\026\002\000\000\025\254\026\n\000\000\000\000\000\000\026\014\026\002\000\000\000\000\026\n\000\000\026\018\000\000\026\014\000\000\000\000\000\000\018\142\000\000\026\018\000\000\000\000\027v\018\150\000\000\000\000\000\000\026\022\000\000\000\000\028F\000\000\018\154\000\000\000\000\026\022\000\000\018\162\003r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\253\000\000\026\026\000\000\000\000\026\030\000\000\000\000\012\253\000\000\026\026\000\000\000\000\026\030\000\000\000\000\000\000\000\000\026\"\000\000\000\000\000\000\000\000\026&\000\n\026*\026\"\026.\0262\000\000\0266\026&\000\n\026*\000\000\026.\0262\026:\0266\000\000\026>\000\000\025\234\000\000\000\000\026:\000\000\000\000\026>\000\000\000\000\000\000\000\000\000\000\025\238\026B\000\000\000\000\000\000\000\000\026F\026J\012\253\026B\000\000\025\242\000\000\025\246\026F\026J\012\253\025\250\000\000\000\000\000\000\000\000\000\000\025\254\000\000\000\000\000\000\000\000\000\000\026\002\000\000\000\000\026\n\000\000\000\000\000\000\026\014\t\141\000\000\000\000\000\000\000\000\026\018\000\000\000\000\000\000\000\000\000\000\000\000\t\141\000\000\000\000\000\000\028\174\000\000\000\000\000\000\000\000\026\022\000\000\t\141\000\000\t\141\000\000\000\000\000\000\t\141\000\000\000\000\000\000\000\000\000\000\t\141\000\000\000\000\000\000\000\000\000\000\t\141\000\000\000\000\t\141\000\000\000\000\000\000\t\141\000\000\012\253\000\000\026\026\000\000\t\141\026\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\026\"\000\000\t\141\029\014\000\000\026&\000\n\026*\000\000\026.\0262\000\000\0266\000\000\000\000\000\000\000\000\000\000\000\000\026:\000\000\000\000\026>\000\000\000\000\000\000\000\000\000\000\b\017\000\000\000\000\000\000\000\000\t\141\000\000\000\000\t\141\026B\000\000\000\000\b\017\000\000\026F\026J\012\253\000\000\000\000\000\000\000\000\t\141\000\000\b\017\000\000\b\017\t\141\t\141\t\141\b\017\t\141\t\141\000\000\t\141\000\000\b\017\000\000\000\000\000\000\000\000\t\141\b\017\000\000\t\141\b\017\000\000\000\000\000\000\b\017\027Z\000\000\000\000\000\000\000\000\b\017\000\000\000\000\000\000\t\141\000\000\000\000\025\238\000\000\t\141\t\141\030\022\000\000\000\000\000\000\000\000\b\017\000\000\025\242\000\000\025\246\000\000\000\000\000\000\025\250\000\000\000\000\000\000\000\000\000\000\025\254\000\000\000\000\000\000\000\000\000\000\026\002\000\000\000\000\026\n\000\000\000\000\000\000\026\014\000\000\000\000\000\000\b\017\000\000\026\018\b\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\b\017\000\000\026\022\027r\000\000\b\017\b\017\b\017\000\000\b\017\b\017\000\000\b\017\000\000\000\000\025\238\000\000\000\000\000\000\b\017\000\000\000\000\b\017\000\000\000\000\000\000\025\242\000\000\025\246\000\000\000\000\000\000\025\250\026\026\000\000\000\000\026\030\b\017\025\254\000\000\000\000\000\000\b\017\b\017\026\002\000\000\000\000\026\n\000\000\026\"\000\000\026\014\025\234\000\000\026&\000\n\026*\026\018\026.\0262\000\000\0266\000\000\000\000\025\238\000\000\000\000\000\000\026:\000\000\000\000\026>\000\000\026\022\000\000\025\242\000\000\025\246\000\000\000\000\000\000\025\250\000\000\000\000\000\000\000\000\026B\025\254\000\000\000\000\000\000\026F\026J\026\002\000\000\000\000\026\n\000\000\000\000\000\000\026\014\000\000\000\000\000\000\026\026\000\000\026\018\026\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\026\"\000\000\028*\028B\000\000\026&\000\n\026*\000\000\026.\0262\000\000\0266\000\000\000\000\025\238\000\000\000\000\000\000\026:\000\000\000\000\026>\000\000\000\000\000\000\025\242\000\000\025\246\000\000\000\000\000\000\025\250\026\026\000\000\000\000\026\030\026B\025\254\000\000\000\000\000\000\026F\026J\026\002\000\000\000\000\026\n\000\000\026\"\000\000\026\014\028\170\000\000\026&\000\n\026*\026\018\026.\0262\000\000\0266\000\000\000\000\025\238\000\000\000\000\000\000\026:\000\000\000\000\026>\000\000\026\022\000\000\025\242\000\000\025\246\000\000\000\000\000\000\025\250\000\000\000\000\000\000\000\000\026B\025\254\000\000\000\000\000\000\026F\026J\026\002\000\000\000\000\026\n\000\000\000\000\000\000\026\014\000\000\000\000\000\000\026\026\000\000\026\018\026\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\026\"\000\000\026\022\025\234\000\000\026&\000\n\026*\000\000\026.\0262\000\000\0266\000\000\000\000\025\238\000\000\000\000\000\000\026:\000\000\000\000\026>\000\000\000\000\000\000\025\242\000\000\025\246\000\000\000\000\000\000\025\250\026\026\000\000\000\000\026\030\026B\025\254\000\000\000\000\000\000\026F\026J\026\002\000\000\000\000\026\n\000\000\026\"\000\000\026\014\025\234\000\000\026&\000\n\026*\026\018\026.\0262\000\000\0266\000\000\000\000\025\238\000\000\000\000\000\000\026:\000\000\000\000\026>\000\000\029\226\000\000\025\242\000\000\025\246\000\000\000\000\000\000\025\250\000\000\000\000\000\000\000\000\026B\025\254\000\000\000\000\000\000\026F\026J\000\000\000\000\000\000\026\n\000\000\000\000\000\000\026\014\000\000\000\000\000\000\026\026\000\000\026\018\026\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\026\"\000\000\026\022\000\000\000\000\026&\000\n\026*\000\000\026.\0262\000\000\0266\000\000\000\000\000\000\000\000\000\000\000\000\026:\000\000\000\000\026>\000\000\000\000\017Y\000\000\000\000\017Y\000\000\000\000\000\000\000\000\026\026\000\000\000\000\026\030\026B\000\000\000\000\000\000\000\000\026F\026J\000\000\000\000\000\000\000\000\000\000\026\"\000\000\017Y\017Y\000\000\026&\030\014\026*\000\000\026.\0262\000\000\0266\000\000\000\000\000\000\000\000\017Y\000\000\026:\000\000\017Y\026>\017Y\017Y\000\249\000\000\000\000\000\249\000\000\000\000\b*\000\000\017Y\000\000\000\000\017Y\026B\017Y\000\000\000\000\000\000\026F\026J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\230\004\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\017Y\003\238\000\000\000\000\000\000\000\249\000\000\000\249\000\249\000\000\000\000\000\225\000\000\000\000\000\225\000\000\000\000\004\022\000\000\000\000\003\246\000\000\004\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\225\000\225\000\000\017Y\017Y\000\000\017Y\000\000\000\000\000\000\017Y\000\000\004\030\000\000\000\000\003\238\000\000\000\000\000\000\000\225\000\000\000\225\000\225\000\221\017Y\000\000\000\221\000\000\017Y\017Y\000\000\000\225\000\000\000\000\003\246\017Y\004\006\000\000\000\000\017Y\017Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\221\000\000\004&\000\000\000\000\000\249\000\000\000\000\000\000\003\254\000\000\000\000\000\000\000\225\003\238\000\000\000\000\000\000\000\221\000\000\000\221\000\221\000\000\000\249\000\000\000\000\000\000\000\249\000\249\000\000\000\221\000\000\000\000\003\246\000\000\004\006\000\000\000\000\000\249\004.\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\213\000\000\000\000\000\000\000\225\000\000\000\000\000\225\000\000\000\000\000\000\003\254\000\000\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\213\000\225\000\000\000\000\000\000\000\225\000\225\000\000\000\000\000\000\000\000\000\000\004v\000\000\000\213\001\001\000\225\000\225\000\213\000\000\000\213\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\213\000\000\000\221\003\246\000\000\000\213\003\254\000\000\003\230\004\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\000\003\238\000\221\000\221\000\000\001\001\000\000\001\001\004~\000\000\000\213\000\000\000\000\000\221\000\221\000\000\000\000\004\022\000\000\000\000\003\246\000\000\004\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004v\000\000\000\000\000\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\030\000\213\000\000\000\000\000\213\000\000\000\000\000\000\003\254\000\000\003\230\004\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\003\238\000\213\000\213\000\000\000\245\000\000\000\245\000\245\000\237\000\000\000\000\000\237\000\213\000\213\000\000\004&\004\022\000\000\001\001\003\246\000\000\004\006\003\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\230\004\014\001\001\000\000\000\000\000\000\001\001\001\001\000\000\000\000\000\000\000\000\000\000\000\000\004\030\003\238\000\000\004\134\004.\000\237\000\000\000\237\000\237\000\000\000\217\000\000\000\000\000\217\000\000\000\000\000\000\000\237\000\000\000\000\003\246\000\000\004\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\217\000\000\000\000\004&\000\000\000\000\000\245\000\000\000\000\000\000\003\254\000\000\004\030\000\000\000\217\000\000\000\000\000\000\000\217\000\229\000\217\000\217\000\229\000\000\000\245\000\000\000\000\000\000\000\245\000\245\000\217\000\000\000\000\003\246\000\000\000\217\000\000\000\000\000\000\000\245\004.\000\000\000\000\000\000\000\000\003\230\004\014\000\000\000\000\000\000\000\000\000\000\000\237\000\000\000\000\000\237\000\000\000\000\000\000\003\254\003\238\000\000\000\217\000\000\000\229\000\000\000\229\000\229\000\000\000\233\000\000\000\000\000\233\000\237\000\000\000\000\000\229\000\237\000\237\003\246\000\000\004\006\000\000\000\000\000\000\000\000\000\000\000\000\000\237\000\237\000\000\000\000\000\000\000\000\000\000\003\230\004\014\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\217\000\000\000\000\000\229\003\254\003\238\000\000\000\000\000\000\000\233\004v\000\233\000\233\000\253\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\233\000\217\000\217\003\246\000\000\004\006\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\217\000\000\003\230\004\014\000\000\000\000\000\000\000\000\000\000\000\229\000\000\000\000\000\229\000\000\000\000\000\000\003\254\003\238\000\000\004\030\000\000\000\253\000\000\000\253\004~\000\000\000\241\000\000\000\000\000\241\000\229\000\000\000\000\004\022\000\229\000\229\003\246\000\000\004\006\000\000\000\000\000\000\000\000\000\000\000\000\000\229\000\229\000\000\000\000\000\000\000\000\000\000\003\230\004\014\000\000\000\000\000\000\000\000\000\000\000\233\000\000\000\000\000\233\000\000\000\000\004\030\003\254\003\238\000\000\000\000\000\000\000\241\004v\000\241\000\241\000\000\000\177\000\000\000\000\000\000\000\233\000\000\000\000\004\022\000\233\000\233\003\246\000\000\004\006\000\000\000\000\000\000\000\000\000\000\000\000\000\233\000\233\000\000\003\230\004\014\000\000\000\000\003\230\004\014\000\000\004&\000\000\000\000\000\253\000\000\000\000\000\000\003\254\003\238\000\000\004\030\000\000\003\238\000\000\000\185\000\185\000\000\000\157\000\177\000\177\000\000\000\253\000\000\000\000\004\022\000\253\000\253\003\246\000\177\004\006\000\000\003\246\000\000\004\006\000\000\000\000\000\253\004.\000\000\000\000\000\000\000\000\000\169\000\157\000\157\000\000\000\000\000\000\000\000\000\000\004&\000\000\000\000\000\241\000\000\000\000\004\030\003\254\000\157\000\000\004\030\000\000\000\000\000\000\000\157\000\157\000\000\000\000\003\230\004\014\000\000\000\241\000\000\000\000\000\157\000\241\000\241\003\246\000\000\000\157\000\000\000\000\000\000\003\238\000\000\000\000\000\241\000\241\000\000\000\169\000\169\000\000\000\000\000\000\000\000\000\000\004&\000\000\000\000\000\169\000\177\000\000\003\246\003\254\004\006\000\000\000\157\003\254\000\173\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\177\000\000\000\000\000\185\000\000\000\000\000\000\000\177\000\000\000\000\000\169\000\185\004.\003\230\004\014\000\177\000\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\003\238\000\000\000\000\000\000\003\254\004v\000\173\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\000\000\157\003\246\000\000\004\006\000\169\000\000\000\000\000\157\000\000\000\000\000\000\003\254\000\181\003\230\004\014\000\157\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\169\000\000\000\000\003\238\000\000\004\030\000\000\000\169\000\000\000\193\004~\000\000\000\000\003\230\004\014\000\169\000\169\000\000\000\000\004\022\000\000\000\000\003\246\000\000\004\006\000\000\000\000\000\000\003\238\000\000\000\000\000\000\000\000\000\000\000\181\000\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\022\000\173\000\000\003\246\000\000\004\006\000\000\004\030\003\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\000\000\000\004\030\000\000\000\000\000\000\000\000\000\173\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004&\000\000\000\000\000\000\000\000\000\000\000\000\003\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\193\000\000\000\000\000\000\004&\000\000\000\000\000\193\000\000\000\000\000\000\003\254\000\000\000\000\000\000\000\193\004.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\181")) let lhs = - (16, "\000\012\000\011\000\n\000\t\000\b\000\007\000\006\000\005\000\004\000\003\000\002\000\001\000\000\001,\001,\001,\001+\001+\001+\001+\001*\001*\001*\001*\001*\001*\001*\001*\001*\001*\001*\001*\001*\001*\001*\001)\001)\001)\001)\001)\001)\001)\001)\001)\001)\001)\001)\001)\001)\001)\001(\001(\001(\001(\001(\001(\001(\001(\001(\001(\001(\001(\001(\001(\001(\001'\001'\001'\001'\001'\001'\001'\001'\001'\001'\001'\001'\001'\001'\001'\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001%\001%\001%\001%\001$\001#\001#\001#\001\"\001\"\001\"\001!\001!\001!\001 \001 \001 \001\031\001\030\001\029\001\028\001\028\001\027\001\027\001\026\001\026\001\025\001\025\001\024\001\024\001\023\001\022\001\021\001\020\001\019\001\018\001\017\001\016\001\015\001\014\001\r\001\012\001\011\001\n\001\t\001\b\001\b\001\007\001\007\001\006\001\006\001\005\001\005\001\004\001\004\001\004\001\004\001\003\001\003\001\003\001\003\001\002\001\002\001\002\001\002\001\001\001\001\001\001\001\001\001\000\001\000\001\000\001\000\000\255\000\255\000\255\000\255\000\254\000\254\000\254\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\253\000\252\000\251\000\251\000\251\000\251\000\251\000\250\000\250\000\249\000\248\000\247\000\247\000\247\000\247\000\246\000\246\000\246\000\246\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\244\000\243\000\243\000\242\000\242\000\242\000\241\000\241\000\240\000\240\000\240\000\239\000\238\000\237\000\237\000\236\000\236\000\235\000\234\000\234\000\233\000\233\000\232\000\232\000\231\000\231\000\230\000\229\000\228\000\228\000\227\000\227\000\226\000\226\000\225\000\225\000\224\000\224\000\223\000\222\000\222\000\221\000\221\000\221\000\221\000\221\000\221\000\220\000\220\000\220\000\219\000\218\000\217\000\217\000\217\000\217\000\216\000\216\000\215\000\214\000\214\000\214\000\213\000\213\000\213\000\213\000\213\000\212\000\212\000\212\000\212\000\211\000\211\000\211\000\211\000\210\000\210\000\210\000\210\000\209\000\208\000\208\000\207\000\207\000\207\000\206\000\205\000\205\000\205\000\204\000\203\000\203\000\202\000\202\000\201\000\201\000\200\000\200\000\200\000\200\000\199\000\199\000\198\000\198\000\198\000\198\000\198\000\198\000\197\000\197\000\197\000\196\000\196\000\196\000\196\000\196\000\196\000\195\000\194\000\193\000\193\000\192\000\192\000\191\000\191\000\190\000\190\000\189\000\189\000\188\000\188\000\187\000\187\000\187\000\187\000\187\000\187\000\187\000\187\000\186\000\185\000\184\000\184\000\183\000\183\000\182\000\182\000\181\000\181\000\180\000\180\000\179\000\179\000\178\000\178\000\177\000\177\000\176\000\176\000\175\000\175\000\174\000\174\000\173\000\173\000\172\000\172\000\171\000\171\000\170\000\170\000\169\000\169\000\168\000\168\000\167\000\167\000\166\000\166\000\165\000\165\000\164\000\164\000\163\000\163\000\162\000\162\000\161\000\161\000\160\000\160\000\159\000\159\000\158\000\158\000\157\000\157\000\156\000\156\000\155\000\155\000\154\000\154\000\153\000\153\000\153\000\152\000\152\000\151\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\150\000\149\000\149\000\149\000\148\000\147\000\146\000\145\000\144\000\143\000\142\000\141\000\140\000\139\000\138\000\137\000\136\000\136\000\136\000\135\000\135\000\135\000\134\000\134\000\134\000\134\000\133\000\132\000\131\000\130\000\129\000\128\000\127\000~\000}\000|\000|\000{\000{\000{\000z\000z\000y\000y\000y\000x\000x\000x\000w\000v\000v\000v\000u\000t\000t\000s\000s\000s\000s\000s\000s\000s\000r\000r\000r\000r\000r\000r\000r\000q\000q\000q\000q\000q\000q\000q\000p\000p\000p\000p\000p\000p\000p\000o\000o\000o\000o\000o\000o\000o\000n\000n\000n\000n\000n\000n\000n\000m\000m\000l\000l\000k\000k\000j\000j\000i\000i\000h\000h\000g\000g\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000e\000e\000d\000d\000c\000c\000b\000b\000a\000a\000`\000`\000_\000_\000^\000^\000^\000^\000^\000]\000]\000\\\000\\\000\\\000\\\000[\000Z\000Y\000Y\000Y\000X\000X\000X\000W\000W\000W\000W\000W\000W\000V\000V\000V\000V\000V\000U\000U\000U\000U\000U\000U\000U\000U\000T\000T\000T\000T\000T\000T\000T\000T\000S\000S\000S\000S\000S\000S\000S\000S\000R\000R\000R\000R\000R\000R\000R\000R\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000M\000M\000M\000M\000M\000L\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000J\000J\000J\000I\000H\000G\000F\000F\000E\000E\000D\000C\000C\000C\000B\000B\000A\000A\000@\000?\000?\000?\000?\000?\000?\000?\000>\000>\000>\000>\000>\000>\000>\000=\000=\000=\000=\000=\000<\000<\000;\000;\000;\000;\000;\000:\000:\0009\0009\0008\0008\0007\0007\0006\0006\0005\0005\0004\0004\0003\0003\0002\0002\0001\0001\0000\0000\000/\000/\000.\000.\000-\000-\000,\000,\000+\000+\000*\000*\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000(\000(\000(\000'\000'\000'\000'\000&\000&\000%\000$\000$\000$\000#\000#\000#\000#\000#\000#\000#\000#\000\"\000\"\000!\000!\000 \000\031\000\030\000\030\000\030\000\030\000\029\000\029\000\029\000\028\000\028\000\027\000\027\000\027\000\026\000\026\000\026\000\025\000\025\000\025\000\025\000\025\000\025\000\025\000\024\000\024\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\022\000\022\000\022\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\018\000\018\000\018\000\018\000\018\000\018\000\018\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\016\000\016\000\016\000\016\000\016\000\015\000\015\000\014\000\r\000\r\000\r\000\r\000\r") + (16, "\000\012\000\011\000\n\000\t\000\b\000\007\000\006\000\005\000\004\000\003\000\002\000\001\000\000\001-\001-\001-\001,\001,\001,\001,\001+\001+\001+\001+\001+\001+\001+\001+\001+\001+\001+\001+\001+\001+\001+\001*\001*\001*\001*\001*\001*\001*\001*\001*\001*\001*\001*\001*\001*\001*\001)\001)\001)\001)\001)\001)\001)\001)\001)\001)\001)\001)\001)\001)\001)\001(\001(\001(\001(\001(\001(\001(\001(\001(\001(\001(\001(\001(\001(\001(\001'\001'\001'\001'\001'\001'\001'\001'\001'\001'\001'\001'\001'\001'\001&\001&\001&\001&\001%\001$\001$\001$\001#\001#\001#\001\"\001\"\001\"\001!\001!\001!\001 \001\031\001\030\001\029\001\029\001\028\001\028\001\027\001\027\001\026\001\026\001\025\001\025\001\024\001\023\001\022\001\021\001\020\001\019\001\018\001\017\001\016\001\015\001\014\001\r\001\012\001\011\001\n\001\t\001\t\001\b\001\b\001\007\001\007\001\006\001\006\001\005\001\005\001\005\001\005\001\004\001\004\001\004\001\004\001\003\001\003\001\003\001\003\001\002\001\002\001\002\001\002\001\001\001\001\001\001\001\001\001\000\001\000\001\000\001\000\000\255\000\255\000\255\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\254\000\253\000\252\000\252\000\252\000\252\000\252\000\251\000\251\000\250\000\249\000\248\000\248\000\248\000\248\000\247\000\247\000\247\000\247\000\246\000\246\000\246\000\246\000\246\000\246\000\246\000\246\000\246\000\246\000\246\000\246\000\246\000\246\000\246\000\246\000\246\000\246\000\246\000\246\000\246\000\245\000\244\000\244\000\243\000\243\000\243\000\243\000\243\000\243\000\243\000\243\000\242\000\242\000\241\000\241\000\241\000\240\000\239\000\238\000\238\000\237\000\237\000\236\000\235\000\235\000\234\000\234\000\233\000\233\000\232\000\232\000\231\000\230\000\229\000\229\000\228\000\228\000\227\000\227\000\226\000\226\000\225\000\225\000\224\000\223\000\223\000\222\000\222\000\222\000\222\000\222\000\222\000\221\000\221\000\221\000\220\000\219\000\218\000\218\000\218\000\218\000\217\000\217\000\216\000\215\000\215\000\215\000\214\000\214\000\214\000\214\000\214\000\213\000\213\000\213\000\213\000\212\000\212\000\212\000\212\000\211\000\211\000\211\000\211\000\210\000\209\000\209\000\208\000\208\000\208\000\207\000\206\000\206\000\206\000\205\000\204\000\204\000\203\000\203\000\203\000\202\000\202\000\202\000\201\000\201\000\201\000\201\000\200\000\200\000\199\000\199\000\199\000\199\000\199\000\199\000\198\000\198\000\198\000\197\000\197\000\197\000\197\000\197\000\197\000\196\000\195\000\194\000\194\000\193\000\193\000\192\000\192\000\191\000\191\000\190\000\190\000\189\000\189\000\188\000\188\000\188\000\188\000\188\000\188\000\188\000\188\000\187\000\186\000\185\000\185\000\184\000\184\000\183\000\183\000\182\000\182\000\181\000\181\000\180\000\180\000\179\000\179\000\178\000\178\000\177\000\177\000\176\000\176\000\175\000\175\000\174\000\174\000\173\000\173\000\172\000\172\000\171\000\171\000\170\000\170\000\169\000\169\000\168\000\168\000\167\000\167\000\166\000\166\000\165\000\165\000\164\000\164\000\163\000\163\000\162\000\162\000\161\000\161\000\160\000\160\000\159\000\159\000\158\000\158\000\157\000\157\000\156\000\156\000\155\000\155\000\154\000\154\000\154\000\153\000\153\000\152\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\151\000\150\000\150\000\150\000\150\000\149\000\148\000\147\000\146\000\145\000\144\000\143\000\142\000\141\000\140\000\139\000\138\000\137\000\137\000\137\000\136\000\136\000\136\000\135\000\135\000\135\000\135\000\134\000\133\000\132\000\131\000\130\000\129\000\128\000\127\000~\000}\000}\000|\000|\000|\000{\000{\000z\000z\000z\000y\000y\000y\000x\000w\000w\000w\000v\000u\000u\000t\000t\000t\000t\000t\000t\000t\000s\000s\000s\000s\000s\000s\000s\000r\000r\000r\000r\000r\000r\000r\000q\000q\000q\000q\000q\000q\000q\000p\000p\000p\000p\000p\000p\000p\000o\000o\000o\000o\000o\000o\000o\000n\000n\000m\000m\000l\000l\000k\000k\000j\000j\000i\000i\000h\000h\000g\000g\000g\000g\000g\000g\000g\000g\000g\000g\000g\000g\000g\000g\000g\000g\000g\000g\000g\000g\000f\000f\000e\000e\000d\000d\000c\000c\000b\000b\000a\000a\000`\000`\000_\000_\000_\000_\000_\000^\000^\000]\000]\000]\000]\000\\\000[\000Z\000Z\000Z\000Y\000Y\000Y\000X\000X\000X\000X\000X\000X\000W\000W\000W\000W\000W\000W\000W\000W\000V\000V\000V\000V\000V\000V\000V\000V\000U\000U\000U\000U\000U\000U\000U\000U\000T\000T\000T\000T\000T\000T\000T\000T\000S\000S\000S\000S\000S\000S\000S\000S\000S\000S\000S\000S\000S\000S\000R\000R\000R\000R\000R\000R\000R\000R\000R\000R\000R\000R\000R\000R\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000O\000O\000O\000O\000O\000N\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000L\000L\000L\000K\000J\000I\000H\000H\000G\000G\000F\000E\000E\000D\000D\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;\000;\000:\000:\0009\0009\0008\0008\0007\0007\0006\0006\0005\0005\0004\0004\0003\0003\0002\0002\0001\0001\0000\0000\000/\000/\000.\000.\000-\000-\000,\000,\000+\000+\000*\000*\000*\000*\000*\000*\000*\000*\000*\000*\000*\000*\000*\000*\000*\000*\000*\000*\000)\000)\000)\000(\000(\000(\000(\000'\000'\000&\000%\000%\000%\000$\000$\000$\000$\000$\000$\000$\000$\000#\000#\000\"\000\"\000!\000 \000\031\000\031\000\031\000\031\000\030\000\030\000\030\000\029\000\029\000\028\000\028\000\028\000\027\000\027\000\027\000\026\000\026\000\026\000\026\000\026\000\026\000\026\000\025\000\025\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\023\000\023\000\023\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\018\000\018\000\018\000\018\000\018\000\018\000\018\000\017\000\017\000\017\000\017\000\017\000\016\000\016\000\015\000\014\000\014\000\014\000\014\000\014\000\r") let goto = - ((16, "\000Y\002\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\001?\000\000\001u\005f\000\000\001g\001\021\000\000\000\000\000\000\000\227\000\163\000\000\000\000\000\216\001\022\002r\000\000\000\000\002\230\000\000\000\000\002\238\000\000\003H\000\000\000\000\000\000\003d\000\000\003~\000\000\000\000\000\000\003\186\000\000\004*\000\000\000\000\004j\004\160\000\000\000\000\004\174\005\006\005\028\000\000\000\000\005\152\000\000\000\000\005\178\000\000\0064\000\000\000\000\000\000\006h\000\000\006\204\000\000\006\216\007\\\000\000\000\000\007\172\000\000\007\182\007\222\007\248\000\000\000\000\b6\000\000\b^\000\000\000\000\bl\000\000\bz\000\000\000}\000O\004\136\000\000\000\000\000\000\000\000\000\000\000\000\000\029\002^\000\000\000\"\000\000\000\000\002\142\000\000\000\000\000\150\000\000\000\000\000\000\001\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\238\000\000\000\000\000\\\005\154\000\000\000\000\006\b\000\000\000\000\000\000\000\000\b~\000\000\b\144\001\194\000\000\b\176\000\000\000\000\b\178\000\000\000\000\b\194\000\000\t\030\000\000\000\000\000\000\t\162\000\000\001\170\t\180\0003\001\246\000\000\000\000\000\000\b\134\000\000\001\152\000\000\000\000\000\000\004P\000\000\000\000\005\238\0017\005\222\000\000\000\000\003\194\006\140\000\000\015\132\000\000\b\b\r\188\015\178\r\188\"|\021\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\160\024\146\000\000\000\000\011\198\011\246\r\208\000\000\020N\000Y\000\000\000\000\018\178\021N\000\000\000\000\000\000\003\206\000\000\000x\021\210\024`\000\000\000\0006\158\000\000\bh\000\000\t\180\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\224\000\000\000\000\005X\000\000\006r\000\000\007\214\000\000\n\216\000\000\016P\000\000\020\186\000\000\021\180\000\000\023\156\000\000\024\170\000\000\024\250\000\000\021\214\000\0007\002\000\000\000\000\000\000\000\000\000\000\025j\000\000#\238\000\000$.\000\000%\196\000\000'\202\000\000?$\000\000?>\000\000?J\000\000?N\000\000?f\000\000?z\000\000?\138\000\000?\176\000\000@H\000\000@\\\000\000@`\000\000&\166\000\000\000\0001b\000\000\000\000\000\000\000\000\006@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:7\028\000\000\001n\000\000\000\000\000(\t$\000\000\000\240\t\202\000\000\000\000\n\004\n\022\000\000\000\000\n0\n8\n\200\000\000\000\000\n\238\000\000\000\000\n\244\000\000\011\006\000\000\000\000\000\000\011\014\000\000\011.\000\000\011J\000\000\011\138\000\000\000\000\011\194\011\228\000\000\000\000\011\234\011\248\012\004\000\000\000\000\012$\000\000\000\000\012&\000\000\0122\000\000\000\000\000\000\012:\000\000\012V\000\000\012^\012f\000\000\000\000\012j\000\000\012p\012|\012~\000\000\000\000\012\166\000\000\012\172\000\000\000\000\012\174\000\000\012\190\000\000\000+\003\164\000\000\012\192\000\000\012\204\015N\000\000\012\220\000\000\000\000\012\238\000\000\012\246\000\000\012\254\000\000\000\000\000\000\r\000\000\000\r\020\001\172\000\000\000\000\000\000\r\024\000\000\003\128\000\000\b\014\011\"\000\000\000(\000\000\006<\000\000\000\000\006p\000%\000\000\000\000\000\000\000\000\006\210\016\"\000\000\018\154\000\000\000\000\000\000\b~\000\000\t$\000\000\012L\000\000\000\000\000\000\000\000\000\000\000\000\019\158\000\000\000\000\001\025\000\000\001\146\000\000\000\000\000\000\020\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\tX\005 \000\000\r\030\000\000\r\"\005|\000\000\r8\000\000\000\000\000\000\007\024\000\000\000\000\000\000\000\000\001r\000\000\000\000)\140\000\000\000\000\000\000\002\174\025\184\000\000\023Z+\018\000\000\000\000\000\000\000\000*\144.\018\000\000\000\000+Z\000\000\000\000\000\000\nJ+\2327\128\000\0007\176\000\000\000\000\000\000,^+\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025V\000\000\000\000\000\000\000\000/~,\238\011^\000\000\027\022\000\000\000\000\027\138\000\000\001\018\000\000\020\176\000\000\000\000\000\000\012>\000\000\004b(\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\027\180\000\000\000\000\000\000\011\244)t\027\212\000\000\000\000\030\242\000\000\002\146\000\000+\168\000\000\000\000\000\000\012x\000\000\tL\000\000=R\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@p\000\0000$\000\0007\208\000\000@\204\000\000Af\000\000At\000\000A\128\000\000A\130\000\000A\154\000\000A\168\000\000B.\000\000B0\000\000B\188\000\000B\190\000\000C\006\000\000CB\000\000\000\000*\000\000\00084\000\000\000\000\000\000\012\134\000\000\000\000\000\000\000\000\000\000\000\000*d\000\000\000\000\000\000\000\0008N\000\000\000\000\000\000\r`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000#(\000\000=`\000\000\000\225\000\000\000\000\000\000CP\000\000Cj\000\000Cl\000\000Cx\000\000C\156\000\000D\000\000\000D|\000\000D\204\000\000D\216\000\000E8\000\000E<\000\000EH\000\000E`\000\000E\136\000\000\000\000\000\000\000\000\000\0000L\000\000\000\000\002p0\144\000\000\000\0000\180\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\011\000\000\000\0008n\000\000\000\000\000\000=|\000\162\000\000\000\000\000\000\000\000)\178\000\000,\208\000\000\000\000\000\000\000\000\000\000-~\000\000\000\000\000\000-\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\rP\000\000\rh\r8\000\000\rp\000\000\000\000\001\142\n*\000\000\002.\000\000\000\000\000\000\000\000\000(\000\000\rt\000\000\000\000\000\249\n0\000\000\n\192\000\000\000\000\000\000\000\156\000\000\r\228\000\017\r\128\000\000\000\000\r\132\r\168\000\000\000\000\r\178\r\180\r\184\000\000\000\000\r\190\000\000\000\000\r\198\000\000\r\200\000\000\000\000\000\000\r\202\000\000\r\210\000\000\r\214\000\000\r\216\000\000\000\000\r\236\r\238\000\000\000\000\r\244\014\004\014\b\000\000\000\000\014\014\000\000\000\000\014\022\000\000\014\024\000\000\000\000\000\000\014\028\000\000\0142\000\000\0148\014>\000\000\000\000\014@\000\000\014B\014D\014F\000\000\000\000\014J\000\000\014L\000\000\000\000\014N\000\000\014R\000\000\002\248\015\168\000\000\014T\000\000\014V\018P\000\000\014Z\000\000\000\000\014h\000\000\014l\000\000\014t\000\000\000\000\000\000\014v\000\000\001^\000\000\000\000\000\000\002H\006\154\000\000\000\000\002\230\000\000\000\000\014~\026x\000\000\014\134\000\000\000\000\000\000\000\011\000\000\000\000\000\000\004\158\000\000\000\000\000\000\000\000\000\000\t\\\030\026\000\000\014\146\000\000\014\156 \020\000\000\014\168\000\000\000\000\015\212\014\172\000\000\000\000\014\204\014\212\000\000\000\000\014\214\014\216\014\218\000\000\000\000\014\242\000\000\000\000\015\b\000\000\015\018\000\000\000\000\000\000\015\030\000\000\015$\000\000\015(\000\000\015*\000\000\000\000\015.\0150\000\000\000\000\0158\015N\015P\000\000\000\000\015T\000\000\000\000\015V\000\000\015\\\000\000\000\000\000\000\015h\000\000\015p\000\000\015~\015\136\000\000\000\000\015\146\000\000\015\148\015\154\015\164\000\000\000\000\015\168\000\000\015\174\000\000\000\000\015\200\000\000\015\204\000\000\003\024\019T\000\000\015\208\000\000\015\214\021\130\000\000\015\228\000\000\000\000\015\230\000\000\015\232\000\000\015\234\000\000\000\000\000\000\015\242\000\000\015\252 \246\000\000\015\254\000\000\000\000\n !\136\000\000\016\004\000\000\016\b\"\018\000\000\016\018\000\000\000\000\000\000\000\000\000\000\000\000\000\0008\226\000\000$\164\000\000\000\000\000\0008\252\000\000\000\000\017\246\000\000\000\000\000\000\001\"\0040\000\000\000\0000\218\000\000\000\000\003\132\000\000\000\000\000\000\000\000\0054\000\000\t\020\000\000\000\000\022\180\000\000\000\000\000\0001B\000\000\000\000\000\000\000\000\000\000\030z\000\000\000\000\000\000\0017\000\0001f\000\000\000\000\000\000\000\000\001~\t\228\000\0001\162\000\000\000\000\000\000\000\000\n\140\000\0002z\000\000\000\000\000\000\000\000\002\002\000\000\007\172\000\000%\212.<\000\000\000\000\000\0009\128\000\000\000\000\000\000\002\014\000\0009\176\000\000\000\000\000\000:.\000\000\000\000\003`\000\000\026\206\000!.\208\000\000\000\000\000\000\002(\028\n\000\000\000\000\000\000\000\000\000\000\000\000&6\000\000\000\000.\132\000\000\000\000.\164\000\000\003@\000\000\016\216\000\000\000\000\000\000\r\166\000\000\028\228\000\000\000\000:N\000\000\000\000\000\000\r\250\000\000\000\000\000\000\000\000\000\000\000\000>h\000\000>\244\000\000\000\000\000\000\003\"\000\000\000\000\000\000\000\000\000\000\000\000E\232\000\0001\246\000\000:\150\000\000E\248\000\000F\020\000\000FT\000\000Ft\000\000F\180\000\000F\192\000\000G\b\000\000G \000\000G0\000\000G\174\000\000G\198\000\000G\214\000\000H<\000\000.\206\000\000\000\000\000\000\006\176\000\000\007\194\000\000\014x\002\020\b\144\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\186\000\000%\018\011\166\014b\000\000\000\000\000\0002\142\000\0002\174\000\0002\234\000\000%~&d\000\137\001\182\000\000\007x\004\"\000\000\000\000\000\000\005\142\000\000\000\000\011\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\222\000\000&\178\000\000\000\000\000\000\014\250\000\000\000\000\bB\000\000\000\000\000\000\027l\002\142\000\000\027\252\000\000\000\000\n\140\000\000\004\162\000\000\000\000\016\b\000\000\028\154\000\000\000\000&J\000\000\000\000\000\000\bj\000\000\000\000\t\232\000\000\000\000#&\000\000\000\000\000\0003\172\000\000\000\000\000\000#z\000\000\000\000\000\000\000\0003\246\000\000\000\000\000\000\000\000\004\248\n\172\000\0004\016\000\000\000\000\000\000\000\000\000\000\000\000\016\138\000\000\000\000\005\236\000\000\017\012\000\000\bj\000\000\000\000\003t\006\232\000\000\004\214\000\000\000\000\000\000\000\000\003\"\000\000'\182\000\000\029t\004\204\030\004\000\000\006\128\000\000\017\142\000\000\018\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\232\030\148\003\166\031n\000\000\000\000\000\000\004p\000\000\018\146\000\000\005\138\000\000\000\000%j\004d\031\254\000\000\004\200\000\000\019\020 \142\000\000\000\000\019\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\166\t2\000\000\0074\000\000\000\000\000\000\000\000\006\194\000\000\020\024\000\000\000\000\000\000$\006;v\000\000\000\000\000\000#V\000\000\000\000\000\000\000\000\000\000\002\210\012\128\000\000\000\0004\132\000\000\000\000\001\002\000\000\014\006\000\000\000\000%\196\000\000\000\000\000\0004\190\000\000\000\000\000\000\000\0005\"\000\000\000\000\005\234\014\220\000\000\000\0005B\000\000\000\000\007>$V\000\000\015p\000\000\000\0005\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000&\252\000\000\000\000\000\000\006\182\000\000\000\000\016v\000\000\000\0001\218\000\000\000\000\000\0005\208\000\000\000\000\000\000\000\0005\240\000\000\000\000\006\172\016\214\000\000\000\0006T\000\000\000\000\007\212\000\000\000\000\000\000\000\000\006\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005$\000\000\021&\000\000\000\000\000\000;\144\000\000\n\022\000\000\000\000\000\000\003\134\000\000\023\180\000\000\000\000\003\130\021\234\000\000\022\174\000\000\000\000\000\000\005z\000\000<\022\007^<~\000\000<\154\000\000\000\000\000\000\007\136\000\000<\226\007\140\000\000\000\000(\132\bX(\196\000\000)^\000\000\000\000\000\000\bZ\000\000<\252\bf\000\000\000\000\005\200\t.\024h\000\000\026\b\000\000\000\000\000\000\t\248\000\000=\030\n\160\000\000\000\000\000\000\000\163\000\000\000\000\000\000\014R\000\000\000\000\000\000\000\000\000\000\000\000\006f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0005\000\000\000\000\003x\000\000\016\236\000\000\000\000\000\000\016\238\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\016\238\000\000\000\000\016\198\000\000\004|\000\000\000\000\000Q\000\000\001\184\016`\000,\000\000\000\000\002\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002<\000\023\000\000\000\000\011\226\000\000\000\000\000\000\011Z\000\000\000\000\r2\014h\000\000\000\000\000\000\000\000\015\186\018V\n\000\000\000\000\000\000\000\021\148\000\000\000\000\000\000\000\000\000\000\000\000\007\148\000\000\000\000\b\234\000\000\000\000\016*\000\000\0224\000\000\000\000\000\000\0176\000\000\000\000\b,\000\000\002\158\000\000\000\000\000\000\000\000\011\000\022\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\128\022\242\000\000\000\000\000\000\000\000\023\186\027\130\012\180\000\000\028\172\000\000\000\000\000\000\000\000\000\000\000\000\tz\000\000\017\002\000\000\000\000\000\000\000B\000\000\011\254\000\000\000\000\000\000\026F\000\000\000\000\029B\029f\r(\000\000\029\214\000\000\000\000\000\000\000\000\000\000\000\000\000#\0168\000\000\016<\000\000\031<\015\160\000\000\031F\000\000\000\000\000\000\000\000\016J\000\000\016\210\000\000\000\000\000\000\005\210\000\000\003\208\016\150\t\004\000\000\000\000\000\000\006\134\005\174\000\000\000\000\000\000\000\000\007R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000\000\000\024\000\000\005.\017@\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\004\170\000\000\000\000\028\128\031\252\000\000\000\000\000\000\000\000 \232\000\000\000\000\000\140\000\000\006f\014v\000\000\000\000\000\000\014`\000\000\000\000\000\000\000\000\000\000\000b\017t\000\000\000\000\020\162\000\000\000\000\000\000\000\000\002\204\000\000\000\000\000m\000\000\000\000\000\000\000\147\000\000\000\000\011\248\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\228\000\000\000\000\000\000\000M\000\000\000\000\000\000\000\000\000\000\000\026\005\006\011\140\012\166\000\000\004\214\b\160\t,\t\182\000\000\000\000\000\000\000\000\000\000\000\000\tD\023r\000\000!h\b\238\000\000\000\000\n\028\000\000\0246\000\000/\018\000\000\000\000\011\184\025 \000\000!\162\000\000\012\198\"R\000\000\000\000\000\000\007j\007\208\000\000\000\000\000\000\000\000\011\194\000\000\002\026\b\186\000\000\000\000\b\246\014\190\000\000\015\026\000\000\000\000\b~\000\000\t$\000\000\000\000\026\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\184\000\000\000\000\000\000\011\020\000\000\025\228\000\000&\140\016\246\000\000\000\000\000\000\000\000\000\000\r^\000\000\000\000\000\000\000\000\000\0006n\000\000\000\171\000\000\000\000\000\000\000\000\000\000\001\b\000\000\011j\006\002\012\138\000\000\002\150\r\030\000\000\011X\000\000\003\154\000\000\004J\000\000\005N\000\000&\140\000\000\000\000\000\000\000\000\000\000\005\254\000\000\011\220\000\000\007\002\000\000&\140\017f\000\000\000o\000\000\017T\001\000\000\000\tn\000\000\t|\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\244\000\000\011\148\000\000\000\000\000\000\016\018\000\000\000\000\000\000\000\000\000\000\017f\016.\000\000\000\000\016j\000\000\000\000\016@\n\222\017\186\000\000\017\200\000\000\000\000\011\142\007\230\000\000\016\134\000\000\000\000\016\196\000\000\000\000\000\000\000\000\000\000\000\000\017\176\016j\000\000\000\000\000\000\016\158\016v\011\128\012\200\016\162\016\226\000\000\000\000\016\134\011\252\r\016\016\178\016\244\000\000\000\000\012.\017\226\000\000\017\232\000\000\018\n\000\000\000\000\017\240\000\000\000\000\017\242\000\000\000\000\000\000\000\000\017\244\000\000\018\026\000\000\000\000\000\000\018\"\000\000\000\000\000\000\018&\000\000\000\000\000\000"), (16, "\004\164\006j\004\183\b\004\000\025\006\174\b\005\bd\000g\000\170\001\171\001\172\003+\001\176\000\127\003\169\000\170\003\172\000\170\000\018\006\141\be\007\142\004?\005\133\005m\003\179\003\022\006\172\004\164\002\253\004\183\000\127\007:\006\175\006\157\006\158\000g\007\203\003\176\006\193\000\017\001\214\006\139\007\204\000\024\005\023\000\170\006\142\006\157\006\158\000\179\007\205\0034\005>\000\127\007;\007>\006\157\006\158\005?\007X\004\166\006\194\006\157\006\158\004\167\002\172\0036\006\163\000\030\003\175\007x\b\t\000\142\006\178\002N\007\146\007\147\002U\007\022\005\014\005'\003\179\007V\001\194\007Y\006\157\006\158\005?\007U\004\166\001\222\007x\000\170\004\167\000g\007\161\007U\007S\007\162\002\254\000\029\007\020\003\179\006\164\001\197\007\023\006\157\006\158\000j\005'\006\159\007V\000\007\007Y\006\157\006\158\000n\007U\007\166\007V\000g\007Y\006\157\006\158\006\159\005\180\002\171\004\188\007\159\007\144\001@\005)\000\r\006\159\000\127\001\215\000\005\002P\000\146\006\159\007V\002Q\007Y\006\157\006\158\007\207\004\164\000n\004\183\000g\001\215\001\246\001\229\000\016\000\017\000p\000\216\005\024\001E\bm\005)\b\n\006\159\007\130\000\170\005\015\005+\000j\007\208\007\205\b\011\005>\006\179\002Z\005\025\007\159\004\180\000\170\002[\001\153\0050\000\131\000\143\006\159\000\236\005@\000o\004\181\005\182\005\147\001\248\006\159\000\134\000j\001\241\005+\000w\001G\007T\006\159\007\133\005\129\b?\000g\001\178\004\180\005?\000\170\004\166\0050\006\165\000\127\004\167\000\236\005@\007\209\004\181\b\030\006\165\004@\006\159\007{\000j\001\229\007\210\0052\001\181\005n\005'\005\141\007\240\001\198\005H\001\199\001\228\005\164\000\170\001\171\001\172\003\025\001\176\001K\003\000\005e\004\192\000\170\000\170\001\171\001\172\001\173\001\176\003\190\007f\0037\0052\000\180\005C\007\242\003\177\006\197\000\236\005H\004\193\002\\\007\244\004f\000\138\004\194\0036\000\127\001\226\004\195\005e\004\192\004\234\004\235\000j\004\196\000\179\005)\004\164\000w\004\183\000\170\003\"\b\031\002]\002\234\000\179\000&\004\164\004\193\004\165\000g\006\182\000u\004\194\002`\000\170\000g\004\195\000\170\000\141\004?\005\133\005m\004\196\007x\003\190\007d\000w\002a\001E\002\254\005+\003\153\001\246\007\136\003\179\001K\000#\002b\003%\006\185\004\180\000\179\0022\003\155\0050\003\190\0023\005\022\000\236\005@\b \004\181\000\142\0021\007~\002c\005?\004Y\004\166\007\210\002d\004\164\004\167\004\183\002e\b\"\000\127\001F\004\166\005;\002f\001\247\004\167\002N\002\135\001@\002O\003'\005'\000\170\004^\005<\005\014\bB\007\205\b\016\005m\007\219\000j\0052\006\186\005C\b$\000g\007\232\005\226\005H\001\216\000\227\b&\000\227\007\128\002\164\000\228\003(\000\231\0024\005e\004\192\000\170\0025\000\128\004K\001@\006\248\006\249\007\157\000g\003%\000\127\004e\005?\007:\004\166\005\148\004\188\004\193\004\167\001@\005)\000\129\004\194\000\004\000\127\003\159\004\195\002P\b\027\006\181\006(\002Q\004\196\003\158\005'\006\250\007;\007>\006\157\006\158\001\178\001K\005\208\0060\007\138\000\130\006\251\000\005\003&\000\127\001\178\000\127\000\131\000\148\000\221\005+\000\221\000j\000\229\005\015\000\229\000\127\001\181\000\134\003\161\004\180\002\166\000w\002[\0050\001\228\001H\001\181\000\236\005@\004\180\004\181\000\127\005\150\001K\001\228\000j\004\164\000\236\004\183\005)\004\181\000\170\001\171\001\177\005\129\001\176\006\153\000\235\006\"\000\235\002\168\000\127\001\215\007\233\000\170\000\"\000\218\003\019\003\159\007\205\b\016\005m\006\154\003*\004G\002\161\005\153\002\213\0052\006\159\005n\001\228\005\141\000\236\005+\005H\002\162\007\234\005\164\007\222\007O\007\223\006\179\000\179\004\180\000g\005e\004\192\0050\001K\002M\001E\000\236\005@\b\022\004\181\005?\003\160\004\166\000m\0062\000g\004\167\007\210\000\236\004\193\003\190\002\\\000\131\0051\004\194\002\171\b\021\000%\004\195\004\232\000\127\000(\005'\000\134\004\196\000\221\000g\000w\004\164\000\222\004\183\005|\002\216\000\236\004\191\000\236\000\237\0052\000\237\005n\002N\b\024\000\142\002U\005H\003\135\000\170\b\026\007P\000\170\000\177\007\205\b\016\005m\004A\005e\004\192\002\173\000\170\007Q\007R\004\012\000j\007\158\000\235\005\166\000*\000\238\000g\000\238\005~\005\153\002\174\005)\004\193\000g\003\172\005\214\000j\004\194\000.\004\163\006\171\004\195\005B\005\231\006<\002\233\005?\004\196\004\166\000\179\007\139\0000\004\167\0063\005<\001\014\003\174\000j\000\127\006>\000\b\002P\b\023\006\172\005\r\002Q\005+\007U\005'\006\175\006\157\006\158\000\244\005\166\000\240\005\135\004\180\000g\001\015\007\174\0050\0004\001\016\000\245\000\236\005@\b\022\004\181\003\175\000\242\007V\001\229\007Y\006\157\006\158\007\210\005\155\002Z\000\170\005\014\001\178\0051\002[\007\169\000\236\005\176\000j\000\237\000\180\000\131\001\150\000\170\001\171\001\172\001\231\001\176\004\164\007_\004\183\005)\000\134\000\227\001\181\004H\000w\0052\000\228\005n\000g\b\024\001\228\006#\005H\005f\000\170\b\026\006'\0006\000\238\007\205\b\016\005m\004A\005e\004\192\000\224\000\170\006\159\000h\007`\000j\007a\006%\000\179\005+\005\169\0062\000\170\001\171\001\172\001\236\001\176\004\193\000g\004\180\000\133\005|\004\194\0050\000;\006\159\004\195\000\236\005@\b\022\004\181\005?\004\196\004\166\005\161\007b\000\127\004\167\007\210\000\236\005\015\000\221\002\\\000\227\0051\000\229\007c\b\025\000\231\000\180\000\170\000:\005\158\005'\000\179\004?\000j\007G\000C\004\164\005}\004\183\005s\000g\004B\002]\002\152\001\229\0052\000g\005n\007=\b\024\005\163\005<\005H\002`\000\170\b\026\007H\000\235\001\181\007\205\b\016\005m\b\r\005e\004\192\004I\001\228\002a\000j\004m\000k\007;\007>\006\157\006\158\001K\005\143\002b\005\017\000@\000\127\005)\004\193\000\137\007\178\000\221\005\232\004\194\000g\000\229\000?\004\195\005\161\006\187\000\227\002c\005?\004\196\004\166\000\228\002d\000g\004\167\003\020\002e\005\185\000\131\000\218\003\015\007\180\002f\000\170\b!\005\014\002\135\b\028\005+\000\134\005'\000j\007i\000w\004\234\004\235\000\235\005\135\004\180\000g\006?\000g\0050\005\162\000\170\004Y\000\236\005@\b\022\004\181\000\140\000\236\001\178\001\229\000\237\006>\005\187\007\210\005\191\006\136\006\137\007\171\006\159\0051\000B\004\164\000\127\004\183\004^\001K\005<\000\221\000\170\000j\001\181\000\229\007H\000E\004\164\000\127\004\183\005)\001\228\004_\000\221\000\238\000j\0052\000\222\005n\005{\b\024\001\194\007I\005H\006\019\000\170\b\026\001\178\001\204\000g\007\205\b\016\005m\000\131\005e\004\192\004c\005@\003/\000\235\005\015\000j\001\197\000j\000\134\005+\001K\000\236\000w\001\181\000\237\006%\000\235\004\193\002\164\004\180\004\166\001\228\004\194\0050\004\167\000\244\004\195\000\236\005@\b\022\004\181\005?\004\196\004\166\001\218\000G\000\247\004\167\007\210\001\017\005'\000\170\000g\006]\0051\000\238\007\169\b%\005H\007K\001\246\005M\000\131\005'\000\180\001\197\004\164\003\157\004\183\005e\007L\000K\000\170\000\134\004\234\004\235\000j\000w\0052\003\023\005n\007H\b\024\001\014\000\170\005H\004\237\000\227\b\026\004?\005\133\005m\000\228\004@\006\222\000\236\005e\004\192\000\237\001\248\000g\005)\000\240\000\180\007N\001;\001\015\007\174\000\236\005\138\001\016\000\237\000\218\003\t\005)\004\193\001\205\000\242\001\184\005\185\004\194\000M\006\025\004A\004\195\000j\005?\000Q\004\166\000\238\004\196\bU\004\167\000\170\001\171\006\156\005+\001\179\004\234\004\235\001\223\005Z\000\238\001\198\000g\001\199\004\180\000\127\005'\005+\0050\006\154\000\221\001K\000\236\000\005\000\229\004\181\005\186\004\180\000\227\006\027\006\237\0050\004^\000\233\003\158\000\236\005@\b\022\004\181\0051\000\127\005\014\001K\000\179\000\244\000\221\007\210\006\r\004\164\000\222\004\183\003\028\0051\006\235\006F\000\249\006\238\006\157\006\158\000\235\001\198\000P\001\199\0052\001\221\006\025\000\170\005)\004A\006H\001K\004?\005\133\005m\007I\006I\0052\006L\005n\007\174\b\024\000\180\004\192\005H\000\235\000j\b\026\000\170\000\127\000g\006H\004\236\006H\000\221\005e\004\192\001\242\000\229\007\170\000g\004\193\000S\005+\000g\006\026\004\194\000]\007\186\005?\004\195\004\166\000\170\004\180\004\193\004\167\004\196\0050\000\170\004\194\005<\000\236\005@\004\195\004\181\006+\005\147\000X\005\018\004\196\004\164\005'\004\183\000\235\006\225\006\159\004\234\004\235\0051\007\206\000W\000\170\000\236\002N\006\178\000\237\002U\004e\000\170\007\178\007\174\004Y\005\021\004?\005\133\005m\0056\001\234\007\219\003\184\006\223\000\170\0052\000j\005n\007\231\005\141\000\236\001K\005H\000\237\000Z\005M\000j\004^\000g\000\238\000j\006T\006W\005e\004\192\005)\000g\006\226\000\218\002\243\006Z\007\227\004_\005?\000\\\004\166\006V\006V\000\227\004\167\007\019\000_\004\193\000\233\000\238\006H\000\127\004\194\000a\002P\000\145\004\195\000g\002Q\000g\005'\004c\004\196\000\236\000\151\005+\000\237\007\174\007\020\001\181\001\244\000\244\007\023\006\157\006\158\004\180\005Z\001\228\b7\0050\000\150\000\153\000\251\000\236\005@\b7\004\181\005\145\005\147\000\156\002Z\006\179\004\164\000\127\004\183\002[\000j\000\238\000\221\004^\0051\007\177\000\222\000\127\000j\004'\004A\007\189\000\221\001\213\000\170\005)\000\229\001\240\005_\004?\005\133\005m\0022\005<\000\170\003$\0023\000\170\0052\000\239\005n\000g\005\141\000g\000j\005H\000j\007\182\005M\000\158\006b\000\235\005c\006\212\006\157\006\158\005e\004\192\000\240\b7\005+\000\235\000\004\0014\006\159\006d\005?\007\222\004\166\007\223\004\180\000g\004\167\000\242\0050\004\193\000\179\001K\000\236\005@\004\194\004\181\005\184\005\147\004\195\007\176\000\005\004\164\005'\004\183\004\196\000\236\000\127\006\223\002\\\0051\0024\007\222\000\180\007\223\0025\001K\007\230\000\227\004A\000\170\001\208\001K\000\228\000\170\004?\005\133\005m\004N\000j\000\162\000j\002]\002^\0052\004A\005n\001J\005\141\003.\000g\005H\007A\002`\005M\001K\006\159\001\240\000\236\001\240\001M\000\237\005e\004\192\005)\006\213\000g\002a\000\236\000j\007\241\000\237\005?\b>\004\166\001K\006e\002b\004\167\007\175\b8\004\193\005<\000\170\001\171\001\180\004\194\001\176\000\127\001R\004\195\006d\000\238\000\221\005'\002c\004\196\000\229\001Q\005+\002d\004\164\000\238\004\183\002e\007\025\006\247\006\157\006\158\004\180\002f\001Z\000g\0050\002\135\001W\b\r\000\236\005@\000\170\004\181\006/\005\147\000j\007\205\000\179\005>\000\180\006\193\000\180\000\239\004\164\000\235\004\183\0051\002\161\000\170\004\234\004\235\000j\b:\007\169\004g\000\236\005Q\005)\002\162\000\218\002\240\000\240\005\020\006\194\006\157\006\158\000\241\000g\005y\001\240\0052\006h\005n\005?\005\141\004\166\000\242\005H\004k\004\167\005M\b\019\002N\000\218\002\239\002U\006H\bS\005e\004\192\001\181\b\029\005+\0031\b\r\005'\006\159\005\014\001\228\001V\000\170\001K\004\180\002\164\b7\004\166\0050\004\193\006\196\004\167\000\236\005@\004\194\004\181\007\237\005\147\004\195\000g\001Y\000\127\007\\\001\\\004\196\000\180\000\221\005'\000\236\0051\000\222\000\237\001^\006\194\006\157\006\158\001b\002\227\006\248\006\249\004n\000\180\000j\006\159\000\127\000\127\000\170\002P\005)\b#\000\221\002Q\001d\0052\000\222\005n\005g\005\141\b\141\004\164\005H\004\183\000\238\005M\004r\000\235\001f\0033\007\024\005\127\bh\005e\004\192\b\142\004\188\001K\bV\000\170\005)\006\251\005k\000g\007\205\005+\005>\005\015\004\234\004\235\002[\000\235\004\193\000\170\000j\004\180\001\178\004\194\007\169\0050\001h\004\195\007\196\000\236\005@\b\015\004\181\004\196\007\151\007\152\b^\000\244\000g\006\159\007\210\005+\000g\001\194\001\181\000g\b\018\005?\000\253\004\166\001\204\004\180\001\228\004\167\001m\0050\007\156\007\179\002*\000\236\bo\004\164\004\181\004\183\001\197\b\014\006\212\006\157\006\158\005'\0052\001l\005C\b\020\001u\000\236\005\129\005H\000\237\000\170\b\026\001r\000j\b]\007\205\007\212\005>\001q\005e\004\192\b<\006\200\000\170\001\171\001\172\003\030\001\176\007\171\000\236\000\236\0052\002\\\000\237\001t\001w\001K\006\193\004\193\007\239\000\238\001y\000j\004\194\007\159\001}\000j\004\195\b^\000j\004\192\005)\005?\004\196\004\166\006\212\006\157\006\158\004\167\001\127\006\194\006\157\006\158\001\131\000\238\000\179\002`\001\130\004\193\001\133\b\017\000\227\001\143\004\194\005'\006\159\000\231\004\195\001\138\001\137\002a\000\218\002\238\004\196\007\007\000g\005+\002\147\001K\000\170\002b\004\164\bi\004\183\007\201\001\205\004\180\007\252\007\253\001\140\0050\0027\001\142\001\145\000\236\005@\b\015\004\181\002c\000\170\b^\001\147\001\152\002d\004?\007\210\005>\002e\001\158\001\206\000g\b\018\001\198\002f\001\199\005)\001\157\002\148\bp\007\170\002S\000\127\001K\006\159\000\180\001\160\000\221\002\143\006\159\001\162\000\229\000\127\007!\001\164\001\168\0052\000\221\005C\b\020\005\209\000\222\005?\005H\004\166\001\245\b\026\001\175\004\167\000j\001\233\005+\001\239\000g\005e\004\192\004\164\b\001\004\183\000g\007\171\004\180\b]\001\238\005'\0050\000\235\006\138\001K\000\236\005@\b\015\004\181\004\193\000\170\003\027\000\235\007U\004\194\004?\007\210\005>\004\195\006\193\000j\0067\b\018\003!\004\196\005\179\006\139\003 \003\001\003-\001@\006\142\006\157\006\158\b]\003;\007V\003@\007Y\006\157\006\158\000g\006\194\006\157\006\158\000\170\0052\001\178\005C\b\020\007\159\005)\005?\005H\004\166\003?\b\026\004\164\004\167\004\183\003H\003E\000j\003D\005e\004\192\003G\0057\000j\001\181\003J\003L\003P\002\159\005'\000\170\003R\001\228\003T\003V\004?\0059\005>\004\193\000\236\006\206\005+\000\237\004\194\003[\003Z\000\170\004\195\003c\000\236\005\177\004\180\000\237\004\196\005\179\0050\003`\000g\003_\000\236\005@\003b\004\181\004\169\006\159\003e\003g\001B\003k\000j\007\219\006\159\005?\000\238\004\166\006\159\005\168\007\226\004\167\003m\005)\002N\003q\000\238\002U\003p\003s\003}\003x\003w\001H\003z\003|\003\127\005'\003\129\003\134\003\140\001K\003\139\0052\001\014\005C\005\170\000\227\004\178\003\142\005H\003\144\000\231\005M\000\180\003\146\003\150\000g\005+\007\219\003\167\005e\004\192\000\240\003\166\000\170\007\221\001\015\004\180\005\217\003\183\001\016\0050\000j\000g\003\189\000\236\005@\000\242\004\181\004\193\003\188\004\"\003\192\000\127\004\194\006\193\002P\005)\004\195\004\164\002Q\004\183\005\168\000\142\004\196\006\212\006\157\006\158\003\197\004\253\005E\000g\003\196\003\205\003\202\003\201\000\127\000\170\006\194\006\157\006\158\000\221\004?\005F\005m\000\229\0052\003\204\005C\005\170\000\170\006\160\005+\005H\002\244\000\227\005M\002[\003\207\000j\000\228\007|\004\180\003\209\005e\004\192\0050\006\204\000\142\003\213\000\236\005@\003\215\004\181\003\217\003\219\000j\003\224\003\223\005?\000\235\004\166\003\232\004\193\004\164\004\167\004\183\005r\004\194\007\222\000\180\007\223\004\195\003\229\003\228\005p\003\231\003\234\004\196\001K\003\236\005'\000\170\006\159\000j\005\233\003\240\004?\005F\005m\003\242\0052\0070\005C\005t\000\127\006\159\003\246\005H\001\194\000\221\005v\003\245\004\164\000\229\004\165\001\217\003\248\004\002\005e\004\192\003\253\000\131\001\155\000g\007\222\003\252\007\223\003\255\000\236\001\197\004\001\002\\\000\134\005?\001K\004\166\000w\004\193\004\164\004\167\004\183\005)\004\194\004\004\003\n\004\006\004\195\004\011\000\235\005u\004\017\000\236\004\196\000\180\000\237\005'\000\170\004\016\004\019\004\021\004\023\004?\005F\005m\004\027\002\247\000\131\003\132\005\242\004!\004 \000g\000\127\004&\004\166\004,\005+\000\134\004\167\002\002\004+\000w\006\146\006\150\006\191\000\238\004\180\006\170\006\184\002b\0050\006\234\006\228\007\018\000\236\005@\000j\004\181\005?\007+\004\166\007-\003\003\004\164\004\167\004\183\005)\002c\0077\0079\001K\0051\002d\001\014\006\235\007C\002e\006\238\006\157\006\158\005'\000\170\002f\007U\007^\006\219\004?\005\133\005m\007\250\000\236\b(\000\240\000\237\b,\0052\001\015\005n\b@\005o\001\016\005+\005H\bF\000j\005M\007V\000\242\007Y\006\157\006\158\004\180\bG\005e\004\192\0050\001\198\bL\001\199\000\236\005@\bM\004\181\005?\000\238\004\166\001K\bR\004\164\004\167\004\183\005)\004\193\000\170\bQ\bY\0051\004\194\004?\b[\ba\004\195\bb\bf\000\180\005'\000\170\004\196\bg\bj\004\180\004?\005\133\005m\bk\006\159\bn\bq\000\236\006\004\0052\004\181\005n\br\005o\b\131\005+\005H\bx\b\129\005M\000\244\b}\b\128\b\137\004m\004\180\b\135\005e\004\192\0050\b\139\000\255\b\144\000\236\005@\006\159\004\181\005?\000\000\004\166\000\000\000\180\004\164\004\167\004\183\005)\004\193\006\193\000\000\000\000\0051\004\194\000\000\000\000\000\000\004\195\006\020\000\000\000\227\005'\000\170\004\196\000\000\000\228\000\170\004?\005\133\005m\000\000\000g\006\194\006\157\006\158\000\000\0052\000\000\005n\000\000\005o\000\000\005+\005H\000\000\000\000\005M\004\182\000\000\000\000\000\000\000\000\004\180\000\000\005e\004\192\0050\000\000\000\000\000\000\000\236\005@\000\000\004\181\005?\005\140\004\166\000\000\000\142\004\164\004\167\004\183\005)\004\193\000\000\000\000\000\000\0051\004\194\000\000\000\127\000\000\004\195\006\252\000\000\000\221\005'\000\170\004\196\000\229\004t\000\000\004?\005\171\005m\001\194\000\000\000\000\000\000\000\000\000\000\0052\001\196\005n\000j\005\141\000\000\005+\005H\000\000\006\159\005M\000\000\005@\000\000\007\131\001\197\004\180\000\000\005e\004\192\0050\000\000\000\000\000\235\000\236\005@\000\000\004\181\005?\005\142\004\166\000\000\000\000\004\164\004\167\004\183\005)\004\193\000\000\000\000\000\000\0051\004\194\000\000\000\000\000\000\004\195\000\000\000\000\000\000\005'\000\170\004\196\000\000\0064\000\170\004?\005\171\005m\005H\000g\000\000\005M\000\000\000\000\0052\000\000\005n\000\000\005\141\005e\005+\005H\005\173\000\000\005M\000\131\003\137\000\000\000\000\000\000\004\180\000\000\005e\004\192\0050\000\000\000\134\000\000\000\236\005@\000w\004\181\005?\005\160\004\166\000\000\000\142\004\164\004\167\004\183\005)\004\193\000\000\000\000\000\236\0051\004\194\000\237\005\193\000\000\004\195\000\000\000\000\000\000\005'\000\170\004\196\000\000\000\000\000\000\004?\005F\005m\001\194\000\218\002\237\000\000\000\000\006\217\0052\001\204\005n\000j\005\141\000\000\005+\005H\005\175\000\238\005M\000\000\001\198\000\000\001\199\001\197\004\180\000\000\005e\004\192\0050\000\000\001K\000\000\000\236\005@\000\000\004\181\005?\000\000\004\166\000\000\000\000\000\000\004\167\000\000\005)\004\193\000\000\000\000\000\000\0051\004\194\000\000\0022\000\000\004\195\000\000\0023\000\227\005'\000\000\004\196\000\170\000\228\000\127\002\236\000\000\000\000\000\000\000\221\000\000\000\000\000\000\000\222\0052\000\000\005n\000\000\005\174\007U\005+\005H\000\000\000\000\005M\000\131\004\t\000\000\000\000\000\000\004\180\000\000\005e\004\192\0050\000\000\000\134\000\000\000\236\005@\000w\004\181\007V\000\000\007Y\006\157\006\158\000\000\000\235\000\000\005)\004\193\004\164\000\127\004\183\0051\004\194\0024\000\127\000\000\004\195\0025\000\000\000\221\001\205\000\000\004\196\000\229\000\000\000\000\000\170\001\194\000\218\000\220\000\000\004?\000\000\005>\001\220\0052\000\000\005n\000\000\005\174\000\000\005+\005H\000\000\001\211\005M\000\000\001\198\001\197\001\199\000\000\004\180\000\000\005e\004\192\0050\000\000\001K\000\235\000\236\005@\000\000\004\181\000\000\000\000\000\000\000\000\000\000\005?\000\000\004\166\000\000\004\193\000\000\004\167\000\000\0051\004\194\006\159\000\227\000\000\004\195\000\000\000\000\000\228\000\000\000\236\004\196\000\127\000\237\005'\000\000\000\000\000\221\000\227\000\000\000\227\000\222\006\193\000\231\0052\000\231\005n\000\000\005o\000\000\004\164\005H\004\183\000\000\005M\006)\000\170\000\000\000g\005\179\000\000\000\000\005e\004\192\000\238\006\194\006\157\006\158\000\170\000\000\000\000\002\161\000\000\004?\000\000\005>\000\235\000\000\000\000\000\236\000\000\004\193\002\162\000\127\000\236\005)\004\194\000\237\000\221\000\000\004\195\000\000\000\229\000\000\000\000\000\142\004\196\000\000\000\127\000\000\000\127\000\000\000\000\000\221\000\000\000\221\000\000\000\229\000\000\000\229\005?\000\000\004\166\000\000\000\000\000\000\004\167\000\000\000\238\001\198\005+\001\199\006\193\001\011\000\000\000\000\000\000\000\235\000\000\001K\004\180\000j\005'\000\000\0050\000\000\000\000\000\000\000\236\005@\007\134\004\181\000\235\006\159\000\235\006\194\006\157\006\158\004\164\000\000\004\183\000\000\000\000\0069\000\000\005\168\000\000\005\179\000\236\002\163\000\000\000\237\000\000\000\000\000\000\000\244\000\170\000\000\001>\000\170\001@\004?\000\000\005>\000\000\000\000\001\001\006\193\000\000\0052\000\000\005C\005\170\005)\000\000\000\000\005H\000\000\000\000\005M\000\000\000\000\000\238\000\000\000\000\000\000\000\000\005e\004\192\000\000\006\194\006\157\006\158\000\000\000\131\004\014\000\000\000\000\005?\000\236\004\166\000\000\000\237\000\000\004\167\000\134\004\193\006\193\005+\000w\000\000\004\194\000\000\006\159\000\236\004\195\000\236\000\237\004\180\000\237\005'\004\196\0050\000\000\000\218\002\230\000\236\005@\001\194\004\181\006\194\006\157\006\158\000\238\000\000\001\204\004\164\000\000\004\183\000\000\000\000\006;\001B\005\168\001\017\005\179\000\000\000\000\000\238\001\197\000\238\000\000\000\000\006\215\000\170\000\000\000\000\000\227\000\000\004?\000\000\005>\000\228\000\000\000\000\001H\000\000\0052\006\159\005C\005\170\005)\000\000\001K\005H\000\000\001\014\005M\001\014\000\000\000\244\000\000\000\000\000\000\000\127\005e\004\192\000\170\000\000\000\221\000\000\001\003\004?\000\222\000\000\000\240\005?\000\240\004\166\001\015\000\000\001\015\004\167\001\016\004\193\001\016\005+\006\193\006\159\004\194\000\242\000\000\000\242\004\195\000\000\000\000\004\180\000\127\005'\004\196\0050\000\000\000\221\000\000\000\236\005@\000\229\004\181\000\235\004m\006\194\006\157\006\158\006\230\004\164\000\000\004\183\000\000\000\000\007\183\000\000\005\168\000\000\005\179\000\000\007\191\000\000\000\000\000\000\001\205\000\000\000\000\000\170\000\000\000\000\000\227\000\000\004?\005F\005m\000\228\000\235\000\000\000\000\000\000\0052\000\000\005C\005\170\005)\000\000\000\000\005H\004Q\000\000\005M\001\198\000\170\001\199\000\000\000\227\000\000\004?\005e\004\192\000\231\001K\000\000\006\245\000\000\000\000\000\000\000\227\000\000\005?\000\000\004\166\000\228\000\170\000\000\004\167\000\000\004\193\006\234\005+\000\000\000\000\004\194\006\159\000\000\000\236\004\195\000\000\000\237\004\180\000\127\005'\004\196\0050\004m\000\221\000\000\000\236\005@\000\229\004\181\006\235\000\000\007\000\006\238\006\157\006\158\000\227\0065\000\000\000\000\000\000\000\228\000\000\005\168\000\127\000\000\000\000\000\236\000\238\000\221\000\237\000\000\000\000\000\229\000\000\004\164\000\127\004\183\000\000\000\000\005@\000\221\000\000\000\235\000\000\000\229\000\000\0052\000\000\005C\005\170\005)\000\000\000\170\005H\000\000\000\000\005M\004?\000\000\005>\000\238\000\218\002#\000\000\005e\004\192\000\000\000\235\000\000\000\000\000\000\000\227\000\000\000\000\000\000\000\127\000\228\000\000\000\000\000\235\000\221\0064\000\000\004\193\000\229\005+\005H\000\000\004\194\005M\006\159\000\000\004\195\000\000\005?\004\180\004\166\005e\004\196\0050\004\167\000\000\000\000\000\236\005@\000\000\004\181\000\244\000\000\000\000\0022\007\r\000\000\000\000\0023\000\000\005'\000\000\001\005\000\235\0051\000\127\000\000\000\000\000\236\000\000\000\221\000\237\000\000\005@\000\222\000\127\004\164\000\000\004\183\000\000\000\221\007\197\000\000\000\000\000\229\005\179\000\000\007\243\0052\000\000\005n\000\000\005o\000\236\000\170\005H\000\237\000\000\005M\004?\005F\005m\000\238\000\000\000\000\000\236\005e\004\192\000\237\000\235\000\000\005)\000\170\000\000\002\164\006_\000\000\004?\0024\000\235\005H\002\002\0025\005M\000\000\004\193\000\000\000\238\000\000\000\000\004\194\005e\000\000\000\000\004\195\000\000\005?\000\000\004\166\000\238\004\196\000\000\004\167\000\000\002\241\000\236\005+\000\000\000\237\001=\002\165\007\002\001K\000\000\004m\001\014\004\180\006\234\005'\000\000\0050\000\000\000\000\000\000\000\236\005@\000\000\004\181\000\170\001\171\001\172\003\164\001\176\000\000\000\240\000\170\000\000\000\000\001\015\000\238\006\235\005\168\001\016\006\238\006\157\006\158\000\244\002\166\000\000\000\242\000\000\000\236\005\188\004\164\000\237\004\183\000\000\001\007\000\000\000\000\000\000\000\236\000\000\000\000\000\237\0052\000\000\005C\005\170\005)\000\179\000\170\005H\000\000\000\000\005M\004?\002\168\005m\000\000\000\000\000\000\000\000\005e\004\192\000\238\000\244\000\000\000\000\000\218\002,\000\000\002\161\002\231\002\206\000\238\000\000\001\t\000\000\000\000\000\236\000\000\004\193\002\162\005+\007\219\000\000\004\194\000\000\000\000\000\000\004\195\007\229\005?\004\180\004\166\000\000\004\196\0050\004\167\000\000\006\159\000\236\005@\002\217\004\181\000\000\000\000\000\000\000\000\002\209\000\000\004\164\000\000\004\183\005'\000\000\000\000\002\171\0051\000\000\005@\000\244\000\000\000\000\000\000\005q\000\218\002/\000\127\000\170\000\000\000\000\001\019\000\221\004?\000\000\005>\000\222\000\000\000\000\000\000\000\000\0052\000\000\005n\000\000\005o\000\218\002B\005H\000\000\000\000\005M\000\000\000\000\000\000\000\000\006\193\000\000\002\173\005e\004\192\006a\000\218\002H\005)\000\000\005H\000\000\000\000\005M\005?\000\235\004\166\002\174\000\000\000\000\004\167\005e\004\193\006\194\006\157\006\158\004\164\004\194\004\183\000\127\000\000\004\195\000\000\004\164\000\221\004\183\005'\004\196\000\222\000\000\005=\000\000\000\000\005+\000\170\000\000\000\000\001\178\000\000\004?\000\127\005>\000\000\004\180\000\000\000\221\000\000\0050\000\000\000\222\007\028\000\236\005@\000\000\004\181\000\000\000\127\000\000\000\000\001\181\000\000\000\221\000\000\000\235\007\222\000\222\007\223\001\228\005\190\000\000\000\000\000\000\000\000\000\000\001K\000\000\005?\005)\004\166\000\000\000\000\000\000\004\167\000\127\000\235\004\166\000\000\000\236\000\000\004\167\000\237\006\159\0052\000\000\005n\004\164\005\192\004\183\005'\005H\000\235\000\000\005M\000\000\000\000\000\000\000\000\000\000\000\000\005G\005e\004\192\005+\000\170\006\234\000\000\000\000\000\000\004?\000\000\005>\000\238\004\180\000\000\000\000\000\000\0050\000\000\000\000\004\193\000\236\005@\002N\004\181\004\194\002U\000\000\006\235\004\195\006\193\006\238\006\157\006\158\000\000\004\196\000\236\000\000\005A\000\237\005)\000\170\000\000\004\188\000\000\000\000\005?\000\000\004\166\000\000\000\000\000\000\004\167\006\194\006\157\006\158\000\000\000\236\000\000\000\000\000\237\000\000\0052\000\000\005C\005D\000\000\000\000\005'\005H\000\238\000\000\005M\000\236\000\000\005+\000\237\000\000\000\000\000\000\005e\004\192\000\000\000\127\000\000\004\180\002P\000\000\000\000\0050\002Q\000\238\004\180\000\236\005@\004\164\004\181\004\183\000\000\004\193\000\236\000\000\007\011\004\181\004\194\006\193\000\000\000\238\004\195\006\159\005A\000\000\000\000\000\170\004\196\000\000\000\000\004\190\004?\005)\005>\000\000\002Z\006\193\000\000\000\000\000\000\002[\006\194\006\157\006\158\006\159\000\000\000\000\0052\000\000\005C\005D\000\000\000\000\000\000\005H\000\000\000\000\005M\000\000\006\194\006\157\006\158\000\000\000\000\000\000\005e\004\192\005+\005?\000\000\004\166\000\000\000\000\004\192\004\167\000\000\000\000\004\180\000\000\000\000\004\164\0050\004\183\000\000\004\193\000\236\005@\000\000\004\181\004\194\005'\004\193\006\193\004\195\000\000\000\000\004\194\000\000\000\170\004\196\004\195\000\000\005A\004?\000\000\005>\004\196\000\000\000\000\000\170\001\171\001\172\003\181\001\176\000\000\006\194\006\157\006\158\000\000\006\159\000\000\000\000\000\236\000\000\000\000\002\\\0052\000\000\005C\005D\000\000\000\000\000\000\005H\000\000\000\000\005M\006\159\000\000\007o\005?\005)\004\166\000\000\005e\004\192\004\167\000\000\002]\004\171\000\000\000\179\004\164\000\000\004\183\000\000\000\000\000\170\000\000\002`\000\000\000\000\005'\004\193\007\t\000\000\000\000\000\000\004\194\000\000\000\170\000\000\004\195\002a\000\000\004?\005+\005>\004\196\000\000\000\000\001K\000\000\002b\000\000\000\000\004\180\000\000\000\000\002N\0050\000\000\002U\006\159\000\236\005@\000\000\004\181\000\000\000\218\002K\002c\000\000\005\144\000\000\000\000\002d\000\170\000\000\000\000\002e\005\137\005?\005)\004\166\000\000\002f\000\000\004\167\000\000\002\135\000\000\000\000\000\000\000\000\000\000\001\194\000\000\000\000\000\000\000\000\000\000\000\000\001\204\005'\0052\000\000\005C\005\139\007'\000\000\000\000\005H\000\000\000\000\005M\000\000\001\197\005+\000\127\000\000\000\000\002P\005e\004\192\000\000\002Q\007%\004\180\000\127\000\000\004\164\0050\004\183\000\221\000\000\000\236\005@\000\222\004\181\000\000\006\193\004\193\000\000\000\000\005\136\006\193\004\194\000\000\000\170\000\000\004\195\000\000\005\137\004?\005)\005>\004\196\002Z\000\000\000\000\000\000\000\000\002[\006\194\006\157\006\158\000\000\000\000\006\194\006\157\006\158\000\000\000\235\000\000\000\000\001\178\0052\000\000\005C\005\139\000\000\000\000\007#\005H\000\000\000\000\005M\000\000\000\000\005+\005?\000\000\004\166\000\000\005e\004\192\004\167\001\181\000\000\004\180\000\000\000\000\004\164\0050\004\183\001\228\000\000\000\236\005@\000\000\004\181\000\000\005'\004\193\000\000\005\156\001\205\000\000\004\194\000\000\000\170\000\000\004\195\000\000\005\157\004?\000\000\005>\004\196\000\000\000\000\000\170\001\171\001\172\003\186\001\176\006\193\000\000\000\000\000\000\004[\006\159\000\000\001\198\000\236\001\199\006\159\002\\\0052\000\000\005C\005\159\000\000\001K\000\236\005H\000\000\000\237\005M\006\194\006\157\006\158\005?\005)\004\166\000\000\005e\004\192\004\167\000\000\002]\005-\000\000\000\179\004\164\000\000\004\183\000\000\000\000\000\000\000\000\002`\000\000\000\000\005'\004\193\000\000\000\000\000\238\000\000\004\194\000\000\000\170\000\000\004\195\002a\000\000\004?\005+\005>\004\196\000\000\000\000\001K\000\000\002b\000\000\000\000\004\180\005\167\000\000\000\000\0050\000\000\000\000\000\000\000\236\005@\000\000\004\181\000\000\000\000\000\000\002c\000\000\005\154\000\000\000\000\002d\000\000\000\000\000\000\002e\005\137\005?\005)\004\166\006\159\002f\000\000\004\167\000\000\002\135\000\000\000\170\001\171\001\172\004\030\001\176\000\000\000\000\000\000\000\000\000\000\006\193\000\000\005'\0052\000\000\005C\005\139\0074\000\000\000\000\005H\000\000\0072\005M\000\000\000\000\005+\000\000\000\000\000\000\000\000\005e\004\192\006\194\006\157\006\158\004\180\005\172\000\000\004\164\0050\004\183\000\179\000\000\000\236\005@\000\000\004\181\000\000\000\000\004\193\000\000\007\187\000\000\000\000\004\194\000\000\000\170\000\000\004\195\000\000\005\168\004?\005)\005>\004\196\000\000\000\000\004\164\000\000\004\183\000\000\000\000\000\170\001\171\001\172\004$\001\176\000\000\000\000\000\000\007\199\000\000\000\000\001\178\0052\000\170\005C\005\170\000\000\000\000\004?\005H\005>\000\000\005M\000\000\000\000\005+\005?\000\000\004\166\000\000\005e\004\192\004\167\001\181\000\000\004\180\000\000\000\000\006\159\0050\007m\001\228\000\179\000\236\005@\000\000\004\181\000\000\005'\004\193\000\000\000\000\000\000\000\000\004\194\005?\000\000\004\166\004\195\000\000\005\168\004\167\000\000\000\000\004\196\000\000\000\000\000\000\000\000\000\170\001\171\001\172\004)\001\176\000\000\000\000\000\000\005'\000\000\000\000\000\000\000\000\000\000\004\164\0052\004\183\005C\005\170\000\000\000\000\000\000\005H\000\000\000\000\005M\000\000\007\202\000\000\000\000\005)\000\000\000\170\005e\004\192\002N\000\000\004?\002U\005>\000\000\000\000\000\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\193\000\000\000\000\001\178\000\000\004\194\000\000\005)\000\000\004\195\000\000\000\000\000\000\005+\000\000\004\196\000\000\000\000\000\000\000\000\000\000\000\000\005?\004\180\004\166\001\181\000\000\0050\004\167\000\000\000\000\000\236\005@\001\228\004\181\000\000\000\000\007r\000\000\000\000\000\000\000\000\005+\000\127\005'\000\000\002P\000\000\007\188\000\000\002Q\000\000\004\180\000\000\000\000\000\000\0050\000\000\000\000\000\000\000\236\005@\000\000\004\181\000\000\000\000\000\000\000\000\000\000\0022\000\000\000\000\0052\0023\005C\007\190\001\178\007\188\000\000\005H\000\000\000\000\005M\000\000\002\244\000\000\000\170\002[\000\000\000\000\005e\004\192\004\164\000\000\004\183\005)\000\000\000\000\001\181\000\000\000\000\0052\000\000\005C\007\190\000\000\001\228\000\000\005H\004\193\000\170\005M\000\000\000\000\004\194\005\207\000\000\000\000\004\195\005e\004\192\000\000\000\000\000\000\004\196\000\000\000\000\000\000\000\170\002\164\005+\000\000\000\000\0024\000\000\000\000\000\000\0025\004\193\005\238\004\180\000\000\000\000\004\194\0050\001\178\000\000\004\195\000\236\005@\000\000\004\181\005\241\004\196\004\166\001\194\000\000\000\000\004\167\000\000\000\000\000\000\001\204\000\000\000\000\007\188\000\000\001\181\000\227\000\236\000\000\000\000\002\\\000\228\005\247\001\228\001\197\000\000\005\249\000\000\004\164\000\000\004\183\000\000\000\000\002\245\000\000\000\000\000\000\0052\000\000\005C\007\190\000\000\000\000\000\000\005H\001\194\000\170\005M\000\227\000\000\002\166\005\207\001\204\000\228\002\247\005e\004\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\028\001\197\000\000\004\164\004\188\004\183\000\000\001@\000\000\004\193\006\031\000\127\000\000\002b\004\194\002\168\000\221\000\000\004\195\000\000\000\229\000\170\000\000\005\241\004\196\004\166\005\207\000\000\000\000\004\167\002\161\002c\002\203\000\000\000\000\000\000\002d\000\000\000\236\000\000\002e\002\162\004\164\000\127\004\183\005\247\002f\000\000\000\221\005\249\005\240\000\000\000\229\004\180\000\000\000\235\000\000\000\000\000\000\001\205\000\000\000\236\005\250\005\241\004\181\004\166\000\000\005 \0066\004\167\000\000\000\000\000\000\000\000\000\000\000\000\002\171\000\000\005\129\000\000\000\000\000\000\000\000\005T\000\000\005\247\001\198\000\235\001\199\005\249\000\000\000\000\000\000\000\000\000\000\000\000\001K\004\164\000\000\004\183\000\000\001\205\002\164\000\000\004\166\000\000\000\000\000\000\004\167\005\251\000\000\000\000\006\030\000\000\000\000\000\000\000\000\000\000\002\173\000\000\006\018\004\192\005 \005\130\005'\005\\\000\000\000\000\001\198\000\000\001\199\000\000\000\000\002\174\000\000\000\000\000\000\000\236\001K\004\193\000\237\004\180\000\000\000\000\004\194\000\000\000\000\000\000\004\195\000\236\005\250\004\164\004\181\004\183\004\196\000\000\000\000\002\164\000\000\004\166\000\000\000\000\000\000\004\167\000\000\000\000\0051\000\000\000\000\000\236\000\000\000\238\000\237\000\000\000\000\005)\005 \005x\000\000\005'\004A\004\180\000\000\000\000\000\000\000\000\000\227\000\000\000\000\000\236\005\250\000\228\004\181\000\000\000\218\004|\000\000\005\251\000\000\000\000\006\000\000g\000\000\000\238\000\170\000\000\0051\000\000\006\018\004\192\005+\002\164\000\000\004\166\000\000\000\000\000\000\004\167\000\244\000\000\004\180\000\000\000\000\000\000\0050\000\000\000\000\004\193\000\236\001\021\005)\004\181\004\194\005'\000\000\000\000\004\195\005\251\000\000\000\000\006\000\000\000\004\196\000\218\004\155\0051\000\127\000\000\006\018\004\192\000\244\000\221\000\000\002N\000\127\000\229\002U\000\000\001\246\000\221\000\000\001\023\000\000\000\222\000\000\005+\004\164\004\193\004\183\0052\000\000\000\170\004\194\001\194\000j\004\180\004\195\000\000\000\000\0050\001\204\000\000\004\196\000\236\005)\000\000\004\181\000\000\004\192\000\000\000\235\005 \005!\000\000\001\197\000\000\000\000\001\248\000\235\000\227\0051\000\000\000\000\000\127\000\233\004\164\004\193\004\183\000\221\007\174\000\000\004\194\000\222\000\127\000\000\004\195\002P\000\000\000\000\005+\002Q\004\196\000\000\000\000\0052\004A\002\164\000\000\004\166\004\180\005 \005/\004\167\0050\000\000\000\000\000\000\000\236\000\000\005Z\004\181\000\000\002N\004\192\000\000\002U\000g\000\235\005'\000\000\000\000\000\000\002Z\000\000\0051\000\000\000\000\002[\000\000\000\127\000\170\004\193\004^\000\000\000\221\002\164\004\194\004\166\000\229\000\000\004\195\004\167\000\236\000\000\000\000\000\237\004\196\005_\0052\000\000\000\236\000\000\000\000\000\237\000\000\000\000\000\000\005'\000\000\000\000\000\000\000\000\000\000\000\000\001\205\000\000\000\000\004\192\000\000\005)\000\000\005c\000\127\000\235\000\000\002P\000\238\000\000\000\000\002Q\000\000\000\000\000\000\000\000\000\238\004\193\000\000\000\000\005\220\000j\004\194\001\198\000\000\001\199\004\195\000\000\000\000\000\000\000\000\000\236\004\196\001K\000\237\000\000\005+\004\164\000\000\004\183\005)\000\236\000\000\002Z\002\\\000\000\004\180\000\227\002[\000\000\0050\000\000\000\228\000\000\000\236\000\244\000\000\004\181\000\000\000\000\000\000\000\000\005 \005\132\000\000\000\238\001\025\002]\005J\000\000\000\000\0051\000\000\000\000\000\000\005+\000\000\000\000\002`\000\000\000\000\000\000\000\000\000\000\007\178\004\180\005Z\000\236\000\000\0050\000\237\000\000\002a\000\236\000\000\0052\004\181\002\164\000\000\004\166\001K\000\000\002b\004\167\000\000\000\000\000\000\000\127\000\000\004^\0051\000\000\000\221\000\000\004\192\000\000\000\229\000\000\000\000\005'\002c\000\238\000\000\000\000\005_\002d\000\000\000\000\000\000\002e\000\236\000\000\004\193\002\\\0052\002f\000\000\004\194\000\000\002\135\004\164\004\195\004\183\000\000\000\000\000\000\000\000\004\196\005c\000\239\000\000\000\235\000\000\004\192\000\000\000\000\002]\005\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \006O\002`\000\240\000\000\005)\004\193\004\164\0013\004\183\000\000\004\194\000\000\000\000\000\000\004\195\002a\000\000\000\242\000\000\002N\004\196\000\000\002U\001K\000\000\002b\000\000\000\000\000\000\000\000\000\000\005 \006Q\000\000\002\164\000\000\004\166\000\170\000\000\005+\004\167\000\000\000\000\002c\000\000\000\000\000\000\000\000\002d\004\180\000\000\000\000\002e\0050\000\000\000\000\005'\000\236\002f\000\000\004\181\000\000\002\135\000\000\000\000\000\000\002\164\000\236\004\166\000\000\000\237\000\000\004\167\000\000\0051\000\000\000\000\000\000\000\000\000\127\000\000\000\000\002P\004\164\000\000\004\183\002Q\000\000\005'\000\000\000\000\000\000\000\000\000\000\002N\000\000\000\000\002U\0052\000\000\000\000\000\238\000\000\000\000\000\000\000\000\000\227\005)\005 \006S\000\000\000\231\000\170\000\000\000\000\000\000\000\000\004\192\002\151\000\000\000\000\000\000\000\000\002[\000\170\000\227\000\000\000\000\000\000\000\000\000\228\000\000\000\000\000\000\000\000\004\193\000\000\000\000\000\000\005)\004\194\000\000\005+\002\164\004\195\004\166\000\000\000\000\000\244\004\167\004\196\000\000\004\180\000\000\000\127\000\000\0050\002P\000\000\001\027\000\236\002Q\000\000\004\181\002N\005'\000\127\002U\000\000\000\000\000\000\000\221\000\000\000\000\005+\000\229\000\000\0051\000\000\000\000\000\000\000\000\000\170\000\000\004\180\000\127\000\000\000\000\0050\000\000\000\221\000\000\000\236\002\146\000\229\004\181\000\000\000\000\002[\000\000\000\000\0052\000\000\000\000\000\000\000\236\000\000\000\000\002\\\0051\000\235\000\000\000\000\000\000\002N\000\000\005)\002U\000\000\000\000\004\192\000\000\000\000\000\000\000\127\000\000\000\000\002P\000\000\000\235\000\000\002Q\000\170\0052\000\000\000\000\0022\000\000\004\193\000\000\0023\000\000\002`\004\194\000\000\000\000\000\000\004\195\000\000\000\000\000\000\005+\004\192\004\196\000\000\000\000\002a\000\000\000\000\000\000\000\000\004\180\000\000\002\137\001K\0050\002b\000\000\002[\000\236\004\193\000\000\004\181\000\000\000\127\004\194\000\000\002P\000\000\004\195\000\236\002Q\000\000\002\\\002c\004\196\0051\000\000\000\000\002d\000\000\000\000\000\236\002e\000\000\000\237\002\164\000\000\000\000\002f\0024\000\227\000\000\002\135\0025\000\000\000\231\000\000\000\000\000\000\0052\000\236\000\000\002\150\000\237\000\000\000\000\002`\002[\000\170\001\250\000\000\000\000\000\000\000\000\000\000\000\238\000\000\000\000\004\192\000\000\002a\002\165\000\000\000\000\000\000\000\000\000\227\000\000\001K\000\000\002b\000\231\001\252\000\000\000\238\000\000\004\193\000\000\000\000\000\236\001K\004\194\002\\\001\014\000\170\004\195\000\000\000\000\002c\000\000\000\127\004\196\000\000\002d\000\000\000\221\000\000\002e\002\166\000\229\000\000\000\000\000\240\002f\000\000\002N\001\015\002\135\002O\000\000\001\016\000\000\000\000\000\000\000\000\000\000\002`\000\242\0022\000\000\000\000\003\005\0023\000\000\000\000\000\000\000\127\000\000\002\168\000\236\002a\000\221\002\\\000\000\000\235\000\229\000\000\0022\001K\000\000\002b\0023\000\000\002\161\002\228\002\206\000\000\000\000\000\000\000\000\000\000\000\236\000\000\000\000\002\162\000\000\000\000\000\000\002c\000\000\000\000\000\000\000\000\002d\000\000\000\127\002`\002e\002P\000\000\000\235\000\000\002Q\002f\000\000\002\217\000\000\002\135\002\164\000\000\002a\002\209\0024\000\000\000\000\000\000\0025\000\000\001K\002\171\002b\000\000\000\000\000\000\000\000\000\000\0022\002\164\000\000\000\000\0023\0024\000\000\000\000\000\000\0025\000\000\000\000\002c\002[\000\000\000\000\000\000\002d\002\222\000\000\000\236\002e\000\000\000\237\000\000\000\000\000\000\002f\000\000\000\000\000\000\002\135\000\000\000\000\000\000\002\173\000\000\002\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\002\174\000\000\000\000\000\000\000\238\002\166\000\236\000\227\000\000\000\237\002\164\000\000\000\231\000\000\0024\000\000\000\000\000\000\0025\000\000\000\000\002\004\0022\000\000\002\166\000\170\0023\000\000\000\000\001K\000\000\000\000\001\014\000\000\002\011\002\168\000\000\000\000\000\000\000\000\000\238\000\000\000\000\000\000\000\000\000\236\002\165\000\000\002\\\000\000\002\161\000\240\002\206\000\000\002\168\001\015\000\000\002\r\000\236\001\016\000\000\002\162\000\000\000\000\000\000\001K\000\242\000\127\001\014\002\161\002\225\002\206\000\221\000\000\000\000\000\000\000\229\000\236\000\000\000\000\002\162\000\000\002\164\002\166\000\000\000\000\0024\000\240\002\209\000\000\0025\001\015\000\000\000\000\000\227\001\016\002\171\000\000\000\000\000\231\000\000\002\217\000\242\000\000\000\000\000\000\000\000\002\209\000\000\000\000\000\000\000\235\000\170\002\168\000\000\002\171\000\000\000\000\002\165\000\000\000\000\000\000\000\000\000\000\002\145\000\000\000\227\000\000\002\161\002\223\002\206\000\231\000\000\000\000\000\000\000\000\000\236\000\000\002\173\002\162\000\000\000\000\000\000\000\000\000\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\174\000\127\002\166\000\000\002\173\000\000\000\221\002\217\000\000\000\000\000\229\000\000\000\000\002\209\000\000\000\227\000\000\000\000\000\000\002\174\000\231\002\171\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\168\000\127\000\000\000\000\000\227\000\000\000\221\000\000\000\236\000\231\000\229\000\237\000\000\000\235\000\000\002\161\002\204\002\206\000\000\000\000\000\000\000\000\000\170\000\236\000\000\000\000\002\162\000\000\000\000\000\000\000\000\002\173\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\218\004\158\000\238\000\127\000\000\000\235\002\174\002\217\000\221\000\000\000\000\000\000\000\229\002\209\000\000\000\000\000\218\004\161\000\000\003\007\000\000\002\171\000\000\000\000\000\127\000\000\000\000\001K\000\000\000\221\001\014\000\000\000\000\000\229\000\000\000\000\000\000\0022\000\227\000\000\000\000\0023\000\000\000\231\000\000\000\000\000\000\000\235\000\000\000\240\000\000\000\000\000\000\001\015\000\000\000\236\000\170\001\016\000\237\000\000\000\127\000\000\000\000\002\173\000\242\000\221\000\000\000\000\000\235\000\222\000\000\0022\000\000\002\b\000\000\0023\000\127\000\000\002\174\000\000\000\000\000\221\000\000\002\002\000\000\000\222\000\000\000\236\000\000\000\238\000\237\000\000\000\000\000\000\000\000\000\000\000\000\002\164\000\127\000\000\000\000\0024\000\000\000\221\000\235\0025\003\r\000\229\000\000\000\000\000\000\000\000\000\000\000\000\001K\002\002\000\000\001\014\000\000\000\000\000\235\000\238\000\000\000\000\000\000\000\227\000\000\000\000\000\000\000\236\000\231\002\164\000\237\002\165\000\000\0024\000\240\000\000\003\017\0025\001\015\000\000\000\235\000\000\001\016\000\000\001K\000\000\000\000\001\014\000\236\000\242\000\000\000\237\000\000\000\000\000\000\001B\000\000\000\000\000\000\000\000\000\000\000\238\000\000\000\000\000\000\002\165\000\240\000\000\002\166\000\000\001\015\000\000\000\000\000\000\001\016\000\000\002\002\000\000\000\000\000\000\000\000\000\242\000\238\000\127\000\236\000\000\000\000\000\237\000\221\001\014\000\000\000\000\000\229\000\000\000\000\000\000\000\000\000\000\002\168\004z\000\236\000\000\002\166\000\237\000\000\000\000\000\227\001K\000\240\000\000\001\014\000\231\001\015\002\161\004\230\002\206\001\016\000\000\000\238\000\000\000\000\000\236\000\236\000\242\002\162\000\237\0022\000\235\000\000\000\240\0023\000\000\002\168\001\015\000\238\000\000\000\000\001\016\000\000\000\000\000\000\000\000\000\000\000\000\000\242\002\217\000\000\002\161\007\193\002\206\004\143\002\209\000\000\000\000\000\000\000\236\000\238\000\000\002\162\002\171\0022\000\000\000\000\000\000\0023\000\000\000\127\000\000\000\000\000\000\000\000\000\221\000\000\004\145\000\000\000\229\000\000\000\000\0022\002\217\000\000\001K\0023\000\000\001\014\002\209\002\164\000\000\000\000\002j\0024\000\000\000\000\002\171\0025\000\000\000\000\000\227\000\000\000\000\000\000\002\173\000\231\000\240\002\219\000\000\000\000\001\015\000\000\000\236\000\235\001\016\000\237\000\000\000\000\000\000\002\174\000\000\000\242\000\000\002\164\000\000\002\208\000\000\0024\000\000\000\000\000\000\0025\000\000\000\000\000\000\000\000\000\000\000\000\002\173\000\000\002\221\002\164\000\000\000\000\000\000\0024\000\238\000\000\000\000\0025\000\000\000\000\000\227\002\174\000\000\000\000\000\000\000\231\000\000\002\212\000\127\000\000\002\166\000\000\000\000\000\221\000\000\000\000\000\227\000\229\000\227\000\000\000\000\000\233\001\014\000\231\000\000\002\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\168\000\240\000\000\000\236\002\166\001\015\000\237\000\000\000\227\001\016\000\000\000\000\000\235\000\231\000\000\002\161\000\242\002\206\000\000\000\000\000\127\000\000\002\166\000\236\000\000\000\221\002\162\000\000\000\000\000\229\000\000\001\017\000\000\000\000\002\168\000\000\000\127\000\238\000\127\000\000\000\000\000\221\000\000\000\221\000\000\000\229\000\000\000\229\000\000\002\161\000\227\002\206\002\168\002\209\000\170\000\231\000\000\000\236\000\000\000\000\002\162\002\171\000\000\000\000\000\235\001\014\000\000\002\161\000\127\002\206\000\000\000\000\000\000\000\221\000\000\000\236\000\000\000\229\002\162\000\000\000\235\000\000\000\235\000\000\000\240\000\000\000\000\002\209\001\015\004D\000\000\000\000\001\016\000\000\000\236\002\171\000\000\000\237\000\000\000\242\000\000\000\000\000\000\002\173\000\000\002\209\000\000\000\000\000\000\000\000\000\127\000\000\000\235\002\171\000\000\000\221\000\227\000\000\002\174\000\229\000\000\000\231\002\221\001\194\000\000\000\000\000\227\000\000\000\238\000\000\001\204\000\231\000\000\004\200\000\000\000\000\000\000\002\173\000\000\000\000\000\000\004U\000\227\000\000\001\197\000\000\000\236\000\231\000\000\000\237\000\000\000\000\002\174\000\000\000\235\002\173\001\014\000\000\000\000\004a\000\000\000\000\000\236\000\000\000\236\000\237\000\000\000\237\000\000\000\000\002\174\000\000\000\227\000\000\002\221\000\240\000\127\000\231\000\000\001\015\000\238\000\221\000\000\001\016\000\000\000\229\000\127\000\000\000\000\004i\000\242\000\221\002\221\000\000\000\236\000\229\000\238\000\237\000\238\000\000\000\000\000\000\000\127\000\000\000\000\000\000\000\000\000\221\001\014\005\001\000\000\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\235\000\000\002\221\000\000\000\239\005\003\001\014\000\240\000\238\000\000\000\235\001\015\000\127\000\000\000\000\001\016\000\236\000\221\000\000\000\237\000\000\000\229\000\242\000\240\001\205\000\240\000\235\000\000\0016\001\015\000\000\000\000\000\000\001\016\000\000\005\005\001\014\000\000\000\242\000\000\000\242\000\000\000\000\000\000\001\017\000\000\000\000\000\000\006\007\000\227\000\238\001\198\000\000\001\199\000\231\000\240\000\235\000\000\000\000\001\015\000\000\001K\000\000\001\016\000\000\000\000\000\000\000\000\000\000\000\000\000\242\000\000\000\000\000\000\000\000\000\000\000\000\004p\001\014\000\000\000\000\000\000\000\236\000\000\000\000\000\237\000\227\000\000\000\000\000\000\000\000\000\231\000\236\000\000\000\000\000\237\000\000\000\240\000\000\000\227\000\000\001\015\000\000\000\000\000\231\001\016\000\000\000\000\000\236\000\127\002\221\000\237\000\242\000\000\000\221\000\000\000\238\000\000\000\229\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\236\000\000\000\000\000\237\000\238\000\000\001\014\000\000\000\127\000\000\000\000\000\000\000\000\000\221\000\000\000\235\001\014\000\229\000\000\000\227\000\000\000\127\000\000\000\000\000\231\000\240\000\221\000\000\001\017\001\015\000\229\000\000\001\014\001\016\000\238\000\240\000\000\000\000\000\000\001\015\000\242\000\000\000\000\001\016\000\000\000\000\000\000\000\000\000\227\000\000\000\242\000\240\000\235\000\231\000\000\001\015\000\000\000\000\000\000\001\016\000\000\000\000\001\014\000\000\000\000\000\235\000\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\000\000\000\240\000\000\000\000\000\221\001\015\000\000\000\000\000\229\001\016\000\000\000\000\005X\000\000\000\000\000\000\000\242\000\236\000\227\000\000\000\237\000\000\000\000\000\231\000\000\000\000\000\000\000\000\000\127\000\000\000\000\000\000\000\000\000\221\000\227\000\000\000\000\000\229\000\000\000\231\000\000\000\000\000\000\000\235\000\000\002\221\000\000\000\000\000\000\005a\000\000\000\238\000\000\000\000\000\236\000\000\000\000\000\237\000\000\000\000\000\000\000\000\005i\000\000\000\000\000\000\000\000\000\236\000\000\000\000\000\237\000\000\000\235\000\000\000\000\000\000\000\227\000\000\000\127\001\014\000\000\000\231\002\221\000\221\000\000\000\000\000\000\000\229\000\238\000\000\000\000\000\000\000\000\000\000\000\127\002\221\000\000\000\000\000\240\000\221\000\000\000\238\001\015\000\229\000\000\000\227\001\016\000\000\000\000\000\000\000\231\000\000\000\000\000\242\000\000\000\000\001\014\000\000\000\000\000\000\005\212\000\227\000\235\000\000\000\000\000\236\000\231\000\000\000\237\001\014\000\000\000\000\000\000\000\000\000\000\000\240\000\127\000\000\000\235\001\015\000\000\000\221\000\000\001\016\000\000\000\229\000\000\000\000\000\240\005\224\000\242\000\000\001\015\002\221\000\236\000\000\001\016\000\237\000\000\000\238\000\000\000\000\000\000\000\242\000\000\000\127\000\000\000\000\000\000\000\000\000\221\000\227\000\000\000\000\000\229\000\000\000\231\000\000\000\000\000\000\000\235\000\127\002\221\000\000\000\227\000\000\000\221\001\014\000\238\000\231\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\229\b\002\000\000\000\000\000\000\000\236\000\000\000\240\000\237\000\227\000\235\001\015\000\000\000\000\000\231\001\016\005\236\001\014\000\000\000\000\000\000\000\236\000\242\000\000\000\237\000\000\000\235\000\000\000\000\000\000\000\000\000\000\000\127\002\221\000\000\000\000\000\240\000\221\000\000\000\238\001\015\000\229\000\000\000\000\001\016\000\127\000\000\000\000\000\000\002\221\000\221\000\242\000\000\000\000\000\229\000\238\000\000\000\000\005\245\000\227\000\000\000\000\000\000\000\236\000\231\000\000\000\237\001\014\000\000\000\127\000\000\000\000\000\227\000\000\000\221\000\000\000\235\000\231\000\229\000\000\000\000\000\000\000\000\001\014\000\000\000\000\000\240\006\011\000\000\000\235\001\015\002\221\000\236\000\000\001\016\000\237\000\000\000\238\000\000\000\000\000\000\000\242\000\240\006\016\000\000\000\000\001\015\000\000\000\236\000\000\001\016\000\237\000\000\000\235\000\000\000\000\000\000\000\242\000\000\000\127\002\221\000\000\000\227\000\000\000\221\001\014\000\238\000\231\000\229\000\000\000\000\000\000\000\127\000\000\000\000\000\000\002\221\000\221\000\000\000\000\000\000\000\229\000\238\000\000\000\240\000\000\000\227\000\000\001\015\000\000\000\000\000\231\001\016\006\023\001\014\000\000\000\000\000\000\000\236\000\242\000\000\000\237\000\227\000\235\000\000\000\000\000\000\000\231\000\000\000\000\001\014\000\236\000\000\000\240\000\237\000\000\000\235\001\015\000\000\000\000\000\000\001\016\000\127\000\000\000\000\000\000\002\221\000\221\000\242\000\240\000\000\000\229\000\238\001\015\000\000\000\236\000\000\001\016\000\237\007\158\000\000\000\000\000\000\000\000\000\242\000\238\000\127\000\000\000\000\000\000\000\000\000\221\000\227\000\000\000\000\000\229\000\000\000\231\000\000\000\000\001\014\000\000\000\127\0017\000\000\000\227\000\235\000\221\000\000\000\238\000\231\000\229\000\000\001\014\000\000\000\000\000\000\000\000\000\000\000\240\000\000\000\227\000\000\001\015\000\000\000\236\000\231\001\016\000\237\000\000\000\235\000\000\000\240\000\000\000\242\000\000\001\015\001\014\000\236\000\000\001\016\000\237\000\000\000\000\000\000\000\000\000\235\000\242\000\000\000\000\000\000\000\000\000\127\001\r\000\000\000\000\000\240\000\221\000\000\000\238\001\015\000\229\000\000\000\000\001\016\000\127\001D\000\000\000\000\000\000\000\221\000\242\000\238\000\000\000\229\000\000\000\000\000\000\000\000\000\227\000\000\000\127\000\000\000\000\000\231\000\000\000\221\001\014\000\236\000\000\000\229\000\237\000\227\000\000\000\000\000\000\000\235\000\231\000\000\000\000\001\014\000\000\000\000\000\000\000\000\000\000\000\240\000\000\000\000\000\235\001\015\000\000\000\236\000\000\001\016\000\237\002\017\000\000\000\000\000\240\000\000\000\242\000\238\001\015\000\000\000\235\000\000\001\016\000\236\000\000\000\000\000\237\000\000\000\000\000\242\000\000\000\000\000\000\000\000\000\127\002\019\000\000\000\000\000\000\000\221\000\000\000\238\000\000\000\229\000\000\001\014\000\000\000\127\000\000\000\000\000\000\002l\000\221\000\227\000\000\000\000\000\229\000\238\000\231\000\000\000\000\000\000\000\000\000\000\000\240\000\000\000\000\000\000\001\015\001\014\000\000\000\000\001\016\000\236\000\000\000\000\000\237\000\227\000\235\000\242\000\000\000\000\000\231\000\000\000\000\001\014\000\236\000\000\000\240\000\237\000\000\000\235\001\015\000\000\000\000\000\000\001\016\000\000\000\000\000\000\000\000\002\139\000\236\000\242\000\240\000\237\000\000\000\238\001\015\000\000\000\000\000\000\001\016\000\127\002\155\000\000\000\000\000\000\000\221\000\242\000\238\000\000\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\251\000\000\000\000\000\000\000\000\001\014\000\238\000\127\000\000\000\000\000\227\000\000\000\221\000\000\000\000\000\231\000\229\000\000\001\014\000\000\000\000\000\000\000\000\000\000\000\240\000\000\000\227\000\235\001\015\000\000\000\236\000\231\001\016\000\237\001\014\000\000\000\000\000\240\000\000\000\242\000\000\001\015\000\000\000\236\000\000\001\016\000\237\000\000\000\000\000\000\000\000\000\235\000\242\000\240\000\000\000\000\000\000\001\015\0043\000\000\000\000\001\016\000\227\000\000\000\238\000\000\000\000\000\231\000\242\000\000\000\127\0049\000\000\000\000\000\000\000\221\000\000\000\238\000\000\000\229\000\227\000\000\000\227\000\000\000\000\000\231\000\127\000\231\000\000\000\000\000\000\000\221\001\014\000\000\000\000\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\014\000\000\000\000\000\000\000\236\000\000\000\240\000\237\000\000\000\235\001\015\000\000\000\000\000\000\001\016\000\000\000\000\000\127\000\000\000\240\000\000\000\242\000\221\001\015\000\000\000\235\000\229\001\016\000\236\000\000\000\000\000\237\004\127\000\000\000\242\000\127\000\000\000\127\000\238\000\000\000\221\000\000\000\221\000\000\000\229\000\000\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\132\000\000\000\000\000\000\000\000\000\235\000\238\000\000\000\000\000\000\001\014\000\000\000\000\000\227\000\000\000\000\000\000\000\000\000\231\000\000\000\000\000\000\000\000\000\235\000\000\000\235\000\227\000\000\000\000\000\240\000\000\000\231\000\000\001\015\001\014\000\236\000\000\001\016\000\237\000\000\000\000\000\000\000\000\000\000\000\242\000\000\000\000\000\000\000\000\000\000\000\000\000\236\000\000\000\240\000\237\000\000\000\000\001\015\000\000\000\000\000\000\001\016\000\000\004\136\000\000\000\000\000\000\000\000\000\242\000\238\000\000\000\000\000\000\000\127\000\000\000\000\000\000\000\000\000\221\004\174\000\000\000\000\000\229\000\000\000\000\000\238\000\127\000\236\000\000\000\000\000\237\000\221\000\000\000\227\000\000\000\229\000\000\001\014\000\231\000\000\000\000\000\000\000\000\000\000\000\000\000\236\000\000\000\236\000\237\000\000\000\237\000\000\000\000\001\014\000\000\004\202\000\240\000\235\000\000\000\000\001\015\000\238\000\000\000\000\001\016\000\000\000\000\000\000\000\000\000\000\000\235\000\242\000\240\004\249\000\000\005$\001\015\000\000\000\000\000\238\001\016\000\238\000\000\000\000\000\000\000\227\000\000\000\242\000\000\001\014\000\231\000\000\000\000\000\127\000\000\000\000\000\000\000\000\000\221\000\227\000\000\000\000\000\229\000\000\000\231\000\000\000\000\001\014\000\240\001\014\000\000\000\000\001\015\000\000\000\000\000\000\001\016\000\000\000\000\000\000\000\000\000\000\000\000\000\242\000\000\000\000\000\240\000\000\000\240\000\000\001\015\000\000\001\015\000\000\001\016\000\227\001\016\000\235\000\000\000\236\000\231\000\242\000\237\000\242\000\000\000\127\000\000\000\000\000\227\000\000\000\221\000\000\000\236\000\231\000\229\000\237\000\000\000\000\000\000\000\127\000\000\000\000\000\000\000\000\000\221\000\227\000\000\005\199\000\229\000\000\000\231\000\000\000\000\000\238\000\000\000\000\000\000\000\000\000\000\000\000\006-\000\000\000\000\000\000\000\000\000\000\000\238\000\000\000\000\000\235\000\000\000\227\000\000\000\000\000\000\000\127\000\233\000\000\0022\000\000\000\221\001\014\0023\000\235\000\229\000\000\000\000\000\000\000\127\000\000\000\000\000\000\002N\000\221\001\014\002U\000\000\000\229\000\227\000\236\000\240\000\000\000\237\000\233\001\015\000\127\000\000\000\000\001\016\000\000\000\221\000\000\000\000\000\240\000\229\000\242\000\000\001\015\000\000\000\235\000\000\001\016\000\000\000\000\000\000\000\000\000\000\006A\000\242\000\000\000\000\000\127\000\235\000\238\000\000\000\000\000\221\000\000\002\164\000\000\000\229\000\000\0024\000\000\000\000\000\000\0025\000\000\000\000\000\235\000\000\000\236\000\127\000\000\000\237\002P\000\000\000\000\000\127\002Q\000\000\001\014\000\000\000\221\000\000\000\236\000\000\000\229\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\235\000\000\000\000\000\000\006C\000\240\000\000\000\000\000\000\001\015\000\238\000\000\000\000\001\016\000\000\000\000\000\000\000\000\006E\000\000\000\242\002[\000\000\000\000\000\238\000\000\000\236\000\235\000\000\000\237\000\000\000\000\000\000\000\000\000\000\000\227\002\166\000\000\001\014\000\236\000\233\000\000\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\014\000\000\006K\000\000\000\236\000\240\000\000\000\237\000\238\001\015\000\000\000\000\000\000\001\016\002\168\006Y\000\000\000\000\000\000\000\240\000\242\000\238\000\000\001\015\000\000\000\000\000\000\001\016\000\000\002\161\000\236\002\170\006g\000\237\000\242\000\000\001\014\000\236\000\238\000\000\002\162\000\000\000\000\000\127\000\000\000\000\000\000\000\000\000\221\001\014\000\000\000\236\000\229\000\227\002\\\000\240\000\000\000\236\000\233\001\015\000\237\000\000\000\000\001\016\000\238\000\000\001\014\000\000\000\240\000\000\000\242\000\000\001\015\000\000\000\000\002\171\001\016\000\227\000\000\000\000\000\000\000\000\000\228\000\242\000\000\000\240\000\000\000\235\002\255\001\015\000\227\000\238\000\239\001\016\000\000\000\228\000\227\000\000\000\227\000\000\000\242\000\228\000\000\000\228\000\000\000\000\000\000\000\000\000\000\000\000\000\227\000\240\002b\000\127\000\000\000\228\002W\002\173\000\221\000\239\000\227\000\000\000\229\000\000\000\000\000\228\000\242\000\000\000\227\000\000\002c\000\000\002\174\000\228\000\000\002d\000\000\000\127\000\240\002e\000\000\000\000\000\221\002Y\000\000\002f\000\229\000\227\000\000\000\000\000\127\000\000\000\228\000\242\000\000\000\221\000\127\000\235\000\127\000\229\000\000\000\221\000\000\000\221\000\000\000\229\000\000\000\229\000\000\000\236\000\127\000\000\000\237\000\000\000\000\000\221\000\000\000\000\000\000\000\229\000\127\000\235\000\000\000\000\000\000\000\221\000\000\000\000\000\127\000\229\000\000\000\000\000\000\000\221\000\235\000\000\000\000\000\229\000\000\000\000\000\235\000\000\000\235\000\238\000\000\000\000\000\000\000\127\000\000\000\000\000\000\000\000\000\221\000\000\000\235\000\000\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\227\000\235\000\000\000\000\000\000\000\228\000\000\000\000\000\239\000\235\000\227\000\000\000\227\000\000\000\000\000\228\000\236\000\228\000\000\000\237\000\227\000\000\000\000\000\000\000\000\000\228\000\000\000\240\000\235\000\000\000\000\000\000\004\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\236\000\000\000\242\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\238\000\000\000\000\000\236\000\000\000\000\000\237\000\000\000\000\000\236\000\127\000\236\000\237\000\000\000\237\000\221\000\227\000\000\000\000\000\229\000\127\000\228\000\127\000\236\000\238\000\221\000\237\000\221\000\239\000\229\000\127\000\229\000\000\000\236\000\000\000\221\000\237\000\238\000\000\000\229\000\000\000\236\000\000\000\238\000\237\000\238\000\000\000\240\000\000\000\000\000\000\000\000\004\187\000\000\000\235\000\000\000\000\000\238\000\000\000\000\000\236\000\000\000\242\000\237\000\235\000\000\000\235\000\238\000\000\000\000\000\000\000\244\000\000\000\000\000\235\000\238\000\127\000\000\000\000\000\000\000\000\000\221\001\029\000\000\000\244\000\229\000\000\000\000\000\000\000\000\000\244\000\000\000\244\000\227\000\238\001\031\000\000\000\000\000\228\000\000\000\227\001!\000\000\001#\000\244\000\228\000\227\000\227\000\000\000\000\000\000\000\228\000\228\000\000\000\244\001%\000\000\000\000\000\000\000\227\000\235\000\000\000\244\000\000\000\228\001'\000\227\000\000\000\000\000\000\000\000\000\228\000\000\001)\000\000\000\000\000\236\000\000\000\000\000\237\000\000\000\244\000\000\000\000\000\000\000\000\000\236\000\000\000\236\000\237\000\000\000\237\001+\000\127\000\000\000\000\000\236\000\000\000\221\000\237\000\127\000\000\000\229\000\000\000\000\000\221\000\127\000\127\000\000\000\229\000\238\000\221\000\221\000\000\000\000\000\229\000\229\000\000\000\000\000\127\000\238\000\000\000\238\000\000\000\221\000\000\000\127\000\000\000\229\000\000\000\238\000\221\000\000\000\227\000\227\000\229\000\000\000\235\000\228\000\228\000\000\000\000\000\236\000\000\000\235\000\237\000\000\000\000\000\000\000\000\000\235\000\235\000\000\000\000\000\000\000\000\000\000\000\244\000\000\000\000\000\000\000\000\000\000\000\235\000\000\000\000\000\000\000\244\001-\000\244\000\235\000\000\000\000\000\000\000\000\000\000\000\238\000\244\001/\000\000\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002h\000\000\000\000\000\000\000\000\000\127\000\127\000\000\000\000\000\000\000\221\000\221\000\000\000\000\000\229\000\229\000\227\000\227\000\000\000\000\000\000\000\228\000\228\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\236\000\000\000\000\000\237\000\244\000\000\000\000\000\236\000\000\000\000\000\237\000\000\000\000\000\236\000\236\002n\000\237\000\237\000\235\000\235\000\000\000\000\000\227\000\000\000\000\000\000\000\236\000\228\000\000\000\237\000\000\000\000\000\000\000\236\000\238\000\000\000\237\000\000\000\000\000\000\000\000\000\238\000\000\000\000\000\000\000\127\000\127\000\238\000\238\000\000\000\221\000\221\000\227\000\000\000\229\000\229\000\000\000\228\000\000\000\227\000\238\000\000\000\000\000\000\000\228\000\000\000\000\000\238\000\000\000\000\000\000\000\000\000\227\000\227\000\000\000\000\000\000\000\228\000\228\000\227\000\000\000\244\000\127\000\000\000\228\000\000\000\000\000\221\000\244\000\235\000\235\000\229\002p\000\000\000\244\000\244\000\000\000\227\000\000\002r\000\236\000\236\000\228\000\237\000\237\002t\002v\000\244\000\000\000\000\000\000\000\000\000\127\000\000\000\244\000\000\000\000\000\221\002x\000\127\000\000\000\229\000\000\000\000\000\221\002z\000\235\000\000\000\229\000\000\000\000\000\000\000\127\000\127\000\238\000\238\000\000\000\221\000\221\000\127\000\000\000\229\000\229\000\000\000\221\000\000\000\000\000\227\000\229\000\000\000\000\000\000\000\228\000\000\000\000\000\000\000\235\000\127\000\000\000\000\000\000\000\000\000\221\000\235\000\000\000\000\000\229\000\000\000\000\000\000\000\000\000\236\000\236\000\000\000\237\000\237\000\235\000\235\000\000\000\000\000\000\000\244\000\244\000\235\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002|\002~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\235\000\000\000\000\000\000\000\238\000\238\000\127\000\236\000\227\000\000\000\237\000\221\000\000\000\228\000\000\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\236\000\000\000\000\000\237\000\238\000\000\000\000\000\236\000\000\000\000\000\237\000\227\000\000\000\235\000\244\000\244\000\228\000\227\000\000\000\000\000\236\000\236\000\228\000\237\000\237\002\128\002\130\000\236\000\000\000\000\000\237\000\127\000\000\000\000\000\238\000\000\000\221\000\000\000\000\000\000\000\229\000\238\000\000\000\000\000\000\000\236\000\000\000\000\000\237\000\000\000\000\000\244\000\000\000\000\000\238\000\238\000\000\000\000\000\000\000\000\000\000\000\238\002\132\000\000\000\000\000\227\000\000\000\227\000\000\000\000\000\228\000\127\000\228\000\227\000\000\000\235\000\221\000\127\000\228\000\238\000\229\000\244\000\221\000\000\000\000\000\227\000\229\000\000\000\244\000\000\000\228\000\000\002\134\000\000\000\000\000\236\000\000\000\000\000\237\002\176\000\000\000\244\000\244\000\000\000\000\000\227\000\000\000\000\000\244\000\000\000\228\000\000\002\178\002\180\000\000\000\235\000\000\000\000\000\000\002\182\000\000\000\235\000\000\000\000\000\000\000\127\000\244\000\127\000\000\000\238\000\221\000\000\000\221\000\127\000\229\000\000\000\229\002\184\000\221\000\000\000\000\000\000\000\229\000\000\000\000\000\127\000\000\000\000\000\000\000\000\000\221\000\000\000\000\000\227\000\229\000\000\000\000\000\236\000\228\000\000\000\237\000\227\000\000\000\000\000\000\000\127\000\228\000\000\000\000\000\235\000\221\000\235\000\000\000\000\000\229\000\227\000\244\000\235\000\000\000\000\000\228\000\000\000\000\000\000\000\000\000\000\000\000\002\186\000\000\000\235\000\000\000\238\000\000\000\000\000\000\000\000\000\000\000\236\000\000\000\000\000\237\000\000\000\000\000\236\000\000\000\000\000\237\000\227\000\000\000\235\000\000\000\000\000\228\000\127\000\000\000\000\000\000\000\000\000\221\000\000\000\000\000\127\000\229\000\227\000\000\000\000\000\221\000\000\000\228\000\000\000\229\000\238\000\000\000\000\000\000\000\127\000\000\000\238\000\244\000\000\000\221\000\000\000\000\000\000\000\229\000\000\000\000\000\000\000\000\002\188\000\000\000\236\000\000\000\236\000\237\000\227\000\237\000\235\000\000\000\236\000\228\000\227\000\237\000\000\000\000\000\235\000\228\000\127\000\000\000\000\000\000\000\236\000\221\000\000\000\237\000\000\000\229\000\000\000\244\000\235\000\000\000\000\000\000\000\127\000\244\000\238\000\000\000\238\000\221\002\190\000\000\000\236\000\229\000\238\000\237\002\192\000\000\000\227\000\000\000\000\000\000\000\000\000\228\000\000\000\000\000\238\000\000\000\000\000\000\000\227\000\000\000\235\000\000\000\000\000\228\000\127\000\000\000\227\000\000\000\000\000\221\000\127\000\228\000\000\000\229\000\238\000\221\000\235\000\000\000\000\000\229\000\000\000\244\000\000\000\244\000\000\000\000\000\000\000\000\000\236\000\244\000\000\000\237\002\194\000\000\002\196\000\000\000\236\000\000\000\000\000\237\002\198\000\244\000\000\000\000\000\000\000\000\000\127\000\000\000\235\000\000\000\236\000\221\002\200\000\237\000\235\000\229\000\000\000\000\000\127\000\000\000\000\000\244\000\238\000\221\000\000\000\000\000\127\000\229\000\000\000\227\000\238\000\221\002\202\000\000\000\228\000\229\000\000\000\000\000\000\000\000\000\000\000\227\000\236\000\000\000\238\000\237\000\228\000\000\000\000\000\227\000\235\000\000\000\000\000\000\000\228\000\000\000\000\000\000\000\236\000\000\000\000\000\237\000\235\000\000\000\000\000\000\000\000\000\000\000\000\000\244\000\235\000\000\000\000\000\000\000\000\000\000\000\238\000\244\000\000\000\000\004\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\204\000\127\000\236\000\244\000\238\000\237\000\221\000\000\000\236\000\000\000\229\000\237\000\227\000\127\004\206\000\000\000\000\000\228\000\221\000\000\000\000\000\127\000\229\000\000\000\000\000\000\000\221\000\000\000\000\000\000\000\229\000\000\000\000\000\000\000\000\000\244\000\238\000\000\000\000\000\000\000\000\000\000\000\238\000\000\000\236\000\235\004\208\000\237\000\000\000\000\000\000\000\244\000\000\000\000\000\000\000\000\000\236\000\235\000\000\000\237\000\000\000\000\004\210\000\000\000\236\000\235\000\000\000\237\000\000\000\000\000\000\000\000\000\127\000\000\000\000\000\000\000\000\000\221\000\238\000\000\000\000\000\229\000\000\000\244\000\000\000\000\000\000\000\000\000\000\000\244\000\238\000\000\000\000\000\000\004\212\000\000\000\000\000\000\000\238\000\000\004\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\000\000\000\000\000\235\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\244\000\000\000\236\000\000\000\000\000\237\000\000\000\000\000\000\000\000\000\000\004\216\000\244\000\000\000\236\000\000\000\000\000\237\000\000\000\000\000\244\000\000\000\236\004\218\000\000\000\237\000\000\000\000\000\000\000\000\000\000\004\220\000\000\000\000\000\000\000\000\000\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\236\000\000\000\000\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\244\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\222\000\244\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\244\000\000\000\000\004\224\000\238\000\000\000\000\000\000\000\000\000\000\000\000\004\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\244\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\228")) + ((16, "\000\239\000f\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\001)\000\000\001]\001\184\000\000\000\245\000w\000\000\000\000\000\000\000D\001p\000\000\000\000\001|\001\146\001\188\000\000\000\000\002\154\000\000\000\000\002\158\000\000\002\242\000\000\000\000\000\000\0036\000\000\003J\000\000\000\000\000\000\004:\000\000\004@\000\000\000\000\004\128\004\194\000\000\000\000\004\210\004\230\004\246\000\000\000\000\004\252\000\000\000\000\005\"\000\000\005\162\000\000\000\000\000\000\0062\000\000\006<\000\000\007&\007(\000\000\000\000\0076\000\000\007\\\007\148\007\164\000\000\000\000\007\168\000\000\007\176\000\000\000\000\007\242\000\000\b0\000\000\000X\000\000\002\176\002\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\157\n\220\000\000\000u\000\000\000\000\0144\000\000\000\000\015\224\000\000\000\000\000\000\001&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\234\000\000\000\000\bp\021d\000\000\000\000\021h\000\000\000\000\000\000\000\000\bR\000\000\bZ\018\184\000\000\b`\000\000\000\000\b\138\000\000\000\000\b\156\000\000\b\174\000\000\000\000\000\000\b\222\000\000\000\134\b\228\000\144\000\000\002H\000\000\000\000\000\000\0052\000\000\003\234\000\000\000\000\000\000\000#\000\000\000\000\016\016\000\127\002R\000\000\000\000\005\022\t\156\000\000\006\020\000\000\011v\006\2462*\006\246\n\162\026R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\1842z\000\000\000\000\019\216\020\184\021~\000\000\023\188\002\170\000\000\000\000\004<\024x\000\000\000\000\000\000\014v\000\000)$.\198\bR\000\000\000\000?4\000\000\000r\000\000\021P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\152\000\000\000\000\001\016\000\000\002\250\000\000\016\030\000\000\016\168\000\000\026\162\000\000#\150\000\000.\202\000\000/\024\000\0004 \000\0004B\000\000\011\232\000\000@\030\000\000\000\000\000\000\000\000\000\0004\176\000\0006x\000\000Cp\000\000F\208\000\000G^\000\000Gb\000\000Gv\000\000G\142\000\000H\028\000\000Ht\000\000H\128\000\000H\152\000\000I\014\000\000I0\000\000I>\000\000IV\000\000\024\198\000\000\000\000\028L\000\000\000\000\000\000\000\000\015\188\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Z@Z\000\000\002\002\000\000\000\000\002\018\003\142\000\000\000\254\t\024\000\000\000\000\t\"\tp\000\000\000\000\tz\t\142\t\166\000\000\000\000\t\186\000\000\000\000\t\202\000\000\t\210\000\000\000\000\000\000\t\214\000\000\t\232\000\000\t\234\000\000\t\248\000\000\000\000\t\254\n\004\000\000\000\000\n\n\n\012\n\"\000\000\000\000\n0\000\000\000\000\n4\000\000\n8\000\000\000\000\000\000\n<\000\000\nB\000\000\nD\nN\000\000\000\000\n^\000\000\np\nr\nz\000\000\000\000\n\130\000\000\n\138\000\000\000\000\n\140\000\000\n\142\000\000\003V!\252\000\000\n\148\000\000\n\156$\240\000\000\n\158\000\000\000\000\n\166\000\000\n\176\000\000\n\178\000\000\000\000\000\000\n\184\000\000\n\188\tf\000\000\000\000\000\000\n\198\000\000\000E\000\000\000\000\000z!\138\000\000\016\132\000\000\020\018\000\000\000\000\005\"\000\026\000\000\000\000\000\000\000\000\0062\001\198\000\000\t\224\000\000\000\000\000\000\018t\000\000\021^\000\000\012\218\000\000\000\000\000\000\000\000\000\000\000\000\rH\000\000\000\000\001\144\000\000\001\178\000\000\000\000\000\000\012\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\254\bD\r\030\000\000\n\214\000\000\n\224\r(\000\000\n\230\000\000\000\000\000\000\022L\000\000\000\000\000\000\000\000\002\154\000\000\000\0003X\000\000\000\000\000\000\005\158\r\242\000\000\025\0003\168\000\000\000\000\000\000\000\000\018\160\030p\000\000\000\0003\248\000\000\000\000\000\000\007\1704\158@\210\000\000@\234\000\000\000\000\000\0004\224\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\028\236\000\000\000\000\000\000\000\000'H5\166\021\168\000\000\029\018\000\000\000\000\031P\000\000\007\188\000\000\000\000\012\016\000\000\000\000\000\000\021\180\000\000)\236/\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\142\000\000\000\000\000\0000\2521T$J\000\000\000\000$\146\000\000\007\192\000\000\r\214\000\000\000\000\000\000\022$\000\000*\004\000\000\030\138\000\000 \200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000If\000\0008`\000\000A\002\000\000Ir\000\000J<\000\000J^\000\000J\134\000\000J\212\000\000K\028\000\000K4\000\000K@\000\000KP\000\000K\162\000\000L\014\000\000L,\000\000L<\000\000\000\0001\194\000\000Aj\000\000\000\000\000\000\023@\000\000\000\000\000\000\000\000\000\000\000\0001\218\000\000\000\000\000\000\000\000A\178\000\000\000\000\000\000\024\156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\200\000\000<\004\000\000\001%\000\000\000\000\000\000LX\000\000L\\\000\000Lv\000\000M8\000\000M\128\000\000M\148\000\000M\164\000\000M\202\000\000M\246\000\000N<\000\000Nb\000\000N\134\000\000N\150\000\000N\204\000\000\000\000\000\000\000\000\000\000\023\166\000\000\000\000\000J%^\000\000\000\0008@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\149\000\000\000\000A\226\000\000\000\000\000\000\007\200\001@\000\000\000\000\000\000\000\000\n&\000\0005\230\000\000\000\000\000\000\000\000\000\0006\016\000\000\000\000\000\0006R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\252\000\000\n\254\016\180\000\000\011\006\000\000\000\000\004\000\004\136\000\000\004\018\000\000\000\000\000\000\000\000\019\192\000\000\011\b\000\000\000\000\000-\004N\000\000\005N\000\000\000\000\000\000\001p\000\000\014`\002\146\011\n\000\000\000\000\011\022\011\028\000\000\000\000\011\"\0114\0116\000\000\000\000\011:\000\000\000\000\011>\000\000\011T\000\000\000\000\000\000\011V\000\000\011X\000\000\011\\\000\000\011^\000\000\000\000\011`\011b\000\000\000\000\011d\011h\011l\000\000\000\000\011n\000\000\000\000\011t\000\000\011v\000\000\000\000\000\000\011\138\000\000\011\146\000\000\011\148\011\152\000\000\000\000\011\154\000\000\011\164\011\168\011\172\000\000\000\000\011\174\000\000\011\184\000\000\000\000\011\194\000\000\011\198\000\000\007\228)\014\000\000\011\202\000\000\011\210)Z\000\000\011\216\000\000\000\000\011\218\000\000\011\222\000\000\011\236\000\000\000\000\000\000\011\238\000\000\005\162\000\000\000\000\000\000\005h\001\218\000\000\000\000\006p\000\000\000\000\011\240\019\\\000\000\012\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004j\000\000\000\000\000\000\000\000\000\000\t\b\020^\000\000\012\n\000\000\012(\021\200\000\000\012*\000\000\000\000\rX\0124\000\000\000\000\012>\012D\000\000\000\000\012N\012P\012j\000\000\000\000\012l\000\000\000\000\012n\000\000\012p\000\000\000\000\000\000\012v\000\000\012x\000\000\012|\000\000\012\132\000\000\000\000\012\140\012\146\000\000\000\000\012\152\012\160\012\162\000\000\000\000\012\166\000\000\000\000\012\170\000\000\012\174\000\000\000\000\000\000\012\180\000\000\012\188\000\000\012\190\012\204\000\000\000\000\012\208\000\000\012\212\012\218\012\226\000\000\000\000\012\230\000\000\012\238\000\000\000\000\012\246\000\000\012\250\000\000\b\")\136\000\000\r\012\000\000\r\014+\"\000\000\r$\000\000\000\000\r*\000\000\r0\000\000\r2\000\000\000\000\000\000\r4\000\000\rF\023b\000\000\rJ\000\000\000\000\n\238\029\014\000\000\rN\000\000\rP\0300\000\000\rT\000\000\000\000\000\000\000\000\000\000\000\000\000\000Bb\000\000*\182\000\000\000\000\000\000B\180\000\000\000\000\006\180\000\000\000\000\000\000\005\254\007\254\000\000\000\000(\016\000\000\000\000\002\178\000\000\000\000\000\000\000\000\004\224\000\000\022N\000\000\000\000\017$\000\000\000\000\000\0008\222\000\000\000\000\000\000\000\000\000\000\019P\000\000\000\000\000\000\000\127\000\0009p\000\000\000\000\000\000\000\000\005\024\r\240\000\0009\184\000\000\000\000\000\000\000\000\014H\000\0009\210\000\000\000\000\000\000\000\000\001\029\000\000\007\230\000\000\000\000'\1386\154\000\000\000\000\000\000CB\000\000\000\000\000\000\001\n\000\000C\182\000\000\000\000\000\000C\186\000\000\000\000\003\018\000\000\029j\000\0276\174\000\000\000\000\000\000\b\192\014\234\000\000\000\000\000\000\000\000\000\000\000\000)\214\000\000\000\000)\238\000\000\000\000+\224\000\000\bj\000\000\020\024\000\000\000\000\000\000\025\222\000\000*\244\000\000\000\000C\226\000\000\000\000\000\000\025\238\000\000\000\000\000\000\000\000\000\000\000\000!`\000\000#\204\000\000\000\000\000\000\006\152\000\000\000\000\000\000\000\000\000\000\000\000N\232\000\000:\154\000\000DD\000\000O\148\000\000O\218\000\000O\230\000\000P,\000\000P:\000\000P\196\000\000P\232\000\000P\246\000\000Q.\000\000Q2\000\000QR\000\000Q^\000\000R\012\000\0007\210\000\000\000\000\000\000\0014\000\000\005\224\000\000\015\148\002\022\b\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\160\000\000+\208(\182\026\132\000\000\000\000\000\000:\238\000\000;P\000\000;\162\000\000,\020,.\005\156\003\214\000\000\000L\005\004\000\000\000\000\000\000\007\\\000\000\000\000\n@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000,\238\000\000,r\000\000\000\000\000\000\016D\000\000\000\000\007\150\000\000\000\000\000\000\030\028\002t\000\000\030\226\000\000\000\000\000\000\000\000\003:\000\000\000\000\017B\000\000\031\168\000\000\000\000-F\000\000\000\000\000\000\t\162\000\000\000\000\023\214\000\000\000\000\023\242\000\000\000\000\000\000;\234\000\000\000\000\000\000\031\140\000\000\000\000\000\000\000\000<0\000\000\000\000\000\000\000\000\tB\017d\000\000<2\000\000\000\000\000\000\000\000\000\000\000\000\017\212\000\000\000\000\003\220\000\000\018\210\000\000\t\162\000\000\000\000\006\2440\164\000\000\006\254\000\000\000\000\000\000\000\000\006\152\000\000-\248\000\000 Z\003\204! \000\000\0046\000\000\019\152\000\000\020J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007J!\230\000N\"\152\000\000\000\000\000\000\001\154\000\000\021\016\000\000\007N\000\000\000\000\014\250\003F#^\000\000\005$\000\000\021\214$$\000\000\000\000\022\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007v\tt\000\000\007\140\000\000\000\000\000\000\000\000\006\156\000\000\023N\000\000\000\000\000\000'\164E\128\000\000\000\000\000\000'6\000\000\000\000\000\000\000\000\000\000\011\192\024:\000\000\000\000=.\000\000\000\000\015<\000\000\025\166\000\000\000\000\"\004\000\000\000\000\000\000=B\000\000\000\000\000\000\000\000=j\000\000\000\000\t\234\025\190\000\000\000\000=\130\000\000\000\000\007\156(h\000\000\026\014\000\000\000\000=\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000.\170\000\000\000\000\000\000\014V\000\000\000\000\028z\000\000\000\000'\134\000\000\000\000\000\000>@\000\000\000\000\000\000\000\000>T\000\000\000\000\n\152\028\248\000\000\000\000? \000\000\000\000\007\188\000\000\000\000\000\000\000\000\014V\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\158\000\000\024\020\000\000\000\000\000\000E\148\000\000\nX\000\000\000\000\000\000\000B\000\000\016l\000\000\000\000\002\030\024\218\000\000\025\160\000\000\000\000\000\000\004\164\000\000E\152\004\248E\172\000\000F~\000\000\000\000\000\000\005t\000\000F\150\006(\000\000\000\000.\250\006\000\000\028\164\000\000/\254\0142\000\000\000\000\000\000\000\000\000\000\0007\000\000\000\000\000\000\000\000\000\000?\212\000\000\000\165\000\000\000\000\000\000\000\000\000\000\000\172\000\000\011\148\001\b\012\156\000\000\002\180\r\176\000\000\001\180\000\000\0030\000\000\004\184\000\000\0054\000\000/\254\000\000\000\000\000\000\000\000\000\000\005\210\000\000\006\252\000\000\007<\000\000/\254\014\166\000\000\003$\000\000\014\144\001\186\000\000\rH\000\000\rL\000\000\000\000\000\000\000\000\000\000\000\000\rR\000\000\rV\000\000\r\\\000\000\000\000\000\000\000\000\000\000\r\130\000\000\000\000\000\000\000\000\000\000\014\210\r\140\000\000\000\000\r\196\000\000\000\000\r\154\006\004\015$\000\000\015*\000\000\000\000\004\196\t8\000\000\r\234\000\000\000\000\014$\000\000\000\000\000\000\000\000\000\000\000\000\015\022\r\208\000\000\000\000\000\000\014\016\r\234\b\162\006\240\014\022\014l\000\000\000\000\014\030\b\212\t\136\014R\014\142\000\000\000\000\t\200\015x\000\000\015z\000\000\015\166\000\000\000\000\015\134\000\000\000\000\015\144\000\000\000\000\000\000\000\000\015\146\000\000\015\188\000\000\000\000\000\000\015\192\000\000\000\000\000\000\015\196\000\000\000\000\000\000"), (16, "\0027\000\174\001\175\001\181\004\171\001\180\004\190\b\017\007\031\007l\b\018\007\003\006\169\006\170\006r\006\224\006\169\006\170\000\174\000\181\0027\000\007\000\174\003\178\004\171\000\174\004\190\004E\005\140\005t\007\182\000\018\007 \007\216\002\178\000\183\007#\006\169\006\170\007\217\0068\007m\000\174\007n\001\182\003\182\000\005\007\218\000\174\005E\0027\000h\000\183\000\017\0028\000p\004s\000\129\0029\004F\000\r\001\182\000\025\b\t\b\n\005F\007\187\004\173\001\182\003\181\000\129\004\174\007o\007\133\000\231\000p\004s\b\022\001\182\000\237\005\160\000\016\000\017\007p\003\185\005F\005.\004\173\006\171\000\129\003\003\004\174\006\171\000\231\000r\002\177\000\174\001\175\000\232\0027\001\184\006\225\000\174\004\171\000\004\004\190\005.\000\174\001\175\001\176\0031\001\180\007S\006\171\000q\002\170\000i\001\199\b\023\002:\003\028\000\174\000\130\002;\001\227\000\024\007\218\b\024\005E\000\005\000\183\005\187\b\014\004\195\007\172\000\130\001D\0050\001\202\001\182\000\225\000\183\007\220\006:\000\233\007\164\007\165\004\241\004\242\000\129\001\182\007\141\006\249\000\231\000\130\004s\003:\0050\000\232\000\225\000\129\003\004\001\234\000\233\005F\007\221\004\173\007\169\004\241\004\242\004\174\003<\0052\b\026\b+\006\205\006\247\007U\000\239\006\250\006\169\006\170\004\187\000\004\000\004\005.\0057\002\172\005\021\007\172\000\240\005G\0052\004\188\005\189\005\154\001\246\000\239\001\183\006\206\006\169\006\170\004\187\007\151\007\183\001\182\0057\005\136\000\005\000\005\000\240\005G\007\222\004\188\000\130\006;\001D\002\174\000\030\000\225\001\186\007\223\007S\000\233\007\172\000\130\b)\007\253\001\233\007%\001\220\0059\002\167\005u\002\219\005\148\0050\001\186\005O\007\191\000\240\005\171\b,\002\168\007\219\001\233\005\160\000\149\005\162\005l\004\199\0059\004k\005J\007\255\000\174\006\171\000\239\005O\b\026\000\240\b\001\000\174\000\241\007T\001\203\003\183\001\204\004\200\005l\004\199\0052\000\174\004\201\005\025\001O\006\171\004\202\002\177\000\240\0027\004\187\000\241\004\203\004\171\0057\004\190\007U\004\200\000\240\005G\b-\004\188\004\201\000\242\002\222\0060\004\202\005\028\bN\007\223\007[\000\174\004\203\001\183\001I\b/\004E\005\140\005t\000\129\003\196\b \000\242\000\231\001\186\001\249\004\244\006:\000\235\002\179\001L\000\243\001\233\003\006\000\b\001\186\000\174\003(\001O\0059\001\199\005J\b1\001\233\002\180\004s\005O\001\222\000\240\b3\000\244\000\241\005B\001K\005F\0018\004\173\005l\004\199\000\131\004\174\001\202\003\175\000\129\005C\000\246\000h\000h\0027\000\248\000\183\003=\004\171\003\185\004\190\005.\004\200\000\029\000\132\001\182\000\249\004\201\000\242\000&\000\130\004\202\003<\006\150\000h\000\225\000\174\004\203\001\219\000\233\000#\007\218\b\029\005t\001I\007\159\007\160\003\163\006/\000\129\003\004\006\209\003\026\000\231\001\251\001\221\004M\006\151\000\232\006v\007i\000\"\006\154\006\169\006\170\007F\007V\005\155\004\195\005\165\004s\001D\0050\000\239\000\130\000\248\0027\000i\000i\005F\004\171\004\173\004\190\001J\007b\004\174\000\251\003.\007\\\007G\007J\006\169\006\170\001\253\b(\000\129\001D\005I\000\174\000i\005.\006D\000\174\007\218\b\029\005t\006*\0052\007c\005C\007f\006\169\006\170\000\145\000\130\005\173\006F\004\187\bQ\000\225\bs\0057\001\251\000\233\006\237\000\240\005G\007\133\004\188\0035\005\157\007`\004s\007S\001\203\bt\001\204\001O\003\185\006\171\007Y\005F\005\136\004\173\001O\000\174\003\164\004\174\001\220\000l\000l\0050\007]\007b\001O\000\240\b\"\000\239\000\241\000h\000\130\001\252\005.\007^\007_\001\220\0059\006\171\005u\000j\005\148\000l\000%\005O\000(\007X\005\171\007c\005z\007f\006\169\006\170\005\142\001\021\005l\004\199\0052\006\171\006\177\000\242\005C\000\174\001\175\001\176\003\031\001\180\004\187\005\183\007U\000\220\0057\0030\006\208\004\200\000\240\005G\b#\004\188\004\201\001\233\000\129\000\174\004\202\0050\000\231\007\223\000*\001\018\004\203\000\232\007\143\0058\000\134\000\146\000i\000\183\006\206\006\169\006\170\006\224\006\169\006\170\007a\000\137\001\182\005\142\000\244\000y\000\184\000\240\001\019\000\174\000\241\003\178\001\020\0059\003\196\005u\0052\b%\000.\000\246\005O\004N\006\172\b'\006\171\007\146\004\187\000m\0000\005\029\0057\005l\004\199\003\180\000\240\005G\b#\004\188\000\174\003*\0027\000\242\b|\000\130\004\171\007\223\004\190\006\165\000\225\007\232\004\200\0058\000\233\001\157\007s\004\201\007\245\003\181\006-\004\202\000h\003+\000\174\006\166\005\021\004\203\001\182\007\218\b\029\005t\003+\006\171\000\183\007q\006\171\0059\0027\005u\000h\b%\0028\001\182\005O\007\019\0029\b'\000\239\000\129\000\248\006\235\007V\000\222\003\025\005l\004\199\006+\004s\001O\006\168\000\253\003-\000h\0027\004G\006\183\005F\004\171\004\173\004\190\003,\001\234\004\174\004\200\003\"\006\166\000\174\006-\004\201\006\190\005\150\b$\004\202\005\173\006\197\000\174\000i\005.\004\203\006\184\007\218\b\029\005t\001N\003\196\006\187\006\169\006\170\000\174\000\174\006\205\001O\002\170\007\149\000i\004l\002:\006\148\006\149\0004\002;\005\022\0006\000\130\001\182\000h\000\129\001\183\000\225\004s\002T\006\234\000\226\002U\006\206\006\169\006\170\000i\005F\000\240\004\173\007\246\000\241\005\145\004\174\006\198\006\205\002\228\0050\001\186\000\174\005\020\0027\b&\000;\001\199\004\171\001\233\004\190\005.\004\241\004\242\001\209\006G\be\007\247\000\239\007\235\000l\007\236\006\206\006\169\006\170\000\242\000\174\005\176\001\202\001O\006F\007\218\b\029\005t\006\171\0052\002\172\000\129\005\021\000:\006\191\002T\000i\000\130\002[\004\187\002V\000C\000\174\0057\002W\0037\006\205\000\240\005G\b#\004\188\000@\006N\001O\004s\000l\0050\006\171\007\223\000?\002\174\003\165\000B\005F\0058\004\173\002\242\006P\000\174\004\174\006\206\006\169\006\170\005\030\001\186\002\167\004F\002\212\b.\004_\002a\000E\001\233\000\240\005.\001\182\002\168\006\175\0059\bl\005u\0052\b%\006\171\000\240\005O\000\130\000\241\b'\002V\003\167\004\187\004d\002W\003\159\0057\005l\004\199\005\021\000\240\005G\b#\004\188\002\215\006Q\005\198\003\161\004e\005\022\000\174\007\223\002\177\001\210\006\176\007\182\004\200\0058\005C\000\242\006P\004\201\007\004\007\005\000\174\004\202\0050\002\250\001\223\004E\002a\004\203\004i\006\199\001\245\000\129\000G\001\228\006\171\000\231\001\203\0059\001\204\005u\000\235\b%\004\243\006\194\005O\001\202\001O\b'\007\006\000\240\002\179\007\155\002b\000\174\004s\005l\004\199\0052\bb\007\007\0039\006\235\b\026\001\182\006\212\002\180\0027\004\187\001O\001O\004\171\0057\004\190\005\031\004\200\000\240\005G\b#\004\188\004\201\003\165\005\022\000h\004\202\007\174\006\238\007\223\007\175\000\174\004\203\005 \006T\0058\007\218\b\029\005t\000\130\007\004\007\005\006\\\006\218\000\225\003\164\001I\000K\000\233\006P\007\179\000\240\000M\001O\002b\004\241\004\242\006^\b0\0059\006\177\005u\003\166\b%\000\129\004s\005O\003\016\0028\b'\007$\002\239\0029\000\129\005F\000\129\004\173\005l\004\199\000\129\004\174\007\007\000\239\002T\006\190\004\198\002[\005\131\002\253\b2\000i\004Q\005\131\000\129\0027\005.\004\200\006\216\004\171\004k\004\190\004\201\007\157\004\241\004\242\004\202\000h\007\172\003\007\004z\001D\004\203\002h\004\241\004\242\001\203\000\174\001\204\bx\001\226\bm\004E\005\140\005t\000\129\001O\005\133\005\024\007\193\000\130\002i\005\132\005G\002:\005\168\002j\005\168\002;\000\130\002k\000\130\000h\004\241\004\242\000\130\002l\0050\002V\000\129\004G\004s\002W\000\231\001\239\006\186\005\192\006\193\000\232\000\130\005F\000\129\004\173\005\021\000h\000\240\004\174\005\192\000\241\007\184\000Q\000P\000i\006!\005\170\006<\005\169\001O\000S\006\184\005O\005.\0052\005T\006\191\006\187\006\169\006\170\002a\006!\000\130\005l\004\187\001F\007b\005\194\0057\000]\bl\000\242\000\240\005G\b#\004\188\000\129\005=\005\193\000i\004\171\0027\004\172\007\223\006#\004\171\000\130\004\190\001L\0058\007c\000\225\007f\006\169\006\170\000\233\001O\000X\000\130\001\018\006\"\000i\007\199\000\174\0050\000W\007\187\000Z\004E\005\140\005t\000\\\000h\0059\005C\005u\000l\b%\000\244\002\167\005O\005\022\001\019\b'\003\190\007\195\001\020\000\240\006\191\000\239\002\168\005l\004\199\000\246\006\171\007\209\0026\004s\002S\0052\007\187\000\130\000\240\004\173\000_\002b\005F\004\174\004\173\004\187\004\200\000l\004\174\0057\007\187\004\201\003\141\000\240\005G\004\202\004\188\0063\005\154\001\234\007\214\004\203\0027\005.\007\202\006\171\004\171\000\174\004\190\000l\0058\000a\bd\000i\007M\003\005\005C\000\174\001\175\001\176\001\177\001\180\000\129\004\018\000\174\000h\000\222\003\021\000\148\004E\005\140\005t\000\154\005m\0059\000\153\005u\000\005\005\148\002h\000\184\005O\001\182\002\233\005T\bw\006_\000\240\006b\006j\000\241\000\183\005l\004\199\0050\004H\000\156\002i\004s\004\170\001\182\006^\002j\006P\006l\000\159\002k\005F\004G\004\173\b~\004\200\002l\004\174\000\161\001\245\004\201\007\232\000\174\004O\004\202\000\242\000\141\001\234\007\244\000l\004\203\000\130\005.\0052\000i\000\129\000\225\b\156\004\187\000\231\000\226\000y\000\165\004\187\000\232\0034\000\240\0057\000h\004\188\006m\000\240\005G\b\157\004\188\005\152\005\154\006\246\006p\007\190\0027\005\239\000\144\007\254\004\171\006l\004\190\007v\0058\007\133\001\182\001Q\001A\006P\000\239\005C\001V\006\224\006\169\006\170\003\185\006\247\000\174\0050\006\250\006\169\006\170\004E\005\140\005t\000h\001\199\0059\007\189\005u\007b\005\148\000\129\001\201\005O\000\130\002T\005T\b\127\002[\000\225\000l\007\188\bm\000\233\005l\004\199\001\202\000i\001\234\001U\004s\001\245\0052\007c\001^\007f\006\169\006\170\004\239\005F\000h\004\173\004\187\004\200\001[\004\174\0057\bm\004\201\000h\000\240\005G\004\202\004\188\005\191\005\154\001Z\000\239\004\203\0027\005.\004-\006\027\004\171\005\027\004\190\001]\0058\006\171\000i\000\240\001\182\001\183\000\241\001`\006\171\000\130\007-\001b\002V\001f\000\174\007\235\002W\007\236\005a\004E\005\140\005t\001h\001j\0059\001O\005u\001\186\005\148\bl\001l\005O\005\021\001q\005T\001\233\001p\000\242\000i\001y\001v\004d\005l\004\199\0050\006\171\007\136\000i\004s\002\250\000\129\001u\002a\006\153\000\222\003\015\005f\005F\001x\004\173\001{\004\200\001}\004\174\001\129\0027\004\201\001\131\001\135\004\171\004\202\004\190\000\240\001\134\000l\000\241\004\203\006\151\005.\0052\005j\001\137\006\154\006\169\006\170\000\174\001\203\000\174\001\204\004\187\001\147\001\142\007\218\0057\005E\001\141\001O\000\240\005G\001\144\004\188\0067\005\154\001\146\001\149\001\151\000\242\000\129\001\156\000\174\000l\000\231\001\162\001\161\0058\000\130\000\235\001\164\005\022\000l\000\225\004s\001\166\001\168\000\226\007\b\001\172\000\129\001\250\0050\005F\0028\004\173\001\179\000\240\0029\004\174\002b\0059\007\225\005u\001\238\005\148\005\215\006\205\005O\001\244\b*\005T\001\243\002\251\005.\001\182\003\011\003\196\007\240\005l\004\199\000\239\006\171\003!\003'\007\252\007\139\0052\003&\0033\003A\006\206\006\169\006\170\002\253\000\130\003F\004\187\004\200\003E\000\225\0057\003N\004\201\000\233\000\240\005G\004\202\004\188\007\250\005\154\003K\003J\004\203\003M\000\130\003P\001\015\002h\002:\0027\000o\0058\002;\004\171\0050\004\190\003R\003V\003X\001\245\003Z\003\\\003a\003`\003i\002i\003f\000\239\003e\003h\002j\000\174\003k\003m\002k\0059\007\218\005u\005E\005\148\002l\000\174\005O\003q\000\174\005T\007\182\003s\003w\0052\003v\003y\000\240\005l\004\199\000\241\003\131\006\171\003~\004\187\003}\003\128\000\174\0057\006\205\004s\003\130\000\240\005G\b\028\004\188\003\133\004\200\003\135\005F\003\140\004\173\004\201\007\223\003\146\004\174\004\202\003\145\003\148\b\031\003\150\000\242\004\203\006\206\006\169\006\170\b\027\003\152\003\156\003\173\005.\000\174\001\175\001\176\001\236\001\180\000\174\001\175\001\176\001\241\001\180\003\172\003\189\0059\000\240\005J\b!\000\241\001\199\007\235\005O\007\236\000\174\b'\007\243\001\225\002\167\003\195\003\194\001O\004(\005l\004\199\003\198\000\240\000\183\001\199\002\168\003\203\001\202\000\183\003\202\001\021\001\209\001\182\005\221\003\211\003\208\000\242\001\182\004\200\0050\0027\005\238\000\174\004\201\004\171\001\202\004\190\004\202\003\207\003\210\003\213\003\215\0027\004\203\003\219\003\221\0028\003\223\006\171\000\129\0029\003\225\000\174\002T\001\018\003\230\002U\007\218\003\229\005E\006\231\003\238\000h\0027\0052\003\235\003\234\0028\003\237\001\199\003\240\0029\003\242\000\244\004\187\003\246\001\209\001\019\0057\003\248\003\252\001\020\000\240\005G\b\028\004\188\004s\003\251\000\246\003\254\001\202\004\b\002\169\007\223\004\003\005F\000h\004\173\004\002\b\031\004\005\004\174\007\232\007\192\004\007\004G\000h\002\170\004\n\007\239\004\012\002:\b\030\000h\000\130\002;\005.\002V\0027\004\017\004\023\002W\004\171\0059\004\190\005J\b!\000i\002\170\000h\005O\004\022\002:\b'\004\025\001\210\002;\004\027\004\029\004!\000\174\005l\004\199\007\184\001\203\004E\001\204\005E\004'\004G\004&\001O\004,\0042\001O\0041\006\158\002a\006\162\001\211\004\200\000i\001\203\002\171\001\204\004\201\006\203\0050\006\229\004\202\006\182\000i\001O\006\196\004s\004\203\001\183\006\240\000i\002\172\007\030\001\183\0077\005F\0079\004\173\007C\000\129\007E\004\174\001\210\004\171\007O\004\190\000i\000h\007k\000\133\001\186\000l\002\172\b\007\0052\001\186\005.\b5\001\233\b9\bM\002\174\bK\001\233\004\187\bE\001\216\bG\0057\001\203\bI\001\204\000\240\005G\b\028\004\188\002\167\006?\002\209\001O\000h\005\186\002\174\007\223\000\240\000l\001\251\002\168\bO\b\031\004G\000\240\bU\bV\002b\000l\b[\002\167\002\237\002\212\b\\\007\235\000l\007\236\000\130\000\240\004\173\0050\002\168\006\246\004\174\001O\000i\0059\ba\005J\b!\b`\000l\bh\005O\bj\002\177\b'\0027\001\253\bp\bq\004\171\002\223\004\190\005l\004\199\006\247\bu\002\215\006\250\006\169\006\170\000\184\bv\by\0052\002\177\000h\000i\000\174\006\224\006\169\006\170\004\200\004E\004\187\005E\004m\004\201\0057\bz\000\134\004\202\000\240\005G\000h\004\188\002\179\004\203\b}\005a\001\251\000\137\002\151\b\128\004\195\000y\b\129\b\146\b\135\005\175\004q\002\180\004s\b\144\b\140\000\184\000l\002\179\000h\b\143\b\152\005F\004d\004\173\b\150\000\129\b\154\004\174\b\159\000\231\004t\000\000\002\180\0059\000\232\005J\005\177\006\021\000\228\001\253\005O\000i\005.\005T\0027\006\171\000\000\000\000\004\171\000l\004\190\005l\004\199\004\187\004x\000\000\006\171\000\000\005>\000i\000\000\000\240\000\000\005\184\004\188\007<\000\174\005\186\000\000\000\000\004\200\004E\005@\005E\000\000\004\201\000h\000\000\004\197\004\202\000\000\005a\000\000\000i\000\000\004\203\000\174\000\000\000\000\000\000\000\130\004E\000\000\0050\000\129\000\225\000\000\000\000\000\231\000\233\004s\000\000\000\129\000\232\004d\000\000\000\222\002\249\007b\005F\000\000\004\173\000\000\000l\004_\004\174\000\000\000\000\000\000\005f\004s\004\199\000\174\001\175\001\176\003$\001\180\000h\0052\001\182\005.\000l\007c\000\239\007f\006\169\006\170\004d\004\187\004\200\000\000\000i\0057\005j\004\201\000\000\000\240\005G\004\202\004\188\000\000\000\000\005\233\000\000\004\203\000l\000\183\000\000\007F\000\130\000\000\000\000\007\014\005\175\000\225\001\182\000\000\000\130\000\233\000\174\000\000\0027\000\225\000\000\004E\004\171\000\226\004\190\000\174\000\000\000\000\0050\007G\007J\006\169\006\170\005L\0059\000h\005J\005\177\000\000\000i\000\174\005O\000\000\007I\005T\004E\005M\005t\001?\000\239\004s\000w\005l\004\199\000\000\000\000\000\000\000\239\006\171\001\182\000l\000\000\000\240\0052\000\000\000\241\000y\007G\007J\006\169\006\170\004\200\000\000\004\187\004s\000\136\004\201\0057\004G\006=\004\202\000\240\005G\005F\004\188\004\173\004\203\000\000\000\000\004\174\000\184\0027\000\000\000\000\001\199\004\171\000\242\004\190\005y\006\246\000i\001\209\005G\000\000\005.\003\029\005w\006\171\000\000\000\174\000\000\000l\006\205\000\174\007\182\001\202\000\000\000\000\004E\005M\005t\000\000\0059\006\247\005J\005{\006\250\006\169\006\170\005O\000\000\000\240\005}\000\000\000\241\000\000\006\206\006\169\006\170\000\240\005l\004\199\000\241\000\248\006<\006\171\000\000\004s\000\184\005O\000\000\000\000\005T\000\000\000\255\0050\005F\000\000\004\173\004\200\005l\000\000\004\174\001\231\004\201\000\242\001\183\000\000\004\202\000\000\000\000\000h\000l\000\242\004\203\000\000\007\137\005.\000\174\000\000\000\000\000\000\000\000\000\000\000\134\005G\000\000\000\000\001\186\000\000\0052\000\000\000\000\0027\000\000\000\137\001\233\0028\000\000\000y\004\187\0029\000\000\006\171\0057\000h\000\000\000\000\000\240\005G\000\174\004\188\000\248\006\171\000\000\001\210\000\000\000\000\0027\000\000\000\000\000\000\004\171\001\001\004\190\0058\007\152\006e\0050\000\000\000\000\000\000\005O\005|\000\000\005T\000i\000\000\000\000\004W\000\174\000\000\001\203\005l\001\204\004E\005M\005t\007\232\0059\000\000\005u\001O\005v\000\000\007\234\005O\000\000\002\170\005T\000\184\000\000\002:\0052\000\000\000\000\002;\005l\004\199\000\000\000i\000\000\000\000\004\187\004s\005n\000\000\0057\000\000\000\000\007\232\000\240\005G\005F\004\188\004\173\004\200\007\242\007\183\004\174\000\000\004\201\000\000\002\171\000\000\004\202\000\000\000\000\0058\005r\000\000\004\203\000\000\000\174\005.\000\000\000\145\000\000\000l\000\174\001\175\001\176\003\170\001\180\000\000\000\000\000\000\0027\000\000\000\000\007(\004\171\0059\004\190\005u\000\000\005v\000\000\007\184\005O\002\172\000\000\005T\006\227\000\000\000\000\001O\000h\000\000\000\174\005l\004\199\000l\000\183\004E\005\140\005t\000\000\000\000\000\129\000\000\000\000\001\182\000\222\002\246\0050\000\000\000\000\000\000\004\200\002\174\000\000\000\000\000\000\004\201\000\000\000\000\000\000\004\202\000\000\000\000\000\000\001\199\004s\004\203\002\167\002\234\002\212\000h\001\209\000\000\000\129\005F\000\240\004\173\004\171\002\168\004\172\004\174\000\000\0052\000\000\000\000\001\202\000\000\007\235\001\218\007\236\000\000\000\000\004\187\000\000\000i\005.\0057\001O\0027\002\223\000\240\005G\004\171\004\188\004\190\002\215\000\130\000\134\000\151\000\000\000\000\000\225\000\000\002\177\000\000\000\226\000\000\0058\000\137\007\235\000\174\007\236\000y\000\000\000\000\004E\005\140\005t\000\000\001O\000\174\001\175\001\176\003\187\001\180\000i\000\000\000\000\000\130\000\000\004\173\0059\000\000\005u\004\174\005v\0050\006\246\005O\000\239\001\251\005T\000\000\000\129\004s\002\179\000\000\000\222\002\245\005l\004\199\000\000\000\000\005F\000\183\004\173\000l\000\000\000\000\004\174\002\180\006\247\000\000\001\182\006\250\006\169\006\170\000\000\004\200\000\000\000\000\0052\000\000\004\201\005.\001\210\000\000\004\202\000\000\001\253\000\000\004\187\000\000\004\203\000\000\0057\000\000\0027\001\183\000\240\005G\004\171\004\188\004\190\005\147\000\000\000\000\000l\000\000\004a\000\000\000\000\001\203\000\000\001\204\000\000\0058\000\000\000\130\000\174\001\186\000\000\001O\000\225\004E\005\140\005t\000\226\001\233\000\129\000\000\000\240\000\000\000\231\000\241\0050\000h\000\000\000\237\000h\0059\000h\005u\000\000\005\148\000\000\000\000\005O\007b\000\000\005T\006\171\000\129\004s\000\184\004\187\000\222\002\244\005l\004\199\000\000\000\239\005F\000\240\004\173\000\242\004\188\000\000\004\174\001\231\0052\000\000\007c\000h\007f\006\169\006\170\004\200\000\000\000h\004\187\000\000\004\201\005.\0057\000\000\004\202\000\000\000\240\005G\000\000\004\188\004\203\005\149\000\130\000\184\0027\000\000\000\000\000\225\004\171\000i\004\190\000\233\000i\0058\000i\000\000\000\000\000\000\001\189\000\174\001\175\001\176\003\192\001\180\000\000\000\130\000\174\000\000\000\000\000\000\000\225\004E\005\178\005t\000\226\001\183\000\000\0059\000\000\005u\000\000\005\148\0050\000h\005O\000\239\000i\005T\000\140\004\189\000\143\000\240\000i\000\183\000\241\005l\004\199\001\186\000\000\006\171\004s\000\000\001\182\000h\000h\001\233\000\000\000\000\000\239\005F\000\000\004\173\000\000\000\000\004\200\004\174\007|\0052\007b\004\201\000\000\000l\000\000\004\202\000l\000\242\000l\004\187\000\000\004\203\005.\0057\000\000\0027\000\000\000\240\005G\004\171\004\188\004\190\005\167\000\000\007c\000\000\007f\006\169\006\170\000\000\000i\006\205\000\000\000\000\0058\005\180\000\000\000\174\000\000\000\000\000l\000\000\004E\005\178\005t\000\000\000l\000\000\000\000\000\240\000i\000i\000\241\000\000\000\000\006\206\006\169\006\170\0059\000\000\005u\000\000\005\148\0050\000\000\005O\000\000\000\000\005T\000\000\000\000\004s\000\240\000\000\000\000\000\241\005l\004\199\000\000\000\134\005F\000\134\004\173\000\242\000\000\000\000\004\174\000\000\000\000\000\000\000\137\001\213\000\137\000\000\000y\004\200\000y\007\"\0052\007\144\004\201\005.\000l\006\171\004\202\000\000\000\242\000h\004\187\000\000\004\203\000\243\0057\000\000\0027\000\000\000\240\005G\004\171\004\188\004\190\007 \000l\000l\005\182\007#\006\169\006\170\002/\005\200\000\244\000\000\006\171\0058\002=\000\245\000\174\000\000\001\183\000\000\000\000\004E\005M\005t\000\000\000\246\000\174\001\175\001\176\004$\001\180\000\000\0050\000\000\000\000\000\000\000\000\0059\0027\005u\001\186\005\181\0028\000\000\005O\000\000\0029\005T\001\233\000\129\004s\000\000\000i\000\222\002\243\005l\004\199\000\000\000\000\005F\000\183\004\173\000h\000\000\000\000\004\174\000\000\0052\007e\001\182\002Y\000\000\000\000\000\000\004\200\000\000\000\000\004\187\000\000\004\201\005.\0057\006\171\004\202\000\000\000\240\005G\000\000\004\188\004\203\000\184\000\184\007c\0027\007f\006\169\006\170\004\171\000\174\004\190\000\000\007\147\0058\002\170\000\000\001\247\004T\002:\000\000\000\000\000\000\002;\000h\000\000\000\130\000\174\000\000\000\000\000\000\000\225\004E\000\000\005E\000\226\000l\000\000\0059\000i\005u\000\000\005\181\0050\006\242\005O\000\000\000\000\005T\000\000\002\214\000\000\000\000\000\000\000\000\000\129\005l\004\199\000\000\000\222\000\224\004s\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\239\005F\000\000\004\173\000h\000\000\004\200\004\174\000\000\0052\001\199\004\201\000\000\000\000\006\171\004\202\000\000\001\209\002\172\004\187\000i\004\203\005.\0057\000\000\000\129\000\000\000\240\005G\000\231\004\188\001\202\000\000\000\000\000\237\0027\000\000\000\000\000\000\004\171\000\000\004\190\000l\0061\0058\000\000\000\000\005\186\002\174\000\000\000h\000\130\000\000\000\000\000\129\002\149\000\225\000\174\000\222\002\236\000\226\000\000\004E\002\167\005E\002\212\001\183\000\000\0059\000i\005u\000\240\005v\0050\002\168\005O\000\000\007\187\005T\000\000\000\000\000\000\000\240\000\000\000\000\000\241\005l\004\199\001\186\000\000\000\130\004s\000l\004G\000\239\000\225\001\233\000\000\000\000\000\233\005F\002\215\004\173\000\000\000\000\004\200\004\174\000\000\0052\002\177\004\201\000\000\000\000\000\000\004\202\000i\000\242\000\000\004\187\000\130\004\203\005.\0057\000\000\000\225\000\000\000\240\005G\000\226\004\188\000\184\001\210\000\000\000\239\0027\000\000\000\000\000h\004\171\000\000\004\190\000l\006A\005\175\000\000\005X\005\186\000\000\000\000\000h\000\000\002\179\000\000\000\000\000\000\005[\000\174\006\205\001\203\000\000\001\204\004E\000\239\005E\000\000\000h\002\180\0059\001O\005J\005\177\000\000\0050\000h\005O\000\000\000\240\005T\000\000\000\241\000\184\006\206\006\169\006\170\000\000\005l\004\199\000l\000\000\000h\004s\000\000\000\000\000\000\000\000\005\216\000\000\000\000\000\000\005F\000\000\004\173\000i\000\000\004\200\004\174\000\000\0052\000\000\004\201\000\242\000\000\000\000\004\202\000i\000\240\000\000\004\187\000\241\004\203\005.\0057\000\000\000\129\000\000\000\240\005G\000\231\004\188\002\165\000i\000\000\000\235\0027\000\000\000\000\000\000\004\171\000i\004\190\000\000\006C\005\175\000\000\000\240\005\186\000\000\000\241\000h\000\242\007\191\000\000\004_\000\000\000i\000\174\000\000\006\205\006\171\000\000\004E\000\000\005E\000\129\000\000\000\000\0059\000\231\005J\005\177\000\000\0050\000\232\005O\000l\004d\005T\000\243\000\242\000\000\000\000\006\206\006\169\006\170\005l\004\199\000l\000\000\000\130\004s\004e\000\000\000\000\000\225\000\000\000\000\000\244\000\233\005F\000\000\004\173\0017\000l\004\200\004\174\000\000\0052\000\000\004\201\000\000\000l\000\246\004\202\000i\004i\000\000\004\187\000\000\004\203\005.\0057\000\000\000\000\000\000\000\240\005G\000l\004\188\000\130\000\000\000\000\000\239\0027\000\225\000\000\000\000\004\171\000\233\004\190\000\000\007\196\005\175\000\000\000\000\005\186\000\000\000\000\007\204\000\000\000\000\000\000\000\000\000\000\000\000\000\174\000\000\006\205\001B\006\171\004E\005M\005t\000\184\000\000\000\000\0059\000\000\005J\005\177\006\205\0050\000\239\005O\000\000\000\184\005T\000\000\005\224\007\001\000\000\006\206\006\169\006\170\005l\004\199\000l\000\000\000\000\004s\005\240\004\176\000\000\000\000\006\206\006\169\006\170\000\000\005F\004\185\004\173\000\000\000\000\004\200\004\174\000\000\0052\000\000\004\201\000\000\000\000\006\205\004\202\000\000\000\240\000\184\004\187\000\241\004\203\005.\0057\000\000\0027\000\000\000\240\005G\004\171\004\188\004\190\000\000\005\249\000\000\000\000\000\000\000\000\006\206\006\169\006\170\006\205\000\000\000\000\005\175\001F\000\000\000\174\000\000\000\000\000\000\000\242\004E\000\000\005E\000\000\000\000\000\240\000\000\000\000\000\241\006\171\000\000\000\000\000\000\006\206\006\169\006\170\0059\000\000\005J\005\177\000\000\0050\006\171\005O\000\000\005\004\005T\001\018\000\129\004s\007\012\000\000\000\231\000\000\005l\004\199\000\000\000\237\005F\000\242\004\173\000\000\000\000\000\000\004\174\000\000\000\244\000\000\000\000\000\000\001\019\000h\000\000\004\200\001\020\000\000\0052\000\000\004\201\005.\000\000\000\246\004\202\006\171\000\000\000\000\004\187\000\000\004\203\000\000\0057\000\000\0027\000\000\000\240\005G\004\171\004\188\004\190\000\000\007\210\000\000\000\000\000\000\005\186\000\000\000\248\b\000\000\000\000\000\006\171\0058\000\000\000\130\000\174\000\000\000\000\001\003\000\225\004E\005M\005t\000\233\000\000\000\000\000\000\000\000\000\000\000\129\000\000\0050\000\000\000\222\002(\000h\0059\000i\005u\000\000\005v\000\000\000\000\005O\000\000\000\000\005T\000\000\000\129\004s\007\025\000\000\000\222\0021\005l\004\199\000\000\000\239\005F\000\000\004\173\000\000\000\000\007\023\004\174\000\000\0052\000\000\000\174\001\175\001\176\004*\001\180\004\200\000\000\000\000\004\187\000\000\004\201\005.\0057\000\000\004\202\000\000\000\240\005G\000\000\004\188\004\203\000\000\000\000\006\205\0027\000\000\000\130\005\195\004\171\000\000\004\190\000\225\000i\005\175\000\183\000\226\007\021\000\000\000\000\000\000\000\000\000l\000\000\001\182\000\000\000\130\000\174\006\206\006\169\006\170\000\225\004E\000\000\005t\000\226\000\000\000\000\0059\000\000\005J\005\177\006\205\0050\0073\005O\000\000\000\000\005T\000\000\000\239\000\000\000\240\000\000\000\000\000\241\005l\004\199\000\000\000\000\000\000\004s\000\000\000\000\000\000\000\000\006\206\006\169\006\170\000\239\005F\000\000\004\173\000\000\000\000\004\200\004\174\000\000\0052\000\000\004\201\000\000\000\000\006\205\004\202\000l\000\242\000\000\004\187\000\000\004\203\005.\0057\000\000\0027\000\000\000\240\005G\004\171\004\188\004\190\000\000\000\000\000\000\000\000\006\171\000\000\006\206\006\169\006\170\000\184\000\000\005x\0058\000\243\000\000\000\174\000\000\000\000\000\000\000\000\004E\000\000\005E\000\000\006\012\000\174\001\175\001\176\004/\001\180\000\000\000\240\000\244\000\000\000\241\000\129\0059\001:\005u\000\231\005v\0050\006\171\005O\000\235\000\000\005T\000\246\000\129\004s\000\240\000\000\000\231\000\241\005l\004\199\000\000\000\237\005F\000\183\004\173\000\000\000\000\000\000\004\174\000\242\000\000\000\000\001\182\000\000\000\000\000\000\000\184\004\200\000\000\000\000\0052\001\183\004\201\005.\000\000\000\000\004\202\006\171\000\242\000\000\004\187\006\028\004\203\000\000\0057\006\205\0027\000\000\000\240\005G\004\171\004\188\004\190\001\186\000\130\000\000\000\000\000\000\000\000\000\225\000\000\001\233\000\000\000\233\005D\005\197\000\000\000\130\000\174\006\206\006\169\006\170\000\225\004E\000\000\005E\000\233\000\000\0071\000\000\000\000\000\174\000\000\000\000\0050\000\000\004E\000\000\000\000\0059\000\000\005u\000\000\005\199\000\000\000\000\005O\000\239\000\000\005T\000\000\000\129\004s\000\000\000\000\000\222\0024\005l\004\199\000\000\000\239\005F\000\000\004\173\000\000\004s\007/\004\174\000\000\0052\000\000\000\000\000\000\002\r\001\182\000\000\004\200\000\000\000\000\004\187\000\000\004\201\005.\0057\000\174\004\202\000\000\000\240\005G\004E\004\188\004\203\000\000\000\000\000\000\0027\006\171\000\000\000\000\004\171\000\000\004\190\000\000\000\174\005H\000\000\000\000\007@\000\000\000\000\000\000\000\000\000\000\005N\000\000\000\000\000\130\000\174\004s\000\000\000\000\000\225\004E\000\000\005E\000\226\001\183\001\182\0059\000\240\005J\005K\000\241\0050\000\000\005O\000\000\000\000\005T\000\000\000\000\000\000\000\240\000\000\000\000\000\241\005l\004\199\001\186\000\000\000\000\004s\000\000\000\000\000\000\000\000\001\233\001F\000\000\000\239\005F\000\000\004\173\000\242\000\000\004\200\004\174\000\000\0052\000\000\004\201\000\000\001\199\006\205\004\202\000\000\000\242\000\000\004\187\001\209\004\203\005.\0057\000\000\0027\000\000\000\240\005G\004\171\004\188\004\190\001\018\000\000\001\202\000\000\006\205\000\000\006\206\006\169\006\170\005G\000\000\000\000\005H\000\243\000\000\000\174\000\000\000\000\000\000\000\244\004E\000\000\005E\001\019\000\000\007>\000\000\001\020\006\206\006\169\006\170\000\000\000\244\000\000\000\246\000\000\0059\002]\005J\005K\000\000\0050\000\000\005O\000\000\000\000\005T\000\246\000\129\004s\000\240\006g\000\231\000\241\005l\004\199\005O\000\237\005F\005T\004\173\000\000\005G\000\000\004\174\000\000\000\000\005l\000\000\000\000\000\000\000\000\000\000\004\200\000\000\000\000\0052\000\000\004\201\005.\000\000\000\000\004\202\006\171\000\242\000\000\004\187\000\000\004\203\000\000\0057\000\000\0027\000\000\000\240\005G\004\171\004\188\004\190\000\000\000\000\000\000\001\210\000\000\006i\006\171\000\000\000\000\000\000\005O\000\000\005H\005T\000\130\000\174\000\000\000\000\000\000\000\225\004E\005l\005E\000\233\000\000\000\129\000\000\005c\000\000\000\231\001\203\0050\001\204\000\000\000\237\000\000\0059\000\000\005J\005K\001O\000\000\000\000\005O\000\000\000\000\005T\000\000\000\129\004s\000\000\000\000\000\222\002H\005l\004\199\000\000\000\239\005F\000\000\004\173\000\000\000\000\000\000\004\174\000\000\0052\000\000\000\174\001\175\001\185\000\000\001\180\004\200\000\000\000\000\004\187\000\000\004\201\005.\0057\000\000\004\202\000\000\000\240\005G\000\000\004\188\004\203\000\000\000\130\000\000\0027\005\151\000\000\000\225\004\171\000\000\004\190\000\233\000\000\005\144\000\183\000h\007z\000\000\000\000\000\000\000\000\000\000\000\000\001\182\000\000\000\130\000\174\000\000\000\000\000\000\000\225\004E\000\000\005E\000\226\000\000\000\000\0059\007\127\005J\005\146\000\174\0050\000\000\005O\000\239\000\000\005T\000\000\000\000\000\000\000\240\000\000\000\000\000\241\005l\004\199\000\000\000\000\000\000\004s\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\239\005F\000\000\004\173\000\000\000\000\004\200\004\174\000\000\0052\000\000\004\201\000i\000\000\000\000\004\202\000\000\000\242\000\000\004\187\000\000\004\203\005.\0057\000\000\0027\000\000\000\240\005G\004\171\004\188\004\190\000\000\000\000\000\000\000\000\005\143\000\000\000\000\000\000\000\000\000\000\001\199\000\000\005\144\000\243\000\000\000\174\000\145\001\209\000\000\000\000\004E\000\000\005E\000\000\000\000\000\000\000\000\000\240\000\000\000\000\000\241\001\202\000\244\000\000\000\000\000\000\0059\002_\005J\005\146\000\000\0050\000\000\005O\000\000\000\000\005T\000\246\000\000\004s\000\240\000\000\000l\000\241\005l\004\199\000\000\000\000\005F\000\000\004\173\000\242\000\000\000\000\004\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\200\000\000\000\000\0052\001\183\004\201\005.\000\000\000\000\004\202\000\000\000\242\000\000\004\187\000\000\004\203\000\243\0057\000\000\0027\000\000\000\240\005G\004\171\004\188\004\190\001\186\000\000\000\000\005\163\000\000\000\000\000\000\000\000\001\233\000\244\000\000\000\000\005\164\000\000\004\192\000\174\000\000\000\000\000\000\000\000\004E\000\129\005E\000\000\000\246\000\231\000\134\001\154\000\000\000\000\000\232\0050\001\210\000\000\000\000\000\000\0059\000\137\005J\005\166\000\000\000y\000\000\005O\000\000\000\000\005T\000\000\000\129\004s\000\000\000\000\000\231\000\000\005l\004\199\005\227\000\237\005F\001\203\004\173\001\204\000\000\000\000\004\174\000\000\0052\000\000\000\000\001O\000\000\000\000\000\000\004\200\000\000\000\000\004\187\000\000\004\201\005.\0057\000\000\004\202\000\000\000\240\005G\000\130\004\188\004\203\000\000\000\000\000\225\0027\005\161\000\000\000\233\004\171\000\000\004\190\000\000\000\000\005\144\000\000\000\000\005\174\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\130\000\174\000\222\002N\000\000\000\225\004E\000\000\005E\000\233\000\000\000\000\0059\000\000\005J\005\146\000\239\0050\000\000\005O\000\000\000\000\005T\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005l\004\199\000\000\000\000\000\129\004s\000\000\000\000\000\222\002Q\000\000\000\000\000\000\000\239\005F\000\000\004\173\000\000\000\000\004\200\004\174\000\000\0052\000\000\004\201\000\000\000\000\000\000\004\202\000\000\000\000\000\000\004\187\000\130\004\203\005.\0057\000\000\000\225\000\000\000\240\005G\000\226\004\188\000\000\000\000\000\000\000\000\0027\000\000\000\000\000h\004\171\000\000\004\190\000\000\000\000\005\175\000\000\000\000\005\179\000\000\000\000\000\000\000\000\007\200\000\000\000\000\000\240\000\130\000\174\000\241\000\000\000\000\000\225\004E\000\239\005E\000\226\000\000\000\000\0059\000\000\005J\005\177\000\000\0050\000\000\005O\000\000\000\000\005T\000\000\000\000\000\000\000\240\000\000\000\000\000\241\005l\004\199\000\000\000\242\000\000\004s\000\000\0027\000\000\000\000\000\000\0028\000\000\000\239\005F\0029\004\173\000i\000\000\004\200\004\174\000\000\0052\000\000\004\201\000\000\000\000\000\000\004\202\000\000\000\242\000\000\004\187\000\000\004\203\005.\0057\000\000\0027\000\000\000\240\005G\004\171\004\188\004\190\000\000\000\000\000\000\000\000\000\000\000\248\000\000\000\000\000\145\000\000\007\212\000\000\005\175\000\243\000\240\000\174\001\005\000\241\000\000\000\000\004E\000\000\005E\000\000\000\000\000\000\000\000\002\170\000\000\000\000\000\000\002:\000\244\000\000\000\000\002;\0059\004\194\005J\005\177\000\000\0050\000\000\005O\000l\000\000\005T\000\246\000\242\004s\000\240\000\000\000\000\000\241\005l\004\199\000\000\000\000\005F\000\000\004\173\000\000\002\218\000\000\004\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\200\000\000\000\000\0052\000\000\004\201\005.\000\000\000\000\004\202\000\000\000\242\000\000\004\187\000\000\004\203\000\000\0057\000\000\0027\000\000\000\240\005G\004\171\004\188\004\190\002\172\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\215\000\000\007\201\000\000\000\000\000\174\000\000\000\000\000\134\001\159\004E\000\000\005E\000\000\000\000\000\000\000\000\000\000\000\000\000\137\002\174\0050\000\000\000y\000\000\000\000\0059\000\000\005J\007\203\000\000\000\000\000\000\005O\000\000\002\167\005T\002\212\000\000\004s\000\000\000\000\000\000\000\240\005l\004\199\002\168\000\000\005F\000\000\004\173\000\000\000\000\000\000\004\174\000\000\0052\000\000\000\000\000\000\000\000\000\000\000\000\004\200\000\000\000\000\004\187\000\000\004\201\005.\0057\000\000\004\202\002\215\000\240\005G\000\000\004\188\004\203\000\000\000\000\002\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\007\201\000\000\004\171\000\000\004\190\000\000\000\000\000\129\000\000\000\000\000\000\000\231\000\000\000\000\000\000\000\000\000\235\000\000\000\000\000\000\000\174\000\000\000\000\000\000\0059\005\214\005J\007\203\000\000\0050\000\000\005O\002\179\000\000\005T\000\000\000\000\000\000\000\000\000\000\000\129\000\000\005l\004\199\000\222\004\131\000\000\002\180\000\000\005\245\000\000\000\000\000\000\000\129\005\248\000\000\000\000\004\171\000\000\004\190\000\174\004\200\000\000\005\254\0052\004\173\004\201\000\000\000\000\004\174\004\202\000\000\000\130\000\000\004\187\000\174\004\203\000\225\0057\000\000\005\214\000\233\000\240\005G\005\255\004\188\000\000\000\000\006\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\201\000\000\000\000\000\000\000\000\006'\000\130\000\000\000\129\000\000\005\248\000\225\000\231\000\000\000\000\000\226\000\239\000\235\000\000\005\254\000\000\004\173\000\000\000\000\0059\004\174\005J\007\203\006$\000\000\001\199\005O\004\195\000\000\005T\001D\000\000\001\209\000\000\000\000\005\255\000\000\005l\004\199\006\001\000\000\000\000\000\000\000\000\000\239\000\000\001\202\000\129\000\000\000\000\000\000\004\171\000\000\004\190\000\000\000\000\004\200\000\000\000\000\000\000\000\000\004\201\000\000\000\000\000\000\004\202\000\000\000\000\000\130\000\174\000\000\004\203\000\000\000\225\005\214\000\000\004\187\000\233\000\000\000\000\000\000\000\000\000\000\000\000\000\240\006\002\0027\004\188\002\225\000\000\004\171\000\000\004\190\000\240\000\000\000\000\000\241\000\000\005\247\000\000\000\000\005\136\000\000\005\248\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\239\005\254\000\000\004\173\005\128\000\000\000\000\004\174\000\000\000\000\002\227\000\000\000\000\000\000\000\000\000\240\000\242\000\000\000\241\000h\004\187\006\003\005\255\000\000\006&\000\000\006\001\000\000\000\240\006\002\000\129\004\188\006\026\004\199\002T\001\210\000\000\002[\000\000\000\000\002\170\000\000\004\173\000\000\001\018\0058\004\174\000\000\000\000\000\242\000\000\004\200\000\174\000\000\000\000\000\000\004\201\000h\000\000\006\015\004\202\005.\001\203\000\244\001\204\000\000\004\203\001\019\000\000\000\000\000\000\001\020\001O\000\000\000\000\000\000\006\003\004J\000\246\006\b\000h\000\000\000\240\000\000\000i\000\241\000\000\006\026\004\199\000\000\000\000\000\000\000\000\000\000\000\000\000\130\000\000\000\000\002V\000\000\000\000\000\000\002W\005\134\000\000\000\000\004\200\000\000\004\195\000\000\002\227\004\201\0050\000\000\000\000\004\202\000\242\000\000\004\187\000\129\000\145\004\203\000i\000\222\004\162\000\000\000\240\006\002\000\000\004\188\000\129\000\129\000\000\002`\002T\000\222\004\165\002[\002a\000\000\000\000\000\000\000\129\0058\001\018\000i\002T\0052\000\000\002[\000\000\000\000\000\174\000\000\000\000\000\000\000l\004\187\000\145\000\000\000\000\0057\000\000\000\244\000\174\000\240\000\000\001\019\004\188\000\000\000\000\001\020\000\000\000\000\006\003\000\000\000\000\006\b\000\246\000\000\000\000\000\145\005\136\000\000\000\130\006\026\004\199\000\000\000\000\000\225\000\000\000\000\000\000\000\226\000l\000\130\000\130\000\000\002V\000\000\000\000\000\225\002W\000\000\004\200\000\226\0059\000\130\000\000\004\201\002V\000\000\000\000\004\202\002W\000\000\000\000\000l\000\000\004\203\000\240\000\000\000\000\002b\000\000\004\199\000\000\000\239\000\000\000\134\003\138\0027\000\000\002`\000\000\004\171\000\000\004\190\002a\000\239\000\137\000\000\000\000\004\200\000y\002`\002c\002\240\004\201\000\000\002a\000\000\004\202\000\000\000\000\000\000\000\000\002f\004\203\000\000\005'\006>\000\129\000\000\000\000\000\000\002T\000\134\003\143\002[\000\000\002g\000\000\000\000\000\000\000\000\000\000\000\000\000\137\001O\000\000\002h\000y\000\000\000\174\000h\000\000\000\000\000\000\000\000\000\134\004\015\000\000\000\000\000\000\000\000\002\170\000\000\004\173\002i\000\000\000\137\004\174\000\000\002j\000y\000\000\000\000\002k\000\240\000\000\000\000\000\241\000\000\002l\000\000\000\000\005.\002\141\000\000\000\240\000\240\000\000\002b\000\241\000\000\000\000\000\130\000\000\000\000\002V\000\000\000\240\000\000\002W\002b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\242\000\000\000\000\002c\002\158\000\000\000\000\000i\000\000\000\000\000\000\000\000\000\242\000\000\002f\002c\002d\000\000\000\000\000\000\000\000\000\000\002`\000\000\000\000\0050\002f\002a\002g\0027\000\000\000\000\000\000\004\171\000\000\004\190\001O\000\129\002h\000\000\002g\000\222\004\168\000\145\000\000\000\000\000\000\000\000\001O\000\000\002h\000\000\000\000\000\000\000\000\000\000\002i\000\000\005'\005\137\0052\002j\000\000\0027\000\000\002k\000\000\004\171\002i\004\190\004\187\002l\000\000\002j\0057\002\141\0027\002k\000\240\000l\004\171\004\188\004\190\002l\000\000\000\000\000\000\002\141\000\000\000\000\000\000\000\000\005'\005\127\002\170\0058\004\173\000\000\000\000\000\000\004\174\000\000\000\130\000\000\000\000\005'\005(\000\225\000\000\000\240\0027\000\226\002b\000\000\004\171\005.\004\190\000\000\000\000\0059\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\170\000\000\004\173\000\000\000\000\000\000\004\174\002c\004\178\000\000\004\199\005'\0056\002\170\000\000\004\173\000\000\000\239\002f\004\174\000\000\005.\000\000\000\000\000\134\004\020\000\000\000\000\004\200\000\000\000\000\000\000\002g\004\201\005.\000\137\000\000\004\202\0050\000y\001O\000\000\002h\004\203\000\129\000\000\000\000\002\170\002T\004\173\000\000\002[\000\000\004\174\000\000\000\000\000\000\000\000\000\000\000\000\002i\000\000\000\000\000\000\000\000\002j\000\174\000\000\005.\002k\000\000\000\000\0050\0052\000\000\002l\000\000\000\000\000\000\002\141\000\000\000\000\000\000\004\187\000\000\0050\000\000\0057\000\129\000\000\000\000\000\240\002T\000\000\004\188\002[\000\000\000\000\000\000\000\240\000\000\000\000\000\241\000\000\000\000\000\000\000\000\0052\0058\000\130\000\174\000\000\002V\000\000\000\000\000\000\002W\004\187\000\000\0050\0052\0057\000\000\000\000\000\000\000\240\000\000\000\000\004\188\000\000\004\187\000\000\0059\000\242\0057\000\000\000\000\000\000\000\240\000\000\000\000\004\188\0058\000\000\000\000\000\000\000\000\002`\000\000\000\000\000\000\004\199\002a\000\130\0052\0058\002V\000\000\000\000\000\000\002W\000\000\000\000\000\000\004\187\000\000\0059\000\000\0057\004\200\000\000\000\000\000\240\000\000\004\201\004\188\000\000\0027\004\202\0059\000\000\004\171\000\000\004\190\004\203\004\199\000\000\000\000\000\000\0058\000\000\002`\000\000\000\000\000\000\000\000\002a\000\000\004\199\000\000\000\000\000\000\000\000\004\200\000\000\000\000\005'\005\139\004\201\000\000\000\000\000\000\004\202\0059\000\000\000\000\004\200\000\000\004\203\000\000\000\000\004\201\000\000\000\000\000\000\004\202\000\000\000\000\000\000\000\000\000\000\004\203\004\199\000\000\000\240\000\000\000\000\002b\000\000\000\000\000\000\000\000\002\170\000\000\004\173\000\000\000\000\000\000\004\174\000\000\004\200\000\000\000\000\000\000\000\000\004\201\000\000\000\000\000\000\004\202\002c\0054\000\000\005.\000\000\004\203\000\129\000\000\000\000\000\000\002T\002f\000\000\002[\000\000\000\000\000\000\000\000\000\240\000\000\000\129\002b\000\129\000\000\000\231\002g\000\231\000\000\000\174\000\235\000\000\000\232\000\000\001O\000\000\002h\000\000\000\000\000\000\000\000\000\000\000\000\000\174\000\000\002c\005Q\0027\000\000\000\000\000\000\004\171\000\000\004\190\002i\0050\002f\000\000\000\000\002j\000\000\000\000\000\129\002k\000\000\000\000\000\231\000\000\000\000\002l\002g\000\232\000\130\002\141\000\000\002V\005'\006W\001O\002W\002h\000\000\000\000\000\000\000\000\000\000\000\130\000\000\000\130\000\000\0052\000\225\000\000\000\225\000\000\000\233\000\000\000\233\002i\000\000\004\187\000\000\000\000\002j\0057\000\000\000\000\002k\000\240\000\000\002`\004\188\002\170\002l\004\173\002a\0027\002\141\004\174\000\000\004\171\000\000\004\190\000\000\000\000\0058\000\000\000\130\000\000\000\239\000\000\000\239\000\225\005.\000\000\000\000\000\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005'\006Y\000\000\000\000\0059\0027\000\000\000\000\000\000\004\171\001B\004\190\001D\000\000\000\000\000\129\000\000\000\000\000\000\002T\000\000\000\000\002[\004\199\000\000\000\239\000\000\000\000\000\000\000\000\000\000\000\000\000h\000\000\005'\006[\002\170\000\174\004\173\0050\000\000\004\200\004\174\000\000\000\000\000\000\004\201\000\000\000\000\000\000\004\202\000\000\000\240\000\000\000\000\002b\004\203\005.\000\000\007\187\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000\000\000\240\000\241\002\170\000\241\004\173\000\000\0052\004G\004\174\000\000\002c\006\005\000\130\000\000\000\000\002V\004\187\000\000\000\000\002W\0057\002f\000\000\005.\000\240\000\000\001F\004\188\000\000\000i\000\000\000\000\000\242\000\000\000\242\002g\000\000\000\000\000\000\000\240\0050\0058\000\241\001O\000\000\002h\000\000\0027\000\000\001L\002\157\004\171\000\000\004\190\000\000\002a\000\000\001O\000\000\000\000\001\018\000\000\000\000\002i\000\000\0059\000\000\000\000\002j\000\000\000\000\000\000\002k\000\242\0050\0052\005\130\000\000\002l\000\244\000\000\000\248\002\141\001\019\004\199\004\187\000\000\001\020\000\000\0057\000\000\000\129\001\007\000\240\000\246\002T\004\188\000\000\002[\000\000\000\000\000l\004\200\000\000\000\000\000\000\000\000\004\201\000\000\0052\0058\004\202\002\170\000\174\004\173\000\000\000\000\004\203\004\174\004\187\000\248\000\000\000\000\0057\000\000\000\000\000\000\000\240\000\000\000\000\004\188\001\t\000\000\005.\0059\000\129\000\000\000\240\000\000\002T\002b\000\000\002[\000\000\0058\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\199\000\000\000\000\000\130\000\174\000\000\002V\000\000\000\000\000\000\002W\007\191\000\000\005a\000\000\0059\000\000\000\000\004\200\000\000\000\000\002f\000\000\004\201\000\000\000\000\000\000\004\202\000\000\000\000\000\000\0050\000\000\004\203\004\199\002g\004d\000\129\000\000\000\000\000\000\002T\000\000\001O\002[\002h\002a\000\130\000\000\000\129\002V\005f\004\200\002T\002W\000\000\002[\004\201\000\000\000\174\000\000\004\202\000\000\002i\000\000\000\000\0052\004\203\002j\000\000\000\000\000\174\002k\000\000\000\000\005j\004\187\000\000\002l\000\000\0057\000\000\002\141\000\000\000\240\002\152\000\000\004\188\000\000\000\129\002a\000\000\000\000\000\231\000\000\000\000\000\000\000\000\000\235\000\000\000\000\0058\000\130\000\000\000\000\002V\000\000\000\000\000\000\002W\000\000\000\174\000\000\000\000\000\130\000\000\000\000\002V\000\000\000\000\000\000\002W\000\000\000\000\000\000\0059\000\000\000\000\000\240\000\129\000\000\002b\000\000\000\231\000\000\000\000\000\000\000\000\000\235\000\000\002\143\000\000\000\000\000\000\004\199\002a\000\000\000\000\000\000\000\000\000\000\000\174\002\156\000\000\000\130\000\000\000\000\002a\000\000\000\225\000\000\000\000\004\200\000\233\000\000\002f\000\000\004\201\000\000\000\000\000\000\004\202\000\240\000\000\000\000\002b\000\000\004\203\000\000\002g\000\000\000\000\000\000\000\000\000\000\000\000\002\153\001O\000\000\002h\000\000\000\000\000\000\000\000\000\130\000\000\000\000\000\239\000\000\000\225\000\000\000\000\000\000\000\233\000\000\000\000\000\000\002i\000\000\002f\000\000\000\000\002j\000\000\000\000\000\000\002k\000\000\000\000\000\000\000\000\000\000\002l\002g\000\000\000\000\002\154\000\240\000\000\000\000\002b\001O\000\000\002h\000\000\000\000\000\000\000\239\000\000\000\240\000\129\000\000\002b\000\000\000\231\000\000\000\000\000\000\000\000\000\235\000\000\002i\000\000\000\000\000\000\000\000\002j\000\000\000\000\000\000\002k\000\000\000\174\000\000\002f\000\000\002l\000\000\000\000\000\000\002\141\000\000\000\000\000\000\000\000\000\000\002f\000\000\002g\000\240\000\129\000\000\000\241\000\000\000\231\000\000\001O\000\000\002h\000\235\002g\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001O\000\000\002h\000\000\000\174\000\000\000\000\000\130\002i\002\007\000\000\000\000\000\225\002j\000\000\000\242\000\233\002k\000\000\000\000\002i\000\240\000\129\002l\000\241\002j\000\231\002\141\000\000\002k\000\000\000\235\003\t\000\000\000\000\002l\000\000\000\000\000\000\002\141\001O\000\000\000\129\001\018\000\174\000\000\000\231\000\130\000\000\002\007\000\239\000\232\000\225\000\000\000\000\000\242\000\233\000\000\000\000\000\129\000\000\000\000\000\244\000\231\000\000\000\000\001\019\000\000\000\232\000\000\001\020\000\000\002\247\000\000\000\000\000\000\000\000\000\246\000\000\000\000\001O\000\000\000\000\001\018\000\000\000\000\000\000\000\130\000\000\000\000\000\239\000\000\000\225\000\000\000\000\000\000\000\233\000\000\000\000\000\000\000\000\000\000\000\244\000\000\000\000\0027\001\019\000\130\000\000\0028\001\020\000\000\000\225\0029\000\129\000\000\000\233\000\246\000\231\000\000\000\000\000\000\000\000\000\232\000\130\000\000\000\000\000\000\000\000\000\225\000\239\000\000\000\240\000\233\000\000\000\241\000\000\000\000\0027\000\000\000\000\000\000\0028\000\000\000\000\000\000\0029\000\000\000\000\000\000\000\239\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\000\000\000\000\000\000\000\000\000\000\000\242\000\239\000\000\000\000\002\170\000\000\000\240\000\000\002:\000\241\000\000\000\000\002;\000\130\000\000\000\000\000\000\002\001\000\225\000\000\000\000\000\000\000\233\000\000\000\000\001O\000\000\000\000\001\018\000\000\000\000\000\000\000\000\000\000\002\007\000\000\000\000\002\170\000\000\002\171\000\242\002:\000\000\000\000\000\000\002;\000\240\000\244\000\000\000\241\000\000\001\019\000\000\000\000\000\000\001\020\000\239\002\t\000\000\000\000\000\000\000\000\000\246\000\000\000\000\001O\000\240\000\000\001\018\000\241\000\000\0027\002\171\000\000\002\016\0028\002\172\000\000\000\000\0029\000\242\000\000\000\000\000\240\000\000\000\000\000\241\000\244\000\000\000\000\000\000\001\019\000\000\000\000\000\000\001\020\000\000\002\018\000\000\000\000\000\242\000\000\000\246\000\129\000\000\001O\002\174\000\231\001\018\002\172\000\000\000\000\000\235\000\000\000\000\000\000\000\000\000\242\000\000\000\000\000\000\002\167\002\231\002\212\000\129\000\174\000\000\000\244\000\231\000\240\000\000\001\019\002\168\000\235\000\000\001\020\002\170\000\000\000\240\002\174\002:\000\241\000\246\000\000\002;\000\000\000\174\000\248\000\000\000\000\000\000\000\000\000\000\002\223\002\167\002\229\002\212\000\129\001\011\002\215\000\000\000\231\000\240\000\000\000\248\002\168\000\235\002\177\000\130\000\000\000\000\002\171\000\242\000\225\000\000\001\r\000\129\000\233\000\000\000\174\000\231\000\000\000\000\000\000\000\000\000\232\002\223\000\000\000\000\000\130\000\000\000\000\002\215\000\129\000\225\000\000\000\000\000\231\000\233\000\000\002\177\000\000\000\235\000\129\000\000\000\000\000\000\000\231\002\172\002\179\000\000\000\239\000\235\000\000\000\000\000\174\000\000\000\000\000\000\000\248\000\000\000\000\000\130\000\000\002\180\000\174\000\000\000\225\000\000\000\000\001\023\000\233\000\239\000\000\000\000\000\000\000\000\000\000\002\174\000\000\000\000\000\130\002\179\000\000\000\000\000\000\000\225\000\000\000\000\000\000\000\233\000\000\000\000\002\167\002\210\002\212\000\000\002\180\000\130\000\000\000\000\000\240\000\000\000\225\002\168\000\239\000\000\000\233\000\130\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\000\000\233\000\000\000\000\000\000\000\000\000\000\000\000\000\239\002\223\000\000\000\000\000\000\000\000\000\000\002\215\000\000\000\240\000\000\000\000\000\241\000\000\000\000\002\177\000\000\000\239\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\239\000\000\000\000\000\240\000\000\000\000\000\241\000\000\000\000\000\000\002\007\000\000\000\000\000\000\000\000\000\000\000\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\179\002\007\000\000\003\r\000\000\000\000\000\240\000\242\0027\000\241\000\000\001O\0028\000\000\001\018\002\180\0029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\019\000\240\000\000\000\000\000\241\000\000\000\000\000\000\001O\000\244\002\007\001\018\000\000\001\019\000\000\000\000\000\242\001\020\000\240\000\000\000\000\000\241\000\000\000\000\000\246\000\000\000\000\000\000\000\240\000\000\000\244\000\241\0027\003\023\001\019\000\242\0028\000\000\001\020\0027\0029\001O\000\000\0028\001\018\000\246\002\007\0029\000\000\002\170\000\000\000\000\000\242\002:\000\000\000\129\004\150\002;\000\000\000\231\000\000\000\000\000\242\000\244\000\235\000\000\000\000\001\019\000\000\004\129\000\000\001\020\000\000\000\000\000\000\000\000\000\000\001O\000\246\004\152\001\018\000\000\000\248\000\000\002\171\000\000\000\000\001O\000\000\000\000\001\018\000\000\000\000\001\025\000\000\000\000\000\000\002\170\000\000\000\244\000\000\002:\000\000\001\019\002\170\002;\000\000\001\020\002:\000\244\000\000\000\000\002;\001\019\000\246\000\000\000\000\001\020\000\129\000\000\000\130\002\172\000\231\000\000\000\246\000\225\000\000\000\235\000\000\000\233\000\000\000\000\002\171\000\000\000\000\000\000\000\000\000\000\000\000\002\221\000\000\000\000\002p\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\239\000\000\000\000\002\167\004\237\002\212\002\172\000\000\000\000\000\000\000\000\000\240\000\000\002\172\002\168\000\000\000\000\000\000\000\000\000\000\000\130\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\129\000\233\000\000\000\000\000\231\000\000\000\000\002\223\002\174\000\235\000\000\000\000\000\000\002\215\000\000\002\174\000\000\000\000\000\000\000\000\000\000\002\177\000\000\002\167\007\206\002\212\000\000\000\000\000\000\000\000\002\167\000\240\002\212\000\000\002\168\000\239\000\129\000\000\000\240\000\000\000\231\002\168\000\000\000\000\000\000\000\235\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\231\000\240\002\223\000\000\000\241\000\235\000\000\000\000\002\215\000\000\002\179\000\000\000\130\000\000\000\000\002\215\002\177\000\225\000\000\000\000\000\000\000\233\000\000\002\177\000\000\002\180\000\000\000\000\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\130\000\000\000\000\000\000\000\000\000\225\000\000\000\239\000\000\000\233\002\179\004[\000\000\000\130\000\000\001\018\000\240\002\179\000\225\000\241\000\000\000\000\000\233\000\000\000\000\002\180\000\000\000\000\000\000\000\000\000\000\000\000\002\180\000\000\000\244\000\000\000\000\000\000\001\019\000\000\000\000\000\000\001\020\000\239\002\227\000\000\000\000\000\000\000\129\000\246\000\242\000\000\000\231\000\000\000\000\000\000\000\239\000\235\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\018\000\000\000\000\000\000\000\000\000\000\004g\000\000\000\000\000\000\000\000\000\240\000\129\000\000\000\241\000\000\000\231\000\000\000\000\000\244\000\000\000\235\000\000\001\019\000\000\000\000\000\000\001\020\000\000\000\000\000\000\000\000\000\000\000\000\000\246\000\130\000\000\000\000\000\000\002\227\000\225\000\000\004o\000\000\000\233\000\242\000\000\000\240\000\000\000\000\000\241\000\000\000\000\000\000\000\000\004v\000\000\004\207\000\000\000\000\000\240\000\129\000\000\000\241\000\000\000\231\000\000\000\000\000\000\000\000\000\235\000\000\000\000\001\018\000\000\002\227\000\000\000\130\000\239\000\000\000\000\000\242\000\225\000\000\000\000\000\000\000\233\000\000\002\227\000\000\000\000\000\000\000\244\000\000\000\242\000\000\001\019\000\000\000\000\005\b\001\020\000\000\000\129\000\000\000\000\000\000\000\231\000\246\000\000\001\018\000\000\000\235\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\239\000\000\001\018\000\000\000\000\000\000\000\130\000\000\000\244\000\000\000\000\000\225\001\019\000\000\000\000\000\233\001\020\000\000\000\129\000\000\000\000\000\244\000\231\000\246\000\000\001\019\000\000\000\235\005\n\001\020\000\000\0027\000\000\000\000\000\000\0028\000\246\000\000\000\000\0029\000\240\000\000\000\000\000\241\000\000\000\000\000\000\000\130\000\000\000\239\000\000\000\000\000\225\000\129\000\129\000\000\000\233\000\231\000\231\000\000\000\000\000\000\000\235\000\235\000\000\000\000\000\000\000\000\001\021\005\012\000\000\000\000\000\000\000\000\000\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000\130\000\000\000\241\000\000\000\000\000\225\000\000\000\239\000\000\000\233\000\000\000\000\000\000\002\170\000\000\000\000\000\000\002:\000\000\001\018\000\000\002;\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\242\000\000\000\130\000\130\000\000\000\244\000\000\000\225\000\225\001\019\000\239\000\233\000\233\001\020\000\000\000\240\000\000\000\000\000\241\000\000\000\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\239\000\239\000\244\000\000\000\242\000\000\001\019\002\172\000\000\000\000\001\020\000\240\000\000\000\000\000\241\000\000\000\000\000\246\000\000\000\129\000\000\000\000\000\000\000\231\000\000\000\000\000\000\000\000\000\235\000\129\000\000\000\000\001\018\000\231\000\000\000\000\000\000\002\174\000\235\001\021\000\000\000\000\005_\000\000\000\000\000\242\000\000\000\240\000\000\000\129\000\241\000\244\002\167\000\231\002\176\001\019\000\000\000\000\000\235\001\020\000\240\000\129\000\000\002\168\000\000\000\231\000\246\000\000\000\000\000\000\000\235\000\000\000\000\001\018\000\000\002\227\000\000\005h\005p\000\000\000\000\000\242\000\240\000\240\000\130\000\241\000\241\000\000\000\000\000\225\000\000\000\000\000\244\000\233\000\130\000\000\001\019\000\000\002\177\000\225\001\020\000\000\000\000\000\233\000\000\000\000\000\000\000\246\000\000\001\018\002\227\002\227\000\000\000\000\000\130\000\000\000\242\000\242\000\000\000\225\000\000\000\129\000\000\000\233\000\000\000\231\000\130\000\239\000\244\000\000\000\235\000\225\001\019\000\000\000\000\000\233\001\020\000\239\000\000\000\000\002\179\000\000\000\000\000\246\001\018\001\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\180\000\129\000\239\000\000\000\000\000\231\000\000\000\000\000\244\000\244\000\235\000\129\001\019\001\019\000\239\000\231\001\020\001\020\000\000\000\000\000\235\000\000\000\000\000\246\000\246\000\000\000\000\000\000\000\000\000\000\000\000\000\130\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\000\000\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\219\000\000\000\000\000\000\000\000\000\240\000\000\000\000\000\241\000\000\005\231\000\000\000\000\000\000\000\000\000\240\000\000\000\130\000\241\000\000\000\000\000\000\000\225\000\000\000\000\000\239\000\233\000\130\000\000\000\000\005\236\000\000\000\225\002\227\000\000\000\240\000\233\000\000\000\241\000\242\000\000\000\000\005\243\002\227\000\000\000\000\000\000\000\240\000\000\000\242\000\241\000\000\000\129\000\000\000\000\000\000\000\231\000\000\000\000\000\000\000\239\000\235\000\000\002\227\000\129\000\000\000\000\001\018\000\231\000\242\000\239\000\000\007\170\000\235\000\129\002\227\000\000\001\018\000\231\000\000\000\000\000\242\000\000\000\235\000\000\000\000\000\244\000\000\000\000\000\000\001\019\000\000\000\000\000\000\001\020\000\000\000\244\001\018\000\000\000\000\001\019\000\246\005\252\000\000\001\020\000\000\000\000\000\240\000\000\001\018\000\241\000\246\000\000\000\000\000\000\000\000\000\244\000\130\000\000\000\000\001\019\000\000\000\225\000\000\001\020\000\000\000\233\000\000\000\244\000\130\000\000\000\246\001\019\000\000\000\225\002\227\001\020\006\019\000\233\000\130\000\000\000\242\000\240\000\246\000\225\000\241\000\000\006\024\000\233\000\000\000\000\000\000\000\240\000\000\000\129\000\241\000\000\000\000\000\231\000\000\000\239\000\000\000\000\000\235\000\000\000\000\000\000\000\000\000\000\001\018\002\227\000\000\000\239\000\000\b\015\000\000\000\242\000\000\000\000\000\000\002\227\000\000\000\239\000\000\000\000\000\000\000\242\000\000\000\244\000\000\000\000\000\129\001\019\000\000\000\000\000\231\001\020\000\000\000\000\000\000\000\235\000\000\000\000\000\246\001\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\018\000\000\000\000\000\000\000\000\000\130\000\000\000\129\000\000\000\244\000\225\000\231\000\000\001\019\000\233\000\000\000\235\001\020\000\000\000\244\000\000\000\000\000\000\001\019\000\246\000\000\000\000\001\020\000\240\000\000\000\000\000\241\000\000\000\000\000\246\006\031\000\000\000\000\000\000\000\000\000\240\000\000\000\130\000\241\000\000\000\000\000\000\000\225\000\239\000\000\000\240\000\233\000\000\000\241\000\000\000\000\007\171\000\000\000\000\000\000\000\000\000\000\000\242\000\000\000\000\000\000\000\000\000\129\002\227\000\000\000\000\000\231\000\130\000\000\000\242\000\000\000\235\000\225\001;\000\129\000\000\000\233\000\000\000\231\000\242\000\239\000\000\000\000\000\235\000\000\001\018\000\129\000\000\000\000\000\000\000\231\000\000\000\000\000\000\000\000\000\235\000\000\001\018\000\000\000\000\000\000\000\000\000\000\000\000\000\244\000\000\000\000\001\018\001\019\000\000\000\239\000\000\001\020\000\000\000\000\000\000\000\244\000\000\000\000\000\246\001\019\000\000\000\000\000\000\001\020\000\240\000\244\000\130\000\241\000\000\001\019\000\246\000\225\000\000\001\020\000\000\000\233\000\000\000\129\000\130\000\000\000\246\000\231\000\000\000\225\000\000\000\000\000\235\000\233\000\000\000\000\000\130\000\000\007\171\000\000\000\000\000\225\000\000\000\000\000\242\000\233\000\000\000\240\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\239\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\231\000\000\000\000\000\000\000\239\000\235\000\000\000\000\000\000\001\018\000\000\000\000\001\017\000\000\000\240\000\000\000\239\000\241\000\242\000\000\000\129\000\000\000\000\000\000\000\231\000\130\000\000\000\000\000\244\000\235\000\225\000\000\001\019\000\000\000\233\000\000\001\020\000\000\000\000\000\000\000\000\000\000\001H\000\246\000\000\000\000\001\018\000\000\000\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\130\000\000\000\000\000\000\000\244\000\225\000\000\000\239\001\019\000\233\000\000\000\000\001\020\000\240\000\000\001\018\000\241\000\000\000\000\000\246\000\000\000\000\000\000\000\129\000\130\000\240\000\000\000\231\000\241\000\225\000\000\000\000\000\235\000\233\000\244\000\000\000\000\000\240\001\019\000\000\000\241\002\022\001\020\000\239\000\000\000\000\000\000\000\242\000\000\000\246\000\000\000\000\000\000\002\024\000\000\000\000\000\000\000\000\000\000\000\242\000\000\000\000\000\000\000\000\000\129\002r\000\000\000\239\000\231\000\000\000\000\000\242\000\000\000\235\000\000\001\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\018\000\130\000\240\000\000\000\000\000\241\000\225\000\244\000\000\000\000\000\233\001\019\001\018\000\000\000\000\001\020\000\000\000\000\000\000\000\244\000\000\000\000\000\246\001\019\000\000\000\000\000\000\001\020\000\000\000\000\002\145\000\244\000\000\000\000\000\246\001\019\000\242\000\000\000\240\001\020\000\000\000\241\000\130\000\000\000\239\000\000\000\246\000\225\000\129\000\000\000\000\000\233\000\231\000\000\000\000\000\000\000\000\000\235\000\000\000\000\000\000\000\000\000\240\000\000\001\018\000\241\002\161\000\000\000\000\000\000\000\000\000\129\000\242\000\000\000\000\000\231\000\000\000\000\000\000\000\000\000\232\000\000\000\000\000\244\000\000\000\239\000\000\001\019\000\000\000\000\003\001\001\020\000\000\000\000\000\000\000\000\000\242\000\000\000\246\000\000\001\018\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\129\000\000\000\231\000\000\000\231\000\130\000\000\000\235\000\000\000\235\000\225\000\244\000\000\000\000\000\233\001\019\001\018\000\000\000\240\001\020\000\129\000\241\000\000\000\000\000\231\000\000\000\246\000\000\000\130\000\235\000\000\000\000\000\000\000\225\000\000\000\244\000\000\000\233\000\000\001\019\000\000\000\000\000\000\001\020\000\000\000\000\0049\000\000\000\239\000\000\000\246\000\000\000\242\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000\000\000\000\000\241\000\130\000\000\000\130\000\000\000\000\000\225\000\129\000\225\000\239\000\233\000\231\000\233\000\000\000\000\000\000\000\235\000\000\001\018\000\000\000\000\000\000\000\000\000\130\000\000\004?\000\000\000\000\000\225\000\000\000\000\000\242\000\233\000\000\000\000\000\000\000\000\000\244\000\000\000\000\000\000\001\019\000\000\000\000\000\239\001\020\000\239\000\000\000\000\000\000\000\000\000\000\000\246\000\129\000\000\000\000\000\000\000\231\000\000\001\018\000\000\000\000\000\235\000\000\000\000\000\000\000\239\000\000\000\240\000\000\000\129\000\241\000\130\000\000\000\231\000\000\000\000\000\225\000\244\000\235\000\000\000\233\001\019\000\000\000\000\000\000\001\020\000\000\000\000\000\000\000\000\000\240\000\000\000\246\000\241\000\000\004\134\000\000\000\000\000\000\000\000\000\000\000\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\239\000\000\000\000\000\130\000\000\000\000\000\000\000\000\000\225\000\000\000\242\000\240\000\233\000\240\000\241\001\018\000\241\000\000\000\000\000\000\000\130\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\000\000\233\000\000\000\000\000\000\000\240\000\244\000\000\000\241\000\000\001\019\004\139\000\000\004\143\001\020\000\000\000\000\000\242\000\239\000\242\000\000\000\246\000\129\000\000\000\000\000\000\000\231\000\000\000\000\000\248\000\000\000\235\000\129\004\181\000\129\000\239\000\231\000\000\000\231\000\242\001\027\000\235\000\000\000\235\000\129\001\018\000\000\001\018\000\231\000\000\000\000\000\000\000\000\000\235\000\240\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\244\000\000\000\244\001\018\001\019\000\000\001\019\000\000\001\020\000\000\001\020\000\000\000\000\000\000\000\000\000\246\000\000\000\246\004\209\000\000\000\000\000\000\000\244\000\130\000\242\000\000\001\019\000\000\000\225\000\000\001\020\000\000\000\233\000\130\000\000\000\130\000\240\000\246\000\225\000\241\000\225\000\000\000\233\000\000\000\233\000\130\000\000\000\000\000\000\000\000\000\225\000\000\001\018\000\240\000\233\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\000\000\000\000\239\000\000\000\000\000\000\000\242\000\244\000\000\000\000\000\000\001\019\000\239\000\000\000\239\001\020\000\000\005+\000\000\000\000\000\000\000\129\000\246\000\242\000\239\000\231\000\000\000\000\000\000\000\000\000\235\000\000\000\000\000\129\001\018\000\000\000\000\000\231\000\000\000\000\000\000\000\000\000\235\000\129\000\000\000\129\000\000\000\231\000\000\000\231\000\000\001\018\000\235\000\244\000\235\000\000\000\000\001\019\000\000\000\000\000\000\001\020\000\129\000\000\000\000\000\000\000\231\000\000\000\246\000\000\000\244\000\232\000\000\000\000\001\019\000\000\000\000\000\000\001\020\000\000\000\000\000\000\000\000\000\000\000\240\000\246\000\130\000\241\000\000\000\000\000\000\000\225\000\000\000\000\000\240\000\233\000\240\000\241\000\130\000\241\000\000\000\000\000\000\000\225\000\000\000\000\000\240\000\233\000\130\000\241\000\130\000\000\005\206\000\225\000\000\000\225\000\000\000\233\000\242\000\233\000\000\000\000\0065\000\000\006I\000\000\000\000\000\130\000\242\000\239\000\242\000\000\000\225\000\129\006K\000\129\000\233\000\231\000\000\000\231\000\242\000\239\000\232\000\000\000\232\000\129\001\018\000\000\000\000\000\231\000\000\000\239\000\000\000\239\000\232\000\000\001\018\000\129\001\018\000\000\000\000\000\231\000\000\000\000\000\000\000\244\000\232\000\000\001\018\001\019\000\239\000\000\000\000\001\020\000\000\000\244\000\000\000\244\000\000\001\019\000\246\001\019\000\000\001\020\000\000\001\020\000\000\000\244\000\000\000\000\000\246\001\019\000\246\000\000\000\000\001\020\000\000\000\000\000\130\000\000\000\130\000\000\000\246\000\225\000\000\000\225\000\000\000\233\000\000\000\233\000\130\000\240\000\000\000\000\000\241\000\225\000\000\000\000\000\000\000\233\000\000\000\000\000\130\000\240\000\000\000\000\000\241\000\225\000\129\000\000\000\000\000\233\000\231\000\240\000\000\000\240\000\241\000\232\000\241\006M\000\000\000\239\000\000\000\239\000\000\000\242\000\000\000\000\000\000\000\000\000\000\006S\000\240\000\239\000\000\000\241\000\000\000\242\000\000\000\000\000\000\006a\000\000\006o\000\000\000\239\000\000\000\242\000\000\000\242\000\000\000\000\000\129\001\018\000\000\000\000\000\231\000\000\000\129\000\000\000\000\000\232\000\231\000\000\000\000\001\018\000\242\000\232\000\000\000\000\000\129\000\000\000\244\000\130\000\231\001\018\001\019\001\018\000\225\000\232\001\020\000\000\000\233\000\000\000\244\000\000\000\000\000\246\001\019\000\000\000\000\000\000\001\020\000\000\000\244\000\000\000\244\000\000\001\019\000\246\001\019\000\000\001\020\000\240\001\020\000\240\000\241\000\000\000\241\000\246\000\000\000\246\000\000\000\248\000\000\000\240\000\239\000\130\000\241\000\000\000\000\000\000\000\225\000\130\001\029\000\000\000\233\000\240\000\225\000\129\000\241\000\000\000\233\000\231\000\000\000\130\000\000\000\242\000\232\000\242\000\225\000\000\000\000\000\000\000\233\000\000\000\129\000\000\000\000\000\242\000\231\000\000\000\000\000\129\000\000\000\232\000\000\000\231\000\000\000\000\000\239\000\242\000\232\000\000\000\000\000\129\000\239\000\000\000\000\000\231\000\000\000\000\000\000\000\129\000\232\000\000\000\000\000\231\000\239\000\129\000\000\000\000\000\232\000\231\000\248\000\000\000\248\000\000\000\232\000\000\000\000\000\000\000\000\000\000\000\130\001\031\000\248\001!\000\240\000\225\000\000\000\241\000\000\000\233\000\000\000\000\000\000\001#\000\248\000\000\000\000\000\130\000\000\000\000\000\000\000\000\000\225\000\000\000\130\001%\000\233\000\000\000\000\000\225\000\000\000\000\000\000\000\233\000\000\000\000\000\130\000\000\000\242\000\000\000\000\000\225\000\000\000\239\000\130\000\233\000\000\000\000\000\240\000\225\000\130\000\241\000\000\000\233\000\240\000\225\000\000\000\241\000\000\000\233\000\239\000\000\000\000\000\000\000\000\000\000\000\240\000\239\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\239\000\000\000\000\000\242\000\000\000\000\000\248\000\129\000\239\000\242\000\000\000\231\000\000\000\000\000\239\000\000\000\232\001'\000\000\000\000\000\000\000\242\000\000\000\000\000\129\000\000\000\000\000\000\000\231\000\000\000\000\000\000\000\000\000\232\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\240\000\000\000\231\000\241\000\248\000\000\000\000\000\232\000\000\000\000\000\248\000\000\000\000\000\000\000\000\001)\000\000\000\240\000\000\000\000\000\241\001+\000\248\000\000\000\240\000\000\000\130\000\241\000\000\000\000\000\000\000\225\000\000\001-\000\242\000\233\000\240\000\129\000\000\000\241\000\000\000\231\000\000\000\130\000\240\000\000\000\232\000\241\000\225\000\000\000\240\000\242\000\233\000\241\000\000\000\000\000\000\000\000\000\242\000\000\000\000\000\000\000\000\000\130\000\000\000\000\000\000\000\000\000\225\000\239\000\242\000\000\000\233\000\129\000\000\000\000\000\000\000\231\000\242\000\000\000\000\000\248\000\232\000\000\000\242\000\129\000\239\000\000\000\000\000\231\000\000\000\129\001/\000\000\000\232\000\231\000\000\000\000\000\248\000\129\000\232\000\000\000\130\000\231\000\000\000\248\000\239\000\225\000\232\0011\000\000\000\233\000\000\000\000\000\000\000\000\0013\000\248\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\248\000\000\000\000\0015\000\000\000\000\000\248\000\000\000\000\000\000\000\000\002n\000\000\000\130\000\000\000\129\000\000\002t\000\225\000\231\000\239\000\000\000\233\000\000\000\232\000\130\000\240\000\000\000\000\000\241\000\225\000\130\000\000\000\000\000\233\000\000\000\225\000\000\000\000\000\130\000\233\000\000\000\000\000\240\000\225\000\000\000\241\000\000\000\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\239\000\000\000\000\000\000\000\242\000\000\000\000\000\240\000\000\000\000\000\241\000\000\000\239\000\129\000\000\000\000\000\000\000\231\000\239\000\000\000\000\000\242\000\232\000\000\000\130\000\000\000\239\000\000\000\129\000\225\000\000\000\000\000\231\000\233\000\000\000\000\000\129\000\232\000\000\000\000\000\231\000\242\000\000\000\000\000\000\000\232\000\240\000\000\000\000\000\241\000\129\000\248\000\129\000\000\000\231\000\000\000\231\000\000\000\000\000\232\000\000\000\232\002v\000\000\000\000\000\129\000\000\000\239\000\248\000\231\000\000\000\000\000\000\000\000\000\232\000\000\000\000\000\000\000\130\002x\000\242\000\000\000\240\000\225\000\000\000\241\000\000\000\233\000\248\000\000\000\000\000\000\000\000\000\130\000\240\000\000\000\000\000\241\000\225\002z\000\240\000\130\000\233\000\241\000\000\000\000\000\225\000\000\000\240\000\000\000\233\000\241\000\000\000\000\000\000\000\130\000\242\000\130\000\000\000\000\000\225\000\239\000\225\000\000\000\233\000\000\000\233\000\248\000\242\000\000\000\130\000\000\000\000\000\000\000\242\000\225\000\239\000\000\002|\000\233\000\000\000\000\000\242\000\000\000\239\000\000\000\000\000\000\000\000\000\240\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\239\000\000\000\239\000\000\000\129\000\248\000\000\000\000\000\231\000\000\000\000\000\000\000\000\000\232\000\000\000\239\002~\000\248\000\000\000\000\000\000\000\000\000\000\000\248\000\000\000\242\000\000\000\000\002\128\000\000\000\000\000\248\000\000\000\000\002\130\000\000\000\000\000\000\000\000\000\000\000\129\000\000\002\132\000\000\000\231\000\240\000\000\000\000\000\241\000\232\000\129\000\000\000\000\000\000\000\231\000\000\000\000\000\000\000\129\000\232\000\240\000\000\000\231\000\241\000\000\000\000\000\000\000\232\000\240\000\130\000\000\000\241\000\248\000\000\000\225\000\000\000\000\000\129\000\233\000\242\000\000\000\231\000\240\002\134\000\240\000\241\000\232\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\242\000\000\000\000\000\240\000\000\000\129\000\241\000\000\000\242\000\231\000\000\000\130\000\000\000\000\000\232\000\000\000\225\000\000\000\239\000\000\000\233\000\130\000\242\000\000\000\242\000\000\000\225\000\000\000\000\000\130\000\233\000\000\000\248\000\000\000\225\000\000\000\000\000\242\000\233\000\000\000\129\000\000\000\000\002\136\000\231\000\000\000\000\000\248\000\130\000\232\000\000\000\000\000\000\000\225\000\239\000\248\000\000\000\233\002\138\000\129\000\000\000\000\000\000\000\231\000\239\000\000\002\140\000\000\000\232\000\248\000\130\000\248\000\239\000\000\000\000\000\225\000\000\000\129\000\000\000\233\002\182\000\231\002\184\000\000\000\248\000\129\000\232\000\000\000\000\000\231\000\000\000\239\000\000\000\000\000\232\002\186\000\000\000\000\000\000\000\000\000\240\000\000\000\000\000\241\000\000\000\130\000\000\000\000\000\000\000\000\000\225\000\000\000\129\000\239\000\233\000\000\000\231\000\000\000\000\000\000\000\000\000\232\000\000\000\000\000\130\000\000\000\129\000\000\000\000\000\225\000\231\000\000\000\000\000\233\000\242\000\232\000\240\000\000\000\000\000\241\000\000\000\000\000\130\000\000\000\000\000\000\000\240\000\225\000\239\000\241\000\130\000\233\000\000\000\000\000\240\000\225\000\000\000\241\000\000\000\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\239\000\000\000\000\000\242\000\000\000\000\000\240\000\000\000\000\000\241\000\130\000\000\000\000\000\242\000\248\000\225\000\000\000\000\000\239\000\233\000\000\000\242\000\000\000\000\000\130\002\188\000\239\000\000\000\240\000\225\000\000\000\241\000\000\000\233\000\000\000\000\000\000\000\000\000\000\000\000\000\242\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\231\000\248\000\000\000\000\000\239\000\232\000\000\000\000\000\000\000\000\000\000\000\248\002\190\000\242\000\240\000\000\000\000\000\241\000\239\000\248\000\000\000\000\002\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\194\000\129\000\000\000\240\000\000\000\231\000\241\000\129\000\248\000\000\000\232\000\231\000\000\000\000\000\000\000\000\000\232\000\000\000\242\002\196\000\000\000\240\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\240\000\248\000\130\000\241\000\000\000\000\000\000\000\225\000\242\000\000\000\000\000\233\002\198\000\129\000\000\000\000\000\000\000\231\000\000\000\000\000\129\000\000\000\232\000\000\000\231\000\000\000\242\000\240\000\000\000\232\000\241\000\000\000\000\000\000\000\242\000\000\000\248\000\130\000\000\000\000\000\000\000\240\000\225\000\130\000\241\000\239\000\233\002\200\000\225\000\000\000\000\000\000\000\233\000\000\000\000\000\248\000\000\000\000\000\000\000\000\000\000\000\242\000\000\000\000\000\000\000\000\002\202\000\000\000\000\000\000\000\000\000\000\000\000\000\248\000\000\000\242\000\000\000\000\000\130\000\000\000\239\000\248\000\000\000\225\002\204\000\130\000\239\000\233\000\000\000\129\000\225\000\000\002\206\000\231\000\233\000\000\000\000\000\000\000\232\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\248\000\000\000\000\000\231\000\000\000\000\000\129\000\000\000\232\000\000\000\231\002\208\000\000\000\239\000\248\000\232\000\000\000\000\000\000\000\240\000\239\000\000\000\241\000\000\000\000\004\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\129\000\000\000\231\000\000\000\231\000\000\000\000\000\232\000\000\000\232\000\130\000\000\000\000\000\000\000\000\000\225\000\129\000\242\000\240\000\233\000\231\000\241\000\129\000\000\000\240\000\232\000\231\000\241\000\130\000\000\000\000\000\232\000\000\000\225\000\000\000\130\000\000\000\233\000\000\000\000\000\225\000\000\000\000\000\000\000\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\242\000\239\000\000\000\000\000\000\000\000\000\242\000\240\000\000\000\000\000\241\000\130\000\248\000\130\000\240\000\000\000\225\000\241\000\225\000\239\000\233\000\000\000\233\004\211\000\000\000\000\000\239\000\000\000\000\000\130\000\000\000\000\000\000\000\000\000\225\000\130\000\000\000\000\000\233\000\000\000\225\000\242\000\000\000\000\000\233\000\000\000\000\000\248\000\242\000\000\000\000\000\000\000\000\000\248\000\239\000\000\000\239\000\129\004\213\000\000\000\000\000\231\000\000\000\000\004\215\000\000\000\232\000\000\000\000\000\000\000\000\000\000\000\239\000\000\000\000\000\000\000\000\000\000\000\239\000\000\000\000\000\000\000\000\000\240\000\000\000\000\000\241\000\000\000\248\000\000\000\000\000\000\000\000\000\000\000\000\000\248\000\000\000\000\000\000\004\217\000\000\000\240\000\000\000\000\000\241\000\000\004\219\000\000\000\240\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\242\000\000\000\000\000\000\000\000\000\130\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\000\000\233\000\000\000\000\000\000\000\242\000\240\000\000\000\240\000\241\000\000\000\241\000\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000\000\000\000\000\241\000\000\000\000\000\240\000\000\000\000\000\241\000\248\000\239\000\000\000\000\000\000\000\000\000\242\000\000\000\242\000\000\000\000\004\221\000\000\000\000\000\000\000\000\000\000\000\000\000\248\000\000\000\000\000\000\000\000\000\000\000\242\000\248\000\000\000\000\000\000\004\223\000\242\000\000\000\000\000\000\000\000\000\000\004\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\248\000\000\000\248\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\227\000\000\004\229\000\000\000\000\000\000\000\000\000\248\000\000\000\000\000\000\000\000\000\000\000\248\000\000\000\000\000\000\000\000\004\231\000\240\000\000\000\000\000\241\000\000\004\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\235")) let semantic_action = [| @@ -1739,9 +1753,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 2261 "parser_cocci_menhir.mly" +# 2284 "parser_cocci_menhir.mly" ( Ast0.set_arg_exp _1 ) -# 1745 "parser_cocci_menhir.ml" +# 1759 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1762,12 +1776,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 134 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 1766 "parser_cocci_menhir.ml" +# 1780 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 2263 "parser_cocci_menhir.mly" +# 2286 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in let lenname = @@ -1776,7 +1790,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)) ) -# 1780 "parser_cocci_menhir.ml" +# 1794 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1798,9 +1812,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 2272 "parser_cocci_menhir.mly" +# 2295 "parser_cocci_menhir.mly" ( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) ) -# 1804 "parser_cocci_menhir.ml" +# 1818 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1820,9 +1834,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2308 "parser_cocci_menhir.mly" +# 2331 "parser_cocci_menhir.mly" ( Ast.WhenAny ) -# 1826 "parser_cocci_menhir.ml" +# 1840 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1842,9 +1856,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2309 "parser_cocci_menhir.mly" +# 2332 "parser_cocci_menhir.mly" ( Ast.WhenStrict ) -# 1848 "parser_cocci_menhir.ml" +# 1862 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1864,9 +1878,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2310 "parser_cocci_menhir.mly" +# 2333 "parser_cocci_menhir.mly" ( Ast.WhenForall ) -# 1870 "parser_cocci_menhir.ml" +# 1884 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1886,9 +1900,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2311 "parser_cocci_menhir.mly" +# 2334 "parser_cocci_menhir.mly" ( Ast.WhenExists ) -# 1892 "parser_cocci_menhir.ml" +# 1906 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1910,9 +1924,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1493 "parser_cocci_menhir.mly" +# 1505 "parser_cocci_menhir.mly" ( _1 ) -# 1916 "parser_cocci_menhir.ml" +# 1930 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1944,15 +1958,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 168 "parser_cocci_menhir.mly" (Data.clt) -# 1948 "parser_cocci_menhir.ml" +# 1962 "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_ = -# 1495 "parser_cocci_menhir.mly" +# 1507 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 1956 "parser_cocci_menhir.ml" +# 1970 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1984,15 +1998,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 166 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 1988 "parser_cocci_menhir.ml" +# 2002 "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_ = -# 1497 "parser_cocci_menhir.mly" +# 1509 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 1996 "parser_cocci_menhir.ml" +# 2010 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2024,15 +2038,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 167 "parser_cocci_menhir.mly" (Data.clt) -# 2028 "parser_cocci_menhir.ml" +# 2042 "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_ = -# 1499 "parser_cocci_menhir.mly" +# 1511 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 2036 "parser_cocci_menhir.ml" +# 2050 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2064,15 +2078,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 167 "parser_cocci_menhir.mly" (Data.clt) -# 2068 "parser_cocci_menhir.ml" +# 2082 "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_ = -# 1501 "parser_cocci_menhir.mly" +# 1513 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 2076 "parser_cocci_menhir.ml" +# 2090 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2104,15 +2118,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 165 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 2108 "parser_cocci_menhir.ml" +# 2122 "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_ = -# 1503 "parser_cocci_menhir.mly" +# 1515 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2116 "parser_cocci_menhir.ml" +# 2130 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2144,15 +2158,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 165 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 2148 "parser_cocci_menhir.ml" +# 2162 "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_ = -# 1505 "parser_cocci_menhir.mly" +# 1517 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2156 "parser_cocci_menhir.ml" +# 2170 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2184,15 +2198,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 164 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 2188 "parser_cocci_menhir.ml" +# 2202 "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_ = -# 1507 "parser_cocci_menhir.mly" +# 1519 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 2196 "parser_cocci_menhir.ml" +# 2210 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2224,15 +2238,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 163 "parser_cocci_menhir.mly" (Data.clt) -# 2228 "parser_cocci_menhir.ml" +# 2242 "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_ = -# 1509 "parser_cocci_menhir.mly" +# 1521 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) -# 2236 "parser_cocci_menhir.ml" +# 2250 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2264,15 +2278,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 163 "parser_cocci_menhir.mly" (Data.clt) -# 2268 "parser_cocci_menhir.ml" +# 2282 "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_ = -# 1511 "parser_cocci_menhir.mly" +# 1523 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 2276 "parser_cocci_menhir.ml" +# 2290 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2304,15 +2318,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 162 "parser_cocci_menhir.mly" (Data.clt) -# 2308 "parser_cocci_menhir.ml" +# 2322 "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_ = -# 1513 "parser_cocci_menhir.mly" +# 1525 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) -# 2316 "parser_cocci_menhir.ml" +# 2330 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2344,15 +2358,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 160 "parser_cocci_menhir.mly" (Data.clt) -# 2348 "parser_cocci_menhir.ml" +# 2362 "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_ = -# 1515 "parser_cocci_menhir.mly" +# 1527 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) -# 2356 "parser_cocci_menhir.ml" +# 2370 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2384,15 +2398,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 161 "parser_cocci_menhir.mly" (Data.clt) -# 2388 "parser_cocci_menhir.ml" +# 2402 "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_ = -# 1517 "parser_cocci_menhir.mly" +# 1529 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) -# 2396 "parser_cocci_menhir.ml" +# 2410 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2424,15 +2438,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 159 "parser_cocci_menhir.mly" (Data.clt) -# 2428 "parser_cocci_menhir.ml" +# 2442 "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_ = -# 1519 "parser_cocci_menhir.mly" +# 1531 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 2436 "parser_cocci_menhir.ml" +# 2450 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2464,15 +2478,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 158 "parser_cocci_menhir.mly" (Data.clt) -# 2468 "parser_cocci_menhir.ml" +# 2482 "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_ = -# 1521 "parser_cocci_menhir.mly" +# 1533 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 2476 "parser_cocci_menhir.ml" +# 2490 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2494,9 +2508,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1493 "parser_cocci_menhir.mly" +# 1505 "parser_cocci_menhir.mly" ( _1 ) -# 2500 "parser_cocci_menhir.ml" +# 2514 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2528,15 +2542,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 168 "parser_cocci_menhir.mly" (Data.clt) -# 2532 "parser_cocci_menhir.ml" +# 2546 "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_ = -# 1495 "parser_cocci_menhir.mly" +# 1507 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 2540 "parser_cocci_menhir.ml" +# 2554 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2568,15 +2582,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 166 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 2572 "parser_cocci_menhir.ml" +# 2586 "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_ = -# 1497 "parser_cocci_menhir.mly" +# 1509 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2580 "parser_cocci_menhir.ml" +# 2594 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2608,15 +2622,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 167 "parser_cocci_menhir.mly" (Data.clt) -# 2612 "parser_cocci_menhir.ml" +# 2626 "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_ = -# 1499 "parser_cocci_menhir.mly" +# 1511 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 2620 "parser_cocci_menhir.ml" +# 2634 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2648,15 +2662,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 167 "parser_cocci_menhir.mly" (Data.clt) -# 2652 "parser_cocci_menhir.ml" +# 2666 "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_ = -# 1501 "parser_cocci_menhir.mly" +# 1513 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 2660 "parser_cocci_menhir.ml" +# 2674 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2688,15 +2702,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 165 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 2692 "parser_cocci_menhir.ml" +# 2706 "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_ = -# 1503 "parser_cocci_menhir.mly" +# 1515 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2700 "parser_cocci_menhir.ml" +# 2714 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2728,15 +2742,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 165 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 2732 "parser_cocci_menhir.ml" +# 2746 "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_ = -# 1505 "parser_cocci_menhir.mly" +# 1517 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2740 "parser_cocci_menhir.ml" +# 2754 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2768,15 +2782,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 164 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 2772 "parser_cocci_menhir.ml" +# 2786 "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_ = -# 1507 "parser_cocci_menhir.mly" +# 1519 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 2780 "parser_cocci_menhir.ml" +# 2794 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2808,15 +2822,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 163 "parser_cocci_menhir.mly" (Data.clt) -# 2812 "parser_cocci_menhir.ml" +# 2826 "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_ = -# 1509 "parser_cocci_menhir.mly" +# 1521 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) -# 2820 "parser_cocci_menhir.ml" +# 2834 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2848,15 +2862,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 163 "parser_cocci_menhir.mly" (Data.clt) -# 2852 "parser_cocci_menhir.ml" +# 2866 "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_ = -# 1511 "parser_cocci_menhir.mly" +# 1523 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 2860 "parser_cocci_menhir.ml" +# 2874 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2888,15 +2902,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 162 "parser_cocci_menhir.mly" (Data.clt) -# 2892 "parser_cocci_menhir.ml" +# 2906 "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_ = -# 1513 "parser_cocci_menhir.mly" +# 1525 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) -# 2900 "parser_cocci_menhir.ml" +# 2914 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2928,15 +2942,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 160 "parser_cocci_menhir.mly" (Data.clt) -# 2932 "parser_cocci_menhir.ml" +# 2946 "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_ = -# 1515 "parser_cocci_menhir.mly" +# 1527 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) -# 2940 "parser_cocci_menhir.ml" +# 2954 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2968,15 +2982,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 161 "parser_cocci_menhir.mly" (Data.clt) -# 2972 "parser_cocci_menhir.ml" +# 2986 "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_ = -# 1517 "parser_cocci_menhir.mly" +# 1529 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) -# 2980 "parser_cocci_menhir.ml" +# 2994 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3008,15 +3022,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 159 "parser_cocci_menhir.mly" (Data.clt) -# 3012 "parser_cocci_menhir.ml" +# 3026 "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_ = -# 1519 "parser_cocci_menhir.mly" +# 1531 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 3020 "parser_cocci_menhir.ml" +# 3034 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3048,15 +3062,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 158 "parser_cocci_menhir.mly" (Data.clt) -# 3052 "parser_cocci_menhir.ml" +# 3066 "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_ = -# 1521 "parser_cocci_menhir.mly" +# 1533 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 3060 "parser_cocci_menhir.ml" +# 3074 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3078,9 +3092,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_ = -# 1493 "parser_cocci_menhir.mly" +# 1505 "parser_cocci_menhir.mly" ( _1 ) -# 3084 "parser_cocci_menhir.ml" +# 3098 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3112,15 +3126,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 168 "parser_cocci_menhir.mly" (Data.clt) -# 3116 "parser_cocci_menhir.ml" +# 3130 "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_ = -# 1495 "parser_cocci_menhir.mly" +# 1507 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 3124 "parser_cocci_menhir.ml" +# 3138 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3152,15 +3166,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 166 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 3156 "parser_cocci_menhir.ml" +# 3170 "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_ = -# 1497 "parser_cocci_menhir.mly" +# 1509 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3164 "parser_cocci_menhir.ml" +# 3178 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3192,15 +3206,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 167 "parser_cocci_menhir.mly" (Data.clt) -# 3196 "parser_cocci_menhir.ml" +# 3210 "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_ = -# 1499 "parser_cocci_menhir.mly" +# 1511 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 3204 "parser_cocci_menhir.ml" +# 3218 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3232,15 +3246,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 167 "parser_cocci_menhir.mly" (Data.clt) -# 3236 "parser_cocci_menhir.ml" +# 3250 "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_ = -# 1501 "parser_cocci_menhir.mly" +# 1513 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 3244 "parser_cocci_menhir.ml" +# 3258 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3272,15 +3286,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 165 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 3276 "parser_cocci_menhir.ml" +# 3290 "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_ = -# 1503 "parser_cocci_menhir.mly" +# 1515 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3284 "parser_cocci_menhir.ml" +# 3298 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3312,15 +3326,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 165 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 3316 "parser_cocci_menhir.ml" +# 3330 "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_ = -# 1505 "parser_cocci_menhir.mly" +# 1517 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3324 "parser_cocci_menhir.ml" +# 3338 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3352,15 +3366,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 164 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 3356 "parser_cocci_menhir.ml" +# 3370 "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_ = -# 1507 "parser_cocci_menhir.mly" +# 1519 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 3364 "parser_cocci_menhir.ml" +# 3378 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3392,15 +3406,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 163 "parser_cocci_menhir.mly" (Data.clt) -# 3396 "parser_cocci_menhir.ml" +# 3410 "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_ = -# 1509 "parser_cocci_menhir.mly" +# 1521 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) -# 3404 "parser_cocci_menhir.ml" +# 3418 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3432,15 +3446,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 163 "parser_cocci_menhir.mly" (Data.clt) -# 3436 "parser_cocci_menhir.ml" +# 3450 "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_ = -# 1511 "parser_cocci_menhir.mly" +# 1523 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 3444 "parser_cocci_menhir.ml" +# 3458 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3472,15 +3486,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 162 "parser_cocci_menhir.mly" (Data.clt) -# 3476 "parser_cocci_menhir.ml" +# 3490 "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_ = -# 1513 "parser_cocci_menhir.mly" +# 1525 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) -# 3484 "parser_cocci_menhir.ml" +# 3498 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3512,15 +3526,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 160 "parser_cocci_menhir.mly" (Data.clt) -# 3516 "parser_cocci_menhir.ml" +# 3530 "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_ = -# 1515 "parser_cocci_menhir.mly" +# 1527 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) -# 3524 "parser_cocci_menhir.ml" +# 3538 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3552,15 +3566,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 161 "parser_cocci_menhir.mly" (Data.clt) -# 3556 "parser_cocci_menhir.ml" +# 3570 "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_ = -# 1517 "parser_cocci_menhir.mly" +# 1529 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) -# 3564 "parser_cocci_menhir.ml" +# 3578 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3592,15 +3606,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 159 "parser_cocci_menhir.mly" (Data.clt) -# 3596 "parser_cocci_menhir.ml" +# 3610 "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_ = -# 1519 "parser_cocci_menhir.mly" +# 1531 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 3604 "parser_cocci_menhir.ml" +# 3618 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3632,15 +3646,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 158 "parser_cocci_menhir.mly" (Data.clt) -# 3636 "parser_cocci_menhir.ml" +# 3650 "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_ = -# 1521 "parser_cocci_menhir.mly" +# 1533 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 3644 "parser_cocci_menhir.ml" +# 3658 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3662,9 +3676,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1493 "parser_cocci_menhir.mly" +# 1505 "parser_cocci_menhir.mly" ( _1 ) -# 3668 "parser_cocci_menhir.ml" +# 3682 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3696,15 +3710,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 168 "parser_cocci_menhir.mly" (Data.clt) -# 3700 "parser_cocci_menhir.ml" +# 3714 "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_ = -# 1495 "parser_cocci_menhir.mly" +# 1507 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 3708 "parser_cocci_menhir.ml" +# 3722 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3736,15 +3750,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 166 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 3740 "parser_cocci_menhir.ml" +# 3754 "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_ = -# 1497 "parser_cocci_menhir.mly" +# 1509 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3748 "parser_cocci_menhir.ml" +# 3762 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3776,15 +3790,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 167 "parser_cocci_menhir.mly" (Data.clt) -# 3780 "parser_cocci_menhir.ml" +# 3794 "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_ = -# 1499 "parser_cocci_menhir.mly" +# 1511 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 3788 "parser_cocci_menhir.ml" +# 3802 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3816,15 +3830,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 167 "parser_cocci_menhir.mly" (Data.clt) -# 3820 "parser_cocci_menhir.ml" +# 3834 "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_ = -# 1501 "parser_cocci_menhir.mly" +# 1513 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 3828 "parser_cocci_menhir.ml" +# 3842 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3856,15 +3870,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 165 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 3860 "parser_cocci_menhir.ml" +# 3874 "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_ = -# 1503 "parser_cocci_menhir.mly" +# 1515 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3868 "parser_cocci_menhir.ml" +# 3882 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3896,15 +3910,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 165 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 3900 "parser_cocci_menhir.ml" +# 3914 "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_ = -# 1505 "parser_cocci_menhir.mly" +# 1517 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3908 "parser_cocci_menhir.ml" +# 3922 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3936,15 +3950,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 164 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 3940 "parser_cocci_menhir.ml" +# 3954 "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_ = -# 1507 "parser_cocci_menhir.mly" +# 1519 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 3948 "parser_cocci_menhir.ml" +# 3962 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3976,15 +3990,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 163 "parser_cocci_menhir.mly" (Data.clt) -# 3980 "parser_cocci_menhir.ml" +# 3994 "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_ = -# 1509 "parser_cocci_menhir.mly" +# 1521 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) -# 3988 "parser_cocci_menhir.ml" +# 4002 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4016,15 +4030,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 163 "parser_cocci_menhir.mly" (Data.clt) -# 4020 "parser_cocci_menhir.ml" +# 4034 "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_ = -# 1511 "parser_cocci_menhir.mly" +# 1523 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 4028 "parser_cocci_menhir.ml" +# 4042 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4056,15 +4070,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 162 "parser_cocci_menhir.mly" (Data.clt) -# 4060 "parser_cocci_menhir.ml" +# 4074 "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_ = -# 1513 "parser_cocci_menhir.mly" +# 1525 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) -# 4068 "parser_cocci_menhir.ml" +# 4082 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4096,15 +4110,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 160 "parser_cocci_menhir.mly" (Data.clt) -# 4100 "parser_cocci_menhir.ml" +# 4114 "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_ = -# 1515 "parser_cocci_menhir.mly" +# 1527 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) -# 4108 "parser_cocci_menhir.ml" +# 4122 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4136,15 +4150,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 161 "parser_cocci_menhir.mly" (Data.clt) -# 4140 "parser_cocci_menhir.ml" +# 4154 "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_ = -# 1517 "parser_cocci_menhir.mly" +# 1529 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) -# 4148 "parser_cocci_menhir.ml" +# 4162 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4176,15 +4190,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 159 "parser_cocci_menhir.mly" (Data.clt) -# 4180 "parser_cocci_menhir.ml" +# 4194 "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_ = -# 1519 "parser_cocci_menhir.mly" +# 1531 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 4188 "parser_cocci_menhir.ml" +# 4202 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4216,15 +4230,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 158 "parser_cocci_menhir.mly" (Data.clt) -# 4220 "parser_cocci_menhir.ml" +# 4234 "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_ = -# 1521 "parser_cocci_menhir.mly" +# 1533 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 4228 "parser_cocci_menhir.ml" +# 4242 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4246,9 +4260,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_bis = -# 1526 "parser_cocci_menhir.mly" +# 1538 "parser_cocci_menhir.mly" ( _1 ) -# 4252 "parser_cocci_menhir.ml" +# 4266 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4280,15 +4294,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 168 "parser_cocci_menhir.mly" (Data.clt) -# 4284 "parser_cocci_menhir.ml" +# 4298 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1528 "parser_cocci_menhir.mly" +# 1540 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 4292 "parser_cocci_menhir.ml" +# 4306 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4320,15 +4334,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 166 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 4324 "parser_cocci_menhir.ml" +# 4338 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1530 "parser_cocci_menhir.mly" +# 1542 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 4332 "parser_cocci_menhir.ml" +# 4346 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4360,15 +4374,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 167 "parser_cocci_menhir.mly" (Data.clt) -# 4364 "parser_cocci_menhir.ml" +# 4378 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1532 "parser_cocci_menhir.mly" +# 1544 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 4372 "parser_cocci_menhir.ml" +# 4386 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4400,15 +4414,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 167 "parser_cocci_menhir.mly" (Data.clt) -# 4404 "parser_cocci_menhir.ml" +# 4418 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1534 "parser_cocci_menhir.mly" +# 1546 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 4412 "parser_cocci_menhir.ml" +# 4426 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4440,15 +4454,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 165 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 4444 "parser_cocci_menhir.ml" +# 4458 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1536 "parser_cocci_menhir.mly" +# 1548 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 4452 "parser_cocci_menhir.ml" +# 4466 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4480,15 +4494,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 165 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 4484 "parser_cocci_menhir.ml" +# 4498 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1538 "parser_cocci_menhir.mly" +# 1550 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 4492 "parser_cocci_menhir.ml" +# 4506 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4520,15 +4534,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 164 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 4524 "parser_cocci_menhir.ml" +# 4538 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1540 "parser_cocci_menhir.mly" +# 1552 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 4532 "parser_cocci_menhir.ml" +# 4546 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4560,15 +4574,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 163 "parser_cocci_menhir.mly" (Data.clt) -# 4564 "parser_cocci_menhir.ml" +# 4578 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1542 "parser_cocci_menhir.mly" +# 1554 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) -# 4572 "parser_cocci_menhir.ml" +# 4586 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4600,15 +4614,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 163 "parser_cocci_menhir.mly" (Data.clt) -# 4604 "parser_cocci_menhir.ml" +# 4618 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1544 "parser_cocci_menhir.mly" +# 1556 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 4612 "parser_cocci_menhir.ml" +# 4626 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4640,15 +4654,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 162 "parser_cocci_menhir.mly" (Data.clt) -# 4644 "parser_cocci_menhir.ml" +# 4658 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1546 "parser_cocci_menhir.mly" +# 1558 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) -# 4652 "parser_cocci_menhir.ml" +# 4666 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4680,15 +4694,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 160 "parser_cocci_menhir.mly" (Data.clt) -# 4684 "parser_cocci_menhir.ml" +# 4698 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1548 "parser_cocci_menhir.mly" +# 1560 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) -# 4692 "parser_cocci_menhir.ml" +# 4706 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4720,15 +4734,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 161 "parser_cocci_menhir.mly" (Data.clt) -# 4724 "parser_cocci_menhir.ml" +# 4738 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1550 "parser_cocci_menhir.mly" +# 1562 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) -# 4732 "parser_cocci_menhir.ml" +# 4746 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4760,15 +4774,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 159 "parser_cocci_menhir.mly" (Data.clt) -# 4764 "parser_cocci_menhir.ml" +# 4778 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1552 "parser_cocci_menhir.mly" +# 1564 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 4772 "parser_cocci_menhir.ml" +# 4786 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4788,9 +4802,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arity = -# 621 "parser_cocci_menhir.mly" +# 625 "parser_cocci_menhir.mly" ( Ast.UNIQUE ) -# 4794 "parser_cocci_menhir.ml" +# 4808 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4810,9 +4824,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arity = -# 622 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( Ast.OPT ) -# 4816 "parser_cocci_menhir.ml" +# 4830 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4832,9 +4846,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arity = -# 623 "parser_cocci_menhir.mly" +# 627 "parser_cocci_menhir.mly" ( Ast.MULTI ) -# 4838 "parser_cocci_menhir.ml" +# 4852 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4849,9 +4863,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 = -# 624 "parser_cocci_menhir.mly" +# 628 "parser_cocci_menhir.mly" ( Ast.NONE ) -# 4855 "parser_cocci_menhir.ml" +# 4869 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4882,20 +4896,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r : ( # 171 "parser_cocci_menhir.mly" (Data.clt) -# 4886 "parser_cocci_menhir.ml" +# 4900 "parser_cocci_menhir.ml" ) = Obj.magic r in let i : 'tv_option_eexpr_ = Obj.magic i in let l : ( # 171 "parser_cocci_menhir.mly" (Data.clt) -# 4892 "parser_cocci_menhir.ml" +# 4906 "parser_cocci_menhir.ml" ) = Obj.magic l in let _startpos = _startpos_l_ in let _endpos = _endpos_r_ in let _v : 'tv_array_dec = -# 1305 "parser_cocci_menhir.mly" +# 1317 "parser_cocci_menhir.mly" ( (l,i,r) ) -# 4899 "parser_cocci_menhir.ml" +# 4913 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4917,9 +4931,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_ = -# 1465 "parser_cocci_menhir.mly" +# 1477 "parser_cocci_menhir.mly" ( _1 ) -# 4923 "parser_cocci_menhir.ml" +# 4937 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4951,17 +4965,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 177 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 4955 "parser_cocci_menhir.ml" +# 4969 "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_ = -# 1467 "parser_cocci_menhir.mly" +# 1479 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) -# 4965 "parser_cocci_menhir.ml" +# 4979 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4993,17 +5007,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 4997 "parser_cocci_menhir.ml" +# 5011 "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_ = -# 1471 "parser_cocci_menhir.mly" +# 1483 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 5007 "parser_cocci_menhir.ml" +# 5021 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5025,9 +5039,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_ = -# 1465 "parser_cocci_menhir.mly" +# 1477 "parser_cocci_menhir.mly" ( _1 ) -# 5031 "parser_cocci_menhir.ml" +# 5045 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5059,17 +5073,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 177 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 5063 "parser_cocci_menhir.ml" +# 5077 "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_ = -# 1467 "parser_cocci_menhir.mly" +# 1479 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) -# 5073 "parser_cocci_menhir.ml" +# 5087 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5101,17 +5115,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 5105 "parser_cocci_menhir.ml" +# 5119 "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_ = -# 1471 "parser_cocci_menhir.mly" +# 1483 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 5115 "parser_cocci_menhir.ml" +# 5129 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5133,9 +5147,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_expr_invalid_ = -# 1465 "parser_cocci_menhir.mly" +# 1477 "parser_cocci_menhir.mly" ( _1 ) -# 5139 "parser_cocci_menhir.ml" +# 5153 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5167,17 +5181,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 177 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 5171 "parser_cocci_menhir.ml" +# 5185 "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_ = -# 1467 "parser_cocci_menhir.mly" +# 1479 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) -# 5181 "parser_cocci_menhir.ml" +# 5195 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5209,17 +5223,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 5213 "parser_cocci_menhir.ml" +# 5227 "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_ = -# 1471 "parser_cocci_menhir.mly" +# 1483 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 5223 "parser_cocci_menhir.ml" +# 5237 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5241,9 +5255,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_bis = -# 1476 "parser_cocci_menhir.mly" +# 1488 "parser_cocci_menhir.mly" ( _1 ) -# 5247 "parser_cocci_menhir.ml" +# 5261 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5275,17 +5289,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 177 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 5279 "parser_cocci_menhir.ml" +# 5293 "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 = -# 1478 "parser_cocci_menhir.mly" +# 1490 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) -# 5289 "parser_cocci_menhir.ml" +# 5303 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5317,17 +5331,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 5321 "parser_cocci_menhir.ml" +# 5335 "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 = -# 1482 "parser_cocci_menhir.mly" +# 1494 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 5331 "parser_cocci_menhir.ml" +# 5345 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5349,9 +5363,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_ = -# 1462 "parser_cocci_menhir.mly" +# 1474 "parser_cocci_menhir.mly" ( _1 ) -# 5355 "parser_cocci_menhir.ml" +# 5369 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5373,9 +5387,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_ = -# 1462 "parser_cocci_menhir.mly" +# 1474 "parser_cocci_menhir.mly" ( _1 ) -# 5379 "parser_cocci_menhir.ml" +# 5393 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5397,9 +5411,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_basic_expr_expr_invalid_ = -# 1462 "parser_cocci_menhir.mly" +# 1474 "parser_cocci_menhir.mly" ( _1 ) -# 5403 "parser_cocci_menhir.ml" +# 5417 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5431,20 +5445,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 5435 "parser_cocci_menhir.ml" +# 5449 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 123 "parser_cocci_menhir.mly" (Data.clt) -# 5440 "parser_cocci_menhir.ml" +# 5454 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_case_line = -# 1174 "parser_cocci_menhir.mly" +# 1186 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) ) -# 5448 "parser_cocci_menhir.ml" +# 5462 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5481,20 +5495,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 5485 "parser_cocci_menhir.ml" +# 5499 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 123 "parser_cocci_menhir.mly" (Data.clt) -# 5491 "parser_cocci_menhir.ml" +# 5505 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_case_line = -# 1177 "parser_cocci_menhir.mly" +# 1189 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) ) -# 5498 "parser_cocci_menhir.ml" +# 5512 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5516,9 +5530,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_ = -# 1557 "parser_cocci_menhir.mly" +# 1569 "parser_cocci_menhir.mly" ( _1 ) -# 5522 "parser_cocci_menhir.ml" +# 5536 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5555,21 +5569,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 5559 "parser_cocci_menhir.ml" +# 5573 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 5565 "parser_cocci_menhir.ml" +# 5579 "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_ = -# 1559 "parser_cocci_menhir.mly" +# 1571 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) -# 5573 "parser_cocci_menhir.ml" +# 5587 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5591,9 +5605,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_eexpr_invalid_ = -# 1557 "parser_cocci_menhir.mly" +# 1569 "parser_cocci_menhir.mly" ( _1 ) -# 5597 "parser_cocci_menhir.ml" +# 5611 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5630,21 +5644,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 5634 "parser_cocci_menhir.ml" +# 5648 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 5640 "parser_cocci_menhir.ml" +# 5654 "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_ = -# 1559 "parser_cocci_menhir.mly" +# 1571 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) -# 5648 "parser_cocci_menhir.ml" +# 5662 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5666,9 +5680,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_ = -# 1557 "parser_cocci_menhir.mly" +# 1569 "parser_cocci_menhir.mly" ( _1 ) -# 5672 "parser_cocci_menhir.ml" +# 5686 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5705,21 +5719,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 5709 "parser_cocci_menhir.ml" +# 5723 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 5715 "parser_cocci_menhir.ml" +# 5729 "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_ = -# 1559 "parser_cocci_menhir.mly" +# 1571 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) -# 5723 "parser_cocci_menhir.ml" +# 5737 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5741,9 +5755,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_expr_invalid_ = -# 1557 "parser_cocci_menhir.mly" +# 1569 "parser_cocci_menhir.mly" ( _1 ) -# 5747 "parser_cocci_menhir.ml" +# 5761 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5780,21 +5794,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 5784 "parser_cocci_menhir.ml" +# 5798 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 5790 "parser_cocci_menhir.ml" +# 5804 "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_ = -# 1559 "parser_cocci_menhir.mly" +# 1571 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) -# 5798 "parser_cocci_menhir.ml" +# 5812 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5820,9 +5834,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_choose_iso = -# 308 "parser_cocci_menhir.mly" +# 307 "parser_cocci_menhir.mly" ( List.map P.id2name _2 ) -# 5826 "parser_cocci_menhir.ml" +# 5840 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5844,9 +5858,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_any_strict_ = -# 2286 "parser_cocci_menhir.mly" +# 2309 "parser_cocci_menhir.mly" ( _1 ) -# 5850 "parser_cocci_menhir.ml" +# 5864 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5868,9 +5882,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_ctype_ = -# 2286 "parser_cocci_menhir.mly" +# 2309 "parser_cocci_menhir.mly" ( _1 ) -# 5874 "parser_cocci_menhir.ml" +# 5888 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5892,9 +5906,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_d_ident_ = -# 2286 "parser_cocci_menhir.mly" +# 2309 "parser_cocci_menhir.mly" ( _1 ) -# 5898 "parser_cocci_menhir.ml" +# 5912 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5916,9 +5930,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_ = -# 2286 "parser_cocci_menhir.mly" +# 2309 "parser_cocci_menhir.mly" ( _1 ) -# 5922 "parser_cocci_menhir.ml" +# 5936 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5940,9 +5954,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_meta_ident_ = -# 2286 "parser_cocci_menhir.mly" +# 2309 "parser_cocci_menhir.mly" ( _1 ) -# 5946 "parser_cocci_menhir.ml" +# 5960 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5964,9 +5978,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_ = -# 2286 "parser_cocci_menhir.mly" +# 2309 "parser_cocci_menhir.mly" ( _1 ) -# 5970 "parser_cocci_menhir.ml" +# 5984 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5988,9 +6002,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_ = -# 2286 "parser_cocci_menhir.mly" +# 2309 "parser_cocci_menhir.mly" ( _1 ) -# 5994 "parser_cocci_menhir.ml" +# 6008 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6012,9 +6026,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__ = -# 2286 "parser_cocci_menhir.mly" +# 2309 "parser_cocci_menhir.mly" ( _1 ) -# 6018 "parser_cocci_menhir.ml" +# 6032 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6036,9 +6050,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__ = -# 2286 "parser_cocci_menhir.mly" +# 2309 "parser_cocci_menhir.mly" ( _1 ) -# 6042 "parser_cocci_menhir.ml" +# 6056 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6060,9 +6074,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__ = -# 2286 "parser_cocci_menhir.mly" +# 2309 "parser_cocci_menhir.mly" ( _1 ) -# 6066 "parser_cocci_menhir.ml" +# 6080 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6084,9 +6098,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__ = -# 2286 "parser_cocci_menhir.mly" +# 2309 "parser_cocci_menhir.mly" ( _1 ) -# 6090 "parser_cocci_menhir.ml" +# 6104 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6108,9 +6122,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_ = -# 2286 "parser_cocci_menhir.mly" +# 2309 "parser_cocci_menhir.mly" ( _1 ) -# 6114 "parser_cocci_menhir.ml" +# 6128 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6132,9 +6146,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__ = -# 2286 "parser_cocci_menhir.mly" +# 2309 "parser_cocci_menhir.mly" ( _1 ) -# 6138 "parser_cocci_menhir.ml" +# 6152 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6156,9 +6170,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_typedef_ident_ = -# 2286 "parser_cocci_menhir.mly" +# 2309 "parser_cocci_menhir.mly" ( _1 ) -# 6162 "parser_cocci_menhir.ml" +# 6176 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6180,9 +6194,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_ = -# 1487 "parser_cocci_menhir.mly" +# 1499 "parser_cocci_menhir.mly" ( _1 ) -# 6186 "parser_cocci_menhir.ml" +# 6200 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6224,22 +6238,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let dd : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 6228 "parser_cocci_menhir.ml" +# 6242 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 6234 "parser_cocci_menhir.ml" +# 6248 "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_ = -# 1489 "parser_cocci_menhir.mly" +# 1501 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) -# 6243 "parser_cocci_menhir.ml" +# 6257 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6261,9 +6275,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_ = -# 1487 "parser_cocci_menhir.mly" +# 1499 "parser_cocci_menhir.mly" ( _1 ) -# 6267 "parser_cocci_menhir.ml" +# 6281 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6305,22 +6319,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let dd : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 6309 "parser_cocci_menhir.ml" +# 6323 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 6315 "parser_cocci_menhir.ml" +# 6329 "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_ = -# 1489 "parser_cocci_menhir.mly" +# 1501 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) -# 6324 "parser_cocci_menhir.ml" +# 6338 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6342,9 +6356,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cond_expr_expr_invalid_ = -# 1487 "parser_cocci_menhir.mly" +# 1499 "parser_cocci_menhir.mly" ( _1 ) -# 6348 "parser_cocci_menhir.ml" +# 6362 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6386,22 +6400,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let dd : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 6390 "parser_cocci_menhir.ml" +# 6404 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 6396 "parser_cocci_menhir.ml" +# 6410 "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_ = -# 1489 "parser_cocci_menhir.mly" +# 1501 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) -# 6405 "parser_cocci_menhir.ml" +# 6419 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6422,14 +6436,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 120 "parser_cocci_menhir.mly" (Data.clt) -# 6426 "parser_cocci_menhir.ml" +# 6440 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_const_vol = -# 1082 "parser_cocci_menhir.mly" +# 1094 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Const _1 ) -# 6433 "parser_cocci_menhir.ml" +# 6447 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6450,14 +6464,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 120 "parser_cocci_menhir.mly" (Data.clt) -# 6454 "parser_cocci_menhir.ml" +# 6468 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_const_vol = -# 1083 "parser_cocci_menhir.mly" +# 1095 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Volatile _1 ) -# 6461 "parser_cocci_menhir.ml" +# 6475 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6479,9 +6493,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_aexpr_TEllipsis_ = -# 2062 "parser_cocci_menhir.mly" +# 2085 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) -# 6485 "parser_cocci_menhir.ml" +# 6499 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6507,16 +6521,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 6511 "parser_cocci_menhir.ml" +# 6525 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_aexpr = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_aexpr_TEllipsis_ = -# 2064 "parser_cocci_menhir.mly" +# 2087 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 6520 "parser_cocci_menhir.ml" +# 6534 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6548,17 +6562,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 6552 "parser_cocci_menhir.ml" +# 6566 "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_continue_list_aexpr_TEllipsis_ = -# 2067 "parser_cocci_menhir.mly" +# 2090 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) -# 6562 "parser_cocci_menhir.ml" +# 6576 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6584,9 +6598,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_aexpr_TEllipsis_ = -# 2070 "parser_cocci_menhir.mly" +# 2093 "parser_cocci_menhir.mly" ( _2 ) -# 6590 "parser_cocci_menhir.ml" +# 6604 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6608,9 +6622,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_dparam_TEllipsis_ = -# 2062 "parser_cocci_menhir.mly" +# 2085 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) -# 6614 "parser_cocci_menhir.ml" +# 6628 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6636,16 +6650,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 6640 "parser_cocci_menhir.ml" +# 6654 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_dparam = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_dparam_TEllipsis_ = -# 2064 "parser_cocci_menhir.mly" +# 2087 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 6649 "parser_cocci_menhir.ml" +# 6663 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6677,17 +6691,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 6681 "parser_cocci_menhir.ml" +# 6695 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_dparam = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_continue_list_dparam_TEllipsis_ = -# 2067 "parser_cocci_menhir.mly" +# 2090 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) -# 6691 "parser_cocci_menhir.ml" +# 6705 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6713,9 +6727,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_dparam_TEllipsis_ = -# 2070 "parser_cocci_menhir.mly" +# 2093 "parser_cocci_menhir.mly" ( _2 ) -# 6719 "parser_cocci_menhir.ml" +# 6733 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6737,9 +6751,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 2062 "parser_cocci_menhir.mly" +# 2085 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) -# 6743 "parser_cocci_menhir.ml" +# 6757 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6765,16 +6779,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 6769 "parser_cocci_menhir.ml" +# 6783 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_enum_decl_one = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 2064 "parser_cocci_menhir.mly" +# 2087 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 6778 "parser_cocci_menhir.ml" +# 6792 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6806,17 +6820,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 6810 "parser_cocci_menhir.ml" +# 6824 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_enum_decl_one = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 2067 "parser_cocci_menhir.mly" +# 2090 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) -# 6820 "parser_cocci_menhir.ml" +# 6834 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6842,9 +6856,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 2070 "parser_cocci_menhir.mly" +# 2093 "parser_cocci_menhir.mly" ( _2 ) -# 6848 "parser_cocci_menhir.ml" +# 6862 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6866,9 +6880,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = -# 2062 "parser_cocci_menhir.mly" +# 2085 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) -# 6872 "parser_cocci_menhir.ml" +# 6886 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6894,16 +6908,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 6898 "parser_cocci_menhir.ml" +# 6912 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_initialize2 = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = -# 2064 "parser_cocci_menhir.mly" +# 2087 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 6907 "parser_cocci_menhir.ml" +# 6921 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6935,17 +6949,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 6939 "parser_cocci_menhir.ml" +# 6953 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_initialize2 = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = -# 2067 "parser_cocci_menhir.mly" +# 2090 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) -# 6949 "parser_cocci_menhir.ml" +# 6963 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6971,9 +6985,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = -# 2070 "parser_cocci_menhir.mly" +# 2093 "parser_cocci_menhir.mly" ( _2 ) -# 6977 "parser_cocci_menhir.ml" +# 6991 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6995,9 +7009,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ = -# 2062 "parser_cocci_menhir.mly" +# 2085 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) -# 7001 "parser_cocci_menhir.ml" +# 7015 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7023,16 +7037,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 7027 "parser_cocci_menhir.ml" +# 7041 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ = -# 2064 "parser_cocci_menhir.mly" +# 2087 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 7036 "parser_cocci_menhir.ml" +# 7050 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7064,17 +7078,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 7068 "parser_cocci_menhir.ml" +# 7082 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ = -# 2067 "parser_cocci_menhir.mly" +# 2090 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) -# 7078 "parser_cocci_menhir.ml" +# 7092 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7100,9 +7114,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ = -# 2070 "parser_cocci_menhir.mly" +# 2093 "parser_cocci_menhir.mly" ( _2 ) -# 7106 "parser_cocci_menhir.ml" +# 7120 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7124,9 +7138,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = -# 2062 "parser_cocci_menhir.mly" +# 2085 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) -# 7130 "parser_cocci_menhir.ml" +# 7144 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7152,16 +7166,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 7156 "parser_cocci_menhir.ml" +# 7170 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = -# 2064 "parser_cocci_menhir.mly" +# 2087 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 7165 "parser_cocci_menhir.ml" +# 7179 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7193,17 +7207,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 7197 "parser_cocci_menhir.ml" +# 7211 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = -# 2067 "parser_cocci_menhir.mly" +# 2090 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) -# 7207 "parser_cocci_menhir.ml" +# 7221 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7229,9 +7243,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = -# 2070 "parser_cocci_menhir.mly" +# 2093 "parser_cocci_menhir.mly" ( _2 ) -# 7235 "parser_cocci_menhir.ml" +# 7249 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7246,9 +7260,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 = -# 790 "parser_cocci_menhir.mly" +# 794 "parser_cocci_menhir.mly" ( [] ) -# 7252 "parser_cocci_menhir.ml" +# 7266 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7276,9 +7290,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_struct_decl_list = -# 791 "parser_cocci_menhir.mly" +# 795 "parser_cocci_menhir.mly" ( _1@_2 ) -# 7282 "parser_cocci_menhir.ml" +# 7296 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7300,9 +7314,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_struct_decl_list = -# 792 "parser_cocci_menhir.mly" +# 796 "parser_cocci_menhir.mly" ( _1 ) -# 7306 "parser_cocci_menhir.ml" +# 7320 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7334,12 +7348,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 7338 "parser_cocci_menhir.ml" +# 7352 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 7343 "parser_cocci_menhir.ml" +# 7357 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -7349,28 +7363,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 631 "parser_cocci_menhir.mly" +# 635 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 7355 "parser_cocci_menhir.ml" +# 7369 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 7361 "parser_cocci_menhir.ml" +# 7375 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7368 "parser_cocci_menhir.ml" +# 7382 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7374 "parser_cocci_menhir.ml" +# 7388 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7402,12 +7416,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 7406 "parser_cocci_menhir.ml" +# 7420 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 7411 "parser_cocci_menhir.ml" +# 7425 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -7417,28 +7431,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 633 "parser_cocci_menhir.mly" +# 637 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 7423 "parser_cocci_menhir.ml" +# 7437 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 7429 "parser_cocci_menhir.ml" +# 7443 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7436 "parser_cocci_menhir.ml" +# 7450 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7442 "parser_cocci_menhir.ml" +# 7456 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7475,17 +7489,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 7479 "parser_cocci_menhir.ml" +# 7493 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 7484 "parser_cocci_menhir.ml" +# 7498 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 7489 "parser_cocci_menhir.ml" +# 7503 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -7497,30 +7511,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 635 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.ShortIntType,[P.clt2mcode "short" ty1;P.clt2mcode "int" ty2])) ) -# 7505 "parser_cocci_menhir.ml" +# 7519 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 7511 "parser_cocci_menhir.ml" +# 7525 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7518 "parser_cocci_menhir.ml" +# 7532 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7524 "parser_cocci_menhir.ml" +# 7538 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7552,12 +7566,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 7556 "parser_cocci_menhir.ml" +# 7570 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 7561 "parser_cocci_menhir.ml" +# 7575 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -7567,28 +7581,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 639 "parser_cocci_menhir.mly" +# 643 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 7573 "parser_cocci_menhir.ml" +# 7587 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 7579 "parser_cocci_menhir.ml" +# 7593 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7586 "parser_cocci_menhir.ml" +# 7600 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7592 "parser_cocci_menhir.ml" +# 7606 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7620,12 +7634,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 7624 "parser_cocci_menhir.ml" +# 7638 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 7629 "parser_cocci_menhir.ml" +# 7643 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -7635,29 +7649,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 641 "parser_cocci_menhir.mly" +# 645 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 7642 "parser_cocci_menhir.ml" +# 7656 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 7648 "parser_cocci_menhir.ml" +# 7662 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7655 "parser_cocci_menhir.ml" +# 7669 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7661 "parser_cocci_menhir.ml" +# 7675 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7698,17 +7712,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 7702 "parser_cocci_menhir.ml" +# 7716 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 112 "parser_cocci_menhir.mly" (string) -# 7707 "parser_cocci_menhir.ml" +# 7721 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 7712 "parser_cocci_menhir.ml" +# 7726 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in @@ -7720,33 +7734,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 644 "parser_cocci_menhir.mly" +# 648 "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*))) ) -# 7731 "parser_cocci_menhir.ml" +# 7745 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 7737 "parser_cocci_menhir.ml" +# 7751 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7744 "parser_cocci_menhir.ml" +# 7758 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7750 "parser_cocci_menhir.ml" +# 7764 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7778,12 +7792,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 7782 "parser_cocci_menhir.ml" +# 7796 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 7787 "parser_cocci_menhir.ml" +# 7801 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -7793,28 +7807,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty1 = ty10 in -# 651 "parser_cocci_menhir.mly" +# 655 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty1])) ) -# 7799 "parser_cocci_menhir.ml" +# 7813 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 7805 "parser_cocci_menhir.ml" +# 7819 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7812 "parser_cocci_menhir.ml" +# 7826 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7818 "parser_cocci_menhir.ml" +# 7832 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7851,17 +7865,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 7855 "parser_cocci_menhir.ml" +# 7869 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 7860 "parser_cocci_menhir.ml" +# 7874 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 7865 "parser_cocci_menhir.ml" +# 7879 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -7873,30 +7887,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 653 "parser_cocci_menhir.mly" +# 657 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongIntType,[P.clt2mcode "long" ty1;P.clt2mcode "int" ty2])) ) -# 7881 "parser_cocci_menhir.ml" +# 7895 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 7887 "parser_cocci_menhir.ml" +# 7901 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7894 "parser_cocci_menhir.ml" +# 7908 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7900 "parser_cocci_menhir.ml" +# 7914 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7933,17 +7947,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 7937 "parser_cocci_menhir.ml" +# 7951 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 7942 "parser_cocci_menhir.ml" +# 7956 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 7947 "parser_cocci_menhir.ml" +# 7961 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -7955,31 +7969,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 657 "parser_cocci_menhir.mly" +# 661 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 7964 "parser_cocci_menhir.ml" +# 7978 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 7970 "parser_cocci_menhir.ml" +# 7984 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7977 "parser_cocci_menhir.ml" +# 7991 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7983 "parser_cocci_menhir.ml" +# 7997 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8021,22 +8035,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty300 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 8025 "parser_cocci_menhir.ml" +# 8039 "parser_cocci_menhir.ml" ) = Obj.magic ty300 in let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 8030 "parser_cocci_menhir.ml" +# 8044 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 8035 "parser_cocci_menhir.ml" +# 8049 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 8040 "parser_cocci_menhir.ml" +# 8054 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -8050,32 +8064,32 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 662 "parser_cocci_menhir.mly" +# 666 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongIntType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2; P.clt2mcode "int" ty3])) ) -# 8060 "parser_cocci_menhir.ml" +# 8074 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8066 "parser_cocci_menhir.ml" +# 8080 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8073 "parser_cocci_menhir.ml" +# 8087 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8079 "parser_cocci_menhir.ml" +# 8093 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8107,12 +8121,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 8111 "parser_cocci_menhir.ml" +# 8125 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 8116 "parser_cocci_menhir.ml" +# 8130 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -8122,28 +8136,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 631 "parser_cocci_menhir.mly" +# 635 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 8128 "parser_cocci_menhir.ml" +# 8142 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8134 "parser_cocci_menhir.ml" +# 8148 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8141 "parser_cocci_menhir.ml" +# 8155 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8147 "parser_cocci_menhir.ml" +# 8161 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8175,12 +8189,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 8179 "parser_cocci_menhir.ml" +# 8193 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 8184 "parser_cocci_menhir.ml" +# 8198 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -8190,28 +8204,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 633 "parser_cocci_menhir.mly" +# 637 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 8196 "parser_cocci_menhir.ml" +# 8210 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8202 "parser_cocci_menhir.ml" +# 8216 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8209 "parser_cocci_menhir.ml" +# 8223 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8215 "parser_cocci_menhir.ml" +# 8229 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8248,17 +8262,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 8252 "parser_cocci_menhir.ml" +# 8266 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 8257 "parser_cocci_menhir.ml" +# 8271 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 8262 "parser_cocci_menhir.ml" +# 8276 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -8270,30 +8284,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 635 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.ShortIntType,[P.clt2mcode "short" ty1;P.clt2mcode "int" ty2])) ) -# 8278 "parser_cocci_menhir.ml" +# 8292 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8284 "parser_cocci_menhir.ml" +# 8298 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8291 "parser_cocci_menhir.ml" +# 8305 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8297 "parser_cocci_menhir.ml" +# 8311 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8325,12 +8339,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 8329 "parser_cocci_menhir.ml" +# 8343 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 8334 "parser_cocci_menhir.ml" +# 8348 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -8340,28 +8354,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 639 "parser_cocci_menhir.mly" +# 643 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 8346 "parser_cocci_menhir.ml" +# 8360 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8352 "parser_cocci_menhir.ml" +# 8366 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8359 "parser_cocci_menhir.ml" +# 8373 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8365 "parser_cocci_menhir.ml" +# 8379 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8393,12 +8407,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 8397 "parser_cocci_menhir.ml" +# 8411 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 8402 "parser_cocci_menhir.ml" +# 8416 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -8408,29 +8422,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 641 "parser_cocci_menhir.mly" +# 645 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 8415 "parser_cocci_menhir.ml" +# 8429 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8421 "parser_cocci_menhir.ml" +# 8435 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8428 "parser_cocci_menhir.ml" +# 8442 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8434 "parser_cocci_menhir.ml" +# 8448 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8471,17 +8485,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 8475 "parser_cocci_menhir.ml" +# 8489 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 112 "parser_cocci_menhir.mly" (string) -# 8480 "parser_cocci_menhir.ml" +# 8494 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 8485 "parser_cocci_menhir.ml" +# 8499 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in @@ -8493,33 +8507,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 644 "parser_cocci_menhir.mly" +# 648 "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*))) ) -# 8504 "parser_cocci_menhir.ml" +# 8518 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8510 "parser_cocci_menhir.ml" +# 8524 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8517 "parser_cocci_menhir.ml" +# 8531 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8523 "parser_cocci_menhir.ml" +# 8537 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8551,12 +8565,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 8555 "parser_cocci_menhir.ml" +# 8569 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 8560 "parser_cocci_menhir.ml" +# 8574 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -8566,28 +8580,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty1 = ty10 in -# 651 "parser_cocci_menhir.mly" +# 655 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty1])) ) -# 8572 "parser_cocci_menhir.ml" +# 8586 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8578 "parser_cocci_menhir.ml" +# 8592 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8585 "parser_cocci_menhir.ml" +# 8599 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8591 "parser_cocci_menhir.ml" +# 8605 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8624,17 +8638,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 8628 "parser_cocci_menhir.ml" +# 8642 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 8633 "parser_cocci_menhir.ml" +# 8647 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 8638 "parser_cocci_menhir.ml" +# 8652 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -8646,30 +8660,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 653 "parser_cocci_menhir.mly" +# 657 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongIntType,[P.clt2mcode "long" ty1;P.clt2mcode "int" ty2])) ) -# 8654 "parser_cocci_menhir.ml" +# 8668 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8660 "parser_cocci_menhir.ml" +# 8674 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8667 "parser_cocci_menhir.ml" +# 8681 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8673 "parser_cocci_menhir.ml" +# 8687 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8706,17 +8720,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 8710 "parser_cocci_menhir.ml" +# 8724 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 8715 "parser_cocci_menhir.ml" +# 8729 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 8720 "parser_cocci_menhir.ml" +# 8734 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -8728,31 +8742,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 657 "parser_cocci_menhir.mly" +# 661 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 8737 "parser_cocci_menhir.ml" +# 8751 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8743 "parser_cocci_menhir.ml" +# 8757 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8750 "parser_cocci_menhir.ml" +# 8764 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8756 "parser_cocci_menhir.ml" +# 8770 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8794,22 +8808,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty300 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 8798 "parser_cocci_menhir.ml" +# 8812 "parser_cocci_menhir.ml" ) = Obj.magic ty300 in let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 8803 "parser_cocci_menhir.ml" +# 8817 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 8808 "parser_cocci_menhir.ml" +# 8822 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 8813 "parser_cocci_menhir.ml" +# 8827 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -8823,32 +8837,32 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 662 "parser_cocci_menhir.mly" +# 666 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongIntType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2; P.clt2mcode "int" ty3])) ) -# 8833 "parser_cocci_menhir.ml" +# 8847 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8839 "parser_cocci_menhir.ml" +# 8853 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8846 "parser_cocci_menhir.ml" +# 8860 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8852 "parser_cocci_menhir.ml" +# 8866 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8875,7 +8889,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 8879 "parser_cocci_menhir.ml" +# 8893 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -8884,28 +8898,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 631 "parser_cocci_menhir.mly" +# 635 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 8890 "parser_cocci_menhir.ml" +# 8904 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 8896 "parser_cocci_menhir.ml" +# 8910 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8903 "parser_cocci_menhir.ml" +# 8917 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8909 "parser_cocci_menhir.ml" +# 8923 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8932,7 +8946,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 8936 "parser_cocci_menhir.ml" +# 8950 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -8941,28 +8955,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 633 "parser_cocci_menhir.mly" +# 637 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 8947 "parser_cocci_menhir.ml" +# 8961 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 8953 "parser_cocci_menhir.ml" +# 8967 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8960 "parser_cocci_menhir.ml" +# 8974 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8966 "parser_cocci_menhir.ml" +# 8980 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8994,12 +9008,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 8998 "parser_cocci_menhir.ml" +# 9012 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 9003 "parser_cocci_menhir.ml" +# 9017 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let _startpos = _startpos_ty100_ in let _endpos = _endpos_m_ in @@ -9010,30 +9024,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 635 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.ShortIntType,[P.clt2mcode "short" ty1;P.clt2mcode "int" ty2])) ) -# 9018 "parser_cocci_menhir.ml" +# 9032 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 9024 "parser_cocci_menhir.ml" +# 9038 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 9031 "parser_cocci_menhir.ml" +# 9045 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9037 "parser_cocci_menhir.ml" +# 9051 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9060,7 +9074,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 9064 "parser_cocci_menhir.ml" +# 9078 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -9069,28 +9083,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 639 "parser_cocci_menhir.mly" +# 643 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 9075 "parser_cocci_menhir.ml" +# 9089 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 9081 "parser_cocci_menhir.ml" +# 9095 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 9088 "parser_cocci_menhir.ml" +# 9102 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9094 "parser_cocci_menhir.ml" +# 9108 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9117,7 +9131,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 9121 "parser_cocci_menhir.ml" +# 9135 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in @@ -9126,29 +9140,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 641 "parser_cocci_menhir.mly" +# 645 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 9133 "parser_cocci_menhir.ml" +# 9147 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 9139 "parser_cocci_menhir.ml" +# 9153 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 9146 "parser_cocci_menhir.ml" +# 9160 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9152 "parser_cocci_menhir.ml" +# 9166 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9184,12 +9198,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 9188 "parser_cocci_menhir.ml" +# 9202 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 112 "parser_cocci_menhir.mly" (string) -# 9193 "parser_cocci_menhir.ml" +# 9207 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let _startpos = _startpos_r00_ in let _endpos = _endpos_m_ in @@ -9200,33 +9214,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 644 "parser_cocci_menhir.mly" +# 648 "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*))) ) -# 9211 "parser_cocci_menhir.ml" +# 9225 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 9217 "parser_cocci_menhir.ml" +# 9231 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 9224 "parser_cocci_menhir.ml" +# 9238 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9230 "parser_cocci_menhir.ml" +# 9244 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9253,7 +9267,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 9257 "parser_cocci_menhir.ml" +# 9271 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let _startpos = _startpos_ty100_ in let _endpos = _endpos_m_ in @@ -9262,28 +9276,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty1 = ty10 in -# 651 "parser_cocci_menhir.mly" +# 655 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty1])) ) -# 9268 "parser_cocci_menhir.ml" +# 9282 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 9274 "parser_cocci_menhir.ml" +# 9288 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 9281 "parser_cocci_menhir.ml" +# 9295 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9287 "parser_cocci_menhir.ml" +# 9301 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9315,12 +9329,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 9319 "parser_cocci_menhir.ml" +# 9333 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 9324 "parser_cocci_menhir.ml" +# 9338 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let _startpos = _startpos_ty100_ in let _endpos = _endpos_m_ in @@ -9331,30 +9345,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 653 "parser_cocci_menhir.mly" +# 657 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongIntType,[P.clt2mcode "long" ty1;P.clt2mcode "int" ty2])) ) -# 9339 "parser_cocci_menhir.ml" +# 9353 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 9345 "parser_cocci_menhir.ml" +# 9359 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 9352 "parser_cocci_menhir.ml" +# 9366 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9358 "parser_cocci_menhir.ml" +# 9372 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9386,12 +9400,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 9390 "parser_cocci_menhir.ml" +# 9404 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 9395 "parser_cocci_menhir.ml" +# 9409 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let _startpos = _startpos_ty100_ in let _endpos = _endpos_m_ in @@ -9402,31 +9416,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 657 "parser_cocci_menhir.mly" +# 661 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 9411 "parser_cocci_menhir.ml" +# 9425 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 9417 "parser_cocci_menhir.ml" +# 9431 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 9424 "parser_cocci_menhir.ml" +# 9438 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9430 "parser_cocci_menhir.ml" +# 9444 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9463,17 +9477,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty300 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 9467 "parser_cocci_menhir.ml" +# 9481 "parser_cocci_menhir.ml" ) = Obj.magic ty300 in let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 9472 "parser_cocci_menhir.ml" +# 9486 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 9477 "parser_cocci_menhir.ml" +# 9491 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let _startpos = _startpos_ty100_ in let _endpos = _endpos_m_ in @@ -9486,32 +9500,32 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 662 "parser_cocci_menhir.mly" +# 666 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongIntType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2; P.clt2mcode "int" ty3])) ) -# 9496 "parser_cocci_menhir.ml" +# 9510 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 9502 "parser_cocci_menhir.ml" +# 9516 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 9509 "parser_cocci_menhir.ml" +# 9523 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9515 "parser_cocci_menhir.ml" +# 9529 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9538,7 +9552,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 116 "parser_cocci_menhir.mly" (Data.clt) -# 9542 "parser_cocci_menhir.ml" +# 9556 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -9547,28 +9561,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 671 "parser_cocci_menhir.mly" +# 675 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 9553 "parser_cocci_menhir.ml" +# 9567 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 9559 "parser_cocci_menhir.ml" +# 9573 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 9566 "parser_cocci_menhir.ml" +# 9580 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9572 "parser_cocci_menhir.ml" +# 9586 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9600,12 +9614,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 9604 "parser_cocci_menhir.ml" +# 9618 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 9609 "parser_cocci_menhir.ml" +# 9623 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let _startpos = _startpos_ty100_ in let _endpos = _endpos_m_ in @@ -9616,31 +9630,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 673 "parser_cocci_menhir.mly" +# 677 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongDoubleType, [P.clt2mcode "long" ty1;P.clt2mcode "double" ty2])) ) -# 9625 "parser_cocci_menhir.ml" +# 9639 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 9631 "parser_cocci_menhir.ml" +# 9645 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 9638 "parser_cocci_menhir.ml" +# 9652 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9644 "parser_cocci_menhir.ml" +# 9658 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9667,7 +9681,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 9671 "parser_cocci_menhir.ml" +# 9685 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -9676,28 +9690,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 678 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 9682 "parser_cocci_menhir.ml" +# 9696 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 9688 "parser_cocci_menhir.ml" +# 9702 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 9695 "parser_cocci_menhir.ml" +# 9709 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9701 "parser_cocci_menhir.ml" +# 9715 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9724,7 +9738,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 9728 "parser_cocci_menhir.ml" +# 9742 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -9733,28 +9747,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 680 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 9739 "parser_cocci_menhir.ml" +# 9753 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 9745 "parser_cocci_menhir.ml" +# 9759 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 9752 "parser_cocci_menhir.ml" +# 9766 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9758 "parser_cocci_menhir.ml" +# 9772 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9781,7 +9795,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 115 "parser_cocci_menhir.mly" (Data.clt) -# 9785 "parser_cocci_menhir.ml" +# 9799 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -9790,28 +9804,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 682 "parser_cocci_menhir.mly" +# 686 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) ) -# 9796 "parser_cocci_menhir.ml" +# 9810 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 9802 "parser_cocci_menhir.ml" +# 9816 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 9809 "parser_cocci_menhir.ml" +# 9823 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9815 "parser_cocci_menhir.ml" +# 9829 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9838,7 +9852,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 115 "parser_cocci_menhir.mly" (Data.clt) -# 9842 "parser_cocci_menhir.ml" +# 9856 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -9847,28 +9861,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 684 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) ) -# 9853 "parser_cocci_menhir.ml" +# 9867 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 9859 "parser_cocci_menhir.ml" +# 9873 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 9866 "parser_cocci_menhir.ml" +# 9880 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9872 "parser_cocci_menhir.ml" +# 9886 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9895,7 +9909,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 115 "parser_cocci_menhir.mly" (Data.clt) -# 9899 "parser_cocci_menhir.ml" +# 9913 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -9904,28 +9918,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 686 "parser_cocci_menhir.mly" +# 690 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) ) -# 9910 "parser_cocci_menhir.ml" +# 9924 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 9916 "parser_cocci_menhir.ml" +# 9930 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 9923 "parser_cocci_menhir.ml" +# 9937 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9929 "parser_cocci_menhir.ml" +# 9943 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9958,7 +9972,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s00 : ( # 116 "parser_cocci_menhir.mly" (Data.clt) -# 9962 "parser_cocci_menhir.ml" +# 9976 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -9969,28 +9983,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 688 "parser_cocci_menhir.mly" +# 692 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) ) -# 9975 "parser_cocci_menhir.ml" +# 9989 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 9981 "parser_cocci_menhir.ml" +# 9995 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 9988 "parser_cocci_menhir.ml" +# 10002 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9994 "parser_cocci_menhir.ml" +# 10008 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10032,18 +10046,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 10036 "parser_cocci_menhir.ml" +# 10050 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 10042 "parser_cocci_menhir.ml" +# 10056 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( # 116 "parser_cocci_menhir.mly" (Data.clt) -# 10047 "parser_cocci_menhir.ml" +# 10061 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -10061,35 +10075,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 10065 "parser_cocci_menhir.ml" +# 10079 "parser_cocci_menhir.ml" in -# 690 "parser_cocci_menhir.mly" +# 694 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "enums must be named in the iso file"); Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) ) -# 10074 "parser_cocci_menhir.ml" +# 10088 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 10080 "parser_cocci_menhir.ml" +# 10094 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 10087 "parser_cocci_menhir.ml" +# 10101 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10093 "parser_cocci_menhir.ml" +# 10107 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10136,19 +10150,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 10140 "parser_cocci_menhir.ml" +# 10154 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 10146 "parser_cocci_menhir.ml" +# 10160 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let x000 : 'tv_ident = Obj.magic x000 in let s00 : ( # 116 "parser_cocci_menhir.mly" (Data.clt) -# 10152 "parser_cocci_menhir.ml" +# 10166 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -10169,35 +10183,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10173 "parser_cocci_menhir.ml" +# 10187 "parser_cocci_menhir.ml" in -# 690 "parser_cocci_menhir.mly" +# 694 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "enums must be named in the iso file"); Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) ) -# 10182 "parser_cocci_menhir.ml" +# 10196 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 10188 "parser_cocci_menhir.ml" +# 10202 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 10195 "parser_cocci_menhir.ml" +# 10209 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10201 "parser_cocci_menhir.ml" +# 10215 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10237,28 +10251,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 695 "parser_cocci_menhir.mly" +# 699 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 10243 "parser_cocci_menhir.ml" +# 10257 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 10249 "parser_cocci_menhir.ml" +# 10263 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 10256 "parser_cocci_menhir.ml" +# 10270 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10262 "parser_cocci_menhir.ml" +# 10276 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10300,13 +10314,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 10304 "parser_cocci_menhir.ml" +# 10318 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 10310 "parser_cocci_menhir.ml" +# 10324 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : 'tv_struct_or_union = Obj.magic s00 in let _startpos = _startpos_s00_ in @@ -10325,36 +10339,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 10329 "parser_cocci_menhir.ml" +# 10343 "parser_cocci_menhir.ml" in -# 698 "parser_cocci_menhir.mly" +# 702 "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)) ) -# 10339 "parser_cocci_menhir.ml" +# 10353 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 10345 "parser_cocci_menhir.ml" +# 10359 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 10352 "parser_cocci_menhir.ml" +# 10366 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10358 "parser_cocci_menhir.ml" +# 10372 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10401,13 +10415,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 10405 "parser_cocci_menhir.ml" +# 10419 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 10411 "parser_cocci_menhir.ml" +# 10425 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let x000 : 'tv_type_ident = Obj.magic x000 in let s00 : 'tv_struct_or_union = Obj.magic s00 in @@ -10430,36 +10444,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10434 "parser_cocci_menhir.ml" +# 10448 "parser_cocci_menhir.ml" in -# 698 "parser_cocci_menhir.mly" +# 702 "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)) ) -# 10444 "parser_cocci_menhir.ml" +# 10458 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 10450 "parser_cocci_menhir.ml" +# 10464 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 10457 "parser_cocci_menhir.ml" +# 10471 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10463 "parser_cocci_menhir.ml" +# 10477 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10501,18 +10515,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 10505 "parser_cocci_menhir.ml" +# 10519 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 10511 "parser_cocci_menhir.ml" +# 10525 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( # 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 10516 "parser_cocci_menhir.ml" +# 10530 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -10527,30 +10541,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 704 "parser_cocci_menhir.mly" +# 708 "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)) ) -# 10535 "parser_cocci_menhir.ml" +# 10549 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 10541 "parser_cocci_menhir.ml" +# 10555 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 10548 "parser_cocci_menhir.ml" +# 10562 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10554 "parser_cocci_menhir.ml" +# 10568 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10577,7 +10591,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 10581 "parser_cocci_menhir.ml" +# 10595 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in @@ -10586,28 +10600,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 708 "parser_cocci_menhir.mly" +# 712 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 10592 "parser_cocci_menhir.ml" +# 10606 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 10598 "parser_cocci_menhir.ml" +# 10612 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 10605 "parser_cocci_menhir.ml" +# 10619 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10611 "parser_cocci_menhir.ml" +# 10625 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10644,12 +10658,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 10648 "parser_cocci_menhir.ml" +# 10662 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 10653 "parser_cocci_menhir.ml" +# 10667 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -10660,15 +10674,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 631 "parser_cocci_menhir.mly" +# 635 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 10666 "parser_cocci_menhir.ml" +# 10680 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 10672 "parser_cocci_menhir.ml" +# 10686 "parser_cocci_menhir.ml" in let cv = @@ -10676,13 +10690,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10680 "parser_cocci_menhir.ml" +# 10694 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10686 "parser_cocci_menhir.ml" +# 10700 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10719,12 +10733,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 10723 "parser_cocci_menhir.ml" +# 10737 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 10728 "parser_cocci_menhir.ml" +# 10742 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -10735,15 +10749,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 633 "parser_cocci_menhir.mly" +# 637 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 10741 "parser_cocci_menhir.ml" +# 10755 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 10747 "parser_cocci_menhir.ml" +# 10761 "parser_cocci_menhir.ml" in let cv = @@ -10751,13 +10765,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10755 "parser_cocci_menhir.ml" +# 10769 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10761 "parser_cocci_menhir.ml" +# 10775 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10799,17 +10813,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 10803 "parser_cocci_menhir.ml" +# 10817 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 10808 "parser_cocci_menhir.ml" +# 10822 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 10813 "parser_cocci_menhir.ml" +# 10827 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -10822,17 +10836,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 635 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.ShortIntType,[P.clt2mcode "short" ty1;P.clt2mcode "int" ty2])) ) -# 10830 "parser_cocci_menhir.ml" +# 10844 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 10836 "parser_cocci_menhir.ml" +# 10850 "parser_cocci_menhir.ml" in let cv = @@ -10840,13 +10854,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10844 "parser_cocci_menhir.ml" +# 10858 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10850 "parser_cocci_menhir.ml" +# 10864 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10883,12 +10897,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 10887 "parser_cocci_menhir.ml" +# 10901 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 10892 "parser_cocci_menhir.ml" +# 10906 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -10899,15 +10913,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 639 "parser_cocci_menhir.mly" +# 643 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 10905 "parser_cocci_menhir.ml" +# 10919 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 10911 "parser_cocci_menhir.ml" +# 10925 "parser_cocci_menhir.ml" in let cv = @@ -10915,13 +10929,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10919 "parser_cocci_menhir.ml" +# 10933 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10925 "parser_cocci_menhir.ml" +# 10939 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10958,12 +10972,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 10962 "parser_cocci_menhir.ml" +# 10976 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 10967 "parser_cocci_menhir.ml" +# 10981 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -10974,16 +10988,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 641 "parser_cocci_menhir.mly" +# 645 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 10981 "parser_cocci_menhir.ml" +# 10995 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 10987 "parser_cocci_menhir.ml" +# 11001 "parser_cocci_menhir.ml" in let cv = @@ -10991,13 +11005,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10995 "parser_cocci_menhir.ml" +# 11009 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 11001 "parser_cocci_menhir.ml" +# 11015 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11043,17 +11057,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 11047 "parser_cocci_menhir.ml" +# 11061 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 112 "parser_cocci_menhir.mly" (string) -# 11052 "parser_cocci_menhir.ml" +# 11066 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 11057 "parser_cocci_menhir.ml" +# 11071 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -11066,20 +11080,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 644 "parser_cocci_menhir.mly" +# 648 "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*))) ) -# 11077 "parser_cocci_menhir.ml" +# 11091 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 11083 "parser_cocci_menhir.ml" +# 11097 "parser_cocci_menhir.ml" in let cv = @@ -11087,13 +11101,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11091 "parser_cocci_menhir.ml" +# 11105 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 11097 "parser_cocci_menhir.ml" +# 11111 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11130,12 +11144,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 11134 "parser_cocci_menhir.ml" +# 11148 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 11139 "parser_cocci_menhir.ml" +# 11153 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -11146,15 +11160,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty1 = ty10 in -# 651 "parser_cocci_menhir.mly" +# 655 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty1])) ) -# 11152 "parser_cocci_menhir.ml" +# 11166 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 11158 "parser_cocci_menhir.ml" +# 11172 "parser_cocci_menhir.ml" in let cv = @@ -11162,13 +11176,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11166 "parser_cocci_menhir.ml" +# 11180 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 11172 "parser_cocci_menhir.ml" +# 11186 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11210,17 +11224,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 11214 "parser_cocci_menhir.ml" +# 11228 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 11219 "parser_cocci_menhir.ml" +# 11233 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 11224 "parser_cocci_menhir.ml" +# 11238 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -11233,17 +11247,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 653 "parser_cocci_menhir.mly" +# 657 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongIntType,[P.clt2mcode "long" ty1;P.clt2mcode "int" ty2])) ) -# 11241 "parser_cocci_menhir.ml" +# 11255 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 11247 "parser_cocci_menhir.ml" +# 11261 "parser_cocci_menhir.ml" in let cv = @@ -11251,13 +11265,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11255 "parser_cocci_menhir.ml" +# 11269 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 11261 "parser_cocci_menhir.ml" +# 11275 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11299,17 +11313,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 11303 "parser_cocci_menhir.ml" +# 11317 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 11308 "parser_cocci_menhir.ml" +# 11322 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 11313 "parser_cocci_menhir.ml" +# 11327 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -11322,18 +11336,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 657 "parser_cocci_menhir.mly" +# 661 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 11331 "parser_cocci_menhir.ml" +# 11345 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 11337 "parser_cocci_menhir.ml" +# 11351 "parser_cocci_menhir.ml" in let cv = @@ -11341,13 +11355,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11345 "parser_cocci_menhir.ml" +# 11359 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 11351 "parser_cocci_menhir.ml" +# 11365 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11394,22 +11408,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty300 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 11398 "parser_cocci_menhir.ml" +# 11412 "parser_cocci_menhir.ml" ) = Obj.magic ty300 in let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 11403 "parser_cocci_menhir.ml" +# 11417 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 11408 "parser_cocci_menhir.ml" +# 11422 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 11413 "parser_cocci_menhir.ml" +# 11427 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -11424,19 +11438,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 662 "parser_cocci_menhir.mly" +# 666 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongIntType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2; P.clt2mcode "int" ty3])) ) -# 11434 "parser_cocci_menhir.ml" +# 11448 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 11440 "parser_cocci_menhir.ml" +# 11454 "parser_cocci_menhir.ml" in let cv = @@ -11444,13 +11458,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11448 "parser_cocci_menhir.ml" +# 11462 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 11454 "parser_cocci_menhir.ml" +# 11468 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11487,12 +11501,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 11491 "parser_cocci_menhir.ml" +# 11505 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 11496 "parser_cocci_menhir.ml" +# 11510 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -11503,15 +11517,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 631 "parser_cocci_menhir.mly" +# 635 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 11509 "parser_cocci_menhir.ml" +# 11523 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 11515 "parser_cocci_menhir.ml" +# 11529 "parser_cocci_menhir.ml" in let cv = @@ -11519,13 +11533,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11523 "parser_cocci_menhir.ml" +# 11537 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 11529 "parser_cocci_menhir.ml" +# 11543 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11562,12 +11576,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 11566 "parser_cocci_menhir.ml" +# 11580 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 11571 "parser_cocci_menhir.ml" +# 11585 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -11578,15 +11592,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 633 "parser_cocci_menhir.mly" +# 637 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 11584 "parser_cocci_menhir.ml" +# 11598 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 11590 "parser_cocci_menhir.ml" +# 11604 "parser_cocci_menhir.ml" in let cv = @@ -11594,13 +11608,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11598 "parser_cocci_menhir.ml" +# 11612 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 11604 "parser_cocci_menhir.ml" +# 11618 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11642,17 +11656,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 11646 "parser_cocci_menhir.ml" +# 11660 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 11651 "parser_cocci_menhir.ml" +# 11665 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 11656 "parser_cocci_menhir.ml" +# 11670 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -11665,17 +11679,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 635 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.ShortIntType,[P.clt2mcode "short" ty1;P.clt2mcode "int" ty2])) ) -# 11673 "parser_cocci_menhir.ml" +# 11687 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 11679 "parser_cocci_menhir.ml" +# 11693 "parser_cocci_menhir.ml" in let cv = @@ -11683,13 +11697,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11687 "parser_cocci_menhir.ml" +# 11701 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 11693 "parser_cocci_menhir.ml" +# 11707 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11726,12 +11740,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 11730 "parser_cocci_menhir.ml" +# 11744 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 11735 "parser_cocci_menhir.ml" +# 11749 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -11742,15 +11756,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 639 "parser_cocci_menhir.mly" +# 643 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 11748 "parser_cocci_menhir.ml" +# 11762 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 11754 "parser_cocci_menhir.ml" +# 11768 "parser_cocci_menhir.ml" in let cv = @@ -11758,13 +11772,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11762 "parser_cocci_menhir.ml" +# 11776 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 11768 "parser_cocci_menhir.ml" +# 11782 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11801,12 +11815,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 11805 "parser_cocci_menhir.ml" +# 11819 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 11810 "parser_cocci_menhir.ml" +# 11824 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -11817,16 +11831,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 641 "parser_cocci_menhir.mly" +# 645 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 11824 "parser_cocci_menhir.ml" +# 11838 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 11830 "parser_cocci_menhir.ml" +# 11844 "parser_cocci_menhir.ml" in let cv = @@ -11834,13 +11848,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11838 "parser_cocci_menhir.ml" +# 11852 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 11844 "parser_cocci_menhir.ml" +# 11858 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11886,17 +11900,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 11890 "parser_cocci_menhir.ml" +# 11904 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 112 "parser_cocci_menhir.mly" (string) -# 11895 "parser_cocci_menhir.ml" +# 11909 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 11900 "parser_cocci_menhir.ml" +# 11914 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -11909,20 +11923,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 644 "parser_cocci_menhir.mly" +# 648 "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*))) ) -# 11920 "parser_cocci_menhir.ml" +# 11934 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 11926 "parser_cocci_menhir.ml" +# 11940 "parser_cocci_menhir.ml" in let cv = @@ -11930,13 +11944,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11934 "parser_cocci_menhir.ml" +# 11948 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 11940 "parser_cocci_menhir.ml" +# 11954 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11973,12 +11987,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 11977 "parser_cocci_menhir.ml" +# 11991 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 11982 "parser_cocci_menhir.ml" +# 11996 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -11989,15 +12003,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty1 = ty10 in -# 651 "parser_cocci_menhir.mly" +# 655 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty1])) ) -# 11995 "parser_cocci_menhir.ml" +# 12009 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 12001 "parser_cocci_menhir.ml" +# 12015 "parser_cocci_menhir.ml" in let cv = @@ -12005,13 +12019,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12009 "parser_cocci_menhir.ml" +# 12023 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 12015 "parser_cocci_menhir.ml" +# 12029 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12053,17 +12067,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 12057 "parser_cocci_menhir.ml" +# 12071 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 12062 "parser_cocci_menhir.ml" +# 12076 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 12067 "parser_cocci_menhir.ml" +# 12081 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -12076,17 +12090,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 653 "parser_cocci_menhir.mly" +# 657 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongIntType,[P.clt2mcode "long" ty1;P.clt2mcode "int" ty2])) ) -# 12084 "parser_cocci_menhir.ml" +# 12098 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 12090 "parser_cocci_menhir.ml" +# 12104 "parser_cocci_menhir.ml" in let cv = @@ -12094,13 +12108,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12098 "parser_cocci_menhir.ml" +# 12112 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 12104 "parser_cocci_menhir.ml" +# 12118 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12142,17 +12156,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 12146 "parser_cocci_menhir.ml" +# 12160 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 12151 "parser_cocci_menhir.ml" +# 12165 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 12156 "parser_cocci_menhir.ml" +# 12170 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -12165,18 +12179,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 657 "parser_cocci_menhir.mly" +# 661 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 12174 "parser_cocci_menhir.ml" +# 12188 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 12180 "parser_cocci_menhir.ml" +# 12194 "parser_cocci_menhir.ml" in let cv = @@ -12184,13 +12198,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12188 "parser_cocci_menhir.ml" +# 12202 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 12194 "parser_cocci_menhir.ml" +# 12208 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12237,22 +12251,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty300 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 12241 "parser_cocci_menhir.ml" +# 12255 "parser_cocci_menhir.ml" ) = Obj.magic ty300 in let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 12246 "parser_cocci_menhir.ml" +# 12260 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 12251 "parser_cocci_menhir.ml" +# 12265 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 12256 "parser_cocci_menhir.ml" +# 12270 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -12267,83 +12281,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 662 "parser_cocci_menhir.mly" +# 666 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongIntType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2; P.clt2mcode "int" ty3])) ) -# 12277 "parser_cocci_menhir.ml" +# 12291 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 12283 "parser_cocci_menhir.ml" - - in - let cv = - let x = x0 in - -# 41 "standard.mly" - ( Some x ) -# 12291 "parser_cocci_menhir.ml" - - in - -# 721 "parser_cocci_menhir.mly" - ( P.pointerify (P.make_cv cv ty) m ) # 12297 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - } = _menhir_stack in - let m : 'tv_list_TMul_ = Obj.magic m in - let ty00 : ( -# 114 "parser_cocci_menhir.mly" - (Data.clt) -# 12329 "parser_cocci_menhir.ml" - ) = Obj.magic ty00 in - let x0 : 'tv_const_vol = Obj.magic x0 in - let _startpos = _startpos_x0_ in - let _endpos = _endpos_m_ in - let _v : 'tv_ctype = let ty = - let ty0 = ty00 in - let ty = - let ty = ty0 in - -# 631 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 12341 "parser_cocci_menhir.ml" - - in - -# 716 "parser_cocci_menhir.mly" - ( ty ) -# 12347 "parser_cocci_menhir.ml" in let cv = @@ -12351,13 +12301,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12355 "parser_cocci_menhir.ml" +# 12305 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 12361 "parser_cocci_menhir.ml" +# 12311 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12389,7 +12339,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 12393 "parser_cocci_menhir.ml" +# 12343 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -12399,93 +12349,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 633 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 12405 "parser_cocci_menhir.ml" - - in - -# 716 "parser_cocci_menhir.mly" - ( ty ) -# 12411 "parser_cocci_menhir.ml" - - in - let cv = - let x = x0 in - -# 41 "standard.mly" - ( Some x ) -# 12419 "parser_cocci_menhir.ml" - - in - -# 721 "parser_cocci_menhir.mly" - ( P.pointerify (P.make_cv cv ty) m ) -# 12425 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty200; - MenhirLib.EngineTypes.startp = _startpos_ty200_; - MenhirLib.EngineTypes.endp = _endpos_ty200_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty100; - MenhirLib.EngineTypes.startp = _startpos_ty100_; - MenhirLib.EngineTypes.endp = _endpos_ty100_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - } = _menhir_stack in - let m : 'tv_list_TMul_ = Obj.magic m in - let ty200 : ( -# 114 "parser_cocci_menhir.mly" - (Data.clt) -# 12462 "parser_cocci_menhir.ml" - ) = Obj.magic ty200 in - let ty100 : ( -# 114 "parser_cocci_menhir.mly" - (Data.clt) -# 12467 "parser_cocci_menhir.ml" - ) = Obj.magic ty100 in - let x0 : 'tv_const_vol = Obj.magic x0 in - let _startpos = _startpos_x0_ in - let _endpos = _endpos_m_ in - let _v : 'tv_ctype = let ty = - let ty20 = ty200 in - let ty10 = ty100 in - let ty = - let ty2 = ty20 in - let ty1 = ty10 in - # 635 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.BaseType - (Ast.ShortIntType,[P.clt2mcode "short" ty1;P.clt2mcode "int" ty2])) ) -# 12483 "parser_cocci_menhir.ml" + ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) +# 12355 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 12489 "parser_cocci_menhir.ml" +# 12361 "parser_cocci_menhir.ml" in let cv = @@ -12493,13 +12365,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12497 "parser_cocci_menhir.ml" +# 12369 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 12503 "parser_cocci_menhir.ml" +# 12375 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12531,7 +12403,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 12535 "parser_cocci_menhir.ml" +# 12407 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -12541,15 +12413,93 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in +# 637 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) +# 12419 "parser_cocci_menhir.ml" + + in + +# 720 "parser_cocci_menhir.mly" + ( ty ) +# 12425 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 12433 "parser_cocci_menhir.ml" + + in + +# 725 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 12439 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty200; + MenhirLib.EngineTypes.startp = _startpos_ty200_; + MenhirLib.EngineTypes.endp = _endpos_ty200_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty100; + MenhirLib.EngineTypes.startp = _startpos_ty100_; + MenhirLib.EngineTypes.endp = _endpos_ty100_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let ty200 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 12476 "parser_cocci_menhir.ml" + ) = Obj.magic ty200 in + let ty100 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 12481 "parser_cocci_menhir.ml" + ) = Obj.magic ty100 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let ty20 = ty200 in + let ty10 = ty100 in + let ty = + let ty2 = ty20 in + let ty1 = ty10 in + # 639 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 12547 "parser_cocci_menhir.ml" + ( Ast0.wrap + (Ast0.BaseType + (Ast.ShortIntType,[P.clt2mcode "short" ty1;P.clt2mcode "int" ty2])) ) +# 12497 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 12553 "parser_cocci_menhir.ml" +# 12503 "parser_cocci_menhir.ml" in let cv = @@ -12557,13 +12507,77 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12561 "parser_cocci_menhir.ml" +# 12511 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) +# 12517 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 12549 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let ty0 = ty00 in + let ty = + let ty = ty0 in + +# 643 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) +# 12561 "parser_cocci_menhir.ml" + + in + +# 720 "parser_cocci_menhir.mly" + ( ty ) # 12567 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 12575 "parser_cocci_menhir.ml" + + in + +# 725 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 12581 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12595,7 +12609,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 12599 "parser_cocci_menhir.ml" +# 12613 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -12605,16 +12619,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 641 "parser_cocci_menhir.mly" +# 645 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 12612 "parser_cocci_menhir.ml" +# 12626 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 12618 "parser_cocci_menhir.ml" +# 12632 "parser_cocci_menhir.ml" in let cv = @@ -12622,13 +12636,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12626 "parser_cocci_menhir.ml" +# 12640 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 12632 "parser_cocci_menhir.ml" +# 12646 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12669,12 +12683,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 12673 "parser_cocci_menhir.ml" +# 12687 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 112 "parser_cocci_menhir.mly" (string) -# 12678 "parser_cocci_menhir.ml" +# 12692 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -12686,20 +12700,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 644 "parser_cocci_menhir.mly" +# 648 "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*))) ) -# 12697 "parser_cocci_menhir.ml" +# 12711 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 12703 "parser_cocci_menhir.ml" +# 12717 "parser_cocci_menhir.ml" in let cv = @@ -12707,13 +12721,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12711 "parser_cocci_menhir.ml" +# 12725 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 12717 "parser_cocci_menhir.ml" +# 12731 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12745,7 +12759,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 12749 "parser_cocci_menhir.ml" +# 12763 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -12755,15 +12769,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty1 = ty10 in -# 651 "parser_cocci_menhir.mly" +# 655 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty1])) ) -# 12761 "parser_cocci_menhir.ml" +# 12775 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 12767 "parser_cocci_menhir.ml" +# 12781 "parser_cocci_menhir.ml" in let cv = @@ -12771,13 +12785,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12775 "parser_cocci_menhir.ml" +# 12789 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 12781 "parser_cocci_menhir.ml" +# 12795 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12814,12 +12828,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 12818 "parser_cocci_menhir.ml" +# 12832 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 12823 "parser_cocci_menhir.ml" +# 12837 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -12831,17 +12845,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 653 "parser_cocci_menhir.mly" +# 657 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongIntType,[P.clt2mcode "long" ty1;P.clt2mcode "int" ty2])) ) -# 12839 "parser_cocci_menhir.ml" +# 12853 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 12845 "parser_cocci_menhir.ml" +# 12859 "parser_cocci_menhir.ml" in let cv = @@ -12849,13 +12863,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12853 "parser_cocci_menhir.ml" +# 12867 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 12859 "parser_cocci_menhir.ml" +# 12873 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12892,12 +12906,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 12896 "parser_cocci_menhir.ml" +# 12910 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 12901 "parser_cocci_menhir.ml" +# 12915 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -12909,18 +12923,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 657 "parser_cocci_menhir.mly" +# 661 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 12918 "parser_cocci_menhir.ml" +# 12932 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 12924 "parser_cocci_menhir.ml" +# 12938 "parser_cocci_menhir.ml" in let cv = @@ -12928,13 +12942,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12932 "parser_cocci_menhir.ml" +# 12946 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 12938 "parser_cocci_menhir.ml" +# 12952 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12976,17 +12990,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty300 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 12980 "parser_cocci_menhir.ml" +# 12994 "parser_cocci_menhir.ml" ) = Obj.magic ty300 in let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 12985 "parser_cocci_menhir.ml" +# 12999 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 12990 "parser_cocci_menhir.ml" +# 13004 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -13000,19 +13014,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 662 "parser_cocci_menhir.mly" +# 666 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongIntType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2; P.clt2mcode "int" ty3])) ) -# 13010 "parser_cocci_menhir.ml" +# 13024 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 13016 "parser_cocci_menhir.ml" +# 13030 "parser_cocci_menhir.ml" in let cv = @@ -13020,13 +13034,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 13024 "parser_cocci_menhir.ml" +# 13038 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 13030 "parser_cocci_menhir.ml" +# 13044 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13058,7 +13072,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 116 "parser_cocci_menhir.mly" (Data.clt) -# 13062 "parser_cocci_menhir.ml" +# 13076 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -13068,15 +13082,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 671 "parser_cocci_menhir.mly" +# 675 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 13074 "parser_cocci_menhir.ml" +# 13088 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 13080 "parser_cocci_menhir.ml" +# 13094 "parser_cocci_menhir.ml" in let cv = @@ -13084,13 +13098,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 13088 "parser_cocci_menhir.ml" +# 13102 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 13094 "parser_cocci_menhir.ml" +# 13108 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13127,12 +13141,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 13131 "parser_cocci_menhir.ml" +# 13145 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 13136 "parser_cocci_menhir.ml" +# 13150 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -13144,18 +13158,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 673 "parser_cocci_menhir.mly" +# 677 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongDoubleType, [P.clt2mcode "long" ty1;P.clt2mcode "double" ty2])) ) -# 13153 "parser_cocci_menhir.ml" +# 13167 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 13159 "parser_cocci_menhir.ml" +# 13173 "parser_cocci_menhir.ml" in let cv = @@ -13163,13 +13177,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 13167 "parser_cocci_menhir.ml" +# 13181 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 13173 "parser_cocci_menhir.ml" +# 13187 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13201,7 +13215,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 13205 "parser_cocci_menhir.ml" +# 13219 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -13211,15 +13225,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 678 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 13217 "parser_cocci_menhir.ml" +# 13231 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 13223 "parser_cocci_menhir.ml" +# 13237 "parser_cocci_menhir.ml" in let cv = @@ -13227,13 +13241,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 13231 "parser_cocci_menhir.ml" +# 13245 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 13237 "parser_cocci_menhir.ml" +# 13251 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13265,7 +13279,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 13269 "parser_cocci_menhir.ml" +# 13283 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -13275,15 +13289,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 680 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 13281 "parser_cocci_menhir.ml" +# 13295 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 13287 "parser_cocci_menhir.ml" +# 13301 "parser_cocci_menhir.ml" in let cv = @@ -13291,13 +13305,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 13295 "parser_cocci_menhir.ml" +# 13309 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 13301 "parser_cocci_menhir.ml" +# 13315 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13329,7 +13343,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 115 "parser_cocci_menhir.mly" (Data.clt) -# 13333 "parser_cocci_menhir.ml" +# 13347 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -13339,15 +13353,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 682 "parser_cocci_menhir.mly" +# 686 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) ) -# 13345 "parser_cocci_menhir.ml" +# 13359 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 13351 "parser_cocci_menhir.ml" +# 13365 "parser_cocci_menhir.ml" in let cv = @@ -13355,13 +13369,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 13359 "parser_cocci_menhir.ml" +# 13373 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 13365 "parser_cocci_menhir.ml" +# 13379 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13393,7 +13407,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 115 "parser_cocci_menhir.mly" (Data.clt) -# 13397 "parser_cocci_menhir.ml" +# 13411 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -13403,15 +13417,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 684 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) ) -# 13409 "parser_cocci_menhir.ml" +# 13423 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 13415 "parser_cocci_menhir.ml" +# 13429 "parser_cocci_menhir.ml" in let cv = @@ -13419,13 +13433,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 13423 "parser_cocci_menhir.ml" +# 13437 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 13429 "parser_cocci_menhir.ml" +# 13443 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13457,7 +13471,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 115 "parser_cocci_menhir.mly" (Data.clt) -# 13461 "parser_cocci_menhir.ml" +# 13475 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -13467,15 +13481,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 686 "parser_cocci_menhir.mly" +# 690 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) ) -# 13473 "parser_cocci_menhir.ml" +# 13487 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 13479 "parser_cocci_menhir.ml" +# 13493 "parser_cocci_menhir.ml" in let cv = @@ -13483,13 +13497,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 13487 "parser_cocci_menhir.ml" +# 13501 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 13493 "parser_cocci_menhir.ml" +# 13507 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13527,7 +13541,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s00 : ( # 116 "parser_cocci_menhir.mly" (Data.clt) -# 13531 "parser_cocci_menhir.ml" +# 13545 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -13539,15 +13553,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 688 "parser_cocci_menhir.mly" +# 692 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) ) -# 13545 "parser_cocci_menhir.ml" +# 13559 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 13551 "parser_cocci_menhir.ml" +# 13565 "parser_cocci_menhir.ml" in let cv = @@ -13555,13 +13569,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 13559 "parser_cocci_menhir.ml" +# 13573 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 13565 "parser_cocci_menhir.ml" +# 13579 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13608,18 +13622,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 13612 "parser_cocci_menhir.ml" +# 13626 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 13618 "parser_cocci_menhir.ml" +# 13632 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( # 116 "parser_cocci_menhir.mly" (Data.clt) -# 13623 "parser_cocci_menhir.ml" +# 13637 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -13638,22 +13652,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 13642 "parser_cocci_menhir.ml" +# 13656 "parser_cocci_menhir.ml" in -# 690 "parser_cocci_menhir.mly" +# 694 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "enums must be named in the iso file"); Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) ) -# 13651 "parser_cocci_menhir.ml" +# 13665 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 13657 "parser_cocci_menhir.ml" +# 13671 "parser_cocci_menhir.ml" in let cv = @@ -13661,13 +13675,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 13665 "parser_cocci_menhir.ml" +# 13679 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 13671 "parser_cocci_menhir.ml" +# 13685 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13719,19 +13733,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 13723 "parser_cocci_menhir.ml" +# 13737 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 13729 "parser_cocci_menhir.ml" +# 13743 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let x000 : 'tv_ident = Obj.magic x000 in let s00 : ( # 116 "parser_cocci_menhir.mly" (Data.clt) -# 13735 "parser_cocci_menhir.ml" +# 13749 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -13753,22 +13767,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 13757 "parser_cocci_menhir.ml" +# 13771 "parser_cocci_menhir.ml" in -# 690 "parser_cocci_menhir.mly" +# 694 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "enums must be named in the iso file"); Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) ) -# 13766 "parser_cocci_menhir.ml" +# 13780 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 13772 "parser_cocci_menhir.ml" +# 13786 "parser_cocci_menhir.ml" in let cv = @@ -13776,13 +13790,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 13780 "parser_cocci_menhir.ml" +# 13794 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 13786 "parser_cocci_menhir.ml" +# 13800 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13828,15 +13842,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 695 "parser_cocci_menhir.mly" +# 699 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 13834 "parser_cocci_menhir.ml" +# 13848 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 13840 "parser_cocci_menhir.ml" +# 13854 "parser_cocci_menhir.ml" in let cv = @@ -13844,13 +13858,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 13848 "parser_cocci_menhir.ml" +# 13862 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 13854 "parser_cocci_menhir.ml" +# 13868 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13897,13 +13911,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 13901 "parser_cocci_menhir.ml" +# 13915 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 13907 "parser_cocci_menhir.ml" +# 13921 "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 @@ -13923,23 +13937,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 13927 "parser_cocci_menhir.ml" +# 13941 "parser_cocci_menhir.ml" in -# 698 "parser_cocci_menhir.mly" +# 702 "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)) ) -# 13937 "parser_cocci_menhir.ml" +# 13951 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 13943 "parser_cocci_menhir.ml" +# 13957 "parser_cocci_menhir.ml" in let cv = @@ -13947,13 +13961,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 13951 "parser_cocci_menhir.ml" +# 13965 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 13957 "parser_cocci_menhir.ml" +# 13971 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14005,13 +14019,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 14009 "parser_cocci_menhir.ml" +# 14023 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 14015 "parser_cocci_menhir.ml" +# 14029 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let x000 : 'tv_type_ident = Obj.magic x000 in let s00 : 'tv_struct_or_union = Obj.magic s00 in @@ -14035,23 +14049,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 14039 "parser_cocci_menhir.ml" +# 14053 "parser_cocci_menhir.ml" in -# 698 "parser_cocci_menhir.mly" +# 702 "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)) ) -# 14049 "parser_cocci_menhir.ml" +# 14063 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 14055 "parser_cocci_menhir.ml" +# 14069 "parser_cocci_menhir.ml" in let cv = @@ -14059,13 +14073,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 14063 "parser_cocci_menhir.ml" +# 14077 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 14069 "parser_cocci_menhir.ml" +# 14083 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14112,18 +14126,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 14116 "parser_cocci_menhir.ml" +# 14130 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 14122 "parser_cocci_menhir.ml" +# 14136 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( # 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 14127 "parser_cocci_menhir.ml" +# 14141 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -14139,17 +14153,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 704 "parser_cocci_menhir.mly" +# 708 "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)) ) -# 14147 "parser_cocci_menhir.ml" +# 14161 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 14153 "parser_cocci_menhir.ml" +# 14167 "parser_cocci_menhir.ml" in let cv = @@ -14157,13 +14171,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 14161 "parser_cocci_menhir.ml" +# 14175 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 14167 "parser_cocci_menhir.ml" +# 14181 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14195,7 +14209,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 14199 "parser_cocci_menhir.ml" +# 14213 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -14205,15 +14219,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 708 "parser_cocci_menhir.mly" +# 712 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 14211 "parser_cocci_menhir.ml" +# 14225 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 14217 "parser_cocci_menhir.ml" +# 14231 "parser_cocci_menhir.ml" in let cv = @@ -14221,13 +14235,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 14225 "parser_cocci_menhir.ml" +# 14239 "parser_cocci_menhir.ml" in -# 721 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 14231 "parser_cocci_menhir.ml" +# 14245 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14248,14 +14262,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 14252 "parser_cocci_menhir.ml" +# 14266 "parser_cocci_menhir.ml" ) = Obj.magic r in let _startpos = _startpos_r_ in let _endpos = _endpos_r_ in let _v : 'tv_ctype = -# 723 "parser_cocci_menhir.mly" +# 727 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) ) -# 14259 "parser_cocci_menhir.ml" +# 14273 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14276,14 +14290,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 14280 "parser_cocci_menhir.ml" +# 14294 "parser_cocci_menhir.ml" ) = Obj.magic r in let _startpos = _startpos_r_ in let _endpos = _endpos_r_ in let _v : 'tv_ctype = -# 725 "parser_cocci_menhir.mly" +# 729 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) ) -# 14287 "parser_cocci_menhir.ml" +# 14301 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14314,22 +14328,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 14318 "parser_cocci_menhir.ml" +# 14332 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in let lp : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 14324 "parser_cocci_menhir.ml" +# 14338 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_rp_ in let _v : 'tv_ctype = -# 727 "parser_cocci_menhir.mly" +# 731 "parser_cocci_menhir.mly" ( let (mids,code) = t in Ast0.wrap (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) ) -# 14333 "parser_cocci_menhir.ml" +# 14347 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14357,9 +14371,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_d_ident = -# 1303 "parser_cocci_menhir.mly" +# 1315 "parser_cocci_menhir.mly" ( (_1, function t -> P.arrayify t _2) ) -# 14363 "parser_cocci_menhir.ml" +# 14377 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14393,9 +14407,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_a_ in let _v : 'tv_decl = -# 1055 "parser_cocci_menhir.mly" +# 1067 "parser_cocci_menhir.mly" ( let t = P.arrayify t a in Ast0.wrap(Ast0.Param(t, Some i)) ) -# 14399 "parser_cocci_menhir.ml" +# 14413 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14417,9 +14431,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_t_ in let _v : 'tv_decl = -# 1056 "parser_cocci_menhir.mly" +# 1068 "parser_cocci_menhir.mly" ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) ) -# 14423 "parser_cocci_menhir.ml" +# 14437 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14475,42 +14489,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp1 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 14479 "parser_cocci_menhir.ml" +# 14493 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 14485 "parser_cocci_menhir.ml" +# 14499 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let rp : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 14490 "parser_cocci_menhir.ml" +# 14504 "parser_cocci_menhir.ml" ) = Obj.magic rp in let i : 'tv_disj_ident = Obj.magic i in let s : ( # 168 "parser_cocci_menhir.mly" (Data.clt) -# 14496 "parser_cocci_menhir.ml" +# 14510 "parser_cocci_menhir.ml" ) = Obj.magic s in let lp : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 14501 "parser_cocci_menhir.ml" +# 14515 "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 = -# 1059 "parser_cocci_menhir.mly" +# 1071 "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)) ) -# 14514 "parser_cocci_menhir.ml" +# 14528 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14531,15 +14545,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 14535 "parser_cocci_menhir.ml" +# 14549 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl = -# 1066 "parser_cocci_menhir.mly" +# 1078 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) ) -# 14543 "parser_cocci_menhir.ml" +# 14557 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14560,14 +14574,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 133 "parser_cocci_menhir.mly" (Parse_aux.info) -# 14564 "parser_cocci_menhir.ml" +# 14578 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl = -# 1068 "parser_cocci_menhir.mly" +# 1080 "parser_cocci_menhir.mly" ( tmeta_to_param _1 ) -# 14571 "parser_cocci_menhir.ml" +# 14585 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14588,14 +14602,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 14592 "parser_cocci_menhir.ml" +# 14606 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_ident = -# 1986 "parser_cocci_menhir.mly" +# 2009 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 14599 "parser_cocci_menhir.ml" +# 14613 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14616,15 +14630,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 130 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 14620 "parser_cocci_menhir.ml" +# 14634 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_ident = -# 1988 "parser_cocci_menhir.mly" +# 2011 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,Ast.NoVal,pure)) ) -# 14628 "parser_cocci_menhir.ml" +# 14642 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14646,13 +14660,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_list_decl_ = -# 2010 "parser_cocci_menhir.mly" +# 2033 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.DOTS (_1 (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d))) (fun c -> Ast0.PComma c))) ) -# 14656 "parser_cocci_menhir.ml" +# 14670 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14674,13 +14688,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_ = -# 2010 "parser_cocci_menhir.mly" +# 2033 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.DOTS (_1 (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d))) (fun c -> Ast0.PComma c))) ) -# 14684 "parser_cocci_menhir.ml" +# 14698 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14701,15 +14715,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 14705 "parser_cocci_menhir.ml" +# 14719 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement = -# 1366 "parser_cocci_menhir.mly" +# 1378 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] ) -# 14713 "parser_cocci_menhir.ml" +# 14727 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14731,13 +14745,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement = -# 1369 "parser_cocci_menhir.mly" +# 1381 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.wrap (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x))) _1 ) -# 14741 "parser_cocci_menhir.ml" +# 14755 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14759,9 +14773,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement = -# 1374 "parser_cocci_menhir.mly" +# 1386 "parser_cocci_menhir.mly" ( [_1] ) -# 14765 "parser_cocci_menhir.ml" +# 14779 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14792,18 +14806,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 14796 "parser_cocci_menhir.ml" +# 14810 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in let _1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 14802 "parser_cocci_menhir.ml" +# 14816 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_decl_statement = -# 1383 "parser_cocci_menhir.mly" +# 1395 "parser_cocci_menhir.mly" ( let (mids,code) = t in if List.for_all (function x -> @@ -14813,7 +14827,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct else [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3))] ) -# 14817 "parser_cocci_menhir.ml" +# 14831 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14834,15 +14848,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 14838 "parser_cocci_menhir.ml" +# 14852 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1396 "parser_cocci_menhir.mly" +# 1408 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] ) -# 14846 "parser_cocci_menhir.ml" +# 14860 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14864,13 +14878,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1399 "parser_cocci_menhir.mly" +# 1411 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.wrap (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x))) _1 ) -# 14874 "parser_cocci_menhir.ml" +# 14888 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14892,9 +14906,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1404 "parser_cocci_menhir.mly" +# 1416 "parser_cocci_menhir.mly" ( [_1] ) -# 14898 "parser_cocci_menhir.ml" +# 14912 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14925,18 +14939,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 14929 "parser_cocci_menhir.ml" +# 14943 "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 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 14935 "parser_cocci_menhir.ml" +# 14949 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_decl_statement_expr = -# 1413 "parser_cocci_menhir.mly" +# 1425 "parser_cocci_menhir.mly" ( let (mids,code) = t in if List.for_all (function [] -> true | _ -> false) code then [] @@ -14945,7 +14959,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))] ) -# 14949 "parser_cocci_menhir.ml" +# 14963 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14971,15 +14985,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 14975 "parser_cocci_menhir.ml" +# 14989 "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 = -# 1189 "parser_cocci_menhir.mly" +# 1201 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] ) -# 14983 "parser_cocci_menhir.ml" +# 14997 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15000,14 +15014,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 133 "parser_cocci_menhir.mly" (Parse_aux.info) -# 15004 "parser_cocci_menhir.ml" +# 15018 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_var = -# 1190 "parser_cocci_menhir.mly" +# 1202 "parser_cocci_menhir.mly" ( [P.meta_decl _1] ) -# 15011 "parser_cocci_menhir.ml" +# 15025 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15038,7 +15052,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 15042 "parser_cocci_menhir.ml" +# 15056 "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 @@ -15048,16 +15062,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 15052 "parser_cocci_menhir.ml" +# 15066 "parser_cocci_menhir.ml" in -# 1192 "parser_cocci_menhir.mly" +# 1204 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))) d ) -# 15061 "parser_cocci_menhir.ml" +# 15075 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15093,7 +15107,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 15097 "parser_cocci_menhir.ml" +# 15111 "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 @@ -15105,16 +15119,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 15109 "parser_cocci_menhir.ml" +# 15123 "parser_cocci_menhir.ml" in -# 1192 "parser_cocci_menhir.mly" +# 1204 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))) d ) -# 15118 "parser_cocci_menhir.ml" +# 15132 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15136,9 +15150,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_f_ in let _v : 'tv_decl_var = -# 1196 "parser_cocci_menhir.mly" +# 1208 "parser_cocci_menhir.mly" ( [f] ) -# 15142 "parser_cocci_menhir.ml" +# 15156 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15179,13 +15193,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 15183 "parser_cocci_menhir.ml" +# 15197 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 15189 "parser_cocci_menhir.ml" +# 15203 "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 @@ -15195,14 +15209,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 15199 "parser_cocci_menhir.ml" +# 15213 "parser_cocci_menhir.ml" in -# 1198 "parser_cocci_menhir.mly" +# 1210 "parser_cocci_menhir.mly" (let (id,fn) = d in [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) -# 15206 "parser_cocci_menhir.ml" +# 15220 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15248,13 +15262,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 15252 "parser_cocci_menhir.ml" +# 15266 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 15258 "parser_cocci_menhir.ml" +# 15272 "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 @@ -15266,14 +15280,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 15270 "parser_cocci_menhir.ml" +# 15284 "parser_cocci_menhir.ml" in -# 1198 "parser_cocci_menhir.mly" +# 1210 "parser_cocci_menhir.mly" (let (id,fn) = d in [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) -# 15277 "parser_cocci_menhir.ml" +# 15291 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15304,35 +15318,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 15308 "parser_cocci_menhir.ml" +# 15322 "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 + let i : 'tv_pure_ident_or_symbol = Obj.magic i in let _startpos = _startpos_i_ in let _endpos = _endpos_pv_ in let _v : 'tv_decl_var = let cv = # 39 "standard.mly" ( None ) -# 15318 "parser_cocci_menhir.ml" +# 15332 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 15325 "parser_cocci_menhir.ml" +# 15339 "parser_cocci_menhir.ml" in -# 1203 "parser_cocci_menhir.mly" +# 1215 "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 ) -# 15336 "parser_cocci_menhir.ml" +# 15350 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15368,10 +15382,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 15372 "parser_cocci_menhir.ml" +# 15386 "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 + let i : 'tv_pure_ident_or_symbol = Obj.magic i in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_pv_ in @@ -15380,25 +15394,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 15384 "parser_cocci_menhir.ml" +# 15398 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 15391 "parser_cocci_menhir.ml" +# 15405 "parser_cocci_menhir.ml" in -# 1203 "parser_cocci_menhir.mly" +# 1215 "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 ) -# 15402 "parser_cocci_menhir.ml" +# 15416 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15434,10 +15448,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 15438 "parser_cocci_menhir.ml" +# 15452 "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 + let i : 'tv_pure_ident_or_symbol = Obj.magic i in let x0 : 'tv_storage = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_pv_ in @@ -15445,7 +15459,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 15449 "parser_cocci_menhir.ml" +# 15463 "parser_cocci_menhir.ml" in let s = @@ -15453,18 +15467,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 15457 "parser_cocci_menhir.ml" +# 15471 "parser_cocci_menhir.ml" in -# 1203 "parser_cocci_menhir.mly" +# 1215 "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 ) -# 15468 "parser_cocci_menhir.ml" +# 15482 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15505,10 +15519,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 15509 "parser_cocci_menhir.ml" +# 15523 "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 + let i : 'tv_pure_ident_or_symbol = Obj.magic i in let x1 : 'tv_const_vol = Obj.magic x1 in let x0 : 'tv_storage = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -15518,7 +15532,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 15522 "parser_cocci_menhir.ml" +# 15536 "parser_cocci_menhir.ml" in let s = @@ -15526,18 +15540,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 15530 "parser_cocci_menhir.ml" +# 15544 "parser_cocci_menhir.ml" in -# 1203 "parser_cocci_menhir.mly" +# 1215 "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 ) -# 15541 "parser_cocci_menhir.ml" +# 15555 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15578,40 +15592,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 15582 "parser_cocci_menhir.ml" +# 15596 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 15588 "parser_cocci_menhir.ml" +# 15602 "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 + let i : 'tv_pure_ident_or_symbol = Obj.magic i in let _startpos = _startpos_i_ in let _endpos = _endpos_pv_ in let _v : 'tv_decl_var = let cv = # 39 "standard.mly" ( None ) -# 15598 "parser_cocci_menhir.ml" +# 15612 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 15605 "parser_cocci_menhir.ml" +# 15619 "parser_cocci_menhir.ml" in -# 1211 "parser_cocci_menhir.mly" +# 1223 "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))] ) -# 15615 "parser_cocci_menhir.ml" +# 15629 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15657,16 +15671,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 15661 "parser_cocci_menhir.ml" +# 15675 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 15667 "parser_cocci_menhir.ml" +# 15681 "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 + let i : 'tv_pure_ident_or_symbol = Obj.magic i in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_pv_ in @@ -15675,24 +15689,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 15679 "parser_cocci_menhir.ml" +# 15693 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 15686 "parser_cocci_menhir.ml" +# 15700 "parser_cocci_menhir.ml" in -# 1211 "parser_cocci_menhir.mly" +# 1223 "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))] ) -# 15696 "parser_cocci_menhir.ml" +# 15710 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15738,16 +15752,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 15742 "parser_cocci_menhir.ml" +# 15756 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 15748 "parser_cocci_menhir.ml" +# 15762 "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 + let i : 'tv_pure_ident_or_symbol = Obj.magic i in let x0 : 'tv_storage = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_pv_ in @@ -15755,7 +15769,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 15759 "parser_cocci_menhir.ml" +# 15773 "parser_cocci_menhir.ml" in let s = @@ -15763,17 +15777,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 15767 "parser_cocci_menhir.ml" +# 15781 "parser_cocci_menhir.ml" in -# 1211 "parser_cocci_menhir.mly" +# 1223 "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))] ) -# 15777 "parser_cocci_menhir.ml" +# 15791 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15824,16 +15838,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 15828 "parser_cocci_menhir.ml" +# 15842 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 15834 "parser_cocci_menhir.ml" +# 15848 "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 + let i : 'tv_pure_ident_or_symbol = Obj.magic i in let x1 : 'tv_const_vol = Obj.magic x1 in let x0 : 'tv_storage = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -15843,7 +15857,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 15847 "parser_cocci_menhir.ml" +# 15861 "parser_cocci_menhir.ml" in let s = @@ -15851,17 +15865,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 15855 "parser_cocci_menhir.ml" +# 15869 "parser_cocci_menhir.ml" in -# 1211 "parser_cocci_menhir.mly" +# 1223 "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))] ) -# 15865 "parser_cocci_menhir.ml" +# 15879 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15922,34 +15936,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 15926 "parser_cocci_menhir.ml" +# 15940 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 15931 "parser_cocci_menhir.ml" +# 15945 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 15937 "parser_cocci_menhir.ml" +# 15951 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 15942 "parser_cocci_menhir.ml" +# 15956 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 168 "parser_cocci_menhir.mly" (Data.clt) -# 15948 "parser_cocci_menhir.ml" +# 15962 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 15953 "parser_cocci_menhir.ml" +# 15967 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -15958,11 +15972,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 15962 "parser_cocci_menhir.ml" +# 15976 "parser_cocci_menhir.ml" in -# 1221 "parser_cocci_menhir.mly" +# 1233 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -15970,7 +15984,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))] ) -# 15974 "parser_cocci_menhir.ml" +# 15988 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16036,34 +16050,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 16040 "parser_cocci_menhir.ml" +# 16054 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 16045 "parser_cocci_menhir.ml" +# 16059 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 16051 "parser_cocci_menhir.ml" +# 16065 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 16056 "parser_cocci_menhir.ml" +# 16070 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 168 "parser_cocci_menhir.mly" (Data.clt) -# 16062 "parser_cocci_menhir.ml" +# 16076 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 16067 "parser_cocci_menhir.ml" +# 16081 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -16074,11 +16088,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 16078 "parser_cocci_menhir.ml" +# 16092 "parser_cocci_menhir.ml" in -# 1221 "parser_cocci_menhir.mly" +# 1233 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -16086,7 +16100,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))] ) -# 16090 "parser_cocci_menhir.ml" +# 16104 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16127,27 +16141,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _5 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 16131 "parser_cocci_menhir.ml" +# 16145 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 16136 "parser_cocci_menhir.ml" +# 16150 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 16142 "parser_cocci_menhir.ml" +# 16156 "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 = -# 1229 "parser_cocci_menhir.mly" +# 1241 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3, P.clt2mcode ")" _4,P.clt2mcode ";" _5))] ) -# 16151 "parser_cocci_menhir.ml" +# 16165 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16218,40 +16232,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 16222 "parser_cocci_menhir.ml" +# 16236 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 16228 "parser_cocci_menhir.ml" +# 16242 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 16233 "parser_cocci_menhir.ml" +# 16247 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 16239 "parser_cocci_menhir.ml" +# 16253 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 16244 "parser_cocci_menhir.ml" +# 16258 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 168 "parser_cocci_menhir.mly" (Data.clt) -# 16250 "parser_cocci_menhir.ml" +# 16264 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 16255 "parser_cocci_menhir.ml" +# 16269 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -16260,11 +16274,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 16264 "parser_cocci_menhir.ml" +# 16278 "parser_cocci_menhir.ml" in -# 1235 "parser_cocci_menhir.mly" +# 1247 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -16272,7 +16286,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))]) -# 16276 "parser_cocci_menhir.ml" +# 16290 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16348,40 +16362,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 16352 "parser_cocci_menhir.ml" +# 16366 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 16358 "parser_cocci_menhir.ml" +# 16372 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 16363 "parser_cocci_menhir.ml" +# 16377 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 16369 "parser_cocci_menhir.ml" +# 16383 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 16374 "parser_cocci_menhir.ml" +# 16388 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 168 "parser_cocci_menhir.mly" (Data.clt) -# 16380 "parser_cocci_menhir.ml" +# 16394 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 16385 "parser_cocci_menhir.ml" +# 16399 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -16392,11 +16406,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 16396 "parser_cocci_menhir.ml" +# 16410 "parser_cocci_menhir.ml" in -# 1235 "parser_cocci_menhir.mly" +# 1247 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -16404,7 +16418,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))]) -# 16408 "parser_cocci_menhir.ml" +# 16422 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16440,25 +16454,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 16444 "parser_cocci_menhir.ml" +# 16458 "parser_cocci_menhir.ml" ) = Obj.magic pv in let id : 'tv_comma_list_typedef_ident_ = Obj.magic id in let t : 'tv_typedef_ctype = Obj.magic t in let s : ( # 119 "parser_cocci_menhir.mly" (Data.clt) -# 16451 "parser_cocci_menhir.ml" +# 16465 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_pv_ in let _v : 'tv_decl_var = -# 1243 "parser_cocci_menhir.mly" +# 1255 "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 ) -# 16462 "parser_cocci_menhir.ml" +# 16476 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16480,13 +16494,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_define_param_list_option = -# 978 "parser_cocci_menhir.mly" +# 990 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.DOTS (_1 (fun _ d -> Ast0.wrap(Ast0.DPdots(P.clt2mcode "," d))) (fun c -> Ast0.DPComma c))) ) -# 16490 "parser_cocci_menhir.ml" +# 16504 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16507,12 +16521,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 150 "parser_cocci_menhir.mly" (Data.clt * token) -# 16511 "parser_cocci_menhir.ml" +# 16525 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_defineop = -# 927 "parser_cocci_menhir.mly" +# 934 "parser_cocci_menhir.mly" ( let (clt,ident) = _1 in let aft = P.get_aft clt in (* move stuff after the define to the ident *) function body -> @@ -16527,13 +16541,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | TIdent((nm,clt)) -> let clt = P.set_aft aft clt in Ast0.wrap(Ast0.Id(P.clt2mcode nm clt)) + | TSymId(nm,clt) -> + let clt = P.set_aft aft clt in + Ast0.wrap(Ast0.Id(P.clt2mcode nm clt)) | _ -> raise (Semantic_cocci.Semantic "unexpected name for a #define")), Ast0.wrap Ast0.NoParams, body)) ) -# 16537 "parser_cocci_menhir.ml" +# 16554 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16564,18 +16581,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 16568 "parser_cocci_menhir.ml" +# 16585 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_define_param_list_option = Obj.magic _2 in let _1 : ( # 151 "parser_cocci_menhir.mly" (Data.clt * token * int * int) -# 16574 "parser_cocci_menhir.ml" +# 16591 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_defineop = -# 948 "parser_cocci_menhir.mly" +# 958 "parser_cocci_menhir.mly" ( let (clt,ident,parenoff,parencol) = _1 in let aft = P.get_aft clt in (* move stuff after the define to the ( *) (* clt is the start of the #define itself *) @@ -16593,13 +16610,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (Ast0.MetaId(P.clt2mcode nm clt,constraints,seed,pure)) | TIdent((nm,clt)) -> Ast0.wrap(Ast0.Id(P.clt2mcode nm clt)) + | TSymId(nm,clt) -> + Ast0.wrap(Ast0.Id(P.clt2mcode nm clt)) | _ -> raise (Semantic_cocci.Semantic "unexpected name for a #define")), (let clt = P.set_aft aft _3 in Ast0.wrap (Ast0.DParams (lp,_2,P.clt2mcode ")" clt))),body)) ) -# 16603 "parser_cocci_menhir.ml" +# 16622 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16617,13 +16636,149 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_pnrule = Obj.magic _1 in + let _1 : ( +# 112 "parser_cocci_menhir.mly" + (string) +# 16643 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dep = # 296 "parser_cocci_menhir.mly" - ( _1 ) -# 16627 "parser_cocci_menhir.ml" + ( Ast0.Dep _1 ) +# 16650 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : ( +# 112 "parser_cocci_menhir.mly" + (string) +# 16675 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_dep = +# 297 "parser_cocci_menhir.mly" + ( Ast0.AntiDep (Ast0.Dep _2) ) +# 16682 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let _3 : 'tv_dep = Obj.magic _3 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__4_ in + let _v : 'tv_dep = +# 299 "parser_cocci_menhir.mly" + ( Ast0.AntiDep _3 ) +# 16718 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : ( +# 112 "parser_cocci_menhir.mly" + (string) +# 16743 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_dep = +# 300 "parser_cocci_menhir.mly" + ( Ast0.EverDep _2 ) +# 16750 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : ( +# 112 "parser_cocci_menhir.mly" + (string) +# 16775 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_dep = +# 301 "parser_cocci_menhir.mly" + ( Ast0.NeverDep _2 ) +# 16782 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16655,9 +16810,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_dep = -# 297 "parser_cocci_menhir.mly" - ( Ast.AndDep(_1, _3) ) -# 16661 "parser_cocci_menhir.ml" +# 302 "parser_cocci_menhir.mly" + ( Ast0.AndDep(_1, _3) ) +# 16816 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16689,9 +16844,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_dep = -# 298 "parser_cocci_menhir.mly" - ( Ast.OrDep (_1, _3) ) -# 16695 "parser_cocci_menhir.ml" +# 303 "parser_cocci_menhir.mly" + ( Ast0.OrDep (_1, _3) ) +# 16850 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let _2 : 'tv_dep = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_dep = +# 304 "parser_cocci_menhir.mly" + ( _2 ) +# 16882 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16707,8 +16894,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _startpos in let _v : 'tv_depends = # 292 "parser_cocci_menhir.mly" - ( Ast.NoDep ) -# 16712 "parser_cocci_menhir.ml" + ( Ast0.NoDep ) +# 16899 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16740,7 +16927,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_depends = # 293 "parser_cocci_menhir.mly" ( parents ) -# 16744 "parser_cocci_menhir.ml" +# 16931 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16767,14 +16954,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 16771 "parser_cocci_menhir.ml" +# 16958 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_designator = -# 1352 "parser_cocci_menhir.mly" +# 1364 "parser_cocci_menhir.mly" ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) ) -# 16778 "parser_cocci_menhir.ml" +# 16965 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16805,20 +16992,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 171 "parser_cocci_menhir.mly" (Data.clt) -# 16809 "parser_cocci_menhir.ml" +# 16996 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 171 "parser_cocci_menhir.mly" (Data.clt) -# 16815 "parser_cocci_menhir.ml" +# 17002 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_designator = -# 1354 "parser_cocci_menhir.mly" +# 1366 "parser_cocci_menhir.mly" ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) ) -# 16822 "parser_cocci_menhir.ml" +# 17009 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16859,27 +17046,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _5 : ( # 171 "parser_cocci_menhir.mly" (Data.clt) -# 16863 "parser_cocci_menhir.ml" +# 17050 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : 'tv_eexpr = Obj.magic _4 in let _3 : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 16869 "parser_cocci_menhir.ml" +# 17056 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 171 "parser_cocci_menhir.mly" (Data.clt) -# 16875 "parser_cocci_menhir.ml" +# 17062 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_designator = -# 1356 "parser_cocci_menhir.mly" +# 1368 "parser_cocci_menhir.mly" ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3, _4,P.clt2mcode "]" _5) ) -# 16883 "parser_cocci_menhir.ml" +# 17070 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16901,9 +17088,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dexpr = -# 1435 "parser_cocci_menhir.mly" +# 1447 "parser_cocci_menhir.mly" ( _1 ) -# 16907 "parser_cocci_menhir.ml" +# 17094 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16929,9 +17116,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_disable = -# 311 "parser_cocci_menhir.mly" +# 310 "parser_cocci_menhir.mly" ( List.map P.id2name _2 ) -# 16935 "parser_cocci_menhir.ml" +# 17122 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16953,9 +17140,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_disj_ident = -# 1974 "parser_cocci_menhir.mly" +# 1997 "parser_cocci_menhir.mly" ( _1 ) -# 16959 "parser_cocci_menhir.ml" +# 17146 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16986,22 +17173,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 16990 "parser_cocci_menhir.ml" +# 17177 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_midzero_list_disj_ident_disj_ident_ = Obj.magic t in let lp : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 16996 "parser_cocci_menhir.ml" +# 17183 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_rp_ in let _v : 'tv_disj_ident = -# 1976 "parser_cocci_menhir.mly" +# 1999 "parser_cocci_menhir.mly" ( let (mids,code) = t in Ast0.wrap (Ast0.DisjId(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) ) -# 17005 "parser_cocci_menhir.ml" +# 17192 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17022,14 +17209,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 17026 "parser_cocci_menhir.ml" +# 17213 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dot_expressions = -# 1444 "parser_cocci_menhir.mly" +# 1456 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) ) -# 17033 "parser_cocci_menhir.ml" +# 17220 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17051,9 +17238,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dot_expressions = -# 1445 "parser_cocci_menhir.mly" +# 1457 "parser_cocci_menhir.mly" ( _1 ) -# 17057 "parser_cocci_menhir.ml" +# 17244 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17075,9 +17262,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dparam = -# 974 "parser_cocci_menhir.mly" +# 986 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DParam _1) ) -# 17081 "parser_cocci_menhir.ml" +# 17268 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17098,14 +17285,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 17102 "parser_cocci_menhir.ml" +# 17289 "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_ = -# 2296 "parser_cocci_menhir.mly" +# 2319 "parser_cocci_menhir.mly" ( (d,None) ) -# 17109 "parser_cocci_menhir.ml" +# 17296 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17144,14 +17331,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 17148 "parser_cocci_menhir.ml" +# 17335 "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_ = -# 2297 "parser_cocci_menhir.mly" +# 2320 "parser_cocci_menhir.mly" ( (d,Some w) ) -# 17155 "parser_cocci_menhir.ml" +# 17342 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17172,14 +17359,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 17176 "parser_cocci_menhir.ml" +# 17363 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ = -# 2296 "parser_cocci_menhir.mly" +# 2319 "parser_cocci_menhir.mly" ( (d,None) ) -# 17183 "parser_cocci_menhir.ml" +# 17370 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17218,14 +17405,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 17222 "parser_cocci_menhir.ml" +# 17409 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos__5_ in let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ = -# 2297 "parser_cocci_menhir.mly" +# 2320 "parser_cocci_menhir.mly" ( (d,Some w) ) -# 17229 "parser_cocci_menhir.ml" +# 17416 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17246,14 +17433,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 17250 "parser_cocci_menhir.ml" +# 17437 "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_ = -# 2296 "parser_cocci_menhir.mly" +# 2319 "parser_cocci_menhir.mly" ( (d,None) ) -# 17257 "parser_cocci_menhir.ml" +# 17444 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17292,14 +17479,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 17296 "parser_cocci_menhir.ml" +# 17483 "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_ = -# 2297 "parser_cocci_menhir.mly" +# 2320 "parser_cocci_menhir.mly" ( (d,Some w) ) -# 17303 "parser_cocci_menhir.ml" +# 17490 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17320,14 +17507,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 17324 "parser_cocci_menhir.ml" +# 17511 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : 'tv_edots_when_TEllipsis_struct_decl_one_ = -# 2296 "parser_cocci_menhir.mly" +# 2319 "parser_cocci_menhir.mly" ( (d,None) ) -# 17331 "parser_cocci_menhir.ml" +# 17518 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17366,14 +17553,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 17370 "parser_cocci_menhir.ml" +# 17557 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos__5_ in let _v : 'tv_edots_when_TEllipsis_struct_decl_one_ = -# 2297 "parser_cocci_menhir.mly" +# 2320 "parser_cocci_menhir.mly" ( (d,Some w) ) -# 17377 "parser_cocci_menhir.ml" +# 17564 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17395,9 +17582,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_eexpr = -# 1433 "parser_cocci_menhir.mly" +# 1445 "parser_cocci_menhir.mly" ( _1 ) -# 17401 "parser_cocci_menhir.ml" +# 17588 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17419,13 +17606,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_eexpr_list_option = -# 2276 "parser_cocci_menhir.mly" +# 2299 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.DOTS (_1 (fun _ d -> Ast0.wrap(Ast0.Edots(P.clt2mcode "..." d,None))) (fun c -> Ast0.EComma c))) ) -# 17429 "parser_cocci_menhir.ml" +# 17616 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17440,9 +17627,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_empty_list_start_aexpr_TEllipsis_ = -# 2038 "parser_cocci_menhir.mly" +# 2061 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [] ) -# 17446 "parser_cocci_menhir.ml" +# 17633 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17464,9 +17651,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_empty_list_start_aexpr_TEllipsis_ = -# 2039 "parser_cocci_menhir.mly" +# 2062 "parser_cocci_menhir.mly" ( _1 ) -# 17470 "parser_cocci_menhir.ml" +# 17657 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17481,9 +17668,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_empty_list_start_dparam_TEllipsis_ = -# 2038 "parser_cocci_menhir.mly" +# 2061 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [] ) -# 17487 "parser_cocci_menhir.ml" +# 17674 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17505,9 +17692,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_empty_list_start_dparam_TEllipsis_ = -# 2039 "parser_cocci_menhir.mly" +# 2062 "parser_cocci_menhir.mly" ( _1 ) -# 17511 "parser_cocci_menhir.ml" +# 17698 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17522,9 +17709,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_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 2038 "parser_cocci_menhir.mly" +# 2061 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [] ) -# 17528 "parser_cocci_menhir.ml" +# 17715 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17546,9 +17733,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 2039 "parser_cocci_menhir.mly" +# 2062 "parser_cocci_menhir.mly" ( _1 ) -# 17552 "parser_cocci_menhir.ml" +# 17739 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17563,9 +17750,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_empty_list_start_one_dec_decl__TEllipsis_ = -# 2038 "parser_cocci_menhir.mly" +# 2061 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [] ) -# 17569 "parser_cocci_menhir.ml" +# 17756 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17587,9 +17774,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_empty_list_start_one_dec_decl__TEllipsis_ = -# 2039 "parser_cocci_menhir.mly" +# 2062 "parser_cocci_menhir.mly" ( _1 ) -# 17593 "parser_cocci_menhir.ml" +# 17780 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17604,9 +17791,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_empty_list_start_one_dec_name_opt_decl__TEllipsis_ = -# 2038 "parser_cocci_menhir.mly" +# 2061 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [] ) -# 17610 "parser_cocci_menhir.ml" +# 17797 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17628,9 +17815,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ = -# 2039 "parser_cocci_menhir.mly" +# 2062 "parser_cocci_menhir.mly" ( _1 ) -# 17634 "parser_cocci_menhir.ml" +# 17821 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17652,9 +17839,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_decl_list = -# 828 "parser_cocci_menhir.mly" +# 832 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1 P.mkedots (fun c -> Ast0.EComma c))) ) -# 17658 "parser_cocci_menhir.ml" +# 17845 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17676,9 +17863,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_decl_one = -# 799 "parser_cocci_menhir.mly" +# 803 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 17682 "parser_cocci_menhir.ml" +# 17869 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17710,19 +17897,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 17714 "parser_cocci_menhir.ml" +# 17901 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_disj_ident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_enum_decl_one = -# 801 "parser_cocci_menhir.mly" +# 805 "parser_cocci_menhir.mly" ( let id = Ast0.wrap(Ast0.Ident(_1)) in Ast0.wrap (Ast0.Assignment (id,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3, false)) ) -# 17726 "parser_cocci_menhir.ml" +# 17913 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17744,9 +17931,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_val = -# 808 "parser_cocci_menhir.mly" +# 812 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 17750 "parser_cocci_menhir.ml" +# 17937 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17767,15 +17954,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 17771 "parser_cocci_menhir.ml" +# 17958 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_val = -# 810 "parser_cocci_menhir.mly" +# 814 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 17779 "parser_cocci_menhir.ml" +# 17966 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17796,14 +17983,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 133 "parser_cocci_menhir.mly" (Parse_aux.info) -# 17800 "parser_cocci_menhir.ml" +# 17987 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_val = -# 812 "parser_cocci_menhir.mly" +# 816 "parser_cocci_menhir.mly" ( tmeta_to_exp _1 ) -# 17807 "parser_cocci_menhir.ml" +# 17994 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17824,16 +18011,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 136 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 17828 "parser_cocci_menhir.ml" +# 18015 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_val = -# 814 "parser_cocci_menhir.mly" +# 818 "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)) ) -# 17837 "parser_cocci_menhir.ml" +# 18024 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17854,16 +18041,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 136 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 17858 "parser_cocci_menhir.ml" +# 18045 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_val = -# 818 "parser_cocci_menhir.mly" +# 822 "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)) ) -# 17867 "parser_cocci_menhir.ml" +# 18054 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17884,16 +18071,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 136 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 17888 "parser_cocci_menhir.ml" +# 18075 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_val = -# 822 "parser_cocci_menhir.mly" +# 826 "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)) ) -# 17897 "parser_cocci_menhir.ml" +# 18084 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17913,9 +18100,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_exists = -# 314 "parser_cocci_menhir.mly" +# 313 "parser_cocci_menhir.mly" ( Ast.Exists ) -# 17919 "parser_cocci_menhir.ml" +# 18106 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17935,9 +18122,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_exists = -# 315 "parser_cocci_menhir.mly" +# 314 "parser_cocci_menhir.mly" ( Ast.Forall ) -# 17941 "parser_cocci_menhir.ml" +# 18128 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17952,9 +18139,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_exists = -# 316 "parser_cocci_menhir.mly" +# 315 "parser_cocci_menhir.mly" ( Ast.Undetermined ) -# 17958 "parser_cocci_menhir.ml" +# 18145 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17976,9 +18163,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_expr = -# 1431 "parser_cocci_menhir.mly" +# 1443 "parser_cocci_menhir.mly" ( _1 ) -# 17982 "parser_cocci_menhir.ml" +# 18169 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18000,9 +18187,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_r_ in let _endpos = _endpos_r_ in let _v : 'tv_expr_dots_TEllipsis_ = -# 1685 "parser_cocci_menhir.mly" +# 1697 "parser_cocci_menhir.mly" ( r ) -# 18006 "parser_cocci_menhir.ml" +# 18193 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18024,9 +18211,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos_m_ in let _v : 'tv_expression_type = -# 570 "parser_cocci_menhir.mly" +# 574 "parser_cocci_menhir.mly" ( P.ty_pointerify Type_cocci.Unknown m ) -# 18030 "parser_cocci_menhir.ml" +# 18217 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18052,9 +18239,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_m_ in let _v : 'tv_expression_type = -# 572 "parser_cocci_menhir.mly" +# 576 "parser_cocci_menhir.mly" ( P.ty_pointerify (Type_cocci.EnumName Type_cocci.NoName) m ) -# 18058 "parser_cocci_menhir.ml" +# 18245 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18080,10 +18267,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_m_ in let _v : 'tv_expression_type = -# 574 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( P.ty_pointerify (Type_cocci.StructUnionName (Type_cocci.Struct,Type_cocci.NoName)) m ) -# 18087 "parser_cocci_menhir.ml" +# 18274 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18109,10 +18296,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_m_ in let _v : 'tv_expression_type = -# 577 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( P.ty_pointerify (Type_cocci.StructUnionName (Type_cocci.Union,Type_cocci.NoName)) m ) -# 18116 "parser_cocci_menhir.ml" +# 18303 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18129,7 +18316,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_extends = # 287 "parser_cocci_menhir.mly" ( () ) -# 18133 "parser_cocci_menhir.ml" +# 18320 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18154,14 +18341,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let parent : ( # 112 "parser_cocci_menhir.mly" (string) -# 18158 "parser_cocci_menhir.ml" +# 18345 "parser_cocci_menhir.ml" ) = Obj.magic parent in let _startpos = _startpos__1_ in let _endpos = _endpos_parent_ in let _v : 'tv_extends = # 289 "parser_cocci_menhir.mly" ( !Data.install_bindings (parent) ) -# 18165 "parser_cocci_menhir.ml" +# 18352 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18187,21 +18374,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 152 "parser_cocci_menhir.mly" (string * Data.clt) -# 18191 "parser_cocci_menhir.ml" +# 18378 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 152 "parser_cocci_menhir.mly" (string * Data.clt) -# 18196 "parser_cocci_menhir.ml" +# 18383 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_filespec = -# 865 "parser_cocci_menhir.mly" +# 869 "parser_cocci_menhir.mly" ( [Ast0.wrap (Ast0.FILEINFO(P.id2mcode _1, P.id2mcode _2))] ) -# 18205 "parser_cocci_menhir.ml" +# 18392 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18223,9 +18410,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_fn_ident = -# 1951 "parser_cocci_menhir.mly" +# 1972 "parser_cocci_menhir.mly" ( _1 ) -# 18229 "parser_cocci_menhir.ml" +# 18416 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18246,15 +18433,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 129 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 18250 "parser_cocci_menhir.ml" +# 18437 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_fn_ident = -# 1953 "parser_cocci_menhir.mly" +# 1974 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) ) -# 18258 "parser_cocci_menhir.ml" +# 18445 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18275,16 +18462,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 129 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 18279 "parser_cocci_menhir.ml" +# 18466 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_fn_ident = -# 1956 "parser_cocci_menhir.mly" +# 1977 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) ) -# 18288 "parser_cocci_menhir.ml" +# 18475 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18299,9 +18486,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 = -# 1010 "parser_cocci_menhir.mly" +# 1022 "parser_cocci_menhir.mly" ( [] ) -# 18305 "parser_cocci_menhir.ml" +# 18492 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18329,13 +18516,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo = -# 1012 "parser_cocci_menhir.mly" +# 1024 "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 ) -# 18339 "parser_cocci_menhir.ml" +# 18526 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18363,9 +18550,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_r_ in let _v : 'tv_fninfo = -# 1017 "parser_cocci_menhir.mly" +# 1029 "parser_cocci_menhir.mly" ( (Ast0.FType(t))::r ) -# 18369 "parser_cocci_menhir.ml" +# 18556 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18392,17 +18579,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 119 "parser_cocci_menhir.mly" (Data.clt) -# 18396 "parser_cocci_menhir.ml" +# 18583 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo = -# 1019 "parser_cocci_menhir.mly" +# 1031 "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 ) -# 18406 "parser_cocci_menhir.ml" +# 18593 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18429,17 +18616,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 121 "parser_cocci_menhir.mly" (string * Data.clt) -# 18433 "parser_cocci_menhir.ml" +# 18620 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo = -# 1024 "parser_cocci_menhir.mly" +# 1036 "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 ) -# 18443 "parser_cocci_menhir.ml" +# 18630 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18454,9 +18641,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 = -# 1030 "parser_cocci_menhir.mly" +# 1042 "parser_cocci_menhir.mly" ( [] ) -# 18460 "parser_cocci_menhir.ml" +# 18647 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18484,13 +18671,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo_nt = -# 1032 "parser_cocci_menhir.mly" +# 1044 "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 ) -# 18494 "parser_cocci_menhir.ml" +# 18681 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18517,17 +18704,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 119 "parser_cocci_menhir.mly" (Data.clt) -# 18521 "parser_cocci_menhir.ml" +# 18708 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo_nt = -# 1038 "parser_cocci_menhir.mly" +# 1050 "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 ) -# 18531 "parser_cocci_menhir.ml" +# 18718 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18554,17 +18741,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 121 "parser_cocci_menhir.mly" (string * Data.clt) -# 18558 "parser_cocci_menhir.ml" +# 18745 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo_nt = -# 1043 "parser_cocci_menhir.mly" +# 1055 "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 ) -# 18568 "parser_cocci_menhir.ml" +# 18755 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18579,9 +18766,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 = -# 2209 "parser_cocci_menhir.mly" +# 2232 "parser_cocci_menhir.mly" ([]) -# 18585 "parser_cocci_menhir.ml" +# 18772 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18607,9 +18794,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots = -# 2210 "parser_cocci_menhir.mly" +# 2233 "parser_cocci_menhir.mly" (_2) -# 18613 "parser_cocci_menhir.ml" +# 18800 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18637,9 +18824,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots = -# 2211 "parser_cocci_menhir.mly" +# 2234 "parser_cocci_menhir.mly" (Ast0.wrap(Ast0.Exp(_1))::_2) -# 18643 "parser_cocci_menhir.ml" +# 18830 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18667,9 +18854,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots = -# 2212 "parser_cocci_menhir.mly" +# 2235 "parser_cocci_menhir.mly" (_1@_2) -# 18673 "parser_cocci_menhir.ml" +# 18860 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18684,9 +18871,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 = -# 2219 "parser_cocci_menhir.mly" +# 2242 "parser_cocci_menhir.mly" ([]) -# 18690 "parser_cocci_menhir.ml" +# 18877 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18712,9 +18899,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots_or = -# 2220 "parser_cocci_menhir.mly" +# 2243 "parser_cocci_menhir.mly" (_2) -# 18718 "parser_cocci_menhir.ml" +# 18905 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18742,9 +18929,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots_or = -# 2221 "parser_cocci_menhir.mly" +# 2244 "parser_cocci_menhir.mly" (Ast0.wrap(Ast0.Exp(_1))::_2) -# 18748 "parser_cocci_menhir.ml" +# 18935 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18772,9 +18959,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots_or = -# 2222 "parser_cocci_menhir.mly" +# 2245 "parser_cocci_menhir.mly" (_1@_2) -# 18778 "parser_cocci_menhir.ml" +# 18965 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18802,9 +18989,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_exp = -# 2215 "parser_cocci_menhir.mly" +# 2238 "parser_cocci_menhir.mly" (_1::_2) -# 18808 "parser_cocci_menhir.ml" +# 18995 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18819,9 +19006,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 = -# 2225 "parser_cocci_menhir.mly" +# 2248 "parser_cocci_menhir.mly" ([]) -# 18825 "parser_cocci_menhir.ml" +# 19012 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18849,9 +19036,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_exp_or = -# 2226 "parser_cocci_menhir.mly" +# 2249 "parser_cocci_menhir.mly" (_1::_2) -# 18855 "parser_cocci_menhir.ml" +# 19042 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18866,9 +19053,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 = -# 2204 "parser_cocci_menhir.mly" +# 2227 "parser_cocci_menhir.mly" ([]) -# 18872 "parser_cocci_menhir.ml" +# 19059 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18896,9 +19083,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_stm = -# 2205 "parser_cocci_menhir.mly" +# 2228 "parser_cocci_menhir.mly" (_1::_2) -# 18902 "parser_cocci_menhir.ml" +# 19089 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18926,9 +19113,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_stm = -# 2206 "parser_cocci_menhir.mly" +# 2229 "parser_cocci_menhir.mly" (_1@_2) -# 18932 "parser_cocci_menhir.ml" +# 19119 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18950,9 +19137,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_fun_start = -# 2201 "parser_cocci_menhir.mly" +# 2224 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) -# 18956 "parser_cocci_menhir.ml" +# 19143 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18974,9 +19161,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1942 "parser_cocci_menhir.mly" +# 1963 "parser_cocci_menhir.mly" ( _1 ) -# 18980 "parser_cocci_menhir.ml" +# 19167 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18997,15 +19184,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 129 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 19001 "parser_cocci_menhir.ml" +# 19188 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1944 "parser_cocci_menhir.mly" +# 1965 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) ) -# 19009 "parser_cocci_menhir.ml" +# 19196 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19026,16 +19213,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 129 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 19030 "parser_cocci_menhir.ml" +# 19217 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1947 "parser_cocci_menhir.mly" +# 1968 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) ) -# 19039 "parser_cocci_menhir.ml" +# 19226 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19095,31 +19282,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rb : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 19099 "parser_cocci_menhir.ml" +# 19286 "parser_cocci_menhir.ml" ) = Obj.magic rb in let b : 'tv_fun_start = Obj.magic b in let lb : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 19105 "parser_cocci_menhir.ml" +# 19292 "parser_cocci_menhir.ml" ) = Obj.magic lb in let rp : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 19110 "parser_cocci_menhir.ml" +# 19297 "parser_cocci_menhir.ml" ) = Obj.magic rp in let d : 'tv_decl_list_decl_ = Obj.magic d in let lp : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 19116 "parser_cocci_menhir.ml" +# 19303 "parser_cocci_menhir.ml" ) = Obj.magic lp in let i : 'tv_fn_ident = Obj.magic i in let f : 'tv_fninfo = Obj.magic f in let _startpos = _startpos_f_ in let _endpos = _endpos_rb_ in let _v : 'tv_fundecl = -# 1001 "parser_cocci_menhir.mly" +# 1013 "parser_cocci_menhir.mly" ( P.verify_parameter_declarations (Ast0.undots d); Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()), f, i, @@ -19127,7 +19314,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.clt2mcode ")" rp, P.clt2mcode "{" lb, b, P.clt2mcode "}" rb)) ) -# 19131 "parser_cocci_menhir.ml" +# 19318 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19173,18 +19360,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pt : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 19177 "parser_cocci_menhir.ml" +# 19364 "parser_cocci_menhir.ml" ) = Obj.magic pt in let rp : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 19182 "parser_cocci_menhir.ml" +# 19369 "parser_cocci_menhir.ml" ) = Obj.magic rp in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 19188 "parser_cocci_menhir.ml" +# 19375 "parser_cocci_menhir.ml" ) = Obj.magic lp in let id : 'tv_fn_ident = Obj.magic id in let t : 'tv_ctype = Obj.magic t in @@ -19194,11 +19381,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 19198 "parser_cocci_menhir.ml" +# 19385 "parser_cocci_menhir.ml" in -# 989 "parser_cocci_menhir.mly" +# 1001 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.UnInit (s, @@ -19206,7 +19393,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (Ast0.FunctionType(Some t, P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)), id, P.clt2mcode ";" pt)) ) -# 19210 "parser_cocci_menhir.ml" +# 19397 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19257,18 +19444,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pt : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 19261 "parser_cocci_menhir.ml" +# 19448 "parser_cocci_menhir.ml" ) = Obj.magic pt in let rp : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 19266 "parser_cocci_menhir.ml" +# 19453 "parser_cocci_menhir.ml" ) = Obj.magic rp in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 19272 "parser_cocci_menhir.ml" +# 19459 "parser_cocci_menhir.ml" ) = Obj.magic lp in let id : 'tv_fn_ident = Obj.magic id in let t : 'tv_ctype = Obj.magic t in @@ -19280,11 +19467,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 19284 "parser_cocci_menhir.ml" +# 19471 "parser_cocci_menhir.ml" in -# 989 "parser_cocci_menhir.mly" +# 1001 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.UnInit (s, @@ -19292,7 +19479,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (Ast0.FunctionType(Some t, P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)), id, P.clt2mcode ";" pt)) ) -# 19296 "parser_cocci_menhir.ml" +# 19483 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19314,9 +19501,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_ident = -# 1961 "parser_cocci_menhir.mly" +# 1982 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 19320 "parser_cocci_menhir.ml" +# 19507 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_wrapped_sym_ident = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_ident = +# 1983 "parser_cocci_menhir.mly" + ( _1 ) +# 19531 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19337,15 +19548,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 128 "parser_cocci_menhir.mly" (Parse_aux.midinfo) -# 19341 "parser_cocci_menhir.ml" +# 19552 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_ident = -# 1963 "parser_cocci_menhir.mly" +# 1985 "parser_cocci_menhir.mly" ( let (nm,constraints,seed,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,seed,pure)) ) -# 19349 "parser_cocci_menhir.ml" +# 19560 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19367,9 +19578,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_i_ in let _v : 'tv_ident_or_const = -# 1915 "parser_cocci_menhir.mly" +# 1935 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) ) -# 19373 "parser_cocci_menhir.ml" +# 19584 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_wrapped_sym_ident = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_ident_or_const = +# 1936 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Ident(_1)) ) +# 19608 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19390,15 +19625,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 19394 "parser_cocci_menhir.ml" +# 19629 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_ident_or_const = -# 1917 "parser_cocci_menhir.mly" +# 1938 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 19402 "parser_cocci_menhir.ml" +# 19637 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19419,14 +19654,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 149 "parser_cocci_menhir.mly" (string * Data.clt) -# 19423 "parser_cocci_menhir.ml" +# 19658 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_incl = -# 327 "parser_cocci_menhir.mly" +# 326 "parser_cocci_menhir.mly" ( let (x,_) = _1 in Data.Include(x) ) -# 19430 "parser_cocci_menhir.ml" +# 19665 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19451,14 +19686,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 19455 "parser_cocci_menhir.ml" +# 19690 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_incl = -# 328 "parser_cocci_menhir.mly" +# 327 "parser_cocci_menhir.mly" ( Data.Iso(Common.Left(P.id2name _2)) ) -# 19462 "parser_cocci_menhir.ml" +# 19697 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19483,14 +19718,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 148 "parser_cocci_menhir.mly" (string) -# 19487 "parser_cocci_menhir.ml" +# 19722 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_incl = -# 329 "parser_cocci_menhir.mly" +# 328 "parser_cocci_menhir.mly" ( Data.Iso(Common.Right _2) ) -# 19494 "parser_cocci_menhir.ml" +# 19729 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19516,7 +19751,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_incl = -# 331 "parser_cocci_menhir.mly" +# 330 "parser_cocci_menhir.mly" ( let names = List.map P.id2name _2 in Iteration.parsed_virtual_rules := Common.union_set names !Iteration.parsed_virtual_rules; @@ -19525,7 +19760,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (function name -> Hashtbl.add Data.all_metadecls name []) names; Data.Virt(names) ) -# 19529 "parser_cocci_menhir.ml" +# 19764 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19553,11 +19788,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 217 "parser_cocci_menhir.mly" (Data.incl_iso list) -# 19557 "parser_cocci_menhir.ml" +# 19792 "parser_cocci_menhir.ml" ) = -# 323 "parser_cocci_menhir.mly" +# 322 "parser_cocci_menhir.mly" ( _1 ) -# 19561 "parser_cocci_menhir.ml" +# 19796 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19585,11 +19820,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 217 "parser_cocci_menhir.mly" (Data.incl_iso list) -# 19589 "parser_cocci_menhir.ml" +# 19824 "parser_cocci_menhir.ml" ) = -# 324 "parser_cocci_menhir.mly" +# 323 "parser_cocci_menhir.mly" ( _1 ) -# 19593 "parser_cocci_menhir.ml" +# 19828 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19610,12 +19845,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 149 "parser_cocci_menhir.mly" (string * Data.clt) -# 19614 "parser_cocci_menhir.ml" +# 19849 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_includes = -# 871 "parser_cocci_menhir.mly" +# 875 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Include(P.clt2mcode "#include" (P.drop_pos (P.drop_aft (P.id2clt _1))), @@ -19626,7 +19861,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.clt2mcode (Ast.Local (Parse_aux.str2inc (P.id2name _1))) (P.drop_bef clt))) ) -# 19630 "parser_cocci_menhir.ml" +# 19865 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19647,12 +19882,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 149 "parser_cocci_menhir.mly" (string * Data.clt) -# 19651 "parser_cocci_menhir.ml" +# 19886 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_includes = -# 882 "parser_cocci_menhir.mly" +# 886 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Include(P.clt2mcode "#include" (P.drop_pos (P.drop_aft (P.id2clt _1))), @@ -19663,7 +19898,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.clt2mcode (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1))) (P.drop_bef clt))) ) -# 19667 "parser_cocci_menhir.ml" +# 19902 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19688,12 +19923,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 150 "parser_cocci_menhir.mly" (Data.clt * token) -# 19692 "parser_cocci_menhir.ml" +# 19927 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_includes = -# 893 "parser_cocci_menhir.mly" +# 897 "parser_cocci_menhir.mly" ( let (clt,ident) = _1 in let aft = P.get_aft clt in (* move stuff after the define to the ident *) Ast0.wrap @@ -19706,11 +19941,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | TIdent((nm,clt)) -> let clt = P.set_aft aft clt in Ast0.wrap(Ast0.Id(P.clt2mcode nm clt)) + | TSymId(nm,clt) -> + let clt = P.set_aft aft clt in + Ast0.wrap(Ast0.Id(P.clt2mcode nm clt)) | _ -> raise (Semantic_cocci.Semantic "unexpected name for a #define")))) ) -# 19714 "parser_cocci_menhir.ml" +# 19952 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19736,9 +19974,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos__2_ in let _v : 'tv_includes = -# 910 "parser_cocci_menhir.mly" +# 917 "parser_cocci_menhir.mly" ( d (Ast0.wrap(Ast0.DOTS([]))) ) -# 19742 "parser_cocci_menhir.ml" +# 19980 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19770,10 +20008,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos__3_ in let _v : 'tv_includes = -# 912 "parser_cocci_menhir.mly" +# 919 "parser_cocci_menhir.mly" ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in d (Ast0.wrap(Ast0.DOTS([ty]))) ) -# 19777 "parser_cocci_menhir.ml" +# 20015 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19805,7 +20043,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_includes = -# 915 "parser_cocci_menhir.mly" +# 922 "parser_cocci_menhir.mly" ( let body = match b with [e] -> @@ -19815,7 +20053,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | _ -> b) | _ -> b in _1 (Ast0.wrap(Ast0.DOTS(body))) ) -# 19819 "parser_cocci_menhir.ml" +# 20057 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19837,9 +20075,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize = -# 1309 "parser_cocci_menhir.mly" +# 1321 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitExpr(_1)) ) -# 19843 "parser_cocci_menhir.ml" +# 20081 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19870,25 +20108,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 19874 "parser_cocci_menhir.ml" +# 20112 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_initialize_list = Obj.magic _2 in let _1 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 19880 "parser_cocci_menhir.ml" +# 20118 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize = -# 1311 "parser_cocci_menhir.mly" +# 1323 "parser_cocci_menhir.mly" ( if P.struct_initializer _2 then let il = P.drop_dot_commas _2 in Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false)) else Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) ) -# 19892 "parser_cocci_menhir.ml" +# 20130 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19909,15 +20147,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 133 "parser_cocci_menhir.mly" (Parse_aux.info) -# 19913 "parser_cocci_menhir.ml" +# 20151 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize = -# 1318 "parser_cocci_menhir.mly" +# 1330 "parser_cocci_menhir.mly" (let (nm,pure,clt) = _1 in Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) ) -# 19921 "parser_cocci_menhir.ml" +# 20159 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19939,9 +20177,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize2 = -# 1324 "parser_cocci_menhir.mly" +# 1336 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitExpr(_1)) ) -# 19945 "parser_cocci_menhir.ml" +# 20183 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19972,25 +20210,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 19976 "parser_cocci_menhir.ml" +# 20214 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_initialize_list = Obj.magic _2 in let _1 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 19982 "parser_cocci_menhir.ml" +# 20220 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize2 = -# 1326 "parser_cocci_menhir.mly" +# 1338 "parser_cocci_menhir.mly" ( if P.struct_initializer _2 then let il = P.drop_dot_commas _2 in Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false)) else Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) ) -# 19994 "parser_cocci_menhir.ml" +# 20232 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20022,15 +20260,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 20026 "parser_cocci_menhir.ml" +# 20264 "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 = -# 1334 "parser_cocci_menhir.mly" +# 1346 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) ) -# 20034 "parser_cocci_menhir.ml" +# 20272 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20062,15 +20300,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 20066 "parser_cocci_menhir.ml" +# 20304 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_mident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize2 = -# 1336 "parser_cocci_menhir.mly" +# 1348 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) ) -# 20074 "parser_cocci_menhir.ml" +# 20312 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20091,15 +20329,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 133 "parser_cocci_menhir.mly" (Parse_aux.info) -# 20095 "parser_cocci_menhir.ml" +# 20333 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize2 = -# 1338 "parser_cocci_menhir.mly" +# 1350 "parser_cocci_menhir.mly" (let (nm,pure,clt) = _1 in Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) ) -# 20103 "parser_cocci_menhir.ml" +# 20341 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20120,12 +20358,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 134 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 20124 "parser_cocci_menhir.ml" +# 20362 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize2 = -# 1341 "parser_cocci_menhir.mly" +# 1353 "parser_cocci_menhir.mly" (let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in let lenname = @@ -20134,7 +20372,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.MetaInitList(nm,lenname,pure)) ) -# 20138 "parser_cocci_menhir.ml" +# 20376 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20156,9 +20394,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize_list = -# 1361 "parser_cocci_menhir.mly" +# 1373 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1 P.mkidots (fun c -> Ast0.IComma c))) ) -# 20162 "parser_cocci_menhir.ml" +# 20400 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20178,9 +20416,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_invalid = -# 1441 "parser_cocci_menhir.mly" +# 1453 "parser_cocci_menhir.mly" ( raise (Semantic_cocci.Semantic "not matchable") ) -# 20184 "parser_cocci_menhir.ml" +# 20422 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20195,9 +20433,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_is_expression = -# 319 "parser_cocci_menhir.mly" +# 318 "parser_cocci_menhir.mly" ( false ) -# 20201 "parser_cocci_menhir.ml" +# 20439 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20217,9 +20455,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_is_expression = -# 320 "parser_cocci_menhir.mly" +# 319 "parser_cocci_menhir.mly" ( true ) -# 20223 "parser_cocci_menhir.ml" +# 20461 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20245,9 +20483,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_ctype_ = -# 2352 "parser_cocci_menhir.mly" +# 2375 "parser_cocci_menhir.mly" ( Common.Left t ) -# 20251 "parser_cocci_menhir.ml" +# 20489 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20273,9 +20511,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_ctype_ = -# 2353 "parser_cocci_menhir.mly" +# 2376 "parser_cocci_menhir.mly" ( Common.Right t ) -# 20279 "parser_cocci_menhir.ml" +# 20517 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20301,9 +20539,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_decl_var_ = -# 2352 "parser_cocci_menhir.mly" +# 2375 "parser_cocci_menhir.mly" ( Common.Left t ) -# 20307 "parser_cocci_menhir.ml" +# 20545 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20329,9 +20567,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_decl_var_ = -# 2353 "parser_cocci_menhir.mly" +# 2376 "parser_cocci_menhir.mly" ( Common.Right t ) -# 20335 "parser_cocci_menhir.ml" +# 20573 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20357,9 +20595,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_eexpr_ = -# 2352 "parser_cocci_menhir.mly" +# 2375 "parser_cocci_menhir.mly" ( Common.Left t ) -# 20363 "parser_cocci_menhir.ml" +# 20601 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20385,9 +20623,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_eexpr_ = -# 2353 "parser_cocci_menhir.mly" +# 2376 "parser_cocci_menhir.mly" ( Common.Right t ) -# 20391 "parser_cocci_menhir.ml" +# 20629 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20413,9 +20651,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_nest_start_ = -# 2352 "parser_cocci_menhir.mly" +# 2375 "parser_cocci_menhir.mly" ( Common.Left t ) -# 20419 "parser_cocci_menhir.ml" +# 20657 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20441,9 +20679,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_nest_start_ = -# 2353 "parser_cocci_menhir.mly" +# 2376 "parser_cocci_menhir.mly" ( Common.Right t ) -# 20447 "parser_cocci_menhir.ml" +# 20685 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20469,9 +20707,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_single_statement_ = -# 2352 "parser_cocci_menhir.mly" +# 2375 "parser_cocci_menhir.mly" ( Common.Left t ) -# 20475 "parser_cocci_menhir.ml" +# 20713 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20497,9 +20735,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_single_statement_ = -# 2353 "parser_cocci_menhir.mly" +# 2376 "parser_cocci_menhir.mly" ( Common.Right t ) -# 20503 "parser_cocci_menhir.ml" +# 20741 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20537,11 +20775,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 233 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 20541 "parser_cocci_menhir.ml" +# 20779 "parser_cocci_menhir.ml" ) = -# 2320 "parser_cocci_menhir.mly" +# 2343 "parser_cocci_menhir.mly" ( let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el ) -# 20545 "parser_cocci_menhir.ml" +# 20783 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20579,11 +20817,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 233 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 20583 "parser_cocci_menhir.ml" +# 20821 "parser_cocci_menhir.ml" ) = -# 2322 "parser_cocci_menhir.mly" +# 2345 "parser_cocci_menhir.mly" ( let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el ) -# 20587 "parser_cocci_menhir.ml" +# 20825 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20621,11 +20859,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 233 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 20625 "parser_cocci_menhir.ml" +# 20863 "parser_cocci_menhir.ml" ) = -# 2324 "parser_cocci_menhir.mly" +# 2347 "parser_cocci_menhir.mly" ( let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el ) -# 20629 "parser_cocci_menhir.ml" +# 20867 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20663,13 +20901,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 233 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 20667 "parser_cocci_menhir.ml" +# 20905 "parser_cocci_menhir.ml" ) = -# 2326 "parser_cocci_menhir.mly" +# 2349 "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 ) -# 20673 "parser_cocci_menhir.ml" +# 20911 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20707,11 +20945,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 233 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 20711 "parser_cocci_menhir.ml" +# 20949 "parser_cocci_menhir.ml" ) = -# 2330 "parser_cocci_menhir.mly" +# 2353 "parser_cocci_menhir.mly" ( let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl ) -# 20715 "parser_cocci_menhir.ml" +# 20953 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20749,11 +20987,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 233 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 20753 "parser_cocci_menhir.ml" +# 20991 "parser_cocci_menhir.ml" ) = -# 2332 "parser_cocci_menhir.mly" +# 2355 "parser_cocci_menhir.mly" ( let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl ) -# 20757 "parser_cocci_menhir.ml" +# 20995 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20791,11 +21029,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 233 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 20795 "parser_cocci_menhir.ml" +# 21033 "parser_cocci_menhir.ml" ) = -# 2334 "parser_cocci_menhir.mly" +# 2357 "parser_cocci_menhir.mly" ( let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el ) -# 20799 "parser_cocci_menhir.ml" +# 21037 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20833,9 +21071,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 233 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 20837 "parser_cocci_menhir.ml" +# 21075 "parser_cocci_menhir.ml" ) = -# 2336 "parser_cocci_menhir.mly" +# 2359 "parser_cocci_menhir.mly" ( let check_one = function [x] -> x | _ -> @@ -20850,7 +21088,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 ) -# 20854 "parser_cocci_menhir.ml" +# 21092 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20874,11 +21112,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 236 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 20878 "parser_cocci_menhir.ml" +# 21116 "parser_cocci_menhir.ml" ) = # 253 "parser_cocci_menhir.mly" ( m "" ) -# 20882 "parser_cocci_menhir.ml" +# 21120 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20906,11 +21144,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 220 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 20910 "parser_cocci_menhir.ml" +# 21148 "parser_cocci_menhir.ml" ) = # 268 "parser_cocci_menhir.mly" ( P.make_iso_rule_name_result (P.id2name nm) ) -# 20914 "parser_cocci_menhir.ml" +# 21152 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20931,14 +21169,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 20935 "parser_cocci_menhir.ml" +# 21173 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_iter_ident = -# 1993 "parser_cocci_menhir.mly" +# 2016 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 20942 "parser_cocci_menhir.ml" +# 21180 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20959,15 +21197,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 130 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 20963 "parser_cocci_menhir.ml" +# 21201 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_iter_ident = -# 1995 "parser_cocci_menhir.mly" +# 2018 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,Ast.NoVal,pure)) ) -# 20971 "parser_cocci_menhir.ml" +# 21209 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20984,7 +21222,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_TMul_ = # 114 "standard.mly" ( [] ) -# 20988 "parser_cocci_menhir.ml" +# 21226 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21011,14 +21249,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let x : ( # 168 "parser_cocci_menhir.mly" (Data.clt) -# 21015 "parser_cocci_menhir.ml" +# 21253 "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 ) -# 21022 "parser_cocci_menhir.ml" +# 21260 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21035,7 +21273,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_array_dec_ = # 114 "standard.mly" ( [] ) -# 21039 "parser_cocci_menhir.ml" +# 21277 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21065,7 +21303,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_array_dec_ = # 116 "standard.mly" ( x :: xs ) -# 21069 "parser_cocci_menhir.ml" +# 21307 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21082,7 +21320,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_case_line_ = # 114 "standard.mly" ( [] ) -# 21086 "parser_cocci_menhir.ml" +# 21324 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21112,7 +21350,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_case_line_ = # 116 "standard.mly" ( x :: xs ) -# 21116 "parser_cocci_menhir.ml" +# 21354 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21129,7 +21367,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_decl_var_ = # 114 "standard.mly" ( [] ) -# 21133 "parser_cocci_menhir.ml" +# 21371 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21159,7 +21397,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_decl_var_ = # 116 "standard.mly" ( x :: xs ) -# 21163 "parser_cocci_menhir.ml" +# 21401 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21176,7 +21414,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_designator_ = # 114 "standard.mly" ( [] ) -# 21180 "parser_cocci_menhir.ml" +# 21418 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21206,7 +21444,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_designator_ = # 116 "standard.mly" ( x :: xs ) -# 21210 "parser_cocci_menhir.ml" +# 21448 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21223,7 +21461,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_incl_ = # 114 "standard.mly" ( [] ) -# 21227 "parser_cocci_menhir.ml" +# 21465 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21253,7 +21491,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_incl_ = # 116 "standard.mly" ( x :: xs ) -# 21257 "parser_cocci_menhir.ml" +# 21495 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21270,7 +21508,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_ctype__ = # 114 "standard.mly" ( [] ) -# 21274 "parser_cocci_menhir.ml" +# 21512 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21300,7 +21538,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_ctype__ = # 116 "standard.mly" ( x :: xs ) -# 21304 "parser_cocci_menhir.ml" +# 21542 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21317,7 +21555,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_decl_var__ = # 114 "standard.mly" ( [] ) -# 21321 "parser_cocci_menhir.ml" +# 21559 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21347,7 +21585,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_decl_var__ = # 116 "standard.mly" ( x :: xs ) -# 21351 "parser_cocci_menhir.ml" +# 21589 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21364,7 +21602,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_eexpr__ = # 114 "standard.mly" ( [] ) -# 21368 "parser_cocci_menhir.ml" +# 21606 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21394,7 +21632,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_eexpr__ = # 116 "standard.mly" ( x :: xs ) -# 21398 "parser_cocci_menhir.ml" +# 21636 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21411,7 +21649,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_nest_start__ = # 114 "standard.mly" ( [] ) -# 21415 "parser_cocci_menhir.ml" +# 21653 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21441,7 +21679,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_nest_start__ = # 116 "standard.mly" ( x :: xs ) -# 21445 "parser_cocci_menhir.ml" +# 21683 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21458,7 +21696,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_single_statement__ = # 114 "standard.mly" ( [] ) -# 21462 "parser_cocci_menhir.ml" +# 21700 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21488,7 +21726,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_single_statement__ = # 116 "standard.mly" ( x :: xs ) -# 21492 "parser_cocci_menhir.ml" +# 21730 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21505,7 +21743,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_ctype__ = # 114 "standard.mly" ( [] ) -# 21509 "parser_cocci_menhir.ml" +# 21747 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21535,7 +21773,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_ctype__ = # 116 "standard.mly" ( x :: xs ) -# 21539 "parser_cocci_menhir.ml" +# 21777 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21552,7 +21790,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_disj_ident__ = # 114 "standard.mly" ( [] ) -# 21556 "parser_cocci_menhir.ml" +# 21794 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21582,7 +21820,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_disj_ident__ = # 116 "standard.mly" ( x :: xs ) -# 21586 "parser_cocci_menhir.ml" +# 21824 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21599,7 +21837,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_eexpr__ = # 114 "standard.mly" ( [] ) -# 21603 "parser_cocci_menhir.ml" +# 21841 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21629,7 +21867,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_eexpr__ = # 116 "standard.mly" ( x :: xs ) -# 21633 "parser_cocci_menhir.ml" +# 21871 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21646,7 +21884,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_fun_after_dots_or__ = # 114 "standard.mly" ( [] ) -# 21650 "parser_cocci_menhir.ml" +# 21888 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21676,7 +21914,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_fun_after_dots_or__ = # 116 "standard.mly" ( x :: xs ) -# 21680 "parser_cocci_menhir.ml" +# 21918 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21693,7 +21931,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_fun_start__ = # 114 "standard.mly" ( [] ) -# 21697 "parser_cocci_menhir.ml" +# 21935 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21723,7 +21961,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_fun_start__ = # 116 "standard.mly" ( x :: xs ) -# 21727 "parser_cocci_menhir.ml" +# 21965 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21740,7 +21978,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_mctype__ = # 114 "standard.mly" ( [] ) -# 21744 "parser_cocci_menhir.ml" +# 21982 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21770,7 +22008,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_mctype__ = # 116 "standard.mly" ( x :: xs ) -# 21774 "parser_cocci_menhir.ml" +# 22012 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21787,7 +22025,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_rule_elem_statement__ = # 114 "standard.mly" ( [] ) -# 21791 "parser_cocci_menhir.ml" +# 22029 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21817,7 +22055,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_rule_elem_statement__ = # 116 "standard.mly" ( x :: xs ) -# 21821 "parser_cocci_menhir.ml" +# 22059 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21834,7 +22072,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_statement__ = # 114 "standard.mly" ( [] ) -# 21838 "parser_cocci_menhir.ml" +# 22076 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21864,7 +22102,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_statement__ = # 116 "standard.mly" ( x :: xs ) -# 21868 "parser_cocci_menhir.ml" +# 22106 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21881,7 +22119,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_struct_decl_one__ = # 114 "standard.mly" ( [] ) -# 21885 "parser_cocci_menhir.ml" +# 22123 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21911,7 +22149,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_struct_decl_one__ = # 116 "standard.mly" ( x :: xs ) -# 21915 "parser_cocci_menhir.ml" +# 22153 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21928,7 +22166,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = # 114 "standard.mly" ( [] ) -# 21932 "parser_cocci_menhir.ml" +# 22170 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21967,13 +22205,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 70 "standard.mly" ( (x, y) ) -# 21971 "parser_cocci_menhir.ml" +# 22209 "parser_cocci_menhir.ml" in # 116 "standard.mly" ( x :: xs ) -# 21977 "parser_cocci_menhir.ml" +# 22215 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21990,7 +22228,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_whenppdecs_ = # 114 "standard.mly" ( [] ) -# 21994 "parser_cocci_menhir.ml" +# 22232 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22020,7 +22258,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_whenppdecs_ = # 116 "standard.mly" ( x :: xs ) -# 22024 "parser_cocci_menhir.ml" +# 22262 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22042,9 +22280,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_list_len = -# 418 "parser_cocci_menhir.mly" +# 422 "parser_cocci_menhir.mly" ( Common.Left _1 ) -# 22048 "parser_cocci_menhir.ml" +# 22286 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22065,14 +22303,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 22069 "parser_cocci_menhir.ml" +# 22307 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_list_len = -# 419 "parser_cocci_menhir.mly" +# 423 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Common.Right (int_of_string x) ) -# 22076 "parser_cocci_menhir.ml" +# 22314 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22089,7 +22327,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_choose_iso_ = # 57 "standard.mly" ( [] ) -# 22093 "parser_cocci_menhir.ml" +# 22331 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22113,7 +22351,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_choose_iso_ = # 59 "standard.mly" ( x ) -# 22117 "parser_cocci_menhir.ml" +# 22355 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22130,7 +22368,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_disable_ = # 57 "standard.mly" ( [] ) -# 22134 "parser_cocci_menhir.ml" +# 22372 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22154,7 +22392,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_disable_ = # 59 "standard.mly" ( x ) -# 22158 "parser_cocci_menhir.ml" +# 22396 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22171,7 +22409,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_filespec_ = # 57 "standard.mly" ( [] ) -# 22175 "parser_cocci_menhir.ml" +# 22413 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22195,7 +22433,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_filespec_ = # 59 "standard.mly" ( x ) -# 22199 "parser_cocci_menhir.ml" +# 22437 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22212,7 +22450,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_minus_start_ = # 57 "standard.mly" ( [] ) -# 22216 "parser_cocci_menhir.ml" +# 22454 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22236,7 +22474,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_minus_start_ = # 59 "standard.mly" ( x ) -# 22240 "parser_cocci_menhir.ml" +# 22478 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22253,7 +22491,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_not_pos_ = # 57 "standard.mly" ( [] ) -# 22257 "parser_cocci_menhir.ml" +# 22495 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22277,7 +22515,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_not_pos_ = # 59 "standard.mly" ( x ) -# 22281 "parser_cocci_menhir.ml" +# 22519 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22294,7 +22532,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_plus_start_ = # 57 "standard.mly" ( [] ) -# 22298 "parser_cocci_menhir.ml" +# 22536 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22318,7 +22556,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_plus_start_ = # 59 "standard.mly" ( x ) -# 22322 "parser_cocci_menhir.ml" +# 22560 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22339,14 +22577,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 133 "parser_cocci_menhir.mly" (Parse_aux.info) -# 22343 "parser_cocci_menhir.ml" +# 22581 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_mctype = -# 732 "parser_cocci_menhir.mly" +# 736 "parser_cocci_menhir.mly" ( tmeta_to_type _1 ) -# 22350 "parser_cocci_menhir.ml" +# 22588 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22368,9 +22606,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_mctype = -# 733 "parser_cocci_menhir.mly" +# 737 "parser_cocci_menhir.mly" (_1) -# 22374 "parser_cocci_menhir.ml" +# 22612 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22392,9 +22630,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_t_ in let _v : 'tv_meta_exp_type = -# 613 "parser_cocci_menhir.mly" +# 617 "parser_cocci_menhir.mly" ( [Ast0_cocci.ast0_type_to_type t] ) -# 22398 "parser_cocci_menhir.ml" +# 22636 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22424,9 +22662,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos__3_ in let _v : 'tv_meta_exp_type = -# 615 "parser_cocci_menhir.mly" +# 619 "parser_cocci_menhir.mly" ( [Type_cocci.Array (Ast0_cocci.ast0_type_to_type t)] ) -# 22430 "parser_cocci_menhir.ml" +# 22668 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22462,11 +22700,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_m_ in let _v : 'tv_meta_exp_type = -# 617 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( List.map (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m) t ) -# 22470 "parser_cocci_menhir.ml" +# 22708 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22497,14 +22735,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 112 "parser_cocci_menhir.mly" (string) -# 22501 "parser_cocci_menhir.ml" +# 22739 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_meta_ident = -# 1723 "parser_cocci_menhir.mly" +# 1740 "parser_cocci_menhir.mly" ( (Some _1,P.id2name _3) ) -# 22508 "parser_cocci_menhir.ml" +# 22746 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22535,14 +22773,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 112 "parser_cocci_menhir.mly" (string) -# 22539 "parser_cocci_menhir.ml" +# 22777 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_meta_ident = -# 1724 "parser_cocci_menhir.mly" +# 1741 "parser_cocci_menhir.mly" ( (Some _1,_3) ) -# 22546 "parser_cocci_menhir.ml" +# 22784 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22566,11 +22804,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 228 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 22570 "parser_cocci_menhir.ml" +# 22808 "parser_cocci_menhir.ml" ) = # 252 "parser_cocci_menhir.mly" ( m (!Ast0.rule_name) ) -# 22574 "parser_cocci_menhir.ml" +# 22812 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22613,17 +22851,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 430 "parser_cocci_menhir.mly" +# 434 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaMetaDecl(arity,name)) in !Data.add_meta_meta name pure; tok) ) -# 22621 "parser_cocci_menhir.ml" +# 22859 "parser_cocci_menhir.ml" in -# 343 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 22627 "parser_cocci_menhir.ml" +# 22865 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22666,17 +22904,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 434 "parser_cocci_menhir.mly" +# 438 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaParamDecl(arity,name)) in !Data.add_param_meta name pure; tok) ) -# 22674 "parser_cocci_menhir.ml" +# 22912 "parser_cocci_menhir.ml" in -# 343 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 22680 "parser_cocci_menhir.ml" +# 22918 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22723,18 +22961,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 438 "parser_cocci_menhir.mly" +# 442 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let len = Ast.AnyLen in let tok = check_meta(Ast.MetaParamListDecl(arity,name,len)) in !Data.add_paramlist_meta name len pure; tok) ) -# 22732 "parser_cocci_menhir.ml" +# 22970 "parser_cocci_menhir.ml" in -# 343 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 22738 "parser_cocci_menhir.ml" +# 22976 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22781,18 +23019,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 443 "parser_cocci_menhir.mly" +# 447 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let len = Ast.AnyLen in let tok = check_meta(Ast.MetaExpListDecl(arity,name,len)) in !Data.add_explist_meta name len pure; tok) ) -# 22790 "parser_cocci_menhir.ml" +# 23028 "parser_cocci_menhir.ml" in -# 343 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 22796 "parser_cocci_menhir.ml" +# 23034 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22835,17 +23073,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 448 "parser_cocci_menhir.mly" +# 452 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaTypeDecl(arity,name)) in !Data.add_type_meta name pure; tok) ) -# 22843 "parser_cocci_menhir.ml" +# 23081 "parser_cocci_menhir.ml" in -# 343 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 22849 "parser_cocci_menhir.ml" +# 23087 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22888,17 +23126,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 452 "parser_cocci_menhir.mly" +# 456 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaInitDecl(arity,name)) in !Data.add_init_meta name pure; tok) ) -# 22896 "parser_cocci_menhir.ml" +# 23134 "parser_cocci_menhir.ml" in -# 343 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 22902 "parser_cocci_menhir.ml" +# 23140 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22945,18 +23183,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 456 "parser_cocci_menhir.mly" +# 460 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let len = Ast.AnyLen in let tok = check_meta(Ast.MetaInitListDecl(arity,name,len)) in !Data.add_initlist_meta name len pure; tok) ) -# 22954 "parser_cocci_menhir.ml" +# 23192 "parser_cocci_menhir.ml" in -# 343 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 22960 "parser_cocci_menhir.ml" +# 23198 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22999,17 +23237,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 461 "parser_cocci_menhir.mly" +# 465 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaStmDecl(arity,name)) in !Data.add_stm_meta name pure; tok) ) -# 23007 "parser_cocci_menhir.ml" +# 23245 "parser_cocci_menhir.ml" in -# 343 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 23013 "parser_cocci_menhir.ml" +# 23251 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23052,17 +23290,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 465 "parser_cocci_menhir.mly" +# 469 "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) ) -# 23060 "parser_cocci_menhir.ml" +# 23298 "parser_cocci_menhir.ml" in -# 343 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 23066 "parser_cocci_menhir.ml" +# 23304 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23105,17 +23343,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 469 "parser_cocci_menhir.mly" +# 473 "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) ) -# 23113 "parser_cocci_menhir.ml" +# 23351 "parser_cocci_menhir.ml" in -# 343 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 23119 "parser_cocci_menhir.ml" +# 23357 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23162,18 +23400,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 473 "parser_cocci_menhir.mly" +# 477 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let len = Ast.AnyLen in let tok = check_meta(Ast.MetaFieldListDecl(arity,name,len)) in !Data.add_field_list_meta name len pure; tok) ) -# 23171 "parser_cocci_menhir.ml" +# 23409 "parser_cocci_menhir.ml" in -# 343 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 23177 "parser_cocci_menhir.ml" +# 23415 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23220,17 +23458,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 478 "parser_cocci_menhir.mly" +# 482 "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) ) -# 23228 "parser_cocci_menhir.ml" +# 23466 "parser_cocci_menhir.ml" in -# 343 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 23234 "parser_cocci_menhir.ml" +# 23472 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23273,18 +23511,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 482 "parser_cocci_menhir.mly" +# 486 "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")) ) -# 23282 "parser_cocci_menhir.ml" +# 23520 "parser_cocci_menhir.ml" in -# 343 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 23288 "parser_cocci_menhir.ml" +# 23526 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23331,18 +23569,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 487 "parser_cocci_menhir.mly" +# 491 "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")) ) -# 23340 "parser_cocci_menhir.ml" +# 23578 "parser_cocci_menhir.ml" in -# 343 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 23346 "parser_cocci_menhir.ml" +# 23584 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23389,18 +23627,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 492 "parser_cocci_menhir.mly" +# 496 "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")) ) -# 23398 "parser_cocci_menhir.ml" +# 23636 "parser_cocci_menhir.ml" in -# 343 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 23404 "parser_cocci_menhir.ml" +# 23642 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23435,17 +23673,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__4_ in let _v : 'tv_metadec = let kindfn = -# 423 "parser_cocci_menhir.mly" +# 427 "parser_cocci_menhir.mly" ( (fun name check_meta seed -> let tok = check_meta(Ast.MetaFreshIdDecl(name,seed)) in !Data.add_fresh_id_meta name seed; tok) ) -# 23443 "parser_cocci_menhir.ml" +# 23681 "parser_cocci_menhir.ml" in -# 346 "parser_cocci_menhir.mly" +# 345 "parser_cocci_menhir.mly" ( P.create_fresh_metadec kindfn ids ) -# 23449 "parser_cocci_menhir.ml" +# 23687 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23488,7 +23726,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 499 "parser_cocci_menhir.mly" +# 503 "parser_cocci_menhir.mly" ( let idfn arity name pure check_meta constraints = let tok = check_meta(Ast.MetaIdDecl(arity,name)) in @@ -23505,17 +23743,17 @@ 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) ) -# 23509 "parser_cocci_menhir.ml" +# 23747 "parser_cocci_menhir.ml" in -# 352 "parser_cocci_menhir.mly" +# 351 "parser_cocci_menhir.mly" ( let (normal,virt) = Common.partition_either (fun x -> x) ids in let (idfn,virtfn) = kindfn in function cr -> (P.create_metadec_with_constraints ar ispure idfn normal cr) @ (P.create_metadec_virt ar ispure virtfn virt cr) ) -# 23519 "parser_cocci_menhir.ml" +# 23757 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23558,17 +23796,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 518 "parser_cocci_menhir.mly" +# 522 "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) ) -# 23566 "parser_cocci_menhir.ml" +# 23804 "parser_cocci_menhir.ml" in -# 361 "parser_cocci_menhir.mly" +# 360 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 23572 "parser_cocci_menhir.ml" +# 23810 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23615,18 +23853,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 522 "parser_cocci_menhir.mly" +# 526 "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) ) -# 23624 "parser_cocci_menhir.ml" +# 23862 "parser_cocci_menhir.ml" in -# 361 "parser_cocci_menhir.mly" +# 360 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 23630 "parser_cocci_menhir.ml" +# 23868 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23669,17 +23907,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 527 "parser_cocci_menhir.mly" +# 531 "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) ) -# 23677 "parser_cocci_menhir.ml" +# 23915 "parser_cocci_menhir.ml" in -# 361 "parser_cocci_menhir.mly" +# 360 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 23683 "parser_cocci_menhir.ml" +# 23921 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23722,17 +23960,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 531 "parser_cocci_menhir.mly" +# 535 "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) ) -# 23730 "parser_cocci_menhir.ml" +# 23968 "parser_cocci_menhir.ml" in -# 361 "parser_cocci_menhir.mly" +# 360 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 23736 "parser_cocci_menhir.ml" +# 23974 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23775,17 +24013,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 537 "parser_cocci_menhir.mly" +# 541 "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) ) -# 23783 "parser_cocci_menhir.ml" +# 24021 "parser_cocci_menhir.ml" in -# 366 "parser_cocci_menhir.mly" +# 365 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 23789 "parser_cocci_menhir.ml" +# 24027 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23838,11 +24076,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 23842 "parser_cocci_menhir.ml" +# 24080 "parser_cocci_menhir.ml" in -# 541 "parser_cocci_menhir.mly" +# 545 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> match l with None -> @@ -23851,13 +24089,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Some _ -> !Data.add_local_idexp_meta ty name constraints pure; check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) ) -# 23855 "parser_cocci_menhir.ml" +# 24093 "parser_cocci_menhir.ml" in -# 366 "parser_cocci_menhir.mly" +# 365 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 23861 "parser_cocci_menhir.ml" +# 24099 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23918,11 +24156,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 23922 "parser_cocci_menhir.ml" +# 24160 "parser_cocci_menhir.ml" in -# 541 "parser_cocci_menhir.mly" +# 545 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> match l with None -> @@ -23931,13 +24169,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Some _ -> !Data.add_local_idexp_meta ty name constraints pure; check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) ) -# 23935 "parser_cocci_menhir.ml" +# 24173 "parser_cocci_menhir.ml" in -# 366 "parser_cocci_menhir.mly" +# 365 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 23941 "parser_cocci_menhir.ml" +# 24179 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23994,7 +24232,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let m = m0 in let l = l0 in -# 550 "parser_cocci_menhir.mly" +# 554 "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 @@ -24004,13 +24242,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Some _ -> !Data.add_local_idexp_meta ty name constraints pure; check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) ) -# 24008 "parser_cocci_menhir.ml" +# 24246 "parser_cocci_menhir.ml" in -# 366 "parser_cocci_menhir.mly" +# 365 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 24014 "parser_cocci_menhir.ml" +# 24252 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24060,18 +24298,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_metadec = let kindfn = let ty = ty0 in -# 560 "parser_cocci_menhir.mly" +# 564 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let ty = Some [ty] in let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in !Data.add_exp_meta ty name constraints pure; tok) ) -# 24069 "parser_cocci_menhir.ml" +# 24307 "parser_cocci_menhir.ml" in -# 366 "parser_cocci_menhir.mly" +# 365 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 24075 "parser_cocci_menhir.ml" +# 24313 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24117,21 +24355,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 24121 "parser_cocci_menhir.ml" +# 24359 "parser_cocci_menhir.ml" in -# 565 "parser_cocci_menhir.mly" +# 569 "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) ) -# 24129 "parser_cocci_menhir.ml" +# 24367 "parser_cocci_menhir.ml" in -# 366 "parser_cocci_menhir.mly" +# 365 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 24135 "parser_cocci_menhir.ml" +# 24373 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24185,21 +24423,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 24189 "parser_cocci_menhir.ml" +# 24427 "parser_cocci_menhir.ml" in -# 565 "parser_cocci_menhir.mly" +# 569 "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) ) -# 24197 "parser_cocci_menhir.ml" +# 24435 "parser_cocci_menhir.ml" in -# 366 "parser_cocci_menhir.mly" +# 365 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 24203 "parser_cocci_menhir.ml" +# 24441 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24242,17 +24480,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 582 "parser_cocci_menhir.mly" +# 586 "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) ) -# 24250 "parser_cocci_menhir.ml" +# 24488 "parser_cocci_menhir.ml" in -# 371 "parser_cocci_menhir.mly" +# 370 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 24256 "parser_cocci_menhir.ml" +# 24494 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24298,7 +24536,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_metadec = let kindfn = let vl = vl0 in -# 586 "parser_cocci_menhir.mly" +# 590 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let ty = Some vl in (match constraints with @@ -24323,13 +24561,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) ) -# 24327 "parser_cocci_menhir.ml" +# 24565 "parser_cocci_menhir.ml" in -# 371 "parser_cocci_menhir.mly" +# 370 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 24333 "parser_cocci_menhir.ml" +# 24571 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24371,7 +24609,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ar_ in let _endpos = _endpos__5_ in let _v : 'tv_metadec = -# 377 "parser_cocci_menhir.mly" +# 376 "parser_cocci_menhir.mly" ( (if !Data.in_generating then failwith "position variables not allowed in a generated rule file"); let kindfn arity name pure check_meta constraints = @@ -24379,7 +24617,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 ) -# 24383 "parser_cocci_menhir.ml" +# 24621 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24439,13 +24677,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ar_ in let _endpos = _endpos__9_ in let _v : 'tv_metadec = -# 387 "parser_cocci_menhir.mly" +# 386 "parser_cocci_menhir.mly" ( P.create_len_metadec ar ispure (fun lenname arity name pure check_meta -> let tok = check_meta(Ast.MetaParamListDecl(arity,name,lenname)) in !Data.add_paramlist_meta name lenname pure; tok) len ids ) -# 24449 "parser_cocci_menhir.ml" +# 24687 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24505,13 +24743,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ar_ in let _endpos = _endpos__9_ in let _v : 'tv_metadec = -# 395 "parser_cocci_menhir.mly" +# 394 "parser_cocci_menhir.mly" ( P.create_len_metadec ar ispure (fun lenname arity name pure check_meta -> let tok = check_meta(Ast.MetaExpListDecl(arity,name,lenname)) in !Data.add_explist_meta name lenname pure; tok) len ids ) -# 24515 "parser_cocci_menhir.ml" +# 24753 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24571,13 +24809,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ar_ in let _endpos = _endpos__9_ in let _v : 'tv_metadec = -# 403 "parser_cocci_menhir.mly" +# 402 "parser_cocci_menhir.mly" ( P.create_len_metadec ar ispure (fun lenname arity name pure check_meta -> let tok = check_meta(Ast.MetaFieldListDecl(arity,name,lenname)) in !Data.add_field_list_meta name lenname pure; tok) len ids ) -# 24581 "parser_cocci_menhir.ml" +# 24819 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24637,13 +24875,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ar_ in let _endpos = _endpos__9_ in let _v : 'tv_metadec = -# 411 "parser_cocci_menhir.mly" +# 410 "parser_cocci_menhir.mly" ( P.create_len_metadec ar ispure (fun lenname arity name pure check_meta -> let tok = check_meta(Ast.MetaInitListDecl(arity,name,lenname)) in !Data.add_initlist_meta name lenname pure; tok) len ids ) -# 24647 "parser_cocci_menhir.ml" +# 24885 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_ = Obj.magic ids in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_metadec = +# 416 "parser_cocci_menhir.mly" + ( (fun _ -> + let add_sym = fun (nm,_) -> !Data.add_symbol_meta nm in + List.iter add_sym ids; []) + ) +# 24920 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24665,9 +24938,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_mident = -# 1967 "parser_cocci_menhir.mly" +# 1989 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 24671 "parser_cocci_menhir.ml" +# 24944 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_wrapped_sym_ident = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_mident = +# 1990 "parser_cocci_menhir.mly" + ( _1 ) +# 24968 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24688,14 +24985,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 133 "parser_cocci_menhir.mly" (Parse_aux.info) -# 24692 "parser_cocci_menhir.ml" +# 24989 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_mident = -# 1968 "parser_cocci_menhir.mly" +# 1991 "parser_cocci_menhir.mly" ( tmeta_to_ident _1 ) -# 24699 "parser_cocci_menhir.ml" +# 24996 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24716,15 +25013,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 128 "parser_cocci_menhir.mly" (Parse_aux.midinfo) -# 24720 "parser_cocci_menhir.ml" +# 25017 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_mident = -# 1970 "parser_cocci_menhir.mly" +# 1993 "parser_cocci_menhir.mly" ( let (nm,constraints,seed,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,seed,pure)) ) -# 24728 "parser_cocci_menhir.ml" +# 25025 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24752,9 +25049,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_ctype_ctype_ = -# 2290 "parser_cocci_menhir.mly" +# 2313 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 24758 "parser_cocci_menhir.ml" +# 25055 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24782,9 +25079,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_disj_ident_disj_ident_ = -# 2290 "parser_cocci_menhir.mly" +# 2313 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 24788 "parser_cocci_menhir.ml" +# 25085 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24812,9 +25109,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_eexpr_eexpr_ = -# 2290 "parser_cocci_menhir.mly" +# 2313 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 24818 "parser_cocci_menhir.ml" +# 25115 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24842,9 +25139,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_expr_eexpr_ = -# 2290 "parser_cocci_menhir.mly" +# 2313 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 24848 "parser_cocci_menhir.ml" +# 25145 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24872,9 +25169,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_ = -# 2290 "parser_cocci_menhir.mly" +# 2313 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 24878 "parser_cocci_menhir.ml" +# 25175 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24902,9 +25199,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_ = -# 2290 "parser_cocci_menhir.mly" +# 2313 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 24908 "parser_cocci_menhir.ml" +# 25205 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24932,9 +25229,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_mctype_mctype_ = -# 2290 "parser_cocci_menhir.mly" +# 2313 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 24938 "parser_cocci_menhir.ml" +# 25235 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24962,9 +25259,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_ = -# 2290 "parser_cocci_menhir.mly" +# 2313 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 24968 "parser_cocci_menhir.ml" +# 25265 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24992,9 +25289,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_statement_statement_ = -# 2290 "parser_cocci_menhir.mly" +# 2313 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 24998 "parser_cocci_menhir.ml" +# 25295 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25022,9 +25319,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_struct_decl_one_struct_decl_one_ = -# 2290 "parser_cocci_menhir.mly" +# 2313 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 25028 "parser_cocci_menhir.ml" +# 25325 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25052,11 +25349,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_minus_body = -# 839 "parser_cocci_menhir.mly" +# 843 "parser_cocci_menhir.mly" ( match f@b(*@ew*) with [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty") | code -> code ) -# 25060 "parser_cocci_menhir.ml" +# 25357 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25084,11 +25381,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_minus_exp_body = -# 853 "parser_cocci_menhir.mly" +# 857 "parser_cocci_menhir.mly" ( match f@[b](*@ew*) with [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty") | code -> code ) -# 25092 "parser_cocci_menhir.ml" +# 25389 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25116,11 +25413,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 208 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 25120 "parser_cocci_menhir.ml" +# 25417 "parser_cocci_menhir.ml" ) = # 248 "parser_cocci_menhir.mly" ( _1 ) -# 25124 "parser_cocci_menhir.ml" +# 25421 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25148,11 +25445,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 208 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 25152 "parser_cocci_menhir.ml" +# 25449 "parser_cocci_menhir.ml" ) = # 248 "parser_cocci_menhir.mly" ( m ) -# 25156 "parser_cocci_menhir.ml" +# 25453 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25180,11 +25477,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 208 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 25184 "parser_cocci_menhir.ml" +# 25481 "parser_cocci_menhir.ml" ) = # 249 "parser_cocci_menhir.mly" ( m ) -# 25188 "parser_cocci_menhir.ml" +# 25485 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25212,11 +25509,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 205 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 25216 "parser_cocci_menhir.ml" +# 25513 "parser_cocci_menhir.ml" ) = # 244 "parser_cocci_menhir.mly" ( _1 ) -# 25220 "parser_cocci_menhir.ml" +# 25517 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25244,11 +25541,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 205 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 25248 "parser_cocci_menhir.ml" +# 25545 "parser_cocci_menhir.ml" ) = # 244 "parser_cocci_menhir.mly" ( m ) -# 25252 "parser_cocci_menhir.ml" +# 25549 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25276,11 +25573,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 205 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 25280 "parser_cocci_menhir.ml" +# 25577 "parser_cocci_menhir.ml" ) = # 245 "parser_cocci_menhir.mly" ( m ) -# 25284 "parser_cocci_menhir.ml" +# 25581 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25302,9 +25599,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 2115 "parser_cocci_menhir.mly" +# 2138 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(_1))] ) -# 25308 "parser_cocci_menhir.ml" +# 25605 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25326,9 +25623,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 2116 "parser_cocci_menhir.mly" +# 2139 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] ) -# 25332 "parser_cocci_menhir.ml" +# 25629 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25350,9 +25647,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 2117 "parser_cocci_menhir.mly" +# 2140 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] ) -# 25356 "parser_cocci_menhir.ml" +# 25653 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25374,9 +25671,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 2119 "parser_cocci_menhir.mly" +# 2142 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 ) -# 25380 "parser_cocci_menhir.ml" +# 25677 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25403,14 +25700,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let a : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 25407 "parser_cocci_menhir.ml" +# 25704 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_ctype_ = -# 2293 "parser_cocci_menhir.mly" +# 2316 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 25414 "parser_cocci_menhir.ml" +# 25711 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25437,14 +25734,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let a : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 25441 "parser_cocci_menhir.ml" +# 25738 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_disj_ident_ = -# 2293 "parser_cocci_menhir.mly" +# 2316 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 25448 "parser_cocci_menhir.ml" +# 25745 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25471,14 +25768,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let a : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 25475 "parser_cocci_menhir.ml" +# 25772 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_eexpr_ = -# 2293 "parser_cocci_menhir.mly" +# 2316 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 25482 "parser_cocci_menhir.ml" +# 25779 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25505,14 +25802,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let a : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 25509 "parser_cocci_menhir.ml" +# 25806 "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_ = -# 2293 "parser_cocci_menhir.mly" +# 2316 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 25516 "parser_cocci_menhir.ml" +# 25813 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25539,14 +25836,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let a : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 25543 "parser_cocci_menhir.ml" +# 25840 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_fun_start_ = -# 2293 "parser_cocci_menhir.mly" +# 2316 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 25550 "parser_cocci_menhir.ml" +# 25847 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25573,14 +25870,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let a : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 25577 "parser_cocci_menhir.ml" +# 25874 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_mctype_ = -# 2293 "parser_cocci_menhir.mly" +# 2316 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 25584 "parser_cocci_menhir.ml" +# 25881 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25607,14 +25904,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let a : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 25611 "parser_cocci_menhir.ml" +# 25908 "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_ = -# 2293 "parser_cocci_menhir.mly" +# 2316 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 25618 "parser_cocci_menhir.ml" +# 25915 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25641,14 +25938,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let a : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 25645 "parser_cocci_menhir.ml" +# 25942 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_statement_ = -# 2293 "parser_cocci_menhir.mly" +# 2316 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 25652 "parser_cocci_menhir.ml" +# 25949 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25675,14 +25972,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let a : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 25679 "parser_cocci_menhir.ml" +# 25976 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_struct_decl_one_ = -# 2293 "parser_cocci_menhir.mly" +# 2316 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 25686 "parser_cocci_menhir.ml" +# 25983 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25704,9 +26001,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_name_opt_decl = -# 1071 "parser_cocci_menhir.mly" +# 1083 "parser_cocci_menhir.mly" ( _1 ) -# 25710 "parser_cocci_menhir.ml" +# 26007 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25757,41 +26054,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp1 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 25761 "parser_cocci_menhir.ml" +# 26058 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 25767 "parser_cocci_menhir.ml" +# 26064 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let rp : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 25772 "parser_cocci_menhir.ml" +# 26069 "parser_cocci_menhir.ml" ) = Obj.magic rp in let s : ( # 168 "parser_cocci_menhir.mly" (Data.clt) -# 25777 "parser_cocci_menhir.ml" +# 26074 "parser_cocci_menhir.ml" ) = Obj.magic s in let lp : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 25782 "parser_cocci_menhir.ml" +# 26079 "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 = -# 1074 "parser_cocci_menhir.mly" +# 1086 "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)) ) -# 25795 "parser_cocci_menhir.ml" +# 26092 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25819,9 +26116,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_dots = -# 2235 "parser_cocci_menhir.mly" +# 2258 "parser_cocci_menhir.mly" (_1@_2) -# 25825 "parser_cocci_menhir.ml" +# 26122 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25847,9 +26144,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_dots = -# 2236 "parser_cocci_menhir.mly" +# 2259 "parser_cocci_menhir.mly" (_2) -# 25853 "parser_cocci_menhir.ml" +# 26150 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25877,9 +26174,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_dots = -# 2237 "parser_cocci_menhir.mly" +# 2260 "parser_cocci_menhir.mly" ((Ast0.wrap(Ast0.Exp(_1)))::_2) -# 25883 "parser_cocci_menhir.ml" +# 26180 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25894,9 +26191,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 = -# 2245 "parser_cocci_menhir.mly" +# 2268 "parser_cocci_menhir.mly" ([]) -# 25900 "parser_cocci_menhir.ml" +# 26197 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25924,9 +26221,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_exp = -# 2246 "parser_cocci_menhir.mly" +# 2269 "parser_cocci_menhir.mly" (_1::_2) -# 25930 "parser_cocci_menhir.ml" +# 26227 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25941,9 +26238,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 = -# 2240 "parser_cocci_menhir.mly" +# 2263 "parser_cocci_menhir.mly" ([]) -# 25947 "parser_cocci_menhir.ml" +# 26244 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25971,9 +26268,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_stm = -# 2241 "parser_cocci_menhir.mly" +# 2264 "parser_cocci_menhir.mly" (_1::_2) -# 25977 "parser_cocci_menhir.ml" +# 26274 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26001,9 +26298,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_stm = -# 2242 "parser_cocci_menhir.mly" +# 2265 "parser_cocci_menhir.mly" (_1@_2) -# 26007 "parser_cocci_menhir.ml" +# 26304 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26034,22 +26331,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 26038 "parser_cocci_menhir.ml" +# 26335 "parser_cocci_menhir.ml" ) = Obj.magic c in let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in let _1 : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 26044 "parser_cocci_menhir.ml" +# 26341 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_nest_expressions = -# 1450 "parser_cocci_menhir.mly" +# 1462 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1, Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))), P.clt2mcode "...>" c, None, false)) ) -# 26053 "parser_cocci_menhir.ml" +# 26350 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26080,22 +26377,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 26084 "parser_cocci_menhir.ml" +# 26381 "parser_cocci_menhir.ml" ) = Obj.magic c in let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in let _1 : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 26090 "parser_cocci_menhir.ml" +# 26387 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_nest_expressions = -# 1454 "parser_cocci_menhir.mly" +# 1466 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1, Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))), P.clt2mcode "...+>" c, None, true)) ) -# 26099 "parser_cocci_menhir.ml" +# 26396 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26116,14 +26413,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 133 "parser_cocci_menhir.mly" (Parse_aux.info) -# 26120 "parser_cocci_menhir.ml" +# 26417 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nest_expressions = -# 1457 "parser_cocci_menhir.mly" +# 1469 "parser_cocci_menhir.mly" ( tmeta_to_exp _1 ) -# 26127 "parser_cocci_menhir.ml" +# 26424 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26145,9 +26442,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nest_start = -# 2232 "parser_cocci_menhir.mly" +# 2255 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) -# 26151 "parser_cocci_menhir.ml" +# 26448 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26169,11 +26466,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 239 "parser_cocci_menhir.mly" (unit) -# 26173 "parser_cocci_menhir.ml" +# 26470 "parser_cocci_menhir.ml" ) = -# 2360 "parser_cocci_menhir.mly" +# 2383 "parser_cocci_menhir.mly" ( () ) -# 26177 "parser_cocci_menhir.ml" +# 26474 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26199,11 +26496,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 239 "parser_cocci_menhir.mly" (unit) -# 26203 "parser_cocci_menhir.ml" +# 26500 "parser_cocci_menhir.ml" ) = -# 2361 "parser_cocci_menhir.mly" +# 2384 "parser_cocci_menhir.mly" ( () ) -# 26207 "parser_cocci_menhir.ml" +# 26504 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26225,11 +26522,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 239 "parser_cocci_menhir.mly" (unit) -# 26229 "parser_cocci_menhir.ml" +# 26526 "parser_cocci_menhir.ml" ) = -# 2362 "parser_cocci_menhir.mly" +# 2385 "parser_cocci_menhir.mly" ( () ) -# 26233 "parser_cocci_menhir.ml" +# 26530 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26257,10 +26554,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__ = -# 1690 "parser_cocci_menhir.mly" +# 1702 "parser_cocci_menhir.mly" ( function dot_builder -> g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) ) -# 26264 "parser_cocci_menhir.ml" +# 26561 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26281,14 +26578,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let x : ( # 168 "parser_cocci_menhir.mly" (Data.clt) -# 26285 "parser_cocci_menhir.ml" +# 26582 "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 ] ) -# 26292 "parser_cocci_menhir.ml" +# 26589 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26315,14 +26612,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let x : ( # 168 "parser_cocci_menhir.mly" (Data.clt) -# 26319 "parser_cocci_menhir.ml" +# 26616 "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 ) -# 26326 "parser_cocci_menhir.ml" +# 26623 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26344,9 +26641,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = -# 2042 "parser_cocci_menhir.mly" +# 2065 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) -# 26350 "parser_cocci_menhir.ml" +# 26647 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26372,16 +26669,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 26376 "parser_cocci_menhir.ml" +# 26673 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_aexpr = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = -# 2044 "parser_cocci_menhir.mly" +# 2067 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 26385 "parser_cocci_menhir.ml" +# 26682 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26413,17 +26710,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 26417 "parser_cocci_menhir.ml" +# 26714 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_aexpr = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = -# 2047 "parser_cocci_menhir.mly" +# 2070 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) -# 26427 "parser_cocci_menhir.ml" +# 26724 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26449,9 +26746,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = -# 2050 "parser_cocci_menhir.mly" +# 2073 "parser_cocci_menhir.mly" ( _2 ) -# 26455 "parser_cocci_menhir.ml" +# 26752 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26472,14 +26769,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 26476 "parser_cocci_menhir.ml" +# 26773 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = -# 2051 "parser_cocci_menhir.mly" +# 2074 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d)] ) -# 26483 "parser_cocci_menhir.ml" +# 26780 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26505,20 +26802,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 26509 "parser_cocci_menhir.ml" +# 26806 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 26514 "parser_cocci_menhir.ml" +# 26811 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = -# 2053 "parser_cocci_menhir.mly" +# 2076 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 26522 "parser_cocci_menhir.ml" +# 26819 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26550,22 +26847,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 26554 "parser_cocci_menhir.ml" +# 26851 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 26559 "parser_cocci_menhir.ml" +# 26856 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = -# 2056 "parser_cocci_menhir.mly" +# 2079 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> (build_dots "..." d):: (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (r build_dots build_comma) ) -# 26569 "parser_cocci_menhir.ml" +# 26866 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26587,9 +26884,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = -# 2042 "parser_cocci_menhir.mly" +# 2065 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) -# 26593 "parser_cocci_menhir.ml" +# 26890 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26615,16 +26912,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 26619 "parser_cocci_menhir.ml" +# 26916 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_dparam = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = -# 2044 "parser_cocci_menhir.mly" +# 2067 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 26628 "parser_cocci_menhir.ml" +# 26925 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26656,17 +26953,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 26660 "parser_cocci_menhir.ml" +# 26957 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_dparam = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = -# 2047 "parser_cocci_menhir.mly" +# 2070 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) -# 26670 "parser_cocci_menhir.ml" +# 26967 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26692,9 +26989,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = -# 2050 "parser_cocci_menhir.mly" +# 2073 "parser_cocci_menhir.mly" ( _2 ) -# 26698 "parser_cocci_menhir.ml" +# 26995 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26715,14 +27012,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 26719 "parser_cocci_menhir.ml" +# 27016 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = -# 2051 "parser_cocci_menhir.mly" +# 2074 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d)] ) -# 26726 "parser_cocci_menhir.ml" +# 27023 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26748,20 +27045,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 26752 "parser_cocci_menhir.ml" +# 27049 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 26757 "parser_cocci_menhir.ml" +# 27054 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = -# 2053 "parser_cocci_menhir.mly" +# 2076 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 26765 "parser_cocci_menhir.ml" +# 27062 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26793,22 +27090,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 26797 "parser_cocci_menhir.ml" +# 27094 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 26802 "parser_cocci_menhir.ml" +# 27099 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = -# 2056 "parser_cocci_menhir.mly" +# 2079 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> (build_dots "..." d):: (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (r build_dots build_comma) ) -# 26812 "parser_cocci_menhir.ml" +# 27109 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26830,9 +27127,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 2042 "parser_cocci_menhir.mly" +# 2065 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) -# 26836 "parser_cocci_menhir.ml" +# 27133 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26858,16 +27155,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 26862 "parser_cocci_menhir.ml" +# 27159 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_enum_decl_one = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 2044 "parser_cocci_menhir.mly" +# 2067 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 26871 "parser_cocci_menhir.ml" +# 27168 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26899,17 +27196,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 26903 "parser_cocci_menhir.ml" +# 27200 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_enum_decl_one = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 2047 "parser_cocci_menhir.mly" +# 2070 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) -# 26913 "parser_cocci_menhir.ml" +# 27210 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26935,9 +27232,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 2050 "parser_cocci_menhir.mly" +# 2073 "parser_cocci_menhir.mly" ( _2 ) -# 26941 "parser_cocci_menhir.ml" +# 27238 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26959,9 +27256,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 2051 "parser_cocci_menhir.mly" +# 2074 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d)] ) -# 26965 "parser_cocci_menhir.ml" +# 27262 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26987,16 +27284,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 26991 "parser_cocci_menhir.ml" +# 27288 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 2053 "parser_cocci_menhir.mly" +# 2076 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 27000 "parser_cocci_menhir.ml" +# 27297 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27028,18 +27325,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 27032 "parser_cocci_menhir.ml" +# 27329 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 2056 "parser_cocci_menhir.mly" +# 2079 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> (build_dots "..." d):: (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (r build_dots build_comma) ) -# 27043 "parser_cocci_menhir.ml" +# 27340 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27061,9 +27358,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 2042 "parser_cocci_menhir.mly" +# 2065 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) -# 27067 "parser_cocci_menhir.ml" +# 27364 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27089,16 +27386,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 27093 "parser_cocci_menhir.ml" +# 27390 "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_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 2044 "parser_cocci_menhir.mly" +# 2067 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 27102 "parser_cocci_menhir.ml" +# 27399 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27130,17 +27427,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 27134 "parser_cocci_menhir.ml" +# 27431 "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_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 2047 "parser_cocci_menhir.mly" +# 2070 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) -# 27144 "parser_cocci_menhir.ml" +# 27441 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27166,9 +27463,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 2050 "parser_cocci_menhir.mly" +# 2073 "parser_cocci_menhir.mly" ( _2 ) -# 27172 "parser_cocci_menhir.ml" +# 27469 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27190,9 +27487,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 2051 "parser_cocci_menhir.mly" +# 2074 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d)] ) -# 27196 "parser_cocci_menhir.ml" +# 27493 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27218,16 +27515,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 27222 "parser_cocci_menhir.ml" +# 27519 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 2053 "parser_cocci_menhir.mly" +# 2076 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 27231 "parser_cocci_menhir.ml" +# 27528 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27259,18 +27556,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 27263 "parser_cocci_menhir.ml" +# 27560 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 2056 "parser_cocci_menhir.mly" +# 2079 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> (build_dots "..." d):: (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (r build_dots build_comma) ) -# 27274 "parser_cocci_menhir.ml" +# 27571 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27292,9 +27589,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = -# 2042 "parser_cocci_menhir.mly" +# 2065 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) -# 27298 "parser_cocci_menhir.ml" +# 27595 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27320,16 +27617,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 27324 "parser_cocci_menhir.ml" +# 27621 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = -# 2044 "parser_cocci_menhir.mly" +# 2067 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 27333 "parser_cocci_menhir.ml" +# 27630 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27361,17 +27658,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 27365 "parser_cocci_menhir.ml" +# 27662 "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_nonempty_list_start_one_dec_decl__TEllipsis_ = -# 2047 "parser_cocci_menhir.mly" +# 2070 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) -# 27375 "parser_cocci_menhir.ml" +# 27672 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27397,9 +27694,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = -# 2050 "parser_cocci_menhir.mly" +# 2073 "parser_cocci_menhir.mly" ( _2 ) -# 27403 "parser_cocci_menhir.ml" +# 27700 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27420,14 +27717,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 27424 "parser_cocci_menhir.ml" +# 27721 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = -# 2051 "parser_cocci_menhir.mly" +# 2074 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d)] ) -# 27431 "parser_cocci_menhir.ml" +# 27728 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27453,20 +27750,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 27457 "parser_cocci_menhir.ml" +# 27754 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 27462 "parser_cocci_menhir.ml" +# 27759 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = -# 2053 "parser_cocci_menhir.mly" +# 2076 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 27470 "parser_cocci_menhir.ml" +# 27767 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27498,22 +27795,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 27502 "parser_cocci_menhir.ml" +# 27799 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 27507 "parser_cocci_menhir.ml" +# 27804 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = -# 2056 "parser_cocci_menhir.mly" +# 2079 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> (build_dots "..." d):: (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (r build_dots build_comma) ) -# 27517 "parser_cocci_menhir.ml" +# 27814 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27535,9 +27832,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = -# 2042 "parser_cocci_menhir.mly" +# 2065 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) -# 27541 "parser_cocci_menhir.ml" +# 27838 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27563,16 +27860,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 27567 "parser_cocci_menhir.ml" +# 27864 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = -# 2044 "parser_cocci_menhir.mly" +# 2067 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 27576 "parser_cocci_menhir.ml" +# 27873 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27604,17 +27901,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 27608 "parser_cocci_menhir.ml" +# 27905 "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_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = -# 2047 "parser_cocci_menhir.mly" +# 2070 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) -# 27618 "parser_cocci_menhir.ml" +# 27915 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27640,9 +27937,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = -# 2050 "parser_cocci_menhir.mly" +# 2073 "parser_cocci_menhir.mly" ( _2 ) -# 27646 "parser_cocci_menhir.ml" +# 27943 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27663,14 +27960,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 27667 "parser_cocci_menhir.ml" +# 27964 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = -# 2051 "parser_cocci_menhir.mly" +# 2074 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d)] ) -# 27674 "parser_cocci_menhir.ml" +# 27971 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27696,20 +27993,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 27700 "parser_cocci_menhir.ml" +# 27997 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 27705 "parser_cocci_menhir.ml" +# 28002 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = -# 2053 "parser_cocci_menhir.mly" +# 2076 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 27713 "parser_cocci_menhir.ml" +# 28010 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27741,22 +28038,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 27745 "parser_cocci_menhir.ml" +# 28042 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 27750 "parser_cocci_menhir.ml" +# 28047 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = -# 2056 "parser_cocci_menhir.mly" +# 2079 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> (build_dots "..." d):: (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (r build_dots build_comma) ) -# 27760 "parser_cocci_menhir.ml" +# 28057 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27782,13 +28079,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_ceq = -# 1878 "parser_cocci_menhir.mly" +# 1898 "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] ) -# 27792 "parser_cocci_menhir.ml" +# 28089 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27822,13 +28119,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_ceq = -# 1884 "parser_cocci_menhir.mly" +# 1904 "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 ) -# 27832 "parser_cocci_menhir.ml" +# 28129 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27850,9 +28147,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ceq_ in let _endpos = _endpos_ceq_ in let _v : 'tv_not_ceq_or_sub = -# 1854 "parser_cocci_menhir.mly" +# 1874 "parser_cocci_menhir.mly" (Ast0.NotExpCstrt ceq) -# 27856 "parser_cocci_menhir.ml" +# 28153 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27874,9 +28171,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_not_ceq_or_sub = -# 1855 "parser_cocci_menhir.mly" +# 1875 "parser_cocci_menhir.mly" (Ast0.SubExpCstrt s) -# 27880 "parser_cocci_menhir.ml" +# 28177 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27902,14 +28199,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_eqe = -# 1859 "parser_cocci_menhir.mly" +# 1879 "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))))] ) -# 27913 "parser_cocci_menhir.ml" +# 28210 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27943,7 +28240,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_eqe = -# 1866 "parser_cocci_menhir.mly" +# 1886 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -27953,7 +28250,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))) l ) -# 27957 "parser_cocci_menhir.ml" +# 28254 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27979,7 +28276,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_eqid = -# 1816 "parser_cocci_menhir.mly" +# 1836 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -27993,7 +28290,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in Ast.IdNegIdSet([],[i]) | (None,i) -> Ast.IdNegIdSet([i],[])) ) -# 27997 "parser_cocci_menhir.ml" +# 28294 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28027,7 +28324,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_eqid = -# 1830 "parser_cocci_menhir.mly" +# 1850 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -28035,7 +28332,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let (str,meta) = List.fold_left (function (str,meta) -> - function + function (Some rn,id) as i -> let i = P.check_inherited_constraint i @@ -28045,7 +28342,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct ([],[]) l in Ast.IdNegIdSet(str,meta) ) -# 28049 "parser_cocci_menhir.ml" +# 28346 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28071,7 +28368,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_pos = -# 1922 "parser_cocci_menhir.mly" +# 1943 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -28080,7 +28377,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.check_inherited_constraint i (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)) in [i] ) -# 28084 "parser_cocci_menhir.ml" +# 28381 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28114,7 +28411,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_pos = -# 1931 "parser_cocci_menhir.mly" +# 1952 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -28124,7 +28421,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.check_inherited_constraint i (function mv -> Ast.MetaPosDecl(Ast.NONE,mv))) l ) -# 28128 "parser_cocci_menhir.ml" +# 28425 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28146,9 +28443,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_decl_ = -# 2017 "parser_cocci_menhir.mly" +# 2040 "parser_cocci_menhir.mly" ( _1 ) -# 28152 "parser_cocci_menhir.ml" +# 28449 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28169,12 +28466,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 134 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 28173 "parser_cocci_menhir.ml" +# 28470 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_decl_ = -# 2019 "parser_cocci_menhir.mly" +# 2042 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in let lenname = @@ -28183,7 +28480,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)) ) -# 28187 "parser_cocci_menhir.ml" +# 28484 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28205,9 +28502,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_ = -# 2017 "parser_cocci_menhir.mly" +# 2040 "parser_cocci_menhir.mly" ( _1 ) -# 28211 "parser_cocci_menhir.ml" +# 28508 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28228,12 +28525,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 134 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 28232 "parser_cocci_menhir.ml" +# 28529 "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_ = -# 2019 "parser_cocci_menhir.mly" +# 2042 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in let lenname = @@ -28242,7 +28539,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)) ) -# 28246 "parser_cocci_menhir.ml" +# 28543 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28268,15 +28565,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 28272 "parser_cocci_menhir.ml" +# 28569 "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 = -# 1251 "parser_cocci_menhir.mly" +# 1263 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) ) -# 28280 "parser_cocci_menhir.ml" +# 28577 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28297,14 +28594,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 133 "parser_cocci_menhir.mly" (Parse_aux.info) -# 28301 "parser_cocci_menhir.ml" +# 28598 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_decl_var = -# 1252 "parser_cocci_menhir.mly" +# 1264 "parser_cocci_menhir.mly" ( P.meta_decl _1 ) -# 28308 "parser_cocci_menhir.ml" +# 28605 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28335,7 +28632,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 28339 "parser_cocci_menhir.ml" +# 28636 "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 @@ -28345,14 +28642,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 28349 "parser_cocci_menhir.ml" +# 28646 "parser_cocci_menhir.ml" in -# 1254 "parser_cocci_menhir.mly" +# 1266 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) -# 28356 "parser_cocci_menhir.ml" +# 28653 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28388,7 +28685,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 28392 "parser_cocci_menhir.ml" +# 28689 "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 @@ -28400,14 +28697,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 28404 "parser_cocci_menhir.ml" +# 28701 "parser_cocci_menhir.ml" in -# 1254 "parser_cocci_menhir.mly" +# 1266 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) -# 28411 "parser_cocci_menhir.ml" +# 28708 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28429,9 +28726,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_f_ in let _v : 'tv_one_decl_var = -# 1256 "parser_cocci_menhir.mly" +# 1268 "parser_cocci_menhir.mly" ( f ) -# 28435 "parser_cocci_menhir.ml" +# 28732 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28472,13 +28769,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 28476 "parser_cocci_menhir.ml" +# 28773 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 28482 "parser_cocci_menhir.ml" +# 28779 "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 @@ -28488,14 +28785,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 28492 "parser_cocci_menhir.ml" +# 28789 "parser_cocci_menhir.ml" in -# 1258 "parser_cocci_menhir.mly" +# 1270 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) ) -# 28499 "parser_cocci_menhir.ml" +# 28796 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28541,13 +28838,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 28545 "parser_cocci_menhir.ml" +# 28842 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 28551 "parser_cocci_menhir.ml" +# 28848 "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 @@ -28559,14 +28856,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 28563 "parser_cocci_menhir.ml" +# 28860 "parser_cocci_menhir.ml" in -# 1258 "parser_cocci_menhir.mly" +# 1270 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) ) -# 28570 "parser_cocci_menhir.ml" +# 28867 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28597,32 +28894,32 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 28601 "parser_cocci_menhir.ml" +# 28898 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in - let i : 'tv_pure_ident = Obj.magic i in + let i : 'tv_pure_ident_or_symbol = Obj.magic i in let _startpos = _startpos_i_ in let _endpos = _endpos_pv_ in let _v : 'tv_one_decl_var = let cv = # 39 "standard.mly" ( None ) -# 28611 "parser_cocci_menhir.ml" +# 28908 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 28618 "parser_cocci_menhir.ml" +# 28915 "parser_cocci_menhir.ml" in -# 1263 "parser_cocci_menhir.mly" +# 1275 "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)) ) -# 28626 "parser_cocci_menhir.ml" +# 28923 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28658,10 +28955,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 28662 "parser_cocci_menhir.ml" +# 28959 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in - let i : 'tv_pure_ident = Obj.magic i in + let i : 'tv_pure_ident_or_symbol = Obj.magic i in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_pv_ in @@ -28670,22 +28967,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 28674 "parser_cocci_menhir.ml" +# 28971 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 28681 "parser_cocci_menhir.ml" +# 28978 "parser_cocci_menhir.ml" in -# 1263 "parser_cocci_menhir.mly" +# 1275 "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)) ) -# 28689 "parser_cocci_menhir.ml" +# 28986 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28721,10 +29018,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 28725 "parser_cocci_menhir.ml" +# 29022 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in - let i : 'tv_pure_ident = Obj.magic i in + let i : 'tv_pure_ident_or_symbol = Obj.magic i in let x0 : 'tv_storage = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_pv_ in @@ -28732,7 +29029,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 28736 "parser_cocci_menhir.ml" +# 29033 "parser_cocci_menhir.ml" in let s = @@ -28740,15 +29037,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 28744 "parser_cocci_menhir.ml" +# 29041 "parser_cocci_menhir.ml" in -# 1263 "parser_cocci_menhir.mly" +# 1275 "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)) ) -# 28752 "parser_cocci_menhir.ml" +# 29049 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28789,10 +29086,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 28793 "parser_cocci_menhir.ml" +# 29090 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in - let i : 'tv_pure_ident = Obj.magic i in + let i : 'tv_pure_ident_or_symbol = Obj.magic i in let x1 : 'tv_const_vol = Obj.magic x1 in let x0 : 'tv_storage = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -28802,7 +29099,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 28806 "parser_cocci_menhir.ml" +# 29103 "parser_cocci_menhir.ml" in let s = @@ -28810,15 +29107,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 28814 "parser_cocci_menhir.ml" +# 29111 "parser_cocci_menhir.ml" in -# 1263 "parser_cocci_menhir.mly" +# 1275 "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)) ) -# 28822 "parser_cocci_menhir.ml" +# 29119 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28859,40 +29156,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 28863 "parser_cocci_menhir.ml" +# 29160 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 28869 "parser_cocci_menhir.ml" +# 29166 "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 + let i : 'tv_pure_ident_or_symbol = Obj.magic i in let _startpos = _startpos_i_ in let _endpos = _endpos_pv_ in let _v : 'tv_one_decl_var = let cv = # 39 "standard.mly" ( None ) -# 28879 "parser_cocci_menhir.ml" +# 29176 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 28886 "parser_cocci_menhir.ml" +# 29183 "parser_cocci_menhir.ml" in -# 1268 "parser_cocci_menhir.mly" +# 1280 "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)) ) -# 28896 "parser_cocci_menhir.ml" +# 29193 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28938,16 +29235,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 28942 "parser_cocci_menhir.ml" +# 29239 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 28948 "parser_cocci_menhir.ml" +# 29245 "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 + let i : 'tv_pure_ident_or_symbol = Obj.magic i in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_pv_ in @@ -28956,24 +29253,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 28960 "parser_cocci_menhir.ml" +# 29257 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 28967 "parser_cocci_menhir.ml" +# 29264 "parser_cocci_menhir.ml" in -# 1268 "parser_cocci_menhir.mly" +# 1280 "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)) ) -# 28977 "parser_cocci_menhir.ml" +# 29274 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29019,16 +29316,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 29023 "parser_cocci_menhir.ml" +# 29320 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 29029 "parser_cocci_menhir.ml" +# 29326 "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 + let i : 'tv_pure_ident_or_symbol = Obj.magic i in let x0 : 'tv_storage = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_pv_ in @@ -29036,7 +29333,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 29040 "parser_cocci_menhir.ml" +# 29337 "parser_cocci_menhir.ml" in let s = @@ -29044,17 +29341,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 29048 "parser_cocci_menhir.ml" +# 29345 "parser_cocci_menhir.ml" in -# 1268 "parser_cocci_menhir.mly" +# 1280 "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)) ) -# 29058 "parser_cocci_menhir.ml" +# 29355 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29105,16 +29402,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 29109 "parser_cocci_menhir.ml" +# 29406 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 29115 "parser_cocci_menhir.ml" +# 29412 "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 + let i : 'tv_pure_ident_or_symbol = Obj.magic i in let x1 : 'tv_const_vol = Obj.magic x1 in let x0 : 'tv_storage = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -29124,7 +29421,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 29128 "parser_cocci_menhir.ml" +# 29425 "parser_cocci_menhir.ml" in let s = @@ -29132,17 +29429,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 29136 "parser_cocci_menhir.ml" +# 29433 "parser_cocci_menhir.ml" in -# 1268 "parser_cocci_menhir.mly" +# 1280 "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)) ) -# 29146 "parser_cocci_menhir.ml" +# 29443 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29203,34 +29500,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 29207 "parser_cocci_menhir.ml" +# 29504 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 29212 "parser_cocci_menhir.ml" +# 29509 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 29218 "parser_cocci_menhir.ml" +# 29515 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 29223 "parser_cocci_menhir.ml" +# 29520 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 168 "parser_cocci_menhir.mly" (Data.clt) -# 29229 "parser_cocci_menhir.ml" +# 29526 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 29234 "parser_cocci_menhir.ml" +# 29531 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -29239,11 +29536,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 29243 "parser_cocci_menhir.ml" +# 29540 "parser_cocci_menhir.ml" in -# 1278 "parser_cocci_menhir.mly" +# 1290 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -29251,7 +29548,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)) ) -# 29255 "parser_cocci_menhir.ml" +# 29552 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29317,34 +29614,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 29321 "parser_cocci_menhir.ml" +# 29618 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 29326 "parser_cocci_menhir.ml" +# 29623 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 29332 "parser_cocci_menhir.ml" +# 29629 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 29337 "parser_cocci_menhir.ml" +# 29634 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 168 "parser_cocci_menhir.mly" (Data.clt) -# 29343 "parser_cocci_menhir.ml" +# 29640 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 29348 "parser_cocci_menhir.ml" +# 29645 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -29355,11 +29652,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 29359 "parser_cocci_menhir.ml" +# 29656 "parser_cocci_menhir.ml" in -# 1278 "parser_cocci_menhir.mly" +# 1290 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -29367,7 +29664,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)) ) -# 29371 "parser_cocci_menhir.ml" +# 29668 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29408,27 +29705,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _5 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 29412 "parser_cocci_menhir.ml" +# 29709 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 29417 "parser_cocci_menhir.ml" +# 29714 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 29423 "parser_cocci_menhir.ml" +# 29720 "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 = -# 1286 "parser_cocci_menhir.mly" +# 1298 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3, P.clt2mcode ")" _4,P.clt2mcode ";" _5)) ) -# 29432 "parser_cocci_menhir.ml" +# 29729 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29499,40 +29796,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 29503 "parser_cocci_menhir.ml" +# 29800 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 29509 "parser_cocci_menhir.ml" +# 29806 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 29514 "parser_cocci_menhir.ml" +# 29811 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 29520 "parser_cocci_menhir.ml" +# 29817 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 29525 "parser_cocci_menhir.ml" +# 29822 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 168 "parser_cocci_menhir.mly" (Data.clt) -# 29531 "parser_cocci_menhir.ml" +# 29828 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 29536 "parser_cocci_menhir.ml" +# 29833 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -29541,11 +29838,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 29545 "parser_cocci_menhir.ml" +# 29842 "parser_cocci_menhir.ml" in -# 1292 "parser_cocci_menhir.mly" +# 1304 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -29553,7 +29850,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))) -# 29557 "parser_cocci_menhir.ml" +# 29854 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29629,40 +29926,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 29633 "parser_cocci_menhir.ml" +# 29930 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 29639 "parser_cocci_menhir.ml" +# 29936 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 29644 "parser_cocci_menhir.ml" +# 29941 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 29650 "parser_cocci_menhir.ml" +# 29947 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 29655 "parser_cocci_menhir.ml" +# 29952 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 168 "parser_cocci_menhir.mly" (Data.clt) -# 29661 "parser_cocci_menhir.ml" +# 29958 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 29666 "parser_cocci_menhir.ml" +# 29963 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -29673,11 +29970,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 29677 "parser_cocci_menhir.ml" +# 29974 "parser_cocci_menhir.ml" in -# 1292 "parser_cocci_menhir.mly" +# 1304 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -29685,7 +29982,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))) -# 29689 "parser_cocci_menhir.ml" +# 29986 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29702,7 +29999,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TLocal_ = # 29 "standard.mly" ( None ) -# 29706 "parser_cocci_menhir.ml" +# 30003 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29726,7 +30023,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TLocal_ = # 31 "standard.mly" ( Some x ) -# 29730 "parser_cocci_menhir.ml" +# 30027 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29743,7 +30040,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TPosAny_ = # 29 "standard.mly" ( None ) -# 29747 "parser_cocci_menhir.ml" +# 30044 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29767,7 +30064,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TPosAny_ = # 31 "standard.mly" ( Some x ) -# 29771 "parser_cocci_menhir.ml" +# 30068 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29784,7 +30081,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_eexpr_ = # 29 "standard.mly" ( None ) -# 29788 "parser_cocci_menhir.ml" +# 30085 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29808,7 +30105,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_eexpr_ = # 31 "standard.mly" ( Some x ) -# 29812 "parser_cocci_menhir.ml" +# 30109 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29825,7 +30122,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_expr_ = # 29 "standard.mly" ( None ) -# 29829 "parser_cocci_menhir.ml" +# 30126 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29849,7 +30146,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_expr_ = # 31 "standard.mly" ( Some x ) -# 29853 "parser_cocci_menhir.ml" +# 30150 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29866,7 +30163,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_not_ceq_or_sub_ = # 29 "standard.mly" ( None ) -# 29870 "parser_cocci_menhir.ml" +# 30167 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29890,7 +30187,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_not_ceq_or_sub_ = # 31 "standard.mly" ( Some x ) -# 29894 "parser_cocci_menhir.ml" +# 30191 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29907,7 +30204,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_re_or_not_eqe_or_sub_ = # 29 "standard.mly" ( None ) -# 29911 "parser_cocci_menhir.ml" +# 30208 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29931,7 +30228,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_re_or_not_eqe_or_sub_ = # 31 "standard.mly" ( Some x ) -# 29935 "parser_cocci_menhir.ml" +# 30232 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29948,7 +30245,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_re_or_not_eqid_ = # 29 "standard.mly" ( None ) -# 29952 "parser_cocci_menhir.ml" +# 30249 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29972,7 +30269,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_re_or_not_eqid_ = # 31 "standard.mly" ( Some x ) -# 29976 "parser_cocci_menhir.ml" +# 30273 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29987,9 +30284,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 = -# 2182 "parser_cocci_menhir.mly" +# 2205 "parser_cocci_menhir.mly" ([]) -# 29993 "parser_cocci_menhir.ml" +# 30290 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30015,9 +30312,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 2183 "parser_cocci_menhir.mly" +# 2206 "parser_cocci_menhir.mly" (_2) -# 30021 "parser_cocci_menhir.ml" +# 30318 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30045,9 +30342,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 2185 "parser_cocci_menhir.mly" +# 2208 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 ) -# 30051 "parser_cocci_menhir.ml" +# 30348 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30075,9 +30372,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 2186 "parser_cocci_menhir.mly" +# 2209 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.OTHER(_1))::_2 ) -# 30081 "parser_cocci_menhir.ml" +# 30378 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30105,9 +30402,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 2188 "parser_cocci_menhir.mly" +# 2211 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) -# 30111 "parser_cocci_menhir.ml" +# 30408 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30122,9 +30419,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 = -# 2178 "parser_cocci_menhir.mly" +# 2201 "parser_cocci_menhir.mly" ([]) -# 30128 "parser_cocci_menhir.ml" +# 30425 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30152,9 +30449,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_exp = -# 2179 "parser_cocci_menhir.mly" +# 2202 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) -# 30158 "parser_cocci_menhir.ml" +# 30455 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30169,9 +30466,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 = -# 2191 "parser_cocci_menhir.mly" +# 2214 "parser_cocci_menhir.mly" ([]) -# 30175 "parser_cocci_menhir.ml" +# 30472 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30199,9 +30496,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 2192 "parser_cocci_menhir.mly" +# 2215 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) -# 30205 "parser_cocci_menhir.ml" +# 30502 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30229,9 +30526,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 2193 "parser_cocci_menhir.mly" +# 2216 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.OTHER(_1))::_2 ) -# 30235 "parser_cocci_menhir.ml" +# 30532 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30259,9 +30556,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 2195 "parser_cocci_menhir.mly" +# 2218 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) -# 30265 "parser_cocci_menhir.ml" +# 30562 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30289,9 +30586,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_plus_body = -# 847 "parser_cocci_menhir.mly" +# 851 "parser_cocci_menhir.mly" ( f@b(*@ew*) ) -# 30295 "parser_cocci_menhir.ml" +# 30592 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30319,9 +30616,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_plus_exp_body = -# 861 "parser_cocci_menhir.mly" +# 865 "parser_cocci_menhir.mly" ( f@[b](*@ew*) ) -# 30325 "parser_cocci_menhir.ml" +# 30622 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30349,11 +30646,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 214 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 30353 "parser_cocci_menhir.ml" +# 30650 "parser_cocci_menhir.ml" ) = # 250 "parser_cocci_menhir.mly" ( _1 ) -# 30357 "parser_cocci_menhir.ml" +# 30654 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30381,11 +30678,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 214 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 30385 "parser_cocci_menhir.ml" +# 30682 "parser_cocci_menhir.ml" ) = # 250 "parser_cocci_menhir.mly" ( p ) -# 30389 "parser_cocci_menhir.ml" +# 30686 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30413,11 +30710,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 214 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 30417 "parser_cocci_menhir.ml" +# 30714 "parser_cocci_menhir.ml" ) = # 251 "parser_cocci_menhir.mly" ( p ) -# 30421 "parser_cocci_menhir.ml" +# 30718 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30445,11 +30742,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 211 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 30449 "parser_cocci_menhir.ml" +# 30746 "parser_cocci_menhir.ml" ) = # 246 "parser_cocci_menhir.mly" ( _1 ) -# 30453 "parser_cocci_menhir.ml" +# 30750 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30477,11 +30774,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 211 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 30481 "parser_cocci_menhir.ml" +# 30778 "parser_cocci_menhir.ml" ) = # 246 "parser_cocci_menhir.mly" ( p ) -# 30485 "parser_cocci_menhir.ml" +# 30782 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30509,11 +30806,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 211 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 30513 "parser_cocci_menhir.ml" +# 30810 "parser_cocci_menhir.ml" ) = # 247 "parser_cocci_menhir.mly" ( p ) -# 30517 "parser_cocci_menhir.ml" +# 30814 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30535,9 +30832,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_plus_start = -# 2167 "parser_cocci_menhir.mly" +# 2190 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] ) -# 30541 "parser_cocci_menhir.ml" +# 30838 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30559,9 +30856,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_plus_start = -# 2168 "parser_cocci_menhir.mly" +# 2191 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] ) -# 30565 "parser_cocci_menhir.ml" +# 30862 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30589,9 +30886,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 2170 "parser_cocci_menhir.mly" +# 2193 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) -# 30595 "parser_cocci_menhir.ml" +# 30892 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30619,9 +30916,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 2172 "parser_cocci_menhir.mly" +# 2195 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 ) -# 30625 "parser_cocci_menhir.ml" +# 30922 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30649,9 +30946,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 2173 "parser_cocci_menhir.mly" +# 2196 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.OTHER(_1))::_2 ) -# 30655 "parser_cocci_menhir.ml" +# 30952 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30679,165 +30976,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 2175 "parser_cocci_menhir.mly" +# 2198 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) -# 30685 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - 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 : ( -# 112 "parser_cocci_menhir.mly" - (string) -# 30706 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_pnrule = -# 301 "parser_cocci_menhir.mly" - ( Ast.Dep _1 ) -# 30713 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in - let _2 : ( -# 112 "parser_cocci_menhir.mly" - (string) -# 30738 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_pnrule = -# 302 "parser_cocci_menhir.mly" - ( Ast.AntiDep _2 ) -# 30745 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in - let _2 : ( -# 112 "parser_cocci_menhir.mly" - (string) -# 30770 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_pnrule = -# 303 "parser_cocci_menhir.mly" - ( Ast.EverDep _2 ) -# 30777 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in - let _2 : ( -# 112 "parser_cocci_menhir.mly" - (string) -# 30802 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_pnrule = -# 304 "parser_cocci_menhir.mly" - ( Ast.NeverDep _2 ) -# 30809 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - } = _menhir_stack in - let _2 : 'tv_dep = Obj.magic _2 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__3_ in - let _v : 'tv_pnrule = -# 305 "parser_cocci_menhir.mly" - ( _2 ) -# 30841 "parser_cocci_menhir.ml" +# 30982 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30859,9 +31000,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_ = -# 1606 "parser_cocci_menhir.mly" +# 1618 "parser_cocci_menhir.mly" ( _1 ) -# 30865 "parser_cocci_menhir.ml" +# 31006 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30897,22 +31038,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 171 "parser_cocci_menhir.mly" (Data.clt) -# 30901 "parser_cocci_menhir.ml" +# 31042 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( # 171 "parser_cocci_menhir.mly" (Data.clt) -# 30907 "parser_cocci_menhir.ml" +# 31048 "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_ = -# 1608 "parser_cocci_menhir.mly" +# 1620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 30916 "parser_cocci_menhir.ml" +# 31057 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30944,15 +31085,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 30948 "parser_cocci_menhir.ml" +# 31089 "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_ = -# 1611 "parser_cocci_menhir.mly" +# 1623 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 30956 "parser_cocci_menhir.ml" +# 31097 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30984,16 +31125,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 173 "parser_cocci_menhir.mly" (Data.clt) -# 30988 "parser_cocci_menhir.ml" +# 31129 "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_ = -# 1613 "parser_cocci_menhir.mly" +# 1625 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 30997 "parser_cocci_menhir.ml" +# 31138 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31019,15 +31160,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 154 "parser_cocci_menhir.mly" (Data.clt) -# 31023 "parser_cocci_menhir.ml" +# 31164 "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_ = -# 1616 "parser_cocci_menhir.mly" +# 1628 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 31031 "parser_cocci_menhir.ml" +# 31172 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31053,15 +31194,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 154 "parser_cocci_menhir.mly" (Data.clt) -# 31057 "parser_cocci_menhir.ml" +# 31198 "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_ = -# 1618 "parser_cocci_menhir.mly" +# 1630 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 31065 "parser_cocci_menhir.ml" +# 31206 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31097,23 +31238,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 31101 "parser_cocci_menhir.ml" +# 31242 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 31107 "parser_cocci_menhir.ml" +# 31248 "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_ = -# 1620 "parser_cocci_menhir.mly" +# 1632 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 31117 "parser_cocci_menhir.ml" +# 31258 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31159,29 +31300,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _6 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 31163 "parser_cocci_menhir.ml" +# 31304 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_initialize_list = Obj.magic _5 in let _4 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 31169 "parser_cocci_menhir.ml" +# 31310 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 31174 "parser_cocci_menhir.ml" +# 31315 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_ctype = Obj.magic _2 in let _1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 31180 "parser_cocci_menhir.ml" +# 31321 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__6_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1626 "parser_cocci_menhir.mly" +# 1638 "parser_cocci_menhir.mly" ( let init = if P.struct_initializer _5 then @@ -31193,7 +31334,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (Ast0.InitList(P.clt2mcode "{" _4,_5,P.clt2mcode "}" _6,true)) in Ast0.wrap (Ast0.Constructor(P.clt2mcode "(" _1, _2, P.clt2mcode ")" _3, init)) ) -# 31197 "parser_cocci_menhir.ml" +# 31338 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31215,9 +31356,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1606 "parser_cocci_menhir.mly" +# 1618 "parser_cocci_menhir.mly" ( _1 ) -# 31221 "parser_cocci_menhir.ml" +# 31362 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31253,22 +31394,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 171 "parser_cocci_menhir.mly" (Data.clt) -# 31257 "parser_cocci_menhir.ml" +# 31398 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( # 171 "parser_cocci_menhir.mly" (Data.clt) -# 31263 "parser_cocci_menhir.ml" +# 31404 "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_ = -# 1608 "parser_cocci_menhir.mly" +# 1620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 31272 "parser_cocci_menhir.ml" +# 31413 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31300,15 +31441,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 31304 "parser_cocci_menhir.ml" +# 31445 "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_ = -# 1611 "parser_cocci_menhir.mly" +# 1623 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 31312 "parser_cocci_menhir.ml" +# 31453 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31340,16 +31481,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 173 "parser_cocci_menhir.mly" (Data.clt) -# 31344 "parser_cocci_menhir.ml" +# 31485 "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_ = -# 1613 "parser_cocci_menhir.mly" +# 1625 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 31353 "parser_cocci_menhir.ml" +# 31494 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31375,15 +31516,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 154 "parser_cocci_menhir.mly" (Data.clt) -# 31379 "parser_cocci_menhir.ml" +# 31520 "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_ = -# 1616 "parser_cocci_menhir.mly" +# 1628 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 31387 "parser_cocci_menhir.ml" +# 31528 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31409,15 +31550,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 154 "parser_cocci_menhir.mly" (Data.clt) -# 31413 "parser_cocci_menhir.ml" +# 31554 "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_ = -# 1618 "parser_cocci_menhir.mly" +# 1630 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 31421 "parser_cocci_menhir.ml" +# 31562 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31453,23 +31594,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 31457 "parser_cocci_menhir.ml" +# 31598 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 31463 "parser_cocci_menhir.ml" +# 31604 "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_ = -# 1620 "parser_cocci_menhir.mly" +# 1632 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 31473 "parser_cocci_menhir.ml" +# 31614 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31515,29 +31656,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _6 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 31519 "parser_cocci_menhir.ml" +# 31660 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_initialize_list = Obj.magic _5 in let _4 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 31525 "parser_cocci_menhir.ml" +# 31666 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 31530 "parser_cocci_menhir.ml" +# 31671 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_ctype = Obj.magic _2 in let _1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 31536 "parser_cocci_menhir.ml" +# 31677 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__6_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1626 "parser_cocci_menhir.mly" +# 1638 "parser_cocci_menhir.mly" ( let init = if P.struct_initializer _5 then @@ -31549,7 +31690,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (Ast0.InitList(P.clt2mcode "{" _4,_5,P.clt2mcode "}" _6,true)) in Ast0.wrap (Ast0.Constructor(P.clt2mcode "(" _1, _2, P.clt2mcode ")" _3, init)) ) -# 31553 "parser_cocci_menhir.ml" +# 31694 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31571,9 +31712,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_ = -# 1606 "parser_cocci_menhir.mly" +# 1618 "parser_cocci_menhir.mly" ( _1 ) -# 31577 "parser_cocci_menhir.ml" +# 31718 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31609,22 +31750,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 171 "parser_cocci_menhir.mly" (Data.clt) -# 31613 "parser_cocci_menhir.ml" +# 31754 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( # 171 "parser_cocci_menhir.mly" (Data.clt) -# 31619 "parser_cocci_menhir.ml" +# 31760 "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_ = -# 1608 "parser_cocci_menhir.mly" +# 1620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 31628 "parser_cocci_menhir.ml" +# 31769 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31656,15 +31797,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 31660 "parser_cocci_menhir.ml" +# 31801 "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_ = -# 1611 "parser_cocci_menhir.mly" +# 1623 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 31668 "parser_cocci_menhir.ml" +# 31809 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31696,16 +31837,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 173 "parser_cocci_menhir.mly" (Data.clt) -# 31700 "parser_cocci_menhir.ml" +# 31841 "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_ = -# 1613 "parser_cocci_menhir.mly" +# 1625 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 31709 "parser_cocci_menhir.ml" +# 31850 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31731,15 +31872,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 154 "parser_cocci_menhir.mly" (Data.clt) -# 31735 "parser_cocci_menhir.ml" +# 31876 "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_ = -# 1616 "parser_cocci_menhir.mly" +# 1628 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 31743 "parser_cocci_menhir.ml" +# 31884 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31765,15 +31906,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 154 "parser_cocci_menhir.mly" (Data.clt) -# 31769 "parser_cocci_menhir.ml" +# 31910 "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_ = -# 1618 "parser_cocci_menhir.mly" +# 1630 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 31777 "parser_cocci_menhir.ml" +# 31918 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31809,23 +31950,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 31813 "parser_cocci_menhir.ml" +# 31954 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 31819 "parser_cocci_menhir.ml" +# 31960 "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_ = -# 1620 "parser_cocci_menhir.mly" +# 1632 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 31829 "parser_cocci_menhir.ml" +# 31970 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31871,29 +32012,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _6 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 31875 "parser_cocci_menhir.ml" +# 32016 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_initialize_list = Obj.magic _5 in let _4 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 31881 "parser_cocci_menhir.ml" +# 32022 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 31886 "parser_cocci_menhir.ml" +# 32027 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_ctype = Obj.magic _2 in let _1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 31892 "parser_cocci_menhir.ml" +# 32033 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__6_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1626 "parser_cocci_menhir.mly" +# 1638 "parser_cocci_menhir.mly" ( let init = if P.struct_initializer _5 then @@ -31905,7 +32046,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (Ast0.InitList(P.clt2mcode "{" _4,_5,P.clt2mcode "}" _6,true)) in Ast0.wrap (Ast0.Constructor(P.clt2mcode "(" _1, _2, P.clt2mcode ")" _3, init)) ) -# 31909 "parser_cocci_menhir.ml" +# 32050 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31927,9 +32068,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1606 "parser_cocci_menhir.mly" +# 1618 "parser_cocci_menhir.mly" ( _1 ) -# 31933 "parser_cocci_menhir.ml" +# 32074 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31965,22 +32106,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 171 "parser_cocci_menhir.mly" (Data.clt) -# 31969 "parser_cocci_menhir.ml" +# 32110 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( # 171 "parser_cocci_menhir.mly" (Data.clt) -# 31975 "parser_cocci_menhir.ml" +# 32116 "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_ = -# 1608 "parser_cocci_menhir.mly" +# 1620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 31984 "parser_cocci_menhir.ml" +# 32125 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32012,15 +32153,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 32016 "parser_cocci_menhir.ml" +# 32157 "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_ = -# 1611 "parser_cocci_menhir.mly" +# 1623 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 32024 "parser_cocci_menhir.ml" +# 32165 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32052,16 +32193,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 173 "parser_cocci_menhir.mly" (Data.clt) -# 32056 "parser_cocci_menhir.ml" +# 32197 "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_ = -# 1613 "parser_cocci_menhir.mly" +# 1625 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 32065 "parser_cocci_menhir.ml" +# 32206 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32087,15 +32228,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 154 "parser_cocci_menhir.mly" (Data.clt) -# 32091 "parser_cocci_menhir.ml" +# 32232 "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_ = -# 1616 "parser_cocci_menhir.mly" +# 1628 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 32099 "parser_cocci_menhir.ml" +# 32240 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32121,15 +32262,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 154 "parser_cocci_menhir.mly" (Data.clt) -# 32125 "parser_cocci_menhir.ml" +# 32266 "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_ = -# 1618 "parser_cocci_menhir.mly" +# 1630 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 32133 "parser_cocci_menhir.ml" +# 32274 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32165,23 +32306,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 32169 "parser_cocci_menhir.ml" +# 32310 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 32175 "parser_cocci_menhir.ml" +# 32316 "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_ = -# 1620 "parser_cocci_menhir.mly" +# 1632 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 32185 "parser_cocci_menhir.ml" +# 32326 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32227,29 +32368,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _6 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 32231 "parser_cocci_menhir.ml" +# 32372 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_initialize_list = Obj.magic _5 in let _4 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 32237 "parser_cocci_menhir.ml" +# 32378 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 32242 "parser_cocci_menhir.ml" +# 32383 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_ctype = Obj.magic _2 in let _1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 32248 "parser_cocci_menhir.ml" +# 32389 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__6_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1626 "parser_cocci_menhir.mly" +# 1638 "parser_cocci_menhir.mly" ( let init = if P.struct_initializer _5 then @@ -32261,7 +32402,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (Ast0.InitList(P.clt2mcode "{" _4,_5,P.clt2mcode "}" _6,true)) in Ast0.wrap (Ast0.Constructor(P.clt2mcode "(" _1, _2, P.clt2mcode ")" _3, init)) ) -# 32265 "parser_cocci_menhir.ml" +# 32406 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32283,9 +32424,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_ = -# 1639 "parser_cocci_menhir.mly" +# 1651 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 32289 "parser_cocci_menhir.ml" +# 32430 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32312,15 +32453,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 159 "parser_cocci_menhir.mly" (Data.clt) -# 32316 "parser_cocci_menhir.ml" +# 32457 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1641 "parser_cocci_menhir.mly" +# 1653 "parser_cocci_menhir.mly" ( let op = P.clt2mcode Ast.GetRefLabel _1 in Ast0.wrap(Ast0.Unary(Ast0.wrap(Ast0.Ident(_2)), op)) ) -# 32324 "parser_cocci_menhir.ml" +# 32465 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32341,15 +32482,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 32345 "parser_cocci_menhir.ml" +# 32486 "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_ = -# 1644 "parser_cocci_menhir.mly" +# 1656 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 32353 "parser_cocci_menhir.ml" +# 32494 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32370,15 +32511,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 32374 "parser_cocci_menhir.ml" +# 32515 "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_ = -# 1647 "parser_cocci_menhir.mly" +# 1659 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 32382 "parser_cocci_menhir.ml" +# 32523 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32399,15 +32540,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 32403 "parser_cocci_menhir.ml" +# 32544 "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_ = -# 1650 "parser_cocci_menhir.mly" +# 1662 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 32411 "parser_cocci_menhir.ml" +# 32552 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32428,15 +32569,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 32432 "parser_cocci_menhir.ml" +# 32573 "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_ = -# 1653 "parser_cocci_menhir.mly" +# 1665 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 32440 "parser_cocci_menhir.ml" +# 32581 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32457,16 +32598,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 136 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 32461 "parser_cocci_menhir.ml" +# 32602 "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_ = -# 1656 "parser_cocci_menhir.mly" +# 1668 "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)) ) -# 32470 "parser_cocci_menhir.ml" +# 32611 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32487,15 +32628,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 131 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 32491 "parser_cocci_menhir.ml" +# 32632 "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_ = -# 1660 "parser_cocci_menhir.mly" +# 1672 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 32499 "parser_cocci_menhir.ml" +# 32640 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32516,16 +32657,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 136 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 32520 "parser_cocci_menhir.ml" +# 32661 "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_ = -# 1663 "parser_cocci_menhir.mly" +# 1675 "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)) ) -# 32529 "parser_cocci_menhir.ml" +# 32670 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32546,16 +32687,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 136 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 32550 "parser_cocci_menhir.ml" +# 32691 "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_ = -# 1667 "parser_cocci_menhir.mly" +# 1679 "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)) ) -# 32559 "parser_cocci_menhir.ml" +# 32700 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32576,16 +32717,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 136 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 32580 "parser_cocci_menhir.ml" +# 32721 "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_ = -# 1671 "parser_cocci_menhir.mly" +# 1683 "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)) ) -# 32589 "parser_cocci_menhir.ml" +# 32730 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32616,21 +32757,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 32620 "parser_cocci_menhir.ml" +# 32761 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 32626 "parser_cocci_menhir.ml" +# 32767 "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_ = -# 1675 "parser_cocci_menhir.mly" +# 1687 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 32634 "parser_cocci_menhir.ml" +# 32775 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32661,23 +32802,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 32665 "parser_cocci_menhir.ml" +# 32806 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 32671 "parser_cocci_menhir.ml" +# 32812 "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_ = -# 1678 "parser_cocci_menhir.mly" +# 1690 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 32681 "parser_cocci_menhir.ml" +# 32822 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32699,9 +32840,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_ = -# 1682 "parser_cocci_menhir.mly" +# 1694 "parser_cocci_menhir.mly" ( _1 ) -# 32705 "parser_cocci_menhir.ml" +# 32846 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32723,9 +32864,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1639 "parser_cocci_menhir.mly" +# 1651 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 32729 "parser_cocci_menhir.ml" +# 32870 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32752,15 +32893,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 159 "parser_cocci_menhir.mly" (Data.clt) -# 32756 "parser_cocci_menhir.ml" +# 32897 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1641 "parser_cocci_menhir.mly" +# 1653 "parser_cocci_menhir.mly" ( let op = P.clt2mcode Ast.GetRefLabel _1 in Ast0.wrap(Ast0.Unary(Ast0.wrap(Ast0.Ident(_2)), op)) ) -# 32764 "parser_cocci_menhir.ml" +# 32905 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32781,15 +32922,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 32785 "parser_cocci_menhir.ml" +# 32926 "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_ = -# 1644 "parser_cocci_menhir.mly" +# 1656 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 32793 "parser_cocci_menhir.ml" +# 32934 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32810,15 +32951,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 32814 "parser_cocci_menhir.ml" +# 32955 "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_ = -# 1647 "parser_cocci_menhir.mly" +# 1659 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 32822 "parser_cocci_menhir.ml" +# 32963 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32839,15 +32980,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 32843 "parser_cocci_menhir.ml" +# 32984 "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_ = -# 1650 "parser_cocci_menhir.mly" +# 1662 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 32851 "parser_cocci_menhir.ml" +# 32992 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32868,15 +33009,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 32872 "parser_cocci_menhir.ml" +# 33013 "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_ = -# 1653 "parser_cocci_menhir.mly" +# 1665 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 32880 "parser_cocci_menhir.ml" +# 33021 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32897,16 +33038,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 136 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 32901 "parser_cocci_menhir.ml" +# 33042 "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_ = -# 1656 "parser_cocci_menhir.mly" +# 1668 "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)) ) -# 32910 "parser_cocci_menhir.ml" +# 33051 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32927,15 +33068,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 131 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 32931 "parser_cocci_menhir.ml" +# 33072 "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_ = -# 1660 "parser_cocci_menhir.mly" +# 1672 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 32939 "parser_cocci_menhir.ml" +# 33080 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32956,16 +33097,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 136 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 32960 "parser_cocci_menhir.ml" +# 33101 "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_ = -# 1663 "parser_cocci_menhir.mly" +# 1675 "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)) ) -# 32969 "parser_cocci_menhir.ml" +# 33110 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32986,16 +33127,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 136 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 32990 "parser_cocci_menhir.ml" +# 33131 "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_ = -# 1667 "parser_cocci_menhir.mly" +# 1679 "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)) ) -# 32999 "parser_cocci_menhir.ml" +# 33140 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33016,16 +33157,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 136 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 33020 "parser_cocci_menhir.ml" +# 33161 "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_ = -# 1671 "parser_cocci_menhir.mly" +# 1683 "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)) ) -# 33029 "parser_cocci_menhir.ml" +# 33170 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33056,21 +33197,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 33060 "parser_cocci_menhir.ml" +# 33201 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 33066 "parser_cocci_menhir.ml" +# 33207 "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_ = -# 1675 "parser_cocci_menhir.mly" +# 1687 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 33074 "parser_cocci_menhir.ml" +# 33215 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33101,23 +33242,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 33105 "parser_cocci_menhir.ml" +# 33246 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 33111 "parser_cocci_menhir.ml" +# 33252 "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_ = -# 1678 "parser_cocci_menhir.mly" +# 1690 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 33121 "parser_cocci_menhir.ml" +# 33262 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33139,9 +33280,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1682 "parser_cocci_menhir.mly" +# 1694 "parser_cocci_menhir.mly" ( _1 ) -# 33145 "parser_cocci_menhir.ml" +# 33286 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33163,9 +33304,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_ = -# 1639 "parser_cocci_menhir.mly" +# 1651 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 33169 "parser_cocci_menhir.ml" +# 33310 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33192,15 +33333,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 159 "parser_cocci_menhir.mly" (Data.clt) -# 33196 "parser_cocci_menhir.ml" +# 33337 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1641 "parser_cocci_menhir.mly" +# 1653 "parser_cocci_menhir.mly" ( let op = P.clt2mcode Ast.GetRefLabel _1 in Ast0.wrap(Ast0.Unary(Ast0.wrap(Ast0.Ident(_2)), op)) ) -# 33204 "parser_cocci_menhir.ml" +# 33345 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33221,15 +33362,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 33225 "parser_cocci_menhir.ml" +# 33366 "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_ = -# 1644 "parser_cocci_menhir.mly" +# 1656 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 33233 "parser_cocci_menhir.ml" +# 33374 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33250,15 +33391,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 33254 "parser_cocci_menhir.ml" +# 33395 "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_ = -# 1647 "parser_cocci_menhir.mly" +# 1659 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 33262 "parser_cocci_menhir.ml" +# 33403 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33279,15 +33420,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 33283 "parser_cocci_menhir.ml" +# 33424 "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_ = -# 1650 "parser_cocci_menhir.mly" +# 1662 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 33291 "parser_cocci_menhir.ml" +# 33432 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33308,15 +33449,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 33312 "parser_cocci_menhir.ml" +# 33453 "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_ = -# 1653 "parser_cocci_menhir.mly" +# 1665 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 33320 "parser_cocci_menhir.ml" +# 33461 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33337,16 +33478,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 136 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 33341 "parser_cocci_menhir.ml" +# 33482 "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_ = -# 1656 "parser_cocci_menhir.mly" +# 1668 "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)) ) -# 33350 "parser_cocci_menhir.ml" +# 33491 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33367,15 +33508,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 131 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 33371 "parser_cocci_menhir.ml" +# 33512 "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_ = -# 1660 "parser_cocci_menhir.mly" +# 1672 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 33379 "parser_cocci_menhir.ml" +# 33520 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33396,16 +33537,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 136 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 33400 "parser_cocci_menhir.ml" +# 33541 "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_ = -# 1663 "parser_cocci_menhir.mly" +# 1675 "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)) ) -# 33409 "parser_cocci_menhir.ml" +# 33550 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33426,16 +33567,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 136 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 33430 "parser_cocci_menhir.ml" +# 33571 "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_ = -# 1667 "parser_cocci_menhir.mly" +# 1679 "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)) ) -# 33439 "parser_cocci_menhir.ml" +# 33580 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33456,16 +33597,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 136 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 33460 "parser_cocci_menhir.ml" +# 33601 "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_ = -# 1671 "parser_cocci_menhir.mly" +# 1683 "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)) ) -# 33469 "parser_cocci_menhir.ml" +# 33610 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33496,21 +33637,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 33500 "parser_cocci_menhir.ml" +# 33641 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 33506 "parser_cocci_menhir.ml" +# 33647 "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_ = -# 1675 "parser_cocci_menhir.mly" +# 1687 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 33514 "parser_cocci_menhir.ml" +# 33655 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33541,23 +33682,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 33545 "parser_cocci_menhir.ml" +# 33686 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 33551 "parser_cocci_menhir.ml" +# 33692 "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_ = -# 1678 "parser_cocci_menhir.mly" +# 1690 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 33561 "parser_cocci_menhir.ml" +# 33702 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33579,9 +33720,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_ = -# 1682 "parser_cocci_menhir.mly" +# 1694 "parser_cocci_menhir.mly" ( _1 ) -# 33585 "parser_cocci_menhir.ml" +# 33726 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33603,9 +33744,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1639 "parser_cocci_menhir.mly" +# 1651 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 33609 "parser_cocci_menhir.ml" +# 33750 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33632,15 +33773,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 159 "parser_cocci_menhir.mly" (Data.clt) -# 33636 "parser_cocci_menhir.ml" +# 33777 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1641 "parser_cocci_menhir.mly" +# 1653 "parser_cocci_menhir.mly" ( let op = P.clt2mcode Ast.GetRefLabel _1 in Ast0.wrap(Ast0.Unary(Ast0.wrap(Ast0.Ident(_2)), op)) ) -# 33644 "parser_cocci_menhir.ml" +# 33785 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33661,15 +33802,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 33665 "parser_cocci_menhir.ml" +# 33806 "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_ = -# 1644 "parser_cocci_menhir.mly" +# 1656 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 33673 "parser_cocci_menhir.ml" +# 33814 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33690,15 +33831,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 33694 "parser_cocci_menhir.ml" +# 33835 "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_ = -# 1647 "parser_cocci_menhir.mly" +# 1659 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 33702 "parser_cocci_menhir.ml" +# 33843 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33719,15 +33860,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 33723 "parser_cocci_menhir.ml" +# 33864 "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_ = -# 1650 "parser_cocci_menhir.mly" +# 1662 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 33731 "parser_cocci_menhir.ml" +# 33872 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33748,15 +33889,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 33752 "parser_cocci_menhir.ml" +# 33893 "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_ = -# 1653 "parser_cocci_menhir.mly" +# 1665 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 33760 "parser_cocci_menhir.ml" +# 33901 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33777,16 +33918,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 136 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 33781 "parser_cocci_menhir.ml" +# 33922 "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_ = -# 1656 "parser_cocci_menhir.mly" +# 1668 "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)) ) -# 33790 "parser_cocci_menhir.ml" +# 33931 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33807,15 +33948,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 131 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 33811 "parser_cocci_menhir.ml" +# 33952 "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_ = -# 1660 "parser_cocci_menhir.mly" +# 1672 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 33819 "parser_cocci_menhir.ml" +# 33960 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33836,16 +33977,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 136 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 33840 "parser_cocci_menhir.ml" +# 33981 "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_ = -# 1663 "parser_cocci_menhir.mly" +# 1675 "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)) ) -# 33849 "parser_cocci_menhir.ml" +# 33990 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33866,16 +34007,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 136 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 33870 "parser_cocci_menhir.ml" +# 34011 "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_ = -# 1667 "parser_cocci_menhir.mly" +# 1679 "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)) ) -# 33879 "parser_cocci_menhir.ml" +# 34020 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33896,16 +34037,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 136 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 33900 "parser_cocci_menhir.ml" +# 34041 "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_ = -# 1671 "parser_cocci_menhir.mly" +# 1683 "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)) ) -# 33909 "parser_cocci_menhir.ml" +# 34050 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33936,21 +34077,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 33940 "parser_cocci_menhir.ml" +# 34081 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 33946 "parser_cocci_menhir.ml" +# 34087 "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_ = -# 1675 "parser_cocci_menhir.mly" +# 1687 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 33954 "parser_cocci_menhir.ml" +# 34095 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33981,23 +34122,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 33985 "parser_cocci_menhir.ml" +# 34126 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in let _1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 33991 "parser_cocci_menhir.ml" +# 34132 "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_ = -# 1678 "parser_cocci_menhir.mly" +# 1690 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 34001 "parser_cocci_menhir.ml" +# 34142 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34019,9 +34160,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1682 "parser_cocci_menhir.mly" +# 1694 "parser_cocci_menhir.mly" ( _1 ) -# 34025 "parser_cocci_menhir.ml" +# 34166 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34043,7 +34184,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_pure = # 261 "parser_cocci_menhir.mly" ( Ast0.Pure ) -# 34047 "parser_cocci_menhir.ml" +# 34188 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34065,7 +34206,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_pure = # 262 "parser_cocci_menhir.mly" ( Ast0.Context ) -# 34069 "parser_cocci_menhir.ml" +# 34210 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34091,7 +34232,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_pure = # 263 "parser_cocci_menhir.mly" ( Ast0.PureContext ) -# 34095 "parser_cocci_menhir.ml" +# 34236 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34117,7 +34258,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_pure = # 264 "parser_cocci_menhir.mly" ( Ast0.PureContext ) -# 34121 "parser_cocci_menhir.ml" +# 34262 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34134,7 +34275,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_pure = # 265 "parser_cocci_menhir.mly" ( Ast0.Impure ) -# 34138 "parser_cocci_menhir.ml" +# 34279 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34155,14 +34296,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 34159 "parser_cocci_menhir.ml" +# 34300 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident = -# 1696 "parser_cocci_menhir.mly" +# 1708 "parser_cocci_menhir.mly" ( _1 ) -# 34166 "parser_cocci_menhir.ml" +# 34307 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34182,9 +34323,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1699 "parser_cocci_menhir.mly" +# 1715 "parser_cocci_menhir.mly" ( "identifier" ) -# 34188 "parser_cocci_menhir.ml" +# 34329 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34204,9 +34345,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1700 "parser_cocci_menhir.mly" +# 1716 "parser_cocci_menhir.mly" ( "expression" ) -# 34210 "parser_cocci_menhir.ml" +# 34351 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34226,9 +34367,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1701 "parser_cocci_menhir.mly" +# 1717 "parser_cocci_menhir.mly" ( "statement" ) -# 34232 "parser_cocci_menhir.ml" +# 34373 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34248,9 +34389,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1702 "parser_cocci_menhir.mly" +# 1718 "parser_cocci_menhir.mly" ( "function" ) -# 34254 "parser_cocci_menhir.ml" +# 34395 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34270,9 +34411,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1703 "parser_cocci_menhir.mly" +# 1719 "parser_cocci_menhir.mly" ( "local" ) -# 34276 "parser_cocci_menhir.ml" +# 34417 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34292,9 +34433,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1704 "parser_cocci_menhir.mly" +# 1720 "parser_cocci_menhir.mly" ( "type" ) -# 34298 "parser_cocci_menhir.ml" +# 34439 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34314,9 +34455,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1705 "parser_cocci_menhir.mly" +# 1721 "parser_cocci_menhir.mly" ( "parameter" ) -# 34320 "parser_cocci_menhir.ml" +# 34461 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34336,9 +34477,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1706 "parser_cocci_menhir.mly" +# 1722 "parser_cocci_menhir.mly" ( "idexpression" ) -# 34342 "parser_cocci_menhir.ml" +# 34483 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34358,9 +34499,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1707 "parser_cocci_menhir.mly" +# 1723 "parser_cocci_menhir.mly" ( "initialiser" ) -# 34364 "parser_cocci_menhir.ml" +# 34505 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34380,9 +34521,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1708 "parser_cocci_menhir.mly" +# 1724 "parser_cocci_menhir.mly" ( "list" ) -# 34386 "parser_cocci_menhir.ml" +# 34527 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34402,9 +34543,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1709 "parser_cocci_menhir.mly" +# 1725 "parser_cocci_menhir.mly" ( "fresh" ) -# 34408 "parser_cocci_menhir.ml" +# 34549 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34424,9 +34565,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1710 "parser_cocci_menhir.mly" +# 1726 "parser_cocci_menhir.mly" ( "constant" ) -# 34430 "parser_cocci_menhir.ml" +# 34571 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34446,9 +34587,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1711 "parser_cocci_menhir.mly" +# 1727 "parser_cocci_menhir.mly" ( "error" ) -# 34452 "parser_cocci_menhir.ml" +# 34593 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34468,9 +34609,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1712 "parser_cocci_menhir.mly" +# 1728 "parser_cocci_menhir.mly" ( "words" ) -# 34474 "parser_cocci_menhir.ml" +# 34615 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34490,9 +34631,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1713 "parser_cocci_menhir.mly" +# 1729 "parser_cocci_menhir.mly" ( "pure" ) -# 34496 "parser_cocci_menhir.ml" +# 34637 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34512,9 +34653,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1714 "parser_cocci_menhir.mly" +# 1730 "parser_cocci_menhir.mly" ( "context" ) -# 34518 "parser_cocci_menhir.ml" +# 34659 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34534,9 +34675,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1715 "parser_cocci_menhir.mly" +# 1731 "parser_cocci_menhir.mly" ( "generated" ) -# 34540 "parser_cocci_menhir.ml" +# 34681 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34556,9 +34697,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1716 "parser_cocci_menhir.mly" +# 1732 "parser_cocci_menhir.mly" ( "typedef" ) -# 34562 "parser_cocci_menhir.ml" +# 34703 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34578,9 +34719,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1717 "parser_cocci_menhir.mly" +# 1733 "parser_cocci_menhir.mly" ( "declarer" ) -# 34584 "parser_cocci_menhir.ml" +# 34725 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34600,9 +34741,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1718 "parser_cocci_menhir.mly" +# 1734 "parser_cocci_menhir.mly" ( "iterator" ) -# 34606 "parser_cocci_menhir.ml" +# 34747 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34622,9 +34763,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1719 "parser_cocci_menhir.mly" +# 1735 "parser_cocci_menhir.mly" ( "name" ) -# 34628 "parser_cocci_menhir.ml" +# 34769 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34644,9 +34785,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1720 "parser_cocci_menhir.mly" +# 1736 "parser_cocci_menhir.mly" ( "position" ) -# 34650 "parser_cocci_menhir.ml" +# 34791 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_pure_ident_kwd = +# 1737 "parser_cocci_menhir.mly" + ( "symbol" ) +# 34813 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34668,9 +34831,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 = -# 1727 "parser_cocci_menhir.mly" +# 1744 "parser_cocci_menhir.mly" ( (None,P.id2name _1) ) -# 34674 "parser_cocci_menhir.ml" +# 34837 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34692,9 +34855,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 = -# 1728 "parser_cocci_menhir.mly" +# 1745 "parser_cocci_menhir.mly" ( (None,_1) ) -# 34698 "parser_cocci_menhir.ml" +# 34861 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34716,9 +34879,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 = -# 1729 "parser_cocci_menhir.mly" +# 1746 "parser_cocci_menhir.mly" ( _1 ) -# 34722 "parser_cocci_menhir.ml" +# 34885 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34746,13 +34909,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_ = -# 1763 "parser_cocci_menhir.mly" +# 1783 "parser_cocci_menhir.mly" ( match optc with None -> (i, Ast0.NoConstraint) | Some c -> (i, c) ) -# 34756 "parser_cocci_menhir.ml" +# 34919 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34780,13 +34943,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_ = -# 1763 "parser_cocci_menhir.mly" +# 1783 "parser_cocci_menhir.mly" ( match optc with None -> (i, Ast0.NoConstraint) | Some c -> (i, c) ) -# 34790 "parser_cocci_menhir.ml" +# 34953 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34814,13 +34977,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_ = -# 1788 "parser_cocci_menhir.mly" +# 1808 "parser_cocci_menhir.mly" ( match c with None -> (i, Ast.IdNoConstraint) | Some constraint_ -> (i,constraint_) ) -# 34824 "parser_cocci_menhir.ml" +# 34987 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34848,14 +35011,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_ = -# 1771 "parser_cocci_menhir.mly" +# 1791 "parser_cocci_menhir.mly" ( Common.Left (match c with None -> (i, Ast.IdNoConstraint) | Some constraint_ -> (i,constraint_)) ) -# 34859 "parser_cocci_menhir.ml" +# 35022 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34885,7 +35048,7 @@ 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_ = -# 1778 "parser_cocci_menhir.mly" +# 1798 "parser_cocci_menhir.mly" ( let nm = P.id2name _3 in Iteration.parsed_virtual_identifiers := @@ -34893,7 +35056,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct !Iteration.parsed_virtual_identifiers; Common.Right nm ) -# 34897 "parser_cocci_menhir.ml" +# 35060 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34915,9 +35078,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 = -# 1732 "parser_cocci_menhir.mly" +# 1752 "parser_cocci_menhir.mly" ( (_1,Ast.NoVal) ) -# 34921 "parser_cocci_menhir.ml" +# 35084 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34949,11 +35112,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 = -# 1735 "parser_cocci_menhir.mly" +# 1755 "parser_cocci_menhir.mly" ( match _3 with [Ast.SeedString s] -> (_1,Ast.StringSeed s) | _ -> (_1,Ast.ListSeed _3) ) -# 34957 "parser_cocci_menhir.ml" +# 35120 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34981,11 +35144,63 @@ 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_ = -# 1757 "parser_cocci_menhir.mly" +# 1777 "parser_cocci_menhir.mly" ( (i, l) ) -# 34989 "parser_cocci_menhir.ml" +# 35152 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_pure_ident = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_pure_ident_or_symbol = +# 1711 "parser_cocci_menhir.mly" + ( _1 ) +# 35176 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 125 "parser_cocci_menhir.mly" + (string * Data.clt) +# 35197 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_pure_ident_or_symbol = +# 1712 "parser_cocci_menhir.mly" + ( _1 ) +# 35204 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35007,9 +35222,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 = -# 1849 "parser_cocci_menhir.mly" +# 1869 "parser_cocci_menhir.mly" (Ast0.NotIdCstrt re) -# 35013 "parser_cocci_menhir.ml" +# 35228 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35031,9 +35246,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 = -# 1850 "parser_cocci_menhir.mly" +# 1870 "parser_cocci_menhir.mly" (Ast0.NotExpCstrt ne) -# 35037 "parser_cocci_menhir.ml" +# 35252 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35055,9 +35270,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 = -# 1851 "parser_cocci_menhir.mly" +# 1871 "parser_cocci_menhir.mly" (Ast0.SubExpCstrt s) -# 35061 "parser_cocci_menhir.ml" +# 35276 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35079,9 +35294,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_re_ in let _endpos = _endpos_re_ in let _v : 'tv_re_or_not_eqid = -# 1795 "parser_cocci_menhir.mly" +# 1815 "parser_cocci_menhir.mly" (Ast.IdRegExpConstraint re) -# 35085 "parser_cocci_menhir.ml" +# 35300 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35103,9 +35318,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ne_ in let _endpos = _endpos_ne_ in let _v : 'tv_re_or_not_eqid = -# 1796 "parser_cocci_menhir.mly" +# 1816 "parser_cocci_menhir.mly" (ne) -# 35109 "parser_cocci_menhir.ml" +# 35324 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35130,19 +35345,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let re : ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 35134 "parser_cocci_menhir.ml" +# 35349 "parser_cocci_menhir.ml" ) = Obj.magic re in let _startpos = _startpos__1_ in let _endpos = _endpos_re_ in let _v : 'tv_regexp_eqid = -# 1800 "parser_cocci_menhir.mly" +# 1820 "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,Regexp.regexp s) ) -# 35146 "parser_cocci_menhir.ml" +# 35361 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35167,19 +35382,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let re : ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 35171 "parser_cocci_menhir.ml" +# 35386 "parser_cocci_menhir.ml" ) = Obj.magic re in let _startpos = _startpos__1_ in let _endpos = _endpos_re_ in let _v : 'tv_regexp_eqid = -# 1807 "parser_cocci_menhir.mly" +# 1827 "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,Regexp.regexp s) ) -# 35183 "parser_cocci_menhir.ml" +# 35398 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35196,11 +35411,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 202 "parser_cocci_menhir.mly" (unit) -# 35200 "parser_cocci_menhir.ml" +# 35415 "parser_cocci_menhir.ml" ) = # 243 "parser_cocci_menhir.mly" ( ) -# 35204 "parser_cocci_menhir.ml" +# 35419 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35222,9 +35437,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_rule_elem_statement = -# 1147 "parser_cocci_menhir.mly" +# 1159 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) ) -# 35228 "parser_cocci_menhir.ml" +# 35443 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35250,15 +35465,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 35254 "parser_cocci_menhir.ml" +# 35469 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_option_expr_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 1148 "parser_cocci_menhir.mly" +# 1160 "parser_cocci_menhir.mly" ( P.exp_stm _1 _2 ) -# 35262 "parser_cocci_menhir.ml" +# 35477 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35289,20 +35504,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 35293 "parser_cocci_menhir.ml" +# 35508 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 123 "parser_cocci_menhir.mly" (Data.clt) -# 35299 "parser_cocci_menhir.ml" +# 35514 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_rule_elem_statement = -# 1149 "parser_cocci_menhir.mly" +# 1161 "parser_cocci_menhir.mly" ( P.ret_exp _1 _2 _3 ) -# 35306 "parser_cocci_menhir.ml" +# 35521 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35328,19 +35543,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 35332 "parser_cocci_menhir.ml" +# 35547 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 123 "parser_cocci_menhir.mly" (Data.clt) -# 35337 "parser_cocci_menhir.ml" +# 35552 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 1150 "parser_cocci_menhir.mly" +# 1162 "parser_cocci_menhir.mly" ( P.ret _1 _2 ) -# 35344 "parser_cocci_menhir.ml" +# 35559 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35366,19 +35581,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 35370 "parser_cocci_menhir.ml" +# 35585 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 124 "parser_cocci_menhir.mly" (Data.clt) -# 35375 "parser_cocci_menhir.ml" +# 35590 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 1151 "parser_cocci_menhir.mly" +# 1163 "parser_cocci_menhir.mly" ( P.break _1 _2 ) -# 35382 "parser_cocci_menhir.ml" +# 35597 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35404,19 +35619,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 35408 "parser_cocci_menhir.ml" +# 35623 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 124 "parser_cocci_menhir.mly" (Data.clt) -# 35413 "parser_cocci_menhir.ml" +# 35628 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 1152 "parser_cocci_menhir.mly" +# 1164 "parser_cocci_menhir.mly" ( P.cont _1 _2 ) -# 35420 "parser_cocci_menhir.ml" +# 35635 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35447,24 +35662,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 35451 "parser_cocci_menhir.ml" +# 35666 "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 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 35457 "parser_cocci_menhir.ml" +# 35672 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_rule_elem_statement = -# 1154 "parser_cocci_menhir.mly" +# 1166 "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)) ) -# 35468 "parser_cocci_menhir.ml" +# 35683 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35520,18 +35735,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 224 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 35524 "parser_cocci_menhir.ml" +# 35739 "parser_cocci_menhir.ml" ) = let nm = # 39 "standard.mly" ( None ) -# 35529 "parser_cocci_menhir.ml" +# 35744 "parser_cocci_menhir.ml" in # 273 "parser_cocci_menhir.mly" ( P.make_cocci_rule_name_result nm d i a e ee ) -# 35535 "parser_cocci_menhir.ml" +# 35750 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35593,19 +35808,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 224 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 35597 "parser_cocci_menhir.ml" +# 35812 "parser_cocci_menhir.ml" ) = let nm = let x = x0 in # 41 "standard.mly" ( Some x ) -# 35603 "parser_cocci_menhir.ml" +# 35818 "parser_cocci_menhir.ml" in # 273 "parser_cocci_menhir.mly" ( P.make_cocci_rule_name_result nm d i a e ee ) -# 35609 "parser_cocci_menhir.ml" +# 35824 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35665,11 +35880,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 224 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 35669 "parser_cocci_menhir.ml" +# 35884 "parser_cocci_menhir.ml" ) = # 278 "parser_cocci_menhir.mly" ( P.make_generated_rule_name_result None d i a e ee ) -# 35673 "parser_cocci_menhir.ml" +# 35888 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35711,18 +35926,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 224 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 35715 "parser_cocci_menhir.ml" +# 35930 "parser_cocci_menhir.ml" ) = let nm = # 39 "standard.mly" ( None ) -# 35720 "parser_cocci_menhir.ml" +# 35935 "parser_cocci_menhir.ml" in # 280 "parser_cocci_menhir.mly" ( P.make_script_rule_name_result lang nm d ) -# 35726 "parser_cocci_menhir.ml" +# 35941 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35770,19 +35985,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 224 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 35774 "parser_cocci_menhir.ml" +# 35989 "parser_cocci_menhir.ml" ) = let nm = let x = x0 in # 41 "standard.mly" ( Some x ) -# 35780 "parser_cocci_menhir.ml" +# 35995 "parser_cocci_menhir.ml" in # 280 "parser_cocci_menhir.mly" ( P.make_script_rule_name_result lang nm d ) -# 35786 "parser_cocci_menhir.ml" +# 36001 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35824,11 +36039,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 224 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 35828 "parser_cocci_menhir.ml" +# 36043 "parser_cocci_menhir.ml" ) = # 282 "parser_cocci_menhir.mly" ( P.make_initial_script_rule_name_result lang d ) -# 35832 "parser_cocci_menhir.ml" +# 36047 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35870,11 +36085,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 224 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 35874 "parser_cocci_menhir.ml" +# 36089 "parser_cocci_menhir.ml" ) = # 284 "parser_cocci_menhir.mly" ( P.make_final_script_rule_name_result lang d ) -# 35878 "parser_cocci_menhir.ml" +# 36093 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35902,11 +36117,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 230 "parser_cocci_menhir.mly" ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) -# 35906 "parser_cocci_menhir.ml" +# 36121 "parser_cocci_menhir.ml" ) = -# 2366 "parser_cocci_menhir.mly" +# 2389 "parser_cocci_menhir.mly" ( ((Some (P.id2name py), None), None) ) -# 35910 "parser_cocci_menhir.ml" +# 36125 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35940,11 +36155,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 230 "parser_cocci_menhir.mly" ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) -# 35944 "parser_cocci_menhir.ml" +# 36159 "parser_cocci_menhir.ml" ) = -# 2368 "parser_cocci_menhir.mly" +# 2391 "parser_cocci_menhir.mly" ( ((Some (P.id2name py), None), Some _2) ) -# 35948 "parser_cocci_menhir.ml" +# 36163 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35994,11 +36209,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 230 "parser_cocci_menhir.mly" ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) -# 35998 "parser_cocci_menhir.ml" +# 36213 "parser_cocci_menhir.ml" ) = -# 2370 "parser_cocci_menhir.mly" +# 2393 "parser_cocci_menhir.mly" ( ((None, Some (P.id2name ast)), Some _6) ) -# 36002 "parser_cocci_menhir.ml" +# 36217 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36048,11 +36263,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 230 "parser_cocci_menhir.mly" ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) -# 36052 "parser_cocci_menhir.ml" +# 36267 "parser_cocci_menhir.ml" ) = -# 2372 "parser_cocci_menhir.mly" +# 2395 "parser_cocci_menhir.mly" ( ((Some (P.id2name str), None), Some _6) ) -# 36056 "parser_cocci_menhir.ml" +# 36271 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36104,11 +36319,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 230 "parser_cocci_menhir.mly" ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) -# 36108 "parser_cocci_menhir.ml" +# 36323 "parser_cocci_menhir.ml" ) = -# 2374 "parser_cocci_menhir.mly" +# 2397 "parser_cocci_menhir.mly" ( ((Some (P.id2name str), Some (P.id2name ast)), Some _6) ) -# 36112 "parser_cocci_menhir.ml" +# 36327 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36143,16 +36358,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 112 "parser_cocci_menhir.mly" (string) -# 36147 "parser_cocci_menhir.ml" +# 36362 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos_cocci_ in let _v : 'tv_script_name_decl = -# 2378 "parser_cocci_menhir.mly" +# 2401 "parser_cocci_menhir.mly" ( let nm = P.id2name cocci in let mv = Parse_aux.lookup _2 nm in ((_2, nm), mv) ) -# 36156 "parser_cocci_menhir.ml" +# 36371 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36186,7 +36401,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_cocci_ in let _v : 'tv_script_name_decl = -# 2382 "parser_cocci_menhir.mly" +# 2405 "parser_cocci_menhir.mly" ( let nm = P.id2name cocci in Iteration.parsed_virtual_identifiers := Common.union_set [nm] @@ -36194,7 +36409,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let name = ("virtual", nm) in let mv = Ast.MetaIdDecl(Ast.NONE,name) in (name,mv) ) -# 36198 "parser_cocci_menhir.ml" +# 36413 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36215,14 +36430,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 36219 "parser_cocci_menhir.ml" +# 36434 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_seed_elem = -# 1740 "parser_cocci_menhir.mly" +# 1760 "parser_cocci_menhir.mly" ( let (x,_) = _1 in Ast.SeedString x ) -# 36226 "parser_cocci_menhir.ml" +# 36441 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36243,14 +36458,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 128 "parser_cocci_menhir.mly" (Parse_aux.midinfo) -# 36247 "parser_cocci_menhir.ml" +# 36462 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_seed_elem = -# 1741 "parser_cocci_menhir.mly" +# 1761 "parser_cocci_menhir.mly" ( let (x,_,_,_,_) = _1 in Ast.SeedId x ) -# 36254 "parser_cocci_menhir.ml" +# 36469 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36270,9 +36485,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_seed_elem = -# 1742 "parser_cocci_menhir.mly" +# 1762 "parser_cocci_menhir.mly" (failwith "tmeta") -# 36276 "parser_cocci_menhir.ml" +# 36491 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36302,14 +36517,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_seed_elem = -# 1744 "parser_cocci_menhir.mly" +# 1764 "parser_cocci_menhir.mly" ( let nm = ("virtual",P.id2name _3) in Iteration.parsed_virtual_identifiers := Common.union_set [snd nm] !Iteration.parsed_virtual_identifiers; try Ast.SeedString (List.assoc (snd nm) !Flag.defined_virtual_env) with Not_found -> Ast.SeedId nm ) -# 36313 "parser_cocci_menhir.ml" +# 36528 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36340,16 +36555,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 112 "parser_cocci_menhir.mly" (string) -# 36344 "parser_cocci_menhir.ml" +# 36559 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_seed_elem = -# 1751 "parser_cocci_menhir.mly" +# 1771 "parser_cocci_menhir.mly" ( let nm = (_1,P.id2name _3) in P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm)); Ast.SeedId nm ) -# 36353 "parser_cocci_menhir.ml" +# 36568 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36370,14 +36585,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let x : ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 36374 "parser_cocci_menhir.ml" +# 36589 "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 ] ) -# 36381 "parser_cocci_menhir.ml" +# 36596 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36408,14 +36623,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let x : ( # 156 "parser_cocci_menhir.mly" (string * Data.clt) -# 36412 "parser_cocci_menhir.ml" +# 36627 "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 ) -# 36419 "parser_cocci_menhir.ml" +# 36634 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36439,7 +36654,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_any_strict_ = # 144 "standard.mly" ( [ x ] ) -# 36443 "parser_cocci_menhir.ml" +# 36658 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36473,7 +36688,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_any_strict_ = # 146 "standard.mly" ( x :: xs ) -# 36477 "parser_cocci_menhir.ml" +# 36692 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36497,7 +36712,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_ctype_ = # 144 "standard.mly" ( [ x ] ) -# 36501 "parser_cocci_menhir.ml" +# 36716 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36531,7 +36746,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_ctype_ = # 146 "standard.mly" ( x :: xs ) -# 36535 "parser_cocci_menhir.ml" +# 36750 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36555,7 +36770,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = # 144 "standard.mly" ( [ x ] ) -# 36559 "parser_cocci_menhir.ml" +# 36774 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36589,7 +36804,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = # 146 "standard.mly" ( x :: xs ) -# 36593 "parser_cocci_menhir.ml" +# 36808 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36613,7 +36828,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = # 144 "standard.mly" ( [ x ] ) -# 36617 "parser_cocci_menhir.ml" +# 36832 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36647,7 +36862,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = # 146 "standard.mly" ( x :: xs ) -# 36651 "parser_cocci_menhir.ml" +# 36866 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36671,7 +36886,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = # 144 "standard.mly" ( [ x ] ) -# 36675 "parser_cocci_menhir.ml" +# 36890 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36705,7 +36920,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = # 146 "standard.mly" ( x :: xs ) -# 36709 "parser_cocci_menhir.ml" +# 36924 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36729,7 +36944,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = # 144 "standard.mly" ( [ x ] ) -# 36733 "parser_cocci_menhir.ml" +# 36948 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36763,7 +36978,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = # 146 "standard.mly" ( x :: xs ) -# 36767 "parser_cocci_menhir.ml" +# 36982 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36787,7 +37002,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = # 144 "standard.mly" ( [ x ] ) -# 36791 "parser_cocci_menhir.ml" +# 37006 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36821,7 +37036,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = # 146 "standard.mly" ( x :: xs ) -# 36825 "parser_cocci_menhir.ml" +# 37040 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36845,7 +37060,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 ] ) -# 36849 "parser_cocci_menhir.ml" +# 37064 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36879,7 +37094,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 ) -# 36883 "parser_cocci_menhir.ml" +# 37098 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36903,7 +37118,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 ] ) -# 36907 "parser_cocci_menhir.ml" +# 37122 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36937,7 +37152,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 ) -# 36941 "parser_cocci_menhir.ml" +# 37156 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36961,7 +37176,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 ] ) -# 36965 "parser_cocci_menhir.ml" +# 37180 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36995,7 +37210,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 ) -# 36999 "parser_cocci_menhir.ml" +# 37214 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37019,7 +37234,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 ] ) -# 37023 "parser_cocci_menhir.ml" +# 37238 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37053,7 +37268,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 ) -# 37057 "parser_cocci_menhir.ml" +# 37272 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37077,7 +37292,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 ] ) -# 37081 "parser_cocci_menhir.ml" +# 37296 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37111,7 +37326,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 ) -# 37115 "parser_cocci_menhir.ml" +# 37330 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37135,7 +37350,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 ] ) -# 37139 "parser_cocci_menhir.ml" +# 37354 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37169,7 +37384,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 ) -# 37173 "parser_cocci_menhir.ml" +# 37388 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37193,7 +37408,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ = # 144 "standard.mly" ( [ x ] ) -# 37197 "parser_cocci_menhir.ml" +# 37412 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37227,7 +37442,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ = # 146 "standard.mly" ( x :: xs ) -# 37231 "parser_cocci_menhir.ml" +# 37446 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37251,7 +37466,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = # 144 "standard.mly" ( [ x ] ) -# 37255 "parser_cocci_menhir.ml" +# 37470 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37285,7 +37500,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = # 146 "standard.mly" ( x :: xs ) -# 37289 "parser_cocci_menhir.ml" +# 37504 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37307,9 +37522,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_single_statement = -# 1162 "parser_cocci_menhir.mly" +# 1174 "parser_cocci_menhir.mly" ( _1 ) -# 37313 "parser_cocci_menhir.ml" +# 37528 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37340,24 +37555,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 37344 "parser_cocci_menhir.ml" +# 37559 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in let _1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 37350 "parser_cocci_menhir.ml" +# 37565 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_single_statement = -# 1166 "parser_cocci_menhir.mly" +# 1178 "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)) ) -# 37361 "parser_cocci_menhir.ml" +# 37576 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37379,9 +37594,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_statement = -# 1088 "parser_cocci_menhir.mly" +# 1100 "parser_cocci_menhir.mly" ( _1 ) -# 37385 "parser_cocci_menhir.ml" +# 37600 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37402,14 +37617,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 133 "parser_cocci_menhir.mly" (Parse_aux.info) -# 37406 "parser_cocci_menhir.ml" +# 37621 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_statement = -# 1089 "parser_cocci_menhir.mly" +# 1101 "parser_cocci_menhir.mly" ( tmeta_to_statement _1) -# 37413 "parser_cocci_menhir.ml" +# 37628 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37430,14 +37645,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 37434 "parser_cocci_menhir.ml" +# 37649 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_statement = -# 1091 "parser_cocci_menhir.mly" +# 1103 "parser_cocci_menhir.mly" ( P.meta_stm _1 ) -# 37441 "parser_cocci_menhir.ml" +# 37656 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37463,15 +37678,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 37467 "parser_cocci_menhir.ml" +# 37682 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_option_expr_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 1093 "parser_cocci_menhir.mly" +# 1105 "parser_cocci_menhir.mly" ( P.exp_stm _1 _2 ) -# 37475 "parser_cocci_menhir.ml" +# 37690 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37513,25 +37728,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 37517 "parser_cocci_menhir.ml" +# 37732 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 37523 "parser_cocci_menhir.ml" +# 37738 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 123 "parser_cocci_menhir.mly" (Data.clt) -# 37528 "parser_cocci_menhir.ml" +# 37743 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_statement = -# 1095 "parser_cocci_menhir.mly" +# 1107 "parser_cocci_menhir.mly" ( P.ifthen _1 _2 _3 _4 _5 ) -# 37535 "parser_cocci_menhir.ml" +# 37750 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37583,31 +37798,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _6 : ( # 123 "parser_cocci_menhir.mly" (Data.clt) -# 37587 "parser_cocci_menhir.ml" +# 37802 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 37593 "parser_cocci_menhir.ml" +# 37808 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 37599 "parser_cocci_menhir.ml" +# 37814 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 123 "parser_cocci_menhir.mly" (Data.clt) -# 37604 "parser_cocci_menhir.ml" +# 37819 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : 'tv_statement = -# 1097 "parser_cocci_menhir.mly" +# 1109 "parser_cocci_menhir.mly" ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 ) -# 37611 "parser_cocci_menhir.ml" +# 37826 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37669,37 +37884,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _8 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 37673 "parser_cocci_menhir.ml" +# 37888 "parser_cocci_menhir.ml" ) = Obj.magic _8 in let _7 : 'tv_option_eexpr_ = Obj.magic _7 in let _6 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 37679 "parser_cocci_menhir.ml" +# 37894 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_option_eexpr_ = Obj.magic _5 in let _4 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 37685 "parser_cocci_menhir.ml" +# 37900 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_option_eexpr_ = Obj.magic _3 in let _2 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 37691 "parser_cocci_menhir.ml" +# 37906 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 123 "parser_cocci_menhir.mly" (Data.clt) -# 37696 "parser_cocci_menhir.ml" +# 37911 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__9_ in let _v : 'tv_statement = -# 1100 "parser_cocci_menhir.mly" +# 1112 "parser_cocci_menhir.mly" ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 ) -# 37703 "parser_cocci_menhir.ml" +# 37918 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37741,25 +37956,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 37745 "parser_cocci_menhir.ml" +# 37960 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 37751 "parser_cocci_menhir.ml" +# 37966 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 123 "parser_cocci_menhir.mly" (Data.clt) -# 37756 "parser_cocci_menhir.ml" +# 37971 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_statement = -# 1102 "parser_cocci_menhir.mly" +# 1114 "parser_cocci_menhir.mly" ( P.whileloop _1 _2 _3 _4 _5 ) -# 37763 "parser_cocci_menhir.ml" +# 37978 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37810,36 +38025,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _7 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 37814 "parser_cocci_menhir.ml" +# 38029 "parser_cocci_menhir.ml" ) = Obj.magic _7 in let _6 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 37819 "parser_cocci_menhir.ml" +# 38034 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_eexpr = Obj.magic _5 in let _4 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 37825 "parser_cocci_menhir.ml" +# 38040 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : ( # 123 "parser_cocci_menhir.mly" (Data.clt) -# 37830 "parser_cocci_menhir.ml" +# 38045 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_single_statement = Obj.magic _2 in let _1 : ( # 123 "parser_cocci_menhir.mly" (Data.clt) -# 37836 "parser_cocci_menhir.ml" +# 38051 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : 'tv_statement = -# 1104 "parser_cocci_menhir.mly" +# 1116 "parser_cocci_menhir.mly" ( P.doloop _1 _2 _3 _4 _5 _6 _7 ) -# 37843 "parser_cocci_menhir.ml" +# 38058 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37881,21 +38096,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 37885 "parser_cocci_menhir.ml" +# 38100 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 37891 "parser_cocci_menhir.ml" +# 38106 "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 = -# 1106 "parser_cocci_menhir.mly" +# 1118 "parser_cocci_menhir.mly" ( P.iterator _1 _2 _3 _4 _5 ) -# 37899 "parser_cocci_menhir.ml" +# 38114 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37951,37 +38166,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _8 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 37955 "parser_cocci_menhir.ml" +# 38170 "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 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 37962 "parser_cocci_menhir.ml" +# 38177 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 37967 "parser_cocci_menhir.ml" +# 38182 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 37973 "parser_cocci_menhir.ml" +# 38188 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 123 "parser_cocci_menhir.mly" (Data.clt) -# 37978 "parser_cocci_menhir.ml" +# 38193 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__8_ in let _v : 'tv_statement = -# 1108 "parser_cocci_menhir.mly" +# 1120 "parser_cocci_menhir.mly" ( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 ) -# 37985 "parser_cocci_menhir.ml" +# 38200 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38012,20 +38227,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 38016 "parser_cocci_menhir.ml" +# 38231 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 123 "parser_cocci_menhir.mly" (Data.clt) -# 38022 "parser_cocci_menhir.ml" +# 38237 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 1109 "parser_cocci_menhir.mly" +# 1121 "parser_cocci_menhir.mly" ( P.ret_exp _1 _2 _3 ) -# 38029 "parser_cocci_menhir.ml" +# 38244 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38051,19 +38266,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 38055 "parser_cocci_menhir.ml" +# 38270 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 123 "parser_cocci_menhir.mly" (Data.clt) -# 38060 "parser_cocci_menhir.ml" +# 38275 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 1110 "parser_cocci_menhir.mly" +# 1122 "parser_cocci_menhir.mly" ( P.ret _1 _2 ) -# 38067 "parser_cocci_menhir.ml" +# 38282 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38089,19 +38304,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 38093 "parser_cocci_menhir.ml" +# 38308 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 124 "parser_cocci_menhir.mly" (Data.clt) -# 38098 "parser_cocci_menhir.ml" +# 38313 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 1111 "parser_cocci_menhir.mly" +# 1123 "parser_cocci_menhir.mly" ( P.break _1 _2 ) -# 38105 "parser_cocci_menhir.ml" +# 38320 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38127,19 +38342,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 38131 "parser_cocci_menhir.ml" +# 38346 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 124 "parser_cocci_menhir.mly" (Data.clt) -# 38136 "parser_cocci_menhir.ml" +# 38351 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 1112 "parser_cocci_menhir.mly" +# 1124 "parser_cocci_menhir.mly" ( P.cont _1 _2 ) -# 38143 "parser_cocci_menhir.ml" +# 38358 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38165,15 +38380,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 38169 "parser_cocci_menhir.ml" +# 38384 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_mident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 1113 "parser_cocci_menhir.mly" +# 1125 "parser_cocci_menhir.mly" ( P.label _1 _2 ) -# 38177 "parser_cocci_menhir.ml" +# 38392 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38204,20 +38419,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 38208 "parser_cocci_menhir.ml" +# 38423 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_disj_ident = Obj.magic _2 in let _1 : ( # 124 "parser_cocci_menhir.mly" (Data.clt) -# 38214 "parser_cocci_menhir.ml" +# 38429 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 1114 "parser_cocci_menhir.mly" +# 1126 "parser_cocci_menhir.mly" ( P.goto _1 _2 _3 ) -# 38221 "parser_cocci_menhir.ml" +# 38436 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38248,20 +38463,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 38252 "parser_cocci_menhir.ml" +# 38467 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_fun_start = Obj.magic _2 in let _1 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 38258 "parser_cocci_menhir.ml" +# 38473 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 1116 "parser_cocci_menhir.mly" +# 1128 "parser_cocci_menhir.mly" ( P.seq _1 _2 _3 ) -# 38265 "parser_cocci_menhir.ml" +# 38480 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38288,14 +38503,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 38292 "parser_cocci_menhir.ml" +# 38507 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_w_ in let _v : 'tv_stm_dots = -# 1120 "parser_cocci_menhir.mly" +# 1132 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) ) -# 38299 "parser_cocci_menhir.ml" +# 38514 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38331,22 +38546,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 38335 "parser_cocci_menhir.ml" +# 38550 "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 : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 38342 "parser_cocci_menhir.ml" +# 38557 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_stm_dots = -# 1122 "parser_cocci_menhir.mly" +# 1134 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b, P.clt2mcode "...>" c, List.concat w, false)) ) -# 38350 "parser_cocci_menhir.ml" +# 38565 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38382,22 +38597,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 38386 "parser_cocci_menhir.ml" +# 38601 "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 : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 38393 "parser_cocci_menhir.ml" +# 38608 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_stm_dots = -# 1125 "parser_cocci_menhir.mly" +# 1137 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b, P.clt2mcode "...+>" c, List.concat w, true)) ) -# 38401 "parser_cocci_menhir.ml" +# 38616 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38418,14 +38633,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s : ( # 119 "parser_cocci_menhir.mly" (Data.clt) -# 38422 "parser_cocci_menhir.ml" +# 38637 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 1049 "parser_cocci_menhir.mly" +# 1061 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Static s ) -# 38429 "parser_cocci_menhir.ml" +# 38644 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38446,14 +38661,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s : ( # 119 "parser_cocci_menhir.mly" (Data.clt) -# 38450 "parser_cocci_menhir.ml" +# 38665 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 1050 "parser_cocci_menhir.mly" +# 1062 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Auto s ) -# 38457 "parser_cocci_menhir.ml" +# 38672 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38474,14 +38689,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s : ( # 119 "parser_cocci_menhir.mly" (Data.clt) -# 38478 "parser_cocci_menhir.ml" +# 38693 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 1051 "parser_cocci_menhir.mly" +# 1063 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Register s ) -# 38485 "parser_cocci_menhir.ml" +# 38700 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38502,14 +38717,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s : ( # 119 "parser_cocci_menhir.mly" (Data.clt) -# 38506 "parser_cocci_menhir.ml" +# 38721 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 1052 "parser_cocci_menhir.mly" +# 1064 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Extern s ) -# 38513 "parser_cocci_menhir.ml" +# 38728 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38529,9 +38744,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl = -# 752 "parser_cocci_menhir.mly" +# 756 "parser_cocci_menhir.mly" ( [] ) -# 38535 "parser_cocci_menhir.ml" +# 38750 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38553,9 +38768,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl = -# 753 "parser_cocci_menhir.mly" +# 757 "parser_cocci_menhir.mly" ( [_1] ) -# 38559 "parser_cocci_menhir.ml" +# 38774 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38577,9 +38792,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl_list = -# 781 "parser_cocci_menhir.mly" +# 785 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) -# 38583 "parser_cocci_menhir.ml" +# 38798 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38601,9 +38816,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl_list_start = -# 784 "parser_cocci_menhir.mly" +# 788 "parser_cocci_menhir.mly" ( _1 ) -# 38607 "parser_cocci_menhir.ml" +# 38822 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38631,9 +38846,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_struct_decl_list_start = -# 785 "parser_cocci_menhir.mly" +# 789 "parser_cocci_menhir.mly" ( _1@_2 ) -# 38637 "parser_cocci_menhir.ml" +# 38852 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38661,9 +38876,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_struct_decl_list_start = -# 787 "parser_cocci_menhir.mly" +# 791 "parser_cocci_menhir.mly" ( (P.mkddots_one "..." d)::r ) -# 38667 "parser_cocci_menhir.ml" +# 38882 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38684,14 +38899,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 133 "parser_cocci_menhir.mly" (Parse_aux.info) -# 38688 "parser_cocci_menhir.ml" +# 38903 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl_one = -# 756 "parser_cocci_menhir.mly" +# 760 "parser_cocci_menhir.mly" ( P.meta_field _1 ) -# 38695 "parser_cocci_menhir.ml" +# 38910 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38712,14 +38927,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 135 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 38716 "parser_cocci_menhir.ml" +# 38931 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl_one = -# 757 "parser_cocci_menhir.mly" +# 761 "parser_cocci_menhir.mly" ( P.meta_field_list _1 ) -# 38723 "parser_cocci_menhir.ml" +# 38938 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38740,14 +38955,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 133 "parser_cocci_menhir.mly" (Parse_aux.info) -# 38744 "parser_cocci_menhir.ml" +# 38959 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl_one = -# 758 "parser_cocci_menhir.mly" +# 762 "parser_cocci_menhir.mly" ( tmeta_to_field _1 ) -# 38751 "parser_cocci_menhir.ml" +# 38966 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38778,22 +38993,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 38782 "parser_cocci_menhir.ml" +# 38997 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_midzero_list_struct_decl_one_struct_decl_one_ = Obj.magic t in let lp : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 38788 "parser_cocci_menhir.ml" +# 39003 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_rp_ in let _v : 'tv_struct_decl_one = -# 760 "parser_cocci_menhir.mly" +# 764 "parser_cocci_menhir.mly" ( let (mids,code) = t in Ast0.wrap (Ast0.DisjDecl(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) ) -# 38797 "parser_cocci_menhir.ml" +# 39012 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38824,17 +39039,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 38828 "parser_cocci_menhir.ml" +# 39043 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in let _endpos = _endpos_pv_ in let _v : 'tv_struct_decl_one = -# 764 "parser_cocci_menhir.mly" +# 768 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) ) -# 38838 "parser_cocci_menhir.ml" +# 39053 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38895,40 +39110,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 38899 "parser_cocci_menhir.ml" +# 39114 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 38904 "parser_cocci_menhir.ml" +# 39119 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 38910 "parser_cocci_menhir.ml" +# 39125 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 38915 "parser_cocci_menhir.ml" +# 39130 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 168 "parser_cocci_menhir.mly" (Data.clt) -# 38921 "parser_cocci_menhir.ml" +# 39136 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 38926 "parser_cocci_menhir.ml" +# 39141 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in let _endpos = _endpos_pv_ in let _v : 'tv_struct_decl_one = -# 768 "parser_cocci_menhir.mly" +# 772 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -38936,7 +39151,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)) ) -# 38940 "parser_cocci_menhir.ml" +# 39155 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38967,25 +39182,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 38971 "parser_cocci_menhir.ml" +# 39186 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in - let i : 'tv_pure_ident = Obj.magic i in + let i : 'tv_pure_ident_or_symbol = Obj.magic i in let _startpos = _startpos_i_ in let _endpos = _endpos_pv_ in let _v : 'tv_struct_decl_one = let cv = # 39 "standard.mly" ( None ) -# 38981 "parser_cocci_menhir.ml" +# 39196 "parser_cocci_menhir.ml" in -# 776 "parser_cocci_menhir.mly" +# 780 "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)) ) -# 38989 "parser_cocci_menhir.ml" +# 39204 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39021,10 +39236,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 176 "parser_cocci_menhir.mly" (Data.clt) -# 39025 "parser_cocci_menhir.ml" +# 39240 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in - let i : 'tv_pure_ident = Obj.magic i in + let i : 'tv_pure_ident_or_symbol = Obj.magic i in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_pv_ in @@ -39033,15 +39248,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 39037 "parser_cocci_menhir.ml" +# 39252 "parser_cocci_menhir.ml" in -# 776 "parser_cocci_menhir.mly" +# 780 "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)) ) -# 39045 "parser_cocci_menhir.ml" +# 39260 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39062,14 +39277,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s : ( # 116 "parser_cocci_menhir.mly" (Data.clt) -# 39066 "parser_cocci_menhir.ml" +# 39281 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_struct_or_union = -# 748 "parser_cocci_menhir.mly" +# 752 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Struct s ) -# 39073 "parser_cocci_menhir.ml" +# 39288 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39090,14 +39305,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let u : ( # 116 "parser_cocci_menhir.mly" (Data.clt) -# 39094 "parser_cocci_menhir.ml" +# 39309 "parser_cocci_menhir.ml" ) = Obj.magic u in let _startpos = _startpos_u_ in let _endpos = _endpos_u_ in let _v : 'tv_struct_or_union = -# 749 "parser_cocci_menhir.mly" +# 753 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Union u ) -# 39101 "parser_cocci_menhir.ml" +# 39316 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39123,7 +39338,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_sub = -# 1895 "parser_cocci_menhir.mly" +# 1915 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -39132,7 +39347,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.check_inherited_constraint i (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)) in [i] ) -# 39136 "parser_cocci_menhir.ml" +# 39351 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39166,7 +39381,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_sub = -# 1904 "parser_cocci_menhir.mly" +# 1924 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -39176,7 +39391,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.check_inherited_constraint i (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None))) l) -# 39180 "parser_cocci_menhir.ml" +# 39395 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39198,9 +39413,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_top_eexpr = -# 1438 "parser_cocci_menhir.mly" +# 1450 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) ) -# 39204 "parser_cocci_menhir.ml" +# 39419 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39231,25 +39446,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 39235 "parser_cocci_menhir.ml" +# 39450 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_initialize_list = Obj.magic _2 in let _1 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 39241 "parser_cocci_menhir.ml" +# 39456 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_top_init = -# 2155 "parser_cocci_menhir.mly" +# 2178 "parser_cocci_menhir.mly" ( if P.struct_initializer _2 then let il = P.drop_dot_commas _2 in Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false)) else Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) ) -# 39253 "parser_cocci_menhir.ml" +# 39468 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39264,9 +39479,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 = -# 2143 "parser_cocci_menhir.mly" +# 2166 "parser_cocci_menhir.mly" ([]) -# 39270 "parser_cocci_menhir.ml" +# 39485 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39292,9 +39507,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots = -# 2144 "parser_cocci_menhir.mly" +# 2167 "parser_cocci_menhir.mly" (_2) -# 39298 "parser_cocci_menhir.ml" +# 39513 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39322,9 +39537,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots = -# 2145 "parser_cocci_menhir.mly" +# 2168 "parser_cocci_menhir.mly" ((Ast0.wrap(Ast0.Exp(_1)))::_2) -# 39328 "parser_cocci_menhir.ml" +# 39543 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39352,9 +39567,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots = -# 2146 "parser_cocci_menhir.mly" +# 2169 "parser_cocci_menhir.mly" (_1@_2) -# 39358 "parser_cocci_menhir.ml" +# 39573 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39380,9 +39595,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots_init = -# 2134 "parser_cocci_menhir.mly" +# 2157 "parser_cocci_menhir.mly" (_2) -# 39386 "parser_cocci_menhir.ml" +# 39601 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39410,9 +39625,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots_init = -# 2135 "parser_cocci_menhir.mly" +# 2158 "parser_cocci_menhir.mly" ((Ast0.wrap(Ast0.Exp(_1)))::_2) -# 39416 "parser_cocci_menhir.ml" +# 39631 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39440,9 +39655,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots_init = -# 2136 "parser_cocci_menhir.mly" +# 2159 "parser_cocci_menhir.mly" (_1@_2) -# 39446 "parser_cocci_menhir.ml" +# 39661 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39457,9 +39672,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 = -# 2139 "parser_cocci_menhir.mly" +# 2162 "parser_cocci_menhir.mly" ([]) -# 39463 "parser_cocci_menhir.ml" +# 39678 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39487,9 +39702,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_exp = -# 2140 "parser_cocci_menhir.mly" +# 2163 "parser_cocci_menhir.mly" (_1::_2) -# 39493 "parser_cocci_menhir.ml" +# 39708 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39504,9 +39719,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 = -# 2149 "parser_cocci_menhir.mly" +# 2172 "parser_cocci_menhir.mly" ([]) -# 39510 "parser_cocci_menhir.ml" +# 39725 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39534,9 +39749,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_stm = -# 2150 "parser_cocci_menhir.mly" +# 2173 "parser_cocci_menhir.mly" (_1::_2) -# 39540 "parser_cocci_menhir.ml" +# 39755 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39564,9 +39779,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_stm = -# 2151 "parser_cocci_menhir.mly" +# 2174 "parser_cocci_menhir.mly" (_1@_2) -# 39570 "parser_cocci_menhir.ml" +# 39785 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39594,9 +39809,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_ = -# 2129 "parser_cocci_menhir.mly" +# 2152 "parser_cocci_menhir.mly" ( _1::_2 ) -# 39600 "parser_cocci_menhir.ml" +# 39815 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39624,9 +39839,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_ = -# 2130 "parser_cocci_menhir.mly" +# 2153 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.Exp(_1)))::_2 ) -# 39630 "parser_cocci_menhir.ml" +# 39845 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39654,9 +39869,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_ = -# 2131 "parser_cocci_menhir.mly" +# 2154 "parser_cocci_menhir.mly" ( _1@_2 ) -# 39660 "parser_cocci_menhir.ml" +# 39875 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39689,7 +39904,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let a0 : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 39693 "parser_cocci_menhir.ml" +# 39908 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_b_ in @@ -39697,15 +39912,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 1130 "parser_cocci_menhir.mly" +# 1142 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) ) -# 39703 "parser_cocci_menhir.ml" +# 39918 "parser_cocci_menhir.ml" in -# 2122 "parser_cocci_menhir.mly" +# 2145 "parser_cocci_menhir.mly" ( a::b ) -# 39709 "parser_cocci_menhir.ml" +# 39924 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39747,14 +39962,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c0 : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 39751 "parser_cocci_menhir.ml" +# 39966 "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 : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 39758 "parser_cocci_menhir.ml" +# 39973 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_b_ in @@ -39764,16 +39979,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 1134 "parser_cocci_menhir.mly" +# 1146 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b, P.clt2mcode "...>" c, List.concat w, false)) ) -# 39771 "parser_cocci_menhir.ml" +# 39986 "parser_cocci_menhir.ml" in -# 2123 "parser_cocci_menhir.mly" +# 2146 "parser_cocci_menhir.mly" ( a::b ) -# 39777 "parser_cocci_menhir.ml" +# 39992 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39815,14 +40030,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c0 : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 39819 "parser_cocci_menhir.ml" +# 40034 "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 : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 39826 "parser_cocci_menhir.ml" +# 40041 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_b_ in @@ -39832,16 +40047,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 1137 "parser_cocci_menhir.mly" +# 1149 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b, P.clt2mcode "...+>" c, List.concat w, true)) ) -# 39839 "parser_cocci_menhir.ml" +# 40054 "parser_cocci_menhir.ml" in -# 2123 "parser_cocci_menhir.mly" +# 2146 "parser_cocci_menhir.mly" ( a::b ) -# 39845 "parser_cocci_menhir.ml" +# 40060 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39877,14 +40092,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c0 : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 39881 "parser_cocci_menhir.ml" +# 40096 "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 : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 39888 "parser_cocci_menhir.ml" +# 40103 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_c0_ in @@ -39894,16 +40109,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 1134 "parser_cocci_menhir.mly" +# 1146 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b, P.clt2mcode "...>" c, List.concat w, false)) ) -# 39901 "parser_cocci_menhir.ml" +# 40116 "parser_cocci_menhir.ml" in -# 2124 "parser_cocci_menhir.mly" +# 2147 "parser_cocci_menhir.mly" ( [a] ) -# 39907 "parser_cocci_menhir.ml" +# 40122 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39939,14 +40154,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c0 : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 39943 "parser_cocci_menhir.ml" +# 40158 "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 : ( # 142 "parser_cocci_menhir.mly" (Data.clt) -# 39950 "parser_cocci_menhir.ml" +# 40165 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_c0_ in @@ -39956,16 +40171,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 1137 "parser_cocci_menhir.mly" +# 1149 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b, P.clt2mcode "...+>" c, List.concat w, true)) ) -# 39963 "parser_cocci_menhir.ml" +# 40178 "parser_cocci_menhir.ml" in -# 2124 "parser_cocci_menhir.mly" +# 2147 "parser_cocci_menhir.mly" ( [a] ) -# 39969 "parser_cocci_menhir.ml" +# 40184 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39993,9 +40208,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_ = -# 2125 "parser_cocci_menhir.mly" +# 2148 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.Exp(_1)))::_2 ) -# 39999 "parser_cocci_menhir.ml" +# 40214 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40023,9 +40238,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_ = -# 2126 "parser_cocci_menhir.mly" +# 2149 "parser_cocci_menhir.mly" ( _1@_2 ) -# 40029 "parser_cocci_menhir.ml" +# 40244 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40047,9 +40262,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_type_ident = -# 1980 "parser_cocci_menhir.mly" +# 2003 "parser_cocci_menhir.mly" ( _1 ) -# 40053 "parser_cocci_menhir.ml" +# 40268 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40070,14 +40285,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 40074 "parser_cocci_menhir.ml" +# 40289 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_type_ident = -# 1982 "parser_cocci_menhir.mly" +# 2005 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 40081 "parser_cocci_menhir.ml" +# 40296 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40109,12 +40324,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 40113 "parser_cocci_menhir.ml" +# 40328 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 40118 "parser_cocci_menhir.ml" +# 40333 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -40124,28 +40339,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 631 "parser_cocci_menhir.mly" +# 635 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 40130 "parser_cocci_menhir.ml" +# 40345 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 40136 "parser_cocci_menhir.ml" +# 40351 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 40143 "parser_cocci_menhir.ml" +# 40358 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 40149 "parser_cocci_menhir.ml" +# 40364 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40177,12 +40392,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 40181 "parser_cocci_menhir.ml" +# 40396 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 40186 "parser_cocci_menhir.ml" +# 40401 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -40192,28 +40407,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 633 "parser_cocci_menhir.mly" +# 637 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 40198 "parser_cocci_menhir.ml" +# 40413 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 40204 "parser_cocci_menhir.ml" +# 40419 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 40211 "parser_cocci_menhir.ml" +# 40426 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 40217 "parser_cocci_menhir.ml" +# 40432 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40250,17 +40465,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 40254 "parser_cocci_menhir.ml" +# 40469 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 40259 "parser_cocci_menhir.ml" +# 40474 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 40264 "parser_cocci_menhir.ml" +# 40479 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -40272,30 +40487,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 635 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.ShortIntType,[P.clt2mcode "short" ty1;P.clt2mcode "int" ty2])) ) -# 40280 "parser_cocci_menhir.ml" +# 40495 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 40286 "parser_cocci_menhir.ml" +# 40501 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 40293 "parser_cocci_menhir.ml" +# 40508 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 40299 "parser_cocci_menhir.ml" +# 40514 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40327,12 +40542,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 40331 "parser_cocci_menhir.ml" +# 40546 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 40336 "parser_cocci_menhir.ml" +# 40551 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -40342,28 +40557,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 639 "parser_cocci_menhir.mly" +# 643 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 40348 "parser_cocci_menhir.ml" +# 40563 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 40354 "parser_cocci_menhir.ml" +# 40569 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 40361 "parser_cocci_menhir.ml" +# 40576 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 40367 "parser_cocci_menhir.ml" +# 40582 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40395,12 +40610,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 40399 "parser_cocci_menhir.ml" +# 40614 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 40404 "parser_cocci_menhir.ml" +# 40619 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -40410,29 +40625,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 641 "parser_cocci_menhir.mly" +# 645 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 40417 "parser_cocci_menhir.ml" +# 40632 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 40423 "parser_cocci_menhir.ml" +# 40638 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 40430 "parser_cocci_menhir.ml" +# 40645 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 40436 "parser_cocci_menhir.ml" +# 40651 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40473,17 +40688,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 40477 "parser_cocci_menhir.ml" +# 40692 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 112 "parser_cocci_menhir.mly" (string) -# 40482 "parser_cocci_menhir.ml" +# 40697 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 40487 "parser_cocci_menhir.ml" +# 40702 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in @@ -40495,33 +40710,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 644 "parser_cocci_menhir.mly" +# 648 "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*))) ) -# 40506 "parser_cocci_menhir.ml" +# 40721 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 40512 "parser_cocci_menhir.ml" +# 40727 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 40519 "parser_cocci_menhir.ml" +# 40734 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 40525 "parser_cocci_menhir.ml" +# 40740 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40553,12 +40768,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 40557 "parser_cocci_menhir.ml" +# 40772 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 40562 "parser_cocci_menhir.ml" +# 40777 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -40568,28 +40783,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty1 = ty10 in -# 651 "parser_cocci_menhir.mly" +# 655 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty1])) ) -# 40574 "parser_cocci_menhir.ml" +# 40789 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 40580 "parser_cocci_menhir.ml" +# 40795 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 40587 "parser_cocci_menhir.ml" +# 40802 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 40593 "parser_cocci_menhir.ml" +# 40808 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40626,17 +40841,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 40630 "parser_cocci_menhir.ml" +# 40845 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 40635 "parser_cocci_menhir.ml" +# 40850 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 40640 "parser_cocci_menhir.ml" +# 40855 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -40648,30 +40863,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 653 "parser_cocci_menhir.mly" +# 657 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongIntType,[P.clt2mcode "long" ty1;P.clt2mcode "int" ty2])) ) -# 40656 "parser_cocci_menhir.ml" +# 40871 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 40662 "parser_cocci_menhir.ml" +# 40877 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 40669 "parser_cocci_menhir.ml" +# 40884 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 40675 "parser_cocci_menhir.ml" +# 40890 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40708,17 +40923,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 40712 "parser_cocci_menhir.ml" +# 40927 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 40717 "parser_cocci_menhir.ml" +# 40932 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 40722 "parser_cocci_menhir.ml" +# 40937 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -40730,31 +40945,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 657 "parser_cocci_menhir.mly" +# 661 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 40739 "parser_cocci_menhir.ml" +# 40954 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 40745 "parser_cocci_menhir.ml" +# 40960 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 40752 "parser_cocci_menhir.ml" +# 40967 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 40758 "parser_cocci_menhir.ml" +# 40973 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40796,22 +41011,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty300 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 40800 "parser_cocci_menhir.ml" +# 41015 "parser_cocci_menhir.ml" ) = Obj.magic ty300 in let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 40805 "parser_cocci_menhir.ml" +# 41020 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 40810 "parser_cocci_menhir.ml" +# 41025 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 40815 "parser_cocci_menhir.ml" +# 41030 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -40825,32 +41040,32 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 662 "parser_cocci_menhir.mly" +# 666 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongIntType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2; P.clt2mcode "int" ty3])) ) -# 40835 "parser_cocci_menhir.ml" +# 41050 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 40841 "parser_cocci_menhir.ml" +# 41056 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 40848 "parser_cocci_menhir.ml" +# 41063 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 40854 "parser_cocci_menhir.ml" +# 41069 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40882,12 +41097,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 40886 "parser_cocci_menhir.ml" +# 41101 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 40891 "parser_cocci_menhir.ml" +# 41106 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -40897,28 +41112,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 631 "parser_cocci_menhir.mly" +# 635 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 40903 "parser_cocci_menhir.ml" +# 41118 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 40909 "parser_cocci_menhir.ml" +# 41124 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 40916 "parser_cocci_menhir.ml" +# 41131 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 40922 "parser_cocci_menhir.ml" +# 41137 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40950,12 +41165,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 40954 "parser_cocci_menhir.ml" +# 41169 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 40959 "parser_cocci_menhir.ml" +# 41174 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -40965,28 +41180,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 633 "parser_cocci_menhir.mly" +# 637 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 40971 "parser_cocci_menhir.ml" +# 41186 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 40977 "parser_cocci_menhir.ml" +# 41192 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 40984 "parser_cocci_menhir.ml" +# 41199 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 40990 "parser_cocci_menhir.ml" +# 41205 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41023,17 +41238,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 41027 "parser_cocci_menhir.ml" +# 41242 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 41032 "parser_cocci_menhir.ml" +# 41247 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 41037 "parser_cocci_menhir.ml" +# 41252 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -41045,30 +41260,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 635 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.ShortIntType,[P.clt2mcode "short" ty1;P.clt2mcode "int" ty2])) ) -# 41053 "parser_cocci_menhir.ml" +# 41268 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 41059 "parser_cocci_menhir.ml" +# 41274 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 41066 "parser_cocci_menhir.ml" +# 41281 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 41072 "parser_cocci_menhir.ml" +# 41287 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41100,12 +41315,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 41104 "parser_cocci_menhir.ml" +# 41319 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 41109 "parser_cocci_menhir.ml" +# 41324 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -41115,28 +41330,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 639 "parser_cocci_menhir.mly" +# 643 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 41121 "parser_cocci_menhir.ml" +# 41336 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 41127 "parser_cocci_menhir.ml" +# 41342 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 41134 "parser_cocci_menhir.ml" +# 41349 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 41140 "parser_cocci_menhir.ml" +# 41355 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41168,12 +41383,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 41172 "parser_cocci_menhir.ml" +# 41387 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 41177 "parser_cocci_menhir.ml" +# 41392 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -41183,29 +41398,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 641 "parser_cocci_menhir.mly" +# 645 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 41190 "parser_cocci_menhir.ml" +# 41405 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 41196 "parser_cocci_menhir.ml" +# 41411 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 41203 "parser_cocci_menhir.ml" +# 41418 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 41209 "parser_cocci_menhir.ml" +# 41424 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41246,17 +41461,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 41250 "parser_cocci_menhir.ml" +# 41465 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 112 "parser_cocci_menhir.mly" (string) -# 41255 "parser_cocci_menhir.ml" +# 41470 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 41260 "parser_cocci_menhir.ml" +# 41475 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in @@ -41268,33 +41483,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 644 "parser_cocci_menhir.mly" +# 648 "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*))) ) -# 41279 "parser_cocci_menhir.ml" +# 41494 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 41285 "parser_cocci_menhir.ml" +# 41500 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 41292 "parser_cocci_menhir.ml" +# 41507 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 41298 "parser_cocci_menhir.ml" +# 41513 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41326,12 +41541,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 41330 "parser_cocci_menhir.ml" +# 41545 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 41335 "parser_cocci_menhir.ml" +# 41550 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -41341,28 +41556,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty1 = ty10 in -# 651 "parser_cocci_menhir.mly" +# 655 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty1])) ) -# 41347 "parser_cocci_menhir.ml" +# 41562 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 41353 "parser_cocci_menhir.ml" +# 41568 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 41360 "parser_cocci_menhir.ml" +# 41575 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 41366 "parser_cocci_menhir.ml" +# 41581 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41399,17 +41614,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 41403 "parser_cocci_menhir.ml" +# 41618 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 41408 "parser_cocci_menhir.ml" +# 41623 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 41413 "parser_cocci_menhir.ml" +# 41628 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -41421,30 +41636,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 653 "parser_cocci_menhir.mly" +# 657 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongIntType,[P.clt2mcode "long" ty1;P.clt2mcode "int" ty2])) ) -# 41429 "parser_cocci_menhir.ml" +# 41644 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 41435 "parser_cocci_menhir.ml" +# 41650 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 41442 "parser_cocci_menhir.ml" +# 41657 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 41448 "parser_cocci_menhir.ml" +# 41663 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41481,17 +41696,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 41485 "parser_cocci_menhir.ml" +# 41700 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 41490 "parser_cocci_menhir.ml" +# 41705 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 41495 "parser_cocci_menhir.ml" +# 41710 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -41503,31 +41718,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 657 "parser_cocci_menhir.mly" +# 661 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 41512 "parser_cocci_menhir.ml" +# 41727 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 41518 "parser_cocci_menhir.ml" +# 41733 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 41525 "parser_cocci_menhir.ml" +# 41740 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 41531 "parser_cocci_menhir.ml" +# 41746 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41569,22 +41784,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty300 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 41573 "parser_cocci_menhir.ml" +# 41788 "parser_cocci_menhir.ml" ) = Obj.magic ty300 in let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 41578 "parser_cocci_menhir.ml" +# 41793 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 41583 "parser_cocci_menhir.ml" +# 41798 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 41588 "parser_cocci_menhir.ml" +# 41803 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -41598,32 +41813,32 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 662 "parser_cocci_menhir.mly" +# 666 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongIntType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2; P.clt2mcode "int" ty3])) ) -# 41608 "parser_cocci_menhir.ml" +# 41823 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 41614 "parser_cocci_menhir.ml" +# 41829 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 41621 "parser_cocci_menhir.ml" +# 41836 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 41627 "parser_cocci_menhir.ml" +# 41842 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41650,7 +41865,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 41654 "parser_cocci_menhir.ml" +# 41869 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -41659,28 +41874,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 631 "parser_cocci_menhir.mly" +# 635 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 41665 "parser_cocci_menhir.ml" +# 41880 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 41671 "parser_cocci_menhir.ml" +# 41886 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 41678 "parser_cocci_menhir.ml" +# 41893 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 41684 "parser_cocci_menhir.ml" +# 41899 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41707,7 +41922,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 41711 "parser_cocci_menhir.ml" +# 41926 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -41716,28 +41931,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 633 "parser_cocci_menhir.mly" +# 637 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 41722 "parser_cocci_menhir.ml" +# 41937 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 41728 "parser_cocci_menhir.ml" +# 41943 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 41735 "parser_cocci_menhir.ml" +# 41950 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 41741 "parser_cocci_menhir.ml" +# 41956 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41769,12 +41984,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 41773 "parser_cocci_menhir.ml" +# 41988 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 41778 "parser_cocci_menhir.ml" +# 41993 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let _startpos = _startpos_ty100_ in let _endpos = _endpos_m_ in @@ -41785,30 +42000,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 635 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.ShortIntType,[P.clt2mcode "short" ty1;P.clt2mcode "int" ty2])) ) -# 41793 "parser_cocci_menhir.ml" +# 42008 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 41799 "parser_cocci_menhir.ml" +# 42014 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 41806 "parser_cocci_menhir.ml" +# 42021 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 41812 "parser_cocci_menhir.ml" +# 42027 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41835,7 +42050,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 41839 "parser_cocci_menhir.ml" +# 42054 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -41844,28 +42059,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 639 "parser_cocci_menhir.mly" +# 643 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 41850 "parser_cocci_menhir.ml" +# 42065 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 41856 "parser_cocci_menhir.ml" +# 42071 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 41863 "parser_cocci_menhir.ml" +# 42078 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 41869 "parser_cocci_menhir.ml" +# 42084 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41892,7 +42107,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 41896 "parser_cocci_menhir.ml" +# 42111 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in @@ -41901,29 +42116,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 641 "parser_cocci_menhir.mly" +# 645 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 41908 "parser_cocci_menhir.ml" +# 42123 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 41914 "parser_cocci_menhir.ml" +# 42129 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 41921 "parser_cocci_menhir.ml" +# 42136 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 41927 "parser_cocci_menhir.ml" +# 42142 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41959,12 +42174,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 41963 "parser_cocci_menhir.ml" +# 42178 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 112 "parser_cocci_menhir.mly" (string) -# 41968 "parser_cocci_menhir.ml" +# 42183 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let _startpos = _startpos_r00_ in let _endpos = _endpos_m_ in @@ -41975,33 +42190,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 644 "parser_cocci_menhir.mly" +# 648 "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*))) ) -# 41986 "parser_cocci_menhir.ml" +# 42201 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 41992 "parser_cocci_menhir.ml" +# 42207 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 41999 "parser_cocci_menhir.ml" +# 42214 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 42005 "parser_cocci_menhir.ml" +# 42220 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42028,7 +42243,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 42032 "parser_cocci_menhir.ml" +# 42247 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let _startpos = _startpos_ty100_ in let _endpos = _endpos_m_ in @@ -42037,28 +42252,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty1 = ty10 in -# 651 "parser_cocci_menhir.mly" +# 655 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty1])) ) -# 42043 "parser_cocci_menhir.ml" +# 42258 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 42049 "parser_cocci_menhir.ml" +# 42264 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 42056 "parser_cocci_menhir.ml" +# 42271 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 42062 "parser_cocci_menhir.ml" +# 42277 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42090,12 +42305,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 42094 "parser_cocci_menhir.ml" +# 42309 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 42099 "parser_cocci_menhir.ml" +# 42314 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let _startpos = _startpos_ty100_ in let _endpos = _endpos_m_ in @@ -42106,30 +42321,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 653 "parser_cocci_menhir.mly" +# 657 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongIntType,[P.clt2mcode "long" ty1;P.clt2mcode "int" ty2])) ) -# 42114 "parser_cocci_menhir.ml" +# 42329 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 42120 "parser_cocci_menhir.ml" +# 42335 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 42127 "parser_cocci_menhir.ml" +# 42342 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 42133 "parser_cocci_menhir.ml" +# 42348 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42161,12 +42376,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 42165 "parser_cocci_menhir.ml" +# 42380 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 42170 "parser_cocci_menhir.ml" +# 42385 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let _startpos = _startpos_ty100_ in let _endpos = _endpos_m_ in @@ -42177,31 +42392,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 657 "parser_cocci_menhir.mly" +# 661 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 42186 "parser_cocci_menhir.ml" +# 42401 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 42192 "parser_cocci_menhir.ml" +# 42407 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 42199 "parser_cocci_menhir.ml" +# 42414 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 42205 "parser_cocci_menhir.ml" +# 42420 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42238,17 +42453,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty300 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 42242 "parser_cocci_menhir.ml" +# 42457 "parser_cocci_menhir.ml" ) = Obj.magic ty300 in let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 42247 "parser_cocci_menhir.ml" +# 42462 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 42252 "parser_cocci_menhir.ml" +# 42467 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let _startpos = _startpos_ty100_ in let _endpos = _endpos_m_ in @@ -42261,32 +42476,32 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 662 "parser_cocci_menhir.mly" +# 666 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongIntType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2; P.clt2mcode "int" ty3])) ) -# 42271 "parser_cocci_menhir.ml" +# 42486 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 42277 "parser_cocci_menhir.ml" +# 42492 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 42284 "parser_cocci_menhir.ml" +# 42499 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 42290 "parser_cocci_menhir.ml" +# 42505 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42313,7 +42528,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 116 "parser_cocci_menhir.mly" (Data.clt) -# 42317 "parser_cocci_menhir.ml" +# 42532 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -42322,28 +42537,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 671 "parser_cocci_menhir.mly" +# 675 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 42328 "parser_cocci_menhir.ml" +# 42543 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 42334 "parser_cocci_menhir.ml" +# 42549 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 42341 "parser_cocci_menhir.ml" +# 42556 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 42347 "parser_cocci_menhir.ml" +# 42562 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42375,12 +42590,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 42379 "parser_cocci_menhir.ml" +# 42594 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 42384 "parser_cocci_menhir.ml" +# 42599 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let _startpos = _startpos_ty100_ in let _endpos = _endpos_m_ in @@ -42391,31 +42606,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 673 "parser_cocci_menhir.mly" +# 677 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongDoubleType, [P.clt2mcode "long" ty1;P.clt2mcode "double" ty2])) ) -# 42400 "parser_cocci_menhir.ml" +# 42615 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 42406 "parser_cocci_menhir.ml" +# 42621 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 42413 "parser_cocci_menhir.ml" +# 42628 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 42419 "parser_cocci_menhir.ml" +# 42634 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42442,7 +42657,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 42446 "parser_cocci_menhir.ml" +# 42661 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -42451,28 +42666,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 678 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 42457 "parser_cocci_menhir.ml" +# 42672 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 42463 "parser_cocci_menhir.ml" +# 42678 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 42470 "parser_cocci_menhir.ml" +# 42685 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 42476 "parser_cocci_menhir.ml" +# 42691 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42499,7 +42714,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 42503 "parser_cocci_menhir.ml" +# 42718 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -42508,28 +42723,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 680 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 42514 "parser_cocci_menhir.ml" +# 42729 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 42520 "parser_cocci_menhir.ml" +# 42735 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 42527 "parser_cocci_menhir.ml" +# 42742 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 42533 "parser_cocci_menhir.ml" +# 42748 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42556,7 +42771,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 115 "parser_cocci_menhir.mly" (Data.clt) -# 42560 "parser_cocci_menhir.ml" +# 42775 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -42565,28 +42780,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 682 "parser_cocci_menhir.mly" +# 686 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) ) -# 42571 "parser_cocci_menhir.ml" +# 42786 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 42577 "parser_cocci_menhir.ml" +# 42792 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 42584 "parser_cocci_menhir.ml" +# 42799 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 42590 "parser_cocci_menhir.ml" +# 42805 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42613,7 +42828,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 115 "parser_cocci_menhir.mly" (Data.clt) -# 42617 "parser_cocci_menhir.ml" +# 42832 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -42622,28 +42837,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 684 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) ) -# 42628 "parser_cocci_menhir.ml" +# 42843 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 42634 "parser_cocci_menhir.ml" +# 42849 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 42641 "parser_cocci_menhir.ml" +# 42856 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 42647 "parser_cocci_menhir.ml" +# 42862 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42670,7 +42885,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 115 "parser_cocci_menhir.mly" (Data.clt) -# 42674 "parser_cocci_menhir.ml" +# 42889 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -42679,28 +42894,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 686 "parser_cocci_menhir.mly" +# 690 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) ) -# 42685 "parser_cocci_menhir.ml" +# 42900 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 42691 "parser_cocci_menhir.ml" +# 42906 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 42698 "parser_cocci_menhir.ml" +# 42913 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 42704 "parser_cocci_menhir.ml" +# 42919 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42733,7 +42948,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s00 : ( # 116 "parser_cocci_menhir.mly" (Data.clt) -# 42737 "parser_cocci_menhir.ml" +# 42952 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -42744,28 +42959,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 688 "parser_cocci_menhir.mly" +# 692 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) ) -# 42750 "parser_cocci_menhir.ml" +# 42965 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 42756 "parser_cocci_menhir.ml" +# 42971 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 42763 "parser_cocci_menhir.ml" +# 42978 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 42769 "parser_cocci_menhir.ml" +# 42984 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42807,18 +43022,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 42811 "parser_cocci_menhir.ml" +# 43026 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 42817 "parser_cocci_menhir.ml" +# 43032 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( # 116 "parser_cocci_menhir.mly" (Data.clt) -# 42822 "parser_cocci_menhir.ml" +# 43037 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -42836,35 +43051,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 42840 "parser_cocci_menhir.ml" +# 43055 "parser_cocci_menhir.ml" in -# 690 "parser_cocci_menhir.mly" +# 694 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "enums must be named in the iso file"); Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) ) -# 42849 "parser_cocci_menhir.ml" +# 43064 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 42855 "parser_cocci_menhir.ml" +# 43070 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 42862 "parser_cocci_menhir.ml" +# 43077 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 42868 "parser_cocci_menhir.ml" +# 43083 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42911,19 +43126,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 42915 "parser_cocci_menhir.ml" +# 43130 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 42921 "parser_cocci_menhir.ml" +# 43136 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let x000 : 'tv_ident = Obj.magic x000 in let s00 : ( # 116 "parser_cocci_menhir.mly" (Data.clt) -# 42927 "parser_cocci_menhir.ml" +# 43142 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -42944,35 +43159,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 42948 "parser_cocci_menhir.ml" +# 43163 "parser_cocci_menhir.ml" in -# 690 "parser_cocci_menhir.mly" +# 694 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "enums must be named in the iso file"); Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) ) -# 42957 "parser_cocci_menhir.ml" +# 43172 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 42963 "parser_cocci_menhir.ml" +# 43178 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 42970 "parser_cocci_menhir.ml" +# 43185 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 42976 "parser_cocci_menhir.ml" +# 43191 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -43012,28 +43227,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 695 "parser_cocci_menhir.mly" +# 699 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 43018 "parser_cocci_menhir.ml" +# 43233 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 43024 "parser_cocci_menhir.ml" +# 43239 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 43031 "parser_cocci_menhir.ml" +# 43246 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 43037 "parser_cocci_menhir.ml" +# 43252 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -43075,13 +43290,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 43079 "parser_cocci_menhir.ml" +# 43294 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 43085 "parser_cocci_menhir.ml" +# 43300 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : 'tv_struct_or_union = Obj.magic s00 in let _startpos = _startpos_s00_ in @@ -43100,36 +43315,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 43104 "parser_cocci_menhir.ml" +# 43319 "parser_cocci_menhir.ml" in -# 698 "parser_cocci_menhir.mly" +# 702 "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)) ) -# 43114 "parser_cocci_menhir.ml" +# 43329 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 43120 "parser_cocci_menhir.ml" +# 43335 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 43127 "parser_cocci_menhir.ml" +# 43342 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 43133 "parser_cocci_menhir.ml" +# 43348 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -43176,13 +43391,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 43180 "parser_cocci_menhir.ml" +# 43395 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 43186 "parser_cocci_menhir.ml" +# 43401 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let x000 : 'tv_type_ident = Obj.magic x000 in let s00 : 'tv_struct_or_union = Obj.magic s00 in @@ -43205,36 +43420,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 43209 "parser_cocci_menhir.ml" +# 43424 "parser_cocci_menhir.ml" in -# 698 "parser_cocci_menhir.mly" +# 702 "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)) ) -# 43219 "parser_cocci_menhir.ml" +# 43434 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 43225 "parser_cocci_menhir.ml" +# 43440 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 43232 "parser_cocci_menhir.ml" +# 43447 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 43238 "parser_cocci_menhir.ml" +# 43453 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -43276,18 +43491,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 43280 "parser_cocci_menhir.ml" +# 43495 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 43286 "parser_cocci_menhir.ml" +# 43501 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( # 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 43291 "parser_cocci_menhir.ml" +# 43506 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -43302,30 +43517,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 704 "parser_cocci_menhir.mly" +# 708 "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)) ) -# 43310 "parser_cocci_menhir.ml" +# 43525 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 43316 "parser_cocci_menhir.ml" +# 43531 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 43323 "parser_cocci_menhir.ml" +# 43538 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 43329 "parser_cocci_menhir.ml" +# 43544 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -43352,7 +43567,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 43356 "parser_cocci_menhir.ml" +# 43571 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in @@ -43361,28 +43576,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 708 "parser_cocci_menhir.mly" +# 712 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 43367 "parser_cocci_menhir.ml" +# 43582 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 43373 "parser_cocci_menhir.ml" +# 43588 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 43380 "parser_cocci_menhir.ml" +# 43595 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 43386 "parser_cocci_menhir.ml" +# 43601 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -43419,12 +43634,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 43423 "parser_cocci_menhir.ml" +# 43638 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 43428 "parser_cocci_menhir.ml" +# 43643 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -43435,15 +43650,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 631 "parser_cocci_menhir.mly" +# 635 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 43441 "parser_cocci_menhir.ml" +# 43656 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 43447 "parser_cocci_menhir.ml" +# 43662 "parser_cocci_menhir.ml" in let cv = @@ -43451,13 +43666,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 43455 "parser_cocci_menhir.ml" +# 43670 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 43461 "parser_cocci_menhir.ml" +# 43676 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -43494,12 +43709,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 43498 "parser_cocci_menhir.ml" +# 43713 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 43503 "parser_cocci_menhir.ml" +# 43718 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -43510,15 +43725,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 633 "parser_cocci_menhir.mly" +# 637 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 43516 "parser_cocci_menhir.ml" +# 43731 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 43522 "parser_cocci_menhir.ml" +# 43737 "parser_cocci_menhir.ml" in let cv = @@ -43526,13 +43741,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 43530 "parser_cocci_menhir.ml" +# 43745 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 43536 "parser_cocci_menhir.ml" +# 43751 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -43574,17 +43789,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 43578 "parser_cocci_menhir.ml" +# 43793 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 43583 "parser_cocci_menhir.ml" +# 43798 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 43588 "parser_cocci_menhir.ml" +# 43803 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -43597,17 +43812,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 635 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.ShortIntType,[P.clt2mcode "short" ty1;P.clt2mcode "int" ty2])) ) -# 43605 "parser_cocci_menhir.ml" +# 43820 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 43611 "parser_cocci_menhir.ml" +# 43826 "parser_cocci_menhir.ml" in let cv = @@ -43615,13 +43830,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 43619 "parser_cocci_menhir.ml" +# 43834 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 43625 "parser_cocci_menhir.ml" +# 43840 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -43658,12 +43873,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 43662 "parser_cocci_menhir.ml" +# 43877 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 43667 "parser_cocci_menhir.ml" +# 43882 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -43674,15 +43889,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 639 "parser_cocci_menhir.mly" +# 643 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 43680 "parser_cocci_menhir.ml" +# 43895 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 43686 "parser_cocci_menhir.ml" +# 43901 "parser_cocci_menhir.ml" in let cv = @@ -43690,13 +43905,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 43694 "parser_cocci_menhir.ml" +# 43909 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 43700 "parser_cocci_menhir.ml" +# 43915 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -43733,12 +43948,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 43737 "parser_cocci_menhir.ml" +# 43952 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 43742 "parser_cocci_menhir.ml" +# 43957 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -43749,16 +43964,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 641 "parser_cocci_menhir.mly" +# 645 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 43756 "parser_cocci_menhir.ml" +# 43971 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 43762 "parser_cocci_menhir.ml" +# 43977 "parser_cocci_menhir.ml" in let cv = @@ -43766,13 +43981,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 43770 "parser_cocci_menhir.ml" +# 43985 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 43776 "parser_cocci_menhir.ml" +# 43991 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -43818,17 +44033,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 43822 "parser_cocci_menhir.ml" +# 44037 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 112 "parser_cocci_menhir.mly" (string) -# 43827 "parser_cocci_menhir.ml" +# 44042 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 43832 "parser_cocci_menhir.ml" +# 44047 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -43841,20 +44056,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 644 "parser_cocci_menhir.mly" +# 648 "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*))) ) -# 43852 "parser_cocci_menhir.ml" +# 44067 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 43858 "parser_cocci_menhir.ml" +# 44073 "parser_cocci_menhir.ml" in let cv = @@ -43862,13 +44077,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 43866 "parser_cocci_menhir.ml" +# 44081 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 43872 "parser_cocci_menhir.ml" +# 44087 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -43905,12 +44120,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 43909 "parser_cocci_menhir.ml" +# 44124 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 43914 "parser_cocci_menhir.ml" +# 44129 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -43921,15 +44136,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty1 = ty10 in -# 651 "parser_cocci_menhir.mly" +# 655 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty1])) ) -# 43927 "parser_cocci_menhir.ml" +# 44142 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 43933 "parser_cocci_menhir.ml" +# 44148 "parser_cocci_menhir.ml" in let cv = @@ -43937,13 +44152,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 43941 "parser_cocci_menhir.ml" +# 44156 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 43947 "parser_cocci_menhir.ml" +# 44162 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -43985,17 +44200,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 43989 "parser_cocci_menhir.ml" +# 44204 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 43994 "parser_cocci_menhir.ml" +# 44209 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 43999 "parser_cocci_menhir.ml" +# 44214 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -44008,17 +44223,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 653 "parser_cocci_menhir.mly" +# 657 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongIntType,[P.clt2mcode "long" ty1;P.clt2mcode "int" ty2])) ) -# 44016 "parser_cocci_menhir.ml" +# 44231 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 44022 "parser_cocci_menhir.ml" +# 44237 "parser_cocci_menhir.ml" in let cv = @@ -44026,13 +44241,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 44030 "parser_cocci_menhir.ml" +# 44245 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 44036 "parser_cocci_menhir.ml" +# 44251 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -44074,17 +44289,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 44078 "parser_cocci_menhir.ml" +# 44293 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 44083 "parser_cocci_menhir.ml" +# 44298 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 44088 "parser_cocci_menhir.ml" +# 44303 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -44097,18 +44312,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 657 "parser_cocci_menhir.mly" +# 661 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 44106 "parser_cocci_menhir.ml" +# 44321 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 44112 "parser_cocci_menhir.ml" +# 44327 "parser_cocci_menhir.ml" in let cv = @@ -44116,13 +44331,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 44120 "parser_cocci_menhir.ml" +# 44335 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 44126 "parser_cocci_menhir.ml" +# 44341 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -44169,22 +44384,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty300 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 44173 "parser_cocci_menhir.ml" +# 44388 "parser_cocci_menhir.ml" ) = Obj.magic ty300 in let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 44178 "parser_cocci_menhir.ml" +# 44393 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 44183 "parser_cocci_menhir.ml" +# 44398 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 44188 "parser_cocci_menhir.ml" +# 44403 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -44199,19 +44414,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 662 "parser_cocci_menhir.mly" +# 666 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongIntType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2; P.clt2mcode "int" ty3])) ) -# 44209 "parser_cocci_menhir.ml" +# 44424 "parser_cocci_menhir.ml" in -# 713 "parser_cocci_menhir.mly" +# 717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 44215 "parser_cocci_menhir.ml" +# 44430 "parser_cocci_menhir.ml" in let cv = @@ -44219,13 +44434,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 44223 "parser_cocci_menhir.ml" +# 44438 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 44229 "parser_cocci_menhir.ml" +# 44444 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -44262,12 +44477,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 44266 "parser_cocci_menhir.ml" +# 44481 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 44271 "parser_cocci_menhir.ml" +# 44486 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -44278,15 +44493,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 631 "parser_cocci_menhir.mly" +# 635 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 44284 "parser_cocci_menhir.ml" +# 44499 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 44290 "parser_cocci_menhir.ml" +# 44505 "parser_cocci_menhir.ml" in let cv = @@ -44294,13 +44509,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 44298 "parser_cocci_menhir.ml" +# 44513 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 44304 "parser_cocci_menhir.ml" +# 44519 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -44337,12 +44552,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 44341 "parser_cocci_menhir.ml" +# 44556 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 44346 "parser_cocci_menhir.ml" +# 44561 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -44353,15 +44568,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 633 "parser_cocci_menhir.mly" +# 637 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 44359 "parser_cocci_menhir.ml" +# 44574 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 44365 "parser_cocci_menhir.ml" +# 44580 "parser_cocci_menhir.ml" in let cv = @@ -44369,13 +44584,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 44373 "parser_cocci_menhir.ml" +# 44588 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 44379 "parser_cocci_menhir.ml" +# 44594 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -44417,17 +44632,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 44421 "parser_cocci_menhir.ml" +# 44636 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 44426 "parser_cocci_menhir.ml" +# 44641 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 44431 "parser_cocci_menhir.ml" +# 44646 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -44440,17 +44655,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 635 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.ShortIntType,[P.clt2mcode "short" ty1;P.clt2mcode "int" ty2])) ) -# 44448 "parser_cocci_menhir.ml" +# 44663 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 44454 "parser_cocci_menhir.ml" +# 44669 "parser_cocci_menhir.ml" in let cv = @@ -44458,13 +44673,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 44462 "parser_cocci_menhir.ml" +# 44677 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 44468 "parser_cocci_menhir.ml" +# 44683 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -44501,12 +44716,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 44505 "parser_cocci_menhir.ml" +# 44720 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 44510 "parser_cocci_menhir.ml" +# 44725 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -44517,15 +44732,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 639 "parser_cocci_menhir.mly" +# 643 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 44523 "parser_cocci_menhir.ml" +# 44738 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 44529 "parser_cocci_menhir.ml" +# 44744 "parser_cocci_menhir.ml" in let cv = @@ -44533,13 +44748,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 44537 "parser_cocci_menhir.ml" +# 44752 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 44543 "parser_cocci_menhir.ml" +# 44758 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -44576,12 +44791,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 44580 "parser_cocci_menhir.ml" +# 44795 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 44585 "parser_cocci_menhir.ml" +# 44800 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -44592,16 +44807,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 641 "parser_cocci_menhir.mly" +# 645 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 44599 "parser_cocci_menhir.ml" +# 44814 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 44605 "parser_cocci_menhir.ml" +# 44820 "parser_cocci_menhir.ml" in let cv = @@ -44609,13 +44824,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 44613 "parser_cocci_menhir.ml" +# 44828 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 44619 "parser_cocci_menhir.ml" +# 44834 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -44661,17 +44876,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 44665 "parser_cocci_menhir.ml" +# 44880 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 112 "parser_cocci_menhir.mly" (string) -# 44670 "parser_cocci_menhir.ml" +# 44885 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 44675 "parser_cocci_menhir.ml" +# 44890 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -44684,20 +44899,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 644 "parser_cocci_menhir.mly" +# 648 "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*))) ) -# 44695 "parser_cocci_menhir.ml" +# 44910 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 44701 "parser_cocci_menhir.ml" +# 44916 "parser_cocci_menhir.ml" in let cv = @@ -44705,13 +44920,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 44709 "parser_cocci_menhir.ml" +# 44924 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 44715 "parser_cocci_menhir.ml" +# 44930 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -44748,12 +44963,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 44752 "parser_cocci_menhir.ml" +# 44967 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 44757 "parser_cocci_menhir.ml" +# 44972 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -44764,15 +44979,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty1 = ty10 in -# 651 "parser_cocci_menhir.mly" +# 655 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty1])) ) -# 44770 "parser_cocci_menhir.ml" +# 44985 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 44776 "parser_cocci_menhir.ml" +# 44991 "parser_cocci_menhir.ml" in let cv = @@ -44780,13 +44995,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 44784 "parser_cocci_menhir.ml" +# 44999 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 44790 "parser_cocci_menhir.ml" +# 45005 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -44828,17 +45043,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 44832 "parser_cocci_menhir.ml" +# 45047 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 44837 "parser_cocci_menhir.ml" +# 45052 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 44842 "parser_cocci_menhir.ml" +# 45057 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -44851,17 +45066,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 653 "parser_cocci_menhir.mly" +# 657 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongIntType,[P.clt2mcode "long" ty1;P.clt2mcode "int" ty2])) ) -# 44859 "parser_cocci_menhir.ml" +# 45074 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 44865 "parser_cocci_menhir.ml" +# 45080 "parser_cocci_menhir.ml" in let cv = @@ -44869,13 +45084,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 44873 "parser_cocci_menhir.ml" +# 45088 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 44879 "parser_cocci_menhir.ml" +# 45094 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -44917,17 +45132,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 44921 "parser_cocci_menhir.ml" +# 45136 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 44926 "parser_cocci_menhir.ml" +# 45141 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 44931 "parser_cocci_menhir.ml" +# 45146 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -44940,18 +45155,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 657 "parser_cocci_menhir.mly" +# 661 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 44949 "parser_cocci_menhir.ml" +# 45164 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 44955 "parser_cocci_menhir.ml" +# 45170 "parser_cocci_menhir.ml" in let cv = @@ -44959,13 +45174,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 44963 "parser_cocci_menhir.ml" +# 45178 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 44969 "parser_cocci_menhir.ml" +# 45184 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -45012,22 +45227,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty300 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 45016 "parser_cocci_menhir.ml" +# 45231 "parser_cocci_menhir.ml" ) = Obj.magic ty300 in let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 45021 "parser_cocci_menhir.ml" +# 45236 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 45026 "parser_cocci_menhir.ml" +# 45241 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 117 "parser_cocci_menhir.mly" (Data.clt) -# 45031 "parser_cocci_menhir.ml" +# 45246 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -45042,19 +45257,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 662 "parser_cocci_menhir.mly" +# 666 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongIntType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2; P.clt2mcode "int" ty3])) ) -# 45052 "parser_cocci_menhir.ml" +# 45267 "parser_cocci_menhir.ml" in -# 715 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 45058 "parser_cocci_menhir.ml" +# 45273 "parser_cocci_menhir.ml" in let cv = @@ -45062,13 +45277,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 45066 "parser_cocci_menhir.ml" +# 45281 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 45072 "parser_cocci_menhir.ml" +# 45287 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -45100,7 +45315,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 45104 "parser_cocci_menhir.ml" +# 45319 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -45110,15 +45325,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 631 "parser_cocci_menhir.mly" +# 635 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 45116 "parser_cocci_menhir.ml" +# 45331 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 45122 "parser_cocci_menhir.ml" +# 45337 "parser_cocci_menhir.ml" in let cv = @@ -45126,13 +45341,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 45130 "parser_cocci_menhir.ml" +# 45345 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 45136 "parser_cocci_menhir.ml" +# 45351 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -45164,7 +45379,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 45168 "parser_cocci_menhir.ml" +# 45383 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -45174,15 +45389,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 633 "parser_cocci_menhir.mly" +# 637 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 45180 "parser_cocci_menhir.ml" +# 45395 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 45186 "parser_cocci_menhir.ml" +# 45401 "parser_cocci_menhir.ml" in let cv = @@ -45190,13 +45405,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 45194 "parser_cocci_menhir.ml" +# 45409 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 45200 "parser_cocci_menhir.ml" +# 45415 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -45233,12 +45448,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 45237 "parser_cocci_menhir.ml" +# 45452 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 45242 "parser_cocci_menhir.ml" +# 45457 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -45250,17 +45465,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 635 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.ShortIntType,[P.clt2mcode "short" ty1;P.clt2mcode "int" ty2])) ) -# 45258 "parser_cocci_menhir.ml" +# 45473 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 45264 "parser_cocci_menhir.ml" +# 45479 "parser_cocci_menhir.ml" in let cv = @@ -45268,13 +45483,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 45272 "parser_cocci_menhir.ml" +# 45487 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 45278 "parser_cocci_menhir.ml" +# 45493 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -45306,7 +45521,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 45310 "parser_cocci_menhir.ml" +# 45525 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -45316,15 +45531,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 639 "parser_cocci_menhir.mly" +# 643 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 45322 "parser_cocci_menhir.ml" +# 45537 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 45328 "parser_cocci_menhir.ml" +# 45543 "parser_cocci_menhir.ml" in let cv = @@ -45332,13 +45547,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 45336 "parser_cocci_menhir.ml" +# 45551 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 45342 "parser_cocci_menhir.ml" +# 45557 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -45370,7 +45585,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 45374 "parser_cocci_menhir.ml" +# 45589 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -45380,16 +45595,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 641 "parser_cocci_menhir.mly" +# 645 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 45387 "parser_cocci_menhir.ml" +# 45602 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 45393 "parser_cocci_menhir.ml" +# 45608 "parser_cocci_menhir.ml" in let cv = @@ -45397,13 +45612,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 45401 "parser_cocci_menhir.ml" +# 45616 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 45407 "parser_cocci_menhir.ml" +# 45622 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -45444,12 +45659,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 45448 "parser_cocci_menhir.ml" +# 45663 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 112 "parser_cocci_menhir.mly" (string) -# 45453 "parser_cocci_menhir.ml" +# 45668 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -45461,20 +45676,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 644 "parser_cocci_menhir.mly" +# 648 "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*))) ) -# 45472 "parser_cocci_menhir.ml" +# 45687 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 45478 "parser_cocci_menhir.ml" +# 45693 "parser_cocci_menhir.ml" in let cv = @@ -45482,13 +45697,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 45486 "parser_cocci_menhir.ml" +# 45701 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 45492 "parser_cocci_menhir.ml" +# 45707 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -45520,7 +45735,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 45524 "parser_cocci_menhir.ml" +# 45739 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -45530,15 +45745,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty1 = ty10 in -# 651 "parser_cocci_menhir.mly" +# 655 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty1])) ) -# 45536 "parser_cocci_menhir.ml" +# 45751 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 45542 "parser_cocci_menhir.ml" +# 45757 "parser_cocci_menhir.ml" in let cv = @@ -45546,13 +45761,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 45550 "parser_cocci_menhir.ml" +# 45765 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 45556 "parser_cocci_menhir.ml" +# 45771 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -45589,12 +45804,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 45593 "parser_cocci_menhir.ml" +# 45808 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 45598 "parser_cocci_menhir.ml" +# 45813 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -45606,17 +45821,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 653 "parser_cocci_menhir.mly" +# 657 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongIntType,[P.clt2mcode "long" ty1;P.clt2mcode "int" ty2])) ) -# 45614 "parser_cocci_menhir.ml" +# 45829 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 45620 "parser_cocci_menhir.ml" +# 45835 "parser_cocci_menhir.ml" in let cv = @@ -45624,13 +45839,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 45628 "parser_cocci_menhir.ml" +# 45843 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 45634 "parser_cocci_menhir.ml" +# 45849 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -45667,12 +45882,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 45671 "parser_cocci_menhir.ml" +# 45886 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 45676 "parser_cocci_menhir.ml" +# 45891 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -45684,18 +45899,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 657 "parser_cocci_menhir.mly" +# 661 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 45693 "parser_cocci_menhir.ml" +# 45908 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 45699 "parser_cocci_menhir.ml" +# 45914 "parser_cocci_menhir.ml" in let cv = @@ -45703,13 +45918,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 45707 "parser_cocci_menhir.ml" +# 45922 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 45713 "parser_cocci_menhir.ml" +# 45928 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -45751,17 +45966,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty300 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 45755 "parser_cocci_menhir.ml" +# 45970 "parser_cocci_menhir.ml" ) = Obj.magic ty300 in let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 45760 "parser_cocci_menhir.ml" +# 45975 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 45765 "parser_cocci_menhir.ml" +# 45980 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -45775,19 +45990,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 662 "parser_cocci_menhir.mly" +# 666 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongIntType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2; P.clt2mcode "int" ty3])) ) -# 45785 "parser_cocci_menhir.ml" +# 46000 "parser_cocci_menhir.ml" in -# 716 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( ty ) -# 45791 "parser_cocci_menhir.ml" +# 46006 "parser_cocci_menhir.ml" in let cv = @@ -45795,13 +46010,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 45799 "parser_cocci_menhir.ml" +# 46014 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 45805 "parser_cocci_menhir.ml" +# 46020 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -45833,7 +46048,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 116 "parser_cocci_menhir.mly" (Data.clt) -# 45837 "parser_cocci_menhir.ml" +# 46052 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -45843,15 +46058,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 671 "parser_cocci_menhir.mly" +# 675 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 45849 "parser_cocci_menhir.ml" +# 46064 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 45855 "parser_cocci_menhir.ml" +# 46070 "parser_cocci_menhir.ml" in let cv = @@ -45859,13 +46074,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 45863 "parser_cocci_menhir.ml" +# 46078 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 45869 "parser_cocci_menhir.ml" +# 46084 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -45902,12 +46117,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 45906 "parser_cocci_menhir.ml" +# 46121 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 45911 "parser_cocci_menhir.ml" +# 46126 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -45919,18 +46134,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 673 "parser_cocci_menhir.mly" +# 677 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongDoubleType, [P.clt2mcode "long" ty1;P.clt2mcode "double" ty2])) ) -# 45928 "parser_cocci_menhir.ml" +# 46143 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 45934 "parser_cocci_menhir.ml" +# 46149 "parser_cocci_menhir.ml" in let cv = @@ -45938,13 +46153,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 45942 "parser_cocci_menhir.ml" +# 46157 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 45948 "parser_cocci_menhir.ml" +# 46163 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -45976,7 +46191,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 45980 "parser_cocci_menhir.ml" +# 46195 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -45986,15 +46201,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 678 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 45992 "parser_cocci_menhir.ml" +# 46207 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 45998 "parser_cocci_menhir.ml" +# 46213 "parser_cocci_menhir.ml" in let cv = @@ -46002,13 +46217,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 46006 "parser_cocci_menhir.ml" +# 46221 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 46012 "parser_cocci_menhir.ml" +# 46227 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -46040,7 +46255,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 114 "parser_cocci_menhir.mly" (Data.clt) -# 46044 "parser_cocci_menhir.ml" +# 46259 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -46050,15 +46265,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 680 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 46056 "parser_cocci_menhir.ml" +# 46271 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 46062 "parser_cocci_menhir.ml" +# 46277 "parser_cocci_menhir.ml" in let cv = @@ -46066,13 +46281,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 46070 "parser_cocci_menhir.ml" +# 46285 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 46076 "parser_cocci_menhir.ml" +# 46291 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -46104,7 +46319,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 115 "parser_cocci_menhir.mly" (Data.clt) -# 46108 "parser_cocci_menhir.ml" +# 46323 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -46114,15 +46329,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 682 "parser_cocci_menhir.mly" +# 686 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) ) -# 46120 "parser_cocci_menhir.ml" +# 46335 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 46126 "parser_cocci_menhir.ml" +# 46341 "parser_cocci_menhir.ml" in let cv = @@ -46130,13 +46345,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 46134 "parser_cocci_menhir.ml" +# 46349 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 46140 "parser_cocci_menhir.ml" +# 46355 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -46168,7 +46383,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 115 "parser_cocci_menhir.mly" (Data.clt) -# 46172 "parser_cocci_menhir.ml" +# 46387 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -46178,15 +46393,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 684 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) ) -# 46184 "parser_cocci_menhir.ml" +# 46399 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 46190 "parser_cocci_menhir.ml" +# 46405 "parser_cocci_menhir.ml" in let cv = @@ -46194,13 +46409,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 46198 "parser_cocci_menhir.ml" +# 46413 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 46204 "parser_cocci_menhir.ml" +# 46419 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -46232,7 +46447,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 115 "parser_cocci_menhir.mly" (Data.clt) -# 46236 "parser_cocci_menhir.ml" +# 46451 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -46242,15 +46457,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 686 "parser_cocci_menhir.mly" +# 690 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) ) -# 46248 "parser_cocci_menhir.ml" +# 46463 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 46254 "parser_cocci_menhir.ml" +# 46469 "parser_cocci_menhir.ml" in let cv = @@ -46258,13 +46473,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 46262 "parser_cocci_menhir.ml" +# 46477 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 46268 "parser_cocci_menhir.ml" +# 46483 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -46302,7 +46517,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s00 : ( # 116 "parser_cocci_menhir.mly" (Data.clt) -# 46306 "parser_cocci_menhir.ml" +# 46521 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -46314,15 +46529,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 688 "parser_cocci_menhir.mly" +# 692 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) ) -# 46320 "parser_cocci_menhir.ml" +# 46535 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 46326 "parser_cocci_menhir.ml" +# 46541 "parser_cocci_menhir.ml" in let cv = @@ -46330,13 +46545,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 46334 "parser_cocci_menhir.ml" +# 46549 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 46340 "parser_cocci_menhir.ml" +# 46555 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -46383,18 +46598,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 46387 "parser_cocci_menhir.ml" +# 46602 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 46393 "parser_cocci_menhir.ml" +# 46608 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( # 116 "parser_cocci_menhir.mly" (Data.clt) -# 46398 "parser_cocci_menhir.ml" +# 46613 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -46413,22 +46628,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 46417 "parser_cocci_menhir.ml" +# 46632 "parser_cocci_menhir.ml" in -# 690 "parser_cocci_menhir.mly" +# 694 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "enums must be named in the iso file"); Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) ) -# 46426 "parser_cocci_menhir.ml" +# 46641 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 46432 "parser_cocci_menhir.ml" +# 46647 "parser_cocci_menhir.ml" in let cv = @@ -46436,13 +46651,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 46440 "parser_cocci_menhir.ml" +# 46655 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 46446 "parser_cocci_menhir.ml" +# 46661 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -46494,19 +46709,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 46498 "parser_cocci_menhir.ml" +# 46713 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 46504 "parser_cocci_menhir.ml" +# 46719 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let x000 : 'tv_ident = Obj.magic x000 in let s00 : ( # 116 "parser_cocci_menhir.mly" (Data.clt) -# 46510 "parser_cocci_menhir.ml" +# 46725 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -46528,22 +46743,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 46532 "parser_cocci_menhir.ml" +# 46747 "parser_cocci_menhir.ml" in -# 690 "parser_cocci_menhir.mly" +# 694 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "enums must be named in the iso file"); Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) ) -# 46541 "parser_cocci_menhir.ml" +# 46756 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 46547 "parser_cocci_menhir.ml" +# 46762 "parser_cocci_menhir.ml" in let cv = @@ -46551,13 +46766,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 46555 "parser_cocci_menhir.ml" +# 46770 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 46561 "parser_cocci_menhir.ml" +# 46776 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -46603,15 +46818,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 695 "parser_cocci_menhir.mly" +# 699 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 46609 "parser_cocci_menhir.ml" +# 46824 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 46615 "parser_cocci_menhir.ml" +# 46830 "parser_cocci_menhir.ml" in let cv = @@ -46619,13 +46834,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 46623 "parser_cocci_menhir.ml" +# 46838 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 46629 "parser_cocci_menhir.ml" +# 46844 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -46672,13 +46887,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 46676 "parser_cocci_menhir.ml" +# 46891 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 46682 "parser_cocci_menhir.ml" +# 46897 "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 @@ -46698,23 +46913,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 46702 "parser_cocci_menhir.ml" +# 46917 "parser_cocci_menhir.ml" in -# 698 "parser_cocci_menhir.mly" +# 702 "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)) ) -# 46712 "parser_cocci_menhir.ml" +# 46927 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 46718 "parser_cocci_menhir.ml" +# 46933 "parser_cocci_menhir.ml" in let cv = @@ -46722,13 +46937,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 46726 "parser_cocci_menhir.ml" +# 46941 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 46732 "parser_cocci_menhir.ml" +# 46947 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -46780,13 +46995,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 46784 "parser_cocci_menhir.ml" +# 46999 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 46790 "parser_cocci_menhir.ml" +# 47005 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let x000 : 'tv_type_ident = Obj.magic x000 in let s00 : 'tv_struct_or_union = Obj.magic s00 in @@ -46810,23 +47025,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 46814 "parser_cocci_menhir.ml" +# 47029 "parser_cocci_menhir.ml" in -# 698 "parser_cocci_menhir.mly" +# 702 "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)) ) -# 46824 "parser_cocci_menhir.ml" +# 47039 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 46830 "parser_cocci_menhir.ml" +# 47045 "parser_cocci_menhir.ml" in let cv = @@ -46834,13 +47049,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 46838 "parser_cocci_menhir.ml" +# 47053 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 46844 "parser_cocci_menhir.ml" +# 47059 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -46887,18 +47102,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 46891 "parser_cocci_menhir.ml" +# 47106 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 170 "parser_cocci_menhir.mly" (Data.clt) -# 46897 "parser_cocci_menhir.ml" +# 47112 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( # 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 46902 "parser_cocci_menhir.ml" +# 47117 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -46914,17 +47129,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 704 "parser_cocci_menhir.mly" +# 708 "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)) ) -# 46922 "parser_cocci_menhir.ml" +# 47137 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 46928 "parser_cocci_menhir.ml" +# 47143 "parser_cocci_menhir.ml" in let cv = @@ -46932,13 +47147,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 46936 "parser_cocci_menhir.ml" +# 47151 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 46942 "parser_cocci_menhir.ml" +# 47157 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -46970,7 +47185,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 46974 "parser_cocci_menhir.ml" +# 47189 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -46980,15 +47195,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 708 "parser_cocci_menhir.mly" +# 712 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 46986 "parser_cocci_menhir.ml" +# 47201 "parser_cocci_menhir.ml" in -# 717 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( ty ) -# 46992 "parser_cocci_menhir.ml" +# 47207 "parser_cocci_menhir.ml" in let cv = @@ -46996,13 +47211,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 47000 "parser_cocci_menhir.ml" +# 47215 "parser_cocci_menhir.ml" in -# 738 "parser_cocci_menhir.mly" +# 742 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 47006 "parser_cocci_menhir.ml" +# 47221 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47033,22 +47248,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 47037 "parser_cocci_menhir.ml" +# 47252 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_midzero_list_mctype_mctype_ = Obj.magic t in let lp : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 47043 "parser_cocci_menhir.ml" +# 47258 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_rp_ in let _v : 'tv_typedef_ctype = -# 740 "parser_cocci_menhir.mly" +# 744 "parser_cocci_menhir.mly" ( let (mids,code) = t in Ast0.wrap (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) ) -# 47052 "parser_cocci_menhir.ml" +# 47267 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47069,14 +47284,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 133 "parser_cocci_menhir.mly" (Parse_aux.info) -# 47073 "parser_cocci_menhir.ml" +# 47288 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_typedef_ctype = -# 743 "parser_cocci_menhir.mly" +# 747 "parser_cocci_menhir.mly" ( tmeta_to_type _1 ) -# 47080 "parser_cocci_menhir.ml" +# 47295 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47094,13 +47309,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_pure_ident = Obj.magic _1 in + let _1 : 'tv_pure_ident_or_symbol = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_typedef_ident = -# 2000 "parser_cocci_menhir.mly" +# 2023 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) ) -# 47104 "parser_cocci_menhir.ml" +# 47319 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47121,14 +47336,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 133 "parser_cocci_menhir.mly" (Parse_aux.info) -# 47125 "parser_cocci_menhir.ml" +# 47340 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_typedef_ident = -# 2001 "parser_cocci_menhir.mly" +# 2024 "parser_cocci_menhir.mly" ( tmeta_to_type _1 ) -# 47132 "parser_cocci_menhir.ml" +# 47347 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47149,15 +47364,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 47153 "parser_cocci_menhir.ml" +# 47368 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_typedef_ident = -# 2003 "parser_cocci_menhir.mly" +# 2026 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 47161 "parser_cocci_menhir.ml" +# 47376 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47179,9 +47394,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_ = -# 1563 "parser_cocci_menhir.mly" +# 1575 "parser_cocci_menhir.mly" ( _1 ) -# 47185 "parser_cocci_menhir.ml" +# 47400 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47208,14 +47423,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 154 "parser_cocci_menhir.mly" (Data.clt) -# 47212 "parser_cocci_menhir.ml" +# 47427 "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_ = -# 1565 "parser_cocci_menhir.mly" +# 1577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 47219 "parser_cocci_menhir.ml" +# 47434 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47242,14 +47457,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 154 "parser_cocci_menhir.mly" (Data.clt) -# 47246 "parser_cocci_menhir.ml" +# 47461 "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_ = -# 1567 "parser_cocci_menhir.mly" +# 1579 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 47253 "parser_cocci_menhir.ml" +# 47468 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47277,9 +47492,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_ = -# 1569 "parser_cocci_menhir.mly" +# 1581 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 47283 "parser_cocci_menhir.ml" +# 47498 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47306,15 +47521,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 47310 "parser_cocci_menhir.ml" +# 47525 "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_ = -# 1571 "parser_cocci_menhir.mly" +# 1583 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 47318 "parser_cocci_menhir.ml" +# 47533 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47341,14 +47556,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 124 "parser_cocci_menhir.mly" (Data.clt) -# 47345 "parser_cocci_menhir.ml" +# 47560 "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_ = -# 1574 "parser_cocci_menhir.mly" +# 1586 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 47352 "parser_cocci_menhir.ml" +# 47567 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47384,27 +47599,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 47388 "parser_cocci_menhir.ml" +# 47603 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 47394 "parser_cocci_menhir.ml" +# 47609 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( # 124 "parser_cocci_menhir.mly" (Data.clt) -# 47399 "parser_cocci_menhir.ml" +# 47614 "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_ = -# 1576 "parser_cocci_menhir.mly" +# 1588 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 47408 "parser_cocci_menhir.ml" +# 47623 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47426,9 +47641,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1563 "parser_cocci_menhir.mly" +# 1575 "parser_cocci_menhir.mly" ( _1 ) -# 47432 "parser_cocci_menhir.ml" +# 47647 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47455,14 +47670,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 154 "parser_cocci_menhir.mly" (Data.clt) -# 47459 "parser_cocci_menhir.ml" +# 47674 "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_ = -# 1565 "parser_cocci_menhir.mly" +# 1577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 47466 "parser_cocci_menhir.ml" +# 47681 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47489,14 +47704,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 154 "parser_cocci_menhir.mly" (Data.clt) -# 47493 "parser_cocci_menhir.ml" +# 47708 "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_ = -# 1567 "parser_cocci_menhir.mly" +# 1579 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 47500 "parser_cocci_menhir.ml" +# 47715 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47524,9 +47739,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1569 "parser_cocci_menhir.mly" +# 1581 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 47530 "parser_cocci_menhir.ml" +# 47745 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47553,15 +47768,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 47557 "parser_cocci_menhir.ml" +# 47772 "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_ = -# 1571 "parser_cocci_menhir.mly" +# 1583 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 47565 "parser_cocci_menhir.ml" +# 47780 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47588,14 +47803,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 124 "parser_cocci_menhir.mly" (Data.clt) -# 47592 "parser_cocci_menhir.ml" +# 47807 "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_ = -# 1574 "parser_cocci_menhir.mly" +# 1586 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 47599 "parser_cocci_menhir.ml" +# 47814 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47631,27 +47846,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 47635 "parser_cocci_menhir.ml" +# 47850 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 47641 "parser_cocci_menhir.ml" +# 47856 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( # 124 "parser_cocci_menhir.mly" (Data.clt) -# 47646 "parser_cocci_menhir.ml" +# 47861 "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_ = -# 1576 "parser_cocci_menhir.mly" +# 1588 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 47655 "parser_cocci_menhir.ml" +# 47870 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47673,9 +47888,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_ = -# 1563 "parser_cocci_menhir.mly" +# 1575 "parser_cocci_menhir.mly" ( _1 ) -# 47679 "parser_cocci_menhir.ml" +# 47894 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47702,14 +47917,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 154 "parser_cocci_menhir.mly" (Data.clt) -# 47706 "parser_cocci_menhir.ml" +# 47921 "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_ = -# 1565 "parser_cocci_menhir.mly" +# 1577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 47713 "parser_cocci_menhir.ml" +# 47928 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47736,14 +47951,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 154 "parser_cocci_menhir.mly" (Data.clt) -# 47740 "parser_cocci_menhir.ml" +# 47955 "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_ = -# 1567 "parser_cocci_menhir.mly" +# 1579 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 47747 "parser_cocci_menhir.ml" +# 47962 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47771,9 +47986,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_ = -# 1569 "parser_cocci_menhir.mly" +# 1581 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 47777 "parser_cocci_menhir.ml" +# 47992 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47800,15 +48015,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 47804 "parser_cocci_menhir.ml" +# 48019 "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_ = -# 1571 "parser_cocci_menhir.mly" +# 1583 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 47812 "parser_cocci_menhir.ml" +# 48027 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47835,14 +48050,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 124 "parser_cocci_menhir.mly" (Data.clt) -# 47839 "parser_cocci_menhir.ml" +# 48054 "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_ = -# 1574 "parser_cocci_menhir.mly" +# 1586 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 47846 "parser_cocci_menhir.ml" +# 48061 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47878,27 +48093,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 47882 "parser_cocci_menhir.ml" +# 48097 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 47888 "parser_cocci_menhir.ml" +# 48103 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( # 124 "parser_cocci_menhir.mly" (Data.clt) -# 47893 "parser_cocci_menhir.ml" +# 48108 "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_ = -# 1576 "parser_cocci_menhir.mly" +# 1588 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 47902 "parser_cocci_menhir.ml" +# 48117 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47920,9 +48135,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1563 "parser_cocci_menhir.mly" +# 1575 "parser_cocci_menhir.mly" ( _1 ) -# 47926 "parser_cocci_menhir.ml" +# 48141 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47949,14 +48164,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 154 "parser_cocci_menhir.mly" (Data.clt) -# 47953 "parser_cocci_menhir.ml" +# 48168 "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_ = -# 1565 "parser_cocci_menhir.mly" +# 1577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 47960 "parser_cocci_menhir.ml" +# 48175 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -47983,14 +48198,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 154 "parser_cocci_menhir.mly" (Data.clt) -# 47987 "parser_cocci_menhir.ml" +# 48202 "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_ = -# 1567 "parser_cocci_menhir.mly" +# 1579 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 47994 "parser_cocci_menhir.ml" +# 48209 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -48018,9 +48233,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1569 "parser_cocci_menhir.mly" +# 1581 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 48024 "parser_cocci_menhir.ml" +# 48239 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -48047,15 +48262,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 48051 "parser_cocci_menhir.ml" +# 48266 "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_ = -# 1571 "parser_cocci_menhir.mly" +# 1583 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 48059 "parser_cocci_menhir.ml" +# 48274 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -48082,14 +48297,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 124 "parser_cocci_menhir.mly" (Data.clt) -# 48086 "parser_cocci_menhir.ml" +# 48301 "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_ = -# 1574 "parser_cocci_menhir.mly" +# 1586 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 48093 "parser_cocci_menhir.ml" +# 48308 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -48125,27 +48340,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 48129 "parser_cocci_menhir.ml" +# 48344 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 48135 "parser_cocci_menhir.ml" +# 48350 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( # 124 "parser_cocci_menhir.mly" (Data.clt) -# 48140 "parser_cocci_menhir.ml" +# 48355 "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_ = -# 1576 "parser_cocci_menhir.mly" +# 1588 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 48149 "parser_cocci_menhir.ml" +# 48364 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -48167,9 +48382,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_bis = -# 1582 "parser_cocci_menhir.mly" +# 1594 "parser_cocci_menhir.mly" ( _1 ) -# 48173 "parser_cocci_menhir.ml" +# 48388 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -48196,14 +48411,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 154 "parser_cocci_menhir.mly" (Data.clt) -# 48200 "parser_cocci_menhir.ml" +# 48415 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_bis = -# 1584 "parser_cocci_menhir.mly" +# 1596 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 48207 "parser_cocci_menhir.ml" +# 48422 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -48230,14 +48445,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 154 "parser_cocci_menhir.mly" (Data.clt) -# 48234 "parser_cocci_menhir.ml" +# 48449 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_bis = -# 1586 "parser_cocci_menhir.mly" +# 1598 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 48241 "parser_cocci_menhir.ml" +# 48456 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -48265,9 +48480,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_bis = -# 1588 "parser_cocci_menhir.mly" +# 1600 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 48271 "parser_cocci_menhir.ml" +# 48486 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -48294,15 +48509,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 48298 "parser_cocci_menhir.ml" +# 48513 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_bis = -# 1590 "parser_cocci_menhir.mly" +# 1602 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 48306 "parser_cocci_menhir.ml" +# 48521 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -48329,14 +48544,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 124 "parser_cocci_menhir.mly" (Data.clt) -# 48333 "parser_cocci_menhir.ml" +# 48548 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_bis = -# 1593 "parser_cocci_menhir.mly" +# 1605 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 48340 "parser_cocci_menhir.ml" +# 48555 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -48372,27 +48587,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 146 "parser_cocci_menhir.mly" (Data.clt) -# 48376 "parser_cocci_menhir.ml" +# 48591 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( # 145 "parser_cocci_menhir.mly" (Data.clt) -# 48382 "parser_cocci_menhir.ml" +# 48597 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( # 124 "parser_cocci_menhir.mly" (Data.clt) -# 48387 "parser_cocci_menhir.ml" +# 48602 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_rp_ in let _v : 'tv_unary_expr_bis = -# 1595 "parser_cocci_menhir.mly" +# 1607 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 48396 "parser_cocci_menhir.ml" +# 48611 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -48413,14 +48628,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 162 "parser_cocci_menhir.mly" (Data.clt) -# 48417 "parser_cocci_menhir.ml" +# 48632 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1599 "parser_cocci_menhir.mly" +# 1611 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.GetRef _1 ) -# 48424 "parser_cocci_menhir.ml" +# 48639 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -48441,14 +48656,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 168 "parser_cocci_menhir.mly" (Data.clt) -# 48445 "parser_cocci_menhir.ml" +# 48660 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1600 "parser_cocci_menhir.mly" +# 1612 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.DeRef _1 ) -# 48452 "parser_cocci_menhir.ml" +# 48667 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -48469,14 +48684,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 167 "parser_cocci_menhir.mly" (Data.clt) -# 48473 "parser_cocci_menhir.ml" +# 48688 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1601 "parser_cocci_menhir.mly" +# 1613 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.UnPlus _1 ) -# 48480 "parser_cocci_menhir.ml" +# 48695 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -48497,14 +48712,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 167 "parser_cocci_menhir.mly" (Data.clt) -# 48501 "parser_cocci_menhir.ml" +# 48716 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1602 "parser_cocci_menhir.mly" +# 1614 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.UnMinus _1 ) -# 48508 "parser_cocci_menhir.ml" +# 48723 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -48525,14 +48740,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 168 "parser_cocci_menhir.mly" (Data.clt) -# 48529 "parser_cocci_menhir.ml" +# 48744 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1603 "parser_cocci_menhir.mly" +# 1615 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Tilde _1 ) -# 48536 "parser_cocci_menhir.ml" +# 48751 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -48560,9 +48775,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_when_start = -# 2253 "parser_cocci_menhir.mly" +# 2276 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) ) -# 48566 "parser_cocci_menhir.ml" +# 48781 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -48590,9 +48805,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_when_start = -# 2255 "parser_cocci_menhir.mly" +# 2278 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1@_2)) ) -# 48596 "parser_cocci_menhir.ml" +# 48811 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -48614,9 +48829,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_w_ in let _endpos = _endpos_w_ in let _v : 'tv_whenppdecs = -# 1141 "parser_cocci_menhir.mly" +# 1153 "parser_cocci_menhir.mly" ( w ) -# 48620 "parser_cocci_menhir.ml" +# 48835 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -48650,9 +48865,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_ = -# 2300 "parser_cocci_menhir.mly" +# 2323 "parser_cocci_menhir.mly" ( [Ast0.WhenNot w] ) -# 48656 "parser_cocci_menhir.ml" +# 48871 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -48686,9 +48901,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_ = -# 2301 "parser_cocci_menhir.mly" +# 2324 "parser_cocci_menhir.mly" ( [Ast0.WhenAlways w] ) -# 48692 "parser_cocci_menhir.ml" +# 48907 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -48718,9 +48933,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_ = -# 2303 "parser_cocci_menhir.mly" +# 2326 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.WhenModifier(x)) _2 ) -# 48724 "parser_cocci_menhir.ml" +# 48939 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -48754,9 +48969,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_ = -# 2304 "parser_cocci_menhir.mly" +# 2327 "parser_cocci_menhir.mly" ( [Ast0.WhenNotTrue e] ) -# 48760 "parser_cocci_menhir.ml" +# 48975 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -48790,9 +49005,37 @@ 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_ = -# 2305 "parser_cocci_menhir.mly" +# 2328 "parser_cocci_menhir.mly" ( [Ast0.WhenNotFalse e] ) -# 48796 "parser_cocci_menhir.ml" +# 49011 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 125 "parser_cocci_menhir.mly" + (string * Data.clt) +# 49032 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_wrapped_sym_ident = +# 1749 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Id(P.sym2mcode _1)) ) +# 49039 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -48813,90 +49056,90 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rec script_meta_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 2163 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 2178 lexer lexbuf) : ( # 230 "parser_cocci_menhir.mly" ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) -# 48820 "parser_cocci_menhir.ml" +# 49063 "parser_cocci_menhir.ml" )) and rule_name = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 2088 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 2101 lexer lexbuf) : ( # 224 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 48828 "parser_cocci_menhir.ml" +# 49071 "parser_cocci_menhir.ml" )) and reinit = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 2086 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 2099 lexer lexbuf) : ( # 202 "parser_cocci_menhir.mly" (unit) -# 48836 "parser_cocci_menhir.ml" +# 49079 "parser_cocci_menhir.ml" )) and plus_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 2050 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 2063 lexer lexbuf) : ( # 211 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 48844 "parser_cocci_menhir.ml" +# 49087 "parser_cocci_menhir.ml" )) and plus_exp_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 2042 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 2055 lexer lexbuf) : ( # 214 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 48852 "parser_cocci_menhir.ml" +# 49095 "parser_cocci_menhir.ml" )) and never_used = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 2036 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 2049 lexer lexbuf) : ( # 239 "parser_cocci_menhir.mly" (unit) -# 48860 "parser_cocci_menhir.ml" +# 49103 "parser_cocci_menhir.ml" )) and minus_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1951 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1964 lexer lexbuf) : ( # 205 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 48868 "parser_cocci_menhir.ml" +# 49111 "parser_cocci_menhir.ml" )) and minus_exp_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1939 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1952 lexer lexbuf) : ( # 208 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 48876 "parser_cocci_menhir.ml" +# 49119 "parser_cocci_menhir.ml" )) and meta_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1936 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1949 lexer lexbuf) : ( # 228 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 48884 "parser_cocci_menhir.ml" +# 49127 "parser_cocci_menhir.ml" )) and iso_rule_name = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1932 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1945 lexer lexbuf) : ( # 220 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 48892 "parser_cocci_menhir.ml" +# 49135 "parser_cocci_menhir.ml" )) and iso_meta_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1642 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1650 lexer lexbuf) : ( # 236 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 48900 "parser_cocci_menhir.ml" +# 49143 "parser_cocci_menhir.ml" )) and iso_main = @@ -48904,7 +49147,7 @@ and iso_main = (Obj.magic (MenhirInterpreter.entry 18 lexer lexbuf) : ( # 233 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 48908 "parser_cocci_menhir.ml" +# 49151 "parser_cocci_menhir.ml" )) and include_main = @@ -48912,7 +49155,7 @@ and include_main = (Obj.magic (MenhirInterpreter.entry 0 lexer lexbuf) : ( # 217 "parser_cocci_menhir.mly" (Data.incl_iso list) -# 48916 "parser_cocci_menhir.ml" +# 49159 "parser_cocci_menhir.ml" )) diff --git a/parsing_cocci/parser_cocci_menhir.mli b/parsing_cocci/parser_cocci_menhir.mli index b81a4c8..0e32475 100644 --- a/parsing_cocci/parser_cocci_menhir.mli +++ b/parsing_cocci/parser_cocci_menhir.mli @@ -44,6 +44,8 @@ type token = | TTildeExclEq of (Data.clt) | TTildeEq of (Data.clt) | TTilde of (Data.clt) + | TSymbol + | TSymId of (string * Data.clt) | TSwitch of (Data.clt) | TSub of (Data.clt) | TString of (string * Data.clt) diff --git a/parsing_cocci/parser_cocci_menhir.mly b/parsing_cocci/parser_cocci_menhir.mly index 8fc9bed..c8292ea 100644 --- a/parsing_cocci/parser_cocci_menhir.mly +++ b/parsing_cocci/parser_cocci_menhir.mly @@ -103,7 +103,7 @@ let tmeta_to_ident (name,pure,clt) = %token EOF %token TIdentifier TExpression TStatement TFunction TLocal TType TParameter -%token TIdExpression TInitialiser TDeclaration TField TMetavariable +%token TIdExpression TInitialiser TDeclaration TField TMetavariable TSymbol %token Tlist TFresh TConstant TError TWords TWhy0 TPlus0 TBang0 %token TPure TContext TGenerated %token TTypedef TDeclarer TIterator TName TPosition TPosAny @@ -122,7 +122,7 @@ let tmeta_to_ident (name,pure,clt) = %token TIf TElse TWhile TFor TDo TSwitch TCase TDefault TReturn %token TBreak TContinue TGoto TSizeof TFunDecl -%token TIdent TTypeId TDeclarerId TIteratorId +%token TIdent TTypeId TDeclarerId TIteratorId TSymId %token TPragma %token TMetaId @@ -289,19 +289,18 @@ extends: { !Data.install_bindings (parent) } depends: - /* empty */ { Ast.NoDep } + /* empty */ { Ast0.NoDep } | TDepends TOn parents=dep { parents } dep: - pnrule { $1 } -| dep TAndLog dep { Ast.AndDep($1, $3) } -| dep TOrLog dep { Ast.OrDep ($1, $3) } - -pnrule: - TRuleName { Ast.Dep $1 } -| TBang TRuleName { Ast.AntiDep $2 } -| TEver TRuleName { Ast.EverDep $2 } -| TNever TRuleName { Ast.NeverDep $2 } + TRuleName { Ast0.Dep $1 } +| TBang TRuleName { Ast0.AntiDep (Ast0.Dep $2) } +| TBang TOPar dep TCPar + { Ast0.AntiDep $3 } +| TEver TRuleName { Ast0.EverDep $2 } +| TNever TRuleName { Ast0.NeverDep $2 } +| dep TAndLog dep { Ast0.AndDep($1, $3) } +| dep TOrLog dep { Ast0.OrDep ($1, $3) } | TOPar dep TCPar { $2 } choose_iso: @@ -413,6 +412,11 @@ metadec: let tok = check_meta(Ast.MetaInitListDecl(arity,name,lenname)) in !Data.add_initlist_meta name lenname pure; tok) len ids } +| TSymbol ids=comma_list(pure_ident) TMPtVirg + { (fun _ -> + let add_sym = fun (nm,_) -> !Data.add_symbol_meta nm in + List.iter add_sym ids; []) + } list_len: pure_ident_or_meta_ident { Common.Left $1 } @@ -772,7 +776,7 @@ struct_decl_one: (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)) } - | cv=ioption(const_vol) i=pure_ident d=d_ident pv=TPtVirg + | cv=ioption(const_vol) i=pure_ident_or_symbol d=d_ident pv=TPtVirg { 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)) } @@ -902,6 +906,9 @@ includes: | TIdent((nm,clt)) -> let clt = P.set_aft aft clt in Ast0.wrap(Ast0.Id(P.clt2mcode nm clt)) + | TSymId(nm,clt) -> + let clt = P.set_aft aft clt in + Ast0.wrap(Ast0.Id(P.clt2mcode nm clt)) | _ -> raise (Semantic_cocci.Semantic @@ -938,6 +945,9 @@ defineop: | TIdent((nm,clt)) -> let clt = P.set_aft aft clt in Ast0.wrap(Ast0.Id(P.clt2mcode nm clt)) + | TSymId(nm,clt) -> + let clt = P.set_aft aft clt in + Ast0.wrap(Ast0.Id(P.clt2mcode nm clt)) | _ -> raise (Semantic_cocci.Semantic @@ -962,6 +972,8 @@ defineop: (Ast0.MetaId(P.clt2mcode nm clt,constraints,seed,pure)) | TIdent((nm,clt)) -> Ast0.wrap(Ast0.Id(P.clt2mcode nm clt)) + | TSymId(nm,clt) -> + Ast0.wrap(Ast0.Id(P.clt2mcode nm clt)) | _ -> raise (Semantic_cocci.Semantic @@ -1198,7 +1210,7 @@ decl_var: {let (id,fn) = d in [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]} /* type is a typedef name */ - | s=ioption(storage) cv=ioption(const_vol) i=pure_ident + | s=ioption(storage) cv=ioption(const_vol) i=pure_ident_or_symbol d=comma_list(d_ident) pv=TPtVirg { List.map (function (id,fn) -> @@ -1206,7 +1218,7 @@ decl_var: P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv))) d } - | s=ioption(storage) cv=ioption(const_vol) i=pure_ident d=d_ident q=TEq + | s=ioption(storage) cv=ioption(const_vol) i=pure_ident_or_symbol d=d_ident q=TEq e=initialize pv=TPtVirg { let (id,fn) = d in !Data.add_type_name (P.id2name i); @@ -1258,12 +1270,12 @@ one_decl_var: { let (id,fn) = d in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) } /* type is a typedef name */ - | s=ioption(storage) cv=ioption(const_vol) i=pure_ident + | s=ioption(storage) cv=ioption(const_vol) i=pure_ident_or_symbol d=d_ident pv=TPtVirg { 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)) } - | s=ioption(storage) cv=ioption(const_vol) i=pure_ident d=d_ident q=TEq + | s=ioption(storage) cv=ioption(const_vol) i=pure_ident_or_symbol d=d_ident q=TEq e=initialize pv=TPtVirg { let (id,fn) = d in !Data.add_type_name (P.id2name i); @@ -1695,6 +1707,10 @@ no_dot_start_end(grammar,dotter): pure_ident: TIdent { $1 } +pure_ident_or_symbol: + pure_ident { $1 } + | TSymId { $1 } + pure_ident_kwd: | TIdentifier { "identifier" } | TExpression { "expression" } @@ -1718,6 +1734,7 @@ pure_ident_kwd: | TIterator { "iterator" } | TName { "name" } | TPosition { "position" } + | TSymbol { "symbol" } meta_ident: TRuleName TDot pure_ident { (Some $1,P.id2name $3) } @@ -1728,6 +1745,9 @@ pure_ident_or_meta_ident: | pure_ident_kwd { (None,$1) } | meta_ident { $1 } +wrapped_sym_ident: + TSymId { Ast0.wrap(Ast0.Id(P.sym2mcode $1)) } + pure_ident_or_meta_ident_with_seed: pure_ident_or_meta_ident { ($1,Ast.NoVal) } | pure_ident_or_meta_ident TEq @@ -1834,7 +1854,7 @@ not_eqid: let (str,meta) = List.fold_left (function (str,meta) -> - function + function (Some rn,id) as i -> let i = P.check_inherited_constraint i @@ -1913,6 +1933,7 @@ sub: ident_or_const: i=pure_ident { Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) } + | wrapped_sym_ident { Ast0.wrap(Ast0.Ident($1)) } | TInt { let (x,clt) = $1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) } @@ -1959,12 +1980,14 @@ fn_ident: disj_ident { $1 } ident: pure_ident { Ast0.wrap(Ast0.Id(P.id2mcode $1)) } + | wrapped_sym_ident { $1 } | TMetaId { let (nm,constraints,seed,pure,clt) = $1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,seed,pure)) } mident: pure_ident { Ast0.wrap(Ast0.Id(P.id2mcode $1)) } + | wrapped_sym_ident { $1 } | TMeta { tmeta_to_ident $1 } | TMetaId { let (nm,constraints,seed,pure,clt) = $1 in @@ -1996,7 +2019,7 @@ iter_ident: Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,Ast.NoVal,pure)) } typedef_ident: - pure_ident + pure_ident_or_symbol { Ast0.wrap(Ast0.TypeName(P.id2mcode $1)) } | TMeta { tmeta_to_type $1 } | TMetaType diff --git a/parsing_cocci/pretty_print_cocci.mli b/parsing_cocci/pretty_print_cocci.mli index e0ae1e8..75986c3 100644 --- a/parsing_cocci/pretty_print_cocci.mli +++ b/parsing_cocci/pretty_print_cocci.mli @@ -46,6 +46,7 @@ val structUnion : Ast_cocci.structUnion -> unit val storage : Ast_cocci.storage -> unit val baseType : Ast_cocci.baseType -> unit val fullType : Ast_cocci.fullType -> unit +val typeC : Ast_cocci.typeC -> unit val inc_file : Ast_cocci.inc_file -> unit val print_around : diff --git a/pycaml/getprefix.py b/pycaml/getprefix.py index ce18302..ee2ea8d 100644 --- a/pycaml/getprefix.py +++ b/pycaml/getprefix.py @@ -1,3 +1,3 @@ import sys -print sys.exec_prefix +print(sys.exec_prefix) diff --git a/pycaml/getversion.py b/pycaml/getversion.py index 594d754..6df8861 100644 --- a/pycaml/getversion.py +++ b/pycaml/getversion.py @@ -1,3 +1,3 @@ import sys -print sys.version[:3] +print(sys.version[:3]) diff --git a/tests/SCORE_expected.sexp b/tests/SCORE_expected.sexp index a8cf4fe..2e9e1a6 100644 --- a/tests/SCORE_expected.sexp +++ b/tests/SCORE_expected.sexp @@ -43,9 +43,15 @@ (doubleswitch.res Ok) (doundo.res Ok) (dowhile.res Ok) (dropf.res Ok) (dropparam.res Ok) (eb1.res Ok) (edots.res Ok) (edots_ver1.res Ok) (empty.res Ok) (end_commas.res Ok) (endif.res Ok) (enum.res Ok) - (exitc.res Ok) (exitp.res (Pb "PROBLEM\n exn = Failure(\"no python\")\n")) - (exp.res Ok) (expnest.res Ok) (expopt.res Ok) (expopt2.res Ok) - (expopt3.res Ok) (expopt3_ver1.res Ok) (expopt3_ver2.res Ok) (extra.res Ok) + (exitc.res + (Pb + "PROBLEM\n exn = Prepare_ocamlcocci.LinkFailure(\"/tmp/exitcf7f019.cmxs\")\n")) + (exitp.res (Pb "PROBLEM\n exn = Failure(\"no python\")\n")) (exp.res Ok) + (expnest.res Ok) (expopt.res Ok) (expopt2.res Ok) (expopt3.res Ok) + (expopt3_ver1.res Ok) (expopt3_ver2.res Ok) + (extra.res + (Pb + "PROBLEM\n exn = Prepare_ocamlcocci.LinkFailure(\"/tmp/extra9e0ca1.cmxs\")\n")) (fields.res Ok) (fieldsmin.res Ok) (find_long.res Ok) (fix_flow_need.res Ok) (fn_todo.res Ok) (fnptr.res Ok) (fnret.res Ok) (fnty.res Ok) (four.res Ok) (foura.res Ok) (fp.res Ok) (fsh.res Ok) (fun.res Ok) @@ -136,16 +142,17 @@ (strangeorder.res Ok) (strid.res Ok) (strid2.res Ok) (string.res Ok) (struct.res Ok) (struct_metavar.res Ok) (struct_typedef.res Ok) (structfoo.res Ok) (substruct.res Ok) (sw.res Ok) (switch.res Ok) - (switchdecl.res Ok) (td.res Ok) (tern.res Ok) (test0.res Ok) (test1.res Ok) - (test10.res Ok) (test10_ver1.res Ok) (test11.res Ok) (test11_ver1.res Ok) - (test12.res Ok) (test2.res Ok) (test3.res Ok) (test4.res Ok) (test5.res Ok) - (test5_ver1.res Ok) (test6.res Ok) (test7.res Ok) (test8.res Ok) - (test9.res Ok) (test_s.res Ok) (test_unsigned_meta.res Ok) - (three_types.res Ok) (threea.res Ok) (top.res Ok) (topdec.res Ok) - (topdec_ver1.res Ok) (topdec_ver2.res Ok) (toplevel_macrostmt.res Ok) - (toplevel_struct.res Ok) (tup.res Ok) (twoproto.res Ok) (ty.res Ok) - (ty1.res Ok) (ty_tyexp.res Ok) (tydisj.res Ok) (tyex.res Ok) (type.res Ok) - (type1.res Ok) (type_annotated.res Ok) (type_ver1.res Ok) + (switchdecl.res Ok) (symbol.res Ok) (td.res Ok) (tern.res Ok) (test0.res Ok) + (test1.res Ok) (test10.res Ok) (test10_ver1.res Ok) (test11.res Ok) + (test11_ver1.res Ok) (test12.res Ok) (test2.res Ok) (test3.res Ok) + (test4.res Ok) (test5.res Ok) (test5_ver1.res Ok) (test6.res Ok) + (test7.res Ok) (test8.res Ok) (test9.res Ok) (test_s.res Ok) + (test_unsigned_meta.res Ok) (three_types.res Ok) (threea.res Ok) + (top.res Ok) (topdec.res Ok) (topdec_ver1.res Ok) (topdec_ver2.res Ok) + (toplevel_macrostmt.res Ok) (toplevel_struct.res Ok) (tup.res Ok) + (twoproto.res Ok) (ty.res Ok) (ty1.res Ok) (ty_tyexp.res Ok) (tydisj.res Ok) + (tyex.res Ok) (type.res Ok) (type1.res Ok) (type_annotated.res Ok) + (type_ver1.res Ok) (type_ver2.res (Pb "INCORRECT:PB parsing only in generated-file\n diff (result(<) vs expected_result(>)) = \n @@ -1,5 +1,5 @@\n int foo() {\n - int[10] *x;\n + int *x[10];\n return 0;\n }\n \n")) diff --git a/tests/SCORE_expected_orig.sexp b/tests/SCORE_expected_orig.sexp index d4d44e4..3527da8 100644 --- a/tests/SCORE_expected_orig.sexp +++ b/tests/SCORE_expected_orig.sexp @@ -43,9 +43,15 @@ (doubleswitch.res Ok) (doundo.res Ok) (dowhile.res Ok) (dropf.res Ok) (dropparam.res Ok) (eb1.res Ok) (edots.res Ok) (edots_ver1.res Ok) (empty.res Ok) (end_commas.res Ok) (endif.res Ok) (enum.res Ok) - (exitc.res Ok) (exitp.res (Pb "PROBLEM\n exn = Failure(\"no python\")\n")) - (exp.res Ok) (expnest.res Ok) (expopt.res Ok) (expopt2.res Ok) - (expopt3.res Ok) (expopt3_ver1.res Ok) (expopt3_ver2.res Ok) (extra.res Ok) + (exitc.res + (Pb + "PROBLEM\n exn = Prepare_ocamlcocci.LinkFailure(\"/tmp/exitcf7f019.cmxs\")\n")) + (exitp.res (Pb "PROBLEM\n exn = Failure(\"no python\")\n")) (exp.res Ok) + (expnest.res Ok) (expopt.res Ok) (expopt2.res Ok) (expopt3.res Ok) + (expopt3_ver1.res Ok) (expopt3_ver2.res Ok) + (extra.res + (Pb + "PROBLEM\n exn = Prepare_ocamlcocci.LinkFailure(\"/tmp/extra9e0ca1.cmxs\")\n")) (fields.res Ok) (fieldsmin.res Ok) (find_long.res Ok) (fix_flow_need.res Ok) (fn_todo.res Ok) (fnptr.res Ok) (fnret.res Ok) (fnty.res Ok) (four.res Ok) (foura.res Ok) (fp.res Ok) (fsh.res Ok) (fun.res Ok) @@ -138,9 +144,9 @@ (strid.res Ok) (strid2.res Ok) (string.res Ok) (struct.res Ok) (struct_metavar.res Ok) (struct_typedef.res Ok) (structfoo.res Ok) (substruct.res Ok) (sw.res Ok) (switch.res Ok) (switchdecl.res Ok) - (td.res Ok) (tern.res Ok) (test0.res Ok) (test1.res Ok) (test10.res Ok) - (test10_ver1.res Ok) (test11.res Ok) (test11_ver1.res Ok) (test12.res Ok) - (test2.res Ok) (test3.res Ok) (test4.res Ok) (test5.res Ok) + (symbol.res Ok) (td.res Ok) (tern.res Ok) (test0.res Ok) (test1.res Ok) + (test10.res Ok) (test10_ver1.res Ok) (test11.res Ok) (test11_ver1.res Ok) + (test12.res Ok) (test2.res Ok) (test3.res Ok) (test4.res Ok) (test5.res Ok) (test5_ver1.res Ok) (test6.res Ok) (test7.res Ok) (test8.res Ok) (test9.res Ok) (test_s.res Ok) (test_unsigned_meta.res Ok) (three_types.res Ok) (threea.res Ok) (top.res Ok) (topdec.res Ok) diff --git a/tests/symbol.c b/tests/symbol.c new file mode 100644 index 0000000..0f7ef83 --- /dev/null +++ b/tests/symbol.c @@ -0,0 +1,7 @@ +int main() { + int f = 0; + + f = 3; + + return f; +} diff --git a/tests/symbol.cocci b/tests/symbol.cocci new file mode 100644 index 0000000..5372972 --- /dev/null +++ b/tests/symbol.cocci @@ -0,0 +1,12 @@ +@f@ +constant symbol; +symbol f; +@@ + +- f = symbol; + +@symbol@ +// symbol g; +@@ + +int g = 0; diff --git a/tests/symbol.res b/tests/symbol.res new file mode 100644 index 0000000..82cb089 --- /dev/null +++ b/tests/symbol.res @@ -0,0 +1,5 @@ +int main() { + int f = 0; + + return f; +} diff --git a/tools/splitpatch.ml b/tools/splitpatch.ml index 68af129..98f8e8c 100644 --- a/tools/splitpatch.ml +++ b/tools/splitpatch.ml @@ -32,6 +32,7 @@ create a .splitpatch file in your home directory. *) let from = ref "email@xyz.org" let git_tree = ref "/var/linuxes/linux-next" let git_options = ref "--cc=kernel-janitors@vger.kernel.org --suppress-cc=self" +let not_linux = ref "--suppress-cc=self" let prefix_before = ref (Some "/var/linuxes/linux-next") let prefix_after = ref (Some "/var/julia/linuxcopy") @@ -119,7 +120,7 @@ let read_configs template = (match Str.bounded_split (Str.regexp "[ \t]*=[ \t]*") l 2 with ["from";s] -> from := s | ["git_tree";s] -> temporary_git_tree := Some s - | ["git_options";s] -> git_options := s + | ["git_options";s] -> git_options := s; not_linux := s | ["prefix_before";s] -> prefix_before := Some s | ["prefix_after";s] -> prefix_after := Some s | _ -> Printf.fprintf stderr "unknown line: %s\n" l); @@ -133,12 +134,12 @@ let read_configs template = let maintainer_command file = Printf.sprintf - "cd %s; scripts/get_maintainer.pl --separator , --nogit --norolestats -f %s" + "cd %s; scripts/get_maintainer.pl --separator , --nogit-fallback --norolestats -f %s" !git_tree file let subsystem_command file = Printf.sprintf - "cd %s; scripts/get_maintainer.pl --nogit --subsystem --norolestats -f %s | grep -v @" + "cd %s; scripts/get_maintainer.pl --nogit-fallback --subsystem --norolestats -f %s | grep -v @" !git_tree file let checkpatch_command file = @@ -259,6 +260,10 @@ let split_patch i = (* ------------------------------------------------------------------------ *) +let uctr = ref 0 + +let found_a_maintainer = ref false + let resolve_maintainers patches = let maintainer_table = Hashtbl.create (List.length patches) in List.iter @@ -269,7 +274,18 @@ let resolve_maintainers patches = (match Str.split spaces after with file::_ -> let maintainers = - List.hd (cmd_to_list (maintainer_command file)) in + match (cmd_to_list (maintainer_command file)) with + m::_ -> found_a_maintainer := true; m + | [] -> + (* maybe the file is new? *) + (match + (cmd_to_list + (maintainer_command (Filename.dirname file))) + with + m::_ -> found_a_maintainer := true; m + | [] -> + uctr := !uctr + 1; + "unknown"^(string_of_int !uctr)) in let subsystems = cmd_to_list (subsystem_command file) in let info = (subsystems,maintainers) in @@ -466,7 +482,6 @@ let _ = let message_file = (safe_chop_extension file)^".msg" in (* set up environment *) read_configs message_file; - (if not (git_args = "") then git_options := !git_options^" "^git_args); (* get message information *) let (subject,cover,message) = get_template_information message_file in (* split patch *) @@ -474,4 +489,6 @@ let _ = let patches = split_patch i in close_in i; let maintainer_table = resolve_maintainers patches in + (if !found_a_maintainer = false then git_options := !not_linux); + (if not (git_args = "") then git_options := !git_options^" "^git_args); make_output_files subject cover message maintainer_table file -- 2.20.1