@decaf-ts/integrations 0.14.3 → 0.15.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +373 -21
- package/dist/integrations.cjs +2 -3317
- package/dist/integrations.cjs.map +1 -0
- package/dist/integrations.js +2 -3665
- package/dist/integrations.js.map +1 -0
- package/jest.config.cjs +0 -1
- package/lib/cjs/blob/azure/AzureBlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/azure/AzureBlobEnvironment.cjs.map +1 -0
- package/lib/cjs/blob/azure/AzureBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/azure/AzureBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/azure/index.cjs +2 -2
- package/lib/cjs/blob/azure/index.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/core/BlobEnvironment.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobErrors.cjs +2 -2
- package/lib/cjs/blob/core/BlobErrors.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobKey.cjs +2 -2
- package/lib/cjs/blob/core/BlobKey.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobStoreFactory.cjs +2 -2
- package/lib/cjs/blob/core/BlobStoreFactory.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/core/BlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobTypes.cjs +2 -2
- package/lib/cjs/blob/core/BlobTypes.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobValue.cjs +2 -2
- package/lib/cjs/blob/core/BlobValue.cjs.map +1 -0
- package/lib/cjs/blob/core/index.cjs +2 -2
- package/lib/cjs/blob/core/index.cjs.map +1 -0
- package/lib/cjs/blob/gcp/GcsBlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/gcp/GcsBlobEnvironment.cjs.map +1 -0
- package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/gcp/index.cjs +2 -2
- package/lib/cjs/blob/gcp/index.cjs.map +1 -0
- package/lib/cjs/blob/index.cjs +2 -2
- package/lib/cjs/blob/index.cjs.map +1 -0
- package/lib/cjs/blob/local/LocalBlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/local/LocalBlobEnvironment.cjs.map +1 -0
- package/lib/cjs/blob/local/LocalBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/local/LocalBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/local/index.cjs +2 -2
- package/lib/cjs/blob/local/index.cjs.map +1 -0
- package/lib/cjs/blob/memory/MemoryBlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/memory/MemoryBlobEnvironment.cjs.map +1 -0
- package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/memory/index.cjs +2 -2
- package/lib/cjs/blob/memory/index.cjs.map +1 -0
- package/lib/cjs/blob/s3/MinioBlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/s3/MinioBlobEnvironment.cjs.map +1 -0
- package/lib/cjs/blob/s3/MinioBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/MinioBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/s3/R2BlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/s3/R2BlobEnvironment.cjs.map +1 -0
- package/lib/cjs/blob/s3/R2BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/R2BlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/s3/S3BlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/s3/S3BlobEnvironment.cjs.map +1 -0
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/s3/S3CompatibleBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/S3CompatibleBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/s3/index.cjs +2 -2
- package/lib/cjs/blob/s3/index.cjs.map +1 -0
- package/lib/cjs/calendar/CalendarService.cjs +2 -2
- package/lib/cjs/calendar/CalendarService.cjs.map +1 -0
- package/lib/cjs/calendar/environment.cjs +2 -2
- package/lib/cjs/calendar/environment.cjs.map +1 -0
- package/lib/cjs/calendar/google-calendar/GoogleCalendarService.cjs +2 -2
- package/lib/cjs/calendar/google-calendar/GoogleCalendarService.cjs.map +1 -0
- package/lib/cjs/calendar/google-calendar/index.cjs +2 -2
- package/lib/cjs/calendar/google-calendar/index.cjs.map +1 -0
- package/lib/cjs/calendar/index.cjs +2 -2
- package/lib/cjs/calendar/index.cjs.map +1 -0
- package/lib/cjs/calendar/types.cjs +2 -2
- package/lib/cjs/calendar/types.cjs.map +1 -0
- package/lib/cjs/calendar/validators/cron.cjs +2 -2
- package/lib/cjs/calendar/validators/cron.cjs.map +1 -0
- package/lib/cjs/calendar/writers/CalendarFsWriter.cjs +2 -2
- package/lib/cjs/calendar/writers/CalendarFsWriter.cjs.map +1 -0
- package/lib/cjs/calendar/writers/CalenderDownloader.cjs +2 -2
- package/lib/cjs/calendar/writers/CalenderDownloader.cjs.map +1 -0
- package/lib/cjs/calendar/writers/ICalendarWriter.cjs +2 -2
- package/lib/cjs/calendar/writers/ICalendarWriter.cjs.map +1 -0
- package/lib/cjs/comms/discord/DiscordService.cjs +2 -2
- package/lib/cjs/comms/discord/DiscordService.cjs.map +1 -0
- package/lib/cjs/comms/discord/index.cjs +2 -2
- package/lib/cjs/comms/discord/index.cjs.map +1 -0
- package/lib/cjs/comms/email/EmailService.cjs +2 -2
- package/lib/cjs/comms/email/EmailService.cjs.map +1 -0
- package/lib/cjs/comms/email/index.cjs +2 -2
- package/lib/cjs/comms/email/index.cjs.map +1 -0
- package/lib/cjs/comms/email/mime.cjs +2 -2
- package/lib/cjs/comms/email/mime.cjs.map +1 -0
- package/lib/cjs/comms/email/smtp.cjs +2 -2
- package/lib/cjs/comms/email/smtp.cjs.map +1 -0
- package/lib/cjs/comms/environment.cjs +2 -2
- package/lib/cjs/comms/environment.cjs.map +1 -0
- package/lib/cjs/comms/gmail/GmailService.cjs +2 -2
- package/lib/cjs/comms/gmail/GmailService.cjs.map +1 -0
- package/lib/cjs/comms/gmail/index.cjs +2 -2
- package/lib/cjs/comms/gmail/index.cjs.map +1 -0
- package/lib/cjs/comms/index.cjs +2 -2
- package/lib/cjs/comms/index.cjs.map +1 -0
- package/lib/cjs/comms/outlook/MicrosoftOutlookService.cjs +2 -2
- package/lib/cjs/comms/outlook/MicrosoftOutlookService.cjs.map +1 -0
- package/lib/cjs/comms/outlook/index.cjs +2 -2
- package/lib/cjs/comms/outlook/index.cjs.map +1 -0
- package/lib/cjs/comms/slack/SlackService.cjs +2 -2
- package/lib/cjs/comms/slack/SlackService.cjs.map +1 -0
- package/lib/cjs/comms/slack/index.cjs +2 -2
- package/lib/cjs/comms/slack/index.cjs.map +1 -0
- package/lib/cjs/comms/teams/TeamsService.cjs +2 -2
- package/lib/cjs/comms/teams/TeamsService.cjs.map +1 -0
- package/lib/cjs/comms/teams/index.cjs +2 -2
- package/lib/cjs/comms/teams/index.cjs.map +1 -0
- package/lib/cjs/comms/telegram/TelegramService.cjs +2 -2
- package/lib/cjs/comms/telegram/TelegramService.cjs.map +1 -0
- package/lib/cjs/comms/telegram/index.cjs +2 -2
- package/lib/cjs/comms/telegram/index.cjs.map +1 -0
- package/lib/cjs/comms/whatsapp/WhatsAppService.cjs +2 -2
- package/lib/cjs/comms/whatsapp/WhatsAppService.cjs.map +1 -0
- package/lib/cjs/comms/whatsapp/index.cjs +2 -2
- package/lib/cjs/comms/whatsapp/index.cjs.map +1 -0
- package/lib/cjs/devops/environment.cjs +2 -2
- package/lib/cjs/devops/environment.cjs.map +1 -0
- package/lib/cjs/devops/github/GithubService.cjs +2 -2
- package/lib/cjs/devops/github/GithubService.cjs.map +1 -0
- package/lib/cjs/devops/github/index.cjs +2 -2
- package/lib/cjs/devops/github/index.cjs.map +1 -0
- package/lib/cjs/devops/gitlab/GitlabService.cjs +2 -2
- package/lib/cjs/devops/gitlab/GitlabService.cjs.map +1 -0
- package/lib/cjs/devops/gitlab/index.cjs +2 -2
- package/lib/cjs/devops/gitlab/index.cjs.map +1 -0
- package/lib/cjs/devops/index.cjs +2 -2
- package/lib/cjs/devops/index.cjs.map +1 -0
- package/lib/cjs/docker/DockerComposeService.cjs +2 -2
- package/lib/cjs/docker/DockerComposeService.cjs.map +1 -0
- package/lib/cjs/docker/index.cjs +2 -2
- package/lib/cjs/docker/index.cjs.map +1 -0
- package/lib/cjs/feature-flags/EngineCapabilityFeatureFlag.service.cjs +2 -2
- package/lib/cjs/feature-flags/EngineCapabilityFeatureFlag.service.cjs.map +1 -0
- package/lib/cjs/feature-flags/constants.cjs +2 -2
- package/lib/cjs/feature-flags/constants.cjs.map +1 -0
- package/lib/cjs/feature-flags/decorators.cjs +2 -2
- package/lib/cjs/feature-flags/decorators.cjs.map +1 -0
- package/lib/cjs/feature-flags/environment.cjs +2 -2
- package/lib/cjs/feature-flags/environment.cjs.map +1 -0
- package/lib/cjs/feature-flags/index.cjs +2 -2
- package/lib/cjs/feature-flags/index.cjs.map +1 -0
- package/lib/cjs/feature-flags/models/FeatureFlag.model.cjs +2 -2
- package/lib/cjs/feature-flags/models/FeatureFlag.model.cjs.map +1 -0
- package/lib/cjs/feature-flags/models/FeatureFlagAccess.model.cjs +2 -2
- package/lib/cjs/feature-flags/models/FeatureFlagAccess.model.cjs.map +1 -0
- package/lib/cjs/feature-flags/readers/FeatureFlagReader.cjs +2 -2
- package/lib/cjs/feature-flags/readers/FeatureFlagReader.cjs.map +1 -0
- package/lib/cjs/feature-flags/readers/index.cjs +2 -2
- package/lib/cjs/feature-flags/readers/index.cjs.map +1 -0
- package/lib/cjs/feature-flags/services/FeatureFlag.service.cjs +3 -2
- package/lib/cjs/feature-flags/services/FeatureFlag.service.cjs.map +1 -0
- package/lib/cjs/feature-flags/types.cjs +2 -2
- package/lib/cjs/feature-flags/types.cjs.map +1 -0
- package/lib/cjs/feature-flags/utils.cjs +2 -2
- package/lib/cjs/feature-flags/utils.cjs.map +1 -0
- package/lib/cjs/index.cjs +5 -5
- package/lib/cjs/index.cjs.map +1 -0
- package/lib/cjs/io/airtable/AirtableService.cjs +2 -2
- package/lib/cjs/io/airtable/AirtableService.cjs.map +1 -0
- package/lib/cjs/io/airtable/index.cjs +2 -2
- package/lib/cjs/io/airtable/index.cjs.map +1 -0
- package/lib/cjs/io/confluence/ConfluenceService.cjs +2 -2
- package/lib/cjs/io/confluence/ConfluenceService.cjs.map +1 -0
- package/lib/cjs/io/confluence/index.cjs +2 -2
- package/lib/cjs/io/confluence/index.cjs.map +1 -0
- package/lib/cjs/io/environment.cjs +2 -2
- package/lib/cjs/io/environment.cjs.map +1 -0
- package/lib/cjs/io/google-docs/GoogleDocsService.cjs +2 -2
- package/lib/cjs/io/google-docs/GoogleDocsService.cjs.map +1 -0
- package/lib/cjs/io/google-docs/index.cjs +2 -2
- package/lib/cjs/io/google-docs/index.cjs.map +1 -0
- package/lib/cjs/io/google-sheets/GoogleSheetsService.cjs +2 -2
- package/lib/cjs/io/google-sheets/GoogleSheetsService.cjs.map +1 -0
- package/lib/cjs/io/google-sheets/index.cjs +2 -2
- package/lib/cjs/io/google-sheets/index.cjs.map +1 -0
- package/lib/cjs/io/graphql/GraphqlService.cjs +2 -2
- package/lib/cjs/io/graphql/GraphqlService.cjs.map +1 -0
- package/lib/cjs/io/graphql/index.cjs +2 -2
- package/lib/cjs/io/graphql/index.cjs.map +1 -0
- package/lib/cjs/io/index.cjs +2 -2
- package/lib/cjs/io/index.cjs.map +1 -0
- package/lib/cjs/io/jira/JiraService.cjs +2 -2
- package/lib/cjs/io/jira/JiraService.cjs.map +1 -0
- package/lib/cjs/io/jira/index.cjs +2 -2
- package/lib/cjs/io/jira/index.cjs.map +1 -0
- package/lib/cjs/io/microsoft-excel/MicrosoftExcelService.cjs +2 -2
- package/lib/cjs/io/microsoft-excel/MicrosoftExcelService.cjs.map +1 -0
- package/lib/cjs/io/microsoft-excel/index.cjs +2 -2
- package/lib/cjs/io/microsoft-excel/index.cjs.map +1 -0
- package/lib/cjs/io/microsoft-sharepoint/MicrosoftSharePointService.cjs +2 -2
- package/lib/cjs/io/microsoft-sharepoint/MicrosoftSharePointService.cjs.map +1 -0
- package/lib/cjs/io/microsoft-sharepoint/index.cjs +2 -2
- package/lib/cjs/io/microsoft-sharepoint/index.cjs.map +1 -0
- package/lib/cjs/io/spreadsheet/SpreadsheetService.cjs +2 -2
- package/lib/cjs/io/spreadsheet/SpreadsheetService.cjs.map +1 -0
- package/lib/cjs/io/spreadsheet/index.cjs +2 -2
- package/lib/cjs/io/spreadsheet/index.cjs.map +1 -0
- package/lib/cjs/keycloak/broker.cjs +2 -2
- package/lib/cjs/keycloak/broker.cjs.map +1 -0
- package/lib/cjs/keycloak/index.cjs +2 -2
- package/lib/cjs/keycloak/index.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakAuthService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakAuthService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakClientService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakClientService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakRealmService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakRealmService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakRoleService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakRoleService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakUserService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakUserService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/index.cjs +2 -2
- package/lib/cjs/keycloak/services/index.cjs.map +1 -0
- package/lib/cjs/keycloak/services/runtime.cjs +2 -2
- package/lib/cjs/keycloak/services/runtime.cjs.map +1 -0
- package/lib/cjs/keycloak/types.cjs +2 -2
- package/lib/cjs/keycloak/types.cjs.map +1 -0
- package/lib/cjs/kibana/builders/KibanaIndexBuilder.cjs +2 -2
- package/lib/cjs/kibana/builders/KibanaIndexBuilder.cjs.map +1 -0
- package/lib/cjs/kibana/builders/KibanaIndexBuilderCollection.cjs +2 -2
- package/lib/cjs/kibana/builders/KibanaIndexBuilderCollection.cjs.map +1 -0
- package/lib/cjs/kibana/builders/index.cjs +2 -2
- package/lib/cjs/kibana/builders/index.cjs.map +1 -0
- package/lib/cjs/kibana/helpers.cjs +2 -2
- package/lib/cjs/kibana/helpers.cjs.map +1 -0
- package/lib/cjs/kibana/index.cjs +2 -2
- package/lib/cjs/kibana/index.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaAuthService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaAuthService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaDashboardService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaDashboardService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaDataViewService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaDataViewService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaRoleService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaRoleService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaSpaceService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaSpaceService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaUserService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaUserService.cjs.map +1 -0
- package/lib/cjs/kibana/services/index.cjs +2 -2
- package/lib/cjs/kibana/services/index.cjs.map +1 -0
- package/lib/cjs/kibana/services/runtime.cjs +2 -2
- package/lib/cjs/kibana/services/runtime.cjs.map +1 -0
- package/lib/cjs/kibana/types.cjs +2 -2
- package/lib/cjs/kibana/types.cjs.map +1 -0
- package/lib/cjs/loader/ObjectLoader.cjs +2 -2
- package/lib/cjs/loader/ObjectLoader.cjs.map +1 -0
- package/lib/cjs/loader/assets.cjs +2 -2
- package/lib/cjs/loader/assets.cjs.map +1 -0
- package/lib/cjs/loader/config.cjs +2 -2
- package/lib/cjs/loader/config.cjs.map +1 -0
- package/lib/cjs/loader/families.cjs +2 -2
- package/lib/cjs/loader/families.cjs.map +1 -0
- package/lib/cjs/loader/index.cjs +2 -2
- package/lib/cjs/loader/index.cjs.map +1 -0
- package/lib/cjs/loader/nest.cjs +2 -2
- package/lib/cjs/loader/nest.cjs.map +1 -0
- package/lib/cjs/loader/types.cjs +2 -2
- package/lib/cjs/loader/types.cjs.map +1 -0
- package/lib/cjs/namespaces/index.cjs +2 -2
- package/lib/cjs/namespaces/index.cjs.map +1 -0
- package/lib/cjs/namespaces/models/authorization-model.cjs +2 -2
- package/lib/cjs/namespaces/models/authorization-model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/credential.model.cjs +2 -2
- package/lib/cjs/namespaces/models/credential.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/effective-permission.model.cjs +2 -2
- package/lib/cjs/namespaces/models/effective-permission.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/group-membership.model.cjs +2 -2
- package/lib/cjs/namespaces/models/group-membership.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/group.model.cjs +2 -2
- package/lib/cjs/namespaces/models/group.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/index.cjs +2 -2
- package/lib/cjs/namespaces/models/index.cjs.map +1 -0
- package/lib/cjs/namespaces/models/inheritance-block.model.cjs +2 -2
- package/lib/cjs/namespaces/models/inheritance-block.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/org-unit-closure.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit-closure.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/org-unit-membership.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit-membership.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/org-unit-profile.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit-profile.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/org-unit.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/permission.model.cjs +2 -2
- package/lib/cjs/namespaces/models/permission.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/principal.model.cjs +2 -2
- package/lib/cjs/namespaces/models/principal.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/protected-resource.model.cjs +2 -2
- package/lib/cjs/namespaces/models/protected-resource.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/resource-grant.model.cjs +2 -2
- package/lib/cjs/namespaces/models/resource-grant.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/role-assignment.model.cjs +2 -2
- package/lib/cjs/namespaces/models/role-assignment.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/role-permission.model.cjs +2 -2
- package/lib/cjs/namespaces/models/role-permission.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/role.model.cjs +2 -2
- package/lib/cjs/namespaces/models/role.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/storage-binding.model.cjs +2 -2
- package/lib/cjs/namespaces/models/storage-binding.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/tenant-membership.model.cjs +2 -2
- package/lib/cjs/namespaces/models/tenant-membership.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/tenant-profile.model.cjs +2 -2
- package/lib/cjs/namespaces/models/tenant-profile.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/tenant.model.cjs +2 -2
- package/lib/cjs/namespaces/models/tenant.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/user.model.cjs +2 -2
- package/lib/cjs/namespaces/models/user.model.cjs.map +1 -0
- package/lib/cjs/namespaces/org-based-authorization-system.cjs +2 -2
- package/lib/cjs/namespaces/org-based-authorization-system.cjs.map +1 -0
- package/lib/cjs/namespaces/org-based-authorization-system.models.cjs +2 -2
- package/lib/cjs/namespaces/org-based-authorization-system.models.cjs.map +1 -0
- package/lib/cjs/namespaces/org-based-authorization-system.services.cjs +2 -2
- package/lib/cjs/namespaces/org-based-authorization-system.services.cjs.map +1 -0
- package/lib/cjs/namespaces/rls/index.cjs +2 -2
- package/lib/cjs/namespaces/rls/index.cjs.map +1 -0
- package/lib/cjs/namespaces/rls/principal-resolver.cjs +2 -2
- package/lib/cjs/namespaces/rls/principal-resolver.cjs.map +1 -0
- package/lib/cjs/namespaces/rls/rls-bootstrap.service.cjs +2 -2
- package/lib/cjs/namespaces/rls/rls-bootstrap.service.cjs.map +1 -0
- package/lib/cjs/namespaces/rls/rls.constants.cjs +2 -2
- package/lib/cjs/namespaces/rls/rls.constants.cjs.map +1 -0
- package/lib/cjs/namespaces/rls/rls.template.cjs +2 -2
- package/lib/cjs/namespaces/rls/rls.template.cjs.map +1 -0
- package/lib/cjs/namespaces/rls/rls.types.cjs +2 -2
- package/lib/cjs/namespaces/rls/rls.types.cjs.map +1 -0
- package/lib/cjs/namespaces/rls/session-binding.cjs +2 -2
- package/lib/cjs/namespaces/rls/session-binding.cjs.map +1 -0
- package/lib/cjs/namespaces/services/authz.service.cjs +2 -2
- package/lib/cjs/namespaces/services/authz.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/bootstrap.service.cjs +2 -2
- package/lib/cjs/namespaces/services/bootstrap.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/credential.service.cjs +2 -2
- package/lib/cjs/namespaces/services/credential.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/effective-permission.service.cjs +2 -2
- package/lib/cjs/namespaces/services/effective-permission.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/group-membership.service.cjs +2 -2
- package/lib/cjs/namespaces/services/group-membership.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/group.service.cjs +2 -2
- package/lib/cjs/namespaces/services/group.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/index.cjs +2 -2
- package/lib/cjs/namespaces/services/index.cjs.map +1 -0
- package/lib/cjs/namespaces/services/inheritance-block.service.cjs +2 -2
- package/lib/cjs/namespaces/services/inheritance-block.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/org-unit-closure.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit-closure.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/org-unit-membership.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit-membership.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/org-unit-profile.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit-profile.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/org-unit.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/permission.service.cjs +2 -2
- package/lib/cjs/namespaces/services/permission.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/principal.service.cjs +2 -2
- package/lib/cjs/namespaces/services/principal.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/protected-resource.service.cjs +2 -2
- package/lib/cjs/namespaces/services/protected-resource.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/resource-grant.service.cjs +2 -2
- package/lib/cjs/namespaces/services/resource-grant.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/resource-lifecycle.service.cjs +2 -2
- package/lib/cjs/namespaces/services/resource-lifecycle.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/role-assignment.service.cjs +2 -2
- package/lib/cjs/namespaces/services/role-assignment.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/role-permission.service.cjs +2 -2
- package/lib/cjs/namespaces/services/role-permission.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/role.service.cjs +2 -2
- package/lib/cjs/namespaces/services/role.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/storage-binding.service.cjs +2 -2
- package/lib/cjs/namespaces/services/storage-binding.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/system-management.service.cjs +2 -2
- package/lib/cjs/namespaces/services/system-management.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/tenant-membership.service.cjs +2 -2
- package/lib/cjs/namespaces/services/tenant-membership.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/tenant-profile.service.cjs +2 -2
- package/lib/cjs/namespaces/services/tenant-profile.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/tenant.service.cjs +2 -2
- package/lib/cjs/namespaces/services/tenant.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/user.service.cjs +2 -2
- package/lib/cjs/namespaces/services/user.service.cjs.map +1 -0
- package/lib/cjs/namespaces/types.cjs +2 -2
- package/lib/cjs/namespaces/types.cjs.map +1 -0
- package/lib/cjs/namespaces/utils.cjs +2 -2
- package/lib/cjs/namespaces/utils.cjs.map +1 -0
- package/lib/cjs/nest/decorators.cjs +2 -2
- package/lib/cjs/nest/decorators.cjs.map +1 -0
- package/lib/cjs/nest/index.cjs +2 -2
- package/lib/cjs/nest/index.cjs.map +1 -0
- package/lib/cjs/nest/keycloakAuthHandler.cjs +2 -2
- package/lib/cjs/nest/keycloakAuthHandler.cjs.map +1 -0
- package/lib/cjs/nest/keycloakModule.cjs +2 -2
- package/lib/cjs/nest/keycloakModule.cjs.map +1 -0
- package/lib/cjs/nest/logging.cjs +2 -2
- package/lib/cjs/nest/logging.cjs.map +1 -0
- package/lib/cjs/nest/types.cjs +2 -2
- package/lib/cjs/nest/types.cjs.map +1 -0
- package/lib/cjs/nest/utils.cjs +2 -2
- package/lib/cjs/nest/utils.cjs.map +1 -0
- package/lib/cjs/plugins/contract.cjs +2 -2
- package/lib/cjs/plugins/contract.cjs.map +1 -0
- package/lib/cjs/plugins/index.cjs +2 -2
- package/lib/cjs/plugins/index.cjs.map +1 -0
- package/lib/cjs/plugins/kibana/host.cjs +2 -2
- package/lib/cjs/plugins/kibana/host.cjs.map +1 -0
- package/lib/cjs/plugins/kibana/index.cjs +2 -2
- package/lib/cjs/plugins/kibana/index.cjs.map +1 -0
- package/lib/cjs/plugins/kibana/installer.cjs +2 -2
- package/lib/cjs/plugins/kibana/installer.cjs.map +1 -0
- package/lib/cjs/plugins/kibana/manifest.cjs +2 -2
- package/lib/cjs/plugins/kibana/manifest.cjs.map +1 -0
- package/lib/cjs/plugins/kibana/templates.cjs +2 -2
- package/lib/cjs/plugins/kibana/templates.cjs.map +1 -0
- package/lib/cjs/plugins/kibana/types.cjs +2 -2
- package/lib/cjs/plugins/kibana/types.cjs.map +1 -0
- package/lib/cjs/plugins/superset/host.cjs +2 -2
- package/lib/cjs/plugins/superset/host.cjs.map +1 -0
- package/lib/cjs/plugins/superset/index.cjs +2 -2
- package/lib/cjs/plugins/superset/index.cjs.map +1 -0
- package/lib/cjs/plugins/superset/installer.cjs +2 -2
- package/lib/cjs/plugins/superset/installer.cjs.map +1 -0
- package/lib/cjs/plugins/superset/manifest.cjs +2 -2
- package/lib/cjs/plugins/superset/manifest.cjs.map +1 -0
- package/lib/cjs/plugins/superset/templates.cjs +2 -2
- package/lib/cjs/plugins/superset/templates.cjs.map +1 -0
- package/lib/cjs/plugins/superset/types.cjs +2 -2
- package/lib/cjs/plugins/superset/types.cjs.map +1 -0
- package/lib/cjs/redis/RedisContextLock.cjs +2 -2
- package/lib/cjs/redis/RedisContextLock.cjs.map +1 -0
- package/lib/cjs/redis/RedisDispatch.cjs +2 -2
- package/lib/cjs/redis/RedisDispatch.cjs.map +1 -0
- package/lib/cjs/redis/RedisPaginator.cjs +2 -2
- package/lib/cjs/redis/RedisPaginator.cjs.map +1 -0
- package/lib/cjs/redis/RedisStatement.cjs +2 -2
- package/lib/cjs/redis/RedisStatement.cjs.map +1 -0
- package/lib/cjs/redis/adapter.cjs +2 -2
- package/lib/cjs/redis/adapter.cjs.map +1 -0
- package/lib/cjs/redis/constants.cjs +2 -2
- package/lib/cjs/redis/constants.cjs.map +1 -0
- package/lib/cjs/redis/handlers.cjs +2 -2
- package/lib/cjs/redis/handlers.cjs.map +1 -0
- package/lib/cjs/redis/index.cjs +2 -2
- package/lib/cjs/redis/index.cjs.map +1 -0
- package/lib/cjs/redis/serialization.cjs +2 -2
- package/lib/cjs/redis/serialization.cjs.map +1 -0
- package/lib/cjs/redis/types.cjs +2 -2
- package/lib/cjs/redis/types.cjs.map +1 -0
- package/lib/cjs/secrets/InfraCredentialBootstrap.cjs +2 -2
- package/lib/cjs/secrets/InfraCredentialBootstrap.cjs.map +1 -0
- package/lib/cjs/secrets/aws/AwsSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/aws/AwsSecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/aws/AwsSecretService.cjs +2 -2
- package/lib/cjs/secrets/aws/AwsSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/aws/index.cjs +2 -2
- package/lib/cjs/secrets/aws/index.cjs.map +1 -0
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs +2 -2
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/azure/AzureSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/azure/AzureSecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/azure/index.cjs +2 -2
- package/lib/cjs/secrets/azure/index.cjs.map +1 -0
- package/lib/cjs/secrets/core/ClientBasedSecretService.cjs +2 -2
- package/lib/cjs/secrets/core/ClientBasedSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/core/SecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretErrors.cjs +2 -2
- package/lib/cjs/secrets/core/SecretErrors.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretName.cjs +2 -2
- package/lib/cjs/secrets/core/SecretName.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretReference.cjs +2 -2
- package/lib/cjs/secrets/core/SecretReference.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretSerialization.cjs +2 -2
- package/lib/cjs/secrets/core/SecretSerialization.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretService.cjs +2 -2
- package/lib/cjs/secrets/core/SecretService.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretTypes.cjs +2 -2
- package/lib/cjs/secrets/core/SecretTypes.cjs.map +1 -0
- package/lib/cjs/secrets/core/index.cjs +2 -2
- package/lib/cjs/secrets/core/index.cjs.map +1 -0
- package/lib/cjs/secrets/fs/FsSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/fs/FsSecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/fs/FsSecretService.cjs +2 -2
- package/lib/cjs/secrets/fs/FsSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/fs/FsSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/fs/FsSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/fs/index.cjs +2 -2
- package/lib/cjs/secrets/fs/index.cjs.map +1 -0
- package/lib/cjs/secrets/gcp/GcpSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/gcp/GcpSecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs +2 -2
- package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs.map +1 -0
- package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/gcp/index.cjs +2 -2
- package/lib/cjs/secrets/gcp/index.cjs.map +1 -0
- package/lib/cjs/secrets/index.cjs +2 -2
- package/lib/cjs/secrets/index.cjs.map +1 -0
- package/lib/cjs/secrets/kubernetes/KubernetesSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/kubernetes/KubernetesSecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/kubernetes/KubernetesSecretService.cjs +2 -2
- package/lib/cjs/secrets/kubernetes/KubernetesSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/kubernetes/KubernetesSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/kubernetes/KubernetesSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/kubernetes/index.cjs +2 -2
- package/lib/cjs/secrets/kubernetes/index.cjs.map +1 -0
- package/lib/cjs/secrets/model/ModelSecretCrypto.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretCrypto.cjs.map +1 -0
- package/lib/cjs/secrets/model/ModelSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/model/ModelSecretService.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/model/Secret.cjs +2 -2
- package/lib/cjs/secrets/model/Secret.cjs.map +1 -0
- package/lib/cjs/secrets/model/index.cjs +2 -2
- package/lib/cjs/secrets/model/index.cjs.map +1 -0
- package/lib/cjs/secrets/onepassword/OnePasswordSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/onepassword/OnePasswordSecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs +2 -2
- package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/onepassword/index.cjs +2 -2
- package/lib/cjs/secrets/onepassword/index.cjs.map +1 -0
- package/lib/cjs/secrets/vault/VaultSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/vault/VaultSecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/vault/VaultSecretService.cjs +2 -2
- package/lib/cjs/secrets/vault/VaultSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/vault/index.cjs +2 -2
- package/lib/cjs/secrets/vault/index.cjs.map +1 -0
- package/lib/cjs/sftp/aws/AwsSftpEnvironment.cjs +2 -2
- package/lib/cjs/sftp/aws/AwsSftpEnvironment.cjs.map +1 -0
- package/lib/cjs/sftp/aws/AwsSftpService.cjs +2 -2
- package/lib/cjs/sftp/aws/AwsSftpService.cjs.map +1 -0
- package/lib/cjs/sftp/aws/index.cjs +2 -2
- package/lib/cjs/sftp/aws/index.cjs.map +1 -0
- package/lib/cjs/sftp/core/SftpEnvironment.cjs +2 -2
- package/lib/cjs/sftp/core/SftpEnvironment.cjs.map +1 -0
- package/lib/cjs/sftp/core/SftpSource.cjs +2 -2
- package/lib/cjs/sftp/core/SftpSource.cjs.map +1 -0
- package/lib/cjs/sftp/core/index.cjs +2 -2
- package/lib/cjs/sftp/core/index.cjs.map +1 -0
- package/lib/cjs/sftp/index.cjs +2 -2
- package/lib/cjs/sftp/index.cjs.map +1 -0
- package/lib/cjs/sftp/ssh2/Ssh2SftpEnvironment.cjs +2 -2
- package/lib/cjs/sftp/ssh2/Ssh2SftpEnvironment.cjs.map +1 -0
- package/lib/cjs/sftp/ssh2/Ssh2SftpService.cjs +2 -2
- package/lib/cjs/sftp/ssh2/Ssh2SftpService.cjs.map +1 -0
- package/lib/cjs/sftp/ssh2/index.cjs +2 -2
- package/lib/cjs/sftp/ssh2/index.cjs.map +1 -0
- package/lib/cjs/shared/environmentValue.cjs +2 -2
- package/lib/cjs/shared/environmentValue.cjs.map +1 -0
- package/lib/cjs/shared/http/HttpApiService.cjs +2 -2
- package/lib/cjs/shared/http/HttpApiService.cjs.map +1 -0
- package/lib/cjs/shared/http/hermeticBoot.cjs +2 -2
- package/lib/cjs/shared/http/hermeticBoot.cjs.map +1 -0
- package/lib/cjs/shared/http/index.cjs +2 -2
- package/lib/cjs/shared/http/index.cjs.map +1 -0
- package/lib/cjs/shared/runtime.cjs +2 -2
- package/lib/cjs/shared/runtime.cjs.map +1 -0
- package/lib/cjs/user-requests/index.cjs +2 -2
- package/lib/cjs/user-requests/index.cjs.map +1 -0
- package/lib/cjs/utils.cjs +2 -2
- package/lib/cjs/utils.cjs.map +1 -0
- package/lib/esm/blob/azure/AzureBlobEnvironment.js +1 -1
- package/lib/esm/blob/azure/AzureBlobEnvironment.js.map +1 -0
- package/lib/esm/blob/azure/AzureBlobStoreService.js +1 -1
- package/lib/esm/blob/azure/AzureBlobStoreService.js.map +1 -0
- package/lib/esm/blob/azure/index.js +1 -1
- package/lib/esm/blob/azure/index.js.map +1 -0
- package/lib/esm/blob/core/BlobEnvironment.js +1 -1
- package/lib/esm/blob/core/BlobEnvironment.js.map +1 -0
- package/lib/esm/blob/core/BlobErrors.js +1 -1
- package/lib/esm/blob/core/BlobErrors.js.map +1 -0
- package/lib/esm/blob/core/BlobKey.js +1 -1
- package/lib/esm/blob/core/BlobKey.js.map +1 -0
- package/lib/esm/blob/core/BlobStoreFactory.js +1 -1
- package/lib/esm/blob/core/BlobStoreFactory.js.map +1 -0
- package/lib/esm/blob/core/BlobStoreService.js +1 -1
- package/lib/esm/blob/core/BlobStoreService.js.map +1 -0
- package/lib/esm/blob/core/BlobTypes.js +1 -1
- package/lib/esm/blob/core/BlobTypes.js.map +1 -0
- package/lib/esm/blob/core/BlobValue.js +1 -1
- package/lib/esm/blob/core/BlobValue.js.map +1 -0
- package/lib/esm/blob/core/index.js +1 -1
- package/lib/esm/blob/core/index.js.map +1 -0
- package/lib/esm/blob/gcp/GcsBlobEnvironment.js +1 -1
- package/lib/esm/blob/gcp/GcsBlobEnvironment.js.map +1 -0
- package/lib/esm/blob/gcp/GcsBlobStoreService.js +1 -1
- package/lib/esm/blob/gcp/GcsBlobStoreService.js.map +1 -0
- package/lib/esm/blob/gcp/index.js +1 -1
- package/lib/esm/blob/gcp/index.js.map +1 -0
- package/lib/esm/blob/index.js +1 -1
- package/lib/esm/blob/index.js.map +1 -0
- package/lib/esm/blob/local/LocalBlobEnvironment.js +1 -1
- package/lib/esm/blob/local/LocalBlobEnvironment.js.map +1 -0
- package/lib/esm/blob/local/LocalBlobStoreService.js +1 -1
- package/lib/esm/blob/local/LocalBlobStoreService.js.map +1 -0
- package/lib/esm/blob/local/index.js +1 -1
- package/lib/esm/blob/local/index.js.map +1 -0
- package/lib/esm/blob/memory/MemoryBlobEnvironment.js +1 -1
- package/lib/esm/blob/memory/MemoryBlobEnvironment.js.map +1 -0
- package/lib/esm/blob/memory/MemoryBlobStoreService.js +1 -1
- package/lib/esm/blob/memory/MemoryBlobStoreService.js.map +1 -0
- package/lib/esm/blob/memory/index.js +1 -1
- package/lib/esm/blob/memory/index.js.map +1 -0
- package/lib/esm/blob/s3/MinioBlobEnvironment.js +1 -1
- package/lib/esm/blob/s3/MinioBlobEnvironment.js.map +1 -0
- package/lib/esm/blob/s3/MinioBlobStoreService.js +1 -1
- package/lib/esm/blob/s3/MinioBlobStoreService.js.map +1 -0
- package/lib/esm/blob/s3/R2BlobEnvironment.js +1 -1
- package/lib/esm/blob/s3/R2BlobEnvironment.js.map +1 -0
- package/lib/esm/blob/s3/R2BlobStoreService.js +1 -1
- package/lib/esm/blob/s3/R2BlobStoreService.js.map +1 -0
- package/lib/esm/blob/s3/S3BlobEnvironment.js +1 -1
- package/lib/esm/blob/s3/S3BlobEnvironment.js.map +1 -0
- package/lib/esm/blob/s3/S3BlobStoreService.js +1 -1
- package/lib/esm/blob/s3/S3BlobStoreService.js.map +1 -0
- package/lib/esm/blob/s3/S3CompatibleBlobStoreService.js +1 -1
- package/lib/esm/blob/s3/S3CompatibleBlobStoreService.js.map +1 -0
- package/lib/esm/blob/s3/index.js +1 -1
- package/lib/esm/blob/s3/index.js.map +1 -0
- package/lib/esm/calendar/CalendarService.js +1 -1
- package/lib/esm/calendar/CalendarService.js.map +1 -0
- package/lib/esm/calendar/environment.js +1 -1
- package/lib/esm/calendar/environment.js.map +1 -0
- package/lib/esm/calendar/google-calendar/GoogleCalendarService.js +1 -1
- package/lib/esm/calendar/google-calendar/GoogleCalendarService.js.map +1 -0
- package/lib/esm/calendar/google-calendar/index.js +1 -1
- package/lib/esm/calendar/google-calendar/index.js.map +1 -0
- package/lib/esm/calendar/index.js +1 -1
- package/lib/esm/calendar/index.js.map +1 -0
- package/lib/esm/calendar/types.js +1 -1
- package/lib/esm/calendar/types.js.map +1 -0
- package/lib/esm/calendar/validators/cron.js +1 -1
- package/lib/esm/calendar/validators/cron.js.map +1 -0
- package/lib/esm/calendar/writers/CalendarFsWriter.js +1 -1
- package/lib/esm/calendar/writers/CalendarFsWriter.js.map +1 -0
- package/lib/esm/calendar/writers/CalenderDownloader.js +1 -1
- package/lib/esm/calendar/writers/CalenderDownloader.js.map +1 -0
- package/lib/esm/calendar/writers/ICalendarWriter.js +1 -1
- package/lib/esm/calendar/writers/ICalendarWriter.js.map +1 -0
- package/lib/esm/comms/discord/DiscordService.js +1 -1
- package/lib/esm/comms/discord/DiscordService.js.map +1 -0
- package/lib/esm/comms/discord/index.js +1 -1
- package/lib/esm/comms/discord/index.js.map +1 -0
- package/lib/esm/comms/email/EmailService.js +1 -1
- package/lib/esm/comms/email/EmailService.js.map +1 -0
- package/lib/esm/comms/email/index.js +1 -1
- package/lib/esm/comms/email/index.js.map +1 -0
- package/lib/esm/comms/email/mime.js +1 -1
- package/lib/esm/comms/email/mime.js.map +1 -0
- package/lib/esm/comms/email/smtp.js +1 -1
- package/lib/esm/comms/email/smtp.js.map +1 -0
- package/lib/esm/comms/environment.js +1 -1
- package/lib/esm/comms/environment.js.map +1 -0
- package/lib/esm/comms/gmail/GmailService.js +1 -1
- package/lib/esm/comms/gmail/GmailService.js.map +1 -0
- package/lib/esm/comms/gmail/index.js +1 -1
- package/lib/esm/comms/gmail/index.js.map +1 -0
- package/lib/esm/comms/index.js +1 -1
- package/lib/esm/comms/index.js.map +1 -0
- package/lib/esm/comms/outlook/MicrosoftOutlookService.js +1 -1
- package/lib/esm/comms/outlook/MicrosoftOutlookService.js.map +1 -0
- package/lib/esm/comms/outlook/index.js +1 -1
- package/lib/esm/comms/outlook/index.js.map +1 -0
- package/lib/esm/comms/slack/SlackService.js +1 -1
- package/lib/esm/comms/slack/SlackService.js.map +1 -0
- package/lib/esm/comms/slack/index.js +1 -1
- package/lib/esm/comms/slack/index.js.map +1 -0
- package/lib/esm/comms/teams/TeamsService.js +1 -1
- package/lib/esm/comms/teams/TeamsService.js.map +1 -0
- package/lib/esm/comms/teams/index.js +1 -1
- package/lib/esm/comms/teams/index.js.map +1 -0
- package/lib/esm/comms/telegram/TelegramService.js +1 -1
- package/lib/esm/comms/telegram/TelegramService.js.map +1 -0
- package/lib/esm/comms/telegram/index.js +1 -1
- package/lib/esm/comms/telegram/index.js.map +1 -0
- package/lib/esm/comms/whatsapp/WhatsAppService.js +1 -1
- package/lib/esm/comms/whatsapp/WhatsAppService.js.map +1 -0
- package/lib/esm/comms/whatsapp/index.js +1 -1
- package/lib/esm/comms/whatsapp/index.js.map +1 -0
- package/lib/esm/devops/environment.js +1 -1
- package/lib/esm/devops/environment.js.map +1 -0
- package/lib/esm/devops/github/GithubService.js +1 -1
- package/lib/esm/devops/github/GithubService.js.map +1 -0
- package/lib/esm/devops/github/index.js +1 -1
- package/lib/esm/devops/github/index.js.map +1 -0
- package/lib/esm/devops/gitlab/GitlabService.js +1 -1
- package/lib/esm/devops/gitlab/GitlabService.js.map +1 -0
- package/lib/esm/devops/gitlab/index.js +1 -1
- package/lib/esm/devops/gitlab/index.js.map +1 -0
- package/lib/esm/devops/index.js +1 -1
- package/lib/esm/devops/index.js.map +1 -0
- package/lib/esm/docker/DockerComposeService.js +1 -1
- package/lib/esm/docker/DockerComposeService.js.map +1 -0
- package/lib/esm/docker/index.js +1 -1
- package/lib/esm/docker/index.js.map +1 -0
- package/lib/esm/feature-flags/EngineCapabilityFeatureFlag.service.js +1 -1
- package/lib/esm/feature-flags/EngineCapabilityFeatureFlag.service.js.map +1 -0
- package/lib/esm/feature-flags/constants.js +1 -1
- package/lib/esm/feature-flags/constants.js.map +1 -0
- package/lib/esm/feature-flags/decorators.js +1 -1
- package/lib/esm/feature-flags/decorators.js.map +1 -0
- package/lib/esm/feature-flags/environment.js +1 -1
- package/lib/esm/feature-flags/environment.js.map +1 -0
- package/lib/esm/feature-flags/index.js +1 -1
- package/lib/esm/feature-flags/index.js.map +1 -0
- package/lib/esm/feature-flags/models/FeatureFlag.model.js +1 -1
- package/lib/esm/feature-flags/models/FeatureFlag.model.js.map +1 -0
- package/lib/esm/feature-flags/models/FeatureFlagAccess.model.js +1 -1
- package/lib/esm/feature-flags/models/FeatureFlagAccess.model.js.map +1 -0
- package/lib/esm/feature-flags/readers/FeatureFlagReader.js +1 -1
- package/lib/esm/feature-flags/readers/FeatureFlagReader.js.map +1 -0
- package/lib/esm/feature-flags/readers/index.js +1 -1
- package/lib/esm/feature-flags/readers/index.js.map +1 -0
- package/lib/esm/feature-flags/services/FeatureFlag.service.js +2 -1
- package/lib/esm/feature-flags/services/FeatureFlag.service.js.map +1 -0
- package/lib/esm/feature-flags/types.js +1 -1
- package/lib/esm/feature-flags/types.js.map +1 -0
- package/lib/esm/feature-flags/utils.js +1 -1
- package/lib/esm/feature-flags/utils.js.map +1 -0
- package/lib/esm/index.js +4 -4
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/io/airtable/AirtableService.js +1 -1
- package/lib/esm/io/airtable/AirtableService.js.map +1 -0
- package/lib/esm/io/airtable/index.js +1 -1
- package/lib/esm/io/airtable/index.js.map +1 -0
- package/lib/esm/io/confluence/ConfluenceService.js +1 -1
- package/lib/esm/io/confluence/ConfluenceService.js.map +1 -0
- package/lib/esm/io/confluence/index.js +1 -1
- package/lib/esm/io/confluence/index.js.map +1 -0
- package/lib/esm/io/environment.js +1 -1
- package/lib/esm/io/environment.js.map +1 -0
- package/lib/esm/io/google-docs/GoogleDocsService.js +1 -1
- package/lib/esm/io/google-docs/GoogleDocsService.js.map +1 -0
- package/lib/esm/io/google-docs/index.js +1 -1
- package/lib/esm/io/google-docs/index.js.map +1 -0
- package/lib/esm/io/google-sheets/GoogleSheetsService.js +1 -1
- package/lib/esm/io/google-sheets/GoogleSheetsService.js.map +1 -0
- package/lib/esm/io/google-sheets/index.js +1 -1
- package/lib/esm/io/google-sheets/index.js.map +1 -0
- package/lib/esm/io/graphql/GraphqlService.js +1 -1
- package/lib/esm/io/graphql/GraphqlService.js.map +1 -0
- package/lib/esm/io/graphql/index.js +1 -1
- package/lib/esm/io/graphql/index.js.map +1 -0
- package/lib/esm/io/index.js +1 -1
- package/lib/esm/io/index.js.map +1 -0
- package/lib/esm/io/jira/JiraService.js +1 -1
- package/lib/esm/io/jira/JiraService.js.map +1 -0
- package/lib/esm/io/jira/index.js +1 -1
- package/lib/esm/io/jira/index.js.map +1 -0
- package/lib/esm/io/microsoft-excel/MicrosoftExcelService.js +1 -1
- package/lib/esm/io/microsoft-excel/MicrosoftExcelService.js.map +1 -0
- package/lib/esm/io/microsoft-excel/index.js +1 -1
- package/lib/esm/io/microsoft-excel/index.js.map +1 -0
- package/lib/esm/io/microsoft-sharepoint/MicrosoftSharePointService.js +1 -1
- package/lib/esm/io/microsoft-sharepoint/MicrosoftSharePointService.js.map +1 -0
- package/lib/esm/io/microsoft-sharepoint/index.js +1 -1
- package/lib/esm/io/microsoft-sharepoint/index.js.map +1 -0
- package/lib/esm/io/spreadsheet/SpreadsheetService.js +1 -1
- package/lib/esm/io/spreadsheet/SpreadsheetService.js.map +1 -0
- package/lib/esm/io/spreadsheet/index.js +1 -1
- package/lib/esm/io/spreadsheet/index.js.map +1 -0
- package/lib/esm/keycloak/broker.js +1 -1
- package/lib/esm/keycloak/broker.js.map +1 -0
- package/lib/esm/keycloak/index.js +1 -1
- package/lib/esm/keycloak/index.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakAuthService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakAuthService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakClientService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakClientService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakRealmService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakRealmService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakRoleService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakRoleService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakUserService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakUserService.js.map +1 -0
- package/lib/esm/keycloak/services/index.js +1 -1
- package/lib/esm/keycloak/services/index.js.map +1 -0
- package/lib/esm/keycloak/services/runtime.js +1 -1
- package/lib/esm/keycloak/services/runtime.js.map +1 -0
- package/lib/esm/keycloak/types.js +1 -1
- package/lib/esm/keycloak/types.js.map +1 -0
- package/lib/esm/kibana/builders/KibanaIndexBuilder.js +1 -1
- package/lib/esm/kibana/builders/KibanaIndexBuilder.js.map +1 -0
- package/lib/esm/kibana/builders/KibanaIndexBuilderCollection.js +1 -1
- package/lib/esm/kibana/builders/KibanaIndexBuilderCollection.js.map +1 -0
- package/lib/esm/kibana/builders/index.js +1 -1
- package/lib/esm/kibana/builders/index.js.map +1 -0
- package/lib/esm/kibana/helpers.js +1 -1
- package/lib/esm/kibana/helpers.js.map +1 -0
- package/lib/esm/kibana/index.js +1 -1
- package/lib/esm/kibana/index.js.map +1 -0
- package/lib/esm/kibana/services/KibanaAuthService.js +1 -1
- package/lib/esm/kibana/services/KibanaAuthService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaDashboardService.js +1 -1
- package/lib/esm/kibana/services/KibanaDashboardService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaDataViewService.js +1 -1
- package/lib/esm/kibana/services/KibanaDataViewService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaRoleService.js +1 -1
- package/lib/esm/kibana/services/KibanaRoleService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaService.js +1 -1
- package/lib/esm/kibana/services/KibanaService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaSpaceService.js +1 -1
- package/lib/esm/kibana/services/KibanaSpaceService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaUserService.js +1 -1
- package/lib/esm/kibana/services/KibanaUserService.js.map +1 -0
- package/lib/esm/kibana/services/index.js +1 -1
- package/lib/esm/kibana/services/index.js.map +1 -0
- package/lib/esm/kibana/services/runtime.js +1 -1
- package/lib/esm/kibana/services/runtime.js.map +1 -0
- package/lib/esm/kibana/types.js +1 -1
- package/lib/esm/kibana/types.js.map +1 -0
- package/lib/esm/loader/ObjectLoader.js +1 -1
- package/lib/esm/loader/ObjectLoader.js.map +1 -0
- package/lib/esm/loader/assets.js +1 -1
- package/lib/esm/loader/assets.js.map +1 -0
- package/lib/esm/loader/config.js +1 -1
- package/lib/esm/loader/config.js.map +1 -0
- package/lib/esm/loader/families.js +1 -1
- package/lib/esm/loader/families.js.map +1 -0
- package/lib/esm/loader/index.js +1 -1
- package/lib/esm/loader/index.js.map +1 -0
- package/lib/esm/loader/nest.js +1 -1
- package/lib/esm/loader/nest.js.map +1 -0
- package/lib/esm/loader/types.js +1 -1
- package/lib/esm/loader/types.js.map +1 -0
- package/lib/esm/namespaces/index.js +1 -1
- package/lib/esm/namespaces/index.js.map +1 -0
- package/lib/esm/namespaces/models/authorization-model.js +1 -1
- package/lib/esm/namespaces/models/authorization-model.js.map +1 -0
- package/lib/esm/namespaces/models/credential.model.js +1 -1
- package/lib/esm/namespaces/models/credential.model.js.map +1 -0
- package/lib/esm/namespaces/models/effective-permission.model.js +1 -1
- package/lib/esm/namespaces/models/effective-permission.model.js.map +1 -0
- package/lib/esm/namespaces/models/group-membership.model.js +1 -1
- package/lib/esm/namespaces/models/group-membership.model.js.map +1 -0
- package/lib/esm/namespaces/models/group.model.js +1 -1
- package/lib/esm/namespaces/models/group.model.js.map +1 -0
- package/lib/esm/namespaces/models/index.js +1 -1
- package/lib/esm/namespaces/models/index.js.map +1 -0
- package/lib/esm/namespaces/models/inheritance-block.model.js +1 -1
- package/lib/esm/namespaces/models/inheritance-block.model.js.map +1 -0
- package/lib/esm/namespaces/models/org-unit-closure.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit-closure.model.js.map +1 -0
- package/lib/esm/namespaces/models/org-unit-membership.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit-membership.model.js.map +1 -0
- package/lib/esm/namespaces/models/org-unit-profile.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit-profile.model.js.map +1 -0
- package/lib/esm/namespaces/models/org-unit.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit.model.js.map +1 -0
- package/lib/esm/namespaces/models/permission.model.js +1 -1
- package/lib/esm/namespaces/models/permission.model.js.map +1 -0
- package/lib/esm/namespaces/models/principal.model.js +1 -1
- package/lib/esm/namespaces/models/principal.model.js.map +1 -0
- package/lib/esm/namespaces/models/protected-resource.model.js +1 -1
- package/lib/esm/namespaces/models/protected-resource.model.js.map +1 -0
- package/lib/esm/namespaces/models/resource-grant.model.js +1 -1
- package/lib/esm/namespaces/models/resource-grant.model.js.map +1 -0
- package/lib/esm/namespaces/models/role-assignment.model.js +1 -1
- package/lib/esm/namespaces/models/role-assignment.model.js.map +1 -0
- package/lib/esm/namespaces/models/role-permission.model.js +1 -1
- package/lib/esm/namespaces/models/role-permission.model.js.map +1 -0
- package/lib/esm/namespaces/models/role.model.js +1 -1
- package/lib/esm/namespaces/models/role.model.js.map +1 -0
- package/lib/esm/namespaces/models/storage-binding.model.js +1 -1
- package/lib/esm/namespaces/models/storage-binding.model.js.map +1 -0
- package/lib/esm/namespaces/models/tenant-membership.model.js +1 -1
- package/lib/esm/namespaces/models/tenant-membership.model.js.map +1 -0
- package/lib/esm/namespaces/models/tenant-profile.model.js +1 -1
- package/lib/esm/namespaces/models/tenant-profile.model.js.map +1 -0
- package/lib/esm/namespaces/models/tenant.model.js +1 -1
- package/lib/esm/namespaces/models/tenant.model.js.map +1 -0
- package/lib/esm/namespaces/models/user.model.js +1 -1
- package/lib/esm/namespaces/models/user.model.js.map +1 -0
- package/lib/esm/namespaces/org-based-authorization-system.js +1 -1
- package/lib/esm/namespaces/org-based-authorization-system.js.map +1 -0
- package/lib/esm/namespaces/org-based-authorization-system.models.js +1 -1
- package/lib/esm/namespaces/org-based-authorization-system.models.js.map +1 -0
- package/lib/esm/namespaces/org-based-authorization-system.services.js +1 -1
- package/lib/esm/namespaces/org-based-authorization-system.services.js.map +1 -0
- package/lib/esm/namespaces/rls/index.js +1 -1
- package/lib/esm/namespaces/rls/index.js.map +1 -0
- package/lib/esm/namespaces/rls/principal-resolver.js +1 -1
- package/lib/esm/namespaces/rls/principal-resolver.js.map +1 -0
- package/lib/esm/namespaces/rls/rls-bootstrap.service.js +1 -1
- package/lib/esm/namespaces/rls/rls-bootstrap.service.js.map +1 -0
- package/lib/esm/namespaces/rls/rls.constants.js +1 -1
- package/lib/esm/namespaces/rls/rls.constants.js.map +1 -0
- package/lib/esm/namespaces/rls/rls.template.js +1 -1
- package/lib/esm/namespaces/rls/rls.template.js.map +1 -0
- package/lib/esm/namespaces/rls/rls.types.js +1 -1
- package/lib/esm/namespaces/rls/rls.types.js.map +1 -0
- package/lib/esm/namespaces/rls/session-binding.js +1 -1
- package/lib/esm/namespaces/rls/session-binding.js.map +1 -0
- package/lib/esm/namespaces/services/authz.service.js +1 -1
- package/lib/esm/namespaces/services/authz.service.js.map +1 -0
- package/lib/esm/namespaces/services/bootstrap.service.js +1 -1
- package/lib/esm/namespaces/services/bootstrap.service.js.map +1 -0
- package/lib/esm/namespaces/services/credential.service.js +1 -1
- package/lib/esm/namespaces/services/credential.service.js.map +1 -0
- package/lib/esm/namespaces/services/effective-permission.service.js +1 -1
- package/lib/esm/namespaces/services/effective-permission.service.js.map +1 -0
- package/lib/esm/namespaces/services/group-membership.service.js +1 -1
- package/lib/esm/namespaces/services/group-membership.service.js.map +1 -0
- package/lib/esm/namespaces/services/group.service.js +1 -1
- package/lib/esm/namespaces/services/group.service.js.map +1 -0
- package/lib/esm/namespaces/services/index.js +1 -1
- package/lib/esm/namespaces/services/index.js.map +1 -0
- package/lib/esm/namespaces/services/inheritance-block.service.js +1 -1
- package/lib/esm/namespaces/services/inheritance-block.service.js.map +1 -0
- package/lib/esm/namespaces/services/org-unit-closure.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit-closure.service.js.map +1 -0
- package/lib/esm/namespaces/services/org-unit-membership.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit-membership.service.js.map +1 -0
- package/lib/esm/namespaces/services/org-unit-profile.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit-profile.service.js.map +1 -0
- package/lib/esm/namespaces/services/org-unit.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit.service.js.map +1 -0
- package/lib/esm/namespaces/services/permission.service.js +1 -1
- package/lib/esm/namespaces/services/permission.service.js.map +1 -0
- package/lib/esm/namespaces/services/principal.service.js +1 -1
- package/lib/esm/namespaces/services/principal.service.js.map +1 -0
- package/lib/esm/namespaces/services/protected-resource.service.js +1 -1
- package/lib/esm/namespaces/services/protected-resource.service.js.map +1 -0
- package/lib/esm/namespaces/services/resource-grant.service.js +1 -1
- package/lib/esm/namespaces/services/resource-grant.service.js.map +1 -0
- package/lib/esm/namespaces/services/resource-lifecycle.service.js +1 -1
- package/lib/esm/namespaces/services/resource-lifecycle.service.js.map +1 -0
- package/lib/esm/namespaces/services/role-assignment.service.js +1 -1
- package/lib/esm/namespaces/services/role-assignment.service.js.map +1 -0
- package/lib/esm/namespaces/services/role-permission.service.js +1 -1
- package/lib/esm/namespaces/services/role-permission.service.js.map +1 -0
- package/lib/esm/namespaces/services/role.service.js +1 -1
- package/lib/esm/namespaces/services/role.service.js.map +1 -0
- package/lib/esm/namespaces/services/storage-binding.service.js +1 -1
- package/lib/esm/namespaces/services/storage-binding.service.js.map +1 -0
- package/lib/esm/namespaces/services/system-management.service.js +1 -1
- package/lib/esm/namespaces/services/system-management.service.js.map +1 -0
- package/lib/esm/namespaces/services/tenant-membership.service.js +1 -1
- package/lib/esm/namespaces/services/tenant-membership.service.js.map +1 -0
- package/lib/esm/namespaces/services/tenant-profile.service.js +1 -1
- package/lib/esm/namespaces/services/tenant-profile.service.js.map +1 -0
- package/lib/esm/namespaces/services/tenant.service.js +1 -1
- package/lib/esm/namespaces/services/tenant.service.js.map +1 -0
- package/lib/esm/namespaces/services/user.service.js +1 -1
- package/lib/esm/namespaces/services/user.service.js.map +1 -0
- package/lib/esm/namespaces/types.js +1 -1
- package/lib/esm/namespaces/types.js.map +1 -0
- package/lib/esm/namespaces/utils.js +1 -1
- package/lib/esm/namespaces/utils.js.map +1 -0
- package/lib/esm/nest/decorators.js +1 -1
- package/lib/esm/nest/decorators.js.map +1 -0
- package/lib/esm/nest/index.js +1 -1
- package/lib/esm/nest/index.js.map +1 -0
- package/lib/esm/nest/keycloakAuthHandler.js +1 -1
- package/lib/esm/nest/keycloakAuthHandler.js.map +1 -0
- package/lib/esm/nest/keycloakModule.js +1 -1
- package/lib/esm/nest/keycloakModule.js.map +1 -0
- package/lib/esm/nest/logging.js +1 -1
- package/lib/esm/nest/logging.js.map +1 -0
- package/lib/esm/nest/types.js +1 -1
- package/lib/esm/nest/types.js.map +1 -0
- package/lib/esm/nest/utils.js +1 -1
- package/lib/esm/nest/utils.js.map +1 -0
- package/lib/esm/plugins/contract.js +1 -1
- package/lib/esm/plugins/contract.js.map +1 -0
- package/lib/esm/plugins/index.js +1 -1
- package/lib/esm/plugins/index.js.map +1 -0
- package/lib/esm/plugins/kibana/host.js +1 -1
- package/lib/esm/plugins/kibana/host.js.map +1 -0
- package/lib/esm/plugins/kibana/index.js +1 -1
- package/lib/esm/plugins/kibana/index.js.map +1 -0
- package/lib/esm/plugins/kibana/installer.js +1 -1
- package/lib/esm/plugins/kibana/installer.js.map +1 -0
- package/lib/esm/plugins/kibana/manifest.js +1 -1
- package/lib/esm/plugins/kibana/manifest.js.map +1 -0
- package/lib/esm/plugins/kibana/templates.js +1 -1
- package/lib/esm/plugins/kibana/templates.js.map +1 -0
- package/lib/esm/plugins/kibana/types.js +1 -1
- package/lib/esm/plugins/kibana/types.js.map +1 -0
- package/lib/esm/plugins/superset/host.js +1 -1
- package/lib/esm/plugins/superset/host.js.map +1 -0
- package/lib/esm/plugins/superset/index.js +1 -1
- package/lib/esm/plugins/superset/index.js.map +1 -0
- package/lib/esm/plugins/superset/installer.js +1 -1
- package/lib/esm/plugins/superset/installer.js.map +1 -0
- package/lib/esm/plugins/superset/manifest.js +1 -1
- package/lib/esm/plugins/superset/manifest.js.map +1 -0
- package/lib/esm/plugins/superset/templates.js +1 -1
- package/lib/esm/plugins/superset/templates.js.map +1 -0
- package/lib/esm/plugins/superset/types.js +1 -1
- package/lib/esm/plugins/superset/types.js.map +1 -0
- package/lib/esm/redis/RedisContextLock.js +1 -1
- package/lib/esm/redis/RedisContextLock.js.map +1 -0
- package/lib/esm/redis/RedisDispatch.js +1 -1
- package/lib/esm/redis/RedisDispatch.js.map +1 -0
- package/lib/esm/redis/RedisPaginator.js +1 -1
- package/lib/esm/redis/RedisPaginator.js.map +1 -0
- package/lib/esm/redis/RedisStatement.js +1 -1
- package/lib/esm/redis/RedisStatement.js.map +1 -0
- package/lib/esm/redis/adapter.js +1 -1
- package/lib/esm/redis/adapter.js.map +1 -0
- package/lib/esm/redis/constants.js +1 -1
- package/lib/esm/redis/constants.js.map +1 -0
- package/lib/esm/redis/handlers.js +1 -1
- package/lib/esm/redis/handlers.js.map +1 -0
- package/lib/esm/redis/index.js +1 -1
- package/lib/esm/redis/index.js.map +1 -0
- package/lib/esm/redis/serialization.js +1 -1
- package/lib/esm/redis/serialization.js.map +1 -0
- package/lib/esm/redis/types.js +1 -1
- package/lib/esm/redis/types.js.map +1 -0
- package/lib/esm/secrets/InfraCredentialBootstrap.js +1 -1
- package/lib/esm/secrets/InfraCredentialBootstrap.js.map +1 -0
- package/lib/esm/secrets/aws/AwsSecretEnvironment.js +1 -1
- package/lib/esm/secrets/aws/AwsSecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/aws/AwsSecretService.js +1 -1
- package/lib/esm/secrets/aws/AwsSecretService.js.map +1 -0
- package/lib/esm/secrets/aws/AwsSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/aws/AwsSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/aws/index.js +1 -1
- package/lib/esm/secrets/aws/index.js.map +1 -0
- package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js +1 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js.map +1 -0
- package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/azure/AzureSecretEnvironment.js +1 -1
- package/lib/esm/secrets/azure/AzureSecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/azure/index.js +1 -1
- package/lib/esm/secrets/azure/index.js.map +1 -0
- package/lib/esm/secrets/core/ClientBasedSecretService.js +1 -1
- package/lib/esm/secrets/core/ClientBasedSecretService.js.map +1 -0
- package/lib/esm/secrets/core/SecretEnvironment.js +1 -1
- package/lib/esm/secrets/core/SecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/core/SecretErrors.js +1 -1
- package/lib/esm/secrets/core/SecretErrors.js.map +1 -0
- package/lib/esm/secrets/core/SecretName.js +1 -1
- package/lib/esm/secrets/core/SecretName.js.map +1 -0
- package/lib/esm/secrets/core/SecretReference.js +1 -1
- package/lib/esm/secrets/core/SecretReference.js.map +1 -0
- package/lib/esm/secrets/core/SecretSerialization.js +1 -1
- package/lib/esm/secrets/core/SecretSerialization.js.map +1 -0
- package/lib/esm/secrets/core/SecretService.js +1 -1
- package/lib/esm/secrets/core/SecretService.js.map +1 -0
- package/lib/esm/secrets/core/SecretTypes.js +1 -1
- package/lib/esm/secrets/core/SecretTypes.js.map +1 -0
- package/lib/esm/secrets/core/index.js +1 -1
- package/lib/esm/secrets/core/index.js.map +1 -0
- package/lib/esm/secrets/fs/FsSecretEnvironment.js +1 -1
- package/lib/esm/secrets/fs/FsSecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/fs/FsSecretService.js +1 -1
- package/lib/esm/secrets/fs/FsSecretService.js.map +1 -0
- package/lib/esm/secrets/fs/FsSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/fs/FsSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/fs/index.js +1 -1
- package/lib/esm/secrets/fs/index.js.map +1 -0
- package/lib/esm/secrets/gcp/GcpSecretEnvironment.js +1 -1
- package/lib/esm/secrets/gcp/GcpSecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/gcp/GcpSecretManagerService.js +1 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerService.js.map +1 -0
- package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js +1 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js.map +1 -0
- package/lib/esm/secrets/gcp/index.js +1 -1
- package/lib/esm/secrets/gcp/index.js.map +1 -0
- package/lib/esm/secrets/index.js +1 -1
- package/lib/esm/secrets/index.js.map +1 -0
- package/lib/esm/secrets/kubernetes/KubernetesSecretEnvironment.js +1 -1
- package/lib/esm/secrets/kubernetes/KubernetesSecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/kubernetes/KubernetesSecretService.js +1 -1
- package/lib/esm/secrets/kubernetes/KubernetesSecretService.js.map +1 -0
- package/lib/esm/secrets/kubernetes/KubernetesSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/kubernetes/KubernetesSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/kubernetes/index.js +1 -1
- package/lib/esm/secrets/kubernetes/index.js.map +1 -0
- package/lib/esm/secrets/model/ModelSecretCrypto.js +1 -1
- package/lib/esm/secrets/model/ModelSecretCrypto.js.map +1 -0
- package/lib/esm/secrets/model/ModelSecretEnvironment.js +1 -1
- package/lib/esm/secrets/model/ModelSecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/model/ModelSecretService.js +1 -1
- package/lib/esm/secrets/model/ModelSecretService.js.map +1 -0
- package/lib/esm/secrets/model/ModelSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/model/ModelSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/model/Secret.js +1 -1
- package/lib/esm/secrets/model/Secret.js.map +1 -0
- package/lib/esm/secrets/model/index.js +1 -1
- package/lib/esm/secrets/model/index.js.map +1 -0
- package/lib/esm/secrets/onepassword/OnePasswordSecretEnvironment.js +1 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/onepassword/OnePasswordSecretService.js +1 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretService.js.map +1 -0
- package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/onepassword/index.js +1 -1
- package/lib/esm/secrets/onepassword/index.js.map +1 -0
- package/lib/esm/secrets/vault/VaultSecretEnvironment.js +1 -1
- package/lib/esm/secrets/vault/VaultSecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/vault/VaultSecretService.js +1 -1
- package/lib/esm/secrets/vault/VaultSecretService.js.map +1 -0
- package/lib/esm/secrets/vault/VaultSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/vault/VaultSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/vault/index.js +1 -1
- package/lib/esm/secrets/vault/index.js.map +1 -0
- package/lib/esm/sftp/aws/AwsSftpEnvironment.js +1 -1
- package/lib/esm/sftp/aws/AwsSftpEnvironment.js.map +1 -0
- package/lib/esm/sftp/aws/AwsSftpService.js +1 -1
- package/lib/esm/sftp/aws/AwsSftpService.js.map +1 -0
- package/lib/esm/sftp/aws/index.js +1 -1
- package/lib/esm/sftp/aws/index.js.map +1 -0
- package/lib/esm/sftp/core/SftpEnvironment.js +1 -1
- package/lib/esm/sftp/core/SftpEnvironment.js.map +1 -0
- package/lib/esm/sftp/core/SftpSource.js +1 -1
- package/lib/esm/sftp/core/SftpSource.js.map +1 -0
- package/lib/esm/sftp/core/index.js +1 -1
- package/lib/esm/sftp/core/index.js.map +1 -0
- package/lib/esm/sftp/index.js +1 -1
- package/lib/esm/sftp/index.js.map +1 -0
- package/lib/esm/sftp/ssh2/Ssh2SftpEnvironment.js +1 -1
- package/lib/esm/sftp/ssh2/Ssh2SftpEnvironment.js.map +1 -0
- package/lib/esm/sftp/ssh2/Ssh2SftpService.js +1 -1
- package/lib/esm/sftp/ssh2/Ssh2SftpService.js.map +1 -0
- package/lib/esm/sftp/ssh2/index.js +1 -1
- package/lib/esm/sftp/ssh2/index.js.map +1 -0
- package/lib/esm/shared/environmentValue.js +1 -1
- package/lib/esm/shared/environmentValue.js.map +1 -0
- package/lib/esm/shared/http/HttpApiService.js +1 -1
- package/lib/esm/shared/http/HttpApiService.js.map +1 -0
- package/lib/esm/shared/http/hermeticBoot.js +1 -1
- package/lib/esm/shared/http/hermeticBoot.js.map +1 -0
- package/lib/esm/shared/http/index.js +1 -1
- package/lib/esm/shared/http/index.js.map +1 -0
- package/lib/esm/shared/runtime.js +1 -1
- package/lib/esm/shared/runtime.js.map +1 -0
- package/lib/esm/user-requests/index.js +1 -1
- package/lib/esm/user-requests/index.js.map +1 -0
- package/lib/esm/utils.js +1 -1
- package/lib/esm/utils.js.map +1 -0
- package/lib/types/index.d.cts +2 -2
- package/lib/types/index.d.mts +2 -2
- package/package.json +74 -50
|
@@ -341,5 +341,5 @@ async function walkDir(dir, acc) {
|
|
|
341
341
|
}
|
|
342
342
|
}
|
|
343
343
|
}
|
|
344
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxCbG9iU3RvcmVTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Jsb2IvbG9jYWwvTG9jYWxCbG9iU3RvcmVTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQXVCLGNBQWMsRUFBMkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekgsT0FBTyxFQUNMLGFBQWEsRUFDYixhQUFhLEVBQ2IsYUFBYSxFQUNiLGVBQWUsR0FDaEIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsUUFBUSxJQUFJLEVBQUUsR0FFZixNQUFNLElBQUksQ0FBQztBQUNaLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxzQ0FBaUM7QUFDNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtDQUErQjtBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLDJDQUFzQztBQW9CMUQ7Ozs7OztHQU1HO0FBRUksSUFBTSxxQkFBcUIsR0FBM0IsTUFBTSxxQkFBc0IsU0FBUSxnQkFHMUM7SUFDQzs7Ozs7O09BTUc7SUFDZ0IscUJBQXFCO1FBR3RDLE1BQU0sR0FBRyxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDN0MsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU8sU0FBUyxDQUFDO1FBQ2hDLE9BQU87WUFDTCxRQUFRLEVBQUUsT0FBTztZQUNqQixRQUFRLEVB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LEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQUUsU0FBUztRQUNyQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlCLE1BQU0sSUFBSSxHQUFHLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMzQixDQUFDO2FBQU0sQ0FBQztZQUNOLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakIsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ibG9iL2xvY2FsL3NlcnZpY2VcbiAqIEBzdW1tYXJ5IExvY2FsIGZpbGVzeXN0ZW0gYmxvYiBzdG9yZSBzZXJ2aWNlLlxuICogQGRlc2NyaXB0aW9uIEZpbGVzeXN0ZW0tYmFja2VkIGJsb2Igc3RvcmUgd3JhcHBpbmcgbm9kZTpmcyB3aXRoIGF0b21pYyB3cml0ZXMgYW5kIHBhdGgtdHJhdmVyc2FsIHByb3RlY3Rpb24uXG4gKi9cbmltcG9ydCB7IHR5cGUgQ29udGV4dHVhbEFyZ3MsIEZvcmJpZGRlbkVycm9yLCB0eXBlIE1heWJlQ29udGV4dHVhbEFyZywgc2VydmljZSwgVW5zdXBwb3J0ZWRFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHtcbiAgQ29uZmxpY3RFcnJvcixcbiAgSW50ZXJuYWxFcnJvcixcbiAgTm90Rm91bmRFcnJvcixcbiAgVmFsaWRhdGlvbkVycm9yLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IGdldENyeXB0byB9IGZyb20gXCJAZGVjYWYtdHMvY3J5cHRvL2NvbW1vblwiO1xuaW1wb3J0IHtcbiAgY3JlYXRlUmVhZFN0cmVhbSxcbiAgY3JlYXRlV3JpdGVTdHJlYW0sXG4gIHByb21pc2VzIGFzIGZzLFxuICB0eXBlIFJlYWRTdHJlYW0sXG59IGZyb20gXCJmc1wiO1xuaW1wb3J0IHsgZGlybmFtZSwgam9pbiwgcmVsYXRpdmUsIHJlc29sdmUsIHNlcCB9IGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBCbG9iU3RvcmVTZXJ2aWNlIH0gZnJvbSBcIi4uL2NvcmUvQmxvYlN0b3JlU2VydmljZVwiO1xuaW1wb3J0IHsgTG9jYWxCbG9iRW52aXJvbm1lbnQgfSBmcm9tIFwiLi9Mb2NhbEJsb2JFbnZpcm9ubWVudFwiO1xuaW1wb3J0IHsgZW52U3RyaW5nIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9lbnZpcm9ubWVudFZhbHVlXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEJsb2JHZXRPcHRpb25zLFxuICBCbG9iR2V0UmVzdWx0LFxuICBCbG9iS2V5LFxuICBCbG9iTGlzdE9wdGlvbnMsXG4gIEJsb2JMaXN0UmVzdWx0LFxuICBCbG9iTWV0YWRhdGEsXG4gIEJsb2JQdXRPcHRpb25zLFxuICBCbG9iUHV0UmVzdWx0LFxuICBCbG9iVXJsT3B0aW9ucyxcbiAgQmxvYlVybFJlc3VsdCxcbiAgQmxvYlZhbHVlLFxuICBMb2NhbEJsb2JTdG9yZVNlcnZpY2VDb25maWcsXG59IGZyb20gXCIuLi9jb3JlL0Jsb2JUeXBlc1wiO1xuXG5pbnRlcmZhY2UgTG9jYWxGc0NsaWVudCB7XG4gIHJvb3Q6IHN0cmluZztcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gTG9jYWwgZmlsZXN5c3RlbSBibG9iIHN0b3JlIHNlcnZpY2UgcmVnaXN0ZXJlZCBhcyBgYmxvYi1sb2NhbGBcbiAqIEBzdW1tYXJ5IFN0b3JlcyBibG9icyB1bmRlciBhIGNvbmZpZ3VyYWJsZSByb290IHBhdGggdXNpbmcgYG5vZGU6ZnNgIHdpdGhcbiAqIGF0b21pYyB3cml0ZXMgKHRlbXAgZmlsZSArIHJlbmFtZSkgYW5kIHBhdGgtdHJhdmVyc2FsIHByb3RlY3Rpb24uXG4gKiBAY2xhc3MgTG9jYWxCbG9iU3RvcmVTZXJ2aWNlXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmludGVncmF0aW9ucy9ibG9iL2xvY2FsL3NlcnZpY2VcbiAqL1xuQHNlcnZpY2UoXCJibG9iLWxvY2FsXCIpXG5leHBvcnQgY2xhc3MgTG9jYWxCbG9iU3RvcmVTZXJ2aWNlIGV4dGVuZHMgQmxvYlN0b3JlU2VydmljZTxcbiAgTG9jYWxGc0NsaWVudCxcbiAgTG9jYWxCbG9iU3RvcmVTZXJ2aWNlQ29uZmlnXG4+IHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBCdWlsZHMgdGhlIGxvY2FsIGJsb2IgY29uZmlnIGZyb20gdGhlIGVudmlyb25tZW50XG4gICAqIEBzdW1tYXJ5IFJlYWRzIHRoZSBgYmxvYnMubG9jYWxgIGVudmlyb25tZW50IHNsaWNlOyBjb25zaWRlcmVkXG4gICAqIHVuY29uZmlndXJlZCB3aGVuIG5vIGByb290UGF0aGAgaXMgc2V0LCB3aGljaCBrZWVwcyB0aGUgYXV0by1ib290XG4gICAqIGZhbGxiYWNrIChzZWUgYGdldENvbmZpZ0Zyb21BcmdzYCkgcmVzb2x2aW5nIHRvIGB1bmRlZmluZWRgLlxuICAgKiBAcmV0dXJuIHtMb2NhbEJsb2JTdG9yZVNlcnZpY2VDb25maWcgfCB1bmRlZmluZWR9IFRoZSBlbnZpcm9ubWVudC1kZXJpdmVkIGNvbmZpZywgb3IgYHVuZGVmaW5lZGAgd2hlbiB1bmNvbmZpZ3VyZWRcbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBjb25maWdGcm9tRW52aXJvbm1lbnQoKTpcbiAgICB8IExvY2FsQmxvYlN0b3JlU2VydmljZUNvbmZpZ1xuICAgIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBlbnYgPSBMb2NhbEJsb2JFbnZpcm9ubWVudC5ibG9icy5sb2NhbDtcbiAgICBjb25zdCByb290UGF0aCA9IGVudlN0cmluZyhlbnY/LnJvb3RQYXRoKTtcbiAgICBpZiAoIXJvb3RQYXRoKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIHJldHVybiB7XG4gICAgICBwcm92aWRlcjogXCJsb2NhbFwiLFxuICAgICAgc291cmNlSWQ6IGVudlN0cmluZyhlbnYuc291cmNlSWQpIGFzIHN0cmluZyxcbiAgICAgIHJvb3RQYXRoLFxuICAgICAgcHJlZml4OiBlbnZTdHJpbmcoZW52LnByZWZpeCksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gSW5pdGlhbGl6ZXMgdGhlIGxvY2FsIGZpbGVzeXN0ZW0gYmxvYiBzdG9yZSBjbGllbnRcbiAgICogQHN1bW1hcnkgUmVzb2x2ZXMgdGhlIGNvbmZpZyB2aWEgYGdldENvbmZpZ0Zyb21BcmdzYCAoZXhwbGljaXQgY29uZmlnLFxuICAgKiB0aGVuIHRoZSBgYmxvYnMubG9jYWxgIGVudmlyb25tZW50IHNsaWNlKS4gV2hlbiBubyBjb25maWcgcmVzb2x2ZXMgZHVyaW5nXG4gICAqIGEgY29udGV4dC1iZWFyaW5nIGF1dG8tYm9vdCBvZiBhbiB1bmNvbmZpZ3VyZWQgcHJvdmlkZXIsIHJldHVybnNcbiAgICogYHNraXBJbml0aWFsaXphdGlvbigpYCBzbyBgU2VydmljZS5ib290YCBkb2VzIG5vdCB0aHJvdzsgYW4gZXhwbGljaXRcbiAgICogYGluaXRpYWxpemUoKWAgd2l0aCBubyByZXNvbHZhYmxlIGNvbmZpZyBzdGlsbCB0aHJvd3MgYVxuICAgKiBgVmFsaWRhdGlvbkVycm9yYC4gUmVxdWlyZXMgYSBgcm9vdFBhdGhgLCBjcmVhdGVzIGl0IHJlY3Vyc2l2ZWx5LCBhbmRcbiAgICogc3RvcmVzIHRoZSByZXNvbHZlZCBhYnNvbHV0ZSByb290IGFzIHRoZSBjbGllbnQuXG4gICAqIEBwYXJhbSB7Li4uQ29udGV4dHVhbEFyZ3M8YW55Pn0gYXJncyAtIEFuIG9wdGlvbmFsIGBMb2NhbEJsb2JTdG9yZVNlcnZpY2VDb25maWdgLCBvcHRpb25hbGx5IGZvbGxvd2VkIGJ5IGEgZGVjYWYgYENvbnRleHRgXG4gICAqIEByZXR1cm4ge1Byb21pc2U8e2NvbmZpZzogTG9jYWxCbG9iU3RvcmVTZXJ2aWNlQ29uZmlnLCBjbGllbnQ6IExvY2FsRnNDbGllbnR9Pn0gVGhlIHJlc29sdmVkIGNvbmZpZyBhbmQgdGhlIGZpbGVzeXN0ZW0gY2xpZW50XG4gICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IFdoZW4gYSByZXNvbHZlZCBjb25maWcgaGFzIG5vIGByb290UGF0aGBcbiAgICovXG4gIG92ZXJyaWRlIGFzeW5jIGluaXRpYWxpemUoXG4gICAgLi4uYXJnczogQ29udGV4dHVhbEFyZ3M8YW55PlxuICApOiBQcm9taXNlPHtcbiAgICBjb25maWc6IExvY2FsQmxvYlN0b3JlU2VydmljZUNvbmZpZztcbiAgICBjbGllbnQ6IExvY2FsRnNDbGllbnQ7XG4gIH0+IHtcbiAgICBjb25zdCBjb25maWcgPVxuICAgICAgdGhpcy5nZXRDb25maWdGcm9tQXJnczxMb2NhbEJsb2JTdG9yZVNlcnZpY2VDb25maWc+KC4uLmFyZ3MpO1xuICAgIGlmICghY29uZmlnKSB7XG4gICAgICByZXR1cm4gdGhpcy5za2lwSW5pdGlhbGl6YXRpb24oKSBhcyBuZXZlcjtcbiAgICB9XG4gICAgaWYgKCFjb25maWcucm9vdFBhdGgpIHtcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBcIkxvY2FsQmxvYlN0b3JlU2VydmljZSByZXF1aXJlcyBhIHJvb3RQYXRoXCJcbiAgICAgICk7XG4gICAgfVxuICAgIGF3YWl0IGZzLm1rZGlyKGNvbmZpZy5yb290UGF0aCwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgdGhpcy5fY29uZmlnID0gY29uZmlnO1xuICAgIHRoaXMuX2NsaWVudCA9IHsgcm9vdDogcmVzb2x2ZShjb25maWcucm9vdFBhdGgpIH07XG4gICAgcmV0dXJuIHsgY29uZmlnLCBjbGllbnQ6IHRoaXMuX2NsaWVudCB9O1xuICB9XG5cbiAgYXN5bmMgcHV0KFxuICAgIGtleTogQmxvYktleSxcbiAgICB2YWx1ZTogQmxvYlZhbHVlLFxuICAgIG9wdGlvbnM6IEJsb2JQdXRPcHRpb25zID0ge30sXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxCbG9iUHV0UmVzdWx0PiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInB1dFwiLCB0cnVlKSkuZm9yKHRoaXMucHV0KTtcbiAgICBsb2cudmVyYm9zZShgUHV0dGluZyBibG9iICR7a2V5fWApO1xuXG4gICAgY29uc3QgdGFyZ2V0UGF0aCA9IHRoaXMuc2FmZVBhdGgoa2V5KTtcblxuICAgIGlmIChvcHRpb25zLmlmTm90RXhpc3RzKSB7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBmcy5zdGF0KHRhcmdldFBhdGgpO1xuICAgICAgICB0aHJvdyBuZXcgQ29uZmxpY3RFcnJvcihgQmxvYiBhbHJlYWR5IGV4aXN0czogJHtrZXl9YCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGlmICgoZSBhcyBOb2RlSlMuRXJybm9FeGNlcHRpb24pLmNvZGUgIT09IFwiRU5PRU5UXCIpIHRocm93IGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYXdhaXQgZnMubWtkaXIoZGlybmFtZSh0YXJnZXRQYXRoKSwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgICBjb25zdCBidWZmZXIgPSBhd2FpdCBjb2xsZWN0VG9CdWZmZXJMb2NhbCh2YWx1ZSk7XG4gICAgY29uc3QgY3J5cHRvID0gKGF3YWl0IGdldENyeXB0bygpKSBhcyBhbnk7XG4gICAgY29uc3Qgc2hhMjU2ID0gY3J5cHRvLmNyZWF0ZUhhc2goXCJzaGEyNTZcIikudXBkYXRlKGJ1ZmZlcikuZGlnZXN0KFwiaGV4XCIpO1xuXG4gICAgaWYgKG9wdGlvbnMuZXhwZWN0ZWRTaGEyNTYgJiYgb3B0aW9ucy5leHBlY3RlZFNoYTI1NiAhPT0gc2hhMjU2KSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGBDaGVja3N1bSBtaXNtYXRjaCBmb3IgJHtrZXl9YCk7XG4gICAgfVxuXG4gICAgYXdhaXQgdGhpcy5hdG9taWNXcml0ZSh0YXJnZXRQYXRoLCBidWZmZXIpO1xuXG4gICAgY29uc3QgbWV0YWRhdGE6IEJsb2JNZXRhZGF0YSA9IHtcbiAgICAgIGNvbnRlbnRUeXBlOiBvcHRpb25zLmNvbnRlbnRUeXBlLFxuICAgICAgY29udGVudExlbmd0aDogYnVmZmVyLmxlbmd0aCxcbiAgICAgIHNoYTI1NixcbiAgICAgIGN1c3RvbTogb3B0aW9ucy5tZXRhZGF0YSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGtleSxcbiAgICAgIHVyaTogdGhpcy51cmkoa2V5LCBcImZpbGVcIiksXG4gICAgICBwcm92aWRlcjogdGhpcy5wcm92aWRlcixcbiAgICAgIHNvdXJjZUlkOiB0aGlzLnNvdXJjZUlkLFxuICAgICAgbWV0YWRhdGEsXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGdldChcbiAgICBrZXk6IEJsb2JLZXksXG4gICAgb3B0aW9uczogQmxvYkdldE9wdGlvbnMgPSB7fSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPEJsb2JHZXRSZXN1bHQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiZ2V0XCIsIHRydWUpKS5mb3IodGhpcy5nZXQpO1xuICAgIGxvZy52ZXJib3NlKGBHZXR0aW5nIGJsb2IgJHtrZXl9YCk7XG5cbiAgICBjb25zdCB0YXJnZXRQYXRoID0gdGhpcy5zYWZlUGF0aChrZXkpO1xuICAgIGNvbnN0IHN0YXQgPSBhd2FpdCB0aGlzLnNhZmVTdGF0KHRhcmdldFBhdGgpO1xuICAgIGlmICghc3RhdCkge1xuICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoYEJsb2Igbm90IGZvdW5kOiAke2tleX1gKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdHJlYW06IFJlYWRTdHJlYW0gPSBjcmVhdGVSZWFkU3RyZWFtKHRhcmdldFBhdGgsIHtcbiAgICAgIHN0YXJ0OiBvcHRpb25zLnJhbmdlPy5zdGFydCxcbiAgICAgIGVuZDogb3B0aW9ucy5yYW5nZT8uZW5kLFxuICAgIH0pO1xuXG4gICAgY29uc3QgbWV0YWRhdGE6IEJsb2JNZXRhZGF0YSA9IHtcbiAgICAgIGNvbnRlbnRMZW5ndGg6IHN0YXQuc2l6ZSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGtleSxcbiAgICAgIHZhbHVlOiBzdHJlYW1Ub0FzeW5jSXRlcmFibGUoc3RyZWFtKSxcbiAgICAgIHVyaTogdGhpcy51cmkoa2V5LCBcImZpbGVcIiksXG4gICAgICBwcm92aWRlcjogdGhpcy5wcm92aWRlcixcbiAgICAgIHNvdXJjZUlkOiB0aGlzLnNvdXJjZUlkLFxuICAgICAgbWV0YWRhdGEsXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGhhcyhcbiAgICBrZXk6IEJsb2JLZXksXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImhhc1wiLCB0cnVlKSkuZm9yKHRoaXMuaGFzKTtcbiAgICBsb2cudmVyYm9zZShgQ2hlY2tpbmcgYmxvYiAke2tleX1gKTtcbiAgICBjb25zdCB0YXJnZXRQYXRoID0gdGhpcy5zYWZlUGF0aChrZXkpO1xuICAgIHJldHVybiBCb29sZWFuKGF3YWl0IHRoaXMuc2FmZVN0YXQodGFyZ2V0UGF0aCkpO1xuICB9XG5cbiAgYXN5bmMgc3RhdChcbiAgICBrZXk6IEJsb2JLZXksXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxCbG9iTWV0YWRhdGE+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwic3RhdFwiLCB0cnVlKSkuZm9yKHRoaXMuc3RhdCk7XG4gICAgbG9nLnZlcmJvc2UoYFN0YXR0aW5nIGJsb2IgJHtrZXl9YCk7XG4gICAgY29uc3QgdGFyZ2V0UGF0aCA9IHRoaXMuc2FmZVBhdGgoa2V5KTtcbiAgICBjb25zdCBzdGF0ID0gYXdhaXQgdGhpcy5zYWZlU3RhdCh0YXJnZXRQYXRoKTtcbiAgICBpZiAoIXN0YXQpIHtcbiAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKGBCbG9iIG5vdCBmb3VuZDogJHtrZXl9YCk7XG4gICAgfVxuICAgIHJldHVybiB7IGNvbnRlbnRMZW5ndGg6IHN0YXQuc2l6ZSB9O1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlKFxuICAgIGtleTogQmxvYktleSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiZGVsZXRlXCIsIHRydWUpKS5mb3IodGhpcy5kZWxldGUpO1xuICAgIGxvZy52ZXJib3NlKGBEZWxldGluZyBibG9iICR7a2V5fWApO1xuICAgIGNvbnN0IHRhcmdldFBhdGggPSB0aGlzLnNhZmVQYXRoKGtleSk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGZzLnVubGluayh0YXJnZXRQYXRoKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoKGUgYXMgTm9kZUpTLkVycm5vRXhjZXB0aW9uKS5jb2RlICE9PSBcIkVOT0VOVFwiKSB0aHJvdyBlO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGNvcHkoXG4gICAgZnJvbUtleTogQmxvYktleSxcbiAgICB0b0tleTogQmxvYktleSxcbiAgICBvcHRpb25zOiBCbG9iUHV0T3B0aW9ucyA9IHt9LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8QmxvYlB1dFJlc3VsdD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJjb3B5XCIsIHRydWUpKS5mb3IodGhpcy5jb3B5KTtcbiAgICBsb2cudmVyYm9zZShgQ29weWluZyBibG9iICR7ZnJvbUtleX0gdG8gJHt0b0tleX1gKTtcbiAgICBjb25zdCBmcm9tUGF0aCA9IHRoaXMuc2FmZVBhdGgoZnJvbUtleSk7XG4gICAgY29uc3QgZnJvbVN0YXQgPSBhd2FpdCB0aGlzLnNhZmVTdGF0KGZyb21QYXRoKTtcbiAgICBpZiAoIWZyb21TdGF0KSB7XG4gICAgICB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihgQmxvYiBub3QgZm91bmQ6ICR7ZnJvbUtleX1gKTtcbiAgICB9XG4gICAgY29uc3QgYnVmZmVyID0gYXdhaXQgZnMucmVhZEZpbGUoZnJvbVBhdGgpO1xuICAgIHJldHVybiB0aGlzLnB1dCh0b0tleSwgYnVmZmVyLCBvcHRpb25zKTtcbiAgfVxuXG4gIGFzeW5jIGxpc3QoXG4gICAgb3B0aW9uczogQmxvYkxpc3RPcHRpb25zID0ge30sXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxCbG9iTGlzdFJlc3VsdD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJsaXN0XCIsIHRydWUpKS5mb3IodGhpcy5saXN0KTtcbiAgICBsb2cudmVyYm9zZShcIkxpc3RpbmcgYmxvYnNcIik7XG5cbiAgICBjb25zdCBwcmVmaXggPSBvcHRpb25zLnByZWZpeCA/IHRoaXMucGh5c2ljYWxLZXkob3B0aW9ucy5wcmVmaXgpIDogXCJcIjtcbiAgICBjb25zdCByb290ID0gdGhpcy5jbGllbnQucm9vdDtcbiAgICBjb25zdCBiYXNlRGlyID0gcHJlZml4ID8gam9pbihyb290LCBwcmVmaXgpIDogcm9vdDtcblxuICAgIGNvbnN0IGFsbEZpbGVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGF3YWl0IHdhbGtEaXIoYmFzZURpciwgYWxsRmlsZXMpO1xuXG4gICAgY29uc3Qga2V5cyA9IGFsbEZpbGVzXG4gICAgICAubWFwKChmKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlbCA9IHJlbGF0aXZlKHJvb3QsIGYpLnNwbGl0KHNlcCkuam9pbihcIi9cIik7XG4gICAgICAgIHJldHVybiBwcmVmaXggPyByZWwgOiByZWw7XG4gICAgICB9KVxuICAgICAgLmZpbHRlcigoaykgPT4gKHByZWZpeCA/IGsuc3RhcnRzV2l0aChwcmVmaXgpIDogdHJ1ZSkpXG4gICAgICAuc29ydCgpO1xuXG4gICAgY29uc3QgbGltaXQgPSBvcHRpb25zLmxpbWl0ID8/IDEwMDA7XG4gICAgY29uc3Qgc3RhcnRJbmRleCA9IG9wdGlvbnMuY3Vyc29yID8gTnVtYmVyKG9wdGlvbnMuY3Vyc29yKSA6IDA7XG4gICAgY29uc3Qgc2xpY2UgPSBrZXlzLnNsaWNlKHN0YXJ0SW5kZXgsIHN0YXJ0SW5kZXggKyBsaW1pdCk7XG4gICAgY29uc3QgbmV4dEN1cnNvciA9XG4gICAgICBzdGFydEluZGV4ICsgbGltaXQgPCBrZXlzLmxlbmd0aFxuICAgICAgICA/IFN0cmluZyhzdGFydEluZGV4ICsgbGltaXQpXG4gICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGl0ZW1zOiBzbGljZS5tYXAoKGspID0+ICh7IGtleTogayB9KSksXG4gICAgICBjdXJzb3I6IG5leHRDdXJzb3IsXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIHVybChcbiAgICBrZXk6IEJsb2JLZXksXG4gICAgb3B0aW9uczogQmxvYlVybE9wdGlvbnMgPSB7fSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPEJsb2JVcmxSZXN1bHQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwidXJsXCIsIHRydWUpKS5mb3IodGhpcy51cmwpO1xuICAgIGxvZy52ZXJib3NlKGBCdWlsZGluZyB1cmwgZm9yIGJsb2IgJHtrZXl9YCk7XG4gICAgaWYgKG9wdGlvbnMub3BlcmF0aW9uICYmIG9wdGlvbnMub3BlcmF0aW9uICE9PSBcImdldFwiKSB7XG4gICAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRFcnJvcihcIkxvY2FsIGJsb2Igc3RvcmUgZG9lcyBub3Qgc3VwcG9ydCBQVVQgdXJsc1wiKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHVybDogdGhpcy51cmkoa2V5LCBcImZpbGVcIiksXG4gICAgICBtZXRob2Q6IFwiR0VUXCIsXG4gICAgICBleHBpcmVzQXQ6IG5ldyBEYXRlKFxuICAgICAgICBEYXRlLm5vdygpICsgKG9wdGlvbnMuZXhwaXJlc0luU2Vjb25kcyA/PyAzMDApICogMTAwMFxuICAgICAgKSxcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIHBhcnNlRXJyb3IoZXJyb3I6IHVua25vd24pOiBFcnJvciB7XG4gICAgY29uc3QgZXJyID0gZXJyb3IgYXMgRXJyb3I7XG4gICAgaWYgKFxuICAgICAgZXJyIGluc3RhbmNlb2YgTm90Rm91bmRFcnJvciB8fFxuICAgICAgZXJyIGluc3RhbmNlb2YgQ29uZmxpY3RFcnJvciB8fFxuICAgICAgZXJyIGluc3RhbmNlb2YgVmFsaWRhdGlvbkVycm9yIHx8XG4gICAgICBlcnIgaW5zdGFuY2VvZiBJbnRlcm5hbEVycm9yXG4gICAgKSB7XG4gICAgICByZXR1cm4gZXJyO1xuICAgIH1cbiAgICBjb25zdCBtZXNzYWdlID0gZXJyLm1lc3NhZ2UgfHwgXCJVbmtub3duIGVycm9yXCI7XG4gICAgY29uc3QgbG93ZXIgPSBtZXNzYWdlLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgY29kZSA9IChlcnIgYXMgTm9kZUpTLkVycm5vRXhjZXB0aW9uKS5jb2RlO1xuICAgIGlmIChjb2RlID09PSBcIkVOT0VOVFwiIHx8IGxvd2VyLmluY2x1ZGVzKFwibm90IGZvdW5kXCIpKSB7XG4gICAgICByZXR1cm4gbmV3IE5vdEZvdW5kRXJyb3IoZXJyKTtcbiAgICB9XG4gICAgaWYgKGNvZGUgPT09IFwiRUVYSVNUXCIgfHwgbG93ZXIuaW5jbHVkZXMoXCJhbHJlYWR5IGV4aXN0c1wiKSkge1xuICAgICAgcmV0dXJuIG5ldyBDb25mbGljdEVycm9yKGVycik7XG4gICAgfVxuICAgIGlmIChjb2RlID09PSBcIkVBQ0NFU1wiIHx8IGNvZGUgPT09IFwiRVBFUk1cIiB8fCBsb3dlci5pbmNsdWRlcyhcInBlcm1pc3Npb25cIikpIHtcbiAgICAgIHJldHVybiBuZXcgRm9yYmlkZGVuRXJyb3IoZXJyKTtcbiAgICB9XG4gICAgaWYgKGNvZGUgPT09IFwiRU5BTUVUT09MT05HXCIgfHwgbG93ZXIuaW5jbHVkZXMoXCJpbnZhbGlkXCIpKSB7XG4gICAgICByZXR1cm4gbmV3IFZhbGlkYXRpb25FcnJvcihlcnIpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IEludGVybmFsRXJyb3IoZXJyKTtcbiAgfVxuXG4gIHByaXZhdGUgc2FmZVBhdGgoa2V5OiBCbG9iS2V5KTogc3RyaW5nIHtcbiAgICBjb25zdCBwaHlzaWNhbCA9IHRoaXMucGh5c2ljYWxLZXkoa2V5KTtcbiAgICBjb25zdCByb290ID0gdGhpcy5jbGllbnQucm9vdDtcbiAgICBjb25zdCB0YXJnZXQgPSByZXNvbHZlKHJvb3QsIHBoeXNpY2FsKTtcbiAgICBjb25zdCByZWwgPSByZWxhdGl2ZShyb290LCB0YXJnZXQpO1xuICAgIGlmIChyZWwuc3RhcnRzV2l0aChcIi4uXCIpIHx8IHJlbCA9PT0gXCJcIiB8fCByZWwgPT09IFwiLlwiIHx8IHJlbC5zdGFydHNXaXRoKGAuLiR7c2VwfWApKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGBCbG9iIGtleSBlc2NhcGVzIHJvb3QgcGF0aDogJHtrZXl9YCk7XG4gICAgfVxuICAgIHJldHVybiB0YXJnZXQ7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNhZmVTdGF0KFxuICAgIHBhdGg6IHN0cmluZ1xuICApOiBQcm9taXNlPHsgc2l6ZTogbnVtYmVyIH0gfCB1bmRlZmluZWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3RhdCA9IGF3YWl0IGZzLnN0YXQocGF0aCk7XG4gICAgICBpZiAoc3RhdC5pc0ZpbGUoKSkgcmV0dXJuIHsgc2l6ZTogc3RhdC5zaXplIH07XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmICgoZSBhcyBOb2RlSlMuRXJybm9FeGNlcHRpb24pLmNvZGUgPT09IFwiRU5PRU5UXCIpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYXRvbWljV3JpdGUodGFyZ2V0UGF0aDogc3RyaW5nLCBidWZmZXI6IEJ1ZmZlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNyeXB0byA9IChhd2FpdCBnZXRDcnlwdG8oKSkgYXMgYW55O1xuICAgIGNvbnN0IHRtcFBhdGggPSBgJHt0YXJnZXRQYXRofS4ke2NyeXB0by5yYW5kb21CeXRlcyg2KS50b1N0cmluZyhcImhleFwiKX0udG1wYDtcbiAgICBjb25zdCBzdHJlYW0gPSBjcmVhdGVXcml0ZVN0cmVhbSh0bXBQYXRoKTtcbiAgICBhd2FpdCBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBzdHJlYW0ub24oXCJlcnJvclwiLCByZWplY3QpO1xuICAgICAgc3RyZWFtLm9uKFwiZmluaXNoXCIsICgpID0+IHJlc29sdmUoKSk7XG4gICAgICBzdHJlYW0uZW5kKGJ1ZmZlcik7XG4gICAgfSk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGZzLnJlbmFtZSh0bXBQYXRoLCB0YXJnZXRQYXRoKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBmcy51bmxpbmsodG1wUGF0aCk7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgLyogaWdub3JlICovXG4gICAgICB9XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBjb2xsZWN0VG9CdWZmZXJMb2NhbCh2YWx1ZTogQmxvYlZhbHVlKTogUHJvbWlzZTxCdWZmZXI+IHtcbiAgaWYgKHZhbHVlIGluc3RhbmNlb2YgVWludDhBcnJheSkgcmV0dXJuIEJ1ZmZlci5mcm9tKHZhbHVlKTtcbiAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQnVmZmVyKSByZXR1cm4gdmFsdWU7XG4gIGlmICh0eXBlb2YgKHZhbHVlIGFzIGFueSk/LltTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPT09IFwiZnVuY3Rpb25cIikge1xuICAgIGNvbnN0IGNodW5rczogQnVmZmVyW10gPSBbXTtcbiAgICBmb3IgYXdhaXQgKGNvbnN0IGNodW5rIG9mIHZhbHVlIGFzIEFzeW5jSXRlcmFibGU8VWludDhBcnJheT4pIHtcbiAgICAgIGNodW5rcy5wdXNoKEJ1ZmZlci5mcm9tKGNodW5rKSk7XG4gICAgfVxuICAgIHJldHVybiBCdWZmZXIuY29uY2F0KGNodW5rcyk7XG4gIH1cbiAgaWYgKHR5cGVvZiAodmFsdWUgYXMgYW55KT8uZ2V0UmVhZGVyID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBjb25zdCByZWFkZXIgPSAodmFsdWUgYXMgUmVhZGFibGVTdHJlYW0pLmdldFJlYWRlcigpO1xuICAgIGNvbnN0IGNodW5rczogQnVmZmVyW10gPSBbXTtcbiAgICBsZXQgcmVzdWx0ID0gYXdhaXQgcmVhZGVyLnJlYWQoKTtcbiAgICB3aGlsZSAoIXJlc3VsdC5kb25lKSB7XG4gICAgICBjaHVua3MucHVzaChCdWZmZXIuZnJvbShyZXN1bHQudmFsdWUgYXMgVWludDhBcnJheSkpO1xuICAgICAgcmVzdWx0ID0gYXdhaXQgcmVhZGVyLnJlYWQoKTtcbiAgICB9XG4gICAgcmV0dXJuIEJ1ZmZlci5jb25jYXQoY2h1bmtzKTtcbiAgfVxuICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGBVbnN1cHBvcnRlZCBibG9iIHZhbHVlIHR5cGU6ICR7dHlwZW9mIHZhbHVlfWApO1xufVxuXG5hc3luYyBmdW5jdGlvbiogc3RyZWFtVG9Bc3luY0l0ZXJhYmxlKFxuICBzdHJlYW06IFJlYWRTdHJlYW1cbik6IEFzeW5jSXRlcmFibGU8VWludDhBcnJheT4ge1xuICBmb3IgYXdhaXQgKGNvbnN0IGNodW5rIG9mIHN0cmVhbSkge1xuICAgIHlpZWxkIGNodW5rIGFzIFVpbnQ4QXJyYXk7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gd2Fsa0RpcihkaXI6IHN0cmluZywgYWNjOiBzdHJpbmdbXSk6IFByb21pc2U8dm9pZD4ge1xuICBsZXQgZW50cmllczogc3RyaW5nW107XG4gIHRyeSB7XG4gICAgZW50cmllcyA9IGF3YWl0IGZzLnJlYWRkaXIoZGlyKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmICgoZSBhcyBOb2RlSlMuRXJybm9FeGNlcHRpb24pLmNvZGUgPT09IFwiRU5PRU5UXCIpIHJldHVybjtcbiAgICB0aHJvdyBlO1xuICB9XG4gIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgIGlmIChlbnRyeS5lbmRzV2l0aChcIi50bXBcIikpIGNvbnRpbnVlO1xuICAgIGNvbnN0IGZ1bGwgPSBqb2luKGRpciwgZW50cnkpO1xuICAgIGNvbnN0IHN0YXQgPSBhd2FpdCBmcy5zdGF0KGZ1bGwpO1xuICAgIGlmIChzdGF0LmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgIGF3YWl0IHdhbGtEaXIoZnVsbCwgYWNjKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYWNjLnB1c2goZnVsbCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
345
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxCbG9iU3RvcmVTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiTG9jYWxCbG9iU3RvcmVTZXJ2aWNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDakYsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3SCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDOztRQUMxSCxLQUFLLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMs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QUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLENBQUM7YUFDSSxDQUFDO1lBQ0YsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQixDQUFDO0lBQ0wsQ0FBQztBQUNMLENBQUM7QUFDRCwwb2pDQUEwb2pDIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fZGVjb3JhdGUgPSAodGhpcyAmJiB0aGlzLl9fZGVjb3JhdGUpIHx8IGZ1bmN0aW9uIChkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcbiAgICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XG59O1xuLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ibG9iL2xvY2FsL3NlcnZpY2VcbiAqIEBzdW1tYXJ5IExvY2FsIGZpbGVzeXN0ZW0gYmxvYiBzdG9yZSBzZXJ2aWNlLlxuICogQGRlc2NyaXB0aW9uIEZpbGVzeXN0ZW0tYmFja2VkIGJsb2Igc3RvcmUgd3JhcHBpbmcgbm9kZTpmcyB3aXRoIGF0b21pYyB3cml0ZXMgYW5kIHBhdGgtdHJhdmVyc2FsIHByb3RlY3Rpb24uXG4gKi9cbmltcG9ydCB7IEZvcmJpZGRlbkVycm9yLCBzZXJ2aWNlLCBVbnN1cHBvcnRlZEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBDb25mbGljdEVycm9yLCBJbnRlcm5hbEVycm9yLCBOb3RGb3VuZEVycm9yLCBWYWxpZGF0aW9uRXJyb3IsIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBnZXRDcnlwdG8gfSBmcm9tIFwiQGRlY2FmLXRzL2NyeXB0by9jb21tb25cIjtcbmltcG9ydCB7IGNyZWF0ZVJlYWRTdHJlYW0sIGNyZWF0ZVdyaXRlU3RyZWFtLCBwcm9taXNlcyBhcyBmcywgfSBmcm9tIFwiZnNcIjtcbmltcG9ydCB7IGRpcm5hbWUsIGpvaW4sIHJlbGF0aXZlLCByZXNvbHZlLCBzZXAgfSBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgQmxvYlN0b3JlU2VydmljZSB9IGZyb20gXCIuLy4uL2NvcmUvQmxvYlN0b3JlU2VydmljZS5qc1wiO1xuaW1wb3J0IHsgTG9jYWxCbG9iRW52aXJvbm1lbnQgfSBmcm9tIFwiLi9Mb2NhbEJsb2JFbnZpcm9ubWVudC5qc1wiO1xuaW1wb3J0IHsgZW52U3RyaW5nIH0gZnJvbSBcIi4vLi4vLi4vc2hhcmVkL2Vudmlyb25tZW50VmFsdWUuanNcIjtcbi8qKlxuICogQGRlc2NyaXB0aW9uIExvY2FsIGZpbGVzeXN0ZW0gYmxvYiBzdG9yZSBzZXJ2aWNlIHJlZ2lzdGVyZWQgYXMgYGJsb2ItbG9jYWxgXG4gKiBAc3VtbWFyeSBTdG9yZXMgYmxvYnMgdW5kZXIgYSBjb25maWd1cmFibGUgcm9vdCBwYXRoIHVzaW5nIGBub2RlOmZzYCB3aXRoXG4gKiBhdG9taWMgd3JpdGVzICh0ZW1wIGZpbGUgKyByZW5hbWUpIGFuZCBwYXRoLXRyYXZlcnNhbCBwcm90ZWN0aW9uLlxuICogQGNsYXNzIExvY2FsQmxvYlN0b3JlU2VydmljZVxuICogQG1lbWJlck9mIG1vZHVsZTppbnRlZ3JhdGlvbnMvYmxvYi9sb2NhbC9zZXJ2aWNlXG4gKi9cbmxldCBMb2NhbEJsb2JTdG9yZVNlcnZpY2UgPSBjbGFzcyBMb2NhbEJsb2JTdG9yZVNlcnZpY2UgZXh0ZW5kcyBCbG9iU3RvcmVTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQnVpbGRzIHRoZSBsb2NhbCBibG9iIGNvbmZpZyBmcm9tIHRoZSBlbnZpcm9ubWVudFxuICAgICAqIEBzdW1tYXJ5IFJlYWRzIHRoZSBgYmxvYnMubG9jYWxgIGVudmlyb25tZW50IHNsaWNlOyBjb25zaWRlcmVkXG4gICAgICogdW5jb25maWd1cmVkIHdoZW4gbm8gYHJvb3RQYXRoYCBpcyBzZXQsIHdoaWNoIGtlZXBzIHRoZSBhdXRvLWJvb3RcbiAgICAgKiBmYWxsYmFjayAoc2VlIGBnZXRDb25maWdGcm9tQXJnc2ApIHJlc29sdmluZyB0byBgdW5kZWZpbmVkYC5cbiAgICAgKiBAcmV0dXJuIHtMb2NhbEJsb2JTdG9yZVNlcnZpY2VDb25maWcgfCB1bmRlZmluZWR9IFRoZSBlbnZpcm9ubWVudC1kZXJpdmVkIGNvbmZpZywgb3IgYHVuZGVmaW5lZGAgd2hlbiB1bmNvbmZpZ3VyZWRcbiAgICAgKi9cbiAgICBjb25maWdGcm9tRW52aXJvbm1lbnQoKSB7XG4gICAgICAgIGNvbnN0IGVudiA9IExvY2FsQmxvYkVudmlyb25tZW50LmJsb2JzLmxvY2FsO1xuICAgICAgICBjb25zdCByb290UGF0aCA9IGVudlN0cmluZyhlbnY/LnJvb3RQYXRoKTtcbiAgICAgICAgaWYgKCFyb290UGF0aClcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwcm92aWRlcjogXCJsb2NhbFwiLFxuICAgICAgICAgICAgc291cmNlSWQ6IGVudlN0cmluZyhlbnYuc291cmNlSWQpLFxuICAgICAgICAgICAgcm9vdFBhdGgsXG4gICAgICAgICAgICBwcmVmaXg6IGVudlN0cmluZyhlbnYucHJlZml4KSxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEluaXRpYWxpemVzIHRoZSBsb2NhbCBmaWxlc3lzdGVtIGJsb2Igc3RvcmUgY2xpZW50XG4gICAgICogQHN1bW1hcnkgUmVzb2x2ZXMgdGhlIGNvbmZpZyB2aWEgYGdldENvbmZpZ0Zyb21BcmdzYCAoZXhwbGljaXQgY29uZmlnLFxuICAgICAqIHRoZW4gdGhlIGBibG9icy5sb2NhbGAgZW52aXJvbm1lbnQgc2xpY2UpLiBXaGVuIG5vIGNvbmZpZyByZXNvbHZlcyBkdXJpbmdcbiAgICAgKiBhIGNvbnRleHQtYmVhcmluZyBhdXRvLWJvb3Qgb2YgYW4gdW5jb25maWd1cmVkIHByb3ZpZGVyLCByZXR1cm5zXG4gICAgICogYHNraXBJbml0aWFsaXphdGlvbigpYCBzbyBgU2VydmljZS5ib290YCBkb2VzIG5vdCB0aHJvdzsgYW4gZXhwbGljaXRcbiAgICAgKiBgaW5pdGlhbGl6ZSgpYCB3aXRoIG5vIHJlc29sdmFibGUgY29uZmlnIHN0aWxsIHRocm93cyBhXG4gICAgICogYFZhbGlkYXRpb25FcnJvcmAuIFJlcXVpcmVzIGEgYHJvb3RQYXRoYCwgY3JlYXRlcyBpdCByZWN1cnNpdmVseSwgYW5kXG4gICAgICogc3RvcmVzIHRoZSByZXNvbHZlZCBhYnNvbHV0ZSByb290IGFzIHRoZSBjbGllbnQuXG4gICAgICogQHBhcmFtIHsuLi5Db250ZXh0dWFsQXJnczxhbnk+fSBhcmdzIC0gQW4gb3B0aW9uYWwgYExvY2FsQmxvYlN0b3JlU2VydmljZUNvbmZpZ2AsIG9wdGlvbmFsbHkgZm9sbG93ZWQgYnkgYSBkZWNhZiBgQ29udGV4dGBcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHtjb25maWc6IExvY2FsQmxvYlN0b3JlU2VydmljZUNvbmZpZywgY2xpZW50OiBMb2NhbEZzQ2xpZW50fT59IFRoZSByZXNvbHZlZCBjb25maWcgYW5kIHRoZSBmaWxlc3lzdGVtIGNsaWVudFxuICAgICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IFdoZW4gYSByZXNvbHZlZCBjb25maWcgaGFzIG5vIGByb290UGF0aGBcbiAgICAgKi9cbiAgICBhc3luYyBpbml0aWFsaXplKC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5nZXRDb25maWdGcm9tQXJncyguLi5hcmdzKTtcbiAgICAgICAgaWYgKCFjb25maWcpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNraXBJbml0aWFsaXphdGlvbigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghY29uZmlnLnJvb3RQYXRoKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIkxvY2FsQmxvYlN0b3JlU2VydmljZSByZXF1aXJlcyBhIHJvb3RQYXRoXCIpO1xuICAgICAgICB9XG4gICAgICAgIGF3YWl0IGZzLm1rZGlyKGNvbmZpZy5yb290UGF0aCwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgICAgIHRoaXMuX2NvbmZpZyA9IGNvbmZpZztcbiAgICAgICAgdGhpcy5fY2xpZW50ID0geyByb290OiByZXNvbHZlKGNvbmZpZy5yb290UGF0aCkgfTtcbiAgICAgICAgcmV0dXJuIHsgY29uZmlnLCBjbGllbnQ6IHRoaXMuX2NsaWVudCB9O1xuICAgIH1cbiAgICBhc3luYyBwdXQoa2V5LCB2YWx1ZSwgb3B0aW9ucyA9IHt9LCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJwdXRcIiwgdHJ1ZSkpLmZvcih0aGlzLnB1dCk7XG4gICAgICAgIGxvZy52ZXJib3NlKGBQdXR0aW5nIGJsb2IgJHtrZXl9YCk7XG4gICAgICAgIGNvbnN0IHRhcmdldFBhdGggPSB0aGlzLnNhZmVQYXRoKGtleSk7XG4gICAgICAgIGlmIChvcHRpb25zLmlmTm90RXhpc3RzKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGF3YWl0IGZzLnN0YXQodGFyZ2V0UGF0aCk7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IENvbmZsaWN0RXJyb3IoYEJsb2IgYWxyZWFkeSBleGlzdHM6ICR7a2V5fWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBpZiAoZS5jb2RlICE9PSBcIkVOT0VOVFwiKVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGF3YWl0IGZzLm1rZGlyKGRpcm5hbWUodGFyZ2V0UGF0aCksIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgICAgICBjb25zdCBidWZmZXIgPSBhd2FpdCBjb2xsZWN0VG9CdWZmZXJMb2NhbCh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IGNyeXB0byA9IChhd2FpdCBnZXRDcnlwdG8oKSk7XG4gICAgICAgIGNvbnN0IHNoYTI1NiA9IGNyeXB0by5jcmVhdGVIYXNoKFwic2hhMjU2XCIpLnVwZGF0ZShidWZmZXIpLmRpZ2VzdChcImhleFwiKTtcbiAgICAgICAgaWYgKG9wdGlvbnMuZXhwZWN0ZWRTaGEyNTYgJiYgb3B0aW9ucy5leHBlY3RlZFNoYTI1NiAhPT0gc2hhMjU2KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGBDaGVja3N1bSBtaXNtYXRjaCBmb3IgJHtrZXl9YCk7XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgdGhpcy5hdG9taWNXcml0ZSh0YXJnZXRQYXRoLCBidWZmZXIpO1xuICAgICAgICBjb25zdCBtZXRhZGF0YSA9IHtcbiAgICAgICAgICAgIGNvbnRlbnRUeXBlOiBvcHRpb25zLmNvbnRlbnRUeXBlLFxuICAgICAgICAgICAgY29udGVudExlbmd0aDogYnVmZmVyLmxlbmd0aCxcbiAgICAgICAgICAgIHNoYTI1NixcbiAgICAgICAgICAgIGN1c3RvbTogb3B0aW9ucy5tZXRhZGF0YSxcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgIHVyaTogdGhpcy51cmkoa2V5LCBcImZpbGVcIiksXG4gICAgICAgICAgICBwcm92aWRlcjogdGhpcy5wcm92aWRlcixcbiAgICAgICAgICAgIHNvdXJjZUlkOiB0aGlzLnNvdXJjZUlkLFxuICAgICAgICAgICAgbWV0YWRhdGEsXG4gICAgICAgIH07XG4gICAgfVxuICAgIGFzeW5jIGdldChrZXksIG9wdGlvbnMgPSB7fSwgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiZ2V0XCIsIHRydWUpKS5mb3IodGhpcy5nZXQpO1xuICAgICAgICBsb2cudmVyYm9zZShgR2V0dGluZyBibG9iICR7a2V5fWApO1xuICAgICAgICBjb25zdCB0YXJnZXRQYXRoID0gdGhpcy5zYWZlUGF0aChrZXkpO1xuICAgICAgICBjb25zdCBzdGF0ID0gYXdhaXQgdGhpcy5zYWZlU3RhdCh0YXJnZXRQYXRoKTtcbiAgICAgICAgaWYgKCFzdGF0KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihgQmxvYiBub3QgZm91bmQ6ICR7a2V5fWApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0cmVhbSA9IGNyZWF0ZVJlYWRTdHJlYW0odGFyZ2V0UGF0aCwge1xuICAgICAgICAgICAgc3RhcnQ6IG9wdGlvbnMucmFuZ2U/LnN0YXJ0LFxuICAgICAgICAgICAgZW5kOiBvcHRpb25zLnJhbmdlPy5lbmQsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBtZXRhZGF0YSA9IHtcbiAgICAgICAgICAgIGNvbnRlbnRMZW5ndGg6IHN0YXQuc2l6ZSxcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgIHZhbHVlOiBzdHJlYW1Ub0FzeW5jSXRlcmFibGUoc3RyZWFtKSxcbiAgICAgICAgICAgIHVyaTogdGhpcy51cmkoa2V5LCBcImZpbGVcIiksXG4gICAgICAgICAgICBwcm92aWRlcjogdGhpcy5wcm92aWRlcixcbiAgICAgICAgICAgIHNvdXJjZUlkOiB0aGlzLnNvdXJjZUlkLFxuICAgICAgICAgICAgbWV0YWRhdGEsXG4gICAgICAgIH07XG4gICAgfVxuICAgIGFzeW5jIGhhcyhrZXksIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImhhc1wiLCB0cnVlKSkuZm9yKHRoaXMuaGFzKTtcbiAgICAgICAgbG9nLnZlcmJvc2UoYENoZWNraW5nIGJsb2IgJHtrZXl9YCk7XG4gICAgICAgIGNvbnN0IHRhcmdldFBhdGggPSB0aGlzLnNhZmVQYXRoKGtleSk7XG4gICAgICAgIHJldHVybiBCb29sZWFuKGF3YWl0IHRoaXMuc2FmZVN0YXQodGFyZ2V0UGF0aCkpO1xuICAgIH1cbiAgICBhc3luYyBzdGF0KGtleSwgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwic3RhdFwiLCB0cnVlKSkuZm9yKHRoaXMuc3RhdCk7XG4gICAgICAgIGxvZy52ZXJib3NlKGBTdGF0dGluZyBibG9iICR7a2V5fWApO1xuICAgICAgICBjb25zdCB0YXJnZXRQYXRoID0gdGhpcy5zYWZlUGF0aChrZXkpO1xuICAgICAgICBjb25zdCBzdGF0ID0gYXdhaXQgdGhpcy5zYWZlU3RhdCh0YXJnZXRQYXRoKTtcbiAgICAgICAgaWYgKCFzdGF0KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihgQmxvYiBub3QgZm91bmQ6ICR7a2V5fWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IGNvbnRlbnRMZW5ndGg6IHN0YXQuc2l6ZSB9O1xuICAgIH1cbiAgICBhc3luYyBkZWxldGUoa2V5LCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJkZWxldGVcIiwgdHJ1ZSkpLmZvcih0aGlzLmRlbGV0ZSk7XG4gICAgICAgIGxvZy52ZXJib3NlKGBEZWxldGluZyBibG9iICR7a2V5fWApO1xuICAgICAgICBjb25zdCB0YXJnZXRQYXRoID0gdGhpcy5zYWZlUGF0aChrZXkpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgZnMudW5saW5rKHRhcmdldFBhdGgpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICBpZiAoZS5jb2RlICE9PSBcIkVOT0VOVFwiKVxuICAgICAgICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgY29weShmcm9tS2V5LCB0b0tleSwgb3B0aW9ucyA9IHt9LCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJjb3B5XCIsIHRydWUpKS5mb3IodGhpcy5jb3B5KTtcbiAgICAgICAgbG9nLnZlcmJvc2UoYENvcHlpbmcgYmxvYiAke2Zyb21LZXl9IHRvICR7dG9LZXl9YCk7XG4gICAgICAgIGNvbnN0IGZyb21QYXRoID0gdGhpcy5zYWZlUGF0aChmcm9tS2V5KTtcbiAgICAgICAgY29uc3QgZnJvbVN0YXQgPSBhd2FpdCB0aGlzLnNhZmVTdGF0KGZyb21QYXRoKTtcbiAgICAgICAgaWYgKCFmcm9tU3RhdCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoYEJsb2Igbm90IGZvdW5kOiAke2Zyb21LZXl9YCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYnVmZmVyID0gYXdhaXQgZnMucmVhZEZpbGUoZnJvbVBhdGgpO1xuICAgICAgICByZXR1cm4gdGhpcy5wdXQodG9LZXksIGJ1ZmZlciwgb3B0aW9ucyk7XG4gICAgfVxuICAgIGFzeW5jIGxpc3Qob3B0aW9ucyA9IHt9LCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJsaXN0XCIsIHRydWUpKS5mb3IodGhpcy5saXN0KTtcbiAgICAgICAgbG9nLnZlcmJvc2UoXCJMaXN0aW5nIGJsb2JzXCIpO1xuICAgICAgICBjb25zdCBwcmVmaXggPSBvcHRpb25zLnByZWZpeCA/IHRoaXMucGh5c2ljYWxLZXkob3B0aW9ucy5wcmVmaXgpIDogXCJcIjtcbiAgICAgICAgY29uc3Qgcm9vdCA9IHRoaXMuY2xpZW50LnJvb3Q7XG4gICAgICAgIGNvbnN0IGJhc2VEaXIgPSBwcmVmaXggPyBqb2luKHJvb3QsIHByZWZpeCkgOiByb290O1xuICAgICAgICBjb25zdCBhbGxGaWxlcyA9IFtdO1xuICAgICAgICBhd2FpdCB3YWxrRGlyKGJhc2VEaXIsIGFsbEZpbGVzKTtcbiAgICAgICAgY29uc3Qga2V5cyA9IGFsbEZpbGVzXG4gICAgICAgICAgICAubWFwKChmKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZWwgPSByZWxhdGl2ZShyb290LCBmKS5zcGxpdChzZXApLmpvaW4oXCIvXCIpO1xuICAgICAgICAgICAgcmV0dXJuIHByZWZpeCA/IHJlbCA6IHJlbDtcbiAgICAgICAgfSlcbiAgICAgICAgICAgIC5maWx0ZXIoKGspID0+IChwcmVmaXggPyBrLnN0YXJ0c1dpdGgocHJlZml4KSA6IHRydWUpKVxuICAgICAgICAgICAgLnNvcnQoKTtcbiAgICAgICAgY29uc3QgbGltaXQgPSBvcHRpb25zLmxpbWl0ID8/IDEwMDA7XG4gICAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSBvcHRpb25zLmN1cnNvciA/IE51bWJlcihvcHRpb25zLmN1cnNvcikgOiAwO1xuICAgICAgICBjb25zdCBzbGljZSA9IGtleXMuc2xpY2Uoc3RhcnRJbmRleCwgc3RhcnRJbmRleCArIGxpbWl0KTtcbiAgICAgICAgY29uc3QgbmV4dEN1cnNvciA9IHN0YXJ0SW5kZXggKyBsaW1pdCA8IGtleXMubGVuZ3RoXG4gICAgICAgICAgICA/IFN0cmluZyhzdGFydEluZGV4ICsgbGltaXQpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGl0ZW1zOiBzbGljZS5tYXAoKGspID0+ICh7IGtleTogayB9KSksXG4gICAgICAgICAgICBjdXJzb3I6IG5leHRDdXJzb3IsXG4gICAgICAgIH07XG4gICAgfVxuICAgIGFzeW5jIHVybChrZXksIG9wdGlvbnMgPSB7fSwgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwidXJsXCIsIHRydWUpKS5mb3IodGhpcy51cmwpO1xuICAgICAgICBsb2cudmVyYm9zZShgQnVpbGRpbmcgdXJsIGZvciBibG9iICR7a2V5fWApO1xuICAgICAgICBpZiAob3B0aW9ucy5vcGVyYXRpb24gJiYgb3B0aW9ucy5vcGVyYXRpb24gIT09IFwiZ2V0XCIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEVycm9yKFwiTG9jYWwgYmxvYiBzdG9yZSBkb2VzIG5vdCBzdXBwb3J0IFBVVCB1cmxzXCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB1cmw6IHRoaXMudXJpKGtleSwgXCJmaWxlXCIpLFxuICAgICAgICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgICAgICAgZXhwaXJlc0F0OiBuZXcgRGF0ZShEYXRlLm5vdygpICsgKG9wdGlvbnMuZXhwaXJlc0luU2Vjb25kcyA/PyAzMDApICogMTAwMCksXG4gICAgICAgIH07XG4gICAgfVxuICAgIHBhcnNlRXJyb3IoZXJyb3IpIHtcbiAgICAgICAgY29uc3QgZXJyID0gZXJyb3I7XG4gICAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBOb3RGb3VuZEVycm9yIHx8XG4gICAgICAgICAgICBlcnIgaW5zdGFuY2VvZiBDb25mbGljdEVycm9yIHx8XG4gICAgICAgICAgICBlcnIgaW5zdGFuY2VvZiBWYWxpZGF0aW9uRXJyb3IgfHxcbiAgICAgICAgICAgIGVyciBpbnN0YW5jZW9mIEludGVybmFsRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBlcnI7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGVyci5tZXNzYWdlIHx8IFwiVW5rbm93biBlcnJvclwiO1xuICAgICAgICBjb25zdCBsb3dlciA9IG1lc3NhZ2UudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgY29uc3QgY29kZSA9IGVyci5jb2RlO1xuICAgICAgICBpZiAoY29kZSA9PT0gXCJFTk9FTlRcIiB8fCBsb3dlci5pbmNsdWRlcyhcIm5vdCBmb3VuZFwiKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBOb3RGb3VuZEVycm9yKGVycik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvZGUgPT09IFwiRUVYSVNUXCIgfHwgbG93ZXIuaW5jbHVkZXMoXCJhbHJlYWR5IGV4aXN0c1wiKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBDb25mbGljdEVycm9yKGVycik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvZGUgPT09IFwiRUFDQ0VTXCIgfHwgY29kZSA9PT0gXCJFUEVSTVwiIHx8IGxvd2VyLmluY2x1ZGVzKFwicGVybWlzc2lvblwiKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGb3JiaWRkZW5FcnJvcihlcnIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb2RlID09PSBcIkVOQU1FVE9PTE9OR1wiIHx8IGxvd2VyLmluY2x1ZGVzKFwiaW52YWxpZFwiKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBWYWxpZGF0aW9uRXJyb3IoZXJyKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IEludGVybmFsRXJyb3IoZXJyKTtcbiAgICB9XG4gICAgc2FmZVBhdGgoa2V5KSB7XG4gICAgICAgIGNvbnN0IHBoeXNpY2FsID0gdGhpcy5waHlzaWNhbEtleShrZXkpO1xuICAgICAgICBjb25zdCByb290ID0gdGhpcy5jbGllbnQucm9vdDtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gcmVzb2x2ZShyb290LCBwaHlzaWNhbCk7XG4gICAgICAgIGNvbnN0IHJlbCA9IHJlbGF0aXZlKHJvb3QsIHRhcmdldCk7XG4gICAgICAgIGlmIChyZWwuc3RhcnRzV2l0aChcIi4uXCIpIHx8IHJlbCA9PT0gXCJcIiB8fCByZWwgPT09IFwiLlwiIHx8IHJlbC5zdGFydHNXaXRoKGAuLiR7c2VwfWApKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGBCbG9iIGtleSBlc2NhcGVzIHJvb3QgcGF0aDogJHtrZXl9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRhcmdldDtcbiAgICB9XG4gICAgYXN5bmMgc2FmZVN0YXQocGF0aCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3Qgc3RhdCA9IGF3YWl0IGZzLnN0YXQocGF0aCk7XG4gICAgICAgICAgICBpZiAoc3RhdC5pc0ZpbGUoKSlcbiAgICAgICAgICAgICAgICByZXR1cm4geyBzaXplOiBzdGF0LnNpemUgfTtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGlmIChlLmNvZGUgPT09IFwiRU5PRU5UXCIpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgYXRvbWljV3JpdGUodGFyZ2V0UGF0aCwgYnVmZmVyKSB7XG4gICAgICAgIGNvbnN0IGNyeXB0byA9IChhd2FpdCBnZXRDcnlwdG8oKSk7XG4gICAgICAgIGNvbnN0IHRtcFBhdGggPSBgJHt0YXJnZXRQYXRofS4ke2NyeXB0by5yYW5kb21CeXRlcyg2KS50b1N0cmluZyhcImhleFwiKX0udG1wYDtcbiAgICAgICAgY29uc3Qgc3RyZWFtID0gY3JlYXRlV3JpdGVTdHJlYW0odG1wUGF0aCk7XG4gICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHN0cmVhbS5vbihcImVycm9yXCIsIHJlamVjdCk7XG4gICAgICAgICAgICBzdHJlYW0ub24oXCJmaW5pc2hcIiwgKCkgPT4gcmVzb2x2ZSgpKTtcbiAgICAgICAgICAgIHN0cmVhbS5lbmQoYnVmZmVyKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhd2FpdCBmcy5yZW5hbWUodG1wUGF0aCwgdGFyZ2V0UGF0aCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgZnMudW5saW5rKHRtcFBhdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2gge1xuICAgICAgICAgICAgICAgIC8qIGlnbm9yZSAqL1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5Mb2NhbEJsb2JTdG9yZVNlcnZpY2UgPSBfX2RlY29yYXRlKFtcbiAgICBzZXJ2aWNlKFwiYmxvYi1sb2NhbFwiKVxuXSwgTG9jYWxCbG9iU3RvcmVTZXJ2aWNlKTtcbmV4cG9ydCB7IExvY2FsQmxvYlN0b3JlU2VydmljZSB9O1xuYXN5bmMgZnVuY3Rpb24gY29sbGVjdFRvQnVmZmVyTG9jYWwodmFsdWUpIHtcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBVaW50OEFycmF5KVxuICAgICAgICByZXR1cm4gQnVmZmVyLmZyb20odmFsdWUpO1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEJ1ZmZlcilcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIGlmICh0eXBlb2YgdmFsdWU/LltTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBjb25zdCBjaHVua3MgPSBbXTtcbiAgICAgICAgZm9yIGF3YWl0IChjb25zdCBjaHVuayBvZiB2YWx1ZSkge1xuICAgICAgICAgICAgY2h1bmtzLnB1c2goQnVmZmVyLmZyb20oY2h1bmspKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gQnVmZmVyLmNvbmNhdChjaHVua3MpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHZhbHVlPy5nZXRSZWFkZXIgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBjb25zdCByZWFkZXIgPSB2YWx1ZS5nZXRSZWFkZXIoKTtcbiAgICAgICAgY29uc3QgY2h1bmtzID0gW107XG4gICAgICAgIGxldCByZXN1bHQgPSBhd2FpdCByZWFkZXIucmVhZCgpO1xuICAgICAgICB3aGlsZSAoIXJlc3VsdC5kb25lKSB7XG4gICAgICAgICAgICBjaHVua3MucHVzaChCdWZmZXIuZnJvbShyZXN1bHQudmFsdWUpKTtcbiAgICAgICAgICAgIHJlc3VsdCA9IGF3YWl0IHJlYWRlci5yZWFkKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIEJ1ZmZlci5jb25jYXQoY2h1bmtzKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihgVW5zdXBwb3J0ZWQgYmxvYiB2YWx1ZSB0eXBlOiAke3R5cGVvZiB2YWx1ZX1gKTtcbn1cbmFzeW5jIGZ1bmN0aW9uKiBzdHJlYW1Ub0FzeW5jSXRlcmFibGUoc3RyZWFtKSB7XG4gICAgZm9yIGF3YWl0IChjb25zdCBjaHVuayBvZiBzdHJlYW0pIHtcbiAgICAgICAgeWllbGQgY2h1bms7XG4gICAgfVxufVxuYXN5bmMgZnVuY3Rpb24gd2Fsa0RpcihkaXIsIGFjYykge1xuICAgIGxldCBlbnRyaWVzO1xuICAgIHRyeSB7XG4gICAgICAgIGVudHJpZXMgPSBhd2FpdCBmcy5yZWFkZGlyKGRpcik7XG4gICAgfVxuICAgIGNhdGNoIChlKSB7XG4gICAgICAgIGlmIChlLmNvZGUgPT09IFwiRU5PRU5UXCIpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIHRocm93IGU7XG4gICAgfVxuICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgICBpZiAoZW50cnkuZW5kc1dpdGgoXCIudG1wXCIpKVxuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNvbnN0IGZ1bGwgPSBqb2luKGRpciwgZW50cnkpO1xuICAgICAgICBjb25zdCBzdGF0ID0gYXdhaXQgZnMuc3RhdChmdWxsKTtcbiAgICAgICAgaWYgKHN0YXQuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgICAgICAgYXdhaXQgd2Fsa0RpcihmdWxsLCBhY2MpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgYWNjLnB1c2goZnVsbCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lURzlqWVd4Q2JHOWlVM1J2Y21WVFpYSjJhV05sTG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2lMaTR2TGk0dkxpNHZMaTR2YzNKakwySnNiMkl2Ykc5allXd3ZURzlqWVd4Q2JHOWlVM1J2Y21WVFpYSjJhV05sTG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lJN096czdPenRCUVVGQk96czdPMGRCU1VjN1FVRkRTQ3hQUVVGUExFVkJRWFZDTEdOQlFXTXNSVUZCTWtJc1QwRkJUeXhGUVVGRkxHZENRVUZuUWl4RlFVRkZMRTFCUVUwc1owSkJRV2RDTEVOQlFVTTdRVUZEZWtnc1QwRkJUeXhGUVVOTUxHRkJRV0VzUlVGRFlpeGhRVUZoTEVWQlEySXNZVUZCWVN4RlFVTmlMR1ZCUVdVc1IwRkRhRUlzVFVGQlRTeDVRa0ZCZVVJc1EwRkJRenRCUVVOcVF5eFBRVUZQTEVWQlFVVXNVMEZCVXl4RlFVRkZMRTFCUVUwc2VVSkJRWGxDTEVOQlFVTTdRVUZEY0VRc1QwRkJUeXhGUVVOTUxHZENRVUZuUWl4RlFVTm9RaXhwUWtGQmFVSXNSVUZEYWtJc1VVRkJVU3hKUVVGSkxFVkJRVVVzUjBGRlppeE5RVUZOTEVsQlFVa3NRMEZCUXp0QlFVTmFMRTlCUVU4c1JVRkJSU3hQUVVGUExFVkJRVVVzU1VGQlNTeEZRVUZGTEZGQlFWRXNSVUZCUlN4UFFVRlBMRVZCUVVVc1IwRkJSeXhGUVVGRkxFMUJRVTBzVFVGQlRTeERRVUZETzBGQlF6ZEVMRTlCUVU4c1JVRkJSU3huUWtGQlowSXNSVUZCUlN4elEwRkJhVU03UVVGRE5VUXNUMEZCVHl4RlFVRkZMRzlDUVVGdlFpeEZRVUZGTEd0RFFVRXJRanRCUVVNNVJDeFBRVUZQTEVWQlFVVXNVMEZCVXl4RlFVRkZMREpEUVVGelF6dEJRVzlDTVVRN096czdPenRIUVUxSE8wRkJSVWtzU1VGQlRTeHhRa0ZCY1VJc1IwRkJNMElzVFVGQlRTeHhRa0ZCYzBJc1UwRkJVU3huUWtGSE1VTTdTVUZEUXpzN096czdPMDlCVFVjN1NVRkRaMElzY1VKQlFYRkNPMUZCUjNSRExFMUJRVTBzUjBGQlJ5eEhRVUZITEc5Q1FVRnZRaXhEUVVGRExFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTTdVVUZETjBNc1RVRkJUU3hSUVVGUkxFZEJRVWNzVTBGQlV5eERRVUZETEVkQlFVY3NSVUZCUlN4UlFVRlJMRU5CUVVNc1EwRkJRenRSUVVNeFF5eEpRVUZKTEVOQlFVTXNVVUZCVVR0WlFVRkZMRTlCUVU4c1UwRkJVeXhEUVVGRE8xRkJRMmhETEU5QlFVODdXVUZEVEN4UlFVRlJMRVZCUVVVc1QwRkJUenRaUVVOcVFpeFJRVUZSTEVWQlFVVXNVMEZCVXl4RFFVRkRMRWRCUVVjc1EwRkJReXhSUVVGUkxFTkJRVmM3V1VGRE0wTXNVVUZCVVR0WlFVTlNMRTFCUVUwc1JVRkJSU3hUUVVGVExFTkJRVU1zUjBGQlJ5eERRVUZETEUxQlFVMHNRMEZCUXp0VFFVTTVRaXhEUVVGRE8wbEJRMG9zUTBGQlF6dEpRVVZFT3pzN096czdPenM3T3pzN1QwRlpSenRKUVVOTkxFdEJRVXNzUTBGQlF5eFZRVUZWTEVOQlEzWkNMRWRCUVVjc1NVRkJlVUk3VVVGTE5VSXNUVUZCVFN4TlFVRk5MRWRCUTFZc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRTRRaXhIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETzFGQlF5OUVMRWxCUVVrc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF6dFpRVU5hTEU5QlFVOHNTVUZCU1N4RFFVRkRMR3RDUVVGclFpeEZRVUZYTEVOQlFVTTdVVUZETlVNc1EwRkJRenRSUVVORUxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNVVUZCVVN4RlFVRkZMRU5CUVVNN1dVRkRja0lzVFVGQlRTeEpRVUZKTEdGQlFXRXNRMEZEY2tJc01rTkJRVEpETEVOQlF6VkRMRU5CUVVNN1VVRkRTaXhEUVVGRE8xRkJRMFFzVFVGQlRTeEZRVUZGTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTFCUVUwc1EwRkJReXhSUVVGUkxFVkJRVVVzUlVGQlJTeFRRVUZUTEVWQlFVVXNTVUZCU1N4RlFVRkZMRU5CUVVNc1EwRkJRenRSUVVOeVJDeEpRVUZKTEVOQlFVTXNUMEZCVHl4SFFVRkhMRTFCUVUwc1EwRkJRenRSUVVOMFFpeEpRVUZKTEVOQlFVTXNUMEZCVHl4SFFVRkhMRVZCUVVVc1NVRkJTU3hGUVVGRkxFOUJRVThzUTBGQlF5eE5RVUZOTEVOQlFVTXNVVUZCVVN4RFFVRkRMRVZCUVVVc1EwRkJRenRSUVVOc1JDeFBRVUZQTEVWQlFVVXNUVUZCVFN4RlFVRkZMRTFCUVUwc1JVRkJSU3hKUVVGSkxFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdTVUZETVVNc1EwRkJRenRKUVVWRUxFdEJRVXNzUTBGQlF5eEhRVUZITEVOQlExQXNSMEZCV1N4RlFVTmFMRXRCUVdkQ0xFVkJRMmhDTEZWQlFUQkNMRVZCUVVVc1JVRkROVUlzUjBGQlJ5eEpRVUUyUWp0UlFVVm9ReXhOUVVGTkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEVkQlFVY3NRMEZCUXl4TlFVRk5MRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeEZRVUZGTEV0QlFVc3NSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRja1VzUjBGQlJ5eERRVUZETEU5QlFVOHNRMEZCUXl4blFrRkJaMElzUjBGQlJ5eEZRVUZGTEVOQlFVTXNRMEZCUXp0UlFVVnVReXhOUVVGTkxGVkJRVlVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xRkJSWFJETEVsQlFVa3NUMEZCVHl4RFFVRkRMRmRCUVZjc1JVRkJSU3hEUVVGRE8xbEJRM2hDTEVsQlFVa3NRMEZCUXp0blFrRkRTQ3hOUVVGTkxFVkJRVVVzUTBGQlF5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNN1owSkJRekZDTEUxQlFVMHNTVUZCU1N4aFFVRmhMRU5CUVVNc2QwSkJRWGRDTEVkQlFVY3NSVUZCUlN4RFFVRkRMRU5CUVVNN1dVRkRla1FzUTBGQlF6dFpRVUZETEU5QlFVOHNRMEZCUXl4RlFVRkZMRU5CUVVNN1owSkJRMWdzU1VGQlN5eERRVUV5UWl4RFFVRkRMRWxCUVVrc1MwRkJTeXhSUVVGUk8yOUNRVUZGTEUxQlFVMHNRMEZCUXl4RFFVRkRPMWxCUXpsRUxFTkJRVU03VVVGRFNDeERRVUZETzFGQlJVUXNUVUZCVFN4RlFVRkZMRU5CUVVNc1MwRkJTeXhEUVVGRExFOUJRVThzUTBGQlF5eFZRVUZWTEVOQlFVTXNSVUZCUlN4RlFVRkZMRk5CUVZNc1JVRkJSU3hKUVVGSkxFVkJRVVVzUTBGQlF5eERRVUZETzFGQlJYcEVMRTFCUVUwc1RVRkJUU3hIUVVGSExFMUJRVTBzYjBKQlFXOUNMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03VVVGRGFrUXNUVUZCVFN4TlFVRk5MRWRCUVVjc1EwRkJReXhOUVVGTkxGTkJRVk1zUlVGQlJTeERRVUZSTEVOQlFVTTdVVUZETVVNc1RVRkJUU3hOUVVGTkxFZEJRVWNzVFVGQlRTeERRVUZETEZWQlFWVXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRE8xRkJSWGhGTEVsQlFVa3NUMEZCVHl4RFFVRkRMR05CUVdNc1NVRkJTU3hQUVVGUExFTkJRVU1zWTBGQll5eExRVUZMTEUxQlFVMHNSVUZCUlN4RFFVRkRPMWxCUTJoRkxFMUJRVTBzU1VGQlNTeGxRVUZsTEVOQlFVTXNlVUpCUVhsQ0xFZEJRVWNzUlVGQlJTeERRVUZETEVOQlFVTTdVVUZETlVRc1EwRkJRenRSUVVWRUxFMUJRVTBzU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUXl4VlFVRlZMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03VVVGRk0wTXNUVUZCVFN4UlFVRlJMRWRCUVdsQ08xbEJRemRDTEZkQlFWY3NSVUZCUlN4UFFVRlBMRU5CUVVNc1YwRkJWenRaUVVOb1F5eGhRVUZoTEVWQlFVVXNUVUZCVFN4RFFVRkRMRTFCUVUwN1dVRkROVUlzVFVGQlRUdFpRVU5PTEUxQlFVMHNSVUZCUlN4UFFVRlBMRU5CUVVNc1VVRkJVVHRUUVVONlFpeERRVUZETzFGQlJVWXNUMEZCVHp0WlFVTk1MRWRCUVVjN1dVRkRTQ3hIUVVGSExFVkJRVVVzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRVZCUVVVc1RVRkJUU3hEUVVGRE8xbEJRekZDTEZGQlFWRXNSVUZCUlN4SlFVRkpMRU5CUVVNc1VVRkJVVHRaUVVOMlFpeFJRVUZSTEVWQlFVVXNTVUZCU1N4RFFVRkRMRkZCUVZFN1dVRkRka0lzVVVGQlVUdFRRVU5VTEVOQlFVTTdTVUZEU2l4RFFVRkRPMGxCUlVRc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGRFVDeEhRVUZaTEVWQlExb3NWVUZCTUVJc1JVRkJSU3hGUVVNMVFpeEhRVUZITEVsQlFUWkNPMUZCUldoRExFMUJRVTBzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RFFVRkRMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVWQlFVVXNTMEZCU3l4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOeVJTeEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMR2RDUVVGblFpeEhRVUZITEVWQlFVVXNRMEZCUXl4RFFVRkRPMUZCUlc1RExFMUJRVTBzVlVGQlZTeEhRVUZITEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRGRFTXNUVUZCVFN4SlFVRkpMRWRCUVVjc1RVRkJUU3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRPMUZCUXpkRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVWQlFVVXNRMEZCUXp0WlFVTldMRTFCUVUwc1NVRkJTU3hoUVVGaExFTkJRVU1zYlVKQlFXMUNMRWRCUVVjc1JVRkJSU3hEUVVGRExFTkJRVU03VVVGRGNFUXNRMEZCUXp0UlFVVkVMRTFCUVUwc1RVRkJUU3hIUVVGbExHZENRVUZuUWl4RFFVRkRMRlZCUVZVc1JVRkJSVHRaUVVOMFJDeExRVUZMTEVWQlFVVXNUMEZCVHl4RFFVRkRMRXRCUVVzc1JVRkJSU3hMUVVGTE8xbEJRek5DTEVkQlFVY3NSVUZCUlN4UFFVRlBMRU5CUVVNc1MwRkJTeXhGUVVGRkxFZEJRVWM3VTBGRGVFSXNRMEZCUXl4RFFVRkRPMUZCUlVnc1RVRkJUU3hSUVVGUkxFZEJRV2xDTzFsQlF6ZENMR0ZCUVdFc1JVRkJSU3hKUVVGSkxFTkJRVU1zU1VGQlNUdFRRVU42UWl4RFFVRkRPMUZCUlVZc1QwRkJUenRaUVVOTUxFZEJRVWM3V1VGRFNDeExRVUZMTEVWQlFVVXNjVUpCUVhGQ0xFTkJRVU1zVFVGQlRTeERRVUZETzFsQlEzQkRMRWRCUVVjc1JVRkJSU3hKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVkQlFVY3NSVUZCUlN4TlFVRk5MRU5CUVVNN1dVRkRNVUlzVVVGQlVTeEZRVUZGTEVsQlFVa3NRMEZCUXl4UlFVRlJPMWxCUTNaQ0xGRkJRVkVzUlVGQlJTeEpRVUZKTEVOQlFVTXNVVUZCVVR0WlFVTjJRaXhSUVVGUk8xTkJRMVFzUTBGQlF6dEpRVU5LTEVOQlFVTTdTVUZGUkN4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVOUUxFZEJRVmtzUlVGRFdpeEhRVUZITEVsQlFUWkNPMUZCUldoRExFMUJRVTBzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RFFVRkRMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVWQlFVVXNTMEZCU3l4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOeVJTeEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMR2xDUVVGcFFpeEhRVUZITEVWQlFVVXNRMEZCUXl4RFFVRkRPMUZCUTNCRExFMUJRVTBzVlVGQlZTeEhRVUZITEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRGRFTXNUMEZCVHl4UFFVRlBMRU5CUVVNc1RVRkJUU3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRiRVFzUTBGQlF6dEpRVVZFTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUTFJc1IwRkJXU3hGUVVOYUxFZEJRVWNzU1VGQk5rSTdVVUZGYUVNc1RVRkJUU3hGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVOQlFVTXNUVUZCVFN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUlVGQlJTeE5RVUZOTEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMUZCUTNaRkxFZEJRVWNzUTBGQlF5eFBRVUZQTEVOQlFVTXNhVUpCUVdsQ0xFZEJRVWNzUlVGQlJTeERRVUZETEVOQlFVTTdVVUZEY0VNc1RVRkJUU3hWUVVGVkxFZEJRVWNzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOMFF5eE5RVUZOTEVsQlFVa3NSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTTdVVUZETjBNc1NVRkJTU3hEUVVGRExFbEJRVWtzUlVGQlJTeERRVUZETzFsQlExWXNUVUZCVFN4SlFVRkpMR0ZCUVdFc1EwRkJReXh0UWtGQmJVSXNSMEZCUnl4RlFVRkZMRU5CUVVNc1EwRkJRenRSUVVOd1JDeERRVUZETzFGQlEwUXNUMEZCVHl4RlFVRkZMR0ZCUVdFc1JVRkJSU3hKUVVGSkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVOQlFVTTdTVUZEZEVNc1EwRkJRenRKUVVWRUxFdEJRVXNzUTBGQlF5eE5RVUZOTEVOQlExWXNSMEZCV1N4RlFVTmFMRWRCUVVjc1NVRkJOa0k3VVVGRmFFTXNUVUZCVFN4RlFVRkZMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRVU1zVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1JVRkJSU3hSUVVGUkxFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzFGQlF6TkZMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zYVVKQlFXbENMRWRCUVVjc1JVRkJSU3hEUVVGRExFTkJRVU03VVVGRGNFTXNUVUZCVFN4VlFVRlZMRWRCUVVjc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTjBReXhKUVVGSkxFTkJRVU03V1VGRFNDeE5RVUZOTEVWQlFVVXNRMEZCUXl4TlFVRk5MRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU03VVVGRE9VSXNRMEZCUXp0UlFVRkRMRTlCUVU4c1EwRkJReXhGUVVGRkxFTkJRVU03V1VGRFdDeEpRVUZMTEVOQlFUSkNMRU5CUVVNc1NVRkJTU3hMUVVGTExGRkJRVkU3WjBKQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1VVRkRPVVFzUTBGQlF6dEpRVU5JTEVOQlFVTTdTVUZGUkN4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVOU0xFOUJRV2RDTEVWQlEyaENMRXRCUVdNc1JVRkRaQ3hWUVVFd1FpeEZRVUZGTEVWQlF6VkNMRWRCUVVjc1NVRkJOa0k3VVVGRmFFTXNUVUZCVFN4RlFVRkZMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRVU1zVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1JVRkJSU3hOUVVGTkxFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzFGQlEzWkZMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zWjBKQlFXZENMRTlCUVU4c1QwRkJUeXhMUVVGTExFVkJRVVVzUTBGQlF5eERRVUZETzFGQlEyNUVMRTFCUVUwc1VVRkJVU3hIUVVGSExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNN1VVRkRlRU1zVFVGQlRTeFJRVUZSTEVkQlFVY3NUVUZCVFN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzFGQlF5OURMRWxCUVVrc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF6dFpRVU5rTEUxQlFVMHNTVUZCU1N4aFFVRmhMRU5CUVVNc2JVSkJRVzFDTEU5QlFVOHNSVUZCUlN4RFFVRkRMRU5CUVVNN1VVRkRlRVFzUTBGQlF6dFJRVU5FTEUxQlFVMHNUVUZCVFN4SFFVRkhMRTFCUVUwc1JVRkJSU3hEUVVGRExGRkJRVkVzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0UlFVTXpReXhQUVVGUExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNTMEZCU3l4RlFVRkZMRTFCUVUwc1JVRkJSU3hQUVVGUExFTkJRVU1zUTBGQlF6dEpRVU14UXl4RFFVRkRPMGxCUlVRc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGRFVpeFZRVUV5UWl4RlFVRkZMRVZCUXpkQ0xFZEJRVWNzU1VGQk5rSTdVVUZGYUVNc1RVRkJUU3hGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVOQlFVTXNUVUZCVFN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUlVGQlJTeE5RVUZOTEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMUZCUTNaRkxFZEJRVWNzUTBGQlF5eFBRVUZQTEVOQlFVTXNaVUZCWlN4RFFVRkRMRU5CUVVNN1VVRkZOMElzVFVGQlRTeE5RVUZOTEVkQlFVY3NUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUXl4UFFVRlBMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXp0UlFVTjBSU3hOUVVGTkxFbEJRVWtzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJRenRSUVVNNVFpeE5RVUZOTEU5QlFVOHNSMEZCUnl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF6dFJRVVZ1UkN4TlFVRk5MRkZCUVZFc1IwRkJZU3hGUVVGRkxFTkJRVU03VVVGRE9VSXNUVUZCVFN4UFFVRlBMRU5CUVVNc1QwRkJUeXhGUVVGRkxGRkJRVkVzUTBGQlF5eERRVUZETzFGQlJXcERMRTFCUVUwc1NVRkJTU3hIUVVGSExGRkJRVkU3WVVGRGJFSXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFVkJRVVU3V1VGRFZDeE5RVUZOTEVkQlFVY3NSMEZCUnl4UlFVRlJMRU5CUVVNc1NVRkJTU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdXVUZEYmtRc1QwRkJUeXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRE8xRkJRelZDTEVOQlFVTXNRMEZCUXp0aFFVTkVMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFZRVUZWTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzJGQlEzSkVMRWxCUVVrc1JVRkJSU3hEUVVGRE8xRkJSVllzVFVGQlRTeExRVUZMTEVkQlFVY3NUMEZCVHl4RFFVRkRMRXRCUVVzc1NVRkJTU3hKUVVGSkxFTkJRVU03VVVGRGNFTXNUVUZCVFN4VlFVRlZMRWRCUVVjc1QwRkJUeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRTlCUVU4c1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUXk5RUxFMUJRVTBzUzBGQlN5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1ZVRkJWU3hGUVVGRkxGVkJRVlVzUjBGQlJ5eExRVUZMTEVOQlFVTXNRMEZCUXp0UlFVTjZSQ3hOUVVGTkxGVkJRVlVzUjBGRFpDeFZRVUZWTEVkQlFVY3NTMEZCU3l4SFFVRkhMRWxCUVVrc1EwRkJReXhOUVVGTk8xbEJRemxDTEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1ZVRkJWU3hIUVVGSExFdEJRVXNzUTBGQlF6dFpRVU0xUWl4RFFVRkRMRU5CUVVNc1UwRkJVeXhEUVVGRE8xRkJSV2hDTEU5QlFVODdXVUZEVEN4TFFVRkxMRVZCUVVVc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFZEJRVWNzUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRPMWxCUTNKRExFMUJRVTBzUlVGQlJTeFZRVUZWTzFOQlEyNUNMRU5CUVVNN1NVRkRTaXhEUVVGRE8wbEJSVVFzUzBGQlN5eERRVUZETEVkQlFVY3NRMEZEVUN4SFFVRlpMRVZCUTFvc1ZVRkJNRUlzUlVGQlJTeEZRVU0xUWl4SFFVRkhMRWxCUVRaQ08xRkJSV2hETEUxQlFVMHNSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhEUVVGRExFMUJRVTBzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRVZCUVVVc1MwRkJTeXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU55UlN4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRExIbENRVUY1UWl4SFFVRkhMRVZCUVVVc1EwRkJReXhEUVVGRE8xRkJRelZETEVsQlFVa3NUMEZCVHl4RFFVRkRMRk5CUVZNc1NVRkJTU3hQUVVGUExFTkJRVU1zVTBGQlV5eExRVUZMTEV0QlFVc3NSVUZCUlN4RFFVRkRPMWxCUTNKRUxFMUJRVTBzU1VGQlNTeG5Ra0ZCWjBJc1EwRkJReXcwUTBGQk5FTXNRMEZCUXl4RFFVRkRPMUZCUXpORkxFTkJRVU03VVVGRFJDeFBRVUZQTzFsQlEwd3NSMEZCUnl4RlFVRkZMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eEZRVUZGTEUxQlFVMHNRMEZCUXp0WlFVTXhRaXhOUVVGTkxFVkJRVVVzUzBGQlN6dFpRVU5pTEZOQlFWTXNSVUZCUlN4SlFVRkpMRWxCUVVrc1EwRkRha0lzU1VGQlNTeERRVUZETEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRExHZENRVUZuUWl4SlFVRkpMRWRCUVVjc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGRGRFUTdVMEZEUml4RFFVRkRPMGxCUTBvc1EwRkJRenRKUVVWVExGVkJRVlVzUTBGQlF5eExRVUZqTzFGQlEycERMRTFCUVUwc1IwRkJSeXhIUVVGSExFdEJRV01zUTBGQlF6dFJRVU16UWl4SlFVTkZMRWRCUVVjc1dVRkJXU3hoUVVGaE8xbEJRelZDTEVkQlFVY3NXVUZCV1N4aFFVRmhPMWxCUXpWQ0xFZEJRVWNzV1VGQldTeGxRVUZsTzFsQlF6bENMRWRCUVVjc1dVRkJXU3hoUVVGaExFVkJRelZDTEVOQlFVTTdXVUZEUkN4UFFVRlBMRWRCUVVjc1EwRkJRenRSUVVOaUxFTkJRVU03VVVGRFJDeE5RVUZOTEU5QlFVOHNSMEZCUnl4SFFVRkhMRU5CUVVNc1QwRkJUeXhKUVVGSkxHVkJRV1VzUTBGQlF6dFJRVU12UXl4TlFVRk5MRXRCUVVzc1IwRkJSeXhQUVVGUExFTkJRVU1zVjBGQlZ5eEZRVUZGTEVOQlFVTTdVVUZEY0VNc1RVRkJUU3hKUVVGSkxFZEJRVWtzUjBGQk5rSXNRMEZCUXl4SlFVRkpMRU5CUVVNN1VVRkRha1FzU1VGQlNTeEpRVUZKTEV0QlFVc3NVVUZCVVN4SlFVRkpMRXRCUVVzc1EwRkJReXhSUVVGUkxFTkJRVU1zVjBGQlZ5eERRVUZETEVWQlFVVXNRMEZCUXp0WlFVTnlSQ3hQUVVGUExFbEJRVWtzWVVGQllTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUTJoRExFTkJRVU03VVVGRFJDeEpRVUZKTEVsQlFVa3NTMEZCU3l4UlFVRlJMRWxCUVVrc1MwRkJTeXhEUVVGRExGRkJRVkVzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhGUVVGRkxFTkJRVU03V1VGRE1VUXNUMEZCVHl4SlFVRkpMR0ZCUVdFc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU5vUXl4RFFVRkRPMUZCUTBRc1NVRkJTU3hKUVVGSkxFdEJRVXNzVVVGQlVTeEpRVUZKTEVsQlFVa3NTMEZCU3l4UFFVRlBMRWxCUVVrc1MwRkJTeXhEUVVGRExGRkJRVkVzUTBGQlF5eFpRVUZaTEVOQlFVTXNSVUZCUlN4RFFVRkRPMWxCUXpGRkxFOUJRVThzU1VGQlNTeGpRVUZqTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRha01zUTBGQlF6dFJRVU5FTEVsQlFVa3NTVUZCU1N4TFFVRkxMR05CUVdNc1NVRkJTU3hMUVVGTExFTkJRVU1zVVVGQlVTeERRVUZETEZOQlFWTXNRMEZCUXl4RlFVRkZMRU5CUVVNN1dVRkRla1FzVDBGQlR5eEpRVUZKTEdWQlFXVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOc1F5eERRVUZETzFGQlEwUXNUMEZCVHl4SlFVRkpMR0ZCUVdFc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dEpRVU5vUXl4RFFVRkRPMGxCUlU4c1VVRkJVU3hEUVVGRExFZEJRVms3VVVGRE0wSXNUVUZCVFN4UlFVRlJMRWRCUVVjc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTjJReXhOUVVGTkxFbEJRVWtzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJRenRSUVVNNVFpeE5RVUZOTEUxQlFVMHNSMEZCUnl4UFFVRlBMRU5CUVVNc1NVRkJTU3hGUVVGRkxGRkJRVkVzUTBGQlF5eERRVUZETzFGQlEzWkRMRTFCUVUwc1IwRkJSeXhIUVVGSExGRkJRVkVzUTBGQlF5eEpRVUZKTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1VVRkRia01zU1VGQlNTeEhRVUZITEVOQlFVTXNWVUZCVlN4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFZEJRVWNzUzBGQlN5eEZRVUZGTEVsQlFVa3NSMEZCUnl4TFFVRkxMRWRCUVVjc1NVRkJTU3hIUVVGSExFTkJRVU1zVlVGQlZTeERRVUZETEV0QlFVc3NSMEZCUnl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRE8xbEJRM0JHTEUxQlFVMHNTVUZCU1N4bFFVRmxMRU5CUVVNc0swSkJRU3RDTEVkQlFVY3NSVUZCUlN4RFFVRkRMRU5CUVVNN1VVRkRiRVVzUTBGQlF6dFJRVU5FTEU5QlFVOHNUVUZCVFN4RFFVRkRPMGxCUTJoQ0xFTkJRVU03U1VGRlR5eExRVUZMTEVOQlFVTXNVVUZCVVN4RFFVTndRaXhKUVVGWk8xRkJSVm9zU1VGQlNTeERRVUZETzFsQlEwZ3NUVUZCVFN4SlFVRkpMRWRCUVVjc1RVRkJUU3hGUVVGRkxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMWxCUTJwRExFbEJRVWtzU1VGQlNTeERRVUZETEUxQlFVMHNSVUZCUlR0blFrRkJSU3hQUVVGUExFVkJRVVVzU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4SlFVRkpMRVZCUVVVc1EwRkJRenRaUVVNNVF5eFBRVUZQTEZOQlFWTXNRMEZCUXp0UlFVTnVRaXhEUVVGRE8xRkJRVU1zVDBGQlR5eERRVUZETEVWQlFVVXNRMEZCUXp0WlFVTllMRWxCUVVzc1EwRkJNa0lzUTBGQlF5eEpRVUZKTEV0QlFVc3NVVUZCVVR0blFrRkJSU3hQUVVGUExGTkJRVk1zUTBGQlF6dFpRVU55UlN4TlFVRk5MRU5CUVVNc1EwRkJRenRSUVVOV0xFTkJRVU03U1VGRFNDeERRVUZETzBsQlJVOHNTMEZCU3l4RFFVRkRMRmRCUVZjc1EwRkJReXhWUVVGclFpeEZRVUZGTEUxQlFXTTdVVUZETVVRc1RVRkJUU3hOUVVGTkxFZEJRVWNzUTBGQlF5eE5RVUZOTEZOQlFWTXNSVUZCUlN4RFFVRlJMRU5CUVVNN1VVRkRNVU1zVFVGQlRTeFBRVUZQTEVkQlFVY3NSMEZCUnl4VlFVRlZMRWxCUVVrc1RVRkJUU3hEUVVGRExGZEJRVmNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4UlFVRlJMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF6dFJRVU0zUlN4TlFVRk5MRTFCUVUwc1IwRkJSeXhwUWtGQmFVSXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRSUVVNeFF5eE5RVUZOTEVsQlFVa3NUMEZCVHl4RFFVRlBMRU5CUVVNc1QwRkJUeXhGUVVGRkxFMUJRVTBzUlVGQlJTeEZRVUZGTzFsQlF6RkRMRTFCUVUwc1EwRkJReXhGUVVGRkxFTkJRVU1zVDBGQlR5eEZRVUZGTEUxQlFVMHNRMEZCUXl4RFFVRkRPMWxCUXpOQ0xFMUJRVTBzUTBGQlF5eEZRVUZGTEVOQlFVTXNVVUZCVVN4RlFVRkZMRWRCUVVjc1JVRkJSU3hEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETEVOQlFVTTdXVUZEY2tNc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0UlFVTnlRaXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU5JTEVsQlFVa3NRMEZCUXp0WlFVTklMRTFCUVUwc1JVRkJSU3hEUVVGRExFMUJRVTBzUTBGQlF5eFBRVUZQTEVWQlFVVXNWVUZCVlN4RFFVRkRMRU5CUVVNN1VVRkRka01zUTBGQlF6dFJRVUZETEU5QlFVOHNRMEZCUXl4RlFVRkZMRU5CUVVNN1dVRkRXQ3hKUVVGSkxFTkJRVU03WjBKQlEwZ3NUVUZCVFN4RlFVRkZMRU5CUVVNc1RVRkJUU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzFsQlF6TkNMRU5CUVVNN1dVRkJReXhOUVVGTkxFTkJRVU03WjBKQlExQXNXVUZCV1R0WlFVTmtMRU5CUVVNN1dVRkRSQ3hOUVVGTkxFTkJRVU1zUTBGQlF6dFJRVU5XTEVOQlFVTTdTVUZEU0N4RFFVRkRPME5CUTBZc1EwRkJRVHRCUVc1VldTeHhRa0ZCY1VJN1NVRkVha01zVDBGQlR5eERRVUZETEZsQlFWa3NRMEZCUXp0SFFVTlVMSEZDUVVGeFFpeERRVzFWYWtNN08wRkJSVVFzUzBGQlN5eFZRVUZWTEc5Q1FVRnZRaXhEUVVGRExFdEJRV2RDTzBsQlEyeEVMRWxCUVVrc1MwRkJTeXhaUVVGWkxGVkJRVlU3VVVGQlJTeFBRVUZQTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03U1VGRE0wUXNTVUZCU1N4TFFVRkxMRmxCUVZrc1RVRkJUVHRSUVVGRkxFOUJRVThzUzBGQlN5eERRVUZETzBsQlF6RkRMRWxCUVVrc1QwRkJVU3hMUVVGaExFVkJRVVVzUTBGQlF5eE5RVUZOTEVOQlFVTXNZVUZCWVN4RFFVRkRMRXRCUVVzc1ZVRkJWU3hGUVVGRkxFTkJRVU03VVVGRGFrVXNUVUZCVFN4TlFVRk5MRWRCUVdFc1JVRkJSU3hEUVVGRE8xRkJRelZDTEVsQlFVa3NTMEZCU3l4RlFVRkZMRTFCUVUwc1MwRkJTeXhKUVVGSkxFdEJRV3RETEVWQlFVVXNRMEZCUXp0WlFVTTNSQ3hOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU5zUXl4RFFVRkRPMUZCUTBRc1QwRkJUeXhOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMGxCUXk5Q0xFTkJRVU03U1VGRFJDeEpRVUZKTEU5QlFWRXNTMEZCWVN4RlFVRkZMRk5CUVZNc1MwRkJTeXhWUVVGVkxFVkJRVVVzUTBGQlF6dFJRVU53UkN4TlFVRk5MRTFCUVUwc1IwRkJTU3hMUVVGM1FpeERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMUZCUTNKRUxFMUJRVTBzVFVGQlRTeEhRVUZoTEVWQlFVVXNRMEZCUXp0UlFVTTFRaXhKUVVGSkxFMUJRVTBzUjBGQlJ5eE5RVUZOTEUxQlFVMHNRMEZCUXl4SlFVRkpMRVZCUVVVc1EwRkJRenRSUVVOcVF5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRE8xbEJRM0JDTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNTMEZCYlVJc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRGNrUXNUVUZCVFN4SFFVRkhMRTFCUVUwc1RVRkJUU3hEUVVGRExFbEJRVWtzUlVGQlJTeERRVUZETzFGQlF5OUNMRU5CUVVNN1VVRkRSQ3hQUVVGUExFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1NVRkRMMElzUTBGQlF6dEpRVU5FTEUxQlFVMHNTVUZCU1N4bFFVRmxMRU5CUVVNc1owTkJRV2RETEU5QlFVOHNTMEZCU3l4RlFVRkZMRU5CUVVNc1EwRkJRenRCUVVNMVJTeERRVUZETzBGQlJVUXNTMEZCU3l4VFFVRlRMRU5CUVVNc1EwRkJReXh4UWtGQmNVSXNRMEZEYmtNc1RVRkJhMEk3U1VGRmJFSXNTVUZCU1N4TFFVRkxMRVZCUVVVc1RVRkJUU3hMUVVGTExFbEJRVWtzVFVGQlRTeEZRVUZGTEVOQlFVTTdVVUZEYWtNc1RVRkJUU3hMUVVGdFFpeERRVUZETzBsQlF6VkNMRU5CUVVNN1FVRkRTQ3hEUVVGRE8wRkJSVVFzUzBGQlN5eFZRVUZWTEU5QlFVOHNRMEZCUXl4SFFVRlhMRVZCUVVVc1IwRkJZVHRKUVVNdlF5eEpRVUZKTEU5QlFXbENMRU5CUVVNN1NVRkRkRUlzU1VGQlNTeERRVUZETzFGQlEwZ3NUMEZCVHl4SFFVRkhMRTFCUVUwc1JVRkJSU3hEUVVGRExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0SlFVTnNReXhEUVVGRE8wbEJRVU1zVDBGQlR5eERRVUZETEVWQlFVVXNRMEZCUXp0UlFVTllMRWxCUVVzc1EwRkJNa0lzUTBGQlF5eEpRVUZKTEV0QlFVc3NVVUZCVVR0WlFVRkZMRTlCUVU4N1VVRkRNMFFzVFVGQlRTeERRVUZETEVOQlFVTTdTVUZEVml4RFFVRkRPMGxCUTBRc1MwRkJTeXhOUVVGTkxFdEJRVXNzU1VGQlNTeFBRVUZQTEVWQlFVVXNRMEZCUXp0UlFVTTFRaXhKUVVGSkxFdEJRVXNzUTBGQlF5eFJRVUZSTEVOQlFVTXNUVUZCVFN4RFFVRkRPMWxCUVVVc1UwRkJVenRSUVVOeVF5eE5RVUZOTEVsQlFVa3NSMEZCUnl4SlFVRkpMRU5CUVVNc1IwRkJSeXhGUVVGRkxFdEJRVXNzUTBGQlF5eERRVUZETzFGQlF6bENMRTFCUVUwc1NVRkJTU3hIUVVGSExFMUJRVTBzUlVGQlJTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVOcVF5eEpRVUZKTEVsQlFVa3NRMEZCUXl4WFFVRlhMRVZCUVVVc1JVRkJSU3hEUVVGRE8xbEJRM1pDTEUxQlFVMHNUMEZCVHl4RFFVRkRMRWxCUVVrc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU16UWl4RFFVRkRPMkZCUVUwc1EwRkJRenRaUVVOT0xFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1VVRkRha0lzUTBGQlF6dEpRVU5JTEVOQlFVTTdRVUZEU0N4RFFVRkRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHlvcVhHNGdLaUJBYlc5a2RXeGxJR2x1ZEdWbmNtRjBhVzl1Y3k5aWJHOWlMMnh2WTJGc0wzTmxjblpwWTJWY2JpQXFJRUJ6ZFcxdFlYSjVJRXh2WTJGc0lHWnBiR1Z6ZVhOMFpXMGdZbXh2WWlCemRHOXlaU0J6WlhKMmFXTmxMbHh1SUNvZ1FHUmxjMk55YVhCMGFXOXVJRVpwYkdWemVYTjBaVzB0WW1GamEyVmtJR0pzYjJJZ2MzUnZjbVVnZDNKaGNIQnBibWNnYm05a1pUcG1jeUIzYVhSb0lHRjBiMjFwWXlCM2NtbDBaWE1nWVc1a0lIQmhkR2d0ZEhKaGRtVnljMkZzSUhCeWIzUmxZM1JwYjI0dVhHNGdLaTljYm1sdGNHOXlkQ0I3SUhSNWNHVWdRMjl1ZEdWNGRIVmhiRUZ5WjNNc0lFWnZjbUpwWkdSbGJrVnljbTl5TENCMGVYQmxJRTFoZVdKbFEyOXVkR1Y0ZEhWaGJFRnlaeXdnYzJWeWRtbGpaU3dnVlc1emRYQndiM0owWldSRmNuSnZjaUI5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12WTI5eVpWd2lPMXh1YVcxd2IzSjBJSHRjYmlBZ1EyOXVabXhwWTNSRmNuSnZjaXhjYmlBZ1NXNTBaWEp1WVd4RmNuSnZjaXhjYmlBZ1RtOTBSbTkxYm1SRmNuSnZjaXhjYmlBZ1ZtRnNhV1JoZEdsdmJrVnljbTl5TEZ4dWZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwyUmlMV1JsWTI5eVlYUnZjbk5jSWp0Y2JtbHRjRzl5ZENCN0lHZGxkRU55ZVhCMGJ5QjlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZZM0o1Y0hSdkwyTnZiVzF2Ymx3aU8xeHVhVzF3YjNKMElIdGNiaUFnWTNKbFlYUmxVbVZoWkZOMGNtVmhiU3hjYmlBZ1kzSmxZWFJsVjNKcGRHVlRkSEpsWVcwc1hHNGdJSEJ5YjIxcGMyVnpJR0Z6SUdaekxGeHVJQ0IwZVhCbElGSmxZV1JUZEhKbFlXMHNYRzU5SUdaeWIyMGdYQ0ptYzF3aU8xeHVhVzF3YjNKMElIc2daR2x5Ym1GdFpTd2dhbTlwYml3Z2NtVnNZWFJwZG1Vc0lISmxjMjlzZG1Vc0lITmxjQ0I5SUdaeWIyMGdYQ0p3WVhSb1hDSTdYRzVwYlhCdmNuUWdleUJDYkc5aVUzUnZjbVZUWlhKMmFXTmxJSDBnWm5KdmJTQmNJaTR1TDJOdmNtVXZRbXh2WWxOMGIzSmxVMlZ5ZG1salpWd2lPMXh1YVcxd2IzSjBJSHNnVEc5allXeENiRzlpUlc1MmFYSnZibTFsYm5RZ2ZTQm1jbTl0SUZ3aUxpOU1iMk5oYkVKc2IySkZiblpwY205dWJXVnVkRndpTzF4dWFXMXdiM0owSUhzZ1pXNTJVM1J5YVc1bklIMGdabkp2YlNCY0lpNHVMeTR1TDNOb1lYSmxaQzlsYm5acGNtOXViV1Z1ZEZaaGJIVmxYQ0k3WEc1cGJYQnZjblFnZEhsd1pTQjdYRzRnSUVKc2IySkhaWFJQY0hScGIyNXpMRnh1SUNCQ2JHOWlSMlYwVW1WemRXeDBMRnh1SUNCQ2JHOWlTMlY1TEZ4dUlDQkNiRzlpVEdsemRFOXdkR2x2Ym5Nc1hHNGdJRUpzYjJKTWFYTjBVbVZ6ZFd4MExGeHVJQ0JDYkc5aVRXVjBZV1JoZEdFc1hHNGdJRUpzYjJKUWRYUlBjSFJwYjI1ekxGeHVJQ0JDYkc5aVVIVjBVbVZ6ZFd4MExGeHVJQ0JDYkc5aVZYSnNUM0IwYVc5dWN5eGNiaUFnUW14dllsVnliRkpsYzNWc2RDeGNiaUFnUW14dllsWmhiSFZsTEZ4dUlDQk1iMk5oYkVKc2IySlRkRzl5WlZObGNuWnBZMlZEYjI1bWFXY3NYRzU5SUdaeWIyMGdYQ0l1TGk5amIzSmxMMEpzYjJKVWVYQmxjMXdpTzF4dVhHNXBiblJsY21aaFkyVWdURzlqWVd4R2MwTnNhV1Z1ZENCN1hHNGdJSEp2YjNRNklITjBjbWx1Wnp0Y2JuMWNibHh1THlvcVhHNGdLaUJBWkdWelkzSnBjSFJwYjI0Z1RHOWpZV3dnWm1sc1pYTjVjM1JsYlNCaWJHOWlJSE4wYjNKbElITmxjblpwWTJVZ2NtVm5hWE4wWlhKbFpDQmhjeUJnWW14dllpMXNiMk5oYkdCY2JpQXFJRUJ6ZFcxdFlYSjVJRk4wYjNKbGN5QmliRzlpY3lCMWJtUmxjaUJoSUdOdmJtWnBaM1Z5WVdKc1pTQnliMjkwSUhCaGRHZ2dkWE5wYm1jZ1lHNXZaR1U2Wm5OZ0lIZHBkR2hjYmlBcUlHRjBiMjFwWXlCM2NtbDBaWE1nS0hSbGJYQWdabWxzWlNBcklISmxibUZ0WlNrZ1lXNWtJSEJoZEdndGRISmhkbVZ5YzJGc0lIQnliM1JsWTNScGIyNHVYRzRnS2lCQVkyeGhjM01nVEc5allXeENiRzlpVTNSdmNtVlRaWEoyYVdObFhHNGdLaUJBYldWdFltVnlUMllnYlc5a2RXeGxPbWx1ZEdWbmNtRjBhVzl1Y3k5aWJHOWlMMnh2WTJGc0wzTmxjblpwWTJWY2JpQXFMMXh1UUhObGNuWnBZMlVvWENKaWJHOWlMV3h2WTJGc1hDSXBYRzVsZUhCdmNuUWdZMnhoYzNNZ1RHOWpZV3hDYkc5aVUzUnZjbVZUWlhKMmFXTmxJR1Y0ZEdWdVpITWdRbXh2WWxOMGIzSmxVMlZ5ZG1salpUeGNiaUFnVEc5allXeEdjME5zYVdWdWRDeGNiaUFnVEc5allXeENiRzlpVTNSdmNtVlRaWEoyYVdObFEyOXVabWxuWEc0K0lIdGNiaUFnTHlvcVhHNGdJQ0FxSUVCa1pYTmpjbWx3ZEdsdmJpQkNkV2xzWkhNZ2RHaGxJR3h2WTJGc0lHSnNiMklnWTI5dVptbG5JR1p5YjIwZ2RHaGxJR1Z1ZG1seWIyNXRaVzUwWEc0Z0lDQXFJRUJ6ZFcxdFlYSjVJRkpsWVdSeklIUm9aU0JnWW14dlluTXViRzlqWVd4Z0lHVnVkbWx5YjI1dFpXNTBJSE5zYVdObE95QmpiMjV6YVdSbGNtVmtYRzRnSUNBcUlIVnVZMjl1Wm1sbmRYSmxaQ0IzYUdWdUlHNXZJR0J5YjI5MFVHRjBhR0FnYVhNZ2MyVjBMQ0IzYUdsamFDQnJaV1Z3Y3lCMGFHVWdZWFYwYnkxaWIyOTBYRzRnSUNBcUlHWmhiR3hpWVdOcklDaHpaV1VnWUdkbGRFTnZibVpwWjBaeWIyMUJjbWR6WUNrZ2NtVnpiMngyYVc1bklIUnZJR0IxYm1SbFptbHVaV1JnTGx4dUlDQWdLaUJBY21WMGRYSnVJSHRNYjJOaGJFSnNiMkpUZEc5eVpWTmxjblpwWTJWRGIyNW1hV2NnZkNCMWJtUmxabWx1WldSOUlGUm9aU0JsYm5acGNtOXViV1Z1ZEMxa1pYSnBkbVZrSUdOdmJtWnBaeXdnYjNJZ1lIVnVaR1ZtYVc1bFpHQWdkMmhsYmlCMWJtTnZibVpwWjNWeVpXUmNiaUFnSUNvdlhHNGdJSEJ5YjNSbFkzUmxaQ0J2ZG1WeWNtbGtaU0JqYjI1bWFXZEdjbTl0Ulc1MmFYSnZibTFsYm5Rb0tUcGNiaUFnSUNCOElFeHZZMkZzUW14dllsTjBiM0psVTJWeWRtbGpaVU52Ym1acFoxeHVJQ0FnSUh3Z2RXNWtaV1pwYm1Wa0lIdGNiaUFnSUNCamIyNXpkQ0JsYm5ZZ1BTQk1iMk5oYkVKc2IySkZiblpwY205dWJXVnVkQzVpYkc5aWN5NXNiMk5oYkR0Y2JpQWdJQ0JqYjI1emRDQnliMjkwVUdGMGFDQTlJR1Z1ZGxOMGNtbHVaeWhsYm5ZL0xuSnZiM1JRWVhSb0tUdGNiaUFnSUNCcFppQW9JWEp2YjNSUVlYUm9LU0J5WlhSMWNtNGdkVzVrWldacGJtVmtPMXh1SUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNCd2NtOTJhV1JsY2pvZ1hDSnNiMk5oYkZ3aUxGeHVJQ0FnSUNBZ2MyOTFjbU5sU1dRNklHVnVkbE4wY21sdVp5aGxibll1YzI5MWNtTmxTV1FwSUdGeklITjBjbWx1Wnl4Y2JpQWdJQ0FnSUhKdmIzUlFZWFJvTEZ4dUlDQWdJQ0FnY0hKbFptbDRPaUJsYm5aVGRISnBibWNvWlc1MkxuQnlaV1pwZUNrc1hHNGdJQ0FnZlR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z6WTNKcGNIUnBiMjRnU1c1cGRHbGhiR2w2WlhNZ2RHaGxJR3h2WTJGc0lHWnBiR1Z6ZVhOMFpXMGdZbXh2WWlCemRHOXlaU0JqYkdsbGJuUmNiaUFnSUNvZ1FITjFiVzFoY25rZ1VtVnpiMngyWlhNZ2RHaGxJR052Ym1acFp5QjJhV0VnWUdkbGRFTnZibVpwWjBaeWIyMUJjbWR6WUNBb1pYaHdiR2xqYVhRZ1kyOXVabWxuTEZ4dUlDQWdLaUIwYUdWdUlIUm9aU0JnWW14dlluTXViRzlqWVd4Z0lHVnVkbWx5YjI1dFpXNTBJSE5zYVdObEtTNGdWMmhsYmlCdWJ5QmpiMjVtYVdjZ2NtVnpiMngyWlhNZ1pIVnlhVzVuWEc0Z0lDQXFJR0VnWTI5dWRHVjRkQzFpWldGeWFXNW5JR0YxZEc4dFltOXZkQ0J2WmlCaGJpQjFibU52Ym1acFozVnlaV1FnY0hKdmRtbGtaWElzSUhKbGRIVnlibk5jYmlBZ0lDb2dZSE5yYVhCSmJtbDBhV0ZzYVhwaGRHbHZiaWdwWUNCemJ5QmdVMlZ5ZG1salpTNWliMjkwWUNCa2IyVnpJRzV2ZENCMGFISnZkenNnWVc0Z1pYaHdiR2xqYVhSY2JpQWdJQ29nWUdsdWFYUnBZV3hwZW1Vb0tXQWdkMmwwYUNCdWJ5QnlaWE52YkhaaFlteGxJR052Ym1acFp5QnpkR2xzYkNCMGFISnZkM01nWVZ4dUlDQWdLaUJnVm1Gc2FXUmhkR2x2YmtWeWNtOXlZQzRnVW1WeGRXbHlaWE1nWVNCZ2NtOXZkRkJoZEdoZ0xDQmpjbVZoZEdWeklHbDBJSEpsWTNWeWMybDJaV3g1TENCaGJtUmNiaUFnSUNvZ2MzUnZjbVZ6SUhSb1pTQnlaWE52YkhabFpDQmhZbk52YkhWMFpTQnliMjkwSUdGeklIUm9aU0JqYkdsbGJuUXVYRzRnSUNBcUlFQndZWEpoYlNCN0xpNHVRMjl1ZEdWNGRIVmhiRUZ5WjNNOFlXNTVQbjBnWVhKbmN5QXRJRUZ1SUc5d2RHbHZibUZzSUdCTWIyTmhiRUpzYjJKVGRHOXlaVk5sY25acFkyVkRiMjVtYVdkZ0xDQnZjSFJwYjI1aGJHeDVJR1p2Ykd4dmQyVmtJR0o1SUdFZ1pHVmpZV1lnWUVOdmJuUmxlSFJnWEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMUJ5YjIxcGMyVThlMk52Ym1acFp6b2dURzlqWVd4Q2JHOWlVM1J2Y21WVFpYSjJhV05sUTI5dVptbG5MQ0JqYkdsbGJuUTZJRXh2WTJGc1JuTkRiR2xsYm5SOVBuMGdWR2hsSUhKbGMyOXNkbVZrSUdOdmJtWnBaeUJoYm1RZ2RHaGxJR1pwYkdWemVYTjBaVzBnWTJ4cFpXNTBYRzRnSUNBcUlFQjBhSEp2ZDNNZ2UwbHVkR1Z5Ym1Gc1JYSnliM0o5SUZkb1pXNGdZU0J5WlhOdmJIWmxaQ0JqYjI1bWFXY2dhR0Z6SUc1dklHQnliMjkwVUdGMGFHQmNiaUFnSUNvdlhHNGdJRzkyWlhKeWFXUmxJR0Z6ZVc1aklHbHVhWFJwWVd4cGVtVW9YRzRnSUNBZ0xpNHVZWEpuY3pvZ1EyOXVkR1Y0ZEhWaGJFRnlaM004WVc1NVBseHVJQ0FwT2lCUWNtOXRhWE5sUEh0Y2JpQWdJQ0JqYjI1bWFXYzZJRXh2WTJGc1FteHZZbE4wYjNKbFUyVnlkbWxqWlVOdmJtWnBaenRjYmlBZ0lDQmpiR2xsYm5RNklFeHZZMkZzUm5ORGJHbGxiblE3WEc0Z0lIMCtJSHRjYmlBZ0lDQmpiMjV6ZENCamIyNW1hV2NnUFZ4dUlDQWdJQ0FnZEdocGN5NW5aWFJEYjI1bWFXZEdjbTl0UVhKbmN6eE1iMk5oYkVKc2IySlRkRzl5WlZObGNuWnBZMlZEYjI1bWFXYytLQzR1TG1GeVozTXBPMXh1SUNBZ0lHbG1JQ2doWTI5dVptbG5LU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1emEybHdTVzVwZEdsaGJHbDZZWFJwYjI0b0tTQmhjeUJ1WlhabGNqdGNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tDRmpiMjVtYVdjdWNtOXZkRkJoZEdncElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkpiblJsY201aGJFVnljbTl5S0Z4dUlDQWdJQ0FnSUNCY0lreHZZMkZzUW14dllsTjBiM0psVTJWeWRtbGpaU0J5WlhGMWFYSmxjeUJoSUhKdmIzUlFZWFJvWENKY2JpQWdJQ0FnSUNrN1hHNGdJQ0FnZlZ4dUlDQWdJR0YzWVdsMElHWnpMbTFyWkdseUtHTnZibVpwWnk1eWIyOTBVR0YwYUN3Z2V5QnlaV04xY25OcGRtVTZJSFJ5ZFdVZ2ZTazdYRzRnSUNBZ2RHaHBjeTVmWTI5dVptbG5JRDBnWTI5dVptbG5PMXh1SUNBZ0lIUm9hWE11WDJOc2FXVnVkQ0E5SUhzZ2NtOXZkRG9nY21WemIyeDJaU2hqYjI1bWFXY3VjbTl2ZEZCaGRHZ3BJSDA3WEc0Z0lDQWdjbVYwZFhKdUlIc2dZMjl1Wm1sbkxDQmpiR2xsYm5RNklIUm9hWE11WDJOc2FXVnVkQ0I5TzF4dUlDQjlYRzVjYmlBZ1lYTjVibU1nY0hWMEtGeHVJQ0FnSUd0bGVUb2dRbXh2WWt0bGVTeGNiaUFnSUNCMllXeDFaVG9nUW14dllsWmhiSFZsTEZ4dUlDQWdJRzl3ZEdsdmJuTTZJRUpzYjJKUWRYUlBjSFJwYjI1eklEMGdlMzBzWEc0Z0lDQWdMaTR1WVhKbmN6b2dUV0Y1WW1WRGIyNTBaWGgwZFdGc1FYSm5QR0Z1ZVQ1Y2JpQWdLVG9nVUhKdmJXbHpaVHhDYkc5aVVIVjBVbVZ6ZFd4MFBpQjdYRzRnSUNBZ1kyOXVjM1FnZXlCc2IyY2dmU0E5SUNoaGQyRnBkQ0IwYUdsekxteHZaME4wZUNoaGNtZHpMQ0JjSW5CMWRGd2lMQ0IwY25WbEtTa3VabTl5S0hSb2FYTXVjSFYwS1R0Y2JpQWdJQ0JzYjJjdWRtVnlZbTl6WlNoZ1VIVjBkR2x1WnlCaWJHOWlJQ1I3YTJWNWZXQXBPMXh1WEc0Z0lDQWdZMjl1YzNRZ2RHRnlaMlYwVUdGMGFDQTlJSFJvYVhNdWMyRm1aVkJoZEdnb2EyVjVLVHRjYmx4dUlDQWdJR2xtSUNodmNIUnBiMjV6TG1sbVRtOTBSWGhwYzNSektTQjdYRzRnSUNBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnSUNCaGQyRnBkQ0JtY3k1emRHRjBLSFJoY21kbGRGQmhkR2dwTzF4dUlDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1EyOXVabXhwWTNSRmNuSnZjaWhnUW14dllpQmhiSEpsWVdSNUlHVjRhWE4wY3pvZ0pIdHJaWGw5WUNrN1hHNGdJQ0FnSUNCOUlHTmhkR05vSUNobEtTQjdYRzRnSUNBZ0lDQWdJR2xtSUNnb1pTQmhjeUJPYjJSbFNsTXVSWEp5Ym05RmVHTmxjSFJwYjI0cExtTnZaR1VnSVQwOUlGd2lSVTVQUlU1VVhDSXBJSFJvY205M0lHVTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1lYZGhhWFFnWm5NdWJXdGthWElvWkdseWJtRnRaU2gwWVhKblpYUlFZWFJvS1N3Z2V5QnlaV04xY25OcGRtVTZJSFJ5ZFdVZ2ZTazdYRzVjYmlBZ0lDQmpiMjV6ZENCaWRXWm1aWElnUFNCaGQyRnBkQ0JqYjJ4c1pXTjBWRzlDZFdabVpYSk1iMk5oYkNoMllXeDFaU2s3WEc0Z0lDQWdZMjl1YzNRZ1kzSjVjSFJ2SUQwZ0tHRjNZV2wwSUdkbGRFTnllWEIwYnlncEtTQmhjeUJoYm5rN1hHNGdJQ0FnWTI5dWMzUWdjMmhoTWpVMklEMGdZM0o1Y0hSdkxtTnlaV0YwWlVoaGMyZ29YQ0p6YUdFeU5UWmNJaWt1ZFhCa1lYUmxLR0oxWm1abGNpa3VaR2xuWlhOMEtGd2lhR1Y0WENJcE8xeHVYRzRnSUNBZ2FXWWdLRzl3ZEdsdmJuTXVaWGh3WldOMFpXUlRhR0V5TlRZZ0ppWWdiM0IwYVc5dWN5NWxlSEJsWTNSbFpGTm9ZVEkxTmlBaFBUMGdjMmhoTWpVMktTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dWbUZzYVdSaGRHbHZia1Z5Y205eUtHQkRhR1ZqYTNOMWJTQnRhWE50WVhSamFDQm1iM0lnSkh0clpYbDlZQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZWGRoYVhRZ2RHaHBjeTVoZEc5dGFXTlhjbWwwWlNoMFlYSm5aWFJRWVhSb0xDQmlkV1ptWlhJcE8xeHVYRzRnSUNBZ1kyOXVjM1FnYldWMFlXUmhkR0U2SUVKc2IySk5aWFJoWkdGMFlTQTlJSHRjYmlBZ0lDQWdJR052Ym5SbGJuUlVlWEJsT2lCdmNIUnBiMjV6TG1OdmJuUmxiblJVZVhCbExGeHVJQ0FnSUNBZ1kyOXVkR1Z1ZEV4bGJtZDBhRG9nWW5WbVptVnlMbXhsYm1kMGFDeGNiaUFnSUNBZ0lITm9ZVEkxTml4Y2JpQWdJQ0FnSUdOMWMzUnZiVG9nYjNCMGFXOXVjeTV0WlhSaFpHRjBZU3hjYmlBZ0lDQjlPMXh1WEc0Z0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lHdGxlU3hjYmlBZ0lDQWdJSFZ5YVRvZ2RHaHBjeTUxY21rb2EyVjVMQ0JjSW1acGJHVmNJaWtzWEc0Z0lDQWdJQ0J3Y205MmFXUmxjam9nZEdocGN5NXdjbTkyYVdSbGNpeGNiaUFnSUNBZ0lITnZkWEpqWlVsa09pQjBhR2x6TG5OdmRYSmpaVWxrTEZ4dUlDQWdJQ0FnYldWMFlXUmhkR0VzWEc0Z0lDQWdmVHRjYmlBZ2ZWeHVYRzRnSUdGemVXNWpJR2RsZENoY2JpQWdJQ0JyWlhrNklFSnNiMkpMWlhrc1hHNGdJQ0FnYjNCMGFXOXVjem9nUW14dllrZGxkRTl3ZEdsdmJuTWdQU0I3ZlN4Y2JpQWdJQ0F1TGk1aGNtZHpPaUJOWVhsaVpVTnZiblJsZUhSMVlXeEJjbWM4WVc1NVBseHVJQ0FwT2lCUWNtOXRhWE5sUEVKc2IySkhaWFJTWlhOMWJIUStJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHeHZaeUI5SUQwZ0tHRjNZV2wwSUhSb2FYTXViRzluUTNSNEtHRnlaM01zSUZ3aVoyVjBYQ0lzSUhSeWRXVXBLUzVtYjNJb2RHaHBjeTVuWlhRcE8xeHVJQ0FnSUd4dlp5NTJaWEppYjNObEtHQkhaWFIwYVc1bklHSnNiMklnSkh0clpYbDlZQ2s3WEc1Y2JpQWdJQ0JqYjI1emRDQjBZWEpuWlhSUVlYUm9JRDBnZEdocGN5NXpZV1psVUdGMGFDaHJaWGtwTzF4dUlDQWdJR052Ym5OMElITjBZWFFnUFNCaGQyRnBkQ0IwYUdsekxuTmhabVZUZEdGMEtIUmhjbWRsZEZCaGRHZ3BPMXh1SUNBZ0lHbG1JQ2doYzNSaGRDa2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRTV2ZEVadmRXNWtSWEp5YjNJb1lFSnNiMklnYm05MElHWnZkVzVrT2lBa2UydGxlWDFnS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjI1emRDQnpkSEpsWVcwNklGSmxZV1JUZEhKbFlXMGdQU0JqY21WaGRHVlNaV0ZrVTNSeVpXRnRLSFJoY21kbGRGQmhkR2dzSUh0Y2JpQWdJQ0FnSUhOMFlYSjBPaUJ2Y0hScGIyNXpMbkpoYm1kbFB5NXpkR0Z5ZEN4Y2JpQWdJQ0FnSUdWdVpEb2diM0IwYVc5dWN5NXlZVzVuWlQ4dVpXNWtMRnh1SUNBZ0lIMHBPMXh1WEc0Z0lDQWdZMjl1YzNRZ2JXVjBZV1JoZEdFNklFSnNiMkpOWlhSaFpHRjBZU0E5SUh0Y2JpQWdJQ0FnSUdOdmJuUmxiblJNWlc1bmRHZzZJSE4wWVhRdWMybDZaU3hjYmlBZ0lDQjlPMXh1WEc0Z0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lHdGxlU3hjYmlBZ0lDQWdJSFpoYkhWbE9pQnpkSEpsWVcxVWIwRnplVzVqU1hSbGNtRmliR1VvYzNSeVpXRnRLU3hjYmlBZ0lDQWdJSFZ5YVRvZ2RHaHBjeTUxY21rb2EyVjVMQ0JjSW1acGJHVmNJaWtzWEc0Z0lDQWdJQ0J3Y205MmFXUmxjam9nZEdocGN5NXdjbTkyYVdSbGNpeGNiaUFnSUNBZ0lITnZkWEpqWlVsa09pQjBhR2x6TG5OdmRYSmpaVWxrTEZ4dUlDQWdJQ0FnYldWMFlXUmhkR0VzWEc0Z0lDQWdmVHRjYmlBZ2ZWeHVYRzRnSUdGemVXNWpJR2hoY3loY2JpQWdJQ0JyWlhrNklFSnNiMkpMWlhrc1hHNGdJQ0FnTGk0dVlYSm5jem9nVFdGNVltVkRiMjUwWlhoMGRXRnNRWEpuUEdGdWVUNWNiaUFnS1RvZ1VISnZiV2x6WlR4aWIyOXNaV0Z1UGlCN1hHNGdJQ0FnWTI5dWMzUWdleUJzYjJjZ2ZTQTlJQ2hoZDJGcGRDQjBhR2x6TG14dlowTjBlQ2hoY21kekxDQmNJbWhoYzF3aUxDQjBjblZsS1NrdVptOXlLSFJvYVhNdWFHRnpLVHRjYmlBZ0lDQnNiMmN1ZG1WeVltOXpaU2hnUTJobFkydHBibWNnWW14dllpQWtlMnRsZVgxZ0tUdGNiaUFnSUNCamIyNXpkQ0IwWVhKblpYUlFZWFJvSUQwZ2RHaHBjeTV6WVdabFVHRjBhQ2hyWlhrcE8xeHVJQ0FnSUhKbGRIVnliaUJDYjI5c1pXRnVLR0YzWVdsMElIUm9hWE11YzJGbVpWTjBZWFFvZEdGeVoyVjBVR0YwYUNrcE8xeHVJQ0I5WEc1Y2JpQWdZWE41Ym1NZ2MzUmhkQ2hjYmlBZ0lDQnJaWGs2SUVKc2IySkxaWGtzWEc0Z0lDQWdMaTR1WVhKbmN6b2dUV0Y1WW1WRGIyNTBaWGgwZFdGc1FYSm5QR0Z1ZVQ1Y2JpQWdLVG9nVUhKdmJXbHpaVHhDYkc5aVRXVjBZV1JoZEdFK0lIdGNiaUFnSUNCamIyNXpkQ0I3SUd4dlp5QjlJRDBnS0dGM1lXbDBJSFJvYVhNdWJHOW5RM1I0S0dGeVozTXNJRndpYzNSaGRGd2lMQ0IwY25WbEtTa3VabTl5S0hSb2FYTXVjM1JoZENrN1hHNGdJQ0FnYkc5bkxuWmxjbUp2YzJVb1lGTjBZWFIwYVc1bklHSnNiMklnSkh0clpYbDlZQ2s3WEc0Z0lDQWdZMjl1YzNRZ2RHRnlaMlYwVUdGMGFDQTlJSFJvYVhNdWMyRm1aVkJoZEdnb2EyVjVLVHRjYmlBZ0lDQmpiMjV6ZENCemRHRjBJRDBnWVhkaGFYUWdkR2hwY3k1ellXWmxVM1JoZENoMFlYSm5aWFJRWVhSb0tUdGNiaUFnSUNCcFppQW9JWE4wWVhRcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5Qk9iM1JHYjNWdVpFVnljbTl5S0dCQ2JHOWlJRzV2ZENCbWIzVnVaRG9nSkh0clpYbDlZQ2s3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCN0lHTnZiblJsYm5STVpXNW5kR2c2SUhOMFlYUXVjMmw2WlNCOU8xeHVJQ0I5WEc1Y2JpQWdZWE41Ym1NZ1pHVnNaWFJsS0Z4dUlDQWdJR3RsZVRvZ1FteHZZa3RsZVN4Y2JpQWdJQ0F1TGk1aGNtZHpPaUJOWVhsaVpVTnZiblJsZUhSMVlXeEJjbWM4WVc1NVBseHVJQ0FwT2lCUWNtOXRhWE5sUEhadmFXUStJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHeHZaeUI5SUQwZ0tHRjNZV2wwSUhSb2FYTXViRzluUTNSNEtHRnlaM01zSUZ3aVpHVnNaWFJsWENJc0lIUnlkV1VwS1M1bWIzSW9kR2hwY3k1a1pXeGxkR1VwTzF4dUlDQWdJR3h2Wnk1MlpYSmliM05sS0dCRVpXeGxkR2x1WnlCaWJHOWlJQ1I3YTJWNWZXQXBPMXh1SUNBZ0lHTnZibk4wSUhSaGNtZGxkRkJoZEdnZ1BTQjBhR2x6TG5OaFptVlFZWFJvS0d0bGVTazdYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJR0YzWVdsMElHWnpMblZ1YkdsdWF5aDBZWEpuWlhSUVlYUm9LVHRjYmlBZ0lDQjlJR05oZEdOb0lDaGxLU0I3WEc0Z0lDQWdJQ0JwWmlBb0tHVWdZWE1nVG05a1pVcFRMa1Z5Y201dlJYaGpaWEIwYVc5dUtTNWpiMlJsSUNFOVBTQmNJa1ZPVDBWT1ZGd2lLU0IwYUhKdmR5QmxPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJR0Z6ZVc1aklHTnZjSGtvWEc0Z0lDQWdabkp2YlV0bGVUb2dRbXh2WWt0bGVTeGNiaUFnSUNCMGIwdGxlVG9nUW14dllrdGxlU3hjYmlBZ0lDQnZjSFJwYjI1ek9pQkNiRzlpVUhWMFQzQjBhVzl1Y3lBOUlIdDlMRnh1SUNBZ0lDNHVMbUZ5WjNNNklFMWhlV0psUTI5dWRHVjRkSFZoYkVGeVp6eGhibmsrWEc0Z0lDazZJRkJ5YjIxcGMyVThRbXh2WWxCMWRGSmxjM1ZzZEQ0Z2UxeHVJQ0FnSUdOdmJuTjBJSHNnYkc5bklIMGdQU0FvWVhkaGFYUWdkR2hwY3k1c2IyZERkSGdvWVhKbmN5d2dYQ0pqYjNCNVhDSXNJSFJ5ZFdVcEtTNW1iM0lvZEdocGN5NWpiM0I1S1R0Y2JpQWdJQ0JzYjJjdWRtVnlZbTl6WlNoZ1EyOXdlV2x1WnlCaWJHOWlJQ1I3Wm5KdmJVdGxlWDBnZEc4Z0pIdDBiMHRsZVgxZ0tUdGNiaUFnSUNCamIyNXpkQ0JtY205dFVHRjBhQ0E5SUhSb2FYTXVjMkZtWlZCaGRHZ29abkp2YlV0bGVTazdYRzRnSUNBZ1kyOXVjM1FnWm5KdmJWTjBZWFFnUFNCaGQyRnBkQ0IwYUdsekxuTmhabVZUZEdGMEtHWnliMjFRWVhSb0tUdGNiaUFnSUNCcFppQW9JV1p5YjIxVGRHRjBLU0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnVG05MFJtOTFibVJGY25KdmNpaGdRbXh2WWlCdWIzUWdabTkxYm1RNklDUjdabkp2YlV0bGVYMWdLVHRjYmlBZ0lDQjlYRzRnSUNBZ1kyOXVjM1FnWW5WbVptVnlJRDBnWVhkaGFYUWdabk11Y21WaFpFWnBiR1VvWm5KdmJWQmhkR2dwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5CMWRDaDBiMHRsZVN3Z1luVm1abVZ5TENCdmNIUnBiMjV6S1R0Y2JpQWdmVnh1WEc0Z0lHRnplVzVqSUd4cGMzUW9YRzRnSUNBZ2IzQjBhVzl1Y3pvZ1FteHZZa3hwYzNSUGNIUnBiMjV6SUQwZ2UzMHNYRzRnSUNBZ0xpNHVZWEpuY3pvZ1RXRjVZbVZEYjI1MFpYaDBkV0ZzUVhKblBHRnVlVDVjYmlBZ0tUb2dVSEp2YldselpUeENiRzlpVEdsemRGSmxjM1ZzZEQ0Z2UxeHVJQ0FnSUdOdmJuTjBJSHNnYkc5bklIMGdQU0FvWVhkaGFYUWdkR2hwY3k1c2IyZERkSGdvWVhKbmN5d2dYQ0pzYVhOMFhDSXNJSFJ5ZFdVcEtTNW1iM0lvZEdocGN5NXNhWE4wS1R0Y2JpQWdJQ0JzYjJjdWRtVnlZbTl6WlNoY0lreHBjM1JwYm1jZ1lteHZZbk5jSWlrN1hHNWNiaUFnSUNCamIyNXpkQ0J3Y21WbWFYZ2dQU0J2Y0hScGIyNXpMbkJ5WldacGVDQS9JSFJvYVhNdWNHaDVjMmxqWVd4TFpYa29iM0IwYVc5dWN5NXdjbVZtYVhncElEb2dYQ0pjSWp0Y2JpQWdJQ0JqYjI1emRDQnliMjkwSUQwZ2RHaHBjeTVqYkdsbGJuUXVjbTl2ZER0Y2JpQWdJQ0JqYjI1emRDQmlZWE5sUkdseUlEMGdjSEpsWm1sNElEOGdhbTlwYmloeWIyOTBMQ0J3Y21WbWFYZ3BJRG9nY205dmREdGNibHh1SUNBZ0lHTnZibk4wSUdGc2JFWnBiR1Z6T2lCemRISnBibWRiWFNBOUlGdGRPMXh1SUNBZ0lHRjNZV2wwSUhkaGJHdEVhWElvWW1GelpVUnBjaXdnWVd4c1JtbHNaWE1wTzF4dVhHNGdJQ0FnWTI5dWMzUWdhMlY1Y3lBOUlHRnNiRVpwYkdWelhHNGdJQ0FnSUNBdWJXRndLQ2htS1NBOVBpQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElISmxiQ0E5SUhKbGJHRjBhWFpsS0hKdmIzUXNJR1lwTG5Od2JHbDBLSE5sY0NrdWFtOXBiaWhjSWk5Y0lpazdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQndjbVZtYVhnZ1B5QnlaV3dnT2lCeVpXdzdYRzRnSUNBZ0lDQjlLVnh1SUNBZ0lDQWdMbVpwYkhSbGNpZ29heWtnUFQ0Z0tIQnlaV1pwZUNBL0lHc3VjM1JoY25SelYybDBhQ2h3Y21WbWFYZ3BJRG9nZEhKMVpTa3BYRzRnSUNBZ0lDQXVjMjl5ZENncE8xeHVYRzRnSUNBZ1kyOXVjM1FnYkdsdGFYUWdQU0J2Y0hScGIyNXpMbXhwYldsMElEOC9JREV3TURBN1hHNGdJQ0FnWTI5dWMzUWdjM1JoY25SSmJtUmxlQ0E5SUc5d2RHbHZibk11WTNWeWMyOXlJRDhnVG5WdFltVnlLRzl3ZEdsdmJuTXVZM1Z5YzI5eUtTQTZJREE3WEc0Z0lDQWdZMjl1YzNRZ2MyeHBZMlVnUFNCclpYbHpMbk5zYVdObEtITjBZWEowU1c1a1pYZ3NJSE4wWVhKMFNXNWtaWGdnS3lCc2FXMXBkQ2s3WEc0Z0lDQWdZMjl1YzNRZ2JtVjRkRU4xY25OdmNpQTlYRzRnSUNBZ0lDQnpkR0Z5ZEVsdVpHVjRJQ3NnYkdsdGFYUWdQQ0JyWlhsekxteGxibWQwYUZ4dUlDQWdJQ0FnSUNBL0lGTjBjbWx1WnloemRHRnlkRWx1WkdWNElDc2diR2x0YVhRcFhHNGdJQ0FnSUNBZ0lEb2dkVzVrWldacGJtVmtPMXh1WEc0Z0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lHbDBaVzF6T2lCemJHbGpaUzV0WVhBb0tHc3BJRDArSUNoN0lHdGxlVG9nYXlCOUtTa3NYRzRnSUNBZ0lDQmpkWEp6YjNJNklHNWxlSFJEZFhKemIzSXNYRzRnSUNBZ2ZUdGNiaUFnZlZ4dVhHNGdJR0Z6ZVc1aklIVnliQ2hjYmlBZ0lDQnJaWGs2SUVKc2IySkxaWGtzWEc0Z0lDQWdiM0IwYVc5dWN6b2dRbXh2WWxWeWJFOXdkR2x2Ym5NZ1BTQjdmU3hjYmlBZ0lDQXVMaTVoY21kek9pQk5ZWGxpWlVOdmJuUmxlSFIxWVd4QmNtYzhZVzU1UGx4dUlDQXBPaUJRY205dGFYTmxQRUpzYjJKVmNteFNaWE4xYkhRK0lIdGNiaUFnSUNCamIyNXpkQ0I3SUd4dlp5QjlJRDBnS0dGM1lXbDBJSFJvYVhNdWJHOW5RM1I0S0dGeVozTXNJRndpZFhKc1hDSXNJSFJ5ZFdVcEtTNW1iM0lvZEdocGN5NTFjbXdwTzF4dUlDQWdJR3h2Wnk1MlpYSmliM05sS0dCQ2RXbHNaR2x1WnlCMWNtd2dabTl5SUdKc2IySWdKSHRyWlhsOVlDazdYRzRnSUNBZ2FXWWdLRzl3ZEdsdmJuTXViM0JsY21GMGFXOXVJQ1ltSUc5d2RHbHZibk11YjNCbGNtRjBhVzl1SUNFOVBTQmNJbWRsZEZ3aUtTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dWVzV6ZFhCd2IzSjBaV1JGY25KdmNpaGNJa3h2WTJGc0lHSnNiMklnYzNSdmNtVWdaRzlsY3lCdWIzUWdjM1Z3Y0c5eWRDQlFWVlFnZFhKc2Mxd2lLVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUhWeWJEb2dkR2hwY3k1MWNta29hMlY1TENCY0ltWnBiR1ZjSWlrc1hHNGdJQ0FnSUNCdFpYUm9iMlE2SUZ3aVIwVlVYQ0lzWEc0Z0lDQWdJQ0JsZUhCcGNtVnpRWFE2SUc1bGR5QkVZWFJsS0Z4dUlDQWdJQ0FnSUNCRVlYUmxMbTV2ZHlncElDc2dLRzl3ZEdsdmJuTXVaWGh3YVhKbGMwbHVVMlZqYjI1a2N5QS9QeUF6TURBcElDb2dNVEF3TUZ4dUlDQWdJQ0FnS1N4Y2JpQWdJQ0I5TzF4dUlDQjlYRzVjYmlBZ2NISnZkR1ZqZEdWa0lIQmhjbk5sUlhKeWIzSW9aWEp5YjNJNklIVnVhMjV2ZDI0cE9pQkZjbkp2Y2lCN1hHNGdJQ0FnWTI5dWMzUWdaWEp5SUQwZ1pYSnliM0lnWVhNZ1JYSnliM0k3WEc0Z0lDQWdhV1lnS0Z4dUlDQWdJQ0FnWlhKeUlHbHVjM1JoYm1ObGIyWWdUbTkwUm05MWJtUkZjbkp2Y2lCOGZGeHVJQ0FnSUNBZ1pYSnlJR2x1YzNSaGJtTmxiMllnUTI5dVpteHBZM1JGY25KdmNpQjhmRnh1SUNBZ0lDQWdaWEp5SUdsdWMzUmhibU5sYjJZZ1ZtRnNhV1JoZEdsdmJrVnljbTl5SUh4OFhHNGdJQ0FnSUNCbGNuSWdhVzV6ZEdGdVkyVnZaaUJKYm5SbGNtNWhiRVZ5Y205eVhHNGdJQ0FnS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWlhKeU8xeHVJQ0FnSUgxY2JpQWdJQ0JqYjI1emRDQnRaWE56WVdkbElEMGdaWEp5TG0xbGMzTmhaMlVnZkh3Z1hDSlZibXR1YjNkdUlHVnljbTl5WENJN1hHNGdJQ0FnWTI5dWMzUWdiRzkzWlhJZ1BTQnRaWE56WVdkbExuUnZURzkzWlhKRFlYTmxLQ2s3WEc0Z0lDQWdZMjl1YzNRZ1kyOWtaU0E5SUNobGNuSWdZWE1nVG05a1pVcFRMa1Z5Y201dlJYaGpaWEIwYVc5dUtTNWpiMlJsTzF4dUlDQWdJR2xtSUNoamIyUmxJRDA5UFNCY0lrVk9UMFZPVkZ3aUlIeDhJR3h2ZDJWeUxtbHVZMngxWkdWektGd2libTkwSUdadmRXNWtYQ0lwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lFNXZkRVp2ZFc1a1JYSnliM0lvWlhKeUtUdGNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tHTnZaR1VnUFQwOUlGd2lSVVZZU1ZOVVhDSWdmSHdnYkc5M1pYSXVhVzVqYkhWa1pYTW9YQ0poYkhKbFlXUjVJR1Y0YVhOMGMxd2lLU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzVsZHlCRGIyNW1iR2xqZEVWeWNtOXlLR1Z5Y2lrN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNoamIyUmxJRDA5UFNCY0lrVkJRME5GVTF3aUlIeDhJR052WkdVZ1BUMDlJRndpUlZCRlVrMWNJaUI4ZkNCc2IzZGxjaTVwYm1Oc2RXUmxjeWhjSW5CbGNtMXBjM05wYjI1Y0lpa3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnUm05eVltbGtaR1Z1UlhKeWIzSW9aWEp5S1R0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0dOdlpHVWdQVDA5SUZ3aVJVNUJUVVZVVDA5TVQwNUhYQ0lnZkh3Z2JHOTNaWEl1YVc1amJIVmtaWE1vWENKcGJuWmhiR2xrWENJcEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JtVjNJRlpoYkdsa1lYUnBiMjVGY25KdmNpaGxjbklwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2JtVjNJRWx1ZEdWeWJtRnNSWEp5YjNJb1pYSnlLVHRjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnYzJGbVpWQmhkR2dvYTJWNU9pQkNiRzlpUzJWNUtUb2djM1J5YVc1bklIdGNiaUFnSUNCamIyNXpkQ0J3YUhsemFXTmhiQ0E5SUhSb2FYTXVjR2g1YzJsallXeExaWGtvYTJWNUtUdGNiaUFnSUNCamIyNXpkQ0J5YjI5MElEMGdkR2hwY3k1amJHbGxiblF1Y205dmREdGNiaUFnSUNCamIyNXpkQ0IwWVhKblpYUWdQU0J5WlhOdmJIWmxLSEp2YjNRc0lIQm9lWE5wWTJGc0tUdGNiaUFnSUNCamIyNXpkQ0J5Wld3Z1BTQnlaV3hoZEdsMlpTaHliMjkwTENCMFlYSm5aWFFwTzF4dUlDQWdJR2xtSUNoeVpXd3VjM1JoY25SelYybDBhQ2hjSWk0dVhDSXBJSHg4SUhKbGJDQTlQVDBnWENKY0lpQjhmQ0J5Wld3Z1BUMDlJRndpTGx3aUlIeDhJSEpsYkM1emRHRnlkSE5YYVhSb0tHQXVMaVI3YzJWd2ZXQXBLU0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnVm1Gc2FXUmhkR2x2YmtWeWNtOXlLR0JDYkc5aUlHdGxlU0JsYzJOaGNHVnpJSEp2YjNRZ2NHRjBhRG9nSkh0clpYbDlZQ2s3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCMFlYSm5aWFE3WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUdGemVXNWpJSE5oWm1WVGRHRjBLRnh1SUNBZ0lIQmhkR2c2SUhOMGNtbHVaMXh1SUNBcE9pQlFjbTl0YVhObFBIc2djMmw2WlRvZ2JuVnRZbVZ5SUgwZ2ZDQjFibVJsWm1sdVpXUStJSHRjYmlBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdjM1JoZENBOUlHRjNZV2wwSUdaekxuTjBZWFFvY0dGMGFDazdYRzRnSUNBZ0lDQnBaaUFvYzNSaGRDNXBjMFpwYkdVb0tTa2djbVYwZFhKdUlIc2djMmw2WlRvZ2MzUmhkQzV6YVhwbElIMDdYRzRnSUNBZ0lDQnlaWFIxY200Z2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUgwZ1kyRjBZMmdnS0dVcElIdGNiaUFnSUNBZ0lHbG1JQ2dvWlNCaGN5Qk9iMlJsU2xNdVJYSnlibTlGZUdObGNIUnBiMjRwTG1OdlpHVWdQVDA5SUZ3aVJVNVBSVTVVWENJcElISmxkSFZ5YmlCMWJtUmxabWx1WldRN1hHNGdJQ0FnSUNCMGFISnZkeUJsTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnWVhONWJtTWdZWFJ2YldsalYzSnBkR1VvZEdGeVoyVjBVR0YwYURvZ2MzUnlhVzVuTENCaWRXWm1aWEk2SUVKMVptWmxjaWs2SUZCeWIyMXBjMlU4ZG05cFpENGdlMXh1SUNBZ0lHTnZibk4wSUdOeWVYQjBieUE5SUNoaGQyRnBkQ0JuWlhSRGNubHdkRzhvS1NrZ1lYTWdZVzU1TzF4dUlDQWdJR052Ym5OMElIUnRjRkJoZEdnZ1BTQmdKSHQwWVhKblpYUlFZWFJvZlM0a2UyTnllWEIwYnk1eVlXNWtiMjFDZVhSbGN5ZzJLUzUwYjFOMGNtbHVaeWhjSW1obGVGd2lLWDB1ZEcxd1lEdGNiaUFnSUNCamIyNXpkQ0J6ZEhKbFlXMGdQU0JqY21WaGRHVlhjbWwwWlZOMGNtVmhiU2gwYlhCUVlYUm9LVHRjYmlBZ0lDQmhkMkZwZENCdVpYY2dVSEp2YldselpUeDJiMmxrUGlnb2NtVnpiMngyWlN3Z2NtVnFaV04wS1NBOVBpQjdYRzRnSUNBZ0lDQnpkSEpsWVcwdWIyNG9YQ0psY25KdmNsd2lMQ0J5WldwbFkzUXBPMXh1SUNBZ0lDQWdjM1J5WldGdExtOXVLRndpWm1sdWFYTm9YQ0lzSUNncElEMCtJSEpsYzI5c2RtVW9LU2s3WEc0Z0lDQWdJQ0J6ZEhKbFlXMHVaVzVrS0dKMVptWmxjaWs3WEc0Z0lDQWdmU2s3WEc0Z0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUdGM1lXbDBJR1p6TG5KbGJtRnRaU2gwYlhCUVlYUm9MQ0IwWVhKblpYUlFZWFJvS1R0Y2JpQWdJQ0I5SUdOaGRHTm9JQ2hsS1NCN1hHNGdJQ0FnSUNCMGNua2dlMXh1SUNBZ0lDQWdJQ0JoZDJGcGRDQm1jeTUxYm14cGJtc29kRzF3VUdGMGFDazdYRzRnSUNBZ0lDQjlJR05oZEdOb0lIdGNiaUFnSUNBZ0lDQWdMeW9nYVdkdWIzSmxJQ292WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0IwYUhKdmR5QmxPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVYRzVoYzNsdVl5Qm1kVzVqZEdsdmJpQmpiMnhzWldOMFZHOUNkV1ptWlhKTWIyTmhiQ2gyWVd4MVpUb2dRbXh2WWxaaGJIVmxLVG9nVUhKdmJXbHpaVHhDZFdabVpYSStJSHRjYmlBZ2FXWWdLSFpoYkhWbElHbHVjM1JoYm1ObGIyWWdWV2x1ZERoQmNuSmhlU2tnY21WMGRYSnVJRUoxWm1abGNpNW1jbTl0S0haaGJIVmxLVHRjYmlBZ2FXWWdLSFpoYkhWbElHbHVjM1JoYm1ObGIyWWdRblZtWm1WeUtTQnlaWFIxY200Z2RtRnNkV1U3WEc0Z0lHbG1JQ2gwZVhCbGIyWWdLSFpoYkhWbElHRnpJR0Z1ZVNrL0xsdFRlVzFpYjJ3dVlYTjVibU5KZEdWeVlYUnZjbDBnUFQwOUlGd2lablZ1WTNScGIyNWNJaWtnZTF4dUlDQWdJR052Ym5OMElHTm9kVzVyY3pvZ1FuVm1abVZ5VzEwZ1BTQmJYVHRjYmlBZ0lDQm1iM0lnWVhkaGFYUWdLR052Ym5OMElHTm9kVzVySUc5bUlIWmhiSFZsSUdGeklFRnplVzVqU1hSbGNtRmliR1U4VldsdWREaEJjbkpoZVQ0cElIdGNiaUFnSUNBZ0lHTm9kVzVyY3k1d2RYTm9LRUoxWm1abGNpNW1jbTl0S0dOb2RXNXJLU2s3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCQ2RXWm1aWEl1WTI5dVkyRjBLR05vZFc1cmN5azdYRzRnSUgxY2JpQWdhV1lnS0hSNWNHVnZaaUFvZG1Gc2RXVWdZWE1nWVc1NUtUOHVaMlYwVW1WaFpHVnlJRDA5UFNCY0ltWjFibU4wYVc5dVhDSXBJSHRjYmlBZ0lDQmpiMjV6ZENCeVpXRmtaWElnUFNBb2RtRnNkV1VnWVhNZ1VtVmhaR0ZpYkdWVGRISmxZVzBwTG1kbGRGSmxZV1JsY2lncE8xeHVJQ0FnSUdOdmJuTjBJR05vZFc1cmN6b2dRblZtWm1WeVcxMGdQU0JiWFR0Y2JpQWdJQ0JzWlhRZ2NtVnpkV3gwSUQwZ1lYZGhhWFFnY21WaFpHVnlMbkpsWVdRb0tUdGNiaUFnSUNCM2FHbHNaU0FvSVhKbGMzVnNkQzVrYjI1bEtTQjdYRzRnSUNBZ0lDQmphSFZ1YTNNdWNIVnphQ2hDZFdabVpYSXVabkp2YlNoeVpYTjFiSFF1ZG1Gc2RXVWdZWE1nVldsdWREaEJjbkpoZVNrcE8xeHVJQ0FnSUNBZ2NtVnpkV3gwSUQwZ1lYZGhhWFFnY21WaFpHVnlMbkpsWVdRb0tUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJRUoxWm1abGNpNWpiMjVqWVhRb1kyaDFibXR6S1R0Y2JpQWdmVnh1SUNCMGFISnZkeUJ1WlhjZ1ZtRnNhV1JoZEdsdmJrVnljbTl5S0dCVmJuTjFjSEJ2Y25SbFpDQmliRzlpSUhaaGJIVmxJSFI1Y0dVNklDUjdkSGx3Wlc5bUlIWmhiSFZsZldBcE8xeHVmVnh1WEc1aGMzbHVZeUJtZFc1amRHbHZiaW9nYzNSeVpXRnRWRzlCYzNsdVkwbDBaWEpoWW14bEtGeHVJQ0J6ZEhKbFlXMDZJRkpsWVdSVGRISmxZVzFjYmlrNklFRnplVzVqU1hSbGNtRmliR1U4VldsdWREaEJjbkpoZVQ0Z2UxeHVJQ0JtYjNJZ1lYZGhhWFFnS0dOdmJuTjBJR05vZFc1cklHOW1JSE4wY21WaGJTa2dlMXh1SUNBZ0lIbHBaV3hrSUdOb2RXNXJJR0Z6SUZWcGJuUTRRWEp5WVhrN1hHNGdJSDFjYm4xY2JseHVZWE41Ym1NZ1puVnVZM1JwYjI0Z2QyRnNhMFJwY2loa2FYSTZJSE4wY21sdVp5d2dZV05qT2lCemRISnBibWRiWFNrNklGQnliMjFwYzJVOGRtOXBaRDRnZTF4dUlDQnNaWFFnWlc1MGNtbGxjem9nYzNSeWFXNW5XMTA3WEc0Z0lIUnllU0I3WEc0Z0lDQWdaVzUwY21sbGN5QTlJR0YzWVdsMElHWnpMbkpsWVdSa2FYSW9aR2x5S1R0Y2JpQWdmU0JqWVhSamFDQW9aU2tnZTF4dUlDQWdJR2xtSUNnb1pTQmhjeUJPYjJSbFNsTXVSWEp5Ym05RmVHTmxjSFJwYjI0cExtTnZaR1VnUFQwOUlGd2lSVTVQUlU1VVhDSXBJSEpsZEhWeWJqdGNiaUFnSUNCMGFISnZkeUJsTzF4dUlDQjlYRzRnSUdadmNpQW9ZMjl1YzNRZ1pXNTBjbmtnYjJZZ1pXNTBjbWxsY3lrZ2UxeHVJQ0FnSUdsbUlDaGxiblJ5ZVM1bGJtUnpWMmwwYUNoY0lpNTBiWEJjSWlrcElHTnZiblJwYm5WbE8xeHVJQ0FnSUdOdmJuTjBJR1oxYkd3Z1BTQnFiMmx1S0dScGNpd2daVzUwY25rcE8xeHVJQ0FnSUdOdmJuTjBJSE4wWVhRZ1BTQmhkMkZwZENCbWN5NXpkR0YwS0daMWJHd3BPMXh1SUNBZ0lHbG1JQ2h6ZEdGMExtbHpSR2x5WldOMGIzSjVLQ2twSUh0Y2JpQWdJQ0FnSUdGM1lXbDBJSGRoYkd0RWFYSW9ablZzYkN3Z1lXTmpLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lXTmpMbkIxYzJnb1puVnNiQ2s3WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzRpWFgwPSJdfQ==
|
|
344
|
+
//# sourceMappingURL=LocalBlobStoreService.js.map
|
|
345
|
+
//# sourceMappingURL=LocalBlobStoreService.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blob/local/LocalBlobStoreService.cjs","sourceRoot":"","sources":["blob/local/LocalBlobStoreService.js"],"names":[],"mappings":";;;AAAA,IAAI,UAAU,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;IACjF,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;QAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;QAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;gBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC,CAAC;AACF;;;;GAIG;AACH,yCAA2E;AAC3E,2DAAwG;AACxG,oDAAoD;AACpD,2BAA0E;AAC1E,+BAA6D;AAC7D,uEAAiE;AACjE,uEAAiE;AACjE,4EAA+D;AAC/D;;;;;;GAMG;AACH,IAAI,qBAAqB,GAAG,MAAM,qBAAsB,SAAQ,sCAAgB;IAC5E;;;;;;OAMG;IACH,qBAAqB;QACjB,MAAM,GAAG,GAAG,8CAAoB,CAAC,KAAK,CAAC,KAAK,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAA,+BAAS,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ;YACT,OAAO,SAAS,CAAC;QACrB,OAAO;YACH,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,IAAA,+BAAS,EAAC,GAAG,CAAC,QAAQ,CAAC;YACjC,QAAQ;YACR,MAAM,EAAE,IAAA,+BAAS,EAAC,GAAG,CAAC,MAAM,CAAC;SAChC,CAAC;IACN,CAAC;IACD;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,6BAAa,CAAC,2CAA2C,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,aAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,IAAA,cAAO,EAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAC5C,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI;QACvC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrE,GAAG,CAAC,OAAO,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC;gBACD,MAAM,aAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC1B,MAAM,IAAI,6BAAa,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,OAAO,CAAC,EAAE,CAAC;gBACP,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;oBACnB,MAAM,CAAC,CAAC;YAChB,CAAC;QACL,CAAC;QACD,MAAM,aAAE,CAAC,KAAK,CAAC,IAAA,cAAO,EAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,CAAC,MAAM,IAAA,kBAAS,GAAE,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;YAC9D,MAAM,IAAI,+BAAe,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG;YACb,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,aAAa,EAAE,MAAM,CAAC,MAAM;YAC5B,MAAM;YACN,MAAM,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC;QACF,OAAO;YACH,GAAG;YACH,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;YAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ;SACX,CAAC;IACN,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI;QAChC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrE,GAAG,CAAC,OAAO,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,6BAAa,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,qBAAgB,EAAC,UAAU,EAAE;YACxC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK;YAC3B,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG;SAC1B,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG;YACb,aAAa,EAAE,IAAI,CAAC,IAAI;SAC3B,CAAC;QACF,OAAO;YACH,GAAG;YACH,KAAK,EAAE,qBAAqB,CAAC,MAAM,CAAC;YACpC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;YAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ;SACX,CAAC;IACN,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI;QAClB,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrE,GAAG,CAAC,OAAO,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;QACnB,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,GAAG,CAAC,OAAO,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,6BAAa,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI;QACrB,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3E,GAAG,CAAC,OAAO,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC;YACD,MAAM,aAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;gBACnB,MAAM,CAAC,CAAC;QAChB,CAAC;IACL,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI;QAC5C,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,GAAG,CAAC,OAAO,CAAC,gBAAgB,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,6BAAa,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,aAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI;QAC5B,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,WAAI,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,MAAM,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,QAAQ;aAChB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,MAAM,GAAG,GAAG,IAAA,eAAQ,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnD,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC9B,CAAC,CAAC;aACG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACrD,IAAI,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;QACpC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,KAAK,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,UAAU,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM;YAC/C,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;YAC5B,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO;YACH,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACrC,MAAM,EAAE,UAAU;SACrB,CAAC;IACN,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI;QAChC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrE,GAAG,CAAC,OAAO,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YACnD,MAAM,IAAI,uBAAgB,CAAC,4CAA4C,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO;YACH,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;YAC1B,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,gBAAgB,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;SAC7E,CAAC;IACN,CAAC;IACD,UAAU,CAAC,KAAK;QACZ,MAAM,GAAG,GAAG,KAAK,CAAC;QAClB,IAAI,GAAG,YAAY,6BAAa;YAC5B,GAAG,YAAY,6BAAa;YAC5B,GAAG,YAAY,+BAAe;YAC9B,GAAG,YAAY,6BAAa,EAAE,CAAC;YAC/B,OAAO,GAAG,CAAC;QACf,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,eAAe,CAAC;QAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,IAAI,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACnD,OAAO,IAAI,6BAAa,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACxD,OAAO,IAAI,6BAAa,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACxE,OAAO,IAAI,qBAAc,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACvD,OAAO,IAAI,+BAAe,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,6BAAa,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IACD,QAAQ,CAAC,GAAG;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAA,cAAO,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,IAAA,eAAQ,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,UAAG,EAAE,CAAC,EAAE,CAAC;YAClF,MAAM,IAAI,+BAAe,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,KAAK,CAAC,QAAQ,CAAC,IAAI;QACf,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,aAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/B,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;gBACnB,OAAO,SAAS,CAAC;YACrB,MAAM,CAAC,CAAC;QACZ,CAAC;IACL,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM;QAChC,MAAM,MAAM,GAAG,CAAC,MAAM,IAAA,kBAAS,GAAE,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,GAAG,UAAU,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QAC7E,MAAM,MAAM,GAAG,IAAA,sBAAiB,EAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAClC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3B,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YACrC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACD,MAAM,aAAE,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAI,CAAC;gBACD,MAAM,aAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YACD,MAAM,CAAC;gBACH,YAAY;YAChB,CAAC;YACD,MAAM,CAAC,CAAC;QACZ,CAAC;IACL,CAAC;CACJ,CAAC;AAIO,sDAAqB;AAH9B,gCAAA,qBAAqB,GAAG,UAAU,CAAC;IAC/B,IAAA,cAAO,EAAC,YAAY,CAAC;CACxB,EAAE,qBAAqB,CAAC,CAAC;AAE1B,KAAK,UAAU,oBAAoB,CAAC,KAAK;IACrC,IAAI,KAAK,YAAY,UAAU;QAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,KAAK,YAAY,MAAM;QACvB,OAAO,KAAK,CAAC;IACjB,IAAI,OAAO,KAAK,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,UAAU,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,OAAO,KAAK,EAAE,SAAS,KAAK,UAAU,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAI,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACvC,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,IAAI,+BAAe,CAAC,gCAAgC,OAAO,KAAK,EAAE,CAAC,CAAC;AAC9E,CAAC;AACD,KAAK,SAAS,CAAC,CAAC,qBAAqB,CAAC,MAAM;IACxC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC/B,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC;AACD,KAAK,UAAU,OAAO,CAAC,GAAG,EAAE,GAAG;IAC3B,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACD,OAAO,GAAG,MAAM,aAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,CAAC,EAAE,CAAC;QACP,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;YACnB,OAAO;QACX,MAAM,CAAC,CAAC;IACZ,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;YACtB,SAAS;QACb,MAAM,IAAI,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,aAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACrB,MAAM,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC;aACI,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACL,CAAC;AACL,CAAC;AACD,iDAAiD"}
|
|
@@ -21,5 +21,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
21
21
|
*/
|
|
22
22
|
__exportStar(require("./LocalBlobStoreService.cjs"), exports);
|
|
23
23
|
__exportStar(require("./LocalBlobEnvironment.cjs"), exports);
|
|
24
|
-
//# sourceMappingURL=
|
|
25
|
-
//# sourceMappingURL=
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
25
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blob/local/index.cjs","sourceRoot":"","sources":["blob/local/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,6DAA2C;AAC3C,4DAA0C;AAC1C,iCAAiC"}
|
|
@@ -17,5 +17,5 @@ exports.MemoryBlobEnvironment = BlobEnvironment_js_1.BlobEnvironment.accumulate(
|
|
|
17
17
|
},
|
|
18
18
|
},
|
|
19
19
|
});
|
|
20
|
-
//# sourceMappingURL=
|
|
21
|
-
//# sourceMappingURL=
|
|
20
|
+
//# sourceMappingURL=MemoryBlobEnvironment.js.map
|
|
21
|
+
//# sourceMappingURL=MemoryBlobEnvironment.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blob/memory/MemoryBlobEnvironment.cjs","sourceRoot":"","sources":["blob/memory/MemoryBlobEnvironment.js"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,qEAA+D;AAClD,QAAA,qBAAqB,GAAG,oCAAe,CAAC,UAAU,CAAC;IAC5D,KAAK,EAAE;QACH,MAAM,EAAE;YACJ,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,EAAE;SACb;KACJ;CACJ,CAAC,CAAC;AACH,iDAAiD"}
|
|
@@ -198,5 +198,5 @@ exports.MemoryBlobStoreService = MemoryBlobStoreService;
|
|
|
198
198
|
exports.MemoryBlobStoreService = MemoryBlobStoreService = __decorate([
|
|
199
199
|
(0, core_1.service)("blob-memory")
|
|
200
200
|
], MemoryBlobStoreService);
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVtb3J5QmxvYlN0b3JlU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ibG9iL21lbW9yeS9NZW1vcnlCbG9iU3RvcmVTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQWdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pHLE9BQU8sRUFDTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLGFBQWEsRUFDYixlQUFlLEdBQ2hCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLCtCQUEwQjtBQUNwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsc0NBQWlDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxtQ0FBZ0M7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSwyQ0FBc0M7QUFxQjFEOzs7Ozs7O0dBT0c7QUFFSSxJQUFNLHNCQUFzQixHQUE1QixNQUFNLHNCQUF1QixTQUFRLGdCQUczQztJQUNDOzs7Ozs7T0FNRztJQUNnQixxQkFBcUI7UUFDdEMsTUFBTSxHQUFHLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUMvQyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDaEMsT0FBTztZQUNMLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFFBQVE7WUFDUixNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7U0FDOUIsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNNLEtBQUssQ0FBQyxVQUFVLENBQ3ZCLEdBQUcsSUFBeUI7UUFLNUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGlC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QyxHQUFHLENBQUMsQ0FBQztRQUNyRSxHQUFHLENBQUMsT0FBTyxDQUFDLHlCQUF5QixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLElBQUksT0FBTyxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ3JELE1BQU0sSUFBSSxnQkFBZ0IsQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1FBQzVFLENBQUM7UUFDRCxPQUFPO1lBQ0wsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQztZQUM1QixNQUFNLEVBQUUsS0FBSztZQUNiLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FDakIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLGdCQUFnQixJQUFJLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FDdEQ7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVTLFVBQVUsQ0FBQyxLQUFjO1FBQ2pDLElBQ0UsS0FBSyxZQUFZLGFBQWE7WUFDOUIsS0FBSyxZQUFZLGFBQWE7WUFDOUIsS0FBSyxZQUFZLGVBQWU7WUFDaEMsS0FBSyxZQUFZLGFBQWEsRUFDOUIsQ0FBQztZQUNELE9BQU8sS0FBYyxDQUFDO1FBQ3hCLENBQUM7UUFDRCxPQUFPLElBQUksYUFBYSxDQUN0QixzQkFBdUIsS0FBZSxDQUFDLE9BQU8sRUFBRSxDQUNqRCxDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUE7QUF2T1ksc0JBQXNCO0lBRGxDLE9BQU8sQ0FBQyxhQUFhLENBQUM7R0FDVixzQkFBc0IsQ0F1T2xDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ibG9iL21lbW9yeS9zZXJ2aWNlXG4gKiBAc3VtbWFyeSBJbi1tZW1vcnkgYmxvYiBzdG9yZSBzZXJ2aWNlLlxuICogQGRlc2NyaXB0aW9uIFByb2Nlc3MtbG9jYWwgTWFwLWJhY2tlZCBibG9iIHN0b3JlIGZvciB0ZXN0cyBhbmQgZXhhbXBsZXMuIE5vIFNESyBkZXBlbmRlbmN5LlxuICovXG5pbXBvcnQgeyB0eXBlIENvbnRleHR1YWxBcmdzLCB0eXBlIE1heWJlQ29udGV4dHVhbEFyZywgc2VydmljZSwgVW5zdXBwb3J0ZWRFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHtcbiAgQ29uZmxpY3RFcnJvcixcbiAgSW50ZXJuYWxFcnJvcixcbiAgTm90Rm91bmRFcnJvcixcbiAgVmFsaWRhdGlvbkVycm9yLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IGNvbGxlY3RUb0J1ZmZlciwgY29tcHV0ZVNoYTI1NiwgdG9Bc3luY0l0ZXJhYmxlIH0gZnJvbSBcIi4uL2NvcmUvQmxvYlZhbHVlXCI7XG5pbXBvcnQgeyBCbG9iU3RvcmVTZXJ2aWNlIH0gZnJvbSBcIi4uL2NvcmUvQmxvYlN0b3JlU2VydmljZVwiO1xuaW1wb3J0IHsgTWVtb3J5QmxvYkVudmlyb25tZW50IH0gZnJvbSBcIi4vTWVtb3J5QmxvYkVudmlyb25tZW50XCI7XG5pbXBvcnQgeyBlbnZTdHJpbmcgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2Vudmlyb25tZW50VmFsdWVcIjtcbmltcG9ydCB0eXBlIHtcbiAgQmxvYkdldE9wdGlvbnMsXG4gIEJsb2JHZXRSZXN1bHQsXG4gIEJsb2JLZXksXG4gIEJsb2JMaXN0T3B0aW9ucyxcbiAgQmxvYkxpc3RSZXN1bHQsXG4gIEJsb2JNZXRhZGF0YSxcbiAgQmxvYlB1dE9wdGlvbnMsXG4gIEJsb2JQdXRSZXN1bHQsXG4gIEJsb2JTdG9yZVNlcnZpY2VDb25maWcsXG4gIEJsb2JVcmxPcHRpb25zLFxuICBCbG9iVXJsUmVzdWx0LFxuICBCbG9iVmFsdWUsXG59IGZyb20gXCIuLi9jb3JlL0Jsb2JUeXBlc1wiO1xuXG5pbnRlcmZhY2UgTWVtb3J5RW50cnkge1xuICB2YWx1ZTogQnVmZmVyO1xuICBtZXRhZGF0YTogQmxvYk1ldGFkYXRhO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBJbi1tZW1vcnkgYmxvYiBzdG9yZSBzZXJ2aWNlIHJlZ2lzdGVyZWQgYXMgYGJsb2ItbWVtb3J5YFxuICogQHN1bW1hcnkgU3RvcmVzIGJsb2JzIGluIGEgcHJvY2Vzcy1sb2NhbCBgTWFwYCwgc28gZGF0YSBkb2VzIG5vdCBzdXJ2aXZlXG4gKiByZXN0YXJ0cy4gSW50ZW5kZWQgZm9yIHRlc3RzIGFuZCBleGFtcGxlczsgc3VwcG9ydHMgdGhlIGZ1bGwgYmxvYiBDUlVEIEFQSVxuICogd2l0aG91dCBhbnkgU0RLIGRlcGVuZGVuY3kuXG4gKiBAY2xhc3MgTWVtb3J5QmxvYlN0b3JlU2VydmljZVxuICogQG1lbWJlck9mIG1vZHVsZTppbnRlZ3JhdGlvbnMvYmxvYi9tZW1vcnkvc2VydmljZVxuICovXG5Ac2VydmljZShcImJsb2ItbWVtb3J5XCIpXG5leHBvcnQgY2xhc3MgTWVtb3J5QmxvYlN0b3JlU2VydmljZSBleHRlbmRzIEJsb2JTdG9yZVNlcnZpY2U8XG4gIE1hcDxzdHJpbmcsIE1lbW9yeUVudHJ5PixcbiAgQmxvYlN0b3JlU2VydmljZUNvbmZpZ1xuPiB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQnVpbGRzIHRoZSBtZW1vcnkgYmxvYiBjb25maWcgZnJvbSB0aGUgZW52aXJvbm1lbnRcbiAgICogQHN1bW1hcnkgUmVhZHMgdGhlIGBibG9icy5tZW1vcnlgIGVudmlyb25tZW50IHNsaWNlOyBjb25zaWRlcmVkXG4gICAqIHVuY29uZmlndXJlZCB3aGVuIG5vIGBzb3VyY2VJZGAgaXMgc2V0LCB3aGljaCBrZWVwcyB0aGUgYXV0by1ib290XG4gICAqIGZhbGxiYWNrIChzZWUgYGdldENvbmZpZ0Zyb21BcmdzYCkgcmVzb2x2aW5nIHRvIGB1bmRlZmluZWRgLlxuICAgKiBAcmV0dXJuIHtCbG9iU3RvcmVTZXJ2aWNlQ29uZmlnIHwgdW5kZWZpbmVkfSBUaGUgZW52aXJvbm1lbnQtZGVyaXZlZCBjb25maWcsIG9yIGB1bmRlZmluZWRgIHdoZW4gdW5jb25maWd1cmVkXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY29uZmlnRnJvbUVudmlyb25tZW50KCk6IEJsb2JTdG9yZVNlcnZpY2VDb25maWcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGVudiA9IE1lbW9yeUJsb2JFbnZpcm9ubWVudC5ibG9icy5tZW1vcnk7XG4gICAgY29uc3Qgc291cmNlSWQgPSBlbnZTdHJpbmcoZW52Py5zb3VyY2VJZCk7XG4gICAgaWYgKCFzb3VyY2VJZCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICByZXR1cm4ge1xuICAgICAgcHJvdmlkZXI6IFwibWVtb3J5XCIsXG4gICAgICBzb3VyY2VJZCxcbiAgICAgIHByZWZpeDogZW52U3RyaW5nKGVudi5wcmVmaXgpLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEluaXRpYWxpemVzIHRoZSBpbi1tZW1vcnkgYmxvYiBzdG9yZSBjbGllbnRcbiAgICogQHN1bW1hcnkgUmVzb2x2ZXMgdGhlIGNvbmZpZyB2aWEgYGdldENvbmZpZ0Zyb21BcmdzYCAoZXhwbGljaXQgY29uZmlnLFxuICAgKiB0aGVuIHRoZSBgYmxvYnMubWVtb3J5YCBlbnZpcm9ubWVudCBzbGljZSkuIFdoZW4gbm8gY29uZmlnIHJlc29sdmVzIGR1cmluZ1xuICAgKiBhIGNvbnRleHQtYmVhcmluZyBhdXRvLWJvb3Qgb2YgYW4gdW5jb25maWd1cmVkIHByb3ZpZGVyLCByZXR1cm5zXG4gICAqIGBza2lwSW5pdGlhbGl6YXRpb24oKWAgc28gYFNlcnZpY2UuYm9vdGAgZG9lcyBub3QgdGhyb3c7IGFuIGV4cGxpY2l0XG4gICAqIGBpbml0aWFsaXplKClgIHdpdGggbm8gcmVzb2x2YWJsZSBjb25maWcgc3RpbGwgdGhyb3dzIGFcbiAgICogYFZhbGlkYXRpb25FcnJvcmAuIE9uIHN1Y2Nlc3MsIHN0b3JlcyB0aGUgY29uZmlnIGFuZCBjcmVhdGVzIHRoZSBiYWNraW5nXG4gICAqIGBNYXBgIGNsaWVudC5cbiAgICogQHBhcmFtIHsuLi5Db250ZXh0dWFsQXJnczxhbnk+fSBhcmdzIC0gQW4gb3B0aW9uYWwgYEJsb2JTdG9yZVNlcnZpY2VDb25maWdgLCBvcHRpb25hbGx5IGZvbGxvd2VkIGJ5IGEgZGVjYWYgYENvbnRleHRgXG4gICAqIEByZXR1cm4ge1Byb21pc2U8e2NvbmZpZzogQmxvYlN0b3JlU2VydmljZUNvbmZpZywgY2xpZW50OiBNYXA8c3RyaW5nLCBNZW1vcnlFbnRyeT59Pn0gVGhlIHJlc29sdmVkIGNvbmZpZyBhbmQgdGhlIGluLW1lbW9yeSBjbGllbnRcbiAgICovXG4gIG92ZXJyaWRlIGFzeW5jIGluaXRpYWxpemUoXG4gICAgLi4uYXJnczogQ29udGV4dHVhbEFyZ3M8YW55PlxuICApOiBQcm9taXNlPHtcbiAgICBjb25maWc6IEJsb2JTdG9yZVNlcnZpY2VDb25maWc7XG4gICAgY2xpZW50OiBNYXA8c3RyaW5nLCBNZW1vcnlFbnRyeT47XG4gIH0+IHtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmdldENvbmZpZ0Zyb21BcmdzPEJsb2JTdG9yZVNlcnZpY2VDb25maWc+KC4uLmFyZ3MpO1xuICAgIGlmICghY29uZmlnKSB7XG4gICAgICByZXR1cm4gdGhpcy5za2lwSW5pdGlhbGl6YXRpb24oKSBhcyBuZXZlcjtcbiAgICB9XG4gICAgdGhpcy5fY29uZmlnID0gY29uZmlnO1xuICAgIHRoaXMuX2NsaWVudCA9IG5ldyBNYXA8c3RyaW5nLCBNZW1vcnlFbnRyeT4oKTtcbiAgICByZXR1cm4geyBjb25maWcsIGNsaWVudDogdGhpcy5fY2xpZW50IH07XG4gIH1cblxuICBhc3luYyBwdXQoXG4gICAga2V5OiBCbG9iS2V5LFxuICAgIHZhbHVlOiBCbG9iVmFsdWUsXG4gICAgb3B0aW9uczogQmxvYlB1dE9wdGlvbnMgPSB7fSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPEJsb2JQdXRSZXN1bHQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwicHV0XCIsIHRydWUpKS5mb3IodGhpcy5wdXQpO1xuICAgIGxvZy52ZXJib3NlKGBQdXR0aW5nIGJsb2IgJHtrZXl9YCk7XG5cbiAgICBjb25zdCBwaHlzaWNhbEtleSA9IHRoaXMucGh5c2ljYWxLZXkoa2V5KTtcblxuICAgIGlmIChvcHRpb25zLmlmTm90RXhpc3RzICYmIHRoaXMuY2xpZW50LmhhcyhwaHlzaWNhbEtleSkpIHtcbiAgICAgIHRocm93IG5ldyBDb25mbGljdEVycm9yKGBCbG9iIGFscmVhZHkgZXhpc3RzOiAke2tleX1gKTtcbiAgICB9XG5cbiAgICBjb25zdCBidWZmZXIgPSBhd2FpdCBjb2xsZWN0VG9CdWZmZXIodmFsdWUpO1xuICAgIGNvbnN0IHNoYTI1NiA9IGF3YWl0IGNvbXB1dGVTaGEyNTYoYnVmZmVyKTtcblxuICAgIGlmIChvcHRpb25zLmV4cGVjdGVkU2hhMjU2ICYmIG9wdGlvbnMuZXhwZWN0ZWRTaGEyNTYgIT09IHNoYTI1Nikge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihgQ2hlY2tzdW0gbWlzbWF0Y2ggZm9yICR7a2V5fWApO1xuICAgIH1cblxuICAgIGNvbnN0IG1ldGFkYXRhOiBCbG9iTWV0YWRhdGEgPSB7XG4gICAgICBjb250ZW50VHlwZTogb3B0aW9ucy5jb250ZW50VHlwZSxcbiAgICAgIGNvbnRlbnRMZW5ndGg6IGJ1ZmZlci5sZW5ndGgsXG4gICAgICBzaGEyNTYsXG4gICAgICBjdXN0b206IG9wdGlvbnMubWV0YWRhdGEsXG4gICAgfTtcblxuICAgIHRoaXMuY2xpZW50LnNldChwaHlzaWNhbEtleSwgeyB2YWx1ZTogYnVmZmVyLCBtZXRhZGF0YSB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICBrZXksXG4gICAgICB1cmk6IHRoaXMudXJpKGtleSwgXCJtZW1vcnlcIiksXG4gICAgICBwcm92aWRlcjogdGhpcy5wcm92aWRlcixcbiAgICAgIHNvdXJjZUlkOiB0aGlzLnNvdXJjZUlkLFxuICAgICAgbWV0YWRhdGEsXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGdldChcbiAgICBrZXk6IEJsb2JLZXksXG4gICAgb3B0aW9uczogQmxvYkdldE9wdGlvbnMgPSB7fSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPEJsb2JHZXRSZXN1bHQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiZ2V0XCIsIHRydWUpKS5mb3IodGhpcy5nZXQpO1xuICAgIGxvZy52ZXJib3NlKGBHZXR0aW5nIGJsb2IgJHtrZXl9YCk7XG5cbiAgICBjb25zdCBwaHlzaWNhbEtleSA9IHRoaXMucGh5c2ljYWxLZXkoa2V5KTtcbiAgICBjb25zdCBlbnRyeSA9IHRoaXMuY2xpZW50LmdldChwaHlzaWNhbEtleSk7XG5cbiAgICBpZiAoIWVudHJ5KSB7XG4gICAgICB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihgQmxvYiBub3QgZm91bmQ6ICR7a2V5fWApO1xuICAgIH1cblxuICAgIGxldCB2YWx1ZTogQmxvYlZhbHVlID0gZW50cnkudmFsdWU7XG4gICAgaWYgKG9wdGlvbnMucmFuZ2UpIHtcbiAgICAgIGNvbnN0IHN0YXJ0ID0gb3B0aW9ucy5yYW5nZS5zdGFydDtcbiAgICAgIGNvbnN0IGVuZCA9IG9wdGlvbnMucmFuZ2UuZW5kID8/IGVudHJ5LnZhbHVlLmxlbmd0aDtcbiAgICAgIHZhbHVlID0gZW50cnkudmFsdWUuc3ViYXJyYXkoc3RhcnQsIGVuZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGtleSxcbiAgICAgIHZhbHVlOiB0b0FzeW5jSXRlcmFibGUodmFsdWUpLFxuICAgICAgdXJpOiB0aGlzLnVyaShrZXksIFwibWVtb3J5XCIpLFxuICAgICAgcHJvdmlkZXI6IHRoaXMucHJvdmlkZXIsXG4gICAgICBzb3VyY2VJZDogdGhpcy5zb3VyY2VJZCxcbiAgICAgIG1ldGFkYXRhOiBlbnRyeS5tZXRhZGF0YSxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgaGFzKFxuICAgIGtleTogQmxvYktleSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiaGFzXCIsIHRydWUpKS5mb3IodGhpcy5oYXMpO1xuICAgIGxvZy52ZXJib3NlKGBDaGVja2luZyBibG9iICR7a2V5fWApO1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5oYXModGhpcy5waHlzaWNhbEtleShrZXkpKTtcbiAgfVxuXG4gIGFzeW5jIHN0YXQoXG4gICAga2V5OiBCbG9iS2V5LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8QmxvYk1ldGFkYXRhPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInN0YXRcIiwgdHJ1ZSkpLmZvcih0aGlzLnN0YXQpO1xuICAgIGxvZy52ZXJib3NlKGBTdGF0dGluZyBibG9iICR7a2V5fWApO1xuICAgIGNvbnN0IGVudHJ5ID0gdGhpcy5jbGllbnQuZ2V0KHRoaXMucGh5c2ljYWxLZXkoa2V5KSk7XG4gICAgaWYgKCFlbnRyeSkge1xuICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoYEJsb2Igbm90IGZvdW5kOiAke2tleX1gKTtcbiAgICB9XG4gICAgcmV0dXJuIGVudHJ5Lm1ldGFkYXRhO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlKFxuICAgIGtleTogQmxvYktleSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiZGVsZXRlXCIsIHRydWUpKS5mb3IodGhpcy5kZWxldGUpO1xuICAgIGxvZy52ZXJib3NlKGBEZWxldGluZyBibG9iICR7a2V5fWApO1xuICAgIHRoaXMuY2xpZW50LmRlbGV0ZSh0aGlzLnBoeXNpY2FsS2V5KGtleSkpO1xuICB9XG5cbiAgYXN5bmMgY29weShcbiAgICBmcm9tS2V5OiBCbG9iS2V5LFxuICAgIHRvS2V5OiBCbG9iS2V5LFxuICAgIG9wdGlvbnM6IEJsb2JQdXRPcHRpb25zID0ge30sXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxCbG9iUHV0UmVzdWx0PiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImNvcHlcIiwgdHJ1ZSkpLmZvcih0aGlzLmNvcHkpO1xuICAgIGxvZy52ZXJib3NlKGBDb3B5aW5nIGJsb2IgJHtmcm9tS2V5fSB0byAke3RvS2V5fWApO1xuICAgIGNvbnN0IHNvdXJjZSA9IHRoaXMuY2xpZW50LmdldCh0aGlzLnBoeXNpY2FsS2V5KGZyb21LZXkpKTtcbiAgICBpZiAoIXNvdXJjZSkge1xuICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoYEJsb2Igbm90IGZvdW5kOiAke2Zyb21LZXl9YCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnB1dCh0b0tleSwgc291cmNlLnZhbHVlLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgY29udGVudFR5cGU6IG9wdGlvbnMuY29udGVudFR5cGUgPz8gc291cmNlLm1ldGFkYXRhLmNvbnRlbnRUeXBlLFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgbGlzdChcbiAgICBvcHRpb25zOiBCbG9iTGlzdE9wdGlvbnMgPSB7fSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPEJsb2JMaXN0UmVzdWx0PiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImxpc3RcIiwgdHJ1ZSkpLmZvcih0aGlzLmxpc3QpO1xuICAgIGxvZy52ZXJib3NlKFwiTGlzdGluZyBibG9ic1wiKTtcblxuICAgIGNvbnN0IHByZWZpeCA9IG9wdGlvbnMucHJlZml4ID8gdGhpcy5waHlzaWNhbEtleShvcHRpb25zLnByZWZpeCkgOiBcIlwiO1xuICAgIGNvbnN0IGFsbEtleXMgPSBBcnJheS5mcm9tKHRoaXMuY2xpZW50LmtleXMoKSlcbiAgICAgIC5maWx0ZXIoKGspID0+IChwcmVmaXggPyBrLnN0YXJ0c1dpdGgocHJlZml4KSA6IHRydWUpKVxuICAgICAgLnNvcnQoKTtcblxuICAgIGNvbnN0IGxpbWl0ID0gb3B0aW9ucy5saW1pdCA/PyAxMDAwO1xuICAgIGNvbnN0IHN0YXJ0SW5kZXggPSBvcHRpb25zLmN1cnNvciA/IE51bWJlcihvcHRpb25zLmN1cnNvcikgOiAwO1xuICAgIGNvbnN0IHNsaWNlID0gYWxsS2V5cy5zbGljZShzdGFydEluZGV4LCBzdGFydEluZGV4ICsgbGltaXQpO1xuICAgIGNvbnN0IG5leHRDdXJzb3IgPVxuICAgICAgc3RhcnRJbmRleCArIGxpbWl0IDwgYWxsS2V5cy5sZW5ndGhcbiAgICAgICAgPyBTdHJpbmcoc3RhcnRJbmRleCArIGxpbWl0KVxuICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgIHJldHVybiB7XG4gICAgICBpdGVtczogc2xpY2UubWFwKChrKSA9PiAoe1xuICAgICAgICBrZXk6IGssXG4gICAgICAgIG1ldGFkYXRhOiB0aGlzLmNsaWVudC5nZXQoayk/Lm1ldGFkYXRhLFxuICAgICAgfSkpLFxuICAgICAgY3Vyc29yOiBuZXh0Q3Vyc29yLFxuICAgIH07XG4gIH1cblxuICBhc3luYyB1cmwoXG4gICAga2V5OiBCbG9iS2V5LFxuICAgIG9wdGlvbnM6IEJsb2JVcmxPcHRpb25zID0ge30sXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxCbG9iVXJsUmVzdWx0PiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInVybFwiLCB0cnVlKSkuZm9yKHRoaXMudXJsKTtcbiAgICBsb2cudmVyYm9zZShgQnVpbGRpbmcgdXJsIGZvciBibG9iICR7a2V5fWApO1xuICAgIGlmIChvcHRpb25zLm9wZXJhdGlvbiAmJiBvcHRpb25zLm9wZXJhdGlvbiAhPT0gXCJnZXRcIikge1xuICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkRXJyb3IoXCJNZW1vcnkgYmxvYiBzdG9yZSBkb2VzIG5vdCBzdXBwb3J0IFBVVCB1cmxzXCIpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgdXJsOiB0aGlzLnVyaShrZXksIFwibWVtb3J5XCIpLFxuICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgZXhwaXJlc0F0OiBuZXcgRGF0ZShcbiAgICAgICAgRGF0ZS5ub3coKSArIChvcHRpb25zLmV4cGlyZXNJblNlY29uZHMgPz8gMzAwKSAqIDEwMDBcbiAgICAgICksXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwYXJzZUVycm9yKGVycm9yOiB1bmtub3duKTogRXJyb3Ige1xuICAgIGlmIChcbiAgICAgIGVycm9yIGluc3RhbmNlb2YgTm90Rm91bmRFcnJvciB8fFxuICAgICAgZXJyb3IgaW5zdGFuY2VvZiBDb25mbGljdEVycm9yIHx8XG4gICAgICBlcnJvciBpbnN0YW5jZW9mIFZhbGlkYXRpb25FcnJvciB8fFxuICAgICAgZXJyb3IgaW5zdGFuY2VvZiBJbnRlcm5hbEVycm9yXG4gICAgKSB7XG4gICAgICByZXR1cm4gZXJyb3IgYXMgRXJyb3I7XG4gICAgfVxuICAgIHJldHVybiBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgIGBNZW1vcnkgYmxvYiBlcnJvcjogJHsoZXJyb3IgYXMgRXJyb3IpLm1lc3NhZ2V9YFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVtb3J5QmxvYlN0b3JlU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk1lbW9yeUJsb2JTdG9yZVNlcnZpY2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBSSxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSTtJQUNqRixJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdILElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQU8sT0FBTyxDQUFDLFFBQVEsS0FBSyxVQUFVO1FBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7O1FBQzFILEtBQUssSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFBRSxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FB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LENBQUM7UUFDOUUsQ0FBQztRQUNELE9BQU87WUFDSCxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDO1lBQzVCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7U0FDN0UsQ0FBQztJQUNOLENBQUM7SUFDRCxVQUFVLENBQUMsS0FBSztRQUNaLElBQUksS0FBSyxZQUFZLDZCQUFhO1lBQzlCLEtBQUssWUFBWSw2QkFBYTtZQUM5QixLQUFLLFlBQVksK0JBQWU7WUFDaEMsS0FBSyxZQUFZLDZCQUFhLEVBQUUsQ0FBQztZQUNqQyxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBQ0QsT0FBTyxJQUFJLDZCQUFhLENBQUMsc0JBQXNCLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7Q0FDSixDQUFDO0FBSU8sd0RBQXNCO0FBSC9CLGlDQUFBLHNCQUFzQixHQUFHLFVBQVUsQ0FBQztJQUNoQyxJQUFBLGNBQU8sRUFBQyxhQUFhLENBQUM7Q0FDekIsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0FBRTNCLDg3cEJBQTg3cEIiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19kZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19kZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn07XG4vKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2Jsb2IvbWVtb3J5L3NlcnZpY2VcbiAqIEBzdW1tYXJ5IEluLW1lbW9yeSBibG9iIHN0b3JlIHNlcnZpY2UuXG4gKiBAZGVzY3JpcHRpb24gUHJvY2Vzcy1sb2NhbCBNYXAtYmFja2VkIGJsb2Igc3RvcmUgZm9yIHRlc3RzIGFuZCBleGFtcGxlcy4gTm8gU0RLIGRlcGVuZGVuY3kuXG4gKi9cbmltcG9ydCB7IHNlcnZpY2UsIFVuc3VwcG9ydGVkRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IENvbmZsaWN0RXJyb3IsIEludGVybmFsRXJyb3IsIE5vdEZvdW5kRXJyb3IsIFZhbGlkYXRpb25FcnJvciwgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IGNvbGxlY3RUb0J1ZmZlciwgY29tcHV0ZVNoYTI1NiwgdG9Bc3luY0l0ZXJhYmxlIH0gZnJvbSBcIi4vLi4vY29yZS9CbG9iVmFsdWUuanNcIjtcbmltcG9ydCB7IEJsb2JTdG9yZVNlcnZpY2UgfSBmcm9tIFwiLi8uLi9jb3JlL0Jsb2JTdG9yZVNlcnZpY2UuanNcIjtcbmltcG9ydCB7IE1lbW9yeUJsb2JFbnZpcm9ubWVudCB9IGZyb20gXCIuL01lbW9yeUJsb2JFbnZpcm9ubWVudC5qc1wiO1xuaW1wb3J0IHsgZW52U3RyaW5nIH0gZnJvbSBcIi4vLi4vLi4vc2hhcmVkL2Vudmlyb25tZW50VmFsdWUuanNcIjtcbi8qKlxuICogQGRlc2NyaXB0aW9uIEluLW1lbW9yeSBibG9iIHN0b3JlIHNlcnZpY2UgcmVnaXN0ZXJlZCBhcyBgYmxvYi1tZW1vcnlgXG4gKiBAc3VtbWFyeSBTdG9yZXMgYmxvYnMgaW4gYSBwcm9jZXNzLWxvY2FsIGBNYXBgLCBzbyBkYXRhIGRvZXMgbm90IHN1cnZpdmVcbiAqIHJlc3RhcnRzLiBJbnRlbmRlZCBmb3IgdGVzdHMgYW5kIGV4YW1wbGVzOyBzdXBwb3J0cyB0aGUgZnVsbCBibG9iIENSVUQgQVBJXG4gKiB3aXRob3V0IGFueSBTREsgZGVwZW5kZW5jeS5cbiAqIEBjbGFzcyBNZW1vcnlCbG9iU3RvcmVTZXJ2aWNlXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmludGVncmF0aW9ucy9ibG9iL21lbW9yeS9zZXJ2aWNlXG4gKi9cbmxldCBNZW1vcnlCbG9iU3RvcmVTZXJ2aWNlID0gY2xhc3MgTWVtb3J5QmxvYlN0b3JlU2VydmljZSBleHRlbmRzIEJsb2JTdG9yZVNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBCdWlsZHMgdGhlIG1lbW9yeSBibG9iIGNvbmZpZyBmcm9tIHRoZSBlbnZpcm9ubWVudFxuICAgICAqIEBzdW1tYXJ5IFJlYWRzIHRoZSBgYmxvYnMubWVtb3J5YCBlbnZpcm9ubWVudCBzbGljZTsgY29uc2lkZXJlZFxuICAgICAqIHVuY29uZmlndXJlZCB3aGVuIG5vIGBzb3VyY2VJZGAgaXMgc2V0LCB3aGljaCBrZWVwcyB0aGUgYXV0by1ib290XG4gICAgICogZmFsbGJhY2sgKHNlZSBgZ2V0Q29uZmlnRnJvbUFyZ3NgKSByZXNvbHZpbmcgdG8gYHVuZGVmaW5lZGAuXG4gICAgICogQHJldHVybiB7QmxvYlN0b3JlU2VydmljZUNvbmZpZyB8IHVuZGVmaW5lZH0gVGhlIGVudmlyb25tZW50LWRlcml2ZWQgY29uZmlnLCBvciBgdW5kZWZpbmVkYCB3aGVuIHVuY29uZmlndXJlZFxuICAgICAqL1xuICAgIGNvbmZpZ0Zyb21FbnZpcm9ubWVudCgpIHtcbiAgICAgICAgY29uc3QgZW52ID0gTWVtb3J5QmxvYkVudmlyb25tZW50LmJsb2JzLm1lbW9yeTtcbiAgICAgICAgY29uc3Qgc291cmNlSWQgPSBlbnZTdHJpbmcoZW52Py5zb3VyY2VJZCk7XG4gICAgICAgIGlmICghc291cmNlSWQpXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcHJvdmlkZXI6IFwibWVtb3J5XCIsXG4gICAgICAgICAgICBzb3VyY2VJZCxcbiAgICAgICAgICAgIHByZWZpeDogZW52U3RyaW5nKGVudi5wcmVmaXgpLFxuICAgICAgICB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gSW5pdGlhbGl6ZXMgdGhlIGluLW1lbW9yeSBibG9iIHN0b3JlIGNsaWVudFxuICAgICAqIEBzdW1tYXJ5IFJlc29sdmVzIHRoZSBjb25maWcgdmlhIGBnZXRDb25maWdGcm9tQXJnc2AgKGV4cGxpY2l0IGNvbmZpZyxcbiAgICAgKiB0aGVuIHRoZSBgYmxvYnMubWVtb3J5YCBlbnZpcm9ubWVudCBzbGljZSkuIFdoZW4gbm8gY29uZmlnIHJlc29sdmVzIGR1cmluZ1xuICAgICAqIGEgY29udGV4dC1iZWFyaW5nIGF1dG8tYm9vdCBvZiBhbiB1bmNvbmZpZ3VyZWQgcHJvdmlkZXIsIHJldHVybnNcbiAgICAgKiBgc2tpcEluaXRpYWxpemF0aW9uKClgIHNvIGBTZXJ2aWNlLmJvb3RgIGRvZXMgbm90IHRocm93OyBhbiBleHBsaWNpdFxuICAgICAqIGBpbml0aWFsaXplKClgIHdpdGggbm8gcmVzb2x2YWJsZSBjb25maWcgc3RpbGwgdGhyb3dzIGFcbiAgICAgKiBgVmFsaWRhdGlvbkVycm9yYC4gT24gc3VjY2Vzcywgc3RvcmVzIHRoZSBjb25maWcgYW5kIGNyZWF0ZXMgdGhlIGJhY2tpbmdcbiAgICAgKiBgTWFwYCBjbGllbnQuXG4gICAgICogQHBhcmFtIHsuLi5Db250ZXh0dWFsQXJnczxhbnk+fSBhcmdzIC0gQW4gb3B0aW9uYWwgYEJsb2JTdG9yZVNlcnZpY2VDb25maWdgLCBvcHRpb25hbGx5IGZvbGxvd2VkIGJ5IGEgZGVjYWYgYENvbnRleHRgXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx7Y29uZmlnOiBCbG9iU3RvcmVTZXJ2aWNlQ29uZmlnLCBjbGllbnQ6IE1hcDxzdHJpbmcsIE1lbW9yeUVudHJ5Pn0+fSBUaGUgcmVzb2x2ZWQgY29uZmlnIGFuZCB0aGUgaW4tbWVtb3J5IGNsaWVudFxuICAgICAqL1xuICAgIGFzeW5jIGluaXRpYWxpemUoLi4uYXJncykge1xuICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLmdldENvbmZpZ0Zyb21BcmdzKC4uLmFyZ3MpO1xuICAgICAgICBpZiAoIWNvbmZpZykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2tpcEluaXRpYWxpemF0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY29uZmlnID0gY29uZmlnO1xuICAgICAgICB0aGlzLl9jbGllbnQgPSBuZXcgTWFwKCk7XG4gICAgICAgIHJldHVybiB7IGNvbmZpZywgY2xpZW50OiB0aGlzLl9jbGllbnQgfTtcbiAgICB9XG4gICAgYXN5bmMgcHV0KGtleSwgdmFsdWUsIG9wdGlvbnMgPSB7fSwgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwicHV0XCIsIHRydWUpKS5mb3IodGhpcy5wdXQpO1xuICAgICAgICBsb2cudmVyYm9zZShgUHV0dGluZyBibG9iICR7a2V5fWApO1xuICAgICAgICBjb25zdCBwaHlzaWNhbEtleSA9IHRoaXMucGh5c2ljYWxLZXkoa2V5KTtcbiAgICAgICAgaWYgKG9wdGlvbnMuaWZOb3RFeGlzdHMgJiYgdGhpcy5jbGllbnQuaGFzKHBoeXNpY2FsS2V5KSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IENvbmZsaWN0RXJyb3IoYEJsb2IgYWxyZWFkeSBleGlzdHM6ICR7a2V5fWApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGJ1ZmZlciA9IGF3YWl0IGNvbGxlY3RUb0J1ZmZlcih2YWx1ZSk7XG4gICAgICAgIGNvbnN0IHNoYTI1NiA9IGF3YWl0IGNvbXB1dGVTaGEyNTYoYnVmZmVyKTtcbiAgICAgICAgaWYgKG9wdGlvbnMuZXhwZWN0ZWRTaGEyNTYgJiYgb3B0aW9ucy5leHBlY3RlZFNoYTI1NiAhPT0gc2hhMjU2KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGBDaGVja3N1bSBtaXNtYXRjaCBmb3IgJHtrZXl9YCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbWV0YWRhdGEgPSB7XG4gICAgICAgICAgICBjb250ZW50VHlwZTogb3B0aW9ucy5jb250ZW50VHlwZSxcbiAgICAgICAgICAgIGNvbnRlbnRMZW5ndGg6IGJ1ZmZlci5sZW5ndGgsXG4gICAgICAgICAgICBzaGEyNTYsXG4gICAgICAgICAgICBjdXN0b206IG9wdGlvbnMubWV0YWRhdGEsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuY2xpZW50LnNldChwaHlzaWNhbEtleSwgeyB2YWx1ZTogYnVmZmVyLCBtZXRhZGF0YSB9KTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgIHVyaTogdGhpcy51cmkoa2V5LCBcIm1lbW9yeVwiKSxcbiAgICAgICAgICAgIHByb3ZpZGVyOiB0aGlzLnByb3ZpZGVyLFxuICAgICAgICAgICAgc291cmNlSWQ6IHRoaXMuc291cmNlSWQsXG4gICAgICAgICAgICBtZXRhZGF0YSxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgYXN5bmMgZ2V0KGtleSwgb3B0aW9ucyA9IHt9LCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJnZXRcIiwgdHJ1ZSkpLmZvcih0aGlzLmdldCk7XG4gICAgICAgIGxvZy52ZXJib3NlKGBHZXR0aW5nIGJsb2IgJHtrZXl9YCk7XG4gICAgICAgIGNvbnN0IHBoeXNpY2FsS2V5ID0gdGhpcy5waHlzaWNhbEtleShrZXkpO1xuICAgICAgICBjb25zdCBlbnRyeSA9IHRoaXMuY2xpZW50LmdldChwaHlzaWNhbEtleSk7XG4gICAgICAgIGlmICghZW50cnkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKGBCbG9iIG5vdCBmb3VuZDogJHtrZXl9YCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHZhbHVlID0gZW50cnkudmFsdWU7XG4gICAgICAgIGlmIChvcHRpb25zLnJhbmdlKSB7XG4gICAgICAgICAgICBjb25zdCBzdGFydCA9IG9wdGlvbnMucmFuZ2Uuc3RhcnQ7XG4gICAgICAgICAgICBjb25zdCBlbmQgPSBvcHRpb25zLnJhbmdlLmVuZCA/PyBlbnRyeS52YWx1ZS5sZW5ndGg7XG4gICAgICAgICAgICB2YWx1ZSA9IGVudHJ5LnZhbHVlLnN1YmFycmF5KHN0YXJ0LCBlbmQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICB2YWx1ZTogdG9Bc3luY0l0ZXJhYmxlKHZhbHVlKSxcbiAgICAgICAgICAgIHVyaTogdGhpcy51cmkoa2V5LCBcIm1lbW9yeVwiKSxcbiAgICAgICAgICAgIHByb3ZpZGVyOiB0aGlzLnByb3ZpZGVyLFxuICAgICAgICAgICAgc291cmNlSWQ6IHRoaXMuc291cmNlSWQsXG4gICAgICAgICAgICBtZXRhZGF0YTogZW50cnkubWV0YWRhdGEsXG4gICAgICAgIH07XG4gICAgfVxuICAgIGFzeW5jIGhhcyhrZXksIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImhhc1wiLCB0cnVlKSkuZm9yKHRoaXMuaGFzKTtcbiAgICAgICAgbG9nLnZlcmJvc2UoYENoZWNraW5nIGJsb2IgJHtrZXl9YCk7XG4gICAgICAgIHJldHVybiB0aGlzLmNsaWVudC5oYXModGhpcy5waHlzaWNhbEtleShrZXkpKTtcbiAgICB9XG4gICAgYXN5bmMgc3RhdChrZXksIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInN0YXRcIiwgdHJ1ZSkpLmZvcih0aGlzLnN0YXQpO1xuICAgICAgICBsb2cudmVyYm9zZShgU3RhdHRpbmcgYmxvYiAke2tleX1gKTtcbiAgICAgICAgY29uc3QgZW50cnkgPSB0aGlzLmNsaWVudC5nZXQodGhpcy5waHlzaWNhbEtleShrZXkpKTtcbiAgICAgICAgaWYgKCFlbnRyeSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoYEJsb2Igbm90IGZvdW5kOiAke2tleX1gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZW50cnkubWV0YWRhdGE7XG4gICAgfVxuICAgIGFzeW5jIGRlbGV0ZShrZXksIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImRlbGV0ZVwiLCB0cnVlKSkuZm9yKHRoaXMuZGVsZXRlKTtcbiAgICAgICAgbG9nLnZlcmJvc2UoYERlbGV0aW5nIGJsb2IgJHtrZXl9YCk7XG4gICAgICAgIHRoaXMuY2xpZW50LmRlbGV0ZSh0aGlzLnBoeXNpY2FsS2V5KGtleSkpO1xuICAgIH1cbiAgICBhc3luYyBjb3B5KGZyb21LZXksIHRvS2V5LCBvcHRpb25zID0ge30sIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImNvcHlcIiwgdHJ1ZSkpLmZvcih0aGlzLmNvcHkpO1xuICAgICAgICBsb2cudmVyYm9zZShgQ29weWluZyBibG9iICR7ZnJvbUtleX0gdG8gJHt0b0tleX1gKTtcbiAgICAgICAgY29uc3Qgc291cmNlID0gdGhpcy5jbGllbnQuZ2V0KHRoaXMucGh5c2ljYWxLZXkoZnJvbUtleSkpO1xuICAgICAgICBpZiAoIXNvdXJjZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoYEJsb2Igbm90IGZvdW5kOiAke2Zyb21LZXl9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMucHV0KHRvS2V5LCBzb3VyY2UudmFsdWUsIHtcbiAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICBjb250ZW50VHlwZTogb3B0aW9ucy5jb250ZW50VHlwZSA/PyBzb3VyY2UubWV0YWRhdGEuY29udGVudFR5cGUsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBhc3luYyBsaXN0KG9wdGlvbnMgPSB7fSwgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwibGlzdFwiLCB0cnVlKSkuZm9yKHRoaXMubGlzdCk7XG4gICAgICAgIGxvZy52ZXJib3NlKFwiTGlzdGluZyBibG9ic1wiKTtcbiAgICAgICAgY29uc3QgcHJlZml4ID0gb3B0aW9ucy5wcmVmaXggPyB0aGlzLnBoeXNpY2FsS2V5KG9wdGlvbnMucHJlZml4KSA6IFwiXCI7XG4gICAgICAgIGNvbnN0IGFsbEtleXMgPSBBcnJheS5mcm9tKHRoaXMuY2xpZW50LmtleXMoKSlcbiAgICAgICAgICAgIC5maWx0ZXIoKGspID0+IChwcmVmaXggPyBrLnN0YXJ0c1dpdGgocHJlZml4KSA6IHRydWUpKVxuICAgICAgICAgICAgLnNvcnQoKTtcbiAgICAgICAgY29uc3QgbGltaXQgPSBvcHRpb25zLmxpbWl0ID8/IDEwMDA7XG4gICAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSBvcHRpb25zLmN1cnNvciA/IE51bWJlcihvcHRpb25zLmN1cnNvcikgOiAwO1xuICAgICAgICBjb25zdCBzbGljZSA9IGFsbEtleXMuc2xpY2Uoc3RhcnRJbmRleCwgc3RhcnRJbmRleCArIGxpbWl0KTtcbiAgICAgICAgY29uc3QgbmV4dEN1cnNvciA9IHN0YXJ0SW5kZXggKyBsaW1pdCA8IGFsbEtleXMubGVuZ3RoXG4gICAgICAgICAgICA/IFN0cmluZyhzdGFydEluZGV4ICsgbGltaXQpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGl0ZW1zOiBzbGljZS5tYXAoKGspID0+ICh7XG4gICAgICAgICAgICAgICAga2V5OiBrLFxuICAgICAgICAgICAgICAgIG1ldGFkYXRhOiB0aGlzLmNsaWVudC5nZXQoayk/Lm1ldGFkYXRhLFxuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgY3Vyc29yOiBuZXh0Q3Vyc29yLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBhc3luYyB1cmwoa2V5LCBvcHRpb25zID0ge30sIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInVybFwiLCB0cnVlKSkuZm9yKHRoaXMudXJsKTtcbiAgICAgICAgbG9nLnZlcmJvc2UoYEJ1aWxkaW5nIHVybCBmb3IgYmxvYiAke2tleX1gKTtcbiAgICAgICAgaWYgKG9wdGlvbnMub3BlcmF0aW9uICYmIG9wdGlvbnMub3BlcmF0aW9uICE9PSBcImdldFwiKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRFcnJvcihcIk1lbW9yeSBibG9iIHN0b3JlIGRvZXMgbm90IHN1cHBvcnQgUFVUIHVybHNcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHVybDogdGhpcy51cmkoa2V5LCBcIm1lbW9yeVwiKSxcbiAgICAgICAgICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICAgICAgICAgIGV4cGlyZXNBdDogbmV3IERhdGUoRGF0ZS5ub3coKSArIChvcHRpb25zLmV4cGlyZXNJblNlY29uZHMgPz8gMzAwKSAqIDEwMDApLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBwYXJzZUVycm9yKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIE5vdEZvdW5kRXJyb3IgfHxcbiAgICAgICAgICAgIGVycm9yIGluc3RhbmNlb2YgQ29uZmxpY3RFcnJvciB8fFxuICAgICAgICAgICAgZXJyb3IgaW5zdGFuY2VvZiBWYWxpZGF0aW9uRXJyb3IgfHxcbiAgICAgICAgICAgIGVycm9yIGluc3RhbmNlb2YgSW50ZXJuYWxFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgSW50ZXJuYWxFcnJvcihgTWVtb3J5IGJsb2IgZXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gKTtcbiAgICB9XG59O1xuTWVtb3J5QmxvYlN0b3JlU2VydmljZSA9IF9fZGVjb3JhdGUoW1xuICAgIHNlcnZpY2UoXCJibG9iLW1lbW9yeVwiKVxuXSwgTWVtb3J5QmxvYlN0b3JlU2VydmljZSk7XG5leHBvcnQgeyBNZW1vcnlCbG9iU3RvcmVTZXJ2aWNlIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lUV1Z0YjNKNVFteHZZbE4wYjNKbFUyVnlkbWxqWlM1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1TDNOeVl5OWliRzlpTDIxbGJXOXllUzlOWlcxdmNubENiRzlpVTNSdmNtVlRaWEoyYVdObExuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSTdPenM3T3p0QlFVRkJPenM3TzBkQlNVYzdRVUZEU0N4UFFVRlBMRVZCUVdkRUxFOUJRVThzUlVGQlJTeG5Ra0ZCWjBJc1JVRkJSU3hOUVVGTkxHZENRVUZuUWl4RFFVRkRPMEZCUTNwSExFOUJRVThzUlVGRFRDeGhRVUZoTEVWQlEySXNZVUZCWVN4RlFVTmlMR0ZCUVdFc1JVRkRZaXhsUVVGbExFZEJRMmhDTEUxQlFVMHNlVUpCUVhsQ0xFTkJRVU03UVVGRGFrTXNUMEZCVHl4RlFVRkZMR1ZCUVdVc1JVRkJSU3hoUVVGaExFVkJRVVVzWlVGQlpTeEZRVUZGTEN0Q1FVRXdRanRCUVVOd1JpeFBRVUZQTEVWQlFVVXNaMEpCUVdkQ0xFVkJRVVVzYzBOQlFXbERPMEZCUXpWRUxFOUJRVThzUlVGQlJTeHhRa0ZCY1VJc1JVRkJSU3h0UTBGQlowTTdRVUZEYUVVc1QwRkJUeXhGUVVGRkxGTkJRVk1zUlVGQlJTd3lRMEZCYzBNN1FVRnhRakZFT3pzN096czdPMGRCVDBjN1FVRkZTU3hKUVVGTkxITkNRVUZ6UWl4SFFVRTFRaXhOUVVGTkxITkNRVUYxUWl4VFFVRlJMR2RDUVVjelF6dEpRVU5ET3pzN096czdUMEZOUnp0SlFVTm5RaXh4UWtGQmNVSTdVVUZEZEVNc1RVRkJUU3hIUVVGSExFZEJRVWNzY1VKQlFYRkNMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF6dFJRVU12UXl4TlFVRk5MRkZCUVZFc1IwRkJSeXhUUVVGVExFTkJRVU1zUjBGQlJ5eEZRVUZGTEZGQlFWRXNRMEZCUXl4RFFVRkRPMUZCUXpGRExFbEJRVWtzUTBGQlF5eFJRVUZSTzFsQlFVVXNUMEZCVHl4VFFVRlRMRU5CUVVNN1VVRkRhRU1zVDBGQlR6dFpRVU5NTEZGQlFWRXNSVUZCUlN4UlFVRlJPMWxCUTJ4Q0xGRkJRVkU3V1VGRFVpeE5RVUZOTEVWQlFVVXNVMEZCVXl4RFFVRkRMRWRCUVVjc1EwRkJReXhOUVVGTkxFTkJRVU03VTBGRE9VSXNRMEZCUXp0SlFVTktMRU5CUVVNN1NVRkZSRHM3T3pzN096czdPenM3VDBGWFJ6dEpRVU5OTEV0QlFVc3NRMEZCUXl4VlFVRlZMRU5CUTNaQ0xFZEJRVWNzU1VGQmVVSTdVVUZMTlVJc1RVRkJUU3hOUVVGTkxFZEJRVWNzU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGNVFpeEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRPMUZCUTNaRkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXp0WlFVTmFMRTlCUVU4c1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RlFVRlhMRU5CUVVNN1VVRkROVU1zUTBGQlF6dFJRVU5FTEVsQlFVa3NRMEZCUXl4UFFVRlBMRWRCUVVjc1RVRkJUU3hEUVVGRE8xRkJRM1JDTEVsQlFVa3NRMEZCUXl4UFFVRlBMRWRCUVVjc1NVRkJTU3hIUVVGSExFVkJRWFZDTEVOQlFVTTdVVUZET1VNc1QwRkJUeXhGUVVGRkxFMUJRVTBzUlVGQlJTeE5RVUZOTEVWQlFVVXNTVUZCU1N4RFFVRkRMRTlCUVU4c1JVRkJSU3hEUVVGRE8wbEJRekZETEVOQlFVTTdTVUZGUkN4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVOUUxFZEJRVmtzUlVGRFdpeExRVUZuUWl4RlFVTm9RaXhWUVVFd1FpeEZRVUZGTEVWQlF6VkNMRWRCUVVjc1NVRkJOa0k3VVVGRmFFTXNUVUZCVFN4RlFVRkZMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRVU1zVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1JVRkJSU3hMUVVGTExFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFGQlEzSkZMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zWjBKQlFXZENMRWRCUVVjc1JVRkJSU3hEUVVGRExFTkJRVU03VVVGRmJrTXNUVUZCVFN4WFFVRlhMRWRCUVVjc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVVXhReXhKUVVGSkxFOUJRVThzUTBGQlF5eFhRVUZYTEVsQlFVa3NTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhIUVVGSExFTkJRVU1zVjBGQlZ5eERRVUZETEVWQlFVVXNRMEZCUXp0WlFVTjRSQ3hOUVVGTkxFbEJRVWtzWVVGQllTeERRVUZETEhkQ1FVRjNRaXhIUVVGSExFVkJRVVVzUTBGQlF5eERRVUZETzFGQlEzcEVMRU5CUVVNN1VVRkZSQ3hOUVVGTkxFMUJRVTBzUjBGQlJ5eE5RVUZOTEdWQlFXVXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRSUVVNMVF5eE5RVUZOTEUxQlFVMHNSMEZCUnl4TlFVRk5MR0ZCUVdFc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dFJRVVV6UXl4SlFVRkpMRTlCUVU4c1EwRkJReXhqUVVGakxFbEJRVWtzVDBGQlR5eERRVUZETEdOQlFXTXNTMEZCU3l4TlFVRk5MRVZCUVVVc1EwRkJRenRaUVVOb1JTeE5RVUZOTEVsQlFVa3NaVUZCWlN4RFFVRkRMSGxDUVVGNVFpeEhRVUZITEVWQlFVVXNRMEZCUXl4RFFVRkRPMUZCUXpWRUxFTkJRVU03VVVGRlJDeE5RVUZOTEZGQlFWRXNSMEZCYVVJN1dVRkROMElzVjBGQlZ5eEZRVUZGTEU5QlFVOHNRMEZCUXl4WFFVRlhPMWxCUTJoRExHRkJRV0VzUlVGQlJTeE5RVUZOTEVOQlFVTXNUVUZCVFR0WlFVTTFRaXhOUVVGTk8xbEJRMDRzVFVGQlRTeEZRVUZGTEU5QlFVOHNRMEZCUXl4UlFVRlJPMU5CUTNwQ0xFTkJRVU03VVVGRlJpeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhYUVVGWExFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNUVUZCVFN4RlFVRkZMRkZCUVZFc1JVRkJSU3hEUVVGRExFTkJRVU03VVVGRk1VUXNUMEZCVHp0WlFVTk1MRWRCUVVjN1dVRkRTQ3hIUVVGSExFVkJRVVVzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRVZCUVVVc1VVRkJVU3hEUVVGRE8xbEJRelZDTEZGQlFWRXNSVUZCUlN4SlFVRkpMRU5CUVVNc1VVRkJVVHRaUVVOMlFpeFJRVUZSTEVWQlFVVXNTVUZCU1N4RFFVRkRMRkZCUVZFN1dVRkRka0lzVVVGQlVUdFRRVU5VTEVOQlFVTTdTVUZEU2l4RFFVRkRPMGxCUlVRc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGRFVDeEhRVUZaTEVWQlExb3NWVUZCTUVJc1JVRkJSU3hGUVVNMVFpeEhRVUZITEVsQlFUWkNPMUZCUldoRExFMUJRVTBzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RFFVRkRMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVWQlFVVXNTMEZCU3l4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOeVJTeEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMR2RDUVVGblFpeEhRVUZITEVWQlFVVXNRMEZCUXl4RFFVRkRPMUZCUlc1RExFMUJRVTBzVjBGQlZ5eEhRVUZITEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRE1VTXNUVUZCVFN4TFFVRkxMRWRCUVVjc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEhRVUZITEVOQlFVTXNWMEZCVnl4RFFVRkRMRU5CUVVNN1VVRkZNME1zU1VGQlNTeERRVUZETEV0QlFVc3NSVUZCUlN4RFFVRkRPMWxCUTFnc1RVRkJUU3hKUVVGSkxHRkJRV0VzUTBGQlF5eHRRa0ZCYlVJc1IwRkJSeXhGUVVGRkxFTkJRVU1zUTBGQlF6dFJRVU53UkN4RFFVRkRPMUZCUlVRc1NVRkJTU3hMUVVGTExFZEJRV01zUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXp0UlFVTnVReXhKUVVGSkxFOUJRVThzUTBGQlF5eExRVUZMTEVWQlFVVXNRMEZCUXp0WlFVTnNRaXhOUVVGTkxFdEJRVXNzUjBGQlJ5eFBRVUZQTEVOQlFVTXNTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJRenRaUVVOc1F5eE5RVUZOTEVkQlFVY3NSMEZCUnl4UFFVRlBMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTFCUVUwc1EwRkJRenRaUVVOd1JDeExRVUZMTEVkQlFVY3NTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJReXhSUVVGUkxFTkJRVU1zUzBGQlN5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUXpORExFTkJRVU03VVVGRlJDeFBRVUZQTzFsQlEwd3NSMEZCUnp0WlFVTklMRXRCUVVzc1JVRkJSU3hsUVVGbExFTkJRVU1zUzBGQlN5eERRVUZETzFsQlF6ZENMRWRCUVVjc1JVRkJSU3hKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVkQlFVY3NSVUZCUlN4UlFVRlJMRU5CUVVNN1dVRkROVUlzVVVGQlVTeEZRVUZGTEVsQlFVa3NRMEZCUXl4UlFVRlJPMWxCUTNaQ0xGRkJRVkVzUlVGQlJTeEpRVUZKTEVOQlFVTXNVVUZCVVR0WlFVTjJRaXhSUVVGUkxFVkJRVVVzUzBGQlN5eERRVUZETEZGQlFWRTdVMEZEZWtJc1EwRkJRenRKUVVOS0xFTkJRVU03U1VGRlJDeExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVTlFMRWRCUVZrc1JVRkRXaXhIUVVGSExFbEJRVFpDTzFGQlJXaERMRTFCUVUwc1JVRkJSU3hIUVVGSExFVkJRVVVzUjBGQlJ5eERRVUZETEUxQlFVMHNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhKUVVGSkxFVkJRVVVzUzBGQlN5eEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTnlSU3hIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETEdsQ1FVRnBRaXhIUVVGSExFVkJRVVVzUTBGQlF5eERRVUZETzFGQlEzQkRMRTlCUVU4c1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETzBsQlEyaEVMRU5CUVVNN1NVRkZSQ3hMUVVGTExFTkJRVU1zU1VGQlNTeERRVU5TTEVkQlFWa3NSVUZEV2l4SFFVRkhMRWxCUVRaQ08xRkJSV2hETEUxQlFVMHNSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhEUVVGRExFMUJRVTBzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRVZCUVVVc1RVRkJUU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVU4yUlN4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRExHbENRVUZwUWl4SFFVRkhMRVZCUVVVc1EwRkJReXhEUVVGRE8xRkJRM0JETEUxQlFVMHNTMEZCU3l4SFFVRkhMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU55UkN4SlFVRkpMRU5CUVVNc1MwRkJTeXhGUVVGRkxFTkJRVU03V1VGRFdDeE5RVUZOTEVsQlFVa3NZVUZCWVN4RFFVRkRMRzFDUVVGdFFpeEhRVUZITEVWQlFVVXNRMEZCUXl4RFFVRkRPMUZCUTNCRUxFTkJRVU03VVVGRFJDeFBRVUZQTEV0QlFVc3NRMEZCUXl4UlFVRlJMRU5CUVVNN1NVRkRlRUlzUTBGQlF6dEpRVVZFTEV0QlFVc3NRMEZCUXl4TlFVRk5MRU5CUTFZc1IwRkJXU3hGUVVOYUxFZEJRVWNzU1VGQk5rSTdVVUZGYUVNc1RVRkJUU3hGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVOQlFVTXNUVUZCVFN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUlVGQlJTeFJRVUZSTEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMUZCUXpORkxFZEJRVWNzUTBGQlF5eFBRVUZQTEVOQlFVTXNhVUpCUVdsQ0xFZEJRVWNzUlVGQlJTeERRVUZETEVOQlFVTTdVVUZEY0VNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETzBsQlF6VkRMRU5CUVVNN1NVRkZSQ3hMUVVGTExFTkJRVU1zU1VGQlNTeERRVU5TTEU5QlFXZENMRVZCUTJoQ0xFdEJRV01zUlVGRFpDeFZRVUV3UWl4RlFVRkZMRVZCUXpWQ0xFZEJRVWNzU1VGQk5rSTdVVUZGYUVNc1RVRkJUU3hGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVOQlFVTXNUVUZCVFN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUlVGQlJTeE5RVUZOTEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMUZCUTNaRkxFZEJRVWNzUTBGQlF5eFBRVUZQTEVOQlFVTXNaMEpCUVdkQ0xFOUJRVThzVDBGQlR5eExRVUZMTEVWQlFVVXNRMEZCUXl4RFFVRkRPMUZCUTI1RUxFMUJRVTBzVFVGQlRTeEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVNeFJDeEpRVUZKTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNN1dVRkRXaXhOUVVGTkxFbEJRVWtzWVVGQllTeERRVUZETEcxQ1FVRnRRaXhQUVVGUExFVkJRVVVzUTBGQlF5eERRVUZETzFGQlEzaEVMRU5CUVVNN1VVRkRSQ3hQUVVGUExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNTMEZCU3l4RlFVRkZMRTFCUVUwc1EwRkJReXhMUVVGTExFVkJRVVU3V1VGRGJrTXNSMEZCUnl4UFFVRlBPMWxCUTFZc1YwRkJWeXhGUVVGRkxFOUJRVThzUTBGQlF5eFhRVUZYTEVsQlFVa3NUVUZCVFN4RFFVRkRMRkZCUVZFc1EwRkJReXhYUVVGWE8xTkJRMmhGTEVOQlFVTXNRMEZCUXp0SlFVTk1MRU5CUVVNN1NVRkZSQ3hMUVVGTExFTkJRVU1zU1VGQlNTeERRVU5TTEZWQlFUSkNMRVZCUVVVc1JVRkROMElzUjBGQlJ5eEpRVUUyUWp0UlFVVm9ReXhOUVVGTkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEVkQlFVY3NRMEZCUXl4TlFVRk5MRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeEZRVUZGTEUxQlFVMHNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1VVRkRka1VzUjBGQlJ5eERRVUZETEU5QlFVOHNRMEZCUXl4bFFVRmxMRU5CUVVNc1EwRkJRenRSUVVVM1FpeE5RVUZOTEUxQlFVMHNSMEZCUnl4UFFVRlBMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRTlCUVU4c1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRPMUZCUTNSRkxFMUJRVTBzVDBGQlR5eEhRVUZITEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVWQlFVVXNRMEZCUXp0aFFVTXpReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNWVUZCVlN4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0aFFVTnlSQ3hKUVVGSkxFVkJRVVVzUTBGQlF6dFJRVVZXTEUxQlFVMHNTMEZCU3l4SFFVRkhMRTlCUVU4c1EwRkJReXhMUVVGTExFbEJRVWtzU1VGQlNTeERRVUZETzFGQlEzQkRMRTFCUVUwc1ZVRkJWU3hIUVVGSExFOUJRVThzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJReXhQUVVGUExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVNdlJDeE5RVUZOTEV0QlFVc3NSMEZCUnl4UFFVRlBMRU5CUVVNc1MwRkJTeXhEUVVGRExGVkJRVlVzUlVGQlJTeFZRVUZWTEVkQlFVY3NTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkROVVFzVFVGQlRTeFZRVUZWTEVkQlEyUXNWVUZCVlN4SFFVRkhMRXRCUVVzc1IwRkJSeXhQUVVGUExFTkJRVU1zVFVGQlRUdFpRVU5xUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRExGVkJRVlVzUjBGQlJ5eExRVUZMTEVOQlFVTTdXVUZETlVJc1EwRkJReXhEUVVGRExGTkJRVk1zUTBGQlF6dFJRVVZvUWl4UFFVRlBPMWxCUTB3c1MwRkJTeXhGUVVGRkxFdEJRVXNzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU03WjBKQlEzWkNMRWRCUVVjc1JVRkJSU3hEUVVGRE8yZENRVU5PTEZGQlFWRXNSVUZCUlN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4UlFVRlJPMkZCUTNaRExFTkJRVU1zUTBGQlF6dFpRVU5JTEUxQlFVMHNSVUZCUlN4VlFVRlZPMU5CUTI1Q0xFTkJRVU03U1VGRFNpeERRVUZETzBsQlJVUXNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkRVQ3hIUVVGWkxFVkJRMW9zVlVGQk1FSXNSVUZCUlN4RlFVTTFRaXhIUVVGSExFbEJRVFpDTzFGQlJXaERMRTFCUVUwc1JVRkJSU3hIUVVGSExFVkJRVVVzUjBGQlJ5eERRVUZETEUxQlFVMHNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhKUVVGSkxFVkJRVVVzUzBGQlN5eEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTnlSU3hIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETEhsQ1FVRjVRaXhIUVVGSExFVkJRVVVzUTBGQlF5eERRVUZETzFGQlF6VkRMRWxCUVVrc1QwRkJUeXhEUVVGRExGTkJRVk1zU1VGQlNTeFBRVUZQTEVOQlFVTXNVMEZCVXl4TFFVRkxMRXRCUVVzc1JVRkJSU3hEUVVGRE8xbEJRM0pFTEUxQlFVMHNTVUZCU1N4blFrRkJaMElzUTBGQlF5dzJRMEZCTmtNc1EwRkJReXhEUVVGRE8xRkJRelZGTEVOQlFVTTdVVUZEUkN4UFFVRlBPMWxCUTB3c1IwRkJSeXhGUVVGRkxFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RlFVRkZMRkZCUVZFc1EwRkJRenRaUVVNMVFpeE5RVUZOTEVWQlFVVXNTMEZCU3p0WlFVTmlMRk5CUVZNc1JVRkJSU3hKUVVGSkxFbEJRVWtzUTBGRGFrSXNTVUZCU1N4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETEdkQ1FVRm5RaXhKUVVGSkxFZEJRVWNzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZEZEVRN1UwRkRSaXhEUVVGRE8wbEJRMG9zUTBGQlF6dEpRVVZUTEZWQlFWVXNRMEZCUXl4TFFVRmpPMUZCUTJwRExFbEJRMFVzUzBGQlN5eFpRVUZaTEdGQlFXRTdXVUZET1VJc1MwRkJTeXhaUVVGWkxHRkJRV0U3V1VGRE9VSXNTMEZCU3l4WlFVRlpMR1ZCUVdVN1dVRkRhRU1zUzBGQlN5eFpRVUZaTEdGQlFXRXNSVUZET1VJc1EwRkJRenRaUVVORUxFOUJRVThzUzBGQll5eERRVUZETzFGQlEzaENMRU5CUVVNN1VVRkRSQ3hQUVVGUExFbEJRVWtzWVVGQllTeERRVU4wUWl4elFrRkJkVUlzUzBGQlpTeERRVUZETEU5QlFVOHNSVUZCUlN4RFFVTnFSQ3hEUVVGRE8wbEJRMG9zUTBGQlF6dERRVU5HTEVOQlFVRTdRVUYyVDFrc2MwSkJRWE5DTzBsQlJHeERMRTlCUVU4c1EwRkJReXhoUVVGaExFTkJRVU03UjBGRFZpeHpRa0ZCYzBJc1EwRjFUMnhESWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5b3FYRzRnS2lCQWJXOWtkV3hsSUdsdWRHVm5jbUYwYVc5dWN5OWliRzlpTDIxbGJXOXllUzl6WlhKMmFXTmxYRzRnS2lCQWMzVnRiV0Z5ZVNCSmJpMXRaVzF2Y25rZ1lteHZZaUJ6ZEc5eVpTQnpaWEoyYVdObExseHVJQ29nUUdSbGMyTnlhWEIwYVc5dUlGQnliMk5sYzNNdGJHOWpZV3dnVFdGd0xXSmhZMnRsWkNCaWJHOWlJSE4wYjNKbElHWnZjaUIwWlhOMGN5QmhibVFnWlhoaGJYQnNaWE11SUU1dklGTkVTeUJrWlhCbGJtUmxibU41TGx4dUlDb3ZYRzVwYlhCdmNuUWdleUIwZVhCbElFTnZiblJsZUhSMVlXeEJjbWR6TENCMGVYQmxJRTFoZVdKbFEyOXVkR1Y0ZEhWaGJFRnlaeXdnYzJWeWRtbGpaU3dnVlc1emRYQndiM0owWldSRmNuSnZjaUI5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12WTI5eVpWd2lPMXh1YVcxd2IzSjBJSHRjYmlBZ1EyOXVabXhwWTNSRmNuSnZjaXhjYmlBZ1NXNTBaWEp1WVd4RmNuSnZjaXhjYmlBZ1RtOTBSbTkxYm1SRmNuSnZjaXhjYmlBZ1ZtRnNhV1JoZEdsdmJrVnljbTl5TEZ4dWZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwyUmlMV1JsWTI5eVlYUnZjbk5jSWp0Y2JtbHRjRzl5ZENCN0lHTnZiR3hsWTNSVWIwSjFabVpsY2l3Z1kyOXRjSFYwWlZOb1lUSTFOaXdnZEc5QmMzbHVZMGwwWlhKaFlteGxJSDBnWm5KdmJTQmNJaTR1TDJOdmNtVXZRbXh2WWxaaGJIVmxYQ0k3WEc1cGJYQnZjblFnZXlCQ2JHOWlVM1J2Y21WVFpYSjJhV05sSUgwZ1puSnZiU0JjSWk0dUwyTnZjbVV2UW14dllsTjBiM0psVTJWeWRtbGpaVndpTzF4dWFXMXdiM0owSUhzZ1RXVnRiM0o1UW14dllrVnVkbWx5YjI1dFpXNTBJSDBnWm5KdmJTQmNJaTR2VFdWdGIzSjVRbXh2WWtWdWRtbHliMjV0Wlc1MFhDSTdYRzVwYlhCdmNuUWdleUJsYm5aVGRISnBibWNnZlNCbWNtOXRJRndpTGk0dkxpNHZjMmhoY21Wa0wyVnVkbWx5YjI1dFpXNTBWbUZzZFdWY0lqdGNibWx0Y0c5eWRDQjBlWEJsSUh0Y2JpQWdRbXh2WWtkbGRFOXdkR2x2Ym5Nc1hHNGdJRUpzYjJKSFpYUlNaWE4xYkhRc1hHNGdJRUpzYjJKTFpYa3NYRzRnSUVKc2IySk1hWE4wVDNCMGFXOXVjeXhjYmlBZ1FteHZZa3hwYzNSU1pYTjFiSFFzWEc0Z0lFSnNiMkpOWlhSaFpHRjBZU3hjYmlBZ1FteHZZbEIxZEU5d2RHbHZibk1zWEc0Z0lFSnNiMkpRZFhSU1pYTjFiSFFzWEc0Z0lFSnNiMkpUZEc5eVpWTmxjblpwWTJWRGIyNW1hV2NzWEc0Z0lFSnNiMkpWY214UGNIUnBiMjV6TEZ4dUlDQkNiRzlpVlhKc1VtVnpkV3gwTEZ4dUlDQkNiRzlpVm1Gc2RXVXNYRzU5SUdaeWIyMGdYQ0l1TGk5amIzSmxMMEpzYjJKVWVYQmxjMXdpTzF4dVhHNXBiblJsY21aaFkyVWdUV1Z0YjNKNVJXNTBjbmtnZTF4dUlDQjJZV3gxWlRvZ1FuVm1abVZ5TzF4dUlDQnRaWFJoWkdGMFlUb2dRbXh2WWsxbGRHRmtZWFJoTzF4dWZWeHVYRzR2S2lwY2JpQXFJRUJrWlhOamNtbHdkR2x2YmlCSmJpMXRaVzF2Y25rZ1lteHZZaUJ6ZEc5eVpTQnpaWEoyYVdObElISmxaMmx6ZEdWeVpXUWdZWE1nWUdKc2IySXRiV1Z0YjNKNVlGeHVJQ29nUUhOMWJXMWhjbmtnVTNSdmNtVnpJR0pzYjJKeklHbHVJR0VnY0hKdlkyVnpjeTFzYjJOaGJDQmdUV0Z3WUN3Z2MyOGdaR0YwWVNCa2IyVnpJRzV2ZENCemRYSjJhWFpsWEc0Z0tpQnlaWE4wWVhKMGN5NGdTVzUwWlc1a1pXUWdabTl5SUhSbGMzUnpJR0Z1WkNCbGVHRnRjR3hsY3pzZ2MzVndjRzl5ZEhNZ2RHaGxJR1oxYkd3Z1lteHZZaUJEVWxWRUlFRlFTVnh1SUNvZ2QybDBhRzkxZENCaGJua2dVMFJMSUdSbGNHVnVaR1Z1WTNrdVhHNGdLaUJBWTJ4aGMzTWdUV1Z0YjNKNVFteHZZbE4wYjNKbFUyVnlkbWxqWlZ4dUlDb2dRRzFsYldKbGNrOW1JRzF2WkhWc1pUcHBiblJsWjNKaGRHbHZibk12WW14dllpOXRaVzF2Y25rdmMyVnlkbWxqWlZ4dUlDb3ZYRzVBYzJWeWRtbGpaU2hjSW1Kc2IySXRiV1Z0YjNKNVhDSXBYRzVsZUhCdmNuUWdZMnhoYzNNZ1RXVnRiM0o1UW14dllsTjBiM0psVTJWeWRtbGpaU0JsZUhSbGJtUnpJRUpzYjJKVGRHOXlaVk5sY25acFkyVThYRzRnSUUxaGNEeHpkSEpwYm1jc0lFMWxiVzl5ZVVWdWRISjVQaXhjYmlBZ1FteHZZbE4wYjNKbFUyVnlkbWxqWlVOdmJtWnBaMXh1UGlCN1hHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI0Z1FuVnBiR1J6SUhSb1pTQnRaVzF2Y25rZ1lteHZZaUJqYjI1bWFXY2dabkp2YlNCMGFHVWdaVzUyYVhKdmJtMWxiblJjYmlBZ0lDb2dRSE4xYlcxaGNua2dVbVZoWkhNZ2RHaGxJR0JpYkc5aWN5NXRaVzF2Y25sZ0lHVnVkbWx5YjI1dFpXNTBJSE5zYVdObE95QmpiMjV6YVdSbGNtVmtYRzRnSUNBcUlIVnVZMjl1Wm1sbmRYSmxaQ0IzYUdWdUlHNXZJR0J6YjNWeVkyVkpaR0FnYVhNZ2MyVjBMQ0IzYUdsamFDQnJaV1Z3Y3lCMGFHVWdZWFYwYnkxaWIyOTBYRzRnSUNBcUlHWmhiR3hpWVdOcklDaHpaV1VnWUdkbGRFTnZibVpwWjBaeWIyMUJjbWR6WUNrZ2NtVnpiMngyYVc1bklIUnZJR0IxYm1SbFptbHVaV1JnTGx4dUlDQWdLaUJBY21WMGRYSnVJSHRDYkc5aVUzUnZjbVZUWlhKMmFXTmxRMjl1Wm1sbklId2dkVzVrWldacGJtVmtmU0JVYUdVZ1pXNTJhWEp2Ym0xbGJuUXRaR1Z5YVhabFpDQmpiMjVtYVdjc0lHOXlJR0IxYm1SbFptbHVaV1JnSUhkb1pXNGdkVzVqYjI1bWFXZDFjbVZrWEc0Z0lDQXFMMXh1SUNCd2NtOTBaV04wWldRZ2IzWmxjbkpwWkdVZ1kyOXVabWxuUm5KdmJVVnVkbWx5YjI1dFpXNTBLQ2s2SUVKc2IySlRkRzl5WlZObGNuWnBZMlZEYjI1bWFXY2dmQ0IxYm1SbFptbHVaV1FnZTF4dUlDQWdJR052Ym5OMElHVnVkaUE5SUUxbGJXOXllVUpzYjJKRmJuWnBjbTl1YldWdWRDNWliRzlpY3k1dFpXMXZjbms3WEc0Z0lDQWdZMjl1YzNRZ2MyOTFjbU5sU1dRZ1BTQmxiblpUZEhKcGJtY29aVzUyUHk1emIzVnlZMlZKWkNrN1hHNGdJQ0FnYVdZZ0tDRnpiM1Z5WTJWSlpDa2djbVYwZFhKdUlIVnVaR1ZtYVc1bFpEdGNiaUFnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnY0hKdmRtbGtaWEk2SUZ3aWJXVnRiM0o1WENJc1hHNGdJQ0FnSUNCemIzVnlZMlZKWkN4Y2JpQWdJQ0FnSUhCeVpXWnBlRG9nWlc1MlUzUnlhVzVuS0dWdWRpNXdjbVZtYVhncExGeHVJQ0FnSUgwN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1SUVsdWFYUnBZV3hwZW1WeklIUm9aU0JwYmkxdFpXMXZjbmtnWW14dllpQnpkRzl5WlNCamJHbGxiblJjYmlBZ0lDb2dRSE4xYlcxaGNua2dVbVZ6YjJ4MlpYTWdkR2hsSUdOdmJtWnBaeUIyYVdFZ1lHZGxkRU52Ym1acFowWnliMjFCY21kellDQW9aWGh3YkdsamFYUWdZMjl1Wm1sbkxGeHVJQ0FnS2lCMGFHVnVJSFJvWlNCZ1lteHZZbk11YldWdGIzSjVZQ0JsYm5acGNtOXViV1Z1ZENCemJHbGpaU2t1SUZkb1pXNGdibThnWTI5dVptbG5JSEpsYzI5c2RtVnpJR1IxY21sdVoxeHVJQ0FnS2lCaElHTnZiblJsZUhRdFltVmhjbWx1WnlCaGRYUnZMV0p2YjNRZ2IyWWdZVzRnZFc1amIyNW1hV2QxY21Wa0lIQnliM1pwWkdWeUxDQnlaWFIxY201elhHNGdJQ0FxSUdCemEybHdTVzVwZEdsaGJHbDZZWFJwYjI0b0tXQWdjMjhnWUZObGNuWnBZMlV1WW05dmRHQWdaRzlsY3lCdWIzUWdkR2h5YjNjN0lHRnVJR1Y0Y0d4cFkybDBYRzRnSUNBcUlHQnBibWwwYVdGc2FYcGxLQ2xnSUhkcGRHZ2dibThnY21WemIyeDJZV0pzWlNCamIyNW1hV2NnYzNScGJHd2dkR2h5YjNkeklHRmNiaUFnSUNvZ1lGWmhiR2xrWVhScGIyNUZjbkp2Y21BdUlFOXVJSE4xWTJObGMzTXNJSE4wYjNKbGN5QjBhR1VnWTI5dVptbG5JR0Z1WkNCamNtVmhkR1Z6SUhSb1pTQmlZV05yYVc1blhHNGdJQ0FxSUdCTllYQmdJR05zYVdWdWRDNWNiaUFnSUNvZ1FIQmhjbUZ0SUhzdUxpNURiMjUwWlhoMGRXRnNRWEpuY3p4aGJuaytmU0JoY21keklDMGdRVzRnYjNCMGFXOXVZV3dnWUVKc2IySlRkRzl5WlZObGNuWnBZMlZEYjI1bWFXZGdMQ0J2Y0hScGIyNWhiR3g1SUdadmJHeHZkMlZrSUdKNUlHRWdaR1ZqWVdZZ1lFTnZiblJsZUhSZ1hHNGdJQ0FxSUVCeVpYUjFjbTRnZTFCeWIyMXBjMlU4ZTJOdmJtWnBaem9nUW14dllsTjBiM0psVTJWeWRtbGpaVU52Ym1acFp5d2dZMnhwWlc1ME9pQk5ZWEE4YzNSeWFXNW5MQ0JOWlcxdmNubEZiblJ5ZVQ1OVBuMGdWR2hsSUhKbGMyOXNkbVZrSUdOdmJtWnBaeUJoYm1RZ2RHaGxJR2x1TFcxbGJXOXllU0JqYkdsbGJuUmNiaUFnSUNvdlhHNGdJRzkyWlhKeWFXUmxJR0Z6ZVc1aklHbHVhWFJwWVd4cGVtVW9YRzRnSUNBZ0xpNHVZWEpuY3pvZ1EyOXVkR1Y0ZEhWaGJFRnlaM004WVc1NVBseHVJQ0FwT2lCUWNtOXRhWE5sUEh0Y2JpQWdJQ0JqYjI1bWFXYzZJRUpzYjJKVGRHOXlaVk5sY25acFkyVkRiMjVtYVdjN1hHNGdJQ0FnWTJ4cFpXNTBPaUJOWVhBOGMzUnlhVzVuTENCTlpXMXZjbmxGYm5SeWVUNDdYRzRnSUgwK0lIdGNiaUFnSUNCamIyNXpkQ0JqYjI1bWFXY2dQU0IwYUdsekxtZGxkRU52Ym1acFowWnliMjFCY21kelBFSnNiMkpUZEc5eVpWTmxjblpwWTJWRGIyNW1hV2MrS0M0dUxtRnlaM01wTzF4dUlDQWdJR2xtSUNnaFkyOXVabWxuS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXphMmx3U1c1cGRHbGhiR2w2WVhScGIyNG9LU0JoY3lCdVpYWmxjanRjYmlBZ0lDQjlYRzRnSUNBZ2RHaHBjeTVmWTI5dVptbG5JRDBnWTI5dVptbG5PMXh1SUNBZ0lIUm9hWE11WDJOc2FXVnVkQ0E5SUc1bGR5Qk5ZWEE4YzNSeWFXNW5MQ0JOWlcxdmNubEZiblJ5ZVQ0b0tUdGNiaUFnSUNCeVpYUjFjbTRnZXlCamIyNW1hV2NzSUdOc2FXVnVkRG9nZEdocGN5NWZZMnhwWlc1MElIMDdYRzRnSUgxY2JseHVJQ0JoYzNsdVl5QndkWFFvWEc0Z0lDQWdhMlY1T2lCQ2JHOWlTMlY1TEZ4dUlDQWdJSFpoYkhWbE9pQkNiRzlpVm1Gc2RXVXNYRzRnSUNBZ2IzQjBhVzl1Y3pvZ1FteHZZbEIxZEU5d2RHbHZibk1nUFNCN2ZTeGNiaUFnSUNBdUxpNWhjbWR6T2lCTllYbGlaVU52Ym5SbGVIUjFZV3hCY21jOFlXNTVQbHh1SUNBcE9pQlFjbTl0YVhObFBFSnNiMkpRZFhSU1pYTjFiSFErSUh0Y2JpQWdJQ0JqYjI1emRDQjdJR3h2WnlCOUlEMGdLR0YzWVdsMElIUm9hWE11Ykc5blEzUjRLR0Z5WjNNc0lGd2ljSFYwWENJc0lIUnlkV1VwS1M1bWIzSW9kR2hwY3k1d2RYUXBPMXh1SUNBZ0lHeHZaeTUyWlhKaWIzTmxLR0JRZFhSMGFXNW5JR0pzYjJJZ0pIdHJaWGw5WUNrN1hHNWNiaUFnSUNCamIyNXpkQ0J3YUhsemFXTmhiRXRsZVNBOUlIUm9hWE11Y0doNWMybGpZV3hMWlhrb2EyVjVLVHRjYmx4dUlDQWdJR2xtSUNodmNIUnBiMjV6TG1sbVRtOTBSWGhwYzNSeklDWW1JSFJvYVhNdVkyeHBaVzUwTG1oaGN5aHdhSGx6YVdOaGJFdGxlU2twSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRGIyNW1iR2xqZEVWeWNtOXlLR0JDYkc5aUlHRnNjbVZoWkhrZ1pYaHBjM1J6T2lBa2UydGxlWDFnS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjI1emRDQmlkV1ptWlhJZ1BTQmhkMkZwZENCamIyeHNaV04wVkc5Q2RXWm1aWElvZG1Gc2RXVXBPMXh1SUNBZ0lHTnZibk4wSUhOb1lUSTFOaUE5SUdGM1lXbDBJR052YlhCMWRHVlRhR0V5TlRZb1luVm1abVZ5S1R0Y2JseHVJQ0FnSUdsbUlDaHZjSFJwYjI1ekxtVjRjR1ZqZEdWa1UyaGhNalUySUNZbUlHOXdkR2x2Ym5NdVpYaHdaV04wWldSVGFHRXlOVFlnSVQwOUlITm9ZVEkxTmlrZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lGWmhiR2xrWVhScGIyNUZjbkp2Y2loZ1EyaGxZMnR6ZFcwZ2JXbHpiV0YwWTJnZ1ptOXlJQ1I3YTJWNWZXQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUcxbGRHRmtZWFJoT2lCQ2JHOWlUV1YwWVdSaGRHRWdQU0I3WEc0Z0lDQWdJQ0JqYjI1MFpXNTBWSGx3WlRvZ2IzQjBhVzl1Y3k1amIyNTBaVzUwVkhsd1pTeGNiaUFnSUNBZ0lHTnZiblJsYm5STVpXNW5kR2c2SUdKMVptWmxjaTVzWlc1bmRHZ3NYRzRnSUNBZ0lDQnphR0V5TlRZc1hHNGdJQ0FnSUNCamRYTjBiMjA2SUc5d2RHbHZibk11YldWMFlXUmhkR0VzWEc0Z0lDQWdmVHRjYmx4dUlDQWdJSFJvYVhNdVkyeHBaVzUwTG5ObGRDaHdhSGx6YVdOaGJFdGxlU3dnZXlCMllXeDFaVG9nWW5WbVptVnlMQ0J0WlhSaFpHRjBZU0I5S1R0Y2JseHVJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0JyWlhrc1hHNGdJQ0FnSUNCMWNtazZJSFJvYVhNdWRYSnBLR3RsZVN3Z1hDSnRaVzF2Y25sY0lpa3NYRzRnSUNBZ0lDQndjbTkyYVdSbGNqb2dkR2hwY3k1d2NtOTJhV1JsY2l4Y2JpQWdJQ0FnSUhOdmRYSmpaVWxrT2lCMGFHbHpMbk52ZFhKalpVbGtMRnh1SUNBZ0lDQWdiV1YwWVdSaGRHRXNYRzRnSUNBZ2ZUdGNiaUFnZlZ4dVhHNGdJR0Z6ZVc1aklHZGxkQ2hjYmlBZ0lDQnJaWGs2SUVKc2IySkxaWGtzWEc0Z0lDQWdiM0IwYVc5dWN6b2dRbXh2WWtkbGRFOXdkR2x2Ym5NZ1BTQjdmU3hjYmlBZ0lDQXVMaTVoY21kek9pQk5ZWGxpWlVOdmJuUmxlSFIxWVd4QmNtYzhZVzU1UGx4dUlDQXBPaUJRY205dGFYTmxQRUpzYjJKSFpYUlNaWE4xYkhRK0lIdGNiaUFnSUNCamIyNXpkQ0I3SUd4dlp5QjlJRDBnS0dGM1lXbDBJSFJvYVhNdWJHOW5RM1I0S0dGeVozTXNJRndpWjJWMFhDSXNJSFJ5ZFdVcEtTNW1iM0lvZEdocGN5NW5aWFFwTzF4dUlDQWdJR3h2Wnk1MlpYSmliM05sS0dCSFpYUjBhVzVuSUdKc2IySWdKSHRyWlhsOVlDazdYRzVjYmlBZ0lDQmpiMjV6ZENCd2FIbHphV05oYkV0bGVTQTlJSFJvYVhNdWNHaDVjMmxqWVd4TFpYa29hMlY1S1R0Y2JpQWdJQ0JqYjI1emRDQmxiblJ5ZVNBOUlIUm9hWE11WTJ4cFpXNTBMbWRsZENod2FIbHphV05oYkV0bGVTazdYRzVjYmlBZ0lDQnBaaUFvSVdWdWRISjVLU0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnVG05MFJtOTFibVJGY25KdmNpaGdRbXh2WWlCdWIzUWdabTkxYm1RNklDUjdhMlY1ZldBcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUd4bGRDQjJZV3gxWlRvZ1FteHZZbFpoYkhWbElEMGdaVzUwY25rdWRtRnNkV1U3WEc0Z0lDQWdhV1lnS0c5d2RHbHZibk11Y21GdVoyVXBJSHRjYmlBZ0lDQWdJR052Ym5OMElITjBZWEowSUQwZ2IzQjBhVzl1Y3k1eVlXNW5aUzV6ZEdGeWREdGNiaUFnSUNBZ0lHTnZibk4wSUdWdVpDQTlJRzl3ZEdsdmJuTXVjbUZ1WjJVdVpXNWtJRDgvSUdWdWRISjVMblpoYkhWbExteGxibWQwYUR0Y2JpQWdJQ0FnSUhaaGJIVmxJRDBnWlc1MGNua3VkbUZzZFdVdWMzVmlZWEp5WVhrb2MzUmhjblFzSUdWdVpDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUd0bGVTeGNiaUFnSUNBZ0lIWmhiSFZsT2lCMGIwRnplVzVqU1hSbGNtRmliR1VvZG1Gc2RXVXBMRnh1SUNBZ0lDQWdkWEpwT2lCMGFHbHpMblZ5YVNoclpYa3NJRndpYldWdGIzSjVYQ0lwTEZ4dUlDQWdJQ0FnY0hKdmRtbGtaWEk2SUhSb2FYTXVjSEp2ZG1sa1pYSXNYRzRnSUNBZ0lDQnpiM1Z5WTJWSlpEb2dkR2hwY3k1emIzVnlZMlZKWkN4Y2JpQWdJQ0FnSUcxbGRHRmtZWFJoT2lCbGJuUnllUzV0WlhSaFpHRjBZU3hjYmlBZ0lDQjlPMXh1SUNCOVhHNWNiaUFnWVhONWJtTWdhR0Z6S0Z4dUlDQWdJR3RsZVRvZ1FteHZZa3RsZVN4Y2JpQWdJQ0F1TGk1aGNtZHpPaUJOWVhsaVpVTnZiblJsZUhSMVlXeEJjbWM4WVc1NVBseHVJQ0FwT2lCUWNtOXRhWE5sUEdKdmIyeGxZVzQrSUh0Y2JpQWdJQ0JqYjI1emRDQjdJR3h2WnlCOUlEMGdLR0YzWVdsMElIUm9hWE11Ykc5blEzUjRLR0Z5WjNNc0lGd2lhR0Z6WENJc0lIUnlkV1VwS1M1bWIzSW9kR2hwY3k1b1lYTXBPMXh1SUNBZ0lHeHZaeTUyWlhKaWIzTmxLR0JEYUdWamEybHVaeUJpYkc5aUlDUjdhMlY1ZldBcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnNhV1Z1ZEM1b1lYTW9kR2hwY3k1d2FIbHphV05oYkV0bGVTaHJaWGtwS1R0Y2JpQWdmVnh1WEc0Z0lHRnplVzVqSUhOMFlYUW9YRzRnSUNBZ2EyVjVPaUJDYkc5aVMyVjVMRnh1SUNBZ0lDNHVMbUZ5WjNNNklFMWhlV0psUTI5dWRHVjRkSFZoYkVGeVp6eGhibmsrWEc0Z0lDazZJRkJ5YjIxcGMyVThRbXh2WWsxbGRHRmtZWFJoUGlCN1hHNGdJQ0FnWTI5dWMzUWdleUJzYjJjZ2ZTQTlJQ2hoZDJGcGRDQjBhR2x6TG14dlowTjBlQ2hoY21kekxDQmNJbk4wWVhSY0lpd2dkSEoxWlNrcExtWnZjaWgwYUdsekxuTjBZWFFwTzF4dUlDQWdJR3h2Wnk1MlpYSmliM05sS0dCVGRHRjBkR2x1WnlCaWJHOWlJQ1I3YTJWNWZXQXBPMXh1SUNBZ0lHTnZibk4wSUdWdWRISjVJRDBnZEdocGN5NWpiR2xsYm5RdVoyVjBLSFJvYVhNdWNHaDVjMmxqWVd4TFpYa29hMlY1S1NrN1hHNGdJQ0FnYVdZZ0tDRmxiblJ5ZVNrZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFNXZkRVp2ZFc1a1JYSnliM0lvWUVKc2IySWdibTkwSUdadmRXNWtPaUFrZTJ0bGVYMWdLVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUdWdWRISjVMbTFsZEdGa1lYUmhPMXh1SUNCOVhHNWNiaUFnWVhONWJtTWdaR1ZzWlhSbEtGeHVJQ0FnSUd0bGVUb2dRbXh2WWt0bGVTeGNiaUFnSUNBdUxpNWhjbWR6T2lCTllYbGlaVU52Ym5SbGVIUjFZV3hCY21jOFlXNTVQbHh1SUNBcE9pQlFjbTl0YVhObFBIWnZhV1ErSUh0Y2JpQWdJQ0JqYjI1emRDQjdJR3h2WnlCOUlEMGdLR0YzWVdsMElIUm9hWE11Ykc5blEzUjRLR0Z5WjNNc0lGd2laR1ZzWlhSbFhDSXNJSFJ5ZFdVcEtTNW1iM0lvZEdocGN5NWtaV3hsZEdVcE8xeHVJQ0FnSUd4dlp5NTJaWEppYjNObEtHQkVaV3hsZEdsdVp5QmliRzlpSUNSN2EyVjVmV0FwTzF4dUlDQWdJSFJvYVhNdVkyeHBaVzUwTG1SbGJHVjBaU2gwYUdsekxuQm9lWE5wWTJGc1MyVjVLR3RsZVNrcE8xeHVJQ0I5WEc1Y2JpQWdZWE41Ym1NZ1kyOXdlU2hjYmlBZ0lDQm1jbTl0UzJWNU9pQkNiRzlpUzJWNUxGeHVJQ0FnSUhSdlMyVjVPaUJDYkc5aVMyVjVMRnh1SUNBZ0lHOXdkR2x2Ym5NNklFSnNiMkpRZFhSUGNIUnBiMjV6SUQwZ2UzMHNYRzRnSUNBZ0xpNHVZWEpuY3pvZ1RXRjVZbVZEYjI1MFpYaDBkV0ZzUVhKblBHRnVlVDVjYmlBZ0tUb2dVSEp2YldselpUeENiRzlpVUhWMFVtVnpkV3gwUGlCN1hHNGdJQ0FnWTI5dWMzUWdleUJzYjJjZ2ZTQTlJQ2hoZDJGcGRDQjBhR2x6TG14dlowTjBlQ2hoY21kekxDQmNJbU52Y0hsY0lpd2dkSEoxWlNrcExtWnZjaWgwYUdsekxtTnZjSGtwTzF4dUlDQWdJR3h2Wnk1MlpYSmliM05sS0dCRGIzQjVhVzVuSUdKc2IySWdKSHRtY205dFMyVjVmU0IwYnlBa2UzUnZTMlY1ZldBcE8xeHVJQ0FnSUdOdmJuTjBJSE52ZFhKalpTQTlJSFJvYVhNdVkyeHBaVzUwTG1kbGRDaDBhR2x6TG5Cb2VYTnBZMkZzUzJWNUtHWnliMjFMWlhrcEtUdGNiaUFnSUNCcFppQW9JWE52ZFhKalpTa2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRTV2ZEVadmRXNWtSWEp5YjNJb1lFSnNiMklnYm05MElHWnZkVzVrT2lBa2UyWnliMjFMWlhsOVlDazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuQjFkQ2gwYjB0bGVTd2djMjkxY21ObExuWmhiSFZsTENCN1hHNGdJQ0FnSUNBdUxpNXZjSFJwYjI1ekxGeHVJQ0FnSUNBZ1kyOXVkR1Z1ZEZSNWNHVTZJRzl3ZEdsdmJuTXVZMjl1ZEdWdWRGUjVjR1VnUHo4Z2MyOTFjbU5sTG0xbGRHRmtZWFJoTG1OdmJuUmxiblJVZVhCbExGeHVJQ0FnSUgwcE8xeHVJQ0I5WEc1Y2JpQWdZWE41Ym1NZ2JHbHpkQ2hjYmlBZ0lDQnZjSFJwYjI1ek9pQkNiRzlpVEdsemRFOXdkR2x2Ym5NZ1BTQjdmU3hjYmlBZ0lDQXVMaTVoY21kek9pQk5ZWGxpWlVOdmJuUmxlSFIxWVd4QmNtYzhZVzU1UGx4dUlDQXBPaUJRY205dGFYTmxQRUpzYjJKTWFYTjBVbVZ6ZFd4MFBpQjdYRzRnSUNBZ1kyOXVjM1FnZXlCc2IyY2dmU0E5SUNoaGQyRnBkQ0IwYUdsekxteHZaME4wZUNoaGNtZHpMQ0JjSW14cGMzUmNJaXdnZEhKMVpTa3BMbVp2Y2loMGFHbHpMbXhwYzNRcE8xeHVJQ0FnSUd4dlp5NTJaWEppYjNObEtGd2lUR2x6ZEdsdVp5QmliRzlpYzF3aUtUdGNibHh1SUNBZ0lHTnZibk4wSUhCeVpXWnBlQ0E5SUc5d2RHbHZibk11Y0hKbFptbDRJRDhnZEdocGN5NXdhSGx6YVdOaGJFdGxlU2h2Y0hScGIyNXpMbkJ5WldacGVDa2dPaUJjSWx3aU8xeHVJQ0FnSUdOdmJuTjBJR0ZzYkV0bGVYTWdQU0JCY25KaGVTNW1jbTl0S0hSb2FYTXVZMnhwWlc1MExtdGxlWE1vS1NsY2JpQWdJQ0FnSUM1bWFXeDBaWElvS0dzcElEMCtJQ2h3Y21WbWFYZ2dQeUJyTG5OMFlYSjBjMWRwZEdnb2NISmxabWw0S1NBNklIUnlkV1VwS1Z4dUlDQWdJQ0FnTG5OdmNuUW9LVHRjYmx4dUlDQWdJR052Ym5OMElHeHBiV2wwSUQwZ2IzQjBhVzl1Y3k1c2FXMXBkQ0EvUHlBeE1EQXdPMXh1SUNBZ0lHTnZibk4wSUhOMFlYSjBTVzVrWlhnZ1BTQnZjSFJwYjI1ekxtTjFjbk52Y2lBL0lFNTFiV0psY2lodmNIUnBiMjV6TG1OMWNuTnZjaWtnT2lBd08xeHVJQ0FnSUdOdmJuTjBJSE5zYVdObElEMGdZV3hzUzJWNWN5NXpiR2xqWlNoemRHRnlkRWx1WkdWNExDQnpkR0Z5ZEVsdVpHVjRJQ3NnYkdsdGFYUXBPMXh1SUNBZ0lHTnZibk4wSUc1bGVIUkRkWEp6YjNJZ1BWeHVJQ0FnSUNBZ2MzUmhjblJKYm1SbGVDQXJJR3hwYldsMElEd2dZV3hzUzJWNWN5NXNaVzVuZEdoY2JpQWdJQ0FnSUNBZ1B5QlRkSEpwYm1jb2MzUmhjblJKYm1SbGVDQXJJR3hwYldsMEtWeHVJQ0FnSUNBZ0lDQTZJSFZ1WkdWbWFXNWxaRHRjYmx4dUlDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQnBkR1Z0Y3pvZ2MyeHBZMlV1YldGd0tDaHJLU0E5UGlBb2UxeHVJQ0FnSUNBZ0lDQnJaWGs2SUdzc1hHNGdJQ0FnSUNBZ0lHMWxkR0ZrWVhSaE9pQjBhR2x6TG1Oc2FXVnVkQzVuWlhRb2F5ay9MbTFsZEdGa1lYUmhMRnh1SUNBZ0lDQWdmU2twTEZ4dUlDQWdJQ0FnWTNWeWMyOXlPaUJ1WlhoMFEzVnljMjl5TEZ4dUlDQWdJSDA3WEc0Z0lIMWNibHh1SUNCaGMzbHVZeUIxY213b1hHNGdJQ0FnYTJWNU9pQkNiRzlpUzJWNUxGeHVJQ0FnSUc5d2RHbHZibk02SUVKc2IySlZjbXhQY0hScGIyNXpJRDBnZTMwc1hHNGdJQ0FnTGk0dVlYSm5jem9nVFdGNVltVkRiMjUwWlhoMGRXRnNRWEpuUEdGdWVUNWNiaUFnS1RvZ1VISnZiV2x6WlR4Q2JHOWlWWEpzVW1WemRXeDBQaUI3WEc0Z0lDQWdZMjl1YzNRZ2V5QnNiMmNnZlNBOUlDaGhkMkZwZENCMGFHbHpMbXh2WjBOMGVDaGhjbWR6TENCY0luVnliRndpTENCMGNuVmxLU2t1Wm05eUtIUm9hWE11ZFhKc0tUdGNiaUFnSUNCc2IyY3VkbVZ5WW05elpTaGdRblZwYkdScGJtY2dkWEpzSUdadmNpQmliRzlpSUNSN2EyVjVmV0FwTzF4dUlDQWdJR2xtSUNodmNIUnBiMjV6TG05d1pYSmhkR2x2YmlBbUppQnZjSFJwYjI1ekxtOXdaWEpoZEdsdmJpQWhQVDBnWENKblpYUmNJaWtnZTF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUZWdWMzVndjRzl5ZEdWa1JYSnliM0lvWENKTlpXMXZjbmtnWW14dllpQnpkRzl5WlNCa2IyVnpJRzV2ZENCemRYQndiM0owSUZCVlZDQjFjbXh6WENJcE8xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdkWEpzT2lCMGFHbHpMblZ5YVNoclpYa3NJRndpYldWdGIzSjVYQ0lwTEZ4dUlDQWdJQ0FnYldWMGFHOWtPaUJjSWtkRlZGd2lMRnh1SUNBZ0lDQWdaWGh3YVhKbGMwRjBPaUJ1WlhjZ1JHRjBaU2hjYmlBZ0lDQWdJQ0FnUkdGMFpTNXViM2NvS1NBcklDaHZjSFJwYjI1ekxtVjRjR2x5WlhOSmJsTmxZMjl1WkhNZ1B6OGdNekF3S1NBcUlERXdNREJjYmlBZ0lDQWdJQ2tzWEc0Z0lDQWdmVHRjYmlBZ2ZWeHVYRzRnSUhCeWIzUmxZM1JsWkNCd1lYSnpaVVZ5Y205eUtHVnljbTl5T2lCMWJtdHViM2R1S1RvZ1JYSnliM0lnZTF4dUlDQWdJR2xtSUNoY2JpQWdJQ0FnSUdWeWNtOXlJR2x1YzNSaGJtTmxiMllnVG05MFJtOTFibVJGY25KdmNpQjhmRnh1SUNBZ0lDQWdaWEp5YjNJZ2FXNXpkR0Z1WTJWdlppQkRiMjVtYkdsamRFVnljbTl5SUh4OFhHNGdJQ0FnSUNCbGNuSnZjaUJwYm5OMFlXNWpaVzltSUZaaGJHbGtZWFJwYjI1RmNuSnZjaUI4ZkZ4dUlDQWdJQ0FnWlhKeWIzSWdhVzV6ZEdGdVkyVnZaaUJKYm5SbGNtNWhiRVZ5Y205eVhHNGdJQ0FnS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWlhKeWIzSWdZWE1nUlhKeWIzSTdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ1WlhjZ1NXNTBaWEp1WVd4RmNuSnZjaWhjYmlBZ0lDQWdJR0JOWlcxdmNua2dZbXh2WWlCbGNuSnZjam9nSkhzb1pYSnliM0lnWVhNZ1JYSnliM0lwTG0xbGMzTmhaMlY5WUZ4dUlDQWdJQ2s3WEc0Z0lIMWNibjFjYmlKZGZRPT0iXX0=
|
|
201
|
+
//# sourceMappingURL=MemoryBlobStoreService.js.map
|
|
202
|
+
//# sourceMappingURL=MemoryBlobStoreService.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blob/memory/MemoryBlobStoreService.cjs","sourceRoot":"","sources":["blob/memory/MemoryBlobStoreService.js"],"names":[],"mappings":";;;AAAA,IAAI,UAAU,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;IACjF,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;QAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;QAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;gBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC,CAAC;AACF;;;;GAIG;AACH,yCAA2D;AAC3D,2DAAwG;AACxG,yDAAyF;AACzF,uEAAiE;AACjE,yEAAmE;AACnE,4EAA+D;AAC/D;;;;;;;GAOG;AACH,IAAI,sBAAsB,GAAG,MAAM,sBAAuB,SAAQ,sCAAgB;IAC9E;;;;;;OAMG;IACH,qBAAqB;QACjB,MAAM,GAAG,GAAG,gDAAqB,CAAC,KAAK,CAAC,MAAM,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAA,+BAAS,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ;YACT,OAAO,SAAS,CAAC;QACrB,OAAO;YACH,QAAQ,EAAE,QAAQ;YAClB,QAAQ;YACR,MAAM,EAAE,IAAA,+BAAS,EAAC,GAAG,CAAC,MAAM,CAAC;SAChC,CAAC;IACN,CAAC;IACD;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAC5C,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI;QACvC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrE,GAAG,CAAC,OAAO,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,6BAAa,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAe,EAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAa,EAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;YAC9D,MAAM,IAAI,+BAAe,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,QAAQ,GAAG;YACb,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,aAAa,EAAE,MAAM,CAAC,MAAM;YAC5B,MAAM;YACN,MAAM,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1D,OAAO;YACH,GAAG;YACH,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ;SACX,CAAC;IACN,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI;QAChC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrE,GAAG,CAAC,OAAO,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,6BAAa,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACxB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;YAClC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;YACpD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO;YACH,GAAG;YACH,KAAK,EAAE,IAAA,8BAAe,EAAC,KAAK,CAAC;YAC7B,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SAC3B,CAAC;IACN,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI;QAClB,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrE,GAAG,CAAC,OAAO,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;QACnB,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,GAAG,CAAC,OAAO,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,6BAAa,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,KAAK,CAAC,QAAQ,CAAC;IAC1B,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI;QACrB,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3E,GAAG,CAAC,OAAO,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI;QAC5C,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,GAAG,CAAC,OAAO,CAAC,gBAAgB,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,6BAAa,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;YACjC,GAAG,OAAO;YACV,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW;SAClE,CAAC,CAAC;IACP,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI;QAC5B,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;aACzC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACrD,IAAI,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;QACpC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,KAAK,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,UAAU,GAAG,KAAK,GAAG,OAAO,CAAC,MAAM;YAClD,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;YAC5B,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO;YACH,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrB,GAAG,EAAE,CAAC;gBACN,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ;aACzC,CAAC,CAAC;YACH,MAAM,EAAE,UAAU;SACrB,CAAC;IACN,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI;QAChC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrE,GAAG,CAAC,OAAO,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YACnD,MAAM,IAAI,uBAAgB,CAAC,6CAA6C,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO;YACH,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC;YAC5B,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,gBAAgB,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;SAC7E,CAAC;IACN,CAAC;IACD,UAAU,CAAC,KAAK;QACZ,IAAI,KAAK,YAAY,6BAAa;YAC9B,KAAK,YAAY,6BAAa;YAC9B,KAAK,YAAY,+BAAe;YAChC,KAAK,YAAY,6BAAa,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,6BAAa,CAAC,sBAAsB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;CACJ,CAAC;AAIO,wDAAsB;AAH/B,iCAAA,sBAAsB,GAAG,UAAU,CAAC;IAChC,IAAA,cAAO,EAAC,aAAa,CAAC;CACzB,EAAE,sBAAsB,CAAC,CAAC;AAE3B,kDAAkD"}
|
|
@@ -21,5 +21,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
21
21
|
*/
|
|
22
22
|
__exportStar(require("./MemoryBlobStoreService.cjs"), exports);
|
|
23
23
|
__exportStar(require("./MemoryBlobEnvironment.cjs"), exports);
|
|
24
|
-
//# sourceMappingURL=
|
|
25
|
-
//# sourceMappingURL=
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
25
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blob/memory/index.cjs","sourceRoot":"","sources":["blob/memory/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,8DAA4C;AAC5C,6DAA2C;AAC3C,iCAAiC"}
|
|
@@ -28,5 +28,5 @@ exports.MinioBlobEnvironment = BlobEnvironment_js_1.BlobEnvironment.accumulate({
|
|
|
28
28
|
},
|
|
29
29
|
},
|
|
30
30
|
});
|
|
31
|
-
//# sourceMappingURL=
|
|
32
|
-
//# sourceMappingURL=
|
|
31
|
+
//# sourceMappingURL=MinioBlobEnvironment.js.map
|
|
32
|
+
//# sourceMappingURL=MinioBlobEnvironment.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blob/s3/MinioBlobEnvironment.cjs","sourceRoot":"","sources":["blob/s3/MinioBlobEnvironment.js"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,qEAA+D;AAClD,QAAA,oBAAoB,GAAG,oCAAe,CAAC,UAAU,CAAC;IAC3D,KAAK,EAAE;QACH,KAAK,EAAE;YACH,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,EAAE;YACV,cAAc,EAAE,SAAS;YACzB,gBAAgB,EAAE,SAAS;YAC3B,UAAU,EAAE,SAAS;YACrB,WAAW,EAAE;gBACT,WAAW,EAAE,EAAE;gBACf,eAAe,EAAE,EAAE;gBACnB,YAAY,EAAE,EAAE;aACnB;SACJ;KACJ;CACJ,CAAC,CAAC;AACH,gDAAgD"}
|