Full Code of wpCloud/wp-stateless for AI

latest 2a64ef967e77 cached
2439 files
15.3 MB
4.2M tokens
13102 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (16,633K chars total). Download the full file to get everything.
Repository: wpCloud/wp-stateless
Branch: latest
Commit: 2a64ef967e77
Files: 2439
Total size: 15.3 MB

Directory structure:
gitextract_pxv_oo3a/

├── .github/
│   ├── dependabot.yml
│   └── workflows/
│       ├── publish-release.yml
│       └── security-scan.yml
├── .gitignore
├── LICENSE
├── SECURITY.md
├── changelog.txt
├── changes.md
├── composer.json
├── l10n.php
├── lib/
│   ├── Google/
│   │   ├── CHANGELOG.md
│   │   ├── CODE_OF_CONDUCT.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── SECURITY.md
│   │   ├── UPGRADING.md
│   │   ├── composer.json
│   │   ├── phpstan.neon.dist
│   │   ├── src/
│   │   │   ├── AccessToken/
│   │   │   │   ├── Revoke.php
│   │   │   │   └── Verify.php
│   │   │   ├── AuthHandler/
│   │   │   │   ├── AuthHandlerFactory.php
│   │   │   │   ├── Guzzle6AuthHandler.php
│   │   │   │   └── Guzzle7AuthHandler.php
│   │   │   ├── Client.php
│   │   │   ├── Collection.php
│   │   │   ├── Exception.php
│   │   │   ├── Http/
│   │   │   │   ├── Batch.php
│   │   │   │   ├── MediaFileUpload.php
│   │   │   │   └── REST.php
│   │   │   ├── Model.php
│   │   │   ├── Service/
│   │   │   │   ├── Exception.php
│   │   │   │   ├── README.md
│   │   │   │   └── Resource.php
│   │   │   ├── Service.php
│   │   │   ├── Task/
│   │   │   │   ├── Composer.php
│   │   │   │   ├── Exception.php
│   │   │   │   ├── Retryable.php
│   │   │   │   └── Runner.php
│   │   │   ├── Utils/
│   │   │   │   └── UriTemplate.php
│   │   │   └── aliases.php
│   │   └── vendor/
│   │       ├── autoload.php
│   │       ├── bin/
│   │       │   └── google-cloud-batch
│   │       ├── brick/
│   │       │   └── math/
│   │       │       ├── CHANGELOG.md
│   │       │       ├── LICENSE
│   │       │       ├── composer.json
│   │       │       ├── psalm-baseline.xml
│   │       │       └── src/
│   │       │           ├── BigDecimal.php
│   │       │           ├── BigInteger.php
│   │       │           ├── BigNumber.php
│   │       │           ├── BigRational.php
│   │       │           ├── Exception/
│   │       │           │   ├── DivisionByZeroException.php
│   │       │           │   ├── IntegerOverflowException.php
│   │       │           │   ├── MathException.php
│   │       │           │   ├── NegativeNumberException.php
│   │       │           │   ├── NumberFormatException.php
│   │       │           │   └── RoundingNecessaryException.php
│   │       │           ├── Internal/
│   │       │           │   ├── Calculator/
│   │       │           │   │   ├── BcMathCalculator.php
│   │       │           │   │   ├── GmpCalculator.php
│   │       │           │   │   └── NativeCalculator.php
│   │       │           │   └── Calculator.php
│   │       │           └── RoundingMode.php
│   │       ├── composer/
│   │       │   ├── ClassLoader.php
│   │       │   ├── InstalledVersions.php
│   │       │   ├── LICENSE
│   │       │   ├── autoload_classmap.php
│   │       │   ├── autoload_files.php
│   │       │   ├── autoload_namespaces.php
│   │       │   ├── autoload_psr4.php
│   │       │   ├── autoload_real.php
│   │       │   ├── autoload_static.php
│   │       │   ├── installed.json
│   │       │   ├── installed.php
│   │       │   └── platform_check.php
│   │       ├── firebase/
│   │       │   └── php-jwt/
│   │       │       ├── CHANGELOG.md
│   │       │       ├── LICENSE
│   │       │       ├── README.md
│   │       │       ├── composer.json
│   │       │       └── src/
│   │       │           ├── BeforeValidException.php
│   │       │           ├── CachedKeySet.php
│   │       │           ├── ExpiredException.php
│   │       │           ├── JWK.php
│   │       │           ├── JWT.php
│   │       │           ├── JWTExceptionWithPayloadInterface.php
│   │       │           ├── Key.php
│   │       │           └── SignatureInvalidException.php
│   │       ├── google/
│   │       │   ├── apiclient-services/
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── SECURITY.md
│   │       │   │   ├── autoload.php
│   │       │   │   ├── composer.json
│   │       │   │   └── src/
│   │       │   │       ├── Storage/
│   │       │   │       │   ├── AdvanceRelocateBucketOperationRequest.php
│   │       │   │       │   ├── AnywhereCache.php
│   │       │   │       │   ├── AnywhereCaches.php
│   │       │   │       │   ├── Bucket.php
│   │       │   │       │   ├── BucketAccessControl.php
│   │       │   │       │   ├── BucketAccessControlProjectTeam.php
│   │       │   │       │   ├── BucketAccessControls.php
│   │       │   │       │   ├── BucketAutoclass.php
│   │       │   │       │   ├── BucketBilling.php
│   │       │   │       │   ├── BucketCors.php
│   │       │   │       │   ├── BucketCustomPlacementConfig.php
│   │       │   │       │   ├── BucketEncryption.php
│   │       │   │       │   ├── BucketEncryptionCustomerManagedEncryptionEnforcementConfig.php
│   │       │   │       │   ├── BucketEncryptionCustomerSuppliedEncryptionEnforcementConfig.php
│   │       │   │       │   ├── BucketEncryptionGoogleManagedEncryptionEnforcementConfig.php
│   │       │   │       │   ├── BucketHierarchicalNamespace.php
│   │       │   │       │   ├── BucketIamConfiguration.php
│   │       │   │       │   ├── BucketIamConfigurationBucketPolicyOnly.php
│   │       │   │       │   ├── BucketIamConfigurationUniformBucketLevelAccess.php
│   │       │   │       │   ├── BucketIpFilter.php
│   │       │   │       │   ├── BucketIpFilterPublicNetworkSource.php
│   │       │   │       │   ├── BucketIpFilterVpcNetworkSources.php
│   │       │   │       │   ├── BucketLifecycle.php
│   │       │   │       │   ├── BucketLifecycleRule.php
│   │       │   │       │   ├── BucketLifecycleRuleAction.php
│   │       │   │       │   ├── BucketLifecycleRuleCondition.php
│   │       │   │       │   ├── BucketLogging.php
│   │       │   │       │   ├── BucketObjectRetention.php
│   │       │   │       │   ├── BucketOwner.php
│   │       │   │       │   ├── BucketRetentionPolicy.php
│   │       │   │       │   ├── BucketSoftDeletePolicy.php
│   │       │   │       │   ├── BucketStorageLayout.php
│   │       │   │       │   ├── BucketStorageLayoutCustomPlacementConfig.php
│   │       │   │       │   ├── BucketStorageLayoutHierarchicalNamespace.php
│   │       │   │       │   ├── BucketVersioning.php
│   │       │   │       │   ├── BucketWebsite.php
│   │       │   │       │   ├── Buckets.php
│   │       │   │       │   ├── BulkRestoreObjectsRequest.php
│   │       │   │       │   ├── Channel.php
│   │       │   │       │   ├── ComposeRequest.php
│   │       │   │       │   ├── ComposeRequestSourceObjects.php
│   │       │   │       │   ├── ComposeRequestSourceObjectsObjectPreconditions.php
│   │       │   │       │   ├── Expr.php
│   │       │   │       │   ├── Folder.php
│   │       │   │       │   ├── FolderPendingRenameInfo.php
│   │       │   │       │   ├── Folders.php
│   │       │   │       │   ├── GoogleLongrunningListOperationsResponse.php
│   │       │   │       │   ├── GoogleLongrunningOperation.php
│   │       │   │       │   ├── GoogleRpcStatus.php
│   │       │   │       │   ├── HmacKey.php
│   │       │   │       │   ├── HmacKeyMetadata.php
│   │       │   │       │   ├── HmacKeysMetadata.php
│   │       │   │       │   ├── ManagedFolder.php
│   │       │   │       │   ├── ManagedFolders.php
│   │       │   │       │   ├── Notification.php
│   │       │   │       │   ├── Notifications.php
│   │       │   │       │   ├── ObjectAccessControl.php
│   │       │   │       │   ├── ObjectAccessControlProjectTeam.php
│   │       │   │       │   ├── ObjectAccessControls.php
│   │       │   │       │   ├── ObjectCustomContextPayload.php
│   │       │   │       │   ├── Objects.php
│   │       │   │       │   ├── Policy.php
│   │       │   │       │   ├── PolicyBindings.php
│   │       │   │       │   ├── RelocateBucketRequest.php
│   │       │   │       │   ├── RelocateBucketRequestDestinationCustomPlacementConfig.php
│   │       │   │       │   ├── Resource/
│   │       │   │       │   │   ├── AnywhereCache.php
│   │       │   │       │   │   ├── AnywhereCaches.php
│   │       │   │       │   │   ├── BucketAccessControls.php
│   │       │   │       │   │   ├── Buckets.php
│   │       │   │       │   │   ├── Channels.php
│   │       │   │       │   │   ├── DefaultObjectAccessControls.php
│   │       │   │       │   │   ├── Folders.php
│   │       │   │       │   │   ├── ManagedFolders.php
│   │       │   │       │   │   ├── Notifications.php
│   │       │   │       │   │   ├── ObjectAccessControls.php
│   │       │   │       │   │   ├── Objects.php
│   │       │   │       │   │   ├── Operations.php
│   │       │   │       │   │   ├── Projects.php
│   │       │   │       │   │   ├── ProjectsHmacKeys.php
│   │       │   │       │   │   └── ProjectsServiceAccount.php
│   │       │   │       │   ├── RewriteResponse.php
│   │       │   │       │   ├── ServiceAccount.php
│   │       │   │       │   ├── StorageObject.php
│   │       │   │       │   ├── StorageObjectContexts.php
│   │       │   │       │   ├── StorageObjectCustomerEncryption.php
│   │       │   │       │   ├── StorageObjectOwner.php
│   │       │   │       │   ├── StorageObjectRetention.php
│   │       │   │       │   └── TestIamPermissionsResponse.php
│   │       │   │       └── Storage.php
│   │       │   ├── auth/
│   │       │   │   ├── .repo-metadata.json
│   │       │   │   ├── COPYING
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── SECURITY.md
│   │       │   │   ├── VERSION
│   │       │   │   ├── composer.json
│   │       │   │   └── src/
│   │       │   │       ├── AccessToken.php
│   │       │   │       ├── ApplicationDefaultCredentials.php
│   │       │   │       ├── Cache/
│   │       │   │       │   ├── FileSystemCacheItemPool.php
│   │       │   │       │   ├── InvalidArgumentException.php
│   │       │   │       │   ├── MemoryCacheItemPool.php
│   │       │   │       │   ├── SysVCacheItemPool.php
│   │       │   │       │   └── TypedItem.php
│   │       │   │       ├── CacheTrait.php
│   │       │   │       ├── CredentialSource/
│   │       │   │       │   ├── AwsNativeSource.php
│   │       │   │       │   ├── ExecutableSource.php
│   │       │   │       │   ├── FileSource.php
│   │       │   │       │   └── UrlSource.php
│   │       │   │       ├── Credentials/
│   │       │   │       │   ├── AppIdentityCredentials.php
│   │       │   │       │   ├── ExternalAccountCredentials.php
│   │       │   │       │   ├── GCECredentials.php
│   │       │   │       │   ├── IAMCredentials.php
│   │       │   │       │   ├── ImpersonatedServiceAccountCredentials.php
│   │       │   │       │   ├── InsecureCredentials.php
│   │       │   │       │   ├── ServiceAccountCredentials.php
│   │       │   │       │   ├── ServiceAccountJwtAccessCredentials.php
│   │       │   │       │   └── UserRefreshCredentials.php
│   │       │   │       ├── CredentialsLoader.php
│   │       │   │       ├── ExecutableHandler/
│   │       │   │       │   ├── ExecutableHandler.php
│   │       │   │       │   └── ExecutableResponseError.php
│   │       │   │       ├── ExternalAccountCredentialSourceInterface.php
│   │       │   │       ├── FetchAuthTokenCache.php
│   │       │   │       ├── FetchAuthTokenInterface.php
│   │       │   │       ├── GCECache.php
│   │       │   │       ├── GetQuotaProjectInterface.php
│   │       │   │       ├── GetUniverseDomainInterface.php
│   │       │   │       ├── HttpHandler/
│   │       │   │       │   ├── Guzzle6HttpHandler.php
│   │       │   │       │   ├── Guzzle7HttpHandler.php
│   │       │   │       │   ├── HttpClientCache.php
│   │       │   │       │   └── HttpHandlerFactory.php
│   │       │   │       ├── Iam.php
│   │       │   │       ├── IamSignerTrait.php
│   │       │   │       ├── Logging/
│   │       │   │       │   ├── LoggingTrait.php
│   │       │   │       │   ├── RpcLogEvent.php
│   │       │   │       │   └── StdOutLogger.php
│   │       │   │       ├── MetricsTrait.php
│   │       │   │       ├── Middleware/
│   │       │   │       │   ├── AuthTokenMiddleware.php
│   │       │   │       │   ├── ProxyAuthTokenMiddleware.php
│   │       │   │       │   ├── ScopedAccessTokenMiddleware.php
│   │       │   │       │   └── SimpleMiddleware.php
│   │       │   │       ├── OAuth2.php
│   │       │   │       ├── ProjectIdProviderInterface.php
│   │       │   │       ├── ServiceAccountSignerTrait.php
│   │       │   │       ├── SignBlobInterface.php
│   │       │   │       ├── UpdateMetadataInterface.php
│   │       │   │       └── UpdateMetadataTrait.php
│   │       │   ├── cloud-core/
│   │       │   │   ├── .gitattributes
│   │       │   │   ├── CODE_OF_CONDUCT.md
│   │       │   │   ├── CONTRIBUTING.md
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── SECURITY.md
│   │       │   │   ├── VERSION
│   │       │   │   ├── bin/
│   │       │   │   │   └── google-cloud-batch
│   │       │   │   ├── composer.json
│   │       │   │   ├── perf-bootstrap.php
│   │       │   │   ├── snippet-bootstrap.php
│   │       │   │   ├── src/
│   │       │   │   │   ├── AnonymousCredentials.php
│   │       │   │   │   ├── ApiHelperTrait.php
│   │       │   │   │   ├── ArrayTrait.php
│   │       │   │   │   ├── Batch/
│   │       │   │   │   │   ├── BatchDaemon.php
│   │       │   │   │   │   ├── BatchDaemonTrait.php
│   │       │   │   │   │   ├── BatchJob.php
│   │       │   │   │   │   ├── BatchRunner.php
│   │       │   │   │   │   ├── BatchTrait.php
│   │       │   │   │   │   ├── ClosureSerializerInterface.php
│   │       │   │   │   │   ├── ConfigStorageInterface.php
│   │       │   │   │   │   ├── HandleFailureTrait.php
│   │       │   │   │   │   ├── InMemoryConfigStorage.php
│   │       │   │   │   │   ├── InterruptTrait.php
│   │       │   │   │   │   ├── JobConfig.php
│   │       │   │   │   │   ├── JobInterface.php
│   │       │   │   │   │   ├── JobTrait.php
│   │       │   │   │   │   ├── OpisClosureSerializer.php
│   │       │   │   │   │   ├── OpisClosureSerializerV4.php
│   │       │   │   │   │   ├── ProcessItemInterface.php
│   │       │   │   │   │   ├── QueueOverflowException.php
│   │       │   │   │   │   ├── Retry.php
│   │       │   │   │   │   ├── SerializableClientTrait.php
│   │       │   │   │   │   ├── SimpleJob.php
│   │       │   │   │   │   ├── SimpleJobTrait.php
│   │       │   │   │   │   ├── SysvConfigStorage.php
│   │       │   │   │   │   └── SysvProcessor.php
│   │       │   │   │   ├── Blob.php
│   │       │   │   │   ├── ClientTrait.php
│   │       │   │   │   ├── Compute/
│   │       │   │   │   │   ├── Metadata/
│   │       │   │   │   │   │   └── Readers/
│   │       │   │   │   │   │       ├── HttpHandlerReader.php
│   │       │   │   │   │   │       ├── ReaderInterface.php
│   │       │   │   │   │   │       └── StreamReader.php
│   │       │   │   │   │   └── Metadata.php
│   │       │   │   │   ├── ConcurrencyControlTrait.php
│   │       │   │   │   ├── DebugInfoTrait.php
│   │       │   │   │   ├── DetectProjectIdTrait.php
│   │       │   │   │   ├── Duration.php
│   │       │   │   │   ├── EmulatorTrait.php
│   │       │   │   │   ├── Exception/
│   │       │   │   │   │   ├── AbortedException.php
│   │       │   │   │   │   ├── BadRequestException.php
│   │       │   │   │   │   ├── ConflictException.php
│   │       │   │   │   │   ├── DeadlineExceededException.php
│   │       │   │   │   │   ├── FailedPreconditionException.php
│   │       │   │   │   │   ├── GoogleException.php
│   │       │   │   │   │   ├── NotFoundException.php
│   │       │   │   │   │   ├── ServerException.php
│   │       │   │   │   │   └── ServiceException.php
│   │       │   │   │   ├── ExponentialBackoff.php
│   │       │   │   │   ├── GeoPoint.php
│   │       │   │   │   ├── GrpcRequestWrapper.php
│   │       │   │   │   ├── GrpcTrait.php
│   │       │   │   │   ├── Iam/
│   │       │   │   │   │   ├── Iam.php
│   │       │   │   │   │   ├── IamConnectionInterface.php
│   │       │   │   │   │   ├── IamManager.php
│   │       │   │   │   │   └── PolicyBuilder.php
│   │       │   │   │   ├── InsecureCredentialsWrapper.php
│   │       │   │   │   ├── Int64.php
│   │       │   │   │   ├── Iterator/
│   │       │   │   │   │   ├── ItemIterator.php
│   │       │   │   │   │   ├── ItemIteratorTrait.php
│   │       │   │   │   │   ├── PageIterator.php
│   │       │   │   │   │   └── PageIteratorTrait.php
│   │       │   │   │   ├── JsonTrait.php
│   │       │   │   │   ├── Lock/
│   │       │   │   │   │   ├── FlockLock.php
│   │       │   │   │   │   ├── LockInterface.php
│   │       │   │   │   │   ├── LockTrait.php
│   │       │   │   │   │   ├── SemaphoreLock.php
│   │       │   │   │   │   └── SymfonyLockAdapter.php
│   │       │   │   │   ├── Logger/
│   │       │   │   │   │   ├── AppEngineFlexFormatter.php
│   │       │   │   │   │   ├── AppEngineFlexFormatterV2.php
│   │       │   │   │   │   ├── AppEngineFlexFormatterV3.php
│   │       │   │   │   │   ├── AppEngineFlexHandler.php
│   │       │   │   │   │   ├── AppEngineFlexHandlerFactory.php
│   │       │   │   │   │   ├── AppEngineFlexHandlerV2.php
│   │       │   │   │   │   ├── AppEngineFlexHandlerV3.php
│   │       │   │   │   │   └── FormatterTrait.php
│   │       │   │   │   ├── LongRunning/
│   │       │   │   │   │   ├── LROTrait.php
│   │       │   │   │   │   ├── LongRunningClientConnection.php
│   │       │   │   │   │   ├── LongRunningConnectionInterface.php
│   │       │   │   │   │   ├── LongRunningOperation.php
│   │       │   │   │   │   └── OperationResponseTrait.php
│   │       │   │   │   ├── OptionsValidator.php
│   │       │   │   │   ├── PhpArray.php
│   │       │   │   │   ├── Report/
│   │       │   │   │   │   ├── CloudRunJobMetadataProvider.php
│   │       │   │   │   │   ├── CloudRunMetadataProvider.php
│   │       │   │   │   │   ├── CloudRunServiceMetadataProvider.php
│   │       │   │   │   │   ├── EmptyMetadataProvider.php
│   │       │   │   │   │   ├── GAEFlexMetadataProvider.php
│   │       │   │   │   │   ├── GAEMetadataProvider.php
│   │       │   │   │   │   ├── GAEStandardMetadataProvider.php
│   │       │   │   │   │   ├── MetadataProviderInterface.php
│   │       │   │   │   │   ├── MetadataProviderUtils.php
│   │       │   │   │   │   └── SimpleMetadataProvider.php
│   │       │   │   │   ├── RequestBuilder.php
│   │       │   │   │   ├── RequestHandler.php
│   │       │   │   │   ├── RequestProcessorTrait.php
│   │       │   │   │   ├── RequestWrapper.php
│   │       │   │   │   ├── RequestWrapperTrait.php
│   │       │   │   │   ├── RestTrait.php
│   │       │   │   │   ├── Retry.php
│   │       │   │   │   ├── RetryDeciderTrait.php
│   │       │   │   │   ├── ServiceBuilder.php
│   │       │   │   │   ├── SysvTrait.php
│   │       │   │   │   ├── Testing/
│   │       │   │   │   │   ├── ArrayHasSameValuesToken.php
│   │       │   │   │   │   ├── CheckForClassTrait.php
│   │       │   │   │   │   ├── DatastoreOperationRefreshTrait.php
│   │       │   │   │   │   ├── FileListFilterIterator.php
│   │       │   │   │   │   ├── GcTestListener.php
│   │       │   │   │   │   ├── GrpcTestTrait.php
│   │       │   │   │   │   ├── KeyPairGenerateTrait.php
│   │       │   │   │   │   ├── Lock/
│   │       │   │   │   │   │   ├── MockGlobals.php
│   │       │   │   │   │   │   └── MockValues.php
│   │       │   │   │   │   ├── README.md
│   │       │   │   │   │   ├── Reflection/
│   │       │   │   │   │   │   ├── DescriptionFactory.php
│   │       │   │   │   │   │   ├── ReflectionHandlerFactory.php
│   │       │   │   │   │   │   └── ReflectionHandlerV6.php
│   │       │   │   │   │   ├── RegexFileFilter.php
│   │       │   │   │   │   ├── Snippet/
│   │       │   │   │   │   │   ├── Container.php
│   │       │   │   │   │   │   ├── Coverage/
│   │       │   │   │   │   │   │   ├── Coverage.php
│   │       │   │   │   │   │   │   ├── ExcludeFilter.php
│   │       │   │   │   │   │   │   ├── Scanner.php
│   │       │   │   │   │   │   │   └── ScannerInterface.php
│   │       │   │   │   │   │   ├── Fixtures.php
│   │       │   │   │   │   │   ├── Parser/
│   │       │   │   │   │   │   │   ├── InvokeResult.php
│   │       │   │   │   │   │   │   ├── Parser.php
│   │       │   │   │   │   │   │   └── Snippet.php
│   │       │   │   │   │   │   ├── SnippetTestCase.php
│   │       │   │   │   │   │   └── keyfile-stub.json
│   │       │   │   │   │   ├── StubTrait.php
│   │       │   │   │   │   ├── System/
│   │       │   │   │   │   │   ├── DeletionQueue.php
│   │       │   │   │   │   │   ├── KeyManager.php
│   │       │   │   │   │   │   └── SystemTestCase.php
│   │       │   │   │   │   └── TestHelpers.php
│   │       │   │   │   ├── TimeTrait.php
│   │       │   │   │   ├── Timestamp.php
│   │       │   │   │   ├── TimestampTrait.php
│   │       │   │   │   ├── Upload/
│   │       │   │   │   │   ├── AbstractUploader.php
│   │       │   │   │   │   ├── MultipartUploader.php
│   │       │   │   │   │   ├── ResumableUploader.php
│   │       │   │   │   │   ├── SignedUrlUploader.php
│   │       │   │   │   │   └── StreamableUploader.php
│   │       │   │   │   ├── UriTrait.php
│   │       │   │   │   ├── ValidateTrait.php
│   │       │   │   │   ├── ValueMapperTrait.php
│   │       │   │   │   └── WhitelistTrait.php
│   │       │   │   ├── system-bootstrap.php
│   │       │   │   └── unit-bootstrap.php
│   │       │   ├── cloud-storage/
│   │       │   │   ├── .gitattributes
│   │       │   │   ├── CODE_OF_CONDUCT.md
│   │       │   │   ├── CONTRIBUTING.md
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── SECURITY.md
│   │       │   │   ├── VERSION
│   │       │   │   ├── composer.json
│   │       │   │   └── src/
│   │       │   │       ├── Acl.php
│   │       │   │       ├── Bucket.php
│   │       │   │       ├── BucketIterator.php
│   │       │   │       ├── Connection/
│   │       │   │       │   ├── ConnectionInterface.php
│   │       │   │       │   ├── IamBucket.php
│   │       │   │       │   ├── Rest.php
│   │       │   │       │   ├── RetryTrait.php
│   │       │   │       │   └── ServiceDefinition/
│   │       │   │       │       └── storage-v1.json
│   │       │   │       ├── CreatedHmacKey.php
│   │       │   │       ├── EncryptionTrait.php
│   │       │   │       ├── HmacKey.php
│   │       │   │       ├── Lifecycle.php
│   │       │   │       ├── Notification.php
│   │       │   │       ├── ObjectIterator.php
│   │       │   │       ├── ObjectPageIterator.php
│   │       │   │       ├── ReadStream.php
│   │       │   │       ├── SigningHelper.php
│   │       │   │       ├── StorageClient.php
│   │       │   │       ├── StorageObject.php
│   │       │   │       ├── StreamWrapper.php
│   │       │   │       └── WriteStream.php
│   │       │   ├── common-protos/
│   │       │   │   ├── CHANGELOG.md
│   │       │   │   ├── CODE_OF_CONDUCT.md
│   │       │   │   ├── CONTRIBUTING.md
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── SECURITY.md
│   │       │   │   ├── VERSION
│   │       │   │   ├── composer.json
│   │       │   │   ├── metadata/
│   │       │   │   │   ├── Api/
│   │       │   │   │   │   ├── Annotations.php
│   │       │   │   │   │   ├── Auth.php
│   │       │   │   │   │   ├── Backend.php
│   │       │   │   │   │   ├── Billing.php
│   │       │   │   │   │   ├── Client.php
│   │       │   │   │   │   ├── ConfigChange.php
│   │       │   │   │   │   ├── Consumer.php
│   │       │   │   │   │   ├── Context.php
│   │       │   │   │   │   ├── Control.php
│   │       │   │   │   │   ├── Distribution.php
│   │       │   │   │   │   ├── Documentation.php
│   │       │   │   │   │   ├── Endpoint.php
│   │       │   │   │   │   ├── ErrorReason.php
│   │       │   │   │   │   ├── FieldBehavior.php
│   │       │   │   │   │   ├── FieldInfo.php
│   │       │   │   │   │   ├── Http.php
│   │       │   │   │   │   ├── Httpbody.php
│   │       │   │   │   │   ├── Label.php
│   │       │   │   │   │   ├── LaunchStage.php
│   │       │   │   │   │   ├── Log.php
│   │       │   │   │   │   ├── Logging.php
│   │       │   │   │   │   ├── Metric.php
│   │       │   │   │   │   ├── MonitoredResource.php
│   │       │   │   │   │   ├── Monitoring.php
│   │       │   │   │   │   ├── Policy.php
│   │       │   │   │   │   ├── Quota.php
│   │       │   │   │   │   ├── Resource.php
│   │       │   │   │   │   ├── Routing.php
│   │       │   │   │   │   ├── Service.php
│   │       │   │   │   │   ├── SourceInfo.php
│   │       │   │   │   │   ├── SystemParameter.php
│   │       │   │   │   │   ├── Usage.php
│   │       │   │   │   │   └── Visibility.php
│   │       │   │   │   ├── Cloud/
│   │       │   │   │   │   ├── ExtendedOperations.php
│   │       │   │   │   │   └── Location/
│   │       │   │   │   │       └── Locations.php
│   │       │   │   │   ├── Google/
│   │       │   │   │   │   ├── Iam/
│   │       │   │   │   │   │   └── V1/
│   │       │   │   │   │   │       ├── IamPolicy.php
│   │       │   │   │   │   │       ├── Logging/
│   │       │   │   │   │   │       │   └── AuditData.php
│   │       │   │   │   │   │       ├── Options.php
│   │       │   │   │   │   │       ├── Policy.php
│   │       │   │   │   │   │       └── ResourcePolicyMember.php
│   │       │   │   │   │   └── Logging/
│   │       │   │   │   │       └── Type/
│   │       │   │   │   │           ├── HttpRequest.php
│   │       │   │   │   │           └── LogSeverity.php
│   │       │   │   │   ├── Iam/
│   │       │   │   │   │   └── V1/
│   │       │   │   │   │       ├── IamPolicy.php
│   │       │   │   │   │       ├── Logging/
│   │       │   │   │   │       │   └── AuditData.php
│   │       │   │   │   │       ├── Options.php
│   │       │   │   │   │       ├── Policy.php
│   │       │   │   │   │       └── ResourcePolicyMember.php
│   │       │   │   │   ├── Logging/
│   │       │   │   │   │   └── Type/
│   │       │   │   │   │       ├── HttpRequest.php
│   │       │   │   │   │       └── LogSeverity.php
│   │       │   │   │   ├── Rpc/
│   │       │   │   │   │   ├── Code.php
│   │       │   │   │   │   ├── Context/
│   │       │   │   │   │   │   ├── AttributeContext.php
│   │       │   │   │   │   │   └── AuditContext.php
│   │       │   │   │   │   ├── ErrorDetails.php
│   │       │   │   │   │   └── Status.php
│   │       │   │   │   └── Type/
│   │       │   │   │       ├── CalendarPeriod.php
│   │       │   │   │       ├── Color.php
│   │       │   │   │       ├── Date.php
│   │       │   │   │       ├── Datetime.php
│   │       │   │   │       ├── Dayofweek.php
│   │       │   │   │       ├── Decimal.php
│   │       │   │   │       ├── Expr.php
│   │       │   │   │       ├── Fraction.php
│   │       │   │   │       ├── Interval.php
│   │       │   │   │       ├── Latlng.php
│   │       │   │   │       ├── LocalizedText.php
│   │       │   │   │       ├── Money.php
│   │       │   │   │       ├── Month.php
│   │       │   │   │       ├── PhoneNumber.php
│   │       │   │   │       ├── PostalAddress.php
│   │       │   │   │       ├── Quaternion.php
│   │       │   │   │       └── Timeofday.php
│   │       │   │   ├── renovate.json
│   │       │   │   └── src/
│   │       │   │       ├── Api/
│   │       │   │       │   ├── Advice.php
│   │       │   │       │   ├── AuthProvider.php
│   │       │   │       │   ├── AuthRequirement.php
│   │       │   │       │   ├── Authentication.php
│   │       │   │       │   ├── AuthenticationRule.php
│   │       │   │       │   ├── Backend.php
│   │       │   │       │   ├── BackendRule/
│   │       │   │       │   │   └── PathTranslation.php
│   │       │   │       │   ├── BackendRule.php
│   │       │   │       │   ├── Billing/
│   │       │   │       │   │   └── BillingDestination.php
│   │       │   │       │   ├── Billing.php
│   │       │   │       │   ├── ChangeType.php
│   │       │   │       │   ├── ClientLibraryDestination.php
│   │       │   │       │   ├── ClientLibraryOrganization.php
│   │       │   │       │   ├── ClientLibrarySettings.php
│   │       │   │       │   ├── CommonLanguageSettings.php
│   │       │   │       │   ├── ConfigChange.php
│   │       │   │       │   ├── Context.php
│   │       │   │       │   ├── ContextRule.php
│   │       │   │       │   ├── Control.php
│   │       │   │       │   ├── CppSettings.php
│   │       │   │       │   ├── CustomHttpPattern.php
│   │       │   │       │   ├── Distribution/
│   │       │   │       │   │   ├── BucketOptions/
│   │       │   │       │   │   │   ├── Explicit.php
│   │       │   │       │   │   │   ├── Exponential.php
│   │       │   │       │   │   │   └── Linear.php
│   │       │   │       │   │   ├── BucketOptions.php
│   │       │   │       │   │   ├── Exemplar.php
│   │       │   │       │   │   └── Range.php
│   │       │   │       │   ├── Distribution.php
│   │       │   │       │   ├── Documentation.php
│   │       │   │       │   ├── DocumentationRule.php
│   │       │   │       │   ├── DotnetSettings.php
│   │       │   │       │   ├── Endpoint.php
│   │       │   │       │   ├── ErrorReason.php
│   │       │   │       │   ├── FieldBehavior.php
│   │       │   │       │   ├── FieldInfo/
│   │       │   │       │   │   └── Format.php
│   │       │   │       │   ├── FieldInfo.php
│   │       │   │       │   ├── FieldPolicy.php
│   │       │   │       │   ├── GoSettings.php
│   │       │   │       │   ├── Http.php
│   │       │   │       │   ├── HttpBody.php
│   │       │   │       │   ├── HttpRule.php
│   │       │   │       │   ├── JavaSettings.php
│   │       │   │       │   ├── JwtLocation.php
│   │       │   │       │   ├── LabelDescriptor/
│   │       │   │       │   │   └── ValueType.php
│   │       │   │       │   ├── LabelDescriptor.php
│   │       │   │       │   ├── LaunchStage.php
│   │       │   │       │   ├── LogDescriptor.php
│   │       │   │       │   ├── Logging/
│   │       │   │       │   │   └── LoggingDestination.php
│   │       │   │       │   ├── Logging.php
│   │       │   │       │   ├── MethodPolicy.php
│   │       │   │       │   ├── MethodSettings/
│   │       │   │       │   │   └── LongRunning.php
│   │       │   │       │   ├── MethodSettings.php
│   │       │   │       │   ├── Metric.php
│   │       │   │       │   ├── MetricDescriptor/
│   │       │   │       │   │   ├── MetricDescriptorMetadata/
│   │       │   │       │   │   │   └── TimeSeriesResourceHierarchyLevel.php
│   │       │   │       │   │   ├── MetricDescriptorMetadata.php
│   │       │   │       │   │   ├── MetricKind.php
│   │       │   │       │   │   └── ValueType.php
│   │       │   │       │   ├── MetricDescriptor.php
│   │       │   │       │   ├── MetricRule.php
│   │       │   │       │   ├── MonitoredResource.php
│   │       │   │       │   ├── MonitoredResourceDescriptor.php
│   │       │   │       │   ├── MonitoredResourceMetadata.php
│   │       │   │       │   ├── Monitoring/
│   │       │   │       │   │   └── MonitoringDestination.php
│   │       │   │       │   ├── Monitoring.php
│   │       │   │       │   ├── NodeSettings.php
│   │       │   │       │   ├── OAuthRequirements.php
│   │       │   │       │   ├── Page.php
│   │       │   │       │   ├── PhpSettings.php
│   │       │   │       │   ├── ProjectProperties.php
│   │       │   │       │   ├── Property/
│   │       │   │       │   │   └── PropertyType.php
│   │       │   │       │   ├── Property.php
│   │       │   │       │   ├── Publishing.php
│   │       │   │       │   ├── PythonSettings/
│   │       │   │       │   │   └── ExperimentalFeatures.php
│   │       │   │       │   ├── PythonSettings.php
│   │       │   │       │   ├── Quota.php
│   │       │   │       │   ├── QuotaLimit.php
│   │       │   │       │   ├── ResourceDescriptor/
│   │       │   │       │   │   ├── History.php
│   │       │   │       │   │   └── Style.php
│   │       │   │       │   ├── ResourceDescriptor.php
│   │       │   │       │   ├── ResourceReference.php
│   │       │   │       │   ├── RoutingParameter.php
│   │       │   │       │   ├── RoutingRule.php
│   │       │   │       │   ├── RubySettings.php
│   │       │   │       │   ├── SelectiveGapicGeneration.php
│   │       │   │       │   ├── Service.php
│   │       │   │       │   ├── SourceInfo.php
│   │       │   │       │   ├── SystemParameter.php
│   │       │   │       │   ├── SystemParameterRule.php
│   │       │   │       │   ├── SystemParameters.php
│   │       │   │       │   ├── TypeReference.php
│   │       │   │       │   ├── Usage.php
│   │       │   │       │   ├── UsageRule.php
│   │       │   │       │   ├── Visibility.php
│   │       │   │       │   └── VisibilityRule.php
│   │       │   │       ├── Cloud/
│   │       │   │       │   ├── Iam/
│   │       │   │       │   │   └── V1/
│   │       │   │       │   │       ├── AuditConfig.php
│   │       │   │       │   │       ├── AuditConfigDelta/
│   │       │   │       │   │       │   └── Action.php
│   │       │   │       │   │       ├── AuditConfigDelta.php
│   │       │   │       │   │       ├── AuditLogConfig/
│   │       │   │       │   │       │   └── LogType.php
│   │       │   │       │   │       ├── AuditLogConfig.php
│   │       │   │       │   │       ├── Binding.php
│   │       │   │       │   │       ├── BindingDelta/
│   │       │   │       │   │       │   └── Action.php
│   │       │   │       │   │       ├── BindingDelta.php
│   │       │   │       │   │       ├── GetIamPolicyRequest.php
│   │       │   │       │   │       ├── GetPolicyOptions.php
│   │       │   │       │   │       ├── Policy.php
│   │       │   │       │   │       ├── PolicyDelta.php
│   │       │   │       │   │       ├── ResourcePolicyMember.php
│   │       │   │       │   │       ├── SetIamPolicyRequest.php
│   │       │   │       │   │       ├── TestIamPermissionsRequest.php
│   │       │   │       │   │       └── TestIamPermissionsResponse.php
│   │       │   │       │   ├── Location/
│   │       │   │       │   │   ├── GetLocationRequest.php
│   │       │   │       │   │   ├── ListLocationsRequest.php
│   │       │   │       │   │   ├── ListLocationsResponse.php
│   │       │   │       │   │   └── Location.php
│   │       │   │       │   ├── Logging/
│   │       │   │       │   │   └── Type/
│   │       │   │       │   │       ├── HttpRequest.php
│   │       │   │       │   │       └── LogSeverity.php
│   │       │   │       │   └── OperationResponseMapping.php
│   │       │   │       ├── Iam/
│   │       │   │       │   └── V1/
│   │       │   │       │       └── Logging/
│   │       │   │       │           └── AuditData.php
│   │       │   │       ├── Rpc/
│   │       │   │       │   ├── BadRequest/
│   │       │   │       │   │   └── FieldViolation.php
│   │       │   │       │   ├── BadRequest.php
│   │       │   │       │   ├── Code.php
│   │       │   │       │   ├── Context/
│   │       │   │       │   │   ├── AttributeContext/
│   │       │   │       │   │   │   ├── Api.php
│   │       │   │       │   │   │   ├── Auth.php
│   │       │   │       │   │   │   ├── Peer.php
│   │       │   │       │   │   │   ├── Request.php
│   │       │   │       │   │   │   ├── Resource.php
│   │       │   │       │   │   │   └── Response.php
│   │       │   │       │   │   ├── AttributeContext.php
│   │       │   │       │   │   └── AuditContext.php
│   │       │   │       │   ├── DebugInfo.php
│   │       │   │       │   ├── ErrorInfo.php
│   │       │   │       │   ├── Help/
│   │       │   │       │   │   └── Link.php
│   │       │   │       │   ├── Help.php
│   │       │   │       │   ├── LocalizedMessage.php
│   │       │   │       │   ├── PreconditionFailure/
│   │       │   │       │   │   └── Violation.php
│   │       │   │       │   ├── PreconditionFailure.php
│   │       │   │       │   ├── QuotaFailure/
│   │       │   │       │   │   └── Violation.php
│   │       │   │       │   ├── QuotaFailure.php
│   │       │   │       │   ├── RequestInfo.php
│   │       │   │       │   ├── ResourceInfo.php
│   │       │   │       │   ├── RetryInfo.php
│   │       │   │       │   └── Status.php
│   │       │   │       └── Type/
│   │       │   │           ├── CalendarPeriod.php
│   │       │   │           ├── Color.php
│   │       │   │           ├── Date.php
│   │       │   │           ├── DateTime.php
│   │       │   │           ├── DayOfWeek.php
│   │       │   │           ├── Decimal.php
│   │       │   │           ├── Expr.php
│   │       │   │           ├── Fraction.php
│   │       │   │           ├── Interval.php
│   │       │   │           ├── LatLng.php
│   │       │   │           ├── LocalizedText.php
│   │       │   │           ├── Money.php
│   │       │   │           ├── Month.php
│   │       │   │           ├── PhoneNumber/
│   │       │   │           │   └── ShortCode.php
│   │       │   │           ├── PhoneNumber.php
│   │       │   │           ├── PostalAddress.php
│   │       │   │           ├── Quaternion.php
│   │       │   │           ├── TimeOfDay.php
│   │       │   │           └── TimeZone.php
│   │       │   ├── gax/
│   │       │   │   ├── .repo-metadata.json
│   │       │   │   ├── CHANGELOG.md
│   │       │   │   ├── CODE_OF_CONDUCT.md
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── SECURITY.md
│   │       │   │   ├── VERSION
│   │       │   │   ├── composer.json
│   │       │   │   ├── metadata/
│   │       │   │   │   ├── ApiCore/
│   │       │   │   │   │   └── Testing/
│   │       │   │   │   │       └── Mocks.php
│   │       │   │   │   ├── Google/
│   │       │   │   │   │   └── ApiCore/
│   │       │   │   │   │       └── Tests/
│   │       │   │   │   │           └── Unit/
│   │       │   │   │   │               └── Example.php
│   │       │   │   │   └── README.md
│   │       │   │   ├── phpstan.neon.dist
│   │       │   │   ├── phpunit.xml.dist
│   │       │   │   ├── renovate.json
│   │       │   │   └── src/
│   │       │   │       ├── AgentHeader.php
│   │       │   │       ├── ApiException.php
│   │       │   │       ├── ApiKeyHeaderCredentials.php
│   │       │   │       ├── ApiStatus.php
│   │       │   │       ├── ArrayTrait.php
│   │       │   │       ├── BidiStream.php
│   │       │   │       ├── Call.php
│   │       │   │       ├── ClientOptionsTrait.php
│   │       │   │       ├── ClientStream.php
│   │       │   │       ├── CredentialsWrapper.php
│   │       │   │       ├── FixedSizeCollection.php
│   │       │   │       ├── GPBLabel.php
│   │       │   │       ├── GPBType.php
│   │       │   │       ├── GapicClientTrait.php
│   │       │   │       ├── GrpcSupportTrait.php
│   │       │   │       ├── HeaderCredentialsInterface.php
│   │       │   │       ├── InsecureCredentialsWrapper.php
│   │       │   │       ├── InsecureRequestBuilder.php
│   │       │   │       ├── Middleware/
│   │       │   │       │   ├── CredentialsWrapperMiddleware.php
│   │       │   │       │   ├── FixedHeaderMiddleware.php
│   │       │   │       │   ├── MiddlewareInterface.php
│   │       │   │       │   ├── OperationsMiddleware.php
│   │       │   │       │   ├── OptionsFilterMiddleware.php
│   │       │   │       │   ├── PagedMiddleware.php
│   │       │   │       │   ├── RequestAutoPopulationMiddleware.php
│   │       │   │       │   ├── ResponseMetadataMiddleware.php
│   │       │   │       │   ├── RetryMiddleware.php
│   │       │   │       │   └── TransportCallMiddleware.php
│   │       │   │       ├── OperationResponse.php
│   │       │   │       ├── Options/
│   │       │   │       │   ├── CallOptions.php
│   │       │   │       │   ├── ClientOptions.php
│   │       │   │       │   ├── OptionsInterface.php
│   │       │   │       │   ├── OptionsTrait.php
│   │       │   │       │   ├── TransportOptions/
│   │       │   │       │   │   ├── GrpcFallbackTransportOptions.php
│   │       │   │       │   │   ├── GrpcTransportOptions.php
│   │       │   │       │   │   └── RestTransportOptions.php
│   │       │   │       │   └── TransportOptions.php
│   │       │   │       ├── Page.php
│   │       │   │       ├── PageStreamingDescriptor.php
│   │       │   │       ├── PagedListResponse.php
│   │       │   │       ├── PathTemplate.php
│   │       │   │       ├── PollingTrait.php
│   │       │   │       ├── RequestBuilder.php
│   │       │   │       ├── RequestParamsHeaderDescriptor.php
│   │       │   │       ├── ResourceHelperTrait.php
│   │       │   │       ├── ResourceTemplate/
│   │       │   │       │   ├── AbsoluteResourceTemplate.php
│   │       │   │       │   ├── Parser.php
│   │       │   │       │   ├── RelativeResourceTemplate.php
│   │       │   │       │   ├── ResourceTemplateInterface.php
│   │       │   │       │   └── Segment.php
│   │       │   │       ├── RetrySettings.php
│   │       │   │       ├── Serializer.php
│   │       │   │       ├── ServerStream.php
│   │       │   │       ├── ServerStreamingCallInterface.php
│   │       │   │       ├── ServiceAddressTrait.php
│   │       │   │       ├── Testing/
│   │       │   │       │   ├── GeneratedTest.php
│   │       │   │       │   ├── MessageAwareArrayComparator.php
│   │       │   │       │   ├── MessageAwareExporter.php
│   │       │   │       │   ├── MockBidiStreamingCall.php
│   │       │   │       │   ├── MockClientStreamingCall.php
│   │       │   │       │   ├── MockGrpcTransport.php
│   │       │   │       │   ├── MockRequest.php
│   │       │   │       │   ├── MockRequestBody.php
│   │       │   │       │   ├── MockResponse.php
│   │       │   │       │   ├── MockServerStreamingCall.php
│   │       │   │       │   ├── MockStatus.php
│   │       │   │       │   ├── MockStubTrait.php
│   │       │   │       │   ├── MockTransport.php
│   │       │   │       │   ├── MockUnaryCall.php
│   │       │   │       │   ├── ProtobufGPBEmptyComparator.php
│   │       │   │       │   ├── ProtobufMessageComparator.php
│   │       │   │       │   ├── ReceivedRequest.php
│   │       │   │       │   ├── SerializationTrait.php
│   │       │   │       │   └── mocks.proto
│   │       │   │       ├── Transport/
│   │       │   │       │   ├── Grpc/
│   │       │   │       │   │   ├── ForwardingCall.php
│   │       │   │       │   │   ├── ForwardingServerStreamingCall.php
│   │       │   │       │   │   ├── ForwardingUnaryCall.php
│   │       │   │       │   │   ├── ServerStreamingCallWrapper.php
│   │       │   │       │   │   └── UnaryInterceptorInterface.php
│   │       │   │       │   ├── GrpcFallbackTransport.php
│   │       │   │       │   ├── GrpcTransport.php
│   │       │   │       │   ├── HttpUnaryTransportTrait.php
│   │       │   │       │   ├── Rest/
│   │       │   │       │   │   ├── JsonStreamDecoder.php
│   │       │   │       │   │   └── RestServerStreamingCall.php
│   │       │   │       │   ├── RestTransport.php
│   │       │   │       │   └── TransportInterface.php
│   │       │   │       ├── UriTrait.php
│   │       │   │       ├── ValidationException.php
│   │       │   │       ├── ValidationTrait.php
│   │       │   │       └── Version.php
│   │       │   ├── grpc-gcp/
│   │       │   │   ├── .github/
│   │       │   │   │   ├── release-please.yml
│   │       │   │   │   └── workflows/
│   │       │   │   │       └── tests.yml
│   │       │   │   ├── .gitmodules
│   │       │   │   ├── .php_cs.dist
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── cloudprober/
│   │       │   │   │   ├── bins/
│   │       │   │   │   │   └── opt/
│   │       │   │   │   │       └── grpc_php_plugin
│   │       │   │   │   ├── cloudprober.cfg
│   │       │   │   │   ├── codegen.sh
│   │       │   │   │   ├── composer.json
│   │       │   │   │   └── grpc_gpc_prober/
│   │       │   │   │       ├── firestore_probes.php
│   │       │   │   │       ├── prober.php
│   │       │   │   │       ├── spanner_probes.php
│   │       │   │   │       └── stackdriver_util.php
│   │       │   │   ├── composer.json
│   │       │   │   ├── doc/
│   │       │   │   │   └── gRPC-client-user-guide.md
│   │       │   │   └── src/
│   │       │   │       ├── ChannelRef.php
│   │       │   │       ├── Config.php
│   │       │   │       ├── CreatedByDeserializeCheck.php
│   │       │   │       ├── GCPBidiStreamingCall.php
│   │       │   │       ├── GCPCallInvoker.php
│   │       │   │       ├── GCPClientStreamCall.php
│   │       │   │       ├── GCPServerStreamCall.php
│   │       │   │       ├── GCPUnaryCall.php
│   │       │   │       ├── GcpBaseCall.php
│   │       │   │       ├── GcpExtensionChannel.php
│   │       │   │       ├── generated/
│   │       │   │       │   ├── GPBMetadata/
│   │       │   │       │   │   └── GrpcGcp.php
│   │       │   │       │   └── Grpc/
│   │       │   │       │       └── Gcp/
│   │       │   │       │           ├── AffinityConfig.php
│   │       │   │       │           ├── AffinityConfig_Command.php
│   │       │   │       │           ├── ApiConfig.php
│   │       │   │       │           ├── ChannelPoolConfig.php
│   │       │   │       │           └── MethodConfig.php
│   │       │   │       └── grpc_gcp.proto
│   │       │   ├── longrunning/
│   │       │   │   ├── .gitattributes
│   │       │   │   ├── CODE_OF_CONDUCT.md
│   │       │   │   ├── CONTRIBUTING.md
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── SECURITY.md
│   │       │   │   ├── VERSION
│   │       │   │   ├── composer.json
│   │       │   │   ├── metadata/
│   │       │   │   │   ├── Longrunning/
│   │       │   │   │   │   └── Operations.php
│   │       │   │   │   └── README.md
│   │       │   │   └── src/
│   │       │   │       ├── ApiCore/
│   │       │   │       │   └── LongRunning/
│   │       │   │       │       ├── Gapic/
│   │       │   │       │       │   └── OperationsGapicClient.php
│   │       │   │       │       └── OperationsClient.php
│   │       │   │       └── LongRunning/
│   │       │   │           ├── CancelOperationRequest.php
│   │       │   │           ├── Client/
│   │       │   │           │   └── OperationsClient.php
│   │       │   │           ├── DeleteOperationRequest.php
│   │       │   │           ├── Gapic/
│   │       │   │           │   └── OperationsGapicClient.php
│   │       │   │           ├── GetOperationRequest.php
│   │       │   │           ├── ListOperationsRequest.php
│   │       │   │           ├── ListOperationsResponse.php
│   │       │   │           ├── Operation.php
│   │       │   │           ├── OperationInfo.php
│   │       │   │           ├── OperationsClient.php
│   │       │   │           ├── OperationsGrpcClient.php
│   │       │   │           ├── WaitOperationRequest.php
│   │       │   │           └── resources/
│   │       │   │               ├── operations_client_config.json
│   │       │   │               ├── operations_descriptor_config.php
│   │       │   │               └── operations_rest_client_config.php
│   │       │   └── protobuf/
│   │       │       ├── LICENSE
│   │       │       ├── README.md
│   │       │       ├── composer.json
│   │       │       └── src/
│   │       │           ├── GPBMetadata/
│   │       │           │   └── Google/
│   │       │           │       └── Protobuf/
│   │       │           │           ├── Any.php
│   │       │           │           ├── Api.php
│   │       │           │           ├── Duration.php
│   │       │           │           ├── FieldMask.php
│   │       │           │           ├── GPBEmpty.php
│   │       │           │           ├── Internal/
│   │       │           │           │   └── Descriptor.php
│   │       │           │           ├── SourceContext.php
│   │       │           │           ├── Struct.php
│   │       │           │           ├── Timestamp.php
│   │       │           │           ├── Type.php
│   │       │           │           └── Wrappers.php
│   │       │           ├── Google/
│   │       │           │   └── Protobuf/
│   │       │           │       ├── Any.php
│   │       │           │       ├── Api.php
│   │       │           │       ├── BoolValue.php
│   │       │           │       ├── BytesValue.php
│   │       │           │       ├── Descriptor.php
│   │       │           │       ├── DescriptorPool.php
│   │       │           │       ├── DoubleValue.php
│   │       │           │       ├── Duration.php
│   │       │           │       ├── Enum.php
│   │       │           │       ├── EnumDescriptor.php
│   │       │           │       ├── EnumValue.php
│   │       │           │       ├── EnumValueDescriptor.php
│   │       │           │       ├── Field/
│   │       │           │       │   ├── Cardinality.php
│   │       │           │       │   └── Kind.php
│   │       │           │       ├── Field.php
│   │       │           │       ├── FieldDescriptor.php
│   │       │           │       ├── FieldMask.php
│   │       │           │       ├── Field_Cardinality.php
│   │       │           │       ├── Field_Kind.php
│   │       │           │       ├── FloatValue.php
│   │       │           │       ├── GPBEmpty.php
│   │       │           │       ├── Int32Value.php
│   │       │           │       ├── Int64Value.php
│   │       │           │       ├── Internal/
│   │       │           │       │   ├── AnyBase.php
│   │       │           │       │   ├── CodedInputStream.php
│   │       │           │       │   ├── CodedOutputStream.php
│   │       │           │       │   ├── Descriptor.php
│   │       │           │       │   ├── DescriptorPool.php
│   │       │           │       │   ├── DescriptorProto/
│   │       │           │       │   │   ├── ExtensionRange.php
│   │       │           │       │   │   └── ReservedRange.php
│   │       │           │       │   ├── DescriptorProto.php
│   │       │           │       │   ├── Edition.php
│   │       │           │       │   ├── EnumBuilderContext.php
│   │       │           │       │   ├── EnumDescriptor.php
│   │       │           │       │   ├── EnumDescriptorProto/
│   │       │           │       │   │   └── EnumReservedRange.php
│   │       │           │       │   ├── EnumDescriptorProto.php
│   │       │           │       │   ├── EnumOptions.php
│   │       │           │       │   ├── EnumValueDescriptorProto.php
│   │       │           │       │   ├── EnumValueOptions.php
│   │       │           │       │   ├── ExtensionRangeOptions/
│   │       │           │       │   │   ├── Declaration.php
│   │       │           │       │   │   └── VerificationState.php
│   │       │           │       │   ├── ExtensionRangeOptions.php
│   │       │           │       │   ├── FeatureSet/
│   │       │           │       │   │   ├── EnforceNamingStyle.php
│   │       │           │       │   │   ├── EnumType.php
│   │       │           │       │   │   ├── FieldPresence.php
│   │       │           │       │   │   ├── JsonFormat.php
│   │       │           │       │   │   ├── MessageEncoding.php
│   │       │           │       │   │   ├── RepeatedFieldEncoding.php
│   │       │           │       │   │   ├── Utf8Validation.php
│   │       │           │       │   │   ├── VisibilityFeature/
│   │       │           │       │   │   │   └── DefaultSymbolVisibility.php
│   │       │           │       │   │   └── VisibilityFeature.php
│   │       │           │       │   ├── FeatureSet.php
│   │       │           │       │   ├── FeatureSetDefaults/
│   │       │           │       │   │   └── FeatureSetEditionDefault.php
│   │       │           │       │   ├── FeatureSetDefaults.php
│   │       │           │       │   ├── FieldDescriptor.php
│   │       │           │       │   ├── FieldDescriptorProto/
│   │       │           │       │   │   ├── Label.php
│   │       │           │       │   │   └── Type.php
│   │       │           │       │   ├── FieldDescriptorProto.php
│   │       │           │       │   ├── FieldOptions/
│   │       │           │       │   │   ├── CType.php
│   │       │           │       │   │   ├── EditionDefault.php
│   │       │           │       │   │   ├── FeatureSupport.php
│   │       │           │       │   │   ├── JSType.php
│   │       │           │       │   │   ├── OptionRetention.php
│   │       │           │       │   │   └── OptionTargetType.php
│   │       │           │       │   ├── FieldOptions.php
│   │       │           │       │   ├── FileDescriptor.php
│   │       │           │       │   ├── FileDescriptorProto.php
│   │       │           │       │   ├── FileDescriptorSet.php
│   │       │           │       │   ├── FileOptions/
│   │       │           │       │   │   └── OptimizeMode.php
│   │       │           │       │   ├── FileOptions.php
│   │       │           │       │   ├── GPBDecodeException.php
│   │       │           │       │   ├── GPBJsonWire.php
│   │       │           │       │   ├── GPBLabel.php
│   │       │           │       │   ├── GPBType.php
│   │       │           │       │   ├── GPBUtil.php
│   │       │           │       │   ├── GPBWire.php
│   │       │           │       │   ├── GPBWireType.php
│   │       │           │       │   ├── GeneratedCodeInfo/
│   │       │           │       │   │   ├── Annotation/
│   │       │           │       │   │   │   └── Semantic.php
│   │       │           │       │   │   └── Annotation.php
│   │       │           │       │   ├── GeneratedCodeInfo.php
│   │       │           │       │   ├── GetPublicDescriptorTrait.php
│   │       │           │       │   ├── HasPublicDescriptorTrait.php
│   │       │           │       │   ├── MapEntry.php
│   │       │           │       │   ├── MapField.php
│   │       │           │       │   ├── MapFieldIter.php
│   │       │           │       │   ├── Message.php
│   │       │           │       │   ├── MessageBuilderContext.php
│   │       │           │       │   ├── MessageOptions.php
│   │       │           │       │   ├── MethodDescriptorProto.php
│   │       │           │       │   ├── MethodOptions/
│   │       │           │       │   │   └── IdempotencyLevel.php
│   │       │           │       │   ├── MethodOptions.php
│   │       │           │       │   ├── OneofDescriptor.php
│   │       │           │       │   ├── OneofDescriptorProto.php
│   │       │           │       │   ├── OneofField.php
│   │       │           │       │   ├── OneofOptions.php
│   │       │           │       │   ├── RawInputStream.php
│   │       │           │       │   ├── RepeatedField.php
│   │       │           │       │   ├── RepeatedFieldIter.php
│   │       │           │       │   ├── ServiceDescriptorProto.php
│   │       │           │       │   ├── ServiceOptions.php
│   │       │           │       │   ├── SourceCodeInfo/
│   │       │           │       │   │   └── Location.php
│   │       │           │       │   ├── SourceCodeInfo.php
│   │       │           │       │   ├── SymbolVisibility.php
│   │       │           │       │   ├── TimestampBase.php
│   │       │           │       │   ├── UninterpretedOption/
│   │       │           │       │   │   └── NamePart.php
│   │       │           │       │   └── UninterpretedOption.php
│   │       │           │       ├── ListValue.php
│   │       │           │       ├── Method.php
│   │       │           │       ├── Mixin.php
│   │       │           │       ├── NullValue.php
│   │       │           │       ├── OneofDescriptor.php
│   │       │           │       ├── Option.php
│   │       │           │       ├── PrintOptions.php
│   │       │           │       ├── RepeatedField.php
│   │       │           │       ├── SourceContext.php
│   │       │           │       ├── StringValue.php
│   │       │           │       ├── Struct.php
│   │       │           │       ├── Syntax.php
│   │       │           │       ├── Timestamp.php
│   │       │           │       ├── Type.php
│   │       │           │       ├── UInt32Value.php
│   │       │           │       ├── UInt64Value.php
│   │       │           │       └── Value.php
│   │       │           └── phpdoc.dist.xml
│   │       ├── grpc/
│   │       │   └── grpc/
│   │       │       ├── LICENSE
│   │       │       ├── MAINTAINERS.md
│   │       │       ├── README.md
│   │       │       ├── composer.json
│   │       │       ├── etc/
│   │       │       │   └── roots.pem
│   │       │       └── src/
│   │       │           └── lib/
│   │       │               ├── AbstractCall.php
│   │       │               ├── BaseStub.php
│   │       │               ├── BidiStreamingCall.php
│   │       │               ├── CallInvoker.php
│   │       │               ├── ClientStreamingCall.php
│   │       │               ├── DefaultCallInvoker.php
│   │       │               ├── Interceptor.php
│   │       │               ├── Internal/
│   │       │               │   └── InterceptorChannel.php
│   │       │               ├── MethodDescriptor.php
│   │       │               ├── RpcServer.php
│   │       │               ├── ServerCallReader.php
│   │       │               ├── ServerCallWriter.php
│   │       │               ├── ServerContext.php
│   │       │               ├── ServerStreamingCall.php
│   │       │               ├── Status.php
│   │       │               └── UnaryCall.php
│   │       ├── guzzlehttp/
│   │       │   ├── guzzle/
│   │       │   │   ├── CHANGELOG.md
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── UPGRADING.md
│   │       │   │   ├── composer.json
│   │       │   │   └── src/
│   │       │   │       ├── BodySummarizer.php
│   │       │   │       ├── BodySummarizerInterface.php
│   │       │   │       ├── Client.php
│   │       │   │       ├── ClientInterface.php
│   │       │   │       ├── ClientTrait.php
│   │       │   │       ├── Cookie/
│   │       │   │       │   ├── CookieJar.php
│   │       │   │       │   ├── CookieJarInterface.php
│   │       │   │       │   ├── FileCookieJar.php
│   │       │   │       │   ├── SessionCookieJar.php
│   │       │   │       │   └── SetCookie.php
│   │       │   │       ├── Exception/
│   │       │   │       │   ├── BadResponseException.php
│   │       │   │       │   ├── ClientException.php
│   │       │   │       │   ├── ConnectException.php
│   │       │   │       │   ├── GuzzleException.php
│   │       │   │       │   ├── InvalidArgumentException.php
│   │       │   │       │   ├── RequestException.php
│   │       │   │       │   ├── ServerException.php
│   │       │   │       │   ├── TooManyRedirectsException.php
│   │       │   │       │   └── TransferException.php
│   │       │   │       ├── Handler/
│   │       │   │       │   ├── CurlFactory.php
│   │       │   │       │   ├── CurlFactoryInterface.php
│   │       │   │       │   ├── CurlHandler.php
│   │       │   │       │   ├── CurlMultiHandler.php
│   │       │   │       │   ├── EasyHandle.php
│   │       │   │       │   ├── HeaderProcessor.php
│   │       │   │       │   ├── MockHandler.php
│   │       │   │       │   ├── Proxy.php
│   │       │   │       │   └── StreamHandler.php
│   │       │   │       ├── HandlerStack.php
│   │       │   │       ├── MessageFormatter.php
│   │       │   │       ├── MessageFormatterInterface.php
│   │       │   │       ├── Middleware.php
│   │       │   │       ├── Pool.php
│   │       │   │       ├── PrepareBodyMiddleware.php
│   │       │   │       ├── RedirectMiddleware.php
│   │       │   │       ├── RequestOptions.php
│   │       │   │       ├── RetryMiddleware.php
│   │       │   │       ├── TransferStats.php
│   │       │   │       ├── Utils.php
│   │       │   │       ├── functions.php
│   │       │   │       └── functions_include.php
│   │       │   ├── promises/
│   │       │   │   ├── CHANGELOG.md
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── composer.json
│   │       │   │   └── src/
│   │       │   │       ├── AggregateException.php
│   │       │   │       ├── CancellationException.php
│   │       │   │       ├── Coroutine.php
│   │       │   │       ├── Create.php
│   │       │   │       ├── Each.php
│   │       │   │       ├── EachPromise.php
│   │       │   │       ├── FulfilledPromise.php
│   │       │   │       ├── Is.php
│   │       │   │       ├── Promise.php
│   │       │   │       ├── PromiseInterface.php
│   │       │   │       ├── PromisorInterface.php
│   │       │   │       ├── RejectedPromise.php
│   │       │   │       ├── RejectionException.php
│   │       │   │       ├── TaskQueue.php
│   │       │   │       ├── TaskQueueInterface.php
│   │       │   │       └── Utils.php
│   │       │   └── psr7/
│   │       │       ├── CHANGELOG.md
│   │       │       ├── LICENSE
│   │       │       ├── README.md
│   │       │       ├── composer.json
│   │       │       └── src/
│   │       │           ├── AppendStream.php
│   │       │           ├── BufferStream.php
│   │       │           ├── CachingStream.php
│   │       │           ├── DroppingStream.php
│   │       │           ├── Exception/
│   │       │           │   └── MalformedUriException.php
│   │       │           ├── FnStream.php
│   │       │           ├── Header.php
│   │       │           ├── HttpFactory.php
│   │       │           ├── InflateStream.php
│   │       │           ├── LazyOpenStream.php
│   │       │           ├── LimitStream.php
│   │       │           ├── Message.php
│   │       │           ├── MessageTrait.php
│   │       │           ├── MimeType.php
│   │       │           ├── MultipartStream.php
│   │       │           ├── NoSeekStream.php
│   │       │           ├── PumpStream.php
│   │       │           ├── Query.php
│   │       │           ├── Request.php
│   │       │           ├── Response.php
│   │       │           ├── Rfc7230.php
│   │       │           ├── ServerRequest.php
│   │       │           ├── Stream.php
│   │       │           ├── StreamDecoratorTrait.php
│   │       │           ├── StreamWrapper.php
│   │       │           ├── UploadedFile.php
│   │       │           ├── Uri.php
│   │       │           ├── UriComparator.php
│   │       │           ├── UriNormalizer.php
│   │       │           ├── UriResolver.php
│   │       │           └── Utils.php
│   │       ├── monolog/
│   │       │   └── monolog/
│   │       │       ├── CHANGELOG.md
│   │       │       ├── LICENSE
│   │       │       ├── README.md
│   │       │       ├── composer.json
│   │       │       └── src/
│   │       │           └── Monolog/
│   │       │               ├── Attribute/
│   │       │               │   ├── AsMonologProcessor.php
│   │       │               │   └── WithMonologChannel.php
│   │       │               ├── DateTimeImmutable.php
│   │       │               ├── ErrorHandler.php
│   │       │               ├── Formatter/
│   │       │               │   ├── ChromePHPFormatter.php
│   │       │               │   ├── ElasticaFormatter.php
│   │       │               │   ├── ElasticsearchFormatter.php
│   │       │               │   ├── FlowdockFormatter.php
│   │       │               │   ├── FluentdFormatter.php
│   │       │               │   ├── FormatterInterface.php
│   │       │               │   ├── GelfMessageFormatter.php
│   │       │               │   ├── GoogleCloudLoggingFormatter.php
│   │       │               │   ├── HtmlFormatter.php
│   │       │               │   ├── JsonFormatter.php
│   │       │               │   ├── LineFormatter.php
│   │       │               │   ├── LogglyFormatter.php
│   │       │               │   ├── LogmaticFormatter.php
│   │       │               │   ├── LogstashFormatter.php
│   │       │               │   ├── MongoDBFormatter.php
│   │       │               │   ├── NormalizerFormatter.php
│   │       │               │   ├── ScalarFormatter.php
│   │       │               │   ├── SyslogFormatter.php
│   │       │               │   └── WildfireFormatter.php
│   │       │               ├── Handler/
│   │       │               │   ├── AbstractHandler.php
│   │       │               │   ├── AbstractProcessingHandler.php
│   │       │               │   ├── AbstractSyslogHandler.php
│   │       │               │   ├── AmqpHandler.php
│   │       │               │   ├── BrowserConsoleHandler.php
│   │       │               │   ├── BufferHandler.php
│   │       │               │   ├── ChromePHPHandler.php
│   │       │               │   ├── CouchDBHandler.php
│   │       │               │   ├── CubeHandler.php
│   │       │               │   ├── Curl/
│   │       │               │   │   └── Util.php
│   │       │               │   ├── DeduplicationHandler.php
│   │       │               │   ├── DoctrineCouchDBHandler.php
│   │       │               │   ├── DynamoDbHandler.php
│   │       │               │   ├── ElasticaHandler.php
│   │       │               │   ├── ElasticsearchHandler.php
│   │       │               │   ├── ErrorLogHandler.php
│   │       │               │   ├── FallbackGroupHandler.php
│   │       │               │   ├── FilterHandler.php
│   │       │               │   ├── FingersCrossed/
│   │       │               │   │   ├── ActivationStrategyInterface.php
│   │       │               │   │   ├── ChannelLevelActivationStrategy.php
│   │       │               │   │   └── ErrorLevelActivationStrategy.php
│   │       │               │   ├── FingersCrossedHandler.php
│   │       │               │   ├── FirePHPHandler.php
│   │       │               │   ├── FleepHookHandler.php
│   │       │               │   ├── FlowdockHandler.php
│   │       │               │   ├── FormattableHandlerInterface.php
│   │       │               │   ├── FormattableHandlerTrait.php
│   │       │               │   ├── GelfHandler.php
│   │       │               │   ├── GroupHandler.php
│   │       │               │   ├── Handler.php
│   │       │               │   ├── HandlerInterface.php
│   │       │               │   ├── HandlerWrapper.php
│   │       │               │   ├── IFTTTHandler.php
│   │       │               │   ├── InsightOpsHandler.php
│   │       │               │   ├── LogEntriesHandler.php
│   │       │               │   ├── LogglyHandler.php
│   │       │               │   ├── LogmaticHandler.php
│   │       │               │   ├── MailHandler.php
│   │       │               │   ├── MandrillHandler.php
│   │       │               │   ├── MissingExtensionException.php
│   │       │               │   ├── MongoDBHandler.php
│   │       │               │   ├── NativeMailerHandler.php
│   │       │               │   ├── NewRelicHandler.php
│   │       │               │   ├── NoopHandler.php
│   │       │               │   ├── NullHandler.php
│   │       │               │   ├── OverflowHandler.php
│   │       │               │   ├── PHPConsoleHandler.php
│   │       │               │   ├── ProcessHandler.php
│   │       │               │   ├── ProcessableHandlerInterface.php
│   │       │               │   ├── ProcessableHandlerTrait.php
│   │       │               │   ├── PsrHandler.php
│   │       │               │   ├── PushoverHandler.php
│   │       │               │   ├── RedisHandler.php
│   │       │               │   ├── RedisPubSubHandler.php
│   │       │               │   ├── RollbarHandler.php
│   │       │               │   ├── RotatingFileHandler.php
│   │       │               │   ├── SamplingHandler.php
│   │       │               │   ├── SendGridHandler.php
│   │       │               │   ├── Slack/
│   │       │               │   │   └── SlackRecord.php
│   │       │               │   ├── SlackHandler.php
│   │       │               │   ├── SlackWebhookHandler.php
│   │       │               │   ├── SocketHandler.php
│   │       │               │   ├── SqsHandler.php
│   │       │               │   ├── StreamHandler.php
│   │       │               │   ├── SymfonyMailerHandler.php
│   │       │               │   ├── SyslogHandler.php
│   │       │               │   ├── SyslogUdp/
│   │       │               │   │   └── UdpSocket.php
│   │       │               │   ├── SyslogUdpHandler.php
│   │       │               │   ├── TelegramBotHandler.php
│   │       │               │   ├── TestHandler.php
│   │       │               │   ├── WebRequestRecognizerTrait.php
│   │       │               │   ├── WhatFailureGroupHandler.php
│   │       │               │   └── ZendMonitorHandler.php
│   │       │               ├── JsonSerializableDateTimeImmutable.php
│   │       │               ├── Level.php
│   │       │               ├── LogRecord.php
│   │       │               ├── Logger.php
│   │       │               ├── Processor/
│   │       │               │   ├── ClosureContextProcessor.php
│   │       │               │   ├── GitProcessor.php
│   │       │               │   ├── HostnameProcessor.php
│   │       │               │   ├── IntrospectionProcessor.php
│   │       │               │   ├── LoadAverageProcessor.php
│   │       │               │   ├── MemoryPeakUsageProcessor.php
│   │       │               │   ├── MemoryProcessor.php
│   │       │               │   ├── MemoryUsageProcessor.php
│   │       │               │   ├── MercurialProcessor.php
│   │       │               │   ├── ProcessIdProcessor.php
│   │       │               │   ├── ProcessorInterface.php
│   │       │               │   ├── PsrLogMessageProcessor.php
│   │       │               │   ├── TagProcessor.php
│   │       │               │   ├── UidProcessor.php
│   │       │               │   └── WebProcessor.php
│   │       │               ├── Registry.php
│   │       │               ├── ResettableInterface.php
│   │       │               ├── SignalHandler.php
│   │       │               ├── Test/
│   │       │               │   ├── MonologTestCase.php
│   │       │               │   └── TestCase.php
│   │       │               └── Utils.php
│   │       ├── paragonie/
│   │       │   ├── constant_time_encoding/
│   │       │   │   ├── LICENSE.txt
│   │       │   │   ├── README.md
│   │       │   │   ├── composer.json
│   │       │   │   └── src/
│   │       │   │       ├── Base32.php
│   │       │   │       ├── Base32Hex.php
│   │       │   │       ├── Base64.php
│   │       │   │       ├── Base64DotSlash.php
│   │       │   │       ├── Base64DotSlashOrdered.php
│   │       │   │       ├── Base64UrlSafe.php
│   │       │   │       ├── Binary.php
│   │       │   │       ├── EncoderInterface.php
│   │       │   │       ├── Encoding.php
│   │       │   │       ├── Hex.php
│   │       │   │       └── RFC4648.php
│   │       │   └── random_compat/
│   │       │       ├── LICENSE
│   │       │       ├── build-phar.sh
│   │       │       ├── composer.json
│   │       │       ├── dist/
│   │       │       │   ├── random_compat.phar.pubkey
│   │       │       │   └── random_compat.phar.pubkey.asc
│   │       │       ├── lib/
│   │       │       │   └── random.php
│   │       │       ├── other/
│   │       │       │   └── build_phar.php
│   │       │       ├── psalm-autoload.php
│   │       │       └── psalm.xml
│   │       ├── phpseclib/
│   │       │   └── phpseclib/
│   │       │       ├── AUTHORS
│   │       │       ├── BACKERS.md
│   │       │       ├── LICENSE
│   │       │       ├── README.md
│   │       │       ├── SECURITY.md
│   │       │       ├── composer.json
│   │       │       └── phpseclib/
│   │       │           ├── Common/
│   │       │           │   └── Functions/
│   │       │           │       └── Strings.php
│   │       │           ├── Crypt/
│   │       │           │   ├── AES.php
│   │       │           │   ├── Blowfish.php
│   │       │           │   ├── ChaCha20.php
│   │       │           │   ├── Common/
│   │       │           │   │   ├── AsymmetricKey.php
│   │       │           │   │   ├── BlockCipher.php
│   │       │           │   │   ├── Formats/
│   │       │           │   │   │   ├── Keys/
│   │       │           │   │   │   │   ├── JWK.php
│   │       │           │   │   │   │   ├── OpenSSH.php
│   │       │           │   │   │   │   ├── PKCS.php
│   │       │           │   │   │   │   ├── PKCS1.php
│   │       │           │   │   │   │   ├── PKCS8.php
│   │       │           │   │   │   │   └── PuTTY.php
│   │       │           │   │   │   └── Signature/
│   │       │           │   │   │       └── Raw.php
│   │       │           │   │   ├── PrivateKey.php
│   │       │           │   │   ├── PublicKey.php
│   │       │           │   │   ├── StreamCipher.php
│   │       │           │   │   ├── SymmetricKey.php
│   │       │           │   │   └── Traits/
│   │       │           │   │       ├── Fingerprint.php
│   │       │           │   │       └── PasswordProtected.php
│   │       │           │   ├── DES.php
│   │       │           │   ├── DH/
│   │       │           │   │   ├── Formats/
│   │       │           │   │   │   └── Keys/
│   │       │           │   │   │       ├── PKCS1.php
│   │       │           │   │   │       └── PKCS8.php
│   │       │           │   │   ├── Parameters.php
│   │       │           │   │   ├── PrivateKey.php
│   │       │           │   │   └── PublicKey.php
│   │       │           │   ├── DH.php
│   │       │           │   ├── DSA/
│   │       │           │   │   ├── Formats/
│   │       │           │   │   │   ├── Keys/
│   │       │           │   │   │   │   ├── OpenSSH.php
│   │       │           │   │   │   │   ├── PKCS1.php
│   │       │           │   │   │   │   ├── PKCS8.php
│   │       │           │   │   │   │   ├── PuTTY.php
│   │       │           │   │   │   │   ├── Raw.php
│   │       │           │   │   │   │   └── XML.php
│   │       │           │   │   │   └── Signature/
│   │       │           │   │   │       ├── ASN1.php
│   │       │           │   │   │       ├── Raw.php
│   │       │           │   │   │       └── SSH2.php
│   │       │           │   │   ├── Parameters.php
│   │       │           │   │   ├── PrivateKey.php
│   │       │           │   │   └── PublicKey.php
│   │       │           │   ├── DSA.php
│   │       │           │   ├── EC/
│   │       │           │   │   ├── BaseCurves/
│   │       │           │   │   │   ├── Base.php
│   │       │           │   │   │   ├── Binary.php
│   │       │           │   │   │   ├── KoblitzPrime.php
│   │       │           │   │   │   ├── Montgomery.php
│   │       │           │   │   │   ├── Prime.php
│   │       │           │   │   │   └── TwistedEdwards.php
│   │       │           │   │   ├── Curves/
│   │       │           │   │   │   ├── Curve25519.php
│   │       │           │   │   │   ├── Curve448.php
│   │       │           │   │   │   ├── Ed25519.php
│   │       │           │   │   │   ├── Ed448.php
│   │       │           │   │   │   ├── brainpoolP160r1.php
│   │       │           │   │   │   ├── brainpoolP160t1.php
│   │       │           │   │   │   ├── brainpoolP192r1.php
│   │       │           │   │   │   ├── brainpoolP192t1.php
│   │       │           │   │   │   ├── brainpoolP224r1.php
│   │       │           │   │   │   ├── brainpoolP224t1.php
│   │       │           │   │   │   ├── brainpoolP256r1.php
│   │       │           │   │   │   ├── brainpoolP256t1.php
│   │       │           │   │   │   ├── brainpoolP320r1.php
│   │       │           │   │   │   ├── brainpoolP320t1.php
│   │       │           │   │   │   ├── brainpoolP384r1.php
│   │       │           │   │   │   ├── brainpoolP384t1.php
│   │       │           │   │   │   ├── brainpoolP512r1.php
│   │       │           │   │   │   ├── brainpoolP512t1.php
│   │       │           │   │   │   ├── nistb233.php
│   │       │           │   │   │   ├── nistb409.php
│   │       │           │   │   │   ├── nistk163.php
│   │       │           │   │   │   ├── nistk233.php
│   │       │           │   │   │   ├── nistk283.php
│   │       │           │   │   │   ├── nistk409.php
│   │       │           │   │   │   ├── nistp192.php
│   │       │           │   │   │   ├── nistp224.php
│   │       │           │   │   │   ├── nistp256.php
│   │       │           │   │   │   ├── nistp384.php
│   │       │           │   │   │   ├── nistp521.php
│   │       │           │   │   │   ├── nistt571.php
│   │       │           │   │   │   ├── prime192v1.php
│   │       │           │   │   │   ├── prime192v2.php
│   │       │           │   │   │   ├── prime192v3.php
│   │       │           │   │   │   ├── prime239v1.php
│   │       │           │   │   │   ├── prime239v2.php
│   │       │           │   │   │   ├── prime239v3.php
│   │       │           │   │   │   ├── prime256v1.php
│   │       │           │   │   │   ├── secp112r1.php
│   │       │           │   │   │   ├── secp112r2.php
│   │       │           │   │   │   ├── secp128r1.php
│   │       │           │   │   │   ├── secp128r2.php
│   │       │           │   │   │   ├── secp160k1.php
│   │       │           │   │   │   ├── secp160r1.php
│   │       │           │   │   │   ├── secp160r2.php
│   │       │           │   │   │   ├── secp192k1.php
│   │       │           │   │   │   ├── secp192r1.php
│   │       │           │   │   │   ├── secp224k1.php
│   │       │           │   │   │   ├── secp224r1.php
│   │       │           │   │   │   ├── secp256k1.php
│   │       │           │   │   │   ├── secp256r1.php
│   │       │           │   │   │   ├── secp384r1.php
│   │       │           │   │   │   ├── secp521r1.php
│   │       │           │   │   │   ├── sect113r1.php
│   │       │           │   │   │   ├── sect113r2.php
│   │       │           │   │   │   ├── sect131r1.php
│   │       │           │   │   │   ├── sect131r2.php
│   │       │           │   │   │   ├── sect163k1.php
│   │       │           │   │   │   ├── sect163r1.php
│   │       │           │   │   │   ├── sect163r2.php
│   │       │           │   │   │   ├── sect193r1.php
│   │       │           │   │   │   ├── sect193r2.php
│   │       │           │   │   │   ├── sect233k1.php
│   │       │           │   │   │   ├── sect233r1.php
│   │       │           │   │   │   ├── sect239k1.php
│   │       │           │   │   │   ├── sect283k1.php
│   │       │           │   │   │   ├── sect283r1.php
│   │       │           │   │   │   ├── sect409k1.php
│   │       │           │   │   │   ├── sect409r1.php
│   │       │           │   │   │   ├── sect571k1.php
│   │       │           │   │   │   └── sect571r1.php
│   │       │           │   │   ├── Formats/
│   │       │           │   │   │   ├── Keys/
│   │       │           │   │   │   │   ├── Common.php
│   │       │           │   │   │   │   ├── JWK.php
│   │       │           │   │   │   │   ├── MontgomeryPrivate.php
│   │       │           │   │   │   │   ├── MontgomeryPublic.php
│   │       │           │   │   │   │   ├── OpenSSH.php
│   │       │           │   │   │   │   ├── PKCS1.php
│   │       │           │   │   │   │   ├── PKCS8.php
│   │       │           │   │   │   │   ├── PuTTY.php
│   │       │           │   │   │   │   ├── XML.php
│   │       │           │   │   │   │   └── libsodium.php
│   │       │           │   │   │   └── Signature/
│   │       │           │   │   │       ├── ASN1.php
│   │       │           │   │   │       ├── IEEE.php
│   │       │           │   │   │       ├── Raw.php
│   │       │           │   │   │       └── SSH2.php
│   │       │           │   │   ├── Parameters.php
│   │       │           │   │   ├── PrivateKey.php
│   │       │           │   │   └── PublicKey.php
│   │       │           │   ├── EC.php
│   │       │           │   ├── Hash.php
│   │       │           │   ├── PublicKeyLoader.php
│   │       │           │   ├── RC2.php
│   │       │           │   ├── RC4.php
│   │       │           │   ├── RSA/
│   │       │           │   │   ├── Formats/
│   │       │           │   │   │   └── Keys/
│   │       │           │   │   │       ├── JWK.php
│   │       │           │   │   │       ├── MSBLOB.php
│   │       │           │   │   │       ├── OpenSSH.php
│   │       │           │   │   │       ├── PKCS1.php
│   │       │           │   │   │       ├── PKCS8.php
│   │       │           │   │   │       ├── PSS.php
│   │       │           │   │   │       ├── PuTTY.php
│   │       │           │   │   │       ├── Raw.php
│   │       │           │   │   │       └── XML.php
│   │       │           │   │   ├── PrivateKey.php
│   │       │           │   │   └── PublicKey.php
│   │       │           │   ├── RSA.php
│   │       │           │   ├── Random.php
│   │       │           │   ├── Rijndael.php
│   │       │           │   ├── Salsa20.php
│   │       │           │   ├── TripleDES.php
│   │       │           │   └── Twofish.php
│   │       │           ├── Exception/
│   │       │           │   ├── BadConfigurationException.php
│   │       │           │   ├── BadDecryptionException.php
│   │       │           │   ├── BadModeException.php
│   │       │           │   ├── ConnectionClosedException.php
│   │       │           │   ├── FileNotFoundException.php
│   │       │           │   ├── InconsistentSetupException.php
│   │       │           │   ├── InsufficientSetupException.php
│   │       │           │   ├── InvalidPacketLengthException.php
│   │       │           │   ├── NoKeyLoadedException.php
│   │       │           │   ├── NoSupportedAlgorithmsException.php
│   │       │           │   ├── TimeoutException.php
│   │       │           │   ├── UnableToConnectException.php
│   │       │           │   ├── UnsupportedAlgorithmException.php
│   │       │           │   ├── UnsupportedCurveException.php
│   │       │           │   ├── UnsupportedFormatException.php
│   │       │           │   └── UnsupportedOperationException.php
│   │       │           ├── File/
│   │       │           │   ├── ANSI.php
│   │       │           │   ├── ASN1/
│   │       │           │   │   ├── Element.php
│   │       │           │   │   └── Maps/
│   │       │           │   │       ├── AccessDescription.php
│   │       │           │   │       ├── AdministrationDomainName.php
│   │       │           │   │       ├── AlgorithmIdentifier.php
│   │       │           │   │       ├── AnotherName.php
│   │       │           │   │       ├── Attribute.php
│   │       │           │   │       ├── AttributeType.php
│   │       │           │   │       ├── AttributeTypeAndValue.php
│   │       │           │   │       ├── AttributeValue.php
│   │       │           │   │       ├── Attributes.php
│   │       │           │   │       ├── AuthorityInfoAccessSyntax.php
│   │       │           │   │       ├── AuthorityKeyIdentifier.php
│   │       │           │   │       ├── BaseDistance.php
│   │       │           │   │       ├── BasicConstraints.php
│   │       │           │   │       ├── BuiltInDomainDefinedAttribute.php
│   │       │           │   │       ├── BuiltInDomainDefinedAttributes.php
│   │       │           │   │       ├── BuiltInStandardAttributes.php
│   │       │           │   │       ├── CPSuri.php
│   │       │           │   │       ├── CRLDistributionPoints.php
│   │       │           │   │       ├── CRLNumber.php
│   │       │           │   │       ├── CRLReason.php
│   │       │           │   │       ├── CertPolicyId.php
│   │       │           │   │       ├── Certificate.php
│   │       │           │   │       ├── CertificateIssuer.php
│   │       │           │   │       ├── CertificateList.php
│   │       │           │   │       ├── CertificatePolicies.php
│   │       │           │   │       ├── CertificateSerialNumber.php
│   │       │           │   │       ├── CertificationRequest.php
│   │       │           │   │       ├── CertificationRequestInfo.php
│   │       │           │   │       ├── Characteristic_two.php
│   │       │           │   │       ├── CountryName.php
│   │       │           │   │       ├── Curve.php
│   │       │           │   │       ├── DHParameter.php
│   │       │           │   │       ├── DSAParams.php
│   │       │           │   │       ├── DSAPrivateKey.php
│   │       │           │   │       ├── DSAPublicKey.php
│   │       │           │   │       ├── DigestInfo.php
│   │       │           │   │       ├── DirectoryString.php
│   │       │           │   │       ├── DisplayText.php
│   │       │           │   │       ├── DistributionPoint.php
│   │       │           │   │       ├── DistributionPointName.php
│   │       │           │   │       ├── DssSigValue.php
│   │       │           │   │       ├── ECParameters.php
│   │       │           │   │       ├── ECPoint.php
│   │       │           │   │       ├── ECPrivateKey.php
│   │       │           │   │       ├── EDIPartyName.php
│   │       │           │   │       ├── EcdsaSigValue.php
│   │       │           │   │       ├── EncryptedData.php
│   │       │           │   │       ├── EncryptedPrivateKeyInfo.php
│   │       │           │   │       ├── ExtKeyUsageSyntax.php
│   │       │           │   │       ├── Extension.php
│   │       │           │   │       ├── ExtensionAttribute.php
│   │       │           │   │       ├── ExtensionAttributes.php
│   │       │           │   │       ├── Extensions.php
│   │       │           │   │       ├── FieldElement.php
│   │       │           │   │       ├── FieldID.php
│   │       │           │   │       ├── GeneralName.php
│   │       │           │   │       ├── GeneralNames.php
│   │       │           │   │       ├── GeneralSubtree.php
│   │       │           │   │       ├── GeneralSubtrees.php
│   │       │           │   │       ├── HashAlgorithm.php
│   │       │           │   │       ├── HoldInstructionCode.php
│   │       │           │   │       ├── InvalidityDate.php
│   │       │           │   │       ├── IssuerAltName.php
│   │       │           │   │       ├── IssuingDistributionPoint.php
│   │       │           │   │       ├── KeyIdentifier.php
│   │       │           │   │       ├── KeyPurposeId.php
│   │       │           │   │       ├── KeyUsage.php
│   │       │           │   │       ├── MaskGenAlgorithm.php
│   │       │           │   │       ├── Name.php
│   │       │           │   │       ├── NameConstraints.php
│   │       │           │   │       ├── NetworkAddress.php
│   │       │           │   │       ├── NoticeReference.php
│   │       │           │   │       ├── NumericUserIdentifier.php
│   │       │           │   │       ├── ORAddress.php
│   │       │           │   │       ├── OneAsymmetricKey.php
│   │       │           │   │       ├── OrganizationName.php
│   │       │           │   │       ├── OrganizationalUnitNames.php
│   │       │           │   │       ├── OtherPrimeInfo.php
│   │       │           │   │       ├── OtherPrimeInfos.php
│   │       │           │   │       ├── PBEParameter.php
│   │       │           │   │       ├── PBES2params.php
│   │       │           │   │       ├── PBKDF2params.php
│   │       │           │   │       ├── PBMAC1params.php
│   │       │           │   │       ├── PKCS9String.php
│   │       │           │   │       ├── Pentanomial.php
│   │       │           │   │       ├── PersonalName.php
│   │       │           │   │       ├── PolicyInformation.php
│   │       │           │   │       ├── PolicyMappings.php
│   │       │           │   │       ├── PolicyQualifierId.php
│   │       │           │   │       ├── PolicyQualifierInfo.php
│   │       │           │   │       ├── PostalAddress.php
│   │       │           │   │       ├── Prime_p.php
│   │       │           │   │       ├── PrivateDomainName.php
│   │       │           │   │       ├── PrivateKey.php
│   │       │           │   │       ├── PrivateKeyInfo.php
│   │       │           │   │       ├── PrivateKeyUsagePeriod.php
│   │       │           │   │       ├── PublicKey.php
│   │       │           │   │       ├── PublicKeyAndChallenge.php
│   │       │           │   │       ├── PublicKeyInfo.php
│   │       │           │   │       ├── RC2CBCParameter.php
│   │       │           │   │       ├── RDNSequence.php
│   │       │           │   │       ├── RSAPrivateKey.php
│   │       │           │   │       ├── RSAPublicKey.php
│   │       │           │   │       ├── RSASSA_PSS_params.php
│   │       │           │   │       ├── ReasonFlags.php
│   │       │           │   │       ├── RelativeDistinguishedName.php
│   │       │           │   │       ├── RevokedCertificate.php
│   │       │           │   │       ├── SignedPublicKeyAndChallenge.php
│   │       │           │   │       ├── SpecifiedECDomain.php
│   │       │           │   │       ├── SubjectAltName.php
│   │       │           │   │       ├── SubjectDirectoryAttributes.php
│   │       │           │   │       ├── SubjectInfoAccessSyntax.php
│   │       │           │   │       ├── SubjectPublicKeyInfo.php
│   │       │           │   │       ├── TBSCertList.php
│   │       │           │   │       ├── TBSCertificate.php
│   │       │           │   │       ├── TerminalIdentifier.php
│   │       │           │   │       ├── Time.php
│   │       │           │   │       ├── Trinomial.php
│   │       │           │   │       ├── UniqueIdentifier.php
│   │       │           │   │       ├── UserNotice.php
│   │       │           │   │       ├── Validity.php
│   │       │           │   │       ├── netscape_ca_policy_url.php
│   │       │           │   │       ├── netscape_cert_type.php
│   │       │           │   │       └── netscape_comment.php
│   │       │           │   ├── ASN1.php
│   │       │           │   └── X509.php
│   │       │           ├── Math/
│   │       │           │   ├── BigInteger/
│   │       │           │   │   └── Engines/
│   │       │           │   │       ├── BCMath/
│   │       │           │   │       │   ├── Base.php
│   │       │           │   │       │   ├── BuiltIn.php
│   │       │           │   │       │   ├── DefaultEngine.php
│   │       │           │   │       │   ├── OpenSSL.php
│   │       │           │   │       │   └── Reductions/
│   │       │           │   │       │       ├── Barrett.php
│   │       │           │   │       │       └── EvalBarrett.php
│   │       │           │   │       ├── BCMath.php
│   │       │           │   │       ├── Engine.php
│   │       │           │   │       ├── GMP/
│   │       │           │   │       │   └── DefaultEngine.php
│   │       │           │   │       ├── GMP.php
│   │       │           │   │       ├── OpenSSL.php
│   │       │           │   │       ├── PHP/
│   │       │           │   │       │   ├── Base.php
│   │       │           │   │       │   ├── DefaultEngine.php
│   │       │           │   │       │   ├── Montgomery.php
│   │       │           │   │       │   ├── OpenSSL.php
│   │       │           │   │       │   └── Reductions/
│   │       │           │   │       │       ├── Barrett.php
│   │       │           │   │       │       ├── Classic.php
│   │       │           │   │       │       ├── EvalBarrett.php
│   │       │           │   │       │       ├── Montgomery.php
│   │       │           │   │       │       ├── MontgomeryMult.php
│   │       │           │   │       │       └── PowerOfTwo.php
│   │       │           │   │       ├── PHP.php
│   │       │           │   │       ├── PHP32.php
│   │       │           │   │       └── PHP64.php
│   │       │           │   ├── BigInteger.php
│   │       │           │   ├── BinaryField/
│   │       │           │   │   └── Integer.php
│   │       │           │   ├── BinaryField.php
│   │       │           │   ├── Common/
│   │       │           │   │   ├── FiniteField/
│   │       │           │   │   │   └── Integer.php
│   │       │           │   │   └── FiniteField.php
│   │       │           │   ├── PrimeField/
│   │       │           │   │   └── Integer.php
│   │       │           │   └── PrimeField.php
│   │       │           ├── Net/
│   │       │           │   ├── SCP.php
│   │       │           │   ├── SFTP/
│   │       │           │   │   └── Stream.php
│   │       │           │   ├── SFTP.php
│   │       │           │   └── SSH2.php
│   │       │           ├── System/
│   │       │           │   └── SSH/
│   │       │           │       ├── Agent/
│   │       │           │       │   └── Identity.php
│   │       │           │       ├── Agent.php
│   │       │           │       └── Common/
│   │       │           │           └── Traits/
│   │       │           │               └── ReadBytes.php
│   │       │           ├── bootstrap.php
│   │       │           └── openssl.cnf
│   │       ├── psr/
│   │       │   ├── cache/
│   │       │   │   ├── CHANGELOG.md
│   │       │   │   ├── LICENSE.txt
│   │       │   │   ├── README.md
│   │       │   │   ├── composer.json
│   │       │   │   └── src/
│   │       │   │       ├── CacheException.php
│   │       │   │       ├── CacheItemInterface.php
│   │       │   │       ├── CacheItemPoolInterface.php
│   │       │   │       └── InvalidArgumentException.php
│   │       │   ├── http-client/
│   │       │   │   ├── CHANGELOG.md
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── composer.json
│   │       │   │   └── src/
│   │       │   │       ├── ClientExceptionInterface.php
│   │       │   │       ├── ClientInterface.php
│   │       │   │       ├── NetworkExceptionInterface.php
│   │       │   │       └── RequestExceptionInterface.php
│   │       │   ├── http-factory/
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── composer.json
│   │       │   │   └── src/
│   │       │   │       ├── RequestFactoryInterface.php
│   │       │   │       ├── ResponseFactoryInterface.php
│   │       │   │       ├── ServerRequestFactoryInterface.php
│   │       │   │       ├── StreamFactoryInterface.php
│   │       │   │       ├── UploadedFileFactoryInterface.php
│   │       │   │       └── UriFactoryInterface.php
│   │       │   ├── http-message/
│   │       │   │   ├── CHANGELOG.md
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── composer.json
│   │       │   │   ├── docs/
│   │       │   │   │   ├── PSR7-Interfaces.md
│   │       │   │   │   └── PSR7-Usage.md
│   │       │   │   └── src/
│   │       │   │       ├── MessageInterface.php
│   │       │   │       ├── RequestInterface.php
│   │       │   │       ├── ResponseInterface.php
│   │       │   │       ├── ServerRequestInterface.php
│   │       │   │       ├── StreamInterface.php
│   │       │   │       ├── UploadedFileInterface.php
│   │       │   │       └── UriInterface.php
│   │       │   └── log/
│   │       │       ├── LICENSE
│   │       │       ├── README.md
│   │       │       ├── composer.json
│   │       │       └── src/
│   │       │           ├── AbstractLogger.php
│   │       │           ├── InvalidArgumentException.php
│   │       │           ├── LogLevel.php
│   │       │           ├── LoggerAwareInterface.php
│   │       │           ├── LoggerAwareTrait.php
│   │       │           ├── LoggerInterface.php
│   │       │           ├── LoggerTrait.php
│   │       │           └── NullLogger.php
│   │       ├── ralouphie/
│   │       │   └── getallheaders/
│   │       │       ├── LICENSE
│   │       │       ├── README.md
│   │       │       ├── composer.json
│   │       │       └── src/
│   │       │           └── getallheaders.php
│   │       ├── ramsey/
│   │       │   ├── collection/
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── SECURITY.md
│   │       │   │   ├── composer.json
│   │       │   │   └── src/
│   │       │   │       ├── AbstractArray.php
│   │       │   │       ├── AbstractCollection.php
│   │       │   │       ├── AbstractSet.php
│   │       │   │       ├── ArrayInterface.php
│   │       │   │       ├── Collection.php
│   │       │   │       ├── CollectionInterface.php
│   │       │   │       ├── DoubleEndedQueue.php
│   │       │   │       ├── DoubleEndedQueueInterface.php
│   │       │   │       ├── Exception/
│   │       │   │       │   ├── CollectionException.php
│   │       │   │       │   ├── CollectionMismatchException.php
│   │       │   │       │   ├── InvalidArgumentException.php
│   │       │   │       │   ├── InvalidPropertyOrMethod.php
│   │       │   │       │   ├── NoSuchElementException.php
│   │       │   │       │   ├── OutOfBoundsException.php
│   │       │   │       │   └── UnsupportedOperationException.php
│   │       │   │       ├── GenericArray.php
│   │       │   │       ├── Map/
│   │       │   │       │   ├── AbstractMap.php
│   │       │   │       │   ├── AbstractTypedMap.php
│   │       │   │       │   ├── AssociativeArrayMap.php
│   │       │   │       │   ├── MapInterface.php
│   │       │   │       │   ├── NamedParameterMap.php
│   │       │   │       │   ├── TypedMap.php
│   │       │   │       │   └── TypedMapInterface.php
│   │       │   │       ├── Queue.php
│   │       │   │       ├── QueueInterface.php
│   │       │   │       ├── Set.php
│   │       │   │       ├── Sort.php
│   │       │   │       └── Tool/
│   │       │   │           ├── TypeTrait.php
│   │       │   │           ├── ValueExtractorTrait.php
│   │       │   │           └── ValueToStringTrait.php
│   │       │   └── uuid/
│   │       │       ├── LICENSE
│   │       │       ├── README.md
│   │       │       ├── composer.json
│   │       │       └── src/
│   │       │           ├── BinaryUtils.php
│   │       │           ├── Builder/
│   │       │           │   ├── BuilderCollection.php
│   │       │           │   ├── DefaultUuidBuilder.php
│   │       │           │   ├── DegradedUuidBuilder.php
│   │       │           │   ├── FallbackBuilder.php
│   │       │           │   └── UuidBuilderInterface.php
│   │       │           ├── Codec/
│   │       │           │   ├── CodecInterface.php
│   │       │           │   ├── GuidStringCodec.php
│   │       │           │   ├── OrderedTimeCodec.php
│   │       │           │   ├── StringCodec.php
│   │       │           │   ├── TimestampFirstCombCodec.php
│   │       │           │   └── TimestampLastCombCodec.php
│   │       │           ├── Converter/
│   │       │           │   ├── Number/
│   │       │           │   │   ├── BigNumberConverter.php
│   │       │           │   │   ├── DegradedNumberConverter.php
│   │       │           │   │   └── GenericNumberConverter.php
│   │       │           │   ├── NumberConverterInterface.php
│   │       │           │   ├── Time/
│   │       │           │   │   ├── BigNumberTimeConverter.php
│   │       │           │   │   ├── DegradedTimeConverter.php
│   │       │           │   │   ├── GenericTimeConverter.php
│   │       │           │   │   ├── PhpTimeConverter.php
│   │       │           │   │   └── UnixTimeConverter.php
│   │       │           │   └── TimeConverterInterface.php
│   │       │           ├── DegradedUuid.php
│   │       │           ├── DeprecatedUuidInterface.php
│   │       │           ├── DeprecatedUuidMethodsTrait.php
│   │       │           ├── Exception/
│   │       │           │   ├── BuilderNotFoundException.php
│   │       │           │   ├── DateTimeException.php
│   │       │           │   ├── DceSecurityException.php
│   │       │           │   ├── InvalidArgumentException.php
│   │       │           │   ├── InvalidBytesException.php
│   │       │           │   ├── InvalidUuidStringException.php
│   │       │           │   ├── NameException.php
│   │       │           │   ├── NodeException.php
│   │       │           │   ├── RandomSourceException.php
│   │       │           │   ├── TimeSourceException.php
│   │       │           │   ├── UnableToBuildUuidException.php
│   │       │           │   ├── UnsupportedOperationException.php
│   │       │           │   └── UuidExceptionInterface.php
│   │       │           ├── FeatureSet.php
│   │       │           ├── Fields/
│   │       │           │   ├── FieldsInterface.php
│   │       │           │   └── SerializableFieldsTrait.php
│   │       │           ├── Generator/
│   │       │           │   ├── CombGenerator.php
│   │       │           │   ├── DceSecurityGenerator.php
│   │       │           │   ├── DceSecurityGeneratorInterface.php
│   │       │           │   ├── DefaultNameGenerator.php
│   │       │           │   ├── DefaultTimeGenerator.php
│   │       │           │   ├── NameGeneratorFactory.php
│   │       │           │   ├── NameGeneratorInterface.php
│   │       │           │   ├── PeclUuidNameGenerator.php
│   │       │           │   ├── PeclUuidRandomGenerator.php
│   │       │           │   ├── PeclUuidTimeGenerator.php
│   │       │           │   ├── RandomBytesGenerator.php
│   │       │           │   ├── RandomGeneratorFactory.php
│   │       │           │   ├── RandomGeneratorInterface.php
│   │       │           │   ├── RandomLibAdapter.php
│   │       │           │   ├── TimeGeneratorFactory.php
│   │       │           │   ├── TimeGeneratorInterface.php
│   │       │           │   └── UnixTimeGenerator.php
│   │       │           ├── Guid/
│   │       │           │   ├── Fields.php
│   │       │           │   ├── Guid.php
│   │       │           │   └── GuidBuilder.php
│   │       │           ├── Lazy/
│   │       │           │   └── LazyUuidFromString.php
│   │       │           ├── Math/
│   │       │           │   ├── BrickMathCalculator.php
│   │       │           │   ├── CalculatorInterface.php
│   │       │           │   └── RoundingMode.php
│   │       │           ├── Nonstandard/
│   │       │           │   ├── Fields.php
│   │       │           │   ├── Uuid.php
│   │       │           │   ├── UuidBuilder.php
│   │       │           │   └── UuidV6.php
│   │       │           ├── Provider/
│   │       │           │   ├── Dce/
│   │       │           │   │   └── SystemDceSecurityProvider.php
│   │       │           │   ├── DceSecurityProviderInterface.php
│   │       │           │   ├── Node/
│   │       │           │   │   ├── FallbackNodeProvider.php
│   │       │           │   │   ├── NodeProviderCollection.php
│   │       │           │   │   ├── RandomNodeProvider.php
│   │       │           │   │   ├── StaticNodeProvider.php
│   │       │           │   │   └── SystemNodeProvider.php
│   │       │           │   ├── NodeProviderInterface.php
│   │       │           │   ├── Time/
│   │       │           │   │   ├── FixedTimeProvider.php
│   │       │           │   │   └── SystemTimeProvider.php
│   │       │           │   └── TimeProviderInterface.php
│   │       │           ├── Rfc4122/
│   │       │           │   ├── Fields.php
│   │       │           │   ├── FieldsInterface.php
│   │       │           │   ├── MaxTrait.php
│   │       │           │   ├── MaxUuid.php
│   │       │           │   ├── NilTrait.php
│   │       │           │   ├── NilUuid.php
│   │       │           │   ├── TimeTrait.php
│   │       │           │   ├── UuidBuilder.php
│   │       │           │   ├── UuidInterface.php
│   │       │           │   ├── UuidV1.php
│   │       │           │   ├── UuidV2.php
│   │       │           │   ├── UuidV3.php
│   │       │           │   ├── UuidV4.php
│   │       │           │   ├── UuidV5.php
│   │       │           │   ├── UuidV6.php
│   │       │           │   ├── UuidV7.php
│   │       │           │   ├── UuidV8.php
│   │       │           │   ├── Validator.php
│   │       │           │   ├── VariantTrait.php
│   │       │           │   └── VersionTrait.php
│   │       │           ├── Type/
│   │       │           │   ├── Decimal.php
│   │       │           │   ├── Hexadecimal.php
│   │       │           │   ├── Integer.php
│   │       │           │   ├── NumberInterface.php
│   │       │           │   ├── Time.php
│   │       │           │   └── TypeInterface.php
│   │       │           ├── Uuid.php
│   │       │           ├── UuidFactory.php
│   │       │           ├── UuidFactoryInterface.php
│   │       │           ├── UuidInterface.php
│   │       │           ├── Validator/
│   │       │           │   ├── GenericValidator.php
│   │       │           │   └── ValidatorInterface.php
│   │       │           └── functions.php
│   │       ├── rize/
│   │       │   └── uri-template/
│   │       │       ├── .php-cs-fixer.dist.php
│   │       │       ├── LICENSE
│   │       │       ├── README.md
│   │       │       ├── composer.json
│   │       │       ├── phpstan.neon
│   │       │       ├── phpunit.xml
│   │       │       ├── src/
│   │       │       │   └── Rize/
│   │       │       │       ├── UriTemplate/
│   │       │       │       │   ├── Node/
│   │       │       │       │   │   ├── Abstraction.php
│   │       │       │       │   │   ├── Expression.php
│   │       │       │       │   │   ├── Literal.php
│   │       │       │       │   │   └── Variable.php
│   │       │       │       │   ├── Operator/
│   │       │       │       │   │   ├── Abstraction.php
│   │       │       │       │   │   ├── Named.php
│   │       │       │       │   │   └── UnNamed.php
│   │       │       │       │   ├── Parser.php
│   │       │       │       │   └── UriTemplate.php
│   │       │       │       └── UriTemplate.php
│   │       │       └── tests/
│   │       │           ├── Rize/
│   │       │           │   ├── Uri/
│   │       │           │   │   └── Node/
│   │       │           │   │       └── ParserTest.php
│   │       │           │   └── UriTemplateTest.php
│   │       │           └── fixtures/
│   │       │               ├── README.md
│   │       │               ├── extended-tests.json
│   │       │               ├── json2xml.xslt
│   │       │               ├── negative-tests.json
│   │       │               ├── spec-examples-by-section.json
│   │       │               ├── spec-examples.json
│   │       │               └── transform-json-tests.xslt
│   │       └── symfony/
│   │           └── deprecation-contracts/
│   │               ├── CHANGELOG.md
│   │               ├── LICENSE
│   │               ├── README.md
│   │               ├── composer.json
│   │               └── function.php
│   ├── classes/
│   │   ├── batch/
│   │   │   ├── class-batch-task-manager.php
│   │   │   ├── class-batch-task.php
│   │   │   ├── class-migration.php
│   │   │   └── interface-batch.php
│   │   ├── class-addons.php
│   │   ├── class-ajax.php
│   │   ├── class-api.php
│   │   ├── class-bootstrap.php
│   │   ├── class-compatibility.php
│   │   ├── class-db.php
│   │   ├── class-dynamic-image-support.php
│   │   ├── class-errors.php
│   │   ├── class-google-app-engine.php
│   │   ├── class-gs-client.php
│   │   ├── class-gs-stream-wrapper.php
│   │   ├── class-helper.php
│   │   ├── class-logger.php
│   │   ├── class-migrator.php
│   │   ├── class-module.php
│   │   ├── class-settings.php
│   │   ├── class-status.php
│   │   ├── class-sync-non-media.php
│   │   ├── class-upgrader.php
│   │   ├── class-utility.php
│   │   ├── compatibility/
│   │   │   ├── ewww.php
│   │   │   ├── imagify.php
│   │   │   ├── js/
│   │   │   │   └── shortpixel.js
│   │   │   ├── learn-dash.php
│   │   │   ├── shortpixel.php
│   │   │   ├── the-events-calendar.php
│   │   │   ├── wp-smush.php
│   │   │   └── wpbakery-page-builder.php
│   │   ├── exception-fatal.php
│   │   ├── exception-unprocessable.php
│   │   ├── status/
│   │   │   ├── class-info-google_cloud.php
│   │   │   ├── class-info-stateless.php
│   │   │   ├── class-info.php
│   │   │   └── class-migrations.php
│   │   ├── sync/
│   │   │   ├── class-background-sync.php
│   │   │   ├── class-file-sync.php
│   │   │   ├── class-helper-window.php
│   │   │   ├── class-image-sync.php
│   │   │   ├── class-library-sync.php
│   │   │   ├── class-non-library-sync.php
│   │   │   └── interface-sync.php
│   │   └── trait-singleton.php
│   ├── cli/
│   │   ├── class-sm-cli-command.php
│   │   ├── class-sm-cli-process.php
│   │   ├── class-sm-cli-scaffold.php
│   │   ├── class-sm-cli-sync.php
│   │   ├── class-sm-cli-upgrade.php
│   │   └── class-sm-cli.php
│   ├── includes/
│   │   ├── class-settings.php
│   │   └── class-utility.php
│   ├── meta-box-tabs/
│   │   ├── CHANGELOG.md
│   │   ├── meta-box-tabs.php
│   │   ├── tabs.css
│   │   └── tabs.js
│   └── ns-vendor/
│       └── classes/
│           ├── .gitkeep
│           └── deliciousbrains/
│               └── wp-background-processing/
│                   └── classes/
│                       ├── wp-async-request.php
│                       └── wp-background-process.php
├── readme.md
├── readme.txt
├── static/
│   ├── data/
│   │   └── addons.php
│   ├── migrations/
│   │   ├── 20240219175240.php
│   │   └── 20240423174109.php
│   ├── scripts/
│   │   ├── error-notice.js
│   │   ├── i18n/
│   │   │   ├── af.js
│   │   │   ├── ar.js
│   │   │   ├── az.js
│   │   │   ├── bg.js
│   │   │   ├── bn.js
│   │   │   ├── bs.js
│   │   │   ├── ca.js
│   │   │   ├── cs.js
│   │   │   ├── da.js
│   │   │   ├── de.js
│   │   │   ├── dsb.js
│   │   │   ├── el.js
│   │   │   ├── en.js
│   │   │   ├── es.js
│   │   │   ├── et.js
│   │   │   ├── eu.js
│   │   │   ├── fa.js
│   │   │   ├── fi.js
│   │   │   ├── fr.js
│   │   │   ├── gl.js
│   │   │   ├── he.js
│   │   │   ├── hi.js
│   │   │   ├── hr.js
│   │   │   ├── hsb.js
│   │   │   ├── hu.js
│   │   │   ├── hy.js
│   │   │   ├── id.js
│   │   │   ├── is.js
│   │   │   ├── it.js
│   │   │   ├── ja.js
│   │   │   ├── ka.js
│   │   │   ├── km.js
│   │   │   ├── ko.js
│   │   │   ├── lt.js
│   │   │   ├── lv.js
│   │   │   ├── mk.js
│   │   │   ├── ms.js
│   │   │   ├── nb.js
│   │   │   ├── ne.js
│   │   │   ├── nl.js
│   │   │   ├── pl.js
│   │   │   ├── ps.js
│   │   │   ├── pt-BR.js
│   │   │   ├── pt.js
│   │   │   ├── ro.js
│   │   │   ├── ru.js
│   │   │   ├── sk.js
│   │   │   ├── sl.js
│   │   │   ├── sq.js
│   │   │   ├── sr-Cyrl.js
│   │   │   ├── sr.js
│   │   │   ├── sv.js
│   │   │   ├── th.js
│   │   │   ├── tk.js
│   │   │   ├── tr.js
│   │   │   ├── uk.js
│   │   │   ├── vi.js
│   │   │   ├── zh-CN.js
│   │   │   └── zh-TW.js
│   │   ├── jquery-ui/
│   │   │   ├── jquery.ui.progressbar.min.1.7.2.js
│   │   │   └── redmond/
│   │   │       └── jquery-ui-1.7.2.custom.css
│   │   ├── wp-stateless-batch.js
│   │   ├── wp-stateless-settings.js
│   │   ├── wp-stateless-uploads.js
│   │   └── wp-stateless.js
│   ├── styles/
│   │   ├── error-notice.css
│   │   ├── wp-stateless-addons.css
│   │   ├── wp-stateless-settings.css
│   │   ├── wp-stateless-setup-wizard.css
│   │   ├── wp-stateless-status.css
│   │   └── wp-stateless.css
│   ├── views/
│   │   ├── .gitkeep
│   │   ├── addons-tab.php
│   │   ├── compatibility-tab.php
│   │   ├── error-notice.php
│   │   ├── processing_interface.php
│   │   ├── settings-sections/
│   │   │   ├── file-url.php
│   │   │   ├── general.php
│   │   │   ├── google-cloud-storage.php
│   │   │   └── network.php
│   │   ├── settings-tab.php
│   │   ├── settings_interface.php
│   │   ├── setup_wizard_interface.php
│   │   └── status-sections/
│   │       ├── info.php
│   │       └── migrations.php
│   └── wiki/
│       └── Media-Object.md
├── vendor/
│   ├── autoload.php
│   ├── ccampbell/
│   │   └── chromephp/
│   │       ├── ChromePhp.php
│   │       ├── README.md
│   │       └── composer.json
│   ├── composer/
│   │   ├── ClassLoader.php
│   │   ├── InstalledVersions.php
│   │   ├── LICENSE
│   │   ├── autoload_classmap.php
│   │   ├── autoload_namespaces.php
│   │   ├── autoload_psr4.php
│   │   ├── autoload_real.php
│   │   ├── autoload_static.php
│   │   ├── installed.json
│   │   ├── installed.php
│   │   ├── installers/
│   │   │   ├── .github/
│   │   │   │   └── workflows/
│   │   │   │       ├── continuous-integration.yml
│   │   │   │       ├── lint.yml
│   │   │   │       └── phpstan.yml
│   │   │   ├── LICENSE
│   │   │   ├── composer.json
│   │   │   └── src/
│   │   │       ├── Composer/
│   │   │       │   └── Installers/
│   │   │       │       ├── AglInstaller.php
│   │   │       │       ├── AkauntingInstaller.php
│   │   │       │       ├── AnnotateCmsInstaller.php
│   │   │       │       ├── AsgardInstaller.php
│   │   │       │       ├── AttogramInstaller.php
│   │   │       │       ├── BaseInstaller.php
│   │   │       │       ├── BitrixInstaller.php
│   │   │       │       ├── BonefishInstaller.php
│   │   │       │       ├── BotbleInstaller.php
│   │   │       │       ├── CakePHPInstaller.php
│   │   │       │       ├── ChefInstaller.php
│   │   │       │       ├── CiviCrmInstaller.php
│   │   │       │       ├── ClanCatsFrameworkInstaller.php
│   │   │       │       ├── CockpitInstaller.php
│   │   │       │       ├── CodeIgniterInstaller.php
│   │   │       │       ├── Concrete5Installer.php
│   │   │       │       ├── ConcreteCMSInstaller.php
│   │   │       │       ├── CroogoInstaller.php
│   │   │       │       ├── DecibelInstaller.php
│   │   │       │       ├── DframeInstaller.php
│   │   │       │       ├── DokuWikiInstaller.php
│   │   │       │       ├── DolibarrInstaller.php
│   │   │       │       ├── DrupalInstaller.php
│   │   │       │       ├── ElggInstaller.php
│   │   │       │       ├── EliasisInstaller.php
│   │   │       │       ├── ExpressionEngineInstaller.php
│   │   │       │       ├── EzPlatformInstaller.php
│   │   │       │       ├── ForkCMSInstaller.php
│   │   │       │       ├── FuelInstaller.php
│   │   │       │       ├── FuelphpInstaller.php
│   │   │       │       ├── GravInstaller.php
│   │   │       │       ├── HuradInstaller.php
│   │   │       │       ├── ImageCMSInstaller.php
│   │   │       │       ├── Installer.php
│   │   │       │       ├── ItopInstaller.php
│   │   │       │       ├── KanboardInstaller.php
│   │   │       │       ├── KnownInstaller.php
│   │   │       │       ├── KodiCMSInstaller.php
│   │   │       │       ├── KohanaInstaller.php
│   │   │       │       ├── LanManagementSystemInstaller.php
│   │   │       │       ├── LaravelInstaller.php
│   │   │       │       ├── LavaLiteInstaller.php
│   │   │       │       ├── LithiumInstaller.php
│   │   │       │       ├── MODULEWorkInstaller.php
│   │   │       │       ├── MODXEvoInstaller.php
│   │   │       │       ├── MagentoInstaller.php
│   │   │       │       ├── MajimaInstaller.php
│   │   │       │       ├── MakoInstaller.php
│   │   │       │       ├── MantisBTInstaller.php
│   │   │       │       ├── MatomoInstaller.php
│   │   │       │       ├── MauticInstaller.php
│   │   │       │       ├── MayaInstaller.php
│   │   │       │       ├── MediaWikiInstaller.php
│   │   │       │       ├── MiaoxingInstaller.php
│   │   │       │       ├── MicroweberInstaller.php
│   │   │       │       ├── ModxInstaller.php
│   │   │       │       ├── MoodleInstaller.php
│   │   │       │       ├── OctoberInstaller.php
│   │   │       │       ├── OntoWikiInstaller.php
│   │   │       │       ├── OsclassInstaller.php
│   │   │       │       ├── OxidInstaller.php
│   │   │       │       ├── PPIInstaller.php
│   │   │       │       ├── PantheonInstaller.php
│   │   │       │       ├── PhiftyInstaller.php
│   │   │       │       ├── PhpBBInstaller.php
│   │   │       │       ├── PiwikInstaller.php
│   │   │       │       ├── PlentymarketsInstaller.php
│   │   │       │       ├── Plugin.php
│   │   │       │       ├── PortoInstaller.php
│   │   │       │       ├── PrestashopInstaller.php
│   │   │       │       ├── ProcessWireInstaller.php
│   │   │       │       ├── PuppetInstaller.php
│   │   │       │       ├── PxcmsInstaller.php
│   │   │       │       ├── RadPHPInstaller.php
│   │   │       │       ├── ReIndexInstaller.php
│   │   │       │       ├── Redaxo5Installer.php
│   │   │       │       ├── RedaxoInstaller.php
│   │   │       │       ├── RoundcubeInstaller.php
│   │   │       │       ├── SMFInstaller.php
│   │   │       │       ├── ShopwareInstaller.php
│   │   │       │       ├── SilverStripeInstaller.php
│   │   │       │       ├── SiteDirectInstaller.php
│   │   │       │       ├── StarbugInstaller.php
│   │   │       │       ├── SyDESInstaller.php
│   │   │       │       ├── SyliusInstaller.php
│   │   │       │       ├── TaoInstaller.php
│   │   │       │       ├── TastyIgniterInstaller.php
│   │   │       │       ├── TheliaInstaller.php
│   │   │       │       ├── TuskInstaller.php
│   │   │       │       ├── UserFrostingInstaller.php
│   │   │       │       ├── VanillaInstaller.php
│   │   │       │       ├── VgmcpInstaller.php
│   │   │       │       ├── WHMCSInstaller.php
│   │   │       │       ├── WinterInstaller.php
│   │   │       │       ├── WolfCMSInstaller.php
│   │   │       │       ├── WordPressInstaller.php
│   │   │       │       ├── YawikInstaller.php
│   │   │       │       ├── ZendInstaller.php
│   │   │       │       └── ZikulaInstaller.php
│   │   │       └── bootstrap.php
│   │   └── platform_check.php
│   ├── firebase/
│   │   └── php-jwt/
│   │       ├── CHANGELOG.md
│   │       ├── LICENSE
│   │       ├── README.md
│   │       ├── composer.json
│   │       └── src/
│   │           ├── BeforeValidException.php
│   │           ├── CachedKeySet.php
│   │           ├── ExpiredException.php
│   │           ├── JWK.php
│   │           ├── JWT.php
│   │           ├── JWTExceptionWithPayloadInterface.php
│   │           ├── Key.php
│   │           └── SignatureInvalidException.php
│   ├── udx/
│   │   ├── lib-ud-api-client/
│   │   │   ├── .gitignore
│   │   │   ├── .scrutinizer.yml
│   │   │   ├── changes.md
│   │   │   ├── composer.json
│   │   │   ├── gruntfile.js
│   │   │   ├── lib/
│   │   │   │   └── classes/
│   │   │   │       ├── class-admin.php
│   │   │   │       ├── class-api.php
│   │   │   │       ├── class-bootstrap.php
│   │   │   │       ├── class-licenses-table.php
│   │   │   │       ├── class-manager.php
│   │   │   │       ├── class-more-products-table.php
│   │   │   │       ├── class-scaffold.php
│   │   │   │       ├── class-ui.php
│   │   │   │       ├── class-update-checker.php
│   │   │   │       └── class-utility.php
│   │   │   ├── package.json
│   │   │   ├── readme.md
│   │   │   └── static/
│   │   │       ├── css/
│   │   │       │   ├── admin.css
│   │   │       │   └── src/
│   │   │       │       └── admin.less
│   │   │       └── templates/
│   │   │           ├── admin-notice.php
│   │   │           ├── screen-manage-plugin.php
│   │   │           ├── screen-manage-theme.php
│   │   │           └── screen-more.php
│   │   └── lib-wp-bootstrap/
│   │       ├── .gitignore
│   │       ├── changes.md
│   │       ├── composer.json
│   │       ├── lib/
│   │       │   └── classes/
│   │       │       ├── class-bootstrap-plugin.php
│   │       │       ├── class-bootstrap-theme.php
│   │       │       ├── class-bootstrap.php
│   │       │       ├── class-dashboard.php
│   │       │       ├── class-errors.php
│   │       │       ├── class-scaffold.php
│   │       │       ├── class-tgm-bulk-installer.php
│   │       │       ├── class-tgm-list-table.php
│   │       │       ├── class-tgm-plugin-activation.php
│   │       │       └── class-utility.php
│   │       ├── readme.md
│   │       └── static/
│   │           └── scripts/
│   │               └── ud-dismiss.js
│   └── wpmetabox/
│       └── meta-box/
│           ├── css/
│           │   ├── autocomplete.css
│           │   ├── background.css
│           │   ├── button-group.css
│           │   ├── color.css
│           │   ├── date.css
│           │   ├── divider.css
│           │   ├── fieldset-text.css
│           │   ├── file-input.css
│           │   ├── file.css
│           │   ├── fontawesome/
│           │   │   └── icons.json
│           │   ├── heading.css
│           │   ├── icon.css
│           │   ├── image-select.css
│           │   ├── image.css
│           │   ├── input-list.css
│           │   ├── input.css
│           │   ├── jqueryui/
│           │   │   ├── core.css
│           │   │   ├── datepicker.css
│           │   │   ├── slider.css
│           │   │   └── theme.css
│           │   ├── key-value.css
│           │   ├── map.css
│           │   ├── media.css
│           │   ├── modal.css
│           │   ├── oembed.css
│           │   ├── osm-frontend.css
│           │   ├── osm.css
│           │   ├── password.css
│           │   ├── range.css
│           │   ├── select-advanced.css
│           │   ├── select-tree.css
│           │   ├── select.css
│           │   ├── select2/
│           │   │   └── select2.css
│           │   ├── slider.css
│           │   ├── style-rtl.css
│           │   ├── style.css
│           │   ├── switch.css
│           │   ├── text-list.css
│           │   ├── upload.css
│           │   ├── video.css
│           │   └── wysiwyg.css
│           ├── inc/
│           │   ├── autoloader.php
│           │   ├── clone.php
│           │   ├── core.php
│           │   ├── field-registry.php
│           │   ├── field.php
│           │   ├── fields/
│           │   │   ├── autocomplete.php
│           │   │   ├── background.php
│           │   │   ├── button-group.php
│           │   │   ├── button.php
│           │   │   ├── checkbox-list.php
│           │   │   ├── checkbox.php
│           │   │   ├── choice.php
│           │   │   ├── color.php
│           │   │   ├── custom-html.php
│           │   │   ├── date.php
│           │   │   ├── datetime.php
│           │   │   ├── divider.php
│           │   │   ├── fieldset-text.php
│           │   │   ├── file-input.php
│           │   │   ├── file-upload.php
│           │   │   ├── file.php
│           │   │   ├── heading.php
│           │   │   ├── icon.php
│           │   │   ├── image-advanced.php
│           │   │   ├── image-select.php
│           │   │   ├── image-upload.php
│           │   │   ├── image.php
│           │   │   ├── input-list.php
│           │   │   ├── input.php
│           │   │   ├── key-value.php
│           │   │   ├── map.php
│           │   │   ├── media.php
│           │   │   ├── multiple-values.php
│           │   │   ├── number.php
│           │   │   ├── object-choice.php
│           │   │   ├── oembed.php
│           │   │   ├── osm.php
│           │   │   ├── password.php
│           │   │   ├── post.php
│           │   │   ├── radio.php
│           │   │   ├── range.php
│           │   │   ├── select-advanced.php
│           │   │   ├── select-tree.php
│           │   │   ├── select.php
│           │   │   ├── sidebar.php
│           │   │   ├── single-image.php
│           │   │   ├── slider.php
│           │   │   ├── switch.php
│           │   │   ├── taxonomy-advanced.php
│           │   │   ├── taxonomy.php
│           │   │   ├── text-list.php
│           │   │   ├── textarea.php
│           │   │   ├── time.php
│           │   │   ├── user.php
│           │   │   ├── video.php
│           │   │   └── wysiwyg.php
│           │   ├── functions.php
│           │   ├── helpers/
│           │   │   ├── array.php
│           │   │   ├── field.php
│           │   │   ├── string.php
│           │   │   └── value.php
│           │   ├── interfaces/
│           │   │   └── storage.php
│           │   ├── loader.php
│           │   ├── media-modal.php
│           │   ├── meta-box-registry.php
│           │   ├── meta-box.php
│           │   ├── request.php
│           │   ├── sanitizer.php
│           │   ├── shortcode.php
│           │   ├── storage-registry.php
│           │   ├── storages/
│           │   │   ├── base.php
│           │   │   └── post.php
│           │   ├── validation.php
│           │   └── walkers/
│           │       ├── base.php
│           │       ├── input-list.php
│           │       ├── select-tree.php
│           │       └── select.php
│           ├── js/
│           │   ├── autocomplete.js
│           │   ├── autosave.js
│           │   ├── button-group.js
│           │   ├── clone.js
│           │   ├── color.js
│           │   ├── date.js
│           │   ├── datetime.js
│           │   ├── file-input.js
│           │   ├── file-upload.js
│           │   ├── file.js
│           │   ├── icon.js
│           │   ├── image-advanced.js
│           │   ├── image-upload.js
│           │   ├── input-list.js
│           │   ├── jqueryui/
│           │   │   └── jquery-ui-sliderAccess.js
│           │   ├── leaflet/
│           │   │   ├── leaflet.css
│           │   │   └── leaflet.js
│           │   ├── map-frontend.js
│           │   ├── map.js
│           │   ├── media.js
│           │   ├── modal.js
│           │   ├── oembed.js
│           │   ├── osm-frontend.js
│           │   ├── osm.js
│           │   ├── password.js
│           │   ├── post.js
│           │   ├── range.js
│           │   ├── script.js
│           │   ├── select-advanced.js
│           │   ├── select-tree.js
│           │   ├── select.js
│           │   ├── select2/
│           │   │   └── i18n/
│           │   │       ├── af.js
│           │   │       ├── ar.js
│           │   │       ├── az.js
│           │   │       ├── bg.js
│           │   │       ├── bn.js
│           │   │       ├── bs.js
│           │   │       ├── ca.js
│           │   │       ├── cs.js
│           │   │       ├── da.js
│           │   │       ├── de.js
│           │   │       ├── dsb.js
│           │   │       ├── el.js
│           │   │       ├── en.js
│           │   │       ├── es.js
│           │   │       ├── et.js
│           │   │       ├── eu.js
│           │   │       ├── fa.js
│           │   │       ├── fi.js
│           │   │       ├── fr.js
│           │   │       ├── gl.js
│           │   │       ├── he.js
│           │   │       ├── hi.js
│           │   │       ├── hr.js
│           │   │       ├── hsb.js
│           │   │       ├── hu.js
│           │   │       ├── hy.js
│           │   │       ├── id.js
│           │   │       ├── is.js
│           │   │       ├── it.js
│           │   │       ├── ja.js
│           │   │       ├── ka.js
│           │   │       ├── km.js
│           │   │       ├── ko.js
│           │   │       ├── lt.js
│           │   │       ├── lv.js
│           │   │       ├── mk.js
│           │   │       ├── ms.js
│           │   │       ├── nb.js
│           │   │       ├── ne.js
│           │   │       ├── nl.js
│           │   │       ├── pl.js
│           │   │       ├── ps.js
│           │   │       ├── pt-BR.js
│           │   │       ├── pt.js
│           │   │       ├── ro.js
│           │   │       ├── ru.js
│           │   │       ├── sk.js
│           │   │       ├── sl.js
│           │   │       ├── sq.js
│           │   │       ├── sr-Cyrl.js
│           │   │       ├── sr.js
│           │   │       ├── sv.js
│           │   │       ├── th.js
│           │   │       ├── tk.js
│           │   │       ├── tr.js
│           │   │       ├── uk.js
│           │   │       ├── vi.js
│           │   │       ├── zh-CN.js
│           │   │       └── zh-TW.js
│           │   ├── slider.js
│           │   ├── taxonomy.js
│           │   ├── time.js
│           │   ├── user.js
│           │   ├── validation/
│           │   │   ├── additional-methods.js
│           │   │   ├── i18n/
│           │   │   │   ├── messages_ar.js
│           │   │   │   ├── messages_az.js
│           │   │   │   ├── messages_bg.js
│           │   │   │   ├── messages_bn_BD.js
│           │   │   │   ├── messages_ca.js
│           │   │   │   ├── messages_cs.js
│           │   │   │   ├── messages_da.js
│           │   │   │   ├── messages_de.js
│           │   │   │   ├── messages_el.js
│           │   │   │   ├── messages_es.js
│           │   │   │   ├── messages_es_AR.js
│           │   │   │   ├── messages_es_PE.js
│           │   │   │   ├── messages_et.js
│           │   │   │   ├── messages_eu.js
│           │   │   │   ├── messages_fa.js
│           │   │   │   ├── messages_fi.js
│           │   │   │   ├── messages_fr.js
│           │   │   │   ├── messages_ge.js
│           │   │   │   ├── messages_gl.js
│           │   │   │   ├── messages_he.js
│           │   │   │   ├── messages_hi.js
│           │   │   │   ├── messages_hr.js
│           │   │   │   ├── messages_hu.js
│           │   │   │   ├── messages_hy_AM.js
│           │   │   │   ├── messages_id.js
│           │   │   │   ├── messages_is.js
│           │   │   │   ├── messages_it.js
│           │   │   │   ├── messages_ja.js
│           │   │   │   ├── messages_ka.js
│           │   │   │   ├── messages_kk.js
│           │   │   │   ├── messages_ko.js
│           │   │   │   ├── messages_lt.js
│           │   │   │   ├── messages_lv.js
│           │   │   │   ├── messages_mk.js
│           │   │   │   ├── messages_my.js
│           │   │   │   ├── messages_nl.js
│           │   │   │   ├── messages_no.js
│           │   │   │   ├── messages_pl.js
│           │   │   │   ├── messages_pt_BR.js
│           │   │   │   ├── messages_pt_PT.js
│           │   │   │   ├── messages_ro.js
│           │   │   │   ├── messages_ru.js
│           │   │   │   ├── messages_sd.js
│           │   │   │   ├── messages_si.js
│           │   │   │   ├── messages_sk.js
│           │   │   │   ├── messages_sl.js
│           │   │   │   ├── messages_sr.js
│           │   │   │   ├── messages_sr_lat.js
│           │   │   │   ├── messages_sv.js
│           │   │   │   ├── messages_th.js
│           │   │   │   ├── messages_tj.js
│           │   │   │   ├── messages_tr.js
│           │   │   │   ├── messages_uk.js
│           │   │   │   ├── messages_ur.js
│           │   │   │   ├── messages_vi.js
│           │   │   │   ├── messages_zh.js
│           │   │   │   └── messages_zh_TW.js
│           │   │   ├── jquery.validate.js
│           │   │   └── validation.js
│           │   ├── video.js
│           │   └── wysiwyg.js
│           ├── meta-box.php
│           ├── readme.txt
│           ├── src/
│           │   ├── Dashboard/
│           │   │   ├── Dashboard.php
│           │   │   ├── assets/
│           │   │   │   ├── css/
│           │   │   │   │   ├── dashboard.css
│           │   │   │   │   └── dashboard.scss
│           │   │   │   └── js/
│           │   │   │       └── dashboard.js
│           │   │   └── content.php
│           │   ├── FeaturedPlugins.php
│           │   ├── Integrations/
│           │   │   ├── Block.php
│           │   │   ├── Bricks.php
│           │   │   ├── Elementor.php
│           │   │   ├── Oxygen.php
│           │   │   └── WPML.php
│           │   └── Updater/
│           │       ├── Checker.php
│           │       ├── Notification.php
│           │       ├── Option.php
│           │       └── Settings.php
│           └── vendor/
│               ├── autoload.php
│               ├── composer/
│               │   ├── ClassLoader.php
│               │   ├── InstalledVersions.php
│               │   ├── LICENSE
│               │   ├── autoload_classmap.php
│               │   ├── autoload_namespaces.php
│               │   ├── autoload_psr4.php
│               │   ├── autoload_real.php
│               │   ├── autoload_static.php
│               │   ├── installed.json
│               │   └── installed.php
│               └── wpmetabox/
│                   └── support/
│                       ├── Arr.php
│                       └── Data.php
└── wp-stateless-media.php

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/dependabot.yml
================================================
version: 2
updates:
  # Enable checks for the default vendor folder
  - package-ecosystem: "composer"
    directory: "/"
    schedule:
      interval: "weekly"

  # Enable checks for Google API Client package
  - package-ecosystem: "composer"
    directory: "/lib/Google"
    schedule:
      interval: "weekly"

  # Enable checks for GitHub Actions
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "weekly"


================================================
FILE: .github/workflows/publish-release.yml
================================================
name: Publish Release
run-name: Publish Release

on:
  workflow_dispatch:
    inputs:
      tag:
        description: 'Release tag (e.g. 1.2.3a)'
        required: true
      version:
        description: 'Release version (e.g. 1.2.3), default: latest'
        required: false
      prerelease:
        description: 'Pre-release version (e.g. RC1, beta, etc...)'
        required: false

permissions:
  contents: write

jobs:
  release:
    uses: udx/reusable-workflows/.github/workflows/wp-gh-release-ops.yml@master
    with:
      tag: ${{ github.event.inputs.tag }}
      version: ${{ github.event.inputs.version }}
      prerelease: ${{ github.event.inputs.prerelease }}


================================================
FILE: .github/workflows/security-scan.yml
================================================
name: Security Scan
run-name: Security Scan

on: 
  push:
  pull_request:
  workflow_dispatch:

jobs:
  code-scanning:
    name: Code Scanning (grype)
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v6

      - name: Run Security Check
        id: test
        uses: anchore/scan-action@v6
        with:
          path: .
          output-format: table




================================================
FILE: .gitignore
================================================
temp
.vscode**
node_modules
static/cache
static/codex
npm-debug.log
wp-test-config.php
/test
package-lock.json

.git
.svn
.idea
.idea/workspace.xml
.DS_Store
.dynamic
.Trashes
*.sublime-project
*.sublime-workspace

*.seed
*.log
*.csv
*.dat
*.out
*.pid
*.gz
wp-stateless.wiki


================================================
FILE: LICENSE
================================================
MIT License

Copyright (c) 2018 Usability Dynamics

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


================================================
FILE: SECURITY.md
================================================
# Security Policy Overview

Thank you for using and contributing to our product. At [UDX](https://udx.io), we take the security of our products seriously and appreciate collaborative efforts to ensure the safety of our users and contributors.

## Reporting a Security Vulnerability

**Please do not report security vulnerabilities through public GitHub issues.**

If you find a security vulnerability, please [submit a vulnerability report](https://github.com/udx/wp-stateless/security/advisories/new). Provide detailed information about the vulnerability to help us understand and address the issue promptly. We kindly request that you avoid public disclosure until we've had the opportunity to analyze and resolve the reported issue.

## Responsible Disclosure

Responsible disclosure is crucial to maintaining the security of our product. We ask for your cooperation in allowing us sufficient time to investigate and address the reported vulnerability before making it public. We will keep you informed of our progress and make every effort to address the issue promptly.

## Supported Versions

Security updates are provided for the latest stable release. Please ensure that you are using a supported version before reporting a security vulnerability.

## Contact Information

For security-related matters, please contact our security team at [security@udx.io](mailto:security@udx.io). For general inquiries, feature requests, and other non-security-related discussions, please use our regular [issue tracker](https://github.com/udx/wp-stateless/issues).

Thank you for helping us ensure the security of WP-Stateless. Your contributions are greatly appreciated.


================================================
FILE: changelog.txt
================================================
== Changelog ==
= 4.4.1 - 2026-01-16 =
* COMPATIBILITY - WooCommerce Extra Product Options Compatibility replaced with [WP-Stateless – WooCommerce Extra Product Options Addon](https://wordpress.org/plugins/wp-stateless-woocommerce-extra-product-options-addon/).
* FIX - resolve critical errors with `firebase/php-jwt` library if `AUTH_SALT` WordPress constant is not set or too short.

= 4.4.0 - 2026-01-10 =
* NEW - plugin requires PHP 8.1+.
* ENHANCEMENT - updated `firebase/php-jwt` library from  6.11.1 to 7.0.2.
* ENHANCEMENT - Updated Client library for Google APIs from 2.18.3 to 2.19.0.
* ENHANCEMENT - updated `wpmetabox/meta-box` library from 5.10.15 to 5.10.19.
* ENHANCEMENT - updated `Meta Box Tabs` library from 1.1.18 to 1.2.0.
* FIX - `udx/lib-wp-bootstrap` package correctly loads text domain to prevent PHP notices.

= 4.3.0 =
* ENHANCEMENT - update dependencies for Google APIs Client Library.
* COMPATIBILITY - Simple Local Avatars Compatibility replaced with [WP-Stateless - Simple Local Avatars Addon](https://wordpress.org/plugins/wp-stateless-simple-local-avatars-addon/).

= 4.2.1 =
* ENHANCEMENT - updated `wpmetabox/meta-box` library from 5.10.11 to 5.10.15.
* FIX - correctly loads text domain to prevent PHP notices.
* FIX - `udx/lib-ud-api-client` package correctly loads text domain to prevent PHP notices.

= 4.2.0 =
* ENHANCEMENT - Updated Client library for Google APIs from 2.18.2 to 2.18.3.
* ENHANCEMENT - updated `firebase/php-jwt` library from  6.10.2 to 6.11.1.
* ENHANCEMENT - updated `wpmetabox/meta-box` library from 5.10.1 to 5.10.11.
* DEPRECATED - Setup Assistant removed.

= 4.1.3 =
* COMPATIBILITY - PolyLang Compatibility replaced with [WP-Stateless – Polylang Pro Addon](https://wordpress.org/plugins/wp-stateless-polylang-pro-addon/).
* ENHANCEMENT - updated `wpmetabox/meta-box` library from from 5.10.1 to 5.10.7.
* ENHANCEMENT - updated `Meta Box Tabs` library from 1.1.18 to 1.2.0.
* ENHANCEMENT - updated `firebase/php-jwt` library from from 6.10.1 to 6.10.2.
* ENHANCEMENT - Updated Client library for Google APIs from 2.17.0 to 2.18.2.
* FIX - apply `Cache Control` setting to all files (previously applied only to images).

= 4.1.2 =
* ENHANCEMENT - added `REST API Endpoint` setting, which useful when WordPress dashboard and frontend website utilize different domain names.
* ENHANCEMENT - extended `Status Info` with the information to help diagnose REST API or AJAX issues.
* COMPATIBILITY - SiteOrigin Widgets Bundle Compatibility replaced with [WP-Stateless - SiteOrigin Widgets Bundle Addon](https://wordpress.org/plugins/wp-stateless-siteorigin-widgets-bundle-addon/).
* COMPATIBILITY - WPForms Compatibility replaced with [WP-Stateless - WPForms Addon](https://wordpress.org/plugins/wp-stateless-wpforms-addon/).
* COMPATIBILITY - Easy Digital Downloads Compatibility replaced with [WP-Stateless - Easy Digital Downloads Addon](https://wordpress.org/plugins/wp-stateless-easy-digital-downloads-addon/).
* COMPATIBILITY - LiteSpeed Cache Compatibility replaced with [WP-Stateless - LiteSpeed Cache Addon](https://wordpress.org/plugins/wp-stateless-litespeed-cache-addon/).
* COMPATIBILITY - BuddyPress Compatibility replaced with [WP-Stateless - BuddyPress Addon](https://wordpress.org/plugin/wp-stateless-buddypress-addon/).
* FIX: remove PHP warning on `Status` settings tab.
* FIX: database updates to resolve conflicts with Polylang Pro compatibility.

= 4.1.1 =
* FIX - cache issues during Data Optimization.

= 4.1.0 =
* NEW - move compatibilities files from `wp_sm_sync` to `wp_stateless_files` table with extended information.
* COMPATIBILITY - WooCommerce Compatibility replaced with [WP-Stateless – WooCommerce Addon](https://wordpress.org/plugins/wp-stateless-woocommerce-addon/).
* COMPATIBILITY - Gravity Forms Compatibility replaced with [WP-Stateless – Gravity Forms Addon](https://wordpress.org/plugins/wp-stateless-gravity-forms-addon/).
* COMPATIBILITY - Gravity Forms Signature Compatibility replaced with [WP-Stateless – Gravity Forms Signature Addon](https://wordpress.org/plugins/wp-stateless-gravity-forms-signature-addon/).
* COMPATIBILITY - Divi Theme Compatibility replaced with [WP-Stateless – Divi Theme Addon](https://wordpress.org/plugins/wp-stateless-divi-theme-addon/).
* COMPATIBILITY - SiteOrigin CSS Compatibility replaced with [WP-Stateless – SiteOrigin CSS Addon](https://wordpress.org/plugins/wp-stateless-siteorigin-css-addon/).
* ENHANCEMENT - CLI command `wp stateless migrate` supports `auto` parameter to run all required Data Optimizations automatically.
* ENHANCEMENT - Updated Client library for Google APIs from 2.15.1 to 2.17.0.
* ENHANCEMENT - updated `firebase/php-jwt` library from from 6.9.0 to 6.10.1.
* ENHANCEMENT - updated `wpmetabox/meta-box` library from from 5.8.2 to 5.10.1.
* ENHANCEMENT - updated `deliciousbrains/wp-background-processing` library from from 1.1.1 to 1.3.1.
* ENHANCEMENT - updated `composer/installers` library from from 1.12.1 to 2.3.0.
* ENHANCEMENT - updated `Meta Box Tabs` library from 1.1.17 to 1.1.18.
* ENHANCEMENT - action `sm:sync::addFile` format changed, now it passes media object instead of file name.
* ENHANCEMENT - for installed Addons replace Download action with Activate.
* ENHANCEMENT - count compatibility files from the DB instead of listing actual files to increase performance.
* FIX - CLI command `wp stateless migrate` supports `--yes` parameter to skip confirmation.
* FIX - CLI command `wp stateless migrate` correctly works with `--progress` parameter in multisite.
* FIX - fixed synchronization for Compatibility files in Stateless Mode.
* FIX - CLI command `wp stateless upgrade` fixed when running with `--b` switch.
* FIX - fixed SiteOrigin Widgets Bundle Compatibility in `Stateless` mode.
* FIX - fixed WPForms Compatibility in `Stateless` mode.
* FIX - limit index size for compatibility with different DB engines [757](https://github.com/udx/wp-stateless/issues/757).
* FIX - correctly disable `Cache-Busting` setting for Ephemeral Mode [758](https://github.com/udx/wp-stateless/issues/758), credits [@Jessedev1](https://github.com/Jessedev1).
* FIX - Data Optimization UI adjustments.

= 4.0.4 =
* ENHANCEMENT - display success message after copying Status Info.
* FIX - `Settings` page does not open or slow when there is big amount of attachments.
* FIX - in multisite network, removing custom tables properly when deleting site.
* FIX - skip setting ACL in Stateless mode and during Sync for the buckets with Uniform access, support WP_STATELESS_SKIP_ACL_SET constant [#712](https://github.com/udx/wp-stateless/issues/712).

= 4.0.3 =
* NEW - added `Info` section to the `Status` tab on the Settings page, which contains the system info and the ability to copy report to clipboard.  
* ENHANCEMENT - added `Documentation` link on the Plugins page.
* ENHANCEMENT - added `Addons` link on the Plugins page.
* ENHANCEMENT - added `Documentation` link on the Settings page.
* FIX - fixed `Settings` shortcut on the Plugins page.
* FIX - in multisite network, do not show Data Optimization on the Network Admin Page.
* FIX - properly set `Content Disposition` fields for media objects.
* FIX - properly use `Cache Control` setting for media objects.
* FIX - fixed `Creation of dynamic property` PHP deprecation notice.
* FIX - fixed `Cannot use ::class with dynamic class name` PHP warning.
* FIX - avoid PHP warning when unable to get file path in `Stateless` mode [728](https://github.com/udx/wp-stateless/issues/728).
* FIX - fixed links to the constants documentation.

= 4.0.2 =
* FIX - in multisite network, deleting site can potentially remove WP-Stateless tables from another site.
* COMPATIBILITY - Gravity Forms Compatibility updated for the newest Gravity Forms version.

= 4.0.1 =
* FIX - improvements to Data Optimization process.
* FIX - Data Optimization fixed for multisite environment.

= 4.0.0 =
* NEW - use custom database tables to store GCS file data. This increases plugin performance and will be used for future improvements.  
* NEW - added filter `wp_stateless_get_file`, retrieves the GCS file data, should be used instead of getting `sm_cloud` postmeta directly. 
* NEW - added filter `wp_stateless_get_file_sizes`, retrieves the GCS file data for image sizes, should be used instead of getting `sm_cloud` postmeta directly.
* NEW - added filter `wp_stateless_get_file_meta`, retrieves all GCS file meta data, should be used instead of getting `sm_cloud` postmeta directly.
* NEW - added filter `wp_stateless_get_file_meta_value`, retrieves the GCS file meta data by meta_key, should be used instead of getting `sm_cloud` postmeta directly.
* NEW - added filter `wp_stateless_get_setting_...` which allows to override any WP-Stateless setting. 
* NEW - added setting "Send Status Emails" allowing to change email for WP-Stateless notifications.
* NEW - added setting "Use Post Meta" allowing to switch back to using `postmeta` instead of custom DB tables. Can be used in case of issues after upgrading to 4.0.0.
* NEW - added new Settings tab `Addons`, which contains the list of WP-Stateless Addons, which replace Compatibilities.
* NEW - added new Settings tab `Status`, which contains status and health information related to Google Cloud Storage and WP-Stateless.
* NEW - CLI command `wp stateless migrate` to list and operate data optimizations.
* NEW - configuration constant [`WP_STATELESS_POSTMETA`](https://stateless.udx.io/docs/constants/#wp_stateless_postmeta) allows to read the GCS file data from postmeta instead of the new custom database tables.
* NEW - configuration constant [`WP_STATELESS_BATCH_HEALTHCHECK_INTERVAL`](https://stateless.udx.io/docs/constants/#wp_stateless_batch_healthcheck_interval) defines an interval in minutes for periodical health checks of a batch background process (like data optimization).
* COMPATIBILITY - BuddyBoss Compatibility replaced with [WP-Stateless – BuddyBoss Platform Addon](https://wordpress.org/plugins/wp-stateless-buddyboss-platform-addon/).
* COMPATIBILITY - Elementor Compatibility replaced with [WP-Stateless – Elementor Website Builder Addon](https://wordpress.org/plugins/wp-stateless-elementor-website-builder-addon/).
* COMPATIBILITY - Gravity Form Compatibility does not support older version of Gravity Forms (< 2.3).
* ENHANCEMENT - Allow dismissing notices in Admin Panel only for logged in users.
* ENHANCEMENT - Updated `wp-background-processing` library from from 1.0.2 to 1.1.1.
* ENHANCEMENT - Updated `phpseclib` 3.0.34 to 3.0.37.
* FIX - proper use of infinite timeout in `set_time_limit` function to avoid issues with PHP 8.1 and above [#704](https://github.com/udx/wp-stateless/issues/704).

= 3.4.1 =
* FIX - improve security while processing AJAX requests in Admin Panel

= 3.4.0 =
* ENHANCEMENT - removed `udx/lib-settings` package dependency for security reasons. 
* ENHANCEMENT - removed `udx/lib-utility` package dependency for security reasons.
* ENHANCEMENT - refactored `Settings` admin page to remove Angular dependency.
* ENHANCEMENT - including Software Bill of Materials (SBOM) to GitHub release.
* FIX - updated package dependencies for Google Client Library for security reasons.
* FIX - replaced `utf8_encode` with `mb_convert_encoding` to support PHP 8.2 and above [#678](https://github.com/udx/wp-stateless/issues/678).
* FIX - Fatal Error in `Stateless` mode if GCP access credentials are wrong [#693](https://github.com/udx/wp-stateless/issues/693).
* COMPATIBILITY - preventing PHP warnings while working with WooCommerce version 8.4.0 and above [696](https://github.com/udx/wp-stateless/issues/696).
* COMPATIBILITY - avoiding conflicts between builtin compatibilities and WP-Stateless Addon plugins.

= 3.3.0 =
* NEW - Added new filter `wp_stateless_attachment_url`. Allows to customize attachment URL after WP-Stateless generates it based on it's internal conditions.
* FIX - Stateless mode Incompatible with Media Uploader in Media Library Grid mode [#675](https://github.com/udx/wp-stateless/issues/675).
* FIX - Prevent duplicating messages in Admin Panel.
* COMPATIBILITY - Dynamic Image Support is now part of the core.
* COMPATIBILITY - Google App Engine is now part of the core. Automatically enables **Stateless** mode when Google App Engine detected. Can be disabled using `WP_STATELESS_COMPATIBILITY_GAE` constant.
* COMPATIBILITY - Removed compatibility with "Advanced Custom Fields: Image Crop Add-on", because plugin is deprecated.
* COMPATIBILITY - Removed compatibility with "VidoRev" plugin.
* COMPATIBILITY - Removed compatibility with "WP Retina 2x" plugin.
* ENHANCEMENT - Updated Client library for Google APIs from 2.15.0 to 2.15.1.
* ENHANCEMENT - Updated Meta Box library from 5.6.3 to 5.8.2.
* ENHANCEMENT - Updated Meta Box Tabs to version 1.1.17.
* ENHANCEMENT - Updated PHP JWT library from 6.6.0 to 6.9.0.

= 3.2.5 =
* FIX - Folder setting does not allow custom structure [#608](https://github.com/udx/wp-stateless/issues/608).
* FIX - Stateless mode Incompatible with Inline Uploader [#675](https://github.com/udx/wp-stateless/issues/675).
* FIX - html tags incorrectly applied in notice [#680](https://github.com/udx/wp-stateless/issues/680).
* ENHANCEMENT - Add WP_STATELESS_SKIP_ACL_SET for skip ACL set for GCS [#625](https://github.com/udx/wp-stateless/issues/625).
* COMPATIBILITY - Add support for The Events Calendar [#599](https://github.com/udx/wp-stateless/issues/599).

= 3.2.4 =
* FIX - Website unresponsive after Upgrade [#669](https://github.com/udx/wp-stateless/issues/669).

= 3.2.3 =
* ENHANCEMENT - Updated Client library for Google APIs.
* ENHANCEMENT - Updated Monolog library to version 3.
* ENHANCEMENT - Updated JWT library.
* FIX - Fixed vulnerability issues.
* FIX - Fixed an errors and warnings on PHP 8.1.
* FIX - Fixed an error that occured when WP_STATELESS_MEDIA_UPLOAD_CHUNK_SIZE is set.

= 3.2.2 =
* FIX -  Folder setting can't be saved from the settings page [#639](https://github.com/udx/wp-stateless/issues/639).

= 3.2.1 =
* FIX - Updated requirments.
* FIX - WP-Stateless 3.2.0 doesn’t upload docs, only images [#638](https://github.com/udx/wp-stateless/issues/638).

= 3.2.0 =
* ENHANCEMENT - Upgraded `wpmetabox` library.
* ENHANCEMENT - Updated Client library for Google APIs.
* ENHANCEMENT - Updated Guzzle library to version 7.
* ENHANCEMENT - Updated JWT library.
* ENHANCEMENT - Updated `license` functionality, removed `update checker`.
* FIX - Fixed vulnerability issues.
* FIX - Fixed erros and warnings on PHP 8.
* FIX - problem after the upgrade [#628](https://github.com/udx/wp-stateless/issues/628).
* FIX - image_downsize() PHP8 Required parameter $id follows optional parameter $false [#619](https://github.com/udx/wp-stateless/issues/619).

= 3.1.1 =
* ENHANCEMENT - Notification for the administrator about finished synchronization. GitHub issue [#576](https://github.com/udx/wp-stateless/issues/576).
* FIX - Fixed an issue with PDF thumbnails. GitHub issue [#577](https://github.com/udx/wp-stateless/issues/577).
* FIX - Fixed an issue with synchronization in `Stateless` mode. GitHub issue [#575](https://github.com/udx/wp-stateless/issues/575).
* COMPATIBILITY - Changed the way compatibility files are stored on Multisite. GitHub issue [#588](https://github.com/udx/wp-stateless/issues/588).

= 3.1.0 =
* NEW - Completely rewritten the synchronization tool. GitHub issue [#523](https://github.com/udx/wp-stateless/issues/523).
* NEW - New configuration constant `WP_STATELESS_SYNC_MAX_BATCH_SIZE`. Sets the maximum size of a background sync batch of items to be saved in a single row in the database. [More details](https://stateless.udx.io/docs/constants/#wp_stateless_sync_max_batch_size).
* NEW - New configuration constant `WP_STATELESS_SYNC_LOG`. Sets a path to a log file where to output logging information during the background sync. [More details](https://stateless.udx.io/docs/constants/#wp_stateless_sync_log).
* NEW - New configuration constant `WP_STATELESS_SYNC_HEALTHCHECK_INTERVAL`. Defines an interval in minutes for a cron task that periodically checks the health of a particular background sync process. [More details](https://stateless.udx.io/docs/constants/#wp_stateless_sync_healthcheck_interval).
* FIX - Fixed an issue when original files were not deleted from the server in the Ephemeral mode. GitHub issue [#484](https://github.com/udx/wp-stateless/issues/484).
* FIX - Fixed an incorrect behavior of image `srcset` attribute in the Backup mode. GitHub issue [#558](https://github.com/udx/wp-stateless/issues/558).
* COMPATIBILITY - Litespeed Cache - Fixed an incorrect upload folder determination. GitHub issue [#527](https://github.com/udx/wp-stateless/issues/527).

= 3.0.4 =
* FIX - Fixed inability to use dashes in the upload folder name. GitHub issue [#565](https://github.com/udx/wp-stateless/issues/565).
* COMPATIBILITY - Elementor - Fixed wrong upload directory. GitHub issue [#560](https://github.com/udx/wp-stateless/issues/560).

= 3.0.3 =
* FIX - Fixed an incorrect file URL in Stateless mode on Edit Media screen. GitHub issue [#544](https://github.com/udx/wp-stateless/issues/544).

= 3.0.2 =
* FIX - Refactored the way files are being uploaded to GCS when `WP_STATELESS_MEDIA_UPLOAD_CHUNK_SIZE` constant is defined. GitHub issue [#553](https://github.com/udx/wp-stateless/issues/553).
* FIX - Fixed the process of upgrading to 3.0 for multisite installations. GitHub issue [#549](https://github.com/udx/wp-stateless/issues/549).

= 3.0.1 =
* FIX - Fatal Error in Stateless mode. GitHub issue [#546](https://github.com/udx/wp-stateless/issues/546).

= 3.0 =
* NEW - Setup assistant rewrite. GitHub issue [#477](https://github.com/udx/wp-stateless/issues/477).
* NEW - Recreate attachment metabox panel using metabox.io. GitHub issue [#470](https://github.com/udx/wp-stateless/issues/470).
* NEW - Updated the `Stateless` mode to not use local storage at all. Current `Stateless` mode setting mapped to new `Ephemeral` mode. GitHub issue [#482](https://github.com/udx/wp-stateless/issues/482).
* NEW - Files are now uploaded to GCS in chunks and chunk size will be determined based on free memory available. GitHub issue [#478](https://github.com/udx/wp-stateless/issues/478).
* NEW - File upload chunk size can be controlled with `WP_STATELESS_MEDIA_UPLOAD_CHUNK_SIZE` constant.  GitHub issue [#478](https://github.com/udx/wp-stateless/issues/478).
* FIX - Changed the default value for the Cache-Busting setting. GitHub issue [#361](https://github.com/udx/wp-stateless/issues/361).
* FIX - Fixed network override of Cache-Busting. GitHub issue [#468](https://github.com/udx/wp-stateless/issues/468).
* FIX - Fixed "Passing glue string after array is deprecated.". GitHub issue [#444](https://github.com/udx/wp-stateless/issues/444).
* FIX - Fixed Compatibility default value in multisite. GitHub issue [#464](https://github.com/udx/wp-stateless/issues/464).
* FIX - Fixed multisite wrong GCS path. GitHub issue [#407](https://github.com/udx/wp-stateless/issues/407).
* FIX - Don't check for Google Cloud Storage connectivity in stateless mode unless uploading. GitHub issue [#442](https://github.com/udx/wp-stateless/issues/442).
* COMPATIBILITY - Google App Engine - Added new compatibility support for Google App Engine. [#486](https://github.com/udx/wp-stateless/issues/486)
* COMPATIBILITY - Elementor - Fixed wrong MIME type for CSS files. GitHub issue [#395](https://github.com/udx/wp-stateless/issues/395).
* COMPATIBILITY - Polylang - Fixed missing metadata issue. GitHub issue [#378](https://github.com/udx/wp-stateless/issues/378).
* COMPATIBILITY - EWWW - Fixed mime type for WEBP images. GitHub issue [#371](https://github.com/udx/wp-stateless/issues/371).
* COMPATIBILITY - Simple Local Avatars - Added new compatibility support for Simple Local Avatars. GitHub issue [#297](https://github.com/udx/wp-stateless/issues/297).
* COMPATIBILITY - BuddyPress - Fixed BuddyPress compatibility. GitHub issue [#275](https://github.com/udx/wp-stateless/issues/275).
* COMPATIBILITY - Divi - Fixed Divi cache issue. GitHub issue [#430](https://github.com/udx/wp-stateless/issues/430).
* COMPATIBILITY - Gravity Forms - add compatibility for Gravity Forms Signature Add-On. [#501](https://github.com/udx/wp-stateless/issues/501).
* COMPATIBILITY - Litespeed - Fixed fatal error and warnings. [#491](https://github.com/udx/wp-stateless/issues/491).
* COMPATIBILITY - Imagify - Added support for webp. [#403](https://github.com/udx/wp-stateless/issues/403).
* ENHANCEMENT - Update Client library for Google APIs. [#446](https://github.com/udx/wp-stateless/issues/446).
* ENHANCEMENT - Wildcards for bucket folder settings. GitHub issue [#149](https://github.com/udx/wp-stateless/issues/149).
* ENHANCEMENT - Better CLI integration. GitHub issue [#447](https://github.com/udx/wp-stateless/issues/447), [#450](https://github.com/udx/wp-stateless/issues/450) and [#451](https://github.com/udx/wp-stateless/issues/451).
* ENHANCEMENT - Sync media according to new Bucket Folder settings. GitHub issue [#449](https://github.com/udx/wp-stateless/issues/449).
* ENHANCEMENT - Moved Bucket Folder setting in the File URL section. GitHub issue [#463](https://github.com/udx/wp-stateless/issues/463).
* ENHANCEMENT - Hide Regenerate and Sync with GCS when the mode is Disabled. GitHub issue [#440](https://github.com/udx/wp-stateless/issues/440).
* ENHANCEMENT - New endpoint for the Google Cloud Storage JSON API. GitHub issue [#384](https://github.com/udx/wp-stateless/issues/384).
* ENHANCEMENT - Renamed current `Stateless` mode to `Ephemeral`. GitHub issue [#481](https://github.com/udx/wp-stateless/issues/481).

= 2.3.2 =
* FIX - Fixed video file doesn't get deleted from the server in `Stateless` mode. GitHub issue [#418](https://github.com/wpCloud/wp-stateless/issues/418).
* FIX - Fixed file size doesn't show under attachment details in `Stateless` mode. GitHub issue [#413](https://github.com/wpCloud/wp-stateless/issues/413).
* FIX - Fixed Cache-Busting feature works even if the Mode is `Disabled`. GitHub issue [#405](https://github.com/wpCloud/wp-stateless/issues/405).
* COMPATIBILITY - Fixed Gravity Form Post Image didn't include `Bucket Folder`. GitHub issue [#421](https://github.com/wpCloud/wp-stateless/issues/421).
* COMPATIBILITY - Fixed Divi Builder Export. GitHub issue [#420](https://github.com/wpCloud/wp-stateless/issues/420).
* COMPATIBILITY - Fixed BuddyBoss pages breaking after updating to 2.3.0. GitHub issue [#417](https://github.com/wpCloud/wp-stateless/issues/417).

= 2.3.1 =
* Fix - Fixed fatal error, undefined function `is_wp_version_compatible`. GitHub issue [#414](https://github.com/wpCloud/wp-stateless/issues/414).

= 2.3.0 =
* FIX - Fixed problem with WordPress 5.3. GitHub issue [#406](https://github.com/wpCloud/wp-stateless/issues/406).
* FIX - Fixed problem with the Cache Busting feature. GitHub issue [#377](https://github.com/wpCloud/wp-stateless/issues/377).
* COMPATIBILITY - Added compatibility support for WP Retina 2x pro. GitHub issue [#380](https://github.com/wpCloud/wp-stateless/issues/380).
* COMPATIBILITY - Enhanced compatibility support for LiteSpeed Cache. GitHub issue [#365](https://github.com/wpCloud/wp-stateless/issues/365).
* COMPATIBILITY - Enhanced compatibility support for ShortPixel Image Optimizer. GitHub issue [#364](https://github.com/wpCloud/wp-stateless/issues/364), [#398](https://github.com/wpCloud/wp-stateless/issues/398).
* COMPATIBILITY - Fixed Gravity Form export. GitHub issue [#408](https://github.com/wpCloud/wp-stateless/issues/408).
* ENHANCEMENT - Improved upon add_media function for better compatibility support. GitHub issue [#382](https://github.com/wpCloud/wp-stateless/issues/382).


= 2.2.7 =
* FIX - WP-Smush compatibility enhanced. GitHub Issue [#366](https://github.com/wpCloud/wp-stateless/issues/366).
* FIX - Fixed multisite installation support. GitHub Issue [#370](https://github.com/wpCloud/wp-stateless/issues/370).
* FIX - Fixed settings UI problems related to Cache-Busting option. GitHub Issue [#373](https://github.com/wpCloud/wp-stateless/issues/373).
* FIX - Other minor fixes.

= 2.2.6 =
* FIX - Multisite Network Settings page fixed. GitHub Issue [#369](https://github.com/wpCloud/wp-stateless/issues/369).
* FIX - Fixed incorrect Compatibilities behavior when Bucket Folder is set. GitHub Issue [#368](https://github.com/wpCloud/wp-stateless/issues/368).
* FIX - Other minor fixes.

= 2.2.5 =
* NEW - Added ability to start sync process from specific Attachment ID. GitHub Issue [#360](https://github.com/wpCloud/wp-stateless/issues/360).
* COMPATIBILITY - Added compatibility support for LiteSpeed Cache plugin. Especially to support optimized .webp images. GitHub Issue [#357](https://github.com/wpCloud/wp-stateless/issues/357).
* FIX - Other minor fixes.

= 2.2.4 =
* NEW - Added new filter `wp_stateless_skip_add_media`. Allows skipping synchronization of the media object with GCS depending on custom condition. GitHub Issue [#344](https://github.com/wpCloud/wp-stateless/issues/344).
* FIX - Compatibility Manager is considering Child Themes now. GitHub Issue [#351](https://github.com/wpCloud/wp-stateless/issues/351).
* FIX - Custom domains handling has been fixed. GitHub Issue [#358](https://github.com/wpCloud/wp-stateless/issues/358).
* ENHANCEMENT - Imagify Image Optimizer and WP Smush compatibilities improved. GitHub Issue [#359](https://github.com/wpCloud/wp-stateless/issues/359).

= 2.2.3 =
* FIX - get_post_metadata does not break multi-dimensional arrays anymore. GitHub Issue [#352](https://github.com/wpCloud/wp-stateless/issues/352).
* FIX - PHP Warning: substr_compare() fixed. GitHub Issue [#350](https://github.com/wpCloud/wp-stateless/issues/350).
* FIX - Filtering Domain setting before saving in order to get rid of possible empty spaces. GitHub Issue [#348](https://github.com/wpCloud/wp-stateless/issues/348).
* FIX - Incorrect remote file path generated when disabled Organization setting. GitHub Issue [#343](https://github.com/wpCloud/wp-stateless/issues/343).
* FIX - Hiding admin notices correctly. GitHub Pull Request [#355](https://github.com/wpCloud/wp-stateless/pull/355).

= 2.2.2 =
* FIX - Proper 'srcset' attribute handling. GitHub Issue [#342](https://github.com/wpCloud/wp-stateless/issues/342).
* ENHANCEMENT - Minor fixes code quality.

= 2.2.1 =
* Fix - Security patch for Authenticated Remote Code Execution (RCE) vulnerability.

= 2.2.0 =
* FIX - Slow page generation when File URL Replacement is enabled. https://github.com/wpCloud/wp-stateless/issues/265
* FIX - Fatal error when WP Smush Pro compatibility is enabled. https://github.com/wpCloud/wp-stateless/issues/325
* FIX - Issue with Imagify. https://github.com/wpCloud/wp-stateless/issues/326
* FIX - Return correct srcset images. https://github.com/wpCloud/wp-stateless/issues/328
* FIX - Fatal error with GFForms. https://github.com/wpCloud/wp-stateless/issues/330
* FIX - Typo in admin notices. https://github.com/wpCloud/wp-stateless/issues/337
* ENHANCEMENT - Extended “File URL Replacement” options. https://github.com/wpCloud/wp-stateless/issues/336
* ENHANCEMENT - Service Account JSON is now hidden if set via constant. https://github.com/wpCloud/wp-stateless/issues/320
* ENHANCEMENT - New database table for tracking files not tracked in media library. https://github.com/wpCloud/wp-stateless/issues/307
* ENHANCEMENT - Updated depreciated function flagged by security software. https://github.com/wpCloud/wp-stateless/issues/300

= 2.1.9 =
* FIX - Resolved fatal error with OneCodeShop RML Amazon S3 plugin. GitHub Issue [#317](https://github.com/wpCloud/wp-stateless/issues/317).
* FIX - Resolved missing bucket in file URL when “storage.googleapis.com” was supplied in Domain field. GitHub Issue [318](https://github.com/wpCloud/wp-stateless/issues/318).
* ENHANCEMENT - Support synchronization of files without metadata, such as .doc and .docx files. GitHub Issue [316](https://github.com/wpCloud/wp-stateless/issues/316).

= 2.1.8 =
* FIX - Woocommerce product export.
* FIX - Allow webmaster to control http or https.
* FIX - PDF preview sync.
* ENHANCEMENT - Improved error message when there is nothing to sync.
* ENHANCEMENT - Renamed constant WP_STATELESS_MEDIA_HASH_FILENAME to WP_STATELESS_MEDIA_CACHE_BUSTING.
* ENHANCEMENT - Domain field functionality now allows webmaster to control http or https
* ENHANCEMENT - Message about Stateless mode now requires the Cache-Busting option now see only those who using Stateless mode.
* ENHANCEMENT - Upload full size image before generating thumbnails.
* COMPATIBILITY - Added support for Learndash plugin.
* COMPATIBILITY - Added support for BuddyPress plugin.
* COMPATIBILITY - Added support for Divi builder export.
* COMPATIBILITY - Added support for Elementor plugin.

= 2.1.7 =
* ENHANCEMENT - Display dashboard-wide notice for existing users explaining stateless mode now enables cache-busting option.
* ENHANCEMENT - Display notice when selecting stateless mode explaining stateless mode now enables cache-busting option.
* ENHANCEMENT - Display required message on cache-busting setting description when stateless mode is enabled.

= 2.1.6 =
* FIX - Resolved Google SDK conflict.
* FIX - ICompatibility.php errors notice.
* FIX - Undefined index: gs_link in class-bootstrap.php.
* FIX - Media files with accent characters would not upload correctly to the bucket.
* ENHANCEMENT - Force `Cache-Busting` when using `Stateless` mode.
* ENHANCEMENT - New admin notice design.
* ENHANCEMENT - Improved and clear error message.
* ENHANCEMENT - Renamed constant `WP_STATELESS_MEDIA_ON_FLY` to `WP_STATELESS_DYNAMIC_IMAGE_SUPPORT`.
* ENHANCEMENT - Update Google Libraries.
* ENHANCEMENT - Renamed constant `WP_STATELESS_MEDIA_HASH_FILENAME` to `WP_STATELESS_MEDIA_CACHE_BUSTING`.
* COMPATIBILITY - Renamed constant `WP_STATELESS_COMPATIBILITY_WPSmush` to `WP_STATELESS_COMPATIBILITY_WPSMUSH`.
* COMPATIBILITY - Added support for `WooCommerce Extra Product Options`.
* COMPATIBILITY - Added support for `WPForms Pro`.
* COMPATIBILITY - Improved `ShortPixel` compatibility.
* COMPATIBILITY - Fixed `ACF Image Crop` compatibility.

= 2.1.5 =
* FIX - Fatal error with PHP 5.4.45 on activation.
* FIX - E_WARNING: Illegal string offset ‘gs_bucket’.
* FIX - Resolved ‘save_network_settings’ message when saving network settings.
* COMPATIBILITY - Added support for WP Forms plugin
* COMPATIBILITY - Added support for WP Smush plugin
* COMPATIBILITY - Added support for ShortPixel Image Optimizer plugin.
* COMPATIBILITY - Added support for Imagify Image Optimizer plugin.
* COMPATIBILITY - Added support for SiteOrigin CSS plugin.
* COMPATIBILITY - Added support for Gravity Forms plugin.
* COMPATIBILITY - Added support for WPBakery Page Builder plugin.
* COMPATIBILITY - Added wp-config constant support for compatibility options.

= 2.1.4 =
* ENHANCEMENT - Updated Google OAuth URL for Setup Assistant.

= 2.1.3 =
* ENHANCEMENT - Updates to text explainers in Setup Assistant.
* ENHANCEMENT - Refined redirection logic when activating plugin.
* FIX - Removed extra space in converted URLs.

= 2.1.2 =
* ENHANCEMENT - Improved support for Easy Digital Downloads.
* ENHANCEMENT - Added constant WP_STATELESS_CONSOLE_LOG check before logging to console.
* ENHANCEMENT - Changed service account default permissions on creation.
* COMPATIBILITY - Added support for SiteOrigin generated CSS files.
* ENHANCEMENT - Moved Dynamic Image Support to Capability tab.
* COMPATIBILITY - Added support for ACF Image Crop addon.
* FIX - Fixed compatibility issue with wp-smush plugin.
* FIX - Added required blog param for multi-sites.
* FIX - Updated media library and mediaItem API endpoints.
* COMPATIBILITY - Added support for EDD download method option.

= 2.1.1 =
* FIX - Fixed double slash when Organization is disabled.
* FIX - Fatal error with GuzzleHttp.
* FIX - Fixed content-type assignment.
* ENHANCEMENT - Added support for https URLs in Domain field.
* COMPATIBILITY - Advanced Custom Fields Image Crop Addon.

= 2.1.0 =
* FIX - Fixed read only for Service Account JSON if constant or environment variable is defined.
* FIX - Override default cache control.
* FIX - Fixed custom domain bucket support with setup assistant.
* FIX - Improved support for wp_calculate_image_srcset.
* FIX - Synchronizing non-image files will now delete the local copy.
* NEW - Support for GOOGLE_APPLICATION_CREDENTIALS environment variable.
* NEW - Added bucket region option to setup assistant.
* NEW - Added custom file type support for File URL Replacement setting.
* NEW - Added failover to image url when not found on disk for sync tool.
* ENHANCEMENT - updated service account role to Storage Object Admin.

= 2.0.3 =
* FIX - Fixed Fatal Error which was occurring on WordPress Multisite after upgrading plugin from 1.x to 2.x.
* ENHANCEMENT - Improved support of PDF files.

= 2.0.2 =
* FIX - Fixed Fatal Error which were caused by using PHP 5.4 and less.
* FIX - Fixed Fatal Error which was caused on Media page when WP Smush Pro plugin is activated.
* FIX - Fixed detection of plugin files paths. The issue was occurring on installations with custom file structures ( e.g. Bedrock platform ).
* FIX - Fixed redirection URL to Setup Wizard on plugin activation.
* ENHANCEMENT - Updated the minimum requirements for PHP to 5.5 to prevent fatal errors and possible warnings.

= 2.0.1 =
* ENHANCEMENT - Added compatibility with Google SDK v1.x version to prevent conflicts with third-party plugins.
* ENHANCEMENT - Added warning message if old Google SDK version is loaded by third-party plugin.

= 2.0.0 =
* NEW - Added stateless mode.
* NEW - Dedicated settings panel.
* NEW - Setup assistant for initial plugin activation.
* NEW - Support for replacing default GCS domain with custom domain.
* ENHANCEMENT - Expanded network setting overrides.
* ENHANCEMENT - Expanded wp-config constants.
* ENHANCEMENT - Relocated synchronization and regeneration tools to new settings panel.

= 1.9.2 =
* ENHANCEMENT - Added ability to modify default bucket link via 'wp_stateless_bucket_link' filter.
* ENHANCEMENT - Added checking of connection to GCS once per four hours instead of doing it on every page load.
* ENHANCEMENT - Google SDK was moved from vendor dir. So it's not loaded on every page load anymore, but only when it's required.
* ENHANCEMENT - Updated Composer Autoload logic.
* ENHANCEMENT - Reverted all changes included to 1.9.1 version because of conflicts.

= 1.9.0 =
* NEW - Added new ability to define cacheControl for remote objects.
* NEW - Added new option that adds random hashes to file names.

= 1.8.0 =
* FIX - Fixed the issue on multisite setup (switch_to_blog now works as expected).
* FIX - Performance fixes.
* NEW - Added the ability to regenerate and synchronize separate Media file from the list.
* NEW - Added the ability to regenerate and synchronize Media file from edit screen.
* ENHANCEMENT - UI cleanup.

= 1.7.3 =
* Initial public release.


================================================
FILE: changes.md
================================================
#### 4.4.1 - 2026-01-16
* COMPATIBILITY - WooCommerce Extra Product Options Compatibility replaced with [WP-Stateless – WooCommerce Extra Product Options Addon](https://wordpress.org/plugins/wp-stateless-woocommerce-extra-product-options-addon/).
* FIX - resolve critical errors with `firebase/php-jwt` library if `AUTH_SALT` WordPress constant is not set or too short.

#### 4.4.0 - 2026-01-10
* NEW - plugin requires PHP 8.1+.
* ENHANCEMENT - updated `firebase/php-jwt` library from  6.11.1 to 7.0.2.
* ENHANCEMENT - Updated Client library for Google APIs from 2.18.3 to 2.19.0.
* ENHANCEMENT - updated `wpmetabox/meta-box` library from 5.10.15 to 5.10.19.
* ENHANCEMENT - updated `Meta Box Tabs` library from 1.1.18 to 1.2.0.
* FIX - `udx/lib-wp-bootstrap` package correctly loads text domain to prevent PHP notices.

#### 4.3.0
* ENHANCEMENT - update dependencies for Google APIs Client Library.
* COMPATIBILITY - Simple Local Avatars Compatibility replaced with [WP-Stateless - Simple Local Avatars Addon](https://wordpress.org/plugins/wp-stateless-simple-local-avatars-addon/).

#### 4.2.1
* ENHANCEMENT - updated `wpmetabox/meta-box` library from 5.10.11 to 5.10.15.
* FIX - correctly loads text domain to prevent PHP notices.
* FIX - `udx/lib-ud-api-client` package correctly loads text domain to prevent PHP notices.

#### 4.2.0
* ENHANCEMENT - Updated Client library for Google APIs from 2.18.2 to 2.18.3.
* ENHANCEMENT - updated `firebase/php-jwt` library from  6.10.2 to 6.11.1.
* ENHANCEMENT - updated `wpmetabox/meta-box` library from 5.10.1 to 5.10.11.
* DEPRECATED - Setup Assistant removed.

#### 4.1.3
* COMPATIBILITY - PolyLang Compatibility replaced with [WP-Stateless – Polylang Pro Addon](https://wordpress.org/plugins/wp-stateless-polylang-pro-addon/).
* ENHANCEMENT - updated `wpmetabox/meta-box` library from from 5.10.1 to 5.10.7.
* ENHANCEMENT - updated `Meta Box Tabs` library from 1.1.18 to 1.2.0.
* ENHANCEMENT - updated `firebase/php-jwt` library from from 6.10.1 to 6.10.2.
* ENHANCEMENT - Updated Client library for Google APIs from 2.17.0 to 2.18.2.
* FIX - apply `Cache Control` setting to all files (previously applied only to images).

#### 4.1.2
* ENHANCEMENT - added `REST API Endpoint` setting, which useful when WordPress dashboard and frontend website utilize different domain names.
* ENHANCEMENT - extended `Status Info` with the information to help diagnose REST API or AJAX issues.
* COMPATIBILITY - SiteOrigin Widgets Bundle Compatibility replaced with [WP-Stateless - SiteOrigin Widgets Bundle Addon](https://wordpress.org/plugins/wp-stateless-siteorigin-widgets-bundle-addon/).
* COMPATIBILITY - WPForms Compatibility replaced with [WP-Stateless - WPForms Addon](https://wordpress.org/plugins/wp-stateless-wpforms-addon/).
* COMPATIBILITY - Easy Digital Downloads Compatibility replaced with [WP-Stateless - Easy Digital Downloads Addon](https://wordpress.org/plugins/wp-stateless-easy-digital-downloads-addon/).
* COMPATIBILITY - LiteSpeed Cache Compatibility replaced with [WP-Stateless - LiteSpeed Cache Addon](https://wordpress.org/plugins/wp-stateless-litespeed-cache-addon/).
* COMPATIBILITY - BuddyPress Compatibility replaced with [WP-Stateless - BuddyPress Addon](https://wordpress.org/plugin/wp-stateless-buddypress-addon/).
* FIX: PHP warning on `Status` settings tab.
* FIX: database updates to resolve conflicts with Polylang Pro compatibility.

#### 4.1.1
* FIX - cache issues during Data Optimization.

#### 4.1.0
* NEW - move compatibilities files from `wp_sm_sync` to `wp_stateless_files` table with extended information.
* COMPATIBILITY - WooCommerce Compatibility replaced with [WP-Stateless – WooCommerce Addon](https://wordpress.org/plugins/wp-stateless-woocommerce-addon/).
* COMPATIBILITY - Gravity Forms Compatibility replaced with [WP-Stateless – Gravity Forms Addon](https://wordpress.org/plugins/wp-stateless-gravity-forms-addon/).
* COMPATIBILITY - Gravity Forms Signature Compatibility replaced with [WP-Stateless – Gravity Forms Signature Addon](https://wordpress.org/plugins/wp-stateless-gravity-forms-signature-addon/).
* COMPATIBILITY - Divi Theme Compatibility replaced with [WP-Stateless – Divi Theme Addon](https://wordpress.org/plugins/wp-stateless-divi-theme-addon/).
* COMPATIBILITY - SiteOrigin CSS Compatibility replaced with [WP-Stateless – SiteOrigin CSS Addon](https://wordpress.org/plugins/wp-stateless-siteorigin-css-addon/).
* ENHANCEMENT - CLI command `wp stateless migrate` supports `auto` parameter to run all required Data Optimizations automatically.
* ENHANCEMENT - Updated Client library for Google APIs from 2.15.1 to 2.17.0.
* ENHANCEMENT - updated `firebase/php-jwt` library from from 6.9.0 to 6.10.1.
* ENHANCEMENT - updated `wpmetabox/meta-box` library from from 5.8.2 to 5.10.1.
* ENHANCEMENT - updated `deliciousbrains/wp-background-processing` library from from 1.1.1 to 1.3.1.
* ENHANCEMENT - updated `composer/installers` library from from 1.12.1 to 2.3.0.
* ENHANCEMENT - updated `Meta Box Tabs` library from 1.1.17 to 1.1.18.
* ENHANCEMENT - action `sm:sync::addFile` format changed, now it passes media object instead of file name.
* ENHANCEMENT - for installed Addons replace Download action with Activate.
* ENHANCEMENT - count compatibility files from the DB instead of listing actual files to increase performance.
* FIX - CLI command `wp stateless migrate` supports `--yes` parameter to skip confirmation.
* FIX - CLI command `wp stateless migrate` correctly works with `--progress` parameter in multisite.
* FIX - fixed synchronization for Compatibility files in Stateless Mode.
* FIX - CLI command `wp stateless upgrade` fixed when running with `--b` switch.
* FIX - fixed SiteOrigin Widgets Bundle Compatibility in `Stateless` mode.
* FIX - fixed WPForms Compatibility in `Stateless` mode.
* FIX - limit index size for compatibility with different DB engines [757](https://github.com/udx/wp-stateless/issues/757).
* FIX - correctly disable `Cache-Busting` setting for Ephemeral Mode [758](https://github.com/udx/wp-stateless/issues/758), credits [@Jessedev1](https://github.com/Jessedev1).
* FIX - Data Optimization UI adjustments.

#### 4.0.4
* ENHANCEMENT - display success message after copying Status Info.
* FIX - `Settings` page does not open or slow when there is big amount of attachments.
* FIX - in multisite network, removing custom tables properly when deleting site.
* FIX - skip setting ACL in Stateless mode and during Sync for the buckets with Uniform access, support WP_STATELESS_SKIP_ACL_SET constant [#712](https://github.com/udx/wp-stateless/issues/712).

#### 4.0.3
* NEW - added `Info` section to the `Status` tab on the Settings page, which contains the system info and the ability to copy report to clipboard.  
* ENHANCEMENT - added `Documentation` link on the Plugins page.
* ENHANCEMENT - added `Addons` link on the Plugins page.
* ENHANCEMENT - added `Documentation` link on the Settings page.
* FIX - fixed `Settings` shortcut on the Plugins page.
* FIX - in multisite network, do not show Data Optimization on the Network Admin Page.
* FIX - properly set `Content Disposition` fields for media objects.
* FIX - properly use `Cache Control` setting for media objects.
* FIX - fixed `Creation of dynamic property` PHP deprecation notice.
* FIX - fixed `Cannot use ::class with dynamic class name` PHP warning.
* FIX - avoid PHP warning when unable to get file path in `Stateless` mode [728](https://github.com/udx/wp-stateless/issues/728).
* FIX - fixed links to the constants documentation.

#### 4.0.2
* FIX - in multisite network, deleting site can potentially remove WP-Stateless tables from another site.
* COMPATIBILITY - Gravity Forms Compatibility updated for the newest Gravity Forms version.

#### 4.0.1
* FIX - improvements to Data Optimization process.
* FIX - Data Optimization fixed for multisite environment.

#### 4.0.0
* NEW - use custom database tables to store GCS file data. This increases plugin performance and will be used for future improvements.  
* NEW - added filter `wp_stateless_get_file`, retrieves the GCS file data, should be used instead of getting `sm_cloud` postmeta directly. 
* NEW - added filter `wp_stateless_get_file_sizes`, retrieves the GCS file data for image sizes, should be used instead of getting `sm_cloud` postmeta directly.
* NEW - added filter `wp_stateless_get_file_meta`, retrieves all GCS file meta data, should be used instead of getting `sm_cloud` postmeta directly.
* NEW - added filter `wp_stateless_get_file_meta_value`, retrieves the GCS file meta data by meta_key, should be used instead of getting `sm_cloud` postmeta directly.
* NEW - added filter `wp_stateless_get_setting_...` which allows to override any WP-Stateless setting. 
* NEW - added setting "Send Status Emails" allowing to change email for WP-Stateless notifications.
* NEW - added setting "Use Post Meta" allowing to switch back to using `postmeta` instead of custom DB tables. Can be used in case of issues after upgrading to 4.0.0.
* NEW - added new Settings tab `Addons`, which contains the list of WP-Stateless Addons, which replace Compatibilities.
* NEW - added new Settings tab `Status`, which contains status and health information related to Google Cloud Storage and WP-Stateless.
* NEW - CLI command `wp stateless migrate` to list and operate data optimizations.
* NEW - configuration constant [`WP_STATELESS_POSTMETA`](https://stateless.udx.io/docs/constants/#wp_stateless_postmeta) allows to read the GCS file data from postmeta instead of the new custom database tables.
* NEW - configuration constant [`WP_STATELESS_BATCH_HEALTHCHECK_INTERVAL`](https://stateless.udx.io/docs/constants/#wp_stateless_batch_healthcheck_interval) defines an interval in minutes for periodical health checks of a batch background process (like data optimization).
* COMPATIBILITY - BuddyBoss Compatibility replaced with [WP-Stateless – BuddyBoss Platform Addon](https://wordpress.org/plugins/wp-stateless-buddyboss-platform-addon/).
* COMPATIBILITY - Elementor Compatibility replaced with [WP-Stateless – Elementor Website Builder Addon](https://wordpress.org/plugins/wp-stateless-elementor-website-builder-addon/).
* COMPATIBILITY - Gravity Form Compatibility does not support older version of Gravity Forms (< 2.3).
* ENHANCEMENT - Allow dismissing notices in Admin Panel only for logged in users.
* ENHANCEMENT - Updated `wp-background-processing` library from from 1.0.2 to 1.1.1.
* ENHANCEMENT - Updated `phpseclib` 3.0.34 to 3.0.37.
* FIX - proper use of infinite timeout in `set_time_limit` function to avoid issues with PHP 8.1 and above [#704](https://github.com/udx/wp-stateless/issues/704).

#### 3.4.1
* FIX - improve security while processing AJAX requests in Admin Panel

#### 3.4.0
* ENHANCEMENT - removed `udx/lib-settings` package dependency for security reasons. 
* ENHANCEMENT - removed `udx/lib-utility` package dependency for security reasons.
* ENHANCEMENT - refactored `Settings` admin page to remove Angular dependency.
* ENHANCEMENT - including Software Bill of Materials (SBOM) to GitHub release.
* FIX - updated package dependencies for Google Client Library for security reasons.
* FIX - replaced `utf8_encode` with `mb_convert_encoding` to support PHP 8.2 and above [#678](https://github.com/udx/wp-stateless/issues/678).
* FIX - Fatal Error in `Stateless` mode if GCP access credentials are wrong [#693](https://github.com/udx/wp-stateless/issues/693).
* COMPATIBILITY - preventing PHP warnings while working with WooCommerce version 8.4.0 and above [696](https://github.com/udx/wp-stateless/issues/696).
* COMPATIBILITY - avoiding conflicts between builtin compatibilities and WP-Stateless Addon plugins.

#### 3.3.0
* NEW - Added new filter `wp_stateless_attachment_url`. Allows to customize attachment URL after WP-Stateless generates it based on it's internal conditions.
* FIX - Stateless mode Incompatible with Media Uploader in Media Library Grid mode [#675](https://github.com/udx/wp-stateless/issues/675).
* FIX - Prevent duplicating messages in Admin Panel.
* COMPATIBILITY - Dynamic Image Support is now part of the core.
* COMPATIBILITY - Google App Engine is now part of the core. Automatically enables **Stateless** mode when Google App Engine detected. Can be disabled using `WP_STATELESS_COMPATIBILITY_GAE` constant.
* COMPATIBILITY - Removed compatibility with "Advanced Custom Fields: Image Crop Add-on", because plugin is deprecated.
* COMPATIBILITY - Removed compatibility with "VidoRev" plugin.
* COMPATIBILITY - Removed compatibility with "WP Retina 2x" plugin.
* ENHANCEMENT - Updated Client library for Google APIs from 2.15.0 to 2.15.1.
* ENHANCEMENT - Updated Meta Box library from 5.6.3 to 5.8.2.
* ENHANCEMENT - Updated Meta Box Tabs to version 1.1.17.
* ENHANCEMENT - Updated PHP JWT library from 6.6.0 to 6.9.0.

#### 3.2.5
* FIX - Folder setting does not allow custom structure [#608](https://github.com/udx/wp-stateless/issues/608).
* FIX - Stateless mode Incompatible with Inline Uploader [#675](https://github.com/udx/wp-stateless/issues/675).
* FIX - html tags incorrectly applied in notice [#680](https://github.com/udx/wp-stateless/issues/680).
* ENHANCEMENT - Add WP_STATELESS_SKIP_ACL_SET for skip ACL set for GCS [#625](https://github.com/udx/wp-stateless/issues/625).
* COMPATIBILITY - Add support for The Events Calendar [#599](https://github.com/udx/wp-stateless/issues/599).

#### 3.2.4

- FIX - Website unresponsive after Upgrade [#669](https://github.com/udx/wp-stateless/issues/669).

#### 3.2.3

- ENHANCEMENT - Updated Client library for Google APIs.
- ENHANCEMENT - Updated Monolog library to version 3.
- ENHANCEMENT - Updated JWT library.
- FIX - Fixed vulnerability issues.
- FIX - Fixed an errors and warnings on PHP 8.1.
- FIX - Fixed an error that occured when WP_STATELESS_MEDIA_UPLOAD_CHUNK_SIZE is set.

#### 3.2.2

- FIX -  Folder setting can't be saved from the settings page [#639](https://github.com/udx/wp-stateless/issues/639).

#### 3.2.1

- FIX - Updated requirments.
- FIX - WP-Stateless 3.2.0 doesn’t upload docs, only images [#638](https://github.com/udx/wp-stateless/issues/638).

#### 3.2.0

- ENHANCEMENT - Upgraded `wpmetabox` library.
- ENHANCEMENT - Updated Client library for Google APIs.
- ENHANCEMENT - Updated Guzzle library to version 7.
- ENHANCEMENT - Updated JWT library.
- ENHANCEMENT - Updated `license` functionality, removed `update checker`.
- FIX - Fixed vulnerability issues.
- FIX - Fixed erros and warnings on PHP 8.
- FIX - problem after the upgrade [#628](https://github.com/udx/wp-stateless/issues/628).
- FIX - image_downsize() PHP8 Required parameter $id follows optional parameter $false [#619](https://github.com/udx/wp-stateless/issues/619).

#### 3.1.1

- ENHANCEMENT - Notification for the administrator about finished synchronization. GitHub issue [#576](https://github.com/udx/wp-stateless/issues/576).
- FIX - Fixed an issue with PDF thumbnails. GitHub issue [#577](https://github.com/udx/wp-stateless/issues/577).
- FIX - Fixed an issue with synchronization in `Stateless` mode. GitHub issue [#575](https://github.com/udx/wp-stateless/issues/575).
- COMPATIBILITY - Changed the way compatibility files are stored on Multisite. GitHub issue [#588](https://github.com/udx/wp-stateless/issues/588).

#### 3.1.0

- NEW - Completely rewritten the synchronization tool. GitHub issue [#523](https://github.com/udx/wp-stateless/issues/523).
- NEW - New configuration constant `WP_STATELESS_SYNC_MAX_BATCH_SIZE`. Sets the maximum size of a background sync batch of items to be saved in a single row in the database. [More details](https://stateless.udx.io/docs/constants/#wp_stateless_sync_max_batch_size).
- NEW - New configuration constant `WP_STATELESS_SYNC_LOG`. Sets a path to a log file where to output logging information during the background sync. [More details](https://stateless.udx.io/docs/constants/#wp_stateless_sync_log).
- NEW - New configuration constant `WP_STATELESS_SYNC_HEALTHCHECK_INTERVAL`. Defines an interval in minutes for a cron task that periodically checks the health of a particular background sync process. [More details](https://stateless.udx.io/docs/constants/#wp_stateless_sync_healthcheck_interval).
- FIX - Fixed an issue when original files were not deleted from the server in the Ephemeral mode. GitHub issue [#484](https://github.com/udx/wp-stateless/issues/484).
- FIX - Fixed an incorrect behavior of image `srcset` attribute in the Backup mode. GitHub issue [#558](https://github.com/udx/wp-stateless/issues/558).
- COMPATIBILITY - Litespeed Cache - Fixed an incorrect upload folder determination. GitHub issue [#527](https://github.com/udx/wp-stateless/issues/527).

#### 3.0.4

- FIX - Fixed inability to use dashes in the upload folder name. GitHub issue [#565](https://github.com/udx/wp-stateless/issues/565).
- COMPATIBILITY - Elementor - Fixed wrong upload directory. GitHub issue [#560](https://github.com/udx/wp-stateless/issues/560).

#### 3.0.3

- FIX - Fixed an incorrect file URL in Stateless mode on Edit Media screen. GitHub issue [#544](https://github.com/udx/wp-stateless/issues/544).

#### 3.0.2

- FIX - Refactored the way files are being uploaded to GCS when `WP_STATELESS_MEDIA_UPLOAD_CHUNK_SIZE` constant is defined. GitHub issue [#553](https://github.com/udx/wp-stateless/issues/553).
- FIX - Fixed the process of upgrading to 3.0 for multisite installations. GitHub issue [#549](https://github.com/udx/wp-stateless/issues/549).

#### 3.0.1

- FIX - Fatal Error in Stateless mode. GitHub issue [#546](https://github.com/udx/wp-stateless/issues/546).

#### 3.0

- NEW - Setup assistant rewrite. GitHub issue [#477](https://github.com/udx/wp-stateless/issues/477).
- NEW - Recreate attachment metabox panel using metabox.io. GitHub issue [#470](https://github.com/udx/wp-stateless/issues/470).
- NEW - Updated the `Stateless` mode to not use local storage at all. Current `Stateless` mode setting mapped to new `Ephemeral` mode. GitHub issue [#482](https://github.com/udx/wp-stateless/issues/482).
- NEW - Files are now uploaded to GCS in chunks and chunk size will be determined based on free memory available. GitHub issue [#478](https://github.com/udx/wp-stateless/issues/478).
- NEW - File upload chunk size can be controlled with `WP_STATELESS_MEDIA_UPLOAD_CHUNK_SIZE` constant. GitHub issue [#478](https://github.com/udx/wp-stateless/issues/478).
- FIX - Changed the default value for the Cache-Busting setting. GitHub issue [#361](https://github.com/udx/wp-stateless/issues/361).
- FIX - Fixed network override of Cache-Busting. GitHub issue [#468](https://github.com/udx/wp-stateless/issues/468).
- FIX - Fixed "Passing glue string after array is deprecated.". GitHub issue [#444](https://github.com/udx/wp-stateless/issues/444).
- FIX - Fixed Compatibility default value in multisite. GitHub issue [#464](https://github.com/udx/wp-stateless/issues/464).
- FIX - Fixed multisite wrong GCS path. GitHub issue [#407](https://github.com/udx/wp-stateless/issues/407).
- FIX - Don't check for Google Cloud Storage connectivity in stateless mode unless uploading. GitHub issue [#442](https://github.com/udx/wp-stateless/issues/442).
- COMPATIBILITY - Google App Engine - Added new compatibility support for Google App Engine. [#486](https://github.com/udx/wp-stateless/issues/486)
- COMPATIBILITY - Elementor - Fixed wrong MIME type for CSS files. GitHub issue [#395](https://github.com/udx/wp-stateless/issues/395).
- COMPATIBILITY - Polylang - Fixed missing metadata issue. GitHub issue [#378](https://github.com/udx/wp-stateless/issues/378).
- COMPATIBILITY - EWWW - Fixed mime type for WEBP images. GitHub issue [#371](https://github.com/udx/wp-stateless/issues/371).
- COMPATIBILITY - Simple Local Avatars - Added new compatibility support for Simple Local Avatars. GitHub issue [#297](https://github.com/udx/wp-stateless/issues/297).
- COMPATIBILITY - BuddyPress - Fixed BuddyPress compatibility. GitHub issue [#275](https://github.com/udx/wp-stateless/issues/275).
- COMPATIBILITY - Divi - Fixed Divi cache issue. GitHub issue [#430](https://github.com/udx/wp-stateless/issues/430).
- COMPATIBILITY - Gravity Forms - add compatibility for Gravity Forms Signature Add-On. [#501](https://github.com/udx/wp-stateless/issues/501).
- COMPATIBILITY - Litespeed - Fixed fatal error and warnings. [#491](https://github.com/udx/wp-stateless/issues/491).
- COMPATIBILITY - Imagify - Added support for webp. [#403](https://github.com/udx/wp-stateless/issues/403).
- ENHANCEMENT - Update Client library for Google APIs. [#446](https://github.com/udx/wp-stateless/issues/446).
- ENHANCEMENT - Wildcards for bucket folder settings. GitHub issue [#149](https://github.com/udx/wp-stateless/issues/149).
- ENHANCEMENT - Better CLI integration. GitHub issue [#447](https://github.com/udx/wp-stateless/issues/447), [#450](https://github.com/udx/wp-stateless/issues/450) and [#451](https://github.com/udx/wp-stateless/issues/451).
- ENHANCEMENT - Sync media according to new Bucket Folder settings. GitHub issue [#449](https://github.com/udx/wp-stateless/issues/449).
- ENHANCEMENT - Moved Bucket Folder setting in the File URL section. GitHub issue [#463](https://github.com/udx/wp-stateless/issues/463).
- ENHANCEMENT - Hide Regenerate and Sync with GCS when the mode is Disabled. GitHub issue [#440](https://github.com/udx/wp-stateless/issues/440).
- ENHANCEMENT - New endpoint for the Google Cloud Storage JSON API. GitHub issue [#384](https://github.com/udx/wp-stateless/issues/384).
- ENHANCEMENT - Renamed current `Stateless` mode to `Ephemeral`. GitHub issue [#481](https://github.com/udx/wp-stateless/issues/481).

#### 2.3.2

- FIX - Fixed video file doesn't get deleted from the server in `Stateless` mode. GitHub issue [#418](https://github.com/wpCloud/wp-stateless/issues/418).
- FIX - Fixed file size doesn't show under attachment details in `Stateless` mode. GitHub issue [#413](https://github.com/wpCloud/wp-stateless/issues/413).
- FIX - Fixed Cache-Busting feature works even if the Mode is `Disabled`. GitHub issue [#405](https://github.com/wpCloud/wp-stateless/issues/405).
- COMPATIBILITY - Fixed Gravity Form Post Image didn't include `Bucket Folder`. GitHub issue [#421](https://github.com/wpCloud/wp-stateless/issues/421).
- COMPATIBILITY - Fixed Divi Builder Export. GitHub issue [#420](https://github.com/wpCloud/wp-stateless/issues/420).
- COMPATIBILITY - Fixed BuddyBoss pages breaking after updating to 2.3.0. GitHub issue [#417](https://github.com/wpCloud/wp-stateless/issues/417).

#### 2.3.1

- Fix - Fixed fatal error, undefined function `is_wp_version_compatible`. GitHub issue [#414](https://github.com/wpCloud/wp-stateless/issues/414).

#### 2.3.0

- FIX - Fixed problem with WordPress 5.3. GitHub issue [#406](https://github.com/wpCloud/wp-stateless/issues/406).
- FIX - Fixed problem with the Cache Busting feature. GitHub issue [#377](https://github.com/wpCloud/wp-stateless/issues/377).
- COMPATIBILITY - Added compatibility support for WP Retina 2x pro. GitHub issue [#380](https://github.com/wpCloud/wp-stateless/issues/380).
- COMPATIBILITY - Enhanced compatibility support for LiteSpeed Cache. GitHub issue [#365](https://github.com/wpCloud/wp-stateless/issues/365).
- COMPATIBILITY - Enhanced compatibility support for ShortPixel Image Optimizer. GitHub issue [#364](https://github.com/wpCloud/wp-stateless/issues/364), [#398](https://github.com/wpCloud/wp-stateless/issues/398).
- COMPATIBILITY - Fixed Gravity Form export. GitHub issue [#408](https://github.com/wpCloud/wp-stateless/issues/408).
- ENHANCEMENT - Improved upon add_media function for better compatibility support. GitHub issue [#382](https://github.com/wpCloud/wp-stateless/issues/382).

#### 2.2.7

- FIX - WP-Smush compatibility enhanced. GitHub Issue [#366](https://github.com/wpCloud/wp-stateless/issues/366).
- FIX - Fixed multisite installation support. GitHub Issue [#370](https://github.com/wpCloud/wp-stateless/issues/370).
- FIX - Fixed settings UI problems related to Cache-Busting option. GitHub Issue [#373](https://github.com/wpCloud/wp-stateless/issues/373).
- FIX - Other minor fixes.

#### 2.2.6

- FIX - Multisite Network Settings page fixed. GitHub Issue [#369](https://github.com/wpCloud/wp-stateless/issues/369).
- FIX - Fixed incorrect Compatibilities behavior when Bucket Folder is set. GitHub Issue [#368](https://github.com/wpCloud/wp-stateless/issues/368).
- FIX - Other minor fixes.

#### 2.2.5

- NEW - Added ability to start sync process from specific Attachment ID. GitHub Issue [#360](https://github.com/wpCloud/wp-stateless/issues/360).
- COMPATIBILITY - Added compatibility support for LiteSpeed Cache plugin. Especially to support optimized .webp images. GitHub Issue [#357](https://github.com/wpCloud/wp-stateless/issues/357).
- FIX - Other minor fixes.

#### 2.2.4

- NEW - Added new filter `wp_stateless_skip_add_media`. Allows skipping synchronization of the media object with GCS depending on custom condition. GitHub Issue [#344](https://github.com/wpCloud/wp-stateless/issues/344).
- FIX - Compatibility Manager is considering Child Themes now. GitHub Issue [#351](https://github.com/wpCloud/wp-stateless/issues/351).
- FIX - Custom domains handling has been fixed. GitHub Issue [#358](https://github.com/wpCloud/wp-stateless/issues/358).
- ENHANCEMENT - Imagify Image Optimizer and WP Smush compatibilities improved. GitHub Issue [#359](https://github.com/wpCloud/wp-stateless/issues/359).

#### 2.2.3

- FIX - `get_post_metadata` does not break multi-dimensional arrays anymore. GitHub Issue [#352](https://github.com/wpCloud/wp-stateless/issues/352).
- FIX - `PHP Warning: substr_compare()` fixed. GitHub Issue [#350](https://github.com/wpCloud/wp-stateless/issues/350).
- FIX - Filtering Domain setting before saving in order to get rid of possible empty spaces. GitHub Issue [#348](https://github.com/wpCloud/wp-stateless/issues/348).
- FIX - Incorrect remote file path generated when disabled Organization setting. GitHub Issue [#343](https://github.com/wpCloud/wp-stateless/issues/343).
- FIX - Hiding admin notices correctly. GitHub Pull Request [#355](https://github.com/wpCloud/wp-stateless/pull/355).

#### 2.2.2

- FIX - Proper 'srcset' attribute handling. GitHub Issue [#342](https://github.com/wpCloud/wp-stateless/issues/342).
- ENHANCEMENT - Minor fixes code quality.

#### 2.2.1

- Fix - Security patch for Authenticated Remote Code Execution (RCE) vulnerability.

#### 2.2.0

- FIX - Slow page generation when File URL Replacement is enabled [#265](https://github.com/wpCloud/wp-stateless/issues/265).
- FIX - Fatal error when WP Smush Pro compatibility is enabled [#325](https://github.com/wpCloud/wp-stateless/issues/325).
- FIX - Issue with Imagify [#326](https://github.com/wpCloud/wp-stateless/issues/326).
- FIX - Return correct srcset images [#328](https://github.com/wpCloud/wp-stateless/issues/328).
- FIX - Fatal error with GFForms [#330](https://github.com/wpCloud/wp-stateless/issues/330).
- FIX - Typo in admin notices [#337](https://github.com/wpCloud/wp-stateless/issues/337).
- ENHANCEMENT - Extended “File URL Replacement” options [#336](https://github.com/wpCloud/wp-stateless/issues/336).
- ENHANCEMENT - Service Account JSON is now hidden if set via constant [#320](https://github.com/wpCloud/wp-stateless/issues/320).
- ENHANCEMENT - New database table for tracking files not tracked in media library [#307](https://github.com/wpCloud/wp-stateless/issues/307).
- ENHANCEMENT - Updated depreciated function flagged by security software [#300](https://github.com/wpCloud/wp-stateless/issues/300).

#### 2.1.9

- FIX - Resolved fatal error with OneCodeShop RML Amazon S3 plugin. GitHub Issue [#317](https://github.com/wpCloud/wp-stateless/issues/317).
- FIX - Resolved missing bucket in file URL when “storage.googleapis.com” was supplied in Domain field. GitHub Issue [#318](https://github.com/wpCloud/wp-stateless/issues/318).
- ENHANCEMENT - Support synchronization of files without metadata, such as .doc and .docx files. GitHub Issue [#316](https://github.com/wpCloud/wp-stateless/issues/316).

#### 2.1.8

- FIX - WooCommerce product export.
- FIX - PDF previews in media library now supported.
- ENHANCEMENT - Improved error message when there is nothing to sync.
- ENHANCEMENT - Renamed constant WP_STATELESS_MEDIA_HASH_FILENAME to WP_STATELESS_MEDIA_CACHE_BUSTING.
- ENHANCEMENT - Domain field functionality now allows webmaster to control http or https
- ENHANCEMENT - Notice about Stateless mode requiring the Cache-Busting option is displayed to those using Stateless mode.
- ENHANCEMENT - Upload full size image before generating thumbnails.
- COMPATIBILITY - Added compatibility support for Learndash plugin.
- COMPATIBILITY - Added compatibility support for BuddyPress plugin.
- COMPATIBILITY - Added compatibility support for Divi Builder export.
- COMPATIBILITY - Added compatibility support for Elementor plugin.

#### 2.1.7

- ENHANCEMENT - Display dashboard-wide notice for existing users explaining stateless mode now enables cache-busting option.
- ENHANCEMENT - Display notice when selecting stateless mode explaining stateless mode now enables cache-busting option.
- ENHANCEMENT - Display required message on cache-busting setting description when stateless mode is enabled.

#### 2.1.6

- FIX - Resolved Google SDK conflict.
- FIX - ICompatibility.php errors notice.
- FIX - Undefined index: gs_link in class-bootstrap.php.
- FIX - Media files with accent characters would not upload correctly to the bucket.
- ENHANCEMENT - Force `Cache-Busting` when using `Stateless` mode.
- ENHANCEMENT - New admin notice design.
- ENHANCEMENT - Improved and clear error message.
- ENHANCEMENT - Renamed constant `WP_STATELESS_MEDIA_ON_FLY` to `WP_STATELESS_DYNAMIC_IMAGE_SUPPORT`.
- ENHANCEMENT - Update Google Libraries.
- ENHANCEMENT - Renamed constant `WP_STATELESS_MEDIA_HASH_FILENAME` to `WP_STATELESS_MEDIA_CACHE_BUSTING`.
- COMPATIBILITY - Renamed constant `WP_STATELESS_COMPATIBILITY_WPSmush` to `WP_STATELESS_COMPATIBILITY_WPSMUSH`.
- COMPATIBILITY - Added support for `WooCommerce Extra Product Options`.
- COMPATIBILITY - Added support for `WPForms Pro`.
- COMPATIBILITY - Improved `ShortPixel` compatibility.
- COMPATIBILITY - Fixed `ACF Image Crop` compatibility.

#### 2.1.5

- FIX - Fatal error with PHP 5.4.45 on activation.
- FIX - E_WARNING: Illegal string offset ‘gs_bucket’.
- FIX - Resolved ‘save_network_settings’ message when saving network settings.
- COMPATIBILITY - Added support for WP Forms plugin
- COMPATIBILITY - Added support for WP Smush plugin
- COMPATIBILITY - Added support for ShortPixel Image Optimizer plugin.
- COMPATIBILITY - Added support for Imagify Image Optimizer plugin.
- COMPATIBILITY - Added support for SiteOrigin CSS plugin.
- COMPATIBILITY - Added support for Gravity Forms plugin.
- COMPATIBILITY - Added support for WPBakery Page Builder plugin.
- COMPATIBILITY - Added wp-config constant support for compatibility options.

#### 2.1.4

- ENHANCEMENT - Updated Google OAuth URL for Setup Assistant.

#### 2.1.3

- ENHANCEMENT - Updates to text explainers in Setup Assistant.
- ENHANCEMENT - Refined redirection logic when activating plugin.
- FIX - Removed extra space in converted URLs.

#### 2.1.2

- ENHANCEMENT - Improved support for Easy Digital Downloads.
- ENHANCEMENT - Added constant WP_STATELESS_CONSOLE_LOG check before logging to console.
- ENHANCEMENT - Changed service account default permissions on creation.
- COMPATIBILITY - Added support for SiteOrigin generated CSS files.
- ENHANCEMENT - Moved Dynamic Image Support to Capability tab.
- COMPATIBILITY - Added support for ACF Image Crop addon.
- FIX - Fixed compatibility issue with wp-smush plugin.
- FIX - Added required blog param for multi-sites.
- FIX - Updated media library and mediaItem API endpoints.
- COMPATIBILITY - Added support for EDD download method option.

#### 2.1.1

- FIX - Fixed double slash when Organization is disabled.
- FIX - Fatal error with GuzzleHttp.
- FIX - Fixed content-type assignment.
- ENHANCEMENT - Added support for https URLs in Domain field.
- COMPATIBILITY - Advanced Custom Fields Image Crop Addon.

#### 2.1.0

- FIX - Fixed read only for Service Account JSON if constant or environment variable is defined.
- FIX - Override default cache control.
- FIX - Fixed custom domain bucket support with setup assistant.
- FIX - Improved support for wp_calculate_image_srcset.
- FIX - Synchronizing non-image files will now delete the local copy.
- NEW - Support for GOOGLE_APPLICATION_CREDENTIALS environment variable.
- NEW - Added bucket region option to setup assistant.
- NEW - Added custom file type support for File URL Replacement setting.
- NEW - Added failover to image url when not found on disk for sync tool.
- ENHANCEMENT - updated service account role to Storage Object Admin.

#### 2.0.3

- FIX - Fixed Fatal Error which was occurring on WordPress Multisite after upgrading plugin from 1.x to 2.x.
- ENHANCEMENT - Improved support of PDF files.

#### 2.0.2

- FIX - Fixed Fatal Errors which were caused by using PHP 5.4 and less.
- FIX - Fixed Fatal Error which was caused on Media page when WP Smush Pro plugin is activated.
- FIX - Fixed detection of plugin files paths. The issue was occurring on installations with custom file structures ( e.g. Bedrock platform ).
- FIX - Fixed redirection URL to Setup Wizard on plugin activation.
- ENHANCEMENT - Updated the minimum requirements for PHP to 5.5 to prevent fatal errors and possible warnings.

#### 2.0.1

- ENHANCEMENT - Added compatibility with Google SDK v1.x version to prevent conflicts with third-party plugins.
- ENHANCEMENT - Added warning message if old Google SDK version is loaded by third-party plugin.

#### 2.0.0

- NEW - Added stateless mode.
- NEW - Dedicated settings panel.
- NEW - Setup assistant for initial plugin activation.
- NEW - Support for replacing default GCS domain with a custom domain.
- ENHANCEMENT - Expanded network setting overrides.
- ENHANCEMENT - Expanded wp-config constants.
- ENHANCEMENT - Relocated synchronization and regeneration tools to the new settings panel.

#### 1.9.2

- ENHANCEMENT - Added ability to modify default bucket link via 'wp_stateless_bucket_link' filter.
- ENHANCEMENT - Added checking of connection to GCS once per four hours instead of doing it on every page load.
- ENHANCEMENT - Google SDK was moved from vendor dir. So it's not loaded on every page load anymore, but only when it's required.
- ENHANCEMENT - Updated Composer Autoload logic.
- ENHANCEMENT - Reverted all changes included to 1.9.1 version because of conflicts.

#### 1.9.0

- Added new ability to define cacheControl for remote objects.
- Added new option that adds random hashes to file names.

#### 1.8.0

- Added the ability to regenerate and synchronize separate Media file from the list.
- Added the ability to regenerate and synchronize Media file from edit screen.
- Fixed the issue on multisite setup (switch_to_blog now works as expected).
- Performance fixes.
- UI cleanup.

#### 1.7.3

- Added ability to fix previously failed items.

#### 1.7.1

- Migrated from p12 to JSON.
- New feature of media sync.
- New option Root Directory.
- Optimized uploading process.
- Other options.

#### 1.7.0

- Fixed conflict with SSL forcing plugin.

#### 1.6.0

- Plugin Updates ability added.
- WordPress 4.4 compatibility fixed.
- Post content filter fixed.

#### 1.5.0

- Migration into wp-stateless from wp-stateless-media.
- Version bump to resolve bucket permissions issues.

#### 1.3.2

- Fixed issue with wp_normalize_path causing a fatal error on older installs.
- Removed \$\_SESSION usage for transients.

#### 1.3.1

- Added ability to upload non-images to bucket.
- Fixed issue with running batches in WP CLI

#### 1.3.0

- Added WP CLI functionality.
- Added WP CLI command to move all legacy meta data to serialized array.
- Changed the way of storing SM cloud meta data.

#### 1.2.0

- Added Imagemagic/GD check to warn admin that thumbnails will not be generated.
- Added mediaLink, mediaLink and id storage for uploaded objects.
- Added support for cacheControl with default settings based on Mime type of upload.
- Added sm:item:cacheControl and sm:item:contentDisposition filters.
- Cleaned-up metadata that is made available to GCS and visible in response headers.
- Removed app_name, using blog domain name automatically.
- Added Cache Control to media editor.

#### 1.1.0

- Added support for <code>WP_STATELESS_MEDIA_MODE</code>.
- Renamed constants <code>STATELESS_MEDIA_SERVICE_ACCOUNT_NAME</code> and <code>STATELESS_MEDIA_KEY_FILE_PATH</code> to <code>WP_STATELESS_MEDIA_SERVICE_ACCOUNT</code> and <code>WP_STATELESS_MEDIA_KEY_FILE_PATH</code>.

#### 1.0.2

- Added a _view_ link to media edit page for synchronized items.
- Added some _wp_get_attachment_image_ dynamic attributes.

#### 1.0.1

- Added Network Management option.
- Added support for <code>WP_STATELESS_MEDIA_SERVICE_ACCOUNT_NAME</code> and <code>WP_STATELESS_MEDIA_KEY_FILE_PATH</code>.

#### 1.0.0

- Set branch to v1.0.
- Removed autocompletion from Email Address and Application Name fields.
- Moved lib/classes into just lib.
- Rename class-Bootstrap.php to be lowercased.
- Added composer/installers to composer.json 'required' dependencies.
- Rename stateless-media.php to wp-stateless-media.php so there aren't unexpected plugin basename issues.
- Change package name to wp-stateless-media in package.json
- Rename 'wpCloud/wp-stateless-media' to 'wpcloud/wp-stateless-media' in composer.json, Composer does not allow uppercase names.

#### 0.2.1

- Added 'Settings' link to plugin list.


================================================
FILE: composer.json
================================================
{
  "name": "wpcloud/wp-stateless",
  "description": "WP-Stateless WordPress plugin",
  "type": "wordpress-plugin",
  "minimum-stability": "stable",
  "homepage": "https://udx.io",
  "authors": [
    {
      "name": "UDX",
      "homepage": "https://udx.io"
    }
  ],
  "repositories": [
    {
      "type": "composer",
      "url": "https://repository.usabilitydynamics.com"
    },
    {
      "type": "git",
      "url": "https://github.com/wpCloud/wp-stateless.git"
    },
    {
      "type":"composer",
      "url":"https://wpackagist.org",
      "only": [
          "wpackagist-plugin/*",
          "wpackagist-theme/*"
      ]
    }
  ],
  "require": {
    "php": ">=7.4",
    "composer/installers": "~2.3",
    "ccampbell/chromephp": "^4.1",
    "firebase/php-jwt": "^6.1.2",
    "udx/lib-ud-api-client": "^1.2",
    "udx/lib-wp-bootstrap": "^1.3",
    "wpackagist-plugin/meta-box": "^5.10"
  },
  "autoload": {
    "classmap": [
      "lib/classes",
      "lib/includes"
    ]
  },
  "archive": {
    "exclude": [
      "node_modules",
      ".gitignore",
      "test",
      "circle.yml",
      "composer.lock",
      "gruntfile.js",
      "package.json"
    ]
  },
  "extra": {
    "mozart": {
      "dep_namespace": "wpCloud\\StatelessMedia\\",
      "dep_directory": "/lib/ns-vendor/deps",
      "classmap_directory": "/lib/ns-vendor/classes",
      "classmap_prefix": "UDX_",
      "packages": [
        "deliciousbrains/wp-background-processing"
      ]
    },
    "featureFlags": [
      {
        "name": "Google Login",
        "constant": "WP_STATELESS_GOOGLE_LOGIN",
        "description": "Allows for quicker setup by letting admin login to their Google Account from the control panel. Fetches available projects and buckets.",
        "since": "1.9.2",
        "enabled": true
      },
      {
        "name": "Legacy Settings",
        "constant": "WP_STATELESS_LEGACY_SETTINGS",
        "description": "Shows legacy settings options.",
        "since": "1.9.2",
        "enabled": false
      }
    ],
    "schemas": {
      "dependencies": {
        "modules": {},
        "plugins": []
      },
      "licenses": {
        "client": {
          "slug": "wpcloud/wp-stateless",
          "screen": {
            "parent": "upload.php?page=stateless-settings",
            "hide_menu": true
          }
        },
        "product": false
      }
    },
    "installer-paths": {
      "vendor/wpmetabox/meta-box": ["wpackagist-plugin/meta-box"]
    }
  },
  "require-dev": {
    "coenjacobs/mozart": "0.7.1",
    "deliciousbrains/wp-background-processing": "1.3.1"
  },
  "config": {
    "allow-plugins": {
      "composer/installers": true
    }
  }
}


================================================
FILE: l10n.php
================================================
<?php
/**
 * Javascript Localization
 *
 * @since 2.1
 * @author alim@UD
 * @package WP-Stateless
 */

$l10n = array(

  //** Edit Stateless page */
  'something_went_wrong'                  => __( "Something went wrong", ud_get_stateless_media()->domain ),
  'invalid_input'                         => __( "Form has invalid input. Please fix them.", ud_get_stateless_media()->domain ),

  'json_api_enabled'                      => __( "Google Cloud Storage JSON API Service Enabled", ud_get_stateless_media()->domain ),
  'json_api_enabled_failed'               => __( "Google Cloud Storage JSON API Service failed.", ud_get_stateless_media()->domain ),

  'project_cant_be_empty'                 => __( "Project name can't be empty.", ud_get_stateless_media()->domain ),
  'project_length_notice'                 => __( "Project name must be between 5 and 30 characters.", ud_get_stateless_media()->domain ),
  'project_invalid_char'                  => __( "Project name has invalid characters. Enter letters, numbers, quotes, hyphens, spaces or exclamation points.", ud_get_stateless_media()->domain ),
  'project_creation_started'              => __( "Project creation started.", ud_get_stateless_media()->domain ),
  'project_exists'                        => __( "Project Exists", ud_get_stateless_media()->domain ),
  'project_creation_complete'             => __( "Project creation complete.", ud_get_stateless_media()->domain ),
  'project_creation_failed'               => __( "Project creation failed.", ud_get_stateless_media()->domain ),

  'bucket_cant_be_empty'                  => __( "Bucket name can't be empty.", ud_get_stateless_media()->domain ),
  'bucket_length_notice'                  => __( "Bucket name must be between 5 and 30 characters.", ud_get_stateless_media()->domain ),
  'bucket_invalid_char'                   => __( "A bucket name can contain lowercase alphanumeric characters, hyphens, and underscores. Bucket names must start and end with an alphanumeric character.", ud_get_stateless_media()->domain ),
  'bucket_created'                        => __( "Bucket Created", ud_get_stateless_media()->domain ),
  'bucket_creation_failed'                => __( "Bucket creation failed", ud_get_stateless_media()->domain ),
  'bucket_exists'                         => __( "Bucket Exist", ud_get_stateless_media()->domain ),

  'bucket_access_controls_success'        => __( "Bucket access control inserted.", ud_get_stateless_media()->domain ),
  'bucket_access_controls_failed'         => __( "Bucket access control failed.", ud_get_stateless_media()->domain ),

  'select_billing_account'                => __( "Select a billing account.", ud_get_stateless_media()->domain ),
  'billing_enabled'                       => __( "Billing Enabled", ud_get_stateless_media()->domain ),
  'billing_already_enabled'               => __( "Billing already enabled.", ud_get_stateless_media()->domain ),
  'billing_failed'                        => __( "Field to enable billing.", ud_get_stateless_media()->domain ),
  'billing_info'                          => __( "Billing Info", ud_get_stateless_media()->domain ),

  'service_account_exist'                 => __( "Service Account Exists", ud_get_stateless_media()->domain ),
  'service_account_created'               => __( "Service Account Created", ud_get_stateless_media()->domain ),
  'service_account_creation_failed'       => __( "Service Account creation failed", ud_get_stateless_media()->domain ),

  'service_account_key_created'           => __( "Service Account Key Created", ud_get_stateless_media()->domain ),
  'service_account_key_creation_failed'   => __( "Service Account Key creation failed", ud_get_stateless_media()->domain ),

  'service_account_key_saved'             => __( "Service Account Key Saved", ud_get_stateless_media()->domain ),
  'service_account_key_save_failed'       => __( "Failed to  Save Service Account Key", ud_get_stateless_media()->domain ),

  'service_account_role_granted'          => __( "Service Account Role Granted", ud_get_stateless_media()->domain ),
  'service_account_role_grant_failed'     => __( "Service Account Role Grant Failed", ud_get_stateless_media()->domain ),
  'unable_to_connect_to_the_server'       => __( "Unable to connect to the server", ud_get_stateless_media()->domain ),
  'could_not_retrieve_progress'           => __( "Could not retrieve progress", ud_get_stateless_media()->domain ),
  'could_not_get_fails'                   => __( "Could not get fails", ud_get_stateless_media()->domain ),
  'could_not_reset_progress'              => __( "Could not reset progress", ud_get_stateless_media()->domain ),
  'loading_images_media_objects'          => __( "Loading Images Media Objects...", ud_get_stateless_media()->domain ),
  'stopping'                              => __( "Stopping...", ud_get_stateless_media()->domain ),
  'finished'                              => __( "Finished", ud_get_stateless_media()->domain ),
  'cancelled'                             => __( "Cancelled", ud_get_stateless_media()->domain ),
  'ids_are_malformed'                     => __( "IDs are malformed", ud_get_stateless_media()->domain ),
  'unable_to_get_images_media_id'         => __( "Unable to get Images Media ID", ud_get_stateless_media()->domain ),
  'wp_stateless_get_images_media_id'      => __( "WP-Stateless get Images Media ID", ud_get_stateless_media()->domain ),
  'request_failed'                        => __( "Request failed", ud_get_stateless_media()->domain ),
  'get_images_media_id'                   => __( "Get Images Media ID", ud_get_stateless_media()->domain ),
  'loading_non_image_media_objects'       => __( "Loading non-image Media Objects...", ud_get_stateless_media()->domain ),

  'unable_to_get_non_images_media_id'     => __('Unable to get non Images Media ID', ud_get_stateless_media()->domain ),
  'non_libraries_files_are_not_found'     => __('There are no files to process.', ud_get_stateless_media()->domain ),
  'get_non_library_files_request_failed'  => __('Get non library files: Request failed', ud_get_stateless_media()->domain ),
  'regenerate_single_image_failed'        => __('Regenerate single image: Failed', ud_get_stateless_media()->domain ),
  'sync_single_file_failed'               => __('Sync single file: Failed', ud_get_stateless_media()->domain ),
  'sync_single_file_request_failed'       => __('Sync single file: Request failed', ud_get_stateless_media()->domain ),
  'failed_to_sync'                        => __('Failed to sync ', ud_get_stateless_media()->domain ),
  'sync_non_library_file_failed'          => __('Sync non library file: Failed', ud_get_stateless_media()->domain ),
  'sync_non_library_file_request_failed'  => __('Sync non library file: Request failed', ud_get_stateless_media()->domain ),
  'response_code'                         => __('Response code: ', ud_get_stateless_media()->domain ),
  'loading_non_library_objects'           => __('Loading non library Objects...', ud_get_stateless_media()->domain ),
  'processing_files'                      => __('Processing files (', ud_get_stateless_media()->domain ),
  '_total___'                             => __(' total)...', ud_get_stateless_media()->domain ),
  'processing_images'                     => __('Processing images (', ud_get_stateless_media()->domain ),
  
  'get_non_images_media_id_request_failed'  => __('Get non Images Media ID: Request failed', ud_get_stateless_media()->domain ),
  'regenerate_single_image_request_failed'  => __('Regenerate single image: Request failed', ud_get_stateless_media()->domain ),

  'confirm'                               => __('Confirm', ud_get_stateless_media()->domain ),
  'cancel'                                => __('Cancel', ud_get_stateless_media()->domain ),
  'start_optimization'                    => __('Start Data Optimization', ud_get_stateless_media()->domain ),
  'starting'                              => __('Starting...', ud_get_stateless_media()->domain ),
);



================================================
FILE: lib/Google/CHANGELOG.md
================================================
# Changelog

## [2.19.0](https://github.com/googleapis/google-api-php-client/compare/v2.18.4...v2.19.0) (2026-01-09)


### Features

* Support firebase/php-jwt version 6.0 and 7.0 ([#2696](https://github.com/googleapis/google-api-php-client/issues/2696)) ([70ea42a](https://github.com/googleapis/google-api-php-client/commit/70ea42a6aa29a1321825c3dcda39cf39174390ea))


### Bug Fixes

* Upload assets release job ([#2671](https://github.com/googleapis/google-api-php-client/issues/2671)) ([0f56ea7](https://github.com/googleapis/google-api-php-client/commit/0f56ea773cb51cc6131c442d112d7fd630b49b5c))

## [2.18.4](https://github.com/googleapis/google-api-php-client/compare/v2.18.3...v2.18.4) (2025-09-29)


### Bug Fixes

* Ensure credentials can be of type FetchAuthTokenInterface ([#2684](https://github.com/googleapis/google-api-php-client/issues/2684)) ([ed70802](https://github.com/googleapis/google-api-php-client/commit/ed70802cc4886ef1f513a2c0b56a8a972db5e7ab))

## [2.18.3](https://github.com/googleapis/google-api-php-client/compare/v2.18.2...v2.18.3) (2025-04-08)


### Bug Fixes

* Convert Finder lazy iterator to array before deletion ([#2663](https://github.com/googleapis/google-api-php-client/issues/2663)) ([c699405](https://github.com/googleapis/google-api-php-client/commit/c6994051af1568359c97d267d9ef34ccbda31387))

## [2.18.2](https://github.com/googleapis/google-api-php-client/compare/v2.18.1...v2.18.2) (2024-12-16)


### Bug Fixes

* Correct type for jwt constructor arg ([#2648](https://github.com/googleapis/google-api-php-client/issues/2648)) ([31a9861](https://github.com/googleapis/google-api-php-client/commit/31a9861af02a8e9070b395f05caed7ffce0ef8be))

## [2.18.1](https://github.com/googleapis/google-api-php-client/compare/v2.18.0...v2.18.1) (2024-11-24)


### Bug Fixes

* Implicitly marking parameter  as nullable is deprecated ([#2638](https://github.com/googleapis/google-api-php-client/issues/2638)) ([de57db2](https://github.com/googleapis/google-api-php-client/commit/de57db2fdc0d56de1abbf778b28b77c3347eb3fd))

## [2.18.0](https://github.com/googleapis/google-api-php-client/compare/v2.17.0...v2.18.0) (2024-10-16)


### Features

* **docs:** Use doctum shared workflow for reference docs ([#2618](https://github.com/googleapis/google-api-php-client/issues/2618)) ([242e2cb](https://github.com/googleapis/google-api-php-client/commit/242e2cb09ad5b25b047a862b4d521037e74cae29))


### Bug Fixes

* Explicit token caching issue ([#2358](https://github.com/googleapis/google-api-php-client/issues/2358)) ([dc13e5e](https://github.com/googleapis/google-api-php-client/commit/dc13e5e3f517148d3c66d151a5ab133b7840d8fb))

## [2.17.0](https://github.com/googleapis/google-api-php-client/compare/v2.16.0...v2.17.0) (2024-07-10)


### Features

* Add logger to client constructor config ([#2606](https://github.com/googleapis/google-api-php-client/issues/2606)) ([1f47133](https://github.com/googleapis/google-api-php-client/commit/1f4713329d71111a317cda8ef8603fa1bdc88858))
* Add the protected apiVersion property ([#2588](https://github.com/googleapis/google-api-php-client/issues/2588)) ([7e79f3d](https://github.com/googleapis/google-api-php-client/commit/7e79f3d7be4811f760e19cc4a2c558e04196ec1d))

## [2.16.0](https://github.com/googleapis/google-api-php-client/compare/v2.15.4...v2.16.0) (2024-04-24)


### Features

* Add universe domain support ([#2563](https://github.com/googleapis/google-api-php-client/issues/2563)) ([35895de](https://github.com/googleapis/google-api-php-client/commit/35895ded90b507074b3430a94a5790ddd01f39f0))

## [2.15.4](https://github.com/googleapis/google-api-php-client/compare/v2.15.3...v2.15.4) (2024-03-06)


### Bug Fixes

* Updates phpseclib because of a security issue ([#2574](https://github.com/googleapis/google-api-php-client/issues/2574)) ([633d41f](https://github.com/googleapis/google-api-php-client/commit/633d41f1b65fdb71a83bf747f7a3ad9857f6d02a))

## [2.15.3](https://github.com/googleapis/google-api-php-client/compare/v2.15.2...v2.15.3) (2024-01-04)


### Bug Fixes

* Guzzle dependency version ([#2546](https://github.com/googleapis/google-api-php-client/issues/2546)) ([c270f28](https://github.com/googleapis/google-api-php-client/commit/c270f28b00594a151a887edd3cfd205594a1256a))

## [2.15.2](https://github.com/googleapis/google-api-php-client/compare/v2.15.1...v2.15.2) (2024-01-03)


### Bug Fixes

* Disallow vulnerable guzzle versions ([#2536](https://github.com/googleapis/google-api-php-client/issues/2536)) ([d1830ed](https://github.com/googleapis/google-api-php-client/commit/d1830ede17114a4951ab9e60b3b9bcd9393b8668))
* Php 8.3 deprecated get_class method call without argument ([#2509](https://github.com/googleapis/google-api-php-client/issues/2509)) ([8c66021](https://github.com/googleapis/google-api-php-client/commit/8c6602119b631e1a9da4dbe219af18d51c8dab8e))
* Phpseclib security vulnerability ([#2524](https://github.com/googleapis/google-api-php-client/issues/2524)) ([73705c2](https://github.com/googleapis/google-api-php-client/commit/73705c2a65bfc01fa6d7717b7f401b8288fe0587))

## [2.15.1](https://github.com/googleapis/google-api-php-client/compare/v2.15.0...v2.15.1) (2023-09-12)


### Bug Fixes

* Upgrade min phpseclib version ([#2499](https://github.com/googleapis/google-api-php-client/issues/2499)) ([8e7fae2](https://github.com/googleapis/google-api-php-client/commit/8e7fae2b79cfc1b72026347abf6314d91442a018))

## [2.15.0](https://github.com/googleapis/google-api-php-client/compare/v2.14.0...v2.15.0) (2023-05-18)


### Features

* Add pkce support and upgrade examples ([#2438](https://github.com/googleapis/google-api-php-client/issues/2438)) ([bded223](https://github.com/googleapis/google-api-php-client/commit/bded223ece445a6130cde82417b20180b1d6698a))
* Drop support for 7.3 and below ([#2431](https://github.com/googleapis/google-api-php-client/issues/2431)) ([c765b37](https://github.com/googleapis/google-api-php-client/commit/c765b379e95ab272b6a87aa802d9f5507eaeb2e7))

## [2.14.0](https://github.com/googleapis/google-api-php-client/compare/v2.13.2...v2.14.0) (2023-05-11)


### Features

* User-supplied query params for auth url ([#2432](https://github.com/googleapis/google-api-php-client/issues/2432)) ([74a7d7b](https://github.com/googleapis/google-api-php-client/commit/74a7d7b838acb08afc02b449f338fbe6577cb03c))

## [2.13.2](https://github.com/googleapis/google-api-php-client/compare/v2.13.1...v2.13.2) (2023-03-23)


### Bug Fixes

* Calling class_exists with null in Google\Model ([#2405](https://github.com/googleapis/google-api-php-client/issues/2405)) ([5ed4edc](https://github.com/googleapis/google-api-php-client/commit/5ed4edc9315110a715e9763d27ee6761e1aaa00a))

## [2.13.1](https://github.com/googleapis/google-api-php-client/compare/v2.13.0...v2.13.1) (2023-03-13)


### Bug Fixes

* Allow dynamic properties on model classes ([#2408](https://github.com/googleapis/google-api-php-client/issues/2408)) ([11080d5](https://github.com/googleapis/google-api-php-client/commit/11080d5e85a040751a13aca8131f93c7d910db11))

## [2.13.0](https://github.com/googleapis/google-api-php-client/compare/v2.12.6...v2.13.0) (2022-12-19)


### Features

* Make auth http client config extends from default client config ([#2348](https://github.com/googleapis/google-api-php-client/issues/2348)) ([2640250](https://github.com/googleapis/google-api-php-client/commit/2640250c7bab479f378972733dcc0a3e9b2e14f8))


### Bug Fixes

* Don't send content-type header if no post body exists ([#2288](https://github.com/googleapis/google-api-php-client/issues/2288)) ([654c0e2](https://github.com/googleapis/google-api-php-client/commit/654c0e29ab78aba8bfef52fd3d06a3b2b39c4e0d))
* Ensure new redirect_uri propogates to OAuth2 class ([#2282](https://github.com/googleapis/google-api-php-client/issues/2282)) ([a69131b](https://github.com/googleapis/google-api-php-client/commit/a69131b6488735d112a529a278cfc8b875e18647))
* Lint errors ([#2315](https://github.com/googleapis/google-api-php-client/issues/2315)) ([88cc63c](https://github.com/googleapis/google-api-php-client/commit/88cc63c38b0cf88629f66fdf8ba6006f6c6d5a2c))
* Update accounts.google.com authorization URI ([#2275](https://github.com/googleapis/google-api-php-client/issues/2275)) ([b2624d2](https://github.com/googleapis/google-api-php-client/commit/b2624d21fce894126b9975a872cf5cda8038b254))


================================================
FILE: lib/Google/CODE_OF_CONDUCT.md
================================================
# Contributor Code of Conduct

As contributors and maintainers of this project,
and in the interest of fostering an open and welcoming community,
we pledge to respect all people who contribute through reporting issues,
posting feature requests, updating documentation,
submitting pull requests or patches, and other activities.

We are committed to making participation in this project
a harassment-free experience for everyone,
regardless of level of experience, gender, gender identity and expression,
sexual orientation, disability, personal appearance,
body size, race, ethnicity, age, religion, or nationality.

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery
* Personal attacks
* Trolling or insulting/derogatory comments
* Public or private harassment
* Publishing other's private information,
such as physical or electronic
addresses, without explicit permission
* Other unethical or unprofessional conduct.

Project maintainers have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct.
By adopting this Code of Conduct,
project maintainers commit themselves to fairly and consistently
applying these principles to every aspect of managing this project.
Project maintainers who do not follow or enforce the Code of Conduct
may be permanently removed from the project team.

This code of conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community.

Instances of abusive, harassing, or otherwise unacceptable behavior
may be reported by opening an issue
or contacting one or more of the project maintainers.

This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0,
available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/)


================================================
FILE: lib/Google/LICENSE
================================================
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.




================================================
FILE: lib/Google/README.md
================================================
![](https://github.com/googleapis/google-api-php-client/workflows/.github/workflows/tests.yml/badge.svg)

# Google APIs Client Library for PHP #

**NOTE**: please check to see if the package you'd like to install is available in our
list of [Google cloud packages](https://cloud.google.com/php/docs/reference) first, as
these are the recommended libraries.

<dl>
  <dt>Reference Docs</dt><dd><a href="https://googleapis.github.io/google-api-php-client/">https://googleapis.github.io/google-api-php-client/</a></dd>
  <dt>License</dt><dd>Apache 2.0</dd>
</dl>

The Google API Client Library enables you to work with Google APIs such as Gmail, Drive or YouTube on your server.

These client libraries are officially supported by Google. However, the libraries are considered complete and are in maintenance mode. This means that we will address critical bugs and security issues but will not add any new features.

## Google Cloud Platform

For Google Cloud Platform APIs such as [Datastore][cloud-datastore], [Cloud Storage][cloud-storage], [Pub/Sub][cloud-pubsub], and [Compute Engine][cloud-compute], we recommend using the Google Cloud client libraries. For a complete list of supported Google Cloud client libraries, see [googleapis/google-cloud-php](https://github.com/googleapis/google-cloud-php).

[cloud-datastore]: https://github.com/googleapis/google-cloud-php-datastore
[cloud-pubsub]: https://github.com/googleapis/google-cloud-php-pubsub
[cloud-storage]: https://github.com/googleapis/google-cloud-php-storage
[cloud-compute]: https://github.com/googleapis/google-cloud-php-compute

## Requirements ##
* [PHP 8.0 or higher](https://www.php.net/)

## Developer Documentation ##

The [docs folder](docs/) provides detailed guides for using this library.

## Installation ##

You can use **Composer** or simply **Download the Release**

### Composer

The preferred method is via [composer](https://getcomposer.org/). Follow the
[installation instructions](https://getcomposer.org/doc/00-intro.md) if you do not already have
composer installed.

Once composer is installed, execute the following command in your project root to install this library:

```sh
composer require google/apiclient
```

If you're facing a timeout error then either increase the timeout for composer by adding the env flag as `COMPOSER_PROCESS_TIMEOUT=600 composer install` or you can put this in the `config` section of the composer schema:
```
{
    "config": {
        "process-timeout": 600
    }
}
```

Finally, be sure to include the autoloader:

```php
require_once '/path/to/your-project/vendor/autoload.php';
```

This library relies on `google/apiclient-services`. That library provides up-to-date API wrappers for a large number of Google APIs. In order that users may make use of the latest API clients, this library does not pin to a specific version of `google/apiclient-services`. **In order to prevent the accidental installation of API wrappers with breaking changes**, it is highly recommended that you pin to the [latest version](https://github.com/googleapis/google-api-php-client-services/releases) yourself prior to using this library in production.

#### Cleaning up unused services

There are over 200 Google API services. The chances are good that you will not
want them all. In order to avoid shipping these dependencies with your code,
you can run the `Google\Task\Composer::cleanup` task and specify the services
you want to keep in `composer.json`:

```json
{
    "require": {
        "google/apiclient": "^2.15.0"
    },
    "scripts": {
        "pre-autoload-dump": "Google\\Task\\Composer::cleanup"
    },
    "extra": {
        "google/apiclient-services": [
            "Drive",
            "YouTube"
        ]
    }
}
```

This example will remove all services other than "Drive" and "YouTube" when
`composer update` or a fresh `composer install` is run.

**IMPORTANT**: If you add any services back in `composer.json`, you will need to
remove the `vendor/google/apiclient-services` directory explicitly for the
change you made to have effect:

```sh
rm -r vendor/google/apiclient-services
composer update
```

**NOTE**: This command performs an exact match on the service name, so to keep
`YouTubeReporting` and `YouTubeAnalytics` as well, you'd need to add each of
them explicitly:

```json
{
    "extra": {
        "google/apiclient-services": [
            "Drive",
            "YouTube",
            "YouTubeAnalytics",
            "YouTubeReporting"
        ]
    }
}
```

### Download the Release

If you prefer not to use composer, you can download the package in its entirety. The [Releases](https://github.com/googleapis/google-api-php-client/releases) page lists all stable versions. Download any file
with the name `google-api-php-client-[RELEASE_NAME].zip` for a package including this library and its dependencies.

Uncompress the zip file you download, and include the autoloader in your project:

```php
require_once '/path/to/google-api-php-client/vendor/autoload.php';
```

For additional installation and setup instructions, see [the documentation](docs/).

## Examples ##
See the [`examples/`](examples) directory for examples of the key client features. You can
view them in your browser by running the php built-in web server.

```
$ php -S localhost:8000 -t examples/
```

And then browsing to the host and port you specified
(in the above example, `http://localhost:8000`).

### Basic Example ###

```php
// include your composer dependencies
require_once 'vendor/autoload.php';

$client = new Google\Client();
$client->setApplicationName("Client_Library_Examples");
$client->setDeveloperKey("YOUR_APP_KEY");

$service = new Google\Service\Books($client);
$query = 'Henry David Thoreau';
$optParams = [
  'filter' => 'free-ebooks',
];
$results = $service->volumes->listVolumes($query, $optParams);

foreach ($results->getItems() as $item) {
  echo $item['volumeInfo']['title'], "<br /> \n";
}
```

### Authentication with OAuth ###

> An example of this can be seen in [`examples/simple-file-upload.php`](examples/simple-file-upload.php).

1. Follow the instructions to [Create Web Application Credentials](docs/oauth-web.md#create-authorization-credentials)
1. Download the JSON credentials
1. Set the path to these credentials using `Google\Client::setAuthConfig`:

    ```php
    $client = new Google\Client();
    $client->setAuthConfig('/path/to/client_credentials.json');
    ```

1. Set the scopes required for the API you are going to call

    ```php
    $client->addScope(Google\Service\Drive::DRIVE);
    ```

1. Set your application's redirect URI

    ```php
    // Your redirect URI can be any registered URI, but in this example
    // we redirect back to this same page
    $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
    $client->setRedirectUri($redirect_uri);
    ```

1. In the script handling the redirect URI, exchange the authorization code for an access token:

    ```php
    if (isset($_GET['code'])) {
        $token = $client->fetchAccessTokenWithAuthCode($_GET['code']);
    }
    ```

### Authentication with Service Accounts ###

> An example of this can be seen in [`examples/service-account.php`](examples/service-account.php).

Some APIs
(such as the [YouTube Data API](https://developers.google.com/youtube/v3/)) do
not support service accounts. Check with the specific API documentation if API
calls return unexpected 401 or 403 errors.

1. Follow the instructions to [Create a Service Account](docs/oauth-server.md#creating-a-service-account)
1. Download the JSON credentials
1. Set the path to these credentials using the `GOOGLE_APPLICATION_CREDENTIALS` environment variable:

    ```php
    putenv('GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json');
    ```

1. Tell the Google client to use your service account credentials to authenticate:

    ```php
    $client = new Google\Client();
    $client->useApplicationDefaultCredentials();
    ```

1. Set the scopes required for the API you are going to call

    ```php
    $client->addScope(Google\Service\Drive::DRIVE);
    ```

1. If you have delegated domain-wide access to the service account and you want to impersonate a user account, specify the email address of the user account using the method setSubject:

    ```php
    $client->setSubject($user_to_impersonate);
    ```

#### How to use a specific JSON key

If you want to a specific JSON key instead of using `GOOGLE_APPLICATION_CREDENTIALS` environment variable, you can do this:

```php
$jsonKey = [
   'type' => 'service_account',
   // ...
];
$client = new Google\Client();
$client->setAuthConfig($jsonKey);
```

### Making Requests ###

The classes used to call the API in [google-api-php-client-services](https://github.com/googleapis/google-api-php-client-services) are autogenerated. They map directly to the JSON requests and responses found in the [APIs Explorer](https://developers.google.com/apis-explorer/#p/).

A JSON request to the [Datastore API](https://developers.google.com/apis-explorer/#p/datastore/v1beta3/datastore.projects.runQuery) would look like this:

```
POST https://datastore.googleapis.com/v1beta3/projects/YOUR_PROJECT_ID:runQuery?key=YOUR_API_KEY
```
```json
{
    "query": {
        "kind": [{
            "name": "Book"
        }],
        "order": [{
            "property": {
                "name": "title"
            },
            "direction": "descending"
        }],
        "limit": 10
    }
}
```

Using this library, the same call would look something like this:

```php
// create the datastore service class
$datastore = new Google\Service\Datastore($client);

// build the query - this maps directly to the JSON
$query = new Google\Service\Datastore\Query([
    'kind' => [
        [
            'name' => 'Book',
        ],
    ],
    'order' => [
        'property' => [
            'name' => 'title',
        ],
        'direction' => 'descending',
    ],
    'limit' => 10,
]);

// build the request and response
$request = new Google\Service\Datastore\RunQueryRequest(['query' => $query]);
$response = $datastore->projects->runQuery('YOUR_DATASET_ID', $request);
```

However, as each property of the JSON API has a corresponding generated class, the above code could also be written like this:

```php
// create the datastore service class
$datastore = new Google\Service\Datastore($client);

// build the query
$request = new Google\Service\Datastore_RunQueryRequest();
$query = new Google\Service\Datastore\Query();
//   - set the order
$order = new Google\Service\Datastore_PropertyOrder();
$order->setDirection('descending');
$property = new Google\Service\Datastore\PropertyReference();
$property->setName('title');
$order->setProperty($property);
$query->setOrder([$order]);
//   - set the kinds
$kind = new Google\Service\Datastore\KindExpression();
$kind->setName('Book');
$query->setKinds([$kind]);
//   - set the limit
$query->setLimit(10);

// add the query to the request and make the request
$request->setQuery($query);
$response = $datastore->projects->runQuery('YOUR_DATASET_ID', $request);
```

The method used is a matter of preference, but *it will be very difficult to use this library without first understanding the JSON syntax for the API*, so it is recommended to look at the [APIs Explorer](https://developers.google.com/apis-explorer/#p/) before using any of the services here.

### Making HTTP Requests Directly ###

If Google Authentication is desired for external applications, or a Google API is not available yet in this library, HTTP requests can be made directly.

If you are installing this client only to authenticate your own HTTP client requests, you should use [`google/auth`](https://github.com/googleapis/google-auth-library-php#call-the-apis) instead.

The `authorize` method returns an authorized [Guzzle Client](http://docs.guzzlephp.org/), so any request made using the client will contain the corresponding authorization.

```php
// create the Google client
$client = new Google\Client();

/**
 * Set your method for authentication. Depending on the API, This could be
 * directly with an access token, API key, or (recommended) using
 * Application Default Credentials.
 */
$client->useApplicationDefaultCredentials();
$client->addScope(Google\Service\Plus::PLUS_ME);

// returns a Guzzle HTTP Client
$httpClient = $client->authorize();

// make an HTTP request
$response = $httpClient->get('https://www.googleapis.com/plus/v1/people/me');
```

### Caching ###

It is recommended to use another caching library to improve performance. This can be done by passing a [PSR-6](https://www.php-fig.org/psr/psr-6/) compatible library to the client:

```php
use League\Flysystem\Adapter\Local;
use League\Flysystem\Filesystem;
use Cache\Adapter\Filesystem\FilesystemCachePool;

$filesystemAdapter = new Local(__DIR__.'/');
$filesystem        = new Filesystem($filesystemAdapter);

$cache = new FilesystemCachePool($filesystem);
$client->setCache($cache);
```

In this example we use [PHP Cache](http://www.php-cache.com/). Add this to your project with composer:

```
composer require cache/filesystem-adapter
```

### Updating Tokens ###

When using [Refresh Tokens](https://developers.google.com/identity/protocols/OAuth2InstalledApp#offline) or [Service Account Credentials](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#overview), it may be useful to perform some action when a new access token is granted. To do this, pass a callable to the `setTokenCallback` method on the client:

```php
$logger = new Monolog\Logger();
$tokenCallback = function ($cacheKey, $accessToken) use ($logger) {
  $logger->debug(sprintf('new access token received at cache key %s', $cacheKey));
};
$client->setTokenCallback($tokenCallback);
```

### Debugging Your HTTP Request using Charles ###

It is often very useful to debug your API calls by viewing the raw HTTP request. This library supports the use of [Charles Web Proxy](https://www.charlesproxy.com/documentation/getting-started/). Download and run Charles, and then capture all HTTP traffic through Charles with the following code:

```php
// FOR DEBUGGING ONLY
$httpClient = new GuzzleHttp\Client([
    'proxy' => 'localhost:8888', // by default, Charles runs on localhost port 8888
    'verify' => false, // otherwise HTTPS requests will fail.
]);

$client = new Google\Client();
$client->setHttpClient($httpClient);
```

Now all calls made by this library will appear in the Charles UI.

One additional step is required in Charles to view SSL requests. Go to **Charles > Proxy > SSL Proxying Settings** and add the domain you'd like captured. In the case of the Google APIs, this is usually `*.googleapis.com`.

### Controlling HTTP Client Configuration Directly

Google API Client uses [Guzzle](http://docs.guzzlephp.org/) as its default HTTP client. That means that you can control your HTTP requests in the same manner you would for any application using Guzzle.

Let's say, for instance, we wished to apply a referrer to each request.

```php
use GuzzleHttp\Client;

$httpClient = new Client([
    'headers' => [
        'referer' => 'mysite.com'
    ]
]);

$client = new Google\Client();
$client->setHttpClient($httpClient);
```

Other Guzzle features such as [Handlers and Middleware](http://docs.guzzlephp.org/en/stable/handlers-and-middleware.html) offer even more control.

### Partial Consent and Granted Scopes

When using OAuth2 3LO (e.g. you're a client requesting credentials from a 3rd
party, such as in the [simple file upload example](examples/simple-file-upload.php)),
you may want to take advantage of Partial Consent.

To allow clients to only grant certain scopes in the OAuth2 screen, pass the
querystring parameter for `enable_serial_consent` when generating the
authorization URL:

```php
$authUrl = $client->createAuthUrl($scope, ['enable_serial_consent' => 'true']);
```

Once the flow is completed, you can see which scopes were granted by calling
`getGrantedScope` on the OAuth2 object:

```php
// Space-separated string of granted scopes if it exists, otherwise null.
echo $client->getOAuth2Service()->getGrantedScope();
```

### Service Specific Examples ###

YouTube: https://github.com/youtube/api-samples/tree/master/php

## How Do I Contribute? ##

Please see the [contributing](.github/CONTRIBUTING.md) page for more information. In particular, we love pull requests - but please make sure to sign the contributor license agreement.

## Frequently Asked Questions ##

### What do I do if something isn't working? ###

For support with the library the best place to ask is via the google-api-php-client tag on StackOverflow: https://stackoverflow.com/questions/tagged/google-api-php-client

If there is a specific bug with the library, please [file an issue](https://github.com/googleapis/google-api-php-client/issues) in the GitHub issues tracker, including an example of the failing code and any specific errors retrieved. Feature requests can also be filed, as long as they are core library requests, and not-API specific: for those, refer to the documentation for the individual APIs for the best place to file requests. Please try to provide a clear statement of the problem that the feature would address.

### I want an example of X! ###

If X is a feature of the library, file away! If X is an example of using a specific service, the best place to go is to the teams for those specific APIs - our preference is to link to their examples rather than add them to the library, as they can then pin to specific versions of the library. If you have any examples for other APIs, let us know and we will happily add a link to the README above!

### Why do some Google\Service classes have weird names? ###

The _Google\Service_ classes are generally automatically generated from the API discovery documents: https://developers.google.com/discovery/. Sometimes new features are added to APIs with unusual names, which can cause some unexpected or non-standard style naming in the PHP classes.

### How do I deal with non-JSON response types? ###

Some services return XML or similar by default, rather than JSON, which is what the library supports. You can request a JSON response by adding an 'alt' argument to optional params that is normally the last argument to a method call:

```php
$opt_params = array(
  'alt' => "json"
);
```

### How do I set a field to null? ###

The library strips out nulls from the objects sent to the Google APIs as it is the default value of all of the uninitialized properties. To work around this, set the field you want to null to `Google\Model::NULL_VALUE`. This is a placeholder that will be replaced with a true null when sent over the wire.

## Code Quality ##

Run the PHPUnit tests with PHPUnit. You can configure an API key and token in BaseTest.php to run all calls, but this will require some setup on the Google Developer Console.

    phpunit tests/

### Coding Style

To check for coding style violations, run

```
vendor/bin/phpcs src --standard=style/ruleset.xml -np
```

To automatically fix (fixable) coding style violations, run

```
vendor/bin/phpcbf src --standard=style/ruleset.xml
```


================================================
FILE: lib/Google/SECURITY.md
================================================
# Security Policy

To report a security issue, please use [g.co/vulnz](https://g.co/vulnz).

The Google Security Team will respond within 5 working days of your report on g.co/vulnz.

We use g.co/vulnz for our intake, and do coordination and disclosure here using GitHub Security Advisory to privately discuss and fix the issue.


================================================
FILE: lib/Google/UPGRADING.md
================================================
Google API Client Upgrade Guide
===============================

2.x to 2.10.0
-------------

### Namespaces

The Google API Client for PHP now uses namespaces for all classes. Code using
the legacy classnames will continue to work, but it is advised to upgrade to the
underspaced names, as the legacy classnames will be deprecated some time in the
future.

**Before**

```php
$client = new Google_Client();
$service = new Google_Service_Books($client);
```

**After**
```php
$client = new Google\Client();
$service = new Google\Service\Books($client);
```

### Service class constructors

Service class constructors now accept an optional `Google\Client|array` parameter
as their first argument, rather than requiring an instance of `Google\Client`.

**Before**

```php
$client = new Google_Client();
$client->setApplicationName("Client_Library_Examples");
$client->setDeveloperKey("YOUR_APP_KEY");

$service = new Google_Service_Books($client);
```

**After**

```php
$service = new Google\Service\Books([
    'application_name' => "Client_Library_Examples",
    'developer_key'    => "YOUR_APP_KEY",
]);
```

1.0 to 2.0
----------

The Google API Client for PHP has undergone major internal changes in `2.0`. Please read through
the list below in order to upgrade to the latest version:

## Installation now uses `Composer`

**Before**

The project was cloned in your project and you would run the autoloader from wherever:

```php
// the autoload file was included
require_once 'google-api-php-client/src/Google/autoload.php'; // or wherever autoload.php is located
// OR classes were added one-by-one
require_once 'Google/Client.php';
require_once 'Google/Service/YouTube.php';
```

**After**

This library now uses [composer](https://getcomposer.org) (We suggest installing
composer [globally](http://symfony.com/doc/current/cookbook/composer.html)). Add this library by
running the following in the root of your project:

```
$ composer require google/apiclient:~2.0
```

This will install this library and generate an autoload file in `vendor/autoload.php` in the root
of your project. You can now include this library with the following code:

```php
require_once 'vendor/autoload.php';
```

## Access Tokens are passed around as arrays instead of JSON strings

**Before**

```php
$accessToken = $client->getAccessToken();
print_r($accessToken);
// would output:
// string(153) "{"access_token":"ya29.FAKsaByOPoddfzvKRo_LBpWWCpVTiAm4BjsvBwxtN7IgSNoUfcErBk_VPl4iAiE1ntb_","token_type":"Bearer","expires_in":3593,"created":1445548590}"
file_put_contents($credentialsPath, $accessToken);
```

**After**

```php
$accessToken = $client->getAccessToken();
print_r($accessToken);
// will output:
// array(4) {
//   ["access_token"]=>
//   string(73) "ya29.FAKsaByOPoddfzvKRo_LBpWWCpVTiAm4BjsvBwxtN7IgSNoUfcErBk_VPl4iAiE1ntb_"
//   ["token_type"]=>
//   string(6) "Bearer"
//   ["expires_in"]=>
//   int(3593)
//   ["created"]=>
//   int(1445548590)
// }
file_put_contents($credentialsPath, json_encode($accessToken));
```

## ID Token data is returned as an array

**Before**

```php
$ticket = $client->verifyIdToken($idToken);
$data = $ticket->getAttributes();
$userId = $data['payload']['sub'];
```

**After**

```php
$userData = $client->verifyIdToken($idToken);
$userId = $userData['sub'];
```

## `Google_Auth_AssertionCredentials` has been removed

For service accounts, we now use `setAuthConfig` or `useApplicationDefaultCredentials`

**Before**

```php
$client_email = '1234567890-a1b2c3d4e5f6g7h8i@developer.gserviceaccount.com';
$private_key = file_get_contents('MyProject.p12');
$scopes = array('https://www.googleapis.com/auth/sqlservice.admin');
$credentials = new Google_Auth_AssertionCredentials(
    $client_email,
    $scopes,
    $private_key
);
```

**After**

```php
$client->setAuthConfig('/path/to/service-account.json');

// OR use environment variables (recommended)

putenv('GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json');
$client->useApplicationDefaultCredentials();
```

> Note: P12s are deprecated in favor of service account JSON, which can be generated in the
> Credentials section of Google Developer Console.

In order to impersonate a user, call `setSubject` when your service account
credentials are being used.

**Before**

```php
$user_to_impersonate = 'user@example.org';
$credentials = new Google_Auth_AssertionCredentials(
    $client_email,
    $scopes,
    $private_key,
    'notasecret',                                 // Default P12 password
    'http://oauth.net/grant_type/jwt/1.0/bearer', // Default grant type
    $user_to_impersonate,
);
```

**After**

```php
$user_to_impersonate = 'user@example.org';
$client->setSubject($user_to_impersonate);
```

Additionally, `Google_Client::loadServiceAccountJson` has been removed in favor
of `Google_Client::setAuthConfig`:

**Before**

```php
$scopes = [ Google_Service_Books::BOOKS ];
$client->loadServiceAccountJson('/path/to/service-account.json', $scopes);
```

**After**

```php
$scopes = [ Google_Service_Books::BOOKS ];
$client->setAuthConfig('/path/to/service-account.json');
$client->setScopes($scopes);
```

## `Google_Auth_AppIdentity` has been removed

For App Engine authentication, we now use the underlying [`google/auth`][Google Auth] and
call `useApplicationDefaultCredentials`:

**Before**

```php
$client->setAuth(new Google_Auth_AppIdentity($client));
$client->getAuth()
    ->authenticateForScope('https://www.googleapis.com/auth/sqlservice.admin')
```

**After**

```php
$client->useApplicationDefaultCredentials();
$client->addScope('https://www.googleapis.com/auth/sqlservice.admin');
```

This will detect when the App Engine environment is present, and use the appropriate credentials.

## `Google_Auth_Abstract` classes have been removed

[`google/auth`][Google Auth] is now used for authentication. As a result, all
`Google_Auth`-related functionality has been removed. The methods that were a part of
`Google_Auth_Abstract` have been moved into the `Google_Client` object.

**Before**

```php
$request = new Google_Http_Request();
$client->getAuth()->sign($request);
```

**After**

```php
// create an authorized HTTP client
$httpClient = $client->authorize();

// OR add authorization to an existing client
$httpClient = new GuzzleHttp\Client();
$httpClient = $client->authorize($httpClient);
```

**Before**

```php
$request = new Google_Http_Request();
$response = $client->getAuth()->authenticatedRequest($request);
```

**After**

```php
$httpClient = $client->authorize();
$request = new GuzzleHttp\Psr7\Request('POST', $url);
$response = $httpClient->send($request);
```

> NOTE: `$request` can be any class implementing
> `Psr\Http\Message\RequestInterface`

In addition, other methods that were callable on `Google_Auth_OAuth2` are now called
on the `Google_Client` object:

**Before**

```php
$client->getAuth()->refreshToken($token);
$client->getAuth()->refreshTokenWithAssertion();
$client->getAuth()->revokeToken($token);
$client->getAuth()->isAccessTokenExpired();
```

**After**

```php
$client->refreshToken($token);
$client->refreshTokenWithAssertion();
$client->revokeToken($token);
$client->isAccessTokenExpired();
```

## PHP 5.6 is now the minimum supported PHP version

This was previously `PHP 5.2`. If you still need to use PHP 5.2, please continue to use
the [v1-master](https://github.com/google/google-api-php-client/tree/v1-master) branch.

## Guzzle and PSR-7 are used for HTTP Requests

The HTTP library Guzzle is used for all HTTP Requests. By default, [`Guzzle 6`][Guzzle 6]
is used, but this library is also compatible with [`Guzzle 5`][Guzzle 5]. As a result,
all `Google_IO`-related functionality and `Google_Http`-related functionality has been
changed or removed.

1. Removed `Google_Http_Request`
1. Removed `Google_IO_Abstract`, `Google_IO_Exception`, `Google_IO_Curl`, and `Google_IO_Stream`
1. Removed methods `Google_Client::getIo` and `Google_Client::setIo`
1. Refactored `Google_Http_Batch` and `Google_Http_MediaFileUpload` for Guzzle
1. Added `Google_Client::getHttpClient` and `Google_Client::setHttpClient` for getting and
setting the Guzzle `GuzzleHttp\ClientInterface` object.

> NOTE: `PSR-7`-compatible libraries can now be used with this library.

## Other Changes

 - [`PSR 3`][PSR 3] `LoggerInterface` is now supported, and [Monolog][Monolog] is used for all
 logging. As a result, all `Google_Logger`-related functionality has been removed:
    1. Removed `Google_Logger_Abstract`, `Google_Logger_Exception`, `Google_Logger_File`,
    `Google_Logger_Null`, and `Google_Logger_Psr`
    1. `Google_Client::setLogger` now requires `Psr\Log\LoggerInterface`
 - [`firebase/jwt`][Firebase JWT] is now used for all JWT signing and verifying. As a result, the
 following classes have been changed or removed:
    1. Removed `Google_Signer_P12`
    1. Removed `Google_Verifier_Pem`
    1. Removed `Google_Auth_LoginTicket` (see below)
 - The following classes and methods have been removed in favor of [`google/auth`][Google Auth]:
    1. Removed methods `Google_Client::getAuth` and `Google_Client::setAuth`
    1. Removed `Google_Auth_Abstract`
        - `Google_Auth_Abstract::sign` and `Google_Auth_Abstract::authenticatedRequest` have been
        replaced by `Google_Client::authorize`. See the above examples for more details.
    1. Removed `Google_Auth_AppIdentity`. This is now supported in [`google/auth`][Google Auth AppIdentity]
    and is used automatically when `Google_Client::useApplicationDefaultCredentials` is called.
    1. Removed `Google_Auth_AssertionCredentials`. Use `Google_Client::setAuthConfig` instead.
    1. Removed `Google_Auth_ComputeEngine`. This is now supported in
    [`google/auth`][Google Auth GCE], and is used automatically when
    `Google_Client::useApplicationDefaultCredentials` is called.
    1. Removed `Google_Auth_Exception`
    1. Removed `Google_Auth_LoginTicket`. Calls to `Google_Client::verifyIdToken` now returns
    the payload of the ID Token as an array if the verification is successful.
    1. Removed `Google_Auth_OAuth2`. This functionality is now supported in [`google/auth`][Google Auth OAuth2] and wrapped in `Google_Client`. These changes will only affect applications calling `Google_Client::getAuth`,
    as the methods on `Google_Client` have not changed.
    1. Removed `Google_Auth_Simple`. This is now supported in [`google/auth`][Google Auth Simple]
    and is used automatically when `Google_Client::setDeveloperKey` is called.
 - `Google_Client::sign` has been replaced by `Google_Client::authorize`. This function
    now takes a `GuzzleHttp\ClientInterface` object and uses the following decision tree for
    authentication:
    1. Uses Application Default Credentials when
    `Google_Client::useApplicationDefaultCredentials` is called
      - Looks for `GOOGLE_APPLICATION_CREDENTIALS` environment variable if set
      - Looks in `~/.config/gcloud/application_default_credentials.json`
      - Otherwise, uses `GCECredentials`
    1. Uses API Key if set (see `Client::setDeveloperKey`)
    1. Uses Access Token if set (call `Client::setAccessToken`)
    1. Automatically refreshes access tokens if one is set and the access token is expired
 - Removed `Google_Config`
 - Removed `Google_Utils`
 - [`PSR-6`][PSR 6] cache is used for all caching. As a result:
    1. Removed `Google_Cache_Abstract`
    1. Classes `Google_Cache_Apc`, `Google_Cache_File`, `Google_Cache_Memcache`, and
    `Google_Cache_Null` now implement `Google\Auth\CacheInterface`.
    1. Google Auth provides simple [caching utilities][Google Auth Cache] which
   are used by default unless you provide alternatives.
 - Removed `$boundary` constructor argument for `Google_Http_MediaFileUpload`

[PSR 3]: https://www.php-fig.org/psr/psr-3/
[PSR 6]: https://www.php-fig.org/psr/psr-6/
[Guzzle 5]: https://github.com/guzzle/guzzle
[Guzzle 6]: http://docs.guzzlephp.org/en/latest/psr7.html
[Monolog]: https://github.com/Seldaek/monolog
[Google Auth]: https://github.com/google/google-auth-library-php
[Google Auth Cache]: https://github.com/googleapis/google-auth-library-php/tree/master/src/Cache
[Google Auth GCE]: https://github.com/google/google-auth-library-php/blob/master/src/GCECredentials.php
[Google Auth OAuth2]: https://github.com/google/google-auth-library-php/blob/master/src/OAuth2.php
[Google Auth Simple]: https://github.com/google/google-auth-library-php/blob/master/src/Simple.php
[Google Auth AppIdentity]: https://github.com/google/google-auth-library-php/blob/master/src/AppIdentityCredentials.php
[Firebase JWT]: https://github.com/firebase/php-jwt


================================================
FILE: lib/Google/composer.json
================================================
{
    "name": "google/apiclient",
    "type": "library",
    "description": "Client library for Google APIs",
    "keywords": ["google"],
    "homepage": "http://developers.google.com/api-client-library/php",
    "license": "Apache-2.0",
    "require": {
        "php": "^8.1",
        "google/auth": "^1.37",
        "google/apiclient-services": "~0.350",
        "firebase/php-jwt": "^6.0||^7.0",
        "monolog/monolog": "^2.9||^3.0",
        "phpseclib/phpseclib": "^3.0.36",
        "guzzlehttp/guzzle": "^7.4.5",
        "guzzlehttp/psr7": "^2.6",
        "google/cloud-storage": "^1.49",
        "google/cloud-core": "^1.60"
    },
    "require-dev": {
        "squizlabs/php_codesniffer": "^3.8",
        "symfony/dom-crawler": "~2.1",
        "symfony/css-selector": "~2.1",
        "phpcompatibility/php-compatibility": "^9.2",
        "composer/composer": "^2.9.3",
        "phpspec/prophecy-phpunit": "^2.1",
        "phpunit/phpunit": "^9.6",
        "symfony/process": "^6.4"
    },
    "suggest": {
        "cache/filesystem-adapter": "For caching certs and tokens (using Google\\Client::setCache)"
    },
    "autoload": {
        "psr-4": {
            "Google\\": "src/"
        },
        "files": [
            "src/aliases.php"
        ],
        "classmap": [
            "src/aliases.php"
        ]
    },
    "scripts": {
        "pre-autoload-dump": "Google\\Task\\Composer::cleanup"
    },
    "extra": {
        "google/apiclient-services": [
            "Storage"
        ],
        "branch-alias": {
            "dev-main": "2.x-dev"
        }
    }
}


================================================
FILE: lib/Google/phpstan.neon.dist
================================================
parameters:
    treatPhpDocTypesAsCertain: false
    level: 5
    paths:
    - src


================================================
FILE: lib/Google/src/AccessToken/Revoke.php
================================================
<?php

/*
 * Copyright 2008 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

namespace Google\AccessToken;

use Google\Auth\HttpHandler\HttpHandlerFactory;
use Google\Client;
use GuzzleHttp\ClientInterface;
use GuzzleHttp\Psr7;
use GuzzleHttp\Psr7\Request;

/**
 * Wrapper around Google Access Tokens which provides convenience functions
 *
 */
class Revoke
{
    /**
     * @var ClientInterface The http client
     */
    private $http;

    /**
     * Instantiates the class, but does not initiate the login flow, leaving it
     * to the discretion of the caller.
     */
    public function __construct(?ClientInterface $http = null)
    {
        $this->http = $http;
    }

    /**
     * Revoke an OAuth2 access token or refresh token. This method will revoke the current access
     * token, if a token isn't provided.
     *
     * @param string|array $token The token (access token or a refresh token) that should be revoked.
     * @return boolean Returns True if the revocation was successful, otherwise False.
     */
    public function revokeToken($token)
    {
        if (is_array($token)) {
            if (isset($token['refresh_token'])) {
                $token = $token['refresh_token'];
            } else {
                $token = $token['access_token'];
            }
        }

        $body = Psr7\Utils::streamFor(http_build_query(['token' => $token]));
        $request = new Request(
            'POST',
            Client::OAUTH2_REVOKE_URI,
            [
                'Cache-Control' => 'no-store',
                'Content-Type'  => 'application/x-www-form-urlencoded',
            ],
            $body
        );

        $httpHandler = HttpHandlerFactory::build($this->http);

        $response = $httpHandler($request);

        return $response->getStatusCode() == 200;
    }
}


================================================
FILE: lib/Google/src/AccessToken/Verify.php
================================================
<?php

/*
 * Copyright 2008 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

namespace Google\AccessToken;

use DateTime;
use DomainException;
use Exception;
use ExpiredException;
use Firebase\JWT\ExpiredException as ExpiredExceptionV3;
use Firebase\JWT\JWT;
use Firebase\JWT\Key;
use Firebase\JWT\SignatureInvalidException;
use Google\Auth\Cache\MemoryCacheItemPool;
use Google\Exception as GoogleException;
use GuzzleHttp\Client;
use GuzzleHttp\ClientInterface;
use InvalidArgumentException;
use LogicException;
use phpseclib3\Crypt\AES;
use phpseclib3\Crypt\PublicKeyLoader;
use phpseclib3\Math\BigInteger;
use Psr\Cache\CacheItemPoolInterface;

/**
 * Wrapper around Google Access Tokens which provides convenience functions
 *
 */
class Verify
{
    const FEDERATED_SIGNON_CERT_URL = 'https://www.googleapis.com/oauth2/v3/certs';
    const OAUTH2_ISSUER = 'accounts.google.com';
    const OAUTH2_ISSUER_HTTPS = 'https://accounts.google.com';

    /**
     * @var ClientInterface The http client
     */
    private $http;

    /**
     * @var CacheItemPoolInterface cache class
     */
    private $cache;

    /**
     * @var \Firebase\JWT\JWT
     */
    public $jwt;

    /**
     * Instantiates the class, but does not initiate the login flow, leaving it
     * to the discretion of the caller.
     */
    public function __construct(
        ?ClientInterface $http = null,
        ?CacheItemPoolInterface $cache = null,
        ?JWT $jwt = null
    ) {
        if (null === $http) {
            $http = new Client();
        }

        if (null === $cache) {
            $cache = new MemoryCacheItemPool();
        }

        $this->http = $http;
        $this->cache = $cache;
        $this->jwt = $jwt ?: $this->getJwtService();
    }

    /**
     * Verifies an id token and returns the authenticated apiLoginTicket.
     * Throws an exception if the id token is not valid.
     * The audience parameter can be used to control which id tokens are
     * accepted.  By default, the id token must have been issued to this OAuth2 client.
     *
     * @param string $idToken the ID token in JWT format
     * @param string $audience Optional. The audience to verify against JWt "aud"
     * @return array|false the token payload, if successful
     */
    public function verifyIdToken($idToken, $audience = null)
    {
        if (empty($idToken)) {
            throw new LogicException('id_token cannot be null');
        }

        // set phpseclib constants if applicable
        $this->setPhpsecConstants();

        // Check signature
        $certs = $this->getFederatedSignOnCerts();
        foreach ($certs as $cert) {
            try {
                $args = [$idToken];
                $publicKey = $this->getPublicKey($cert);
                if (class_exists(Key::class)) {
                    $args[] = new Key($publicKey, 'RS256');
                } else {
                    $args[] = $publicKey;
                    $args[] = ['RS256'];
                }
                $payload = \call_user_func_array([$this->jwt, 'decode'], $args);

                if (property_exists($payload, 'aud')) {
                    if ($audience && $payload->aud != $audience) {
                        return false;
                    }
                }

                // support HTTP and HTTPS issuers
                // @see https://developers.google.com/identity/sign-in/web/backend-auth
                $issuers = [self::OAUTH2_ISSUER, self::OAUTH2_ISSUER_HTTPS];
                if (!isset($payload->iss) || !in_array($payload->iss, $issuers)) {
                    return false;
                }

                return (array)$payload;
            } catch (ExpiredException $e) { // @phpstan-ignore-line
                return false;
            } catch (ExpiredExceptionV3 $e) {
                return false;
            } catch (SignatureInvalidException $e) {
                // continue
            } catch (DomainException $e) {
                // continue
            }
        }

        return false;
    }

    private function getCache()
    {
        return $this->cache;
    }

    /**
     * Retrieve and cache a certificates file.
     *
     * @param string $url location
     * @return array certificates
     * @throws \Google\Exception
     */
    private function retrieveCertsFromLocation($url)
    {
        // If we're retrieving a local file, just grab it.
        if (0 !== strpos($url, 'http')) {
            if (!$file = file_get_contents($url)) {
                throw new GoogleException(
                    "Failed to retrieve verification certificates: '".
                    $url."'."
                );
            }

            return json_decode($file, true);
        }

        // @phpstan-ignore-next-line
        $response = $this->http->get($url);

        if ($response->getStatusCode() == 200) {
            return json_decode((string)$response->getBody(), true);
        }
        throw new GoogleException(
            sprintf(
                'Failed to retrieve verification certificates: "%s".',
                $response->getBody()->getContents()
            ),
            $response->getStatusCode()
        );
    }

    // Gets federated sign-on certificates to use for verifying identity tokens.
    // Returns certs as array structure, where keys are key ids, and values
    // are PEM encoded certificates.
    private function getFederatedSignOnCerts()
    {
        $certs = null;
        if ($cache = $this->getCache()) {
            $cacheItem = $cache->getItem('federated_signon_certs_v3');
            $certs = $cacheItem->get();
        }


        if (!$certs) {
            $certs = $this->retrieveCertsFromLocation(
                self::FEDERATED_SIGNON_CERT_URL
            );

            if ($cache) {
                $cacheItem->expiresAt(new DateTime('+1 hour'));
                $cacheItem->set($certs);
                $cache->save($cacheItem);
            }
        }

        if (!isset($certs['keys'])) {
            throw new InvalidArgumentException(
                'federated sign-on certs expects "keys" to be set'
            );
        }

        return $certs['keys'];
    }

    private function getJwtService()
    {
        $jwt = new JWT();
        if ($jwt::$leeway < 1) {
            // Ensures JWT leeway is at least 1
            // @see https://github.com/google/google-api-php-client/issues/827
            $jwt::$leeway = 1;
        }

        return $jwt;
    }

    private function getPublicKey($cert)
    {
        $modulus = new BigInteger($this->jwt->urlsafeB64Decode($cert['n']), 256);
        $exponent = new BigInteger($this->jwt->urlsafeB64Decode($cert['e']), 256);
        $component = ['n' => $modulus, 'e' => $exponent];

        $loader = PublicKeyLoader::load($component);

        return $loader->toString('PKCS8');
    }

    /**
     * phpseclib calls "phpinfo" by default, which requires special
     * whitelisting in the AppEngine VM environment. This function
     * sets constants to bypass the need for phpseclib to check phpinfo
     *
     * @see phpseclib/Math/BigInteger
     * @see https://github.com/GoogleCloudPlatform/getting-started-php/issues/85
     */
    private function setPhpsecConstants()
    {
        if (filter_var(getenv('GAE_VM'), FILTER_VALIDATE_BOOLEAN)) {
            if (!defined('MATH_BIGINTEGER_OPENSSL_ENABLED')) {
                define('MATH_BIGINTEGER_OPENSSL_ENABLED', true);
            }
            if (!defined('CRYPT_RSA_MODE')) {
                define('CRYPT_RSA_MODE', AES::ENGINE_OPENSSL);
            }
        }
    }
}


================================================
FILE: lib/Google/src/AuthHandler/AuthHandlerFactory.php
================================================
<?php
/**
 * Copyright 2015 Google Inc. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

namespace Google\AuthHandler;

use Exception;
use GuzzleHttp\ClientInterface;

class AuthHandlerFactory
{
    /**
     * Builds out a default http handler for the installed version of guzzle.
     *
     * @return Guzzle6AuthHandler|Guzzle7AuthHandler
     * @throws Exception
     */
    public static function build($cache = null, array $cacheConfig = [])
    {
        $guzzleVersion = null;
        if (defined('\GuzzleHttp\ClientInterface::MAJOR_VERSION')) {
            $guzzleVersion = ClientInterface::MAJOR_VERSION;
        } elseif (defined('\GuzzleHttp\ClientInterface::VERSION')) {
            $guzzleVersion = (int) substr(ClientInterface::VERSION, 0, 1);
        }

        switch ($guzzleVersion) {
            case 6:
                return new Guzzle6AuthHandler($cache, $cacheConfig);
            case 7:
                return new Guzzle7AuthHandler($cache, $cacheConfig);
            default:
                throw new Exception('Version not supported');
        }
    }
}


================================================
FILE: lib/Google/src/AuthHandler/Guzzle6AuthHandler.php
================================================
<?php

namespace Google\AuthHandler;

use Google\Auth\FetchAuthTokenCache;
use Google\Auth\FetchAuthTokenInterface;
use Google\Auth\HttpHandler\HttpHandlerFactory;
use Google\Auth\Middleware\AuthTokenMiddleware;
use Google\Auth\Middleware\ScopedAccessTokenMiddleware;
use Google\Auth\Middleware\SimpleMiddleware;
use GuzzleHttp\Client;
use GuzzleHttp\ClientInterface;
use Psr\Cache\CacheItemPoolInterface;

/**
 * This supports Guzzle 6
 */
class Guzzle6AuthHandler
{
    protected $cache;
    protected $cacheConfig;

    public function __construct(?CacheItemPoolInterface $cache = null, array $cacheConfig = [])
    {
        $this->cache = $cache;
        $this->cacheConfig = $cacheConfig;
    }

    public function attachCredentials(
        ClientInterface $http,
        FetchAuthTokenInterface $credentials,
        ?callable $tokenCallback = null
    ) {
        // use the provided cache
        if ($this->cache) {
            $credentials = new FetchAuthTokenCache(
                $credentials,
                $this->cacheConfig,
                $this->cache
            );
        }

        return $this->attachToHttp($http, $credentials, $tokenCallback);
    }

    public function attachCredentialsCache(
        ClientInterface $http,
        FetchAuthTokenCache $credentials,
        ?callable $tokenCallback = null
    ) {
        return $this->attachToHttp($http, $credentials, $tokenCallback);
    }

    private function attachToHttp(
        ClientInterface $http,
        FetchAuthTokenInterface $credentials,
        ?callable $tokenCallback = null
    ) {
        // if we end up needing to make an HTTP request to retrieve credentials, we
        // can use our existing one, but we need to throw exceptions so the error
        // bubbles up.
        $authHttp = $this->createAuthHttp($http);
        $authHttpHandler = HttpHandlerFactory::build($authHttp);
        $middleware = new AuthTokenMiddleware(
            $credentials,
            $authHttpHandler,
            $tokenCallback
        );

        $config = $http->getConfig();
        $config['handler']->remove('google_auth');
        $config['handler']->push($middleware, 'google_auth');
        $config['auth'] = 'google_auth';
        return new Client($config);
    }

    public function attachToken(ClientInterface $http, array $token, array $scopes)
    {
        $tokenFunc = function ($scopes) use ($token) {
            return $token['access_token'];
        };

        // Derive a cache prefix from the token, to ensure setting a new token
        // results in a cache-miss.
        // Note: Supplying a custom "prefix" will bust this behavior.
        $cacheConfig = $this->cacheConfig;
        if (!isset($cacheConfig['prefix']) && isset($token['access_token'])) {
            $cacheConfig['prefix'] = substr(sha1($token['access_token']), -10);
        }

        $middleware = new ScopedAccessTokenMiddleware(
            $tokenFunc,
            $scopes,
            $cacheConfig,
            $this->cache
        );

        $config = $http->getConfig();
        $config['handler']->remove('google_auth');
        $config['handler']->push($middleware, 'google_auth');
        $config['auth'] = 'scoped';
        $http = new Client($config);

        return $http;
    }

    public function attachKey(ClientInterface $http, $key)
    {
        $middleware = new SimpleMiddleware(['key' => $key]);

        $config = $http->getConfig();
        $config['handler']->remove('google_auth');
        $config['handler']->push($middleware, 'google_auth');
        $config['auth'] = 'simple';
        $http = new Client($config);

        return $http;
    }

    private function createAuthHttp(ClientInterface $http)
    {
        return new Client(['http_errors' => true] + $http->getConfig());
    }
}


================================================
FILE: lib/Google/src/AuthHandler/Guzzle7AuthHandler.php
================================================
<?php
/**
 * Copyright 2020 Google LLC
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

namespace Google\AuthHandler;

/**
 * This supports Guzzle 7
 */
class Guzzle7AuthHandler extends Guzzle6AuthHandler
{
}


================================================
FILE: lib/Google/src/Client.php
================================================
<?php
/*
 * Copyright 2010 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

namespace Google;

use BadMethodCallException;
use DomainException;
use Google\AccessToken\Revoke;
use Google\AccessToken\Verify;
use Google\Auth\ApplicationDefaultCredentials;
use Google\Auth\Cache\MemoryCacheItemPool;
use Google\Auth\Credentials\ServiceAccountCredentials;
use Google\Auth\Credentials\UserRefreshCredentials;
use Google\Auth\CredentialsLoader;
use Google\Auth\FetchAuthTokenCache;
use Google\Auth\FetchAuthTokenInterface;
use Google\Auth\GetUniverseDomainInterface;
use Google\Auth\HttpHandler\HttpHandlerFactory;
use Google\Auth\OAuth2;
use Google\AuthHandler\AuthHandlerFactory;
use Google\Http\REST;
use GuzzleHttp\Client as GuzzleClient;
use GuzzleHttp\ClientInterface;
use GuzzleHttp\Ring\Client\StreamHandler;
use InvalidArgumentException;
use LogicException;
use Monolog\Handler\StreamHandler as MonologStreamHandler;
use Monolog\Handler\SyslogHandler as MonologSyslogHandler;
use Monolog\Logger;
use Psr\Cache\CacheItemPoolInterface;
use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Log\LoggerInterface;
use UnexpectedValueException;

/**
 * The Google API Client
 * https://github.com/google/google-api-php-client
 */
class Client
{
    const LIBVER = "2.12.6";
    const USER_AGENT_SUFFIX = "google-api-php-client/";
    const OAUTH2_REVOKE_URI = 'https://oauth2.googleapis.com/revoke';
    const OAUTH2_TOKEN_URI = 'https://oauth2.googleapis.com/token';
    const OAUTH2_AUTH_URL = 'https://accounts.google.com/o/oauth2/v2/auth';
    const API_BASE_PATH = 'https://www.googleapis.com';

    /**
     * @var ?OAuth2 $auth
     */
    private $auth;

    /**
     * @var ClientInterface $http
     */
    private $http;

    /**
     * @var ?CacheItemPoolInterface $cache
     */
    private $cache;

    /**
     * @var array access token
     */
    private $token;

    /**
     * @var array $config
     */
    private $config;

    /**
     * @var ?LoggerInterface $logger
     */
    private $logger;

    /**
     * @var ?FetchAuthTokenInterface $credentials
     */
    private $credentials;

    /**
     * @var boolean $deferExecution
     */
    private $deferExecution = false;

    /** @var array $scopes */
    // Scopes requested by the client
    protected $requestedScopes = [];

    /**
     * Construct the Google Client.
     *
     * @param array $config {
     *     An array of required and optional arguments.
     *
     *     @type string $application_name
     *           The name of your application
     *     @type string $base_path
     *           The base URL for the service. This is only accounted for when calling
     *           {@see Client::authorize()} directly.
     *     @type string $client_id
     *           Your Google Cloud client ID found in https://developers.google.com/console
     *     @type string $client_secret
     *           Your Google Cloud client secret found in https://developers.google.com/console
     *     @type string|array|FetchAuthTokenInterface $credentials
     *           Can be a path to JSON credentials or an array representing those
     *           credentials (@see Google\Client::setAuthConfig), or an instance of
     *           {@see FetchAuthTokenInterface}.
     *     @type string|array $scopes
     *           {@see Google\Client::setScopes}
     *     @type string $quota_project
     *           Sets X-Goog-User-Project, which specifies a user project to bill
     *           for access charges associated with the request.
     *     @type string $redirect_uri
     *     @type string $state
     *     @type string $developer_key
     *           Simple API access key, also from the API console. Ensure you get
     *           a Server key, and not a Browser key.
     *           **NOTE:** The universe domain is assumed to be "googleapis.com" unless
     *           explicitly set. When setting an API ley directly via this option, there
     *           is no way to verify the universe domain. Be sure to set the
     *           "universe_domain" option if "googleapis.com" is not intended.
     *     @type bool $use_application_default_credentials
     *           For use with Google Cloud Platform
     *           fetch the ApplicationDefaultCredentials, if applicable
     *           {@see https://developers.google.com/identity/protocols/application-default-credentials}
     *     @type string $signing_key
     *     @type string $signing_algorithm
     *     @type string $subject
     *     @type string $hd
     *     @type string $prompt
     *     @type string $openid
     *     @type bool $include_granted_scopes
     *     @type string $login_hint
     *     @type string $request_visible_actions
     *     @type string $access_type
     *     @type string $approval_prompt
     *     @type array $retry
     *           Task Runner retry configuration
     *           {@see \Google\Task\Runner}
     *     @type array $retry_map
     *     @type CacheItemPoolInterface $cache
     *           Cache class implementing {@see CacheItemPoolInterface}. Defaults
     *           to {@see MemoryCacheItemPool}.
     *     @type array $cache_config
     *           Cache config for downstream auth caching.
     *     @type callable $token_callback
     *           Function to be called when an access token is fetched. Follows
     *           the signature `function (string $cacheKey, string $accessToken)`.
     *     @type \Firebase\JWT $jwt
     *           Service class used in {@see Client::verifyIdToken()}. Explicitly
     *           pass this in to avoid setting {@see \Firebase\JWT::$leeway}
     *     @type bool $api_format_v2
     *           Setting api_format_v2 will return more detailed error messages
     *           from certain APIs.
     *     @type string $universe_domain
     *           Setting the universe domain will change the default rootUrl of the service.
     *           If not set explicitly, the universe domain will be the value provided in the
     *.          "GOOGLE_CLOUD_UNIVERSE_DOMAIN" environment variable, or "googleapis.com".
     *  }
     */
    public function __construct(array $config = [])
    {
        $this->config = array_merge([
            'application_name' => '',
            'base_path' => self::API_BASE_PATH,
            'client_id' => '',
            'client_secret' => '',
            'credentials' => null,
            'scopes' => null,
            'quota_project' => null,
            'redirect_uri' => null,
            'state' => null,
            'developer_key' => '',
            'use_application_default_credentials' => false,
            'signing_key' => null,
            'signing_algorithm' => null,
            'subject' => null,
            'hd' => '',
            'prompt' => '',
            'openid.realm' => '',
            'include_granted_scopes' => null,
            'logger' => null,
            'login_hint' => '',
            'request_visible_actions' => '',
            'access_type' => 'online',
            'approval_prompt' => 'auto',
            'retry' => [],
            'retry_map' => null,
            'cache' => null,
            'cache_config' => [],
            'token_callback' => null,
            'jwt' => null,
            'api_format_v2' => false,
            'universe_domain' => getenv('GOOGLE_CLOUD_UNIVERSE_DOMAIN')
                ?: GetUniverseDomainInterface::DEFAULT_UNIVERSE_DOMAIN,
        ], $config);

        if (!is_null($this->config['credentials'])) {
            if ($this->config['credentials'] instanceof FetchAuthTokenInterface) {
                $this->credentials = $this->config['credentials'];
            } else {
                $this->setAuthConfig($this->config['credentials']);
            }
            unset($this->config['credentials']);
        }

        if (!is_null($this->config['scopes'])) {
            $this->setScopes($this->config['scopes']);
            unset($this->config['scopes']);
        }

        // Set a default token callback to update the in-memory access token
        if (is_null($this->config['token_callback'])) {
            $this->config['token_callback'] = function ($cacheKey, $newAccessToken) {
                $this->setAccessToken(
                    [
                    'access_token' => $newAccessToken,
                    'expires_in' => 3600, // Google default
                    'created' => time(),
                    ]
                );
            };
        }

        if (!is_null($this->config['cache'])) {
            $this->setCache($this->config['cache']);
            unset($this->config['cache']);
        }

        if (!is_null($this->config['logger'])) {
            $this->setLogger($this->config['logger']);
            unset($this->config['logger']);
        }
    }

    /**
     * Get a string containing the version of the library.
     *
     * @return string
     */
    public function getLibraryVersion()
    {
        return self::LIBVER;
    }

    /**
     * For backwards compatibility
     * alias for fetchAccessTokenWithAuthCode
     *
     * @param string $code string code from accounts.google.com
     * @return array access token
     * @deprecated
     */
    public function authenticate($code)
    {
        return $this->fetchAccessTokenWithAuthCode($code);
    }

    /**
     * Attempt to exchange a code for an valid authentication token.
     * Helper wrapped around the OAuth 2.0 implementation.
     *
     * @param string $code code from accounts.google.com
     * @param string $codeVerifier the code verifier used for PKCE (if applicable)
     * @return array access token
     */
    public function fetchAccessTokenWithAuthCode($code, $codeVerifier = null)
    {
        if (strlen($code) == 0) {
            throw new InvalidArgumentException("Invalid code");
        }

        $auth = $this->getOAuth2Service();
        $auth->setCode($code);
        $auth->setRedirectUri($this->getRedirectUri());
        if ($codeVerifier) {
            $auth->setCodeVerifier($codeVerifier);
        }

        $httpHandler = HttpHandlerFactory::build($this->getHttpClient());
        $creds = $auth->fetchAuthToken($httpHandler);
        if ($creds && isset($creds['access_token'])) {
            $creds['created'] = time();
            $this->setAccessToken($creds);
        }

        return $creds;
    }

    /**
     * For backwards compatibility
     * alias for fetchAccessTokenWithAssertion
     *
     * @return array access token
     * @deprecated
     */
    public function refreshTokenWithAssertion()
    {
        return $this->fetchAccessTokenWithAssertion();
    }

    /**
     * Fetches a fresh access token with a given assertion token.
     * @param ClientInterface $authHttp optional.
     * @return array access token
     */
    public function fetchAccessTokenWithAssertion(?ClientInterface $authHttp = null)
    {
        if (!$this->isUsingApplicationDefaultCredentials()) {
            throw new DomainException(
                'set the JSON service account credentials using'
                . ' Google\Client::setAuthConfig or set the path to your JSON file'
                . ' with the "GOOGLE_APPLICATION_CREDENTIALS" environment variable'
                . ' and call Google\Client::useApplicationDefaultCredentials to'
                . ' refresh a token with assertion.'
            );
        }

        $this->getLogger()->log(
            'info',
            'OAuth2 access token refresh with Signed JWT assertion grants.'
        );

        $credentials = $this->createApplicationDefaultCredentials();

        $httpHandler = HttpHandlerFactory::build($authHttp);
        $creds = $credentials->fetchAuthToken($httpHandler);
        if ($creds && isset($creds['access_token'])) {
            $creds['created'] = time();
            $this->setAccessToken($creds);
        }

        return $creds;
    }

    /**
     * For backwards compatibility
     * alias for fetchAccessTokenWithRefreshToken
     *
     * @param string $refreshToken
     * @return array access token
     */
    public function refreshToken($refreshToken)
    {
        return $this->fetchAccessTokenWithRefreshToken($refreshToken);
    }

    /**
     * Fetches a fresh OAuth 2.0 access token with the given refresh token.
     * @param string $refreshToken
     * @return array access token
     */
    public function fetchAccessTokenWithRefreshToken($refreshToken = null)
    {
        if (null === $refreshToken) {
            if (!isset($this->token['refresh_token'])) {
                throw new LogicException(
                    'refresh token must be passed in or set as part of setAccessToken'
                );
            }
            $refreshToken = $this->token['refresh_token'];
        }
        $this->getLogger()->info('OAuth2 access token refresh');
        $auth = $this->getOAuth2Service();
        $auth->setRefreshToken($refreshToken);

        $httpHandler = HttpHandlerFactory::build($this->getHttpClient());
        $creds = $auth->fetchAuthToken($httpHandler);
        if ($creds && isset($creds['access_token'])) {
            $creds['created'] = time();
            if (!isset($creds['refresh_token'])) {
                $creds['refresh_token'] = $refreshToken;
            }
            $this->setAccessToken($creds);
        }

        return $creds;
    }

    /**
     * Create a URL to obtain user authorization.
     * The authorization endpoint allows the user to first
     * authenticate, and then grant/deny the access request.
     * @param string|array $scope The scope is expressed as an array or list of space-delimited strings.
     * @param array $queryParams Querystring params to add to the authorization URL.
     * @return string
     */
    public function createAuthUrl($scope = null, array $queryParams = [])
    {
        if (empty($scope)) {
            $scope = $this->prepareScopes();
        }
        if (is_array($scope)) {
            $scope = implode(' ', $scope);
        }

        // only accept one of prompt or approval_prompt
        $approvalPrompt = $this->config['prompt']
            ? null
            : $this->config['approval_prompt'];

        // include_granted_scopes should be string "true", string "false", or null
        $includeGrantedScopes = $this->config['include_granted_scopes'] === null
            ? null
            : var_export($this->config['include_granted_scopes'], true);

        $params = array_filter([
            'access_type' => $this->config['access_type'],
            'approval_prompt' => $approvalPrompt,
            'hd' => $this->config['hd'],
            'include_granted_scopes' => $includeGrantedScopes,
            'login_hint' => $this->config['login_hint'],
            'openid.realm' => $this->config['openid.realm'],
            'prompt' => $this->config['prompt'],
            'redirect_uri' => $this->config['redirect_uri'],
            'response_type' => 'code',
            'scope' => $scope,
            'state' => $this->config['state'],
        ]) + $queryParams;

        // If the list of scopes contains plus.login, add request_visible_actions
        // to auth URL.
        $rva = $this->config['request_visible_actions'];
        if (strlen($rva) > 0 && false !== strpos($scope, 'plus.login')) {
            $params['request_visible_actions'] = $rva;
        }

        $auth = $this->getOAuth2Service();

        return (string) $auth->buildFullAuthorizationUri($params);
    }

    /**
     * Adds auth listeners to the HTTP client based on the credentials
     * set in the Google API Client object
     *
     * @param ClientInterface $http the http client object.
     * @return ClientInterface the http client object
     */
    public function authorize(?ClientInterface $http = null)
    {
        $http = $http ?: $this->getHttpClient();
        $authHandler = $this->getAuthHandler();

        // These conditionals represent the decision tree for authentication
        //   1.  Check if an instance of Google\Auth\FetchAuthTokenInterface has
        //       been supplied via the "credentials" option
        //   2.  Check for Application Default Credentials
        //   3a. Check for an Access Token
        //   3b. If access token exists but is expired, try to refresh it
        //   4.  Check for API Key
        if ($this->credentials) {
            $this->checkUniverseDomain($this->credentials);
            return $authHandler->attachCredentials(
                $http,
                $this->credentials,
                $this->config['token_callback']
            );
        }

        if ($this->isUsingApplicationDefaultCredentials()) {
            $credentials = $this->createApplicationDefaultCredentials();
            $this->checkUniverseDomain($credentials);
            return $authHandler->attachCredentialsCache(
                $http,
                $credentials,
                $this->config['token_callback']
            );
        }

        if ($token = $this->getAccessToken()) {
            $scopes = $this->prepareScopes();
            // add refresh subscriber to request a new token
            if (isset($token['refresh_token']) && $this->isAccessTokenExpired()) {
                $credentials = $this->createUserRefreshCredentials(
                    $scopes,
                    $token['refresh_token']
                );
                $this->checkUniverseDomain($credentials);
                return $authHandler->attachCredentials(
                    $http,
                    $credentials,
                    $this->config['token_callback']
                );
            }

            return $authHandler->attachToken($http, $token, (array) $scopes);
        }

        if ($key = $this->config['developer_key']) {
            return $authHandler->attachKey($http, $key);
        }

        return $http;
    }

    /**
     * Set the configuration to use application default credentials for
     * authentication
     *
     * @see https://developers.google.com/identity/protocols/application-default-credentials
     * @param boolean $useAppCreds
     */
    public function useApplicationDefaultCredentials($useAppCreds = true)
    {
        $this->config['use_application_default_credentials'] = $useAppCreds;
    }

    /**
     * To prevent useApplicationDefaultCredentials from inappropriately being
     * called in a conditional
     *
     * @see https://developers.google.com/identity/protocols/application-default-credentials
     */
    public function isUsingApplicationDefaultCredentials()
    {
        return $this->config['use_application_default_credentials'];
    }

    /**
     * Set the access token used for requests.
     *
     * Note that at the time requests are sent, tokens are cached. A token will be
     * cached for each combination of service and authentication scopes. If a
     * cache pool is not provided, creating a new instance of the client will
     * allow modification of access tokens. If a persistent cache pool is
     * provided, in order to change the access token, you must clear the cached
     * token by calling `$client->getCache()->clear()`. (Use caution in this case,
     * as calling `clear()` will remove all cache items, including any items not
     * related to Google API PHP Client.)
     *
     * **NOTE:** The universe domain is assumed to be "googleapis.com" unless
     * explicitly set. When setting an access token directly via this method, there
     * is no way to verify the universe domain. Be sure to set the "universe_domain"
     * option if "googleapis.com" is not intended.
     *
     * @param string|array $token
     * @throws InvalidArgumentException
     */
    public function setAccessToken($token)
    {
        if (is_string($token)) {
            if ($json = json_decode($token, true)) {
                $token = $json;
            } else {
                // assume $token is just the token string
                $token = [
                    'access_token' => $token,
                ];
            }
        }
        if ($token == null) {
            throw new InvalidArgumentException('invalid json token');
        }
        if (!isset($token['access_token'])) {
            throw new InvalidArgumentException("Invalid token format");
        }
        $this->token = $token;
    }

    public function getAccessToken()
    {
        return $this->token;
    }

    /**
     * @return string|null
     */
    public function getRefreshToken()
    {
        if (isset($this->token['refresh_token'])) {
            return $this->token['refresh_token'];
        }

        return null;
    }

    /**
     * Returns if the access_token is expired.
     * @return bool Returns True if the access_token is expired.
     */
    public function isAccessTokenExpired()
    {
        if (!$this->token) {
            return true;
        }

        $created = 0;
        if (isset($this->token['created'])) {
            $created = $this->token['created'];
        } elseif (isset($this->token['id_token'])) {
            // check the ID token for "iat"
            // signature verification is not required here, as we are just
            // using this for convenience to save a round trip request
            // to the Google API server
            $idToken = $this->token['id_token'];
            if (substr_count($idToken, '.') == 2) {
                $parts = explode('.', $idToken);
                $payload = json_decode(base64_decode($parts[1]), true);
                if ($payload && isset($payload['iat'])) {
                    $created = $payload['iat'];
                }
            }
        }
        if (!isset($this->token['expires_in'])) {
            // if the token does not have an "expires_in", then it's considered expired
            return true;
        }

        // If the token is set to expire in the next 30 seconds.
        return ($created + ($this->token['expires_in'] - 30)) < time();
    }

    /**
     * @deprecated See UPGRADING.md for more information
     */
    public function getAuth()
    {
        throw new BadMethodCallException(
            'This function no longer exists. See UPGRADING.md for more information'
        );
    }

    /**
     * @deprecated See UPGRADING.md for more information
     */
    public function setAuth($auth)
    {
        throw new BadMethodCallException(
            'This function no longer exists. See UPGRADING.md for more information'
        );
    }

    /**
     * Set the OAuth 2.0 Client ID.
     * @param string $clientId
     */
    public function setClientId($clientId)
    {
        $this->config['client_id'] = $clientId;
    }

    public function getClientId()
    {
        return $this->config['client_id'];
    }

    /**
     * Set the OAuth 2.0 Client Secret.
     * @param string $clientSecret
     */
    public function setClientSecret($clientSecret)
    {
        $this->config['client_secret'] = $clientSecret;
    }

    public function getClientSecret()
    {
        return $this->config['client_secret'];
    }

    /**
     * Set the OAuth 2.0 Redirect URI.
     * @param string $redirectUri
     */
    public function setRedirectUri($redirectUri)
    {
        $this->config['redirect_uri'] = $redirectUri;
    }

    public function getRedirectUri()
    {
        return $this->config['redirect_uri'];
    }

    /**
     * Set OAuth 2.0 "state" parameter to achieve per-request customization.
     * @see http://tools.ietf.org/html/draft-ietf-oauth-v2-22#section-3.1.2.2
     * @param string $state
     */
    public function setState($state)
    {
        $this->config['state'] = $state;
    }

    /**
     * @param string $accessType Possible values for access_type include:
     *  {@code "offline"} to request offline access from the user.
     *  {@code "online"} to request online access from the user.
     */
    public function setAccessType($accessType)
    {
        $this->config['access_type'] = $accessType;
    }

    /**
     * @param string $approvalPrompt Possible values for approval_prompt include:
     *  {@code "force"} to force the approval UI to appear.
     *  {@code "auto"} to request auto-approval when possible. (This is the default value)
     */
    public function setApprovalPrompt($approvalPrompt)
    {
        $this->config['approval_prompt'] = $approvalPrompt;
    }

    /**
     * Set the login hint, email address or sub id.
     * @param string $loginHint
     */
    public function setLoginHint($loginHint)
    {
        $this->config['login_hint'] = $loginHint;
    }

    /**
     * Set the application name, this is included in the User-Agent HTTP header.
     * @param string $applicationName
     */
    public function setApplicationName($applicationName)
    {
        $this->config['application_name'] = $applicationName;
    }

    /**
     * If 'plus.login' is included in the list of requested scopes, you can use
     * this method to define types of app activities that your app will write.
     * You can find a list of available types here:
     * @link https://developers.google.com/+/api/moment-types
     *
     * @param array $requestVisibleActions Array of app activity types
     */
    public function setRequestVisibleActions($requestVisibleActions)
    {
        if (is_array($requestVisibleActions)) {
            $requestVisibleActions = implode(" ", $requestVisibleActions);
        }
        $this->config['request_visible_actions'] = $requestVisibleActions;
    }

    /**
     * Set the developer key to use, these are obtained through the API Console.
     * @see http://code.google.com/apis/console-help/#generatingdevkeys
     * @param string $developerKey
     */
    public function setDeveloperKey($developerKey)
    {
        $this->config['developer_key'] = $developerKey;
    }

    /**
     * Set the hd (hosted domain) parameter streamlines the login process for
     * Google Apps hosted accounts. By including the domain of the user, you
     * restrict sign-in to accounts at that domain.
     * @param string $hd the domain to use.
     */
    public function setHostedDomain($hd)
    {
        $this->config['hd'] = $hd;
    }

    /**
     * Set the prompt hint. Valid values are none, consent and select_account.
     * If no value is specified and the user has not previously authorized
     * access, then the user is shown a consent screen.
     * @param string $prompt
     *  {@code "none"} Do not display any authentication or consent screens. Must not be specified with other values.
     *  {@code "consent"} Prompt the user for consent.
     *  {@code "select_account"} Prompt the user to select an account.
     */
    public function setPrompt($prompt)
    {
        $this->config['prompt'] = $prompt;
    }

    /**
     * openid.realm is a parameter from the OpenID 2.0 protocol, not from OAuth
     * 2.0. It is used in OpenID 2.0 requests to signify the URL-space for which
     * an authentication request is valid.
     * @param string $realm the URL-space to use.
     */
    public function setOpenidRealm($realm)
    {
        $this->config['openid.realm'] = $realm;
    }

    /**
     * If this is provided with the value true, and the authorization request is
     * granted, the authorization will include any previous authorizations
     * granted to this user/application combination for other scopes.
     * @param bool $include the URL-space to use.
     */
    public function setIncludeGrantedScopes($include)
    {
        $this->config['include_granted_scopes'] = $include;
    }

    /**
     * sets function to be called when an access token is fetched
     * @param callable $tokenCallback - function ($cacheKey, $accessToken)
     */
    public function setTokenCallback(callable $tokenCallback)
    {
        $this->config['token_callback'] = $tokenCallback;
    }

    /**
     * Revoke an OAuth2 access token or refresh token. This method will revoke the current access
     * token, if a token isn't provided.
     *
     * @param string|array|null $token The token (access token or a refresh token) that should be revoked.
     * @return boolean Returns True if the revocation was successful, otherwise False.
     */
    public function revokeToken($token = null)
    {
        $tokenRevoker = new Revoke($this->getHttpClient());

        return $tokenRevoker->revokeToken($token ?: $this->getAccessToken());
    }

    /**
     * Verify an id_token. This method will verify the current id_token, if one
     * isn't provided.
     *
     * @throws LogicException If no token was provided and no token was set using `setAccessToken`.
     * @throws UnexpectedValueException If the token is not a valid JWT.
     * @param string|null $idToken The token (id_token) that should be verified.
     * @return array|false Returns the token payload as an array if the verification was
     * successful, false otherwise.
     */
    public function verifyIdToken($idToken = null)
    {
        $tokenVerifier = new Verify(
            $this->getHttpClient(),
            $this->getCache(),
            $this->config['jwt']
        );

        if (null === $idToken) {
            $token = $this->getAccessToken();
            if (!isset($token['id_token'])) {
                throw new LogicException(
                    'id_token must be passed in or set as part of setAccessToken'
                );
            }
            $idToken = $token['id_token'];
        }

        return $tokenVerifier->verifyIdToken(
            $idToken,
            $this->getClientId()
        );
    }

    /**
     * Set the scopes to be requested. Must be called before createAuthUrl().
     * Will remove any previously configured scopes.
     * @param string|array $scope_or_scopes, ie:
     *    array(
     *        'https://www.googleapis.com/auth/plus.login',
     *        'https://www.googleapis.com/auth/moderator'
     *    );
     */
    public function setScopes($scope_or_scopes)
    {
        $this->requestedScopes = [];
        $this->addScope($scope_or_scopes);
    }

    /**
     * This functions adds a scope to be requested as part of the OAuth2.0 flow.
     * Will append any scopes not previously requested to the scope parameter.
     * A single string will be treated as a scope to request. An array of strings
     * will each be appended.
     * @param string|string[] $scope_or_scopes e.g. "profile"
     */
    public function addScope($scope_or_scopes)
    {
        if (is_string($scope_or_scopes) && !in_array($scope_or_scopes, $this->requestedScopes)) {
            $this->requestedScopes[] = $scope_or_scopes;
        } elseif (is_array($scope_or_scopes)) {
            foreach ($scope_or_scopes as $scope) {
                $this->addScope($scope);
            }
        }
    }

    /**
     * Returns the list of scopes requested by the client
     * @return array the list of scopes
     *
     */
    public function getScopes()
    {
        return $this->requestedScopes;
    }

    /**
     * @return string|null
     * @visible For Testing
     */
    public function prepareScopes()
    {
        if (empty($this->requestedScopes)) {
            return null;
        }

        return implode(' ', $this->requestedScopes);
    }

    /**
     * Helper method to execute deferred HTTP requests.
     *
     * @template T
     * @param RequestInterface $request
     * @param class-string<T>|false|null $expectedClass
     * @throws \Google\Exception
     * @return mixed|T|ResponseInterface
     */
    public function execute(RequestInterface $request, $expectedClass = null)
    {
        $request = $request
            ->withHeader(
                'User-Agent',
                sprintf(
                    '%s %s%s',
                    $this->config['application_name'],
                    self::USER_AGENT_SUFFIX,
                    $this->getLibraryVersion()
                )
            )
            ->withHeader(
                'x-goog-api-client',
                sprintf(
                    'gl-php/%s gdcl/%s',
                    phpversion(),
                    $this->getLibraryVersion()
                )
            );

        if ($this->config['api_format_v2']) {
            $request = $request->withHeader(
                'X-GOOG-API-FORMAT-VERSION',
                '2'
            );
        }

        // call the authorize method
        // this is where most of the grunt work is done
        $http = $this->authorize();

        return REST::execute(
            $http,
            $request,
            $expectedClass,
            $this->config['retry'],
            $this->config['retry_map']
        );
    }

    /**
     * Declare whether batch calls should be used. This may increase throughput
     * by making multiple requests in one connection.
     *
     * @param boolean $useBatch True if the batch support should
     * be enabled. Defaults to False.
     */
    public function setUseBatch($useBatch)
    {
        // This is actually an alias for setDefer.
        $this->setDefer($useBatch);
    }

    /**
     * Are we running in Google AppEngine?
     * return bool
     */
    public function isAppEngine()
    {
        return (isset($_SERVER['SERVER_SOFTWARE']) &&
            strpos($_SERVER['SERVER_SOFTWARE'], 'Google App Engine') !== false);
    }

    public function setConfig($name, $value)
    {
        $this->config[$name] = $value;
    }

    public function getConfig($name, $default = null)
    {
        return isset($this->config[$name]) ? $this->config[$name] : $default;
    }

    /**
     * For backwards compatibility
     * alias for setAuthConfig
     *
     * @param string $file the configuration file
     * @throws \Google\Exception
     * @deprecated
     */
    public function setAuthConfigFile($file)
    {
        $this->setAuthConfig($file);
    }

    /**
     * Set the auth config from new or deprecated JSON config.
     * This structure should match the file downloaded from
     * the "Download JSON" button on in the Google Developer
     * Console.
     * @param string|array $config the configuration json
     * @throws \Google\Exception
     */
    public function setAuthConfig($config)
    {
        if (is_string($config)) {
            if (!file_exists($config)) {
                throw new InvalidArgumentException(sprintf('file "%s" does not exist', $config));
            }

            $json = file_get_contents($config);

            if (!$config = json_decode($json, true)) {
                throw new LogicException('invalid json for auth config');
            }
        }

        $key = isset($config['installed']) ? 'installed' : 'web';
        if (isset($config['type']) && $config['type'] == 'service_account') {
            // @TODO(v3): Remove this, as it isn't accurate. ADC applies only to determining
            // credentials based on the user's environment.
            $this->useApplicationDefaultCredentials();

            // set the information from the config
            $this->setClientId($config['client_id']);
            $this->config['client_email'] = $config['client_email'];
            $this->config['signing_key'] = $config['private_key'];
            $this->config['signing_algorithm'] = 'HS256';
        } elseif (isset($config[$key])) {
            // old-style
            $this->setClientId($config[$key]['client_id']);
            $this->setClientSecret($config[$key]['client_secret']);
            if (isset($config[$key]['redirect_uris'])) {
                $this->setRedirectUri($config[$key]['redirect_uris'][0]);
            }
        } else {
            // new-style
            $this->setClientId($config['client_id']);
            $this->setClientSecret($config['client_secret']);
            if (isset($config['redirect_uris'])) {
                $this->setRedirectUri($config['redirect_uris'][0]);
            }
        }
    }

    /**
     * Use when the service account has been delegated domain wide access.
     *
     * @param string $subject an email address account to impersonate
     */
    public function setSubject($subject)
    {
        $this->config['subject'] = $subject;
    }

    /**
     * Declare whether making API calls should make the call immediately, or
     * return a request which can be called with ->execute();
     *
     * @param boolean $defer True if calls should not be executed right away.
     */
    public function setDefer($defer)
    {
        $this->deferExecution = $defer;
    }

    /**
     * Whether or not to return raw requests
     * @return boolean
     */
    public function shouldDefer()
    {
        return $this->deferExecution;
    }

    /**
     * @return OAuth2 implementation
     */
    public function getOAuth2Service()
    {
        if (!isset($this->auth)) {
            $this->auth = $this->createOAuth2Service();
        }

        return $this->auth;
    }

    /**
     * create a default google auth object
     */
    protected function createOAuth2Service()
    {
        $auth = new OAuth2([
            'clientId'          => $this->getClientId(),
            'clientSecret'      => $this->getClientSecret(),
            'authorizationUri'   => self::OAUTH2_AUTH_URL,
            'tokenCredentialUri' => self::OAUTH2_TOKE
Download .txt
gitextract_pxv_oo3a/

├── .github/
│   ├── dependabot.yml
│   └── workflows/
│       ├── publish-release.yml
│       └── security-scan.yml
├── .gitignore
├── LICENSE
├── SECURITY.md
├── changelog.txt
├── changes.md
├── composer.json
├── l10n.php
├── lib/
│   ├── Google/
│   │   ├── CHANGELOG.md
│   │   ├── CODE_OF_CONDUCT.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── SECURITY.md
│   │   ├── UPGRADING.md
│   │   ├── composer.json
│   │   ├── phpstan.neon.dist
│   │   ├── src/
│   │   │   ├── AccessToken/
│   │   │   │   ├── Revoke.php
│   │   │   │   └── Verify.php
│   │   │   ├── AuthHandler/
│   │   │   │   ├── AuthHandlerFactory.php
│   │   │   │   ├── Guzzle6AuthHandler.php
│   │   │   │   └── Guzzle7AuthHandler.php
│   │   │   ├── Client.php
│   │   │   ├── Collection.php
│   │   │   ├── Exception.php
│   │   │   ├── Http/
│   │   │   │   ├── Batch.php
│   │   │   │   ├── MediaFileUpload.php
│   │   │   │   └── REST.php
│   │   │   ├── Model.php
│   │   │   ├── Service/
│   │   │   │   ├── Exception.php
│   │   │   │   ├── README.md
│   │   │   │   └── Resource.php
│   │   │   ├── Service.php
│   │   │   ├── Task/
│   │   │   │   ├── Composer.php
│   │   │   │   ├── Exception.php
│   │   │   │   ├── Retryable.php
│   │   │   │   └── Runner.php
│   │   │   ├── Utils/
│   │   │   │   └── UriTemplate.php
│   │   │   └── aliases.php
│   │   └── vendor/
│   │       ├── autoload.php
│   │       ├── bin/
│   │       │   └── google-cloud-batch
│   │       ├── brick/
│   │       │   └── math/
│   │       │       ├── CHANGELOG.md
│   │       │       ├── LICENSE
│   │       │       ├── composer.json
│   │       │       ├── psalm-baseline.xml
│   │       │       └── src/
│   │       │           ├── BigDecimal.php
│   │       │           ├── BigInteger.php
│   │       │           ├── BigNumber.php
│   │       │           ├── BigRational.php
│   │       │           ├── Exception/
│   │       │           │   ├── DivisionByZeroException.php
│   │       │           │   ├── IntegerOverflowException.php
│   │       │           │   ├── MathException.php
│   │       │           │   ├── NegativeNumberException.php
│   │       │           │   ├── NumberFormatException.php
│   │       │           │   └── RoundingNecessaryException.php
│   │       │           ├── Internal/
│   │       │           │   ├── Calculator/
│   │       │           │   │   ├── BcMathCalculator.php
│   │       │           │   │   ├── GmpCalculator.php
│   │       │           │   │   └── NativeCalculator.php
│   │       │           │   └── Calculator.php
│   │       │           └── RoundingMode.php
│   │       ├── composer/
│   │       │   ├── ClassLoader.php
│   │       │   ├── InstalledVersions.php
│   │       │   ├── LICENSE
│   │       │   ├── autoload_classmap.php
│   │       │   ├── autoload_files.php
│   │       │   ├── autoload_namespaces.php
│   │       │   ├── autoload_psr4.php
│   │       │   ├── autoload_real.php
│   │       │   ├── autoload_static.php
│   │       │   ├── installed.json
│   │       │   ├── installed.php
│   │       │   └── platform_check.php
│   │       ├── firebase/
│   │       │   └── php-jwt/
│   │       │       ├── CHANGELOG.md
│   │       │       ├── LICENSE
│   │       │       ├── README.md
│   │       │       ├── composer.json
│   │       │       └── src/
│   │       │           ├── BeforeValidException.php
│   │       │           ├── CachedKeySet.php
│   │       │           ├── ExpiredException.php
│   │       │           ├── JWK.php
│   │       │           ├── JWT.php
│   │       │           ├── JWTExceptionWithPayloadInterface.php
│   │       │           ├── Key.php
│   │       │           └── SignatureInvalidException.php
│   │       ├── google/
│   │       │   ├── apiclient-services/
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── SECURITY.md
│   │       │   │   ├── autoload.php
│   │       │   │   ├── composer.json
│   │       │   │   └── src/
│   │       │   │       ├── Storage/
│   │       │   │       │   ├── AdvanceRelocateBucketOperationRequest.php
│   │       │   │       │   ├── AnywhereCache.php
│   │       │   │       │   ├── AnywhereCaches.php
│   │       │   │       │   ├── Bucket.php
│   │       │   │       │   ├── BucketAccessControl.php
│   │       │   │       │   ├── BucketAccessControlProjectTeam.php
│   │       │   │       │   ├── BucketAccessControls.php
│   │       │   │       │   ├── BucketAutoclass.php
│   │       │   │       │   ├── BucketBilling.php
│   │       │   │       │   ├── BucketCors.php
│   │       │   │       │   ├── BucketCustomPlacementConfig.php
│   │       │   │       │   ├── BucketEncryption.php
│   │       │   │       │   ├── BucketEncryptionCustomerManagedEncryptionEnforcementConfig.php
│   │       │   │       │   ├── BucketEncryptionCustomerSuppliedEncryptionEnforcementConfig.php
│   │       │   │       │   ├── BucketEncryptionGoogleManagedEncryptionEnforcementConfig.php
│   │       │   │       │   ├── BucketHierarchicalNamespace.php
│   │       │   │       │   ├── BucketIamConfiguration.php
│   │       │   │       │   ├── BucketIamConfigurationBucketPolicyOnly.php
│   │       │   │       │   ├── BucketIamConfigurationUniformBucketLevelAccess.php
│   │       │   │       │   ├── BucketIpFilter.php
│   │       │   │       │   ├── BucketIpFilterPublicNetworkSource.php
│   │       │   │       │   ├── BucketIpFilterVpcNetworkSources.php
│   │       │   │       │   ├── BucketLifecycle.php
│   │       │   │       │   ├── BucketLifecycleRule.php
│   │       │   │       │   ├── BucketLifecycleRuleAction.php
│   │       │   │       │   ├── BucketLifecycleRuleCondition.php
│   │       │   │       │   ├── BucketLogging.php
│   │       │   │       │   ├── BucketObjectRetention.php
│   │       │   │       │   ├── BucketOwner.php
│   │       │   │       │   ├── BucketRetentionPolicy.php
│   │       │   │       │   ├── BucketSoftDeletePolicy.php
│   │       │   │       │   ├── BucketStorageLayout.php
│   │       │   │       │   ├── BucketStorageLayoutCustomPlacementConfig.php
│   │       │   │       │   ├── BucketStorageLayoutHierarchicalNamespace.php
│   │       │   │       │   ├── BucketVersioning.php
│   │       │   │       │   ├── BucketWebsite.php
│   │       │   │       │   ├── Buckets.php
│   │       │   │       │   ├── BulkRestoreObjectsRequest.php
│   │       │   │       │   ├── Channel.php
│   │       │   │       │   ├── ComposeRequest.php
│   │       │   │       │   ├── ComposeRequestSourceObjects.php
│   │       │   │       │   ├── ComposeRequestSourceObjectsObjectPreconditions.php
│   │       │   │       │   ├── Expr.php
│   │       │   │       │   ├── Folder.php
│   │       │   │       │   ├── FolderPendingRenameInfo.php
│   │       │   │       │   ├── Folders.php
│   │       │   │       │   ├── GoogleLongrunningListOperationsResponse.php
│   │       │   │       │   ├── GoogleLongrunningOperation.php
│   │       │   │       │   ├── GoogleRpcStatus.php
│   │       │   │       │   ├── HmacKey.php
│   │       │   │       │   ├── HmacKeyMetadata.php
│   │       │   │       │   ├── HmacKeysMetadata.php
│   │       │   │       │   ├── ManagedFolder.php
│   │       │   │       │   ├── ManagedFolders.php
│   │       │   │       │   ├── Notification.php
│   │       │   │       │   ├── Notifications.php
│   │       │   │       │   ├── ObjectAccessControl.php
│   │       │   │       │   ├── ObjectAccessControlProjectTeam.php
│   │       │   │       │   ├── ObjectAccessControls.php
│   │       │   │       │   ├── ObjectCustomContextPayload.php
│   │       │   │       │   ├── Objects.php
│   │       │   │       │   ├── Policy.php
│   │       │   │       │   ├── PolicyBindings.php
│   │       │   │       │   ├── RelocateBucketRequest.php
│   │       │   │       │   ├── RelocateBucketRequestDestinationCustomPlacementConfig.php
│   │       │   │       │   ├── Resource/
│   │       │   │       │   │   ├── AnywhereCache.php
│   │       │   │       │   │   ├── AnywhereCaches.php
│   │       │   │       │   │   ├── BucketAccessControls.php
│   │       │   │       │   │   ├── Buckets.php
│   │       │   │       │   │   ├── Channels.php
│   │       │   │       │   │   ├── DefaultObjectAccessControls.php
│   │       │   │       │   │   ├── Folders.php
│   │       │   │       │   │   ├── ManagedFolders.php
│   │       │   │       │   │   ├── Notifications.php
│   │       │   │       │   │   ├── ObjectAccessControls.php
│   │       │   │       │   │   ├── Objects.php
│   │       │   │       │   │   ├── Operations.php
│   │       │   │       │   │   ├── Projects.php
│   │       │   │       │   │   ├── ProjectsHmacKeys.php
│   │       │   │       │   │   └── ProjectsServiceAccount.php
│   │       │   │       │   ├── RewriteResponse.php
│   │       │   │       │   ├── ServiceAccount.php
│   │       │   │       │   ├── StorageObject.php
│   │       │   │       │   ├── StorageObjectContexts.php
│   │       │   │       │   ├── StorageObjectCustomerEncryption.php
│   │       │   │       │   ├── StorageObjectOwner.php
│   │       │   │       │   ├── StorageObjectRetention.php
│   │       │   │       │   └── TestIamPermissionsResponse.php
│   │       │   │       └── Storage.php
│   │       │   ├── auth/
│   │       │   │   ├── .repo-metadata.json
│   │       │   │   ├── COPYING
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── SECURITY.md
│   │       │   │   ├── VERSION
│   │       │   │   ├── composer.json
│   │       │   │   └── src/
│   │       │   │       ├── AccessToken.php
│   │       │   │       ├── ApplicationDefaultCredentials.php
│   │       │   │       ├── Cache/
│   │       │   │       │   ├── FileSystemCacheItemPool.php
│   │       │   │       │   ├── InvalidArgumentException.php
│   │       │   │       │   ├── MemoryCacheItemPool.php
│   │       │   │       │   ├── SysVCacheItemPool.php
│   │       │   │       │   └── TypedItem.php
│   │       │   │       ├── CacheTrait.php
│   │       │   │       ├── CredentialSource/
│   │       │   │       │   ├── AwsNativeSource.php
│   │       │   │       │   ├── ExecutableSource.php
│   │       │   │       │   ├── FileSource.php
│   │       │   │       │   └── UrlSource.php
│   │       │   │       ├── Credentials/
│   │       │   │       │   ├── AppIdentityCredentials.php
│   │       │   │       │   ├── ExternalAccountCredentials.php
│   │       │   │       │   ├── GCECredentials.php
│   │       │   │       │   ├── IAMCredentials.php
│   │       │   │       │   ├── ImpersonatedServiceAccountCredentials.php
│   │       │   │       │   ├── InsecureCredentials.php
│   │       │   │       │   ├── ServiceAccountCredentials.php
│   │       │   │       │   ├── ServiceAccountJwtAccessCredentials.php
│   │       │   │       │   └── UserRefreshCredentials.php
│   │       │   │       ├── CredentialsLoader.php
│   │       │   │       ├── ExecutableHandler/
│   │       │   │       │   ├── ExecutableHandler.php
│   │       │   │       │   └── ExecutableResponseError.php
│   │       │   │       ├── ExternalAccountCredentialSourceInterface.php
│   │       │   │       ├── FetchAuthTokenCache.php
│   │       │   │       ├── FetchAuthTokenInterface.php
│   │       │   │       ├── GCECache.php
│   │       │   │       ├── GetQuotaProjectInterface.php
│   │       │   │       ├── GetUniverseDomainInterface.php
│   │       │   │       ├── HttpHandler/
│   │       │   │       │   ├── Guzzle6HttpHandler.php
│   │       │   │       │   ├── Guzzle7HttpHandler.php
│   │       │   │       │   ├── HttpClientCache.php
│   │       │   │       │   └── HttpHandlerFactory.php
│   │       │   │       ├── Iam.php
│   │       │   │       ├── IamSignerTrait.php
│   │       │   │       ├── Logging/
│   │       │   │       │   ├── LoggingTrait.php
│   │       │   │       │   ├── RpcLogEvent.php
│   │       │   │       │   └── StdOutLogger.php
│   │       │   │       ├── MetricsTrait.php
│   │       │   │       ├── Middleware/
│   │       │   │       │   ├── AuthTokenMiddleware.php
│   │       │   │       │   ├── ProxyAuthTokenMiddleware.php
│   │       │   │       │   ├── ScopedAccessTokenMiddleware.php
│   │       │   │       │   └── SimpleMiddleware.php
│   │       │   │       ├── OAuth2.php
│   │       │   │       ├── ProjectIdProviderInterface.php
│   │       │   │       ├── ServiceAccountSignerTrait.php
│   │       │   │       ├── SignBlobInterface.php
│   │       │   │       ├── UpdateMetadataInterface.php
│   │       │   │       └── UpdateMetadataTrait.php
│   │       │   ├── cloud-core/
│   │       │   │   ├── .gitattributes
│   │       │   │   ├── CODE_OF_CONDUCT.md
│   │       │   │   ├── CONTRIBUTING.md
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── SECURITY.md
│   │       │   │   ├── VERSION
│   │       │   │   ├── bin/
│   │       │   │   │   └── google-cloud-batch
│   │       │   │   ├── composer.json
│   │       │   │   ├── perf-bootstrap.php
│   │       │   │   ├── snippet-bootstrap.php
│   │       │   │   ├── src/
│   │       │   │   │   ├── AnonymousCredentials.php
│   │       │   │   │   ├── ApiHelperTrait.php
│   │       │   │   │   ├── ArrayTrait.php
│   │       │   │   │   ├── Batch/
│   │       │   │   │   │   ├── BatchDaemon.php
│   │       │   │   │   │   ├── BatchDaemonTrait.php
│   │       │   │   │   │   ├── BatchJob.php
│   │       │   │   │   │   ├── BatchRunner.php
│   │       │   │   │   │   ├── BatchTrait.php
│   │       │   │   │   │   ├── ClosureSerializerInterface.php
│   │       │   │   │   │   ├── ConfigStorageInterface.php
│   │       │   │   │   │   ├── HandleFailureTrait.php
│   │       │   │   │   │   ├── InMemoryConfigStorage.php
│   │       │   │   │   │   ├── InterruptTrait.php
│   │       │   │   │   │   ├── JobConfig.php
│   │       │   │   │   │   ├── JobInterface.php
│   │       │   │   │   │   ├── JobTrait.php
│   │       │   │   │   │   ├── OpisClosureSerializer.php
│   │       │   │   │   │   ├── OpisClosureSerializerV4.php
│   │       │   │   │   │   ├── ProcessItemInterface.php
│   │       │   │   │   │   ├── QueueOverflowException.php
│   │       │   │   │   │   ├── Retry.php
│   │       │   │   │   │   ├── SerializableClientTrait.php
│   │       │   │   │   │   ├── SimpleJob.php
│   │       │   │   │   │   ├── SimpleJobTrait.php
│   │       │   │   │   │   ├── SysvConfigStorage.php
│   │       │   │   │   │   └── SysvProcessor.php
│   │       │   │   │   ├── Blob.php
│   │       │   │   │   ├── ClientTrait.php
│   │       │   │   │   ├── Compute/
│   │       │   │   │   │   ├── Metadata/
│   │       │   │   │   │   │   └── Readers/
│   │       │   │   │   │   │       ├── HttpHandlerReader.php
│   │       │   │   │   │   │       ├── ReaderInterface.php
│   │       │   │   │   │   │       └── StreamReader.php
│   │       │   │   │   │   └── Metadata.php
│   │       │   │   │   ├── ConcurrencyControlTrait.php
│   │       │   │   │   ├── DebugInfoTrait.php
│   │       │   │   │   ├── DetectProjectIdTrait.php
│   │       │   │   │   ├── Duration.php
│   │       │   │   │   ├── EmulatorTrait.php
│   │       │   │   │   ├── Exception/
│   │       │   │   │   │   ├── AbortedException.php
│   │       │   │   │   │   ├── BadRequestException.php
│   │       │   │   │   │   ├── ConflictException.php
│   │       │   │   │   │   ├── DeadlineExceededException.php
│   │       │   │   │   │   ├── FailedPreconditionException.php
│   │       │   │   │   │   ├── GoogleException.php
│   │       │   │   │   │   ├── NotFoundException.php
│   │       │   │   │   │   ├── ServerException.php
│   │       │   │   │   │   └── ServiceException.php
│   │       │   │   │   ├── ExponentialBackoff.php
│   │       │   │   │   ├── GeoPoint.php
│   │       │   │   │   ├── GrpcRequestWrapper.php
│   │       │   │   │   ├── GrpcTrait.php
│   │       │   │   │   ├── Iam/
│   │       │   │   │   │   ├── Iam.php
│   │       │   │   │   │   ├── IamConnectionInterface.php
│   │       │   │   │   │   ├── IamManager.php
│   │       │   │   │   │   └── PolicyBuilder.php
│   │       │   │   │   ├── InsecureCredentialsWrapper.php
│   │       │   │   │   ├── Int64.php
│   │       │   │   │   ├── Iterator/
│   │       │   │   │   │   ├── ItemIterator.php
│   │       │   │   │   │   ├── ItemIteratorTrait.php
│   │       │   │   │   │   ├── PageIterator.php
│   │       │   │   │   │   └── PageIteratorTrait.php
│   │       │   │   │   ├── JsonTrait.php
│   │       │   │   │   ├── Lock/
│   │       │   │   │   │   ├── FlockLock.php
│   │       │   │   │   │   ├── LockInterface.php
│   │       │   │   │   │   ├── LockTrait.php
│   │       │   │   │   │   ├── SemaphoreLock.php
│   │       │   │   │   │   └── SymfonyLockAdapter.php
│   │       │   │   │   ├── Logger/
│   │       │   │   │   │   ├── AppEngineFlexFormatter.php
│   │       │   │   │   │   ├── AppEngineFlexFormatterV2.php
│   │       │   │   │   │   ├── AppEngineFlexFormatterV3.php
│   │       │   │   │   │   ├── AppEngineFlexHandler.php
│   │       │   │   │   │   ├── AppEngineFlexHandlerFactory.php
│   │       │   │   │   │   ├── AppEngineFlexHandlerV2.php
│   │       │   │   │   │   ├── AppEngineFlexHandlerV3.php
│   │       │   │   │   │   └── FormatterTrait.php
│   │       │   │   │   ├── LongRunning/
│   │       │   │   │   │   ├── LROTrait.php
│   │       │   │   │   │   ├── LongRunningClientConnection.php
│   │       │   │   │   │   ├── LongRunningConnectionInterface.php
│   │       │   │   │   │   ├── LongRunningOperation.php
│   │       │   │   │   │   └── OperationResponseTrait.php
│   │       │   │   │   ├── OptionsValidator.php
│   │       │   │   │   ├── PhpArray.php
│   │       │   │   │   ├── Report/
│   │       │   │   │   │   ├── CloudRunJobMetadataProvider.php
│   │       │   │   │   │   ├── CloudRunMetadataProvider.php
│   │       │   │   │   │   ├── CloudRunServiceMetadataProvider.php
│   │       │   │   │   │   ├── EmptyMetadataProvider.php
│   │       │   │   │   │   ├── GAEFlexMetadataProvider.php
│   │       │   │   │   │   ├── GAEMetadataProvider.php
│   │       │   │   │   │   ├── GAEStandardMetadataProvider.php
│   │       │   │   │   │   ├── MetadataProviderInterface.php
│   │       │   │   │   │   ├── MetadataProviderUtils.php
│   │       │   │   │   │   └── SimpleMetadataProvider.php
│   │       │   │   │   ├── RequestBuilder.php
│   │       │   │   │   ├── RequestHandler.php
│   │       │   │   │   ├── RequestProcessorTrait.php
│   │       │   │   │   ├── RequestWrapper.php
│   │       │   │   │   ├── RequestWrapperTrait.php
│   │       │   │   │   ├── RestTrait.php
│   │       │   │   │   ├── Retry.php
│   │       │   │   │   ├── RetryDeciderTrait.php
│   │       │   │   │   ├── ServiceBuilder.php
│   │       │   │   │   ├── SysvTrait.php
│   │       │   │   │   ├── Testing/
│   │       │   │   │   │   ├── ArrayHasSameValuesToken.php
│   │       │   │   │   │   ├── CheckForClassTrait.php
│   │       │   │   │   │   ├── DatastoreOperationRefreshTrait.php
│   │       │   │   │   │   ├── FileListFilterIterator.php
│   │       │   │   │   │   ├── GcTestListener.php
│   │       │   │   │   │   ├── GrpcTestTrait.php
│   │       │   │   │   │   ├── KeyPairGenerateTrait.php
│   │       │   │   │   │   ├── Lock/
│   │       │   │   │   │   │   ├── MockGlobals.php
│   │       │   │   │   │   │   └── MockValues.php
│   │       │   │   │   │   ├── README.md
│   │       │   │   │   │   ├── Reflection/
│   │       │   │   │   │   │   ├── DescriptionFactory.php
│   │       │   │   │   │   │   ├── ReflectionHandlerFactory.php
│   │       │   │   │   │   │   └── ReflectionHandlerV6.php
│   │       │   │   │   │   ├── RegexFileFilter.php
│   │       │   │   │   │   ├── Snippet/
│   │       │   │   │   │   │   ├── Container.php
│   │       │   │   │   │   │   ├── Coverage/
│   │       │   │   │   │   │   │   ├── Coverage.php
│   │       │   │   │   │   │   │   ├── ExcludeFilter.php
│   │       │   │   │   │   │   │   ├── Scanner.php
│   │       │   │   │   │   │   │   └── ScannerInterface.php
│   │       │   │   │   │   │   ├── Fixtures.php
│   │       │   │   │   │   │   ├── Parser/
│   │       │   │   │   │   │   │   ├── InvokeResult.php
│   │       │   │   │   │   │   │   ├── Parser.php
│   │       │   │   │   │   │   │   └── Snippet.php
│   │       │   │   │   │   │   ├── SnippetTestCase.php
│   │       │   │   │   │   │   └── keyfile-stub.json
│   │       │   │   │   │   ├── StubTrait.php
│   │       │   │   │   │   ├── System/
│   │       │   │   │   │   │   ├── DeletionQueue.php
│   │       │   │   │   │   │   ├── KeyManager.php
│   │       │   │   │   │   │   └── SystemTestCase.php
│   │       │   │   │   │   └── TestHelpers.php
│   │       │   │   │   ├── TimeTrait.php
│   │       │   │   │   ├── Timestamp.php
│   │       │   │   │   ├── TimestampTrait.php
│   │       │   │   │   ├── Upload/
│   │       │   │   │   │   ├── AbstractUploader.php
│   │       │   │   │   │   ├── MultipartUploader.php
│   │       │   │   │   │   ├── ResumableUploader.php
│   │       │   │   │   │   ├── SignedUrlUploader.php
│   │       │   │   │   │   └── StreamableUploader.php
│   │       │   │   │   ├── UriTrait.php
│   │       │   │   │   ├── ValidateTrait.php
│   │       │   │   │   ├── ValueMapperTrait.php
│   │       │   │   │   └── WhitelistTrait.php
│   │       │   │   ├── system-bootstrap.php
│   │       │   │   └── unit-bootstrap.php
│   │       │   ├── cloud-storage/
│   │       │   │   ├── .gitattributes
│   │       │   │   ├── CODE_OF_CONDUCT.md
│   │       │   │   ├── CONTRIBUTING.md
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── SECURITY.md
│   │       │   │   ├── VERSION
│   │       │   │   ├── composer.json
│   │       │   │   └── src/
│   │       │   │       ├── Acl.php
│   │       │   │       ├── Bucket.php
│   │       │   │       ├── BucketIterator.php
│   │       │   │       ├── Connection/
│   │       │   │       │   ├── ConnectionInterface.php
│   │       │   │       │   ├── IamBucket.php
│   │       │   │       │   ├── Rest.php
│   │       │   │       │   ├── RetryTrait.php
│   │       │   │       │   └── ServiceDefinition/
│   │       │   │       │       └── storage-v1.json
│   │       │   │       ├── CreatedHmacKey.php
│   │       │   │       ├── EncryptionTrait.php
│   │       │   │       ├── HmacKey.php
│   │       │   │       ├── Lifecycle.php
│   │       │   │       ├── Notification.php
│   │       │   │       ├── ObjectIterator.php
│   │       │   │       ├── ObjectPageIterator.php
│   │       │   │       ├── ReadStream.php
│   │       │   │       ├── SigningHelper.php
│   │       │   │       ├── StorageClient.php
│   │       │   │       ├── StorageObject.php
│   │       │   │       ├── StreamWrapper.php
│   │       │   │       └── WriteStream.php
│   │       │   ├── common-protos/
│   │       │   │   ├── CHANGELOG.md
│   │       │   │   ├── CODE_OF_CONDUCT.md
│   │       │   │   ├── CONTRIBUTING.md
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── SECURITY.md
│   │       │   │   ├── VERSION
│   │       │   │   ├── composer.json
│   │       │   │   ├── metadata/
│   │       │   │   │   ├── Api/
│   │       │   │   │   │   ├── Annotations.php
│   │       │   │   │   │   ├── Auth.php
│   │       │   │   │   │   ├── Backend.php
│   │       │   │   │   │   ├── Billing.php
│   │       │   │   │   │   ├── Client.php
│   │       │   │   │   │   ├── ConfigChange.php
│   │       │   │   │   │   ├── Consumer.php
│   │       │   │   │   │   ├── Context.php
│   │       │   │   │   │   ├── Control.php
│   │       │   │   │   │   ├── Distribution.php
│   │       │   │   │   │   ├── Documentation.php
│   │       │   │   │   │   ├── Endpoint.php
│   │       │   │   │   │   ├── ErrorReason.php
│   │       │   │   │   │   ├── FieldBehavior.php
│   │       │   │   │   │   ├── FieldInfo.php
│   │       │   │   │   │   ├── Http.php
│   │       │   │   │   │   ├── Httpbody.php
│   │       │   │   │   │   ├── Label.php
│   │       │   │   │   │   ├── LaunchStage.php
│   │       │   │   │   │   ├── Log.php
│   │       │   │   │   │   ├── Logging.php
│   │       │   │   │   │   ├── Metric.php
│   │       │   │   │   │   ├── MonitoredResource.php
│   │       │   │   │   │   ├── Monitoring.php
│   │       │   │   │   │   ├── Policy.php
│   │       │   │   │   │   ├── Quota.php
│   │       │   │   │   │   ├── Resource.php
│   │       │   │   │   │   ├── Routing.php
│   │       │   │   │   │   ├── Service.php
│   │       │   │   │   │   ├── SourceInfo.php
│   │       │   │   │   │   ├── SystemParameter.php
│   │       │   │   │   │   ├── Usage.php
│   │       │   │   │   │   └── Visibility.php
│   │       │   │   │   ├── Cloud/
│   │       │   │   │   │   ├── ExtendedOperations.php
│   │       │   │   │   │   └── Location/
│   │       │   │   │   │       └── Locations.php
│   │       │   │   │   ├── Google/
│   │       │   │   │   │   ├── Iam/
│   │       │   │   │   │   │   └── V1/
│   │       │   │   │   │   │       ├── IamPolicy.php
│   │       │   │   │   │   │       ├── Logging/
│   │       │   │   │   │   │       │   └── AuditData.php
│   │       │   │   │   │   │       ├── Options.php
│   │       │   │   │   │   │       ├── Policy.php
│   │       │   │   │   │   │       └── ResourcePolicyMember.php
│   │       │   │   │   │   └── Logging/
│   │       │   │   │   │       └── Type/
│   │       │   │   │   │           ├── HttpRequest.php
│   │       │   │   │   │           └── LogSeverity.php
│   │       │   │   │   ├── Iam/
│   │       │   │   │   │   └── V1/
│   │       │   │   │   │       ├── IamPolicy.php
│   │       │   │   │   │       ├── Logging/
│   │       │   │   │   │       │   └── AuditData.php
│   │       │   │   │   │       ├── Options.php
│   │       │   │   │   │       ├── Policy.php
│   │       │   │   │   │       └── ResourcePolicyMember.php
│   │       │   │   │   ├── Logging/
│   │       │   │   │   │   └── Type/
│   │       │   │   │   │       ├── HttpRequest.php
│   │       │   │   │   │       └── LogSeverity.php
│   │       │   │   │   ├── Rpc/
│   │       │   │   │   │   ├── Code.php
│   │       │   │   │   │   ├── Context/
│   │       │   │   │   │   │   ├── AttributeContext.php
│   │       │   │   │   │   │   └── AuditContext.php
│   │       │   │   │   │   ├── ErrorDetails.php
│   │       │   │   │   │   └── Status.php
│   │       │   │   │   └── Type/
│   │       │   │   │       ├── CalendarPeriod.php
│   │       │   │   │       ├── Color.php
│   │       │   │   │       ├── Date.php
│   │       │   │   │       ├── Datetime.php
│   │       │   │   │       ├── Dayofweek.php
│   │       │   │   │       ├── Decimal.php
│   │       │   │   │       ├── Expr.php
│   │       │   │   │       ├── Fraction.php
│   │       │   │   │       ├── Interval.php
│   │       │   │   │       ├── Latlng.php
│   │       │   │   │       ├── LocalizedText.php
│   │       │   │   │       ├── Money.php
│   │       │   │   │       ├── Month.php
│   │       │   │   │       ├── PhoneNumber.php
│   │       │   │   │       ├── PostalAddress.php
│   │       │   │   │       ├── Quaternion.php
│   │       │   │   │       └── Timeofday.php
│   │       │   │   ├── renovate.json
│   │       │   │   └── src/
│   │       │   │       ├── Api/
│   │       │   │       │   ├── Advice.php
│   │       │   │       │   ├── AuthProvider.php
│   │       │   │       │   ├── AuthRequirement.php
│   │       │   │       │   ├── Authentication.php
│   │       │   │       │   ├── AuthenticationRule.php
│   │       │   │       │   ├── Backend.php
│   │       │   │       │   ├── BackendRule/
│   │       │   │       │   │   └── PathTranslation.php
│   │       │   │       │   ├── BackendRule.php
│   │       │   │       │   ├── Billing/
│   │       │   │       │   │   └── BillingDestination.php
│   │       │   │       │   ├── Billing.php
│   │       │   │       │   ├── ChangeType.php
│   │       │   │       │   ├── ClientLibraryDestination.php
│   │       │   │       │   ├── ClientLibraryOrganization.php
│   │       │   │       │   ├── ClientLibrarySettings.php
│   │       │   │       │   ├── CommonLanguageSettings.php
│   │       │   │       │   ├── ConfigChange.php
│   │       │   │       │   ├── Context.php
│   │       │   │       │   ├── ContextRule.php
│   │       │   │       │   ├── Control.php
│   │       │   │       │   ├── CppSettings.php
│   │       │   │       │   ├── CustomHttpPattern.php
│   │       │   │       │   ├── Distribution/
│   │       │   │       │   │   ├── BucketOptions/
│   │       │   │       │   │   │   ├── Explicit.php
│   │       │   │       │   │   │   ├── Exponential.php
│   │       │   │       │   │   │   └── Linear.php
│   │       │   │       │   │   ├── BucketOptions.php
│   │       │   │       │   │   ├── Exemplar.php
│   │       │   │       │   │   └── Range.php
│   │       │   │       │   ├── Distribution.php
│   │       │   │       │   ├── Documentation.php
│   │       │   │       │   ├── DocumentationRule.php
│   │       │   │       │   ├── DotnetSettings.php
│   │       │   │       │   ├── Endpoint.php
│   │       │   │       │   ├── ErrorReason.php
│   │       │   │       │   ├── FieldBehavior.php
│   │       │   │       │   ├── FieldInfo/
│   │       │   │       │   │   └── Format.php
│   │       │   │       │   ├── FieldInfo.php
│   │       │   │       │   ├── FieldPolicy.php
│   │       │   │       │   ├── GoSettings.php
│   │       │   │       │   ├── Http.php
│   │       │   │       │   ├── HttpBody.php
│   │       │   │       │   ├── HttpRule.php
│   │       │   │       │   ├── JavaSettings.php
│   │       │   │       │   ├── JwtLocation.php
│   │       │   │       │   ├── LabelDescriptor/
│   │       │   │       │   │   └── ValueType.php
│   │       │   │       │   ├── LabelDescriptor.php
│   │       │   │       │   ├── LaunchStage.php
│   │       │   │       │   ├── LogDescriptor.php
│   │       │   │       │   ├── Logging/
│   │       │   │       │   │   └── LoggingDestination.php
│   │       │   │       │   ├── Logging.php
│   │       │   │       │   ├── MethodPolicy.php
│   │       │   │       │   ├── MethodSettings/
│   │       │   │       │   │   └── LongRunning.php
│   │       │   │       │   ├── MethodSettings.php
│   │       │   │       │   ├── Metric.php
│   │       │   │       │   ├── MetricDescriptor/
│   │       │   │       │   │   ├── MetricDescriptorMetadata/
│   │       │   │       │   │   │   └── TimeSeriesResourceHierarchyLevel.php
│   │       │   │       │   │   ├── MetricDescriptorMetadata.php
│   │       │   │       │   │   ├── MetricKind.php
│   │       │   │       │   │   └── ValueType.php
│   │       │   │       │   ├── MetricDescriptor.php
│   │       │   │       │   ├── MetricRule.php
│   │       │   │       │   ├── MonitoredResource.php
│   │       │   │       │   ├── MonitoredResourceDescriptor.php
│   │       │   │       │   ├── MonitoredResourceMetadata.php
│   │       │   │       │   ├── Monitoring/
│   │       │   │       │   │   └── MonitoringDestination.php
│   │       │   │       │   ├── Monitoring.php
│   │       │   │       │   ├── NodeSettings.php
│   │       │   │       │   ├── OAuthRequirements.php
│   │       │   │       │   ├── Page.php
│   │       │   │       │   ├── PhpSettings.php
│   │       │   │       │   ├── ProjectProperties.php
│   │       │   │       │   ├── Property/
│   │       │   │       │   │   └── PropertyType.php
│   │       │   │       │   ├── Property.php
│   │       │   │       │   ├── Publishing.php
│   │       │   │       │   ├── PythonSettings/
│   │       │   │       │   │   └── ExperimentalFeatures.php
│   │       │   │       │   ├── PythonSettings.php
│   │       │   │       │   ├── Quota.php
│   │       │   │       │   ├── QuotaLimit.php
│   │       │   │       │   ├── ResourceDescriptor/
│   │       │   │       │   │   ├── History.php
│   │       │   │       │   │   └── Style.php
│   │       │   │       │   ├── ResourceDescriptor.php
│   │       │   │       │   ├── ResourceReference.php
│   │       │   │       │   ├── RoutingParameter.php
│   │       │   │       │   ├── RoutingRule.php
│   │       │   │       │   ├── RubySettings.php
│   │       │   │       │   ├── SelectiveGapicGeneration.php
│   │       │   │       │   ├── Service.php
│   │       │   │       │   ├── SourceInfo.php
│   │       │   │       │   ├── SystemParameter.php
│   │       │   │       │   ├── SystemParameterRule.php
│   │       │   │       │   ├── SystemParameters.php
│   │       │   │       │   ├── TypeReference.php
│   │       │   │       │   ├── Usage.php
│   │       │   │       │   ├── UsageRule.php
│   │       │   │       │   ├── Visibility.php
│   │       │   │       │   └── VisibilityRule.php
│   │       │   │       ├── Cloud/
│   │       │   │       │   ├── Iam/
│   │       │   │       │   │   └── V1/
│   │       │   │       │   │       ├── AuditConfig.php
│   │       │   │       │   │       ├── AuditConfigDelta/
│   │       │   │       │   │       │   └── Action.php
│   │       │   │       │   │       ├── AuditConfigDelta.php
│   │       │   │       │   │       ├── AuditLogConfig/
│   │       │   │       │   │       │   └── LogType.php
│   │       │   │       │   │       ├── AuditLogConfig.php
│   │       │   │       │   │       ├── Binding.php
│   │       │   │       │   │       ├── BindingDelta/
│   │       │   │       │   │       │   └── Action.php
│   │       │   │       │   │       ├── BindingDelta.php
│   │       │   │       │   │       ├── GetIamPolicyRequest.php
│   │       │   │       │   │       ├── GetPolicyOptions.php
│   │       │   │       │   │       ├── Policy.php
│   │       │   │       │   │       ├── PolicyDelta.php
│   │       │   │       │   │       ├── ResourcePolicyMember.php
│   │       │   │       │   │       ├── SetIamPolicyRequest.php
│   │       │   │       │   │       ├── TestIamPermissionsRequest.php
│   │       │   │       │   │       └── TestIamPermissionsResponse.php
│   │       │   │       │   ├── Location/
│   │       │   │       │   │   ├── GetLocationRequest.php
│   │       │   │       │   │   ├── ListLocationsRequest.php
│   │       │   │       │   │   ├── ListLocationsResponse.php
│   │       │   │       │   │   └── Location.php
│   │       │   │       │   ├── Logging/
│   │       │   │       │   │   └── Type/
│   │       │   │       │   │       ├── HttpRequest.php
│   │       │   │       │   │       └── LogSeverity.php
│   │       │   │       │   └── OperationResponseMapping.php
│   │       │   │       ├── Iam/
│   │       │   │       │   └── V1/
│   │       │   │       │       └── Logging/
│   │       │   │       │           └── AuditData.php
│   │       │   │       ├── Rpc/
│   │       │   │       │   ├── BadRequest/
│   │       │   │       │   │   └── FieldViolation.php
│   │       │   │       │   ├── BadRequest.php
│   │       │   │       │   ├── Code.php
│   │       │   │       │   ├── Context/
│   │       │   │       │   │   ├── AttributeContext/
│   │       │   │       │   │   │   ├── Api.php
│   │       │   │       │   │   │   ├── Auth.php
│   │       │   │       │   │   │   ├── Peer.php
│   │       │   │       │   │   │   ├── Request.php
│   │       │   │       │   │   │   ├── Resource.php
│   │       │   │       │   │   │   └── Response.php
│   │       │   │       │   │   ├── AttributeContext.php
│   │       │   │       │   │   └── AuditContext.php
│   │       │   │       │   ├── DebugInfo.php
│   │       │   │       │   ├── ErrorInfo.php
│   │       │   │       │   ├── Help/
│   │       │   │       │   │   └── Link.php
│   │       │   │       │   ├── Help.php
│   │       │   │       │   ├── LocalizedMessage.php
│   │       │   │       │   ├── PreconditionFailure/
│   │       │   │       │   │   └── Violation.php
│   │       │   │       │   ├── PreconditionFailure.php
│   │       │   │       │   ├── QuotaFailure/
│   │       │   │       │   │   └── Violation.php
│   │       │   │       │   ├── QuotaFailure.php
│   │       │   │       │   ├── RequestInfo.php
│   │       │   │       │   ├── ResourceInfo.php
│   │       │   │       │   ├── RetryInfo.php
│   │       │   │       │   └── Status.php
│   │       │   │       └── Type/
│   │       │   │           ├── CalendarPeriod.php
│   │       │   │           ├── Color.php
│   │       │   │           ├── Date.php
│   │       │   │           ├── DateTime.php
│   │       │   │           ├── DayOfWeek.php
│   │       │   │           ├── Decimal.php
│   │       │   │           ├── Expr.php
│   │       │   │           ├── Fraction.php
│   │       │   │           ├── Interval.php
│   │       │   │           ├── LatLng.php
│   │       │   │           ├── LocalizedText.php
│   │       │   │           ├── Money.php
│   │       │   │           ├── Month.php
│   │       │   │           ├── PhoneNumber/
│   │       │   │           │   └── ShortCode.php
│   │       │   │           ├── PhoneNumber.php
│   │       │   │           ├── PostalAddress.php
│   │       │   │           ├── Quaternion.php
│   │       │   │           ├── TimeOfDay.php
│   │       │   │           └── TimeZone.php
│   │       │   ├── gax/
│   │       │   │   ├── .repo-metadata.json
│   │       │   │   ├── CHANGELOG.md
│   │       │   │   ├── CODE_OF_CONDUCT.md
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── SECURITY.md
│   │       │   │   ├── VERSION
│   │       │   │   ├── composer.json
│   │       │   │   ├── metadata/
│   │       │   │   │   ├── ApiCore/
│   │       │   │   │   │   └── Testing/
│   │       │   │   │   │       └── Mocks.php
│   │       │   │   │   ├── Google/
│   │       │   │   │   │   └── ApiCore/
│   │       │   │   │   │       └── Tests/
│   │       │   │   │   │           └── Unit/
│   │       │   │   │   │               └── Example.php
│   │       │   │   │   └── README.md
│   │       │   │   ├── phpstan.neon.dist
│   │       │   │   ├── phpunit.xml.dist
│   │       │   │   ├── renovate.json
│   │       │   │   └── src/
│   │       │   │       ├── AgentHeader.php
│   │       │   │       ├── ApiException.php
│   │       │   │       ├── ApiKeyHeaderCredentials.php
│   │       │   │       ├── ApiStatus.php
│   │       │   │       ├── ArrayTrait.php
│   │       │   │       ├── BidiStream.php
│   │       │   │       ├── Call.php
│   │       │   │       ├── ClientOptionsTrait.php
│   │       │   │       ├── ClientStream.php
│   │       │   │       ├── CredentialsWrapper.php
│   │       │   │       ├── FixedSizeCollection.php
│   │       │   │       ├── GPBLabel.php
│   │       │   │       ├── GPBType.php
│   │       │   │       ├── GapicClientTrait.php
│   │       │   │       ├── GrpcSupportTrait.php
│   │       │   │       ├── HeaderCredentialsInterface.php
│   │       │   │       ├── InsecureCredentialsWrapper.php
│   │       │   │       ├── InsecureRequestBuilder.php
│   │       │   │       ├── Middleware/
│   │       │   │       │   ├── CredentialsWrapperMiddleware.php
│   │       │   │       │   ├── FixedHeaderMiddleware.php
│   │       │   │       │   ├── MiddlewareInterface.php
│   │       │   │       │   ├── OperationsMiddleware.php
│   │       │   │       │   ├── OptionsFilterMiddleware.php
│   │       │   │       │   ├── PagedMiddleware.php
│   │       │   │       │   ├── RequestAutoPopulationMiddleware.php
│   │       │   │       │   ├── ResponseMetadataMiddleware.php
│   │       │   │       │   ├── RetryMiddleware.php
│   │       │   │       │   └── TransportCallMiddleware.php
│   │       │   │       ├── OperationResponse.php
│   │       │   │       ├── Options/
│   │       │   │       │   ├── CallOptions.php
│   │       │   │       │   ├── ClientOptions.php
│   │       │   │       │   ├── OptionsInterface.php
│   │       │   │       │   ├── OptionsTrait.php
│   │       │   │       │   ├── TransportOptions/
│   │       │   │       │   │   ├── GrpcFallbackTransportOptions.php
│   │       │   │       │   │   ├── GrpcTransportOptions.php
│   │       │   │       │   │   └── RestTransportOptions.php
│   │       │   │       │   └── TransportOptions.php
│   │       │   │       ├── Page.php
│   │       │   │       ├── PageStreamingDescriptor.php
│   │       │   │       ├── PagedListResponse.php
│   │       │   │       ├── PathTemplate.php
│   │       │   │       ├── PollingTrait.php
│   │       │   │       ├── RequestBuilder.php
│   │       │   │       ├── RequestParamsHeaderDescriptor.php
│   │       │   │       ├── ResourceHelperTrait.php
│   │       │   │       ├── ResourceTemplate/
│   │       │   │       │   ├── AbsoluteResourceTemplate.php
│   │       │   │       │   ├── Parser.php
│   │       │   │       │   ├── RelativeResourceTemplate.php
│   │       │   │       │   ├── ResourceTemplateInterface.php
│   │       │   │       │   └── Segment.php
│   │       │   │       ├── RetrySettings.php
│   │       │   │       ├── Serializer.php
│   │       │   │       ├── ServerStream.php
│   │       │   │       ├── ServerStreamingCallInterface.php
│   │       │   │       ├── ServiceAddressTrait.php
│   │       │   │       ├── Testing/
│   │       │   │       │   ├── GeneratedTest.php
│   │       │   │       │   ├── MessageAwareArrayComparator.php
│   │       │   │       │   ├── MessageAwareExporter.php
│   │       │   │       │   ├── MockBidiStreamingCall.php
│   │       │   │       │   ├── MockClientStreamingCall.php
│   │       │   │       │   ├── MockGrpcTransport.php
│   │       │   │       │   ├── MockRequest.php
│   │       │   │       │   ├── MockRequestBody.php
│   │       │   │       │   ├── MockResponse.php
│   │       │   │       │   ├── MockServerStreamingCall.php
│   │       │   │       │   ├── MockStatus.php
│   │       │   │       │   ├── MockStubTrait.php
│   │       │   │       │   ├── MockTransport.php
│   │       │   │       │   ├── MockUnaryCall.php
│   │       │   │       │   ├── ProtobufGPBEmptyComparator.php
│   │       │   │       │   ├── ProtobufMessageComparator.php
│   │       │   │       │   ├── ReceivedRequest.php
│   │       │   │       │   ├── SerializationTrait.php
│   │       │   │       │   └── mocks.proto
│   │       │   │       ├── Transport/
│   │       │   │       │   ├── Grpc/
│   │       │   │       │   │   ├── ForwardingCall.php
│   │       │   │       │   │   ├── ForwardingServerStreamingCall.php
│   │       │   │       │   │   ├── ForwardingUnaryCall.php
│   │       │   │       │   │   ├── ServerStreamingCallWrapper.php
│   │       │   │       │   │   └── UnaryInterceptorInterface.php
│   │       │   │       │   ├── GrpcFallbackTransport.php
│   │       │   │       │   ├── GrpcTransport.php
│   │       │   │       │   ├── HttpUnaryTransportTrait.php
│   │       │   │       │   ├── Rest/
│   │       │   │       │   │   ├── JsonStreamDecoder.php
│   │       │   │       │   │   └── RestServerStreamingCall.php
│   │       │   │       │   ├── RestTransport.php
│   │       │   │       │   └── TransportInterface.php
│   │       │   │       ├── UriTrait.php
│   │       │   │       ├── ValidationException.php
│   │       │   │       ├── ValidationTrait.php
│   │       │   │       └── Version.php
│   │       │   ├── grpc-gcp/
│   │       │   │   ├── .github/
│   │       │   │   │   ├── release-please.yml
│   │       │   │   │   └── workflows/
│   │       │   │   │       └── tests.yml
│   │       │   │   ├── .gitmodules
│   │       │   │   ├── .php_cs.dist
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── cloudprober/
│   │       │   │   │   ├── bins/
│   │       │   │   │   │   └── opt/
│   │       │   │   │   │       └── grpc_php_plugin
│   │       │   │   │   ├── cloudprober.cfg
│   │       │   │   │   ├── codegen.sh
│   │       │   │   │   ├── composer.json
│   │       │   │   │   └── grpc_gpc_prober/
│   │       │   │   │       ├── firestore_probes.php
│   │       │   │   │       ├── prober.php
│   │       │   │   │       ├── spanner_probes.php
│   │       │   │   │       └── stackdriver_util.php
│   │       │   │   ├── composer.json
│   │       │   │   ├── doc/
│   │       │   │   │   └── gRPC-client-user-guide.md
│   │       │   │   └── src/
│   │       │   │       ├── ChannelRef.php
│   │       │   │       ├── Config.php
│   │       │   │       ├── CreatedByDeserializeCheck.php
│   │       │   │       ├── GCPBidiStreamingCall.php
│   │       │   │       ├── GCPCallInvoker.php
│   │       │   │       ├── GCPClientStreamCall.php
│   │       │   │       ├── GCPServerStreamCall.php
│   │       │   │       ├── GCPUnaryCall.php
│   │       │   │       ├── GcpBaseCall.php
│   │       │   │       ├── GcpExtensionChannel.php
│   │       │   │       ├── generated/
│   │       │   │       │   ├── GPBMetadata/
│   │       │   │       │   │   └── GrpcGcp.php
│   │       │   │       │   └── Grpc/
│   │       │   │       │       └── Gcp/
│   │       │   │       │           ├── AffinityConfig.php
│   │       │   │       │           ├── AffinityConfig_Command.php
│   │       │   │       │           ├── ApiConfig.php
│   │       │   │       │           ├── ChannelPoolConfig.php
│   │       │   │       │           └── MethodConfig.php
│   │       │   │       └── grpc_gcp.proto
│   │       │   ├── longrunning/
│   │       │   │   ├── .gitattributes
│   │       │   │   ├── CODE_OF_CONDUCT.md
│   │       │   │   ├── CONTRIBUTING.md
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── SECURITY.md
│   │       │   │   ├── VERSION
│   │       │   │   ├── composer.json
│   │       │   │   ├── metadata/
│   │       │   │   │   ├── Longrunning/
│   │       │   │   │   │   └── Operations.php
│   │       │   │   │   └── README.md
│   │       │   │   └── src/
│   │       │   │       ├── ApiCore/
│   │       │   │       │   └── LongRunning/
│   │       │   │       │       ├── Gapic/
│   │       │   │       │       │   └── OperationsGapicClient.php
│   │       │   │       │       └── OperationsClient.php
│   │       │   │       └── LongRunning/
│   │       │   │           ├── CancelOperationRequest.php
│   │       │   │           ├── Client/
│   │       │   │           │   └── OperationsClient.php
│   │       │   │           ├── DeleteOperationRequest.php
│   │       │   │           ├── Gapic/
│   │       │   │           │   └── OperationsGapicClient.php
│   │       │   │           ├── GetOperationRequest.php
│   │       │   │           ├── ListOperationsRequest.php
│   │       │   │           ├── ListOperationsResponse.php
│   │       │   │           ├── Operation.php
│   │       │   │           ├── OperationInfo.php
│   │       │   │           ├── OperationsClient.php
│   │       │   │           ├── OperationsGrpcClient.php
│   │       │   │           ├── WaitOperationRequest.php
│   │       │   │           └── resources/
│   │       │   │               ├── operations_client_config.json
│   │       │   │               ├── operations_descriptor_config.php
│   │       │   │               └── operations_rest_client_config.php
│   │       │   └── protobuf/
│   │       │       ├── LICENSE
│   │       │       ├── README.md
│   │       │       ├── composer.json
│   │       │       └── src/
│   │       │           ├── GPBMetadata/
│   │       │           │   └── Google/
│   │       │           │       └── Protobuf/
│   │       │           │           ├── Any.php
│   │       │           │           ├── Api.php
│   │       │           │           ├── Duration.php
│   │       │           │           ├── FieldMask.php
│   │       │           │           ├── GPBEmpty.php
│   │       │           │           ├── Internal/
│   │       │           │           │   └── Descriptor.php
│   │       │           │           ├── SourceContext.php
│   │       │           │           ├── Struct.php
│   │       │           │           ├── Timestamp.php
│   │       │           │           ├── Type.php
│   │       │           │           └── Wrappers.php
│   │       │           ├── Google/
│   │       │           │   └── Protobuf/
│   │       │           │       ├── Any.php
│   │       │           │       ├── Api.php
│   │       │           │       ├── BoolValue.php
│   │       │           │       ├── BytesValue.php
│   │       │           │       ├── Descriptor.php
│   │       │           │       ├── DescriptorPool.php
│   │       │           │       ├── DoubleValue.php
│   │       │           │       ├── Duration.php
│   │       │           │       ├── Enum.php
│   │       │           │       ├── EnumDescriptor.php
│   │       │           │       ├── EnumValue.php
│   │       │           │       ├── EnumValueDescriptor.php
│   │       │           │       ├── Field/
│   │       │           │       │   ├── Cardinality.php
│   │       │           │       │   └── Kind.php
│   │       │           │       ├── Field.php
│   │       │           │       ├── FieldDescriptor.php
│   │       │           │       ├── FieldMask.php
│   │       │           │       ├── Field_Cardinality.php
│   │       │           │       ├── Field_Kind.php
│   │       │           │       ├── FloatValue.php
│   │       │           │       ├── GPBEmpty.php
│   │       │           │       ├── Int32Value.php
│   │       │           │       ├── Int64Value.php
│   │       │           │       ├── Internal/
│   │       │           │       │   ├── AnyBase.php
│   │       │           │       │   ├── CodedInputStream.php
│   │       │           │       │   ├── CodedOutputStream.php
│   │       │           │       │   ├── Descriptor.php
│   │       │           │       │   ├── DescriptorPool.php
│   │       │           │       │   ├── DescriptorProto/
│   │       │           │       │   │   ├── ExtensionRange.php
│   │       │           │       │   │   └── ReservedRange.php
│   │       │           │       │   ├── DescriptorProto.php
│   │       │           │       │   ├── Edition.php
│   │       │           │       │   ├── EnumBuilderContext.php
│   │       │           │       │   ├── EnumDescriptor.php
│   │       │           │       │   ├── EnumDescriptorProto/
│   │       │           │       │   │   └── EnumReservedRange.php
│   │       │           │       │   ├── EnumDescriptorProto.php
│   │       │           │       │   ├── EnumOptions.php
│   │       │           │       │   ├── EnumValueDescriptorProto.php
│   │       │           │       │   ├── EnumValueOptions.php
│   │       │           │       │   ├── ExtensionRangeOptions/
│   │       │           │       │   │   ├── Declaration.php
│   │       │           │       │   │   └── VerificationState.php
│   │       │           │       │   ├── ExtensionRangeOptions.php
│   │       │           │       │   ├── FeatureSet/
│   │       │           │       │   │   ├── EnforceNamingStyle.php
│   │       │           │       │   │   ├── EnumType.php
│   │       │           │       │   │   ├── FieldPresence.php
│   │       │           │       │   │   ├── JsonFormat.php
│   │       │           │       │   │   ├── MessageEncoding.php
│   │       │           │       │   │   ├── RepeatedFieldEncoding.php
│   │       │           │       │   │   ├── Utf8Validation.php
│   │       │           │       │   │   ├── VisibilityFeature/
│   │       │           │       │   │   │   └── DefaultSymbolVisibility.php
│   │       │           │       │   │   └── VisibilityFeature.php
│   │       │           │       │   ├── FeatureSet.php
│   │       │           │       │   ├── FeatureSetDefaults/
│   │       │           │       │   │   └── FeatureSetEditionDefault.php
│   │       │           │       │   ├── FeatureSetDefaults.php
│   │       │           │       │   ├── FieldDescriptor.php
│   │       │           │       │   ├── FieldDescriptorProto/
│   │       │           │       │   │   ├── Label.php
│   │       │           │       │   │   └── Type.php
│   │       │           │       │   ├── FieldDescriptorProto.php
│   │       │           │       │   ├── FieldOptions/
│   │       │           │       │   │   ├── CType.php
│   │       │           │       │   │   ├── EditionDefault.php
│   │       │           │       │   │   ├── FeatureSupport.php
│   │       │           │       │   │   ├── JSType.php
│   │       │           │       │   │   ├── OptionRetention.php
│   │       │           │       │   │   └── OptionTargetType.php
│   │       │           │       │   ├── FieldOptions.php
│   │       │           │       │   ├── FileDescriptor.php
│   │       │           │       │   ├── FileDescriptorProto.php
│   │       │           │       │   ├── FileDescriptorSet.php
│   │       │           │       │   ├── FileOptions/
│   │       │           │       │   │   └── OptimizeMode.php
│   │       │           │       │   ├── FileOptions.php
│   │       │           │       │   ├── GPBDecodeException.php
│   │       │           │       │   ├── GPBJsonWire.php
│   │       │           │       │   ├── GPBLabel.php
│   │       │           │       │   ├── GPBType.php
│   │       │           │       │   ├── GPBUtil.php
│   │       │           │       │   ├── GPBWire.php
│   │       │           │       │   ├── GPBWireType.php
│   │       │           │       │   ├── GeneratedCodeInfo/
│   │       │           │       │   │   ├── Annotation/
│   │       │           │       │   │   │   └── Semantic.php
│   │       │           │       │   │   └── Annotation.php
│   │       │           │       │   ├── GeneratedCodeInfo.php
│   │       │           │       │   ├── GetPublicDescriptorTrait.php
│   │       │           │       │   ├── HasPublicDescriptorTrait.php
│   │       │           │       │   ├── MapEntry.php
│   │       │           │       │   ├── MapField.php
│   │       │           │       │   ├── MapFieldIter.php
│   │       │           │       │   ├── Message.php
│   │       │           │       │   ├── MessageBuilderContext.php
│   │       │           │       │   ├── MessageOptions.php
│   │       │           │       │   ├── MethodDescriptorProto.php
│   │       │           │       │   ├── MethodOptions/
│   │       │           │       │   │   └── IdempotencyLevel.php
│   │       │           │       │   ├── MethodOptions.php
│   │       │           │       │   ├── OneofDescriptor.php
│   │       │           │       │   ├── OneofDescriptorProto.php
│   │       │           │       │   ├── OneofField.php
│   │       │           │       │   ├── OneofOptions.php
│   │       │           │       │   ├── RawInputStream.php
│   │       │           │       │   ├── RepeatedField.php
│   │       │           │       │   ├── RepeatedFieldIter.php
│   │       │           │       │   ├── ServiceDescriptorProto.php
│   │       │           │       │   ├── ServiceOptions.php
│   │       │           │       │   ├── SourceCodeInfo/
│   │       │           │       │   │   └── Location.php
│   │       │           │       │   ├── SourceCodeInfo.php
│   │       │           │       │   ├── SymbolVisibility.php
│   │       │           │       │   ├── TimestampBase.php
│   │       │           │       │   ├── UninterpretedOption/
│   │       │           │       │   │   └── NamePart.php
│   │       │           │       │   └── UninterpretedOption.php
│   │       │           │       ├── ListValue.php
│   │       │           │       ├── Method.php
│   │       │           │       ├── Mixin.php
│   │       │           │       ├── NullValue.php
│   │       │           │       ├── OneofDescriptor.php
│   │       │           │       ├── Option.php
│   │       │           │       ├── PrintOptions.php
│   │       │           │       ├── RepeatedField.php
│   │       │           │       ├── SourceContext.php
│   │       │           │       ├── StringValue.php
│   │       │           │       ├── Struct.php
│   │       │           │       ├── Syntax.php
│   │       │           │       ├── Timestamp.php
│   │       │           │       ├── Type.php
│   │       │           │       ├── UInt32Value.php
│   │       │           │       ├── UInt64Value.php
│   │       │           │       └── Value.php
│   │       │           └── phpdoc.dist.xml
│   │       ├── grpc/
│   │       │   └── grpc/
│   │       │       ├── LICENSE
│   │       │       ├── MAINTAINERS.md
│   │       │       ├── README.md
│   │       │       ├── composer.json
│   │       │       ├── etc/
│   │       │       │   └── roots.pem
│   │       │       └── src/
│   │       │           └── lib/
│   │       │               ├── AbstractCall.php
│   │       │               ├── BaseStub.php
│   │       │               ├── BidiStreamingCall.php
│   │       │               ├── CallInvoker.php
│   │       │               ├── ClientStreamingCall.php
│   │       │               ├── DefaultCallInvoker.php
│   │       │               ├── Interceptor.php
│   │       │               ├── Internal/
│   │       │               │   └── InterceptorChannel.php
│   │       │               ├── MethodDescriptor.php
│   │       │               ├── RpcServer.php
│   │       │               ├── ServerCallReader.php
│   │       │               ├── ServerCallWriter.php
│   │       │               ├── ServerContext.php
│   │       │               ├── ServerStreamingCall.php
│   │       │               ├── Status.php
│   │       │               └── UnaryCall.php
│   │       ├── guzzlehttp/
│   │       │   ├── guzzle/
│   │       │   │   ├── CHANGELOG.md
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── UPGRADING.md
│   │       │   │   ├── composer.json
│   │       │   │   └── src/
│   │       │   │       ├── BodySummarizer.php
│   │       │   │       ├── BodySummarizerInterface.php
│   │       │   │       ├── Client.php
│   │       │   │       ├── ClientInterface.php
│   │       │   │       ├── ClientTrait.php
│   │       │   │       ├── Cookie/
│   │       │   │       │   ├── CookieJar.php
│   │       │   │       │   ├── CookieJarInterface.php
│   │       │   │       │   ├── FileCookieJar.php
│   │       │   │       │   ├── SessionCookieJar.php
│   │       │   │       │   └── SetCookie.php
│   │       │   │       ├── Exception/
│   │       │   │       │   ├── BadResponseException.php
│   │       │   │       │   ├── ClientException.php
│   │       │   │       │   ├── ConnectException.php
│   │       │   │       │   ├── GuzzleException.php
│   │       │   │       │   ├── InvalidArgumentException.php
│   │       │   │       │   ├── RequestException.php
│   │       │   │       │   ├── ServerException.php
│   │       │   │       │   ├── TooManyRedirectsException.php
│   │       │   │       │   └── TransferException.php
│   │       │   │       ├── Handler/
│   │       │   │       │   ├── CurlFactory.php
│   │       │   │       │   ├── CurlFactoryInterface.php
│   │       │   │       │   ├── CurlHandler.php
│   │       │   │       │   ├── CurlMultiHandler.php
│   │       │   │       │   ├── EasyHandle.php
│   │       │   │       │   ├── HeaderProcessor.php
│   │       │   │       │   ├── MockHandler.php
│   │       │   │       │   ├── Proxy.php
│   │       │   │       │   └── StreamHandler.php
│   │       │   │       ├── HandlerStack.php
│   │       │   │       ├── MessageFormatter.php
│   │       │   │       ├── MessageFormatterInterface.php
│   │       │   │       ├── Middleware.php
│   │       │   │       ├── Pool.php
│   │       │   │       ├── PrepareBodyMiddleware.php
│   │       │   │       ├── RedirectMiddleware.php
│   │       │   │       ├── RequestOptions.php
│   │       │   │       ├── RetryMiddleware.php
│   │       │   │       ├── TransferStats.php
│   │       │   │       ├── Utils.php
│   │       │   │       ├── functions.php
│   │       │   │       └── functions_include.php
│   │       │   ├── promises/
│   │       │   │   ├── CHANGELOG.md
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── composer.json
│   │       │   │   └── src/
│   │       │   │       ├── AggregateException.php
│   │       │   │       ├── CancellationException.php
│   │       │   │       ├── Coroutine.php
│   │       │   │       ├── Create.php
│   │       │   │       ├── Each.php
│   │       │   │       ├── EachPromise.php
│   │       │   │       ├── FulfilledPromise.php
│   │       │   │       ├── Is.php
│   │       │   │       ├── Promise.php
│   │       │   │       ├── PromiseInterface.php
│   │       │   │       ├── PromisorInterface.php
│   │       │   │       ├── RejectedPromise.php
│   │       │   │       ├── RejectionException.php
│   │       │   │       ├── TaskQueue.php
│   │       │   │       ├── TaskQueueInterface.php
│   │       │   │       └── Utils.php
│   │       │   └── psr7/
│   │       │       ├── CHANGELOG.md
│   │       │       ├── LICENSE
│   │       │       ├── README.md
│   │       │       ├── composer.json
│   │       │       └── src/
│   │       │           ├── AppendStream.php
│   │       │           ├── BufferStream.php
│   │       │           ├── CachingStream.php
│   │       │           ├── DroppingStream.php
│   │       │           ├── Exception/
│   │       │           │   └── MalformedUriException.php
│   │       │           ├── FnStream.php
│   │       │           ├── Header.php
│   │       │           ├── HttpFactory.php
│   │       │           ├── InflateStream.php
│   │       │           ├── LazyOpenStream.php
│   │       │           ├── LimitStream.php
│   │       │           ├── Message.php
│   │       │           ├── MessageTrait.php
│   │       │           ├── MimeType.php
│   │       │           ├── MultipartStream.php
│   │       │           ├── NoSeekStream.php
│   │       │           ├── PumpStream.php
│   │       │           ├── Query.php
│   │       │           ├── Request.php
│   │       │           ├── Response.php
│   │       │           ├── Rfc7230.php
│   │       │           ├── ServerRequest.php
│   │       │           ├── Stream.php
│   │       │           ├── StreamDecoratorTrait.php
│   │       │           ├── StreamWrapper.php
│   │       │           ├── UploadedFile.php
│   │       │           ├── Uri.php
│   │       │           ├── UriComparator.php
│   │       │           ├── UriNormalizer.php
│   │       │           ├── UriResolver.php
│   │       │           └── Utils.php
│   │       ├── monolog/
│   │       │   └── monolog/
│   │       │       ├── CHANGELOG.md
│   │       │       ├── LICENSE
│   │       │       ├── README.md
│   │       │       ├── composer.json
│   │       │       └── src/
│   │       │           └── Monolog/
│   │       │               ├── Attribute/
│   │       │               │   ├── AsMonologProcessor.php
│   │       │               │   └── WithMonologChannel.php
│   │       │               ├── DateTimeImmutable.php
│   │       │               ├── ErrorHandler.php
│   │       │               ├── Formatter/
│   │       │               │   ├── ChromePHPFormatter.php
│   │       │               │   ├── ElasticaFormatter.php
│   │       │               │   ├── ElasticsearchFormatter.php
│   │       │               │   ├── FlowdockFormatter.php
│   │       │               │   ├── FluentdFormatter.php
│   │       │               │   ├── FormatterInterface.php
│   │       │               │   ├── GelfMessageFormatter.php
│   │       │               │   ├── GoogleCloudLoggingFormatter.php
│   │       │               │   ├── HtmlFormatter.php
│   │       │               │   ├── JsonFormatter.php
│   │       │               │   ├── LineFormatter.php
│   │       │               │   ├── LogglyFormatter.php
│   │       │               │   ├── LogmaticFormatter.php
│   │       │               │   ├── LogstashFormatter.php
│   │       │               │   ├── MongoDBFormatter.php
│   │       │               │   ├── NormalizerFormatter.php
│   │       │               │   ├── ScalarFormatter.php
│   │       │               │   ├── SyslogFormatter.php
│   │       │               │   └── WildfireFormatter.php
│   │       │               ├── Handler/
│   │       │               │   ├── AbstractHandler.php
│   │       │               │   ├── AbstractProcessingHandler.php
│   │       │               │   ├── AbstractSyslogHandler.php
│   │       │               │   ├── AmqpHandler.php
│   │       │               │   ├── BrowserConsoleHandler.php
│   │       │               │   ├── BufferHandler.php
│   │       │               │   ├── ChromePHPHandler.php
│   │       │               │   ├── CouchDBHandler.php
│   │       │               │   ├── CubeHandler.php
│   │       │               │   ├── Curl/
│   │       │               │   │   └── Util.php
│   │       │               │   ├── DeduplicationHandler.php
│   │       │               │   ├── DoctrineCouchDBHandler.php
│   │       │               │   ├── DynamoDbHandler.php
│   │       │               │   ├── ElasticaHandler.php
│   │       │               │   ├── ElasticsearchHandler.php
│   │       │               │   ├── ErrorLogHandler.php
│   │       │               │   ├── FallbackGroupHandler.php
│   │       │               │   ├── FilterHandler.php
│   │       │               │   ├── FingersCrossed/
│   │       │               │   │   ├── ActivationStrategyInterface.php
│   │       │               │   │   ├── ChannelLevelActivationStrategy.php
│   │       │               │   │   └── ErrorLevelActivationStrategy.php
│   │       │               │   ├── FingersCrossedHandler.php
│   │       │               │   ├── FirePHPHandler.php
│   │       │               │   ├── FleepHookHandler.php
│   │       │               │   ├── FlowdockHandler.php
│   │       │               │   ├── FormattableHandlerInterface.php
│   │       │               │   ├── FormattableHandlerTrait.php
│   │       │               │   ├── GelfHandler.php
│   │       │               │   ├── GroupHandler.php
│   │       │               │   ├── Handler.php
│   │       │               │   ├── HandlerInterface.php
│   │       │               │   ├── HandlerWrapper.php
│   │       │               │   ├── IFTTTHandler.php
│   │       │               │   ├── InsightOpsHandler.php
│   │       │               │   ├── LogEntriesHandler.php
│   │       │               │   ├── LogglyHandler.php
│   │       │               │   ├── LogmaticHandler.php
│   │       │               │   ├── MailHandler.php
│   │       │               │   ├── MandrillHandler.php
│   │       │               │   ├── MissingExtensionException.php
│   │       │               │   ├── MongoDBHandler.php
│   │       │               │   ├── NativeMailerHandler.php
│   │       │               │   ├── NewRelicHandler.php
│   │       │               │   ├── NoopHandler.php
│   │       │               │   ├── NullHandler.php
│   │       │               │   ├── OverflowHandler.php
│   │       │               │   ├── PHPConsoleHandler.php
│   │       │               │   ├── ProcessHandler.php
│   │       │               │   ├── ProcessableHandlerInterface.php
│   │       │               │   ├── ProcessableHandlerTrait.php
│   │       │               │   ├── PsrHandler.php
│   │       │               │   ├── PushoverHandler.php
│   │       │               │   ├── RedisHandler.php
│   │       │               │   ├── RedisPubSubHandler.php
│   │       │               │   ├── RollbarHandler.php
│   │       │               │   ├── RotatingFileHandler.php
│   │       │               │   ├── SamplingHandler.php
│   │       │               │   ├── SendGridHandler.php
│   │       │               │   ├── Slack/
│   │       │               │   │   └── SlackRecord.php
│   │       │               │   ├── SlackHandler.php
│   │       │               │   ├── SlackWebhookHandler.php
│   │       │               │   ├── SocketHandler.php
│   │       │               │   ├── SqsHandler.php
│   │       │               │   ├── StreamHandler.php
│   │       │               │   ├── SymfonyMailerHandler.php
│   │       │               │   ├── SyslogHandler.php
│   │       │               │   ├── SyslogUdp/
│   │       │               │   │   └── UdpSocket.php
│   │       │               │   ├── SyslogUdpHandler.php
│   │       │               │   ├── TelegramBotHandler.php
│   │       │               │   ├── TestHandler.php
│   │       │               │   ├── WebRequestRecognizerTrait.php
│   │       │               │   ├── WhatFailureGroupHandler.php
│   │       │               │   └── ZendMonitorHandler.php
│   │       │               ├── JsonSerializableDateTimeImmutable.php
│   │       │               ├── Level.php
│   │       │               ├── LogRecord.php
│   │       │               ├── Logger.php
│   │       │               ├── Processor/
│   │       │               │   ├── ClosureContextProcessor.php
│   │       │               │   ├── GitProcessor.php
│   │       │               │   ├── HostnameProcessor.php
│   │       │               │   ├── IntrospectionProcessor.php
│   │       │               │   ├── LoadAverageProcessor.php
│   │       │               │   ├── MemoryPeakUsageProcessor.php
│   │       │               │   ├── MemoryProcessor.php
│   │       │               │   ├── MemoryUsageProcessor.php
│   │       │               │   ├── MercurialProcessor.php
│   │       │               │   ├── ProcessIdProcessor.php
│   │       │               │   ├── ProcessorInterface.php
│   │       │               │   ├── PsrLogMessageProcessor.php
│   │       │               │   ├── TagProcessor.php
│   │       │               │   ├── UidProcessor.php
│   │       │               │   └── WebProcessor.php
│   │       │               ├── Registry.php
│   │       │               ├── ResettableInterface.php
│   │       │               ├── SignalHandler.php
│   │       │               ├── Test/
│   │       │               │   ├── MonologTestCase.php
│   │       │               │   └── TestCase.php
│   │       │               └── Utils.php
│   │       ├── paragonie/
│   │       │   ├── constant_time_encoding/
│   │       │   │   ├── LICENSE.txt
│   │       │   │   ├── README.md
│   │       │   │   ├── composer.json
│   │       │   │   └── src/
│   │       │   │       ├── Base32.php
│   │       │   │       ├── Base32Hex.php
│   │       │   │       ├── Base64.php
│   │       │   │       ├── Base64DotSlash.php
│   │       │   │       ├── Base64DotSlashOrdered.php
│   │       │   │       ├── Base64UrlSafe.php
│   │       │   │       ├── Binary.php
│   │       │   │       ├── EncoderInterface.php
│   │       │   │       ├── Encoding.php
│   │       │   │       ├── Hex.php
│   │       │   │       └── RFC4648.php
│   │       │   └── random_compat/
│   │       │       ├── LICENSE
│   │       │       ├── build-phar.sh
│   │       │       ├── composer.json
│   │       │       ├── dist/
│   │       │       │   ├── random_compat.phar.pubkey
│   │       │       │   └── random_compat.phar.pubkey.asc
│   │       │       ├── lib/
│   │       │       │   └── random.php
│   │       │       ├── other/
│   │       │       │   └── build_phar.php
│   │       │       ├── psalm-autoload.php
│   │       │       └── psalm.xml
│   │       ├── phpseclib/
│   │       │   └── phpseclib/
│   │       │       ├── AUTHORS
│   │       │       ├── BACKERS.md
│   │       │       ├── LICENSE
│   │       │       ├── README.md
│   │       │       ├── SECURITY.md
│   │       │       ├── composer.json
│   │       │       └── phpseclib/
│   │       │           ├── Common/
│   │       │           │   └── Functions/
│   │       │           │       └── Strings.php
│   │       │           ├── Crypt/
│   │       │           │   ├── AES.php
│   │       │           │   ├── Blowfish.php
│   │       │           │   ├── ChaCha20.php
│   │       │           │   ├── Common/
│   │       │           │   │   ├── AsymmetricKey.php
│   │       │           │   │   ├── BlockCipher.php
│   │       │           │   │   ├── Formats/
│   │       │           │   │   │   ├── Keys/
│   │       │           │   │   │   │   ├── JWK.php
│   │       │           │   │   │   │   ├── OpenSSH.php
│   │       │           │   │   │   │   ├── PKCS.php
│   │       │           │   │   │   │   ├── PKCS1.php
│   │       │           │   │   │   │   ├── PKCS8.php
│   │       │           │   │   │   │   └── PuTTY.php
│   │       │           │   │   │   └── Signature/
│   │       │           │   │   │       └── Raw.php
│   │       │           │   │   ├── PrivateKey.php
│   │       │           │   │   ├── PublicKey.php
│   │       │           │   │   ├── StreamCipher.php
│   │       │           │   │   ├── SymmetricKey.php
│   │       │           │   │   └── Traits/
│   │       │           │   │       ├── Fingerprint.php
│   │       │           │   │       └── PasswordProtected.php
│   │       │           │   ├── DES.php
│   │       │           │   ├── DH/
│   │       │           │   │   ├── Formats/
│   │       │           │   │   │   └── Keys/
│   │       │           │   │   │       ├── PKCS1.php
│   │       │           │   │   │       └── PKCS8.php
│   │       │           │   │   ├── Parameters.php
│   │       │           │   │   ├── PrivateKey.php
│   │       │           │   │   └── PublicKey.php
│   │       │           │   ├── DH.php
│   │       │           │   ├── DSA/
│   │       │           │   │   ├── Formats/
│   │       │           │   │   │   ├── Keys/
│   │       │           │   │   │   │   ├── OpenSSH.php
│   │       │           │   │   │   │   ├── PKCS1.php
│   │       │           │   │   │   │   ├── PKCS8.php
│   │       │           │   │   │   │   ├── PuTTY.php
│   │       │           │   │   │   │   ├── Raw.php
│   │       │           │   │   │   │   └── XML.php
│   │       │           │   │   │   └── Signature/
│   │       │           │   │   │       ├── ASN1.php
│   │       │           │   │   │       ├── Raw.php
│   │       │           │   │   │       └── SSH2.php
│   │       │           │   │   ├── Parameters.php
│   │       │           │   │   ├── PrivateKey.php
│   │       │           │   │   └── PublicKey.php
│   │       │           │   ├── DSA.php
│   │       │           │   ├── EC/
│   │       │           │   │   ├── BaseCurves/
│   │       │           │   │   │   ├── Base.php
│   │       │           │   │   │   ├── Binary.php
│   │       │           │   │   │   ├── KoblitzPrime.php
│   │       │           │   │   │   ├── Montgomery.php
│   │       │           │   │   │   ├── Prime.php
│   │       │           │   │   │   └── TwistedEdwards.php
│   │       │           │   │   ├── Curves/
│   │       │           │   │   │   ├── Curve25519.php
│   │       │           │   │   │   ├── Curve448.php
│   │       │           │   │   │   ├── Ed25519.php
│   │       │           │   │   │   ├── Ed448.php
│   │       │           │   │   │   ├── brainpoolP160r1.php
│   │       │           │   │   │   ├── brainpoolP160t1.php
│   │       │           │   │   │   ├── brainpoolP192r1.php
│   │       │           │   │   │   ├── brainpoolP192t1.php
│   │       │           │   │   │   ├── brainpoolP224r1.php
│   │       │           │   │   │   ├── brainpoolP224t1.php
│   │       │           │   │   │   ├── brainpoolP256r1.php
│   │       │           │   │   │   ├── brainpoolP256t1.php
│   │       │           │   │   │   ├── brainpoolP320r1.php
│   │       │           │   │   │   ├── brainpoolP320t1.php
│   │       │           │   │   │   ├── brainpoolP384r1.php
│   │       │           │   │   │   ├── brainpoolP384t1.php
│   │       │           │   │   │   ├── brainpoolP512r1.php
│   │       │           │   │   │   ├── brainpoolP512t1.php
│   │       │           │   │   │   ├── nistb233.php
│   │       │           │   │   │   ├── nistb409.php
│   │       │           │   │   │   ├── nistk163.php
│   │       │           │   │   │   ├── nistk233.php
│   │       │           │   │   │   ├── nistk283.php
│   │       │           │   │   │   ├── nistk409.php
│   │       │           │   │   │   ├── nistp192.php
│   │       │           │   │   │   ├── nistp224.php
│   │       │           │   │   │   ├── nistp256.php
│   │       │           │   │   │   ├── nistp384.php
│   │       │           │   │   │   ├── nistp521.php
│   │       │           │   │   │   ├── nistt571.php
│   │       │           │   │   │   ├── prime192v1.php
│   │       │           │   │   │   ├── prime192v2.php
│   │       │           │   │   │   ├── prime192v3.php
│   │       │           │   │   │   ├── prime239v1.php
│   │       │           │   │   │   ├── prime239v2.php
│   │       │           │   │   │   ├── prime239v3.php
│   │       │           │   │   │   ├── prime256v1.php
│   │       │           │   │   │   ├── secp112r1.php
│   │       │           │   │   │   ├── secp112r2.php
│   │       │           │   │   │   ├── secp128r1.php
│   │       │           │   │   │   ├── secp128r2.php
│   │       │           │   │   │   ├── secp160k1.php
│   │       │           │   │   │   ├── secp160r1.php
│   │       │           │   │   │   ├── secp160r2.php
│   │       │           │   │   │   ├── secp192k1.php
│   │       │           │   │   │   ├── secp192r1.php
│   │       │           │   │   │   ├── secp224k1.php
│   │       │           │   │   │   ├── secp224r1.php
│   │       │           │   │   │   ├── secp256k1.php
│   │       │           │   │   │   ├── secp256r1.php
│   │       │           │   │   │   ├── secp384r1.php
│   │       │           │   │   │   ├── secp521r1.php
│   │       │           │   │   │   ├── sect113r1.php
│   │       │           │   │   │   ├── sect113r2.php
│   │       │           │   │   │   ├── sect131r1.php
│   │       │           │   │   │   ├── sect131r2.php
│   │       │           │   │   │   ├── sect163k1.php
│   │       │           │   │   │   ├── sect163r1.php
│   │       │           │   │   │   ├── sect163r2.php
│   │       │           │   │   │   ├── sect193r1.php
│   │       │           │   │   │   ├── sect193r2.php
│   │       │           │   │   │   ├── sect233k1.php
│   │       │           │   │   │   ├── sect233r1.php
│   │       │           │   │   │   ├── sect239k1.php
│   │       │           │   │   │   ├── sect283k1.php
│   │       │           │   │   │   ├── sect283r1.php
│   │       │           │   │   │   ├── sect409k1.php
│   │       │           │   │   │   ├── sect409r1.php
│   │       │           │   │   │   ├── sect571k1.php
│   │       │           │   │   │   └── sect571r1.php
│   │       │           │   │   ├── Formats/
│   │       │           │   │   │   ├── Keys/
│   │       │           │   │   │   │   ├── Common.php
│   │       │           │   │   │   │   ├── JWK.php
│   │       │           │   │   │   │   ├── MontgomeryPrivate.php
│   │       │           │   │   │   │   ├── MontgomeryPublic.php
│   │       │           │   │   │   │   ├── OpenSSH.php
│   │       │           │   │   │   │   ├── PKCS1.php
│   │       │           │   │   │   │   ├── PKCS8.php
│   │       │           │   │   │   │   ├── PuTTY.php
│   │       │           │   │   │   │   ├── XML.php
│   │       │           │   │   │   │   └── libsodium.php
│   │       │           │   │   │   └── Signature/
│   │       │           │   │   │       ├── ASN1.php
│   │       │           │   │   │       ├── IEEE.php
│   │       │           │   │   │       ├── Raw.php
│   │       │           │   │   │       └── SSH2.php
│   │       │           │   │   ├── Parameters.php
│   │       │           │   │   ├── PrivateKey.php
│   │       │           │   │   └── PublicKey.php
│   │       │           │   ├── EC.php
│   │       │           │   ├── Hash.php
│   │       │           │   ├── PublicKeyLoader.php
│   │       │           │   ├── RC2.php
│   │       │           │   ├── RC4.php
│   │       │           │   ├── RSA/
│   │       │           │   │   ├── Formats/
│   │       │           │   │   │   └── Keys/
│   │       │           │   │   │       ├── JWK.php
│   │       │           │   │   │       ├── MSBLOB.php
│   │       │           │   │   │       ├── OpenSSH.php
│   │       │           │   │   │       ├── PKCS1.php
│   │       │           │   │   │       ├── PKCS8.php
│   │       │           │   │   │       ├── PSS.php
│   │       │           │   │   │       ├── PuTTY.php
│   │       │           │   │   │       ├── Raw.php
│   │       │           │   │   │       └── XML.php
│   │       │           │   │   ├── PrivateKey.php
│   │       │           │   │   └── PublicKey.php
│   │       │           │   ├── RSA.php
│   │       │           │   ├── Random.php
│   │       │           │   ├── Rijndael.php
│   │       │           │   ├── Salsa20.php
│   │       │           │   ├── TripleDES.php
│   │       │           │   └── Twofish.php
│   │       │           ├── Exception/
│   │       │           │   ├── BadConfigurationException.php
│   │       │           │   ├── BadDecryptionException.php
│   │       │           │   ├── BadModeException.php
│   │       │           │   ├── ConnectionClosedException.php
│   │       │           │   ├── FileNotFoundException.php
│   │       │           │   ├── InconsistentSetupException.php
│   │       │           │   ├── InsufficientSetupException.php
│   │       │           │   ├── InvalidPacketLengthException.php
│   │       │           │   ├── NoKeyLoadedException.php
│   │       │           │   ├── NoSupportedAlgorithmsException.php
│   │       │           │   ├── TimeoutException.php
│   │       │           │   ├── UnableToConnectException.php
│   │       │           │   ├── UnsupportedAlgorithmException.php
│   │       │           │   ├── UnsupportedCurveException.php
│   │       │           │   ├── UnsupportedFormatException.php
│   │       │           │   └── UnsupportedOperationException.php
│   │       │           ├── File/
│   │       │           │   ├── ANSI.php
│   │       │           │   ├── ASN1/
│   │       │           │   │   ├── Element.php
│   │       │           │   │   └── Maps/
│   │       │           │   │       ├── AccessDescription.php
│   │       │           │   │       ├── AdministrationDomainName.php
│   │       │           │   │       ├── AlgorithmIdentifier.php
│   │       │           │   │       ├── AnotherName.php
│   │       │           │   │       ├── Attribute.php
│   │       │           │   │       ├── AttributeType.php
│   │       │           │   │       ├── AttributeTypeAndValue.php
│   │       │           │   │       ├── AttributeValue.php
│   │       │           │   │       ├── Attributes.php
│   │       │           │   │       ├── AuthorityInfoAccessSyntax.php
│   │       │           │   │       ├── AuthorityKeyIdentifier.php
│   │       │           │   │       ├── BaseDistance.php
│   │       │           │   │       ├── BasicConstraints.php
│   │       │           │   │       ├── BuiltInDomainDefinedAttribute.php
│   │       │           │   │       ├── BuiltInDomainDefinedAttributes.php
│   │       │           │   │       ├── BuiltInStandardAttributes.php
│   │       │           │   │       ├── CPSuri.php
│   │       │           │   │       ├── CRLDistributionPoints.php
│   │       │           │   │       ├── CRLNumber.php
│   │       │           │   │       ├── CRLReason.php
│   │       │           │   │       ├── CertPolicyId.php
│   │       │           │   │       ├── Certificate.php
│   │       │           │   │       ├── CertificateIssuer.php
│   │       │           │   │       ├── CertificateList.php
│   │       │           │   │       ├── CertificatePolicies.php
│   │       │           │   │       ├── CertificateSerialNumber.php
│   │       │           │   │       ├── CertificationRequest.php
│   │       │           │   │       ├── CertificationRequestInfo.php
│   │       │           │   │       ├── Characteristic_two.php
│   │       │           │   │       ├── CountryName.php
│   │       │           │   │       ├── Curve.php
│   │       │           │   │       ├── DHParameter.php
│   │       │           │   │       ├── DSAParams.php
│   │       │           │   │       ├── DSAPrivateKey.php
│   │       │           │   │       ├── DSAPublicKey.php
│   │       │           │   │       ├── DigestInfo.php
│   │       │           │   │       ├── DirectoryString.php
│   │       │           │   │       ├── DisplayText.php
│   │       │           │   │       ├── DistributionPoint.php
│   │       │           │   │       ├── DistributionPointName.php
│   │       │           │   │       ├── DssSigValue.php
│   │       │           │   │       ├── ECParameters.php
│   │       │           │   │       ├── ECPoint.php
│   │       │           │   │       ├── ECPrivateKey.php
│   │       │           │   │       ├── EDIPartyName.php
│   │       │           │   │       ├── EcdsaSigValue.php
│   │       │           │   │       ├── EncryptedData.php
│   │       │           │   │       ├── EncryptedPrivateKeyInfo.php
│   │       │           │   │       ├── ExtKeyUsageSyntax.php
│   │       │           │   │       ├── Extension.php
│   │       │           │   │       ├── ExtensionAttribute.php
│   │       │           │   │       ├── ExtensionAttributes.php
│   │       │           │   │       ├── Extensions.php
│   │       │           │   │       ├── FieldElement.php
│   │       │           │   │       ├── FieldID.php
│   │       │           │   │       ├── GeneralName.php
│   │       │           │   │       ├── GeneralNames.php
│   │       │           │   │       ├── GeneralSubtree.php
│   │       │           │   │       ├── GeneralSubtrees.php
│   │       │           │   │       ├── HashAlgorithm.php
│   │       │           │   │       ├── HoldInstructionCode.php
│   │       │           │   │       ├── InvalidityDate.php
│   │       │           │   │       ├── IssuerAltName.php
│   │       │           │   │       ├── IssuingDistributionPoint.php
│   │       │           │   │       ├── KeyIdentifier.php
│   │       │           │   │       ├── KeyPurposeId.php
│   │       │           │   │       ├── KeyUsage.php
│   │       │           │   │       ├── MaskGenAlgorithm.php
│   │       │           │   │       ├── Name.php
│   │       │           │   │       ├── NameConstraints.php
│   │       │           │   │       ├── NetworkAddress.php
│   │       │           │   │       ├── NoticeReference.php
│   │       │           │   │       ├── NumericUserIdentifier.php
│   │       │           │   │       ├── ORAddress.php
│   │       │           │   │       ├── OneAsymmetricKey.php
│   │       │           │   │       ├── OrganizationName.php
│   │       │           │   │       ├── OrganizationalUnitNames.php
│   │       │           │   │       ├── OtherPrimeInfo.php
│   │       │           │   │       ├── OtherPrimeInfos.php
│   │       │           │   │       ├── PBEParameter.php
│   │       │           │   │       ├── PBES2params.php
│   │       │           │   │       ├── PBKDF2params.php
│   │       │           │   │       ├── PBMAC1params.php
│   │       │           │   │       ├── PKCS9String.php
│   │       │           │   │       ├── Pentanomial.php
│   │       │           │   │       ├── PersonalName.php
│   │       │           │   │       ├── PolicyInformation.php
│   │       │           │   │       ├── PolicyMappings.php
│   │       │           │   │       ├── PolicyQualifierId.php
│   │       │           │   │       ├── PolicyQualifierInfo.php
│   │       │           │   │       ├── PostalAddress.php
│   │       │           │   │       ├── Prime_p.php
│   │       │           │   │       ├── PrivateDomainName.php
│   │       │           │   │       ├── PrivateKey.php
│   │       │           │   │       ├── PrivateKeyInfo.php
│   │       │           │   │       ├── PrivateKeyUsagePeriod.php
│   │       │           │   │       ├── PublicKey.php
│   │       │           │   │       ├── PublicKeyAndChallenge.php
│   │       │           │   │       ├── PublicKeyInfo.php
│   │       │           │   │       ├── RC2CBCParameter.php
│   │       │           │   │       ├── RDNSequence.php
│   │       │           │   │       ├── RSAPrivateKey.php
│   │       │           │   │       ├── RSAPublicKey.php
│   │       │           │   │       ├── RSASSA_PSS_params.php
│   │       │           │   │       ├── ReasonFlags.php
│   │       │           │   │       ├── RelativeDistinguishedName.php
│   │       │           │   │       ├── RevokedCertificate.php
│   │       │           │   │       ├── SignedPublicKeyAndChallenge.php
│   │       │           │   │       ├── SpecifiedECDomain.php
│   │       │           │   │       ├── SubjectAltName.php
│   │       │           │   │       ├── SubjectDirectoryAttributes.php
│   │       │           │   │       ├── SubjectInfoAccessSyntax.php
│   │       │           │   │       ├── SubjectPublicKeyInfo.php
│   │       │           │   │       ├── TBSCertList.php
│   │       │           │   │       ├── TBSCertificate.php
│   │       │           │   │       ├── TerminalIdentifier.php
│   │       │           │   │       ├── Time.php
│   │       │           │   │       ├── Trinomial.php
│   │       │           │   │       ├── UniqueIdentifier.php
│   │       │           │   │       ├── UserNotice.php
│   │       │           │   │       ├── Validity.php
│   │       │           │   │       ├── netscape_ca_policy_url.php
│   │       │           │   │       ├── netscape_cert_type.php
│   │       │           │   │       └── netscape_comment.php
│   │       │           │   ├── ASN1.php
│   │       │           │   └── X509.php
│   │       │           ├── Math/
│   │       │           │   ├── BigInteger/
│   │       │           │   │   └── Engines/
│   │       │           │   │       ├── BCMath/
│   │       │           │   │       │   ├── Base.php
│   │       │           │   │       │   ├── BuiltIn.php
│   │       │           │   │       │   ├── DefaultEngine.php
│   │       │           │   │       │   ├── OpenSSL.php
│   │       │           │   │       │   └── Reductions/
│   │       │           │   │       │       ├── Barrett.php
│   │       │           │   │       │       └── EvalBarrett.php
│   │       │           │   │       ├── BCMath.php
│   │       │           │   │       ├── Engine.php
│   │       │           │   │       ├── GMP/
│   │       │           │   │       │   └── DefaultEngine.php
│   │       │           │   │       ├── GMP.php
│   │       │           │   │       ├── OpenSSL.php
│   │       │           │   │       ├── PHP/
│   │       │           │   │       │   ├── Base.php
│   │       │           │   │       │   ├── DefaultEngine.php
│   │       │           │   │       │   ├── Montgomery.php
│   │       │           │   │       │   ├── OpenSSL.php
│   │       │           │   │       │   └── Reductions/
│   │       │           │   │       │       ├── Barrett.php
│   │       │           │   │       │       ├── Classic.php
│   │       │           │   │       │       ├── EvalBarrett.php
│   │       │           │   │       │       ├── Montgomery.php
│   │       │           │   │       │       ├── MontgomeryMult.php
│   │       │           │   │       │       └── PowerOfTwo.php
│   │       │           │   │       ├── PHP.php
│   │       │           │   │       ├── PHP32.php
│   │       │           │   │       └── PHP64.php
│   │       │           │   ├── BigInteger.php
│   │       │           │   ├── BinaryField/
│   │       │           │   │   └── Integer.php
│   │       │           │   ├── BinaryField.php
│   │       │           │   ├── Common/
│   │       │           │   │   ├── FiniteField/
│   │       │           │   │   │   └── Integer.php
│   │       │           │   │   └── FiniteField.php
│   │       │           │   ├── PrimeField/
│   │       │           │   │   └── Integer.php
│   │       │           │   └── PrimeField.php
│   │       │           ├── Net/
│   │       │           │   ├── SCP.php
│   │       │           │   ├── SFTP/
│   │       │           │   │   └── Stream.php
│   │       │           │   ├── SFTP.php
│   │       │           │   └── SSH2.php
│   │       │           ├── System/
│   │       │           │   └── SSH/
│   │       │           │       ├── Agent/
│   │       │           │       │   └── Identity.php
│   │       │           │       ├── Agent.php
│   │       │           │       └── Common/
│   │       │           │           └── Traits/
│   │       │           │               └── ReadBytes.php
│   │       │           ├── bootstrap.php
│   │       │           └── openssl.cnf
│   │       ├── psr/
│   │       │   ├── cache/
│   │       │   │   ├── CHANGELOG.md
│   │       │   │   ├── LICENSE.txt
│   │       │   │   ├── README.md
│   │       │   │   ├── composer.json
│   │       │   │   └── src/
│   │       │   │       ├── CacheException.php
│   │       │   │       ├── CacheItemInterface.php
│   │       │   │       ├── CacheItemPoolInterface.php
│   │       │   │       └── InvalidArgumentException.php
│   │       │   ├── http-client/
│   │       │   │   ├── CHANGELOG.md
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── composer.json
│   │       │   │   └── src/
│   │       │   │       ├── ClientExceptionInterface.php
│   │       │   │       ├── ClientInterface.php
│   │       │   │       ├── NetworkExceptionInterface.php
│   │       │   │       └── RequestExceptionInterface.php
│   │       │   ├── http-factory/
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── composer.json
│   │       │   │   └── src/
│   │       │   │       ├── RequestFactoryInterface.php
│   │       │   │       ├── ResponseFactoryInterface.php
│   │       │   │       ├── ServerRequestFactoryInterface.php
│   │       │   │       ├── StreamFactoryInterface.php
│   │       │   │       ├── UploadedFileFactoryInterface.php
│   │       │   │       └── UriFactoryInterface.php
│   │       │   ├── http-message/
│   │       │   │   ├── CHANGELOG.md
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── composer.json
│   │       │   │   ├── docs/
│   │       │   │   │   ├── PSR7-Interfaces.md
│   │       │   │   │   └── PSR7-Usage.md
│   │       │   │   └── src/
│   │       │   │       ├── MessageInterface.php
│   │       │   │       ├── RequestInterface.php
│   │       │   │       ├── ResponseInterface.php
│   │       │   │       ├── ServerRequestInterface.php
│   │       │   │       ├── StreamInterface.php
│   │       │   │       ├── UploadedFileInterface.php
│   │       │   │       └── UriInterface.php
│   │       │   └── log/
│   │       │       ├── LICENSE
│   │       │       ├── README.md
│   │       │       ├── composer.json
│   │       │       └── src/
│   │       │           ├── AbstractLogger.php
│   │       │           ├── InvalidArgumentException.php
│   │       │           ├── LogLevel.php
│   │       │           ├── LoggerAwareInterface.php
│   │       │           ├── LoggerAwareTrait.php
│   │       │           ├── LoggerInterface.php
│   │       │           ├── LoggerTrait.php
│   │       │           └── NullLogger.php
│   │       ├── ralouphie/
│   │       │   └── getallheaders/
│   │       │       ├── LICENSE
│   │       │       ├── README.md
│   │       │       ├── composer.json
│   │       │       └── src/
│   │       │           └── getallheaders.php
│   │       ├── ramsey/
│   │       │   ├── collection/
│   │       │   │   ├── LICENSE
│   │       │   │   ├── README.md
│   │       │   │   ├── SECURITY.md
│   │       │   │   ├── composer.json
│   │       │   │   └── src/
│   │       │   │       ├── AbstractArray.php
│   │       │   │       ├── AbstractCollection.php
│   │       │   │       ├── AbstractSet.php
│   │       │   │       ├── ArrayInterface.php
│   │       │   │       ├── Collection.php
│   │       │   │       ├── CollectionInterface.php
│   │       │   │       ├── DoubleEndedQueue.php
│   │       │   │       ├── DoubleEndedQueueInterface.php
│   │       │   │       ├── Exception/
│   │       │   │       │   ├── CollectionException.php
│   │       │   │       │   ├── CollectionMismatchException.php
│   │       │   │       │   ├── InvalidArgumentException.php
│   │       │   │       │   ├── InvalidPropertyOrMethod.php
│   │       │   │       │   ├── NoSuchElementException.php
│   │       │   │       │   ├── OutOfBoundsException.php
│   │       │   │       │   └── UnsupportedOperationException.php
│   │       │   │       ├── GenericArray.php
│   │       │   │       ├── Map/
│   │       │   │       │   ├── AbstractMap.php
│   │       │   │       │   ├── AbstractTypedMap.php
│   │       │   │       │   ├── AssociativeArrayMap.php
│   │       │   │       │   ├── MapInterface.php
│   │       │   │       │   ├── NamedParameterMap.php
│   │       │   │       │   ├── TypedMap.php
│   │       │   │       │   └── TypedMapInterface.php
│   │       │   │       ├── Queue.php
│   │       │   │       ├── QueueInterface.php
│   │       │   │       ├── Set.php
│   │       │   │       ├── Sort.php
│   │       │   │       └── Tool/
│   │       │   │           ├── TypeTrait.php
│   │       │   │           ├── ValueExtractorTrait.php
│   │       │   │           └── ValueToStringTrait.php
│   │       │   └── uuid/
│   │       │       ├── LICENSE
│   │       │       ├── README.md
│   │       │       ├── composer.json
│   │       │       └── src/
│   │       │           ├── BinaryUtils.php
│   │       │           ├── Builder/
│   │       │           │   ├── BuilderCollection.php
│   │       │           │   ├── DefaultUuidBuilder.php
│   │       │           │   ├── DegradedUuidBuilder.php
│   │       │           │   ├── FallbackBuilder.php
│   │       │           │   └── UuidBuilderInterface.php
│   │       │           ├── Codec/
│   │       │           │   ├── CodecInterface.php
│   │       │           │   ├── GuidStringCodec.php
│   │       │           │   ├── OrderedTimeCodec.php
│   │       │           │   ├── StringCodec.php
│   │       │           │   ├── TimestampFirstCombCodec.php
│   │       │           │   └── TimestampLastCombCodec.php
│   │       │           ├── Converter/
│   │       │           │   ├── Number/
│   │       │           │   │   ├── BigNumberConverter.php
│   │       │           │   │   ├── DegradedNumberConverter.php
│   │       │           │   │   └── GenericNumberConverter.php
│   │       │           │   ├── NumberConverterInterface.php
│   │       │           │   ├── Time/
│   │       │           │   │   ├── BigNumberTimeConverter.php
│   │       │           │   │   ├── DegradedTimeConverter.php
│   │       │           │   │   ├── GenericTimeConverter.php
│   │       │           │   │   ├── PhpTimeConverter.php
│   │       │           │   │   └── UnixTimeConverter.php
│   │       │           │   └── TimeConverterInterface.php
│   │       │           ├── DegradedUuid.php
│   │       │           ├── DeprecatedUuidInterface.php
│   │       │           ├── DeprecatedUuidMethodsTrait.php
│   │       │           ├── Exception/
│   │       │           │   ├── BuilderNotFoundException.php
│   │       │           │   ├── DateTimeException.php
│   │       │           │   ├── DceSecurityException.php
│   │       │           │   ├── InvalidArgumentException.php
│   │       │           │   ├── InvalidBytesException.php
│   │       │           │   ├── InvalidUuidStringException.php
│   │       │           │   ├── NameException.php
│   │       │           │   ├── NodeException.php
│   │       │           │   ├── RandomSourceException.php
│   │       │           │   ├── TimeSourceException.php
│   │       │           │   ├── UnableToBuildUuidException.php
│   │       │           │   ├── UnsupportedOperationException.php
│   │       │           │   └── UuidExceptionInterface.php
│   │       │           ├── FeatureSet.php
│   │       │           ├── Fields/
│   │       │           │   ├── FieldsInterface.php
│   │       │           │   └── SerializableFieldsTrait.php
│   │       │           ├── Generator/
│   │       │           │   ├── CombGenerator.php
│   │       │           │   ├── DceSecurityGenerator.php
│   │       │           │   ├── DceSecurityGeneratorInterface.php
│   │       │           │   ├── DefaultNameGenerator.php
│   │       │           │   ├── DefaultTimeGenerator.php
│   │       │           │   ├── NameGeneratorFactory.php
│   │       │           │   ├── NameGeneratorInterface.php
│   │       │           │   ├── PeclUuidNameGenerator.php
│   │       │           │   ├── PeclUuidRandomGenerator.php
│   │       │           │   ├── PeclUuidTimeGenerator.php
│   │       │           │   ├── RandomBytesGenerator.php
│   │       │           │   ├── RandomGeneratorFactory.php
│   │       │           │   ├── RandomGeneratorInterface.php
│   │       │           │   ├── RandomLibAdapter.php
│   │       │           │   ├── TimeGeneratorFactory.php
│   │       │           │   ├── TimeGeneratorInterface.php
│   │       │           │   └── UnixTimeGenerator.php
│   │       │           ├── Guid/
│   │       │           │   ├── Fields.php
│   │       │           │   ├── Guid.php
│   │       │           │   └── GuidBuilder.php
│   │       │           ├── Lazy/
│   │       │           │   └── LazyUuidFromString.php
│   │       │           ├── Math/
│   │       │           │   ├── BrickMathCalculator.php
│   │       │           │   ├── CalculatorInterface.php
│   │       │           │   └── RoundingMode.php
│   │       │           ├── Nonstandard/
│   │       │           │   ├── Fields.php
│   │       │           │   ├── Uuid.php
│   │       │           │   ├── UuidBuilder.php
│   │       │           │   └── UuidV6.php
│   │       │           ├── Provider/
│   │       │           │   ├── Dce/
│   │       │           │   │   └── SystemDceSecurityProvider.php
│   │       │           │   ├── DceSecurityProviderInterface.php
│   │       │           │   ├── Node/
│   │       │           │   │   ├── FallbackNodeProvider.php
│   │       │           │   │   ├── NodeProviderCollection.php
│   │       │           │   │   ├── RandomNodeProvider.php
│   │       │           │   │   ├── StaticNodeProvider.php
│   │       │           │   │   └── SystemNodeProvider.php
│   │       │           │   ├── NodeProviderInterface.php
│   │       │           │   ├── Time/
│   │       │           │   │   ├── FixedTimeProvider.php
│   │       │           │   │   └── SystemTimeProvider.php
│   │       │           │   └── TimeProviderInterface.php
│   │       │           ├── Rfc4122/
│   │       │           │   ├── Fields.php
│   │       │           │   ├── FieldsInterface.php
│   │       │           │   ├── MaxTrait.php
│   │       │           │   ├── MaxUuid.php
│   │       │           │   ├── NilTrait.php
│   │       │           │   ├── NilUuid.php
│   │       │           │   ├── TimeTrait.php
│   │       │           │   ├── UuidBuilder.php
│   │       │           │   ├── UuidInterface.php
│   │       │           │   ├── UuidV1.php
│   │       │           │   ├── UuidV2.php
│   │       │           │   ├── UuidV3.php
│   │       │           │   ├── UuidV4.php
│   │       │           │   ├── UuidV5.php
│   │       │           │   ├── UuidV6.php
│   │       │           │   ├── UuidV7.php
│   │       │           │   ├── UuidV8.php
│   │       │           │   ├── Validator.php
│   │       │           │   ├── VariantTrait.php
│   │       │           │   └── VersionTrait.php
│   │       │           ├── Type/
│   │       │           │   ├── Decimal.php
│   │       │           │   ├── Hexadecimal.php
│   │       │           │   ├── Integer.php
│   │       │           │   ├── NumberInterface.php
│   │       │           │   ├── Time.php
│   │       │           │   └── TypeInterface.php
│   │       │           ├── Uuid.php
│   │       │           ├── UuidFactory.php
│   │       │           ├── UuidFactoryInterface.php
│   │       │           ├── UuidInterface.php
│   │       │           ├── Validator/
│   │       │           │   ├── GenericValidator.php
│   │       │           │   └── ValidatorInterface.php
│   │       │           └── functions.php
│   │       ├── rize/
│   │       │   └── uri-template/
│   │       │       ├── .php-cs-fixer.dist.php
│   │       │       ├── LICENSE
│   │       │       ├── README.md
│   │       │       ├── composer.json
│   │       │       ├── phpstan.neon
│   │       │       ├── phpunit.xml
│   │       │       ├── src/
│   │       │       │   └── Rize/
│   │       │       │       ├── UriTemplate/
│   │       │       │       │   ├── Node/
│   │       │       │       │   │   ├── Abstraction.php
│   │       │       │       │   │   ├── Expression.php
│   │       │       │       │   │   ├── Literal.php
│   │       │       │       │   │   └── Variable.php
│   │       │       │       │   ├── Operator/
│   │       │       │       │   │   ├── Abstraction.php
│   │       │       │       │   │   ├── Named.php
│   │       │       │       │   │   └── UnNamed.php
│   │       │       │       │   ├── Parser.php
│   │       │       │       │   └── UriTemplate.php
│   │       │       │       └── UriTemplate.php
│   │       │       └── tests/
│   │       │           ├── Rize/
│   │       │           │   ├── Uri/
│   │       │           │   │   └── Node/
│   │       │           │   │       └── ParserTest.php
│   │       │           │   └── UriTemplateTest.php
│   │       │           └── fixtures/
│   │       │               ├── README.md
│   │       │               ├── extended-tests.json
│   │       │               ├── json2xml.xslt
│   │       │               ├── negative-tests.json
│   │       │               ├── spec-examples-by-section.json
│   │       │               ├── spec-examples.json
│   │       │               └── transform-json-tests.xslt
│   │       └── symfony/
│   │           └── deprecation-contracts/
│   │               ├── CHANGELOG.md
│   │               ├── LICENSE
│   │               ├── README.md
│   │               ├── composer.json
│   │               └── function.php
│   ├── classes/
│   │   ├── batch/
│   │   │   ├── class-batch-task-manager.php
│   │   │   ├── class-batch-task.php
│   │   │   ├── class-migration.php
│   │   │   └── interface-batch.php
│   │   ├── class-addons.php
│   │   ├── class-ajax.php
│   │   ├── class-api.php
│   │   ├── class-bootstrap.php
│   │   ├── class-compatibility.php
│   │   ├── class-db.php
│   │   ├── class-dynamic-image-support.php
│   │   ├── class-errors.php
│   │   ├── class-google-app-engine.php
│   │   ├── class-gs-client.php
│   │   ├── class-gs-stream-wrapper.php
│   │   ├── class-helper.php
│   │   ├── class-logger.php
│   │   ├── class-migrator.php
│   │   ├── class-module.php
│   │   ├── class-settings.php
│   │   ├── class-status.php
│   │   ├── class-sync-non-media.php
│   │   ├── class-upgrader.php
│   │   ├── class-utility.php
│   │   ├── compatibility/
│   │   │   ├── ewww.php
│   │   │   ├── imagify.php
│   │   │   ├── js/
│   │   │   │   └── shortpixel.js
│   │   │   ├── learn-dash.php
│   │   │   ├── shortpixel.php
│   │   │   ├── the-events-calendar.php
│   │   │   ├── wp-smush.php
│   │   │   └── wpbakery-page-builder.php
│   │   ├── exception-fatal.php
│   │   ├── exception-unprocessable.php
│   │   ├── status/
│   │   │   ├── class-info-google_cloud.php
│   │   │   ├── class-info-stateless.php
│   │   │   ├── class-info.php
│   │   │   └── class-migrations.php
│   │   ├── sync/
│   │   │   ├── class-background-sync.php
│   │   │   ├── class-file-sync.php
│   │   │   ├── class-helper-window.php
│   │   │   ├── class-image-sync.php
│   │   │   ├── class-library-sync.php
│   │   │   ├── class-non-library-sync.php
│   │   │   └── interface-sync.php
│   │   └── trait-singleton.php
│   ├── cli/
│   │   ├── class-sm-cli-command.php
│   │   ├── class-sm-cli-process.php
│   │   ├── class-sm-cli-scaffold.php
│   │   ├── class-sm-cli-sync.php
│   │   ├── class-sm-cli-upgrade.php
│   │   └── class-sm-cli.php
│   ├── includes/
│   │   ├── class-settings.php
│   │   └── class-utility.php
│   ├── meta-box-tabs/
│   │   ├── CHANGELOG.md
│   │   ├── meta-box-tabs.php
│   │   ├── tabs.css
│   │   └── tabs.js
│   └── ns-vendor/
│       └── classes/
│           ├── .gitkeep
│           └── deliciousbrains/
│               └── wp-background-processing/
│                   └── classes/
│                       ├── wp-async-request.php
│                       └── wp-background-process.php
├── readme.md
├── readme.txt
├── static/
│   ├── data/
│   │   └── addons.php
│   ├── migrations/
│   │   ├── 20240219175240.php
│   │   └── 20240423174109.php
│   ├── scripts/
│   │   ├── error-notice.js
│   │   ├── i18n/
│   │   │   ├── af.js
│   │   │   ├── ar.js
│   │   │   ├── az.js
│   │   │   ├── bg.js
│   │   │   ├── bn.js
│   │   │   ├── bs.js
│   │   │   ├── ca.js
│   │   │   ├── cs.js
│   │   │   ├── da.js
│   │   │   ├── de.js
│   │   │   ├── dsb.js
│   │   │   ├── el.js
│   │   │   ├── en.js
│   │   │   ├── es.js
│   │   │   ├── et.js
│   │   │   ├── eu.js
│   │   │   ├── fa.js
│   │   │   ├── fi.js
│   │   │   ├── fr.js
│   │   │   ├── gl.js
│   │   │   ├── he.js
│   │   │   ├── hi.js
│   │   │   ├── hr.js
│   │   │   ├── hsb.js
│   │   │   ├── hu.js
│   │   │   ├── hy.js
│   │   │   ├── id.js
│   │   │   ├── is.js
│   │   │   ├── it.js
│   │   │   ├── ja.js
│   │   │   ├── ka.js
│   │   │   ├── km.js
│   │   │   ├── ko.js
│   │   │   ├── lt.js
│   │   │   ├── lv.js
│   │   │   ├── mk.js
│   │   │   ├── ms.js
│   │   │   ├── nb.js
│   │   │   ├── ne.js
│   │   │   ├── nl.js
│   │   │   ├── pl.js
│   │   │   ├── ps.js
│   │   │   ├── pt-BR.js
│   │   │   ├── pt.js
│   │   │   ├── ro.js
│   │   │   ├── ru.js
│   │   │   ├── sk.js
│   │   │   ├── sl.js
│   │   │   ├── sq.js
│   │   │   ├── sr-Cyrl.js
│   │   │   ├── sr.js
│   │   │   ├── sv.js
│   │   │   ├── th.js
│   │   │   ├── tk.js
│   │   │   ├── tr.js
│   │   │   ├── uk.js
│   │   │   ├── vi.js
│   │   │   ├── zh-CN.js
│   │   │   └── zh-TW.js
│   │   ├── jquery-ui/
│   │   │   ├── jquery.ui.progressbar.min.1.7.2.js
│   │   │   └── redmond/
│   │   │       └── jquery-ui-1.7.2.custom.css
│   │   ├── wp-stateless-batch.js
│   │   ├── wp-stateless-settings.js
│   │   ├── wp-stateless-uploads.js
│   │   └── wp-stateless.js
│   ├── styles/
│   │   ├── error-notice.css
│   │   ├── wp-stateless-addons.css
│   │   ├── wp-stateless-settings.css
│   │   ├── wp-stateless-setup-wizard.css
│   │   ├── wp-stateless-status.css
│   │   └── wp-stateless.css
│   ├── views/
│   │   ├── .gitkeep
│   │   ├── addons-tab.php
│   │   ├── compatibility-tab.php
│   │   ├── error-notice.php
│   │   ├── processing_interface.php
│   │   ├── settings-sections/
│   │   │   ├── file-url.php
│   │   │   ├── general.php
│   │   │   ├── google-cloud-storage.php
│   │   │   └── network.php
│   │   ├── settings-tab.php
│   │   ├── settings_interface.php
│   │   ├── setup_wizard_interface.php
│   │   └── status-sections/
│   │       ├── info.php
│   │       └── migrations.php
│   └── wiki/
│       └── Media-Object.md
├── vendor/
│   ├── autoload.php
│   ├── ccampbell/
│   │   └── chromephp/
│   │       ├── ChromePhp.php
│   │       ├── README.md
│   │       └── composer.json
│   ├── composer/
│   │   ├── ClassLoader.php
│   │   ├── InstalledVersions.php
│   │   ├── LICENSE
│   │   ├── autoload_classmap.php
│   │   ├── autoload_namespaces.php
│   │   ├── autoload_psr4.php
│   │   ├── autoload_real.php
│   │   ├── autoload_static.php
│   │   ├── installed.json
│   │   ├── installed.php
│   │   ├── installers/
│   │   │   ├── .github/
│   │   │   │   └── workflows/
│   │   │   │       ├── continuous-integration.yml
│   │   │   │       ├── lint.yml
│   │   │   │       └── phpstan.yml
│   │   │   ├── LICENSE
│   │   │   ├── composer.json
│   │   │   └── src/
│   │   │       ├── Composer/
│   │   │       │   └── Installers/
│   │   │       │       ├── AglInstaller.php
│   │   │       │       ├── AkauntingInstaller.php
│   │   │       │       ├── AnnotateCmsInstaller.php
│   │   │       │       ├── AsgardInstaller.php
│   │   │       │       ├── AttogramInstaller.php
│   │   │       │       ├── BaseInstaller.php
│   │   │       │       ├── BitrixInstaller.php
│   │   │       │       ├── BonefishInstaller.php
│   │   │       │       ├── BotbleInstaller.php
│   │   │       │       ├── CakePHPInstaller.php
│   │   │       │       ├── ChefInstaller.php
│   │   │       │       ├── CiviCrmInstaller.php
│   │   │       │       ├── ClanCatsFrameworkInstaller.php
│   │   │       │       ├── CockpitInstaller.php
│   │   │       │       ├── CodeIgniterInstaller.php
│   │   │       │       ├── Concrete5Installer.php
│   │   │       │       ├── ConcreteCMSInstaller.php
│   │   │       │       ├── CroogoInstaller.php
│   │   │       │       ├── DecibelInstaller.php
│   │   │       │       ├── DframeInstaller.php
│   │   │       │       ├── DokuWikiInstaller.php
│   │   │       │       ├── DolibarrInstaller.php
│   │   │       │       ├── DrupalInstaller.php
│   │   │       │       ├── ElggInstaller.php
│   │   │       │       ├── EliasisInstaller.php
│   │   │       │       ├── ExpressionEngineInstaller.php
│   │   │       │       ├── EzPlatformInstaller.php
│   │   │       │       ├── ForkCMSInstaller.php
│   │   │       │       ├── FuelInstaller.php
│   │   │       │       ├── FuelphpInstaller.php
│   │   │       │       ├── GravInstaller.php
│   │   │       │       ├── HuradInstaller.php
│   │   │       │       ├── ImageCMSInstaller.php
│   │   │       │       ├── Installer.php
│   │   │       │       ├── ItopInstaller.php
│   │   │       │       ├── KanboardInstaller.php
│   │   │       │       ├── KnownInstaller.php
│   │   │       │       ├── KodiCMSInstaller.php
│   │   │       │       ├── KohanaInstaller.php
│   │   │       │       ├── LanManagementSystemInstaller.php
│   │   │       │       ├── LaravelInstaller.php
│   │   │       │       ├── LavaLiteInstaller.php
│   │   │       │       ├── LithiumInstaller.php
│   │   │       │       ├── MODULEWorkInstaller.php
│   │   │       │       ├── MODXEvoInstaller.php
│   │   │       │       ├── MagentoInstaller.php
│   │   │       │       ├── MajimaInstaller.php
│   │   │       │       ├── MakoInstaller.php
│   │   │       │       ├── MantisBTInstaller.php
│   │   │       │       ├── MatomoInstaller.php
│   │   │       │       ├── MauticInstaller.php
│   │   │       │       ├── MayaInstaller.php
│   │   │       │       ├── MediaWikiInstaller.php
│   │   │       │       ├── MiaoxingInstaller.php
│   │   │       │       ├── MicroweberInstaller.php
│   │   │       │       ├── ModxInstaller.php
│   │   │       │       ├── MoodleInstaller.php
│   │   │       │       ├── OctoberInstaller.php
│   │   │       │       ├── OntoWikiInstaller.php
│   │   │       │       ├── OsclassInstaller.php
│   │   │       │       ├── OxidInstaller.php
│   │   │       │       ├── PPIInstaller.php
│   │   │       │       ├── PantheonInstaller.php
│   │   │       │       ├── PhiftyInstaller.php
│   │   │       │       ├── PhpBBInstaller.php
│   │   │       │       ├── PiwikInstaller.php
│   │   │       │       ├── PlentymarketsInstaller.php
│   │   │       │       ├── Plugin.php
│   │   │       │       ├── PortoInstaller.php
│   │   │       │       ├── PrestashopInstaller.php
│   │   │       │       ├── ProcessWireInstaller.php
│   │   │       │       ├── PuppetInstaller.php
│   │   │       │       ├── PxcmsInstaller.php
│   │   │       │       ├── RadPHPInstaller.php
│   │   │       │       ├── ReIndexInstaller.php
│   │   │       │       ├── Redaxo5Installer.php
│   │   │       │       ├── RedaxoInstaller.php
│   │   │       │       ├── RoundcubeInstaller.php
│   │   │       │       ├── SMFInstaller.php
│   │   │       │       ├── ShopwareInstaller.php
│   │   │       │       ├── SilverStripeInstaller.php
│   │   │       │       ├── SiteDirectInstaller.php
│   │   │       │       ├── StarbugInstaller.php
│   │   │       │       ├── SyDESInstaller.php
│   │   │       │       ├── SyliusInstaller.php
│   │   │       │       ├── TaoInstaller.php
│   │   │       │       ├── TastyIgniterInstaller.php
│   │   │       │       ├── TheliaInstaller.php
│   │   │       │       ├── TuskInstaller.php
│   │   │       │       ├── UserFrostingInstaller.php
│   │   │       │       ├── VanillaInstaller.php
│   │   │       │       ├── VgmcpInstaller.php
│   │   │       │       ├── WHMCSInstaller.php
│   │   │       │       ├── WinterInstaller.php
│   │   │       │       ├── WolfCMSInstaller.php
│   │   │       │       ├── WordPressInstaller.php
│   │   │       │       ├── YawikInstaller.php
│   │   │       │       ├── ZendInstaller.php
│   │   │       │       └── ZikulaInstaller.php
│   │   │       └── bootstrap.php
│   │   └── platform_check.php
│   ├── firebase/
│   │   └── php-jwt/
│   │       ├── CHANGELOG.md
│   │       ├── LICENSE
│   │       ├── README.md
│   │       ├── composer.json
│   │       └── src/
│   │           ├── BeforeValidException.php
│   │           ├── CachedKeySet.php
│   │           ├── ExpiredException.php
│   │           ├── JWK.php
│   │           ├── JWT.php
│   │           ├── JWTExceptionWithPayloadInterface.php
│   │           ├── Key.php
│   │           └── SignatureInvalidException.php
│   ├── udx/
│   │   ├── lib-ud-api-client/
│   │   │   ├── .gitignore
│   │   │   ├── .scrutinizer.yml
│   │   │   ├── changes.md
│   │   │   ├── composer.json
│   │   │   ├── gruntfile.js
│   │   │   ├── lib/
│   │   │   │   └── classes/
│   │   │   │       ├── class-admin.php
│   │   │   │       ├── class-api.php
│   │   │   │       ├── class-bootstrap.php
│   │   │   │       ├── class-licenses-table.php
│   │   │   │       ├── class-manager.php
│   │   │   │       ├── class-more-products-table.php
│   │   │   │       ├── class-scaffold.php
│   │   │   │       ├── class-ui.php
│   │   │   │       ├── class-update-checker.php
│   │   │   │       └── class-utility.php
│   │   │   ├── package.json
│   │   │   ├── readme.md
│   │   │   └── static/
│   │   │       ├── css/
│   │   │       │   ├── admin.css
│   │   │       │   └── src/
│   │   │       │       └── admin.less
│   │   │       └── templates/
│   │   │           ├── admin-notice.php
│   │   │           ├── screen-manage-plugin.php
│   │   │           ├── screen-manage-theme.php
│   │   │           └── screen-more.php
│   │   └── lib-wp-bootstrap/
│   │       ├── .gitignore
│   │       ├── changes.md
│   │       ├── composer.json
│   │       ├── lib/
│   │       │   └── classes/
│   │       │       ├── class-bootstrap-plugin.php
│   │       │       ├── class-bootstrap-theme.php
│   │       │       ├── class-bootstrap.php
│   │       │       ├── class-dashboard.php
│   │       │       ├── class-errors.php
│   │       │       ├── class-scaffold.php
│   │       │       ├── class-tgm-bulk-installer.php
│   │       │       ├── class-tgm-list-table.php
│   │       │       ├── class-tgm-plugin-activation.php
│   │       │       └── class-utility.php
│   │       ├── readme.md
│   │       └── static/
│   │           └── scripts/
│   │               └── ud-dismiss.js
│   └── wpmetabox/
│       └── meta-box/
│           ├── css/
│           │   ├── autocomplete.css
│           │   ├── background.css
│           │   ├── button-group.css
│           │   ├── color.css
│           │   ├── date.css
│           │   ├── divider.css
│           │   ├── fieldset-text.css
│           │   ├── file-input.css
│           │   ├── file.css
│           │   ├── fontawesome/
│           │   │   └── icons.json
│           │   ├── heading.css
│           │   ├── icon.css
│           │   ├── image-select.css
│           │   ├── image.css
│           │   ├── input-list.css
│           │   ├── input.css
│           │   ├── jqueryui/
│           │   │   ├── core.css
│           │   │   ├── datepicker.css
│           │   │   ├── slider.css
│           │   │   └── theme.css
│           │   ├── key-value.css
│           │   ├── map.css
│           │   ├── media.css
│           │   ├── modal.css
│           │   ├── oembed.css
│           │   ├── osm-frontend.css
│           │   ├── osm.css
│           │   ├── password.css
│           │   ├── range.css
│           │   ├── select-advanced.css
│           │   ├── select-tree.css
│           │   ├── select.css
│           │   ├── select2/
│           │   │   └── select2.css
│           │   ├── slider.css
│           │   ├── style-rtl.css
│           │   ├── style.css
│           │   ├── switch.css
│           │   ├── text-list.css
│           │   ├── upload.css
│           │   ├── video.css
│           │   └── wysiwyg.css
│           ├── inc/
│           │   ├── autoloader.php
│           │   ├── clone.php
│           │   ├── core.php
│           │   ├── field-registry.php
│           │   ├── field.php
│           │   ├── fields/
│           │   │   ├── autocomplete.php
│           │   │   ├── background.php
│           │   │   ├── button-group.php
│           │   │   ├── button.php
│           │   │   ├── checkbox-list.php
│           │   │   ├── checkbox.php
│           │   │   ├── choice.php
│           │   │   ├── color.php
│           │   │   ├── custom-html.php
│           │   │   ├── date.php
│           │   │   ├── datetime.php
│           │   │   ├── divider.php
│           │   │   ├── fieldset-text.php
│           │   │   ├── file-input.php
│           │   │   ├── file-upload.php
│           │   │   ├── file.php
│           │   │   ├── heading.php
│           │   │   ├── icon.php
│           │   │   ├── image-advanced.php
│           │   │   ├── image-select.php
│           │   │   ├── image-upload.php
│           │   │   ├── image.php
│           │   │   ├── input-list.php
│           │   │   ├── input.php
│           │   │   ├── key-value.php
│           │   │   ├── map.php
│           │   │   ├── media.php
│           │   │   ├── multiple-values.php
│           │   │   ├── number.php
│           │   │   ├── object-choice.php
│           │   │   ├── oembed.php
│           │   │   ├── osm.php
│           │   │   ├── password.php
│           │   │   ├── post.php
│           │   │   ├── radio.php
│           │   │   ├── range.php
│           │   │   ├── select-advanced.php
│           │   │   ├── select-tree.php
│           │   │   ├── select.php
│           │   │   ├── sidebar.php
│           │   │   ├── single-image.php
│           │   │   ├── slider.php
│           │   │   ├── switch.php
│           │   │   ├── taxonomy-advanced.php
│           │   │   ├── taxonomy.php
│           │   │   ├── text-list.php
│           │   │   ├── textarea.php
│           │   │   ├── time.php
│           │   │   ├── user.php
│           │   │   ├── video.php
│           │   │   └── wysiwyg.php
│           │   ├── functions.php
│           │   ├── helpers/
│           │   │   ├── array.php
│           │   │   ├── field.php
│           │   │   ├── string.php
│           │   │   └── value.php
│           │   ├── interfaces/
│           │   │   └── storage.php
│           │   ├── loader.php
│           │   ├── media-modal.php
│           │   ├── meta-box-registry.php
│           │   ├── meta-box.php
│           │   ├── request.php
│           │   ├── sanitizer.php
│           │   ├── shortcode.php
│           │   ├── storage-registry.php
│           │   ├── storages/
│           │   │   ├── base.php
│           │   │   └── post.php
│           │   ├── validation.php
│           │   └── walkers/
│           │       ├── base.php
│           │       ├── input-list.php
│           │       ├── select-tree.php
│           │       └── select.php
│           ├── js/
│           │   ├── autocomplete.js
│           │   ├── autosave.js
│           │   ├── button-group.js
│           │   ├── clone.js
│           │   ├── color.js
│           │   ├── date.js
│           │   ├── datetime.js
│           │   ├── file-input.js
│           │   ├── file-upload.js
│           │   ├── file.js
│           │   ├── icon.js
│           │   ├── image-advanced.js
│           │   ├── image-upload.js
│           │   ├── input-list.js
│           │   ├── jqueryui/
│           │   │   └── jquery-ui-sliderAccess.js
│           │   ├── leaflet/
│           │   │   ├── leaflet.css
│           │   │   └── leaflet.js
│           │   ├── map-frontend.js
│           │   ├── map.js
│           │   ├── media.js
│           │   ├── modal.js
│           │   ├── oembed.js
│           │   ├── osm-frontend.js
│           │   ├── osm.js
│           │   ├── password.js
│           │   ├── post.js
│           │   ├── range.js
│           │   ├── script.js
│           │   ├── select-advanced.js
│           │   ├── select-tree.js
│           │   ├── select.js
│           │   ├── select2/
│           │   │   └── i18n/
│           │   │       ├── af.js
│           │   │       ├── ar.js
│           │   │       ├── az.js
│           │   │       ├── bg.js
│           │   │       ├── bn.js
│           │   │       ├── bs.js
│           │   │       ├── ca.js
│           │   │       ├── cs.js
│           │   │       ├── da.js
│           │   │       ├── de.js
│           │   │       ├── dsb.js
│           │   │       ├── el.js
│           │   │       ├── en.js
│           │   │       ├── es.js
│           │   │       ├── et.js
│           │   │       ├── eu.js
│           │   │       ├── fa.js
│           │   │       ├── fi.js
│           │   │       ├── fr.js
│           │   │       ├── gl.js
│           │   │       ├── he.js
│           │   │       ├── hi.js
│           │   │       ├── hr.js
│           │   │       ├── hsb.js
│           │   │       ├── hu.js
│           │   │       ├── hy.js
│           │   │       ├── id.js
│           │   │       ├── is.js
│           │   │       ├── it.js
│           │   │       ├── ja.js
│           │   │       ├── ka.js
│           │   │       ├── km.js
│           │   │       ├── ko.js
│           │   │       ├── lt.js
│           │   │       ├── lv.js
│           │   │       ├── mk.js
│           │   │       ├── ms.js
│           │   │       ├── nb.js
│           │   │       ├── ne.js
│           │   │       ├── nl.js
│           │   │       ├── pl.js
│           │   │       ├── ps.js
│           │   │       ├── pt-BR.js
│           │   │       ├── pt.js
│           │   │       ├── ro.js
│           │   │       ├── ru.js
│           │   │       ├── sk.js
│           │   │       ├── sl.js
│           │   │       ├── sq.js
│           │   │       ├── sr-Cyrl.js
│           │   │       ├── sr.js
│           │   │       ├── sv.js
│           │   │       ├── th.js
│           │   │       ├── tk.js
│           │   │       ├── tr.js
│           │   │       ├── uk.js
│           │   │       ├── vi.js
│           │   │       ├── zh-CN.js
│           │   │       └── zh-TW.js
│           │   ├── slider.js
│           │   ├── taxonomy.js
│           │   ├── time.js
│           │   ├── user.js
│           │   ├── validation/
│           │   │   ├── additional-methods.js
│           │   │   ├── i18n/
│           │   │   │   ├── messages_ar.js
│           │   │   │   ├── messages_az.js
│           │   │   │   ├── messages_bg.js
│           │   │   │   ├── messages_bn_BD.js
│           │   │   │   ├── messages_ca.js
│           │   │   │   ├── messages_cs.js
│           │   │   │   ├── messages_da.js
│           │   │   │   ├── messages_de.js
│           │   │   │   ├── messages_el.js
│           │   │   │   ├── messages_es.js
│           │   │   │   ├── messages_es_AR.js
│           │   │   │   ├── messages_es_PE.js
│           │   │   │   ├── messages_et.js
│           │   │   │   ├── messages_eu.js
│           │   │   │   ├── messages_fa.js
│           │   │   │   ├── messages_fi.js
│           │   │   │   ├── messages_fr.js
│           │   │   │   ├── messages_ge.js
│           │   │   │   ├── messages_gl.js
│           │   │   │   ├── messages_he.js
│           │   │   │   ├── messages_hi.js
│           │   │   │   ├── messages_hr.js
│           │   │   │   ├── messages_hu.js
│           │   │   │   ├── messages_hy_AM.js
│           │   │   │   ├── messages_id.js
│           │   │   │   ├── messages_is.js
│           │   │   │   ├── messages_it.js
│           │   │   │   ├── messages_ja.js
│           │   │   │   ├── messages_ka.js
│           │   │   │   ├── messages_kk.js
│           │   │   │   ├── messages_ko.js
│           │   │   │   ├── messages_lt.js
│           │   │   │   ├── messages_lv.js
│           │   │   │   ├── messages_mk.js
│           │   │   │   ├── messages_my.js
│           │   │   │   ├── messages_nl.js
│           │   │   │   ├── messages_no.js
│           │   │   │   ├── messages_pl.js
│           │   │   │   ├── messages_pt_BR.js
│           │   │   │   ├── messages_pt_PT.js
│           │   │   │   ├── messages_ro.js
│           │   │   │   ├── messages_ru.js
│           │   │   │   ├── messages_sd.js
│           │   │   │   ├── messages_si.js
│           │   │   │   ├── messages_sk.js
│           │   │   │   ├── messages_sl.js
│           │   │   │   ├── messages_sr.js
│           │   │   │   ├── messages_sr_lat.js
│           │   │   │   ├── messages_sv.js
│           │   │   │   ├── messages_th.js
│           │   │   │   ├── messages_tj.js
│           │   │   │   ├── messages_tr.js
│           │   │   │   ├── messages_uk.js
│           │   │   │   ├── messages_ur.js
│           │   │   │   ├── messages_vi.js
│           │   │   │   ├── messages_zh.js
│           │   │   │   └── messages_zh_TW.js
│           │   │   ├── jquery.validate.js
│           │   │   └── validation.js
│           │   ├── video.js
│           │   └── wysiwyg.js
│           ├── meta-box.php
│           ├── readme.txt
│           ├── src/
│           │   ├── Dashboard/
│           │   │   ├── Dashboard.php
│           │   │   ├── assets/
│           │   │   │   ├── css/
│           │   │   │   │   ├── dashboard.css
│           │   │   │   │   └── dashboard.scss
│           │   │   │   └── js/
│           │   │   │       └── dashboard.js
│           │   │   └── content.php
│           │   ├── FeaturedPlugins.php
│           │   ├── Integrations/
│           │   │   ├── Block.php
│           │   │   ├── Bricks.php
│           │   │   ├── Elementor.php
│           │   │   ├── Oxygen.php
│           │   │   └── WPML.php
│           │   └── Updater/
│           │       ├── Checker.php
│           │       ├── Notification.php
│           │       ├── Option.php
│           │       └── Settings.php
│           └── vendor/
│               ├── autoload.php
│               ├── composer/
│               │   ├── ClassLoader.php
│               │   ├── InstalledVersions.php
│               │   ├── LICENSE
│               │   ├── autoload_classmap.php
│               │   ├── autoload_namespaces.php
│               │   ├── autoload_psr4.php
│               │   ├── autoload_real.php
│               │   ├── autoload_static.php
│               │   ├── installed.json
│               │   └── installed.php
│               └── wpmetabox/
│                   └── support/
│                       ├── Arr.php
│                       └── Data.php
└── wp-stateless-media.php
Download .txt
Showing preview only (1,195K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (13102 symbols across 1909 files)

FILE: lib/Google/src/AccessToken/Revoke.php
  class Revoke (line 31) | class Revoke
    method __construct (line 42) | public function __construct(?ClientInterface $http = null)
    method revokeToken (line 54) | public function revokeToken($token)

FILE: lib/Google/src/AccessToken/Verify.php
  class Verify (line 44) | class Verify
    method __construct (line 69) | public function __construct(
    method verifyIdToken (line 97) | public function verifyIdToken($idToken, $audience = null)
    method getCache (line 148) | private function getCache()
    method retrieveCertsFromLocation (line 160) | private function retrieveCertsFromLocation($url)
    method getFederatedSignOnCerts (line 192) | private function getFederatedSignOnCerts()
    method getJwtService (line 222) | private function getJwtService()
    method getPublicKey (line 234) | private function getPublicKey($cert)
    method setPhpsecConstants (line 253) | private function setPhpsecConstants()

FILE: lib/Google/src/AuthHandler/AuthHandlerFactory.php
  class AuthHandlerFactory (line 23) | class AuthHandlerFactory
    method build (line 31) | public static function build($cache = null, array $cacheConfig = [])

FILE: lib/Google/src/AuthHandler/Guzzle6AuthHandler.php
  class Guzzle6AuthHandler (line 18) | class Guzzle6AuthHandler
    method __construct (line 23) | public function __construct(?CacheItemPoolInterface $cache = null, arr...
    method attachCredentials (line 29) | public function attachCredentials(
    method attachCredentialsCache (line 46) | public function attachCredentialsCache(
    method attachToHttp (line 54) | private function attachToHttp(
    method attachToken (line 77) | public function attachToken(ClientInterface $http, array $token, array...
    method attachKey (line 107) | public function attachKey(ClientInterface $http, $key)
    method createAuthHttp (line 120) | private function createAuthHttp(ClientInterface $http)

FILE: lib/Google/src/AuthHandler/Guzzle7AuthHandler.php
  class Guzzle7AuthHandler (line 23) | class Guzzle7AuthHandler extends Guzzle6AuthHandler

FILE: lib/Google/src/Client.php
  class Client (line 54) | class Client
    method __construct (line 179) | public function __construct(array $config = [])
    method getLibraryVersion (line 259) | public function getLibraryVersion()
    method authenticate (line 272) | public function authenticate($code)
    method fetchAccessTokenWithAuthCode (line 285) | public function fetchAccessTokenWithAuthCode($code, $codeVerifier = null)
    method refreshTokenWithAssertion (line 315) | public function refreshTokenWithAssertion()
    method fetchAccessTokenWithAssertion (line 325) | public function fetchAccessTokenWithAssertion(?ClientInterface $authHt...
    method refreshToken (line 361) | public function refreshToken($refreshToken)
    method fetchAccessTokenWithRefreshToken (line 371) | public function fetchAccessTokenWithRefreshToken($refreshToken = null)
    method createAuthUrl (line 406) | public function createAuthUrl($scope = null, array $queryParams = [])
    method authorize (line 458) | public function authorize(?ClientInterface $http = null)
    method useApplicationDefaultCredentials (line 522) | public function useApplicationDefaultCredentials($useAppCreds = true)
    method isUsingApplicationDefaultCredentials (line 533) | public function isUsingApplicationDefaultCredentials()
    method setAccessToken (line 558) | public function setAccessToken($token)
    method getAccessToken (line 579) | public function getAccessToken()
    method getRefreshToken (line 587) | public function getRefreshToken()
    method isAccessTokenExpired (line 600) | public function isAccessTokenExpired()
    method getAuth (line 635) | public function getAuth()
    method setAuth (line 645) | public function setAuth($auth)
    method setClientId (line 656) | public function setClientId($clientId)
    method getClientId (line 661) | public function getClientId()
    method setClientSecret (line 670) | public function setClientSecret($clientSecret)
    method getClientSecret (line 675) | public function getClientSecret()
    method setRedirectUri (line 684) | public function setRedirectUri($redirectUri)
    method getRedirectUri (line 689) | public function getRedirectUri()
    method setState (line 699) | public function setState($state)
    method setAccessType (line 709) | public function setAccessType($accessType)
    method setApprovalPrompt (line 719) | public function setApprovalPrompt($approvalPrompt)
    method setLoginHint (line 728) | public function setLoginHint($loginHint)
    method setApplicationName (line 737) | public function setApplicationName($applicationName)
    method setRequestVisibleActions (line 750) | public function setRequestVisibleActions($requestVisibleActions)
    method setDeveloperKey (line 763) | public function setDeveloperKey($developerKey)
    method setHostedDomain (line 774) | public function setHostedDomain($hd)
    method setPrompt (line 788) | public function setPrompt($prompt)
    method setOpenidRealm (line 799) | public function setOpenidRealm($realm)
    method setIncludeGrantedScopes (line 810) | public function setIncludeGrantedScopes($include)
    method setTokenCallback (line 819) | public function setTokenCallback(callable $tokenCallback)
    method revokeToken (line 831) | public function revokeToken($token = null)
    method verifyIdToken (line 848) | public function verifyIdToken($idToken = null)
    method setScopes (line 881) | public function setScopes($scope_or_scopes)
    method addScope (line 894) | public function addScope($scope_or_scopes)
    method getScopes (line 910) | public function getScopes()
    method prepareScopes (line 919) | public function prepareScopes()
    method execute (line 937) | public function execute(RequestInterface $request, $expectedClass = null)
    method setUseBatch (line 985) | public function setUseBatch($useBatch)
    method isAppEngine (line 995) | public function isAppEngine()
    method setConfig (line 1001) | public function setConfig($name, $value)
    method getConfig (line 1006) | public function getConfig($name, $default = null)
    method setAuthConfigFile (line 1019) | public function setAuthConfigFile($file)
    method setAuthConfig (line 1032) | public function setAuthConfig($config)
    method setSubject (line 1079) | public function setSubject($subject)
    method setDefer (line 1090) | public function setDefer($defer)
    method shouldDefer (line 1099) | public function shouldDefer()
    method getOAuth2Service (line 1107) | public function getOAuth2Service()
    method createOAuth2Service (line 1119) | protected function createOAuth2Service()
    method setCache (line 1139) | public function setCache(CacheItemPoolInterface $cache)
    method getCache (line 1147) | public function getCache()
    method setCacheConfig (line 1159) | public function setCacheConfig(array $cacheConfig)
    method setLogger (line 1168) | public function setLogger(LoggerInterface $logger)
    method getLogger (line 1176) | public function getLogger()
    method createDefaultLogger (line 1185) | protected function createDefaultLogger()
    method createDefaultCache (line 1198) | protected function createDefaultCache()
    method setHttpClient (line 1207) | public function setHttpClient(ClientInterface $http)
    method getHttpClient (line 1215) | public function getHttpClient()
    method setApiFormatV2 (line 1231) | public function setApiFormatV2($value)
    method createDefaultHttpClient (line 1236) | protected function createDefaultHttpClient()
    method createApplicationDefaultCredentials (line 1273) | private function createApplicationDefaultCredentials()
    method getAuthHandler (line 1326) | protected function getAuthHandler()
    method createUserRefreshCredentials (line 1339) | private function createUserRefreshCredentials($scope, $refreshToken)
    method checkUniverseDomain (line 1350) | private function checkUniverseDomain($credentials)
    method getUniverseDomain (line 1364) | public function getUniverseDomain()

FILE: lib/Google/src/Collection.php
  class Collection (line 10) | class Collection extends Model implements \Iterator, \Countable
    method rewind (line 15) | #[\ReturnTypeWillChange]
    method current (line 27) | #[\ReturnTypeWillChange]
    method key (line 37) | #[\ReturnTypeWillChange]
    method next (line 49) | #[\ReturnTypeWillChange]
    method valid (line 56) | #[\ReturnTypeWillChange]
    method count (line 64) | #[\ReturnTypeWillChange]
    method offsetExists (line 74) | #[\ReturnTypeWillChange]
    method offsetGet (line 84) | #[\ReturnTypeWillChange]
    method offsetSet (line 95) | #[\ReturnTypeWillChange]
    method offsetUnset (line 105) | #[\ReturnTypeWillChange]
    method coerceType (line 114) | private function coerceType($offset)

FILE: lib/Google/src/Exception.php
  class Exception (line 22) | class Exception extends BaseException

FILE: lib/Google/src/Http/Batch.php
  class Batch (line 35) | class Batch
    method __construct (line 57) | public function __construct(
    method add (line 74) | public function add(RequestInterface $request, $key = false)
    method execute (line 83) | public function execute()
    method parseResponse (line 148) | public function parseResponse(ResponseInterface $response, $classes = [])
    method parseRawHeaders (line 205) | private function parseRawHeaders($rawHeaders)
    method parseHttpResponse (line 230) | private function parseHttpResponse($respData, $headerSize)

FILE: lib/Google/src/Http/MediaFileUpload.php
  class MediaFileUpload (line 31) | class MediaFileUpload
    method __construct (line 82) | public function __construct(
    method setFileSize (line 105) | public function setFileSize($size)
    method getProgress (line 114) | public function getProgress()
    method nextChunk (line 124) | public function nextChunk($chunk = false)
    method getHttpResultCode (line 153) | public function getHttpResultCode()
    method makePutRequest (line 167) | private function makePutRequest(RequestInterface $request)
    method resume (line 197) | public function resume($resumeUri)
    method process (line 216) | private function process()
    method getUploadType (line 273) | public function getUploadType($meta)
    method getResumeUri (line 286) | public function getResumeUri()
    method fetchResumeUri (line 295) | private function fetchResumeUri()
    method transformToUploadUrl (line 333) | private function transformToUploadUrl()
    method setChunkSize (line 344) | public function setChunkSize($chunkSize)
    method getRequest (line 349) | public function getRequest()

FILE: lib/Google/src/Http/REST.php
  class REST (line 32) | class REST
    method execute (line 48) | public static function execute(
    method doExecute (line 80) | public static function doExecute(ClientInterface $client, RequestInter...
    method decodeHttpResponse (line 108) | public static function decodeHttpResponse(
    method decodeBody (line 137) | private static function decodeBody(ResponseInterface $response, ?Reque...
    method determineExpectedClass (line 147) | private static function determineExpectedClass($expectedClass, ?Reques...
    method getResponseErrors (line 163) | private static function getResponseErrors($body)
    method isAltMedia (line 174) | private static function isAltMedia(?RequestInterface $request = null)

FILE: lib/Google/src/Model.php
  class Model (line 31) | #[\AllowDynamicProperties]
    method __construct (line 47) | final public function __construct()
    method __get (line 62) | public function __get($key)
    method mapTypes (line 103) | protected function mapTypes($array)
    method gapiInit (line 141) | protected function gapiInit()
    method toSimpleObject (line 152) | public function toSimpleObject()
    method getSimpleValue (line 183) | private function getSimpleValue($value)
    method nullPlaceholderCheck (line 204) | private function nullPlaceholderCheck($value)
    method getMappedName (line 215) | private function getMappedName($key)
    method isAssociativeArray (line 228) | protected function isAssociativeArray($array)
    method assertIsArray (line 248) | public function assertIsArray($obj, $method)
    method offsetExists (line 258) | #[\ReturnTypeWillChange]
    method offsetGet (line 265) | #[\ReturnTypeWillChange]
    method offsetSet (line 274) | #[\ReturnTypeWillChange]
    method offsetUnset (line 286) | #[\ReturnTypeWillChange]
    method keyType (line 292) | protected function keyType($key)
    method dataType (line 302) | protected function dataType($key)
    method __isset (line 311) | public function __isset($key)
    method __unset (line 316) | public function __unset($key)
    method camelCase (line 326) | private function camelCase($value)

FILE: lib/Google/src/Service.php
  class Service (line 23) | class Service
    method __construct (line 38) | public function __construct($clientOrConfig = [])
    method getClient (line 57) | public function getClient()
    method createBatch (line 67) | public function createBatch()

FILE: lib/Google/src/Service/Exception.php
  class Exception (line 22) | class Exception extends GoogleException
    method __construct (line 39) | public function __construct(
    method getErrors (line 69) | public function getErrors()

FILE: lib/Google/src/Service/Resource.php
  class Resource (line 32) | class Resource
    method __construct (line 69) | public function __construct($service, $serviceName, $resourceName, $re...
    method call (line 91) | public function call($name, $arguments, $expectedClass = null)
    method convertToArrayAndStripNulls (line 251) | protected function convertToArrayAndStripNulls($o)
    method createRequestUri (line 272) | public function createRequestUri($restPath, $params)

FILE: lib/Google/src/Task/Composer.php
  class Composer (line 25) | class Composer
    method cleanup (line 31) | public static function cleanup(
    method verifyServicesToKeep (line 74) | private static function verifyServicesToKeep(
    method getServicesToRemove (line 104) | private static function getServicesToRemove(

FILE: lib/Google/src/Task/Exception.php
  class Exception (line 22) | class Exception extends GoogleException

FILE: lib/Google/src/Task/Retryable.php
  type Retryable (line 24) | interface Retryable

FILE: lib/Google/src/Task/Runner.php
  class Runner (line 28) | class Runner
    method __construct (line 102) | public function __construct(
    method canAttempt (line 172) | public function canAttempt()
    method run (line 183) | public function run()
    method attempt (line 217) | public function attempt()
    method backOff (line 235) | private function backOff()
    method getDelay (line 247) | private function getDelay()
    method getJitter (line 261) | private function getJitter()
    method allowedRetries (line 273) | public function allowedRetries($code, $errors = [])
    method setRetryMap (line 289) | public function setRetryMap($retryMap)

FILE: lib/Google/src/Utils/UriTemplate.php
  class UriTemplate (line 24) | class UriTemplate
    method parse (line 61) | public function parse($string, array $parameters)
    method resolveNextSection (line 71) | private function resolveNextSection($string, $parameters)
    method replace (line 85) | private function replace($string, $start, $end, $parameters)
    method replaceVars (line 149) | private function replaceVars(
    method combine (line 186) | public function combine(
    method getDataType (line 279) | private function getDataType($data)
    method combineList (line 295) | private function combineList(
    method getValue (line 326) | private function getValue($value, $length)

FILE: lib/Google/src/aliases.php
  class Google_Task_Composer (line 39) | class Google_Task_Composer extends \Google\Task\Composer
  class Google_AccessToken_Revoke (line 45) | class Google_AccessToken_Revoke extends \Google\AccessToken\Revoke
  class Google_AccessToken_Verify (line 48) | class Google_AccessToken_Verify extends \Google\AccessToken\Verify
  class Google_AuthHandler_AuthHandlerFactory (line 51) | class Google_AuthHandler_AuthHandlerFactory extends \Google\AuthHandler\...
  class Google_AuthHandler_Guzzle6AuthHandler (line 54) | class Google_AuthHandler_Guzzle6AuthHandler extends \Google\AuthHandler\...
  class Google_AuthHandler_Guzzle7AuthHandler (line 57) | class Google_AuthHandler_Guzzle7AuthHandler extends \Google\AuthHandler\...
  class Google_Client (line 60) | class Google_Client extends \Google\Client
  class Google_Collection (line 63) | class Google_Collection extends \Google\Collection
  class Google_Exception (line 66) | class Google_Exception extends \Google\Exception
  class Google_Http_Batch (line 69) | class Google_Http_Batch extends \Google\Http\Batch
  class Google_Http_MediaFileUpload (line 72) | class Google_Http_MediaFileUpload extends \Google\Http\MediaFileUpload
  class Google_Http_REST (line 75) | class Google_Http_REST extends \Google\Http\REST
  class Google_Model (line 78) | class Google_Model extends \Google\Model
  class Google_Service (line 81) | class Google_Service extends \Google\Service
  class Google_Service_Exception (line 84) | class Google_Service_Exception extends \Google\Service\Exception
  class Google_Service_Resource (line 87) | class Google_Service_Resource extends \Google\Service\Resource
  class Google_Task_Exception (line 90) | class Google_Task_Exception extends \Google\Task\Exception
  type Google_Task_Retryable (line 93) | interface Google_Task_Retryable extends \Google\Task\Retryable
  class Google_Task_Runner (line 96) | class Google_Task_Runner extends \Google\Task\Runner
  class Google_Utils_UriTemplate (line 99) | class Google_Utils_UriTemplate extends \Google\Utils\UriTemplate

FILE: lib/Google/vendor/brick/math/src/BigDecimal.php
  class BigDecimal (line 18) | final class BigDecimal extends BigNumber
    method __construct (line 42) | protected function __construct(string $value, int $scale = 0)
    method from (line 51) | #[Override]
    method ofUnscaledValue (line 68) | public static function ofUnscaledValue(BigNumber|int|float|string $val...
    method zero (line 87) | public static function zero() : BigDecimal
    method one (line 107) | public static function one() : BigDecimal
    method ten (line 127) | public static function ten() : BigDecimal
    method plus (line 151) | public function plus(BigNumber|int|float|string $that) : BigDecimal
    method minus (line 180) | public function minus(BigNumber|int|float|string $that) : BigDecimal
    method multipliedBy (line 205) | public function multipliedBy(BigNumber|int|float|string $that) : BigDe...
    method dividedBy (line 233) | public function dividedBy(BigNumber|int|float|string $that, ?int $scal...
    method exactlyDividedBy (line 269) | public function exactlyDividedBy(BigNumber|int|float|string $that) : B...
    method power (line 307) | public function power(int $exponent) : BigDecimal
    method quotient (line 337) | public function quotient(BigNumber|int|float|string $that) : BigDecimal
    method remainder (line 362) | public function remainder(BigNumber|int|float|string $that) : BigDecimal
    method quotientAndRemainder (line 393) | public function quotientAndRemainder(BigNumber|int|float|string $that)...
    method sqrt (line 420) | public function sqrt(int $scale) : BigDecimal
    method withPointMovedLeft (line 458) | public function withPointMovedLeft(int $n) : BigDecimal
    method withPointMovedRight (line 474) | public function withPointMovedRight(int $n) : BigDecimal
    method stripTrailingZeros (line 500) | public function stripTrailingZeros() : BigDecimal
    method abs (line 531) | public function abs() : BigDecimal
    method negated (line 539) | public function negated() : BigDecimal
    method compareTo (line 544) | #[Override]
    method getSign (line 562) | #[Override]
    method getUnscaledValue (line 568) | public function getUnscaledValue() : BigInteger
    method getScale (line 573) | public function getScale() : int
    method getPrecision (line 592) | public function getPrecision(): int
    method getIntegralPart (line 610) | public function getIntegralPart() : string
    method getFractionalPart (line 628) | public function getFractionalPart() : string
    method hasNonZeroFractionalPart (line 642) | public function hasNonZeroFractionalPart() : bool
    method toBigInteger (line 647) | #[Override]
    method toBigDecimal (line 655) | #[Override]
    method toBigRational (line 661) | #[Override]
    method toScale (line 670) | #[Override]
    method toInt (line 680) | #[Override]
    method toFloat (line 686) | #[Override]
    method __toString (line 695) | #[Override]
    method __serialize (line 716) | public function __serialize(): array
    method __unserialize (line 731) | public function __unserialize(array $data): void
    method scaleValues (line 746) | private function scaleValues(BigDecimal $x, BigDecimal $y) : array
    method valueWithMinScale (line 760) | private function valueWithMinScale(int $scale) : string
    method getUnscaledValueWithLeadingZeros (line 774) | private function getUnscaledValueWithLeadingZeros() : string

FILE: lib/Google/vendor/brick/math/src/BigInteger.php
  class BigInteger (line 23) | final class BigInteger extends BigNumber
    method __construct (line 38) | protected function __construct(string $value)
    method from (line 46) | #[Override]
    method fromBase (line 71) | public static function fromBase(string $number, int $base) : BigInteger
    method fromArbitraryBase (line 136) | public static function fromArbitraryBase(string $number, string $alpha...
    method fromBytes (line 176) | public static function fromBytes(string $value, bool $signed = true) :...
    method randomBits (line 215) | public static function randomBits(int $numBits, ?callable $randomBytes...
    method randomRange (line 257) | public static function randomRange(
    method zero (line 289) | public static function zero() : BigInteger
    method one (line 309) | public static function one() : BigInteger
    method ten (line 329) | public static function ten() : BigInteger
    method gcdMultiple (line 344) | public static function gcdMultiple(BigInteger $a, BigInteger ...$n): B...
    method plus (line 366) | public function plus(BigNumber|int|float|string $that) : BigInteger
    method minus (line 390) | public function minus(BigNumber|int|float|string $that) : BigInteger
    method multipliedBy (line 410) | public function multipliedBy(BigNumber|int|float|string $that) : BigIn...
    method dividedBy (line 436) | public function dividedBy(BigNumber|int|float|string $that, RoundingMo...
    method power (line 458) | public function power(int $exponent) : BigInteger
    method quotient (line 486) | public function quotient(BigNumber|int|float|string $that) : BigInteger
    method remainder (line 512) | public function remainder(BigNumber|int|float|string $that) : BigInteger
    method quotientAndRemainder (line 540) | public function quotientAndRemainder(BigNumber|int|float|string $that)...
    method mod (line 568) | public function mod(BigNumber|int|float|string $that) : BigInteger
    method modInverse (line 589) | public function modInverse(BigInteger $m) : BigInteger
    method modPow (line 623) | public function modPow(BigNumber|int|float|string $exp, BigNumber|int|...
    method gcd (line 648) | public function gcd(BigNumber|int|float|string $that) : BigInteger
    method sqrt (line 672) | public function sqrt() : BigInteger
    method abs (line 686) | public function abs() : BigInteger
    method negated (line 694) | public function negated() : BigInteger
    method and (line 706) | public function and(BigNumber|int|float|string $that) : BigInteger
    method or (line 720) | public function or(BigNumber|int|float|string $that) : BigInteger
    method xor (line 734) | public function xor(BigNumber|int|float|string $that) : BigInteger
    method not (line 744) | public function not() : BigInteger
    method shiftedLeft (line 752) | public function shiftedLeft(int $distance) : BigInteger
    method shiftedRight (line 768) | public function shiftedRight(int $distance) : BigInteger
    method getBitLength (line 793) | public function getBitLength() : int
    method getLowestSetBit (line 811) | public function getLowestSetBit() : int
    method isEven (line 830) | public function isEven() : bool
    method isOdd (line 838) | public function isOdd() : bool
    method testBit (line 852) | public function testBit(int $n) : bool
    method compareTo (line 861) | #[Override]
    method getSign (line 873) | #[Override]
    method toBigInteger (line 879) | #[Override]
    method toBigDecimal (line 885) | #[Override]
    method toBigRational (line 891) | #[Override]
    method toScale (line 897) | #[Override]
    method toInt (line 903) | #[Override]
    method toFloat (line 915) | #[Override]
    method toBase (line 928) | public function toBase(int $base) : string
    method toArbitraryBase (line 952) | public function toArbitraryBase(string $alphabet) : string
    method toBytes (line 985) | public function toBytes(bool $signed = true) : string
    method __toString (line 1029) | #[Override]
    method __serialize (line 1043) | public function __serialize(): array
    method __unserialize (line 1058) | public function __unserialize(array $data): void

FILE: lib/Google/vendor/brick/math/src/BigNumber.php
  class BigNumber (line 18) | abstract class BigNumber implements \JsonSerializable
    method of (line 61) | final public static function of(BigNumber|int|float|string $value) : s...
    method _of (line 81) | private static function _of(BigNumber|int|float|string $value) : BigNu...
    method from (line 175) | abstract protected static function from(BigNumber $number): static;
    method newBigInteger (line 183) | final protected function newBigInteger(string $value) : BigInteger
    method newBigDecimal (line 194) | final protected function newBigDecimal(string $value, int $scale = 0) ...
    method newBigRational (line 205) | final protected function newBigRational(BigInteger $numerator, BigInte...
    method min (line 221) | final public static function min(BigNumber|int|float|string ...$values...
    method max (line 251) | final public static function max(BigNumber|int|float|string ...$values...
    method sum (line 281) | final public static function sum(BigNumber|int|float|string ...$values...
    method add (line 309) | private static function add(BigNumber $a, BigNumber $b) : BigNumber
    method cleanUp (line 340) | private static function cleanUp(string|null $sign, string $number) : s...
    method isEqualTo (line 354) | final public function isEqualTo(BigNumber|int|float|string $that) : bool
    method isLessThan (line 362) | final public function isLessThan(BigNumber|int|float|string $that) : bool
    method isLessThanOrEqualTo (line 370) | final public function isLessThanOrEqualTo(BigNumber|int|float|string $...
    method isGreaterThan (line 378) | final public function isGreaterThan(BigNumber|int|float|string $that) ...
    method isGreaterThanOrEqualTo (line 386) | final public function isGreaterThanOrEqualTo(BigNumber|int|float|strin...
    method isZero (line 394) | final public function isZero() : bool
    method isNegative (line 402) | final public function isNegative() : bool
    method isNegativeOrZero (line 410) | final public function isNegativeOrZero() : bool
    method isPositive (line 418) | final public function isPositive() : bool
    method isPositiveOrZero (line 426) | final public function isPositiveOrZero() : bool
    method getSign (line 438) | abstract public function getSign() : int;
    method compareTo (line 449) | abstract public function compareTo(BigNumber|int|float|string $that) :...
    method toBigInteger (line 456) | abstract public function toBigInteger() : BigInteger;
    method toBigDecimal (line 463) | abstract public function toBigDecimal() : BigDecimal;
    method toBigRational (line 468) | abstract public function toBigRational() : BigRational;
    method toScale (line 479) | abstract public function toScale(int $scale, RoundingMode $roundingMod...
    method toInt (line 489) | abstract public function toInt() : int;
    method toFloat (line 500) | abstract public function toFloat() : float;
    method __toString (line 508) | abstract public function __toString() : string;
    method jsonSerialize (line 510) | #[Override]

FILE: lib/Google/vendor/brick/math/src/BigRational.php
  class BigRational (line 20) | final class BigRational extends BigNumber
    method __construct (line 41) | protected function __construct(BigInteger $numerator, BigInteger $deno...
    method from (line 61) | #[Override]
    method nd (line 82) | public static function nd(
    method zero (line 97) | public static function zero() : BigRational
    method one (line 117) | public static function one() : BigRational
    method ten (line 137) | public static function ten() : BigRational
    method getNumerator (line 152) | public function getNumerator() : BigInteger
    method getDenominator (line 157) | public function getDenominator() : BigInteger
    method quotient (line 165) | public function quotient() : BigInteger
    method remainder (line 173) | public function remainder() : BigInteger
    method quotientAndRemainder (line 185) | public function quotientAndRemainder() : array
    method plus (line 197) | public function plus(BigNumber|int|float|string $that) : BigRational
    method minus (line 215) | public function minus(BigNumber|int|float|string $that) : BigRational
    method multipliedBy (line 233) | public function multipliedBy(BigNumber|int|float|string $that) : BigRa...
    method dividedBy (line 250) | public function dividedBy(BigNumber|int|float|string $that) : BigRational
    method power (line 265) | public function power(int $exponent) : BigRational
    method reciprocal (line 291) | public function reciprocal() : BigRational
    method abs (line 299) | public function abs() : BigRational
    method negated (line 307) | public function negated() : BigRational
    method simplified (line 315) | public function simplified() : BigRational
    method compareTo (line 325) | #[Override]
    method getSign (line 331) | #[Override]
    method toBigInteger (line 337) | #[Override]
    method toBigDecimal (line 349) | #[Override]
    method toBigRational (line 355) | #[Override]
    method toScale (line 361) | #[Override]
    method toInt (line 367) | #[Override]
    method toFloat (line 373) | #[Override]
    method __toString (line 380) | #[Override]
    method __serialize (line 400) | public function __serialize(): array
    method __unserialize (line 415) | public function __unserialize(array $data): void

FILE: lib/Google/vendor/brick/math/src/Exception/DivisionByZeroException.php
  class DivisionByZeroException (line 10) | class DivisionByZeroException extends MathException
    method divisionByZero (line 15) | public static function divisionByZero() : DivisionByZeroException
    method modulusMustNotBeZero (line 23) | public static function modulusMustNotBeZero() : DivisionByZeroException
    method denominatorMustNotBeZero (line 31) | public static function denominatorMustNotBeZero() : DivisionByZeroExce...

FILE: lib/Google/vendor/brick/math/src/Exception/IntegerOverflowException.php
  class IntegerOverflowException (line 12) | class IntegerOverflowException extends MathException
    method toIntOverflow (line 17) | public static function toIntOverflow(BigInteger $value) : IntegerOverf...

FILE: lib/Google/vendor/brick/math/src/Exception/MathException.php
  class MathException (line 10) | class MathException extends \RuntimeException

FILE: lib/Google/vendor/brick/math/src/Exception/NegativeNumberException.php
  class NegativeNumberException (line 10) | class NegativeNumberException extends MathException

FILE: lib/Google/vendor/brick/math/src/Exception/NumberFormatException.php
  class NumberFormatException (line 10) | class NumberFormatException extends MathException
    method invalidFormat (line 12) | public static function invalidFormat(string $value) : self
    method charNotInAlphabet (line 25) | public static function charNotInAlphabet(string $char) : self

FILE: lib/Google/vendor/brick/math/src/Exception/RoundingNecessaryException.php
  class RoundingNecessaryException (line 10) | class RoundingNecessaryException extends MathException
    method roundingNecessary (line 15) | public static function roundingNecessary() : RoundingNecessaryException

FILE: lib/Google/vendor/brick/math/src/Internal/Calculator.php
  class Calculator (line 23) | abstract class Calculator
    method set (line 47) | final public static function set(?Calculator $calculator) : void
    method get (line 60) | final public static function get() : Calculator
    method detect (line 75) | private static function detect() : Calculator
    method init (line 93) | final protected function init(string $a, string $b) : array
    method abs (line 107) | final public function abs(string $n) : string
    method neg (line 115) | final public function neg(string $n) : string
    method cmp (line 135) | final public function cmp(string $a, string $b) : int
    method add (line 164) | abstract public function add(string $a, string $b) : string;
    method sub (line 169) | abstract public function sub(string $a, string $b) : string;
    method mul (line 174) | abstract public function mul(string $a, string $b) : string;
    method divQ (line 184) | abstract public function divQ(string $a, string $b) : string;
    method divR (line 194) | abstract public function divR(string $a, string $b) : string;
    method divQR (line 204) | abstract public function divQR(string $a, string $b) : array;
    method pow (line 214) | abstract public function pow(string $a, int $e) : string;
    method mod (line 219) | public function mod(string $a, string $b) : string
    method modInverse (line 233) | public function modInverse(string $x, string $m) : ?string
    method modPow (line 261) | abstract public function modPow(string $base, string $exp, string $mod...
    method gcd (line 271) | public function gcd(string $a, string $b) : string
    method gcdExtended (line 287) | private function gcdExtended(string $a, string $b) : array
    method sqrt (line 307) | abstract public function sqrt(string $n) : string;
    method fromBase (line 320) | public function fromBase(string $number, int $base) : string
    method toBase (line 336) | public function toBase(string $number, int $base) : string
    method fromArbitraryBase (line 363) | final public function fromArbitraryBase(string $number, string $alphab...
    method toArbitraryBase (line 409) | final public function toArbitraryBase(string $number, string $alphabet...
    method divRound (line 442) | final public function divRound(string $a, string $b, RoundingMode $rou...
    method and (line 519) | public function and(string $a, string $b) : string
    method or (line 530) | public function or(string $a, string $b) : string
    method xor (line 541) | public function xor(string $a, string $b) : string
    method bitwise (line 553) | private function bitwise(string $operator, string $a, string $b) : string
    method twosComplement (line 600) | private function twosComplement(string $number) : string
    method toBinary (line 629) | private function toBinary(string $number) : string
    method toDecimal (line 646) | private function toDecimal(string $bytes) : string

FILE: lib/Google/vendor/brick/math/src/Internal/Calculator/BcMathCalculator.php
  class BcMathCalculator (line 17) | class BcMathCalculator extends Calculator
    method add (line 19) | #[Override]
    method sub (line 25) | #[Override]
    method mul (line 31) | #[Override]
    method divQ (line 37) | #[Override]
    method divR (line 43) | #[Override]
    method divQR (line 49) | #[Override]
    method pow (line 58) | #[Override]
    method modPow (line 64) | #[Override]
    method sqrt (line 70) | #[Override]

FILE: lib/Google/vendor/brick/math/src/Internal/Calculator/GmpCalculator.php
  class GmpCalculator (line 17) | class GmpCalculator extends Calculator
    method add (line 19) | #[Override]
    method sub (line 25) | #[Override]
    method mul (line 31) | #[Override]
    method divQ (line 37) | #[Override]
    method divR (line 43) | #[Override]
    method divQR (line 49) | #[Override]
    method pow (line 60) | #[Override]
    method modInverse (line 66) | #[Override]
    method modPow (line 78) | #[Override]
    method gcd (line 84) | #[Override]
    method fromBase (line 90) | #[Override]
    method toBase (line 96) | #[Override]
    method and (line 102) | #[Override]
    method or (line 108) | #[Override]
    method xor (line 114) | #[Override]
    method sqrt (line 120) | #[Override]

FILE: lib/Google/vendor/brick/math/src/Internal/Calculator/NativeCalculator.php
  class NativeCalculator (line 17) | class NativeCalculator extends Calculator
    method __construct (line 32) | public function __construct()
    method add (line 41) | #[Override]
    method sub (line 73) | #[Override]
    method mul (line 79) | #[Override]
    method divQ (line 123) | #[Override]
    method divR (line 129) | #[Override]
    method divQR (line 135) | #[Override]
    method pow (line 189) | #[Override]
    method modPow (line 218) | #[Override]
    method sqrt (line 253) | #[Override]
    method doAdd (line 282) | private function doAdd(string $a, string $b) : string
    method doSub (line 334) | private function doSub(string $a, string $b) : string
    method doMul (line 411) | private function doMul(string $a, string $b) : string
    method doDiv (line 484) | private function doDiv(string $a, string $b) : array
    method doCmp (line 558) | private function doCmp(string $a, string $b) : int
    method pad (line 579) | private function pad(string $a, string $b) : array

FILE: lib/Google/vendor/composer/ClassLoader.php
  class ClassLoader (line 43) | class ClassLoader
    method __construct (line 106) | public function __construct($vendorDir = null)
    method getPrefixes (line 115) | public function getPrefixes()
    method getPrefixesPsr4 (line 127) | public function getPrefixesPsr4()
    method getFallbackDirs (line 135) | public function getFallbackDirs()
    method getFallbackDirsPsr4 (line 143) | public function getFallbackDirsPsr4()
    method getClassMap (line 151) | public function getClassMap()
    method addClassMap (line 161) | public function addClassMap(array $classMap)
    method add (line 180) | public function add($prefix, $paths, $prepend = false)
    method addPsr4 (line 230) | public function addPsr4($prefix, $paths, $prepend = false)
    method set (line 278) | public function set($prefix, $paths)
    method setPsr4 (line 298) | public function setPsr4($prefix, $paths)
    method setUseIncludePath (line 319) | public function setUseIncludePath($useIncludePath)
    method getUseIncludePath (line 330) | public function getUseIncludePath()
    method setClassMapAuthoritative (line 343) | public function setClassMapAuthoritative($classMapAuthoritative)
    method isClassMapAuthoritative (line 353) | public function isClassMapAuthoritative()
    method setApcuPrefix (line 365) | public function setApcuPrefix($apcuPrefix)
    method getApcuPrefix (line 375) | public function getApcuPrefix()
    method register (line 387) | public function register($prepend = false)
    method unregister (line 408) | public function unregister()
    method loadClass (line 423) | public function loadClass($class)
    method findFile (line 442) | public function findFile($class)
    method getRegisteredLoaders (line 482) | public static function getRegisteredLoaders()
    method findFileWithExtension (line 492) | private function findFileWithExtension($class, $ext)
    method initializeIncludeClosure (line 561) | private static function initializeIncludeClosure()

FILE: lib/Google/vendor/composer/InstalledVersions.php
  class InstalledVersions (line 27) | class InstalledVersions
    method getInstalledPackages (line 63) | public static function getInstalledPackages()
    method getInstalledPackagesByType (line 84) | public static function getInstalledPackagesByType($type)
    method isInstalled (line 108) | public static function isInstalled($packageName, $includeDevRequiremen...
    method satisfies (line 131) | public static function satisfies(VersionParser $parser, $packageName, ...
    method getVersionRanges (line 148) | public static function getVersionRanges($packageName)
    method getVersion (line 179) | public static function getVersion($packageName)
    method getPrettyVersion (line 200) | public static function getPrettyVersion($packageName)
    method getReference (line 221) | public static function getReference($packageName)
    method getInstallPath (line 242) | public static function getInstallPath($packageName)
    method getRootPackage (line 259) | public static function getRootPackage()
    method getRawData (line 273) | public static function getRawData()
    method getAllRawData (line 296) | public static function getAllRawData()
    method reload (line 319) | public static function reload($data)
    method getSelfDir (line 334) | private static function getSelfDir()
    method getInstalled (line 347) | private static function getInstalled()

FILE: lib/Google/vendor/composer/autoload_real.php
  class ComposerAutoloaderInitc1ba3d113640ecbb1bd5645a9bacb037 (line 5) | class ComposerAutoloaderInitc1ba3d113640ecbb1bd5645a9bacb037
    method loadClassLoader (line 9) | public static function loadClassLoader($class)
    method getLoader (line 19) | public static function getLoader()

FILE: lib/Google/vendor/composer/autoload_static.php
  class ComposerStaticInitc1ba3d113640ecbb1bd5645a9bacb037 (line 7) | class ComposerStaticInitc1ba3d113640ecbb1bd5645a9bacb037
    method getInitializer (line 277) | public static function getInitializer(ClassLoader $loader)

FILE: lib/Google/vendor/firebase/php-jwt/src/BeforeValidException.php
  class BeforeValidException (line 5) | class BeforeValidException extends \UnexpectedValueException implements ...
    method setPayload (line 9) | public function setPayload(object $payload): void
    method getPayload (line 14) | public function getPayload(): object

FILE: lib/Google/vendor/firebase/php-jwt/src/CachedKeySet.php
  class CachedKeySet (line 19) | class CachedKeySet implements ArrayAccess
    method __construct (line 78) | public function __construct(
    method offsetGet (line 101) | public function offsetGet($keyId): Key
    method offsetExists (line 113) | public function offsetExists($keyId): bool
    method offsetSet (line 122) | public function offsetSet($offset, $value): void
    method offsetUnset (line 130) | public function offsetUnset($offset): void
    method formatJwksForCache (line 138) | private function formatJwksForCache(string $jwks): array
    method keyIdExists (line 159) | private function keyIdExists(string $keyId): bool
    method rateLimitExceeded (line 208) | private function rateLimitExceeded(): bool
    method getCacheItem (line 234) | private function getCacheItem(): CacheItemInterface
    method setCacheKeys (line 243) | private function setCacheKeys(): void

FILE: lib/Google/vendor/firebase/php-jwt/src/ExpiredException.php
  class ExpiredException (line 5) | class ExpiredException extends \UnexpectedValueException implements JWTE...
    method setPayload (line 11) | public function setPayload(object $payload): void
    method getPayload (line 16) | public function getPayload(): object
    method setTimestamp (line 21) | public function setTimestamp(int $timestamp): void
    method getTimestamp (line 26) | public function getTimestamp(): ?int

FILE: lib/Google/vendor/firebase/php-jwt/src/JWK.php
  class JWK (line 21) | class JWK
    method parseKeySet (line 55) | public static function parseKeySet(#[\SensitiveParameter] array $jwks,...
    method parseKey (line 96) | public static function parseKey(#[\SensitiveParameter] array $jwk, ?st...
    method createPemFromCrvAndXYCoordinates (line 197) | private static function createPemFromCrvAndXYCoordinates(string $crv, ...
    method createPemFromModulusAndExponent (line 237) | private static function createPemFromModulusAndExponent(
    method encodeLength (line 281) | private static function encodeLength(int $length): string
    method encodeDER (line 300) | private static function encodeDER(int $type, string $value): string
    method encodeOID (line 322) | private static function encodeOID(string $oid): string

FILE: lib/Google/vendor/firebase/php-jwt/src/JWT.php
  class JWT (line 28) | class JWT
    method decode (line 98) | public static function decode(
    method encode (line 212) | public static function encode(
    method sign (line 250) | public static function sign(
    method verify (line 322) | private static function verify(
    method jsonDecode (line 395) | public static function jsonDecode(string $input)
    method jsonEncode (line 416) | public static function jsonEncode(array $input): string
    method urlsafeB64Decode (line 439) | public static function urlsafeB64Decode(string $input): string
    method convertBase64UrlToBase64 (line 454) | public static function convertBase64UrlToBase64(string $input): string
    method urlsafeB64Encode (line 471) | public static function urlsafeB64Encode(string $input): string
    method getKey (line 487) | private static function getKey(
    method constantTimeEquals (line 516) | public static function constantTimeEquals(string $left, string $right)...
    method handleJsonError (line 541) | private static function handleJsonError(int $errno): void
    method safeStrlen (line 564) | private static function safeStrlen(string $str): int
    method signatureToDER (line 578) | private static function signatureToDER(string $sig): string
    method encodeDER (line 612) | private static function encodeDER(int $type, string $value): string
    method signatureFromDER (line 636) | private static function signatureFromDER(string $der, int $keySize): s...
    method readDER (line 664) | private static function readDER(string $der, int $offset = 0): array
    method validateHmacKeyLength (line 704) | private static function validateHmacKeyLength(string $key, string $alg...
    method validateRsaKeyLength (line 719) | private static function validateRsaKeyLength(#[\SensitiveParameter] Op...
    method validateEcKeyLength (line 736) | private static function validateEcKeyLength(

FILE: lib/Google/vendor/firebase/php-jwt/src/JWTExceptionWithPayloadInterface.php
  type JWTExceptionWithPayloadInterface (line 4) | interface JWTExceptionWithPayloadInterface
    method getPayload (line 11) | public function getPayload(): object;
    method setPayload (line 19) | public function setPayload(object $payload): void;

FILE: lib/Google/vendor/firebase/php-jwt/src/Key.php
  class Key (line 10) | class Key
    method __construct (line 16) | public function __construct(
    method getAlgorithm (line 42) | public function getAlgorithm(): string
    method getKeyMaterial (line 50) | public function getKeyMaterial()

FILE: lib/Google/vendor/firebase/php-jwt/src/SignatureInvalidException.php
  class SignatureInvalidException (line 5) | class SignatureInvalidException extends \UnexpectedValueException

FILE: lib/Google/vendor/google/apiclient-services/src/Storage.php
  class Storage (line 35) | class Storage extends \Google\Service
    method __construct (line 75) | public function __construct($clientOrConfig = [], $rootUrl = null)

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/AdvanceRelocateBucketOperationRequest.php
  class AdvanceRelocateBucketOperationRequest (line 20) | class AdvanceRelocateBucketOperationRequest extends \Google\Model
    method setExpireTime (line 44) | public function setExpireTime($expireTime)
    method getExpireTime (line 51) | public function getExpireTime()
    method setTtl (line 62) | public function setTtl($ttl)
    method getTtl (line 69) | public function getTtl()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/AnywhereCache.php
  class AnywhereCache (line 20) | class AnywhereCache extends \Google\Model
    method setAdmissionPolicy (line 103) | public function setAdmissionPolicy($admissionPolicy)
    method getAdmissionPolicy (line 110) | public function getAdmissionPolicy()
    method setAnywhereCacheId (line 119) | public function setAnywhereCacheId($anywhereCacheId)
    method getAnywhereCacheId (line 126) | public function getAnywhereCacheId()
    method setBucket (line 135) | public function setBucket($bucket)
    method getBucket (line 142) | public function getBucket()
    method setCreateTime (line 151) | public function setCreateTime($createTime)
    method getCreateTime (line 158) | public function getCreateTime()
    method setId (line 168) | public function setId($id)
    method getId (line 175) | public function getId()
    method setKind (line 185) | public function setKind($kind)
    method getKind (line 192) | public function getKind()
    method setPendingUpdate (line 201) | public function setPendingUpdate($pendingUpdate)
    method getPendingUpdate (line 208) | public function getPendingUpdate()
    method setSelfLink (line 217) | public function setSelfLink($selfLink)
    method getSelfLink (line 224) | public function getSelfLink()
    method setState (line 233) | public function setState($state)
    method getState (line 240) | public function getState()
    method setTtl (line 249) | public function setTtl($ttl)
    method getTtl (line 256) | public function getTtl()
    method setUpdateTime (line 265) | public function setUpdateTime($updateTime)
    method getUpdateTime (line 272) | public function getUpdateTime()
    method setZone (line 282) | public function setZone($zone)
    method getZone (line 289) | public function getZone()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/AnywhereCaches.php
  class AnywhereCaches (line 20) | class AnywhereCaches extends \Google\Collection
    method setItems (line 45) | public function setItems($items)
    method getItems (line 52) | public function getItems()
    method setKind (line 62) | public function setKind($kind)
    method getKind (line 69) | public function getKind()
    method setNextPageToken (line 79) | public function setNextPageToken($nextPageToken)
    method getNextPageToken (line 86) | public function getNextPageToken()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/Bucket.php
  class Bucket (line 20) | class Bucket extends \Google\Collection
    method setAcl (line 206) | public function setAcl($acl)
    method getAcl (line 213) | public function getAcl()
    method setAutoclass (line 222) | public function setAutoclass(BucketAutoclass $autoclass)
    method getAutoclass (line 229) | public function getAutoclass()
    method setBilling (line 238) | public function setBilling(BucketBilling $billing)
    method getBilling (line 245) | public function getBilling()
    method setCors (line 254) | public function setCors($cors)
    method getCors (line 261) | public function getCors()
    method setCustomPlacementConfig (line 270) | public function setCustomPlacementConfig(BucketCustomPlacementConfig $...
    method getCustomPlacementConfig (line 277) | public function getCustomPlacementConfig()
    method setDefaultEventBasedHold (line 297) | public function setDefaultEventBasedHold($defaultEventBasedHold)
    method getDefaultEventBasedHold (line 304) | public function getDefaultEventBasedHold()
    method setDefaultObjectAcl (line 313) | public function setDefaultObjectAcl($defaultObjectAcl)
    method getDefaultObjectAcl (line 320) | public function getDefaultObjectAcl()
    method setEncryption (line 329) | public function setEncryption(BucketEncryption $encryption)
    method getEncryption (line 336) | public function getEncryption()
    method setEtag (line 345) | public function setEtag($etag)
    method getEtag (line 352) | public function getEtag()
    method setGeneration (line 361) | public function setGeneration($generation)
    method getGeneration (line 368) | public function getGeneration()
    method setHardDeleteTime (line 377) | public function setHardDeleteTime($hardDeleteTime)
    method getHardDeleteTime (line 384) | public function getHardDeleteTime()
    method setHierarchicalNamespace (line 393) | public function setHierarchicalNamespace(BucketHierarchicalNamespace $...
    method getHierarchicalNamespace (line 400) | public function getHierarchicalNamespace()
    method setIamConfiguration (line 409) | public function setIamConfiguration(BucketIamConfiguration $iamConfigu...
    method getIamConfiguration (line 416) | public function getIamConfiguration()
    method setId (line 425) | public function setId($id)
    method getId (line 432) | public function getId()
    method setIpFilter (line 443) | public function setIpFilter(BucketIpFilter $ipFilter)
    method getIpFilter (line 450) | public function getIpFilter()
    method setKind (line 459) | public function setKind($kind)
    method getKind (line 466) | public function getKind()
    method setLabels (line 475) | public function setLabels($labels)
    method getLabels (line 482) | public function getLabels()
    method setLifecycle (line 493) | public function setLifecycle(BucketLifecycle $lifecycle)
    method getLifecycle (line 500) | public function getLifecycle()
    method setLocation (line 512) | public function setLocation($location)
    method getLocation (line 519) | public function getLocation()
    method setLocationType (line 528) | public function setLocationType($locationType)
    method getLocationType (line 535) | public function getLocationType()
    method setLogging (line 545) | public function setLogging(BucketLogging $logging)
    method getLogging (line 552) | public function getLogging()
    method setMetageneration (line 561) | public function setMetageneration($metageneration)
    method getMetageneration (line 568) | public function getMetageneration()
    method setName (line 577) | public function setName($name)
    method getName (line 584) | public function getName()
    method setObjectRetention (line 593) | public function setObjectRetention(BucketObjectRetention $objectRetent...
    method getObjectRetention (line 600) | public function getObjectRetention()
    method setOwner (line 609) | public function setOwner(BucketOwner $owner)
    method getOwner (line 616) | public function getOwner()
    method setProjectNumber (line 625) | public function setProjectNumber($projectNumber)
    method getProjectNumber (line 632) | public function getProjectNumber()
    method setRetentionPolicy (line 649) | public function setRetentionPolicy(BucketRetentionPolicy $retentionPol...
    method getRetentionPolicy (line 656) | public function getRetentionPolicy()
    method setRpo (line 666) | public function setRpo($rpo)
    method getRpo (line 673) | public function getRpo()
    method setSatisfiesPZI (line 682) | public function setSatisfiesPZI($satisfiesPZI)
    method getSatisfiesPZI (line 689) | public function getSatisfiesPZI()
    method setSatisfiesPZS (line 698) | public function setSatisfiesPZS($satisfiesPZS)
    method getSatisfiesPZS (line 705) | public function getSatisfiesPZS()
    method setSelfLink (line 714) | public function setSelfLink($selfLink)
    method getSelfLink (line 721) | public function getSelfLink()
    method setSoftDeletePolicy (line 731) | public function setSoftDeletePolicy(BucketSoftDeletePolicy $softDelete...
    method getSoftDeletePolicy (line 738) | public function getSoftDeletePolicy()
    method setSoftDeleteTime (line 747) | public function setSoftDeleteTime($softDeleteTime)
    method getSoftDeleteTime (line 754) | public function getSoftDeleteTime()
    method setStorageClass (line 769) | public function setStorageClass($storageClass)
    method getStorageClass (line 776) | public function getStorageClass()
    method setTimeCreated (line 785) | public function setTimeCreated($timeCreated)
    method getTimeCreated (line 792) | public function getTimeCreated()
    method setUpdated (line 801) | public function setUpdated($updated)
    method getUpdated (line 808) | public function getUpdated()
    method setVersioning (line 817) | public function setVersioning(BucketVersioning $versioning)
    method getVersioning (line 824) | public function getVersioning()
    method setWebsite (line 836) | public function setWebsite(BucketWebsite $website)
    method getWebsite (line 843) | public function getWebsite()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketAccessControl.php
  class BucketAccessControl (line 20) | class BucketAccessControl extends \Google\Model
    method setBucket (line 97) | public function setBucket($bucket)
    method getBucket (line 104) | public function getBucket()
    method setDomain (line 113) | public function setDomain($domain)
    method getDomain (line 120) | public function getDomain()
    method setEmail (line 129) | public function setEmail($email)
    method getEmail (line 136) | public function getEmail()
    method setEntity (line 151) | public function setEntity($entity)
    method getEntity (line 158) | public function getEntity()
    method setEntityId (line 167) | public function setEntityId($entityId)
    method getEntityId (line 174) | public function getEntityId()
    method setEtag (line 183) | public function setEtag($etag)
    method getEtag (line 190) | public function getEtag()
    method setId (line 199) | public function setId($id)
    method getId (line 206) | public function getId()
    method setKind (line 216) | public function setKind($kind)
    method getKind (line 223) | public function getKind()
    method setProjectTeam (line 232) | public function setProjectTeam(BucketAccessControlProjectTeam $project...
    method getProjectTeam (line 239) | public function getProjectTeam()
    method setRole (line 248) | public function setRole($role)
    method getRole (line 255) | public function getRole()
    method setSelfLink (line 264) | public function setSelfLink($selfLink)
    method getSelfLink (line 271) | public function getSelfLink()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketAccessControlProjectTeam.php
  class BucketAccessControlProjectTeam (line 20) | class BucketAccessControlProjectTeam extends \Google\Model
    method setProjectNumber (line 40) | public function setProjectNumber($projectNumber)
    method getProjectNumber (line 47) | public function getProjectNumber()
    method setTeam (line 56) | public function setTeam($team)
    method getTeam (line 63) | public function getTeam()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketAccessControls.php
  class BucketAccessControls (line 20) | class BucketAccessControls extends \Google\Collection
    method setItems (line 38) | public function setItems($items)
    method getItems (line 45) | public function getItems()
    method setKind (line 55) | public function setKind($kind)
    method getKind (line 62) | public function getKind()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketAutoclass.php
  class BucketAutoclass (line 20) | class BucketAutoclass extends \Google\Model
    method setEnabled (line 56) | public function setEnabled($enabled)
    method getEnabled (line 63) | public function getEnabled()
    method setTerminalStorageClass (line 74) | public function setTerminalStorageClass($terminalStorageClass)
    method getTerminalStorageClass (line 81) | public function getTerminalStorageClass()
    method setTerminalStorageClassUpdateTime (line 91) | public function setTerminalStorageClassUpdateTime($terminalStorageClas...
    method getTerminalStorageClassUpdateTime (line 98) | public function getTerminalStorageClassUpdateTime()
    method setToggleTime (line 108) | public function setToggleTime($toggleTime)
    method getToggleTime (line 115) | public function getToggleTime()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketBilling.php
  class BucketBilling (line 20) | class BucketBilling extends \Google\Model
    method setRequesterPays (line 34) | public function setRequesterPays($requesterPays)
    method getRequesterPays (line 41) | public function getRequesterPays()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketCors.php
  class BucketCors (line 20) | class BucketCors extends \Google\Collection
    method setMaxAgeSeconds (line 59) | public function setMaxAgeSeconds($maxAgeSeconds)
    method getMaxAgeSeconds (line 66) | public function getMaxAgeSeconds()
    method setMethod (line 77) | public function setMethod($method)
    method getMethod (line 84) | public function getMethod()
    method setOrigin (line 94) | public function setOrigin($origin)
    method getOrigin (line 101) | public function getOrigin()
    method setResponseHeader (line 111) | public function setResponseHeader($responseHeader)
    method getResponseHeader (line 118) | public function getResponseHeader()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketCustomPlacementConfig.php
  class BucketCustomPlacementConfig (line 20) | class BucketCustomPlacementConfig extends \Google\Collection
    method setDataLocations (line 35) | public function setDataLocations($dataLocations)
    method getDataLocations (line 42) | public function getDataLocations()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketEncryption.php
  class BucketEncryption (line 20) | class BucketEncryption extends \Google\Model
    method setCustomerManagedEncryptionEnforcementConfig (line 44) | public function setCustomerManagedEncryptionEnforcementConfig(BucketEn...
    method getCustomerManagedEncryptionEnforcementConfig (line 51) | public function getCustomerManagedEncryptionEnforcementConfig()
    method setCustomerSuppliedEncryptionEnforcementConfig (line 63) | public function setCustomerSuppliedEncryptionEnforcementConfig(BucketE...
    method getCustomerSuppliedEncryptionEnforcementConfig (line 70) | public function getCustomerSuppliedEncryptionEnforcementConfig()
    method setDefaultKmsKeyName (line 80) | public function setDefaultKmsKeyName($defaultKmsKeyName)
    method getDefaultKmsKeyName (line 87) | public function getDefaultKmsKeyName()
    method setGoogleManagedEncryptionEnforcementConfig (line 99) | public function setGoogleManagedEncryptionEnforcementConfig(BucketEncr...
    method getGoogleManagedEncryptionEnforcementConfig (line 106) | public function getGoogleManagedEncryptionEnforcementConfig()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketEncryptionCustomerManagedEncryptionEnforcementConfig.php
  class BucketEncryptionCustomerManagedEncryptionEnforcementConfig (line 20) | class BucketEncryptionCustomerManagedEncryptionEnforcementConfig extends...
    method setEffectiveTime (line 52) | public function setEffectiveTime($effectiveTime)
    method getEffectiveTime (line 59) | public function getEffectiveTime()
    method setRestrictionMode (line 71) | public function setRestrictionMode($restrictionMode)
    method getRestrictionMode (line 78) | public function getRestrictionMode()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketEncryptionCustomerSuppliedEncryptionEnforcementConfig.php
  class BucketEncryptionCustomerSuppliedEncryptionEnforcementConfig (line 20) | class BucketEncryptionCustomerSuppliedEncryptionEnforcementConfig extend...
    method setEffectiveTime (line 53) | public function setEffectiveTime($effectiveTime)
    method getEffectiveTime (line 60) | public function getEffectiveTime()
    method setRestrictionMode (line 72) | public function setRestrictionMode($restrictionMode)
    method getRestrictionMode (line 79) | public function getRestrictionMode()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketEncryptionGoogleManagedEncryptionEnforcementConfig.php
  class BucketEncryptionGoogleManagedEncryptionEnforcementConfig (line 20) | class BucketEncryptionGoogleManagedEncryptionEnforcementConfig extends \...
    method setEffectiveTime (line 51) | public function setEffectiveTime($effectiveTime)
    method getEffectiveTime (line 58) | public function getEffectiveTime()
    method setRestrictionMode (line 70) | public function setRestrictionMode($restrictionMode)
    method getRestrictionMode (line 77) | public function getRestrictionMode()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketHierarchicalNamespace.php
  class BucketHierarchicalNamespace (line 20) | class BucketHierarchicalNamespace extends \Google\Model
    method setEnabled (line 34) | public function setEnabled($enabled)
    method getEnabled (line 41) | public function getEnabled()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketIamConfiguration.php
  class BucketIamConfiguration (line 20) | class BucketIamConfiguration extends \Google\Model
    method setBucketPolicyOnly (line 43) | public function setBucketPolicyOnly(BucketIamConfigurationBucketPolicy...
    method getBucketPolicyOnly (line 50) | public function getBucketPolicyOnly()
    method setPublicAccessPrevention (line 60) | public function setPublicAccessPrevention($publicAccessPrevention)
    method getPublicAccessPrevention (line 67) | public function getPublicAccessPrevention()
    method setUniformBucketLevelAccess (line 76) | public function setUniformBucketLevelAccess(BucketIamConfigurationUnif...
    method getUniformBucketLevelAccess (line 83) | public function getUniformBucketLevelAccess()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketIamConfigurationBucketPolicyOnly.php
  class BucketIamConfigurationBucketPolicyOnly (line 20) | class BucketIamConfigurationBucketPolicyOnly extends \Google\Model
    method setEnabled (line 43) | public function setEnabled($enabled)
    method getEnabled (line 50) | public function getEnabled()
    method setLockedTime (line 62) | public function setLockedTime($lockedTime)
    method getLockedTime (line 69) | public function getLockedTime()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketIamConfigurationUniformBucketLevelAccess.php
  class BucketIamConfigurationUniformBucketLevelAccess (line 20) | class BucketIamConfigurationUniformBucketLevelAccess extends \Google\Model
    method setEnabled (line 43) | public function setEnabled($enabled)
    method getEnabled (line 50) | public function getEnabled()
    method setLockedTime (line 62) | public function setLockedTime($lockedTime)
    method getLockedTime (line 69) | public function getLockedTime()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketIpFilter.php
  class BucketIpFilter (line 20) | class BucketIpFilter extends \Google\Collection
    method setAllowAllServiceAgentAccess (line 53) | public function setAllowAllServiceAgentAccess($allowAllServiceAgentAcc...
    method getAllowAllServiceAgentAccess (line 60) | public function getAllowAllServiceAgentAccess()
    method setAllowCrossOrgVpcs (line 69) | public function setAllowCrossOrgVpcs($allowCrossOrgVpcs)
    method getAllowCrossOrgVpcs (line 76) | public function getAllowCrossOrgVpcs()
    method setMode (line 85) | public function setMode($mode)
    method getMode (line 92) | public function getMode()
    method setPublicNetworkSource (line 101) | public function setPublicNetworkSource(BucketIpFilterPublicNetworkSour...
    method getPublicNetworkSource (line 108) | public function getPublicNetworkSource()
    method setVpcNetworkSources (line 118) | public function setVpcNetworkSources($vpcNetworkSources)
    method getVpcNetworkSources (line 125) | public function getVpcNetworkSources()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketIpFilterPublicNetworkSource.php
  class BucketIpFilterPublicNetworkSource (line 20) | class BucketIpFilterPublicNetworkSource extends \Google\Collection
    method setAllowedIpCidrRanges (line 37) | public function setAllowedIpCidrRanges($allowedIpCidrRanges)
    method getAllowedIpCidrRanges (line 44) | public function getAllowedIpCidrRanges()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketIpFilterVpcNetworkSources.php
  class BucketIpFilterVpcNetworkSources (line 20) | class BucketIpFilterVpcNetworkSources extends \Google\Collection
    method setAllowedIpCidrRanges (line 44) | public function setAllowedIpCidrRanges($allowedIpCidrRanges)
    method getAllowedIpCidrRanges (line 51) | public function getAllowedIpCidrRanges()
    method setNetwork (line 61) | public function setNetwork($network)
    method getNetwork (line 68) | public function getNetwork()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketLifecycle.php
  class BucketLifecycle (line 20) | class BucketLifecycle extends \Google\Collection
    method setRule (line 32) | public function setRule($rule)
    method getRule (line 39) | public function getRule()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketLifecycleRule.php
  class BucketLifecycleRule (line 20) | class BucketLifecycleRule extends \Google\Model
    method setAction (line 32) | public function setAction(BucketLifecycleRuleAction $action)
    method getAction (line 39) | public function getAction()
    method setCondition (line 48) | public function setCondition(BucketLifecycleRuleCondition $condition)
    method getCondition (line 55) | public function getCondition()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketLifecycleRuleAction.php
  class BucketLifecycleRuleAction (line 20) | class BucketLifecycleRuleAction extends \Google\Model
    method setStorageClass (line 43) | public function setStorageClass($storageClass)
    method getStorageClass (line 50) | public function getStorageClass()
    method setType (line 60) | public function setType($type)
    method getType (line 67) | public function getType()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketLifecycleRuleCondition.php
  class BucketLifecycleRuleCondition (line 20) | class BucketLifecycleRuleCondition extends \Google\Collection
    method setAge (line 129) | public function setAge($age)
    method getAge (line 136) | public function getAge()
    method setCreatedBefore (line 147) | public function setCreatedBefore($createdBefore)
    method getCreatedBefore (line 154) | public function getCreatedBefore()
    method setCustomTimeBefore (line 165) | public function setCustomTimeBefore($customTimeBefore)
    method getCustomTimeBefore (line 172) | public function getCustomTimeBefore()
    method setDaysSinceCustomTime (line 184) | public function setDaysSinceCustomTime($daysSinceCustomTime)
    method getDaysSinceCustomTime (line 191) | public function getDaysSinceCustomTime()
    method setDaysSinceNoncurrentTime (line 204) | public function setDaysSinceNoncurrentTime($daysSinceNoncurrentTime)
    method getDaysSinceNoncurrentTime (line 211) | public function getDaysSinceNoncurrentTime()
    method setIsLive (line 221) | public function setIsLive($isLive)
    method getIsLive (line 228) | public function getIsLive()
    method setMatchesPattern (line 242) | public function setMatchesPattern($matchesPattern)
    method getMatchesPattern (line 249) | public function getMatchesPattern()
    method setMatchesPrefix (line 259) | public function setMatchesPrefix($matchesPrefix)
    method getMatchesPrefix (line 266) | public function getMatchesPrefix()
    method setMatchesStorageClass (line 277) | public function setMatchesStorageClass($matchesStorageClass)
    method getMatchesStorageClass (line 284) | public function getMatchesStorageClass()
    method setMatchesSuffix (line 294) | public function setMatchesSuffix($matchesSuffix)
    method getMatchesSuffix (line 301) | public function getMatchesSuffix()
    method setNoncurrentTimeBefore (line 313) | public function setNoncurrentTimeBefore($noncurrentTimeBefore)
    method getNoncurrentTimeBefore (line 320) | public function getNoncurrentTimeBefore()
    method setNumNewerVersions (line 331) | public function setNumNewerVersions($numNewerVersions)
    method getNumNewerVersions (line 338) | public function getNumNewerVersions()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketLogging.php
  class BucketLogging (line 20) | class BucketLogging extends \Google\Model
    method setLogBucket (line 40) | public function setLogBucket($logBucket)
    method getLogBucket (line 47) | public function getLogBucket()
    method setLogObjectPrefix (line 56) | public function setLogObjectPrefix($logObjectPrefix)
    method getLogObjectPrefix (line 63) | public function getLogObjectPrefix()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketObjectRetention.php
  class BucketObjectRetention (line 20) | class BucketObjectRetention extends \Google\Model
    method setMode (line 34) | public function setMode($mode)
    method getMode (line 41) | public function getMode()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketOwner.php
  class BucketOwner (line 20) | class BucketOwner extends \Google\Model
    method setEntity (line 40) | public function setEntity($entity)
    method getEntity (line 47) | public function getEntity()
    method setEntityId (line 56) | public function setEntityId($entityId)
    method getEntityId (line 63) | public function getEntityId()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketRetentionPolicy.php
  class BucketRetentionPolicy (line 20) | class BucketRetentionPolicy extends \Google\Model
    method setEffectiveTime (line 51) | public function setEffectiveTime($effectiveTime)
    method getEffectiveTime (line 58) | public function getEffectiveTime()
    method setIsLocked (line 67) | public function setIsLocked($isLocked)
    method getIsLocked (line 74) | public function getIsLocked()
    method setRetentionPeriod (line 86) | public function setRetentionPeriod($retentionPeriod)
    method getRetentionPeriod (line 93) | public function getRetentionPeriod()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketSoftDeletePolicy.php
  class BucketSoftDeletePolicy (line 20) | class BucketSoftDeletePolicy extends \Google\Model
    method setEffectiveTime (line 45) | public function setEffectiveTime($effectiveTime)
    method getEffectiveTime (line 52) | public function getEffectiveTime()
    method setRetentionDurationSeconds (line 62) | public function setRetentionDurationSeconds($retentionDurationSeconds)
    method getRetentionDurationSeconds (line 69) | public function getRetentionDurationSeconds()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketStorageLayout.php
  class BucketStorageLayout (line 20) | class BucketStorageLayout extends \Google\Model
    method setBucket (line 57) | public function setBucket($bucket)
    method getBucket (line 64) | public function getBucket()
    method setCustomPlacementConfig (line 73) | public function setCustomPlacementConfig(BucketStorageLayoutCustomPlac...
    method getCustomPlacementConfig (line 80) | public function getCustomPlacementConfig()
    method setHierarchicalNamespace (line 89) | public function setHierarchicalNamespace(BucketStorageLayoutHierarchic...
    method getHierarchicalNamespace (line 96) | public function getHierarchicalNamespace()
    method setKind (line 106) | public function setKind($kind)
    method getKind (line 113) | public function getKind()
    method setLocation (line 122) | public function setLocation($location)
    method getLocation (line 129) | public function getLocation()
    method setLocationType (line 138) | public function setLocationType($locationType)
    method getLocationType (line 145) | public function getLocationType()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketStorageLayoutCustomPlacementConfig.php
  class BucketStorageLayoutCustomPlacementConfig (line 20) | class BucketStorageLayoutCustomPlacementConfig extends \Google\Collection
    method setDataLocations (line 35) | public function setDataLocations($dataLocations)
    method getDataLocations (line 42) | public function getDataLocations()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketStorageLayoutHierarchicalNamespace.php
  class BucketStorageLayoutHierarchicalNamespace (line 20) | class BucketStorageLayoutHierarchicalNamespace extends \Google\Model
    method setEnabled (line 34) | public function setEnabled($enabled)
    method getEnabled (line 41) | public function getEnabled()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketVersioning.php
  class BucketVersioning (line 20) | class BucketVersioning extends \Google\Model
    method setEnabled (line 34) | public function setEnabled($enabled)
    method getEnabled (line 41) | public function getEnabled()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BucketWebsite.php
  class BucketWebsite (line 20) | class BucketWebsite extends \Google\Model
    method setMainPageSuffix (line 48) | public function setMainPageSuffix($mainPageSuffix)
    method getMainPageSuffix (line 55) | public function getMainPageSuffix()
    method setNotFoundPage (line 66) | public function setNotFoundPage($notFoundPage)
    method getNotFoundPage (line 73) | public function getNotFoundPage()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/Buckets.php
  class Buckets (line 20) | class Buckets extends \Google\Collection
    method setItems (line 52) | public function setItems($items)
    method getItems (line 59) | public function getItems()
    method setKind (line 69) | public function setKind($kind)
    method getKind (line 76) | public function getKind()
    method setNextPageToken (line 86) | public function setNextPageToken($nextPageToken)
    method getNextPageToken (line 93) | public function getNextPageToken()
    method setUnreachable (line 103) | public function setUnreachable($unreachable)
    method getUnreachable (line 110) | public function getUnreachable()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/BulkRestoreObjectsRequest.php
  class BulkRestoreObjectsRequest (line 20) | class BulkRestoreObjectsRequest extends \Google\Collection
    method setAllowOverwrite (line 86) | public function setAllowOverwrite($allowOverwrite)
    method getAllowOverwrite (line 93) | public function getAllowOverwrite()
    method setCopySourceAcl (line 103) | public function setCopySourceAcl($copySourceAcl)
    method getCopySourceAcl (line 110) | public function getCopySourceAcl()
    method setCreatedAfterTime (line 119) | public function setCreatedAfterTime($createdAfterTime)
    method getCreatedAfterTime (line 126) | public function getCreatedAfterTime()
    method setCreatedBeforeTime (line 135) | public function setCreatedBeforeTime($createdBeforeTime)
    method getCreatedBeforeTime (line 142) | public function getCreatedBeforeTime()
    method setMatchGlobs (line 153) | public function setMatchGlobs($matchGlobs)
    method getMatchGlobs (line 160) | public function getMatchGlobs()
    method setSoftDeletedAfterTime (line 169) | public function setSoftDeletedAfterTime($softDeletedAfterTime)
    method getSoftDeletedAfterTime (line 176) | public function getSoftDeletedAfterTime()
    method setSoftDeletedBeforeTime (line 185) | public function setSoftDeletedBeforeTime($softDeletedBeforeTime)
    method getSoftDeletedBeforeTime (line 192) | public function getSoftDeletedBeforeTime()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/Channel.php
  class Channel (line 20) | class Channel extends \Google\Model
    method setAddress (line 92) | public function setAddress($address)
    method getAddress (line 99) | public function getAddress()
    method setExpiration (line 109) | public function setExpiration($expiration)
    method getExpiration (line 116) | public function getExpiration()
    method setId (line 125) | public function setId($id)
    method getId (line 132) | public function getId()
    method setKind (line 142) | public function setKind($kind)
    method getKind (line 149) | public function getKind()
    method setParams (line 158) | public function setParams($params)
    method getParams (line 165) | public function getParams()
    method setPayload (line 174) | public function setPayload($payload)
    method getPayload (line 181) | public function getPayload()
    method setResourceId (line 191) | public function setResourceId($resourceId)
    method getResourceId (line 198) | public function getResourceId()
    method setResourceUri (line 207) | public function setResourceUri($resourceUri)
    method getResourceUri (line 214) | public function getResourceUri()
    method setToken (line 224) | public function setToken($token)
    method getToken (line 231) | public function getToken()
    method setType (line 240) | public function setType($type)
    method getType (line 247) | public function getType()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/ComposeRequest.php
  class ComposeRequest (line 20) | class ComposeRequest extends \Google\Collection
    method setDeleteSourceObjects (line 45) | public function setDeleteSourceObjects($deleteSourceObjects)
    method getDeleteSourceObjects (line 52) | public function getDeleteSourceObjects()
    method setDestination (line 61) | public function setDestination(StorageObject $destination)
    method getDestination (line 68) | public function getDestination()
    method setKind (line 77) | public function setKind($kind)
    method getKind (line 84) | public function getKind()
    method setSourceObjects (line 93) | public function setSourceObjects($sourceObjects)
    method getSourceObjects (line 100) | public function getSourceObjects()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/ComposeRequestSourceObjects.php
  class ComposeRequestSourceObjects (line 20) | class ComposeRequestSourceObjects extends \Google\Model
    method setGeneration (line 43) | public function setGeneration($generation)
    method getGeneration (line 50) | public function getGeneration()
    method setName (line 60) | public function setName($name)
    method getName (line 67) | public function getName()
    method setObjectPreconditions (line 76) | public function setObjectPreconditions(ComposeRequestSourceObjectsObje...
    method getObjectPreconditions (line 83) | public function getObjectPreconditions()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/ComposeRequestSourceObjectsObjectPreconditions.php
  class ComposeRequestSourceObjectsObjectPreconditions (line 20) | class ComposeRequestSourceObjectsObjectPreconditions extends \Google\Model
    method setIfGenerationMatch (line 38) | public function setIfGenerationMatch($ifGenerationMatch)
    method getIfGenerationMatch (line 45) | public function getIfGenerationMatch()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/Expr.php
  class Expr (line 20) | class Expr extends \Google\Model
    method setDescription (line 58) | public function setDescription($description)
    method getDescription (line 65) | public function getDescription()
    method setExpression (line 76) | public function setExpression($expression)
    method getExpression (line 83) | public function getExpression()
    method setLocation (line 93) | public function setLocation($location)
    method getLocation (line 100) | public function getLocation()
    method setTitle (line 110) | public function setTitle($title)
    method getTitle (line 117) | public function getTitle()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/Folder.php
  class Folder (line 20) | class Folder extends \Google\Model
    method setBucket (line 79) | public function setBucket($bucket)
    method getBucket (line 86) | public function getBucket()
    method setCreateTime (line 95) | public function setCreateTime($createTime)
    method getCreateTime (line 102) | public function getCreateTime()
    method setId (line 111) | public function setId($id)
    method getId (line 118) | public function getId()
    method setKind (line 127) | public function setKind($kind)
    method getKind (line 134) | public function getKind()
    method setMetageneration (line 144) | public function setMetageneration($metageneration)
    method getMetageneration (line 151) | public function getMetageneration()
    method setName (line 160) | public function setName($name)
    method getName (line 167) | public function getName()
    method setPendingRenameInfo (line 177) | public function setPendingRenameInfo(FolderPendingRenameInfo $pendingR...
    method getPendingRenameInfo (line 184) | public function getPendingRenameInfo()
    method setSelfLink (line 193) | public function setSelfLink($selfLink)
    method getSelfLink (line 200) | public function getSelfLink()
    method setUpdateTime (line 209) | public function setUpdateTime($updateTime)
    method getUpdateTime (line 216) | public function getUpdateTime()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/FolderPendingRenameInfo.php
  class FolderPendingRenameInfo (line 20) | class FolderPendingRenameInfo extends \Google\Model
    method setOperationId (line 34) | public function setOperationId($operationId)
    method getOperationId (line 41) | public function getOperationId()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/Folders.php
  class Folders (line 20) | class Folders extends \Google\Collection
    method setItems (line 45) | public function setItems($items)
    method getItems (line 52) | public function getItems()
    method setKind (line 62) | public function setKind($kind)
    method getKind (line 69) | public function getKind()
    method setNextPageToken (line 79) | public function setNextPageToken($nextPageToken)
    method getNextPageToken (line 86) | public function getNextPageToken()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/GoogleLongrunningListOperationsResponse.php
  class GoogleLongrunningListOperationsResponse (line 20) | class GoogleLongrunningListOperationsResponse extends \Google\Collection
    method setKind (line 46) | public function setKind($kind)
    method getKind (line 53) | public function getKind()
    method setNextPageToken (line 63) | public function setNextPageToken($nextPageToken)
    method getNextPageToken (line 70) | public function getNextPageToken()
    method setOperations (line 79) | public function setOperations($operations)
    method getOperations (line 86) | public function getOperations()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/GoogleLongrunningOperation.php
  class GoogleLongrunningOperation (line 20) | class GoogleLongrunningOperation extends \Google\Model
    method setDone (line 81) | public function setDone($done)
    method getDone (line 88) | public function getDone()
    method setError (line 97) | public function setError(GoogleRpcStatus $error)
    method getError (line 104) | public function getError()
    method setKind (line 113) | public function setKind($kind)
    method getKind (line 120) | public function getKind()
    method setMetadata (line 132) | public function setMetadata($metadata)
    method getMetadata (line 139) | public function getMetadata()
    method setName (line 150) | public function setName($name)
    method getName (line 157) | public function getName()
    method setResponse (line 172) | public function setResponse($response)
    method getResponse (line 179) | public function getResponse()
    method setSelfLink (line 188) | public function setSelfLink($selfLink)
    method getSelfLink (line 195) | public function getSelfLink()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/GoogleRpcStatus.php
  class GoogleRpcStatus (line 20) | class GoogleRpcStatus extends \Google\Collection
    method setCode (line 48) | public function setCode($code)
    method getCode (line 55) | public function getCode()
    method setDetails (line 65) | public function setDetails($details)
    method getDetails (line 72) | public function getDetails()
    method setMessage (line 81) | public function setMessage($message)
    method getMessage (line 88) | public function getMessage()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/HmacKey.php
  class HmacKey (line 20) | class HmacKey extends \Google\Model
    method setKind (line 42) | public function setKind($kind)
    method getKind (line 49) | public function getKind()
    method setMetadata (line 58) | public function setMetadata(HmacKeyMetadata $metadata)
    method getMetadata (line 65) | public function getMetadata()
    method setSecret (line 74) | public function setSecret($secret)
    method getSecret (line 81) | public function getSecret()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/HmacKeyMetadata.php
  class HmacKeyMetadata (line 20) | class HmacKeyMetadata extends \Google\Model
    method setAccessId (line 89) | public function setAccessId($accessId)
    method getAccessId (line 96) | public function getAccessId()
    method setEtag (line 105) | public function setEtag($etag)
    method getEtag (line 112) | public function getEtag()
    method setId (line 121) | public function setId($id)
    method getId (line 128) | public function getId()
    method setKind (line 138) | public function setKind($kind)
    method getKind (line 145) | public function getKind()
    method setProjectId (line 154) | public function setProjectId($projectId)
    method getProjectId (line 161) | public function getProjectId()
    method setSelfLink (line 170) | public function setSelfLink($selfLink)
    method getSelfLink (line 177) | public function getSelfLink()
    method setServiceAccountEmail (line 186) | public function setServiceAccountEmail($serviceAccountEmail)
    method getServiceAccountEmail (line 193) | public function getServiceAccountEmail()
    method setState (line 202) | public function setState($state)
    method getState (line 209) | public function getState()
    method setTimeCreated (line 218) | public function setTimeCreated($timeCreated)
    method getTimeCreated (line 225) | public function getTimeCreated()
    method setUpdated (line 234) | public function setUpdated($updated)
    method getUpdated (line 241) | public function getUpdated()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/HmacKeysMetadata.php
  class HmacKeysMetadata (line 20) | class HmacKeysMetadata extends \Google\Collection
    method setItems (line 45) | public function setItems($items)
    method getItems (line 52) | public function getItems()
    method setKind (line 62) | public function setKind($kind)
    method getKind (line 69) | public function getKind()
    method setNextPageToken (line 79) | public function setNextPageToken($nextPageToken)
    method getNextPageToken (line 86) | public function getNextPageToken()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/ManagedFolder.php
  class ManagedFolder (line 20) | class ManagedFolder extends \Google\Model
    method setBucket (line 79) | public function setBucket($bucket)
    method getBucket (line 86) | public function getBucket()
    method setCreateTime (line 95) | public function setCreateTime($createTime)
    method getCreateTime (line 102) | public function getCreateTime()
    method setId (line 112) | public function setId($id)
    method getId (line 119) | public function getId()
    method setKind (line 129) | public function setKind($kind)
    method getKind (line 136) | public function getKind()
    method setMetageneration (line 146) | public function setMetageneration($metageneration)
    method getMetageneration (line 153) | public function getMetageneration()
    method setName (line 162) | public function setName($name)
    method getName (line 169) | public function getName()
    method setSelfLink (line 178) | public function setSelfLink($selfLink)
    method getSelfLink (line 185) | public function getSelfLink()
    method setUpdateTime (line 194) | public function setUpdateTime($updateTime)
    method getUpdateTime (line 201) | public function getUpdateTime()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/ManagedFolders.php
  class ManagedFolders (line 20) | class ManagedFolders extends \Google\Collection
    method setItems (line 45) | public function setItems($items)
    method getItems (line 52) | public function getItems()
    method setKind (line 62) | public function setKind($kind)
    method getKind (line 69) | public function getKind()
    method setNextPageToken (line 79) | public function setNextPageToken($nextPageToken)
    method getNextPageToken (line 86) | public function getNextPageToken()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/Notification.php
  class Notification (line 20) | class Notification extends \Google\Collection
    method setCustomAttributes (line 95) | public function setCustomAttributes($customAttributes)
    method getCustomAttributes (line 102) | public function getCustomAttributes()
    method setEtag (line 111) | public function setEtag($etag)
    method getEtag (line 118) | public function getEtag()
    method setEventTypes (line 128) | public function setEventTypes($eventTypes)
    method getEventTypes (line 135) | public function getEventTypes()
    method setId (line 144) | public function setId($id)
    method getId (line 151) | public function getId()
    method setKind (line 161) | public function setKind($kind)
    method getKind (line 168) | public function getKind()
    method setObjectNamePrefix (line 178) | public function setObjectNamePrefix($objectNamePrefix)
    method getObjectNamePrefix (line 185) | public function getObjectNamePrefix()
    method setPayloadFormat (line 194) | public function setPayloadFormat($payloadFormat)
    method getPayloadFormat (line 201) | public function getPayloadFormat()
    method setSelfLink (line 210) | public function setSelfLink($selfLink)
    method getSelfLink (line 217) | public function getSelfLink()
    method setTopic (line 227) | public function setTopic($topic)
    method getTopic (line 234) | public function getTopic()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/Notifications.php
  class Notifications (line 20) | class Notifications extends \Google\Collection
    method setItems (line 38) | public function setItems($items)
    method getItems (line 45) | public function getItems()
    method setKind (line 55) | public function setKind($kind)
    method getKind (line 62) | public function getKind()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/ObjectAccessControl.php
  class ObjectAccessControl (line 20) | class ObjectAccessControl extends \Google\Model
    method setBucket (line 109) | public function setBucket($bucket)
    method getBucket (line 116) | public function getBucket()
    method setDomain (line 125) | public function setDomain($domain)
    method getDomain (line 132) | public function getDomain()
    method setEmail (line 141) | public function setEmail($email)
    method getEmail (line 148) | public function getEmail()
    method setEntity (line 163) | public function setEntity($entity)
    method getEntity (line 170) | public function getEntity()
    method setEntityId (line 179) | public function setEntityId($entityId)
    method getEntityId (line 186) | public function getEntityId()
    method setEtag (line 195) | public function setEtag($etag)
    method getEtag (line 202) | public function getEtag()
    method setGeneration (line 211) | public function setGeneration($generation)
    method getGeneration (line 218) | public function getGeneration()
    method setId (line 227) | public function setId($id)
    method getId (line 234) | public function getId()
    method setKind (line 244) | public function setKind($kind)
    method getKind (line 251) | public function getKind()
    method setObject (line 260) | public function setObject($object)
    method getObject (line 267) | public function getObject()
    method setProjectTeam (line 276) | public function setProjectTeam(ObjectAccessControlProjectTeam $project...
    method getProjectTeam (line 283) | public function getProjectTeam()
    method setRole (line 292) | public function setRole($role)
    method getRole (line 299) | public function getRole()
    method setSelfLink (line 308) | public function setSelfLink($selfLink)
    method getSelfLink (line 315) | public function getSelfLink()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/ObjectAccessControlProjectTeam.php
  class ObjectAccessControlProjectTeam (line 20) | class ObjectAccessControlProjectTeam extends \Google\Model
    method setProjectNumber (line 40) | public function setProjectNumber($projectNumber)
    method getProjectNumber (line 47) | public function getProjectNumber()
    method setTeam (line 56) | public function setTeam($team)
    method getTeam (line 63) | public function getTeam()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/ObjectAccessControls.php
  class ObjectAccessControls (line 20) | class ObjectAccessControls extends \Google\Collection
    method setItems (line 38) | public function setItems($items)
    method getItems (line 45) | public function getItems()
    method setKind (line 55) | public function setKind($kind)
    method getKind (line 62) | public function getKind()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/ObjectCustomContextPayload.php
  class ObjectCustomContextPayload (line 20) | class ObjectCustomContextPayload extends \Google\Model
    method setCreateTime (line 46) | public function setCreateTime($createTime)
    method getCreateTime (line 53) | public function getCreateTime()
    method setUpdateTime (line 62) | public function setUpdateTime($updateTime)
    method getUpdateTime (line 69) | public function getUpdateTime()
    method setValue (line 78) | public function setValue($value)
    method getValue (line 85) | public function getValue()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/Objects.php
  class Objects (line 20) | class Objects extends \Google\Collection
    method setItems (line 52) | public function setItems($items)
    method getItems (line 59) | public function getItems()
    method setKind (line 69) | public function setKind($kind)
    method getKind (line 76) | public function getKind()
    method setNextPageToken (line 86) | public function setNextPageToken($nextPageToken)
    method getNextPageToken (line 93) | public function getNextPageToken()
    method setPrefixes (line 103) | public function setPrefixes($prefixes)
    method getPrefixes (line 110) | public function getPrefixes()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/Policy.php
  class Policy (line 20) | class Policy extends \Google\Collection
    method setBindings (line 63) | public function setBindings($bindings)
    method getBindings (line 70) | public function getBindings()
    method setEtag (line 79) | public function setEtag($etag)
    method getEtag (line 86) | public function getEtag()
    method setKind (line 96) | public function setKind($kind)
    method getKind (line 103) | public function getKind()
    method setResourceId (line 118) | public function setResourceId($resourceId)
    method getResourceId (line 125) | public function getResourceId()
    method setVersion (line 134) | public function setVersion($version)
    method getVersion (line 141) | public function getVersion()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/PolicyBindings.php
  class PolicyBindings (line 20) | class PolicyBindings extends \Google\Collection
    method setCondition (line 81) | public function setCondition(Expr $condition)
    method getCondition (line 88) | public function getCondition()
    method setMembers (line 114) | public function setMembers($members)
    method getMembers (line 121) | public function getMembers()
    method setRole (line 149) | public function setRole($role)
    method getRole (line 156) | public function getRole()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/RelocateBucketRequest.php
  class RelocateBucketRequest (line 20) | class RelocateBucketRequest extends \Google\Model
    method setDestinationCustomPlacementConfig (line 43) | public function setDestinationCustomPlacementConfig(RelocateBucketRequ...
    method getDestinationCustomPlacementConfig (line 50) | public function getDestinationCustomPlacementConfig()
    method setDestinationLocation (line 59) | public function setDestinationLocation($destinationLocation)
    method getDestinationLocation (line 66) | public function getDestinationLocation()
    method setValidateOnly (line 75) | public function setValidateOnly($validateOnly)
    method getValidateOnly (line 82) | public function getValidateOnly()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/RelocateBucketRequestDestinationCustomPlacementConfig.php
  class RelocateBucketRequestDestinationCustomPlacementConfig (line 20) | class RelocateBucketRequestDestinationCustomPlacementConfig extends \Goo...
    method setDataLocations (line 35) | public function setDataLocations($dataLocations)
    method getDataLocations (line 42) | public function getDataLocations()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/Resource/AnywhereCache.php
  class AnywhereCache (line 32) | class AnywhereCache extends \Google\Service\Resource
    method disable (line 42) | public function disable($bucket, $anywhereCacheId, $optParams = [])
    method get (line 56) | public function get($bucket, $anywhereCacheId, $optParams = [])
    method insert (line 70) | public function insert($bucket, AnywhereCacheModel $postBody, $optPara...
    method listAnywhereCache (line 89) | public function listAnywhereCache($bucket, $optParams = [])
    method pause (line 103) | public function pause($bucket, $anywhereCacheId, $optParams = [])
    method resume (line 117) | public function resume($bucket, $anywhereCacheId, $optParams = [])
    method update (line 133) | public function update($bucket, $anywhereCacheId, AnywhereCacheModel $...

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/Resource/AnywhereCaches.php
  class AnywhereCaches (line 32) | class AnywhereCaches extends \Google\Service\Resource
    method disable (line 43) | public function disable($bucket, $anywhereCacheId, $optParams = [])
    method get (line 58) | public function get($bucket, $anywhereCacheId, $optParams = [])
    method insert (line 73) | public function insert($bucket, AnywhereCache $postBody, $optParams = [])
    method listAnywhereCaches (line 93) | public function listAnywhereCaches($bucket, $optParams = [])
    method pause (line 108) | public function pause($bucket, $anywhereCacheId, $optParams = [])
    method resume (line 123) | public function resume($bucket, $anywhereCacheId, $optParams = [])
    method update (line 140) | public function update($bucket, $anywhereCacheId, AnywhereCache $postB...

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/Resource/BucketAccessControls.php
  class BucketAccessControls (line 31) | class BucketAccessControls extends \Google\Service\Resource
    method delete (line 47) | public function delete($bucket, $entity, $optParams = [])
    method get (line 68) | public function get($bucket, $entity, $optParams = [])
    method insert (line 87) | public function insert($bucket, BucketAccessControl $postBody, $optPar...
    method listBucketAccessControls (line 105) | public function listBucketAccessControls($bucket, $optParams = [])
    method patch (line 126) | public function patch($bucket, $entity, BucketAccessControl $postBody,...
    method update (line 147) | public function update($bucket, $entity, BucketAccessControl $postBody...

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/Resource/Buckets.php
  class Buckets (line 36) | class Buckets extends \Google\Service\Resource
    method delete (line 53) | public function delete($bucket, $optParams = [])
    method get (line 82) | public function get($bucket, $optParams = [])
    method getIamPolicy (line 102) | public function getIamPolicy($bucket, $optParams = [])
    method getStorageLayout (line 122) | public function getStorageLayout($bucket, $optParams = [])
    method insert (line 148) | public function insert($project, Bucket $postBody, $optParams = [])
    method listBuckets (line 177) | public function listBuckets($project, $optParams = [])
    method lockRetentionPolicy (line 196) | public function lockRetentionPolicy($bucket, $ifMetagenerationMatch, $...
    method patch (line 227) | public function patch($bucket, Bucket $postBody, $optParams = [])
    method relocate (line 243) | public function relocate($bucket, RelocateBucketRequest $postBody, $op...
    method restore (line 262) | public function restore($bucket, $generation, $optParams = [])
    method setIamPolicy (line 280) | public function setIamPolicy($bucket, Policy $postBody, $optParams = [])
    method testIamPermissions (line 299) | public function testIamPermissions($bucket, $permissions, $optParams =...
    method update (line 330) | public function update($bucket, Bucket $postBody, $optParams = [])

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/Resource/Channels.php
  class Channels (line 30) | class Channels extends \Google\Service\Resource
    method stop (line 39) | public function stop(Channel $postBody, $optParams = [])

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/Resource/DefaultObjectAccessControls.php
  class DefaultObjectAccessControls (line 31) | class DefaultObjectAccessControls extends \Google\Service\Resource
    method delete (line 47) | public function delete($bucket, $entity, $optParams = [])
    method get (line 68) | public function get($bucket, $entity, $optParams = [])
    method insert (line 87) | public function insert($bucket, ObjectAccessControl $postBody, $optPar...
    method listDefaultObjectAccessControls (line 110) | public function listDefaultObjectAccessControls($bucket, $optParams = [])
    method patch (line 132) | public function patch($bucket, $entity, ObjectAccessControl $postBody,...
    method update (line 154) | public function update($bucket, $entity, ObjectAccessControl $postBody...

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/Resource/Folders.php
  class Folders (line 32) | class Folders extends \Google\Service\Resource
    method delete (line 48) | public function delete($bucket, $folder, $optParams = [])
    method get (line 71) | public function get($bucket, $folder, $optParams = [])
    method insert (line 90) | public function insert($bucket, Folder $postBody, $optParams = [])
    method listFolders (line 124) | public function listFolders($bucket, $optParams = [])
    method rename (line 148) | public function rename($bucket, $sourceFolder, $destinationFolder, $op...

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/Resource/ManagedFolders.php
  class ManagedFolders (line 33) | class ManagedFolders extends \Google\Service\Resource
    method delete (line 52) | public function delete($bucket, $managedFolder, $optParams = [])
    method get (line 74) | public function get($bucket, $managedFolder, $optParams = [])
    method getIamPolicy (line 96) | public function getIamPolicy($bucket, $managedFolder, $optParams = [])
    method insert (line 111) | public function insert($bucket, ManagedFolder $postBody, $optParams = [])
    method listManagedFolders (line 133) | public function listManagedFolders($bucket, $optParams = [])
    method setIamPolicy (line 153) | public function setIamPolicy($bucket, $managedFolder, Policy $postBody...
    method testIamPermissions (line 173) | public function testIamPermissions($bucket, $managedFolder, $permissio...

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/Resource/Notifications.php
  class Notifications (line 31) | class Notifications extends \Google\Service\Resource
    method delete (line 44) | public function delete($bucket, $notification, $optParams = [])
    method get (line 62) | public function get($bucket, $notification, $optParams = [])
    method insert (line 81) | public function insert($bucket, Notification $postBody, $optParams = [])
    method listNotifications (line 99) | public function listNotifications($bucket, $optParams = [])

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/Resource/ObjectAccessControls.php
  class ObjectAccessControls (line 31) | class ObjectAccessControls extends \Google\Service\Resource
    method delete (line 52) | public function delete($bucket, $object, $entity, $optParams = [])
    method get (line 78) | public function get($bucket, $object, $entity, $optParams = [])
    method insert (line 102) | public function insert($bucket, $object, ObjectAccessControl $postBody...
    method listObjectAccessControls (line 125) | public function listObjectAccessControls($bucket, $object, $optParams ...
    method patch (line 151) | public function patch($bucket, $object, $entity, ObjectAccessControl $...
    method update (line 177) | public function update($bucket, $object, $entity, ObjectAccessControl ...

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/Resource/Objects.php
  class Objects (line 38) | class Objects extends \Google\Service\Resource
    method bulkRestore (line 50) | public function bulkRestore($bucket, BulkRestoreObjectsRequest $postBo...
    method compose (line 84) | public function compose($destinationBucket, $destinationObject, Compos...
    method copy (line 151) | public function copy($sourceBucket, $sourceObject, $destinationBucket,...
    method delete (line 185) | public function delete($bucket, $object, $optParams = [])
    method get (line 227) | public function get($bucket, $object, $optParams = [])
    method getIamPolicy (line 249) | public function getIamPolicy($bucket, $object, $optParams = [])
    method insert (line 298) | public function insert($bucket, StorageObject $postBody, $optParams = [])
    method listObjects (line 354) | public function listObjects($bucket, $optParams = [])
    method move (line 419) | public function move($bucket, $sourceObject, $destinationObject, $optP...
    method patch (line 459) | public function patch($bucket, $object, StorageObject $postBody, $optP...
    method restore (line 500) | public function restore($bucket, $object, $generation, $optParams = [])
    method rewrite (line 577) | public function rewrite($sourceBucket, $sourceObject, $destinationBuck...
    method setIamPolicy (line 600) | public function setIamPolicy($bucket, $object, Policy $postBody, $optP...
    method testIamPermissions (line 624) | public function testIamPermissions($bucket, $object, $permissions, $op...
    method update (line 664) | public function update($bucket, $object, StorageObject $postBody, $opt...
    method watchAll (line 710) | public function watchAll($bucket, Channel $postBody, $optParams = [])

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/Resource/Operations.php
  class Operations (line 32) | class Operations extends \Google\Service\Resource
    method advanceRelocateBucket (line 47) | public function advanceRelocateBucket($bucket, $operationId, AdvanceRe...
    method cancel (line 63) | public function cancel($bucket, $operationId, $optParams = [])
    method get (line 78) | public function get($bucket, $operationId, $optParams = [])
    method listOperations (line 102) | public function listOperations($bucket, $optParams = [])

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/Resource/Projects.php
  class Projects (line 28) | class Projects extends \Google\Service\Resource

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/Resource/ProjectsHmacKeys.php
  class ProjectsHmacKeys (line 32) | class ProjectsHmacKeys extends \Google\Service\Resource
    method create (line 45) | public function create($projectId, $serviceAccountEmail, $optParams = [])
    method delete (line 61) | public function delete($projectId, $accessId, $optParams = [])
    method get (line 79) | public function get($projectId, $accessId, $optParams = [])
    method listProjectsHmacKeys (line 108) | public function listProjectsHmacKeys($projectId, $optParams = [])
    method update (line 129) | public function update($projectId, $accessId, HmacKeyMetadata $postBod...

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/Resource/ProjectsServiceAccount.php
  class ProjectsServiceAccount (line 30) | class ProjectsServiceAccount extends \Google\Service\Resource
    method get (line 43) | public function get($projectId, $optParams = [])

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/RewriteResponse.php
  class RewriteResponse (line 20) | class RewriteResponse extends \Google\Model
    method setDone (line 65) | public function setDone($done)
    method getDone (line 72) | public function getDone()
    method setKind (line 81) | public function setKind($kind)
    method getKind (line 88) | public function getKind()
    method setObjectSize (line 98) | public function setObjectSize($objectSize)
    method getObjectSize (line 105) | public function getObjectSize()
    method setResource (line 115) | public function setResource(StorageObject $resource)
    method getResource (line 122) | public function getResource()
    method setRewriteToken (line 132) | public function setRewriteToken($rewriteToken)
    method getRewriteToken (line 139) | public function getRewriteToken()
    method setTotalBytesRewritten (line 149) | public function setTotalBytesRewritten($totalBytesRewritten)
    method getTotalBytesRewritten (line 156) | public function getTotalBytesRewritten()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/ServiceAccount.php
  class ServiceAccount (line 20) | class ServiceAccount extends \Google\Model
    method setEmailAddress (line 44) | public function setEmailAddress($emailAddress)
    method getEmailAddress (line 51) | public function getEmailAddress()
    method setKind (line 61) | public function setKind($kind)
    method getKind (line 68) | public function getKind()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/StorageObject.php
  class StorageObject (line 20) | class StorageObject extends \Google\Collection
    method setAcl (line 282) | public function setAcl($acl)
    method getAcl (line 289) | public function getAcl()
    method setBucket (line 298) | public function setBucket($bucket)
    method getBucket (line 305) | public function getBucket()
    method setCacheControl (line 316) | public function setCacheControl($cacheControl)
    method getCacheControl (line 323) | public function getCacheControl()
    method setComponentCount (line 333) | public function setComponentCount($componentCount)
    method getComponentCount (line 340) | public function getComponentCount()
    method setContentDisposition (line 349) | public function setContentDisposition($contentDisposition)
    method getContentDisposition (line 356) | public function getContentDisposition()
    method setContentEncoding (line 365) | public function setContentEncoding($contentEncoding)
    method getContentEncoding (line 372) | public function getContentEncoding()
    method setContentLanguage (line 381) | public function setContentLanguage($contentLanguage)
    method getContentLanguage (line 388) | public function getContentLanguage()
    method setContentType (line 398) | public function setContentType($contentType)
    method getContentType (line 405) | public function getContentType()
    method setContexts (line 416) | public function setContexts(StorageObjectContexts $contexts)
    method getContexts (line 423) | public function getContexts()
    method setCrc32c (line 435) | public function setCrc32c($crc32c)
    method getCrc32c (line 442) | public function getCrc32c()
    method setCustomTime (line 451) | public function setCustomTime($customTime)
    method getCustomTime (line 458) | public function getCustomTime()
    method setCustomerEncryption (line 468) | public function setCustomerEncryption(StorageObjectCustomerEncryption ...
    method getCustomerEncryption (line 475) | public function getCustomerEncryption()
    method setEtag (line 484) | public function setEtag($etag)
    method getEtag (line 491) | public function getEtag()
    method setEventBasedHold (line 510) | public function setEventBasedHold($eventBasedHold)
    method getEventBasedHold (line 517) | public function getEventBasedHold()
    method setGeneration (line 526) | public function setGeneration($generation)
    method getGeneration (line 533) | public function getGeneration()
    method setHardDeleteTime (line 544) | public function setHardDeleteTime($hardDeleteTime)
    method getHardDeleteTime (line 551) | public function getHardDeleteTime()
    method setId (line 561) | public function setId($id)
    method getId (line 568) | public function getId()
    method setKind (line 577) | public function setKind($kind)
    method getKind (line 584) | public function getKind()
    method setKmsKeyName (line 594) | public function setKmsKeyName($kmsKeyName)
    method getKmsKeyName (line 601) | public function getKmsKeyName()
    method setMd5Hash (line 612) | public function setMd5Hash($md5Hash)
    method getMd5Hash (line 619) | public function getMd5Hash()
    method setMediaLink (line 628) | public function setMediaLink($mediaLink)
    method getMediaLink (line 635) | public function getMediaLink()
    method setMetadata (line 644) | public function setMetadata($metadata)
    method getMetadata (line 651) | public function getMetadata()
    method setMetageneration (line 663) | public function setMetageneration($metageneration)
    method getMetageneration (line 670) | public function getMetageneration()
    method setName (line 679) | public function setName($name)
    method getName (line 686) | public function getName()
    method setOwner (line 695) | public function setOwner(StorageObjectOwner $owner)
    method getOwner (line 702) | public function getOwner()
    method setRestoreToken (line 713) | public function setRestoreToken($restoreToken)
    method getRestoreToken (line 720) | public function getRestoreToken()
    method setRetention (line 729) | public function setRetention(StorageObjectRetention $retention)
    method getRetention (line 736) | public function getRetention()
    method setRetentionExpirationTime (line 751) | public function setRetentionExpirationTime($retentionExpirationTime)
    method getRetentionExpirationTime (line 758) | public function getRetentionExpirationTime()
    method setSelfLink (line 767) | public function setSelfLink($selfLink)
    method getSelfLink (line 774) | public function getSelfLink()
    method setSize (line 783) | public function setSize($size)
    method getSize (line 790) | public function getSize()
    method setSoftDeleteTime (line 799) | public function setSoftDeleteTime($softDeleteTime)
    method getSoftDeleteTime (line 806) | public function getSoftDeleteTime()
    method setStorageClass (line 815) | public function setStorageClass($storageClass)
    method getStorageClass (line 822) | public function getStorageClass()
    method setTemporaryHold (line 835) | public function setTemporaryHold($temporaryHold)
    method getTemporaryHold (line 842) | public function getTemporaryHold()
    method setTimeCreated (line 851) | public function setTimeCreated($timeCreated)
    method getTimeCreated (line 858) | public function getTimeCreated()
    method setTimeDeleted (line 868) | public function setTimeDeleted($timeDeleted)
    method getTimeDeleted (line 875) | public function getTimeDeleted()
    method setTimeFinalized (line 884) | public function setTimeFinalized($timeFinalized)
    method getTimeFinalized (line 891) | public function getTimeFinalized()
    method setTimeStorageClassUpdated (line 901) | public function setTimeStorageClassUpdated($timeStorageClassUpdated)
    method getTimeStorageClassUpdated (line 908) | public function getTimeStorageClassUpdated()
    method setUpdated (line 922) | public function setUpdated($updated)
    method getUpdated (line 929) | public function getUpdated()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/StorageObjectContexts.php
  class StorageObjectContexts (line 20) | class StorageObjectContexts extends \Google\Model
    method setCustom (line 30) | public function setCustom($custom)
    method getCustom (line 37) | public function getCustom()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/StorageObjectCustomerEncryption.php
  class StorageObjectCustomerEncryption (line 20) | class StorageObjectCustomerEncryption extends \Google\Model
    method setEncryptionAlgorithm (line 40) | public function setEncryptionAlgorithm($encryptionAlgorithm)
    method getEncryptionAlgorithm (line 47) | public function getEncryptionAlgorithm()
    method setKeySha256 (line 56) | public function setKeySha256($keySha256)
    method getKeySha256 (line 63) | public function getKeySha256()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/StorageObjectOwner.php
  class StorageObjectOwner (line 20) | class StorageObjectOwner extends \Google\Model
    method setEntity (line 40) | public function setEntity($entity)
    method getEntity (line 47) | public function getEntity()
    method setEntityId (line 56) | public function setEntityId($entityId)
    method getEntityId (line 63) | public function getEntityId()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/StorageObjectRetention.php
  class StorageObjectRetention (line 20) | class StorageObjectRetention extends \Google\Model
    method setMode (line 41) | public function setMode($mode)
    method getMode (line 48) | public function getMode()
    method setRetainUntilTime (line 58) | public function setRetainUntilTime($retainUntilTime)
    method getRetainUntilTime (line 65) | public function getRetainUntilTime()

FILE: lib/Google/vendor/google/apiclient-services/src/Storage/TestIamPermissionsResponse.php
  class TestIamPermissionsResponse (line 20) | class TestIamPermissionsResponse extends \Google\Collection
    method setKind (line 59) | public function setKind($kind)
    method getKind (line 66) | public function getKind()
    method setPermissions (line 93) | public function setPermissions($permissions)
    method getPermissions (line 100) | public function getPermissions()

FILE: lib/Google/vendor/google/auth/src/AccessToken.php
  class AccessToken (line 48) | class AccessToken
    method __construct (line 71) | public function __construct(
    method verify (line 110) | public function verify($token, array $options = [])
    method determineAlg (line 153) | private function determineAlg(array $certs)
    method verifyEs256 (line 185) | private function verifyEs256($token, array $certs, $audience = null, $...
    method verifyRs256 (line 225) | private function verifyRs256($token, array $certs, $audience = null, $...
    method revoke (line 275) | public function revoke($token, array $options = [])
    method getCerts (line 309) | private function getCerts($location, $cacheKey, array $options = [])
    method retrieveCertsFromLocation (line 350) | private function retrieveCertsFromLocation($url, array $options = [])
    method checkAndInitializePhpsec (line 395) | private function checkAndInitializePhpsec()
    method loadPhpsecPublicKey (line 406) | private function loadPhpsecPublicKey(string $modulus, string $exponent...
    method checkSimpleJwt (line 426) | private function checkSimpleJwt()
    method callJwtStatic (line 442) | protected function callJwtStatic($method, array $args = [])
    method callSimpleJwtDecode (line 453) | protected function callSimpleJwtDecode(array $args = [])
    method getCacheKeyFromCertLocation (line 465) | private function getCacheKeyFromCertLocation($certsLocation)

FILE: lib/Google/vendor/google/auth/src/ApplicationDefaultCredentials.php
  class ApplicationDefaultCredentials (line 74) | class ApplicationDefaultCredentials
    method getSubscriber (line 96) | public static function getSubscriber(// @phpstan-ignore-line
    method getMiddleware (line 126) | public static function getMiddleware(
    method getCredentials (line 160) | public static function getCredentials(
    method getIdTokenMiddleware (line 233) | public static function getIdTokenMiddleware(
    method getProxyIdTokenMiddleware (line 260) | public static function getProxyIdTokenMiddleware(
    method getIdTokenCredentials (line 285) | public static function getIdTokenCredentials(
    method getDefaultLogger (line 336) | public static function getDefaultLogger(): null|LoggerInterface
    method notFound (line 362) | private static function notFound()
    method onGce (line 377) | private static function onGce(

FILE: lib/Google/vendor/google/auth/src/Cache/FileSystemCacheItemPool.php
  class FileSystemCacheItemPool (line 24) | class FileSystemCacheItemPool implements CacheItemPoolInterface
    method __construct (line 41) | public function __construct(string $path)
    method getItem (line 59) | public function getItem(string $key): CacheItemInterface
    method getItems (line 93) | public function getItems(array $keys = []): iterable
    method save (line 107) | public function save(CacheItemInterface $item): bool
    method hasItem (line 129) | public function hasItem(string $key): bool
    method clear (line 137) | public function clear(): bool
    method deleteItem (line 166) | public function deleteItem(string $key): bool
    method deleteItems (line 184) | public function deleteItems(array $keys): bool
    method saveDeferred (line 200) | public function saveDeferred(CacheItemInterface $item): bool
    method commit (line 210) | public function commit(): bool
    method cacheFilePath (line 223) | private function cacheFilePath(string $key): string
    method validKey (line 228) | private function validKey(string $key): bool

FILE: lib/Google/vendor/google/auth/src/Cache/InvalidArgumentException.php
  class InvalidArgumentException (line 22) | class InvalidArgumentException extends \InvalidArgumentException impleme...

FILE: lib/Google/vendor/google/auth/src/Cache/MemoryCacheItemPool.php
  class MemoryCacheItemPool (line 26) | final class MemoryCacheItemPool implements CacheItemPoolInterface
    method getItem (line 43) | public function getItem($key): CacheItemInterface
    method getItems (line 57) | public function getItems(array $keys = []): iterable
    method hasItem (line 73) | public function hasItem($key): bool
    method clear (line 86) | public function clear(): bool
    method deleteItem (line 100) | public function deleteItem($key): bool
    method deleteItems (line 111) | public function deleteItems(array $keys): bool
    method save (line 128) | public function save(CacheItemInterface $item): bool
    method saveDeferred (line 141) | public function saveDeferred(CacheItemInterface $item): bool
    method commit (line 154) | public function commit(): bool
    method isValidKey (line 172) | private function isValidKey($key)

FILE: lib/Google/vendor/google/auth/src/Cache/SysVCacheItemPool.php
  class SysVCacheItemPool (line 31) | class SysVCacheItemPool implements CacheItemPoolInterface
    method __construct (line 96) | public function __construct($options = [])
    method getItem (line 126) | public function getItem($key): CacheItemInterface
    method getItems (line 136) | public function getItems(array $keys = []): iterable
    method hasItem (line 151) | public function hasItem($key): bool
    method clear (line 160) | public function clear(): bool
    method deleteItem (line 178) | public function deleteItem($key): bool
    method deleteItems (line 186) | public function deleteItems(array $keys): bool
    method save (line 209) | public function save(CacheItemInterface $item): bool
    method saveDeferred (line 228) | public function saveDeferred(CacheItemInterface $item): bool
    method commit (line 237) | public function commit(): bool
    method saveCurrentItems (line 259) | private function saveCurrentItems()
    method loadItems (line 284) | private function loadItems()
    method acquireLock (line 302) | private function acquireLock(): bool
    method releaseLock (line 324) | private function releaseLock(): bool
    method resetShm (line 334) | private function resetShm(): void
    method attachShm (line 344) | private function attachShm(): SysvSharedMemory|false

FILE: lib/Google/vendor/google/auth/src/Cache/TypedItem.php
  class TypedItem (line 29) | final class TypedItem implements CacheItemInterface
    method __construct (line 49) | public function __construct(
    method getKey (line 59) | public function getKey(): string
    method get (line 67) | public function get(): mixed
    method isHit (line 75) | public function isHit(): bool
    method set (line 91) | public function set(mixed $value): static
    method expiresAt (line 102) | public function expiresAt($expiration): static
    method expiresAfter (line 122) | public function expiresAfter($time): static
    method isValidExpiration (line 147) | private function isValidExpiration($expiration)
    method currentTime (line 166) | protected function currentTime()

FILE: lib/Google/vendor/google/auth/src/CacheTrait.php
  type CacheTrait (line 22) | trait CacheTrait
    method getCachedValue (line 47) | private function getCachedValue($k)
    method setCachedValue (line 71) | private function setCachedValue($k, $v)
    method getFullCacheKey (line 92) | private function getFullCacheKey($key)

FILE: lib/Google/vendor/google/auth/src/CredentialSource/AwsNativeSource.php
  class AwsNativeSource (line 28) | class AwsNativeSource implements ExternalAccountCredentialSourceInterface
    method __construct (line 50) | public function __construct(
    method fetchSubjectToken (line 64) | public function fetchSubjectToken(?callable $httpHandler = null): string
    method getImdsV2SessionToken (line 124) | public static function getImdsV2SessionToken(string $imdsV2Url, callab...
    method getSignedRequestHeaders (line 146) | public static function getSignedRequestHeaders(
    method getRegionFromEnv (line 238) | public static function getRegionFromEnv(): ?string
    method getRegionFromUrl (line 254) | public static function getRegionFromUrl(callable $httpHandler, string ...
    method getRoleName (line 272) | public static function getRoleName(callable $httpHandler, string $secu...
    method getSigningVarsFromUrl (line 290) | public static function getSigningVarsFromUrl(
    method getSigningVarsFromEnv (line 316) | public static function getSigningVarsFromEnv(): ?array
    method getCacheKey (line 338) | public function getCacheKey(): string
    method hmacSign (line 349) | private static function hmacSign(string $key, string $msg): string
    method utf8Encode (line 357) | private static function utf8Encode(string $string): string
    method getSignatureKey (line 362) | private static function getSignatureKey(

FILE: lib/Google/vendor/google/auth/src/CredentialSource/ExecutableSource.php
  class ExecutableSource (line 78) | class ExecutableSource implements ExternalAccountCredentialSourceInterface
    method __construct (line 93) | public function __construct(
    method getCacheKey (line 110) | public function getCacheKey(): ?string
    method fetchSubjectToken (line 121) | public function fetchSubjectToken(?callable $httpHandler = null): string
    method getCachedExecutableResponse (line 168) | private function getCachedExecutableResponse(): ?array
    method parseExecutableResponse (line 203) | private function parseExecutableResponse(string $response): array

FILE: lib/Google/vendor/google/auth/src/CredentialSource/FileSource.php
  class FileSource (line 27) | class FileSource implements ExternalAccountCredentialSourceInterface
    method __construct (line 39) | public function __construct(
    method fetchSubjectToken (line 56) | public function fetchSubjectToken(?callable $httpHandler = null): string
    method getCacheKey (line 83) | public function getCacheKey(): ?string

FILE: lib/Google/vendor/google/auth/src/CredentialSource/UrlSource.php
  class UrlSource (line 30) | class UrlSource implements ExternalAccountCredentialSourceInterface
    method __construct (line 48) | public function __construct(
    method fetchSubjectToken (line 67) | public function fetchSubjectToken(?callable $httpHandler = null): string
    method getCacheKey (line 105) | public function getCacheKey(): ?string

FILE: lib/Google/vendor/google/auth/src/Credentials/AppIdentityCredentials.php
  class AppIdentityCredentials (line 59) | class AppIdentityCredentials extends CredentialsLoader implements
    method __construct (line 85) | public function __construct($scope = [])
    method onAppEngine (line 97) | public static function onAppEngine()
    method fetchAuthToken (line 127) | public function fetchAuthToken(?callable $httpHandler = null)
    method signBlob (line 151) | public function signBlob($stringToSign, $forceOpenSsl = false)
    method getProjectId (line 167) | public function getProjectId(?callable $httpHandler = null)
    method getClientName (line 188) | public function getClientName(?callable $httpHandler = null)
    method getLastReceivedToken (line 203) | public function getLastReceivedToken()
    method getCacheKey (line 221) | public function getCacheKey()
    method checkAppEngineContext (line 229) | private function checkAppEngineContext()

FILE: lib/Google/vendor/google/auth/src/Credentials/ExternalAccountCredentials.php
  class ExternalAccountCredentials (line 47) | class ExternalAccountCredentials implements
    method __construct (line 73) | public function __construct(
    method buildCredentialSource (line 139) | private static function buildCredentialSource(array $jsonKey): Externa...
    method getImpersonatedAccessToken (line 234) | private function getImpersonatedAccessToken(string $stsToken, ?callabl...
    method fetchAuthToken (line 279) | public function fetchAuthToken(?callable $httpHandler = null, array $h...
    method getCacheKey (line 302) | public function getCacheKey(): ?string
    method getLastReceivedToken (line 316) | public function getLastReceivedToken()
    method getQuotaProject (line 326) | public function getQuotaProject()
    method getUniverseDomain (line 336) | public function getUniverseDomain(): string
    method getProjectId (line 350) | public function getProjectId(?callable $httpHandler = null, ?string $a...
    method getProjectNumber (line 382) | private function getProjectNumber(): ?string
    method isWorkforcePool (line 389) | private function isWorkforcePool(): bool

FILE: lib/Google/vendor/google/auth/src/Credentials/GCECredentials.php
  class GCECredentials (line 61) | class GCECredentials extends CredentialsLoader implements
    method __construct (line 213) | public function __construct(
    method getTokenUri (line 257) | public static function getTokenUri($serviceAccountIdentity = null)
    method getClientNameUri (line 279) | public static function getClientNameUri($serviceAccountIdentity = null)
    method getIdTokenUri (line 302) | private static function getIdTokenUri($serviceAccountIdentity = null)
    method getProjectIdUri (line 323) | private static function getProjectIdUri()
    method getUniverseDomainUri (line 335) | private static function getUniverseDomainUri()
    method onAppEngineFlexible (line 348) | public static function onAppEngineFlexible()
    method onGce (line 361) | public static function onGce(?callable $httpHandler = null)
    method detectResidencyLinux (line 407) | private static function detectResidencyLinux(string $productNameFile):...
    method detectResidencyWindows (line 416) | private static function detectResidencyWindows(string $registryProduct...
    method fetchAuthToken (line 458) | public function fetchAuthToken(?callable $httpHandler = null, array $h...
    method getCacheKey (line 500) | public function getCacheKey()
    method getLastReceivedToken (line 508) | public function getLastReceivedToken()
    method getClientName (line 532) | public function getClientName(?callable $httpHandler = null)
    method getProjectId (line 566) | public function getProjectId(?callable $httpHandler = null)
    method getUniverseDomain (line 594) | public function getUniverseDomain(?callable $httpHandler = null): string
    method getFromMetadata (line 642) | private function getFromMetadata(callable $httpHandler, $uri, array $h...
    method getQuotaProject (line 660) | public function getQuotaProject()
    method setIsOnGce (line 672) | public function setIsOnGce($isOnGce)
    method getCredType (line 681) | protected function getCredType(): string

FILE: lib/Google/vendor/google/auth/src/Credentials/IAMCredentials.php
  class IAMCredentials (line 23) | class IAMCredentials
    method __construct (line 42) | public function __construct($selector, $token)
    method getUpdateMetadataFunc (line 64) | public function getUpdateMetadataFunc()
    method updateMetadata (line 80) | public function updateMetadata(

FILE: lib/Google/vendor/google/auth/src/Credentials/ImpersonatedServiceAccountCredentials.php
  class ImpersonatedServiceAccountCredentials (line 42) | class ImpersonatedServiceAccountCredentials extends CredentialsLoader im...
    method __construct (line 93) | public function __construct(
    method getImpersonatedServiceAccountNameFromUrl (line 164) | private function getImpersonatedServiceAccountNameFromUrl(
    method getClientName (line 181) | public function getClientName(?callable $unusedHttpHandler = null)
    method fetchAuthToken (line 199) | public function fetchAuthToken(?callable $httpHandler = null)
    method getCacheKey (line 270) | public function getCacheKey()
    method getLastReceivedToken (line 280) | public function getLastReceivedToken()
    method getCredType (line 285) | protected function getCredType(): string
    method isIdTokenRequest (line 290) | private function isIdTokenRequest(): bool
    method getUniverseDomain (line 295) | public function getUniverseDomain(): string

FILE: lib/Google/vendor/google/auth/src/Credentials/InsecureCredentials.php
  class InsecureCredentials (line 27) | class InsecureCredentials implements FetchAuthTokenInterface
    method fetchAuthToken (line 42) | public function fetchAuthToken(?callable $httpHandler = null)
    method getCacheKey (line 53) | public function getCacheKey()
    method getLastReceivedToken (line 64) | public function getLastReceivedToken()

FILE: lib/Google/vendor/google/auth/src/Credentials/ServiceAccountCredentials.php
  class ServiceAccountCredentials (line 63) | class ServiceAccountCredentials extends CredentialsLoader implements
    method __construct (line 134) | public function __construct(
    method useJwtAccessWithScope (line 197) | public function useJwtAccessWithScope()
    method fetchAuthToken (line 215) | public function fetchAuthToken(?callable $httpHandler = null, array $h...
    method getCacheKey (line 267) | public function getCacheKey()
    method getLastReceivedToken (line 285) | public function getLastReceivedToken()
    method getProjectId (line 302) | public function getProjectId(?callable $httpHandler = null)
    method updateMetadata (line 315) | public function updateMetadata(
    method createJwtAccessCredentials (line 344) | private function createJwtAccessCredentials()
    method setSub (line 366) | public function setSub($sub)
    method getClientName (line 379) | public function getClientName(?callable $httpHandler = null)
    method getPrivateKey (line 391) | public function getPrivateKey()
    method getQuotaProject (line 401) | public function getQuotaProject()
    method getUniverseDomain (line 411) | public function getUniverseDomain(): string
    method getCredType (line 416) | protected function getCredType(): string
    method useSelfSignedJwt (line 424) | private function useSelfSignedJwt()

FILE: lib/Google/vendor/google/auth/src/Credentials/ServiceAccountJwtAccessCredentials.php
  class ServiceAccountJwtAccessCredentials (line 36) | class ServiceAccountJwtAccessCredentials extends CredentialsLoader imple...
    method __construct (line 77) | public function __construct($jsonKey, $scope = null)
    method updateMetadata (line 120) | public function updateMetadata(
    method fetchAuthToken (line 142) | public function fetchAuthToken(?callable $httpHandler = null)
    method getCacheKey (line 176) | public function getCacheKey()
    method getLastReceivedToken (line 189) | public function getLastReceivedToken()
    method getProjectId (line 202) | public function getProjectId(?callable $httpHandler = null)
    method getClientName (line 215) | public function getClientName(?callable $httpHandler = null)
    method getPrivateKey (line 227) | public function getPrivateKey()
    method getQuotaProject (line 237) | public function getQuotaProject()
    method getCredType (line 242) | protected function getCredType(): string

FILE: lib/Google/vendor/google/auth/src/Credentials/UserRefreshCredentials.php
  class UserRefreshCredentials (line 37) | class UserRefreshCredentials extends CredentialsLoader implements GetQuo...
    method __construct (line 75) | public function __construct(
    method fetchAuthToken (line 144) | public function fetchAuthToken(?callable $httpHandler = null, array $h...
    method getCacheKey (line 160) | public function getCacheKey()
    method getLastReceivedToken (line 173) | public function getLastReceivedToken()
    method getQuotaProject (line 183) | public function getQuotaProject()
    method getGrantedScope (line 193) | public function getGrantedScope()
    method getCredType (line 198) | protected function getCredType(): string

FILE: lib/Google/vendor/google/auth/src/CredentialsLoader.php
  class CredentialsLoader (line 32) | abstract class CredentialsLoader implements
    method unableToReadEnv (line 51) | private static function unableToReadEnv($cause)
    method isOnWindows (line 63) | private static function isOnWindows()
    method fromEnv (line 77) | public static function fromEnv()
    method fromWellKnownFile (line 104) | public static function fromWellKnownFile()
    method makeCredentials (line 157) | public static function makeCredentials(
    method makeHttpClient (line 197) | public static function makeHttpClient(
    method makeInsecureCredentials (line 222) | public static function makeInsecureCredentials()
    method quotaProjectFromEnv (line 234) | public static function quotaProjectFromEnv()
    method getDefaultClientCertSource (line 245) | public static function getDefaultClientCertSource()
    method shouldLoadClientCertSource (line 270) | public static function shouldLoadClientCertSource()
    method loadDefaultClientCertSourceFile (line 278) | private static function loadDefaultClientCertSourceFile()
    method getUniverseDomain (line 309) | public function getUniverseDomain(): string
    method getEnv (line 314) | private static function getEnv(string $env): mixed

FILE: lib/Google/vendor/google/auth/src/ExecutableHandler/ExecutableHandler.php
  class ExecutableHandler (line 23) | class ExecutableHandler
    method __construct (line 37) | public function __construct(
    method __invoke (line 55) | public function __invoke(string $command): int
    method getOutput (line 79) | public function getOutput(): ?string

FILE: lib/Google/vendor/google/auth/src/ExecutableHandler/ExecutableResponseError.php
  class ExecutableResponseError (line 21) | class ExecutableResponseError extends Error
    method __construct (line 23) | public function __construct(string $message, string $executableErrorCo...

FILE: lib/Google/vendor/google/auth/src/ExternalAccountCredentialSourceInterface.php
  type ExternalAccountCredentialSourceInterface (line 20) | interface ExternalAccountCredentialSourceInterface
    method fetchSubjectToken (line 22) | public function fetchSubjectToken(?callable $httpHandler = null): string;
    method getCacheKey (line 23) | public function getCacheKey(): ?string;

FILE: lib/Google/vendor/google/auth/src/FetchAuthTokenCache.php
  class FetchAuthTokenCache (line 26) | class FetchAuthTokenCache implements
    method __construct (line 51) | public function __construct(
    method getFetcher (line 68) | public function getFetcher()
    method fetchAuthToken (line 83) | public function fetchAuthToken(?callable $httpHandler = null)
    method getCacheKey (line 99) | public function getCacheKey()
    method getLastReceivedToken (line 107) | public function getLastReceivedToken()
    method getClientName (line 118) | public function getClientName(?callable $httpHandler = null)
    method signBlob (line 141) | public function signBlob($stringToSign, $forceOpenSsl = false)
    method getQuotaProject (line 170) | public function getQuotaProject()
    method getProjectId (line 187) | public function getProjectId(?callable $httpHandler = null)
    method getUniverseDomain (line 213) | public function getUniverseDomain(): string
    method updateMetadata (line 235) | public function updateMetadata(
    method fetchAuthTokenFromCache (line 280) | private function fetchAuthTokenFromCache($authUri = null)
    method saveAuthTokenInCache (line 315) | private function saveAuthTokenInCache($authToken, $authUri = null)
    method getCachedUniverseDomain (line 328) | private function getCachedUniverseDomain(GetUniverseDomainInterface $f...

FILE: lib/Google/vendor/google/auth/src/FetchAuthTokenInterface.php
  type FetchAuthTokenInterface (line 23) | interface FetchAuthTokenInterface
    method fetchAuthToken (line 31) | public function fetchAuthToken(?callable $httpHandler = null);
    method getCacheKey (line 40) | public function getCacheKey();
    method getLastReceivedToken (line 53) | public function getLastReceivedToken();

FILE: lib/Google/vendor/google/auth/src/GCECache.php
  class GCECache (line 38) | class GCECache
    method __construct (line 48) | public function __construct(
    method onGce (line 66) | public function onGce(?callable $httpHandler = null)

FILE: lib/Google/vendor/google/auth/src/GetQuotaProjectInterface.php
  type GetQuotaProjectInterface (line 23) | interface GetQuotaProjectInterface
    method getQuotaProject (line 32) | public function getQuotaProject();

FILE: lib/Google/vendor/google/auth/src/GetUniverseDomainInterface.php
  type GetUniverseDomainInterface (line 23) | interface GetUniverseDomainInterface
    method getUniverseDomain (line 34) | public function getUniverseDomain(): string;

FILE: lib/Google/vendor/google/auth/src/HttpHandler/Guzzle6HttpHandler.php
  class Guzzle6HttpHandler (line 26) | class Guzzle6HttpHandler
    method __construct (line 44) | public function __construct(ClientInterface $client, ?LoggerInterface ...
    method __invoke (line 57) | public function __invoke(RequestInterface $request, array $options = [])
    method async (line 82) | public function async(RequestInterface $request, array $options = [])
    method requestLog (line 107) | public function requestLog(RequestInterface $request, array $options):...
    method responseLog (line 128) | public function responseLog(ResponseInterface $response, RpcLogEvent $...

FILE: lib/Google/vendor/google/auth/src/HttpHandler/Guzzle7HttpHandler.php
  class Guzzle7HttpHandler (line 19) | class Guzzle7HttpHandler extends Guzzle6HttpHandler

FILE: lib/Google/vendor/google/auth/src/HttpHandler/HttpClientCache.php
  class HttpClientCache (line 25) | class HttpClientCache
    method setHttpClient (line 40) | public static function setHttpClient(?ClientInterface $client = null)
    method getHttpClient (line 50) | public static function getHttpClient()

FILE: lib/Google/vendor/google/auth/src/HttpHandler/HttpHandlerFactory.php
  class HttpHandlerFactory (line 27) | class HttpHandlerFactory
    method build (line 37) | public static function build(

FILE: lib/Google/vendor/google/auth/src/Iam.php
  class Iam (line 30) | class Iam
    method __construct (line 51) | public function __construct(
    method signBlob (line 75) | public function signBlob($email, $accessToken, $stringToSign, array $d...
    method generateIdToken (line 125) | public function generateIdToken(

FILE: lib/Google/vendor/google/auth/src/IamSignerTrait.php
  type IamSignerTrait (line 25) | trait IamSignerTrait
    method signBlob (line 48) | public function signBlob($stringToSign, $forceOpenSsl = false, $access...

FILE: lib/Google/vendor/google/auth/src/Logging/LoggingTrait.php
  type LoggingTrait (line 27) | trait LoggingTrait
    method logRequest (line 32) | private function logRequest(RpcLogEvent $event): void
    method logResponse (line 69) | private function logResponse(RpcLogEvent $event): void
    method getJwtToken (line 103) | private function getJwtToken(array $headers): null|array
    method truncatePayload (line 128) | private function truncatePayload(null|string $payload): null|string

FILE: lib/Google/vendor/google/auth/src/Logging/RpcLogEvent.php
  class RpcLogEvent (line 25) | class RpcLogEvent
    method __construct (line 125) | public function __construct(null|float $startTime = null)

FILE: lib/Google/vendor/google/auth/src/Logging/StdOutLogger.php
  class StdOutLogger (line 31) | class StdOutLogger implements LoggerInterface
    method __construct (line 55) | public function __construct(string $level = LogLevel::DEBUG)
    method log (line 63) | public function log($level, string|Stringable $message, array $context...
    method getLevelFromName (line 77) | private function getLevelFromName(string $levelName): int

FILE: lib/Google/vendor/google/auth/src/MetricsTrait.php
  type MetricsTrait (line 26) | trait MetricsTrait
    method getMetricsHeader (line 47) | protected static function getMetricsHeader(
    method applyServiceApiUsageMetrics (line 72) | protected function applyServiceApiUsageMetrics($metadata)
    method applyTokenEndpointMetrics (line 98) | protected function applyTokenEndpointMetrics($metadata, $authRequestType)
    method getVersion (line 107) | protected static function getVersion(): string
    method getCredType (line 116) | protected function getCredType(): string

FILE: lib/Google/vendor/google/auth/src/Middleware/AuthTokenMiddleware.php
  class AuthTokenMiddleware (line 38) | class AuthTokenMiddleware
    method __construct (line 65) | public function __construct(
    method __invoke (line 100) | public function __invoke(callable $handler)
    method addAuthHeaders (line 127) | private function addAuthHeaders(RequestInterface $request)
    method getQuotaProject (line 155) | private function getQuotaProject()

FILE: lib/Google/vendor/google/auth/src/Middleware/ProxyAuthTokenMiddleware.php
  class ProxyAuthTokenMiddleware (line 35) | class ProxyAuthTokenMiddleware
    method __construct (line 59) | public function __construct(
    method __invoke (line 94) | public function __invoke(callable $handler)
    method fetchToken (line 120) | private function fetchToken()
    method getQuotaProject (line 147) | private function getQuotaProject()

FILE: lib/Google/vendor/google/auth/src/Middleware/ScopedAccessTokenMiddleware.php
  class ScopedAccessTokenMiddleware (line 36) | class ScopedAccessTokenMiddleware
    method __construct (line 60) | public function __construct(
    method __invoke (line 115) | public function __invoke(callable $handler)
    method getCacheKey (line 132) | private function getCacheKey()
    method fetchToken (line 151) | private function fetchToken()

FILE: lib/Google/vendor/google/auth/src/Middleware/SimpleMiddleware.php
  class SimpleMiddleware (line 29) | class SimpleMiddleware
    method __construct (line 44) | public function __construct(array $config)
    method __invoke (line 76) | public function __invoke(callable $handler)

FILE: lib/Google/vendor/google/auth/src/OAuth2.php
  class OAuth2 (line 39) | class OAuth2 implements FetchAuthTokenInterface
    method __construct (line 422) | public function __construct(array $config)
    method verifyIdToken (line 508) | public function verifyIdToken($publicKey = null, $allowed_algs = [])
    method toJwt (line 532) | public function toJwt(array $config = [])
    method generateCredentialsRequest (line 589) | public function generateCredentialsRequest(?callable $httpHandler = nu...
    method fetchAuthToken (line 672) | public function fetchAuthToken(?callable $httpHandler = null, array $h...
    method getCacheKey (line 697) | public function getCacheKey()
    method getSubjectTokenFetcher (line 716) | public function getSubjectTokenFetcher(): ?ExternalAccountCredentialSo...
    method parseTokenResponse (line 728) | public function parseTokenResponse(ResponseInterface $resp)
    method updateToken (line 783) | public function updateToken(array $config)
    method buildFullAuthorizationUri (line 827) | public function buildFullAuthorizationUri(array $config = [])
    method getCodeVerifier (line 883) | public function getCodeVerifier(): ?string
    method setCodeVerifier (line 900) | public function setCodeVerifier(?string $codeVerifier): void
    method generateCodeVerifier (line 915) | public function generateCodeVerifier(): string
    method getCodeChallenge (line 920) | private function getCodeChallenge(string $randomString): string
    method getCodeChallengeMethod (line 925) | private function getCodeChallengeMethod(): string
    method generateRandomString (line 930) | private function generateRandomString(int $length): string
    method setAuthorizationUri (line 949) | public function setAuthorizationUri($uri)
    method getAuthorizationUri (line 960) | public function getAuthorizationUri()
    method getTokenCredentialUri (line 971) | public function getTokenCredentialUri()
    method setTokenCredentialUri (line 983) | public function setTokenCredentialUri($uri)
    method getRedirectUri (line 993) | public function getRedirectUri()
    method setRedirectUri (line 1004) | public function setRedirectUri($uri)
    method getScope (line 1029) | public function getScope()
    method getSubjectTokenType (line 1043) | public function getSubjectTokenType(): ?string
    method setScope (line 1056) | public function setScope($scope)
    method getGrantType (line 1084) | public function getGrantType()
    method setGrantType (line 1122) | public function setGrantType($grantType)
    method getState (line 1142) | public function getState()
    method setState (line 1153) | public function setState($state)
    method getCode (line 1163) | public function getCode()
    method setCode (line 1174) | public function setCode($code)
    method getUsername (line 1184) | public function getUsername()
    method setUsername (line 1195) | public function setUsername($username)
    method getPassword (line 1205) | public function getPassword()
    method setPassword (line 1216) | public function setPassword($password)
    method getClientId (line 1227) | public function getClientId()
    method setClientId (line 1239) | public function setClientId($clientId)
    method getClientSecret (line 1250) | public function getClientSecret()
    method setClientSecret (line 1262) | public function setClientSecret($clientSecret)
    method getIssuer (line 1272) | public function getIssuer()
    method setIssuer (line 1283) | public function setIssuer($issuer)
    method getSub (line 1293) | public function getSub()
    method setSub (line 1304) | public function setSub($sub)
    method getAudience (line 1314) | public function getAudience()
    method setAudience (line 1325) | public function setAudience($audience)
    method getSigningKey (line 1335) | public function getSigningKey()
    method setSigningKey (line 1346) | public function setSigningKey($signingKey)
    method getSigningKeyId (line 1356) | public function getSigningKeyId()
    method setSigningKeyId (line 1367) | public function setSigningKeyId($signingKeyId)
    method getSigningAlgorithm (line 1377) | public function getSigningAlgorithm()
    method setSigningAlgorithm (line 1388) | public function setSigningAlgorithm($signingAlgorithm)
    method getExtensionParams (line 1405) | public function getExtensionParams()
    method setExtensionParams (line 1417) | public function setExtensionParams($extensionParams)
    method getExpiry (line 1427) | public function getExpiry()
    method setExpiry (line 1438) | public function setExpiry($expiry)
    method getExpiresIn (line 1448) | public function getExpiresIn()
    method setExpiresIn (line 1459) | public function setExpiresIn($expiresIn)
    method getExpiresAt (line 1475) | public function getExpiresAt()
    method isExpired (line 1493) | public function isExpired()
    method setExpiresAt (line 1507) | public function setExpiresAt($expiresAt)
    method getIssuedAt (line 1517) | public function getIssuedAt()
    method setIssuedAt (line 1528) | public function setIssuedAt($issuedAt)
    method getAccessToken (line 1538) | public function getAccessToken()
    method setAccessToken (line 1549) | public function setAccessToken($accessToken)
    method getIdToken (line 1559) | public function getIdToken()
    method setIdToken (line 1570) | public function setIdToken($idToken)
    method getGrantedScope (line 1581) | public function getGrantedScope()
    method setGrantedScope (line 1592) | public function setGrantedScope($grantedScope)
    method getRefreshToken (line 1602) | public function getRefreshToken()
    method setRefreshToken (line 1613) | public function setRefreshToken($refreshToken)
    method setAdditionalClaims (line 1624) | public function setAdditionalClaims(array $additionalClaims)
    method getAdditionalClaims (line 1634) | public function getAdditionalClaims()
    method getIssuedTokenType (line 1644) | public function getIssuedTokenType()
    method getLastReceivedToken (line 1654) | public function getLastReceivedToken()
    method getClientName (line 1693) | public function getClientName(?callable $httpHandler = null)
    method coerceUri (line 1704) | private function coerceUri($uri)
    method jwtDecode (line 1719) | private function jwtDecode($idToken, $publicKey, $allowedAlgs)
    method getFirebaseJwtKeys (line 1742) | private function getFirebaseJwtKeys($publicKey, $allowedAlgs)
    method isAbsoluteUri (line 1805) | private function isAbsoluteUri($uri)
    method addClientCredentials (line 1816) | private function addClientCredentials(&$params)

FILE: lib/Google/vendor/google/auth/src/ProjectIdProviderInterface.php
  type ProjectIdProviderInterface (line 23) | interface ProjectIdProviderInterface
    method getProjectId (line 31) | public function getProjectId(?callable $httpHandler = null);

FILE: lib/Google/vendor/google/auth/src/ServiceAccountSignerTrait.php
  type ServiceAccountSignerTrait (line 26) | trait ServiceAccountSignerTrait
    method signBlob (line 36) | public function signBlob($stringToSign, $forceOpenssl = false)

FILE: lib/Google/vendor/google/auth/src/SignBlobInterface.php
  type SignBlobInterface (line 23) | interface SignBlobInterface extends FetchAuthTokenInterface
    method signBlob (line 34) | public function signBlob($stringToSign, $forceOpenssl = false);
    method getClientName (line 43) | public function getClientName(?callable $httpHandler = null);

FILE: lib/Google/vendor/google/auth/src/UpdateMetadataInterface.php
  type UpdateMetadataInterface (line 24) | interface UpdateMetadataInterface
    method updateMetadata (line 36) | public function updateMetadata(

FILE: lib/Google/vendor/google/auth/src/UpdateMetadataTrait.php
  type UpdateMetadataTrait (line 27) | trait UpdateMetadataTrait
    method getUpdateMetadataFunc (line 37) | public function getUpdateMetadataFunc()
    method updateMetadata (line 50) | public function updateMetadata(

FILE: lib/Google/vendor/google/cloud-core/src/AnonymousCredentials.php
  class AnonymousCredentials (line 28) | class AnonymousCredentials implements
    method fetchAuthToken (line 46) | public function fetchAuthToken(?callable $httpHandler = null)
    method getCacheKey (line 57) | public function getCacheKey()
    method getLastReceivedToken (line 68) | public function getLastReceivedToken()
    method updateMetadata (line 81) | public function updateMetadata(
    method getQuotaProject (line 94) | public function getQuotaProject()

FILE: lib/Google/vendor/google/cloud-core/src/ApiHelperTrait.php
  type ApiHelperTrait (line 30) | trait ApiHelperTrait
    method formatStructForApi (line 43) | private function formatStructForApi(array $fields)
    method unpackStructFromApi (line 54) | private function unpackStructFromApi(array $struct)
    method unpackValue (line 63) | private function unpackValue($value)
    method flattenStruct (line 85) | private function flattenStruct(array $struct)
    method flattenValue (line 90) | private function flattenValue(array $value)
    method flattenListValue (line 103) | private function flattenListValue(array $value)
    method formatListForApi (line 114) | private function formatListForApi(array $list)
    method formatValueForApi (line 131) | private function formatValueForApi($value)
    method formatTimestampFromApi (line 162) | private function formatTimestampFromApi(array $timestamp)
    method formatTimestampForApi (line 180) | private function formatTimestampForApi($value)
    method formatDurationForApi (line 196) | private function formatDurationForApi($value)
    method constructGapic (line 226) | protected function constructGapic($gapicName, array $config)
    method convertDataToProtos (line 245) | private function convertDataToProtos(array $input, array $map): array
    method splitOptionalArgs (line 265) | private function splitOptionalArgs(array $input, array $extraAllowedKe...
    method validateOptions (line 283) | private function validateOptions(array $options, array|Message|string ...

FILE: lib/Google/vendor/google/cloud-core/src/ArrayTrait.php
  type ArrayTrait (line 23) | trait ArrayTrait
    method pluck (line 34) | private function pluck($key, array &$arr, $isRequired = true)
    method pluckArray (line 58) | private function pluckArray(array $keys, &$arr)
    method isAssoc (line 81) | private function isAssoc(array $arr, $onEmpty = true)
    method arrayFilterRemoveNull (line 96) | private function arrayFilterRemoveNull(array $arr)
    method arrayMergeRecursive (line 114) | private function arrayMergeRecursive(array $array1, array $array2)

FILE: lib/Google/vendor/google/cloud-core/src/Batch/BatchDaemon.php
  class BatchDaemon (line 35) | class BatchDaemon
    method __construct (line 57) | public function __construct($entrypoint)
    method run (line 83) | public function run()
    method job (line 158) | public function job($idNum)

FILE: lib/Google/vendor/google/cloud-core/src/Batch/BatchDaemonTrait.php
  type BatchDaemonTrait (line 28) | trait BatchDaemonTrait
    method isDaemonRunning (line 35) | private function isDaemonRunning()

FILE: lib/Google/vendor/google/cloud-core/src/Batch/BatchJob.php
  class BatchJob (line 30) | class BatchJob implements JobInterface
    method __construct (line 76) | public function __construct(
    method run (line 101) | public function run()
    method flush (line 164) | public function flush(array $items = [])
    method callFunc (line 182) | public function callFunc(array $items = [])
    method getCallPeriod (line 193) | public function getCallPeriod()
    method getBatchSize (line 203) | public function getBatchSize()

FILE: lib/Google/vendor/google/cloud-core/src/Batch/BatchRunner.php
  class BatchRunner (line 30) | class BatchRunner
    method __construct (line 59) | public function __construct(
    method registerJob (line 97) | public function registerJob($identifier, $func, array $options = [])
    method submitItem (line 132) | public function submitItem($identifier, $item)
    method getJobFromId (line 151) | public function getJobFromId($identifier)
    method getJobFromIdNum (line 163) | public function getJobFromIdNum($idNum)
    method getJobs (line 173) | public function getJobs()
    method loadConfig (line 184) | public function loadConfig()
    method getProcessor (line 208) | public function getProcessor()

FILE: lib/Google/vendor/google/cloud-core/src/Batch/BatchTrait.php
  type BatchTrait (line 28) | trait BatchTrait
    method flush (line 68) | public function flush()
    method send (line 86) | public function send(array $items)
    method getCallback (line 131) | abstract protected function getCallback();
    method setCommonBatchProperties (line 167) | private function setCommonBatchProperties(array $options = [])

FILE: lib/Google/vendor/google/cloud-core/src/Batch/ClosureSerializerInterface.php
  type ClosureSerializerInterface (line 28) | interface ClosureSerializerInterface
    method wrapClosures (line 35) | public function wrapClosures(&$data);
    method unwrapClosures (line 42) | public function unwrapClosures(&$data);

FILE: lib/Google/vendor/google/cloud-core/src/Batch/ConfigStorageInterface.php
  type ConfigStorageInterface (line 28) | interface ConfigStorageInterface
    method lock (line 35) | public function lock();
    method unlock (line 42) | public function unlock();
    method save (line 49) | public function save(JobConfig $config);
    method load (line 57) | public function load();
    method clear (line 62) | public function clear();

FILE: lib/Google/vendor/google/cloud-core/src/Batch/HandleFailureTrait.php
  type HandleFailureTrait (line 28) | trait HandleFailureTrait
    method initFailureFile (line 43) | private function initFailureFile()
    method handleFailure (line 83) | public function handleFailure($idNum, array $items)
    method getFailedFiles (line 101) | private function getFailedFiles()

FILE: lib/Google/vendor/google/cloud-core/src/Batch/InMemoryConfigStorage.php
  class InMemoryConfigStorage (line 30) | final class InMemoryConfigStorage implements
    method getInstance (line 56) | public static function getInstance()
    method __sleep (line 68) | public function __sleep()
    method __wakeup (line 76) | public function __wakeup()
    method __clone (line 84) | private function __clone()
    method __construct (line 92) | private function __construct()
    method lock (line 105) | public function lock()
    method unlock (line 115) | public function unlock()
    method save (line 126) | public function save(JobConfig $config)
    method load (line 138) | public function load()
    method clear (line 146) | public function clear()
    method submit (line 165) | public function submit($item, $idNum)
    method flush (line 194) | public function flush($idNum)
    method shutdown (line 213) | public function shutdown()

FILE: lib/Google/vendor/google/cloud-core/src/Batch/InterruptTrait.php
  type InterruptTrait (line 28) | trait InterruptTrait
    method setupSignalHandlers (line 32) | private function setupSignalHandlers()
    method sigHandler (line 52) | public function sigHandler($signo, $siginfo = null)

FILE: lib/Google/vendor/google/cloud-core/src/Batch/JobConfig.php
  class JobConfig (line 28) | class JobConfig
    method getJobFromId (line 53) | public function getJobFromId($identifier)
    method getJobFromIdNum (line 67) | public function getJobFromIdNum($idNum)
    method registerJob (line 82) | public function registerJob($identifier, $callback)
    method getJobs (line 103) | public function getJobs()

FILE: lib/Google/vendor/google/cloud-core/src/Batch/JobInterface.php
  type JobInterface (line 29) | interface JobInterface
    method run (line 34) | public function run();
    method identifier (line 41) | public function identifier();
    method numWorkers (line 48) | public function numWorkers();
    method flush (line 56) | public function flush(array $items = []);

FILE: lib/Google/vendor/google/cloud-core/src/Batch/JobTrait.php
  type JobTrait (line 28) | trait JobTrait
    method identifier (line 55) | public function identifier()
    method id (line 65) | public function id()
    method numWorkers (line 75) | public function numWorkers()
    method bootstrapFile (line 85) | public function bootstrapFile()
    method run (line 93) | abstract public function run();
    method flush (line 101) | public function flush(array $items = [])

FILE: lib/Google/vendor/google/cloud-core/src/Batch/OpisClosureSerializer.php
  class OpisClosureSerializer (line 32) | class OpisClosureSerializer implements ClosureSerializerInterface
    method wrapClosures (line 39) | public function wrapClosures(&$data)
    method unwrapClosures (line 51) | public function unwrapClosures(&$data)

FILE: lib/Google/vendor/google/cloud-core/src/Batch/OpisClosureSerializerV4.php
  class OpisClosureSerializerV4 (line 31) | class OpisClosureSerializerV4 implements ClosureSerializerInterface
    method wrapClosures (line 38) | public function wrapClosures(&$data)
    method unwrapClosures (line 48) | public function unwrapClosures(&$data)

FILE: lib/Google/vendor/google/cloud-core/src/Batch/ProcessItemInterface.php
  type ProcessItemInterface (line 28) | interface ProcessItemInterface
    method submit (line 38) | public function submit($item, $idNum);
    method flush (line 46) | public function flush($idNum);

FILE: lib/Google/vendor/google/cloud-core/src/Batch/QueueOverflowException.php
  class QueueOverflowException (line 29) | class QueueOverflowException extends \RuntimeException
    method __construct (line 31) | public function __construct()

FILE: lib/Google/vendor/google/cloud-core/src/Batch/Retry.php
  class Retry (line 28) | class Retry
    method __construct (line 40) | public function __construct(?BatchRunner $runner = null)
    method retryAll (line 49) | public function retryAll()

FILE: lib/Google/vendor/google/cloud-core/src/Batch/SerializableClientTrait.php
  type SerializableClientTrait (line 31) | trait SerializableClientTrait
    method setSerializableClientOptions (line 57) | private function setSerializableClientOptions(array $options)
    method setWrappedClientConfig (line 71) | private function setWrappedClientConfig(array $options)
    method getUnwrappedClientConfig (line 85) | private function getUnwrappedClientConfig()
    method getDefaultClosureSerializer (line 97) | private function getDefaultClosureSerializer()

FILE: lib/Google/vendor/google/cloud-core/src/Batch/SimpleJob.php
  class SimpleJob (line 28) | class SimpleJob implements JobInterface
    method __construct (line 52) | public function __construct($identifier, $func, $id, array $options = [])
    method run (line 69) | public function run()

FILE: lib/Google/vendor/google/cloud-core/src/Batch/SimpleJobTrait.php
  type SimpleJobTrait (line 30) | trait SimpleJobTrait
    method run (line 39) | abstract public function run();
    method setSimpleJobProperties (line 62) | private function setSimpleJobProperties(array $options = [])
    method defaultConfigStorage (line 97) | private function defaultConfigStorage()

FILE: lib/Google/vendor/google/cloud-core/src/Batch/SysvConfigStorage.php
  class SysvConfigStorage (line 28) | class SysvConfigStorage implements ConfigStorageInterface
    method __construct (line 56) | public function __construct()
    method lock (line 79) | public function lock()
    method unlock (line 89) | public function unlock()
    method save (line 101) | public function save(JobConfig $config)
    method load (line 128) | public function load()
    method clear (line 154) | public function clear()
    method __serialize (line 163) | public function __serialize()

FILE: lib/Google/vendor/google/cloud-core/src/Batch/SysvProcessor.php
  class SysvProcessor (line 30) | class SysvProcessor implements ProcessItemInterface
    method submit (line 47) | public function submit($item, $idNum)
    method flush (line 90) | public function flush($idNum)

FILE: lib/Google/vendor/google/cloud-core/src/Blob.php
  class Blob (line 41) | class Blob implements \JsonSerializable
    method __construct (line 53) | public function __construct($value)
    method get (line 68) | public function get()
    method __toString (line 79) | public function __toString()
    method jsonSerialize (line 90) | #[\ReturnTypeWillChange]

FILE: lib/Google/vendor/google/cloud-core/src/ClientTrait.php
  type ClientTrait (line 30) | trait ClientTrait
    method getConnectionType (line 47) | private function getConnectionType(array $config)
    method requireGrpc (line 70) | private function requireGrpc()
    method getGrpcInstallationMessage (line 83) | private function getGrpcInstallationMessage()
    method configureAuthentication (line 96) | private function configureAuthentication(array $config)
    method getKeyFile (line 124) | private function getKeyFile(array $config = [])
    method detectProjectId (line 177) | private function detectProjectId(array $config)
    method onGce (line 258) | protected function onGce($httpHandler)
    method getMetaData (line 269) | protected function getMetaData()
    method isGrpcLoaded (line 280) | protected function isGrpcLoaded()

FILE: lib/Google/vendor/google/cloud-core/src/Compute/Metadata.php
  class Metadata (line 42) | class Metadata
    method __construct (line 62) | public function __construct(?ReaderInterface $reader = null)
    method setReader (line 74) | public function setReader(ReaderInterface $reader)
    method get (line 89) | public function get($path)
    method getProjectId (line 104) | public function getProjectId()
    method getNumericProjectId (line 123) | public function getNumericProjectId()
    method getProjectMetadata (line 143) | public function getProjectMetadata($key)
    method getInstanceMetadata (line 160) | public function getInstanceMetadata($key)

FILE: lib/Google/vendor/google/cloud-core/src/Compute/Metadata/Readers/HttpHandlerReader.php
  class HttpHandlerReader (line 28) | class HttpHandlerReader implements ReaderInterface
    method __construct (line 39) | public function __construct(?callable $httpHandler = null)
    method read (line 51) | public function read($path)

FILE: lib/Google/vendor/google/cloud-core/src/Compute/Metadata/Readers/ReaderInterface.php
  type ReaderInterface (line 23) | interface ReaderInterface
    method read (line 28) | public function read($path);

FILE: lib/Google/vendor/google/cloud-core/src/Compute/Metadata/Readers/StreamReader.php
  class StreamReader (line 26) | class StreamReader implements ReaderInterface
    method __construct (line 50) | public function __construct()
    method read (line 67) | public function read($path)
    method createStreamContext (line 85) | protected function createStreamContext(array $options)
    method getMetadata (line 97) | protected function getMetadata($url)

FILE: lib/Google/vendor/google/cloud-core/src/ConcurrencyControlTrait.php
  type ConcurrencyControlTrait (line 23) | trait ConcurrencyControlTrait
    method applyEtagHeader (line 32) | private function applyEtagHeader(array $options, $argName = 'etag')

FILE: lib/Google/vendor/google/cloud-core/src/DebugInfoTrait.php
  type DebugInfoTrait (line 25) | trait DebugInfoTrait
    method __debugInfo (line 31) | public function __debugInfo()

FILE: lib/Google/vendor/google/cloud-core/src/DetectProjectIdTrait.php
  type DetectProjectIdTrait (line 27) | trait DetectProjectIdTrait
    method detectProjectId (line 53) | private function detectProjectId(array $config)
    method throwExceptionIfProjectIdRequired (line 95) | private function throwExceptionIfProjectIdRequired(array $config)

FILE: lib/Google/vendor/google/cloud-core/src/Duration.php
  class Duration (line 37) | class Duration
    method __construct (line 55) | public function __construct($seconds, $nanos = 0)
    method get (line 71) | public function get()
    method formatAsString (line 89) | public function formatAsString()
    method __toString (line 100) | public function __toString()

FILE: lib/Google/vendor/google/cloud-core/src/EmulatorTrait.php
  type EmulatorTrait (line 23) | trait EmulatorTrait
    method emulatorGapicConfig (line 31) | private function emulatorGapicConfig($emulatorHost)
    method emulatorBaseUri (line 61) | private function emulatorBaseUri($emulatorHost)
    method getEmulatorBaseUri (line 83) | public function getEmulatorBaseUri($baseUri, $emulatorHost = null)

FILE: lib/Google/vendor/google/cloud-core/src/Exception/AbortedException.php
  class AbortedException (line 23) | class AbortedException extends ServiceException

FILE: lib/Google/vendor/google/cloud-core/src/Exception/BadRequestException.php
  class BadRequestException (line 24) | class BadRequestException extends ServiceException

FILE: lib/Google/vendor/google/cloud-core/src/Exception/ConflictException.php
  class ConflictException (line 24) | class ConflictException extends ServiceException

FILE: lib/Google/vendor/google/cloud-core/src/Exception/DeadlineExceededException.php
  class DeadlineExceededException (line 24) | class DeadlineExceededException extends ServiceException

FILE: lib/Google/vendor/google/cloud-core/src/Exception/FailedPreconditionException.php
  class FailedPreconditionException (line 24) | class FailedPreconditionException extends ServiceException

FILE: lib/Google/vendor/google/cloud-core/src/Exception/GoogleException.php
  class GoogleException (line 25) | class GoogleException extends Exception

FILE: lib/Google/vendor/google/cloud-core/src/Exception/NotFoundException.php
  class NotFoundException (line 23) | class NotFoundException extends ServiceException
    method setMessage (line 32) | public function setMessage($message)

FILE: lib/Google/vendor/google/cloud-core/src/Exception/ServerException.php
  class ServerException (line 24) | class ServerException extends ServiceException

FILE: lib/Google/vendor/google/cloud-core/src/Exception/ServiceException.php
  class ServiceException (line 26) | class ServiceException extends GoogleException
    method __construct (line 65) | public function __construct(
    method hasServiceException (line 85) | public function hasServiceException()
    method getServiceException (line 95) | public function getServiceException()
    method getMetadata (line 103) | public function getMetadata()
    method getErrorInfoMetadata (line 113) | public function getErrorInfoMetadata()
    method getReason (line 137) | public function getReason()
    method getRetryDelay (line 161) | public function getRetryDelay()
    method getErrorInfoFromRestException (line 183) | private function getErrorInfoFromRestException()

FILE: lib/Google/vendor/google/cloud-core/src/ExponentialBackoff.php
  class ExponentialBackoff (line 23) | class ExponentialBackoff
    method __construct (line 65) | public function __construct(
    method execute (line 89) | public function execute(callable $function, array $arguments = [])
    method setDelayFunction (line 131) | public function setDelayFunction(callable $delayFunction)
    method setCalcDelayFunction (line 143) | public function setCalcDelayFunction(callable $calcDelayFunction)
    method calculateDelay (line 154) | public static function calculateDelay($attempt)

FILE: lib/Google/vendor/google/cloud-core/src/GeoPoint.php
  class GeoPoint (line 36) | class GeoPoint implements \JsonSerializable
    method __construct (line 66) | public function __construct($latitude, $longitude, $allowNull = false)
    method latitude (line 82) | public function latitude()
    method setLatitude (line 102) | public function setLatitude($latitude)
    method longitude (line 119) | public function longitude()
    method setLongitude (line 139) | public function setLongitude($longitude)
    method point (line 156) | public function point()
    method checkContext (line 172) | private function checkContext($method, array $args)
    method validateValue (line 194) | private function validateValue($value, $type, $allowNull = false)
    method jsonSerialize (line 221) | #[\ReturnTypeWillChange]

FILE: lib/Google/vendor/google/cloud-core/src/GrpcRequestWrapper.php
  class GrpcRequestWrapper (line 28) | class GrpcRequestWrapper
    method __construct (line 73) | public function __construct(array $config = [])
    method send (line 108) | public function send(callable $request, array $args, array $options = [])

FILE: lib/Google/vendor/google/cloud-core/src/GrpcTrait.php
  type GrpcTrait (line 29) | trait GrpcTrait
    method setRequestWrapper (line 45) | public function setRequestWrapper(GrpcRequestWrapper $requestWrapper)
    method requestWrapper (line 55) | public function requestWrapper()
    method send (line 69) | public function send(callable $request, array $args, $whitelisted = fa...
    method getGaxConfig (line 97) | private function getGaxConfig(
    method formatStructForApi (line 140) | private function formatStructForApi(array $fields)
    method unpackStructFromApi (line 151) | private function unpackStructFromApi(array $struct)
    method unpackValue (line 160) | private function unpackValue($value)
    method flattenStruct (line 182) | private function flattenStruct(array $struct)
    method flattenValue (line 187) | private function flattenValue(array $value)
    method flattenListValue (line 200) | private function flattenListValue(array $value)
    method formatListForApi (line 211) | private function formatListForApi(array $list)
    method formatValueForApi (line 228) | private function formatValueForApi($value)
    method formatTimestampFromApi (line 259) | private function formatTimestampFromApi(array $timestamp)
    method formatTimestampForApi (line 277) | private function formatTimestampForApi($value)
    method formatDurationForApi (line 293) | private function formatDurationForApi($value)
    method formatDurationFromApi (line 322) | private function formatDurationFromApi($value): string
    method constructGapic (line 337) | protected function constructGapic($gapicName, array $config)

FILE: lib/Google/vendor/google/cloud-core/src/Iam/Iam.php
  class Iam (line 43) | class Iam
    method __construct (line 84) | public function __construct(IamConnectionInterface $connection, $resou...
    method policy (line 115) | public function policy(array $options = [])
    method setPolicy (line 144) | public function setPolicy($policy, array $options = [])
    method testPermissions (line 184) | public function testPermissions(array $permissions, array $options = [])
    method reload (line 205) | public function reload(array $options = [])

FILE: lib/Google/vendor/google/cloud-core/src/Iam/IamConnectionInterface.php
  type IamConnectionInterface (line 31) | interface IamConnectionInterface
    method getPolicy (line 36) | public function getPolicy(array $args);
    method setPolicy (line 41) | public function setPolicy(array $args);
    method testPermissions (line 46) | public function testPermissions(array $args);

FILE: lib/Google/vendor/google/cloud-core/src/Iam/IamManager.php
  class IamManager (line 55) | class IamManager
    method __construct (line 73) | public function __construct(
    method policy (line 105) | public function policy(array $options = [])
    method setPolicy (line 143) | public function setPolicy($policy, array $options = [])
    method testPermissions (line 190) | public function testPermissions(array $permissions, array $options = [])
    method reload (line 215) | public function reload(array $options = [])

FILE: lib/Google/vendor/google/cloud-core/src/Iam/PolicyBuilder.php
  class PolicyBuilder (line 35) | class PolicyBuilder
    method __construct (line 90) | public function __construct(array $policy = [])
    method setBindings (line 130) | public function setBindings(array $bindings = [])
    method addBinding (line 158) | public function addBinding($role, array $members)
    method removeBinding (line 200) | public function removeBinding($role, array $members)
    method setEtag (line 240) | public function setEtag($etag)
    method setVersion (line 258) | public function setVersion($version)
    method result (line 275) | public function result()
    method validatePolicyVersion (line 284) | private function validatePolicyVersion()
    method validateConditions (line 294) | private function validateConditions()

FILE: lib/Google/vendor/google/cloud-core/src/InsecureCredentialsWrapper.php
  class InsecureCredentialsWrapper (line 29) | class InsecureCredentialsWrapper extends ApiCoreInsecureCredentialsWrapper
    method __construct (line 31) | public function __construct()

FILE: lib/Google/vendor/google/cloud-core/src/Int64.php
  class Int64 (line 29) | class Int64 implements \JsonSerializable
    method __construct (line 39) | public function __construct($value)
    method get (line 54) | public function get()
    method __toString (line 64) | public function __toString()
    method jsonSerialize (line 75) | #[\ReturnTypeWillChange]

FILE: lib/Google/vendor/google/cloud-core/src/Iterator/ItemIterator.php
  class ItemIterator (line 26) | class ItemIterator implements \Iterator

FILE: lib/Google/vendor/google/cloud-core/src/Iterator/ItemIteratorTrait.php
  type ItemIteratorTrait (line 25) | trait ItemIteratorTrait
    method __construct (line 45) | public function __construct(\Iterator $pageIterator)
    method nextResultToken (line 55) | public function nextResultToken()
    method iterateByPage (line 67) | public function iterateByPage()
    method rewind (line 77) | #[\ReturnTypeWillChange]
    method current (line 90) | #[\ReturnTypeWillChange]
    method key (line 105) | #[\ReturnTypeWillChange]
    method next (line 116) | #[\ReturnTypeWillChange]
    method valid (line 133) | #[\ReturnTypeWillChange]

FILE: lib/Google/vendor/google/cloud-core/src/Iterator/PageIterator.php
  class PageIterator (line 23) | class PageIterator implements \Iterator

FILE: lib/Google/vendor/google/cloud-core/src/Iterator/PageIteratorTrait.php
  type PageIteratorTrait (line 27) | trait PageIteratorTrait
    method __construct (line 109) | public function __construct(
    method nextResultToken (line 139) | public function nextResultToken()
    method rewind (line 149) | #[\ReturnTypeWillChange]
    method current (line 173) | #[\ReturnTypeWillChange]
    method key (line 194) | #[\ReturnTypeWillChange]
    method next (line 205) | #[\ReturnTypeWillChange]
    method valid (line 219) | #[\ReturnTypeWillChange]
    method executeCall (line 234) | private function executeCall()
    method mapResults (line 254) | private function mapResults(array $results)
    method determineNextResultToken (line 283) | private function determineNextResultToken(array $results, $shouldConti...
    method get (line 295) | private function get(array $path, array $array)
    method set (line 316) | private function set(array $path, array &$array, $value)

FILE: lib/Google/vendor/google/cloud-core/src/JsonTrait.php
  type JsonTrait (line 24) | trait JsonTrait
    method jsonDecode (line 35) | private static function jsonDecode($json, $assoc = false, $depth = 512...
    method jsonEncode (line 56) | private static function jsonEncode($value, $options = 0, $depth = 512)

FILE: lib/Google/vendor/google/cloud-core/src/Lock/FlockLock.php
  class FlockLock (line 29) | class FlockLock implements LockInterface
    method __construct (line 60) | public function __construct($fileName, array $options = [])
    method acquire (line 90) | public function acquire(array $options = [])
    method release (line 113) | public function release()
    method initializeHandle (line 132) | private function initializeHandle()
    method lockType (line 143) | private function lockType(array $options)

FILE: lib/Google/vendor/google/cloud-core/src/Lock/LockInterface.php
  type LockInterface (line 23) | interface LockInterface
    method acquire (line 37) | public function acquire(array $options = []);
    method release (line 44) | public function release();
    method synchronize (line 58) | public function synchronize(callable $func, array $options = []);

FILE: lib/Google/vendor/google/cloud-core/src/Lock/LockTrait.php
  type LockTrait (line 23) | trait LockTrait
    method acquire (line 37) | abstract public function acquire(array $options = []);
    method release (line 44) | abstract public function release();
    method synchronize (line 60) | public function synchronize(callable $func, array $options = [])

FILE: lib/Google/vendor/google/cloud-core/src/Lock/SemaphoreLock.php
  class SemaphoreLock (line 31) | class SemaphoreLock implements LockInterface
    method __construct (line 51) | public function __construct($key)
    method acquire (line 76) | public function acquire(array $options = [])
    method release (line 102) | public function release()
    method initializeId (line 120) | private function initializeId()

FILE: lib/Google/vendor/google/cloud-core/src/Lock/SymfonyLockAdapter.php
  class SymfonyLockAdapter (line 26) | class SymfonyLockAdapter implements LockInterface
    method __construct (line 38) | public function __construct(SymfonyLockInterface $lock)
    method acquire (line 55) | public function acquire(array $options = [])
    method release (line 80) | public function release()

FILE: lib/Google/vendor/google/cloud-core/src/Logger/AppEngineFlexFormatter.php
  class AppEngineFlexFormatter (line 27) | class AppEngineFlexFormatter extends LineFormatter
    method __construct (line 36) | public function __construct($format = null, $dateFormat = null, $ignor...
    method format (line 48) | public function format(array $record)

FILE: lib/Google/vendor/google/cloud-core/src/Logger/AppEngineFlexFormatterV2.php
  class AppEngineFlexFormatterV2 (line 27) | class AppEngineFlexFormatterV2 extends LineFormatter
    method __construct (line 36) | public function __construct($format = null, $dateFormat = null, $ignor...
    method format (line 48) | public function format(array $record): string

FILE: lib/Google/vendor/google/cloud-core/src/Logger/AppEngineFlexFormatterV3.php
  class AppEngineFlexFormatterV3 (line 28) | class AppEngineFlexFormatterV3 extends LineFormatter
    method __construct (line 37) | public function __construct($format = null, $dateFormat = null, $ignor...
    method format (line 49) | public function format(LogRecord $record): string

FILE: lib/Google/vendor/google/cloud-core/src/Logger/AppEngineFlexHandler.php
  class AppEngineFlexHandler (line 30) | class AppEngineFlexHandler extends StreamHandler
    method __construct (line 43) | public function __construct(
    method getDefaultFormatter (line 68) | protected function getDefaultFormatter()

FILE: lib/Google/vendor/google/cloud-core/src/Logger/AppEngineFlexHandlerFactory.php
  class AppEngineFlexHandlerFactory (line 25) | class AppEngineFlexHandlerFactory
    method build (line 44) | public static function build(

FILE: lib/Google/vendor/google/cloud-core/src/Logger/AppEngineFlexHandlerV2.php
  class AppEngineFlexHandlerV2 (line 30) | class AppEngineFlexHandlerV2 extends StreamHandler
    method __construct (line 43) | public function __construct(
    method getDefaultFormatter (line 63) | protected function getDefaultFormatter(): FormatterInterface

FILE: lib/Google/vendor/google/cloud-core/src/Logger/AppEngineFlexHandlerV3.php
  class AppEngineFlexHandlerV3 (line 30) | class AppEngineFlexHandlerV3 extends StreamHandler
    method __construct (line 43) | public function __construct(
    method getDefaultFormatter (line 63) | protected function getDefaultFormatter(): FormatterInterface

FILE: lib/Google/vendor/google/cloud-core/src/Logger/FormatterTrait.php
  type FormatterTrait (line 25) | trait FormatterTrait
    method formatPayload (line 32) | protected function formatPayload($record, $message)

FILE: lib/Google/vendor/google/cloud-core/src/LongRunning/LROTrait.php
  type LROTrait (line 28) | trait LROTrait
    method setLroProperties (line 59) | private function setLroProperties(
    method resumeOperation (line 76) | public function resumeOperation($operationName, array $info = [])
    method longRunningOperations (line 103) | public function longRunningOperations(array $options = [])

FILE: lib/Google/vendor/google/cloud-core/src/LongRunning/LongRunningClientConnection.php
  class LongRunningClientConnection (line 32) | class LongRunningClientConnection implements LongRunningConnectionInterface
    method __construct (line 36) | public function __construct(
    method get (line 46) | public function get(array $args): array
    method cancel (line 57) | public function cancel(array $args): array
    method delete (line 72) | public function delete(array $args): array
    method operations (line 87) | public function operations(array $args): array
    method operationResponseToArray (line 95) | private function operationResponseToArray(OperationResponse $operation...

FILE: lib/Google/vendor/google/cloud-core/src/LongRunning/LongRunningConnectionInterface.php
  type LongRunningConnectionInterface (line 26) | interface LongRunningConnectionInterface
    method get (line 31) | public function get(array $args);
    method cancel (line 36) | public function cancel(array $args);
    method delete (line 41) | public function delete(array $args);
    method operations (line 46) | public function operations(array $args);

FILE: lib/Google/vendor/google/cloud-core/src/LongRunning/LongRunningOperation.php
  class LongRunningOperation (line 24) | class LongRunningOperation
    method __construct (line 75) | public function __construct(
    method name (line 97) | public function name()
    method done (line 118) | public function done(array $options = [])
    method state (line 155) | public function state(array $options = [])
    method result (line 186) | public function result(array $options = [])
    method error (line 208) | public function error(array $options = [])
    method info (line 230) | public function info(array $options = [])
    method reload (line 248) | public function reload(array $options = [])
    method pollUntilComplete (line 288) | public function pollUntilComplete(array $options = [])
    method cancel (line 319) | public function cancel(array $options = [])
    method delete (line 337) | public function delete(array $options = [])
    method executeDoneCallback (line 352) | private function executeDoneCallback($type, $response)
    method __debugInfo (line 375) | public function __debugInfo()

FILE: lib/Google/vendor/google/cloud-core/src/LongRunning/OperationResponseTrait.php
  type OperationResponseTrait (line 29) | trait OperationResponseTrait
    method operationToArray (line 39) | private function operationToArray($operation, $serializer, array $lroM...
    method getOperationByName (line 79) | private function getOperationByName($client, $name, $method = null)
    method deserializeResult (line 96) | private function deserializeResult($operation, $type, $serializer, arr...
    method deserializeMetadata (line 133) | private function deserializeMetadata($operation, $type, $serializer, a...

FILE: lib/Google/vendor/google/cloud-core/src/OptionsValidator.php
  class OptionsValidator (line 31) | class OptionsValidator
    method __construct (line 39) | public function __construct(
    method validateOptions (line 70) | public function validateOptions(array $options, array|Message|string ....

FILE: lib/Google/vendor/google/cloud-core/src/PhpArray.php
  class PhpArray (line 33) | class PhpArray extends Protobuf\Codec\PhpArray
    method __construct (line 51) | public function __construct(array $customFilters = [], $useCamelCase =...
    method encodeMessage (line 62) | protected function encodeMessage(Protobuf\Message $message)
    method decodeMessage (line 128) | protected function decodeMessage(Protobuf\Message $message, $data)
    method filterValue (line 162) | protected function filterValue($value, Protobuf\Field $field)
    method toSnakeCase (line 225) | private function toSnakeCase($key)
    method toCamelCase (line 230) | private function toCamelCase($key)
    method isKeyValueMessage (line 235) | private function isKeyValueMessage($value)

FILE: lib/Google/vendor/google/cloud-core/src/Report/CloudRunJobMetadataProvider.php
  class CloudRunJobMetadataProvider (line 25) | class CloudRunJobMetadataProvider implements MetadataProviderInterface
    method __construct (line 71) | public function __construct(array $env, ?Metadata $metadata = null)
    method monitoredResource (line 90) | public function monitoredResource()
    method projectId (line 106) | public function projectId()
    method serviceId (line 115) | public function serviceId()
    method versionId (line 124) | public function versionId()
    method labels (line 133) | public function labels()

FILE: lib/Google/vendor/google/cloud-core/src/Report/CloudRunMetadataProvider.php
  class CloudRunMetadataProvider (line 23) | class CloudRunMetadataProvider extends CloudRunServiceMetadataProvider

FILE: lib/Google/vendor/google/cloud-core/src/Report/CloudRunServiceMetadataProvider.php
  class CloudRunServiceMetadataProvider (line 25) | class CloudRunServiceMetadataProvider implements MetadataProviderInterface
    method __construct (line 66) | public function __construct(array $env, ?Metadata $metadata = null)
    method monitoredResource (line 83) | public function monitoredResource()
    method projectId (line 101) | public function projectId()
    method serviceId (line 110) | public function serviceId()
    method versionId (line 119) | public function versionId()
    method labels (line 130) | public function labels()

FILE: lib/Google/vendor/google/cloud-core/src/Report/EmptyMetadataProvider.php
  class EmptyMetadataProvider (line 24) | class EmptyMetadataProvider implements MetadataProviderInterface
    method monitoredResource (line 33) | public function monitoredResource()
    method projectId (line 42) | public function projectId()
    method serviceId (line 51) | public function serviceId()
    method versionId (line 60) | public function versionId()
    method labels (line 69) | public function labels()

FILE: lib/Google/vendor/google/cloud-core/src/Report/GAEFlexMetadataProvider.php
  class GAEFlexMetadataProvider (line 23) | class GAEFlexMetadataProvider extends GAEMetadataProvider
    method getTraceValue (line 25) | protected function getTraceValue($server)

FILE: lib/Google/vendor/google/cloud-core/src/Report/GAEMetadataProvider.php
  class GAEMetadataProvider (line 23) | abstract class GAEMetadataProvider implements MetadataProviderInterface
    method getTraceValue (line 25) | abstract protected function getTraceValue($server);
    method __construct (line 34) | public function __construct(array $server)
    method monitoredResource (line 67) | public function monitoredResource()
    method projectId (line 76) | public function projectId()
    method serviceId (line 85) | public function serviceId()
    method versionId (line 94) | public function versionId()
    method labels (line 103) | public function labels()

FILE: lib/Google/vendor/google/cloud-core/src/Report/GAEStandardMetadataProvider.php
  class GAEStandardMetadataProvider (line 23) | class GAEStandardMetadataProvider extends GAEMetadataProvider
    method getTraceValue (line 25) | protected function getTraceValue($server)

FILE: lib/Google/vendor/google/cloud-core/src/Report/MetadataProviderInterface.php
  type MetadataProviderInterface (line 23) | interface MetadataProviderInterface
    method monitoredResource (line 32) | public function monitoredResource();
    method projectId (line 
Copy disabled (too large) Download .json
Condensed preview — 2439 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (16,998K chars).
[
  {
    "path": ".github/dependabot.yml",
    "chars": 447,
    "preview": "version: 2\nupdates:\n  # Enable checks for the default vendor folder\n  - package-ecosystem: \"composer\"\n    directory: \"/\""
  },
  {
    "path": ".github/workflows/publish-release.yml",
    "chars": 675,
    "preview": "name: Publish Release\nrun-name: Publish Release\n\non:\n  workflow_dispatch:\n    inputs:\n      tag:\n        description: 'R"
  },
  {
    "path": ".github/workflows/security-scan.yml",
    "chars": 411,
    "preview": "name: Security Scan\nrun-name: Security Scan\n\non: \n  push:\n  pull_request:\n  workflow_dispatch:\n\njobs:\n  code-scanning:\n "
  },
  {
    "path": ".gitignore",
    "chars": 275,
    "preview": "temp\n.vscode**\nnode_modules\nstatic/cache\nstatic/codex\nnpm-debug.log\nwp-test-config.php\n/test\npackage-lock.json\n\n.git\n.sv"
  },
  {
    "path": "LICENSE",
    "chars": 1075,
    "preview": "MIT License\n\nCopyright (c) 2018 Usability Dynamics\n\nPermission is hereby granted, free of charge, to any person obtainin"
  },
  {
    "path": "SECURITY.md",
    "chars": 1666,
    "preview": "# Security Policy Overview\n\nThank you for using and contributing to our product. At [UDX](https://udx.io), we take the s"
  },
  {
    "path": "changelog.txt",
    "chars": 34996,
    "preview": "== Changelog ==\n= 4.4.1 - 2026-01-16 =\n* COMPATIBILITY - WooCommerce Extra Product Options Compatibility replaced with ["
  },
  {
    "path": "changes.md",
    "chars": 37708,
    "preview": "#### 4.4.1 - 2026-01-16\n* COMPATIBILITY - WooCommerce Extra Product Options Compatibility replaced with [WP-Stateless – "
  },
  {
    "path": "composer.json",
    "chars": 2677,
    "preview": "{\n  \"name\": \"wpcloud/wp-stateless\",\n  \"description\": \"WP-Stateless WordPress plugin\",\n  \"type\": \"wordpress-plugin\",\n  \"m"
  },
  {
    "path": "l10n.php",
    "chars": 8019,
    "preview": "<?php\n/**\n * Javascript Localization\n *\n * @since 2.1\n * @author alim@UD\n * @package WP-Stateless\n */\n\n$l10n = array(\n\n "
  },
  {
    "path": "lib/Google/CHANGELOG.md",
    "chars": 8380,
    "preview": "# Changelog\n\n## [2.19.0](https://github.com/googleapis/google-api-php-client/compare/v2.18.4...v2.19.0) (2026-01-09)\n\n\n#"
  },
  {
    "path": "lib/Google/CODE_OF_CONDUCT.md",
    "chars": 1981,
    "preview": "# Contributor Code of Conduct\n\nAs contributors and maintainers of this project,\nand in the interest of fostering an open"
  },
  {
    "path": "lib/Google/LICENSE",
    "chars": 10256,
    "preview": "Apache License\nVersion 2.0, January 2004\nhttp://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AN"
  },
  {
    "path": "lib/Google/README.md",
    "chars": 19181,
    "preview": "![](https://github.com/googleapis/google-api-php-client/workflows/.github/workflows/tests.yml/badge.svg)\n\n# Google APIs "
  },
  {
    "path": "lib/Google/SECURITY.md",
    "chars": 329,
    "preview": "# Security Policy\n\nTo report a security issue, please use [g.co/vulnz](https://g.co/vulnz).\n\nThe Google Security Team wi"
  },
  {
    "path": "lib/Google/UPGRADING.md",
    "chars": 12610,
    "preview": "Google API Client Upgrade Guide\n===============================\n\n2.x to 2.10.0\n-------------\n\n### Namespaces\n\nThe Google"
  },
  {
    "path": "lib/Google/composer.json",
    "chars": 1583,
    "preview": "{\n    \"name\": \"google/apiclient\",\n    \"type\": \"library\",\n    \"description\": \"Client library for Google APIs\",\n    \"keywo"
  },
  {
    "path": "lib/Google/phpstan.neon.dist",
    "chars": 83,
    "preview": "parameters:\n    treatPhpDocTypesAsCertain: false\n    level: 5\n    paths:\n    - src\n"
  },
  {
    "path": "lib/Google/src/AccessToken/Revoke.php",
    "chars": 2345,
    "preview": "<?php\n\n/*\n * Copyright 2008 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may"
  },
  {
    "path": "lib/Google/src/AccessToken/Verify.php",
    "chars": 8132,
    "preview": "<?php\n\n/*\n * Copyright 2008 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may"
  },
  {
    "path": "lib/Google/src/AuthHandler/AuthHandlerFactory.php",
    "chars": 1618,
    "preview": "<?php\n/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \""
  },
  {
    "path": "lib/Google/src/AuthHandler/Guzzle6AuthHandler.php",
    "chars": 3809,
    "preview": "<?php\n\nnamespace Google\\AuthHandler;\n\nuse Google\\Auth\\FetchAuthTokenCache;\nuse Google\\Auth\\FetchAuthTokenInterface;\nuse "
  },
  {
    "path": "lib/Google/src/AuthHandler/Guzzle7AuthHandler.php",
    "chars": 724,
    "preview": "<?php\n/**\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
  },
  {
    "path": "lib/Google/src/Client.php",
    "chars": 45308,
    "preview": "<?php\n/*\n * Copyright 2010 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
  },
  {
    "path": "lib/Google/src/Collection.php",
    "chars": 3112,
    "preview": "<?php\n\nnamespace Google;\n\n/**\n * Extension to the regular Google\\Model that automatically\n * exposes the items array for"
  },
  {
    "path": "lib/Google/src/Exception.php",
    "chars": 696,
    "preview": "<?php\n/*\n * Copyright 2013 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
  },
  {
    "path": "lib/Google/src/Http/Batch.php",
    "chars": 8166,
    "preview": "<?php\n/*\n * Copyright 2012 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
  },
  {
    "path": "lib/Google/src/Http/MediaFileUpload.php",
    "chars": 10106,
    "preview": "<?php\n/**\n * Copyright 2012 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may"
  },
  {
    "path": "lib/Google/src/Http/REST.php",
    "chars": 5854,
    "preview": "<?php\n/*\n * Copyright 2010 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
  },
  {
    "path": "lib/Google/src/Model.php",
    "chars": 10245,
    "preview": "<?php\n/*\n * Copyright 2011 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
  },
  {
    "path": "lib/Google/src/Service/Exception.php",
    "chars": 2040,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
  },
  {
    "path": "lib/Google/src/Service/README.md",
    "chars": 193,
    "preview": "# Google API Client Services\n\nGoogle API Client Service classes have been moved to the \n[google-api-php-client-services]"
  },
  {
    "path": "lib/Google/src/Service/Resource.php",
    "chars": 11766,
    "preview": "<?php\n/**\n * Copyright 2010 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may"
  },
  {
    "path": "lib/Google/src/Service.php",
    "chars": 1960,
    "preview": "<?php\n/*\n * Copyright 2010 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
  },
  {
    "path": "lib/Google/src/Task/Composer.php",
    "chars": 3763,
    "preview": "<?php\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not\n"
  },
  {
    "path": "lib/Google/src/Task/Exception.php",
    "chars": 712,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
  },
  {
    "path": "lib/Google/src/Task/Retryable.php",
    "chars": 751,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
  },
  {
    "path": "lib/Google/src/Task/Runner.php",
    "chars": 8221,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
  },
  {
    "path": "lib/Google/src/Utils/UriTemplate.php",
    "chars": 10994,
    "preview": "<?php\n/*\n * Copyright 2013 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
  },
  {
    "path": "lib/Google/src/aliases.php",
    "chars": 3128,
    "preview": "<?php\n\nif (class_exists('Google_Client', false)) {\n    // Prevent error with preloading in PHP 7.4\n    // @see https://g"
  },
  {
    "path": "lib/Google/vendor/autoload.php",
    "chars": 748,
    "preview": "<?php\n\n// autoload.php @generated by Composer\n\nif (PHP_VERSION_ID < 50600) {\n    if (!headers_sent()) {\n        header('"
  },
  {
    "path": "lib/Google/vendor/bin/google-cloud-batch",
    "chars": 3378,
    "preview": "#!/usr/bin/env php\n<?php\n\n/**\n * Proxy PHP file generated by Composer\n *\n * This file includes the referenced bin path ("
  },
  {
    "path": "lib/Google/vendor/brick/math/CHANGELOG.md",
    "chars": 20217,
    "preview": "# Changelog\n\nAll notable changes to this project will be documented in this file.\n\n## [0.13.1](https://github.com/brick/"
  },
  {
    "path": "lib/Google/vendor/brick/math/LICENSE",
    "chars": 1089,
    "preview": "The MIT License (MIT)\n\nCopyright (c) 2013-present Benjamin Morel\n\nPermission is hereby granted, free of charge, to any p"
  },
  {
    "path": "lib/Google/vendor/brick/math/composer.json",
    "chars": 813,
    "preview": "{\n    \"name\": \"brick/math\",\n    \"description\": \"Arbitrary-precision arithmetic library\",\n    \"type\": \"library\",\n    \"key"
  },
  {
    "path": "lib/Google/vendor/brick/math/psalm-baseline.xml",
    "chars": 2548,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<files psalm-version=\"6.8.8@1361cd33008feb3ae2b4a93f1860e14e538ec8c2\">\n  <file sr"
  },
  {
    "path": "lib/Google/vendor/brick/math/src/BigDecimal.php",
    "chars": 22508,
    "preview": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Brick\\Math;\n\nuse Brick\\Math\\Exception\\DivisionByZeroException;\nuse Brick\\Math"
  },
  {
    "path": "lib/Google/vendor/brick/math/src/BigInteger.php",
    "chars": 33072,
    "preview": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Brick\\Math;\n\nuse Brick\\Math\\Exception\\DivisionByZeroException;\nuse Brick\\Math"
  },
  {
    "path": "lib/Google/vendor/brick/math/src/BigNumber.php",
    "chars": 16224,
    "preview": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Brick\\Math;\n\nuse Brick\\Math\\Exception\\DivisionByZeroException;\nuse Brick\\Math"
  },
  {
    "path": "lib/Google/vendor/brick/math/src/BigRational.php",
    "chars": 12002,
    "preview": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Brick\\Math;\n\nuse Brick\\Math\\Exception\\DivisionByZeroException;\nuse Brick\\Math"
  },
  {
    "path": "lib/Google/vendor/brick/math/src/Exception/DivisionByZeroException.php",
    "chars": 736,
    "preview": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Brick\\Math\\Exception;\n\n/**\n * Exception thrown when a division by zero occurs"
  },
  {
    "path": "lib/Google/vendor/brick/math/src/Exception/IntegerOverflowException.php",
    "chars": 526,
    "preview": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Brick\\Math\\Exception;\n\nuse Brick\\Math\\BigInteger;\n\n/**\n * Exception thrown wh"
  },
  {
    "path": "lib/Google/vendor/brick/math/src/Exception/MathException.php",
    "chars": 163,
    "preview": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Brick\\Math\\Exception;\n\n/**\n * Base class for all math exceptions.\n */\nclass M"
  },
  {
    "path": "lib/Google/vendor/brick/math/src/Exception/NegativeNumberException.php",
    "chars": 248,
    "preview": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Brick\\Math\\Exception;\n\n/**\n * Exception thrown when attempting to perform an "
  },
  {
    "path": "lib/Google/vendor/brick/math/src/Exception/NumberFormatException.php",
    "chars": 969,
    "preview": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Brick\\Math\\Exception;\n\n/**\n * Exception thrown when attempting to create a nu"
  },
  {
    "path": "lib/Google/vendor/brick/math/src/Exception/RoundingNecessaryException.php",
    "chars": 459,
    "preview": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Brick\\Math\\Exception;\n\n/**\n * Exception thrown when a number cannot be repres"
  },
  {
    "path": "lib/Google/vendor/brick/math/src/Internal/Calculator/BcMathCalculator.php",
    "chars": 1430,
    "preview": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Brick\\Math\\Internal\\Calculator;\n\nuse Brick\\Math\\Internal\\Calculator;\nuse Over"
  },
  {
    "path": "lib/Google/vendor/brick/math/src/Internal/Calculator/GmpCalculator.php",
    "chars": 2590,
    "preview": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Brick\\Math\\Internal\\Calculator;\n\nuse Brick\\Math\\Internal\\Calculator;\nuse Over"
  },
  {
    "path": "lib/Google/vendor/brick/math/src/Internal/Calculator/NativeCalculator.php",
    "chars": 14311,
    "preview": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Brick\\Math\\Internal\\Calculator;\n\nuse Brick\\Math\\Internal\\Calculator;\nuse Over"
  },
  {
    "path": "lib/Google/vendor/brick/math/src/Internal/Calculator.php",
    "chars": 19133,
    "preview": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Brick\\Math\\Internal;\n\nuse Brick\\Math\\Exception\\RoundingNecessaryException;\nus"
  },
  {
    "path": "lib/Google/vendor/brick/math/src/RoundingMode.php",
    "chars": 3574,
    "preview": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Brick\\Math;\n\n/**\n * Specifies a rounding behavior for numerical operations ca"
  },
  {
    "path": "lib/Google/vendor/composer/ClassLoader.php",
    "chars": 16378,
    "preview": "<?php\n\n/*\n * This file is part of Composer.\n *\n * (c) Nils Adermann <naderman@naderman.de>\n *     Jordi Boggiano <j.bogg"
  },
  {
    "path": "lib/Google/vendor/composer/InstalledVersions.php",
    "chars": 17395,
    "preview": "<?php\n\n/*\n * This file is part of Composer.\n *\n * (c) Nils Adermann <naderman@naderman.de>\n *     Jordi Boggiano <j.bogg"
  },
  {
    "path": "lib/Google/vendor/composer/LICENSE",
    "chars": 1070,
    "preview": "\nCopyright (c) Nils Adermann, Jordi Boggiano\n\nPermission is hereby granted, free of charge, to any person obtaining a co"
  },
  {
    "path": "lib/Google/vendor/composer/autoload_classmap.php",
    "chars": 2145,
    "preview": "<?php\n\n// autoload_classmap.php @generated by Composer\n\n$vendorDir = dirname(__DIR__);\n$baseDir = dirname($vendorDir);\n\n"
  },
  {
    "path": "lib/Google/vendor/composer/autoload_files.php",
    "chars": 807,
    "preview": "<?php\n\n// autoload_files.php @generated by Composer\n\n$vendorDir = dirname(__DIR__);\n$baseDir = dirname($vendorDir);\n\nret"
  },
  {
    "path": "lib/Google/vendor/composer/autoload_namespaces.php",
    "chars": 139,
    "preview": "<?php\n\n// autoload_namespaces.php @generated by Composer\n\n$vendorDir = dirname(__DIR__);\n$baseDir = dirname($vendorDir);"
  },
  {
    "path": "lib/Google/vendor/composer/autoload_psr4.php",
    "chars": 3328,
    "preview": "<?php\n\n// autoload_psr4.php @generated by Composer\n\n$vendorDir = dirname(__DIR__);\n$baseDir = dirname($vendorDir);\n\nretu"
  },
  {
    "path": "lib/Google/vendor/composer/autoload_real.php",
    "chars": 1672,
    "preview": "<?php\n\n// autoload_real.php @generated by Composer\n\nclass ComposerAutoloaderInitc1ba3d113640ecbb1bd5645a9bacb037\n{\n    p"
  },
  {
    "path": "lib/Google/vendor/composer/autoload_static.php",
    "chars": 10881,
    "preview": "<?php\n\n// autoload_static.php @generated by Composer\n\nnamespace Composer\\Autoload;\n\nclass ComposerStaticInitc1ba3d113640"
  },
  {
    "path": "lib/Google/vendor/composer/installed.json",
    "chars": 75688,
    "preview": "{\n    \"packages\": [\n        {\n            \"name\": \"brick/math\",\n            \"version\": \"0.13.1\",\n            \"version_no"
  },
  {
    "path": "lib/Google/vendor/composer/installed.php",
    "chars": 12355,
    "preview": "<?php return array(\n    'root' => array(\n        'name' => 'google/apiclient',\n        'pretty_version' => 'dev-latest',"
  },
  {
    "path": "lib/Google/vendor/composer/platform_check.php",
    "chars": 917,
    "preview": "<?php\n\n// platform_check.php @generated by Composer\n\n$issues = array();\n\nif (!(PHP_VERSION_ID >= 80100)) {\n    $issues[]"
  },
  {
    "path": "lib/Google/vendor/firebase/php-jwt/CHANGELOG.md",
    "chars": 11789,
    "preview": "# Changelog\n\n## [7.0.2](https://github.com/firebase/php-jwt/compare/v7.0.1...v7.0.2) (2025-12-16)\n\n\n### Bug Fixes\n\n* add"
  },
  {
    "path": "lib/Google/vendor/firebase/php-jwt/LICENSE",
    "chars": 1529,
    "preview": "Copyright (c) 2011, Neuman Vong\n\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or withou"
  },
  {
    "path": "lib/Google/vendor/firebase/php-jwt/README.md",
    "chars": 13504,
    "preview": "![Build Status](https://github.com/firebase/php-jwt/actions/workflows/tests.yml/badge.svg)\n[![Latest Stable Version](htt"
  },
  {
    "path": "lib/Google/vendor/firebase/php-jwt/composer.json",
    "chars": 1161,
    "preview": "{\n    \"name\": \"firebase/php-jwt\",\n    \"description\": \"A simple library to encode and decode JSON Web Tokens (JWT) in PHP"
  },
  {
    "path": "lib/Google/vendor/firebase/php-jwt/src/BeforeValidException.php",
    "chars": 357,
    "preview": "<?php\n\nnamespace Firebase\\JWT;\n\nclass BeforeValidException extends \\UnexpectedValueException implements JWTExceptionWith"
  },
  {
    "path": "lib/Google/vendor/firebase/php-jwt/src/CachedKeySet.php",
    "chars": 7295,
    "preview": "<?php\n\nnamespace Firebase\\JWT;\n\nuse ArrayAccess;\nuse InvalidArgumentException;\nuse LogicException;\nuse OutOfBoundsExcept"
  },
  {
    "path": "lib/Google/vendor/firebase/php-jwt/src/ExpiredException.php",
    "chars": 584,
    "preview": "<?php\n\nnamespace Firebase\\JWT;\n\nclass ExpiredException extends \\UnexpectedValueException implements JWTExceptionWithPayl"
  },
  {
    "path": "lib/Google/vendor/firebase/php-jwt/src/JWK.php",
    "chars": 12109,
    "preview": "<?php\n\nnamespace Firebase\\JWT;\n\nuse DomainException;\nuse InvalidArgumentException;\nuse UnexpectedValueException;\n\n/**\n *"
  },
  {
    "path": "lib/Google/vendor/firebase/php-jwt/src/JWT.php",
    "chars": 27382,
    "preview": "<?php\n\nnamespace Firebase\\JWT;\n\nuse ArrayAccess;\nuse DateTime;\nuse DomainException;\nuse Exception;\nuse InvalidArgumentEx"
  },
  {
    "path": "lib/Google/vendor/firebase/php-jwt/src/JWTExceptionWithPayloadInterface.php",
    "chars": 396,
    "preview": "<?php\nnamespace Firebase\\JWT;\n\ninterface JWTExceptionWithPayloadInterface\n{\n    /**\n     * Get the payload that caused t"
  },
  {
    "path": "lib/Google/vendor/firebase/php-jwt/src/Key.php",
    "chars": 1297,
    "preview": "<?php\n\nnamespace Firebase\\JWT;\n\nuse InvalidArgumentException;\nuse OpenSSLAsymmetricKey;\nuse OpenSSLCertificate;\nuse Type"
  },
  {
    "path": "lib/Google/vendor/firebase/php-jwt/src/SignatureInvalidException.php",
    "chars": 102,
    "preview": "<?php\n\nnamespace Firebase\\JWT;\n\nclass SignatureInvalidException extends \\UnexpectedValueException\n{\n}\n"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/LICENSE",
    "chars": 10256,
    "preview": "Apache License\nVersion 2.0, January 2004\nhttp://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AN"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/README.md",
    "chars": 743,
    "preview": "Google PHP API Client Services\n==============================\n\n[Reference Documentation](https://googleapis.github.io/go"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/SECURITY.md",
    "chars": 329,
    "preview": "# Security Policy\n\nTo report a security issue, please use [g.co/vulnz](https://g.co/vulnz).\n\nThe Google Security Team wi"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/autoload.php",
    "chars": 1313,
    "preview": "<?php\n\n// For older (pre-2.7.2) verions of google/apiclient\nif (\n    file_exists(__DIR__ . '/../apiclient/src/Google/Cli"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/composer.json",
    "chars": 602,
    "preview": "{\n    \"name\": \"google/apiclient-services\",\n    \"type\": \"library\",\n    \"description\": \"Client library for Google APIs\",\n "
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/AdvanceRelocateBucketOperationRequest.php",
    "chars": 2070,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/AnywhereCache.php",
    "chars": 5810,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/AnywhereCaches.php",
    "chars": 2307,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/Bucket.php",
    "chars": 21188,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketAccessControl.php",
    "chars": 5921,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketAccessControlProjectTeam.php",
    "chars": 1541,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketAccessControls.php",
    "chars": 1755,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketAutoclass.php",
    "chars": 3162,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketBilling.php",
    "chars": 1286,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketCors.php",
    "chars": 3217,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketCustomPlacementConfig.php",
    "chars": 1382,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketEncryption.php",
    "chars": 4815,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketEncryptionCustomerManagedEncryptionEnforcementConfig.php",
    "chars": 2528,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketEncryptionCustomerSuppliedEncryptionEnforcementConfig.php",
    "chars": 2540,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketEncryptionGoogleManagedEncryptionEnforcementConfig.php",
    "chars": 2509,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketHierarchicalNamespace.php",
    "chars": 1296,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketIamConfiguration.php",
    "chars": 3031,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketIamConfigurationBucketPolicyOnly.php",
    "chars": 2159,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketIamConfigurationUniformBucketLevelAccess.php",
    "chars": 2217,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketIpFilter.php",
    "chars": 3602,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketIpFilterPublicNetworkSource.php",
    "chars": 1514,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketIpFilterVpcNetworkSources.php",
    "chars": 1976,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketLifecycle.php",
    "chars": 1339,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketLifecycleRule.php",
    "chars": 1724,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketLifecycleRuleAction.php",
    "chars": 1856,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketLifecycleRuleCondition.php",
    "chars": 10237,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketLogging.php",
    "chars": 1694,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketObjectRetention.php",
    "chars": 1226,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketOwner.php",
    "chars": 1544,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketRetentionPolicy.php",
    "chars": 2766,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketSoftDeletePolicy.php",
    "chars": 2185,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketStorageLayout.php",
    "chars": 3620,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketStorageLayoutCustomPlacementConfig.php",
    "chars": 1421,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketStorageLayoutHierarchicalNamespace.php",
    "chars": 1335,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketVersioning.php",
    "chars": 1253,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BucketWebsite.php",
    "chars": 2424,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/Buckets.php",
    "chars": 2753,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/BulkRestoreObjectsRequest.php",
    "chars": 5481,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/Channel.php",
    "chars": 5292,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/ComposeRequest.php",
    "chars": 2583,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/ComposeRequestSourceObjects.php",
    "chars": 2353,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/ComposeRequestSourceObjectsObjectPreconditions.php",
    "chars": 1739,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/Expr.php",
    "chars": 3237,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/Folder.php",
    "chars": 4724,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/FolderPendingRenameInfo.php",
    "chars": 1262,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/Folders.php",
    "chars": 2235,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/GoogleLongrunningListOperationsResponse.php",
    "chars": 2505,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/GoogleLongrunningOperation.php",
    "chars": 5557,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/GoogleRpcStatus.php",
    "chars": 2190,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/HmacKey.php",
    "chars": 1923,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/HmacKeyMetadata.php",
    "chars": 4884,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/HmacKeysMetadata.php",
    "chars": 2309,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/ManagedFolder.php",
    "chars": 4310,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/ManagedFolders.php",
    "chars": 2307,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/Notification.php",
    "chars": 5315,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/Notifications.php",
    "chars": 1667,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/ObjectAccessControl.php",
    "chars": 6729,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/ObjectAccessControlProjectTeam.php",
    "chars": 1541,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/ObjectAccessControls.php",
    "chars": 1755,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/ObjectCustomContextPayload.php",
    "chars": 2113,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/Objects.php",
    "chars": 2769,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/Policy.php",
    "chars": 3759,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/PolicyBindings.php",
    "chars": 7622,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/RelocateBucketRequest.php",
    "chars": 2623,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/RelocateBucketRequestDestinationCustomPlacementConfig.php",
    "chars": 1460,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/Resource/AnywhereCache.php",
    "chars": 5554,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/Resource/AnywhereCaches.php",
    "chars": 5796,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/Resource/BucketAccessControls.php",
    "chars": 6088,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/Resource/Buckets.php",
    "chars": 14197,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/Resource/Channels.php",
    "chars": 1482,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/Resource/DefaultObjectAccessControls.php",
    "chars": 6610,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/Resource/Folders.php",
    "chars": 6591,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/Resource/ManagedFolders.php",
    "chars": 7616,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/Resource/Notifications.php",
    "chars": 3913,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/Resource/ObjectAccessControls.php",
    "chars": 8470,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/Resource/Objects.php",
    "chars": 40707,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/Resource/Operations.php",
    "chars": 4665,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/Resource/Projects.php",
    "chars": 1044,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/Resource/ProjectsHmacKeys.php",
    "chars": 5532,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/Resource/ProjectsServiceAccount.php",
    "chars": 1739,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/RewriteResponse.php",
    "chars": 3979,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/ServiceAccount.php",
    "chars": 1743,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/StorageObject.php",
    "chars": 23457,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/StorageObjectContexts.php",
    "chars": 1253,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/StorageObjectCustomerEncryption.php",
    "chars": 1706,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/StorageObjectOwner.php",
    "chars": 1541,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/StorageObjectRetention.php",
    "chars": 1773,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage/TestIamPermissionsResponse.php",
    "chars": 4331,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/apiclient-services/src/Storage.php",
    "chars": 76300,
    "preview": "<?php\n/*\n * Copyright 2014 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"
  },
  {
    "path": "lib/Google/vendor/google/auth/.repo-metadata.json",
    "chars": 212,
    "preview": "{\n    \"language\": \"php\",\n    \"distribution_name\": \"google/auth\",\n    \"release_level\": \"stable\",\n    \"client_documentatio"
  },
  {
    "path": "lib/Google/vendor/google/auth/COPYING",
    "chars": 11342,
    "preview": "\n                                 Apache License\n                           Version 2.0, January 2004\n                  "
  },
  {
    "path": "lib/Google/vendor/google/auth/LICENSE",
    "chars": 10256,
    "preview": "Apache License\nVersion 2.0, January 2004\nhttp://www.apache.org/licenses/\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AN"
  },
  {
    "path": "lib/Google/vendor/google/auth/README.md",
    "chars": 12883,
    "preview": "# Google Auth Library for PHP\n\n<a href=\"https://cloud.google.com/php/docs/reference/auth/latest\">Reference Docs</a>\n\n## "
  },
  {
    "path": "lib/Google/vendor/google/auth/SECURITY.md",
    "chars": 329,
    "preview": "# Security Policy\n\nTo report a security issue, please use [g.co/vulnz](https://g.co/vulnz).\n\nThe Google Security Team wi"
  },
  {
    "path": "lib/Google/vendor/google/auth/VERSION",
    "chars": 7,
    "preview": "1.50.0\n"
  },
  {
    "path": "lib/Google/vendor/google/auth/composer.json",
    "chars": 1280,
    "preview": "{\n  \"name\": \"google/auth\",\n  \"type\": \"library\",\n  \"description\": \"Google Auth Library for PHP\",\n  \"keywords\": [\"google\","
  },
  {
    "path": "lib/Google/vendor/google/auth/src/AccessToken.php",
    "chars": 17489,
    "preview": "<?php\n/*\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may n"
  },
  {
    "path": "lib/Google/vendor/google/auth/src/ApplicationDefaultCredentials.php",
    "chars": 15401,
    "preview": "<?php\n/*\n * Copyright 2015 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
  },
  {
    "path": "lib/Google/vendor/google/auth/src/Cache/FileSystemCacheItemPool.php",
    "chars": 5581,
    "preview": "<?php\n/**\n * Copyright 2024 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \""
  },
  {
    "path": "lib/Google/vendor/google/auth/src/Cache/InvalidArgumentException.php",
    "chars": 812,
    "preview": "<?php\n/*\n * Copyright 2016 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
  },
  {
    "path": "lib/Google/vendor/google/auth/src/Cache/MemoryCacheItemPool.php",
    "chars": 4456,
    "preview": "<?php\n/*\n * Copyright 2016 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
  },
  {
    "path": "lib/Google/vendor/google/auth/src/Cache/SysVCacheItemPool.php",
    "chars": 9169,
    "preview": "<?php\n/**\n * Copyright 2018 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \""
  },
  {
    "path": "lib/Google/vendor/google/auth/src/Cache/TypedItem.php",
    "chars": 4085,
    "preview": "<?php\n/*\n * Copyright 2022 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
  },
  {
    "path": "lib/Google/vendor/google/auth/src/CacheTrait.php",
    "chars": 2617,
    "preview": "<?php\n/*\n * Copyright 2015 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
  },
  {
    "path": "lib/Google/vendor/google/auth/src/CredentialSource/AwsNativeSource.php",
    "chars": 13938,
    "preview": "<?php\n/*\n * Copyright 2023 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
  },
  {
    "path": "lib/Google/vendor/google/auth/src/CredentialSource/ExecutableSource.php",
    "chars": 10938,
    "preview": "<?php\n/*\n * Copyright 2024 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
  },
  {
    "path": "lib/Google/vendor/google/auth/src/CredentialSource/FileSource.php",
    "chars": 2817,
    "preview": "<?php\n/*\n * Copyright 2023 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
  },
  {
    "path": "lib/Google/vendor/google/auth/src/CredentialSource/UrlSource.php",
    "chars": 3477,
    "preview": "<?php\n/*\n * Copyright 2023 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
  },
  {
    "path": "lib/Google/vendor/google/auth/src/Credentials/AppIdentityCredentials.php",
    "chars": 7044,
    "preview": "<?php\n/*\n * Copyright 2015 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
  },
  {
    "path": "lib/Google/vendor/google/auth/src/Credentials/ExternalAccountCredentials.php",
    "chars": 14872,
    "preview": "<?php\n/*\n * Copyright 2023 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may "
  }
]

// ... and 2239 more files (download for full content)

About this extraction

This page contains the full source code of the wpCloud/wp-stateless GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 2439 files (15.3 MB), approximately 4.2M tokens, and a symbol index with 13102 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!