Caml1999I037VF B6Closure_conversion_auxӠ#Env9@!t;;@@@A@@@@@ -middle_end/flambda/closure_conversion_aux.mliYY@@@@@@A@%empty<@@@@[[@@A@@'add_var=@@@@@%Ident!t@@@@(Variable!t@@@&@@@@@@@@@@3]4]@@DB@@(add_vars>@4@@@@$listK+!t@@@@@@@.!t@@@@@@S@@@@@@@@@@`^a^<@@qC@@(find_var?@a@@@@R!t@@@N!t@@@@@@@@|`>@}`>i@@D@@,find_var_exn@@}@@@@n!t@@@j!t@@@@@@@@ajlaj@@E@@/add_mutable_varA@@@@@!t@@@@0Mutable_variable!t@@@@@@@@@@@@@cc@@F@@4find_mutable_var_exnB@@@@@!t@@@!!t@@@@@@@@dd@@G@@4add_static_exceptionC@@@@@#intA@@@@0Static_exception!t@@@@@@@@@@@@@ff\@@ H@@5find_static_exceptionD@@@@@#@@@!t@@@@@@@@g]_g]@@%I@@*add_globalE@@@@@=@@@@&Symbol!t@@@(@@@@@@@@@@5i6i@@FJ@@+find_globalF@6@@@@^@@@!t@@@@@@@@OjPj@@`K@@@@SXTk@dL@@@Ӡ.Function_decls:@Ӡ-Function_declG@!tM;@@@A@@@@@ir  jr  @@@@zM@A@&createN-let_rec_ident&optionL^!t@@@z@@@{1closure_bound_var_!t@@@|$kind&Lambda-function_kind@@@}¶msZ!t@@@~@@@$body&lambda@@@$attr%2function_attribute@@@#loc//scoped_location@@@d@@@@@@@@@@@@@@@@@@t  |  @@P@@-let_rec_identO@@@@!t@@@@@@~  $~  D@@Q@@1closure_bound_varP@#@@@!t@@@@@@ E I E p@@R@@$kindQ@7@@@o-function_kind@@@@@@@ q u@ q @@S@@¶msR@K@@@Ѡ!t@@@@@@@@@A   A  @@0T@@$bodyS@d@@@&lambda@@@@@@3B  4B  @@DU@@&inlineT@x@@@0inline_attribute@@@@@@GC  HC  @@XV@@*specialiseU@@@@4specialise_attribute@@@@@@[D  \D  B@@lW@@,is_a_functorV@@@@$boolE@@@@@@oE C GpE C c@@X@@$stubW@@@@@@@@@@F d hF d |@@Y@@#locX@@@@/scoped_location@@@@@@G } G } @@Z@@.poll_attributeY@@@@.poll_attribute@@@@@@H  H  @@[@@+free_identsZ@@@@#Set!t@@@@@@K  K  ?@@\@@@@qL @ E@]@@@!tH;@@@A@@@@@N G IN G O@@@@^@A@&createI@!t@@@@@@@@@@@@P Q SP Q y@@_@@'to_listJ@@@@!t@@@@@@@@@Q z |Q z @@`@@/all_free_identsK@'@@@#Set!t@@@@@@U 7 9U 7 _@@&a@@>closure_env_without_parametersL@.!t@@@@E@@@ !t@@@@@@@@0[km1[k@@Ab@@@@4p5\@Ec@@@@O6Closure_conversion_aux0 `YgN)F&(Warnings0mJɒkgrs-Stdlib__Uchar056uf4[_+Stdlib__Sys0 -ռ鱦s5/.Stdlib__String0Vê>)Longident0s `7mɕc(Location0a7cK_H%9)Load_path0I@18 ~,Linkage_name0EwKсڊs&Lambda0z1x]&ZT7Internal_variable_names0HdeՄL ԩ,Identifiable0 {d\FX'`%Ident0">WA+9*X*Format_doc0]mWϓ:Mݠ#Env0zV L{YWI)Debuginfo0PtJ=^w/*Data_types0I'Ue`wq]Ѡ0Compilation_unit0 {p-Vg_*Cmi_format0c˯7͗ԩmݠ0CamlinternalLazy0&͂7 Pˆ8CamlinternalFormatBasics0%FU(Q/Tu5Build_path_prefix_map0z HkGs(Asttypes0>n{T8cئ@@@Caml1999T037T 96C6Closure_conversion_aux-ocaml.warning -middle_end/flambda/closure_conversion_aux.mliQQ@2+a-4-9-30-40-41-42 QQ@@QQ@@@@@@QQ@3@@@@@@#intA;@@@A@@@@@&_none_@@A@A@$charB;@@A@@@@@@A@&stringQ;@@ A@@@@@ @@@%bytesC;@@A@@@@@@@@%floatD;@@A@@@@@@@@$boolE;@@%falsec@@@$trued@@#@@@A@@@@@$@A@$unitF;@@"()e@@.@@@A@@@@@/@A@ #exnG;@@@A@@@@@3@@@#effH;@@O@A@A@@@@@@<@@@,continuationI;@@Q@@P@B@A@nY@@@@@@K@@@%arrayJ;@@R@A@A@@@@@@U@@@ $listK;@@S@A"[]f@@b@"::g@@@T@@o@ @@A@Y@@@@@r@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@A@@@@@@@@%int32N;@@A@@@@@@@@%int64O;@@A@@@@@@@@&lazy_tP;@@X@AJA@Y@@@@@@@@5extension_constructorR;@@A@@@@@@@@*floatarrayS;@@A@@@@@@@@&iarrayT;@@Y@A[A@Y@@@@@@@@*atomic_locU;@@Z@AdA@@@@@@@@@.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@@A54@)Not_foundZ#O@@@A =<@-Out_of_memoryW#W@@@AED@.Stack_overflow^#_@@@AML@.Sys_blocked_io_#g@@@A$U'T'@)Sys_error[#o@j@@A-^0]0@:Undefined_recursive_modulea#x@@w@s@u@@h@@A>oAnA@:Continuation_already_takenb#@@@AFwIvI@&Stdlib@Azy@*ocaml.textT G Environments and auxiliary structures used during closure conversion. SS@@@@@@#EnvAXX@L@@БA+!tBYY@@;@@@A@@@@@Y@@@@@@@@A@@@3@@A@%empty[[@г!t[[@@ @@@3@%@A@@@[ @@A@@ @@'add_varU]]@б@г:!t]]@@ @@@3@!4@A@@б@г%Ident!t%Ident ] ]@ ]]@@@@@@ @@б@г(Variable!t(Variable$]%]@ (])]@@@@@@6 @@г}!t6]7]@@ @@@C@@@@@F@@@0@@I8 @@@O@@LR@@@G]@@SB@@@@R(add_varsVR^S^@б@г!t]^^^@@ @@@3LKKLLLLL@k@A@@б@гԠ$listn^ o^$@гt!t%Ident|^}^@ ^^@@@@@@$ @@@ @@@)@@б@г$list^3^7@г!t(Variable^(^0@ ^1^2@@@@@@K @@@ @@@P@@г!t^;^<@@ @@@]@@@@@` @@@>@@cJ @@@i@@fl@@@^@@C@@@@l(find_varW`>D`>L@б@г(!t`>O`>P@@ @@@3@@A@@б@г!t%Ident`>T`>Y@ `>Z`>[@@@@@@ @@г!t(Variable `>_ `>g@ `>h`>i@@@@@@0 @@@@@3$ @@@9@@6< @@@`>@@@+D@@@@<,find_var_exnX*ajp+aj|@б@г|!t5aj6aj@@ @@@3$##$$$$$@Uj@A@@б@гB!t%IdentJajKaj@ NajOaj@@@@@@ @@г>!t(Variable`ajaaj@ dajeaj@@@@@@0 @@@@@3$ @@@9@@6< @@@sajl@@E@@@@</add_mutable_varm~cc@б@гР!tcc@@ @@@3xwwxxxxx@Uj@A@@б@г!t%Identcc@ cc@@@@@@ @@б@г0Mutable_variable!t0Mutable_variablecc@ cc@@@@@@-4 @@г!tcc@@ @@@.A@@@@@/D@@@0@@0G8 @@@M@@1JP@@@c@@F@@@@P4find_mutable_var_exnndd@б@г8!tdd@@ @@@23@i~@A@@б@г!t%Identdd@  d d@@@@@@3 @@гf!t0Mutable_variabledd@  d!d@@@@@@40 @@@@@53$ @@@9@@66< @@@/d@@;G@@@@<4add_static_exception{:f";f6@б@г!tEf9Ff:@@ @@@7343344444@Uj@A@@б@г#intVf>WfA@@ @@@8@@б@г0Static_exception!t0Static_exceptionkfElfU@ ofVpfW@@@@@@s+ @@гĠ!t}f[~f\@@ @@@t8@@@@@u;@@@0@@v>3 @@@D@@wAG@@@f@@H@@@@G5find_static_exception|g]cg]x@б@г렐!tg]{g]|@@ @@@x3@`u@A@@б@гu#intg]g]@@ @@@y@@г]!t0Static_exceptiong]g]@ g]g]@@@@@@z' @@@@@{* @@@0@@|-3 @@@g]_@@I@@@@3*add_globalii@б@г6!tii@@ @@@}3@La@A@@б@г#intii@@ @@@~@@б@г&Symbol!t&Symbolii@ ii@@@@@@+ @@гn!t'i(i@@ @@@8@@@@@;@@@0@@>3 @@@D@@AG@@@8i@@DJ@@@@G+find_globalCjDj@б@г!tNjOj@@ @@@3=<<=====@`u@A@@б@г#int_j`j@@ @@@@@г]!t&Symbolpjqj@ tjuj@@@@@@' @@@@@* @@@0@@-3 @@@j@@K@@@@3@A@@G@@@s@l!@@i@b @@f@_@@3@La@AXk@@)ocaml.doch Used to remember which [Variable.t] values correspond to which [Ident.t] values during closure conversion, and similarly for static exception identifiers. UW@@@@@@@X@@.Function_decls*Cpp@c@@Б-Function_decl$Dqq@]@@БA+!tEr  r  @@;@@'A@@@@@r  @@@@M@@@A@@@3@C@71A@(@ @)@"@@~@@p@i'@ @@@^Ő]\@\\@@@\@\@Ya@A*-@&createt  t  @б-let_rec_identгl&option#u  ?$u  E@г)!t%Ident1u  72u  <@ 5u  =6u  >@@@@@@3%$$%%%%%@Va[@A @@@" @@@@@б1closure_bound_varг0!t(VariableRv F aSv F i@ Vv F jWv F k@@@@@@! @@б$kindг&Lambda-function_kind&Lambdanw l zow l @ rw l sw l @@@@@@ = @@б¶msгꠐ$listx  x  @г!t%Identx  x  @ x  x  @@@@@@ a @@@ @@@ f@@б$bodyгE&lambda&Lambday  y  @ y  y  @@@@@@  @@б$attrг_2function_attribute&Lambdaz  z  @ z  z  @@@@@@  @@б#locгy/scoped_location&Lambda{  {  @ {  {  @@@@@@  @@г!t|  |  @@ @@@ @@'@@ İ{   @@E1@@ Ȱz   @@cO@@ ̰y  @@n@@ а x  @@@@ ԰w l u@@@@ ذv F O@@@@ ܰu  )!@@@t  $@@'P@@&@@-let_rec_ident&~  ('~  5@б@гQ!t1~  82~  9@@ @@@ 3      @&@A@@г K  ?@ @@@@@!@@@'@@$* @@@ K   @@ \@@@@*@A@@@}M@F@@@b@[+@$@@@a@Z!@@3        @G\#@A3        @ @A q  L @ E@@@ q@@A+!t%F N G N N G O@@;@@FA@@@@@ N G I@@@@ ^@@@A@@@3        @ ;@/)A@@@@O@H @@@d@]6@/@@@Z@@@2R@A#&@&create& .P Q W /P Q ]@б@г $list 9P Q p :P Q t@гt!t-Function_decl GP Q ` HP Q m@  KP Q n LP Q o@@@@@@P3 ; : : ; ; ; ; ;@MXR@A @@@" @@@R@@гa!t `P Q x aP Q y@@ @@@S@@@@@T"@@@ kP Q S @@ w_@@ @@'to_list' vQ z  wQ z @б@г!t Q z  Q z @@ @@@U3 p o o p p p p p@6^@A@@г $list Q z  Q z @г!t-Function_decl Q z  Q z @  Q z  Q z @@@@@@V" @@@ @@@X'@@@-@@Y*0 @@@ Q z |#@@ `@@%@@0/all_free_idents( U 7 = U 7 L@б@гʠ!t U 7 O U 7 P@@ @@@Z3        @I^@A@@г#Set!t%Ident U 7 T U 7 Y@  U 7 Z U 7 ]@@ U 7 ^ U 7 _@ @@@@@[!@@@'@@\$* @@@ U 7 9 @@ a@@@@*>closure_env_without_parameters) [kq [k@б@г c!t#Env [k [k@  [k [k@@@@@@3        @La(@A @@б@г&!t %[k &[k@@ @@@@@г !t#Env 6[k 7[k@  :[k ;[k@@@@@@' @@@@@* @@@0@@-8 @@@ I[km@@ Ub@@@@3@@a@\|@@VPA@)@@d@]@@3 C B B C C C C C@A_@A3 F E E F F F F F@v@A ^p _\@@ # Used to represent information about a set of function declarations during closure conversion. (The only case in which such a set may contain more than one declaration is when processing "let rec".)  mm no@@@@@@@ pp@@@ @s @@@v@@@@@@@@@3 l k k l l l l l@@@A@|u@n>@7@@@S@L@@@@R@K@@@@@@A@A@:@@i@@8A@A@ H************************************************************************ A@@ A@L@ H  BMM BM@ H OCaml  C C@ H  D D3@ H Pierre Chambart, OCamlPro  E44 E4@ H Mark Shinwell and Leo White, Jane Street Europe  F F@ H  G G@ H Copyright 2013--2016 OCamlPro SAS  H Hg@ H Copyright 2014--2016 Jane Street Group LLC  Ihh Ih@ H  J J@ H All rights reserved. This file is distributed under the terms of  K KN@ H the GNU Lesser General Public License version 2.1, with the  LOO LO@ H special exception on linking described in the file LICENSE.  M M@ H  N N5@ H************************************************************************ O66 O6@ H* Environments and auxiliary structures used during closure conversion.  p * Used to remember which [Variable.t] values correspond to which [Ident.t] values during closure conversion, and similarly for static exception identifiers. _ * Used to represent information about a set of function declarations during closure conversion. (The only case in which such a set may contain more than one declaration is when processing "let rec".)  4 Like [all_free_idents], but for just one function.  J   J  @ All identifiers free in the given function declarations after the binding of parameters and function identifiers has been performed.  S   T  6@  A map from identifiers to their corresponding [Variable.t]s whose domain is the set of all identifiers free in the bodies of the declarations that are not bound as parameters. It also contains the globals bindings of the provided environment.  #W a c $Z j@@-./boot/ocamlc)-nostdlib"-I&./boot*-use-prims2runtime/primitives"-g0-strict-sequence*-principal(-absname"-w8+a-4-9-40-41-42-44-45-48+-warn-error"+a*-bin-annot/-strict-formats"-I2middle_end/flambda"-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"-c ` a =/builds/workspace/precheck/flambda/false/label/ocaml-linux-32 >10/.-,+*)('&%$#"! @@0Bl7 }nU3 h g g h h h h h@ f@@(Asttypes0>n{T8cئ5Build_path_prefix_map0z HkGs8CamlinternalFormatBasics0%FU(Q/Tu0CamlinternalLazy0&͂7 Pˆ 0 `YgN)F&*Cmi_format0c˯7͗ԩmݠ0Compilation_unit0 {p-Vg_*Data_types0I'Ue`wq]Ѡ)Debuginfo0PtJ=^w/#Env0zV L{YWI*Format_doc0]mWϓ:Mݠ 0">WA+9*X,Identifiable0 {d\FX'`7Internal_variable_names0HdeՄL ԩ&Lambda0z1x]&ZT,Linkage_name0EwKсڊs)Load_path0I@18 ~(Location0a7cK_H%9)Longident0s `7mɕc$Misc0ob]6>Vê> -0~emPsF0ҡ4d,.Type_immediacy0A^abOhՠ%Types0^Y~# )Unit_info0ڀh%( J0' Gr㠠(Warnings0mJɒkgr@@@4{  n@@P@@