Caml1999T037 VU UC-TestLinkModesР'Harness&Import'Harness testsuite/tools/testLinkModes.mlOO@ OO@@ @3@@@@@@#intA;@@#intA@@@@@&_none_@@A@A@$charB;@@$charA@@@@@ @A@&stringQ;@@&stringA@@@@@@@@%bytesC;@@%bytesA@@@@@@@@%floatD;@@%floatA@@@@@@@@$boolE;@@%falsec@@%@$trued@@+@@@A@@@@@,@A@$unitF;@@"()e@@6@@@A@@@@@7@A@ #exnG;@@@A@@@@@;@@@#effH;@@O@A@A@@@@@@D@@@,continuationI;@@Q@@P@B,continuationA@nY@@@@@@T@@@%arrayJ;@@R@A%arrayA@@@@@@_@@@ $listK;@@S@A"[]f@@l@"::g@@@T@@y@ @@A@Y@@@@@|@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@)nativeintA@@@@@@@@%int32N;@@%int32A@@@@@@@@%int64O;@@%int64A@@@@@@@@&lazy_tP;@@X@A&lazy_tA@Y@@@@@@@@ 5extension_constructorR;@@5extension_constructorA@@@@@@@@*floatarrayS;@@*floatarrayA@@@@@@@@&iarrayT;@@Y@A&iarrayA@Y@@@@@@@@ *atomic_locU;@@Z@A*atomic_locA@@@@@@@@@ .Assert_failure`#@@@@@J@@@@@@@@[@@A頰=ocaml.warn_on_literal_pattern@@0Division_by_zero]#@@@A󠰠  @+End_of_file\#$@@@A@'FailureY#,@'@@A@0Invalid_argumentX#5@0@@A $#@-Match_failureV#>@@=@9@;@@a@@A5!4!@)Not_foundZ#O@@@A&=)<)@-Out_of_memoryW#W@@@A.E1D1@.Stack_overflow^#_@@@A6M9L9@.Sys_blocked_io_#g@@@A>UATA@)Sys_error[#o@j@@AG^J]J@:Undefined_recursive_modulea#x@@w@s@u@@h@@AXo[n[@:Continuation_already_takenb#@@@A`wcvc@&Stdlib@@@@A3@@@O@@@3@@@@ఠ2write_test_program h  h  @AA@@'verbosek@@@?A@-is_randomized @@@BA@$)with_unix@@@4A@)@&stringQ@@@?A@.$unitF@@@8A@/@@0A@*@@+A@%@@&A@ @@!A@3@K@@@࣠77"A;h  h  @ BA@@?3@[Nh  o @@@@@h   @??#ACh  h  @CA@@G3@ V@@@@@@h  @EE$AIh  h  @.DA@@M3@[@@@@@@h  @@+description%A)h  *h  @@EA@@V3#""#####@b@@@@@@@@@ఠ,is_directory& false Yk ( *Zn  @ ^k ( (_n  @@@ 8 try Sys.is_directory dir with Sys_error _ -> false fp  gs  @ kp  ls  @@-F@6*@pj  @@/,@A@ri  @@డ+Out_channel.with_open_textu  u  @ u  u  @@@&stringQ@@@@@&Stdlib+Out_channel!t@@@!a@@@@@@@@/out_channel.mliH  H  @@@3Stdlib__Out_channelQ@)$@@@!@@@P@@@@@OE@M@@N@@L@@K3@u|@}@~@@@@6test_install_script.mlu  u  @@u  u  @@A@@@\H@^H@]@@O @@@@?@@@[!@@Z!@@Y@@࣠@"ocDAu  u  @GA@@T@@@j3@4@@@@ @@డ]&Printf'fprintfv  v  &@ v  'v  .@@@&Stdlib+out_channel@@@@ &format!a@Р+out_channel@@@ؠ@@@@@@@@@@@@*printf.mliR[[R[@@.Stdlib__Printf@@/*@@@'@@@+@"@a@@@ @h@@@ @o@s@@@rG@ G@@@G@*@@>G@ @@ G@ @@ G@'9@@@)w@@@*@@@(&@@&@@%3RQQRRRRR@@@@i@y@z@@@@ఐ"oclv  /mv  1@@@@@@F@@ภ8CamlinternalFormatBasicsG&FormatIv  2nA;&Format8CamlinternalFormatBasics'format6!a@!b@!c@!d@!e@!f@@@@ p@'#fmt$ @@@ n@@@ o@B@@A@A!f@ ?@@@ !a@ B@'padding)@m@@@ @@ @@@ 0,($ @@@ @BBAYAAZ|@@@b@ภ+*No_padding-;*No_padding&!a@ @@@ @@@@ABAAee@@@j@@@6AI@ ȠA@@@ H@ @ภLM  let display_lib = let dir = Config.standard_library in let f = function '\\' when Sys.win32 -> '/' | c -> c in let canonical_dir = String.map f dir in let dir = if String.starts_with ~prefix canonical_dir then let l = String.length prefix in "$prefix" ^ String.sub dir l (String.length dir - l) else dir in if String.ends_with ~suffix:libdir_suffix canonical_dir then let l = String.length libdir_suffix in String.sub dir 0 (String.length dir - l) ^ "$libdir" else dir let () = let kind = if Filename.is_implicit Sys.executable_name then "implicit (" ^ Sys.executable_name ^ ")" else if Filename.is_relative Sys.executable_name then "relative (" ^ Sys.executable_name ^ ")" else "absolute" in Printf. @ @@@@ H@ H@ 2@ภ`aภ"h=i <@ @bfI@ f@@@ H@J@ภ2xy04fprintf stdout "5@5@@@@&H@)H@(^@ภFDภNiLh@L@I@,@@@=H@Gv@ภ^\": a@a@@@@XH@[H@Z@ภr,Char_literalq;,Char_literalG!a@ !b@ !c@ !d@ !e@ !f@ @@@ @$charB@@@ p)%!@@@ @BLAYAAi%%j%%@@@l@e@@@@lH@oH@n@ภsr !s\n\ Sys.executable_name is @@W@@@H@H@@ภa`e@D@@@H@H@@ภ,-9s\n\ Sys.argv.(0) = @@~@@@H@H@@ภ@Ae@k@@@H@H@%@ภ ST #s\n@@@@@H@H@9@ภ!ghe#@@@@H@H@L@ภ4z{2 Y!" display_lib kind Sys.argv.(0); let is_randomized = Hashtbl.is_randomized () in if 7@7@@@@H@H@`@ภHFภPkNj@N@I@@@@H@x@ภ`^ `is_randomized then begin Printf.eprintf " *** Hashtbl.is_randomized () should be returning c@c@@@@*H@-H@,@ภtrev@@@@>H@AH@@@ภ͠;: b\n" (not is_randomized); exit 1 end else if is_directory Config.standard_library <> state then begin Printf.eprintf " *** Directory @@@@@RH@UH@T@ภ)(e@ @@@fH@iH@h@ภba sfound!\n" (if state then "not " else ""); exit 1 end else if Sys.executable_name <> expected_executable_name then begin Printf.eprintf " *** Sys.executable_name should be @@F@@@zH@}H@|@ภP Oe@3@@@H@H@@ภ)s but is @@m@@@H@H@@ภ/w0ve@Z@@@H@H@@ภBC s\n" expected_executable_name Sys.executable_name; exit 1 end else if Sys.argv.(0) <> expected_argv0 then begin Printf.eprintf " *** Sys.argv.(0) should be @@@@@H@H@(@ภVWe@@@@H@H@;@ภ#ij!֠)s but is &@&@@@@H@H@O@ภ7}~5Ġe9@@@@H@ H@b@ภJH Fs\n" expected_argv0 Sys.argv.(0); exit 1 end M@M@@@@H@H@v@ภ^-End_of_format];-End_of_format3!f@ Y!b@ Z!c@ [!e@ \@@@ @@@@AYAA<..=./!@@@sy@@}@SG@ G@ G@ G@ G@%G@@I@{@@@H@l@@J@ I@ @@@H@x@@V@,I@kʠˠ̠@@@{H@@@b@8I@WԠՠ֠@@@gH@w@@n@DI@Cޠߠ@@@SH@c@@z@PI@/@@@?H@O@@@\I@@@@+H@;@@@hƠ@@@H@'@@@sI@ʠ@@@H@ @@@I@ՠԠ@@@H@@@@I@ޠ@@@H@@@@I@#$%&@@@H@@@@I@-./0@@@H@@@@I@789:@@@H@@@@ I@qABCD@@@H@@@@Ǡ,I@]KLMN@@@mH@}@@@Ӡ8I@IUVWX@@@YH@i+@@ @ߠD#^_`a@@@@H@U6@@@SI@-hijk@@@'H@:B@@ @_6qrst@@@H@#M@@+@qI@ @{|}~@@@ H@Y@@7@ }I@@@ H@ d@@B@I@ S@@@ H@ p@@N@$I@ ]@@@ H@ |@ t let expected_executable_name = Sys.argv.(2) let expected_argv0 = Sys.argv.(3) let state = bool_of_string Sys.argv.(4) let prefix = Sys.argv.(5) let libdir_suffix = Sys.argv.(6) let is_directory dir =%s let display_lib = let dir = Config.standard_library in let f = function '\\' when Sys.win32 -> '/' | c -> c in let canonical_dir = String.map f dir in let dir = if String.starts_with ~prefix canonical_dir then let l = String.length prefix in "$prefix" ^ String.sub dir l (String.length dir - l) else dir in if String.ends_with ~suffix:libdir_suffix canonical_dir then let l = String.length libdir_suffix in String.sub dir 0 (String.length dir - l) ^ "$libdir" else dir let () = let kind = if Filename.is_implicit Sys.executable_name then "implicit (" ^ Sys.executable_name ^ ")" else if Filename.is_relative Sys.executable_name then "relative (" ^ Sys.executable_name ^ ")" else "absolute" in Printf.%sfprintf stdout "%s: %%s\n\ Sys.executable_name is %%s\n\ Sys.argv.(0) = %%s\n%%!" display_lib kind Sys.argv.(0); let is_randomized = Hashtbl.is_randomized () in if %sis_randomized then begin Printf.eprintf " *** Hashtbl.is_randomized () should be returning %%b\n" (not is_randomized); exit 1 end else if is_directory Config.standard_library <> state then begin Printf.eprintf " *** Directory %%sfound!\n" (if state then "not " else ""); exit 1 end else if Sys.executable_name <> expected_executable_name then begin Printf.eprintf " *** Sys.executable_name should be %%s but is %%s\n" expected_executable_name Sys.executable_name; exit 1 end else if Sys.argv.(0) <> expected_argv0 then begin Printf.eprintf " *** Sys.argv.(0) should be %%s but is %%s\n" expected_argv0 Sys.argv.(0); exit 1 end _@_@+@@@ H@*H@)@@fe@@֠s @@@6H@ @@ఐ,is_directorynn@>@@H@>@@ఐ'verbose n n@@@T@  n@@ n n@@H@@@!i n n@@ n n@@H@A@ $n %n@@@@ఐ +description 0n 1n@@@\@@ఐ;-is_randomized ?o @o@$@@@$not  Go Ho@@ Jo Ko@@H@C@  To @@ Vo Wo @@H@D@ [oa@@@@`b@@ G@D@ _u  e@@@@@@e@@dF@HF@F|@@o@@}@p@@&@oqA@A@Qx@A@u@ut@@ఠ+run_programk z {@ HA@@@+Environment!t@@@jA@S@@@[A@X'runtime$boolE@@@vA@\%stubs@@@tA@a@@@@LA@f@&stringQ@@@fA@k4prefix_path_with_cwd/@@@pA@p@#intA@@@A@u@-A@z@)A@,may_segfault$boolE@@@A@:stdlib_exists_when_renamed@@@A@ @@@A@@@A@@@A@@@A@{@@|A@v@@wA@q@@rA@l@@mA@g@@hA@b@@cA@]@@^A@Y@@ZA@T@@UA@R3        @j^W@X@Y@@@࣠@#envmA  @ *IA@@3        @  @@@@@  @@'_confignA ' (@ >JA@@3 !   ! ! ! ! !@!@@@@@@@@@ఠ&prefixo : ;@ QKA@@@@@D@]3 : 9 9 : : : : :@&@@@@@డ+Environment&prefix+Environment V W @  Z  [@@@@@@"#@@@!@@ @?testsuite/tools/environment.mlip ~ ~p ~ @@F@@@@@@@1@@@@@0@@ఐn#env ~ @S@@=@@,@@B>@A@ @@@ఠ-libdir_suffix  +@ LA@@@@@D@3        @Ud]@^@_@@@డT-libdir_suffix+Environment . 9@  : G@@@.@@@+!@@@*@@)@Ry Z ZSy Z y@@3I@@@@;@@@.@@@@@-@@ఐ#env H K@@@P:@@+@@?;@A@ @@@@ఠ&prefix OU O[@ MA@@&stringQ@@@%D@3        @Xg`@a@b@@@@ఠ-libdir_suffix O] Oj@ NA@@@@@FD@@@! @@@!@ @@@డ w#Sys%win32 mt mw@  mx m}@@$boolE@@@@'sys.mli@@+Stdlib__SysZ@@@ u@@@D@3 ' & & ' ' ' ' '@B@@@@ఠ!f۠ < =@ SOA@@@ @@@E@E@@@E@]@@\ U V@@E@3 N M M N N N N N@j! \ ]@@@@@@o b c@@ @ఠ!cݠ l m@ PA@@,3 f e e f f f f f@@@@@@ఐ !c x@6@ @ @@13 q p p q q q q q@$@@@@A ~"@@@#@@@E@*@A@'@@డ &String#map  @   @@@@$charB@@@@@@@@@@@@@@@@@@@@*string.mliaaa@@.Stdlib__StringT@&!@@@@@@@@@@@@@@@@@@@@@@@3        @@@@@@@ఐ!f  @ @@@@@@.@@-@@ఐ&prefix  @R@@F@@@&E@2E@1)@@b @@ *@@డ d&String#map  @   @@q@@@@q@@@:n@@@9@@8@m@@@72@@@6@@5@@4S@@ఐ점!f ( )@]@@@@@@O@@Ne@@ఐ-libdir_suffix : ;@K@@@@@GE@SE@Ry@@A @@Ez@@ @@@a@L@@T@@@^@@ఐ&prefix Y Z@@@uD@Yo@@ఐ٠-libdir_suffix g h @x@@lD@Z}@@@@)D@[@ pmq @@+@A@ rOQ @@࣠ߠ%A } ~ @ QA@@3 w v v w w w w w@@@@@@@@@  @&A " '@ RA@@3        @@@@@@@ !@@,test_program'A ( 4@ SA@@3        @@@@@@@@@8expected_executable_name(A 5 M@ TA@@3        @@@@@@@@)A NU Ni@ UA@@3        @@@@@@@ NT@@2expected_exit_code*A Nj N|@ VA@@3        @@@@@@@@@%argv0+A N} N@ WA@@ 3        @@@@@@@@@.expected_argv0,A N N@ XA@@3        @@@@@@@@-A  @ YA@@ 3        @*@@@@@@ @.A  @ /ZA@@#3        @4@@@@@@ @@@ఠ-stdlib_exists/ , -@ C[A@@9A@A@3 ) ( ( ) ) ) ) )@#=@@@@@డ*is_renamed+Environment E F@  I J@@@@@@@@@@@@g{{g{@@C@@@@@@@@@@@@0@@ఐ]#env m n@B@@=@@,@@ @@@O@C@ఐg:stdlib_exists_when_renamed } ~(@J@@M@ภ$true 4< 4@@; , <@@@M@@@AB@@A Z@@ /@ @@bA@N@`@  @@b@A@ @@@ఠ$args0 DL DP@ \A@@ &stringQ@@@N@@@@N@3        @@@@@@ภ":: DT DA;  *@@U@ B@AA@A @@ డ 1.string_of_bool Db@@@@@_(@@@^@@]@*stdlib.mlibbbbA@@ Au@!@@@@@@6@@@@@2@@ఐĠ-stdlib_exists Dc Dp@<@@?@@7@@G@@ภ> Dr=A<ఐ &prefix Dx@ @@ZN@S@ภQ DzPAOఐ-libdir_suffix D@ @@mN@f@ภ"[] cA; b@@@@AA@A @@ @fA@ }~O@@@@N@x@@ oA@ O@@@@N@@@<xA@ @@@N@@@=DS@@@@@@A@CDH@@@ఠ%argv01NO@e]A@@ A@hA@A@iA@@@@N@3VUUVVVVV@@@@@@డ !=no@@!a@@@@@'@@&@@%&%equalBA @@@@yy@@ Q@@@@4A@@@@@@@@@1@@ఐ%argv0@@@>@@ఐ ,test_program@@@K@@@@ @@@O@Q@ภ$None@; f@@W@@@@AA@A@@@@@kj@@@c@ภ$Some@; @ A@AA@A@@ ఐ%argv0@۰@@y@@@@N@|@@@~@A@ @@@ఠ$args2@^A@@I.expected_argv02&34@'@@Q<@ఐ$args=8><@ݰ@@TO@@@@N@N@Q@@ @@]O@@@@N@Z@@5@@f@@@N@a@@N@@k@@@f@A@`#@@@ఠ%fails3k@Hl@M@_A@@@@@N@3kjjkkkkk@}@@@@@డ "<>@d@f@@!a@@@@@*@@)@@()%notequalBA@@@@~QQ~Q@@ R@@@@A@A@A@@1@@@@@@@0@@ఐݠ2expected_exit_code@Q@c@Ű@@=@@@@g@h@@F@@@P@i@@MI@A@@D@@@@ఠ)exit_code4mvm@`A@@#intA@@@bN@3@fun@o@p@@@@ఠ&output5mm@aA@@$listK4@@@d@@@cN@@@mum@@@+@@@ %@డ+run_process+Environment  @ @@'runtime&optionL@@@q@@@p%stubs@@@o@@@n&stdlib@@@m@@@l4prefix_path_with_cwd%u@@@k@@@j%quiet0@@@i@@@h%fails<@@@g@@@f@@@@e@@@@d%argv0S@@@c@@@b@@@@a@@@`@@@@]@@@@_@@@^@@\@@[@@Z@@Y@@X@@W@@V@@U@@T@@S@@R@'`(c@@R@@@~|@@@,@@@+y@@@*@@@)wu@@@(@@@'t@@@&@@@%rp@@@$@@@#om@@@"@@@!@F@@@ @l@@@ki@@@@@@@h#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ภ$Some0ఐ'runtime@p@@m-@@@Xq@@@x2@ภGఐ%stubs@u@@vD@@@y@@@zH@ภ$Noneq@@@@@|@@@{W@ภ=lఐ4prefix_path_with_cwd@A@g@@zi@@@<}@@@~m@ภ%@@6@@@@@@{@ภa'ఐ%failsde@@@@@@lO@O@@@@g @@@@@ఐl#env|}@Q@@@@ఐꠐ,test_program@Ұ@@@%ఐH%argv0@@@B@@@gO@O@@@ఐ$args@6@@=@@@eO@O@@@ @@@렠@@@O@a@A@mq@@ డ|.display_output+Environment  @   (@@@!@@@@@@$unitF@@@@@@   ! @@dT@@@@@@@@@@@@@@@3@"3,@-@.@@@@@@ఐ$&output  )  /@ @@65@@@@@@O@O@@@H@@@@@N@#@డ"&&(X_)Xa@@@@@@K@F@@@JJ@@@I@@H@@G(%sequandBA@@@@hi@@]@@@@@@@@@@@@@@@@@@X@@డ"<>^1B_1D@ݰ@@@N@@@@@@@@@p@@ఐ)exit_codet18u1A@y@@}@@ఐ2expected_exit_code1E1W@@@@@@@\@@@@O@@@డ"||XtXv@@@@@P@@@@O@@@N@@M@@L'%sequorBA.@@@@@@^@@@@@@@@@@@@@@@@@@@@డ1#notXcXf@@@@@F@@@E@@D(%boolnotAA]@@@LLLt@@F\@@@@@@@@@@@@@@ఐ,may_segfaultXgXs@ٰ@@ @@+@@`@@@@P@@@డo"<> X X@@@@?@@@O@@@@@@@@@!@@ఐW)exit_code%Xw&X@*@@.@@/X0X@@ P@9@@@@@@@@P@A@@<Xb=X@@@@@@O@K@@ @@@@@N@Q@డZ,fail_because'HarnessXY@ \]@@@&Stdlib'format4!a@$unitF@@@&stringQ@@@!b@@@@@@@;testsuite/tools/harness.mlieVVeV@@'Harnesse@1,@@@)@ @  M@M@j@@M@7@@KM@,@@@)@@@ @@@@@@@ภ2x1yA0ภ= ภE`_@@8O@98@@@JN@T@ภU # & is expected to return with exit code (@(@@@@eN@hN@g@ภi#Int8;#Int>!x@ R!b@ S!c@ T!d@ U!e@ V!f@ W@@@ !y@ Z!a@ ]@(int_conv@@@ ܠ2@@@ )precision@ S@@@ @@ @@@ !A=951@@@ @DDAYAA|%%}@@@d@ภ %Int_d;%Int_d2@@@ @@@@P@@AUU@@@E@@@<@@@N@Y@ภ%&@@O@lM@N@i@@@N@l@ภ8,No_precision:;,No_precisionQ!a@ ՠ@@@ @@@@BAAAlLNlLq@@@o@@@a"@@@N@@ภX Y @@-@@@N@3N@HN@cN@}2@@@N@4N@IN@dN@~  O@q@@@N@@@@ $O@V"&O@[@@@fN@|@@@2-"#$3O@>@@@MN@b@@@$CO@9./0AO@@@@5N@G@ *%s is expected to return with exit code %d1@1@-@@@6N@N@@@87@@^QFW@@@N@2@@ఐ[,test_program@C@@ K@@ఐ52expected_exit_code @ @@ 6@@ @@rM@@@ 15 @@@> @@@O @@5@Q @@@ @@@3 @@@ @@ _@~ @@ @ @@ A@@ @@ *@ F @@ @  @@ @  A@ A@ @A@ @  @ @ఠ)main_in_c6*+@AbA@@&stringQ@@@uA@3,++,,,,,@ 2  @ @ @@@@ఠ0main_in_c_object7CD@ZcA@@@@@B@@డ!^VW@@@@@T@@@@S@@@R@@Q@@P@^2^2^2^X@@q@@@@@@@@@@@.@@@@@@@D@@)main_in_c@@@@0@@@C@C@X@@డ&Config'ext_obj&Config@ @@&stringQ@@@l@0utils/config.mli@@&Configs@@@V@@@C@C@@@6@@r@A@@@డ*(Filename&concat@ @@@@@@@@@@@@@@@@@@,filename.mli^^@@0Stdlib__FilenameC@@@@@@@k@@@@j@@@i@@h@@g3@@@@@@@డh(Filename'dirname @   @@@@@@)@@@(@@'@9u:u@@8M@@@@@@@{@@@z@@y2@@డ#Sys/executable_name56@ 9:@@&stringQ@@@\@ ] ]@@ A@@@:@@@C@C@Z@@PQ@@@@@w@C@d@@ఐ 0main_in_c_objectcd@n@@@@@vB@B@x@@ @@>y@ @@?9@A@p @@@<@ఠ3link_with_main_in_c}sw~s@dA@@@ @@@)A@2use_shared_runtime@@@A@0linker_exit_code @@@0AA@@%&Import$mode@@@A@@$listKG@@@0A@-@@@;A@@ A@@A@ D@@@0A@@@A@@@A@@@A@@@A@@@A@@@A@@@A@3@@@@@@࣠@#envAss@eA@@^3@kss# #@@@@@  @^^Abss@ fA@@f3@ t@@@@@@s@ddAhss@gA@@l3@z@@@@@@ s@@$modeAss@,hA@@u3@@@@@@@@@%clibsA&'@=iA@@w3      @@@@@@@@@,ocaml_objectA78@NjA@@u310011111@@@@@@@@@1test_program_pathAHI@_kA@@3BAABBBBB@@@@@@@@@@ఠ+runtime_lib[\ @rlA@@@@@I@3ZYYZZZZZ@%@@@@@@ఠ&suffixq r @mA@@e@@@J@@ఐ2use_shared_runtime ! 3@|@@"@'_shared : A@@ 9 B@@,@  I@@ H J@@%J@8@ @@':@A@ @@డ = ?NZN[@ <@@@ A@@ 9@@@@@@@3@RJC@D@E@@@@ఐ$modeNUNY@@@!@@ภ&NativeN\Nb@;&Native,@@@@@@AB@@ATn Un @@@ST@@  @@7J@(@@@@'@@@J@.@డO!^hyhz@@@@@@@@@@@@@@@@@@G@@(-lasmrunhohw@@hnhx@@@@@J@J@[@@ఐ&suffixh{h@e@@@@@J@J@o@@ @@p@డ!^/0@ٰ@@@@@@@@@@@@@@@@@@@)-lcamlrunGH@@JK@@@@@J@J@@@ఐ점&suffix]^@@@@@@J@J@@@ @@ J@@kNR@@ @@@  @A@n@@@ఠ%flagsyz@nA@@ʠ@@@9I@3zyyzzzzz@!/(@)@*@@@@ఠ)libraries@oA@@ S@@@J@@@@J@@డ = ?@ <@@@ J@@ :@@@@@@@2@@ఐ$mode@@@?@@ภ&Native@@@@+K@M@@@@@@@K@S@ภ  A ఐ+runtime_lib @a @@Ld@ภ 2A 0డ_2native_c_libraries&Config  @   @@\@@@F@ZX  [X  @@YN@ @@qJ@@ภ 6A @7A@mK@ @@@J@@@/@A@v@@@J@ @@$H@@ ~@@@@ภ s/ % .0 % WA rఐޠ+runtime_lib 9 % 9@ @@J@@ภ C % ;A డ4bytecomp_c_libraries&Config P % A@ S % BT % V@@@@@E@U B BU B b@@M@ @@J@#@ภ H8A G@9A@ K@@@@"J@(@@/BA@ˠJ@@@@J@!@@{ % -L@@YJ@@P@@[@A@R@@డ!@ _ i _ j@@۠!a@s@@@@ @@@ @@@@@@@@ nn nn@@ @@@@@@@/@@@@.5@@@,@@+@@*3@5-&@'@(@@@@ఐ%clibs _ c _ h@@@@@ఐA)libraries _ k _ t@@@?!@@@:J@?J@=%@@ @@_&@^ @@`[@A@@@@ఠ)exit_code z  z @pA@@#intA@@@/>I@@3@t}@~@@@@@ఠ)summarise    @qA@@@&Stdlib&Format)formatter@@@)J@B@@@@JJ@G$unitF@@@-uJ@H@@IJ@C@@DJ@A3@࣠@!fA5  6  @LrA@@-3/../////@C:=  > !G@@@@@  @@%paramDAĠ"()K  L  @;0@@@N@@@@A@@A@@@@@@73IHHIIIII@'J@@@@@@  @@@ఠ"ppb  c  @ysA@@@@@@)N@M@@@)N@N@@ON@L#@࣠@!xA    @tA@@3{zz{{{{{@3(    @@@@@  @@ డ&Format-pp_print_char    @     @@@&Format)formatter@@@t@$charB@@@s$unitF@@@r@@q@@p@*format.mli----@@.Stdlib__Format[@&!@@@@@@"r@@@@"q@@@"p@@"o@@"n3@KWh@N@O@@@@ఐ!f    @@@@@`    @@=@@@"}Q@)Q@) @@T @@@@@)P@"|&@డ'pp_path+Environment    @      @@@@@@H@@@@G@@@@F@@@E@@D@@C@@B@N  N  @@N@@@@@@@)@@@@)@@@@)@@@)@@)@@)@@)f@@ఐc#env?  @  @I@@s@@C  D  @@@9@@@)@@@@)@@@)@@)@@)@@ఐ*!f\  ]  @ @@S@@ఐ렐!xi  @@@@@)@@@@@@A@N@)@A@@డ$List$iter} !~ !@  ! ! @@@@!a@+\i@@@,@@,@$listK@@@,v@@@,@@,@@,@(list.mli@@,Stdlib__ListU@'"@@@@A@0A@/xA@/~A@/AA@/PA@/RA@/BA@/HA@-M@-h.@@@-j@@-i@-@@@-g@@@-f@@-e@@-d3@ukd@e@f@@@@ఐr"pp !  ! @ @@@m@@@-j@@@-~@@-}@@ภ  !! !#@*ఐ1test_program_path ! ! @@@)-@ภ  !1 !3@=ఐР,ocaml_object !$ !0@@@A@@ภ   !> !@@Pఐ)main_in_c !4 !=@F@@rN@-U@ఐ%flags$ !A% !F@-@@O@-@@@-N@-N@-j@@ @@O@-@@@-N@-s@@7@@O@-@@@-N@-|@@D !@@@@@-vN@-@@@@(@@@)@A@FJ@-@A@@ డ&Format&printf_!O!S`!O!Y@ c!O!Zd!O!`@@@&Stdlib&format!a@@@@")@@@"*@@@"(@@"'@ww)@@@% @@@@@@@@-J@.a@~@@@.J@-J@.]@@@.J@-J@.`@@.m@@.lJ@-@ J@-@@-J@-@@-J@-@@@-8@@@-@@@--@@-3@@@@@@@ภGF!O!a!O!AEภR.Formatting_gen ;.Formatting_gen'"a1@ !b@ !c@ "d1@ "e2@ "f2@ @@@ "e1@ "f1@ @z.formatting_gen.*&"@@@ _40($@@@ @BRAYAAX))Y*>*@@@r@ภ(Open_tag];(Open_tag%!a@ !b@ !c@ !d@ !e@ !f@ @@@ &@"@@@ '@A@@BAAF  G % P@@@N@ภ$&Format&ڠภ-.-@@@@@.4K@.7K@.6@ภAB@@ϠL@.%J@-J@-K@.K@. K@.2J@-K@-K@.K@.!K@.3  L@.) L@.*@@@.5K@.A@@@L@. L@.L@.@@@."K@.1@-@@@@@.#K@.DK@.C@@@30L@.9012L@.+L@.@@@.K@. @@@Ƞ?L@-F=>AJ@.TK@-L@.z@@@.K@.n@@a@|FJ@.\_L@.baL@.ccL@.d@@@.sK@.}@@p@L@.FPloL@.Iop@@@.VK@.n@@~@t {@@@.K@.R@@@L@-ʠ͠ĠŠƠ@@@-K@-@<@{$CC -o%a@} %!@@@@@-K@.K@.@@@@٠@@@-K@-@@ఐt)summarisex!O!y!O!@°@@J@.@@ภ;!O!!O!@:@@@j@@@.@@-@@@డ%Ccomp+call_linker%Ccomp!!!!@ !!!!@@@%Ccomp)link_mode@@@/!@&stringQ@@@/ @$listK@@@/@@@/@@@@/@@@/@@/@@/@@/@@/@/utils/ccomp.mlif]]f]@@&K@61@@@.@@@/+@)@@@/*@&#@@@/)@@@/(@"@@@/'@@@/&@@/%@@/$@@/#@@/"6@@ภ%Ccomp!!!!@#Exe!!!!@@;#Exe\@@@/@@@@D@@A:a46;a4;@@@_G@@ @@g@@@/CJ@/GY@@ఐԠ1test_program_path !! !!@@@ Qf@@ภh $!! %!!Agఐ,ocaml_object  .!!@ @@ jz@ภz 6!!Axఐ )main_in_c  ?!!@ m @@J@/ZJ@/]J@/\@ภ-(A,@)A@@@@/[J@/c@@0A@@@@/QJ@/Y@@ \!!8@@@@@/@J@/O@@డ&String&concat s!! t!!@  w!! x!!@@@@@@@$listK@@@@@@@@@@@@@@sss@@I@$@@@@@@/k@@@@/j@@@/i@@@/h@@/g@@/f@@!  !" !"@@ !" !"@@<@@@/yK@/{K@/z@@ఐM%flags !" !" @ϰ@@J@@@/wK@/}K@/|@@ !! !" @@@@@/?@/K@/v%@@A @@&@~ @@'@ @@@A@  z | @@డN"<> "" ""!@j@@@ WA@/H@/@@@@/@@/@@/3        @ @ @@@@@ఐ)exit_code!""!""@ @@@@ఐ 0linker_exit_code!"""!""2@ @@ z@@@@_@@@/I@/#@డ!*,fail_because'Harness!("8"<!)"8"C@ !,"8"D!-"8"P@@ а@@@ Р@d@@@0@  xH@/H@0(@@0@H@/@@0H@/ @@@/ @@@/ @@@/@@/V@@ภ!"!#!Y"Q"W!Z"Q"Aڠภ!-!. ?Linker returned with exit code @@@@@/I@/I@/w@ภ!A !B ภ!I <!J' ;@'@ m@@@/I@0@ภ!V+!W4*@4@P\J@/`H@0I@/@@@/I@0 @ภ#!i 1!jG 0@G@ n@@@/I@0@ภ2!x!yV, instead of [@[@@@@0#I@0&I@0%@ภF! !j ܠภN! !r @r@ @@@0=I@0F@ภ[!v!u@@J@0*H@0OI@0'@@@0>I@0K@ภn! |! {@@ ̠@@@0?I@0R@ภ}!à!@@Q@@@/I@/I@/I@/I@0!I@0;@@@/I@/I@/I@/I@0"I@0<J@0/@@@0BI@0\(@@@xJ@0&J@0@@@0$I@0:6@@@1$%&J@/@@@0I@0 C@@@ J@/Ԡ=012J@/@@@/I@/Q@@@J@/I<=>J@/@@@/I@/_@ /Linker returned with exit code %d instead of %d@@@@@/I@0`I@0_k@@  @@4aT*@@@/I@/u@@ఐ)exit_code"w"""x""@@@CI@0o@@ఐ 0linker_exit_code""""""@ m@@ @@b@@ H@/@డ "<>""""""@@@@@@@0}H@0t@2@@@0s@@0r@@0q@@ఐŠ)exit_code""""""@@@@@@""""""@@ I@0~@@@@!@@@0I@0|@ภ%false""""""@;"uC@@@@B@@A"@@"t@@@ H@0@ డ"*erase_file'Harness""""""@ """"""@@@ .@@@@@@@@@pVqV@@ob@@@@ <@@@0@@@0@@0@@ఐ ՠ,ocaml_object# ""# "#@ @@ F@@,@@@@@0I@0@ภ###### @@@@MH@0$@#"" 6@@&@#"" 8@@Q(@#!"" :@@*@D ;@@ ,@ D <@@ @  =@@ @ G >A@ A@0 E@A@ B@ B A@ XA+)executionMA#2###3##@@;@@%argv0N@@"@@@0#?###@##@@#VvA4prefix_path_with_cwdO@@"@@@0#K###L#$@@#bwA@@A@@@@@#O###P$$@@@@#fuA@##W##@@@Ш@г &string#`###a##@@(3#X#W#W#X#X#X#X#X@   @ @ 8;@@@A@@@@@@@@@@ @@1@@0 @-@#))$#o##@#@@Ш@г,$bool#x###y#$@@4@@7@@0@3@@A@/@@/.@3#t#s#s#t#t#t#t#t@@@A+4execution_propertiesPB#$$#$$@@;@@/argv0_not_ocamlQ@@#B@@@0#$$#$%@@#yA.argv0_resolvedR@@#`@@@0#%%#%%@@#zA@@A@@@@@#$$#%%@@@@#xA@##$$@@@Ш@г $bool#$$#$%@@(3########@W7;@@@A@@@@@@@@@@@@0@@0@,@#((##%%@"@@Ш@г+&string#%%#%%@@3@@6@@0@2@@A@.@@.-@3########@@@A+'outcomeSC#&X&]#&X&d@@;@@$FailT#@@@0@@#&g&g#&g&t@@$|A'SuccessU/executable_nameV@@#@@@0#&u&#&u&@@$}A%argv0W@@#@@@0İ$ &u&$ &u&@@$ ~A@@$ &u&u$&u&@@$$A@@A@@@@@$&X&X@@@@$'{A@#33$&g&i$&g&m@,@г5#int$"&g&q6@@<3$$$$$$$$@lM;@@@A@@@@@@@@@@<@@@@>@#::$-&u&w$.&u&~@ @#<<7$4&u&@6@@Ш@г?&string$=&u&$>&u&@@G@@J@@0@F@#BB=$F&u&@<@@Ш@гE&string$O&u&F@@L-G@@O@@00@K@@@G@@A@C@@CF@3$J$I$I$J$J$J$J$J@0@@@ఠ)test_runsX$`+U+Y$a+U+b@$wEA@@@@@@1D@0@{@@@3D@0@B@@@1D@0@@@0D@0@ @@@2ID@0,via_ocamlrune@@@2=D@0 @|@@@4 @@@@4 @@4J@3@@@3D@0@@0D@0@@0D@0@@0D@0@@0D@0@@0D@0@@0D@03$$$$$$$$@@@@࣠@*usr_bin_shZA$+U+c$+U+m@$FA@@[3$$$$$$$$@h$+U+U$Z< <,@@@@@  @@1test_program_path[A$+U+n$+U+@$GA@@f3$$$$$$$$@!r@@@@@@@@,test_program\A$+U+$+U+@$HA@@n3$$$$$$$$@z@@@@@@@@'_config]A$++$++@% IA@@v3$$$$$$$$@@@@@@@@@#env^A%++%++@%JA@@3%$$%%%%%@@@@@@@@||_A%++%++@%-KA@@3%%%%%%%%@@@@@@@%++@@@ఠ%tests`%*++%+++@%ALA@@@@@@1K@1@@@@1,K@1@@1K@1@@@1K@03%=%<%<%=%=%=%=%=@.9@1@2@@@@ఠ5test_program_relativea%T++%U++@%kMA@@*@@@1 L@0@డ#(Filename&concat%j ++%k ++@ %n ++%o ++@@@@@@@@1@@@@1L@@@1@@0@@08@@డ#(Filename0current_dir_name% ++% +,@ % +,% +,@@e@@@@RYYRYv@@@@ @@@@@1M@1M@1^@@ఐΠ,test_program% +,% +,!@@@8k@@I@@Yl@A@%++@@ภ% ,p,v%00A@ຠ3@@@0@@@3@@A@A@~@A@%argv0% ,p,w% ,p,|@ఐ 1test_program_path% ,p,% ,p,@@@k3%%%%%%%%@@@@@@4prefix_path_with_cwd% ,p,% ,p,@డ$R#Sys%win32% ,p,% ,p,@ % ,p,% ,p,@@۰@@@@@1&K@1'#@@@F& ,p,@@%@@ຠ3y@@@0{@@@3rq@@A@Am@j@Ay@v/argv0_not_ocaml& ,,& ,,@ภP& ,,& ,,@O@@@@@@1.K@12E@.argv0_resolved&' ,,&( ,,@ఐ`1test_program_path&0 ,,&1 ,,@H@@W@@@&4 ,,&5 ,,@@Z@@}@@K@19]@ภ&?-)-/A@ຠ%argv0&N-)-0&O-)-5@)test-prog&U-)-9&V-)-B@@&X-)-8&Y-)-C@@"@@@1HK@1I@4prefix_path_with_cwd&e-)-E&f-)-Y@డ$#Sys%win32&r-)-\&s-)-_@ &v-)-`&w-)-e@@[@@6@@@1OK@1P@@@A&-)-f@@HK@1A@@ຠ/argv0_not_ocaml&-h-o&-h-~@ภ&-h-&-h-@@@@ @@@1VK@1Z@.argv0_resolved&-h-&-h-@)test-prog&-h-&-h-@@&-h-&-h-@@@@@1_K@1`@@@&-h-n&-h-@@wK@1B@@{@@K@1b@ภ&--A@ຠ%argv0&--&--@"sh&--&--@@&--&--@@@@@1qK@1r@4prefix_path_with_cwd&--&--@డ%U#Sys%win32&--&--@ &--&-.@@ް@@@@@1xK@1y&@@@A'-.@@K@1j*@@ຠ/argv0_not_ocaml'.. '..@ภ'..'..#@@@@@@@1K@1D@.argv0_resolved'&..%''..3@ఐs*usr_bin_sh'/..6'0..@@X@@V@@@'3.. '4..A@@K@1k[@@v@@K@1^@ภ'@..A@ຠ%argv0'O..'P..@ఐ5test_program_relative'X..'Y..@|@@#@@@1K@1@4prefix_path_with_cwd'f..'g..@డ%#Sys%win32's..'t..@ 'w..'x..@@\@@7@@@1K@1@@@A'..@@IK@1@@ຠ/argv0_not_ocaml'..'..@ภͰ'..'..@@@@ @@@1K@1@.argv0_resolved'..'..@ఐY5test_program_relative'..'./@Ѱ@@@@@1K@1@@@'..'./@@xK@1@@{@@K@1@ภ'/]/c A@ຠ%argv0'/]/d'/]/i@ఐ,test_program'/]/l'/]/x@@@d@4prefix_path_with_cwd'/]/z'/]/@డ&Q#Sys%win32'/]/'/]/@ '/]/'/]/@@ڰ@@@@@1K@1"@@@<'/]/@@K@1&@@ຠ/argv0_not_ocaml( //(//@ภK(//(//@J@@@@@@1K@1@@.argv0_resolved("//(#//@ఐJ,test_program(+//(,//@2@@R@@@(///(0//@@K@1W@@q@@K@1Z@ภ(<0$0*A~@ຠ%argv0(K0$0+(L0$00@ఐs,test_program(T0$03(U0$0?@[@@{@4prefix_path_with_cwd(]0$0A(^0$0U@ภް(d0$0X(e0$0\@@@@#@@@1K@1@@@1(m0$0]@@5K@1@@ຠo/argv0_not_ocaml({0_0f(|0_0u@ภ(0_0x(0_0}@@@@@@@1K@1@.argv0_resolved(0_0(0_0@ఐE5test_program_relative(0_0(0_0@@@@@@2K@2@@@(0_0e(0_0@@dK@1@@k@@tK@2@ภ(00A@A@( L@1@@@1K@2 @@~A@(L@1@@@1K@1@@A@(L@1@@@1K@1@@A@(%L@1d@@@1iK@1@@A@(.L@1;@@@1@K@1h@@#A@(7@@@1K@1?@@( ,",)+@@?@@@1@70@@@A@(++2@@@ఠ1test_with_outcomeb(00(00@)NA@@@@`@@@2K@2@@@@2+K@2@@2K@2 @r@@@3K@3ܠ@s@@@3K@3@@3K@2 @@2 K@2 3))))))))@@@@@@࣠@jA@ঠ%argv0):00);00Awఠd@)VOA@ @@@2M@23)=)<)<)=)=)=)=)=@%U)K00)LX;<@@@@@A)N00)O00@@KM@2 @$teste)U00)V00@)lPA@@@2N@2)^00)_00@@@@ఠ*propertiesf)h00)i00@)QA@@`%@@)m00)n00@@@#@i@@2.@@ @@@ঠ/argv0_not_ocaml) 00) 01A~ఠg@)RA@@@@2&3))))))))@JTQ@S@RB<@@@=0@*@+@@@.argv0_resolved) 01 ) 01Aఠh@)SA@@@@2)@@@) 00) 01@@g@@@2*@ఐK*properties) 01) 01%@!@@(@A@) 00@@@ఠ'outcomei)!1)11)!1)18@)TA@@@@@2QM@2,3))))))))@?GD@F@E0-@/@.@@@డ(>)$11)$11@@@@@@@22@@@@21@@@20@@2/@@2.@@డ*is_renamed+Environment)$11)$11@ )$11)$11@@@@@ @@@2B@@@2A@@2@?@@ఐ#env*$11*$11@@@L@@@@@@@2>@2KO@2HT@@ఐ,via_ocamlrun*)$11**$11@@@a@@3@@(v@@@2MN@2<g@ภ'Success*8%11*9%11@;I@@@0@Q@@@0@AA@B@A9@;@@TAA@@@@@*@@@*^DA;ຠ3Y@@@2T[@@@3RQ@@A AM@J AY@V/executable_name*Z%12*[%12@ఐ1test_program_path*c%12*d%12$@{@@@%argv0*l&2&27*m&2&2<@ఐ1test_program_path*u&2&2?*v&2&2P@@@@0@*y%12*z&2&2Q@@>@@@2RM@2i@@I@@@డ =3classify_executable+Environment*(2]2k*(2]2v@ *(2]2w*(2]2@@@ @@@N'Harness&Import*executable@@@M@@L@ CV DV@@!$P@@@@@@@2n@@@2m@@2l@@ఐ1test_program_path*(2]2*(2]2@ذ@@R@@3@@%@@@2t@Ġ(Tendered*)22*)22@;(Tendered/*executable@@@ @ @@@@A@BA@A_Zqs`Zq@@;@@&header@@E+launch_mode@@@ nZqoZq@@mD@$dlls@@$boolE@@@ |Zq}Zq@@{E@'runtime@@@@@ ZqZq@@F@@@A@@@@@*@@@+$@AG@ঠ&header+)22+)22@33B@@@2}5@@@3+*@@AA$@!3@@BA@A3@0Ġ.Header_shebang+))22+*)22@;.Header_shebangB@@@@@@AB@@AVV@@@B@@@  @@K@@@2n@@A+:)22+;)22@@c@@@2P@2v@@@q@@@@@2z@@@@@2}@@@ภ'Success+N,3V3b+O,3V3i@ຠ3_@@@2a@@@3XW@@AAS@PA_@\/executable_name+`,3V3k+a,3V3z@ఐ1test_program_path+i,3V3}+j,3V3@@@@%argv0+r-33+s-33@ఐ1test_program_path+{-33+|-33@@@ @6@+,3V3j+-33@@D@@@2O@2@@9@@@Ġ(Tendered+.33+.33@ঠ&header+.33+.33@3@@@2@@@3@@AA@3@@BA@A@Ġ*Header_exe+.33+.33@;*Header_exe@@@@B@@A.U/U@@@-A@@@  @@@@@2@@A+.33+.33@@@@@2P@2@@@0@@"@@@2@@%@@@2@@@ఐE/argv0_not_ocaml+/33+/34 @@@*@@@2O@2 @డ*E#Sys%win32+044$+044'@ +044(+044-@@ ΰ@@*6@@@2O@2'@ภ$Fail+455++455/@;@A@@B@A@@,4550,4553@@ @@@2O@2O@2?@@ @@^@@@2C@ภ$Fail,:6~6,:6~6@B,:6~6,:6~6@@;@@@2O@2O@2Z@@ @@O@2]@,)044! @@_@డ*#Sys%win32,8;66,9;66@ ,<;66,=;66@@!!@@*@@@2O@2z@ภ'Success,K=77,L=77@ຠ3\@@@2^@@@3UT@@AAP@MA\@Y/executable_name,]=77,^=77*@ఐ1test_program_path,f=77-,g=77>@~@@@%argv0,o=77@,p=77EAఐ6 @@u@@@2O@2@4@,}=77,~=77F@@B@@@2O@2@@:@@|O@2@ภ'Success,@77,@77@Vຠ3W@@@2@@@3@@ASA@SA@/executable_name,@77,@77@ఐ.argv0_resolved,@77,@77@ܰ@@@@@3O@3@%argv0,A77,A77@ఐ.argv0_resolved,A77,A78@@@@@@3 O@3 @@,@77,A78@@@@@2O@3@@C@@NO@2@,;66 @@P @,/33 @@ @Ġ&Custom,B88,B88@;&Custom@@@@BA@Ad_e_@@@cH@@@  @@L@@@2#@@O@@@2&@@@డ-7no_caml_executable_name'Harness,C88*,C881@ -C882-C88I@@@@@@QQ@@a@ @@+X@@@3O@3I@ఐ/argv0_not_ocaml-D8O8`-D8O8o@Q@@+i@@@3O@3Z@ภ$Fail-+H9P9`-,H9P9d@3-2H9P9e-3H9P9h@@ Q@@@3O@3O@3p@@ @@@@@3t@ภ'Success-FJ9|9-GJ9|9@ຠ3 W@@@3" Y@@@3 P O@@A A K@ H A W@ T/executable_name-XJ9|9-YJ9|9@ఐ.argv0_resolved-aJ9|9-bJ9|9@@@ n@@@3,O@3-@%argv0-oJ9|9-pJ9|9Aఐ6 @@ u@@@34O@35@4@-}J9|9-~J9|9@@B@@@3 O@39@@?@@KO@3@-D8O8] @@M@డ+-L99-L99@@@@@@@3?@@@@3>@@@3=@@3<@@3;@@డ,#Sys%win32-L99-L99@ -L99-L99@@"@@!@@@3KP@3MP@3L@@ఐ@/argv0_not_ocaml-L99-L99@@@/@@@3JP@3OP@3N @@$ @@,@@@3PP@3I@ภ'Success-O:u:-O:u:@ຠ3 @@@3W @@@3  @@AA @ A @ /executable_name-O:u:-O:u:@ఐ ,1test_program_path-O:u:-O:u:@ @@ 4@%argv0.O:u:.O:u:Aఐ̠ @{@ @@@3hO@3iG@@.O:u:.O:u:@@@@@3UO@3mO@@:@@O@3TR@ภ'Success.$Q::.%Q::@ຠ3 5@@@3t 7@@@3 . -@@AA )@ &A 5@ 2/executable_name.6Q::.7Q::@ఐ.argv0_resolved.?Q::.@Q:;@r@@ L@@@3~O@3|@%argv0.MQ:;.NQ:; Aఐ @@ S@@@3O@3@@.[Q::.\Q:;@@ @@@3rO@3@@?@@JO@3q@.fL99 @@L@.hC88' @@@Ġ'Vanilla.sR;;.tR;; @;'Vanilla@@@ABA@Abb@@@I@@@  @@@@@2@@@@@2@@@డ.7no_caml_executable_name'Harness.S;$;3.S;$;:@ .S;$;;.S;$;R@@@@,@@@3O@3@ภ'Success.T;X;f.T;X;m@kຠ3 l@@@3 @@@3  @@AhA @ hA @ /executable_name.T;X;o.T;X;~@ఐ.argv0_resolved.T;X;.T;X;@@@ @@@3O@3@%argv0.T;X;.T;X;Aఐ @B@ @@@3O@3@@.T;X;n.T;X;@@@@@3O@3@@?@@ 5@@@3@ภ'Success.V;;.V;;@ຠ3 @@@3 @@@3  @@AA @ A @ /executable_name.V;;.V;;@ఐ 71test_program_path/V;;/V;;@ @@ ?@%argv0/V;;/V;;Aఐנ @@ @@@3O@3R@@/V;;/V;;@@@@@3O@3Z@@:@@FO@3]@/)S;$;0 @@d_@@@A/+(2]2e @@fa@/-$11@@fc@A@//!1)1-@@@ఐ栐$test/;X;;/<X;;@@@%3/4/3/3/4/4/4/4/4@t{@|@}@@@@ఐ'outcome/JX;;@ @@,@@@@@8@3@@3@%@@@ @@@ A@[K@3@A@@డ-$List#map/eZ< < /fZ< <@ /iZ< </jZ< <@@@@!a@+M!b@+K@@,,@@@@,+ @@@,*@@,)@@,(@@@W@$@@@@@ @@@4 @ V@@@4 @@4 J@3 @@3@"@@@3  @@@3@@3@@33////////@@@@@@@ఐ1test_with_outcome/Z< </Z< <&@ @@@@ @@@4@ ~@@@4@@4@ @@@4@ @@@4@@4@@4*@@ఐ %tests/Z< <' @ @@dU@@@3K@4K@4>@@ @@ G?@ @@ H@ @@ I @ ( A@ D@4 &@A@ #@ # "@ 8@ఠ0make_test_runnerk/d>>/d>>@0 UA@@:stdlib_exists_when_renamed&@@@5lD@4 ,may_segfault&@@@5mD@4%)with_unix@@@5!D@4*(tendered@@@5"D@4/ %target_launcher_searches_for_ocamlrun&@@@@4pD@44@ @@@4D@49@@@@5D@4>@ @@@4D@4C@@@5;D@4H@@@4PD@4MР$Some@&@@@5Р$None@$Some@@@5@@@5@@@@5@@5@@@5@@@@5D@4N@@4OD@4I@@4JD@4D@@4ED@4?@@4@D@4:@@4;D@45@@46D@40@@41D@4+@@4,D@4&@@4'D@4!@@4"D@430r0q0q0r0r0r0r0r@  " @ @ @@@࣠mA0d>>0d>>@0VA@@300000000@0d>>0CC@@@@@0d>> @nA0d>>0d>>@0WA@@300000000@ @@@@@@0d>>@oA0d>>0d>>@0XA@@300000000@@@@@@@0d>>@pA0e>>0e>>@0YA@@300000000@@@@@@@0e>>@qA0e>>0e>?@0ZA@@300000000@@@@@@@0e>>@@*usr_bin_shrA0e>?0e>?@0[A@@300000000@@@@@@@@@1test_program_pathsA0f??30f??D@1 \A@@300000000@@@@@@@@@,test_programtA1f??E1f??Q@1]A@@300000000@@@@@@@@@&configuA1f??R1f??X@1,^A@@311111111@@@@@@@@@$_envvA1&f??Y1'f??]@1=_A@@31 111 1 1 1 1 @@@@@@@@@@ఠ,via_ocamlrunw19i??1:i??@1P`A@@@@@4bO@4R31817171818181818@%@@@@@డ/&(1Mj?@1Nj?@@%@@@%@@@4X@$@@@4W#@@@4V@@4U@@4T@@ఐ(tendered1gj??1hj?@@@@J(@@డ/#not1vj?@1wj?@@@@@'@@@4i@@@4h@@4g?@@ఐ %target_launcher_searches_for_ocamlrun1j?@ 1j?@.@@@cL@@@@`@@@4c@4rQ@4oT@@0 @@XU@A@1i?? @@Aఠ#runx1l@4@>1l@4@A@1aA@@@('@@@5O@4tРF@@РJ@@@5@I@5@@@@5O@5@@@@5O@4u@@4w311111111@@@@@@࣠@#envyA1l@4@B1l@4@E@1bA@@+311111111@7@2-@@4vP@4s@5@6@@@@  @@@ఠ$runsz1m@H@P1m@H@T@1cA@@ P@ M@@@4@ L@@@4@@4@@@4Q@4{311111111@*6W@-@.@@@ఐ )test_runs2 n@W@]2 n@W@f@@@@r@@@4@@@@4@@@@4@D@4@(@@@4 @@@4 @ @@@4@ @@@4@@4@@@4@@4@@4@@4@@4@@4~@@4};@@ఐc*usr_bin_sh2Bn@W@g2Cn@W@q@K@@H@@ఐ_1test_program_path2On@W@r2Pn@W@@G@@U@@ఐ[,test_program2\n@W@2]n@W@@C@@b@@ఐW&config2io@@2jo@@@?@@o@@ఐ#env2vo@@2wo@@@y@@|@ ఐJ,via_ocamlrun2o@@2o@@@@@ W@@@4R@4R@4@@ @@@A@2m@H@L @@@ఠ'execute{2p@@2p@@@2dA@@@@@@@4Q@4@@@@4Q@4@@4Q@4(@@@5kQ@4@@4Q@4322222222@@@@@@࣠@~A@ঠ%argv02p@@2p@@A ఠ}@2eA@@@@4322222222@!D2p@@2{BB@@@@4prefix_path_with_cwd2p@@2p@@A ఠ~@3fA@@@@4@@@2p@@2p@@@@KS@4@@ఠ'outcome2p@@2p@@@3gA@@R(@@3p@@3p@@@@@@[@@41@@ @@@@ఠ8expected_executable_name3q@A3q@A@31hA@@2@@@4S@4333333333@MUR@T@S?<@>@=0{@*@+@@@@ఠ2expected_exit_code32q@A33q@A.@3IiA@@Q@@@4S@4@@ఠ.expected_argv03Cq@A03Dq@A>@3ZjA@@27@@@4S@4)@@3 @@@3@@@@42@ఐa'outcome3^rAAAO3_rAAAV@7@@33W3V3V3W3W3W3W3W@>@@@Ġ$Fail3lsA\Af3msA\Aj@tఠ$code3usA\Ak3vsA\Ao@3kA@@@@@433r3q3q3r3r3r3r3r@Y@@@@@@@@@@@@@ 3sA\At@@3sA\As3sA\Au@@k333333333@i@@@@@@ఐ"$code3sA\Aw3sA\A{@ @@b@@ 3sA\A~@@3sA\A}3sA\A@@\@@@@@@v@g@@4#@Ġ'Success3tAA3tAA@ ঠ/executable_name3tAA3tAAA3 @@@4@@@3@@A A@ A@ఠ   @3lA@@@@4s@%argv03tAA3tAAA3 @@@4@@A3@@@ A@ A@ఠ   @3mA@@@@4@@@3tAA3tAA@@ @@@4V@4@@@<@@E@@E@@@@ఐ./executable_name3tAA4tAA@1@3@2@@U@4333333333@;$!@#@"@@@@@4tAA4tAA@@U@4@@ఐ4%argv04tAA4tAA@@@U@4@@#@@|@@@A4#rAAAI@@@ @@@@5 @A@4-q@@@@@ఠ%stubs48vAA49vAA@4OnA@@"@@@5 S@534746464747474747@!/(@)@*@@@@@@@డ2")"+4PvAA4QvAA@"(@@@"(@@@5@"'@@@5"&@@@5@@5@@5@@ఐ(tendered4jvAA4kvAA@@@M,@@ఐˠ)with_unix4wvAA4xvAA@@@e9@@@@=:@A@4|vAA@@ఐ+ +run_program4wAB4wAB @P@@@+@@@5<@?**@@@5:**@@@59@2@@@56@*@@@55**@@@58@*@@@57@@**@@@54**@@@53*@@@52@@51@@50@@5/@@5.@@5-@@5,@@5+@@5*@@5)@@5(@@5'@@5&344444444@@@@@@@ఐ#env4xBB4xBB@ϰ@@&@@ఐǠ&config4xBB4xBB @@@@+Fఐ,via_ocamlrun4xBB*4xBB6@$@@+Q@@@5sS@5wS@5v1@+Lఐ %stubs4xBB84xBB=@;@@+W@@@5rS@5yS@5xE@@ఐ1test_program_path5yB>BF5yB>BW@@@R@@ఐ8expected_executable_name5yB>Bn5yB>B@ذ@@+e@@@5nS@5|S@5{f@+`ఐB4prefix_path_with_cwd5/yB>BY50yB>Bm@ @@+k@@@5qS@5~S@5}z@@ఐ2expected_exit_code5CzBB5DzBB@@@+u@@@5pS@5S@5@@ఐ%argv05WzBB5XzBB@2@@#D@5D@5oS@5S@5@@ఐ(.expected_argv05kzBB5lzBB@&@@PS@5S@5@+ఐ᠐,may_segfault5|zBB5}zBB@ʰ@@u@+ఐ:stdlib_exists_when_renamed5{BB@@@@@@@@@@L@a@@k@A@Q@5@A@@ డ4$List$iter5}BB5}BB@ 5}BB5}BB@@#@@@@@ @@@5@ @@@5@@5Q@5-@@@5@@5@,@@@5@@@5@@5@@5355555555@2+@,@-@@@@ఐ9'execute5}BB5}BC@ @@@@5@@@5@4@@@5@@5+@@@5@@5!@@ఐ $runs5}BC5}BC @8@@eO@@@5R@5R@56@@] @@+@@@5Q@5<@ డ4p-print_newline6 ~C C6~C C@@$unitF@@@@@@@@@(DEtHtH(EEtHth@@3@@@@@@@5@@@5@@5c@@ภ61~C C62~C C @@@@$@@@5R@5s@@-@@,;@@@5Q@5y@డ+*is_renamed+Environment6NC"C)6OC"C4@ 6RC"C56SC"C?@@) @@@,@@@5) @@@5@@5@@ఐ#env6hC"C@6iC"CC@k@@@@@@4@@@5Q@5@ డ6*erase_file'Harness6CICP6CICW@ 6CICX6CICb@@@@@@@@5@@@5@@5@@ఐ1test_program_path6CICc6CICt@@@`@@@@,@@@5Q@5@6@6CICv6CIC{@@@6CICO6CIC|@@@;ఐ#run6CC6CC@@@@6CC@@ O@5@6C"C&@@@ @@@! @@@ @@ @4 @@@ A@@@@5O@5@@@6l@4@6@@jఐ1#run6CCC@D@@q366666666@@@@6CCG@@|@H@@}@CI@@~@HJA@D@6 Q@A@N@NM@cA+'linkageD6DD 6DD@@;@@.Default_ocamlc7+launch_mode@@@6 @@6DD6DD6@@7rA0Default_ocamlopt@@7D7D77D7DI@@7sA.Custom_runtime,runtime_modeD@@@6 @@7DJDJ7DJDj@@7(tA*Output_obj(compilerD@@@6 @@@6 @@7&DkDk7'DkD@@7=uA3Output_complete_obj@@@6*@@@6@@79DD7:DD@@7PvA3Output_complete_exe8@@@6@@7GDD7HDD@@7^wA@@A@@@@@7KDD@@@@7aoA@#bb7RDD7SDD'@Z@гde7[DD+c@@j37R7Q7Q7R7R7R7R7R@pi@j@k~;@@@A@@@@@@@@G;@@@A@@@@@7gDD7hDE@@@@7~pA];@@@A@@@@@7mEE7nEE1@@@@7qA@@x@@@@z@#vv7uD7D9t@s@@@w@#ss7{DJDL7|DJDZ@j@гu,runtime_mode7DJD^t@@|*u@@@@w@#ss7DkDm7DkDw@e@гu(compiler7DkD{7DkD@@};@@гx,runtime_mode7DkDy@@Dz@@@@|@#xx7DD7DD@l@гz(compiler7DD7DD@@U@@г,runtime_mode7DD@@^@@@@@#7DD7DD@x@г,runtime_mode7DD@@n@@@@@@A@@+7DD7DD@@;@@(C_ocamlc@@7DD7DE@@7xA*C_ocamlopt@@7DE{@@7yA@@A@@@@@~@A@{@#@@@@@#7DE@ @@@@@A@@+7EE7EE@@;@@&Shared@@7EE"7EE(@@8zA&Static@@8EE)@@8{A@@A@@@@@@A@@#@@@@@#8EE+@ @@@@@A@@@@38 8 8 8 8 8 8 8 @@@@ఠ,compile_test8"EE8#EF@89|A@@@@@@HE@62@!&config@@@EZE@67@.@@@GE@6<@h@@@8E@6A@@@@H E@6F@6@@@DcE@6KР$None@@@@Р@.@@@H Р@@ @@H @@G@@@@H @@H @@H#@@@@H$E@G@@@@GE@F@@@@FE@C@@@@CE@6L@@6ME@6G@@6HE@6B@@6CE@6=@@6>E@68@@69E@63@@64E@61388888888@2u@@@࣠@*usr_bin_shA8EF8EF@8}A@@w388888888@8EE8{pq&@@@@@  @@&configA8EF8EF@8~A@@388888888@!@@@@@@@@#envA8EF8EF@8A@@388888888@@@@@@@@@$testA8EF8EF!@8A@@388888888@@@@@@@@@,test_programA8EF"8EF.@8A@@388888888@@@@@@@@@+descriptionA8EF/8EF:@9 A@@388888888@@@@@@@@@@@ఠ2use_shared_runtime9 II9 II@9#A@@+@@@9tL@6Q39 9 9 9 9 9 9 9 @)@ @!@@@@ఠ$mode9 II9!II@97A@@"@@@9uL@6R@@ఠ'options91II92II@9HA@@+8*@@@:L@9@@@9L@6S+@@ఠ)main_in_c9HII9III@9_A@@)@@@9vL@6T<@@ఠ5compilation_exit_code9YII9ZII@9pA@@8G@@@9wL@6UM@@ఠ0linker_exit_code9jII9kII@9A@@8X@@@9xL@6V^@@ఠ,may_segfault9{II9|IJ@9A@@+@@@9yL@6Wo@@ఠ(tendered9IJ9IJ @9A@@,@@@9zL@6X@@ఠ %target_launcher_searches_for_ocamlrun9JJ9JJ<@9A@@@@@9{L@6Y@@ఠ%clibs9JJ>9JJC@9A@@,8@@@;L@96@@@9|L@6Z@@@@@@@@}@n@_@P@A@2@"@@6]@@ఠ!f9JFJP9JFJQ@9A@@2use_shared_runtime(,f@@@6hM@6b@@@6cM@6_$mode(#[@@@6uM@6o@@@6pM@6l,calls_linker)'@@@8M@6|@@@6}M@6y5compilation_exit_code)9 @@@6M@6@@@6M@60linker_exit_code)(9@@@8vM@6@@@6M@6,may_segfault)9,@@@6M@6@@@6M@6(tendered)J,@@@6M@6@@@6M@6 %target_launcher_searches_for_ocamlrun)[@@@6M@6@@@6M@6%clibs)l,Ѡ *@7@@@7M@6@@@6M@6@@@8M@6@M@8@M@8@@+'@@@8M@8@|M@8@oM@8@bM@8@UM@8@HM@8@;M@8@@8M@6@@6M@6@@6M@6@@6M@6@@6M@6@@6M@6@@6M@6@@6M@6z@@6{M@6m@@6nM@6`@@6aM@6^@࣠Р%*opt*Aఠְ:JFJT:JFJf@:A@@M@6e3::::::::@ꐰ:JFJL:PQ@@@@ภ:JFJi:JFJn@@@@-H@@@6i@@:JFJR:JFJo@#Aఠ:JFJr:JFJv@:A@@N@6r3::::::::@#,&@'@(@@@ภ(Bytecode:JFJy:JFJ@;(Bytecode#!@@@@B@@A'rl'sl@@@'qS@@  @@$S@@@6v@@:JFJp:JFJ@JAఠ;JJ; JJ@;A@@M@8O@63;;;;;;;;@*3-@.@/@@@డ9~,,;JJ;JJ@,@@@ O@6@,@@@6@@6@@6@@ఐN$mode;0JJ;1JJ@!@@N$@@ภ&Native;<JJ;=JJ@#n@@@@P@62@@;BJJ;CJJ@@8M@66@@;FJJ;GJJ@0Aఠ45;QJJ;RJJ@;hA@@4P@63;L;K;K;L;L;L;L;L@HSM@N@O@@@@;]JJ;^JJ@@< @@;`JJ;aJJ@9Aఠ=>;kJJ;lJJ@;A@@=Q@63;f;e;e;f;f;f;f;f@$@@ @@@@;wJJ;xJJ@@GM@6 @@;{JJ;|JJ@CAఠGH;JJ;JK@;A@@GR@63;;;;;;;;@%@ @!@@@ภʰ;JK;JK@@@@. @@@6@@;JJ;JK @QAఠUV;JK ;JK@;A@@US@63;;;;;;;;@ )#@$@%@@@ภ;JK;JK@@@@.+@@@6@@;JK ;JK@_Aఠcd;KK,;KKQ@;A@@cT@63;;;;;;;;@ )#@$@%@@@ఐ'&config;KTKd;KTKj@@@@ %target_launcher_searches_for_ocamlrun;KTKk;KTK@3 %target_launcher_searches_for_ocamlrun%:&config@@@B@@@@@E#3,has_ocamlnat @@@@@@@A(ms f j(ns f }@@(lV@3,has_ocamlopt@@@@@A@A(wu  (xu  @@(vW@33has_relative_libdir&optionL(@@@@@@@@B"@A(w  !(w  D@@(X@32has_runtime_search0@@@@@@@@C1@A(y p t(y p @@(Y@3>launcher_searches_for_ocamlrun?'@@@@@D;@A({  ({  @@(Z@I3<KK<KK@-@@@+-@@@6X@6@-5@@@6@@6@@6@@ఐ^%clibs<KK<KK@B@@)@@ภ$None<KK<KK@.@@@$X@67@@@@;8@A@<KK@@@ఠ%clibs<KK<KK@<A@@_X@63<<<<<<<<@KYR@S@T@@@డ;G&Option%value<KK<KK@ <KK<KK@@@&optionL!a@7e@@@7u'default  @@7t@@7s@*option.mliaa@@.Stdlib__OptionE@ @@@M@7@@@7@@7@@79@@ఐŠ%clibs=KK=KK@@@0@@@7Y@7Y@7N@)ภ"[]=.KK=/KK@/@@@M@7\@@M@@(]@A@=5KK@@@@ఠ5compilation_exit_codeˠ=DLL=ELL#@=[A@@'X@73=@=?=?=@=@=@=@=@@tx@y@z@@@@ఠ0linker_exit_code̠=ULL%=VLL5@=lA@@'X@7@@@@@@ @@7@డ;+E+G=lMlM=mMlM@+D@@@+D@@@7@+C@@@7+B@@@7@@7@@72@@డ38*is_renamed+Environment=MlMy=MlM@ =MlM=MlM@@0G@@@4@@@70G@@@7@@7R@@ఐ砐#env=MlM=MlM@ϰ@@k_@@@@+@@@7@8Z@8g@@డ< ++=MM=MM@+@@@+@@@8 @+@@@8 +@@@8@@8@@8@@ఐ͠,calls_linker=MlM=MlM@@@@@డMM>MM@ >MM> MM@@$boolE@@@87@=testsuite/tools/toolchain.mlim ? ?m ? \@@)ToolchainF@@@+@@@8)[@89[@88@@డ<,,>+MM>,MM@,@@@,@@@8?@,@@@8>,@@@8=@@8<@@8;@@డ<#not>GMM>HMM@+y@@@4_@@@8O+y@@@8N@@8M@@ఐ&config>^MM>_MM@@@.@,has_ocamlopt>eMM>fMM@t @@4@@@8V]@8Z]@8X%@@) @@,G@@@8K@8[]@8U-@@డ<#not>MM>MM@+@@@4@@@8_+@@@8^@@8]D@@ఐ점&config>MN>MN@԰@@jS@>launcher_searches_for_ocamlrun>MN>MN%@ @@4@@@8f]@8j]@8ha@@) @@,}@@@8J@8k]@8ei@@m@@,@@@8(@8l\@8Iq@@@@,@@@8@8m[@8'y@@"@@,@@@7@8nZ@8@@@*@@=@@@8oY@7@ఐV)main_in_c>OO>OO@@@=&@@@8qX@8p@@ఐ5compilation_exit_code>OO>OO@}@@@@B>OO>OO@@@@ @@@@@@8w@@B?OP? OP@@X@8|@@ఐ0linker_exit_code?OP?OP@@@@@@@"X@8}@?OO@@$@@ఐנ5compilation_exit_code?)P#P/?*P#PD@@@@@ఐɠ0linker_exit_code?5P#PF?6P#PV@@@@@@@BX@8@?<MlMv@@D@A@?>LL  @@@ఐ2use_shared_runtime?JPbPj?KPbP|@d@@3?C?B?B?C?C?C?C?C@ @ @ @@@@@@ఐy$mode?[PbP~?\PbP@L@@y@@ఐ'options?gPbP?hPbP@ڰ@@@@ఐ)main_in_c?sPbP?tPbP@@@)@@ఐ;5compilation_exit_code?PP?PP@1@@:5@@ఐ60linker_exit_code?PP?PP@<@@5A@@ఐ,may_segfault?PP?PP@@@M@@ఐ(tendered?PP?PP@ڰ@@Y@@ఐꠐ %target_launcher_searches_for_ocamlrun?PP?PQ@P@@e@@ఐꠐ%clibs?PQ@p@@p@@t@@@@ߠ@D@0@@s@D@'@ @@@8@ @@@ @@@@@J@A@M@8@A@@@ఠ(fails_ifܠ?QQ)?QQ1@?A@@5compilation_exit_code.>@@@8M@8@@@8M@8@>F@@@8M@8M@8@@8M@8@@8M@83????????@+$@%@&@@@࣠TAఠ#ޠ$@QQ4@QQI@@)A@@#M@83@ @ @ @ @ @ @ @ @8@QQ%@QQ@@@@B@!QQL@"QQM@@. @@@$QQ2@%QQN@@$condA@/QQO@0QQS@@FA@@63@)@(@(@)@)@)@)@)@& @!@"@@@@@@ఐ$cond@AQVQa@BQVQe@G@@@@H3@;@:@:@;@;@;@;@;@@@@ఐ;5compilation_exit_code@NQkQu@OQkQ@@@; @@@VQQ;@@dO@8@@ZQVQ^?@@E@8@A@tM@8G@A@D@ఐ$test@gQQ@hQQ@@@#3@`@_@_@`@`@`@`@`@g@@@@@Ġ.Default_ocamlc@wQQ@xQQ@; 1@@@60@ A@AE@A @@ ఠ._launch_method@QQ@QQ@@A@@ @@@83@@@@@@@@@"@@@@@@@G@@G@@@ఐ!f@QQ@QQ@@@/3@@@9,@@@9@/*@@@9-@@@9?/.@@@9>@@@9=/?@@@90@@@9</?@@@91@@@9;/ 3B@@@92@@@9:/ˠ3K@@@93@@@99}/Ԡ;@@@94@@@98u/ݠ3@2@@@95@@@97@N@9.@U@N@ @1@@@9/@E@>@7@0@)@"@@9+@@9*@@9)@@9(@@9'@@9&@@9%@@9$@@9#@@9"@@9!3@@@@@@@@@@@@@@'ภ/@2Z@@@0 3@@@9@@@9@$ภ/@2h@@@0*~@@@9@@@9@!ภ0@2v@@@0(/@@@9@@@9-@ภ0A2@A@06@(@@@9@@@9;@ภ0"A2@A@0D@6@@@9@@@9I@ภ00A$2@A$@0R3@@@9@@@9W@ภ0lA22ภ3AmQRAnQR@3@@@O@9i@@@0k@@@9m@ภ0TAH2@AH@0v@@@9@@@9{@ภ0bAV2@AV@03@@@9@@@9@@ภnAQRAQR @3|@@@iN@9@@ @@@@@t@_@P@A@2@#@@@@9@Ġ0Default_ocamloptAR RAR R"@; J@@@@AE@A @@ @@@@ :@@ :@@@ఐ!fAR&R0AR&R1@˰@@0͠4M@@@9@@@90֠+:@@@9@@@90ߠ/@@@9@@@90@@@@9@@@90@@@@9@@@904z@@@9@@@914@@@9@@@91 s@@@9@@@914xlL@9@@@9@@@9@L@:N@9@Y@R@ @2@@@9@I@B@;@4@-@&@@9@@9@@9@@9@@9@@9@@9@@9@@9@@9@@9@`ภ1#B3@B@1E4@@@: @@@:@]ภ1_B%3ภ&NativeBaR&R8BbR&R>@*@@@ BO@9O@: @@@1a@@@:@eภ1JB>3@B>@1l0I@@@:@@@:@bภ1XBL3@BL@1zAl@@@:@@@:@_ภ1fBZ3@BZ@1Az@@@:@@@: @\ภ1tBh3@Bh@15@@@:@@@:@Yภ1Bv3@Bv@15$@@@:@@@:&@Vภ1B4@B@1 @@@:@@@:4@Sภ1B4@B@15#@@@:@@@:C@@ภBR&R?BR&RA@4@@@N@: P@@@@<Q@Ġ.Custom_runtimeBRBRJBRBRX@; p@ AAAE@A @@ ؠĠ&StaticBRBRYBRBR_@;  @@@6.@@@AB@@A @@ @@ @@ @@@8r@@@ @@ s@@ s@@@ఐ )!fCRcRmC RcRn@@@ &25@@@:.@@@:B 2,s@@@:/@@@:A 20@@@:@@@@:? 2!B@@@:2@@@:> 2*B@@@:3@@@:=235@@@:4@@@:<2<5@@@:5@@@:;2E @@@:6@@@::2N5 L@:8@@@:7@@@:9@ .L@:N@:0@Y@R@ @3@@@:1@I@B@;@4@-@&@@:-@@:,@@:+@@:*@@:)@@:(@@:'@@:&@@:%@@:$@@:#@ ภ2\CP4@CP@2~5@@@:@@@:@ ภ2jC^4@C^@2,@@@:@@@:@ ภ2Cl4ՠภ6!CRcR}CRcR@6 @@@1@@@:O@:#@@@2@@@:'@ ภ2C5@C@2B@@@:@@@:5@ ภ2C5@C@2B@@@:@@@:C@ ภ2C5@C@2Ϡ6O@@@:@@@:Q@ ภ2C5+@C@2ݠ6]@@@:@@@:_@ ภ2C59@C@2 R@@@:@@@:m@ ภ2C5G@C@26\@@@:@@@:|@@ภ6TDRcRDRcRA6S'-customDRcRDRcR@@ DRcR@@ @ภ6A6@A@C| N@:@@@:O@:@@D,RcR@@N@:@@(@@@Ġ.Custom_runtimeD:RRD;RR@SĠ&SharedDCRRDDRR@; KQ@@@@B@@A J@@ G@@@@ >@@@83DAD@D@DADADADADA@@@@@@ @@ @@ @@@@ఠ5compilation_exit_codeDWSS#DXSS8@DnA@@CE@@@:O@:@ఐ(fails_ifDiSS;DjSSC@@@3gCY@@@:@@@:@B@@@: @@:@@:@ภ3XDL5@DL@3zCl@@@:@@@:@@డB11DSSODSSQ@1@@@1@@@:@1@@@:1@@@:@@:@@:@@డC#Sys%win32DSSEDSSH@ DSSIDSSN@@9@@2 @@@:Q@:Q@:4@@డC.#Sys&cygwinDSSRDSSU@ DSSVDSS\@@9@@@@99@@9[@ @@2@@@@:Q@:Q@:Z@@DSSDDSS]@@C4@@@:@:Q@:d@@ @@e@A@DSS @@ఐ !fDSaSkDSaSl@@@ 37z@@@:@@@: 4.g@@@:@@@: 4 2@@@:@@@: 4D@@@:@@@: 4D@@@:@@@: 4'7@@@:@@@: 407@@@:@@@: 49 @@@:@@@: 4B7 L@:@@@:@@@:@ "L@;ZN@:@Y@R@ @5@@@:栠@I@B@;@4@-@&@@:@@:@@:@@:@@:@@:@@:@@:@@:@@:@@:3EhEgEgEhEhEhEhEh@ !@@@@@ ภ4EG6ภ7ESaSESaS@7@@@ wO@;+O@;A@@@4@@@;B@ ภ4kE_6@E_@4.@@@;D@@@;C)@ ภ4Em6֠ภ8"ESaS{ESaS@8!@@@3@@@;;O@;H>@@@4@@@;IB@ ภ4E6ఐl5compilation_exit_codeESaSESaS@Q@@ mO@;.O@;KO@;JZ@@@4Š @@@;L^@ ภ4E7@E@4РD@@@;N@@@;Ml@ ภ4E7,@E@4ޠ8^@@@;P@@@;Oz@ ภ4E7:@E@48l@@@;R@@@;Q@ ภ4E7H@E@4 a@@@;T@@@;S@ ภ4E7V@E@58k@@@;V@@@;U@@ภ8cFSSF SSA8b'-customF'SSF(SS@@ F*SS@@ L@;]@ภ8 A8@ A@EN@;X@@@;\O@;b@@F=SS@@N@;[@@E!@@@ 7@ %@ @ @ @ 㠠@ Ԡ@ Š@ @ @@;cO@;*@h:@@@Ġ*Output_objFdSSFeSS@;P@NBBAE@AC@@@Ġ(C_ocamlcFoSSFpSS@;X@@@6/@@@@B@@A@@@@ @@^@@@80@Ġ&StaticFSSFSS@@@@@d@@@8=@@@%FSS@@C?@@C?@@@ఐ !fFSSFSS@@@ 59@@@;p@@@; 5/@@@;q@@@; 54@@@;@@@; 5E@@@;t@@@; 5E@@@;u@@@; 59>@@@;v@@@;~ 5Ǡ9G@@@;w@@@;} y5Р 7@@@;x@@@;| q5٠9< .N@;z@@@;y@@@;{@ L@;N@;r@Y@R@ @7@@@;s@I@B@;@4@-@&@@;o@@;n@@;m@@;l@@;k@@;j@@;i@@;h@@;g@@;f@@;e@ $ภ5F8W@F@6 9@@@;@@@;@ !ภ5F8e@F@60{@@@;@@@;@ ภ6F8s@F@6%5@@@;@@@;@ ภ6G8@G@63F%@@@;@@@;@ ภ6G8@G@6AF3@@@;@@@;@ ภ6-G!8@G!@6O9@@@;@@@;@ ภ6;G/8@G/@6]9@@@;@@@; @ ภ6IG=8@G=@6k @@@;@@@;.@ ภ6GK8ภ9ʰGSTGSTA9ɠ)-lunixbytGSTGST@@ GST@@ G@ภ9xA9w@A@FP@;@@@;O@;U@@GST@@ L@;O@;[@@@6@@@;_@@ภ9GSTGST A9+-output-objGSTGST@@ GST@@L@;u@ภ9 A9@ A@G N@;@@@;O@;@@GST@@N@;@@A!@@3@Ġ*Output_objGT!T)GT!T3@zĠ(C_ocamlcGT!T4GT!T<@x@@@@@@@83GGGGGGGG@@@@Ġ&SharedGT!T>GT!TD@@@@@@@@8@@@GT!TE@@@@@@@@ఠ0linker_exit_codeHTTHTT@HA@@F@@@<O@;@ఐ5(fails_ifHTTHTT@@@27G @@@;@@@;@Fn@@@; @@;@@;@@ภ7G9x@G@7*G@@@< @@@< @@డF55HCTTHDTT@5@@@5@@@<@5@@@<5@@@<@@< @@< @@డF#Sys%win32HaTTHbTT@ HeTTHfTT@@=J@@5@@@<Q@<Q@<%@@డF#Sys&cygwinH~TTHTT@ HTTHTT@@@@5@@@<Q@< Q@<B@@HTTHTT@@F@@@<@7ŠG@@@<3@@@<=7Π;N@@@<4@@@<<7נ;W@@@<5@@@<;7G@@@<6@@@<:7;L@L@KUUKUV A>+-output-objKUVKUV @@ KUV @@L@=V@ภ= A=@ A@K1N@=Q@@@=UO@=[@@KUU@@:N@=T@@!@@ D@Ġ*Output_objKVVKVV @Ġ*C_ocamloptKVV!KVV+@@@@@@@@83KKKKKKKK@ @@@Ġ&SharedLVV-LVV3@@@@@@@@8@@@L VV4@@@@@@@@ఠ,may_segfaultLVVLVV@L/A@@$boolE@@@=lO@=]7@డJ$List#memL1VVL2VV@ L5VVL6VV@@@!a@*@0 @@@,(@@@,@@,@@,@0+'C'C0+'C'b@@0h@@@@6@@@=nO@=c@ @@@=b>@@@=a@@=`@@=_r@@డ6,architecture&ConfigLmVVLnVV@ LqVVLrVV@@#@@@d@6ZZ6Zr@@6k@ @@+@@ภ>ɰLVVLVVA>Ƞ%s390xLVVLVV@@ LVV@@AP@=v@ภ>ݰLVVA>۠%riscvLVVLVV@@ LVV@@TP@=~@ภ> &A>@ 'A@LbQ@=x@@@=}P@=@@0A@LkQ@=p@@@=uP@=|@@LVV:@@u@@@=mP@=t@@A@@@A@LVVC@@@ఠ0linker_exit_codeLWMW[LWMWk@LA@@K@@@=O@=3LLLLLLLL@ s@@@@@ఐ (fails_ifLWMWnLWMWv@ ~@@ ;K@@@=@@@=@K=@@@= @@=@@=@ ภ;L>G@L@;K@@@=@@@=+@@డKv:{:}MWMWMWMW@:z@@@:z@@@=@:y@@@=:x@@@=@@=@@=F@@డK#Sys%win32M0WMWxM1WMW{@ M4WMW|M5WMW@@B@@:@@@=Q@=Q@=c@@డK#Sys&cygwinMMWMWMNWMW@ MQWMWMRWMW@@@@:@@@=Q@=Q@=@@M]WMWwM^WMW@@K@@@=@=Q@=@@ @@@A@MhWMWW @@ఐ!fMrWWMsWW@ n@@6N@=@@@=@@@=@L@>PN@=@[@T@ @>j@@@=@K@D@=@6@/@(@@=@@=@@=@@=@@=@@=@@=@@=@@=@@=@@=3MMMMMMMM@@@@@@ภ<M?(ภ@tMWWMWW@@s@@@O@>O@>@@@<@@@>@ภ=M?@ภ&NativeNWWNWW@6E@@@O@>O@>0@@@=@@@> 4@ภ<M?l@M@=;@@@>"@@@>!B@ภ= M?z@M@=,M@@@>$@@@>#P@ภ=FN ?uఐv0linker_exit_codeNIX%X2NJX%XB@_@@O@>O@>&O@>%h@@@=K @@@>'l@ภ=bN(?ఐM,may_segfaultNeWWNfWW@@@O@> O@>)O@>(@@@=g @@@>*@'ภ=PND?@ND@=r@@@@>,@@@>+@$ภ=^NR?@NR@=@@@>.@@@>-@!ภ=N`?ɠภ@߰NWWNWX$A@ޠ,-lcomprmarshNWWNWW@@ NWW@@@ภ@NWWA@)-lunixnatNWWNWX@@ NWX@@O@>>@ภANWX%AAడ917compression_c_libraries&Config NWX @ NWX NWX#@@N@@O@>F@ภ@ @A@@ AA@N6P@>@@@@>EO@>K@@&JA@N?&P@>8@@@>=O@>D@@BSA@NH/P@>0@@@>5O@>< @@NWW\@@GL@> O@>4@@@=@@@>L@@ภALOX%XDO X%XRAAK+-output-objOX%XEOX%XP@@ OX%XQ@@L@>S,@ภ@ A@@ A@NvN@>N@@@>RO@>X;@@O&X%XC@@ZN@>Q?@@!@@@ @@@ꠠ@۠@̠@@@@@@>YO@>X@:@@g@|;@@ W@Ġ3Output_complete_objONXSX[OOXSXn@;%@#BCAE@A@@Ġ(C_ocamlcOYXSXoOZXSXw@@@@@-@@@8a@Ġ&StaticOfXSXyOgXSX@ t@@@@5@@@8n@@@OmXSX@@'p@@'p@@@ఐ!fOwYuYOxYuY@s@@>uA@@@>f@@@>z>~8@@@>g@@@>y>=d@@@>x@@@>w}>N@@@>j@@@>vu>N@@@>k@@@>um>B"@@@>l@@@>te>B+@@@>m@@@>s]>@@@>n@@@>rU>B L@>p@@@>o@@@>q@L@>N@>h@Y@R@ @@m@@@>i@I@B@;@4@-@&@@>e@@>d@@>c@@>b@@>a@@>`@@>_@@>^@@>]@@>\@@>[@ภ>OA;@O@>Bm@@@>@@@>@ภ>OAI@O@>9_@@@>@@@> @ภ>OAW@O@? =@@@>@@@>@ภ>OAe@O@?O @@@>@@@>'@ภ?OAs@O@?%O@@@>@@@>5@ภ?PA@P@?3B@@@>@@@>C@ภ?PA@P@?AB@@@>@@@>Q@ภ?-P!A@P!@?O@@@>@@@>_@ภ?iP/Aภ=PjYuYPkYuY@BK@@@L@>O@>s@@@?j@@@>w@@ภBP}YYP~YYAB4-output-complete-objPYYPYY@@ PYY@@OL@>@ภBհPYYABӠ+-noautolinkPYYPYY@@ PYY@@O@>@ภBPYY'AB&-cclibPYYPYY@@ PYY@@(O@>@ภBPYY:AB)-lunixbytPYYPYY@@ PYY@@;O@>@ภB LAB@ MA@P$IP@>@@@>O@>@@VA@P-RP@>@@@>O@>@@9_A@P6[P@>@@@>O@>@@UhA@P?dN@>@@@>O@>@@PYYr@@ N@>@@|u@@R@Ġ3Output_complete_objPYYPYY@Ġ(C_ocamlcQYYQYY@ @@@@@@@83QQQQQQQQ@@@@Ġ&SharedQYYQYZ@ @@@@@@@9@@@QYZ@@@@@@@@ఠ5compilation_exit_codeQ&Z[Q'Z[@Q=A@@P@@@? O@>1@ఐT(fails_ifQ8Z[Q9Z[#@ΰ@@Q@6P(@@@?@@@?@O@@@? @@>@@>K@_ภ@'QB@Q@@IP;@@@?@@@?Y@@డO"<>QcZ[3QdZ[5@A@@@;@@@?P@?@A@@@?@@?@@?u@@డ;&system&ConfigQZ[%QZ[+@ QZ[,QZ[2@@@@@f@;;@@;m@ @@'@@&macosxQZ[7QZ[=@@QZ[6QZ[>@@6Q@?@@QZ[$QZ[?@@O@@@? @? Q@?@@s @@@A@QZZ @@@ఠ0linker_exit_codeQ[[Q[[@QA@@P@@@?1O@?!3QQQQQQQQ@W@@@@@ఐ蠐(fails_ifQ[[Q[[@b@@@ʠP@@@?%@@@?'@P!@@@?& @@?$@@?#@ภ@QC+@Q@@ݠP@@@?5@@@?4+@@డPZ?_?aQ[[Q[[@?^@@@?^@@@?;@?]@@@?:?\@@@?9@@?8@@?7F@@డPt#Sys%win32R[[R[[@ R[[R[[@@F@@?@@@?GQ@?IQ@?Hc@@డP#Sys&cygwinR1[[R2[[@ R5[[R6[[@@ c@@?@@@?FQ@?KQ@?J@@RA[[RB[[@@P@@@?2@?LQ@?E@@ @@@A@RL[[ @@ఐw!fRV[[RW[[@R@@tATD@@@?Y@@@?mlA];@@@?Z@@@?ldAf@C@@@?k@@@?j\AoQa@@@?]@@@?iTAxQj@@@?^@@@?hLAE@@@?_@@@?gDAE @@@?`@@@?f<A@@@?a@@@?e4ADL@?c@@@?b@@@?d@|L@?N@?[@Y@R@ @CL@@@?\@I@B@;@4@-@&@@?X@@?W@@?V@@?U@@?T@@?S@@?R@@?Q@@?P@@?O@@?N3RRRRRRRR@ @@@@@ภARD ภEVR[\R[\@EU@@@O@?O@?@@@Aܠ@@@?@ภARD5@R@Aఐ점5compilation_exit_codeS[\ S[\5@R@@O@?O@?O@?O@@@B @@@?S@ภB+RDZఐw0linker_exit_codeS.\6\CS/\6\S@b@@O@?O@?O@?k@@@B0 @@@?o@ภBS D@S @B;E@@@?@@@?}@ภB'SD@S@BIE@@@?@@@?@ภB5S)D@S)@BW@@@?@@@?@ภBqS7DภESr[\Ss[\@ES@@@L@?O@?@@@Br@@@?@@ภEɰS\6\US\6\lAEȠ4-output-complete-objS\6\VS\6\j@@ S\6\k@@WL@?@ภEy AEx@ A@RN@?@@@?O@?@@S\6\T@@N@?@@Q!@@@@@|@g@X@I@:@+@@ @@?O@?@t:@@@;@@ @Ġ3Output_complete_objS\m\uS\m\@}Ġ*C_ocamloptS\m\S\m\@ @@@@@@@93SSSSSSSS@p@@@Ġ&StaticS\m\S\m\@@@@@@@@9 @@@S\m\@@@@@@@@ఠ0linker_exit_codeS\\S\\@T A@@R@@@?O@?@డRkEET]]%T]]&@E@@@@@@?O@?@E@@@?@@?@@? @@డ>,architecture&ConfigT$]]T%]]@ T(]]T)]]$@@@@ @@%powerT4]](T5]]-@@T7]]'T8]].@@-P@?/@@@@R@@@?P@?5@ATE]4]BTF]4]C@@M;@@TL]U]cTM]U]d@@VO@?D@TQ]]@@XF@A@TS\\@@ఐ~!fT] ^9^CT^ ^9^D@Y@@{C[F@@@?@@@@sCd=@@@?@@@@kCmBJ@@@@ @@@@ cCvSh@@@?@@@@ [CSq@@@@@@@@ SCG@@@@@@@@ KCG@@@@@@@@CC@@@@@@@@;CGL@@qN@@@@@@@@@@@L@@{N@?@[@T@ @EU@@@?@K@D@=@6@/@(@@?@@?@@?@@?@@?@@?@@?@@?@@?@@?@@?3TTTTTTTT@l@@@@@ภCTF&@T@CؠGX@@@@W@@@@V@ภCTF!ภ&NativeT ^9^KT ^9^Q@=&@@@O@@DO@@[&@@@C@@@@\*@ภCTFM@T@CB@@@@^@@@@]8@ภCTF[@T@D S@@@@`@@@@_F@ภD'TFVఐ60linker_exit_codeU* ^z^U+ ^z^@U@@O@@GO@@bO@@a^@@@D, @@@@cb@ภDU F@U @D7G@@@@e@@@@dp@ภD#UF@U@DEG@@@@g@@@@f~@ภD1U%F@U%@DS@@@@i@@@@h@ภDmU3FภGUn ^9^ZUo ^9^yAGడ?7compression_c_libraries&ConfigU| ^9^`@ U ^9^aU ^9^x@@ @@@ภGi AGh@ A@TP@@k@@@@pO@@v@@U ^9^Y$@@L@@KO@@o@@@D@@@@w@@ภGU^^U^_0AG4-output-complete-objU^^U^^@@ U^^@@uL@@~@ภGU^^AG+-noautolinkU^^U^^@@ U^^@@O@@@ภHU^^'AH &-cclibU^^U^^@@ U^^@@(O@@@ภH!U^^:AH)-lunixnatU^^U^^@@ U^^@@;O@@@ภH4U^_MAH2&-cclibU^_U^_@@ U^_@@NO@@(@ภHGV^_!`AHE,-lcomprmarshV ^_"V ^_.@@ V ^_/@@aO@@;@ภG rAG@ sA@UpoP@@@@@@O@@J@@|A@UyxP@@@@@@O@@S@@9A@UP@@@@@@O@@\@@UA@UP@@@@@@O@@e@@qA@UP@@@@@@O@@n@@A@UN@@y@@@@}O@@w@@VM^^@@N@@|{@@@@@G@5@&@@@@䠠@ՠ@Ơ@@@@O@@B@@@^@Ġ3Output_complete_objVt_1_9Vu_1_L@&Ġ*C_ocamloptV}_1_MV~_1_W@ P@@@@Q@@@93VyVxVxVyVyVyVyVy@@@@Ġ&SharedV_1_YV_1__@H@@@@Z@@@9@@@V_1_`@@L@@L@@@@ఠ5compilation_exit_codeV__V__@VA@@U@@@@O@@@ఐˠ(fails_ifV__V__@E@@EU@@@@@@@@@U@@@@ @@@@@@@֐ภEVH@V@EU@@@@@@@@@@ภIPV__V__@IO@@@U"@@@@P@@@@0@@<@A@V__ @@ఐ !fV__V__@@@EIh@@@@@@@@E@U@@@@@@@@ED@@@@@@@@FU@@@@@@@@F U@@@@@@@@FI@@@@@@@@FI@@@@@@@@F'@@@@@@@@F0IL@AKN@@@@@@@@@@@L@AUN@@@[@T@ @G@@@@ՠ@K@D@=@6@/@(@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@3WXWWWWWXWXWXWXWX@@@@@@ภFqW7HภIWr_`Ws_`@I@@@gO@AO@A0@@@Fr@@@A1@ภFWOHภ&NativeW__W_`@?@@@lO@AO@A50@@@F@@@A64@ภFtWhH@Wh@FEs@@@A8@@@A7B@ภFWvHߠఐ5compilation_exit_codeW``(W``=@Q@@]O@AO@A:O@A9Z@@@F @@@A;^@ภFWI@W@FV@@@A=@@@A<l@ภFWI@W@FΠJN@@@A?@@@A>z@ภFWI*@W@FܠJ\@@@AA@@@A@@ภFWI8@W@FQ@@@AC@@@AB@ภGWI3ภJIX``FX``eAJHడBw7compression_c_libraries&ConfigX``L@ X``MX``d@@ @@@ภJ AI@ A@WzP@AE@@@AJO@AP@@X)``E$@@yL@A"O@AI@@@G'@@@AQ@@ภJ~X:`f`sX;``AJ}4-output-complete-objXB`f`tXC`f`@@ XE`f`@@ L@AX@ภJXN`f`AJ+-noautolinkXU`f`XV`f`@@ XX`f`@@O@A`@ภJXa`f`'AJ&-cclibXh`f`Xi`f`@@ Xk`f`@@(O@Ah @ภJXt`f`:AJ)-lunixnatX{`f`X|`f`@@ X~`f`@@;O@Ap@ภJ˰X``MAJɠ&-cclibX``X``@@ X``@@NO@Ax2@ภJްX```AJܠ,-lcomprmarshX``X``@@ X``@@aO@AE@ภJ rAJ@ sA@XoP@Az@@@AO@AT@@|A@XxP@Ar@@@AwO@A~]@@9A@XP@Aj@@@AoO@Avf@@UA@X"P@Ab@@@AgO@Ano@@qA@X+P@AZ@@@A_O@Afx@@A@X4N@AS@@@AWO@A^@@X`f`r@@N@AV@@@@@ޠ@̠@@@@@{@l@]@M@@AO@A@!@@`'@Ġ3Output_complete_exeY `aY `a@;!@!ADAE@A!@@!ƠĠ&StaticY`aY`a!@$@@@@!@@@9@@@@@ @@ @@@ఐG!fY&a%a/Y'a%a0@"@@DH$K@@@A@@@A<H-B@@@A@@@A4H6G@@@A@@@A,H?X1@@@A@@@A$HHX:@@@A@@@AHQK@@@A@@@AHZK@@@A@@@A Hc@@@A@@@AHlKϠL@A@@@A@@@A@ LL@BN@A@Y@R@ @J@@@A@I@B@;@4@-@&@@A@@A@@A@@A@@A@@A@@A@@A@@A@@A@@A@ภHzYnJ@Yn@HL@@@A@@@A'@ภHY|J@Y|@HC@@@A@@@A5@ภHYJภL?Ya%a?Ya%aC@L>@@@G@@@AO@AJ@@@HƠ@@@AN@ภHYK@Y@HѠX@@@A@@@A\@ภHYK-@Y@HߠX@@@A@@@Aj@ภHYK;@Y@HLm@@@A@@@Ax@ภHYKI@Y@HL{@@@A@@@A@ภHYKW@Y@I  p@@@B@@@A@ภHYKe@Y@ILz@@@B@@@B@@ภLrZ.a%aEZ/a%a\ALq4-output-complete-exeZ6a%aFZ7a%aZ@@ Z9a%a[@@!L@B @ภL" AL!@ A@YN@B@@@BO@B@@ZLa%aD@@N@B@@*!@@@Ġ3Output_complete_exeZZa]aeZ[a]ax@OĠ&SharedZca]ayZda]a@ @@@@#$@@@9@@@@@"#@@"#@@@@ఠ5compilation_exit_codeZtaaZuab @ZA@@Yb@@@B O@B@ఐ(fails_ifZabZab@@@IYv@@@B@@@B@X@@@B @@B@@B@ภIuZiK@Zi@IY@@@B$@@@B#"@@డYHHZab#Zab%@H@@@H@@@B*@H@@@B)H@@@B(@@B'@@B&=@@డY.#Sys%win32ZabZab@ ZabZab"@@O@@H=@@@B6Q@B8Q@B7Z@@డYK#Sys&cygwinZab&Zab)@ Zab*Zab0@@@@HT@@@B5Q@B:Q@B9w@@ZabZab1@@YH@@@B!@B;Q@B4@@ @@@A@[aa @@ఐ!1!f[b5b?[b5b@@ @@!.JM@@@BH@@@B\!&JD{@@@BI@@@B[!J H@@@BZ@@@BY!J)Z@@@BL@@@BX!J2Z$@@@BM@@@BW!J;M@@@BN@@@BV JDM@@@BO@@@BU JM!@@@BP@@@BT JVM!L@BR@@@BQ@@@BS@"6L@BN@BJ@Y@R@ @L@@@BK@I@B@;@4@-@&@@BG@@BF@@BE@@BD@@BC@@BB@@BA@@B@@@B?@@B>@@B=3[|[{[{[|[|[|[|[|@@@@@@!ภJ[[LĠภN[b5bh[b5bl@N@@@"O@BO@B@@@J@@@B@!ภJ[sL@[s@JE@@@B@@@B)@!ภJ[LภN6[b5bO[b5bS@N5@@@I@@@BO@B>@@@J@@@BB@!ภJ[Mఐc5compilation_exit_code[b5bn[b5b@Q@@"O@BO@BO@BZ@@@J٠ @@@B^@!ภJ[M2@[@JZ@@@B@@@Bl@!ภJ[M@@[@JNr@@@B@@@Bz@!ภJ[MN@[@KN@@@B@@@B@!ภJ[M\@[@K"u@@@B@@@B@!ภJ[Mj@[@KN@@@B@@@B@@ภNw\3bb\4bbANv4-output-complete-exe\;bb\<bb@@ \>bb@@#L@B@ภN' AN&@ A@[N@B@@@BO@B@@\Qbb@@N@B@@E!@@@#K@#9@#*@#@#@"@"蠠@"٠@"ʠ@"@@BO@B@h:@@@@@A\oQQ<@@@#d@#R@#C@#.@#@#@#@"@"㠠@"@@CA3\|\{\{\|\|\|\|\|@@@@mT@@@!U@@#t@A@\IIW@@డZIJ\!bb\!bb@I@@@I@@@CG@I@@@CFI@@@CE@@CD@@CC3\\\\\\\\@###@#@###@#@###~@#@##o#h@#i@#j#_#X@#Y@#Z#O#H@#I@#J#?#8@#9@#:#/#(@#)@#*##@#@###@#@# @@@@డ[)JJ\ bb\ bb@J@@@J@@@CY@J@@@CXJ@@@CW@@CV@@CU0@@ఐ#Ӡ2use_shared_runtime\ bb\ bb@1@@J@@@CeM@CgM@CfD@@డ[X#not\ bb\ bb@J'@@@S @@@CkJ'@@@Cj@@Ci[@@డGr9supports_shared_libraries&Config] bb] bb@ ] bb] bb@@$boolE@@@@Gp%$$Gq%$$@@GoH@@@S8@@@CrN@CtN@Cs@@4@@J@@@Cd@CuN@Cq@@R@@J@@@CS@CvM@Cc@@డ[KK]C!bc]D!bc @K@@@K@@@C|@K@@@C{K@@@Cz@@Cy@@Cx@@డ[NN]^!bb]_!bb@N@@@F@@@CM@C@N@@@C@@C@@C@@ఐ$W$mode]w!bb]x!bb@Ȱ@@@@ภ&Native]!bc]!bc@E@@@#N@C@@@@K`@@@C@CN@C@@డ[#not]!bc ]!bc @Jΰ@@@S@@@CJ@@@C@@C@@ఐ%&config]!bc]!bc@$@@%@,has_ocamlopt]!bc]!bc!@!ɰ @@S@@@CN@CN@C@@) @@K@@@C@CN@C'@@V@@K.@@@CR@CM@C/@@@@\@@@CL@CQ5@%v@]$cc]$cc@@%~:@@ఠ1test_program_path]&cc]&cc@^A@@T3@@@CL@C3]]]]]]]]@O@@@డS,in_test_root+Environment^'cc^'cc@ ^'cc^'cc@@@T@@@A@TT@@@@%@@@?@@>@@=@SJ  SJ  D@@TM@@@@T@@@C@@@@C7@@@C@@C@@C6@@ఐ%u#env^4'cc^5'cc@%]@@%C@@డ^I#exe'Harness^G'cc^H'cc@ ^K'cc^L'cc@@@J@@@J@@@@@@JNJN7@@J`@@@@@@@C@@@C@@Cr@@ఐ%,test_program^p'cc^q'cd@%w@@&"@@^t'cc^u'cd@@i@@@C@CN@C@@| @@@A@^&cc @@@ఠ(compiler^(d d^(d d@^A@@T@@@CL@C3^^^^^^^^@@@@@@డTP)tool_path+Environment^(d d^(d d*@ ^(d d+^(d d4@@@U*@@@4@4&Import$mode@@@3@U@@@2@U@@@17@@@0@@/@@.@@-@@,@Td|  Te|  @@UEJ@+&@@@UM@@@C@#@@@C@@@@C@@@@CS@@@C@@C@@C@@C@@CR@@ఐ&1#env^(d d5^(d d8@&@@&_@@ఐ%ݠ$mode^(d d9^(d d=@N@@Q@@@CM@CM@Cs@@&ocamlc_(d d?_(d dE@@_(d d>_(d dF@@[@@@CM@CM@C@@(ocamlopt_#(d dH_$(d dP@@_&(d dG_'(d dQ@@i@@@CM@CM@C@@ @@@A@_1(d d @@@ఠ&output_<)dUd__=)dUde@_SA@@I@@@D L@C3_;_:_:_;_;_;_;_;@@@@@@ఐ& )main_in_c_Q*dhds_R*dhd|@@@]@@@CL@C@డ]!^_b+dd_c+dd@J @@@J @@@D@J @@@CJ&@@@C@@C@@C-@@2test_install_ocaml_z+dd_{+dd@@_}+dd_~+dd@@J(@@@D M@DM@D A@@డI'ext_obj&Config_+dd_+dd@ _+dd_+dd@@I@@J?@@@D M@DM@D^@@' @@b_@ఐ 1test_program_path_-dd_-dd@@@oL@Dl@_*dhdp@@qn@A@_)dUd[@@@ఠ)with_unix_/dd_/dd@_A@@M@@@D"L@D3________@@@@@@డ^7M<M>_/de_/de@M;@@@M;@@@D@M:@@@DM9@@@D@@D@@D@@డJU9supports_shared_libraries&Config_/dd_/de@ _/de_/de@@@@M`@@@D$M@D&M@D%8@@డ^o#not` /de` /de"@M>@@@V$@@@D*M>@@@D)@@D(O@@ఐ&(tendered`!/de#`"/de+@l@@V;@@@D1N@D3N@D2c@@  @@M@@@D#@D4N@D0k@@`4/dd`5/de,@@qn@A@`7/dd@@@ఠ-is_randomized`B0e0e:`C0e0eG@`YA@@R@@@D7L@D53`A`@`@`A`A`A`A`A@@@@@@ภ=`S0e0eJ`T0e0eO@=@@@R@@@D8@A@`Z0e0e6@@@ఠ'verbose`e1eSe]`f1eSed@`|A@@V@@@DCL@D93`e`d`d`e`e`e`e`e@%3,@-@.@@@డV+'verbose+Environment`1eSeg`1eSer@ `1eSes`1eSez@@@W@@@K!@@@J@@I@V)Q**V*Q*A@@W O@@@@W@@@D=.@@@D<@@D;-@@ఐ'砐#env`1eSe{`1eSe~@'ϰ@@(k:@@+@@?;@A@`1eSeY@@ ఐ_ 2write_test_program`2ee`2ee@V@@__@@@DP__@@@DO^_ @@@DN@^@@@DM^@@@DL@@DK@@DJ@@DI@@DH3````````@crk@l@m@@@_!ఐy'verbose`2ee`2ee@ @@_,@@@DfM@DhM@Dg@_)ఐ-is_randomized`2ee`2ee@@@_@@@@DeM@DjM@Di+@_2ఐG)with_unixa2eea2ee@@@_T@@@DdM@DlM@Dk?@@ఐ((+descriptiona2eea2ee@(@@(L@@g@@W@@@DnL@DbR@@ఠ'optionsa-3eea.3ee@aDA@@S`&@@@DxL@Ds@@@DvL@Do3a2a1a1a2a2a2a2a2@k@@@ఐ(:2use_shared_runtimeaF4eeaG4ee@@@_@@@DqL@Dp@ภRRaS5ffaT5ff!@S0-runtime-varianta[5ff a\5ff@@a^5ff a_5ff@@($@ภReaf5ff,ag5ff.@S'_sharedan5ff#ao5ff*@@aq5ff"ar5ff+@@=L@D9@ఐ(L'optionsa}5ff/a~5ff6@Ͱ@@`۠QM@Dz@@@DL@DL@DN@@ @@`Z@@@DwL@D~U@@4@@_V@ఐ(i'optionsa7fDfNa7fDfU@@@nL@DuL@Dd@a4ee@@of@A@a3ee @@@ఠ$argsa9f_fia9f_fm@aA@@T `@@@DL@D@@@DL@D3aaaaaaaa@@@@@@ภRİa:fpf}a:fpf@T"-oa:fpfya:fpf{@@a:fpfxa:fpf|@@@ภRװa:fpfa:fpf@Tఐ&outputa:fpfa:fpf@@@.L@D*@ภRa;ffa;ff@T06test_install_script.mla;ffa;ff@@a;ffa;ff@@CL@D?@ఐנ'optionsb;ffb;ff@G@@abWM@D@@@DL@DL@DT@@ @@ak`M@D@@@DL@D]@@9@@ati@@@DL@Dd@@R@@T{n@@@Di@A@b'9f_fe#@@@ఠ$argsb2=ffb3=ff@bIA@@Ta+@@@DL@D@@@DL@D3b7b6b6b7b7b7b7b7@@@@@@ఐ)with_unixbM>ffbN>ff@@@`@@@DL@D@ภSYbZ?ffb[?ff@T"-Ibb?ffbc?ff@@be?ffbf?ff@@*&@ภSlbm?fgbn?fg@T%+unixbu?ffbv?fg@@bx?ffby?fg@@?L@D;@ภSb?fgb?fg!@TŠడb#lib'Harnessb?fgb?fg@ b?fgb?fg@@@K$mode@@@@O-@@@O1@@@@@@@@O)ZMMO*ZMo@@O(c@@@@@@@D@@@@D@@@D@@D@@D|@@ఐ)$modeb?fgb?fg@@@2@@@DM@DM@D@@$unixb?fgb?fg@@b?fgb?fg@@?@@@DM@DM@D@@T @@M@D@ఐB$argsb?fg"b?fg&@@@bNM@D@@@DL@DL@D@@l @@bWM@D@@@DL@D@@@@b`@@@DL@D@@@@@ఐh$argscAg4g>cAg4gB@հ@@L@DL@D@c>ff@@@A@c=ff @@@ఠ$argsc*CgLgVc+CgLgZ@cAA@@Ub#@@@DL@D@@@DL@D3c/c.c.c/c/c/c/c/@ @@@@@ภT@cADg]gjcBDg]gl@U"-IcIDg]gfcJDg]gh@@cLDg]gecMDg]gi@@@ภTScTDg]g~cUDg]g@U.+compiler-libsc\Dg]gnc]Dg]g|@@c_Dg]gmc`Dg]g}@@.L@D*@ภThciDg]gcjDg]g@Uడc{#lib'HarnesscyDg]gczDg]g@ c}Dg]gc~Dg]g@@@@@@@@D@@@@D@@@D@@D@@DU@@ఐ*x$modecDg]gcDg]g@@@@@@DM@DM@Di@@+ocamlcommoncDg]gcDg]g@@cDg]gcDg]g@@@@@DM@EM@E}@@> @@M@D@ఐ$argscDg]gcDg]g@@@cM@D@@@DL@EL@E@@V @@c(M@D@@@DL@D@@y@@c1@@@DL@D@@@@V8@@@D@A@cCgLgR#@@@ఠ$argscFggcFgg@dA@@VNb@@@EL@E @@@E L@E3cccccccc@@@@@@ఐ'verbosed Gggd Ggg@9@@bV@@@EL@E@ภUdHggdHgg@VZ(-verbosedHggd Hgg@@d"Hggd#Hgg@@*&@ఐ$argsd,Hggd-Hgg@.@@c>@@@E L@EL@E9@@ @@C:@ఐ$argsd@JhhdAJhh@B@@RL@E L@EH@dGGgg@@SJ@A@dIFgg @@@ఠ)exit_codedTLhh&dULhh/@dkA@@T@@@FL@E3dSdRdRdSdSdSdSdS@`tm@n@o@@@@@ఠ)exit_codednMh2h>doMh2hG@dA@@T@@@EM@E@@ఠ&outputdMh2hIdMh2hO@dA@@TT@@@E@@@EM@E/@@ @@@@@@E6@@ఠ%failsdNhRh`dNhRhe@dA@@U2@@@E(N@EI@డc"<>dNhRhdNhRh@U.@@@c@@@E)N@E @UJ@@@E@@E@@Ea@@ఐ+o5compilation_exit_codedNhRhidNhRh~@@@n@@@dNhRhdNhRh@@ O@E*y@@dNhRhhdNhRh@@6|@A@dNhRh\@@@ఠ'runtimedQii+dQii2@dA@@R@@@E;N@E+3dddddddd@WP@Q@R@@@డc]RҠR԰dRi5iQdRi5iS@RѰ@@@R@@@E1@R@@@E0R@@@E/@@E.@@E-@@డcxVVeRi5iFeRi5iG@V@@@Nu@@@EKO@EB@V@@@EA@@E@@@E?5@@ఐ, $modee-Ri5iAe.Ri5iE@~@@B@@ภ(Bytecodee9Ri5iHe:Ri5iP@*J@@@#P@ENP@@@@S@@@E=@EOP@EJX@@డeX9ocamlc_fails_after_rename'HarnesseVRi5iTeWRi5i[@ eZRi5i\e[Ri5iu@@@-+@@@:k@@@@@@QiQiE@@Qf@@@@-9@@@ES@@@ER@@EQ@@ఐ,Р&confige~Ri5iveRi5i|@,@@-N@@,@@SS@@@E<@E\P@EY@@] @@@A@eQii' @@@ఠ%stubseUjj$eUjj)@eA@@Se@@@EmN@E]3eeeeeeee@@@@@@డdSSeUjj6eUjj8@S@@@S@@@Ec@S@@@EbS@@@Ea@@E`@@E_@@ఐ)with_unixeUjj,eUjj5@y@@S@@@EoO@EqO@Ep/@@ఐ,L(tenderedeUjj9eUjjA@ #@@S@@@EnO@EsO@ErC@@ @@GD@A@eUjj  @@@ఠ&stdlibeXjjeXjj@fA@@Xk@@@EvN@Et3eeeeeeee@Zha@b@c@@@ภXzfXjjfXjj@Xy@@@Xy@@@Ew@A@fXjj@@డ[+run_process+EnvironmentfYjjfYjj@ fYjjfYjj@@V @@V V\@@@E@@@EVV\@@@E@@@EVVV@@@E@@@EUV"\r@@@E@@@EUV+U@@@E@@@EUV4U@@@E@@@E@\@@@E@U@@@EUVGU@@@E@@@E@U\@@@E@@@E@V@@@E@VV@@@E@@@E@@E@@E@@E@@E@@E@@E~@@E}@@E|@@E{@@Ez@@Ey3fuftftfufufufufu@@@@@@VnภUfTWఐ'runtimefZjkfZjk@@@\@@@EN@EN@E@@@U @@@E @V}ภUfqWڠఐ%stubsfZjkfZjk@@@] @@@EN@EN@E9@@@U @@@E=@VภUfWఐܠ&stdlibfZjkfZjk%@L@@V@@@EN@EN@EV@@@UΠ @@@EZ@VภUfX'@f@VȠ]@@@E@@@Eh@VภUfX5@f@V֠V@@@E@@@Ev@VภVfX0ఐg%failsgZjkgZjk @@@V@@@EN@EN@E@@@V @@@E@@ఐ.]#envgZjk&gZjk)@.E@@.@@ఐ(compilerg)Zjk*g*Zjk2@@@V@@@EN@EN@E@V̐ภVgX@g@W"V@@@E@@@E@@ఐ\$argsgKZjk3gLZjk7@@@Vݠ]@@@E@@@EN@EN@E@@E@@@@@@EN@E@\@@ k@@@ @@@ w@@@  @A@ggMh2h:@@ డ]#.display_output+Environmentgw\kCkKgx\kCkV@ g{\kCkWg|\kCke@@U@@@UU@@@F@@@FU@@@F@@E3gggggggg@0$@@ @@@@@@ఐ&outputg\kCkfg\kCkl@ @@UǠU@@@F @@@F N@FN@F @@2@@]@@@FM@F #@ఐG)exit_codeg]knkvg]knk@)@@^-@B@@_.@S@@`]@A@gLhh"@@డf*"<>g_kkg_kk@XF@@@W@@@FK@F@Xb@@@F@@F@@F3gggggggg@z@@@@@@ఐ)exit_codeg_kkg_kk@ @@@@ఐ.5compilation_exit_codeg_kkg_kk@ >@@'L@F @@@@f?@@@F!L@F%@డh ,fail_because'Harnessh`kkh `kk@ h `kkh `kk@@T@@@T@f@@@@F{@^K@@@F/K@F(K@F@@FK@Ff@@FzK@F$T@@@F&T@@@F' @@@F%@@F#[@@ภdhdhh<`kkh=`klAdภdhd2h d1ภdhchc@@d>M@Fh>@@@FyL@F@ภdh(dh)#d & is expected to return with exit code (@(@dz@@@FL@FL@F@ภdh<Th=7TภdhDT7hE?T6@?@Th@@@FL@F@ภe hQd&hRLd%@L@dKpM@FtK@FL@F@@@FL@F@ภehdT,he_T+@_@T|@@@FL@F@ภe-hsahtna@n@eUH@@@F0L@FbL@FwL@FL@FUM@@@F1L@FcL@FxL@FL@F  M@F@@@FL@F@@@e$M@F"M@F@@@FL@F@@@e2à-"#$M@Fm@@@F|L@F@@@e?M@FG9./0M@FL@@@FdL@Fv@ *%s is expected to return with exit code %d@@eH@@@FeL@FL@F+@@@@UQF@@@F/L@Fa5@@ఐ (compileriall!iall)@ а@@L@FD@@ఐ/ˠ5compilation_exit_codei$all*i%all?@ r@@ L@FS@@"@@K@F6U@డg"<>i7bl@lXi8bl@lZ@Y@@@Yj@@@FK@F@Y@@@F@@F@@Fp@@ఐ)exit_codeiPbl@lNiQbl@lW@z@@}@@@iZbl@l[i[bl@l\@@ L@F@@@@g@@@FL@F@$None@ihdlliidll@@1 E@F@డg$List$iteri|imDmNi}imDmR@ iimDmSiimDmW@@M@@@@R@@@GL@FN@@@F@@F@M @@@FOr@@@F@@F@@F@@డi*erase_file'HarnessiimDmXiimDm_@ iimDm`iimDmj@@Fư@@@R@@@GF@@@G@@G@@డi)files_for'Harnessijmkmxijmkm@ ijmkmijmkm@@.source_and_cmi-Ԡ>@@@@@@@S8$mode@@@@Vo@@@@-Vy@@@@@@-V@@@@@@@@@@@@@@@V{^V|_)@@Vzd@;6@@310@@@G$@@@G#@/@@@G"@-@@@G!@,+@@@G @@@G*)@@@G@@@G@@G@@G@@G@@GO@VภYi[s@i@YX@@@GB@@@GA]@@ఐ1$modej=jmkmj>jmkm@ @@f@@@G>N@GDN@GCq@@3test_install_scriptjOjmkmjPjmkm@@jRjmkmjSjmkm@@s@@@G=N@GFN@GE@@ภ-6jcjmkmjdjmkm@\D@@@}|@@@G<@@@G;N@GL@@jpjmkmwjqjmkm@@N@@@G M@GNN@G9@@ @@PW@@@G @ĠP=jhm3m?jhm3mA@P<@@@@Pf@@@GR@@Pi@@@GS@@@డhXsXujonLnWjonLnY@Xr@@@Xr@@@GZ@Xq@@@GYXp@@@GX@@GW@@GV@@ఐ1l)main_in_cjnn7nBjnn7nK@@@X@@@GfN@GhN@Gg@@డi-#notjonLnZjonLn]@W@@@`@@@GlW@@@Gk@@Gj@@ఐTd3link_with_main_in_cjonLn_jonLnr@G~@@@ab@@@GT]i2@@@GTWa@@@G@TO@@@G@TET@@@@G}@@@G~@@]{@@@G|@@G{@@Gz@@Gy@@Gx@@Gw@@Gv@@Gu2@@ఐ2S#envkonLnskonLnv@2;@@2?@Tఐ22use_shared_runtimekonLnxk onLn@q@@im@@@GP@GP@GS@Tఐ1ɠ0linker_exit_codek3onLnk4onLn@@@ae@@@GP@GP@Gg@@ఐ2'$modekGpnnkHpnn@@@T@@@GP@GP@G{@@ఐ1%clibsk[pnnk\pnn@@@TT@@@G@@@GP@GP@G@@ఐ 7&outputkspnnktpnn@ @@P@GP@G@@ఐ 1test_program_pathkpnnkpnn@ @@&P@GP@G@@konLn^kpnn@@a@@@Gs@GP@G@@ @@Yg@@@Ge@GO@Gr@@@@i@@@GN@Gd@$None@kro7oAkro7oF@@3JE@G@@ఠ:stdlib_exists_when_renamedktoTobktoTo|@kA@@^2@@@GN@G3kkkkkkkk@@@@ภHkwpp(kwpp-@H@@@^>@@@G @A@ktoTo^@@ఐ;᠐0make_test_runnerkyp;pEkyp;pU@4w@@;a@@@G;a@@@G;Y@@@G;Y@@@G;b@@@G@HX@@@G@U<@@@G@H@@@G@3M@G@3M@GР;@b@@@GР;@;@ @@G@3@@@@G@@G@Р3@3@@@@H%E@G@@@@G@@G@@G@@G@@G@@G@@G@@G@@G@@G@@G3llllllll@Rwp@q@r@@@@@ @ 4?@@ @ 4@@@ )@ D4A@@ @ 14B@@ @ >4C@@ z@ 4D@@ @ 4E@@ #@ 84F@@ @ 4G@@Y@o4H@@@l bb4J@@4@g4K@@43@4U4LA@4E@H24S@A@4P@4P4O@4g@ఠ.compiler_wherem}q(q,m}q(q:@mA@@@c@@@HE@H4'runtime\c~@@@HE@H<@@@H=E@H9@q@@@HhE@HD]8@@@I.E@HE@@HFE@H:@@H;E@H5@@H6E@H33m"m!m!m"m"m"m"m"@455 @5 @5 @@@࣠@#envAm:}q(q;m;}q(q>@mQA@@63m4m3m3m4m4m4m4m4@CmB}q(q(mCqrG@@@@@  @66A:mM}q(q@mN}q(qG@mdA@@\J<@@@HA3mKmJmJmKmKmKmKmK@$P@@@@@@mY}q(q? @@$modeAmc}q(qHmd}q(qL@mzA@@E3m]m\m\m]m]m]m]m]@"\cU@@@H@@@@@@@  @@@ఠ(compilermz~qOqUm{~qOq]@mA@@@@@HeI@HI3mymxmxmymymymymy@)d@ @!@@@డc?)tool_path+Environmentm~qOq`m~qOqk@ m~qOqlm~qOqu@@@@@d@@@HS@@@@HR@@@@HQ@@@@HP@@@HO@@HN@@HM@@HL@@HK/@@ఐ#envm~qOqvm~qOqy@g@@<@@ఐi$modem~qOqzm~qOq~@F@@I@@&ocamlcm~qOqm~qOq@@m~qOqm~qOq@@ @@@HgJ@HmJ@Hl]@@(ocamloptm~qOqm~qOq@@m~qOqm~qOq@@.@@@HfJ@HoJ@Hnq@@b @@ur@A@m~qOqQ @@డc+run_process+Environmentnqqnqq@ n qqn qq@@]@@]]dw@@@H@@@H]^dr@@@H@@@H]^ ]@@@H@@@H]^dc@@@H@@@H]^]@@@H@@@H]^%]@@@H@@@H@d@@@H@]@@@H]^8]@@@H@@@H@]d@@@H@@@H@^@@@H}@^~^{@@@H@@@H~@@H|@@H{@@Hz@@Hy@@Hx@@Hw@@Hv@@Hu@@Ht@@Hs@@Hr3nfnenenfnfnfnfnf@@@@@@^_ఐ2'runtimen}qqn~qq@@@^lm@@@HJ@HJ@H@^fภ]fnZ_@nZ@^wd@@@H@@@H&@^iภ]tnh_@nh@^^l@@@H@@@H4@^kภ]nv_@nv@^d@@@H@@@HB@^nภ]n`@n@^^q@@@H@@@HP@^pภ]n`@n@^^s@@@H@@@H^@@ఐ#envnqqnqq@@@k@@ఐk(compilernqqnqq@u@@^@@@HJ@HJ@H@^ภ]n`=@n@^ޠ^@@@H@@@H@@ภaIoqqoqqAaH&-whereo qqoqq@@ oqq@@eZ@@@HJ@HJ@HJ@H@ภaA`@A@nz@@@HJ@H@@o(qq#@@^@@@HJ@H@@**@@@_`@@@HǠ@_N_K@@@H@@@H@@H@@@oLqqoMqq@@_|@@@I K@I @@Ġ"::o[qqo\qqAaఠ%where odqq@ozA @@_v@@@I@Ġ"[] AaP@@A@nɠ_@@@I@@@I @@@ozqq@@__@@@I@@@I@@oqqoqq@@@;@@@I@ @@_@@@I@__@@@I@@@I@@I+@@@ఐ>%whereoqqoqq@>@?@@@@3oooooooo@7H@@@@oqqoqq@@@_@@@I%@_Π_@@@I'@@@I&@@I$P@@@_@@@I)@_ޠ_@@@I+@@@I*@@I(`@@@డo,fail_because'Harnessoqroqr @ oqr oqr@@\@@@\@n@@@IJ@I5J@I@@IJ@I1\@@@I3\@@@I4 @@@I2@@I0@@ภloӠlo԰p qrp qr>AlภloޠlLo lK9Unexpected response from @@l0@@@IK@IK@I@ภlololภloko'k@'@kKL@IK@@@IK@I@ภlp lxp 7lw' -where<@<@l\@@@IK@IK@I@ภlpizpKiy@K@lhL@I\@@@I=K@IlK@I~K@IK@I\@@@I>K@ImK@IK@IK@I  L@I@@@IK@I@@o@lР!L@I@@@IK@I@@|@lݠL@Iq-"#$L@Iv@@@IK@I#@@@lL@IQ9./0L@IV@@@InK@I}1@ "Unexpected response from %s -where@@l@@@IoK@IK@I=@@@@]NɠQF@@@I@q=A@@G3q qqq q q q q @Vq.s3s3q/||M@@@@@q1s3s; @@&configAq;s3s?q<s3sE@qRA@@S3q5q4q4q5q5q5q5q5@!_@@@@@@@@#env AqLs3sFqMs3sI@qcA@@[3qFqEqEqFqFqFqFqF@g@@@@@@@@@ఠ'pp_path q_sLsRq`sLsY@qvA@@@WY@@@J@W@@@J V@@@J @@J @@J I@I3qhqgqgqhqhqhqhqh@#/@&@'@@@డg.'pp_path+EnvironmentqsLs\qsLsg@ qsLshqsLso@@V~@@@h@@@I@W@@@I@W*@@@IW'@@@I@@I@@I@@I*@@ఐ]#envqsLspqsLss@4@@7@@(@@E8@A@qsLsN@@ డp&Format&printfqswsyqsws@ qswsqsws@@U\@@@U\@@W,@@@JI@J{@Wo@@@JI@J$I@Jwg@@@JI@J I@Jz@@J@@JI@J!@ I@J%@@J&I@J"@@J#I@JWG@@@JUw@@@J@@@J-@@J3qqqqqqqq@@@@@@@ภnq̠nqͰrswsrswsAnภnqנnEq nD $ Testing compilation mechanisms for @@n)@@@JoJ@JrJ@Jq$@ภnqT1qT0ภnqm;q'm:J+@m@@@JJ@JJ@J?@ภnrSr:SภnrkjrBki@B@nqI@J\I@JnI@JK@JI@J[I@JmI@JK@JK@JK@JK@JK@J@@@JJ@Jp@@c@n!K@JK@J&K@J)K@J,K@J/K@J@@@JJ@J@@y@nӠ7I@Jv9K@J|;K@J}=K@J~@@@JJ@J@@@nK@J`=FGHI@@@JpJ@J@@@nK@J;HQRST@@@J]J@Jl@ ) Testing compilation mechanisms for %a %!@@n@@@J^J@JJ@J@@@@VJ@@@JJ@JZ@@ఐd'pp_pathrssrss@ΰ@@I@J@@డh&bindir+Environmentrssrss@ rssrss@@@i^@@@%i(@@@$@@#@hs  hs  @@idG@@@@il@@@J@@@J@@J@@ఐ#envssssss@@@@@ssssss@@-K@J@@N@@ @@ఠ,ocamlc_where ssssss@s*A@@c(@@@JI@J3ssssssss@'@@@@ఠ'runtime s'sts(st @s>A@@ @@@JJ@J@డs?9ocamlc_fails_after_rename'Harnesss=sts>st@ sAstsBst/@@ @@@;@@@J @@@J@@J1@@ఐ&configsWst0sXst6@@@n>@@@@.?@A@s\st@@ఐf.compiler_wheresft:t>sgt:tL@M@@@i@@@J_bii@@@J@@@J@@@@Jc@@@J@@J@@J@@J3suststsususususu@^W@X@Y@@@@ఐC#envst:tMst:tP@@@@ภbsadʠఐw'runtimest:tRst:tY@@@j @@@KJ@KJ@K)@@@b @@@K-@@ภ(Bytecodest:tZst:tb@8@@@@@@JJ@K >@@X@@?@c @@@A@sss @@@ఠ.ocamlopt_where stftlstftz@sA@@c@@@K'I@K 3ssssssss@@@@@@ఐ&configst}tst}t@@@@,has_ocamloptst}tst}t@7 @@r5@@@KI@K @ఐ.compiler_wheresttstt@@@@j{@@@Kbjk@@@K@@@K@Z@@@Kd@@@K@@K@@K@@K?@@ఐԠ#envtttttt@@@+L@ภbsen@s@c j@@@K.@@@K-Z@@ภ&Nativet7ttt8tt@\i@@@@@@K(J@K2k@@F@@ol@#n/atFtttGtt@@tItttJtt@@|I@K3y@tNt}t@@~{@A@tPtfth@@ డr&Format&printft`tttatt@ tdtttett@@X@@@X@@Y@@@KBI@K@Z@@@LI@KGI@Kj@@@L%I@KCI@K@@K@@KI@KD@@@!I@K@Z1@@@L"I@KMI@KI@K@@K@@KI@KJ@ "I@KN@@KOI@KK@@KLI@KH@@KII@KE@@KFI@K7Z@@@K9X5@@@K:@@@K8F@@K63tttttttt@@@@@@@ภqDtqCttttttuAqBภqOtqt q/ocamlc -where: @@p@@@KJ@KJ@K$@ภqctVtVภqktqt'q2 ocamlopt -where: ,@,@q@@@KJ@KJ@K@@ภqtŠW t;W ภqt͠ptCpJG@o@@@KJ@KJ@K[@ภqtVstVVrภqtnDt^nC@^@qvI@KI@KI@KK@KI@KI@KI@KK@KK@KK@KK@KK@K@@@KJ@L@@@q!K@KK@K&K@K)K@K,K@K/K@K@@@KJ@K@@@q7I@KʠƠ;K@KР>K@KѠAK@K@@@KJ@K@@@qK@KDK@KOK@KRK@KUK@KXK@K@@@KJ@K@@@q֠I@KcK@KeK@KgK@K@@@KJ@K@@@q&K@Kgpqrs@@@KJ@K@@@q3K@Kdr{|}~@@@KJ@K@ (ocamlc -where: %a ocamlopt -where: %a %!@@q@@@KJ@LJ@L@@@@YNMD7@@@KAJ@K @@ఐh'pp_pathuuu$uuu+@Ұ@@YI@L@@ఐà,ocamlc_whereuuu,uuu8@@@[J@L(@@ఐ'pp_pathuuu9uuu@@@@VI@L7@@ఐ).ocamlopt_whereuuuAuuuO@A@@\J@L$F@@@@UG@@ఠ,compile_testvuQuWvuQuc@vA@@@=@@@L_@R@@@L^@t=@@@L]Р=@E@l@@@L\РE@E@ @@L[@E@L2@@@@LZ@@LY@E@L/@@@@LX@@LW@@LV@@LUI@L&3v,v+v+v,v,v,v,v,@@@@ఐ>,compile_testv@uQufvAuQur@ @@@R@@@L:@>@@@L9@l@@@L8@> @@@L7@S@@@L6@t@@@L5Р>@F@l@@@L4РF@F@ @@L3@H@@@@L1@@L0@G@@@@L.@@L-@@L,@@L+@@L*@@L)@@L(F@@ఐb"shvuQusvuQuu@G@@S@@ఐ[&configvuQuvvuQu|@C@@`@@ఐW#envvuQu}vuQu@.@@m@@d@@n@A@vuQuS@@@ఠ-launch_methodvuuvuu@vA@@K@@@LlI@Lf3vvvvvvvv@@@@@@ఐ&configvuuvuu@w@@@@@@I@Lp5@vuu@@7@A@vuu@@@ఠ%testsvuvvuv @wA@@i[Р>@F@m@@@LРF@F@ @@L@@@@@@@@@@@@@@F@P,@@@@P-I@O@@@@OI@O@@@@OI@OT@@@@OUI@O @@@@O I@N@@@@NI@N@@@@NI@NL@@@@NMI@N@@@@NI@M@@@@MI@Mt@@@@MuI@M,@@@@M-I@L@@@@LI@L@@@@L@@L@@@@@@@@@@@@@@G-@P)@@@@P*I@O@@@@OI@O@@@@OI@OQ@@@@ORI@O @@@@O I@N@@@@NI@N@@@@NI@NI@@@@NJI@N@@@@NI@M@@@@MI@Mq@@@@MrI@M)@@@@M*I@L@@@@LI@L}@@@@LI@Ls@@@LuI@Lq3wwwwwwww@@@@@@ภiwvvw{{Aiఐ,compile_test wvv@@@@?v@@@L@T@@@L@u@@@LР?k@Gr@nT@@@LРGq@Gp@ @@L@@@@@L@@L~@@@@@L|@@L{@@Lz@@Ly@@@ภ.Default_ocamlcwvv wvv.@7yఐJ-launch_methodwvv/wvv<@S@@A@@@LJ@LJ@L]@@xvvxvv=@@?@@@LJ@Le@@+byt_defaultxv>vExv>vP@@xv>vDxv>vQ@@T@@@LJ@LJ@Ly@@+with tenderx(v>vSx)v>v^@@x+v>vRx,v>v_@@vX@@@LJ@LJ@L@@ @@.@ภjx;vaveAj}ఐB,compile_test xFvavq@ @@@@@@@L@U@@@L@v{@@@LР?@G@n@@@LРG@G@ @@L@@P@@@@LI@L@@@@L@@L@@@@@@LI@L@@@@L@@L@@L@@L@@ภ.Custom_runtimexvavsxvav@5ภ&Staticxvavxvav@5@@@A@@@LJ@L@@xvavrxvav@@@R@@@LJ@L@@-custom_staticxvvxvv@@xvvxvv@@Uu@@@LJ@LJ@L @@6-custom static runtimexvvxvv@@xvvxvv@@v@@@LJ@LJ@L@@ @@I@L"@ภkxvv Akఐ֠,compile_test xvv@  @@@@@@@M@U@@@M@w@@@LР@@H@os@@@LРH@H@ @@L@@@@@@M.I@L@@@@L@@L@@@@@@M+I@L@@@@L@@L@@L@@Li@@ภ.Custom_runtimeyvvyvv@62ภ&Sharedy"vvy#vv@4@@@B@@@M J@M$@@y+vvy,vv@@@@@@MJ@M@@-custom_sharedy:vvy;vv@@y=vvy>vv@@V @@@MJ@M&J@M%@@6-custom shared runtimeyNvvyOvw@@yQvvyRvw@@w~@@@MJ@M(J@M'@@ @@VI@M@ภkycwwAkఐj,compile_test ynww#@ @@@A)@@@MC@V=@@@MB@w@@@MAРA@I%@p@@@M@РI$@I#@ @@M?@@n@@@@MvI@M>@@@@M=@@M<@@1@@@@MsI@M;@@@@M:@@M9@@M8@@M7@@ภ*Output_objyww%yww/@3Iภ(C_ocamlcyww0yww8@3G@@@B@@@McJ@Mh@ภ&Staticyww:yww@@6@@@B@@@MdJ@Ml&@@yww$ywwB@@A@@@M\J@Mb.@@.byt_obj_staticywCwJywCwX@@ywCwIywCwY@@V@@@M[J@MnJ@MmB@@:-output-obj static runtimeywCw[ywCwu@@ywCwZywCwv@@x!@@@MZJ@MpJ@MoV@@ @@I@MUY@ภlJzwxw|WAlHఐ ,compile_test zwxw@W @@@A@@@M@V@@@M@xF@@@MРA@IȐ@p@@@MРIǐ@IƐ@ @@M@@ @@@@MI@M@@@@M@@M@@@@@@MI@M@@@@M@@M@@M@@M@@ภ*Output_objzPwxwzQwxw@3ภ(C_ocamlczYwxwzZwxw@3@@@CD@@@MJ@M@ภ&Sharedzhwxwziwxw@6%@@@CL@@@MJ@M@@zqwxwzrwxw@@B,@@@MJ@M@@.byt_obj_sharedzwwzww@@zwwzww@@WO@@@MJ@MJ@M@@:-output-obj shared runtimezwwzww@@zwwzww@@x@@@MJ@MJ@M@@ @@I@M@ภlzwwAlఐ,compile_test zww@ @@@Bo@@@M@W@@@M@x@@@MРBd@Jk@qM@@@MРJj@Ji@ @@M@@@@@@NI@M@@@@M@@M@@m@@@@NI@M@@@@M@@M@@M@@MC@@ภ3Output_complete_objzwwzwx@+ภ(C_ocamlczwxzwx @4@@@C@@@MJ@M]@ภ&Static{ wx { wx@8@@@C@@@MJ@Ml@@{ww{wx@@B@@@MJ@Mt@@7byt_complete_obj_static{#xx{$xx4@@{&xx{'xx5@@W@@@MJ@MJ@M@@ #-output-complete-obj static runtime{7xx7{8xxZ@@{:xx6{;xx[@@yg@@@MJ@NJ@M@@ @@?I@M@ภm{Lx]xaAmఐS,compile_test {Wx]xm@ @@@C@@@N@X&@@@N@y@@@NРC@K@q@@@NРK @K @ @@N@@H@@@@NNI@N@@@@N@@N@@ @@@@NKI@N@@@@N@@N@@N@@N@@ภ3Output_complete_obj{x]xo{x]x@,Hภ(C_ocamlc{x]x{x]x@50@@@Du@@@N;J@N@@ภ&Shared{x]x{x]x@7k@@@D@@@N@LE@s'@@@NРLD@LC@ @@N@@u@@@@NI@N@@@@N@@N@@8@@@@NI@N@@@@N@@N@@N@@N@@ภ3Output_complete_exe|yRyd|yRyw@# ภ&Shared|yRyx|yRy~@8@@@E@@@NJ@N7@@|yRyc|yRy@@D@@@NJ@N?@@7byt_complete_exe_shared|yy|yy@@|yy|yy@@Y@@@NJ@NJ@NS@@ #-output-complete-exe shared runtime}yy}yy@@}yy}yy@@{2@@@NJ@NJ@Ng@@ @@ I@Nj@ภo[}yyhAoYఐ,compile_test }"yy@h @@@D@@@N@Y@@@N@{W@@@NРDҐ@Lِ@s@@@NРLؐ@Lא@ @@N@@@@@@OI@N@@@@N@@N@@@@@@O I@N@@@@N@@N@@N@@N@@ภ0Default_ocamlopt}ayy}byy@;@@@E@@@OJ@O@@+nat_default}qyy}ryy@@}tyy}uyy@@Z@@@@NJ@OJ@O@@.static runtime}yy}yz @@}yy}yz @@{@@@NJ@OJ@O@@{ @@I@N@ภoް}zzAoܠఐ,compile_test }zz@ @@@E`@@@O#@Zt@@@O"@{@@@O!РEU@M\@t>@@@O РM[@MZ@ @@O@@@@@@OVI@O@@@@O@@O@@E@@@@OSI@O@@@@O@@O@@O@@O4@@ภ*Output_obj}zz!}zz+@7ภ*C_ocamlopt}zz,}zz6@3@@@F@@@OCJ@OHN@ภ&Static}zz8}zz>@; @@@F@@@ODJ@OL]@@~zz ~zz@@@E@@@O@OE@v'@@@OРOD@OC@ @@O@@\@@@@P.I@O@@@@O@@O@@@@@@P+I@O@@@@O@@O@@O@@O@@ภ3Output_complete_obj{_{q{_{@0ภ*C_ocamlopt{_{{_{@5@@@H@@@PJ@P 7@ภ&Shared{_{{_{@;@@@H@@@PJ@P$F@@{_{p{_{@@G@@@PJ@PN@@7nat_complete_obj_shared{{{{@@{{{{@@\@@@PJ@P&J@P%b@@ #-output-complete-obj shared runtime{{{{@@{{{{@@~A@@@PJ@P(J@P'v@@ @@ I@P y@ภr&{{wAr@xA@ (J@O@@@OI@P3@@A@ 1J@O@@@OI@O@@ZA@ :J@OX@@@O]I@O@@A@ CJ@O@@@OI@O\@@A@ LJ@N@@@NI@O@@>A@ UJ@N@@@NI@N@@A@ ^J@NP@@@NUI@N@@xA@ gJ@N@@@N I@NT@@$A@ɠ pJ@M@@@MI@N @@A@Ҡ yJ@Mx@@@M}I@M@@|A@۠ J@M0@@@M5I@M|@@(A@ J@L@@@LI@M4@@A@ J@L@@@LI@L@@bA@ @@@LwI@L@@uv @@r @@@Lv @A@uv@@ డ&Printf&printf{{{{@ {{{{@@@}&format!a@ʠ}+out_channel@@@ݠ~@@@@@@@@@}}@@}A@$@@@v@@@PI@PCI@P7@@@P9@@@P:@@@P8@@P63@ M  @ @ @@@@ภ}ʠ}˰{{{|A}ภ}ՠ}C }B1Running programs @@}'@@@PJ@PJ@P$@ภ}b|b{ภ}zM'zL@'@}OI@PyI@PI@PK@Pl@@@PBJ@PxJ@PJ@P@@@PJ@PO@@B@}K@P}@@@PJ@P[@@N@}#K@PX$%&'@@@PzJ@Pg@3Running programs %!_@_@}@@@P{J@PJ@Ps@@fe@@3@@@PAJ@Pw|@@n@@}@డ$List#map}||~||@ ||||@@R@@@@Р$Some@@H@PH@P@@PH@P@A@@@ H@P@Р$NoneA@AA@@@@@@@@PH@PA@@@PH@PA@@@PH@P@@@@PH@P@@@@PH@P@@P@RC8@@@P]%@@@P@@P@@P@@@@ఠ!f||+||,@A@@H@O||%@@U@@@ఐ!f||0||1@W@@@@X3@@@@@ఐ#env||2||5@@@@@@@@V@s||8||=@@z@@@@||A||F@@ @@A%param ||@@@ ||||G@@@@@PI@PI@P3        @"@@@@ఐ $%tests ||H@,@@R@@@PI@PI@P7@@@@/@r@@0@@@1 @ =@@2 u@ @@3 @ @@4 @ @@5]@r@@6@x@@7@@@8@A@XE@Q @A@ @  @@x3@xm@mkk@k^@__A@^^A@^m^gA@]Q@RYJ@KhKbA@K1J}B@KCJZB@J4$@X9@z@{@|@@3MLLMMMMM@?@@@-TestLinkModesA@@ H************************************************************************aA@@bA@L@ H gBMMhBM@ H OCaml mCnC@ H sDtD3@ H David Allsopp, University of Cambridge & Tarides yE44zE4@ H FF@ H Copyright 2024 David Allsopp Ltd. GG@ H HHg@ H All rights reserved. This file is distributed under the terms of IhhIh@ H the GNU Lesser General Public License version 2.1, with the JJ@ H special exception on linking described in the file LICENSE. KKN@ H LOOLO@ H************************************************************************MM@  The test program is designed to exercise various properties. It is linked with the Unix library to exercise linking/loading C stubs. It is possible to generate a test program which _doesn't_ use the Unix library so that we can test the default link mode of ocamlc in a compiler configured with --disable-shared (otherwise the default link mode is the same test as -custom, since linking with unix.cma would force -custom). The test program itself then takes 6 command line arguments: - The first is ignored (the harness passes "skip"); the reason is that in several errors cases, this first argument may be incorrectly interpreted as the name of the bytecode image to execute, so it's set to a name which should not be found to trigger an error - The second is the expected value of Sys.executable_name - The third is the expected value of Sys.argv.(0) - The fourth is "true" if the location reported Config.standard_library by should exist and "false" otherwise - The fifth and sixth are for display output and are the values of prefix and libdir_suffix respectively The test program passes if: 1. [Hashtbl.is_randomized ()] returns [~is_randomized] 2. [Sys.argv.(0)] equals [Sys.argv.(2)] 3. [Sys.executable_name] equals [Sys.argv.(3)] 4. [Config.standard_library] existence and directoryness matches Sys.argv.(4) On success, the test program is silent unless [~verbose:false]. Qg o @  [run_program env config ~runtime ~stubs test_program expected_executable_name ~prefix_path_with_cwd expected_exit_code argv0 expected_argv0 ~may_segfault ~stdlib_exists_when_renamed] executes a [test_program] compiled from sources generated with [write_test_program]. [env], [~runtime], [~stubs], [~prefix_path_with_cwd], [test_program] are all passed unaltered to {Environment.run_process}. The remaining arguments are used to construct the arguments list: - [expected_executable_name] and [expected_argv0] are passed directly - The Standard Library is always expected to be found in the Original phase; but the value of stdlib_exists_when_renamed is used in the Renamed phase The program must terminate with [expected_exit_code]. [~may_segfault] is an escape hatch permitting exit code 139 to be silently ignored. This works around some problems with shared runtimes on s390x and riscv which don't reliably fail. q  @ t Full path to the compiled object for main_in_c.c (compiled by the build system at the same time as the harness) R@ Z [link_with_main_in_c] is passed the result of one of the myriad -output-obj* mechanisms for both ocamlc and ocamlopt and links the object with the small main stub from main_in_c.c to produce the test program. If the test program is linked, then [ocaml_object] is erased and the function returns [true], otherwise it returns [false]. Or@ Each execution of a test program sets Sys.argv.(0) and may optionally require the current working directory (cwd - i.e. ".") to be added at the start of $PATH. ####@ Additionally, each execution is tagged with whether Sys.argv.(0) either doesn't exist or is not an OCaml program and what value it would be after being passed to caml_search_exe_in_path $$$$@ 4 Given an executable, execution and a platform's details, an outcome describes what is expected to happen when running the test - a test should either fail with a given non-zero exit code, or return with exit code 0 having verified that Sys.argv.(0) and Sys.executable_name match the stated values. %%&&W@  Each executable is invoked with six different values of Sys.argv.(0): 1. "test-prog"; a non-existent command 2. "sh"; a command which will resolve in PATH 3. "./exe-name"; a relative invocation of the executable 4. "exe-name"; an implicit invocation where "." is not in PATH 5. "exe-name"; an implicit invocation but with "." in PATH 6. "/.../exe-name"; an absolute invocation of the executable In each instance, the executable is passed additional arguments: 1: "skip" - this argument is designed to be an implicit filename which won't resolve in PATH (since some invocations with Sys.argv.(0) will effectively attempt to execute Sys.argv.(1)) 2: The expected value of Sys.executable_name 3: The expected value of Sys.argv.(0) 4. true/false depending on whether Config.standard_library should exist 5. The prefix (used to display names as $prefix/) 6. The libdir (used to allow $prefix/$libdir) The test program returns exit code 1 if: - Sys.executable_name doesn't equal Sys.argv.(2) - Sys.argv.(0) doesn't equal Sys.argv.(3) - Config.standard_library exists when it shouldn't (or vice versa) &&+ +T@ : Run 1 - Sys.argv.(0) is /path/to/test_program (absolute)  ,+,1 ,+,o@ $ Run 2 - Sys.argv.(0) = "test-prog" ,-,-(@= Run 3 - Sys.argv.(0) = "sh" ----@ 3 Run 4 - Sys.argv.(0) is ./test_program (relative) .C.I.C.@ ? Run 5 - Sys.argv.(0) is test_program (implicit, without PATH) ////\@ < Run 6 - Sys.argv.(0) is test_program (implicit, with PATH) ///0#@ q If strategy has been specified, this program is going to be executed as ocamlrun test_program_path ... "1;1A#11@ p Likewise, shebang executables, regardless of the input argv[0], will just see test_program_path  *22 +3$3U@ stdlib/header.c will find ocamlrun (because it effectively uses caml_executable_name) but fails to hand off the bytecode image, which causes ocamlrun to exit with code 127 1434C345@ " stdlib/header.c will fail to find ocamlrun, because it never uses caml_executable_name and so will either fail to find the executable or will identify that it is not a bytecode executable. Somewhat confusingly, it exits with code 2 65G5W9616}@ 9 stdlib/header.c correctly preserves argv[0] for Windows <66<67@ 4 stdlib/header.c does not preserve argv[0] for Unix !?7X7f"?7X7@ -custom executables are ocamlrun, but will be unable to launch the bytecode image without caml_executable_name. ocamlrun exits with code 127 in this situation 'E8u8(G9 9O@ ^ SearchPath will resolve the relative/implicit arguments to absolute paths -M::.N:P:t@ P Each test is compiled in both the Original and Renamed phases. Additionally, the programs successfully compiled in the Original phase are _executed_ a second time in the Renamed phase. [make_test_runner] takes all the configuration details for a given test program and returns [`Some f] where [f] takes an environment and uses it to actually execute the test. The result of calling [f] is either [`Some g] if the test can be executed in the Renamed phase or `None if the test was already run in the Renamed phase or cannot be run in the Renamed phase for other reasons. 3\<.<.4c>Q>@ y Bytecode executables with absolute headers will need to be invoked via ocamlrun after the prefix has been renamed. 9g?`?b:h??@ [ Describe the various ways in which executables can be produced by our two compilers... ?CC@CD@ [compile_test usr_bin_sh config env test test_program description] builds [test_program] to execute [test] in [env]. The compiler is invoked explicitly (PATH-resolution is not used). EE3E3FEE@ J Convert a test to the required properties needed to build and run it: - use_shared_runtime is true if -runtime-variant _shared is needed, etc. - options is a list of flags to be passed to the compiler - main_in_c is true if the compiler is expected to be a produce an intermediate object file which must then be linekd with the test harness's own main_in_c.o - compilation_exit_code, linker_exit_code and may_segfault allow known issues with the tests to be expressed, permitting the process to fail at either compilation, linking or execution time. - tendered is true if the image searches for a runtime (i.e. the default mode of ocamlc) - clibs prepends any additional C libraries which must be passed when linking (implies main_in_c is true) KF=FALI`I@ % If the prefix has been renamed, If the linker is needed, If the linker is flexlink, not the C compiler, If the system does support native compilation, If the launcher does not search for ocamlrun, Yours is... an error, my son! QL8LBRM>Mk@ ` If the main program is in C, then the error will happen during the _explicit_ linking stage (hence we override linker_exit_code to 2. If the entire program is being linked by ocamlc/ocamlopt, then the error will happen in the compilation stage, and the override is to compilation_exit_code. WN+N7XOdO@ W Shared compilation isn't available on native Windows and fails on Cygwin ]RR^RS@ W Shared compilation isn't available on native Windows and fails on Cygwin cTITSdTT@ P cf. ocaml/ocaml#13693 - on Fedora/RHEL, this executable segfaults iV8VBjV}V@ W Shared compilation isn't available on native Windows and fails on Cygwin oVVpW6WL@ At the moment, the partial linker will pass -lws2_32 and -ladvapi32 on to the partial linker on mingw-w64 which causes a failure. Until this is fixed, pass the libraries manually, using -noautolink. uXXvY&Yt@ The partial linker doesn't correctly process -runtime-variant _shared, as the .so gets passed to the partial linker. On macOS, this causes a warning; on other systems, it's an error. {ZZ|ZZ@ W Shared compilation isn't available on native Windows and fails on Cygwin [C[M[[@ 0 cf. ocaml/ocaml#13692 - linking fails on ppc64 \\\]@ At the moment, the partial linker will pass -lzstd to ld -r which will (normally) fail). Until this is done, pass the libraries manually, using -noautolink.  ]r]| ^ ^8@ ? ocamlopt doesn't correctly implement -runtime-variant _shared _d_n_d_@ W Shared compilation isn't available on native Windows and fails on Cygwin aaaa@ b This test cannot be compiled because OCaml has been configured without required support "c'c-#cwc@ For bytecode-only installations, ocamlc will be ocamlc.byte and so need to be invoked via ocamlrun in the Renamed phase OhhPhi@ If shared libraries are being used, ocamlc will need to be able to load the stub libraries to check the primitives table SiiTij@ f In the Renamed phase, Config.standard_library will still point to the Original location VjEjOWjj@ A Nothing to run because compilation of the test is known to fail clbljclbl@ ] OCaml part of the program successfully compiled: erase the compilation artefacts fllgmm2@ v If the test is for -output-obj*, link the resulting object (this process also cleans up the OCaml object) lmmmnn6@ : Nothing to run because linking the test is known to fail qnnqno6@ Config.standard_library is an absolute path, and therefore will always point to the Original location in the Renamed phase. uoovop@ This test verifies both that all compilation mechanisms are working and that each of these programs can correctly identify the Standard Library location. Any failures will cause either an exception or a compilation error. rIrIrs2@@(./ocamlc)-nostdlib"-I(./stdlib"-g0-strict-sequence*-principal(-absname"-w8+a-4-9-40-41-42-44-45-48+-warn-error"+a*-bin-annot/-strict-formats"-I/testsuite/tools"-I%utils"-I'parsing"-I&typing"-I(bytecomp"-I,file_formats"-I&lambda"-I*middle_end"-I2middle_end/closure"-I2middle_end/flambda"-I=middle_end/flambda/base_types"-I'asmcomp"-I&driver"-I(toplevel"-I%tools"-I'runtime"-I1otherlibs/dynlink"-I-otherlibs/str"-I4otherlibs/systhreads"-I.otherlibs/unix"-I8otherlibs/runtime_events"-I/testsuite/tools"-I/testsuite/tools"-c L/home/touraine/ci/builds/workspace/precheck/flambda/false/label/ocaml-arm-32 @543210/.-,+*)('&%$#"! @@0۾&< qtY3*))*****@(@@8CamlinternalFormatBasics0%FU(Q/Tud0t'hbUR[2n0aϊsD@L㏠y0T?A5P*=J0,t~1lZ㠠&Stdlib0Lku]8_٠0Stdlib__Bigarray0Ty!s3Stdlib__Out_channel0ws36eQۑP鉻ʠ.Stdlib__Printf0)5h Ԝ΀Q +Stdlib__Seq0nwzG&amg.Stdlib__String0lHuu@G~,[ݑ[ww@MMSj֑jvv@(2K=QQհQ["[,aa@@ !@MM{@@  KSM[Q[z@3͑3@#ȑ#ҰMM>MM@''@ ` j%Ñ%@  &@S]:D@E#E-MN)@RqR{nn@NMð{{@!.x.@jt@``@%oڑoyy@‘̰@mm@@@@99@@  ɰ@ԑ@@K@$$@ 3z3aauz{@M1M*@K@##K]Kg@OYlǑl@MiM_aa@aIammu|uzR@TT@H~H@@=J=T[baDajj@MM@RySS@aPa6@UjUtu|@;E**MDMNa_a(wɑw@88@1z1@]g% %&&Q>QH@N Mzz@b1b@L۰`+`5`W`a@@P@@@@@A@@