úÎ5J0°.      !"#$%&'()*+,-F./0123456789:;<=>?@ABC7 represents a Zephyr notice. All fields of this record D are filled-in for received notices. For outoing notices, only ) the following fields are relevant:  z_class  z_instance z_opcode z_sender  z_default_fmt z_kind z_auth z_fields.The Zephyr version this notice was sent with. !The Zephyr class of this notice. $The Zephyr instance of this notice. The recipient of this notice. The opcode of this notice. The sender of this Notice.  This field is always a D for received  notices. Setting it to E for sent + notices will cause it to automatically be  filled in. )The default format clients should use to  render this notice. +The kind of this notice (determines how it  will be ACK'd). &Whether this notice is authenticated. %A list of the fields in this notice. The time this notice was sent. >Represents a Zephyr triple for the purposes of subscribing or  unsubscribing to zephyrs. The message was received with  invalid authentication.  The message was or will be sent  with no authentication. The message was received with & correct authentication, or should be % authenticated for outgoing notices.  represent the kinds of s sent or received  by the Zephyr system. FWrapper for the Zephyr Code_t type GHIJKLM Translate a GF# into a human-readable error using com_err.  4 represents the authentication used when sending or  receiving a Zephyr. !NHelper combinator to marshal a   OP'Helper combinator to marshal a list of  s Q+A helper to allocate memory for a single C  ZNotice_t. R!A helper combinator to marshal a  to a  ZNotice_t. SParse a  ZNotice_t into a  record. F./0123456789:;<=>?@ABC FGHIJKLM !NOPQRSF./0123456789:;<=>?@ABCBC   FGHGHIJKLM !NOPQRST<libzephyr is completely non-threadsafe, so we serialize all . accesses to libzephyr using a global MVar. U-A simple combinator to access the above MVar VW<fail with the appropriate error message unless the provided ! Code_t is 0 (no error), using com_err "Initialize libzephyr. #.Return the name of the current Zephyr sender. $&Return the realm of the current host. %Send a . & Receive a ) from the zephyr servers. Blocks until a  notice is available. XY'?Checks for new incoming packets and then returns the number of " pending messages in the queue. ($Try to receive a ZNotice, returning E if no notice is  available. )!Cancel all zephyr subscriptions. *)Subscribe to one or more Zephyr triples. +-Unsubscribe from one or more Zephyr triples. ,=Holds the default display format used by outgoing Zephyrs by  zwrite. - A default . suitable for use as a template when creating  a new notice for sending via %. .  !"#$%&'()*+,-."#$%&'()*+,-   ! "#$%&'()*+,-Z      !"#$%&'()*+,-./0123456789:;<=>?@AABCDECDFGGHIJKLMNOPQRSTUVWXYZ hszephyr-0.1Network.ZephyrNetwork.Zephyr.CBitsZNotice z_versionz_class z_instance z_recipientz_opcodez_sender z_default_fmtz_kindz_authz_fieldsz_time ZSubscription sub_class sub_instance sub_recipientZAuthAuthenticationFailedUnauthenticated Authenticated ZNoticeKind unZNoticeKind kind_unsafe kind_unacked kind_acked kind_hmack kind_hmctl kind_servack kind_servnakkind_clientack kind_stat initialize getSendergetRealm sendNotice receiveNoticependingNoticestryReceiveNoticecancelSubscriptions subscribeTo unsubscribeTo defaultFmt emptyNoticememsetz_fd z_pending z_free_noticez_check_authenticationz_receive_noticez_unsubscribe_toz_subscribe_toz_cancel_subscriptionsz_make_authentication z_send_noticez_realm z_get_sender z_close_port z_open_port z_initializec_error_message ZAuthProcPortSockAddr unSockAddrbase Data.MaybeJustNothingCode_tunCode_t zerr_nonezauth_no zauth_yes zauth_failed error_messagewithZSubscriptionsubSizewithSubs allocaZNotice withZNotice parseZNotice zephyrMVar withZephyr defaultPortcomErrreceiveNotice'pendingNotices'