Caml1999T037'8a_C.Input_handlingР$Unix$Unix:debugger/input_handling.mlSS@@ 3@@@@#intA;@@A@@@@@&_none_@@A@A@$charB;@@A@@@@@@A@&stringQ;@@A@@@@@ @@@%bytesC;@@A@@@@@@@@%floatD;@@A@@@@@@@@$boolE;@@%falsec@@!@$trued@@'@@@A@@@@@(@A@$unitF;@@"()e@@2@@@A@@@@@3@A@ #exnG;@@@A@@@@@7@@@#effH;@@O@A@A@@@@@@@@@@,continuationI;@@Q@@P@B A@nY@@@@@@O@@@%arrayJ;@@R@AA@@@@@@Y@@@ $listK;@@S@A"[]f@@f@"::g@@@T@@s@ @@A@Y@@@@@v@@@&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#5@0@@A$#@-Match_failureV#>@@=@9@;@@a@@A54@)Not_foundZ#O@@@A=<@-Out_of_memoryW#W@@@A E#D#@.Stack_overflow^#_@@@A(M+L+@.Sys_blocked_io_#g@@@A0U3T3@)Sys_error[#o@j@@A9^<]<@:Undefined_recursive_modulea#x@@w@s@u@@h@@AJoMnM@:Continuation_already_takenb#@@@ARwUvU@&Stdlib@@@@A3@@@S@@@3@@@Р*Primitives*PrimitivesTT@@ 3@@@@@A3@@@T@@ @3@@@@ఠ,active_filesY%)Y%5@@A@@&Stdlib#ref;@*file_descr@@@ @@@G*io_channel@@@@@@@@@@ @R*io_channel@@@@@ @@ @@@ A@@@@A@3@J@@@డk#refZ8:Z8=@@!a@@@0H@@@/@@.,%makemutableAA @@@*stdlib.mlihhh@@Q@@@@S@@[V@@@@@,@@ภ"[]Z8?Z8A@;@@U@@@@AA@A@@@ @гj$list0Z8w1Z8{@В@гopZ8|@@@@@@@@A@Y%%@@@@ఠ(add_file]]@AA@@@@@@>A@@@@@@@@=@@<@@@;@@:A@@@$unitF@@@1A@@@A@@@A@3@&@@@@@࣠@$fileA]]@BA@@13@@]^ @@@@@  @@*controllerA]]@CA@@:3@!H@@@@@@@@డp":=^^@@I!a@@@@9@@8@ @@7M@@@6@@5@@4*%setfield0BA @@@@  @@\@ @@@fa@`@@@8@@@@@9@@7@@@6C@$@@@&@@%@@@#{@@@"@@!@@ 377777777@S_@V@W@@@@ఐ,active_filesI^J^@@@4@@@4D@?D@5@@ภ"::]^^^@;?@B@AA@A3@@@ఐ$fileo^p^@@@6@%io_fdv^w^@3%io_fd*Primitives*io_channel@@@$Unix*file_descr@@@@@B3%io_in&Stdlib*in_channel@@@@@@ @A7debugger/primitives.mli| I K| I ^@@K@3&io_out"+out_channel@@@@@A@A } _ a } _ v@@&L@-@A~ w y~ w @@*M@;3@@D@Jp@@@ఐ֠*controller^^@}@@ @@ఐ$file^^@۰@@#@@^^@@C@O@@^r@@C@P@డS!!}^@@+!a@@@@3@@2@@1'%field0AA@@@@@6@@@@@aC@A@@@ED@hD@S@@@U@@T @@R@@ఐ^,active_files33@H44@@]@@@\E@gE@]@@=@@@@K>@@C@D@@A@@^@KBA@~A@lI@A@F@FE@\@ఠ+remove_file+aCG,aCR@>DA@@@@@@(A@n@@o~@@@A@p@@qA@m3::::::::@|@@@@@࣠@$fileAMaCSNaCW@`EA@@3LLLLLLLL@+UaCCVbZ@@@@@  @@డjlabZibbZk@i@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@y@@@{@@z@'@@x@@@w@@v@@u3@EQc@H@I@@@@ఐ,active_filesbZ\bZh@ް@@A@@@C@C@@@డ2$List,remove_assocbZlbZp@ bZqbZ}@@@!a@@@@$listK@@!b@@@@@@@@@!@@@@@@@@@@@(list.mli====V@@,Stdlib__List@72@@@B@'C@@@@/@@B@9C@@@@@@@@,@@@@ @@@ @@ @@ @@ఐڠ$file$bZ~%bZ@@@@%io_fd+bZ,bZ@ @@4@@డ_a9bZ:bZ@_@@@v@V@G@@$@@@#D@@D@+@@@-@@,@@*@@ఐ,active_files"@#@@!@@@4E@?E@5@@-@@#@@@@B@ @@@@.@A@@@y!@@@*C@-C@+<@@ภ%false @@@@@@?@@=N@@ఐA2continue_main_loop   @@@ @@@GF@JF@Hb@@" @@c@A@    @@࣠@EmAĠD @   @  @C@@@@W3        @tIB@C@D@@@@@@డ p @   @  !@@@@ Hj@@@hF@V@@@X@@W@ @@UM@@@T@@S@@R$@@ఐ2continue_main_loop @   @  @.@@ i!@@@fG@iG@g9@@ఐ)old_state -@  " .@  +@C@@/G@jH@@@@I@ 4@  @@D@mM@] @@@A@ 9~   @@డ #Fun'protect IB 1 5 JB 1 8@  MB 1 9 NB 1 @@@=@@=@;@@@@@:@@@@@@@@@@@@@@ C@@@@@@@@@3 g g g g g g g g@@@@@@[ఐ'finally yB 1 B zB 1 I@ @@@@@@@@@@@@@@@> @@@@@@@@@(@@@@(@@&@@࣠@rAĠ B 1 Q B 1 S@@@@@@@@3        @:@@@@@@ డ , C W p C W r@@@@ &@@@G@@@@@@@ @@ @@@@@@@^@@ఐF2continue_main_loop C W ] C W o@@@ %!@@@H@H@s@@ภ* C W s C W w@)@@@-H@@@@@@@@G@@ డ u"$ D y  D y @"@@@ M @@@F@F@@@@@@ @@@@ఐ2continue_main_loop D y @.@@ i@@@G@G@@@( @@@@@ఠ%inputn 4F   5F  @ GVA@@$listK$Unix*file_descr@@@4@@@3H@@@@ MF   NF  @@@@@6@@@5H@@@@ ]F   ^F  @@'%@@@8@@@7H@@@ jF   kF  @@@8@#@@@@డ &select }G   ~G  @@JH@@@@@@@@@VT@@@@@@@@@b`@@@@@@@@@%floatD@@@@@@xu@@@~@@@}@j~@@@@@@@c@@@@@@@@|@@{@@z@@y@@x@(unix.mliDF M@@@TS@@@Q@@@@@@@@@P@@@@@@@@@O@@@ @@@ @@ @N@@@ @@ @à@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@p@@డ $List#map &G   'G  @  *G   +G  @@@@!a@@@!b@@@@@@q@@@@@v@@@@@@@@_`@@^W@+&@@@@@%@@@CI@I@yI@c@@@ @@@~@@} @@@|@@{@ @@@@@zI@f@@iI@K@@N I@H@@M@@L@B.@@@J@@IA @@@G@@F@@E@@డ #fst G   G  @@@@F@@` @@_J@g@@డ # Р Ұ G   G  @ а@@@ vb@@@]J@J@l@@@n@@m @@k@@ఐ ,active_files G  @ @@ @@@uK@K@v+@@( @@,@@ G   G  @@Uw@@@BI@J@[7@@ภ Ȱ G   G  @ @@@Z@@@@@@@?I@K@@ภ ܰ G   G  @ @@@b@@@=@@@@@@H@ H@ ,@@t @@ @@@G@@@@@Ġ*Unix_errorO  O  @;*Unix_error#exnG@@@ @}%error@@@ Ҡ&stringQ@@@ Ӡ@@@ @C@@A&_none_@@A@@F@Ġ%EINTRO  O  @;%EINTR"@@@ @@@KDA@Ax  x  @@@L@@@  @@+@@@E@@O  O  @@-@@@M@@O  O  @@.@@@U@@@JO  @@ @@@Z@@@ภbO  O  @a@@@fG@d@@@ E  @@hf@ D y @@h@;@@i@B 1 M@@@{@@@@@@@D@$D@!v@@@@w@@@@A@A@)@A@@@@ఠ*interactift-U E I.U E S@@ZA@@}@@@8A@.@@@5A@*377777777@@@@@@డ#refHU E VIU E Y@U@@@@@/@@@-@@,@@ภ[U E Z\U E ^@@@@(B@9$@@@@.%@A@bU E E@@@(@ఠ.current_promptuoW ` dpW ` r@[A@@}@@@GA@>@@@EA@:3yyyyyyyy@CWP@Q@R@@@డ#refW ` uW ` x@@@@@@?۠@@@=@@<@@ W ` z@@W ` yW ` {@@'#@@@@-$@A@W ` `@@@'@ఠ,user_channelvZ  Z  @\A@@ A@@@UA@L@@@SA@H3@BVO@P@Q@@@డC#refZ  Z  @ذ@@@@@M@@@K@@J@@డI&std_ioZ  Z  @ i@@@@ QC   RC  @@ kP@  @@0,@@! @@6-@A@Z   @@@0@ఠ/read_user_inputw\  \  @ ]A@@@%bytesC@@@A@W@@X@#intA@@@A@]@@^@@@A@_@@`A@Y@@ZA@V3@bvo@p@q@@@࣠@&bufferyA.\  /\  @A^A@@.3--------@=6\  7^  !@@@@@  @@&lengthzAB\  C\  @U_A@@43AAAAAAAA@!E@@@@@@@@ ఐ)main_loopV]  W]  @@@@@@@h@@g k@@@f@@e3^^^^^^^^@*T@!@"@@@@ภ˰n]  o]  @@@@@@@qE@u@@!@@ @@@vD@o@డ%input^  ^  @@*in_channel@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@0''0'[@@@*)@@@'@@@@@@@@@@@@%@@@@@@@@@~@@}@@@|@@{@@z@@y@@xk@@డT^  ^  @@@@,o@@@@E@@@@@@@@@@ఐG,user_channel^  @ְ@@G@@@F@F@@@' @@@%io_in^  ^  @}.@@@@@D@D@@@ఐ&buffer^  ^  @԰@@@@@$^  %^  @@@@@D@D@@@ఐ&length7^  @Ӱ@@'@@@@@@@@A@>A@ @A@ @ @@ఠ/stop_user_input{Ja B FKa B U@]`A@@@ @@@A@@@@@@A@@@A@3YYYYYYYY@?jc@d@e@@@࣠@ }AĠ ɰla B Vma B X@ @@@@3jjjjjjjj@*sa B Btb [ v@@@@@  @@ఐU+remove_fileb [ ]b [ h@ @@@ @@@@@@@@@@@@డb [ ib [ j@@@@,@@@D@D@@@@@@@@;@@ఐ,user_channel@@A@@@@@E@E@N@@&J@@O@@?K@@dP@TLA@rA@S@A@P@PO@e@ఠ1resume_user_input~e  e  @aA@@@ M@@@A@@@ @@@*A@@@A@3@@@@@@࣠@ NAĠ Me  e  @ L@@@@3@*e  l@@@@@  @@డ~#notf  f  @@$boolE@@@O@@N@@@M@@L(%boolnotAA@@@LLLt@@d\@@@@@@@@@@@@@@7@@డ$List)mem_assoc:f  ;f  @ >f  ?f  @@@!a@#@@@}@@!b@$@@@@@@@$boolE@@@@@@@@v;;w;<@@u}@.)@@@@@@%D@@@@'@@@@@@@;@@:@@@9@@8@@@@<@@7D@@@@@@@@7@@@@@@@@@డʠ̰f  f  @ʰ@@@8@@@&@#F@@@@@@@@@@ఐ,user_channelf  @@@@@@!G@$G@"@@' @@@%io_fdf  f  @Y.@@d@@డVf  f  @@@@.@@v@@@@@E@>E@)@@@+@@*@@(@@ఐP,active_files"f  @;$@@P"@@@2F@=F@3@@. @@$@@ f   f  @@@@@@@E@"@@ @@@@@AD@(@ డ"&&(g )g @@"@@@V@@U@*@@@T@@S.@@@R@@Q@@P(%sequandBA=@@@@=>@@]@! @@@@@@J@@I@@@@H@@G@@@F@@E@@Dg@@డeg fg @@@@D@@@ZE@jE@]@@@_@@^@@\@@ఐT*interactifg  @@@Ѡ@@@fF@iF@g@@' @@@@డg g @@@@n@@@XE@E@m@@@o@@n@@l@@డ*Parameters&prompt*Parameters!g @ g g #@'@&Stdlib#ref$boolE@@@@@@@7debugger/parameters.mliX<<X<Q@@*ParametersE@>@@$<@@@vF@F@@@H"@@>@@{#@@@@@E@V@ డh,print_stringh/5h/A@@&stringQ@@@@@?@@@@@@1qq1qr@@J@@@@@@@@@@@@@@@@డACh/Bh/C@A@@@l2@@@F@F@@@@@@@@:@@ఐȠ.current_prompt7h/Q@w@@@@@G@G@N@@' @@O@@S @@P@@@E@U@డ%flushQiSYRiS^@@+out_channel@@@b@@a@@@`@@_@Zjj[j@@@@@@@@@@@@@@@@}@@డ&stdout&Stdlib~iS_iSe@ iSfiSl@@.@@@@%pp%pp@@@ @@:@@@E@E@@@E@@@@@D@E@@g )jmv@@ @@g  @@ @ఐ(add_filekx|kx@l@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@డJkxkx@@@@"@@@D@D@@@@@@@@@@ఐ=,user_channelkx@̰@@=@@@E@E@@@' @@@@ఐ +.exit_main_loopkxkx@ @@@4@@@ D@#@@&P@@@%@@$@@g@@5D@!@f  @@#@@f   @@%@)!A@GA@-(@A@%@%$@:@rX@@@@|@ @  >@ Y @ @@q@@@@T@pi@j@k@@366666666@Zs@@@o.Input_handlingK@@J@@JI@@ H@@۱ G@@ F@@ E@@ |D@@C@@B@@1A@@ı"@@@ H************************************************************************fA@@gA@L@ H lBMMmBM@ H OCaml rCsC@ H xDyD3@ H Jerome Vouillon, projet Cristal, INRIA Rocquencourt ~E44E4@ H OCaml port by John Malecki and Xavier Leroy FF@ H GG@ H Copyright 1996 Institut National de Recherche en Informatique et HHg@ H en Automatique. IhhIh@ H JJ@ H All rights reserved. This file is distributed under the terms of KKN@ H the GNU Lesser General Public License version 2.1, with the LOOLO@ H special exception on linking described in the file LICENSE. MM@ H NN5@ H************************************************************************O66O6@ E*************************** Input control ***************************QQ@4** Actives files. **VV@< List of the actives files. XX$@ * Add a file to the list of actives files. \~~\~@ / Remove a file from the list of actives files. ``B@ + Change the controller for the given file. dd@ = Return the controller currently attached to the given file. hh_@ : Execute a function with `controller' attached to `file'. ll@; ### controller file funct mm @5** The "Main Loop" **tt @ : Handle active files until `continue_main_loop' is false. | q q| q @:** Managing user inputs **R  R  @> Are we in interactive mode ? T " " T " D@ ! Where the user input come from. Y } }Y } @: Stop reading user input. ` # #` # A@< Resume reading user input. d x xd x @@#,./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)-for-pack*ocamldebug"-I(debugger"-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"-I.otherlibs/unix"-I1otherlibs/dynlink"-I.otherlibs/unix"-I1otherlibs/dynlink"-I.otherlibs/unix"-I1otherlibs/dynlink"-ccd F/home/ci/builds/workspace/main/flambda/false/label/ocaml-ubuntu-latest J=<;:9876543210/.-,+*)('&%$#@@0mzžFO6>3@@@8CamlinternalFormatBasics0|.e1R$|o0$šcaԭJܐ0x.7I0f 歄!iO:&Stdlib0t0VoS%{<F:0Stdlib__Bigarray081}wJf֠/Stdlib__Complex0e<9r@fǠ.Stdlib__Either0HD ?|>+Stdlib__Fun0LY)avEſ,Stdlib__List0oYӀ7tG[w\+Stdlib__Seq0?72#[O+Stdlib__Sys0b'8=OInŐ0eE Gڿ,ᙯ@@AVCMW@ v   KU]g@  F K U@@(2  @ 5 ?@PZ@ H3=@@@@@@ȰR\@@@@P@c@`@@@A@@@@@@@@A@@@@BC5@2@@@@@@@A @ @@@@@@@AB@@@@T@Q@@@A@@@@Bx@u@@@CDE@@