             [frereth-cp.shared.crypto :as crypto]
             [frereth-cp.shared.constants :as K]
             [frereth-cp.util :as util]
-            #_[com.stuartsierra.component :as cpt]
             [manifold.deferred :as deferred]
             [manifold.stream :as strm])
   (:import clojure.lang.ExceptionInfo

    ;; But it probably should, since this is very
    ;; explicitly place-oriented programming working
    ;; with mutable state.
    (send wrapper do-build-hello)
    (if (await-for timeout wrapper)
      (cope-with-successful-hello-creation wrapper chan->server timeout)
      (throw (ex-info (str "Timed out after " timeout

                                    text
                                    vouch
                                    work-area]
                             :as this} (state/clientextension-init this)
                            {:keys [::shared/packet
                                    ::shared/packet-nonce]} packet-management
                            _ (throw (RuntimeException. "this Component nonce isn't updated"))
                            short-term-nonce (state/update-client-short-term-nonce
                                              packet-nonce)
                            working-nonce (::shared/working-nonce work-area)]
                        (b-t/uint64-pack! working-nonce K/client-nonce-prefix-length
