úÎe}`aB      !"#$%&'()*+,-./0123456789:;<=>?@ANone!The ID of a worker. #the address of the worker $the port number of the worker %KThis monad exists due to the quirk that on Windows one needs to initialize , the network system before using it via. B; to ensure that this B happens, all computations that use the network are run in the % - monad which itself is then run using the ( function that is  equivalent to calling B. (FInitializes the network subsystem where required (e.g., on Windows). )CA newtype wrapper around PortID in order to provide an instance of C. ,LConfiguration information that indicates whether a process should be run in  supervisor or worker mode. -KThis constructor indicates that the process should be run in worker mode. .Cthe address of the supervisor to which this worker should connect /LThis constructor indicates that the process should run in supervisor mode. 0Hconfiguration information shared between the supervisor and the worker 16configuration information specific to the supervisor 2/ for the worker, the port to which to connect 2 for the supervisor, the port on which to listen 3ICallbacks used to to notify when a worker has conneted or disconnected. 5;callback used to notify that a worker is about to connect;  return D( to allow the connection to proceed and E  to veto it 68callback used to notify that a worker has disconnected 7=This is the monad in which the network controller will run. 8This class extends F with the ability to forcibly  disconnect a worker. 9FForcibly disconnects the given worker; calling this function with the  !: of a worker that is no longer connected to the system is ; *not* an error; in that case, nothing will happen. :+A default set of callbacks for when you don'@t care about being notified of connections and disconnections. ;EThis runs the supervisor, which will listen for connecting workers. <IExplores the given tree using multiple processes to achieve parallelism. IThis function grants access to all of the functionality of this adapter, O rather than having to go through the more restricted driver interface. The M signature of this function is very complicated because it is meant to be N used in both the supervisor and worker. The configuration information is P used to determine whether the program is being run in supervisor mode or in N worker mode; in the former case, the configuration is further split into L configuration information that is shared between the supervisor and the M worker and configuration information that is specific to the supervisor. =SRuns a worker that connects to the supervisor via. the given address and port id. >KProcesses the command line and returns the network configuration; it uses N the first argument to determine whether the configuration should be for a  supervisor or for a worker. ?KConstructs a string representation of a port id. (This function is needed % if using an older version of the Network package that doesn' t have a  G instance for H.) @IThis is the driver for the network adapter; it consists of a supervisor J that listens for connections and multiple workers that connect to the N supervisor, where the same executable is used for both the supervisor and A the worker. To start the supervisor, run the executable with  supervisor as  the first argument and  -p PORTID$ to specify the port id. To start a $ worker, run the executable with worker$ as the first argument, the address C of the supervisor as the second, and the port id as the third. AThis is the same as @, but runs in the % monad. Use this M driver if you want to do other things with the network (such as starting ? a subseqent parallel exploration) after the run completes. 9IJKLMNOPQ!"#$%&'RS()*+,-./01234567T89UVWX:;the exploration mode Pan action that writes any information needed by the worker to the given handle Žcallbacks used to signal when a worker has connected or disconnected; the connect callback has the ability to veto a worker from connecting 0the port id on which to listen for connections !the initial progress of the run "the controller of the supervisor the outcome of the run <Aa function that constructs the exploration mode given the shared  configuration the purity of the tree ?an action that gets the configuration information (run on both N supervisor and worker processes); this also determines whether we N are in supervisor or worker mode based on whether the constructor  use is respectively / or  - Ean action that initializes the global state of the process given the O shared configuration (run on both supervisor and worker processes) Ba function that constructs the tree from the shared configuration ( (called only on the worker) 9an action that gets the starting progress given the full C configuration information (run only on the supervisor) Ea function that constructs the controller for the supervisor (called $ only on the supervisor) Bif this process is the supervisor, then the outcome of the run as = well as the configuration information wrapped in Y ; otherwise  Z =!the mode in to explore the tree the purity of the tree  the tree the address of the supervisor 2the port id on which the supervisor is listening >Dconfiguration that is shared between the supervisor and the worker 2configuration that is specific to the supervisor -program information (you should at least set [ with the program description) 2the configuration obtained from the command line ?@A\]^_`abcB  !"#$%&'()*+,-./0123456789:;<=>?@AC@A%&'(897   3456:,/-012.2!"#$)*+;=<?> IJKLMNOPQ!"#$%&'RS()*+,/-012.234567T89UVWX:;<=>?@A\]^_`abcd            !"#$$%%&'(()*++,-./01234456789:;<=>?@ABCDEFGHIJHIK LMNOB(PQQRSTUUVWXYZ[\]^M_`M_aEbcdefghijklLogicGrowsOnTrees-network-1.0.0*LogicGrowsOnTrees.Parallel.Adapter.NetworkLogicGrowsOnTrees-1.0.0.0.1LogicGrowsOnTrees.Parallel.MainrunTerminationReason runStatistics RunOutcomeAborted CompletedFailureTerminationReason.LogicGrowsOnTrees.Parallel.Common.RequestQueuerequestProgressUpdategetNumberOfWorkersgetCurrentProgresssetWorkloadBufferSizerequestProgressUpdateAsyncgetNumberOfWorkersAsyncgetCurrentProgressAsyncforkabort;LogicGrowsOnTrees.Parallel.Common.Supervisor.Implementation+runInstantaneousWorkloadStealTimeStatistics-runInstantaneousWorkloadRequestRateStatisticsrunAvailableWorkloadStatisticsrunWaitingWorkerStatisticsrunStealWaitTimesrunWorkerWaitTimesrunWorkerOccupationrunAverageTimePerCallrunNumberOfCallsrunSupervisorMonadOccupationrunSupervisorOccupation runWallTime runEndTime runStartTime RunStatisticsWorkerIdworkerHostNameworkerPortNumberNetworkunsafeRunNetwork runNetwork WrappedPortID unwrapPortIDNetworkConfigurationWorkerConfigurationsupervisor_host_nameSupervisorConfigurationshared_configurationsupervisor_configurationsupervisor_portNetworkCallbacksnotifyConnectednotifyDisconnectedNetworkControllerMonadNetworkRequestQueueMonaddisconnectWorkerdefault_network_callbacks runSupervisor runExplorer runWorkergetConfiguration showPortIDdriver driverNetworknetwork-2.4.1.2Network.Socket.Internal withSocketsDocmdtheline-0.2.3 System.Console.CmdTheLine.ArgValArgValghc-prim GHC.TypesTrueFalseRequestQueueMonadbaseGHC.ShowShowPortID NetworkState _pending_add _pending_quit_workersWorker workerHandleworkerThreadIddebugMinfoMCNetworkStateMonad pending_add pending_quitworkers Data.MaybeJustNothing System.Console.CmdTheLine.CommontermDocfromJustOrBustno_configuration_termsupervisorConfigurationTermForworker_configuration_term $fArgValMaybe$fArgValWrappedPortID0$fNetworkRequestQueueMonadNetworkControllerMonad*$fHasExplorationModeNetworkControllerMonad