Caml1999I037 M(Odoc_env#env;@@@A@@@@@5ocamldoc/odoc_env.mliTT@@@@ @@A@%empty@@@@WW@@A@@-add_signature@@@@@&stringQ@@@#rel&optionL@@@@@@@%Types)signature@@@3@@@@@@@@@@@@@[!!A[!k@@KC@@-add_extension@A@@@@)Odoc_name!t@@@N@@@@@@@@[\ll\\l@@fD@@(add_type@\@@@@!t@@@g@@@@@@@@t]u]@@E@@)add_value@u@@@@4!t@@@@@@@@@@@^^@@F@@*add_module@@@@@M!t@@@@@@@@@@@__@@G@@/add_module_type@@@@@f!t@@@@@@@@@@@``G@@H@@)add_class@@@@@!t@@@@@@@@@@@aHHaHq@@I@@.add_class_type@@@@@!t@@@@@@@@@@@brrbr@@J@@0full_module_name@@@@@!t@@@!t@@@@@@@@ ggN@@K@@5full_module_type_name@@@@@!t@@@!t@@@@@@@@)j*j@@4L@@?full_module_or_module_type_name@*@@@@!t@@@!t@@@@@@@@EnIIFnI@@PM@@.full_type_name@F@@@@!t@@@ !t@@@@@@@@aqbq@@lN@@/full_value_name@b@@@@!!t@@@'!t@@@@@@@@}t 5 5~t 5 l@@O@@?full_extension_constructor_name@~@@@@=!t@@@C!t@@@@@@@@w  w  @@P@@/full_class_name@@@@@Y!t@@@_!t@@@@@@@@z ' 'z ' ^@@Q@@4full_class_type_name@@@@@u!t@@@{!t@@@@@@@@}  }  @@R@@=full_class_or_class_type_name@@@@@!t@@@!t@@@@@@@@@  @  b@@S@@*subst_type@@@@@)type_expr@@@)type_expr@@@@@@@@ E   E  @@T@@1subst_module_type@ @@@@+module_type@@@+module_type@@@@@@@@%H L L&H L @@0U@@0subst_class_type@&@@@@*class_type@@@*class_type@@@@@@@@AN 2 2BN 2 t@@LV@@@Kޠ(Odoc_env0*"z1+W(Warnings0mJɒkgrWA+9*X*Format_doc0]mWϓ:Mݠ0CamlinternalLazy0&͂7 Pˆ8CamlinternalFormatBasics0%FU(Q/Tu(Asttypes0>n{T8cئ@@@Caml1999T037H 0-C(Odoc_env*ocaml.text&_none_@@A = Environment for finding complete names from relative names. 5ocamldoc/odoc_env.mliP77P7y@@@@@@3@@@@@@#intA;@@@A@@@@@:@A@$charB;@@A@@@@@>@A@&stringQ;@@ A@@@@@B@@@%bytesC;@@ A@@@@@F@@@%floatD;@@A@@@@@J@@@$boolE;@@%falsec@@T@$trued@@Z@@@A@@@@@[@A@$unitF;@@"()e@@e@@@A@@@@@f@A@ #exnG;@@@A@@@@@j@@@#effH;@@O@A@A@@@@@@s@@@,continuationI;@@Q@@P@B@A@nY@@@@@@@@@%arrayJ;@@R@A@A@@@@@@@@@ $listK;@@S@A"[]f@@@"::g@@@T@@@ @@A@Y@@@@@@@@&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@@A;5>4>@)Not_foundZ#O@@@AC=F<F@-Out_of_memoryW#W@@@AKENDN@.Stack_overflow^#_@@@ASMVLV@.Sys_blocked_io_#g@@@A[U^T^@)Sys_error[#o@j@@Ad^g]g@:Undefined_recursive_modulea#x@@w@s@u@@h@@Auoxnx@:Continuation_already_takenb#@@@A}wv@&Stdlib@AxA+#envATT@@;@@@A@@@@@T@)ocaml.doc F An environment of known names, from simple name to complete name. R{{S@@@@@@@@@@@@@A@@@@@@@@"@%emptyWW@г4#envWW@@ @@@3@?9@A@@@W @98 The empty environment. VV@@@@@@@A@@@Iߐ@@@@@@!쐠: Extending an environment YY@@@@@@3@3F1@A-add_signature[!%[!2@б@г#env[!5[!8@@ @@@@@б@г٠&string[!<[!B@@ @@@)@@б#relгꠐ&string [!K![!Q@@ @@@:@@б@г%Types)signature%Types5[!U6[!Z@ 9[![:[!d@@@@@@ T @@гǠ#envG[!hH[!k@@ @@@ a@@@@@ d@@;4@@@  @@ lX[!F@@@J @@ pM@@@\@@ s_@@@a[!!@@yC@@@@y-add_extensionl\lpm\l}@б@г#envw\lx\l@@ @@@ 3yxxyyyyy@@A@@б@г)Odoc_name!t)Odoc_name\l\l@ \l\l@@@@@@ f @@г #env\l\l@@ @@@ g)@@@@@ h,@@@2@@ i/5 @@@\ll@@D@@@@5(add_type]]@б@гD#env]]@@ @@@ j3@Nc@A@@б@гM!t)Odoc_name]]@ ]]@@@@@@ k @@гk#env]]@@ @@@ l'@@@@@ m*@@@0@@ n-3 @@@]@@E@@@@3)add_value^^@б@г#env^^@@ @@@ o3@La@A@@б@г!t)Odoc_name$^%^@ (^)^@@@@@@ p @@г#env6^7^@@ @@@ q'@@@@@ r*@@@0@@ s-3 @@@D^@@\F@@@@3*add_moduleO_P_@б@гڠ#envZ_[_@@ @@@ t3\[[\\\\\@La@A@@б@г!t)Odoc_nameo_p_@ s_t_@@@@@@ u @@г#env__@@ @@@ v'@@@@@ w*@@@0@@ x-3 @@@_@@G@@@@3/add_module_type``+@б@г%#env`.`1@@ @@@ y3@La@A@@б@г.!t)Odoc_name`5`>@ `?`@@@@@@@ z @@гL#env`D`G@@ @@@ {'@@@@@ |*@@@0@@ }-3 @@@`@@H@@@@3)add_classaHLaHU@б@гp#envaHXaH[@@ @@@ ~3@La@A@@б@гy!t)Odoc_nameaH_aHh@  aHi aHj@@@@@@  @@г#envaHnaHq@@ @@@ '@@@@@ *@@@0@@ -3 @@@%aHH@@=I@@@@3.add_class_type0brv1br@б@г#env;brg?@@@@@@ 2 @@г6!t)Odoc_namegCgL@ gMgN@@@@@@ H @@@@@ K$ @@@7@@ N: @@@g@P 1 Get the fully qualified module name from a name.ff@@@@@@@K@@@`@@@@@@m5full_module_type_namejj@б@г#envjj@@ @@@ 3@8@A@@б@г!t)Odoc_namejj@ jj@@@@@@  @@г!t)Odoc_name/j0j@ 3j4j@@@@@@ 0 @@@@@ 3$ @@@9@@ 6< @@@Bj@ 6 Get the fully qualified module type name from a name.OiPPPiP@@@@@@@hL@@@c@@@@@@U?full_module_or_module_type_namefnIMgnIl@б@г#envqnIornIr@@ @@@ 3srrsssss@n8@A@@б@г!t)Odoc_namenIvnI@ nInI@@@@@@  @@г!t)Odoc_namenInI@ nInI@@@@@@ 0 @@@@@ 3$ @@@9@@ 6< @@@nII@* x Get the fully qualified module or module type name from a name. We look for a module type if we don't find a module.lmH@@@@@@@M@@@:А@@@@@@U.full_type_nameqq@б@г^#envqq@@ @@@ 3@n8@A@@б@гg!t)Odoc_nameqq@ qq@@@@@@  @@г}!t)Odoc_name q q@  qq@@@@@@ 0 @@@@@ 3$ @@@9@@ 6< @@@q@ / Get the fully qualified type name from a name.)p*p@@@@@@@BN@@@=@@@@@@U/full_value_name@t 5 9At 5 H@б@гˠ#envKt 5 KLt 5 N@@ @@@ 3MLLMMMMM@n8@A@@б@г!t)Odoc_name`t 5 Rat 5 [@ dt 5 \et 5 ]@@@@@@  @@г!t)Odoc_namevt 5 awt 5 j@ zt 5 k{t 5 l@@@@@@ 0 @@@@@ 3$ @@@9@@ 6< @@@t 5 5@ 0 Get the fully qualified value name from a name.ss 4@@@@@@@O@@@@@@@@@U?full_extension_constructor_namew  w  @б@г8#envw  w  @@ @@@ 3@n8@A@@б@гA!t)Odoc_namew  w  @ w  w  @@@@@@  @@гW!t)Odoc_namew  w  @ w  w  @@@@@@ 0 @@@@@ 3$ @@@9@@ 6< @@@w  @q 4 Get the fully qualified extension name from a name.v n nv n @@@@@@@P@@@@@@@@@U/full_class_namez ' +z ' :@б@г#env%z ' =&z ' @@@ @@@ 3'&&'''''@n8@A@@б@г!t)Odoc_name:z ' D;z ' M@ >z ' N?z ' O@@@@@@  @@г!t)Odoc_namePz ' SQz ' \@ Tz ' ]Uz ' ^@@@@@@ 0 @@@@@ 3$ @@@9@@ 6< @@@cz ' '@ސ 0 Get the fully qualified class name from a name.py  qy  &@@@@@@@Q@@@@@@@@@U4full_class_type_name}  }  @б@г#env}  }  @@ @@@ 3@n8@A@@б@г!t)Odoc_name}  }  @ }  }  @@@@@@  @@г1!t)Odoc_name}  }  @ }  }  @@@@@@ 0 @@@@@ 3$ @@@9@@ 6< @@@}  @K 5 Get the fully qualified class type name from a name.| ` `| ` @@@@@@@R@@@[񐠠@@@@@@U=full_class_or_class_type_name@  !@  >@б@г#env@  A@  D@@ @@@ 3@n8@A@@б@г!t)Odoc_name@  H@  Q@ @  R@  S@@@@@@  @@г!t)Odoc_name*@  W+@  `@ .@  a/@  b@@@@@@ 0 @@@@@ 3$ @@@9@@ 6< @@@=@  @ > Get the fully qualified class or class type name from a name.J  K  @@@@@@@cS@@@^@@@@@@Ulk/ Substitutions hB d diB d x@@@@@@3gffggggg@g|1@A*subst_typetE  uE  @б@г#envE  E  @@ @@@ @@б@г_)type_expr%TypesE  E  @ E  E  @@@@@@ 2 @@гu)type_expr%TypesE  E  @ E  E  @@@@@@ H @@@@@ K$ @@@7@@ N: @@@E  @6 D Replace the [Path.t] by a complete [Path.t] in a [Types.type_expr].D z zD z @@@@@@@T@@@Fܐ@@@@@@m1subst_module_typeH L PH L a@б@гj#envH L dH L g@@ @@@ 3@8@A@@б@г+module_type%TypesH L k H L p@  H L q H L |@@@@@@  @@г+module_type%Types H L  H L @  H L  H L @@@@@@ 0 @@@@@ 3$ @@@9@@ 6< @@@ (H L L@ F Replace the [Path.t] by a complete [Path.t] in a [Types.module_type]. 5G   6G  K@@@@@@@ NU@@@ I@@@@@@U0subst_class_type LN 2 6 MN 2 F@б@гנ#env WN 2 I XN 2 L@@ @@@ 3 Y X X Y Y Y Y Y@n8@A@@б@г9*class_type%Types lN 2 P mN 2 U@  pN 2 V qN 2 `@@@@@@  @@гO*class_type%Types N 2 d N 2 i@  N 2 j N 2 t@@@@@@ 0 @@@@@ 3$ @@@9@@ 6< @@@ N 2 2@ Replace the [Path.t] by a complete [Path.t] in a [Types.class_type]. Also empty the structures to get only [object end] when the type is printed.  J   M / 1@@@@@@@ V@@@  @@@@@@U@71A@@X@Q @@{@t2@+@@W@=@@i@@H@(@r@R@@i @@J@@3        @L@A@ H************************************************************************ A@@ A@L@ H  BMM BM@ H OCaml  C C@ H  D D3@ H Maxence Guesdon, projet Cristal, INRIA Rocquencourt  E44 E4@ H  F F@ H Copyright 2001 Institut National de Recherche en Informatique et  G G@ H en Automatique.  H Hg@ H  Ihh Ih@ H All rights reserved. This file is distributed under the terms of  J J@ H the GNU Lesser General Public License version 2.1, with the  K KN@ H special exception on linking described in the file LICENSE.  %LOO &LO@ H  +M ,M@ H************************************************************************ 1N 2N5@ >* Environment for finding complete names from relative names.  7 G* An environment of known names, from simple name to complete name. 9* The empty environment. r;* Extending an environment W 7* Retrieving fully qualified names from an environment  2* Get the fully qualified module name from a name.d 7* Get the fully qualified module type name from a name. y* Get the fully qualified module or module type name from a name. We look for a module type if we don't find a module. 0* Get the fully qualified type name from a name.& 1* Get the fully qualified value name from a name. 5* Get the fully qualified extension name from a name.R 1* Get the fully qualified class name from a name.蠠 6* Get the fully qualified class type name from a name.~ ?* Get the fully qualified class or class type name from a name.0* Substitutions  E* Replace the [Path.t] by a complete [Path.t] in a [Types.type_expr]. G* Replace the [Path.t] by a complete [Path.t] in a [Types.module_type].2 * Replace the [Path.t] by a complete [Path.t] in a [Types.class_type]. Also empty the structures to get only [object end] when the type is printed. @(./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(ocamldoc"-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  =/builds/workspace/precheck/flambda/false/label/ocaml-linux-32 <10/.-,+*)('&%$#"! @@0w1Zr53        @ @@(Asttypes0>n{T8cئ8CamlinternalFormatBasics0%FU(Q/Tu0CamlinternalLazy0&͂7 Pˆ*Format_doc0]mWϓ:Mݠ%Ident0">WA+9*X,Identifiable0 {d\FX'`(Location0a7cK_H%9)Longident0s `7mɕc 0*"z1+Wc0{Y/3.+Outcometree0kX%d5Q/+)Parsetree0T鿁ۘ7Qu$Path0Y2kf֯J._Ϡ)Primitive0²~$xzT෠%Shape0oNՄBH&Stdlib0Lku]8_٠.Stdlib__Buffer08APF< t..Stdlib__Domain0:M;׉<O$Ġ.Stdlib__Either0Vy`u~c à.Stdlib__Format0ܚ#G7m|/Stdlib__Hashtbl0ѱN][/!,Stdlib__Lazy0* -S$.)"0D.Stdlib__Lexing0e<.V +Stdlib__Map0L5xE|O0~,J-+Stdlib__Seq0nwzG&amg+Stdlib__Set0\$;7 +Stdlib__Sys0 -ռ鱦s5/-Stdlib__Uchar056uf4[_.Type_immediacy0A^abOhՠ 0^Y~# )Unit_info0ڀh%((Warnings0mJɒkgr  @ɐ'[K@"Ɛ @@@@4@@@<@Y # @@@Q@@@P@@