~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH I J K L M N O P Q R S T U V W XYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~        NoneA repository of absolute typesNoneReturns a new repositoryNone:DRS!      +,-./01234567        +,-./01234567None8)Directory to store the repo (e.g. "/tmp")A new repository888None T9Setup the global logging level;Log a message at DEBUG level<$Log multiple messages at DEBUG level=#Log multiple messages at INFO level>&Log multiple messages at WARNING level?$Log multiple messages at ERROR level@forceE == either error idALike & but with returned exception fixed to B Strict try, s the returned valueCRun an IO op with a timeoutDConvert an Either to a MaybeE$Convert minutes to microseconds (s)F$Convert seconds to microseconds (s)G)Convert milliseconds to microseconds (s)9:;<=>?@ABCTimeout (in seconds) Op to executeSRight if op completed correctly, Left otherwise withTimeout secs op = maybe (Left Timeout) Right  $ timeout (seconds secs) opDEFG9 !"#$%&'()*+,-./012345679:;<=>?@ABCDEFGBA@GFEC<>=?;9:D9:;<=>?@ABCDEFG NoneHIJKLMNOPQRSTUVWHIJKLMNOPQRSTUVWHIJKLMNOPQRSTUVWHIJKLMNOPQRSTUVWNone 234579;LXLiterals and variables_3Pattern representation used for internal processing` A constructoraA primitive value (for example X)bName of the constructor (e.g. True)cConstructor parametersdInternal pattern representatione;Match either a flattened value of any value of a given typefMatch the specified valueg,Match any value of the given type (wildcard)h^A Pattern is just a list of matches, values are represented by their Flat binary serialisationi5A routing protocol specified by a pattern and a type.*Once a connection is established, clients:#can send messages of the given type^will receive all messages of the same type, that match the given pattern, sent by other agentskJA matcher is a predicate defined over the binary representation of a valuel:Optimise a Pattern by concatenating adjacent value matchesXYZ[\]^_`abcdefghijklmnXYZ[\]^_`abcdefghijklkijhefgld_`abcXYZ[\]^ XYZ[\]^_`abcdefghijklmnNone/24578!An IP6 addressAn IP4 address,A host address, either an IP or a DNS domain8A Sockets port (e.g. 80)The address of a ,https://en.wikipedia.org/wiki/Network_socketnetwork socketThe full address of a  'https://en.wikipedia.org/wiki/WebSocket WebSocket endpoint6True if the connection is wss (secure), False if is wsLHost endpoint, example: SocketAddress (DNSAddress "quid2.net") (HostPort 80)2Path to the WebSocket access point, example: "/ws"WThe value returned by an access point, after receiving a routing channel setup request.AThe channel has been permanently setup to the requested protocolaThe access point is unable or unwilling to open a connection with the requested routing protocolLUser should retry with the same transport protocol at the indicated addressA WebSocket connection\An application that connects to a WebSocket channel of type a and eventually returns an IO r(A typed bidirectional connection/channel#Block read till a value is received Block write till a value is sentClose the connectionRAn application that connects to a channel of type a and eventually returns an IO r+A routing protocol to receive all messages.iThe ByAny type parameter indicates the type of the messages exchanged on the channel (usually:TypedBLOB).*Once a connection is established, clients:can send messages of any type, as values of the ByAny type argument (for example: an Int value encoded as the corresponding TypedBLOB value).will receive all messages sent by other agents'A routing protocol specified by a type.*Once a connection is established, clients:#can send messages of the given type?will receive all messages of the same type sent by other agentsEcho protocol: any value sent in is returned verbatim to the sender (useful for testing purposes) Client can specify if received messages should be logged (for debugging purposes) Top's access point configurationReturn Top's access point IPReturn Top's access point PortReturn Top's access point PathCReturn the value of the ByType router identifier for the given typeShortcut to specifypReturn a value received on the connection or Nothing if no value is received in the specified number of seconds8NOTE: In case of timeout, the connection will be closed.CHATS binary identifierCHATS textual identifier,The configuration for the default Top router=98:;2 ij2 ij"98:;NoneKReceive values from a typed connection, terminate when connection is closedFSend values on a typed connection, terminate when connection is closed    None BT4Run a WebSockets Application, keep connection alive.)Automatically close sockets on WSApp exitTop configurationApplication to connect#Value returned from the application NoneTPermanently connect an application to a typed channel. |Restart application in case of network or application failure. |NOTE: does not provide a way to preserve application's state*Connect an application to a typed channel.)Connect an application to a typed channel<"Send a value on a typed connection='Receive a value from a typed connectionTop configurationRouting protocolApplication to connect#Value returned from the applicationTop configurationRouting protocolApplication to connect#Value returned from the applicationTop configurationRouting protocolApplication to connect#Value returned from the application<=<= None 579;<=LT JA (simplistic) protocol to permanently store and retrieve ADT definitions.#Permanently record an absolute typeRetrieve the absolute type<Return the absolute type identified by an absolute reference(Request the list of all known data types'Return the list of all known data types$Permanently record an ADT definitionRetrieve all known data typeszRetrieve the full type model for the given absolute type from Top's RepoProtocol channel, using the given Repo as a cache>?@ABCDE >?@ABCDE None579;T0Convert an Haskell pattern to the corresponding i: channel identifier or throw an error if conversion fails0Convert an Haskell pattern to the corresponding i channel identifierFFNoneT>Template Haskell function to convert an Haskell pattern to an d +patternQ [p|_|] :: IO IPattern PName PWild GGNoneXYZ[\]^_`abcdefghijklNoneHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./01234567        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy9:;<=>?@ABCDEFGXYZ[\]^_`abcdefghijklz !"#$%&'()*+)*,)*-)*.)/012312412566789:;;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh i j k l m n o p q r s t u v w xyz{|}~9                      !"#$$%%&&'()*+,-./-.0-.1-.2-.3-.4-.5-.6-.7-.8-.9-.:-.;-.<-.=-.>-.?-.@-.A-.B-.C-.D-.E-.F-GH-GI-GJ-GK-GL-GM-GN-GO-GPQQR S T U V W X Y Z [ \ ]^_`_a_b_c_d_e_f_g_h_i_j_k_l_m_n_o_p_q_r_s_t_u_3_v_v_w_w_x_y_y_z_{_{_|_}_}_~______________________________________________________________*+       !"#$%&'%&(%&)%&*%&+1,-1,.1,/1,011211311411516716816916:16;16<16=16>16?1@A1@B1@C1@D1@E1@F1@G1@H1@I1@I1@J1@K1@K1@L1@L1MN1MO1MP1QR1QS1QT1QU1QU1QV1QV1QW1QW1QX1QY1QZ1Q[1Q\1Q]1Q^1Q_1Q`1Qa1Qb1Qb1Qc1Qc1Qd1Qd1Qe1Qe1Qf1Qg1Qh1Qi1Qj1Qj1Qk1Ql1Qm1Qn1Qo1Qp1Qq1rs1rs1rt1rt1ru1ru1rv1rv1wx1wy1wy1wz1wz1w{1w{1|}1|~1|1|top-0.2-FRzkomdFlF89ExwwPdG1BtNetwork.Top.UtilNetwork.Top.TypesNetwork.Top.PipesData.Pattern.Types Repo.Types Repo.MemoryRepo.DB Repo.DiskData.Pattern.UtilNetwork.Top.WebSocketsNetwork.Top.RunNetwork.Top.RepoData.Pattern.TransformData.Pattern.TH Data.Pattern Network.Top$async-2.1.1.1-JMSH0FTb925BZBj7SwNxDHControl.Concurrent.AsynccancelasyncbaseControl.Monad.IO.ClassliftIO Control.Monadunlessforever GHC.Conc.IO threadDelayControl.Exception.BasetryGHC.Basewhen GHC.Exception SomeException1data-default-class-0.1.2.0-FYQpjIylblBDctdkHAFeXAData.Default.Classdeftransformers-0.5.2.0Control.Monad.Trans.Classlift"pipes-4.3.4-6kgdCqvwlX1LNNQXRhrLllPipes>->awaitforyield Pipes.Core runEffectzm-0.2.4-JyXtkttsjk2GULfVjtoAC0 ZM.Type.BitV1V0BitRepogetputclosememRepoDBState $fShowDBStatewholeDBopenDBgetDBputDBcloseDB$fQueryEventGetByRef$fMethodGetByRef$fSafeCopyGetByRef$fUpdateEventInsert$fMethodInsert$fSafeCopyInsert$fQueryEventWhole $fMethodWhole$fSafeCopyWhole$fIsAcidicDBState$fSafeCopyType$fSafeCopyIdentifier$fSafeCopyUnicodeSymbol$fSafeCopyUnicodeLetter%$fSafeCopyUnicodeLetterOrNumberOrLine$fSafeCopySHA3_256_6$fSafeCopySHAKE128_48$fSafeCopyAbsRef$fSafeCopyConTree$fSafeCopyADTRef $fSafeCopyADT$fSafeCopyNonEmptyList$fSafeCopyDBStatedbRepologLevel logLevelOutdbgSdbginfowarnerrforceEtryE strictTry withTimeout eitherToMaybeminutesseconds milliseconds collectErrors stringTypecharType word8Type word16Type word32Type word64TypewordTypeint8Type int16Type int32Type int64TypeintType integerType floatType doubleTypePRefPIntPRatPCharPStringPWildPVarPatPConPName pConsNamepConsParametersIPatternMatch MatchValueMatchAnyPattern ByPatternMatcher optPattern $fModelMatch$fModelByPattern $fShowMatch $fEqMatch $fOrdMatch$fGenericMatch $fFlatMatch$fFunctorMatch $fEqByPattern$fOrdByPattern$fShowByPattern$fGenericByPattern$fFlatByPattern$fEqPat$fOrdPat $fShowPat$fEqPRef $fOrdPRef $fShowPRef IP6Address IP4Address HostAddress IPAddress DNSAddress SocketAddress socketAddress socketPortWebSocketAddresssecurehostpathChannelSelectionResultSuccessFailureRetryAtreasonWSChannelResult WSConnectionWSApp ConnectioninputoutputAppByAnyByTypeEcho echoDebugConfig accessPointcfgIPcfgPortcfgPath byTypeRouterbyAnyinputWithTimeout chatsProtocolchatsProtocolT$fPrettyHostAddress$fPrettyIP4Address$fModelHostAddress$fModelSocketAddress$fModelWebSocketAddress$fModelChannelSelectionResult $fModelByAny $fModelByType $fModelEcho$fDefaultConfig$fEqEcho $fOrdEcho $fShowEcho $fGenericEcho $fFlatEcho $fEqByType $fOrdByType $fShowByType$fGenericByType $fFlatByType $fEqByAny $fOrdByAny $fShowByAny$fGenericByAny $fFlatByAny$fEqChannelSelectionResult$fOrdChannelSelectionResult$fShowChannelSelectionResult$fGenericChannelSelectionResult$fFlatChannelSelectionResult $fEqHostPort $fOrdHostPort$fShowHostPort$fGenericHostPort$fFlatHostPort$fModelHostPort$fEqHostAddress$fOrdHostAddress$fShowHostAddress$fGenericHostAddress$fFlatHostAddress$fEqSocketAddress$fOrdSocketAddress$fShowSocketAddress$fGenericSocketAddress$fFlatSocketAddress$fEqWebSocketAddress$fOrdWebSocketAddress$fShowWebSocketAddress$fGenericWebSocketAddress$fFlatWebSocketAddress$fEqIP4Address$fOrdIP4Address$fShowIP4Address$fGenericIP4Address$fFlatIP4Address$fModelIP4Address$fEqIP6Address$fOrdIP6Address$fShowIP6Address$fGenericIP6Address$fFlatIP6Address$fModelIP6Address $fLiftPRef $fLiftPatpipeInpipeOutrunWSApp runAppForeverrunApp runAppWith RepoProtocolRecordSolveSolved AskDataTypesKnownDataTypes recordType knownTypes solveType$fEqRepoProtocol$fOrdRepoProtocol$fShowRepoProtocol$fGenericRepoProtocol$fFlatRepoProtocol$fModelRepoProtocol byPattern byPattern_patternEpatternQDBwholeinsertgetByRefGetByRefInsertWholeemptyDBdbDirD:R:MethodResultGetByRefdeepseq-1.4.2.0Control.DeepSeqdeepseq&hslogger-1.2.10-2MqNtqteqzxLp4s2hmbEFLSystem.Log.Logger traploggingremoveAllHandlersupdateGlobalLoggersaveGlobalLogger clearLevelsetLevelgetLevel setHandlers removeHandler addHandlerlogL getRootLogger getLogger emergencyMalertM criticalMerrorMwarningMnoticeMinfoMdebugMlogMrootLoggerNameLogger System.LogPriorityDEBUGINFONOTICEWARNINGERRORCRITICALALERT EMERGENCYHostPortportsendreceive RepoError RefSolver resolveRef resolveRef_ resolveRef__ resolveRef___absADTschecked boolToBit asPatternM GHC.GenericsGenericRepfromtoGeneric1Rep1from1to1Datatype moduleName datatypeName packageName isNewtype ConstructorconName conFixity conIsRecordSelectorselNameselSourceUnpackednessselSourceStrictnessselDecidedStrictnessU1Par1unPar1Rec1unRec1K1unK1M1unM1:+:L1R1:*::.:Comp1unComp1RDCSRec0D1C1S1URecUAddrUCharUDoubleUFloatUIntUWorduWord#uInt#uFloat#uDouble#uChar#uAddr#precFixityPrefixInfixFixityIPrefixIInfixI AssociativityLeftAssociativeRightAssociativeNotAssociativeSourceUnpackedness SourceUnpackSourceNoUnpackNoSourceUnpackednessSourceStrictness SourceLazy SourceStrictNoSourceStrictnessDecidedStrictness DecidedLazy DecidedStrict DecidedUnpackMetaMetaDataMetaConsMetaSel Data.ProxyProxyNFDataflat-0.3-5ZTFcTsYHh1GHzaTSy3hY2 Data.Flat.RunflatRaw unflatRawWith unflatRaw unflatWithunflatflatData.Flat.InstancesdecodeSequenceencodeSequence sizeSequence decodeMap encodeMapsizeMapData.Flat.FillerpostAlignedDecoder preAligned postAligned fillerLengthFiller FillerBit FillerEnd PostAligned postValue postFiller PreAligned preFillerpreValueData.Flat.ClassgetSizeFlatsizeencodedecodeData.Flat.Decoder.TypesGetDecodedDecodeExceptionData.Flat.TypesUTF8Text UTF16Text model-0.3-6l5EhtCaoZcLvHNrDumq9DData.Model.ClassuseCT typeModelAsTypeasTypeModelenvTypeData.Model.PrettydottedvspacedPspacedPvarP CompactPrettyData.Model.TypessolvesolveAllqualNamegetHRefunVartypeAtypeN adtNamesMapconTreeTypeFoldMapconTreeTypeListconTreeNameMapconTreeTypeMapconstructorInfo fieldsNames fieldsTypes constructorstypeADTsHTypeEnv HTypeModelHADTHTypeHTypeRef TypeModeltypeNametypeEnvTypeEnvADTdeclNamedeclNumParametersdeclConsConTreeCon constrFields constrNameTypeTypeConTypeAppTypeNTypeRefTypVarTypRefQualNamepkgNamemdlNamelocNameData.Model.UtiltransitiveClosure mutualGroupsErrors Type.AnalyseAnapretty-1.1.3.3Text.PrettyPrint.HughesPJClassPretty pPrintListpPrint pPrintPrec prettyShow ZM.Pretty prettyList prettyTuplehex unPrettyRef ZM.DynamictypeDecoderMap typeDecoderdecodeAbsTypeModelMapTypeDecoder ZM.Transform solvedADT stringADT getADTRef referencesinnerReferences adtDefinitiontypeDefinitiontypeTree MapTypeTreeZM.BLOBtypeErr untypedValue untypedBLOB typedValue typedBLOB_ typedBLOBblobunblobBLOBencoding TypedBLOB TypedValueZM.AbsabsTypeModelMaybe absTypeModelabsTypeZM.TypeslabelabsRefAbsTypeAbsRef SHA3_256_6 SHAKE128_48AbsADT AbsTypeModelAbsEnvADTRefVarRecExt IdentifierNameSymbolUnicodeLetterOrNumberOrLine UnicodeLetter UnicodeSymbolValuevalTypevalNamevalBits valFieldsLabel TypedDecodedTypedDecodeException DecodeErrorUnknownMetaModel WrongType expectedType actualType ZM.Type.BLOB UTF8EncodingUTF16LEEncoding FlatEncoding NoEncoding ZM.Type.WordsWord7ZigZagLeastSignificantFirstMostSignificantFirstZM.Type.NonEmptyList nonEmptyList NonEmptyListElemCons