Caml1999I037S]:&,Stdlib__Bool!t";@@%false@@(bool.mliV{V{@@A@$true@@ V{ V{@@B@@@A$boolE@@@@@@@V{{ @@A@$@@A@#not#@@@@@@@@@@']dd(]dz@@7C@@"&&$@#@@@@)@@@-@@@@@@@ϐ(%sequandBA @@@@F`G`@@VD@@"||%@B@@@@H@@@L@@@@@@@Ԑ'%sequorBA@@@@deee@@tE@@&logand&@`@@@@f@@@j@@@@@@@@}j~j@@F@@%logor'@y@@@@@@@@@@@@@@@mm(@@G@@&logxor(@@@@@@@@@@@@@@@@pwwpw@@H@@%equal)@@@@@@@@@@@@@@@@u  u  2@@I@@'compare*@@@@@@@@#intA@@@@@@@@y  y  @@J@@&to_int+@@@@@@@@@@ 6 6 6 N@@K@@(to_float,@@@@%floatD@@@@@@ B   B  @@L@@)to_string-@@@@&stringQ@@@@@@ K  !K  @@0M@@+seeded_hash.@N@@@@"@@@X@@@@@@@@9O  :O  7@@IN@@$hash/@5@@@k@@@@@@LV  MV  )@@\O@@@j:.,Stdlib__Bool0@Gko:ݠ&Stdlib0Lku]8_٠8CamlinternalFormatBasics0%FU(Q/Tu@@@Caml1999T0376v!C,Stdlib__Bool*ocaml.text&_none_@@A " Boolean values. @since 4.08 (bool.mliP77RL^@@@@@@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@Ax4 {1:bools Booleans} T``T`y@@@@@@A+!tAV{V{@@;@@%false@@V{V{@@A@$true@@V{V{@@B@@@Am@@@@@@@V{{ @)ocaml.doc The type of booleans (truth values). The constructors [false] and [true] are included here so that they have paths, but they are not intended to be used in user-defined data types. W[_b@@@@@@@A@@@@#++)(@'@@@+@#''V{%@$@@@(@@Aг$$boolV{V{@@,3@I;@@@AQ@@@@@@@@31@@!@A @@42𐠠10@00@@@0@0@@?G@#not]dh]dk@б@г$bool]dn]dr@@ @@@3@ys@A@@г̠$bool]dv]dz@@ @@@@@@@@@@@]dd @l ) [not b] is the boolean negation of [b]. &^{{'^{@@@@@@@?C@@@|:@@@@@@1"&&=`>`@б@г$boolH`I`@@ @@@3JIIJJJJJ@J_8@A@@б@г$boolY`Z`@@ @@@@@г$$boolf`g`@@ @@@@@@@@!@@@'@@$* @@(%sequandBA @@@@z`{`@ΐ [e0 && e1] is the lazy boolean conjunction of expressions [e0] and [e1]. If [e0] evaluates to [false], [e1] is not evaluated. Right-associative operator at precedence level 3/11. acw@@@@@@@D@@@@@@@@@K"||ee@б@гi$boolee@@ @@@3@dy@@A@@б@гz$boolee@@ @@@@@г$boolee@@ @@@@@@@@!@@@'@@$* @@'%sequorBAc@@@@ee@0 [e0 || e1] is the lazy boolean disjunction of expressions [e0] and [e1]. If [e0] evaluates to [true], [e1] is not evaluated. Right-associative operator at precedence level 2/11. fhl@@@@@@@E@@@A@@@@@@J&logandjj@б@гˠ$bool jj@@ @@@3@cx?@A@@б@гܠ$booljj@@ @@@@@г預$bool+j,j@@ @@@@@@@@!@@@'@@$* @@@9j@ H [logand b1 b2] is [true] if and only if [b1] and [b2] are both [true]. FkGk@@@@@@@_F@@@Z@@@@@@C%logor]m ^m@б@г&$boolhmim@@ @@@3jiijjjjj@\q8@A@@б@г7$boolymzm @@ @@@@@гD$boolm$m(@@ @@@@@@@@!@@@'@@$* @@@m@琠 G [logor b1 b2] is [true] if and only if either [b1] or [b2] is [true]. n))n)u@@@@@@@G@@@@@@@@@C&logxorpw{pw@б@г$boolpwpw@@ @@@3@\q8@A@@б@г$boolpwpw@@ @@@@@г$boolpwpw@@ @@@@@@@@!@@@'@@$* @@@pww@B E [logxor b1 b2] is [true] if exactly one of [b1] and [b2] is [true]. qq@@@@@@@H@@@R@@@@@@C & {1:preds Predicates and comparisons} ss @@@@@@3@Uj1@A%equal&u  'u  @б@г$bool1u  2u  "@@ @@@@@б@г$bool@u  &Au  *@@ @@@)@@г $boolMu  .Nu  2@@ @@@6@@@@@9@@@%@@<( @@@[u  @ [ [equal b0 b1] is [true] if and only if [b0] and [b1] are both [true] or both [false]. hv 3 3iw | @@@@@@@I@@@|@@@@@@['comparey  y  @б@гH$booly  y  @@ @@@3@to8@A@@б@гY$booly  y  @@ @@@@@г{#inty  y  @@ @@@@@@@@!@@@'@@$* @@@y  @ Y [compare b0 b1] is a total order on boolean values. [false] is smaller than [true]. z  {  @@@@@@@J@@@א@@@@@@C䐠8 {1:convert Converting} }  }  4@@@@@@3@Uj1@A&to_int 6 : 6 @@б@г$bool 6 C 6 G@@ @@@@@гؠ#int 6 K 6 N@@ @@@'@@@@@*@@@ 6 6 @c ? [to_int b] is [0] if [b] is [false] and [1] if [b] is [true]. @ O O@ O @@@@@@@6K@@@s1@@@@@@I(to_float4B  5B  @б@г$bool?B  @B  @@ @@@3A@@AAAAA@b]8@A@@г%floatNB  OB  @@ @@@@@@@@@@@YB   @ C [to_float b] is [0.] if [b] is [false] and [1.] if [b] is [true]. fC  gC  @@@@@@@L@@@z@@@@@@1)to_string}K  ~K  @б@гF$boolK  K  @@ @@@3@J_8@A@@гa&stringK  K  @@ @@@@@@@@@@@K   @ Q [to_string b] is ["true"] if [b] is [true] and ["false"] if [b] is [false]. L  M  @@@@@@@M@@@Ð@@@@@@1+seeded_hash O  O  "@б@г#intO  %O  (@@ @@@3@J_8@A@@б@г$boolO  ,O  0@@ @@@@@г #intO  4O  7@@ @@@@@@@@!@@@'@@$* @@@O  @P A seeded hash function for booleans, with the same output value as {!Hashtbl.seeded_hash}. This function allows this module to be passed as argument to the functor {!Hashtbl.MakeSeeded}. @since 5.1  P 8 8 T  @@@@@@@#N@@@`@@@@@@C$hash!!V  "V  @б@гꠐ$bool,V  -V  "@@ @@@3.--.....@\q8@A@@г#int;V  &<V  )@@ @@@@@@@@@@@FV   @ An unseeded hash function for booleans, with the same output value as {!Hashtbl.hash}. This function allows this module to be passed as argument to the functor {!Hashtbl.Make}. @since 5.1 SW * *T[  @@@@@@@lO@@@g@@@@@@1@A@vO@/@@n5@@@P@@h@H!@@@a:@@3{zz{{{{{@Nc<@A@ H************************************************************************A@@A@L@ H BMMBM@ H OCaml CC@ H DD3@ H The OCaml programmers E44E4@ H FF@ H Copyright 2018 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@ #* Boolean values. @since 4.08 ؠ5* {1:bools Booleans} U!*V{V{@ * The type of booleans (truth values). The constructors [false] and [true] are included here so that they have paths, but they are not intended to be used in user-defined data types. ( ** [not b] is the boolean negation of [b].  * [e0 && e1] is the lazy boolean conjunction of expressions [e0] and [e1]. If [e0] evaluates to [false], [e1] is not evaluated. Right-associative operator at precedence level 3/11. b * [e0 || e1] is the lazy boolean disjunction of expressions [e0] and [e1]. If [e0] evaluates to [true], [e1] is not evaluated. Right-associative operator at precedence level 2/11.  I* [logand b1 b2] is [true] if and only if [b1] and [b2] are both [true].  H* [logor b1 b2] is [true] if and only if either [b1] or [b2] is [true]. R F* [logxor b1 b2] is [true] if exactly one of [b1] and [b2] is [true].  '* {1:preds Predicates and comparisons} ߠ \* [equal b0 b1] is [true] if and only if [b0] and [b1] are both [true] or both [false].  Z* [compare b0 b1] is a total order on boolean values. [false] is smaller than [true]. <9* {1:convert Converting} ! @* [to_int b] is [0] if [b] is [false] and [1] if [b] is [true]. 蠠 D* [to_float b] is [0.] if [b] is [false] and [1.] if [b] is [true].  val of_string : string -> bool option (** [of_string s] is [Some true] if [s] is ["true"], [Some false] if [s] is ["false"] and [None] otherwise. *)  E   I  @ R* [to_string b] is ["true"] if [b] is [true] and ["false"] if [b] is [false]. b * A seeded hash function for booleans, with the same output value as {!Hashtbl.seeded_hash}. This function allows this module to be passed as argument to the functor {!Hashtbl.MakeSeeded}. @since 5.1  * An unseeded hash function for booleans, with the same output value as {!Hashtbl.hash}. This function allows this module to be passed as argument to the functor {!Hashtbl.Make}. @since 5.1 @?)../ocamlc0-strict-sequence(-absname"-w5+a-4-9-41-42-44-45-48"-g+-warn-error"+A*-bin-annot)-nostdlib*-principal"-o0stdlib__Bool.cmi"-c$% D/builds/workspace/precheck/flambda/false/label/ocaml-linux-32/stdlib @@0YޕuTƠ9> 3)(()))))@'@@8CamlinternalFormatBasics0%FU(Q/Tu&Stdlib0Lku]8_٠O0@Gko:@0@Gko:APC֐ @@˰ܐ@+L@@@d@@T.h@@@@=u@@R@@@P@@