Caml1999I031  k.Stdlib__Result!t8!a@y!e@x@B"Ok @@*result.mliY#Y+@@A%Error @@ Y, Y9@@&B@@A&Stdlib&result($@@@zYY@@@@@@Y@@@@8@A@"ok@!a@|&result !e@{@@@}@@~@7\8\@@RC@%error@!e@6&result!a@@@@@@@Q_R_@@lD@%value@L&result!a@!e@@@@'default@@@@@ob  pb :@@E@&get_ok@j&result!a@!e@@@@ @@@ee@@F@)get_error@&result!a@!e@@@@@@@jjA@@G@$bind@&result!a@!e@@@@@@&result!b@@@@@@&result @@@@@@@@oo@@H@$join@&result&result!a@!e@@@@@@@&result @@@@@@rJJrJ@@I@#map@@!a@!b@@@@&result!e@@@@ &result @@@@@@@@$u%u @@?J@)map_error@@!e@!f@@@@+&result!a@@@@6&result @@@@@@@@Mx X XNx X @@hK@$fold"ok@!a@!c@@@%error@!e@@@@`&result @@@@@@@@@@w|  x|  9@@L@$iter@@!a@$unitF@@@@@@&result!e@@@@@@@@@@@@@  @  @@M@*iter_error@@!e@(@@@@@@&result!a@à@@@9@@@@@@@@C  C  D@@N@%is_ok@&result!a@ɠ!e@@@@$boolE@@@@@@H  H  @@O@(is_error@&result!a@Π!e@@@@ @@@@@@K  K  @@@P@%equal"ok@!a@@9@@@@@@@%error@!e@@I@@@@@@@@&result!@@@@'&result*@@@_@@@@@@@@@@@@BN  CP  @@]Q@'compare"ok@!a@@#intA@@@@@@@%error@!e@@@@@@@@@@_&result#@@@@h&result,@@@(@@@@@@@@@@@@U  W  @@R@)to_option@~&result!a@!e@@@@&optionJ@@@@@@^^@@S@'to_list@&result!a@!e@@@@$listI@@@@@@bb@@T@&to_seq@&result!a@!e@@@@#Seq!t@@@@@@ee@@U@@_L.Stdlib__Result0!b'2Qd|蠠+Stdlib__Seq0yt\eǟ&Q,}.Stdlib__Either0 }rCT0J){9)&Stdlib0>,W:(8CamlinternalFormatBasics0cEXy]?]@@@@@@@VC@0@=%errorJ_K_@б@А!e@B@0SRRSSSSS@Rc(@AY_Z_@@г,&resultb_c_@А!a@B@n_o_@@А!e#u_v_@@@*@@@&}_@@@/ @@*(@@@_!@9 [error e] is [Error e]. `` @@@@@@@D@0@=%valueb b @б@гp&resultb  b &@А!a@B@0@\m2@Ab b @@А!e@B@b b @@@# @@@b "@@б'defaultА!a$b 2b 4@@А!a*%b 8b :@@//@@*b *@@@@@.@@@b   @o E [value r ~default] is [v] if [r] is [Ok v] and [default] otherwise. c;;c;@@@@@@@E@@A&get_okee@б@г&resultee@А!a@B@0        @`{2@Aee@@А!e@B@e e@@@# @@@'e"@@А!a ,e-e@@@%@@  @@@3e@ k [get_ok r] is [v] if [r] is [Ok v] and raise otherwise. @raise Invalid_argument if [r] is [Error _]. ?f@h@@@@@@@WF@@3)get_errorKj Lj)@б@г &resultVj5Wj;@А!a@B@0^]]^^^^^@Rm2@Adj-ej/@@А!e@B@pj1qj3@@@# @@@xj,"@@А!e}j?~jA@@@@@  @@@j@ n [get_error r] is [e] if [r] is [Error e] and raise otherwise. @raise Invalid_argument if [r] is [Ok _]. kBBm@@@@@@@G@@3$bindoo@б@гq&resultoo@А!a@B@0@Rm2@Aoo@@А!e@B@oo@@@# @@@o"@@б@б@А!a$oo@@г&resultoo@А!b@B@4oo@@А!e2;oo@@@9@@@ Co@@@L @@ G(@@г&resultoo@А!b&Uo o@@А!eS\oo@@@3Z@@@do@@@# @@ho@@@[@@lV@@@!o @ C [bind r f] is [f v] if [r] is [Ok v] and [r] if [r] is [Error _]. -p.pH@@@@@@@EH@/@$join9rJN:rJR@б@г&resultDrJkErJq@г&resultNrJ_OrJe@А!a@$B@0VUUVVVVV@<@A\rJW]rJY@@А!e@&B@hrJ[irJ]@@@# @@@prJV"@@А!evrJgwrJi@@@;@@@$~rJU:@@гP&resultrJ~rJ@А!a83rJvrJx@@А!e1:rJzrJ|@@@E8@@@!BrJu@@@' @@"F"@@@rJJ@/ C [join rr] is [r] if [rr] is [Ok r] and [rr] if [rr] is [Error _]. ss@@@@@@@I@+@Y#mapuu@б@б@А!a@4B@'0@p*@Auu@@А!b@6B@( uu@@@ @@)@@б@г&resultuu@А!a'"uu@@А!e@8B@*.uu@@@9 @@@-6u@@г&resultu u @А!b=Euu@@А!e#Luu @@@J*@@@0Tu@@@' @@1X"@@@K@@2[$u@@@'u @ G [map f r] is [Ok (f v)] if [r] is [Ok v] and [r] if [r] is [Error _]. 3v  4v  V@@@@@@@KJ@/@o)map_error?x X \@x X e@б@б@А!e@HB@90JIIJJJJJ@*@APx X iQx X k@@А!f@JB@: [x X o\x X q@@@ @@;@@б@г3&resultix X jx X @А!a@FB@<'ux X wvx X y@@А!e3.|x X {}x X }@@@:@@@?6x X v@@гV&resultx X x X @А!a#Ex X x X @@А!fDLx X x X @@@0K@@@BTx X @@@' @@CX"@@@K@@D[x X h@@@x X X @9 T [map_error f r] is [Error (f e)] if [r] is [Error e] and [r] if [r] is [Ok _]. y  z  @@@@@@@K@/@o$fold|  |  @б"okб@А!a@WB@K0@,@A|  |  @@А!c@YB@L |  |  @@@ @@M@@б%errorб@А!e@[B@N!|  |  @@А!c'|  |  @@@$@@O, @@б@г&result |  - |  3@А!aA<|  %|  '@@А!e'C|  )|  +@@@N.@@@RK |  $@@А!cHP%|  7&|  9@@@M@@SU @@C.@@TX-|  @@hL@@U\1|   @@@4|  @ W [fold ~ok ~error r] is [ok v] if [r] is [Ok v] and [error e] if [r] is [Error e]. @} : :A~  @@@@@@@XL@@p$iterL@  M@  @б@б@А!a@gB@\0WVVWWWWW@*@A]@  ^@  @@г$unitf@  g@  @@ @@@]@@@@@^@@б@гB&resultx@  y@  @А!a)$@  @  @@А!e@iB@_0@  @  @@@; @@@b8@  @@г$unit@  @  @@ @@@cF@@@@@dI@@@:@@eL@   @@@@  @7 : [iter f r] is [f v] if [r] is [Ok v] and [()] otherwise. A  A  @@@@@@@M@@`*iter_errorC  C  @б@б@А!e@wB@j0@w*@AC  C  @@г5$unitC  $C  (@@ @@@k@@@@@l@@б@г&resultC  6C  <@А!a@uB@m)C  .C  0@@А!e50C  2C  4@@@<@@@p8 C  -@@гj$unitC  @C  D@@ @@@qF@@@@@rI@@@:@@sLC   @@@ C  @ C [iter_error f r] is [f e] if [r] is [Error e] and [()] otherwise. ,D E E-D E @@@@@@@DN@@`B & {1:preds Predicates and comparisons} =F  >F  @@@@@@0<;;<<<<<@p#@A%is_okIH  JH  @б@г&resultTH  UH  @А!a@B@x `H  aH  @@А!e@B@y,lH  mH  @@@! @@@|4tH   @@гK$bool|H  }H  @@ @@@}B@@@@@~E@@@H   @ 3 [is_ok r] is [true] if and only if [r] is [Ok _]. I  I  @@@@@@@O@@X(is_errorK  K  &@б@гt&resultK  2K  8@А!a@B@0@wr2@AK  *K  ,@@А!e@B@K  .K  0@@@# @@@K  )"@@г$boolK  <K  @@@ @@@$@@@@@'@@@K   @l 9 [is_error r] is [true] if and only if [r] is [Error _]. L A AL A @@@@@@@P@@:%equalN  N  @б"okб@А!a@B@0@Sn,@A O   O  @@б@А!a O  O  @@гꠐ$boolO  O  @@ @@@@@@!@@@@@$@@ @@б%errorб@А!e@B@.6O  7O  @@б@А!e 6>O  ?O  @@г$boolGO  HO  @@ @@@E@@@@@H@@@"@@K @@б@г&&result\O  ]O  @А!a`[cO  dO  @@А!e9bjO  kO  @@@m@@@@jrO  @@б@гF&result|P  }P  @А!a{P  P  @@А!eYP  P  @@@`@@@P  @@гi$boolP  P  @@ @@@@@@@@@@@9@@4 @@X@@O  @@@@O  @@@N  @= [equal ~ok ~error r0 r1] tests equality of [r0] and [r1] using [ok] and [error] to respectively compare values wrapped by [Ok _] and [Error _]. Q  S ~ @@@@@@@Q@%@'compareU  U  @б"okб@А!a@B@0@,@AV  V  @@б@А!a V  V  @@г#intV  V  @@ @@@@@@!@@@@@$@@ @@б%errorб@А!e@B@. V   V  @@б@А!e 6 V   V  @@г #int V   V  @@ @@@E@@@@@H@@@"@@K @@б@г&result -V   .V  @А!a`[ 4V   5V  @@А!e9b ;V   <V  @@@m@@@@j CV  @@б@г&result MW   NW  @А!a{ TW   UW  @@А!eY [W   \W  @@@`@@@ cW  @@г #int kW   lW  @@ @@@@@@@@@@@9@@4 @@X@@ zV  @@@@ ~V  @@@ U  @ [compare ~ok ~error r0 r1] totally orders [r0] and [r1] using [ok] and [error] to respectively compare values wrapped by [Ok _ ] and [Error _]. [Ok _] values are smaller than [Error _] values.  X Z@@@@@@@ R@%@ 8 {1:convert Converting}  \ \@@@@@@0        @#@A)to_option ^ ^@б@г&result ^  ^@А!a@B@  ^ ^@@А!e@B@, ^ ^@@@! @@@4 ^ @@г Q&option ^ ^@А!a(C ^ ^@@@.@@@J @@@@@M@@@ ^@} \ [to_option r] is [r] as an option, mapping [Ok v] to [Some v] and [Error _] to [None].  _ `c~@@@@@@@ S@"@`'to_list b b@б@г&result b b@А!a@B@0        @z2@A !b "b@@А!e@B@ -b .b@@@# @@@ 5b"@@г Ҡ$list =b >b@А!a*% Db Eb@@@0@@@, @@@@@/@@@ Pb@ݐ ; [to_list r] is [[v]] if [r] is [Ok v] and [[]] otherwise.  \c ]c@@@@@@@ tT@"@B&to_seqZ he ie@б@г =&result se te@А!a@ B@0 { z z { { { { {@a|2@A e e@@А!e@ B@ e e@@@# @@@ e"@@г h#Seq!t e e@А!a-( e  e @@@3@@@ / @@@!@@ 2@@@ e@ @ { [to_seq r] is [r] as a sequence. [Ok v] is the singleton sequence containing [v] and [Error _] is the empty sequence.  f gZ@@@@@@@ U@"@E@ | 2A@@H@4@@M@9@3@@-@@3@@Z@F@5@!f@A@@:@@0        @n<@A@ H************************************************************************ A@@ A@L@ H  BMM BM@ H OCaml  C C@ H  D D3@ H The OCaml programmers  E44 E4@ H  F F@ H Copyright 2018 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.  3LOO 4LO@ H  9M :M@ H************************************************************************ ?N @N5@ * Result values. Result values handle computation results and errors in an explicit and declarative manner without resorting to exceptions. @since 4.08  E6* {1:results Results}  !* KY: LY>@ K* The type for result values. Either a value [Ok v] or an error [Error e].  Р4* [ok v] is [Ok v].  :* [error e] is [Error e]. Ƞ F* [value r ~default] is [v] if [r] is [Ok v] and [default] otherwise. l l* [get_ok r] is [v] if [r] is [Ok v] and raise otherwise. @raise Invalid_argument if [r] is [Error _].  o* [get_error r] is [e] if [r] is [Error e] and raise otherwise. @raise Invalid_argument if [r] is [Ok _]. Р D* [bind r f] is [f v] if [r] is [Ok v] and [r] if [r] is [Error _]. 6 D* [join rr] is [r] if [rr] is [Ok r] and [rr] if [rr] is [Error _].  H* [map f r] is [Ok (f v)] if [r] is [Ok v] and [r] if [r] is [Error _]. 6 U* [map_error f r] is [Error (f e)] if [r] is [Error e] and [r] if [r] is [Ok _].  X* [fold ~ok ~error r] is [ok v] if [r] is [Ok v] and [error e] if [r] is [Error e]. / ;* [iter f r] is [f v] if [r] is [Ok v] and [()] otherwise.  D* [iter_error f r] is [f e] if [r] is [Error e] and [()] otherwise. I '* {1:preds Predicates and comparisons} ; 4* [is_ok r] is [true] if and only if [r] is [Ok _]. 蠠 :* [is_error r] is [true] if and only if [r] is [Error _].  * [equal ~ok ~error r0 r1] tests equality of [r0] and [r1] using [ok] and [error] to respectively compare values wrapped by [Ok _] and [Error _]. Š * [compare ~ok ~error r0 r1] totally orders [r0] and [r1] using [ok] and [error] to respectively compare values wrapped by [Ok _ ] and [Error _]. [Ok _] values are smaller than [Error _] values. 9* {1:convert Converting} 頠 ]* [to_option r] is [r] as an option, mapping [Ok v] to [Some v] and [Error _] to [None].  <* [to_list r] is [[v]] if [r] is [Ok v] and [[]] otherwise. 1 |* [to_seq r] is [r] as a sequence. [Ok v] is the singleton sequence containing [v] and [Error _] is the empty sequence. @D)../ocamlc0-strict-sequence(-absname"-w8+a-4-9-41-42-44-45-48-70"-g+-warn-error"+A*-bin-annot)-nostdlib*-principal,-safe-string/-strict-formats"-o2stdlib__Result.cmi"-c  1/home/barsac/ci/builds/workspace/bootstrap/stdlib @0OD'GKRkr0        @ @@8CamlinternalFormatBasics0cEXy,W:(.Stdlib__Either0 }rCT0J){9) ͐0!b'2Qd|蠠+Stdlib__Seq0yt\eǟ&Q,}@0!b'2Qd|AT@@  @@@@kj54  @ΰ = <@@@@@CB@@%$@DC T f@@@P@