Caml1999I0372 % #+Odoc_moduleӠ&StringA$Misc&Stdlib&String@8ocamldoc/odoc_module.mliR||R|@@@@@Ӡ$NameA)Odoc_name@TT@ A@@@.module_element;@@.Element_moduleq(t_module@@@@@$Y%Y@@6L@3Element_module_typer-t_module_type@@@@@4Z5Z(@@FM@7Element_included_modules/included_module@@@@@D[)+E[)W@@VN@-Element_classt*Odoc_class't_class@@@@@V\XZW\X@@hO@2Element_class_type,t_class_type@@@@@f]g]@@xP@-Element_value*Odoc_value't_value@@@@@x^y^@@Q@6Element_type_extension.Odoc_extension0t_type_extension@@@@@__@@R@1Element_exception.Odoc_exception+t_exception@@@@@``K@@S@,Element_type)Odoc_type&t_type@@@@@aLNaLp@@T@6Element_module_comment*Odoc_types$text@@@@@bqsbq@@U@@@A@@@@@X@@@@B@A@#mmt;@@#Mod@@@@@dd@@V@'Modtype@@@@@dd@@W@@@A@@@@@d@@@@C@B@;@@'im_name@@!t@@@f f1@@ X@)im_moduleA@&optionL@@@@@@@ g24 g2S@@Y@'im_infoA@_$info@@@@@@hTVhT@@0Z@@@A@@@@@"e#i@@@@4D@B@,module_alias;@@'ma_name@@>!t@@@5j6j@@G[@)ma_moduleA@=;@@@@@@EjFj@@W\@@@A@@@@@IjJj@@@@[E@B@0module_parameter;@@'mp_name@@&stringQ@@@]l^l@@o]@'mp_typeG@@e%Types+module_type@@@@@@rmsm@@_@,mp_type_codeH@@#@@@~n n6@@`@'mp_kindI@@0module_type_kind@@@o79o7T@@a@@@A@@@@@kpUV@@@@F@B@+module_kind;@@-Module_structJ$listK@@@@@@@@rimri@@b@,Module_aliasK@@@@@ss@@c@.Module_functorLw@@@5@@@@@tt@@d@,Module_applyM@@@@@@@@uu @@e@1Module_apply_unitN@@@@@v  v  :@@f@+Module_withOn@@@@@@@@w ; =w ; g@@g@1Module_constraintP>@@@@@@@@ x h jx h @@h@-Module_typeofQ@@@@@y  y  @@-i@-Module_unpackR@@@1module_type_alias@@@@@0z  1z  @@Bj@@@A@@@@@4qWW@@@@EG@B@;@@&m_nameS@@M!t@@@ҰD|  E|  @@Vk@&m_typeTA@+module_type@@@ѰR}  S}  5@@dl@&m_infoUA@Z$info@@@@@@аe~ 6 8f~ 6 `@@wm@.m_is_interfaceV@@$boolE@@@ΰs a ct a y@@n@&m_fileW@@$@@@Ͱ@ z |@ z @@o@&m_kindXA@@@@̰A  A  @@p@%m_locYA@(location@@@˰B  B  @@q@*m_top_depsZA@!t@@@@@@ʰC  C  @@r@&m_code[A@_@@@@@@ȰD  D  @@s@+m_code_intf\A@àp@@@@@@ưE  E  @@@t@+m_text_only]@@g@@@İF A CF A V@@u@@@A@@@@@{  G W X@@@@H@B@;@@(mta_name^@@!t@@@հI s uI s @@v@*mta_module_A@@@@@@@԰J  J  @@w@@@A@@@@@H Y YK  @@@@I@B@~;@@2Module_type_struct`om@@@@@@@@M  M  @@)x@3Module_type_functora^@@@۠@@@@@(N  )N  :@@:y@1Module_type_aliasb@@@@@5O ; =6O ; e@@Gz@0Module_type_withc@@@ؠ@@@@@GP f hHP f @@Y{@2Module_type_typeofd@@@@@UQ  VQ  @@g|@@@A@@@@@YL  @@@@jJ@B@-;@@'mt_namee@@r!t@@@iS  jS  @@{}@'mt_infofA@q$info@@@@@@|T  }T  @@~@'mt_typegA@+module_type@@@@@@U  U  <@@@/mt_is_interfaceh@@*@@@V = ?V = V@@@@'mt_filei@@L@@@W W YW W j@@A@'mt_kindjA@-@@@@@@X k mX k @@B@&mt_lockA@(location@@@ްY  Y  @@C@@@A@@@@@R  Z  @@@@K@B@&values@42@@@@@@<p't_value@@@@@@@@@^  ^ @@D@@%types@RP@@@@@@ZX&t_type@@@@@@@@@aWWaW@@E@@/type_extensions@pn@@@@@@x0t_type_extension@@@@@@@@@#d$e$@@5F@@*exceptions@@@@@@@+t_exception@@@@@@@@@AhppBhp@@SG@@'classes@@@@@@@ 't_class@@@@@@@@@_k`k:@@qH@@+class_types@ʠ@@@@@@Ҡ(,t_class_type@@@@@@@@@}n~~~n~@@I@@'modules@@@@@@@v@@@@@@ @@ @q  q =@@J@@)mod_types@@@@ @@@  @@@ @@@@@@tt@@K@@(comments@@@@@@@&$text@@@@@@@@@ww=@@L@@0included_modules@<:@@@@@@D@@@@@@@@@zz@@M@@4module_type_elements%trans@@@@@@@@@@ge@@@@@@@@@@ @}~2g@@!N@@/module_elements%trans#@@@!@@@"@@@@#@@@$@@@%@@&@@'@12:@@CO@@-module_values%transE@@@(@@@)@*@@@*'t_value@@@+@@@,@@-@@.@VW @@hP@@0module_functions%transj@@@/@@@0@O@@@1Р't_value@@@2@@@3@@4@@5@{|@@Q@@4module_simple_values%trans@@@6@@@7@t@@@8)'t_value@@@9@@@:@@;@@<@mmm@@R@@,module_types%transC@@@=@@@>@@@@?&t_type@@@@@@@A@@B@@C@PPP@@S@@6module_type_extensions%trans٠h@@@D@@@E@@@@F?a0t_type_extension@@@G@@@H@@I@@J@6w@@T@@1module_exceptions%trans@@@K@@@L@@@@Mdt+t_exception@@@N@@@O@@P@@Q@[@@!U@@.module_classes%trans#@@@R@@@S@@@@T't_class@@@U@@@V@@W@@X@45-@@FV@@2module_class_types%transH@@@Y@@@Z@-@@@[,t_class_type@@@\@@@]@@^@@_@YZ@@kW@@.module_modules%transm@@@`@@@a@R@@@bӠY@@@c@@@d@@e@@f@{|@@X@@3module_module_types%trans@@@g@@@h@t@@@ik@@@j@@@k@@l@@m@XXX@@Y@@7module_included_modules%trans@@@@n@@@o@@@@p}@@@q@@@r@@s@@t@,,,y@@Z@@/module_comments%transӠb@@@u@@@v@@@@w9%$text@@@x@@@y@@z@@{@   N@@[@@6module_type_parameters%trans@@@|@@@}@@@@~^@C@@@@ W$text@@@@@@@@@@@@@@@@H@@)\@@1module_parameters%trans+@@@@@@@@@@@v@@@@>$text@@@@@@@@@@@@@@@@JK :@@\]@@5module_all_submodules%trans^@@@@@@@C@@@ĠJ@@@@@@@@@@@l  m !@@~^@@6module_type_is_functor@I@@@ @@@@@@~!!!!@@_@@1module_is_functor@k@@@@@@@@@"O"O"O"w@@`@@2module_type_values%trans3@@@@@@@y@@@ >'t_value@@@@@@@@@@@"""#,@@a@@1module_type_types%transɠX@@@@@@@@@@/-&t_type@@@@@@@@@@@###$@@b@@;module_type_type_extensions%trans}@@@@@@@@@@Tv0t_type_extension@@@@@@@@@@@$$$$@@c@@6module_type_exceptions%trans@@@@@@@@@@y+t_exception@@@@@@@@@@@$%%%%%@@6d@@3module_type_classes%trans8@@@@@@@ @@@'t_class@@@@@@@@@@@I&l&lJ&&@@[e@@7module_type_class_types%trans]@@@@@@@2@@@à,t_class_type@@@@@@@@@@@n'G'Go'e'@@f@@3module_type_modules%trans@@@@@@@W@@@n@@@@@@@@@@@(/(/(/(v@@g@@8module_type_module_types%trans3@@@@@@@y@@@ @@@@@@@@@@@(())Q@@h@@@ӽX4Id*Odoc_class0_"#C{$Misc0ob]6>Vê>)Longident0s `7mɕc(Location0a7cK_H%9,Identifiable0 {d\FX'`%Ident0">WA+9*X*Format_doc0]mWϓ:Mݠ0CamlinternalLazy0&͂7 Pˆ8CamlinternalFormatBasics0%FU(Q/Tu5Build_path_prefix_map0z HkGs(Asttypes0>n{T8cئ@@@Caml1999T037"rJ@C+Odoc_module*ocaml.text&_none_@@A > Representation and manipulation of modules and module types. 8ocamldoc/odoc_module.mliP77P7z@@@@@@3@@@@#intA;@@@A@@@@@9@A@$charB;@@A@@@@@=@A@&stringQ;@@ A@@@@@A@@@%bytesC;@@ A@@@@@E@@@%floatD;@@A@@@@@I@@@$boolE;@@%falsec@@S@$trued@@Y@@@A@@@@@Z@A@$unitF;@@"()e@@d@@@A@@@@@e@A@ #exnG;@@@A@@@@@i@@@#effH;@@O@A@A@@@@@@r@@@,continuationI;@@Q@@P@BDA@nY@@@@@@@@@ %arrayJ;@@R@AOA@@@@@@@@@$listK;@@S@A"[]f@@@"::g@@@T@@@ @@A@Y@@@@@@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@A@@@@@@@@%int32N;@@A@@@@@@@@%int64O;@@A@@@@@@@@&lazy_tP;@@X@AA@Y@@@@@@@@5extension_constructorR;@@A@@@@@@@@*floatarrayS;@@A@@@@@@@@&iarrayT;@@Y@AA@Y@@@@@@@@*atomic_locU;@@Z@AA@@@@@@@@@.Assert_failure`#@@@@@J@@@@@@@@[@@A=ocaml.warn_on_literal_pattern@0Division_by_zero]#@@@A  @+End_of_file\##@@@A@'FailureY#+@&@@A  @0Invalid_argumentX#4@/@@A&#))@-Match_failureV#=@@<@8@:@@a@@A74::@)Not_foundZ#N@@@A?<B B@-Out_of_memoryW#V@@@AGDJJ@.Stack_overflow^#^@@@AOLRR@.Sys_blocked_io_#f@@@AWTZ"Z@)Sys_error[#n@i@@A`]c+c@:Undefined_recursive_modulea#w@@v@r@t@@h@@Aqnt<t@:Continuation_already_takenb#@@@Ayv|D|@&Stdlib@At&StringeA}R|~R|@@@AХ$Misc&Stdlib&String$MiscR|R|@ R|R|@@R|R|@ @@@@R||@@$NamefBTT@A@AХ)Odoc_name)Odoc_nameTT@ 3@EA=@ @@A@@@T @ @Ր+ {1 Types} VV@@@@@@3@/A'@*@AA+.module_elementgCXX@@;@@.Element_moduleq(t_modulemC@@@@@YY@@ L@3Element_module_typer-t_module_typepC@@@@@ZZ(@@M@7Element_included_modules/included_moduleiC@@@@@[)+[)W@@+N@-Element_classt*Odoc_class't_class@@@ @@$\XZ%\X@@=O@2Element_class_type,t_class_type@@@ @@4]5]@@MP@-Element_value*Odoc_value't_value@@@ @@F^G^@@_Q@6Element_type_extension.Odoc_extension0t_type_extension@@@ 7@@X_Y_@@qR@1Element_exception.Odoc_exception+t_exception@@@ V@@j`k`K@@S@,Element_type)Odoc_type&t_type@@@ @@|aLN}aLp@@T@6Element_module_comment*Odoc_types$text@@@ z@@bqsbq@)ocaml.doc , To keep the order of elements in a module. cc@@@@@@@U@@@A@@@@@X@@@@B@@#Y@@г(t_moduleY@@3@;@@@A@@@@@@@@#mmthC;@@@A@@@@@dd@@@@C@;@@@A@@@@@ei@@@@D@,module_aliasjC;@@@A@@@@@jj@@@@E@0module_parameterkC;@@@A@@@@@kpUV@@@@F@+module_kindlC;@@@A@@@@@qWWz  @@@@G@;@@@A@@@@@{  G W X@@@@H@1module_type_aliasnC;@@@A@@@@@H Y YK  @@@@ I@0module_type_kindoC;@@@A@@@@@L  Q  @@@@J@;@@@A@@@@@R  Z  @@@@K@@AQ@@@@@#ZZ@@г-t_module_typeZ@@_@@@@@#[)-[)D@@г/included_module![)H@@o@@@@@#'\X\(\Xi@@г*Odoc_class3\Xm4\Xw@7\Xx@@@@@@@@#>]?]@ @г*Odoc_classJ]K]@N]@@@#@@@@@#U^V^@@г*Odoc_valuea^b^@!e^@ @@*!@@@@#@#l_m_@@г!.Odoc_extensionx_y_@&|_$@%@@/˰&@@@@(@#$$``-@@г&.Odoc_exception`1`?@+`@)@*@@4+@@@@-@#))aLPaL\@@г+)Odoc_typeaL`aLi@0aLj.@/@@90@@@@2@#..bqubq@@г0*Odoc_typesbqbq@5bq3@4@@>5@@@@74Ԑ32@22@@@2@2@@A@.@+dd@@;@@#Mod@@@ {@@dd@@V@'Modtype@@@ |@@d+@@W@@@A@@@@@.@@@+@#d@@г(t_moduled@@$N@@@@!@#dd@@г-t_module_typedK@@&^L@@@@#@@A@N@+e e@@;@@'im_name@@{!t@@@ %f &f1@@>X@)im_moduleA@s@@@ @@@ 6g247g2S@@OY@'im_infoA@$info@@@ @@@ IhTVJhT@@bZ@@@A@@@@@@@@@#33,Qf'@+@@Ш@г6$Name\f*]f.@=`f/af0@@@E@@H@@ @B@#>>jg2<kg2E@4A@Ш@гB&optiontg2Lug2R@гG#mmt}g2H~g2K@@O̰@@@TͰ @@W@@ @N@#JJhT^hTe@>A@Ш@гN&optionhTxhT~@гS*Odoc_typeshThhTr@ZhTshTw@@@b@@@g @@j@@ @_@@A@@+۠۰jj@@;@@'ma_name@@!t@@@ jj@@[@)ma_moduleA@*@@@ @@@ jj@@\@@@A@@@@@@@@@#  j@@@Ш@г#$Namejj@*jj@@@22@@5@@ 5@/@#++jj@!A@Ш@г/&optionjj@г4#mmtjj@@<N@@@AO @@D@@ R@;@@A@3@+11 k k@@;@@'mp_name@@@@@ "ll@@/]@'mp_typeG@@%Types+module_type@@@T@@@V+m,m@@D_@,mp_type_codeH@@@@@Y7n 8n6@@P`@'mp_kindI@@M@@@\Co79Do7T@@\a@@@A@@@@@l@@@i@#::5Kl@4@@Ш@г=&stringTlUl@@E@@H@@ #@D@#@@2]m@1@@Ш@гC&optionfmgm@гH%Typesqmrm @Mum vm@@@WŰ@@@\ư @@_@@W@R@#NNIn,@H@@Ш@гQ&stringn/n5@@Yذ@@\@@Z@X@#TTOo7@@N@@Ш@гW0module_type_kindo7Co7S@@_@@b@@]@^@@A@@+ĠİqW[qWf@@;@@-Module_structJ4@@@_@@@a@@rimri@@b@,Module_aliasK@@@b@@ss@@c@.Module_functorL@@@c@@@d@@tt@@d@,Module_applyM@@@e @@@f@@uu @@e@1Module_apply_unitN@@@g@@v  v  :@@f@+Module_withO@@@h@@@i@@ w ; =w ; g@@&g@1Module_constraintP;@@@j*@@@k@@ x h j!x h @@9h@-Module_typeofQ@@@l@@.y  /y  @@Gi@-Module_unpackR @@@mS@@@n@@Az  ^@@Yj@@@A@@@@@a@@@^@#Hriz@@г$listQri@г.module_elementYri~Zri@@@@@@@@@@#asbs@@г,module_aliasks@@@@@@@#qtrt@@г0module_parameter{t|t@@ʰ@@г+module_kindt@@Ӱ@@@@@#uu@@г+module_kinduu @@@@г+module_kindu @@@@@@@#v  v  +@@г+module_kindv  /@@@@@@@#w ; ?w ; J@@г0module_type_kindw ; Nw ; ^@@@@г&stringw ; a@@@@@@@#x h lx h }@@г+module_kindx h x h @@(@@г 0module_type_kindx h @@1@@@@@# °y  y  @@гĠ&stringy  @@A@@@@@#Ġİz  z  @@гƠ&stringz  z  @@R@@гˠ1module_type_alias z  *@@[+@@@@@@A@-@+##{  {  @@;@@&m_nameS@@x!t@@@o"|  #|  @@;k@&m_typeTA@+module_type@@@r0}  1}  5@@Il@&m_infoUA@$info@@@u@@@wC~ 6 8D~ 6 `@@\m@.m_is_interfaceV@@@@@zO a cP a y@@hn@&m_fileW@@(@@@}[@ z |\@ z @@to@&m_kindXA@@@@gA  hA  @@p@%m_locYA@(location@@@uB  vB  @@q@*m_top_depsZA@!t@@@@@@C  C  @@r@&m_code[A@e@@@@@@D  D  @@s@+m_code_intf\A@ v@@@@@@E  E  @@@t@+m_text_only]@@w@@@F A CF A V@@u@@@A@@@@@@@@@#|  @@@Ш@г$Name|  |  @|  |  @@@@@@@p @@#}  }  @A@Ш@г%Types}  #}  (@}  )}  4@@@7@@@@s:@@#~ 6 @~ 6 F@A@Ш@г&option~ 6 Y~ 6 _@гà*Odoc_types~ 6 I~ 6 S@ʰ ~ 6 T ~ 6 X@@@Z@@@[ @@@@x^@@#ˠ˰ a q@@@Ш@гΠ$bool a t a x@@m@@@@{p@@#ѠѰ'@ z @@@Ш@гԠ&string0@ z 1@ z @@@@@@~@@#נװ9A  :A  @A@Ш@г۠+module_kindCA  DA  @@@@@@@@#ޠްLB  MB  @A@Ш@г⠡*Odoc_typesXB  YB  @\B  ]B  @@@@@@@@@#fC  gC  @A@Ш@г$listpC  qC  @г󠡠$Name{C  |C  @C  C  @@@ϰ@@@а @@ @@@@#D  D  @A@Ш@г&optionD  D  @г&stringD  D  @@ @@@ @@@@@ @#E  $E  /@A@Ш@г &optionE  9E  ?@г&stringE  2E  8@@ @@@  @@ @@ @@#F A N@ @@Ш@г$boolF A QF A U@@@@!@@@@@A@@+H Y ]H Y n@@;@@(mta_name^@@;!t@@@I s uI s @@v@*mta_module_A@U@@@@@@J  J  @@ w@@@A@@@@@ @@@@#  I s }@@@Ш@г#$Name I s  I s @* I s  I s @@@2]@@5@@`@/@#++ J   J  @!A@Ш@г/&option !J   "J  @г4-t_module_type *J   +J  @@<y@@@Az @@D@@}@;@@A@@@+>> 4L   5L  @@;@@2Module_type_struct`Ġh@@@@@@@@ HM   IM  @@ ax@3Module_type_functora~@@@e@@@@@ [N   \N  :@@ ty@1Module_type_aliasb{@@@@@ iO ; = jO ; e@@ z@0Module_type_withc@@@ I@@@@@ |P f h }P f @@ {@2Module_type_typeofd W@@@@@ Q  @@ |@@@A@@@@@@@@@#UUI M  @H@гV$list M  R@гZ.module_element M   M  @@b@@@g]@@@@_@#[[ N   N  @O@г]0module_parameter N   N  '@@e@@гb0module_type_kind N  *c@@i d@@@@f@#bb O ; ? O ; P@[@гd1module_type_alias O ; Te@@kf@@@@h@#dd P f j P f z@X@гf0module_type_kind P f ~ P f @@n-@@гk&string P f l@@r6m@@@@o@#kk Q   Q  @e@гm&string Q  @@tF@@@@q@@A@@+ R   R  @@;@@'mt_namee@@c!t@@@ S   S  @@ &}@'mt_infofA@ }$info@@@@@@ T   !T  @@ 9~@'mt_typegA@  +module_type@@@@@@ 3U   4U  <@@ L@/mt_is_interfaceh@@ @@@ ?V = ? @V = V@@ X@@'mt_filei@@ @@@ KW W Y LW W j@@ dA@'mt_kindjA@ e@@@@@@° \X k m ]X k @@ uB@&mt_lockA@(location@@@Ű jY   kY  @@ C@@@A@@@@@o@@@l@#lle rS  @d@@Ш@гo$Name }S   ~S  @v S   S  @@@~Ѱ@@@@@{@#ww T   T  @kA@Ш@г{&option T   T  @г*Odoc_types T   T  @ T   T  @@@@@@ @@@@@@# U   U  @|A@Ш@г&option U  5 U  ;@г%Types U  # U  (@ U  ) U  4@@@@@@ @@@@@@# V = N@@@Ш@г$bool V = Q V = U@@+@@@@.@@# W W `@@@Ш@г&string W W c W W i@@=@@@@@@@# X k u X k |@A@Ш@г&option X k  X k @г0module_type_kind X k  X k @@Y@@@Z @@@@]@@# Y   Y  @A@Ш@г*Odoc_types Y   !Y  @ $Y   %Y  @@@t@@@@w@@@A@,@@ V+@ > =/ {1 Functions}  :\   ;\  @@@@@@3 9 9 9 9 9 9 9 9@ r IGS[o Y2iq<y 9/r j d@A&valuesl O^   P^  @б@г ٠$list Z^   [^  @г .module_element d^   e^  @@ @@@-@@@@@@2 @@г $list v^  w^ @г <'t_value*Odoc_value ^   ^ @  ^  ^ @@@@@@R @@@ @@@W@@@,@@Z3 @@@ ^  #@ ; Returns the list of values from a list of module_element.  _ _U@@@@@@@ D@@3@  @@@@@@y%typesm aW[ aW`@б@г G$list aWr aWv@г .module_element aWc aWq@@ @@@3        @B@A@@@ @@@ @@г e$list aW aW@г v&t_type)Odoc_type aWz aW@  aW aW@@@@@@' @@@ @@@,@@@,@@/5 @@@ aWW#@ z : Returns the list of types from a list of module_element.  b b@@@@@@@ /E@@3@  *@@@@@@N/type_extensionsn -d .d@б@г $list 8e 9e@г a.module_element Be Ce@@ @@@3 D D D D D D D D@qB@A@@@ @@@ @@г ՠ$list Ve  We$@г 0t_type_extension.Odoc_extension de ee@  he ie@@@@@@' @@@ @@@,@@@,@@/5 @@@ yd#@ ꐠ D Returns the list of type extensions from a list of module_element.  f%% f%n@@@@@@@ F@@3@  @@@@@@N*exceptionso hpt hp~@б@г '$list hp hp@г Ѡ.module_element hp hp@@ @@@3        @qB@A@@@ @@@ @@г E$list hp hp@г h+t_exception.Odoc_exception hp hp@  hp hp@@@@@@' @@@ @@@,@@@,@@/5 @@@ hpp#@ Z ? Returns the list of exceptions from a list of module_element.  i i@@@@@@@ G@@3@ j @@@@@@N'classesp k k @б@г $list k k@г A.module_element "k  #k@@ @@@3 $ $ $ $ $ $ $ $@qB@A@@@ @@@ @@г $list 6k6 7k:@г 't_class*Odoc_class Dk# Ek-@  Hk. Ik5@@@@@@' @@@ @@@,@@@,@@/5 @@@ Yk#@ ʐ < Returns the list of classes from a list of module_element.  fl;; gl;|@@@@@@@ H@@3@  z@@@@@@N+class_typesq }n~ ~n~@б@г $list n~ n~@г .module_element n~ n~@@ @@@3        @qB@A@@@ @@@ @@г %$list n~ n~@г ,t_class_type*Odoc_class n~ n~@  n~ n~@@@@@@' @@@ @@@,@@@,@@/5 @@@ n~~#@ : @ Returns the list of class types from a list of module_element.  o o @@@@@@@ I@@3@ J ꐠ@@@@@@N'modulesr q  q @б@г w$list q ( q ,@г !.module_elementq q '@@ @@@3@qB@A@@@ @@@ @@г $listq 9q =@г .(t_module q 0!q 8@@ @@@@@@@@@# @@@#@@&,@@@0q  @ < Returns the list of modules from a list of module_element. =r>>>r>@@@@@@@VJ@@*@ Q@@@@@@E)mod_typessTtUt@б@г ޠ$list_t`t@г .module_elementitjt@@ @@@3kkkkkkkk@hB@A@@@ @@@ @@г $list}t~t@г -t_module_typett@@ @@@@@@@@@# @@@#@@&,@@@t@  A Returns the list of module types from a list of module_element. uu@@@@@@@K@@*@ @@@@@@E(commentstww@б@гE$listw!w%@г .module_elementww @@ @@@3@hB@A@@@ @@@ @@гc$listw9w=@г b$text*Odoc_typesw)w3@ w4w8@@@@@@' @@@ @@@,@@@,@@/5 @@@w#@ x C Returns the list of module comment from a list of module_element. x>>x>@@@@@@@-L@@3@ (@@@@@@N0included_modulesu+z,z@б@г$list6z7z@г _.module_element@zAz@@ @@@3BBBBBBBB@qB@A@@@ @@@ @@гӠ$listTzUz@г L/included_module^z_z@@ @@@@@@@@@# @@@#@@&,@@@nz@ ߐ E Returns the list of included modules from a list of module_element. {{|{@@@@@@@M@@*@ @@@@@@E4module_type_elementsv}}/@б%transг^$bool~2;~2?@@ @@@3@`:@A@@б@г -t_module_type~2C~2P@@ @@@@@г<$list~2c~2g@г 栐.module_element~2T~2b@@ @@@(@@@@@@- @@@"@@0%@@A@:@@@ @@8~24 @@ @}#@ Q Returns the list of elements of a module type. @param trans indicates if, for aliased modules, we must perform a transitive search.hh@@@@@@@N@@3@ a@@@@@@X/module_elementsw @б%transгР$bool@@ @@@3@s:@A@@б@г0(t_module"##@@ @@@@@г$list/60:@гX.module_element9':5@@ @@@(@@@@@@- @@@"@@0%@@Ar9@@@ @@7N @@ @Q"@  Returns the list of elements of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. ^;;_@@@@@@@wO@@2@ r@@@@@@W-module_valuesxuv@б%transгA$bool@@ @@@3@r:@A@@б@г(t_module@@ @@@@@г$list @гf't_value*Odoc_value@ @@@@@@ 1 @@@ @@@ 6@@@+@@ 9. @@JB@@@  @@@(@@ @+@<  Returns the list of values of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.  8@@@@@@@P@@;@L쐠@@@@@@`0module_functionsy@б%transг$bool@@ @@@3@{:@A@@б@г(t_module @@ @@@@@г$list@г't_value*Odoc_value()@ ,-@@@@@@1 @@@ @@@6@@@+@@9. @@JfB@@@ @@@B(@@ @E+@ Returns the list of functional values of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.RSk@@@@@@@kQ@@;@f@@@@@@`4module_simple_valueszimqjm@б%transг5$boolvmwm@@ @@@3xxxxxxxx@{:@A@@б@г(t_modulemm@@ @@@@@г$listmm@гZ't_value*Odoc_valuemm@ mm@@@@@@1 @@@ @@@6@@@+@@9. @@JB@@@ @@@m(@@ @mm+@0 Returns the list of non-functional values of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.N@@@@@@@R@@;@@@@@@@@`,module_types{PTP`@б%transг$boolPjPn@@ @@@3@{:@A@@б@г(t_modulePrPz@@ @@@ @@г$listPP@г&t_type)Odoc_typeP~P@  P!P@@@@@@!1 @@@ @@@#6@@@+@@$9. @@JZB@@@% @@&@6Pc(@@ @9PP+@ ~ Returns the list of types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.FG@@@@@@@_S@@;@Z@@@@@@`6module_type_extensions|]^3@б%transг)$boolj6?k6C@@ @@@'3llllllll@{:@A@@б@г(t_module{6G|6O@@ @@@(@@г$list6s6w@г<0t_type_extension.Odoc_extension6S6a@ 6b6r@@@@@@)1 @@@ @@@+6@@@+@@,9. @@JԠB@@@- @@.@68(@@ @+@$ Returns the list of type extensions of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.xx@@@@@@@T@@;@4Ԑ@@@@@@`1module_exceptions} @б%transг$bool(,@@ @@@/3@{:@A@@б@г(t_module08@@ @@@0@@г$listW[@г+t_exception.Odoc_exception<J@ KV@@@@@@11 @@@ @@@36@@@+@@49. @@JNB@@@5 @@6@*!(@@ @-+@ Returns the list of exceptions of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.:\\;@@@@@@@SU@@;@N@@@@@@`.module_classes~QR@б%transг$bool^_@@ @@@73````````@{:@A@@б@г}(t_moduleo p@@ @@@8@@г$list|)}-@гd't_class*Odoc_class @ !(@@@@@@91 @@@ @@@;6@@@+@@<9. @@JȠB@@@= @@>@(@@ @+@ Returns the list of classes of a module. @param trans indicates if, for aliased modules, we must perform a transitive search...[@@@@@@@V@@;@(Ȑ@@@@@@`2module_class_types@б%transг$bool@@ @@@?3@{:@A@@б@г(t_module@@ @@@@@@гu$list@г,t_class_type*Odoc_class@  @@@@@@A1 @@@ @@@C6@@@+@@D9. @@JBB@@@E @@F@(@@ @!+@ Returns the list of class types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search../9@@@@@@@GW@@;@B@@@@@@`.module_modulesEF@б%transг$boolRS@@ @@@G3TTTTTTTT@{:@A@@б@гq(t_modulecd@@ @@@H@@г$listpq@г(t_modulez{@@ @@@I(@@@@@@K- @@@"@@L0%@@A9@@@M @@N7@@ @"@ Returns the list of modules of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.V@@@@@@@X@@2@@@@@@@W3module_module_typesX\Xo@б%transг$boolXyX}@@ @@@O3@r:@A@@б@г⠐(t_moduleXX@@ @@@P@@г`$listXX@г預-t_module_typeXX@@ @@@Q(@@@@@@S- @@@"@@T0%@@A$9@@@U @@V7Xr@@ @XX"@t Returns the list of module types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.*@@@@@@@)Y@@2@$@@@@@@W7module_included_modules',0(,G@б%transг$bool4,Q5,U@@ @@@W366666666@r:@A@@б@гS(t_moduleE,YF,a@@ @@@X@@гѠ$listR,uS,y@гJ/included_module\,e],t@@ @@@Y(@@@@@@[- @@@"@@\0%@@A9@@@] @@^7q,J@@ @t,,"@吠 Returns the list of included module of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.zz@@@@@@@Z@@2@@@@@@@W/module_comments   @б%transгd$bool & *@@ @@@_3@r:@A@@б@гĠ(t_module . 6@@ @@@`@@гB$list J N@гA$text*Odoc_types : D@  E I@@@@@@a1 @@@ @@@c6@@@+@@d9. @@JB@@@e @@f@ (@@ @  +@_ Returns the list of comments of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.OO}@@@@@@@[@@;@o@@@@@@`6module_type_parameters@б%transгޠ$bool @@ @@@g3!!!!!!!!@{:@A@@б@г.-t_module_type01@@ @@@h@@г$list=D>H@В@гq0module_parameterKL)@@ @@@i,@@@г&optionZ<[B@г$text*Odoc_typesh,i6@ l7m;@@@@@@jN @@@ @@@lS@@@@/@ @@mZ4$@@@I @@@o_G@@@U@@pcXJ@@tl@@@q @@rjR@@ @U@ Access to the parameters, for a functor type. @param trans indicates if, for aliased modules, we must perform a transitive search.II{@@@@@@@\@@e@@@@@@@1module_parameters@б%transг$bool@@ @@@s3@:@A@@б@г⠐(t_module @@ @@@t@@г`$list 6 :@В@г0module_parameter  @@ @@@u,@@@г`&option . 4@г|$text*Odoc_types    (@  ) -@@@@@@vN @@@ @@@xS@@@@/@ @@yZ4$@@@I @@@{_( G@@@U@@|cXJ@@tWl@@@} @@~j3R@@ @6U@ Access to the parameters, for a functor. @param trans indicates if, for aliased modules, we must perform a transitive search.C ; ;D h @@@@@@@\]@@e@W@@@@@@5module_all_submodulesZ  [  @б%transг&$boolg  h  @@ @@@3iiiiiiii@:@A@@б@г(t_modulex  y  @@ @@@@@г$list ! !@г(t_module   !@@ @@@(@@@@@@- @@@"@@0%@@AȠ9@@@ @@7  @@ @  "@ access to all submodules and submodules of submodules ... of the given module. @param trans indicates if, for aliased modules, we must perform a transitive search.!!![!@@@@@@@^@@2@(Ȑ@@@@@@W6module_type_is_functor!!!!@б@гԠ-t_module_type!!!!@@ @@@3@p8@A@@г$bool!!!!@@ @@@@@@@@@@@!! @a ` The module type is a functor if it is defined as a functor or if it is an alias for a functor. !!!"M@@@@@@@_@@@q@@@@@@11module_is_functor"O"S"O"d@б@г-(t_module"O"g "O"o@@ @@@3!!!!!!!!@J_8@A@@г$bool."O"s/"O"w@@ @@@@@@@@@@@9"O"O @ [ The module is a functor if it is defined as a functor or if it is an alias for a functor. F"x"xG"x"@@@@@@@_`@@@Z@@@@@@12module_type_values]""^""@б%transг)$boolj""k"#@@ @@@3llllllll@La:@A@@б@гy-t_module_type{"#|"#@@ @@@@@г$list"#("#,@гN't_value*Odoc_value"#"#@ "# "#'@@@@@@1 @@@ @@@6@@@+@@9. @@JԠB@@@ @@@""(@@ @""+@$ Returns the list of values of a module type. @param trans indicates if, for aliased modules, we must perform a transitive search.#-#-#^#@@@@@@@a@@;@4Ԑ@@@@@@`1module_type_types####@б%transг$bool####@@ @@@3@{:@A@@б@г-t_module_type####@@ @@@@@г$list#$#$@г&t_type)Odoc_type####@ ###$@@@@@@1 @@@ @@@6@@@+@@9. @@J NB@@@ @@@*##(@@ @-##+@ ~ Returns the list of types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.:$$;$1$@@@@@@@Sb@@;@N@@@@@@`;module_type_type_extensionsQ$$R$$@б%transг$bool^$$_$$@@ @@@3````````@{:@A@@б@гm-t_module_typeo$$p$$@@ @@@@@г$list|$$}$$@г00t_type_extension.Odoc_extension$$$$@ $$$$@@@@@@1 @@@ @@@6@@@+@@9. @@J ȠB@@@ @@@$$(@@ @$$+@ Returns the list of type extensions of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.$$%)%@@@@@@@c@@;@(Ȑ@@@@@@`6module_type_exceptions%%%%@б%transг$bool%%%%@@ @@@3@{:@A@@б@г砐-t_module_type%%%%@@ @@@@@гu$list%%%%@г+t_exception.Odoc_exception%%%%@ %% %%@@@@@@1 @@@ @@@6@@@+@@9. @@J BB@@@ @@@%%(@@ @!%%+@ Returns the list of exceptions of a module. @param trans indicates if, for aliased modules, we must perform a transitive search..%%/&&j@@@@@@@Gd@@;@B@@@@@@`3module_type_classesE&l&pF&l&@б%transг$boolR&&S&&@@ @@@3TTTTTTTT@{:@A@@б@гa-t_module_typec&&d&&@@ @@@@@г$listp&&q&&@гX't_class*Odoc_class~&&&&@ &&&&@@@@@@1 @@@ @@@6@@@+@@9. @@J B@@@ @@@&&(@@ @&l&l+@ Returns the list of classes of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.&&&'E@@@@@@@e@@;@@@@@@@`7module_type_class_types'G'K'G'b@б%transг$bool'e'n'e'r@@ @@@3@{:@A@@б@г۠-t_module_type'e'v'e'@@ @@@@@гi$list'e''e'@г,t_class_type*Odoc_class'e''e'@ 'e''e'@@@@@@1 @@@ @@@6@@@+@@9. @@J 6B@@@ @@@'e'g(@@ @'G'G+@ Returns the list of class types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search."''#'(-@@@@@@@;f@@;@6@@@@@@`3module_type_modules9(/(3:(/(F@б%transг$boolF(/(PG(/(T@@ @@@3HHHHHHHH@{:@A@@б@гU-t_module_typeW(/(XX(/(e@@ @@@@@г㠐$listd(/(re(/(v@г|(t_modulen(/(io(/(q@@ @@@(@@@@@@- @@@"@@0%@@A 9@@@ @@7(/(I@@ @(/(/"@ Returns the list of modules of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.(w(w((@@@@@@@g@@2@@@@@@@W8module_type_module_types()()@б%transгv$bool))&))*@@ @@@3@r:@A@@б@гƠ-t_module_type)).));@@ @@@@@гT$list))M))Q@гݠ-t_module_type))?))L@@ @@@(@@@@@@- @@@"@@0%@@A 9@@@ @@7))@@ @(("@h Returns the list of module types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.)R)R))@@@@@@@h@@2@x@@@@@@W/included_moduleP**#Q**2@@ @@@(@@@@@@- @@@"@@0%@@A 9@@@ @@7e**@@ @h))"@ِ Returns the list of included module of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.u*8*8v*m*@@@@@@@i@@2@@@@@@@W4module_type_comments****@б%transгX$bool****@@ @@@3@r:@A@@б@г-t_module_type***+@@ @@@@@г6$list*+*+@г5$text*Odoc_types*+*+@ *+*+@@@@@@1 @@@ @@@6@@@+@@9. @@J B@@@ @@@**(@@ @**+@S Returns the list of comments of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.+++G+@@@@@@@j@@;@c@@@@@@`5module_type_functions++++@б%transгҠ$bool++++@@ @@@3@{:@A@@б@г"-t_module_type$++%++@@ @@@@@г$list1++2++@г't_value*Odoc_value?++@++@ C++D++@@@@@@1 @@@ @@@6@@@+@@9. @@J }B@@@ @@@Y++(@@ @\+++@͐ Returns the list of functional values of a module type. @param trans indicates if, for aliased modules, we must perform a transitive search.i++j,3,@@@@@@@k@@;@}@@@@@@`9module_type_simple_values,,,,@б%transгL$bool,,,,@@ @@@3@{:@A@@б@г-t_module_type,,,,@@ @@@@@г*$list,,,,@гq't_value*Odoc_value,,,,@ ,,,,@@@@@@1 @@@ @@@6@@@+@@9. @@J B@@@ @@@,,(@@ @,,+@G Returns the list of non-functional values of a module type. @param trans indicates if, for aliased modules, we must perform a transitive search.,,-'-@@@@@@@l@@;@W@@@@@@` , {1 Functions for modules and module types}  -- --@@@@@@3@r1@A2module_all_classes  -- --@б%transг٠$bool -- --@@ @@@@@б@г7(t_module) --* --@@ @@@+@@г$list6 --7 --@г't_class*Odoc_classD --E --@ H --I --@@@@@@K @@@ @@@P@@@+@@S. @@H@@@@ @@Z^ --(@@ @a --+@Ґ The list of classes defined in this module and all its modules, functors, .... @param trans indicates if, for aliased modules, we must perform a transitive search.n ..o .S.@@@@@@@m@@;@@@@@@@z7module_type_all_classes....@б%transгQ$bool....@@ @@@3@:@A@@б@г-t_module_type....@@ @@@@@г/$list././@г't_class*Odoc_class....@ ....@@@@@@1 @@@ @@@6@@@+@@9. @@JB@@@ @@@..(@@ @..+@L The list of classes defined in this module type and all its modules, functors, .... @param trans indicates if, for aliased modules, we must perform a transitive search.///]/@@@@@@@n@@;@\@@@@@@`@A]@[{@@UAC@=O@@"A@A,B@B@7XB@1B@+cB@B@!5B@B@B@|@\@@2@@V@6@@l@@I@)@b@B @  r@ R @  @ b @  @ r @  @  <@  @  U@ 5@@@[@;@@|$@@4@@D@$@f@F@@_@@\@@@3dddddddd@@A@ H************************************************************************mA@@nA@L@ H sBMMtBM@ H OCaml yCzC@ H DD3@ H Sebastien Hinderer, projet Cambium, INRIA Paris E44E4@ H FF@ H Copyright 2022 Institut National de Recherche en Informatique et GG@ H en Automatique. HHg@ H IhhIh@ H All rights reserved. This file is distributed under the terms of JJ@ H the GNU Lesser General Public License version 2.1, with the KKN@ H special exception on linking described in the file LICENSE. LOOLO@ H MM@ H************************************************************************NN5@ ?* Representation and manipulation of modules and module types. ,* {1 Types}  -* To keep the order of elements in a module. )0* {1 Functions}  <* Returns the list of values from a list of module_element. ' ;* Returns the list of types from a list of module_element.  E* Returns the list of type extensions from a list of module_element. M @* Returns the list of exceptions from a list of module_element. ࠠ =* Returns the list of classes from a list of module_element. s A* Returns the list of class types from a list of module_element.  =* Returns the list of modules from a list of module_element.  B* Returns the list of module types from a list of module_element. > D* Returns the list of module comment from a list of module_element. Ѡ F* Returns the list of included modules from a list of module_element. m * Returns the list of elements of a module type. @param trans indicates if, for aliased modules, we must perform a transitive search. * Returns the list of elements of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.  * Returns the list of values of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. * Returns the list of functional values of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. * Returns the list of non-functional values of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.+ * Returns the list of types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. * Returns the list of type extensions of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. = * Returns the list of exceptions of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. Ơ * Returns the list of classes of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. O * Returns the list of class types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. ؠ * Returns the list of modules of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. j * Returns the list of module types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. * Returns the list of included module of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. * Returns the list of comments of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.  * Access to the parameters, for a functor type. @param trans indicates if, for aliased modules, we must perform a transitive search. v * Access to the parameters, for a functor. @param trans indicates if, for aliased modules, we must perform a transitive search.ՠ * access to all submodules and submodules of submodules ... of the given module. @param trans indicates if, for aliased modules, we must perform a transitive search.g a* The module type is a functor if it is defined as a functor or if it is an alias for a functor. ! \* The module is a functor if it is defined as a functor or if it is an alias for a functor. ۠ * Returns the list of values of a module type. @param trans indicates if, for aliased modules, we must perform a transitive search.d * Returns the list of types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. * Returns the list of type extensions of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.v * Returns the list of exceptions of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. * Returns the list of classes of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. * Returns the list of class types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. * Returns the list of modules of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. * Returns the list of module types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.5 * Returns the list of included module of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.Ǡ * Returns the list of comments of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.P * Returns the list of functional values of a module type. @param trans indicates if, for aliased modules, we must perform a transitive search.٠ * Returns the list of non-functional values of a module type. @param trans indicates if, for aliased modules, we must perform a transitive search.b -* {1 Functions for modules and module types} G * The list of classes defined in this module and all its modules, functors, .... @param trans indicates if, for aliased modules, we must perform a transitive search.ݠ * The list of classes defined in this module type and all its modules, functors, .... @param trans indicates if, for aliased modules, we must perform a transitive search.f@,./ocamlc.opt)-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  J/home/ci/builds/workspace/precheck/flambda/false/label/ocaml-ubuntu-latest <10/.-,+*)('&%$#"! @@0AڨBw 3        @ @@(Asttypes0>n{T8cئ5Build_path_prefix_map0z HkGs8CamlinternalFormatBasics0%FU(Q/Tu0CamlinternalLazy0&͂7 Pˆ*Format_doc0]mWϓ:Mݠ%Ident0">WA+9*X,Identifiable0 {d\FX'`(Location0a7cK_H%9)Longident0s `7mɕcE0ob]6>Vê>0_"#C{O0>@ӽX4Idj0?*sR(6]!$. 0z8Ph<)@װʕ) P Z@8@7/]@  Ɠ“@ k @N  @Y@ QΓzm@0@@9&@@@8@@J.@  @ - g`˰ ,-@ @@ 9 @Ef F@ ()@F+/@֕2_.@ 6 YH@ @,@@s@ ,/@̐-ؓ@Ε@@P@@