Caml1999T037K}3(C)Odoc_scan*ocaml.text&_none_@@A Scanning of modules and elements. The class scanner defined in this module can be used to develop generators which perform controls on the elements and their comments. 5ocamldoc/odoc_scan.mlP77U@@@@@@3@@@@@@#intA;@@#intA@@@@@;@A@$charB;@@$charA@@@@@A@A@&stringQ;@@&stringA@@@@@G@@@%bytesC;@@%bytesA@@@@@M@@@%floatD;@@%floatA@@@@@S@@@$boolE;@@%falsec@@]@$trued@@c@@@A@@@@@d@A@$unitF;@@"()e@@n@@@A@@@@@o@A@ #exnG;@@@A@@@@@s@@@#effH;@@O@A@A@@@@@@|@@@,continuationI;@@Q@@P@B,continuationA@nY@@@@@@@@@%arrayJ;@@R@A%arrayA@@@@@@@@@ $listK;@@S@A"[]f@@@"::g@@@T@@@ @@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\#$@@@A366@'FailureY#,@'@@A<??@0Invalid_argumentX#5@0@@AE$H#H@-Match_failureV#>@@=@9@;@@a@@AV5Y4Y@)Not_foundZ#O@@@A^=a<a@-Out_of_memoryW#W@@@AfEiDi@.Stack_overflow^#_@@@AnMqLq@.Sys_blocked_io_#g@@@AvUyTy@)Sys_error[#o@j@@A^]@:Undefined_recursive_modulea#x@@w@s@u@@h@@Aon@:Continuation_already_takenb#@@@Awv@&Stdlib@@Р*Odoc_types*Odoc_typesWW@@ 3@@@@@A3@@@W@@ @/A@'scanner\\@'A&A%AБఠ$self(]]@AA]]@@*scan_valueA@*Odoc_value't_value@@@C@Y@@Z$unitF@@@(C@[@@\C@W@@XC@T-scan_type_preA@)Odoc_type&t_type@@@ C@@@@@@C@@@C@@@C@2scan_type_recfieldA@&t_type@@@C@ @@ @-,record_field@@@ "C@ @@ L@@@C@ @@ !C@ @@ C@ @@ C@ /scan_type_constA@*@@@C@ )@@ *@T3variant_constructor@@@ 1C@ -@@ .s@@@C@ /@@ 0C@ +@@ ,C@ '@@ (C@ $)scan_typeA@pQ@@@ .scan_exceptionA@.Odoc_exception+t_exception@@@ C@ @@ @@@(C@ @@ C@ @@ C@ .scan_attributeA@+t_attribute@@@ C@ @@ @@@!@@ ?C@ :@@ ;C@ 7 scan_type_extension_constructorsA@0t_type_extension@@@ KC@ G@@ HX@@@(C@ I@@ JC@ E@@ FC@ B3scan_type_extensionA@0t_type_extension@@@ VC@ R@@ SC@ T@@ UC@ P@@ QC@ M2scan_class_commentA@$text@@@ aC@ ]@@ ^@@@C@ _@@ `C@ [@@ \C@ X.scan_class_preA@*Odoc_class't_class@@@C@ h@@ i@@@ aC@ j@@ kC@ f@@ gC@ c3scan_class_elementsA@*Odoc_class't_class@@@ 'C@@@@@@(zC@@@C@@@C@*scan_classA@C@@@C@@@C@@@C@7scan_class_type_commentA@?$text@@@C@@@@@@!]C@@@C@@@C@3scan_class_type_preA@i,t_class_type@@@C@@@@@@"C@@@C@@@C@8scan_class_type_elementsA@g,t_class_type@@@!C@@@+@@@(C@@@C@@@C@/scan_class_typeA@C@@@C@@@C@@@C@3scan_module_commentA@$text@@@C@@@X@@@(C@@@C@@@C@/scan_module_preA@V(t_module@@@C@@@S@@@'bC@@@C@@@C@4scan_module_elementsA@+Odoc_module(t_module@@@'(C@@@@@@+.C@@@C@@@C@+scan_moduleA@C@@@C@@@C@ @@C@ 8scan_module_type_commentA@ $text@@@C@@@Q@@@'C@@@C@@@C@4scan_module_type_preA@-t_module_type@@@(C@$@@%@@@*C@&@@'C@"@@#C@9scan_module_type_elementsA@h-t_module_type@@@*C@/@@0@@@(`C@1@@2C@-@@.C@*0scan_module_typeA@C@9@@:C@;@@@@?@@C@5@6C@+@,C@ @!C@@C@ @ C@@C@@C@@C@@C@@C@@C@@C@@C@@C@ d@ eC@ Y@ ZC@ N@ OC@ C@ DC@ 8@ 9C@ @ C@ @ C@ @ C@ @ C@ ?@ @C@ 4@ 5C@ %@ &C@ @ C@@C@U@VC@Ld@@MC@R3@zi;@@@ApAouAtAAAAmAl8A7VAUAANAMlAkAAAPAOAgAfAAAAAA0A/NAMmAlPAOA@@+B@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+B@E@@F@@@@g\h#1#6@@@@@A#@Y@@@A@@@@J@@I@@H@@G@Ȱ@A@@@M@@L@@K@AB&@A@ @@@Q@@P@@O@@N@@A@@@T@@S@@R@A@A@@@@X@@W@@V@@U@@A@@@[@@Z@@Y@ABC@A@@@@_@@^@@]@@\@@A@@@b@@a@@`@A۰@A@@@@f@@e@@d@@c@B-@A@'@@@j@@i"@@h@@g@CDU@A@O@@@n@@mJ@@l@@k@@A@@@@r@@q@@p@@o@A@A@@@@v@@u @@t@@s@s@A@o@@ym@@x@@w@ABϰ@A@@@@}@@|@@{@@z@@A@@@@@@@~@@A@@@@@@@@ABϰ@A@@@@@@@@@@@<@A@8@@6@@@@@A@A@@@@@@@@@@@j@A@f@@_@@@@@A@A@@@@@@@@@@@BCDEF@A@@@@@@@@@@@@A@@@@ @@@@@@@@@@@@@A@@@@@@@@@@@ABA@A@;@@@@@8@@@@@h@A@b@@@@@_@@@@@AC@A@@@@@@@@@@@|@A@x@@@l@@@@@i@@@@@@@Aʰ@A@@@@@@@@@@@BDG'*undef*C@@@+B@I@@E#@@@J@@K@@;@@AA A dAc-A,MALAAAA6A5VAUAAXAWAzAyAAARAQA:A9AAAAAAA(A'@@,s@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,B@G@@H@@@@@@@@ @@@@)selfpat-*)BA:@:@6__@AA࣠@&self-1Aఠ&self-*SRA0EA@P3@_V@mn@Aqr@ʠ@AB@@A@hi@ABC23@RS@A@@ABHI@gh@A@@ABCDݠ@LM@A@bc@AB@@A@@ABC@  @A)*@HI@Afg@IJ@@ABCDEF@!1@tCA`A@m@wDA@@@SSJyFAK@I@@K@࣠@%paramA@m_n_@г*Odoc_value|_}_@__@@@@@@3@nt@r@q|@s@)@@ @@__@@@@@@ @@@@ภ"()__@;>@@@N@@@@A@@A@@@@@@@@@@ A@A@@@@@@@@@@@@-@ @@@@@@@@@@@@@@@@C@@_)@@װaa@AA࣠@&self-1AఠGA@3@@@@  ıHA@@@@࣠@zA@aa@г렡)Odoc_typeaa!@a"a(@@@@@@3@+9@@*3:@@(@@ @@aa)@@@ @@@ @@@@ภ$truea,a0@;@@@M@@@AB@@A(@@@ @@@@@  @ A@A@@@,@@@@@'@@@@.@ @@i@@#@;@@@"@@!6@@ @@@@C@b@=a*@@2Cc2=Dc2O@AA࣠@&self-1Aఠ<=;jIA<@3QPPQQQQQ@:@@@  >mJA?@@@?@࣠@"_tAcc2Pdc2R@|KA@@L3dccddddd@O@S@!@T@@@@@  @@A@sc2Ttc2U@гzM)Odoc_typec2Xc2a@Vc2bc2n@@@@@@E3@&2t@)@*@@ @@c2Sc2o@@@h@@@J @@@@ภc2rc2t@@@@@@@N@AA@E A@@@@@f@@@@e@@d@@c@@b@@aN@@@@@w@@@v@@@@u@@t@@s@@r@@q@@pC@ht@c26,@@dudu@AA࣠@&self-1AఠDZLA@3@@@@  ʱMA@@@@࣠@"_tAdudu@ NA@@3@-@@!.@@@@@@  @@A@du du@г)Odoc_type du du@ du du@@@@@@3        @&2@)@*@@ @@ du du@@@@@@ @@@@ภ )du *du@@@@@@@@AA@E A@@@@@@@@@@@@@@@@@N@@@}@@@@@@@@@@@@@@@@@@@C@t@ Uduy,@@ [e \e@AA࣠@&self-1AఠTUS OAT@3 i h h i i i i i@R@@@  V PAW@@@W@࣠@!tA {e |e@ QA@гe)Odoc_type e e@l e e@@@t@@@3        @|.@@-6@@+@@ @@ e e@@@/@@@ @@@@ ఐI$self f f@@@3        @@@@@@:@;@@@b  f@@@@@@@@@@@@ఐT!t f f@@@@@@F@F@$@@( @@%@ఐj!t g  g @0@@)Odoc_type&t_type@@@@=@)Odoc_type g  g &@'ty_kind g ' g .@@3'ty_kind@@@ )type_kind@@@ @@C#3'ty_name $$Name!t@@@ @@@ @A6ocamldoc/odoc_type.mliB > @B > Q@@*a@3'ty_info&optionL*Odoc_types$info@@@ @@@ A@A @AC R TC R }@@?b@3-ty_parameters.$listK@%Types)type_expr@@@ @ (Variance!t@@@ @@ @@@ @@BC@A9D ~ :D ~ @@bc@Q3*ty_privateQi,private_flag@@@ @@DN@ADF  EF  @@me@3+ty_manifest\Cx-type_manifest@@@ @@@ @@E^@ATG  UG  @@}f@3&ty_loclM(location@@@ A@Fj@A`H  aH  <@@g@3'ty_codex_&stringQ@@@ @@@ A@G{@AqI = ?rI = _@@h@@AuE  vE  @@d@@@@@@@Ġ)Odoc_type h4> h4G@-Type_abstract h4H h4U@@;-Type_abstract@@@@@@@BC@App@@@T@@@ @@@@@3        @@@@@@@@@@@ภ  h4Y h4[@@@@ g@@@!@Ġ)Odoc_type i\f i\o@,Type_variant i\p i\|@@;,Type_variant2@3variant_constructor@@@@@@@A@BC@Aqq@@@U@ఠ!lĠ i\} i\~@ RA@@@@@@@@3        @F@@@@@. @@@@@@@@@@@@@డ w$List$iter i\ i\@  i\ i\@@@@!a@{@@ :@@@@@@@@#@@@@@@@@@@@@@(list.mli@@,Stdlib__ListU@)$@@@@@@@G@@@ \@@@@@@@@E@@@@@>@@@@@@@3 N M M N N N N N@jc@d@e@@@@ ఐ$self bi\ ci\@G@@ @ gi\@@@ '@@@ @@@@@ @@@@"@@ఐ!t }i\ ~i\@˰@@ 9/@@ i\ i\@@@ 5@@@@@ 2@@9@@ఐ!l i\ i\@C@@`@@@H@H@N@@ @@O@Ġ)Odoc_type j j@+Type_record j j@@;+Type_record@,record_field@@@@@@@AABC@Arr@@@V@ఠ!lŠ j j@ SA@@@@@@@@&@@@- @@@@@*@@@@@-@@@డ V$List$iter j j@  j j@@߰@@@@ @@@G@@@ @@@@@@@@@@@@@@@@@@@@3        @^HA@B@C@@@@ ఐ$self j !j@@@ [@˰ %j@@@ @@@ @@@@@ @@@@"@@ఐà!t ;j m[A ?@ @@?@࣠@A@`q  /aq  0@г  *Odoc_valueoq  3pq  =@ sq  >tq  F@@@@@@3vuuvvvvv@a+ @e@*3 @f@(@@ @@q  .q  G@@@ @@@ @@@@ภq  Jq  L@@@@ @@@@A@ A@@@ @@@@@ @@@@'@ @@ @@@ @@@@@ @@@@@@C@[@q  $@@ Űr M Xr M l@AA࣠@&self-1Aఠ\A@ 3@@@@  ]A @ @@@࣠@gA@r M nr M o@г  ٠+Odoc_moduler M rr M }@ r M ~r M @@@@@@3@+ &@@*3 '@@(@@ @@r M mr M @@@ @@@  @@@@ภfr M r M @e@@@ \@@@$@A@ A@@@ @@@/@@. @@-@@,'@ @@ O@@<@ "@@@;@@: @@9@@8@@7C@1[@#r M Q$@@76: Scan of a type extension 3t  4t  @@@@@@@ +:z  ;z  @AA࣠@&self-1Aఠ342a^A3@ 3HGGHHHHH@1@@@  5d_A 6@ @@6@࣠@A@Wz  Xz  @г  A.Odoc_extensionfz  gz  @ Jjz  kz  @@@@@@P3mllmmmmm@X+ @\@*3 @]@(@@ @@wz  xz  @@@ ^@@@U @@@@ภqz  z  @p@@@p@@@Y@A@ A@@@ y@@@d@@c v@@b@@a'@ @@ @@q@ @@@p@@o @@n@@m@@lC@f[@z  $@)ocaml.doc Override this method to perform controls on the extension's type, private and info. This method is called before scanning the extensions's constructors. @return true if the extension's constructors must be scanned.v  y i @@@@@@@ } L W} L w@AA࣠@&self-1!Aఠ `A@3@@@@  aA@@@@࣠@!x"A} L y} L z@bA@г [ .Odoc_extension} L |} L @ } L } L @@@@@@3@02@@/83@@-@@ @@} L x} L @@@ @@@ @@@@డ}$List$iter~  ~  @ ~  ~  @@@@@@ @@@E@@@A@@@@@@@@ *@@@@@ #@@@@@@@332233333@?bU@@@@\@]@@@@ ఐ$selfH~  I~  @ -@@@ M~  @@@ @@@@@ @@@@డ 6extension_constructors.Odoc_extensione~  f~  @ i~  j~  @@@.Odoc_extension0t_type_extension@@@ @@ $listK7t_extension_constructor@@@ @@@ @@ @;ocamldoc/odoc_extension.mlim}}m}@@X@&!@@@@@@@@@@@@@@@@c@@ఐɠ!x~  ~  @m@@9@@@G@G@w@@~  ~  @@ @@@F@G@@@ @@ C@#HC@C@@A@A@@@ @@@@@ @@@@@ @@@@@ @@@@@ @@@@@@C@ @} L P.@5퐠 A This method scans the constructors of the given type extension. |  |  K@@@@@@@ B  B  @AA࣠@&self-1$Aఠ #  cA @83@ @@@   dA; @;@@ @࣠@!x%AB  B  @*eA@г Š.Odoc_extension"B  #B  @ ΰ&B  'B  @@@@@@3)(()))))@ 0f@ @/8g@ @-@@ @@3B  4B  @@@ @@@ @@@@ ఐK$selfGC  HC  @ ,@@3GFFGGGGG@B5@@@@<@=@@@  RC  -@@@<@@@@@9@@@@ఐV!xdC  .eC  /@@@P@@@ F@ F@ $@@( @@N%@ ఐ~$selfzC  5{C  9@ _@@3@ +C  Z@@@M@@@@@J@@=@@ఐ!xC  [C  \@G@@a@@@F@F@Q@@" @@_R@@C   @@aT@l A@pA@@@V@@@&@@%S@@$@@#@ @@@@3@e@@@2@@1b@@0@@/@@.C@(@B  +@͐ Scan of a type extension. Should not be overridden. It calls [scan_type_extension_pre] and if [scan_type_extension_pre] returns [true], then it calls scan_type_extension_constructors.@  A Y @@@@@@@ސ2 Scan of a class. F _ aF _ x@@@@@@@I  I  @AA࣠@&self-1'Aఠ &  ڱ fA @)3@ @@@   ݱ gA, @,@@ @࣠@ (A@I  I  @гo I   I  @@@@@G3        @ "I@ @!*J@ @@@  @@I  I  @@@@@@L @@@@ภ "I  #I  @ @@@ @@@P@A@ A@@@@@@[@@Z@@Y@@X'@ @@r@@h@@@@g@@f@@e@@d@@cC@]R@FI  $@W # Scan of a comment inside a class. TH z ~UH z @@@@@@@[N\N@AA࣠@&self-1*Aఠ T) U ShA T@3ihhiiiii@ R@@@   ViA W@@@ W@࣠@ +A@xNyN@г*Odoc_classNN@NN@@@@@@|3@ y+@ }@*3@ ~@(@@ @@NN@@@@@@ @@@@ภ NN@ @@@ @@@@A@ A@@@/@@@@@*@@@@'@ @@@@@>@@@@@9@@@@@@C@[@N$@!ِ Override this method to perform controls on the class comment and params. This method is called before scanning the class elements. @return true if the class elements must be scanned.K  Mi@@@@@@@ERITRIg@AA࣠@&self-1-Aఠ ,  ձjA @$3@ @@@   رkA' @'@@ @࣠@!c.ARIhRIi@lA@@_3@ ;@ @!<@ @@@@@  @@డ$List$iterSlrSlv@ SlwSl{@@@@@@-class_element@@@E@@@E@@@@@@@@.@@@@@'@@@@@@@376677777@:F@=@>@@@@࣠@#ele/AKT|LT|@dmA@@*3LKKLLLLL@@@@@@@ఐ#ele[U\U@9@@@@:3\[[\\\\\@&@@@Ġ*Odoc_classmVnV@/Class_attributerVsV@@;/Class_attributeP@@@ @*Odoc_value+t_attribute@@@@A@@C@A7ocamldoc/odoc_class.mliWW@@@B@ఠ!a0VV@nA@@@@@3@8@@@@@,@@t@@t@@@ ఐ$selfVV@ @@3@I@@@@@ V@@@@@@@@@@ @@ఐ.!aVV@@@@@@J@J@!@@% @@@@@%@Ġ*Odoc_classWW@,Class_methodWW@@;,Class_methodk@h(t_method@@@@AA@C@AfXgX@@@EC@ఠ!m1WW@oA@@@@@3@@@@@@&@@@@@@@ ఐ!$self W W@ @@D3      @@@@@@ հW$@@@5@@@@@2@@ @@ఐ.!m#W%$W&@@@I@@@J@J@!@@% @@e"@Ġ*Odoc_class:X'3;X'=@-Class_comment?X'>@X'K@@;-Class_comment@*Odoc_types$text@@@@AB@C@AYY4@@@D@ఠ!t2YX'LZX'M@rpA@@@@@@@@'@@<@@<@@@ ఐ$selflX'QmX'U@ Q@@3lkklllll@@@@@@ KtX'h@@@@@@@@ @@ @@ఐ-!tX'iX'j@@@"@@@ J@J@!@@% @@"@@@AU @@@@@ 3@7@@@T|Ykt@@@}@@@@@@@F@ F@ V@@డ$.class_elements*Odoc_classZu~Zu@ ZuZu@@%trans&optionL$boolE@@@^@@@]@@\@0@@@[@@Z$listK@@@Y@@@X@@W@@V@]R  ^R  H@@@@@{@@ B@@@ A@@ @@@ ?@@ >C@ 9]@LRIM(@] ^ This method scans the elements of the given class. A VOIR : scan des classes heritees.ZP[QH@@@@@@@a^<Gb^<Q@AA࣠@&self-1AఠZ[YrAZ@3onnooooo@X@@@  \sA]@@@]@࣠@!cA^<R^<S@tA@@3@m@q@!@r@@@@@  @@ ఐ-$self^<Y^<]@~@@3@$@@@@@t^<l@@@ @@@ X@@ W@@ V @@ఐ5!c^<m^<n@@@@@@@)@ ఐV$self^<t^<x@@@)@^<@@@*@@ e @@ d0@@ఐX!c^<^<@:@@=@@@@.>@@^<V@@0@@\A@` A@@@'@@ s%@@ r@@ qb@@@#@@ ~@3@@ }1@@ |@@ {@@ zC@ u@^<@@M Scan of a class. Should not be overridden. It calls [scan_class_pre] and if [scan_class_pre] returns [true], then it calls scan_class_elements.\];@@@@@@@7 Scan of a class type. ``@@@@@@@Rcc@AA࣠@&self-1AఠAuA@a3(''(((((@@@@  DvAd@d@@@࣠@A@7c8c@гhjBc Cc@@@@@ 3DCCDDDDD@/"@3@!*@4@@@  @@NcOc@@@|@@@  @@@@ภZc[c@@@@@@@ @A@ A@@@@@@ @@ @@ @@ '@ @@@@ @@@@ @@ @@ @@ @@ C@ R@~c$@ ( Scan of a comment inside a class type. bb@@@@@@@hh@AA࣠@&self-1AఠwA@3@@@@  xA@@@@࣠@DA@hh@г/Ơ*Odoc_classhh!@ϰh"h.@@@@@@ 3@+@@*3@@(@@ @@hh/@@@@@@  @@@@ภʰh2h6@@@@@@@ @A@ A@@@@@@ @@ @@ @@ '@ @@,@@ @ @@@ @@  @@ @@ @@ C@ [@h$@Y Override this method to perform controls on the class type comment and form. This method is called before scanning the class type elements. @return true if the class type elements must be scanned.eg@@@@@@@ll@AA࣠@&self-1Aఠ @@@!@@@!@@!@@ఐ䠐"cttt@@@@@tt@@@@@!F@!G@!@@ @@C@#*C@"C@!@A@A@@@,@@!%@@!@@!@@@q@@!@8@@!1@@!@@!@@!C@!@Bl(@ S c This method scans the elements of the given class type. A VOIR : scan des classes heritees.Pj8<Qkx@@@@@@@=WxXx@AA࣠@&self-1AఠPĠQO~@AP@3eddeeeee@N@@@  RAAS@@@S@࣠@"ctAwxxx@BA@@W3xwwxxxxx@c@g@!@h@@@@@  @@ ఐ-$selfxx@t@@3@$q@@@@@bx@@@@@@!@@!@@! @@ఐ5"ctxx@@@@@@@@ ఐV$selfxx@@@)@x@@@@@" @@" 0@@ఐX"ctxx!@:@@=@@@@>@@x@@@@\A@` A@@@@@"@@"@@"b@@@@@"$@@@"#@@""@@"!@@" C@"@x@ C Scan of a class type. Should not be overridden. It calls [scan_class_type_pre] and if [scan_class_type_pre] returns [true], then it calls scan_class_type_elements.v  w`@@@@@@@  2 Scan of modules.  z#% z#<@@@@@@@}lw}l@AA࣠@&self-1Aఠ Ǡ 7CA @W3@@@@   :DAZ @Z@@ @࣠@A@-}l.}l@г8}l9}l@@@@@"83:99:::::@%"w@)@!*x@*@@@  @@D}lE}l@@@@@@"= @@@@ภP}lQ}l@@@@@@@"A@A@ A@@@)@@@"L@@"K'@@"J@@"I'@ @@@@"Y@8@@@"X@@"W6@@"V@@"U@@"TC@"NR@t}lp$@  $ Scan of a comment inside a module. |>B|>k@@@@@@@Bmxm@AA࣠@&self-1AఠʠEA@3@@@@  FA@@@@࣠@:A@mm@гX+Odoc_modulemm@amm@@@@@@"m3@+@@*3@@(@@ @@mm@@@u@@@"r @@@@ภmm@@@@@@@"v@A@ A@@@@@@"@@"@@"@@"~'@ @@"@@"@@@@"@@"@@"@@"@@"C@"[@mq$@ O Override this method to perform controls on the module comment and form. This method is called before scanning the module elements. @return true if the module elements must be scanned./l@@@@@@@   @AA࣠@&self-1Aఠ͠2GA@R3@@@@  5HAU@U@@@࣠@!mA+ , @DIA@@3,++,,,,,@i@@!j@@@@@@  @@డ$List$iterCD@ GH@@6@@@@.module_element@@@"E@"@@"s@@@"@@"@@"@\@@@"@@"U@@@"@@"@@"3eddeeeee@:F@=@>@@@@࣠@#eleAy+z.@JA@@*3zyyzzzzz@@@@@@@ఐ#ele2B2E@9@@@@:3@&@@@Ġ+Odoc_moduleKWKb@.Element_moduleKcKq@@;.Element_moduleP@@@ @:@@@ ~@A@@J@A8ocamldoc/odoc_module.mliYY@@@>L@ఠ!mѠKrKs@KA@@N@@@"3@3@@@@@'@@o@@o@@@ ఐ$selfKwK{@@@3@D@@@@@K@@@O@@"M@@" @@ఐ+!mKK@@@`C@'`C@'aC@"@@ @@@@@" @Ġ+Odoc_module@3Element_module_type@@;3Element_module_typea@0@@@ @AA@J@A^Z_Z(@@@M@ఠ"mtҠ@/LA@@C@@@"3@@@@@@#@@@@@@@ ఐ$self*+@@@e3*))*****@@@@@@2@@@G@@"E@@" @@ఐ+"mtAB@@@XC@*C@*C@#@@ @@]@Ġ+Odoc_moduleVW@7Element_included_module[\@@;7Element_included_module@/included_module@@@ @AB@J@A[)+[)W@@@N@ఠ"imӠrs@MA@@@@@"3vuuvvvvv@@@@@@%@@(@@(@@@ ఐp$self @k@@3@@@@@@U$@@@@@@# @@# @@# @@ఐ."im%'@@@@@@#J@#J@#!@@% @@"@Ġ+Odoc_module(4(?@-Element_class(@(M@@;-Element_class@*Odoc_class't_class@@@ @AC@J@A\XZ\X@@@[O@ఠ!cԠ(N(O@NA@@@@@"3@P@@@@@(@@@@@@@ ఐԠ$self(S(W@ϰ@@%3@a@@@@@˰(b@@@7@@#5@@# @@ఐ+!c(c(d@@@bJ@#@@@@@Ġ+Odoc_moduleeqe|@2Element_class_typee}e@@;2Element_class_typex@\,t_class_type@@@ @AD@J@Ax]y]@@@P@ఠ"ctՠ0e1e@IOA@@@@@"343344444@@@@@@&@@@@@@@ ఐ.$selfDeEe@)@@3DCCDDDDD@@@@@@Le@@@-@@##+@@#" @@ఐ+"ct[e\e@@@UJ@#)@@@@t@Ġ+Odoc_modulemn@-Element_valuers@@;-Element_value@*Odoc_value't_value@@@ @AE@J@A^^@@@Q@ఠ!v֠@PA@@@@@"3@@@@@@(@@B@@B@@@ ఐ$self@@@3@@@@@@L@@@@@@#/@@#.@@#- @@ఐ.!v@@@@@@#6J@#8J@#7!@@% @@"@Ġ+Odoc_module@6Element_type_extension@@;6Element_type_extension6@.Odoc_extension0t_type_extension@@@ @AF@J@A8_9_@@@uR@ఠ!xנ@ QA@@@@@"3@j@@@@@(@@@@@@@ ఐ$self#@@@?3@{@@@@@ 7@@@@@@#>@@#=@@#< @@ఐ.!x89@@@@@@#EJ@#GJ@#F!@@% @@<"@Ġ+Odoc_module5:F6:Q@1Element_exception::R;:c@@;1Element_exception@.Odoc_exception+t_exception@@@ @AG@J@A``K@@@S@ఠ!eؠT:dU:e@mRA@@@@@"3XWWXXXXX@@@@@@(@@ @@ @@@ ఐR$selfh:ii:m@M@@3hgghhhhh@@@@@@:p:|@@@@@@#M@@#L@@#K @@ఐ.!e:}:~@@@@@@#TJ@#VJ@#U!@@% @@"@Ġ+Odoc_module@,Element_type@@;,Element_type@)Odoc_type&t_type@@@ @AH@J@AaLNaLp@@@=T@ఠ!t٠@SA@@@@@"3@2@@@@@(@@n@@n@@@ ఐ$self@@@3@C@@@@@@@@k@@@#\@@#[i@@#Z @@ఐ.!t@@@@@@#cJ@#eJ@#d!@@% @@"@Ġ+Odoc_module@6Element_module_comment@@;6Element_module_commentb@*Odoc_types$text@@@ @AI@J@Adbqsebq@@@U@ఠ!tڠ@5TA@@@@@"@@@'@@@@@@@ ఐ$self/0@@@j3/../////@@@@@@7@@@@@@#k@@#j@@#i @@ఐ-!tIJ@@@@@@#rJ@#wJ@#v!@@% @@g"@@@AU2< @@o@@@'3VUUVVVVV@@@@[&\ @@@@@"~@@@"@@"F@' F@'@@డp/module_elements+Odoc_modulexy'@ |(}7@@%trans&optionL$boolE@@@ !@@@ @@ @(@@@ @@ $listKK@@@ @@@ @@ @@ @:@@4O@1,@@)'$@@@'@@@'@@'@I@@@'@@'!i@@@'@@@'@@'@@'Z@Bภ  @@EB@@@'.@@@'-@@',j@@ఐ!m89@t@@rw@@:@@@@@"F@'0G@'%@@ @@zC@(UC@"C@'lC@"u@A@A@@@@@'8@@'7@@'6@@@9@@'C@@@'B@@'A@@'@@@'?C@':@ *@c  5 This method scans the elements of the given module.   @@@@@@@  @AA࣠@&self-1Aఠ۠ FUA@f3 - , , - - - - -@@@@   IVAi@i@@@࣠@!mA ? @@ XWA@@3 @ ? ? @ @ @ @ @@+}@/@!~@0@@@@@  @@ ఐ-$self W X@<@@3 W V V W W W W W@$@@@@@ _@@@@@@'Y@@'X@@'W @@ఐ5!m q r@@@@@@@@ ఐV$self  @e@@)@E 3@@@@@'f@@'e0@@ఐX!m 4 5@:@@ =@@@@!>@@ @@#@@\A@` A@@@@@'t@@'s@@'rb@@@@@'@&@@'~$@@'}@@'|@@'{C@'v@ @  Ð Scan of a module. Should not be overridden. It calls [scan_module_pre] and if [scan_module_pre] returns [true], then it calls scan_module_elements. <@ @@@@@@@  Ԑ7 Scan of module types.  79 7U@@@@@@@E  @AA࣠@&self-1Aఠޠб XA@3        @@@@  ӱ!YA"@"@@@࣠@A@  @гe[]!!@@@@@'3!!!!!!!!@"?@@!*@@@@@  @@! ! @@@o@@@' @@@@ภ!!@~@@@u@@@'@A@ A@@@@@@'@@'@@'@@''@ @@h@@'@@@@'@@'@@'@@'@@'C@'R@!<$@!M ) Scan of a comment inside a module type. !JW[!KW@@@@@@@!Q!R@AA࣠@&self-1AఠJKI!xZAJ@3!_!^!^!_!_!_!_!_@H@@@  L!{[AM@@@M@࣠@A@!n!o@гv+Odoc_module!}!~@!!@@@@@@'3!!!!!!!!@o+@s@*3@t@(@@ @@!!@@@@@@' @@@@ภ!!@@@@@@@'@A@ A@@@@@@'@@'@@'@@''@ @@@@'@@@@'@@'@@'@@'@@'C@'[@!$@!ϐ Override this method to perform controls on the module type comment and form. This method is called before scanning the module type elements. @return true if the module type elements must be scanned. !!\@@@@@@@!,7!,P@AA࣠@&self-1Aఠ˱!\A@ 3!!!!!!!!@@@@  α!]A @ @@@࣠@"mtA!,Q!,S@" ^A@@"3!!!!!!!!@ 1@@! 2@@@@@@  @@డ u$List$iter" V\" V`@ "Va"Ve@@@@@@@@@(!E@(@@( 9@@@(@@(@@(@"@@@(@@'@@@'@@'@@'3"+"*"*"+"+"+"+"+@8D\@;@<@@@@࣠@#eleA"?fs"@fv@"X_A@@(3"@"?"?"@"@"@"@"@@@@@@@@ఐ#ele"Oz"Pz@7@@@@83"P"O"O"P"P"P"P"P@&@@@Ġ+Odoc_module"a"b@.Element_module"f"g@@Ơఠ!m"p"q@"`A@@@@@(#3"t"s"s"t"t"t"t"t@$@@@@@@@^@@^@@@ ఐ$self""@i@@ 3""""""""@5@@@@@O"@@@@@(N@@(M @@ఐ+!m""@@@1J@(T@@@@ @@@(J@Ġ+Odoc_module""@3Element_module_type""@@ఠ"mt""@"aA@@@@@(&3""""""""@s@@@@@@@@@@@@ ఐ$self""@@@!3""""""""@@@@@@"@@@@@(Y@@(X @@ఐ+"mt""@@@J@(_@@@@O@Ġ+Odoc_module")"4@7Element_included_module#5#L@@ఠ"im# M# O@#$bA@@@@@()3########@@@@@@@@@@@@@ ఐA$self#S# W@@@!Z3########@@@@@@#'l@@@ /@@@(e@@(d *@@(c @@ఐ."im#9m#:o@@@ C@@@(lJ@(nJ@(m!@@% @@"@Ġ+Odoc_module#Pp|#Qp@-Element_class#Up#Vp@@ఠ!c#_p#`p@#xcA@@@@@(,3#c#b#b#c#c#c#c#c@@@@@@@@M@@M@@@ ఐ$self#sp#tp@X@@!3#s#r#r#s#s#s#s#s@$@@@@@T#{p@@@@@(s@@(r @@ఐ+!c#p#p@@@J@(y@@@@@Ġ+Odoc_module##@2Element_class_type##@@ఠ"ct##@#dA@@@@@(/3########@_@@@@@@@@@@@@ ఐ᠐$self##@@@!3########@p@@@@@#@@@@@(~@@(} @@ఐ+"ct##@@@J@(@@@@;@Ġ+Odoc_module# # @-Element_value# # @@{ఠ!v# # @$eA@@@@@(23########@@@@@@@@@@@@@ ఐ-$self$  !$  %@@@"F3$ $ $ $ $ $ $ $ @@@@@@$ 0@@@";@@@(@@("6@@( @@ఐ.!v$% 1$& 2@@@"O@@@(J@(J@(!@@% @@"@Ġ+Odoc_module$< 3 ?$= 3 J@6Element_type_extension$A 3 K$B 3 a@@kఠ!x$K 3 b$L 3 c@$dfA@@s@@@(53$O$N$N$O$O$O$O$O@@@@@@@@9@@9@@@ ఐ$self$_ 3 g$` 3 k@D@@"3$_$^$^$_$_$_$_$_@@@@@@$g 3 @@@!@@@(@@(!@@( @@ఐ.!x$y 3 $z 3 @@@!-@@@(J@(J@(!@@% @@"@Ġ+Odoc_module$  $  @1Element_exception$  $  @@[ఠ!e$  $  @$gA@@c@@@(83$$$$$$$$@S@@@@@@@@@@@@ ఐՠ$self$  $  @@@"3$$$$$$$$@d@@@@@$  @@@"@@@(@@("@@( @@ఐ.!e$  $  @@@"-@@@(J@(J@(!@@% @@7"@Ġ+Odoc_module$  $  @,Element_type$  $  @@Kఠ!t$  $  @% hA@@S@@@(;3$$$$$$$$@@@@@@@@@@@@@ ఐ)$self%  %  @@@#B3%%%%%%%%@@@@@@%  @@@"@@@(@@("@@( @@ఐ.!t%! !%" !@@@"@@@(J@(J@(!@@% @@"@Ġ+Odoc_module%8!!%9!!@6Element_module_comment%=!!%>!!0@@;ఠ!t%G!!1%H!!2@%`iA@@C@@@(>@@@@@4@@4@@@ ఐ|$self%Z!!6%[!!:@?@@#3%Z%Y%Y%Z%Z%Z%Z%Z@ @@@@@#%b!!N@@@!/@@@(@@(!-@@( @@ఐ-!t%t!!O%u!!P@@@!C@@@(J@(J@(!@@% @@"@@@A%z @@#@@@*3%%%%%%%%@1@@@%fn%!Q!Z@@@u@@(#@@@(@@(F@*F@*P@@డ"4module_type_elements+Odoc_module%![!d%![!o@ %![!p%![!@@%trans+(@@@ @@@ @@ @ @@@ @@ & o@@@ @@@ @@ @@ @ } ~2g@@!XN@*%@@"K @@@*@@@*@@*@!@@@*@@* @@@*@@@*@@*@@*@;ภ%@%@i>@@@*@@@*@@*@@ఐ"mt&![!&![!@Ұ@@!.@@&![!c&![!@@!@@@(F@*G@*@@ @@!5C@*C@(@ A@$A@@@!H@@*!A@@*@@*&@@@$Y@@*@!T@@*!M@@*@@*@@*C@*E@&*,0&@&; : This method scans the elements of the given module type. &8&9+@@@@@@@!Y&?"B"M&@"B"]@AA࣠@&self-1Aఠ897&fjA8@$3&M&L&L&M&M&M&M&M@6@@@  :&ikA$;@$@@;@࣠@"mtA&_"B"^&`"B"`@&xlA@@!s3&`&_&_&`&`&`&`&`@K$@O@!$@P@@@@@  @@ ఐ-$self&w"c"l&x"c"p@\@@$3&w&v&v&w&w&w&w&w@$!@@@@@2&"c"@@@!@@@*@@*!@@* @@ఐ5"mt&"c"&"c"@@@!@@@@!@ ఐV$self&"c"&"c"@@@$)@Y&"c"@@@!@@*!@@*0@@ఐX"mt&"c"&"c"@:@@!=@@@@!>@@&"c"i@@!@@\A@` A@@@!@@*!@@*@@*b@@@%@@*@!@@*!@@*@@*@@*C@*@&"B"F@+&㐠 Scan of a module type. Should not be overridden. It calls [scan_module_type_pre] and if [scan_module_type_pre] returns [true], then it calls scan_module_type_elements.&!!&!"A@@@@@@@&&7 Main scanning method. &""&""@@@@@@@!&""&"#@AA࣠@&self-1Aఠ'mA@%?3''''''''@@@@  '"nA%B@%B@@@࣠@!lA'"#'"#@'1oA@@"3''''''''@ %V@ @!%W@ @@@@@  @@డ%$List$iter'0"#'1"#@ '4"#'5"#@@#@@@@"5@@+%Y@@@+@@+@@+@"B"?@@@+@@+";@@@+@@+@@+3'K'J'J'K'K'K'K'K@3?"N@6@7@@@@ ఐZ$self']"#'^"#"@ B@@%@ %'b"#.@@@"@@+5"@@+4@@ఐ\!l'q"#/'r"#0@#@@"q&@@E@@"e'@^A@bA@@@"}@@+@"r@@+?@@+>d@@@%@@+K@"@@+J"~@@+I@@+H@@+GC@+B@'""@'9 Scan a list of modules. '""'""@@@@@@@@"1 }']"7@"4"@#@%A%%A%%A%%rA%q%MA%L%4A%3%A%$A$$A$$A$$A$$A$$xA$w$bA$a$IA$H$-A$,$A$$A$#A##A##A##A##A##rA#q#VA#U#FA#E#,A#+#A#"A""A" @-$@-C@-B@-A@-@@-?@->@-=@-<@-;@-:@-9@-8@-7@-6@-5@-4@-3@-2@-1@-0@-/@-.@--@-,@-+@-*@-)@-(@-'@-&"ˠ@@-%@@%2@A@%,@@@,@@,%)@@,@@,@$@@A@$<@@,$:@@,@@,@AB$@A@$@@@,@@,$@@,@@,@$q@A@$m@@,$c@@,@@,@A$@A@$@@@,@@,$@@,@@,@$@A@#@@,#@@,@@,@ABC$Z@A@$T@@@,@@,$R@@,@@,@$0@A@$,@@,$%@@,@@,@A$S@A@$M@@@,@@,$J@@,@@,@B%@A@%@@@,@@,%@@,@@,@CD%Ͱ@A@%@@@,@@,%@@,@@,@%f@A@%`@@@,@@,%[@@,@@,@A%@A@%@@@,@@,%@@,@@,@#@A@#@@,#@@,@@,@AB$G@A@$A@@@,@@,$?@@,@@,@$@A@$@@,$@@,@@,@#@A@#@@,#@@,@@,@AB$G@A@$A@@@,@@,$>@@,@@,@#@A@#@@,#@@,@@,@A$@A@$@@@,@@,$@@,@@,@#@A@#@@,#@@,@@,@A$@A@#@@@,@@,#@@,@@,@BCDEF&\@A@&V@@@-@@-&T@@-@@-@&@A@&@@- @&@@@-@@-&@@-@@-@@-@%@A@%@@@- @@- %@@- @@- @AB%@A@%@@@-@@-%@@-@@-@%@A@%@@@-@@-%@@-@@-@AC'@A@'@@@-@@-&@@-@@-@&@A@&@@-@&@@@-@@-&@@-@@-@@-@A'B@A@'<@@@-#@@-"'7@@-!@@- @BDG'g"v@#v). Class which defines the scanning of a list of modules and their elements. Inherit this class to develop your own scanner, by overriding some methods.)+Y),[@@@@@@@##@'y;@@$A'eA'd'FA'E')A'('A'&A&&A&&A&&A&&qA&p&WA&V&;A&:&!A& &A&%A%%A%%A%%A%%A%%wA%v%]A%\%DA%C%4A%3%A%%A%$A$$A$$A$$A$$A$$wA$v"w@-E@-c@-b@-a@-`@-_@-^@-]@-\@-[@-Z@-Y@-X@-W@-V@-U@-T@-S@-R@-Q@-P@-O@-N@-M@-L@-K@-J@-I@-H@-G@-F'@@-D@@@@$@@@$ @$W$ $)WV@VV@@@V@V@''r'&v&[&@'M''$۠$$$%G$%-%e%&&'&%%%Ѡ%&!&&>%&@@$8$7@3))))))))@'@@@'#@@$=$:A@'#@x;@@$Aw@@@@$A@@@$>@$A$>A@';@@@A$@@@@$F@@@$CA@@3))))))))@$'#@$H'# @$O$L(#@$K(#@$Q$N(#@'A@''@@@.@@.'@@@-@@.@@.'A@''@@@.@@.'@@@-@@.@@.'A@''@@@-@@.@''@@@.@@.(@@@-@@.~@@.}@@.|'A@''@@@-@@.{@''@@@.z@@.y(@@@-@@.x@@.w@@.v'A@''@@@.u@@.t(-@@@-@@.s@@.r'A@''@@@.q@@.p(<@@@-@@.o@@.n'A@''@@@.m@@.l(K@@@-@@.k@@.j'A@'x'w@@@.i@@.h(Z@@@-g@@.g@@.f'rA@'k'j@@@.e@@.d(i@@@-@@.c@@.b'eA@'^'[@@@.a@@.`(x@@@-@@._@@.^'VA@'O'N@@@.]@@.\(f@@@-@@.[@@.Z'IA@'B'A@@@.Y@@.X(@@@-@@.W@@.V'(@@@-@@.=@@.<&A@'C&@@@-@@.;)@@@-~@@.:@@.9&A@@@.8 @@.7@@.6&A@)i&@@@.5@@.4)@@@-@@.3@@.2&A@&&@@@.1@@.0) @@@-@@./@@..&A@&&@@@-@@.-)9@@@-@@.,@@.+&A@@@.* @@.)@@.(&A@)&@@@.'@@.&&@@@-@@.%@@.$&A@&&@@@.#@@.")>@@@-@@.!@@. &A@&&z@@@-@@.)n@@@-@@.@@.&uA@@@. @@.@@.&jA@&cO@@@-@@.&\@@@-@@.@@.@.@.@.@.@.@.@.@.@.@. @. @. @. @. @.@.@.@.@.@.@.@.@.@-@-@-@-@-@-@-&Y@@-@@(@A@((@@@-i@@-hB@@-f@@-e@'ϰ@A@@@-m@@-k@@-j@AB(-@A@)('@@@-s@@-r@@-p@@-o@(@A@@@-v@@-u@@-t@A(&@A@( (@@@-{@@-z@@-x@@-w@'@A@@@-@@-}@@-|@ABC'@A@*$'@@@-@@-@@-@@-@'°@A@@@-@@-@@-@A'@A@''@@@-@@-@@-@@-@B)8@A@)2)/@@@-@@-@@-@@-@CD)a@A@)[)X@@@-@@-@@-@@-@(@A@((@@@-@@-@@-@@-@A)"@A@))@@@-@@-@@-@@-@'@A@@@-@@-@@-@AB'ް@A@*{'@@@-@@-@@-@@-@'@A@@@-@@-@@-@'&@A@@@-@@-@@-@AB'߰@A@''@@@-@@-@@-@@-@'M@A@@@-@@-@@-@A'@A@*'@@@-@@- @@-@@-@'|@A@@@-@@-@@-@A'@A@''@@@-@@-@@-@@-@BCDEF)@A@)*A@@@-@@-O@@-@@-@*,@A@t@@-@**@@@-@@-p@@-@@-@@-@)0@A@)*))@@@-@@-@@-@@-@AB)W@A@)Q)P@@@-@@-@@-@@-@)@A@)y)x@@@-@@-*@@-@@-@AC*@A@**@@@-@@-@@-@@-@*@A@@@-@**@@@-@@-@@-@@-@@-@A*@A@**@@@-@@-@@-@@-@BDG&@@@-d@']'Z+#@*A@**@@@/;@@/:*@@@/9@@/8@@/7*A@**@@@/6@@/5*@@@/4@@/3@@/2*A@**@@@/1@@/0@**@@@//@@/.+@@@/-@@/,@@/+@@/**A@**@@@/)@@/(@**@@@/'@@/&+*@@@/%@@/$@@/#@@/"*A@**@@@/!@@/ +9@@@/@@/@@/*A@**@@@/@@/+H@@@/@@/@@/*A@**@@@/@@/+W@@@/@@/@@/*A@**@@@/@@/+f@@@/@@/@@/*~A@*w*v@@@/ @@/ +u@@@/ @@/ @@/ *qA@*j*g@@@/@@/+@@@/@@/@@/*bA@*[*Z@@@/@@/+r@@@/@@/@@.*UA@*N*M@@@.@@.+@@@.@@.@@.*HA@*A*@@@@.@@.@@.@@.*B@@/=@@/<@*۰@A@@@/B@@/A@@/@@AB+9@A@- +3@@@/F@@/E@@/D@@/C@+ @A@@@/I@@/H@@/G@A+2@A@+,+)@@@/M@@/L@@/K@@/J@*@A@@@/P@@/O@@/N@ABC*@A@-0*@@@/T@@/S@@/R@@/Q@*ΰ@A@@@/W@@/V@@/U@A*@A@**@@@/[@@/Z@@/Y@@/X@B,D@A@,>,;@@@/_@@/^@@/]@@/\@CD,m@A@,g,d@@@/c@@/b@@/a@@/`@,@A@,+@@@/g@@/f@@/e@@/d@A,.@A@,(,'@@@/k@@/j@@/i@@/h@*@A@@@/n@@/m@@/l@AB*@A@-*@@@/r@@/q@@/p@@/o@*@A@@@/u@@/t@@/s@*2@A@@@/x@@/w@@/v@AB*@A@**@@@/|@@/{@@/z@@/y@*Y@A@@@/@@/~@@/}@A*@A@-*@@@/@@/ @@/@@/@*@A@@@/@@/@@/@A*@A@**@@@/@@/@@/@@/@BCDEF-@A@,-M@@@/@@/O@@/@@/@-8@A@t@@/@-+-*@@@/@@/p@@/@@/@@/@,<@A@,6,5@@@/@@/@@/@@/@AB,c@A@,],\@@@/@@/@@/@@/@,@A@,,@@@/@@/*@@/@@/@AC-@A@--@@@/@@/@@/@@/@-@A@@@/@--@@@/@@/@@/@@/@@/@A-@A@--@@@/@@/@@/@@/@BDG;@@@A.A-A-A-A-yA-`A-DA-(A-A,A,Av,Ai,A\,AR,uAE,YA8,=A+,-A%,A+A +A+A+A+A+A+rA+XA+>A+%A+A@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@@.@@@@*@@@*@**.Z;@@@A-_A@-X-W@@@0@@0.:@@@0~@@0}@@0|,qA@,,@@@0s@@0{.I@@@0q@@0z@@0y,A@.,@@@0x@@0w.X@@@0v@@0u@@0t,A@@@0r@@0p@@0o,A@,,@@@0n@@0m.N@@@0l@@0k@@0j,BA@,,V@@@0a@@0i.~@@@0_@@0h@@0g,A@.,@@@0f@@0e.@@@0d@@0c@@0b,{A@@@0`@@0^@@0],A@,,@@@0\@@0[.@@@0Z@@0Y@@0X-A@--@@@0W@@0V.@@@0U@@0T@@0S.#A@..@@@0R@@0Q.@@@0P@@0O@@0N-A@--@@@0M@@0L.@@@0K@@0J@@0I-A@--@@@0H@@0G.@@@0F@@0E@@0D,LA@,c,`@@@07@@0C.@@@0:@@0B@@0A,A@/L,@@@0@@@0?.@@@0>@@0=@@0<,A@@@0;@@09@@08+A@+)@@@06@@05+@@@04@@03@@02,A@,,@@@01@@00/@@@0/@@0.@@0-,+A@,,?@@@0$@@0,/3@@@0"@@0+@@0*,A@/,@@@0)@@0(,@@@0'@@0&@@0%,dA@@@0#@@0!@@0 ,A@,,@@@0@@0/8@@@0@@0@@0.A@./-@@@0@@0/h@@@0@@0@@0/A@/=/<@@@0@@0@//@@@0@@0/@@@0@@0@@0@@0.%A@..@@@0 @@0 /@@@0@@0 @@0 .PA@.I.H@@@0 @@0@@0@@0.xA@.q.p@@@0@@0/@@@0@@0@@0/A@//@@@/@@//@@@/@@/@@//A@//@@@/@@/@//@@@/@@//@@@/@@/@@/@@//A@//@@@/@@//@@@/@@/@@/@@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/ϐ@@/@@@@,d@@@,a@@@,c)Odoc_scan@@@,g@,i@ H************************************************************************1A@@1A@L@ H 1BMM1BM@ H OCaml 1C1C@ H 1D1D3@ H Maxence Guesdon, projet Cristal, INRIA Rocquencourt 1E441E4@ H 1F1F@ H Copyright 2001 Institut National de Recherche en Informatique et 1G1G@ H en Automatique. 2H2Hg@ H 2Ihh2Ih@ H All rights reserved. This file is distributed under the terms of 2 J2 J@ H the GNU Lesser General Public License version 2.1, with the 2K2KN@ H special exception on linking described in the file LICENSE. 2LOO2LO@ H 2M2M@ H************************************************************************2$N2%N5@ * Scanning of modules and elements. The class scanner defined in this module can be used to develop generators which perform controls on the elements and their comments. 2* * Class which defines the scanning of a list of modules and their elements. Inherit this class to develop your own scanner, by overriding some methods. ;* Scan of a type extension " * Override this method to perform controls on the extension's type, private and info. This method is called before scanning the extensions's constructors. @return true if the extension's constructors must be scanned."} B* This method scans the constructors of the given type extension. !L * Scan of a type extension. Should not be overridden. It calls [scan_type_extension_pre] and if [scan_type_extension_pre] returns [true], then it calls scan_type_extension_constructors. o3* Scan of a class.  a $* Scan of a comment inside a class. 렠 * Override this method to perform controls on the class comment and params. This method is called before scanning the class elements. @return true if the class elements must be scanned.l _* This method scans the elements of the given class. A VOIR : scan des classes heritees.렠 * Scan of a class. Should not be overridden. It calls [scan_class_pre] and if [scan_class_pre] returns [true], then it calls scan_class_elements.F8* Scan of a class type. 8 )* Scan of a comment inside a class type.   * Override this method to perform controls on the class type comment and form. This method is called before scanning the class type elements. @return true if the class type elements must be scanned.C d* This method scans the elements of the given class type. A VOIR : scan des classes heritees. * Scan of a class type. Should not be overridden. It calls [scan_class_type_pre] and if [scan_class_type_pre] returns [true], then it calls scan_class_type_elements._3* Scan of modules. Q %* Scan of a comment inside a module. ۠ * Override this method to perform controls on the module comment and form. This method is called before scanning the module elements. @return true if the module elements must be scanned.\ 6* This method scans the elements of the given module. K * Scan of a module. Should not be overridden. It calls [scan_module_pre] and if [scan_module_pre] returns [true], then it calls scan_module_elements.8* Scan of module types.  ** Scan of a comment inside a module type. " * Override this method to perform controls on the module type comment and form. This method is called before scanning the module type elements. @return true if the module type elements must be scanned.  ;* This method scans the elements of the given module type.  : * Scan of a module type. Should not be overridden. It calls [scan_module_type_pre] and if [scan_module_type_pre] returns [true], then it calls scan_module_type_elements. 8* Main scanning method.  :* Scan a list of modules.  @(./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"-c22 H/home/touraine/ci/builds/workspace/main/flambda/false/label/ocaml-arm-32 <10/.-,+*)('&%$#"! @@0V"gr{?322222222@2@@(Asttypes0eT$BbRM dc5Build_path_prefix_map0DGl}%Y5Lhi8CamlinternalFormatBasics0|.e1R$|o0CamlinternalLazy0zY# #4#-*Format_doc0uy@GmWUࠠ%Ident0>ЃzV)j⠠,Identifiable0]/*N (Location0nBɊOn?7~ؠ)Longident0wP q;ɡ$Misc0Bpg]?[q*Odoc_class0D:L%0>@ӽX4Id%0Lt.`?9:77$30/-05ɍM!W)Odoc_name0 d L_,.Odoc_parameter0n6sApT370ߏW6T~aFc}l\+20~b:x_B10ϸf%,e8+0FJ]\fѬ+Outcometree0BuG^)= 9c )Parsetree0v o[pY Y$Path0k.tbGmᠠ)Primitive0dU=\I/}%Shape0 M``ll&Stdlib0t0VoS%{<F:.Stdlib__Buffer0,I[?z.Stdlib__Digest0#z25I*.Stdlib__Domain0'Ϳo\0m.K.Stdlib__Either0HD ?|>.Stdlib__Format00FClW/Stdlib__Hashtbl0(L%bԠ,Stdlib__Lazy0$1mlࠠ.Stdlib__Lexing0^m|e,Stdlib__List0+TJaN.?+Stdlib__Map0*4ɇ2ɠ.Type_immediacy00$ jbv\"k&%Types0"|Vȷ`X )Unit_info0'T Χ@aR(Warnings0Ef{&@@AAC@@@@@@@@.K2@@@@@@@@@P3ϓ@2 A.V@@@A2G@2H@AB@@