95D      !"#$%&'()*+,-./0123456789:;<=>?@ABCNoneC Shared HTTP manager. Cache for the access token. Use  accessToken when within the e monad to access the token. That function will automatically refresh it when it is about to expire.7The action which is used to fetch a fresh access token. Evaluate a  action and return either the  or the result.+Transform an synchronous exception into an ?. Async exceptions are left untouched and propagated into the D monad.Run an D action inside the B monad, catch all synchronous exceptions and transform them into s.Retry a / action multiple times before failing for good.'TODO: Make the retry count configurable       NoneNone The instance's zone.EThe fully-qualified machine type name of the instance's host machine.The ID of an instance. This is a unique, numerical ID that is generated by Google Compute Engine. This is useful for identifying instances if you do not want to use instance names."=A project or instance metadata attribute is a key-value pair.#The #P can also be used to refer to a project on Google cloud. It is globally unique.&The &u is a string which the user can freely chose when creating a new project in the Google cloud. It is globally unique.,xConvenience function to read a metadata value from the server. When talking to the metadata server one has to supply a Metadata-Flavor6 header, otherwise the server refuses to communicate.-Like * but for reading from the metadata server.3&The internal hostname of the instance.54Fetch an access token for the given service account. !"#$%&'()*+,-./012345 !"#$%&'()*+,-./012345)*+,-&'(.#$%/"0 !12345 !"#$%&'()*+,-./012345None6Fetch the access token for the default service account from the local metadata server. This only works when the code is running in the Google cloud and the instance has a services account attached to it.78Store the token in the cache. If the cache already contains a token, the better one of the two is actually stored (where *better* is defined as the one which expires later). So it is safe to call this function even if you are unsure if the token you have is better than the one which is already in the cache.Returns the better token.9Return the value of the access token. The function guarantees that the token is valid for at least 60 seconds. Though you should not be afraid to call the function frequently, it caches the token inside the  # so there is very little overhead.: Construct a Ey that contains the authorization details. Such a header needs to be supplied to all requsts which require authorization.SNot all requests require it. In particular, requests to the metadata server don't.6789:6789:6789:6789:NoneA Upload a F to a ><. This is the simplest function to upload something into a >.;<=>?@A;<=>?@A>?@;<=A;<=>?@ANoneB Create a new  9 with sensible defaults. The defaults are such that the  Z works out of the box when the application is running on an instance in the Google cloud.C Create a new  % with your own configuration options.BC BC BCBCG       !!"#$$%&&'()*+,-./0123456789::;<<=>?@ABCDEFGHIJgoogl_Gr6Q7W3vGPrH0IQNt2ytYZGoogle.Cloud.Internal.TypesGoogle.Cloud.Internal.HTTPGoogle.Cloud.Compute.MetadataGoogle.Cloud.Internal.TokenGoogle.Cloud.Storage Google.CloudCloudrunCloudError UnknownErrorIOError DecodeErrorTokentokenExpiresAt tokenValueHandlehManagerhToken hFetchToken evalCloudtransformExceptioncloudIOretry$fAlternativeCloud runRequestpostgetgetJSONZoneunZone MachineType unMachineType InstanceId unInstanceId AttributeNumericProjectIdunNumericProjectId ProjectId unProjectIdmetadataServerprojectMetadataPathinstanceMetadataPathreadKeyreadJSON projectIdnumericProjectIdprojectAttributes instanceId machineTypeinternalHostnamezoneserviceAccountTokendefaultMetadataToken cacheToken refreshToken accessTokenauthorizationHeaderNameunNameBucketunBucket uploadMedia createHandlemkHandleghc-prim GHC.TypesIOhttpt_3XWhJOowRHmDxzVltu1srYNetwork.HTTP.Types.HeaderHeaderbytes_6VWy06pWzJq9evDvK2d4w6Data.ByteString.Internal ByteString