From 68af4d556b6643593b02e0df6b876f826bc4224f Mon Sep 17 00:00:00 2001 From: Brian Fletcher Date: Mon, 14 Jun 2021 13:50:36 +0100 Subject: [PATCH 001/712] Add allowedInstallationIds list to each github app This allows a single instance of backstage to optionally limit the set of github app installations that may be used by backstage. Previously, if you had github app installations for tenant1 and tenant2 there was nothing stopping the first from accessing resources of the second. The default behaviour of the GithubCredentialsProvider remains the same. Signed-off-by: Brian Fletcher --- .changeset/ninety-worms-kick.md | 5 +++++ docs/plugins/github-apps.md | 20 +++++++++++++++++++ .../src/github/GithubCredentialsProvider.ts | 13 ++++++++++++ packages/integration/src/github/config.ts | 7 +++++++ 4 files changed, 45 insertions(+) create mode 100644 .changeset/ninety-worms-kick.md diff --git a/.changeset/ninety-worms-kick.md b/.changeset/ninety-worms-kick.md new file mode 100644 index 0000000000..5170dbbdce --- /dev/null +++ b/.changeset/ninety-worms-kick.md @@ -0,0 +1,5 @@ +--- +'@backstage/integration': patch +--- + +adds an allow list of github installations diff --git a/docs/plugins/github-apps.md b/docs/plugins/github-apps.md index 87d23b45d5..5e69ae8294 100644 --- a/docs/plugins/github-apps.md +++ b/docs/plugins/github-apps.md @@ -84,3 +84,23 @@ integrations: apps: - $include: example-backstage-app-credentials.yaml ``` + +### Limiting the Github App installations + +If you want to limit the Github app installations visible to backstage you +may optionally include the `allowedInstallationIds` option. + +```yaml +appId: 1 +allowedInstallationIds: [1234] +clientId: client id +clientSecret: client secret +webhookSecret: webhook secret +privateKey: | + -----BEGIN RSA PRIVATE KEY----- + ...Key content... + -----END RSA PRIVATE KEY----- +``` + +This will result in backstage preventing the use of any installation that is not within the +allow list. diff --git a/packages/integration/src/github/GithubCredentialsProvider.ts b/packages/integration/src/github/GithubCredentialsProvider.ts index 9bc09deab3..8dbc3e7a69 100644 --- a/packages/integration/src/github/GithubCredentialsProvider.ts +++ b/packages/integration/src/github/GithubCredentialsProvider.ts @@ -68,8 +68,10 @@ class GithubAppManager { private readonly baseAuthConfig: { appId: number; privateKey: string }; private installations?: RestEndpointMethodTypes['apps']['listInstallations']['response']; private readonly cache = new Cache(); + private readonly allowedInstallations: number[] | undefined; // undefined allows all installations constructor(config: GithubAppConfig, baseUrl?: string) { + this.allowedInstallations = config.allowedInstallations; this.baseAuthConfig = { appId: config.appId, privateKey: config.privateKey, @@ -91,6 +93,17 @@ class GithubAppManager { suspended, repositorySelection, } = await this.getInstallationData(owner); + if (this.allowedInstallations) { + if (!this.allowedInstallations?.includes(installationId)) { + throw new Error( + `The GitHub application for ${[owner, repo] + .filter(Boolean) + .join( + '/', + )} is not included in the allowed installation list (${installationId}).`, + ); + } + } if (suspended) { throw new Error( `The GitHub application for ${[owner, repo] diff --git a/packages/integration/src/github/config.ts b/packages/integration/src/github/config.ts index 94ed00731e..370aed9c8b 100644 --- a/packages/integration/src/github/config.ts +++ b/packages/integration/src/github/config.ts @@ -93,6 +93,10 @@ export type GithubAppConfig = { * Client secrets can be generated at https://github.com/organizations/$org/settings/apps/$AppName */ clientSecret: string; + /** + * List of installations allowed to be used by this backstage https://github.com/app/installations/$InstallationId + */ + allowedInstallations?: number[]; }; /** @@ -113,6 +117,9 @@ export function readGitHubIntegrationConfig( clientSecret: c.getString('clientSecret'), webhookSecret: c.getString('webhookSecret'), privateKey: c.getString('privateKey'), + allowedInstallations: c + .getOptionalStringArray('allowedInstallations') + ?.map(allowedInstallation => Number(allowedInstallation)), })); if (!isValidHost(host)) { From 5fa0c32bffaeb8cdfa98f3691fbf5f92582d68d6 Mon Sep 17 00:00:00 2001 From: Brian Fletcher Date: Mon, 14 Jun 2021 14:15:02 +0100 Subject: [PATCH 002/712] Fixes some typos in changeset and docs Signed-off-by: Brian Fletcher --- .changeset/ninety-worms-kick.md | 2 +- docs/plugins/github-apps.md | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.changeset/ninety-worms-kick.md b/.changeset/ninety-worms-kick.md index 5170dbbdce..f350c6eb31 100644 --- a/.changeset/ninety-worms-kick.md +++ b/.changeset/ninety-worms-kick.md @@ -2,4 +2,4 @@ '@backstage/integration': patch --- -adds an allow list of github installations +Adds an allow list of GitHub installations diff --git a/docs/plugins/github-apps.md b/docs/plugins/github-apps.md index 5e69ae8294..386320cbb3 100644 --- a/docs/plugins/github-apps.md +++ b/docs/plugins/github-apps.md @@ -85,10 +85,10 @@ integrations: - $include: example-backstage-app-credentials.yaml ``` -### Limiting the Github App installations +### Limiting the GitHub App installations -If you want to limit the Github app installations visible to backstage you -may optionally include the `allowedInstallationIds` option. +If you want to limit the GitHub app installations visible to backstage you may +optionally include the `allowedInstallationIds` option. ```yaml appId: 1 @@ -102,5 +102,5 @@ privateKey: | -----END RSA PRIVATE KEY----- ``` -This will result in backstage preventing the use of any installation that is not within the -allow list. +This will result in backstage preventing the use of any installation that is not +within the allow list. From fc295bcc057818aab78b897e9076b8143e43d66c Mon Sep 17 00:00:00 2001 From: Philipp Hugenroth Date: Tue, 22 Jun 2021 09:23:57 +0200 Subject: [PATCH 003/712] Add Prettier Autofix Workflow for Markdown Signed-off-by: Philipp Hugenroth --- .github/workflows/prettify.yml | 55 ++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 .github/workflows/prettify.yml diff --git a/.github/workflows/prettify.yml b/.github/workflows/prettify.yml new file mode 100644 index 0000000000..fd6c403bd2 --- /dev/null +++ b/.github/workflows/prettify.yml @@ -0,0 +1,55 @@ +name: Prettier + +on: + push: + branches: + - master + +jobs: + autofix-markdown: + name: Autofix Markdown files using Prettier + runs-ons: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + # Fetch changes to previous commit - required for 'only_changed' in Prettier action + fetch-depth: 0 + + # Beginning of yarn setup, keep in sync between all workflows, see ci.yml + - name: use node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + registry-url: https://registry.npmjs.org/ # Needed for auth + - name: cache all node_modules + id: cache-modules + uses: actions/cache@v2 + with: + path: '**/node_modules' + key: ${{ runner.os }}-v${{ matrix.node-version }}-node_modules-${{ hashFiles('yarn.lock', '**/package.json') }} + - name: find location of global yarn cache + id: yarn-cache + if: steps.cache-modules.outputs.cache-hit != 'true' + run: echo "::set-output name=dir::$(yarn cache dir)" + - name: cache global yarn cache + uses: actions/cache@v2 + if: steps.cache-modules.outputs.cache-hit != 'true' + with: + path: ${{ steps.yarn-cache.outputs.dir }} + key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn- + - name: yarn install + run: yarn install --frozen-lockfile + # End of yarn setup + + - name: Run Prettier + uses: creyD/prettier_action@v3.1 + with: + # Modifies commit only if prettier autofixed a Markdown file + prettier_options: --config docs/prettier.config.js --write docs/**/*.md + only_changed: true + commit_message: "Autofix Markdown files using Prettier" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + From ffddba6f42fa7bb4dce3be77cee6a7b3304b32a7 Mon Sep 17 00:00:00 2001 From: Philipp Hugenroth Date: Tue, 22 Jun 2021 10:37:00 +0200 Subject: [PATCH 004/712] Add autofix for root Markdown Signed-off-by: Philipp Hugenroth --- .github/workflows/prettify.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/prettify.yml b/.github/workflows/prettify.yml index fd6c403bd2..fe8452e6df 100644 --- a/.github/workflows/prettify.yml +++ b/.github/workflows/prettify.yml @@ -43,12 +43,22 @@ jobs: run: yarn install --frozen-lockfile # End of yarn setup - - name: Run Prettier + - name: Run Prettier on docs uses: creyD/prettier_action@v3.1 with: # Modifies commit only if prettier autofixed a Markdown file prettier_options: --config docs/prettier.config.js --write docs/**/*.md only_changed: true + commit_message: "Autofix documentation Markdown files using Prettier" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Run Prettier on root + uses: creyD/prettier_action@v3.1 + with: + # Modifies commit only if prettier autofixed a Markdown file + prettier_options: --write *.md + only_changed: true commit_message: "Autofix Markdown files using Prettier" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From c599fd104ea22ed896a65c8ba3712a6318d232b3 Mon Sep 17 00:00:00 2001 From: Philipp Hugenroth Date: Tue, 22 Jun 2021 10:45:45 +0200 Subject: [PATCH 005/712] Run prettier on prettier.yml,... Signed-off-by: Philipp Hugenroth --- .github/workflows/prettify.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/prettify.yml b/.github/workflows/prettify.yml index fe8452e6df..36d3275f66 100644 --- a/.github/workflows/prettify.yml +++ b/.github/workflows/prettify.yml @@ -49,7 +49,7 @@ jobs: # Modifies commit only if prettier autofixed a Markdown file prettier_options: --config docs/prettier.config.js --write docs/**/*.md only_changed: true - commit_message: "Autofix documentation Markdown files using Prettier" + commit_message: 'Autofix documentation Markdown files using Prettier' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -59,7 +59,6 @@ jobs: # Modifies commit only if prettier autofixed a Markdown file prettier_options: --write *.md only_changed: true - commit_message: "Autofix Markdown files using Prettier" + commit_message: 'Autofix Markdown files using Prettier' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - From beb1d7812c2509e9171f3079a79aaedfd1b8b2da Mon Sep 17 00:00:00 2001 From: Brian Fletcher Date: Wed, 14 Jul 2021 08:52:03 +0100 Subject: [PATCH 006/712] changing to using the installation owner over id Signed-off-by: Brian Fletcher --- .../src/github/GithubCredentialsProvider.ts | 8 ++++---- packages/integration/src/github/config.ts | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/integration/src/github/GithubCredentialsProvider.ts b/packages/integration/src/github/GithubCredentialsProvider.ts index 8dbc3e7a69..9988d669f3 100644 --- a/packages/integration/src/github/GithubCredentialsProvider.ts +++ b/packages/integration/src/github/GithubCredentialsProvider.ts @@ -68,10 +68,10 @@ class GithubAppManager { private readonly baseAuthConfig: { appId: number; privateKey: string }; private installations?: RestEndpointMethodTypes['apps']['listInstallations']['response']; private readonly cache = new Cache(); - private readonly allowedInstallations: number[] | undefined; // undefined allows all installations + private readonly allowedInstallationOwners: string[] | undefined; // undefined allows all installations constructor(config: GithubAppConfig, baseUrl?: string) { - this.allowedInstallations = config.allowedInstallations; + this.allowedInstallationOwners = config.allowedInstallationOwners; this.baseAuthConfig = { appId: config.appId, privateKey: config.privateKey, @@ -93,8 +93,8 @@ class GithubAppManager { suspended, repositorySelection, } = await this.getInstallationData(owner); - if (this.allowedInstallations) { - if (!this.allowedInstallations?.includes(installationId)) { + if (this.allowedInstallationOwners) { + if (!this.allowedInstallationOwners?.includes(owner)) { throw new Error( `The GitHub application for ${[owner, repo] .filter(Boolean) diff --git a/packages/integration/src/github/config.ts b/packages/integration/src/github/config.ts index 370aed9c8b..f530879959 100644 --- a/packages/integration/src/github/config.ts +++ b/packages/integration/src/github/config.ts @@ -94,9 +94,9 @@ export type GithubAppConfig = { */ clientSecret: string; /** - * List of installations allowed to be used by this backstage https://github.com/app/installations/$InstallationId + * List of installation owners allowed to be used by this backstage https://github.com/app/installations/$InstallationId */ - allowedInstallations?: number[]; + allowedInstallationOwners?: string[]; }; /** @@ -117,9 +117,9 @@ export function readGitHubIntegrationConfig( clientSecret: c.getString('clientSecret'), webhookSecret: c.getString('webhookSecret'), privateKey: c.getString('privateKey'), - allowedInstallations: c - .getOptionalStringArray('allowedInstallations') - ?.map(allowedInstallation => Number(allowedInstallation)), + allowedInstallationOwners: c.getOptionalStringArray( + 'allowedInstallationOwners', + ), })); if (!isValidHost(host)) { From e1178b43613ff4c15a9479a0996bfe4cfb6f36b7 Mon Sep 17 00:00:00 2001 From: Brian Fletcher Date: Wed, 14 Jul 2021 08:57:51 +0100 Subject: [PATCH 007/712] update github readme to include owners filter Signed-off-by: Brian Fletcher --- docs/plugins/github-apps.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/plugins/github-apps.md b/docs/plugins/github-apps.md index 81fc870593..8d86c03220 100644 --- a/docs/plugins/github-apps.md +++ b/docs/plugins/github-apps.md @@ -92,11 +92,11 @@ integrations: ### Limiting the GitHub App installations If you want to limit the GitHub app installations visible to backstage you may -optionally include the `allowedInstallationIds` option. +optionally include the `allowedInstallationOwners` option. ```yaml appId: 1 -allowedInstallationIds: [1234] +allowedInstallationOwners: [1234] clientId: client id clientSecret: client secret webhookSecret: webhook secret From a971957d5023ad8f1bd5f033c0c955f6b73d74ad Mon Sep 17 00:00:00 2001 From: Pepijn Schildkamp Date: Fri, 16 Jul 2021 20:53:11 +0200 Subject: [PATCH 008/712] Add authHandler and login resolver for OAuth2 provider Signed-off-by: Pepijn Schildkamp --- plugins/auth-backend/src/providers/index.ts | 1 + .../src/providers/oauth2/index.ts | 2 +- .../src/providers/oauth2/provider.test.ts | 93 ++++++++ .../src/providers/oauth2/provider.ts | 202 ++++++++++++++---- 4 files changed, 255 insertions(+), 43 deletions(-) create mode 100644 plugins/auth-backend/src/providers/oauth2/provider.test.ts diff --git a/plugins/auth-backend/src/providers/index.ts b/plugins/auth-backend/src/providers/index.ts index 6b262dcf68..576c5011af 100644 --- a/plugins/auth-backend/src/providers/index.ts +++ b/plugins/auth-backend/src/providers/index.ts @@ -16,6 +16,7 @@ export * from './google'; export * from './microsoft'; +export * from './oauth2'; export { factories as defaultAuthProviderFactories } from './factories'; // Export the minimal interface required for implementing a diff --git a/plugins/auth-backend/src/providers/oauth2/index.ts b/plugins/auth-backend/src/providers/oauth2/index.ts index d68208a148..4e2509735d 100644 --- a/plugins/auth-backend/src/providers/oauth2/index.ts +++ b/plugins/auth-backend/src/providers/oauth2/index.ts @@ -14,5 +14,5 @@ * limitations under the License. */ -export { createOAuth2Provider } from './provider'; +export { createOAuth2Provider, oAuth2EmailSignInResolver } from './provider'; export type { OAuth2ProviderOptions } from './provider'; diff --git a/plugins/auth-backend/src/providers/oauth2/provider.test.ts b/plugins/auth-backend/src/providers/oauth2/provider.test.ts new file mode 100644 index 0000000000..773471c42f --- /dev/null +++ b/plugins/auth-backend/src/providers/oauth2/provider.test.ts @@ -0,0 +1,93 @@ +/* + * Copyright 2020 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { OAuth2AuthProvider } from './provider'; +import * as helpers from '../../lib/passport/PassportStrategyHelper'; +import { OAuthResult } from '../../lib/oauth'; +import { getVoidLogger } from '@backstage/backend-common'; +import { TokenIssuer } from '../../identity/types'; +import { CatalogIdentityClient } from '../../lib/catalog'; + +const mockFrameHandler = (jest.spyOn( + helpers, + 'executeFrameHandlerStrategy', +) as unknown) as jest.MockedFunction< + () => Promise<{ result: OAuthResult; privateInfo: any }> +>; + +describe('createOAuth2Provider', () => { + it('should auth', async () => { + const tokenIssuer = { + issueToken: jest.fn(), + listPublicKeys: jest.fn(), + }; + const catalogIdentityClient = { + findUser: jest.fn(), + }; + + const provider = new OAuth2AuthProvider({ + logger: getVoidLogger(), + catalogIdentityClient: (catalogIdentityClient as unknown) as CatalogIdentityClient, + tokenIssuer: (tokenIssuer as unknown) as TokenIssuer, + authHandler: async ({ fullProfile }) => ({ + profile: { + email: fullProfile.emails![0]!.value, + displayName: fullProfile.displayName, + picture: 'http://backstage.io/lols', + }, + }), + clientId: 'mock', + clientSecret: 'mock', + callbackUrl: 'mock', + authorizationUrl: 'mock', + tokenUrl: 'mock', + }); + + mockFrameHandler.mockResolvedValueOnce({ + result: { + fullProfile: { + emails: [{ value: 'conrad@example.com' }], + displayName: 'Conrad', + id: 'conrad', + provider: 'oAuth2', + }, + params: { + id_token: 'idToken', + scope: 'scope', + expires_in: 123, + }, + accessToken: 'accessToken', + }, + privateInfo: { + refreshToken: 'wacka', + }, + }); + const { response } = await provider.handler({} as any); + expect(response).toEqual({ + providerInfo: { + accessToken: 'accessToken', + expiresInSeconds: 123, + idToken: 'idToken', + scope: 'scope', + }, + profile: { + email: 'conrad@example.com', + displayName: 'Conrad', + picture: 'http://backstage.io/lols', + }, + }); + }); +}); diff --git a/plugins/auth-backend/src/providers/oauth2/provider.ts b/plugins/auth-backend/src/providers/oauth2/provider.ts index f174543a63..7e09487c32 100644 --- a/plugins/auth-backend/src/providers/oauth2/provider.ts +++ b/plugins/auth-backend/src/providers/oauth2/provider.ts @@ -18,15 +18,15 @@ import express from 'express'; import passport from 'passport'; import { Strategy as OAuth2Strategy } from 'passport-oauth2'; import { - OAuthAdapter, - OAuthProviderOptions, - OAuthHandlers, - OAuthResponse, - OAuthEnvironmentHandler, - OAuthStartRequest, encodeState, + OAuthAdapter, + OAuthEnvironmentHandler, + OAuthHandlers, + OAuthProviderOptions, OAuthRefreshRequest, + OAuthResponse, OAuthResult, + OAuthStartRequest, } from '../../lib/oauth'; import { executeFetchUserProfileStrategy, @@ -36,22 +36,46 @@ import { makeProfileInfo, PassportDoneCallback, } from '../../lib/passport'; -import { RedirectInfo, AuthProviderFactory } from '../types'; +import { + AuthHandler, + AuthProviderFactory, + RedirectInfo, + SignInResolver, +} from '../types'; +import { CatalogIdentityClient, getEntityClaims } from '../../lib/catalog'; +import { TokenIssuer } from '../../identity'; +import { Logger } from 'winston'; type PrivateInfo = { refreshToken: string; }; export type OAuth2AuthProviderOptions = OAuthProviderOptions & { + signInResolver?: SignInResolver; + authHandler: AuthHandler; + tokenIssuer: TokenIssuer; + catalogIdentityClient: CatalogIdentityClient; authorizationUrl: string; tokenUrl: string; scope?: string; + logger: Logger; }; export class OAuth2AuthProvider implements OAuthHandlers { private readonly _strategy: OAuth2Strategy; + private readonly signInResolver?: SignInResolver; + private readonly authHandler: AuthHandler; + private readonly tokenIssuer: TokenIssuer; + private readonly catalogIdentityClient: CatalogIdentityClient; + private readonly logger: Logger; constructor(options: OAuth2AuthProviderOptions) { + this.signInResolver = options.signInResolver; + this.authHandler = options.authHandler; + this.tokenIssuer = options.tokenIssuer; + this.catalogIdentityClient = options.catalogIdentityClient; + this.logger = options.logger; + this._strategy = new OAuth2Strategy( { clientID: options.clientId, @@ -102,18 +126,8 @@ export class OAuth2AuthProvider implements OAuthHandlers { PrivateInfo >(req, this._strategy); - const profile = makeProfileInfo(result.fullProfile, result.params.id_token); - return { - response: await this.populateIdentity({ - profile, - providerInfo: { - idToken: result.params.id_token, - accessToken: result.accessToken, - scope: result.params.scope, - expiresInSeconds: result.params.expires_in, - }, - }), + response: await this.handleResult(result), refreshToken: privateInfo.refreshToken, }; } @@ -130,46 +144,124 @@ export class OAuth2AuthProvider implements OAuthHandlers { refreshToken: updatedRefreshToken, } = refreshTokenResponse; - const rawProfile = await executeFetchUserProfileStrategy( + const fullProfile = await executeFetchUserProfileStrategy( this._strategy, accessToken, ); - const profile = makeProfileInfo(rawProfile, params.id_token); - return this.populateIdentity({ - providerInfo: { - accessToken, - refreshToken: updatedRefreshToken, - idToken: params.id_token, - expiresInSeconds: params.expires_in, - scope: params.scope, - }, - profile, + return this.handleResult({ + fullProfile, + params, + accessToken, + refreshToken: updatedRefreshToken, }); } - // Use this function to grab the user profile info from the token - // Then populate the profile with it - private async populateIdentity( - response: OAuthResponse, - ): Promise { - const { profile } = response; + private async handleResult(result: OAuthResult) { + const { profile } = await this.authHandler(result); - if (!profile.email) { - throw new Error('Profile does not contain an email'); + const response: OAuthResponse = { + providerInfo: { + idToken: result.params.id_token, + accessToken: result.accessToken, + scope: result.params.scope, + expiresInSeconds: result.params.expires_in, + }, + profile, + }; + + if (this.signInResolver) { + response.backstageIdentity = await this.signInResolver( + { + result, + profile, + }, + { + tokenIssuer: this.tokenIssuer, + catalogIdentityClient: this.catalogIdentityClient, + logger: this.logger, + }, + ); } - const id = profile.email.split('@')[0]; - return { ...response, backstageIdentity: { id } }; + return response; } } -export type OAuth2ProviderOptions = {}; +export const oAuth2EmailSignInResolver: SignInResolver = async ( + info, + ctx, +) => { + const { profile } = info; + + if (!profile.email) { + throw new Error('OAuth2 profile contained no email'); + } + + const entity = await ctx.catalogIdentityClient.findUser({ + annotations: { + 'oauth2/email': profile.email, + }, + }); + + const claims = getEntityClaims(entity); + const token = await ctx.tokenIssuer.issueToken({ claims }); + + return { id: entity.metadata.name, entity, token }; +}; + +export const oAuth2DefaultSignInResolver: SignInResolver = async ( + info, + ctx, +) => { + const { profile } = info; + + if (!profile.email) { + throw new Error('Profile contained no email'); + } + + let userId: string; + + try { + const entity = await ctx.catalogIdentityClient.findUser({ + annotations: { + 'oauth2/email': profile.email, + }, + }); + userId = entity.metadata.name; + } catch (error) { + ctx.logger.warn( + `Failed to look up user, ${error}, falling back to allowing login based on email pattern, this will probably break in the future`, + ); + userId = profile.email.split('@')[0]; + } + + const token = await ctx.tokenIssuer.issueToken({ + claims: { sub: userId, ent: [`user:default/${userId}`] }, + }); + + return { id: userId, token }; +}; + +export type OAuth2ProviderOptions = { + authHandler?: AuthHandler; + + signIn?: { + resolver?: SignInResolver; + }; +}; export const createOAuth2Provider = ( - _options?: OAuth2ProviderOptions, + options?: OAuth2ProviderOptions, ): AuthProviderFactory => { - return ({ providerId, globalConfig, config, tokenIssuer }) => + return ({ + providerId, + globalConfig, + config, + tokenIssuer, + catalogApi, + logger, + }) => OAuthEnvironmentHandler.mapConfig(config, envConfig => { const clientId = envConfig.getString('clientId'); const clientSecret = envConfig.getString('clientSecret'); @@ -178,13 +270,39 @@ export const createOAuth2Provider = ( const tokenUrl = envConfig.getString('tokenUrl'); const scope = envConfig.getOptionalString('scope'); + const catalogIdentityClient = new CatalogIdentityClient({ + catalogApi, + tokenIssuer, + }); + + const authHandler: AuthHandler = options?.authHandler + ? options.authHandler + : async ({ fullProfile, params }) => ({ + profile: makeProfileInfo(fullProfile, params.id_token), + }); + + const signInResolverFn = + options?.signIn?.resolver ?? oAuth2DefaultSignInResolver; + + const signInResolver: SignInResolver = info => + signInResolverFn(info, { + catalogIdentityClient, + tokenIssuer, + logger, + }); + const provider = new OAuth2AuthProvider({ clientId, clientSecret, + tokenIssuer, + catalogIdentityClient, callbackUrl, + signInResolver, + authHandler, authorizationUrl, tokenUrl, scope, + logger, }); return OAuthAdapter.fromConfig(globalConfig, provider, { From e9b1e2a9f40950b955a15c55109c7863701b95a5 Mon Sep 17 00:00:00 2001 From: Pepijn Schildkamp Date: Fri, 16 Jul 2021 21:04:55 +0200 Subject: [PATCH 009/712] Added changeset for oAuth2 provider refactoring Signed-off-by: Pepijn Schildkamp --- .changeset/strong-ravens-smoke.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/strong-ravens-smoke.md diff --git a/.changeset/strong-ravens-smoke.md b/.changeset/strong-ravens-smoke.md new file mode 100644 index 0000000000..8579e74d37 --- /dev/null +++ b/.changeset/strong-ravens-smoke.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-auth-backend': minor +--- + +Added signIn and authHandler resolver for oAuth2 provider From cd5932bc667d7b770093999d118a72b0ca3e5528 Mon Sep 17 00:00:00 2001 From: Tom Opdebeeck Date: Mon, 19 Jul 2021 16:35:00 +0200 Subject: [PATCH 010/712] feat: setup gitlab auth provider factory * add username to ProfileInfo * expose gitlab provider * add signIn handler * refactor resultHandler usage Signed-off-by: Tom Opdebeeck --- .../lib/passport/PassportStrategyHelper.ts | 7 +- .../src/providers/gitlab/provider.ts | 178 ++++++++++++++---- plugins/auth-backend/src/providers/index.ts | 1 + plugins/auth-backend/src/providers/types.ts | 4 + 4 files changed, 156 insertions(+), 34 deletions(-) diff --git a/plugins/auth-backend/src/lib/passport/PassportStrategyHelper.ts b/plugins/auth-backend/src/lib/passport/PassportStrategyHelper.ts index 313b4a79bd..e6ef47c2c0 100644 --- a/plugins/auth-backend/src/lib/passport/PassportStrategyHelper.ts +++ b/plugins/auth-backend/src/lib/passport/PassportStrategyHelper.ts @@ -30,7 +30,7 @@ export const makeProfileInfo = ( profile: passport.Profile, idToken?: string, ): ProfileInfo => { - let { displayName } = profile; + let { displayName, username } = profile; let email: string | undefined = undefined; if (profile.emails && profile.emails.length > 0) { @@ -56,6 +56,10 @@ export const makeProfileInfo = ( if (!displayName && decoded.name) { displayName = decoded.name; } + + if (!username && decoded.username) { + username = decoded.username; + } } catch (e) { throw new Error(`Failed to parse id token and get profile info, ${e}`); } @@ -65,6 +69,7 @@ export const makeProfileInfo = ( email, picture, displayName, + username, }; }; diff --git a/plugins/auth-backend/src/providers/gitlab/provider.ts b/plugins/auth-backend/src/providers/gitlab/provider.ts index 606d2c76a6..0fa99252b7 100644 --- a/plugins/auth-backend/src/providers/gitlab/provider.ts +++ b/plugins/auth-backend/src/providers/gitlab/provider.ts @@ -16,6 +16,8 @@ import express from 'express'; import { Strategy as GitlabStrategy } from 'passport-gitlab2'; +import { Logger } from 'winston'; + import { executeRedirectStrategy, executeFrameHandlerStrategy, @@ -24,7 +26,12 @@ import { makeProfileInfo, PassportDoneCallback, } from '../../lib/passport'; -import { RedirectInfo, AuthProviderFactory } from '../types'; +import { + RedirectInfo, + AuthProviderFactory, + SignInResolver, + AuthHandler, +} from '../types'; import { OAuthAdapter, OAuthProviderOptions, @@ -36,6 +43,8 @@ import { encodeState, OAuthResult, } from '../../lib/oauth'; +import { TokenIssuer } from '../../identity'; +import { CatalogIdentityClient } from '../../lib/catalog'; type FullProfile = OAuthResult['fullProfile'] & { avatarUrl?: string; @@ -47,29 +56,72 @@ type PrivateInfo = { export type GitlabAuthProviderOptions = OAuthProviderOptions & { baseUrl: string; + signInResolver?: SignInResolver; + authHandler: AuthHandler; + tokenIssuer: TokenIssuer; + catalogIdentityClient: CatalogIdentityClient; + logger: Logger; }; -function transformProfile(fullProfile: FullProfile) { +function transformResult(result: OAuthResult): OAuthResult { + const { fullProfile, ...authResult } = result; + const profile = makeProfileInfo({ ...fullProfile, photos: [ ...(fullProfile.photos ?? []), - ...(fullProfile.avatarUrl ? [{ value: fullProfile.avatarUrl }] : []), + ...((fullProfile as FullProfile).avatarUrl + ? [{ value: (fullProfile as FullProfile).avatarUrl as string }] + : []), ], }); let id = fullProfile.id; + if (profile.email) { id = profile.email.split('@')[0]; } - return { id, profile }; + return { + ...authResult, + fullProfile, + }; } +export const gitlabDefaultSignInResolver: SignInResolver = async ( + info, + ctx, +) => { + const { profile } = info; + + if (!profile.email) { + throw new Error('Profile contained no email'); + } + + const userId = profile.email.split('@')[0]; + + const token = await ctx.tokenIssuer.issueToken({ + claims: { sub: userId, ent: [`user:default/${userId}`] }, + }); + + return { id: userId, token }; +}; + export class GitlabAuthProvider implements OAuthHandlers { private readonly _strategy: GitlabStrategy; + private readonly signInResolver?: SignInResolver; + private readonly authHandler: AuthHandler; + private readonly tokenIssuer: TokenIssuer; + private readonly catalogIdentityClient: CatalogIdentityClient; + private readonly logger: Logger; constructor(options: GitlabAuthProviderOptions) { + this.signInResolver = options.signInResolver; + this.authHandler = options.authHandler; + this.tokenIssuer = options.tokenIssuer; + this.logger = options.logger; + this.catalogIdentityClient = options.catalogIdentityClient; + this._strategy = new GitlabStrategy( { clientID: options.clientId, @@ -109,23 +161,9 @@ export class GitlabAuthProvider implements OAuthHandlers { OAuthResult, PrivateInfo >(req, this._strategy); - const { accessToken, params } = result; - - const { id, profile } = transformProfile(result.fullProfile); return { - response: { - profile, - providerInfo: { - accessToken, - scope: params.scope, - expiresInSeconds: params.expires_in, - idToken: params.id_token, - }, - backstageIdentity: { - id, - }, - }, + response: await this.handleResult(result), refreshToken: privateInfo.refreshToken, }; } @@ -145,30 +183,78 @@ export class GitlabAuthProvider implements OAuthHandlers { this._strategy, accessToken, ); - const { id, profile } = transformProfile(fullProfile); - return { - profile, + return this.handleResult({ + fullProfile, + params, + accessToken, + refreshToken: newRefreshToken, + }); + } + + private async handleResult(result: OAuthResult): Promise { + const { profile } = await this.authHandler(transformResult(result)); + + const response: OAuthResponse = { providerInfo: { - accessToken, - refreshToken: newRefreshToken, // GitLab expires the old refresh token when used - idToken: params.id_token, - expiresInSeconds: params.expires_in, - scope: params.scope, - }, - backstageIdentity: { - id, + idToken: result.params.id_token, + accessToken: result.accessToken, + scope: result.params.scope, + expiresInSeconds: result.params.expires_in, }, + profile, }; + + if (this.signInResolver) { + response.backstageIdentity = await this.signInResolver( + { + result, + profile, + }, + { + tokenIssuer: this.tokenIssuer, + catalogIdentityClient: this.catalogIdentityClient, + logger: this.logger, + }, + ); + } + + return response; } } -export type GitlabProviderOptions = {}; +export type GitlabProviderOptions = { + /** + * The profile transformation function used to verify and convert the auth response + * into the profile that will be presented to the user. + */ + authHandler?: AuthHandler; + + /** + * Configure sign-in for this provider, without it the provider can not be used to sign users in. + */ + /** + * Maps an auth result to a Backstage identity for the user. + * + * Set to `'email'` to use the default email-based sign in resolver, which will search + * the catalog for a single user entity that has a matching `microsoft.com/email` annotation. + */ + signIn?: { + resolver?: SignInResolver; + }; +}; export const createGitlabProvider = ( - _options?: GitlabProviderOptions, + options?: GitlabProviderOptions, ): AuthProviderFactory => { - return ({ providerId, globalConfig, config, tokenIssuer }) => + return ({ + providerId, + globalConfig, + config, + tokenIssuer, + catalogApi, + logger, + }) => OAuthEnvironmentHandler.mapConfig(config, envConfig => { const clientId = envConfig.getString('clientId'); const clientSecret = envConfig.getString('clientSecret'); @@ -176,11 +262,37 @@ export const createGitlabProvider = ( const baseUrl = audience || 'https://gitlab.com'; const callbackUrl = `${globalConfig.baseUrl}/${providerId}/handler/frame`; + const catalogIdentityClient = new CatalogIdentityClient({ + catalogApi, + tokenIssuer, + }); + + const authHandler: AuthHandler = options?.authHandler + ? options.authHandler + : async ({ fullProfile, params }) => ({ + profile: makeProfileInfo(fullProfile, params.id_token), + }); + + const signInResolverFn = + options?.signIn?.resolver ?? gitlabDefaultSignInResolver; + + const signInResolver: SignInResolver = info => + signInResolverFn(info, { + catalogIdentityClient, + tokenIssuer, + logger, + }); + const provider = new GitlabAuthProvider({ clientId, clientSecret, callbackUrl, baseUrl, + authHandler, + signInResolver, + catalogIdentityClient, + logger, + tokenIssuer, }); return OAuthAdapter.fromConfig(globalConfig, provider, { diff --git a/plugins/auth-backend/src/providers/index.ts b/plugins/auth-backend/src/providers/index.ts index 6b262dcf68..bf5615a72e 100644 --- a/plugins/auth-backend/src/providers/index.ts +++ b/plugins/auth-backend/src/providers/index.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +export * from './gitlab'; export * from './google'; export * from './microsoft'; export { factories as defaultAuthProviderFactories } from './factories'; diff --git a/plugins/auth-backend/src/providers/types.ts b/plugins/auth-backend/src/providers/types.ts index c838005c00..a8b087156d 100644 --- a/plugins/auth-backend/src/providers/types.ts +++ b/plugins/auth-backend/src/providers/types.ts @@ -196,6 +196,10 @@ export type ProfileInfo = { * signed in user. */ picture?: string; + /** + * Username of the signed in user. + */ + username?: string; }; export type SignInInfo = { From aae88bc3fa1b000a254326ea3f475f43da012307 Mon Sep 17 00:00:00 2001 From: Tom Opdebeeck Date: Mon, 19 Jul 2021 16:45:52 +0200 Subject: [PATCH 011/712] fix: cleanup username/email check Signed-off-by: Tom Opdebeeck --- .../src/providers/gitlab/provider.ts | 38 ++++++++++--------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/plugins/auth-backend/src/providers/gitlab/provider.ts b/plugins/auth-backend/src/providers/gitlab/provider.ts index 0fa99252b7..25440dab75 100644 --- a/plugins/auth-backend/src/providers/gitlab/provider.ts +++ b/plugins/auth-backend/src/providers/gitlab/provider.ts @@ -31,6 +31,7 @@ import { AuthProviderFactory, SignInResolver, AuthHandler, + ProfileInfo, } from '../types'; import { OAuthAdapter, @@ -63,25 +64,28 @@ export type GitlabAuthProviderOptions = OAuthProviderOptions & { logger: Logger; }; +const extractUserId = (profile: ProfileInfo): string => { + return profile.username || (profile.email?.split('@')[0] as string); +}; + function transformResult(result: OAuthResult): OAuthResult { const { fullProfile, ...authResult } = result; - const profile = makeProfileInfo({ - ...fullProfile, - photos: [ - ...(fullProfile.photos ?? []), - ...((fullProfile as FullProfile).avatarUrl - ? [{ value: (fullProfile as FullProfile).avatarUrl as string }] - : []), - ], - }); + fullProfile.photos = [ + ...(fullProfile.photos ?? []), + ...((fullProfile as FullProfile).avatarUrl + ? [{ value: (fullProfile as FullProfile).avatarUrl as string }] + : []), + ]; - let id = fullProfile.id; + const profile = makeProfileInfo(fullProfile); - if (profile.email) { - id = profile.email.split('@')[0]; + if (!profile.username && !profile.email) { + throw new Error('Profile contained no username or email'); } + fullProfile.id = extractUserId(profile); + return { ...authResult, fullProfile, @@ -94,17 +98,17 @@ export const gitlabDefaultSignInResolver: SignInResolver = async ( ) => { const { profile } = info; - if (!profile.email) { - throw new Error('Profile contained no email'); + if (!profile.username && !profile.email) { + throw new Error('Profile contained no username or email'); } - const userId = profile.email.split('@')[0]; + const id = extractUserId(profile); const token = await ctx.tokenIssuer.issueToken({ - claims: { sub: userId, ent: [`user:default/${userId}`] }, + claims: { sub: id, ent: [`user:default/${id}`] }, }); - return { id: userId, token }; + return { id, token }; }; export class GitlabAuthProvider implements OAuthHandlers { From 9b55010a460ca812aed44dae678458030a1a50ab Mon Sep 17 00:00:00 2001 From: Tom Opdebeeck Date: Mon, 19 Jul 2021 17:16:17 +0200 Subject: [PATCH 012/712] fix: cleanup provider methods Signed-off-by: Tom Opdebeeck --- .../src/providers/gitlab/provider.ts | 108 ++++++++++-------- 1 file changed, 58 insertions(+), 50 deletions(-) diff --git a/plugins/auth-backend/src/providers/gitlab/provider.ts b/plugins/auth-backend/src/providers/gitlab/provider.ts index 25440dab75..d229165562 100644 --- a/plugins/auth-backend/src/providers/gitlab/provider.ts +++ b/plugins/auth-backend/src/providers/gitlab/provider.ts @@ -58,40 +58,16 @@ type PrivateInfo = { export type GitlabAuthProviderOptions = OAuthProviderOptions & { baseUrl: string; signInResolver?: SignInResolver; - authHandler: AuthHandler; + authHandler?: AuthHandler; tokenIssuer: TokenIssuer; catalogIdentityClient: CatalogIdentityClient; logger: Logger; }; -const extractUserId = (profile: ProfileInfo): string => { +export const extractGitLabUserId = (profile: ProfileInfo): string => { return profile.username || (profile.email?.split('@')[0] as string); }; -function transformResult(result: OAuthResult): OAuthResult { - const { fullProfile, ...authResult } = result; - - fullProfile.photos = [ - ...(fullProfile.photos ?? []), - ...((fullProfile as FullProfile).avatarUrl - ? [{ value: (fullProfile as FullProfile).avatarUrl as string }] - : []), - ]; - - const profile = makeProfileInfo(fullProfile); - - if (!profile.username && !profile.email) { - throw new Error('Profile contained no username or email'); - } - - fullProfile.id = extractUserId(profile); - - return { - ...authResult, - fullProfile, - }; -} - export const gitlabDefaultSignInResolver: SignInResolver = async ( info, ctx, @@ -102,7 +78,7 @@ export const gitlabDefaultSignInResolver: SignInResolver = async ( throw new Error('Profile contained no username or email'); } - const id = extractUserId(profile); + const id = extractGitLabUserId(profile); const token = await ctx.tokenIssuer.issueToken({ claims: { sub: id, ent: [`user:default/${id}`] }, @@ -111,6 +87,13 @@ export const gitlabDefaultSignInResolver: SignInResolver = async ( return { id, token }; }; +export const gitlabDefaultAuthHandler: AuthHandler = async ({ + fullProfile, + params, +}) => ({ + profile: makeProfileInfo(fullProfile, params.id_token), +}); + export class GitlabAuthProvider implements OAuthHandlers { private readonly _strategy: GitlabStrategy; private readonly signInResolver?: SignInResolver; @@ -120,11 +103,11 @@ export class GitlabAuthProvider implements OAuthHandlers { private readonly logger: Logger; constructor(options: GitlabAuthProviderOptions) { - this.signInResolver = options.signInResolver; - this.authHandler = options.authHandler; - this.tokenIssuer = options.tokenIssuer; - this.logger = options.logger; this.catalogIdentityClient = options.catalogIdentityClient; + this.logger = options.logger; + this.tokenIssuer = options.tokenIssuer; + this.authHandler = options.authHandler || gitlabDefaultAuthHandler; + this.signInResolver = this.createSignInResolverFn(options); this._strategy = new GitlabStrategy( { @@ -197,7 +180,8 @@ export class GitlabAuthProvider implements OAuthHandlers { } private async handleResult(result: OAuthResult): Promise { - const { profile } = await this.authHandler(transformResult(result)); + const transformedResult = this.transformResult(result); + const { profile } = await this.authHandler(transformedResult); const response: OAuthResponse = { providerInfo: { @@ -225,6 +209,46 @@ export class GitlabAuthProvider implements OAuthHandlers { return response; } + + private createSignInResolverFn({ + signInResolver, + catalogIdentityClient, + tokenIssuer, + logger, + }: GitlabAuthProviderOptions): SignInResolver { + const resolver = signInResolver || gitlabDefaultSignInResolver; + + return info => + resolver(info, { + catalogIdentityClient, + tokenIssuer, + logger, + }); + } + + private transformResult(result: OAuthResult): OAuthResult { + const { fullProfile, ...authResult } = result; + + fullProfile.photos = [ + ...(fullProfile.photos ?? []), + ...((fullProfile as FullProfile).avatarUrl + ? [{ value: (fullProfile as FullProfile).avatarUrl as string }] + : []), + ]; + + const profile = makeProfileInfo(fullProfile); + + if (!profile.username && !profile.email) { + throw new Error('Profile contained no username or email'); + } + + fullProfile.id = extractGitLabUserId(profile); + + return { + ...authResult, + fullProfile, + }; + } } export type GitlabProviderOptions = { @@ -271,29 +295,13 @@ export const createGitlabProvider = ( tokenIssuer, }); - const authHandler: AuthHandler = options?.authHandler - ? options.authHandler - : async ({ fullProfile, params }) => ({ - profile: makeProfileInfo(fullProfile, params.id_token), - }); - - const signInResolverFn = - options?.signIn?.resolver ?? gitlabDefaultSignInResolver; - - const signInResolver: SignInResolver = info => - signInResolverFn(info, { - catalogIdentityClient, - tokenIssuer, - logger, - }); - const provider = new GitlabAuthProvider({ clientId, clientSecret, callbackUrl, baseUrl, - authHandler, - signInResolver, + authHandler: options?.authHandler, + signInResolver: options?.signIn?.resolver, catalogIdentityClient, logger, tokenIssuer, From db469242bec05d59cd4206a3255fa0ddcd719351 Mon Sep 17 00:00:00 2001 From: Tom Opdebeeck Date: Mon, 19 Jul 2021 17:16:26 +0200 Subject: [PATCH 013/712] fix: tests Signed-off-by: Tom Opdebeeck --- .../src/providers/github/provider.test.ts | 4 ++++ .../src/providers/gitlab/provider.test.ts | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/plugins/auth-backend/src/providers/github/provider.test.ts b/plugins/auth-backend/src/providers/github/provider.test.ts index 4e53ce4026..5faa508f88 100644 --- a/plugins/auth-backend/src/providers/github/provider.test.ts +++ b/plugins/auth-backend/src/providers/github/provider.test.ts @@ -72,6 +72,7 @@ describe('GithubAuthProvider', () => { }, profile: { email: 'jimmymarkum@gmail.com', + username: 'jimmymarkum', displayName: 'Jimmy Markum', picture: 'https://a1cf74336522e87f135f-2f21ace9a6cf0052456644b80fa06d4f.ssl.cf2.rackcdn.com/images/characters_opt/p-mystic-river-sean-penn.jpg', @@ -117,6 +118,7 @@ describe('GithubAuthProvider', () => { }, profile: { displayName: 'Jimmy Markum', + username: 'jimmymarkum', picture: 'https://a1cf74336522e87f135f-2f21ace9a6cf0052456644b80fa06d4f.ssl.cf2.rackcdn.com/images/characters_opt/p-mystic-river-sean-penn.jpg', }, @@ -160,6 +162,7 @@ describe('GithubAuthProvider', () => { }, profile: { displayName: 'jimmymarkum', + username: 'jimmymarkum', picture: 'https://a1cf74336522e87f135f-2f21ace9a6cf0052456644b80fa06d4f.ssl.cf2.rackcdn.com/images/characters_opt/p-mystic-river-sean-penn.jpg', }, @@ -205,6 +208,7 @@ describe('GithubAuthProvider', () => { profile: { displayName: 'Dave Boyle', email: 'daveboyle@gitlab.org', + username: 'daveboyle', }, }; diff --git a/plugins/auth-backend/src/providers/gitlab/provider.test.ts b/plugins/auth-backend/src/providers/gitlab/provider.test.ts index 2277515cc9..814a060e90 100644 --- a/plugins/auth-backend/src/providers/gitlab/provider.test.ts +++ b/plugins/auth-backend/src/providers/gitlab/provider.test.ts @@ -17,6 +17,9 @@ import { GitlabAuthProvider } from './provider'; import * as helpers from '../../lib/passport/PassportStrategyHelper'; import { OAuthResult } from '../../lib/oauth'; +import { getVoidLogger } from '../../../../../packages/backend-common/src'; +import { TokenIssuer } from '../../identity'; +import { CatalogIdentityClient } from '../../lib/catalog'; const mockFrameHandler = (jest.spyOn( helpers, @@ -64,6 +67,7 @@ describe('GitlabAuthProvider', () => { profile: { email: 'jimmymarkum@gmail.com', displayName: 'Jimmy Markum', + username: 'jimmymarkum', picture: 'https://a1cf74336522e87f135f-2f21ace9a6cf0052456644b80fa06d4f.ssl.cf2.rackcdn.com/images/characters_opt/p-mystic-river-sean-penn.jpg', }, @@ -107,16 +111,28 @@ describe('GitlabAuthProvider', () => { profile: { displayName: 'Dave Boyle', email: 'daveboyle@gitlab.org', + username: 'daveboyle', }, }, }, ]; + const tokenIssuer = { + issueToken: jest.fn(), + listPublicKeys: jest.fn(), + }; + const catalogIdentityClient = { + findUser: jest.fn(), + }; + const provider = new GitlabAuthProvider({ clientId: 'mock', clientSecret: 'mock', callbackUrl: 'mock', baseUrl: 'mock', + catalogIdentityClient: (catalogIdentityClient as unknown) as CatalogIdentityClient, + tokenIssuer: (tokenIssuer as unknown) as TokenIssuer, + logger: getVoidLogger(), }); for (const test of tests) { mockFrameHandler.mockResolvedValueOnce(test.input); From 39fc3d7f807f790e178e8d5ed4383944efd73da5 Mon Sep 17 00:00:00 2001 From: Tom Opdebeeck Date: Mon, 19 Jul 2021 17:23:30 +0200 Subject: [PATCH 014/712] chore: add changeset Signed-off-by: Tom Opdebeeck --- .changeset/strong-swans-wave.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/strong-swans-wave.md diff --git a/.changeset/strong-swans-wave.md b/.changeset/strong-swans-wave.md new file mode 100644 index 0000000000..c24aceb8df --- /dev/null +++ b/.changeset/strong-swans-wave.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-auth-backend': minor +--- + +Add Sign In and Handler resolver for GitLab provider From 5fd31c2f46502d77f5a3818e9a4cc3c65b09fb92 Mon Sep 17 00:00:00 2001 From: Brian Fletcher Date: Mon, 19 Jul 2021 17:20:59 +0100 Subject: [PATCH 015/712] remove repo filtering on the github credentials The github-org processor does not use the concept of repositories. As such filtering based on selected repositories does not make sense for that processer. The GithubCredentials was imposing what appears like an unnessesary restriction on the tokens using the repo name. By removing this restriction, it enalbes the github-org processor to work when a github app installation has a repository restriction. Signed-off-by: Brian Fletcher --- .changeset/serious-kiwis-wonder.md | 5 +++++ .../github/GithubCredentialsProvider.test.ts | 13 ++++++------ .../src/github/GithubCredentialsProvider.ts | 20 +++---------------- 3 files changed, 14 insertions(+), 24 deletions(-) create mode 100644 .changeset/serious-kiwis-wonder.md diff --git a/.changeset/serious-kiwis-wonder.md b/.changeset/serious-kiwis-wonder.md new file mode 100644 index 0000000000..4c6daa768b --- /dev/null +++ b/.changeset/serious-kiwis-wonder.md @@ -0,0 +1,5 @@ +--- +'@backstage/integration': patch +--- + +remove repo restriction from github creds provider diff --git a/packages/integration/src/github/GithubCredentialsProvider.test.ts b/packages/integration/src/github/GithubCredentialsProvider.test.ts index 85df1bb4e1..9472e0ae58 100644 --- a/packages/integration/src/github/GithubCredentialsProvider.test.ts +++ b/packages/integration/src/github/GithubCredentialsProvider.test.ts @@ -156,13 +156,12 @@ describe('GithubCredentialsProvider tests', () => { }, } as RestEndpointMethodTypes['apps']['createInstallationAccessToken']['response']); - await expect( - github.getCredentials({ - url: 'https://github.com/backstage', - }), - ).rejects.toThrow( - 'The Backstage GitHub application used in the backstage organization must be installed for the entire organization to be able to issue credentials without a specified repository.', - ); + const { token, headers } = await github.getCredentials({ + url: 'https://github.com/backstage', + }); + + expect(headers).toEqual({ Authorization: 'Bearer secret_token' }); + expect(token).toEqual('secret_token'); }); it('should throw if the app is suspended', async () => { diff --git a/packages/integration/src/github/GithubCredentialsProvider.ts b/packages/integration/src/github/GithubCredentialsProvider.ts index 899b233195..ea4fa737ec 100644 --- a/packages/integration/src/github/GithubCredentialsProvider.ts +++ b/packages/integration/src/github/GithubCredentialsProvider.ts @@ -23,7 +23,6 @@ import { DateTime } from 'luxon'; type InstallationData = { installationId: number; suspended: boolean; - repositorySelection: 'selected' | 'all'; }; class Cache { @@ -85,33 +84,21 @@ class GithubAppManager { owner: string, repo?: string, ): Promise<{ accessToken: string }> { - const { - installationId, - suspended, - repositorySelection, - } = await this.getInstallationData(owner); + const { installationId, suspended } = await this.getInstallationData(owner); if (suspended) { throw new Error( - `The GitHub application for ${[owner, repo] + `The GitHub application for ${[owner] .filter(Boolean) .join('/')} is suspended`, ); } - if (repositorySelection !== 'all' && !repo) { - throw new Error( - `The Backstage GitHub application used in the ${owner} organization must be installed for the entire organization to be able to issue credentials without a specified repository.`, - ); - } - const cacheKey = !repo ? owner : `${owner}/${repo}`; - const repositories = repositorySelection !== 'all' ? [repo!] : undefined; + const cacheKey = repo ? `${owner}/${repo}` : owner; - // Go and grab an access token for the app scoped to a repository if provided, if not use the organisation installation. return this.cache.getOrCreateToken(cacheKey, async () => { const result = await this.appClient.apps.createInstallationAccessToken({ installation_id: installationId, headers: HEADERS, - repositories, }); return { token: result.data.token, @@ -135,7 +122,6 @@ class GithubAppManager { return { installationId: installation.id, suspended: Boolean(installation.suspended_by), - repositorySelection: installation.repository_selection, }; } const notFoundError = new Error( From 2473096aa6176a71af4af6993262d935da49896b Mon Sep 17 00:00:00 2001 From: Brian Fletcher Date: Mon, 19 Jul 2021 18:13:00 +0100 Subject: [PATCH 016/712] Fix typos in the changeset file Signed-off-by: Brian Fletcher --- .changeset/serious-kiwis-wonder.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/serious-kiwis-wonder.md b/.changeset/serious-kiwis-wonder.md index 4c6daa768b..0deba49616 100644 --- a/.changeset/serious-kiwis-wonder.md +++ b/.changeset/serious-kiwis-wonder.md @@ -2,4 +2,4 @@ '@backstage/integration': patch --- -remove repo restriction from github creds provider +Remove repo restriction from GitHub credentials provider From 619cb40662dc7a7a114e4c62975fea70fe950379 Mon Sep 17 00:00:00 2001 From: Brian Fletcher Date: Mon, 19 Jul 2021 18:51:10 +0100 Subject: [PATCH 017/712] try to work around codeql failure for test purposes Signed-off-by: Brian Fletcher --- .../src/github/GithubCredentialsProvider.test.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/integration/src/github/GithubCredentialsProvider.test.ts b/packages/integration/src/github/GithubCredentialsProvider.test.ts index 9472e0ae58..a0eb3d9596 100644 --- a/packages/integration/src/github/GithubCredentialsProvider.test.ts +++ b/packages/integration/src/github/GithubCredentialsProvider.test.ts @@ -133,7 +133,7 @@ describe('GithubCredentialsProvider tests', () => { expect(token).toEqual('secret_token'); }); - it('should fail to issue tokens for an organization when the app is installed for a single repo', async () => { + it('should not fail to issue tokens for an organization when the app is installed for a single repo', async () => { octokit.apps.listInstallations.mockResolvedValue({ headers: { etag: '123', @@ -159,8 +159,8 @@ describe('GithubCredentialsProvider tests', () => { const { token, headers } = await github.getCredentials({ url: 'https://github.com/backstage', }); - - expect(headers).toEqual({ Authorization: 'Bearer secret_token' }); + const expectedToken = 'secret_token'; + expect(headers).toEqual({ Authorization: `Bearer ${expectedToken}` }); expect(token).toEqual('secret_token'); }); From b0578306b69aba6eb754119a7a2bf45cdb6b2eb0 Mon Sep 17 00:00:00 2001 From: Brian Fletcher Date: Tue, 20 Jul 2021 13:57:10 +0100 Subject: [PATCH 018/712] fix the github-disovery when the repos are filtered Signed-off-by: Brian Fletcher --- .../src/github/GithubCredentialsProvider.ts | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/packages/integration/src/github/GithubCredentialsProvider.ts b/packages/integration/src/github/GithubCredentialsProvider.ts index ea4fa737ec..ebd9fce745 100644 --- a/packages/integration/src/github/GithubCredentialsProvider.ts +++ b/packages/integration/src/github/GithubCredentialsProvider.ts @@ -100,6 +100,20 @@ class GithubAppManager { installation_id: installationId, headers: HEADERS, }); + if (repo && result.data.repository_selection === 'selected') { + const installationClient = new Octokit({ + auth: result.data.token, + }); + const repos = await installationClient.apps.listReposAccessibleToInstallation(); + const hasRepo = repos.data.repositories.some(repository => { + return repository.name === repo; + }); + if (!hasRepo) { + throw new Error( + `The Backstage GitHub application used in the ${owner} organization does not have access to a repository with the name ${repo}`, + ); + } + } return { token: result.data.token, expiresAt: DateTime.fromISO(result.data.expires_at), @@ -219,7 +233,10 @@ export class GithubCredentialsProvider { const parsed = parseGitUrl(opts.url); const owner = parsed.owner || parsed.name; - const repo = parsed.owner ? parsed.name : undefined; + let repo = parsed.owner ? parsed.name : undefined; + // the github-discovery plugin passes an • as a repo name. This simply means it wants access to all repos + // that are available to the installation. + repo = repo === '*' ? undefined : repo; let type: GithubCredentialType = 'app'; let token = await this.githubAppCredentialsMux.getAppToken(owner, repo); From ea6871d2d907dfa8cb6fca3973d233044449ba58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Tue, 20 Jul 2021 20:12:31 +0200 Subject: [PATCH 019/712] simplify isOwnerOf using stringifyEntityRef MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Adelöw --- plugins/catalog-react/src/utils/isOwnerOf.ts | 25 +++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/plugins/catalog-react/src/utils/isOwnerOf.ts b/plugins/catalog-react/src/utils/isOwnerOf.ts index e62a0db1ba..38ad90e4a6 100644 --- a/plugins/catalog-react/src/utils/isOwnerOf.ts +++ b/plugins/catalog-react/src/utils/isOwnerOf.ts @@ -16,10 +16,10 @@ import { Entity, - EntityName, getEntityName, RELATION_MEMBER_OF, RELATION_OWNED_BY, + stringifyEntityRef, } from '@backstage/catalog-model'; import { getEntityRelations } from './getEntityRelations'; @@ -27,22 +27,19 @@ import { getEntityRelations } from './getEntityRelations'; * Get the related entity references. */ export function isOwnerOf(owner: Entity, owned: Entity) { - const possibleOwners: EntityName[] = [ - ...getEntityRelations(owner, RELATION_MEMBER_OF, { kind: 'group' }), - ...(owner ? [getEntityName(owner)] : []), - ]; + const possibleOwners = new Set( + [ + ...getEntityRelations(owner, RELATION_MEMBER_OF, { kind: 'group' }), + ...(owner ? [getEntityName(owner)] : []), + ].map(stringifyEntityRef), + ); - const owners = getEntityRelations(owned, RELATION_OWNED_BY); + const owners = getEntityRelations(owned, RELATION_OWNED_BY).map( + stringifyEntityRef, + ); for (const ownerItem of owners) { - if ( - possibleOwners.find( - o => - ownerItem.kind.toLowerCase() === o.kind.toLowerCase() && - ownerItem.namespace.toLowerCase() === o.namespace.toLowerCase() && - ownerItem.name.toLowerCase() === o.name.toLowerCase(), - ) !== undefined - ) { + if (possibleOwners.has(ownerItem)) { return true; } } From 5b98e2ba312574c92ed51681f74c4bc6cdb125b8 Mon Sep 17 00:00:00 2001 From: Nicolas Torres Date: Thu, 22 Jul 2021 18:57:54 +0200 Subject: [PATCH 020/712] Shows entity processing errors Signed-off-by: Nicolas Torres --- .../app/src/components/catalog/EntityPage.tsx | 9 ++ .../EntityProcessErrors.test.tsx | 91 +++++++++++++++++++ .../EntityProcessErrors.tsx | 43 +++++++++ .../components/EntityProcessErrors/index.ts | 17 ++++ plugins/catalog/src/index.ts | 1 + 5 files changed, 161 insertions(+) create mode 100644 plugins/catalog/src/components/EntityProcessErrors/EntityProcessErrors.test.tsx create mode 100644 plugins/catalog/src/components/EntityProcessErrors/EntityProcessErrors.tsx create mode 100644 plugins/catalog/src/components/EntityProcessErrors/index.ts diff --git a/packages/app/src/components/catalog/EntityPage.tsx b/packages/app/src/components/catalog/EntityPage.tsx index 16107a6cc0..549c4569cf 100644 --- a/packages/app/src/components/catalog/EntityPage.tsx +++ b/packages/app/src/components/catalog/EntityPage.tsx @@ -40,6 +40,8 @@ import { isKind, EntityHasResourcesCard, EntityOrphanWarning, + EntityProcessErrors, + hasErrors, isOrphan, } from '@backstage/plugin-catalog'; import { @@ -223,6 +225,13 @@ const overviewContent = ( + + + + + + + diff --git a/plugins/catalog/src/components/EntityProcessErrors/EntityProcessErrors.test.tsx b/plugins/catalog/src/components/EntityProcessErrors/EntityProcessErrors.test.tsx new file mode 100644 index 0000000000..28f4f92a27 --- /dev/null +++ b/plugins/catalog/src/components/EntityProcessErrors/EntityProcessErrors.test.tsx @@ -0,0 +1,91 @@ +/* + * Copyright 2020 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { EntityProvider } from '@backstage/plugin-catalog-react'; + +import { renderInTestApp } from '@backstage/test-utils'; +import React from 'react'; +import { EntityProcessErrors } from './EntityProcessErrors'; +import { Entity } from '@backstage/catalog-model'; +import { waitFor } from '@testing-library/react'; + +describe('', () => { + it('renders EntityProcessErrors if the entity has errors', async () => { + const entity: Entity = { + apiVersion: 'v1', + kind: 'Component', + metadata: { + name: 'software', + description: 'This is the description', + }, + + spec: { + owner: 'guest', + type: 'service', + lifecycle: 'production', + }, + status: { + items: [ + { + type: 'backstage.io/catalog-processing', + level: 'error', + message: + 'InputError: Policy check failed; caused by Error: Malformed envelope, /metadata/labels should be object', + error: { + name: 'InputError', + message: + 'Policy check failed; caused by Error: Malformed envelope, /metadata/labels should be object', + cause: { + name: 'Error', + message: + 'Malformed envelope, /metadata/labels should be object', + }, + }, + }, + { + type: 'backstage.io/catalog-processing', + level: 'error', + message: 'InputError: Foo', + error: { + name: 'InputError', + message: 'Foo', + cause: { + name: 'Error', + message: + 'Malformed envelope, /metadata/labels should be object', + }, + }, + }, + ], + }, + }; + + const { getByText } = await renderInTestApp( + + + , + ); + + await waitFor(() => { + expect( + getByText( + 'Error: Policy check failed; caused by Error: Malformed envelope, /metadata/labels should be object', + ), + ).toBeInTheDocument(); + expect(getByText('Error: Foo')).toBeInTheDocument(); + }); + }); +}); diff --git a/plugins/catalog/src/components/EntityProcessErrors/EntityProcessErrors.tsx b/plugins/catalog/src/components/EntityProcessErrors/EntityProcessErrors.tsx new file mode 100644 index 0000000000..3d1210290a --- /dev/null +++ b/plugins/catalog/src/components/EntityProcessErrors/EntityProcessErrors.tsx @@ -0,0 +1,43 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Entity } from '@backstage/catalog-model'; +import { useEntity } from '@backstage/plugin-catalog-react'; +import { Box } from '@material-ui/core'; +import React from 'react'; +import { ResponseErrorPanel } from '@backstage/core-components'; + +export const hasErrors = (entity: Entity) => entity?.status?.items?.length! > 0; + +/** + * Displays a list of errors if the entity is invalid. + */ +export const EntityProcessErrors = () => { + const { entity } = useEntity(); + + return ( + <> + {entity?.status?.items?.map( + ({ error }, index) => + error && ( + + + + ), + )} + + ); +}; diff --git a/plugins/catalog/src/components/EntityProcessErrors/index.ts b/plugins/catalog/src/components/EntityProcessErrors/index.ts new file mode 100644 index 0000000000..10d6d04ed2 --- /dev/null +++ b/plugins/catalog/src/components/EntityProcessErrors/index.ts @@ -0,0 +1,17 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { EntityProcessErrors, hasErrors } from './EntityProcessErrors'; diff --git a/plugins/catalog/src/index.ts b/plugins/catalog/src/index.ts index 4bef0950a2..d3f5d8e36b 100644 --- a/plugins/catalog/src/index.ts +++ b/plugins/catalog/src/index.ts @@ -23,6 +23,7 @@ export type { EntityRow as CatalogTableRow } from './components/CatalogTable'; export { CreateComponentButton } from './components/CreateComponentButton'; export { EntityLayout } from './components/EntityLayout'; export * from './components/EntityOrphanWarning'; +export * from './components/EntityProcessErrors'; export { EntityPageLayout } from './components/EntityPageLayout'; export * from './components/EntitySwitch'; export { Router } from './components/Router'; From 32dee9bbd0eb95f4a851ac15cfb1bcb6222307a3 Mon Sep 17 00:00:00 2001 From: Nicolas Torres Date: Thu, 22 Jul 2021 19:01:09 +0200 Subject: [PATCH 021/712] Error panel should have severity "error" Signed-off-by: Nicolas Torres --- .../core-components/src/components/ErrorPanel/ErrorPanel.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/core-components/src/components/ErrorPanel/ErrorPanel.tsx b/packages/core-components/src/components/ErrorPanel/ErrorPanel.tsx index 14b5d50325..f9996b9b1f 100644 --- a/packages/core-components/src/components/ErrorPanel/ErrorPanel.tsx +++ b/packages/core-components/src/components/ErrorPanel/ErrorPanel.tsx @@ -100,6 +100,7 @@ export const ErrorPanel = ({ }: PropsWithChildren) => { return ( From 80aa32e162d7bb35f00dd1626ed5ad5038b98742 Mon Sep 17 00:00:00 2001 From: Nicolas Torres Date: Thu, 22 Jul 2021 19:02:02 +0200 Subject: [PATCH 022/712] Changes warning panel appearance according to severity Signed-off-by: Nicolas Torres --- .../components/WarningPanel/WarningPanel.tsx | 68 ++++++++++++++----- 1 file changed, 52 insertions(+), 16 deletions(-) diff --git a/packages/core-components/src/components/WarningPanel/WarningPanel.tsx b/packages/core-components/src/components/WarningPanel/WarningPanel.tsx index 37ae5b2c62..23bd825787 100644 --- a/packages/core-components/src/components/WarningPanel/WarningPanel.tsx +++ b/packages/core-components/src/components/WarningPanel/WarningPanel.tsx @@ -27,25 +27,55 @@ import ErrorOutline from '@material-ui/icons/ErrorOutline'; import ExpandMoreIcon from '@material-ui/icons/ExpandMore'; import React from 'react'; +const getWarningTextColor = ( + severity: Props['severity'], + theme: BackstageTheme, +) => { + switch (severity) { + case 'error': + return theme.palette.errorText; + case 'info': + return theme.palette.infoText; + default: + return theme.palette.warningText; + } +}; + +const getWarningBackgroundColor = ( + severity: Props['severity'], + theme: BackstageTheme, +) => { + switch (severity) { + case 'error': + return theme.palette.errorBackground; + case 'info': + return theme.palette.infoBackground; + default: + return theme.palette.warningBackground; + } +}; + const useErrorOutlineStyles = makeStyles(theme => ({ root: { marginRight: theme.spacing(1), - fill: theme.palette.warningText, + fill: ({ severity }: Props) => getWarningTextColor(severity, theme), }, })); -const ErrorOutlineStyled = () => { - const classes = useErrorOutlineStyles(); + +const ErrorOutlineStyled = ({ severity }: Pick) => { + const classes = useErrorOutlineStyles({ severity }); return ; }; -const ExpandMoreIconStyled = () => { - const classes = useErrorOutlineStyles(); +const ExpandMoreIconStyled = ({ severity }: Pick) => { + const classes = useErrorOutlineStyles({ severity }); return ; }; const useStyles = makeStyles(theme => ({ panel: { - backgroundColor: theme.palette.warningBackground, - color: theme.palette.warningText, + backgroundColor: ({ severity }: Props) => + getWarningBackgroundColor(severity, theme), + color: ({ severity }: Props) => getWarningTextColor(severity, theme), verticalAlign: 'middle', }, summary: { @@ -53,14 +83,15 @@ const useStyles = makeStyles(theme => ({ flexDirection: 'row', }, summaryText: { - color: theme.palette.warningText, + color: ({ severity }: Props) => getWarningTextColor(severity, theme), fontWeight: 'bold', }, message: { width: '100%', display: 'block', - color: theme.palette.warningText, - backgroundColor: theme.palette.warningBackground, + color: ({ severity }: Props) => getWarningTextColor(severity, theme), + backgroundColor: ({ severity }: Props) => + getWarningBackgroundColor(severity, theme), }, details: { width: '100%', @@ -89,7 +120,7 @@ const capitalize = (s: string) => { * WarningPanel. Show a user friendly error message to a user similar to ErrorPanel except that the warning panel * only shows the warning message to the user. * - * @param {string} [severity=warning] Ability to change the severity of the alert. Not fully implemented. (error, warning, info) + * @param {string} [severity=warning] Ability to change the severity of the alert. * @param {string} [title] A title for the warning. If not supplied, "Warning" will be used. * @param {Object} [message] Optional more detailed user-friendly message elaborating on the cause of the error. * @param {Object} [children] Objects to provide context, such as a stack trace or detailed error reporting. @@ -97,11 +128,16 @@ const capitalize = (s: string) => { */ export const WarningPanel = (props: Props) => { const classes = useStyles(props); - const { severity, title, message, children, defaultExpanded } = props; + const { + severity = 'warning', + title, + message, + children, + defaultExpanded, + } = props; // If no severity or title provided, the heading will read simply "Warning" - const subTitle = - (severity ? capitalize(severity) : 'Warning') + (title ? `: ${title}` : ''); + const subTitle = capitalize(severity) + (title ? `: ${title}` : ''); return ( { role="alert" > } + expandIcon={} className={classes.summary} > - + {subTitle} From 224e54484beb3f8c86a50e682f0573874026d55c Mon Sep 17 00:00:00 2001 From: Nicolas Torres Date: Thu, 22 Jul 2021 19:09:00 +0200 Subject: [PATCH 023/712] Adds changelog Signed-off-by: Nicolas Torres --- .changeset/tricky-trains-change.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .changeset/tricky-trains-change.md diff --git a/.changeset/tricky-trains-change.md b/.changeset/tricky-trains-change.md new file mode 100644 index 0000000000..95fa8e3398 --- /dev/null +++ b/.changeset/tricky-trains-change.md @@ -0,0 +1,8 @@ +--- +'example-app': minor +'@backstage/core-components': minor +'@backstage/plugin-catalog': minor +--- + +Displays errors in the entity page if the entity yaml is malformed +WarningPanel changes color depending on the severity From 128e57e077ace1746b26552432fd212adb1f5689 Mon Sep 17 00:00:00 2001 From: Nicolas Torres Date: Thu, 22 Jul 2021 19:21:17 +0200 Subject: [PATCH 024/712] Merge remote-tracking branch 'upstream/master' into feature/show-catalog-errors Signed-off-by: Nicolas Torres --- .changeset/clever-pigs-drum.md | 5 - .changeset/forty-singers-look.md | 5 - .changeset/honest-ghosts-listen.md | 5 - .changeset/nasty-worms-approve.md | 5 - .changeset/spotty-pandas-deny.md | 5 - .changeset/techdocs-young-gorillas-share.md | 5 - .changeset/wicked-emus-deny.md | 8 - .github/styles/vocab.txt | 1 + ADOPTERS.md | 1 + .../software-catalog/catalog-customization.md | 52 ++- .../software-templates/configuration.md | 9 +- docs/getting-started/index.md | 8 +- docs/overview/roadmap.md | 233 ++++++++----- docs/plugins/structure-of-a-plugin.md | 7 +- microsite/package.json | 2 +- microsite/yarn.lock | 8 +- packages/app/package.json | 2 + .../app/src/components/catalog/EntityPage.tsx | 31 +- .../app/src/components/search/SearchPage.tsx | 91 +++-- packages/backend-common/CHANGELOG.md | 17 + packages/backend-common/api-report.md | 11 + packages/backend-common/package.json | 6 +- .../src/reading/FetchUrlReader.test.ts | 88 +++++ .../src/reading/FetchUrlReader.ts | 34 +- packages/backend-common/src/service/index.ts | 2 +- .../src/service/lib/ServiceBuilderImpl.ts | 16 +- packages/backend-common/src/service/types.ts | 13 + packages/backend/CHANGELOG.md | 13 + packages/backend/package.json | 18 +- packages/backend/src/plugins/search.ts | 6 + packages/catalog-client/CHANGELOG.md | 6 + packages/catalog-client/package.json | 4 +- packages/cli/CHANGELOG.md | 6 + packages/cli/package.json | 12 +- packages/codemods/CHANGELOG.md | 8 + packages/codemods/package.json | 2 +- packages/core-app-api/CHANGELOG.md | 8 + packages/core-app-api/package.json | 8 +- packages/core-components/CHANGELOG.md | 15 + packages/core-components/api-report.md | 10 + packages/core-components/package.json | 8 +- .../src/components/EmptyState/EmptyState.tsx | 20 +- .../components/EmptyState/EmptyStateImage.tsx | 2 +- .../SupportButton/SupportButton.tsx | 26 +- .../layout/ContentHeader/ContentHeader.tsx | 18 +- .../src/layout/Header/Header.tsx | 28 +- .../src/layout/HeaderLabel/HeaderLabel.tsx | 28 +- .../src/layout/Page/PageWithHeader.tsx | 37 +- .../core-components/src/layout/Page/index.ts | 1 + .../src/layout/Sidebar/Items.tsx | 7 +- packages/create-app/CHANGELOG.md | 17 + packages/create-app/package.json | 2 +- .../app/src/components/catalog/EntityPage.tsx | 7 + packages/dev-utils/CHANGELOG.md | 11 + packages/dev-utils/api-report.md | 1 + packages/dev-utils/package.json | 12 +- packages/dev-utils/src/devApp/render.tsx | 11 + packages/techdocs-common/CHANGELOG.md | 95 +++++ packages/techdocs-common/api-report.md | 28 +- packages/techdocs-common/package.json | 10 +- packages/techdocs-common/src/helpers.test.ts | 166 ++++++++- packages/techdocs-common/src/helpers.ts | 84 ++++- .../__fixtures__/mkdocs_valid_doc_dir.yml | 3 + .../src/stages/generate/helpers.test.ts | 10 + .../src/stages/generate/helpers.ts | 6 +- .../src/stages/generate/techdocs.test.ts | 3 +- .../src/stages/generate/techdocs.ts | 3 +- .../src/stages/prepare/dir.test.ts | 18 +- .../techdocs-common/src/stages/prepare/dir.ts | 96 ++---- packages/test-utils/CHANGELOG.md | 8 + packages/test-utils/api-report.md | 15 +- packages/test-utils/package.json | 6 +- .../src/testUtils/mockBreakpoint.ts | 102 ++---- plugins/api-docs/CHANGELOG.md | 10 + plugins/api-docs/README.md | 16 +- plugins/api-docs/api-report.md | 6 +- plugins/api-docs/package.json | 16 +- .../ApiExplorerPage/ApiExplorerPage.tsx | 68 ++-- plugins/auth-backend/CHANGELOG.md | 10 + plugins/auth-backend/api-report.md | 13 +- plugins/auth-backend/package.json | 10 +- plugins/auth-backend/src/index.ts | 1 + plugins/badges/package.json | 10 +- plugins/bitrise/package.json | 10 +- plugins/catalog-import/CHANGELOG.md | 10 + plugins/catalog-import/package.json | 16 +- .../src/components/ImportComponentPage.tsx | 34 +- plugins/catalog-react/CHANGELOG.md | 10 + plugins/catalog-react/api-report.md | 1 + plugins/catalog-react/package.json | 14 +- plugins/catalog-react/src/hooks/useEntity.ts | 12 +- .../catalog-react/src/testUtils/providers.tsx | 4 +- plugins/catalog/CHANGELOG.md | 21 ++ plugins/catalog/api-report.md | 33 +- plugins/catalog/package.json | 16 +- .../components/CatalogPage/CatalogLayout.tsx | 42 --- .../CatalogPage/CatalogPage.test.tsx | 10 + .../components/CatalogPage/CatalogPage.tsx | 85 ++--- .../src/components/CatalogPage/index.ts | 1 - .../CreateComponentButton.tsx | 6 +- .../components/CreateComponentButton/index.ts | 1 + .../components/EntityLayout/EntityLayout.tsx | 39 ++- .../EntityLoaderProvider.tsx | 4 +- .../EntityListContainer.tsx | 24 ++ .../FilteredEntityLayout/FilterContainer.tsx | 71 ++++ .../FilteredEntityLayout.tsx | 24 ++ .../components/FilteredEntityLayout/index.ts | 19 + plugins/catalog/src/index.ts | 16 +- plugins/circleci/package.json | 10 +- plugins/cloudbuild/package.json | 10 +- plugins/code-coverage/package.json | 10 +- plugins/config-schema/package.json | 10 +- plugins/cost-insights/package.json | 10 +- plugins/explore/package.json | 10 +- plugins/fossa/package.json | 10 +- plugins/gcp-projects/package.json | 10 +- plugins/git-release-manager/CHANGELOG.md | 13 + plugins/git-release-manager/api-report.md | 1 + plugins/git-release-manager/dev/index.tsx | 76 +++- plugins/git-release-manager/package.json | 17 +- .../src/GitReleaseManager.tsx | 35 +- .../CreateReleaseCandidate.tsx | 4 +- .../hooks/useCreateReleaseCandidate.ts | 16 +- .../src/features/Features.tsx | 8 + .../src/features/Patch/Patch.tsx | 4 +- .../src/features/Patch/PatchBody.tsx | 4 +- .../src/features/Patch/hooks/usePatch.ts | 28 +- .../src/features/PromoteRc/PromoteRc.tsx | 4 +- .../src/features/PromoteRc/PromoteRcBody.tsx | 4 +- .../features/PromoteRc/hooks/usePromoteRc.ts | 22 +- .../git-release-manager/src/types/types.ts | 26 +- plugins/github-actions/package.json | 10 +- plugins/github-deployments/package.json | 10 +- plugins/gitops-profiles/package.json | 10 +- plugins/graphiql/package.json | 10 +- plugins/ilert/package.json | 10 +- plugins/jenkins-backend/CHANGELOG.md | 10 + plugins/jenkins-backend/package.json | 8 +- plugins/jenkins/package.json | 10 +- plugins/kafka/package.json | 10 +- plugins/kubernetes-backend/CHANGELOG.md | 8 + plugins/kubernetes-backend/api-report.md | 24 +- plugins/kubernetes-backend/package.json | 10 +- .../ConfigClusterLocator.test.ts | 44 +++ .../cluster-locator/ConfigClusterLocator.ts | 23 +- .../src/cluster-locator/GkeClusterLocator.ts | 4 +- .../AwsIamKubernetesAuthTranslator.test.ts | 100 +++++- .../AwsIamKubernetesAuthTranslator.ts | 89 ++++- .../GoogleKubernetesAuthTranslator.ts | 8 +- .../ServiceAccountKubernetesAuthTranslator.ts | 6 +- plugins/kubernetes-backend/src/types/types.ts | 12 +- plugins/kubernetes/package.json | 10 +- plugins/lighthouse/package.json | 10 +- plugins/newrelic/package.json | 10 +- plugins/org/package.json | 10 +- plugins/pagerduty/package.json | 10 +- plugins/register-component/package.json | 10 +- plugins/rollbar/package.json | 10 +- plugins/scaffolder-backend/CHANGELOG.md | 14 + plugins/scaffolder-backend/api-report.md | 7 + plugins/scaffolder-backend/package.json | 10 +- .../__mocks__/@octokit/rest/index.ts | 5 + .../actions/builtin/createBuiltinActions.ts | 4 + .../github/githubActionsDispatch.test.ts | 117 +++++++ .../builtin/github/githubActionsDispatch.ts | 115 ++++++ .../actions/builtin/github/index.ts | 17 + .../src/scaffolder/actions/builtin/index.ts | 1 + plugins/scaffolder/package.json | 10 +- plugins/search/CHANGELOG.md | 9 + plugins/search/api-report.md | 11 + plugins/search/package.json | 14 +- .../components/SearchType/SearchType.test.tsx | 231 +++++++++++++ .../src/components/SearchType/SearchType.tsx | 110 ++++++ .../search/src/components/SearchType/index.ts | 17 + plugins/search/src/components/index.tsx | 1 + plugins/search/src/index.ts | 1 + plugins/sentry/package.json | 10 +- plugins/shortcuts/package.json | 10 +- plugins/sonarqube/package.json | 10 +- plugins/splunk-on-call/package.json | 10 +- plugins/tech-radar/package.json | 10 +- plugins/techdocs-backend/CHANGELOG.md | 96 ++++++ plugins/techdocs-backend/api-report.md | 51 +++ plugins/techdocs-backend/package.json | 15 +- .../src/DocsBuilder/builder.ts | 10 +- plugins/techdocs-backend/src/index.ts | 1 + .../search/DefaultTechDocsCollator.test.ts | 149 ++++++++ .../src/search/DefaultTechDocsCollator.ts | 149 ++++++++ plugins/techdocs-backend/src/search/index.ts | 17 + .../src/service/DocsSynchronizer.test.ts | 2 + .../src/service/DocsSynchronizer.ts | 26 +- .../techdocs-backend/src/service/router.ts | 11 +- plugins/techdocs/CHANGELOG.md | 23 ++ plugins/techdocs/api-report.md | 11 + plugins/techdocs/package.json | 15 +- .../DocsResultListItem.test.tsx | 50 +++ .../DocsResultListItem/DocsResultListItem.tsx | 60 ++++ .../components/DocsResultListItem/index.ts | 17 + plugins/techdocs/src/index.ts | 1 + .../techdocs/src/reader/components/Reader.tsx | 312 ++++++++++------- .../reader/components/useReaderState.test.tsx | 199 +++++++++-- .../src/reader/components/useReaderState.ts | 44 ++- .../reader/transformers/addBaseUrl.test.ts | 35 +- .../src/reader/transformers/addBaseUrl.ts | 30 +- .../transformers/addGitFeedbackLink.test.ts | 20 +- .../transformers/addLinkClickListener.test.ts | 8 +- .../src/reader/transformers/index.test.ts | 4 +- .../src/reader/transformers/injectCss.test.ts | 6 +- .../reader/transformers/onCssReady.test.ts | 21 +- .../src/reader/transformers/onCssReady.ts | 6 +- .../transformers/removeMkdocsHeader.test.ts | 26 +- .../transformers/rewriteDocLinks.test.ts | 12 +- .../transformers/sanitizeDOM/index.test.ts | 55 +-- .../transformers/simplifyMkdocsFooter.test.ts | 26 +- .../src/reader/transformers/transformer.ts | 12 +- plugins/techdocs/src/test-utils/shadowDom.ts | 8 +- plugins/todo/package.json | 10 +- plugins/user-settings/CHANGELOG.md | 8 + plugins/user-settings/package.json | 12 +- .../FeatureFlags/FeatureFlagsItem.tsx | 19 +- plugins/welcome/package.json | 10 +- plugins/xcmetrics/package.json | 10 +- yarn.lock | 326 +++++++++++++----- 223 files changed, 4361 insertions(+), 1492 deletions(-) delete mode 100644 .changeset/clever-pigs-drum.md delete mode 100644 .changeset/forty-singers-look.md delete mode 100644 .changeset/honest-ghosts-listen.md delete mode 100644 .changeset/nasty-worms-approve.md delete mode 100644 .changeset/spotty-pandas-deny.md delete mode 100644 .changeset/techdocs-young-gorillas-share.md delete mode 100644 .changeset/wicked-emus-deny.md rename plugins/api-docs/src/components/ApiExplorerPage/ApiExplorerLayout.tsx => packages/core-components/src/layout/Page/PageWithHeader.tsx (50%) create mode 100644 packages/techdocs-common/src/stages/generate/__fixtures__/mkdocs_valid_doc_dir.yml delete mode 100644 plugins/catalog/src/components/CatalogPage/CatalogLayout.tsx create mode 100644 plugins/catalog/src/components/FilteredEntityLayout/EntityListContainer.tsx create mode 100644 plugins/catalog/src/components/FilteredEntityLayout/FilterContainer.tsx create mode 100644 plugins/catalog/src/components/FilteredEntityLayout/FilteredEntityLayout.tsx create mode 100644 plugins/catalog/src/components/FilteredEntityLayout/index.ts create mode 100644 plugins/jenkins-backend/CHANGELOG.md create mode 100644 plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/githubActionsDispatch.test.ts create mode 100644 plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/githubActionsDispatch.ts create mode 100644 plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/index.ts create mode 100644 plugins/search/src/components/SearchType/SearchType.test.tsx create mode 100644 plugins/search/src/components/SearchType/SearchType.tsx create mode 100644 plugins/search/src/components/SearchType/index.ts create mode 100644 plugins/techdocs-backend/src/search/DefaultTechDocsCollator.test.ts create mode 100644 plugins/techdocs-backend/src/search/DefaultTechDocsCollator.ts create mode 100644 plugins/techdocs-backend/src/search/index.ts create mode 100644 plugins/techdocs/src/components/DocsResultListItem/DocsResultListItem.test.tsx create mode 100644 plugins/techdocs/src/components/DocsResultListItem/DocsResultListItem.tsx create mode 100644 plugins/techdocs/src/components/DocsResultListItem/index.ts diff --git a/.changeset/clever-pigs-drum.md b/.changeset/clever-pigs-drum.md deleted file mode 100644 index bbc8ee5f90..0000000000 --- a/.changeset/clever-pigs-drum.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/catalog-client': patch ---- - -Export `CatalogRequestOptions` type diff --git a/.changeset/forty-singers-look.md b/.changeset/forty-singers-look.md deleted file mode 100644 index 1b3919e214..0000000000 --- a/.changeset/forty-singers-look.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-app-api': patch ---- - -Fix a bug in `FlatRoutes` that prevented outlets from working with the root route, as well as matching root routes too broadly. diff --git a/.changeset/honest-ghosts-listen.md b/.changeset/honest-ghosts-listen.md deleted file mode 100644 index 411a7e8908..0000000000 --- a/.changeset/honest-ghosts-listen.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': patch ---- - -chore: bump `eslint` to `7.30.0` diff --git a/.changeset/nasty-worms-approve.md b/.changeset/nasty-worms-approve.md deleted file mode 100644 index c3ed7c1b35..0000000000 --- a/.changeset/nasty-worms-approve.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog': patch ---- - -Export `CatalogClientWrapper` class diff --git a/.changeset/spotty-pandas-deny.md b/.changeset/spotty-pandas-deny.md deleted file mode 100644 index c3da6afe2b..0000000000 --- a/.changeset/spotty-pandas-deny.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend': patch ---- - -- Move out the `cookiecutter` templating to its own module that is depended on by the `scaffolder-backend` plugin. No breaking change yet, but we will drop first class support for `cookiecutter` in the future and it will become an opt-in feature. diff --git a/.changeset/techdocs-young-gorillas-share.md b/.changeset/techdocs-young-gorillas-share.md deleted file mode 100644 index 6b1d3f03da..0000000000 --- a/.changeset/techdocs-young-gorillas-share.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-techdocs': patch ---- - -Handle error responses in `getTechDocsMetadata` and `getEntityMetadata` such that `` doesn't throw errors. diff --git a/.changeset/wicked-emus-deny.md b/.changeset/wicked-emus-deny.md deleted file mode 100644 index ff6788dbb2..0000000000 --- a/.changeset/wicked-emus-deny.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@backstage/create-app': patch -'@backstage/plugin-scaffolder-backend': patch ---- - -Moved sample software templates to the [backstage/software-templates](https://github.com/backstage/software-templates) repository. If you previously referenced the sample templates straight from `scaffolder-backend` plugin in the main [backstage/backstage](https://github.com/backstage/backstage) repository in your `app-config.yaml`, these references will need to be updated. - -See https://github.com/backstage/software-templates diff --git a/.github/styles/vocab.txt b/.github/styles/vocab.txt index e6af881f1e..186207041e 100644 --- a/.github/styles/vocab.txt +++ b/.github/styles/vocab.txt @@ -212,6 +212,7 @@ repos rerender Reusability reusability +roadmaps rollbar Rollbar Rollup diff --git a/ADOPTERS.md b/ADOPTERS.md index 9845f1a929..041242c083 100644 --- a/ADOPTERS.md +++ b/ADOPTERS.md @@ -38,3 +38,4 @@ | [Workrise](https://www.workrise.com/) | [Michael Rode](https://github.com/michaelrode) | Developer portal, main gateway to our infrastructure, documentation and internal tooling. | | [RedVentures](https://www.redventures.com/) | [Chris Diaz](https://github.com/codingdiaz) | Developer portal that brings everything an engineer needs to provide value into a single pane of glass. | | [MavTek](https://www.mavtek.com/) | [@fgascon](https://github.com/fgascon) | Developer portal focused on standardizing practices, centralizing documentation and streamlining developer practices. | +| [QuintoAndar](https://www.quintoandar.com.br/) | [@quintoandar](https://github.com/quintoandar) | Developer portal, services catalog and centralization of service metrics. | diff --git a/docs/features/software-catalog/catalog-customization.md b/docs/features/software-catalog/catalog-customization.md index e0228bf7d0..0c11d8f476 100644 --- a/docs/features/software-catalog/catalog-customization.md +++ b/docs/features/software-catalog/catalog-customization.md @@ -27,27 +27,33 @@ default catalog page and create a component in a ```tsx // imports, etc omitted for brevity. for full source see: // https://github.com/backstage/backstage/blob/master/plugins/catalog/src/components/CatalogPage/CatalogPage.tsx -export const CustomCatalogPage = () => { +export const CustomCatalogPage = ({ + columns, + actions, + initiallySelectedFilter = 'owned', +}: CatalogPageProps) => { return ( - + All your software catalog entities -
- -
+ + +
- -
-
+ + + + + +
-
+ ); }; ``` @@ -137,19 +143,27 @@ export const EntitySecurityTierPicker = () => { Now we can add the component to `CustomCatalogPage`: ```diff -export const CustomCatalogPage = () => { +export const CustomCatalogPage = ({ + columns, + actions, + initiallySelectedFilter = 'owned', +}: CatalogPageProps) => { return ( ... - -
+ + +
- -
+ + + + + + ... }; ``` diff --git a/docs/features/software-templates/configuration.md b/docs/features/software-templates/configuration.md index cdd8166889..737f77f67b 100644 --- a/docs/features/software-templates/configuration.md +++ b/docs/features/software-templates/configuration.md @@ -33,9 +33,12 @@ scaffolder: ### Disabling Docker in Docker situation (Optional) -Software Templates use -[Cookiecutter](https://github.com/cookiecutter/cookiecutter) as a templating -library. By default it will use the +Software templates use the `fetch:template` action by default, which requires no +external dependencies and offers a +[Cookiecutter-compatible mode](https://backstage.io/docs/features/software-templates/builtin-actions#using-cookiecuttercompat-mode). +There is also a `fetch:cookiecutter` action, which uses +[Cookiecutter](https://github.com/cookiecutter/cookiecutter) directly for +templating. By default, the `fetch:cookiecutter` action will use the [scaffolder-backend/Cookiecutter](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend/scripts/Cookiecutter.dockerfile) docker image. diff --git a/docs/getting-started/index.md b/docs/getting-started/index.md index 13b52181df..b01afac5c3 100644 --- a/docs/getting-started/index.md +++ b/docs/getting-started/index.md @@ -24,11 +24,9 @@ an easier path to make Pull Requests. Backstage provides the `@backstage/create-app` package to scaffold standalone instances of Backstage. You will need to have [Node.js](https://nodejs.org/en/download/) Active LTS Release installed -(currently v14), [Yarn](https://classic.yarnpkg.com/en/docs/install) and -[Python](https://www.python.org/downloads/) (although you likely have it -already). You will also need to have -[Docker](https://docs.docker.com/engine/install/) installed to use some features -like Software Templates and TechDocs. +(currently v14) and [Yarn](https://classic.yarnpkg.com/en/docs/install). You +will also need to have [Docker](https://docs.docker.com/engine/install/) +installed to use some features like Software Templates and TechDocs. Using `npx` you can then run the following to create an app in a chosen subdirectory of your current working directory: diff --git a/docs/overview/roadmap.md b/docs/overview/roadmap.md index 0013c99c6b..fa34ca3d9a 100644 --- a/docs/overview/roadmap.md +++ b/docs/overview/roadmap.md @@ -1,116 +1,185 @@ --- id: roadmap -title: Project roadmap -description: Roadmap of Backstage Project +title: Roadmap +description: Roadmap of Backstage --- -## Current status +## The Backstage Roadmap -> Backstage is currently under rapid development. This means that you can expect -> APIs and features to evolve. It is also recommended that teams who adopt -> Backstage today [upgrade their installation](../cli/commands.md#versionsbump) -> as new [releases](https://github.com/backstage/backstage/releases) become -> available, as Backwards compatibility is not yet guaranteed. +Backstage is currently under rapid development. This page details the project’s +public roadmap, the result of ongoing collaboration between the core maintainers +and the broader Backstage community. Treat the roadmap as an ever-evolving guide +to keep us aligned as a community on: -## Phases +- Upcoming enhancements and benefits, +- Planning contributions and support, +- Planning the project’s adoption, +- Understanding what things are coming soon, +- Avoiding duplication of work -We have divided the project into three high-level _phases_: +### How to influence the roadmap -- 🐣 **Phase 1:** Extensible frontend platform (Done ✅) - You will be able to - easily create a single consistent UI layer for your internal infrastructure - and tools. A set of reusable - [UX patterns and components](https://backstage.io/storybook) help ensure a - consistent experience between tools. +As we evolve Backstage, we want you to contribute actively in the journey to +define the most effective developer experience in the world. -- 🐢 **Phase 2:** Software Catalog - ([alpha released](https://backstage.io/blog/2020/06/22/backstage-service-catalog-alpha)) - - With a single catalog, Backstage makes it easy for a team to manage ten - services — and makes it possible for your company to manage thousands of them. +A roadmap is only useful if it captures real needs. If you have success stories, +feedback, or ideas, we want to hear from you! If you plan to work (or are +already working) on a new or existing feature, please let us know, so that we +can update the roadmap accordingly. We are also happy to share knowledge and +context that will help your feature land successfully. -- 🐇 **Phase 3:** Ecosystem (ongoing, see - [Plugin Marketplace](https://backstage.io/plugins)) - Everyone's - infrastructure stack is different. By fostering a vibrant community of - contributors we hope to provide an ecosystem of Open Source - plugins/integrations that allows you to pick the tools that match your stack. - -## Detailed roadmap - -If you have questions about the roadmap or want to provide feedback, we would -love to hear from you! Please create an -[Issue](https://github.com/backstage/backstage/issues/new/choose), ping us on -[Discord](https://discord.gg/EBHEGzX) or reach out directly at -[backstage-interest@spotify.com](mailto:backstage-interest@spotify.com). - -Want to help out? Awesome ❤️ Head over to +You can also head over to the [CONTRIBUTING](https://github.com/backstage/backstage/blob/master/CONTRIBUTING.md) guidelines to get started. -### Ongoing work 🚧 +If you have specific questions about the roadmap, please create an +[issue](https://github.com/backstage/backstage/issues/new/choose), ping us on +[Discord](https://discord.gg/awD6SxgQ), or +[book time](http://calendly.com/spotify-backstage) with the Spotify team. -- **[Platform stabilization](https://github.com/backstage/backstage/milestone/19)** - - Stabilize the core of Backstage, including its core features, so that the - platform can be depended on for production use. After this, plugins will - require little-to-no maintenance. +### How to read the roadmap -- **[Kubernetes plugin for service owners](https://github.com/backstage/backstage/issues/2857)** - - Improve native support for Kubernetes, making it easier for service owners to - see and manage their services running in K8s, regardless if that's locally, in - AWS, GCS, Azure, or elsewhere. +The Backstage roadmap lays out both [“what’s next”](#whats-next) and +[“future work”](#future-work). With "next" we mean features planned for release +within the ongoing quarter starting in July until September 2021 included. With +"future" we mean features in the radar, but not yet scheduled. -- **[Search platform](../features/search/README.md)** - Evolve the basic search - functionality currently available into a platform that **a)** enables search - across the software catalog, TechDocs, and any other information exposed by - plugins, and **b)** supports a variety of search engine technologies. +The long-term roadmap (12 - 36 months) is not detailed in the public roadmap. +Third-party contributions are also not currently included in the roadmap. Let us +know about any ongoing developments and we’re happy to include it here as well. -- **[Software Templates V2](https://github.com/backstage/backstage/issues/2771)** - - Expand the templates to make the steps more composable by adding the ability - to add more steps for custom logic, including webhooks and using authorization - from integrations. +### Roadmap evolution -### Future work 🔮 +Will this roadmap change? Obviously! -- **Golden Path for Plugin Development** - Create an easy, standardized way for - developers to build plugins that will encourage contributions and lead to a - richer ecosystem for everyone. +Roadmap are always evolving and ours is no different; you can expect to see this +updated roughly every month. -- **[GraphQL API](https://github.com/backstage/backstage/milestone/13)** - A - GraphQL API will open up the rich metadata provided by Backstage in a single - query. Plugins can easily query this API as well as extend the model where - needed. +## What’s next -- **Inter-Plugin Communication** - **[Under consideration]** Establish more - clearly defined patterns for plugins to communicate. +The feature set below is planned for the ongoing quarter, and grouped by theme. +The list order doesn’t necessarily reflect priority, and the development/release +cycle will vary based on maintainer schedules. -- **Improved Access Control** - **[Under consideration]** Provide finer grained - access controls and management for better control of the platform user - experience. +### Backstage Core -### Plugins +The following features are planned for release: -Building and maintaining [plugins](https://backstage.io/plugins) is the work of -the entire Backstage community. +- **Composable homepage:** We’re seeing lots of interest from the community in + reusable components to build a homepage experience where users can easily + surface what they might find useful to start their tasks. Check out the + [milestone](https://github.com/backstage/backstage/milestone/34) for further + details. +- **Improved responsiveness:** Check out the + [RFC here](https://github.com/backstage/backstage/issues/6318) for further + details on how to improve the responsiveness for Backstage's UI. -A list of plugins that are in development is -[available here](https://github.com/backstage/backstage/issues?q=is%3Aissue+is%3Aopen+label%3Aplugin+sort%3Areactions-%2B1-desc). -We strongly recommend to upvote 👍 plugins you are interested in. This helps us -and the community prioritize what plugins to build. +### Software Templates -Are you missing a plugin for your favorite tool? Please -[suggest a new one](https://github.com/backstage/backstage/issues/new?labels=plugin&template=plugin_template.md&title=%5BPlugin%5D+THE+PLUGIN+NAME). -Chances are that someone will jump in and help build it. +The following features are planned for release:: -### Community Initiatives 🧑‍🤝‍🧑 +- **Re-creation/resubmission in case of failure:** Speed up productivity by + allowing developers to relaunch a project after a failure or any unexpected + problem. In the current version, this task requires retyping and a full + re-creation from scratch. +- **Performance and usability improvements for contributors:** Reach a relevant + improvement in templating's performance through the replacement of + [handlebars](https://handlebarsjs.com/). Other replacements will be considered + as part of this task (possibly + [cookiecutter](https://cookiecutter.readthedocs.io/)) for easier software + template creation, allowing more contributors to reach their goals without + having to learn new tooling. +- **Improved extensibility through inclusion:** Make software templates more + maintainable and extensible by adding `$include` support for parameters. +- **Authenticated job creation:** Created jobs will be able to run with an + authenticated user with all actions tracked for future consumption and + evidence. Track users creating jobs and make “jobs created by me” reporting + available. -- [**Backstage Community Sessions**](https://github.com/backstage/community#meetups) - - A monthly meetup for the community to come together to share and learn about - the latest happenings in Backstage. +### Software Catalog -- **Backstage Hackathons** - (Coming soon) Open to everyone in our Backstage - community, a celebration of you, the project and building awesome things - together +The following features are planned for release: -### Completed milestones ✅ +- **Request For Comments (RFC) for composability improvements (routing):** + Enable plugins to be auto-added and make plugin installation and upgrades + easier for all Backstage users. This includes information card layouts, entity + pages containing content and hooking the external header, considering the + support of a separate deployment, and configuration for plugins. +- **Removing duplicated entities in catalog:** As any adopter knows, a software + catalog can contain thousands or more entities and it is very important to + avoid duplications in naming to prevent failures. With this development task, + two entities with the same name won't be allowed as described + [here](https://github.com/backstage/backstage/issues/4760). +- **Connecting identity to ownership to prepare for role-based access control + ([RBAC](https://en.wikipedia.org/wiki/Role-based_access_control)):** This is a + first step to supporting RBAC for the software catalog (see the + [future work section](#future-work) for further details). Provide each entity + within the software catalog with a recognized owner. +- **Catalog performance improvements through improved caching:** Fix the + performance gaps in the catalog processor, which currently doesn’t have a + strong caching mechanism. The current version often requires fetching a + relevant amount of data, especially at scale. +### Search + +The following features are planned for release: + +- ElasticSearch integration: Add ElasticSearch to the Search Platform as the + underlying search engine. Check out the + [milestone here](https://github.com/backstage/backstage/milestone/27) for + further details. + +### TechDocs + +The following features are planned for release: + +- **TechDocs beta release:** Fix remaining bugs to get TechDocs to Beta. Check + out the [milestone here](https://github.com/backstage/backstage/milestone/29) + for further details. + +## Future work + +The following feature list doesn’t represent a commitment to develop and the +list order doesn’t reflect any priority or importance. But these features are on +the maintainers’ radar, with clear interest expressed by the community. + +- **Improved UX design:** Provide a better Backstage user experience through + visual guidelines and templates, especially navigation across plug-ins and + portal functionalities. +- **Catalog composability (routing):** Follow up development after the RFC + planned for the ongoing quarter (see [what’s next](#whats-next) for further + details). +- **Catalog-import improvements:** Provide a faster (scalability) and better + (more features like move/rename) way to import entities into the Software + Catalog. Importing items in the Software Catalog is crucial for creating a + Backstage proof-of-concept or testing/planning for broader organizational + adoption. This enhancement better supports getting developers to use Backstage + with less effort and customization. +- **Catalog improvements:** Add pagination and sourcing to Software Catalog. +- **[GraphQL](https://graphql.org/) support:** Introduce the ability to query + Backstage backend services with a standard query language for APIs. +- **Software templates performance improvements through decoupling a separate + worker:** Improve performance through decoupling resource-consuming services + and making them asynchronous. In the current version, project auto-creation + through the Software Templating system can consume a lot of resources and + bottleneck many concurrent projects created simultaneously. +- **API discovery and documentation:** Add better support for the + [gRPC](https://grpc.io/). +- **Adding TechDocs search to the Search Platform:** Having this capability in + place will provide a better and new major version of the Search Platform + (v3.0). You can refer to the + [milestone here](https://github.com/backstage/backstage/milestone/28) for + further details. +- **TechDocs GA release:** Work toward enhancements necessary to get TechDocs to + general availability. Check out the + [milestone here](https://github.com/backstage/backstage/milestone/30) for + further details. + +## Completed milestones + +Read more about the completed (and released) features for reference. + +- [[Search] Out-of-the-Box Implementation (Alpha)](https://github.com/backstage/backstage/milestone/26) - [Deploy a product demo at `demo.backstage.io`](https://demo.backstage.io) - [Kubernetes plugin - v1](https://github.com/backstage/backstage/tree/master/plugins/kubernetes) - [Helm charts](https://github.com/backstage/backstage/tree/master/contrib/chart/backstage) diff --git a/docs/plugins/structure-of-a-plugin.md b/docs/plugins/structure-of-a-plugin.md index beffcdb313..99a55745c5 100644 --- a/docs/plugins/structure-of-a-plugin.md +++ b/docs/plugins/structure-of-a-plugin.md @@ -99,15 +99,14 @@ You may tweak these components, rename them and/or replace them completely. ## Connecting the plugin to the Backstage app -There are three things needed for a Backstage app to start making use of a -plugin. +There are two things needed for a Backstage app to start making use of a plugin. 1. Add plugin as dependency in `app/package.json` 2. Import and use one or more plugin extensions, for example in `app/src/App.tsx`. -Luckily these three steps happen automatically when you create a plugin with the -Backstage CLI. +Luckily both of these steps happen automatically when you create a plugin with +the Backstage CLI. ## Talking to the outside world diff --git a/microsite/package.json b/microsite/package.json index eee549fb70..532bb62d15 100644 --- a/microsite/package.json +++ b/microsite/package.json @@ -16,7 +16,7 @@ "lock:check": "yarn-lock-check" }, "devDependencies": { - "@spotify/prettier-config": "^10.0.0", + "@spotify/prettier-config": "^11.0.0", "docusaurus": "^2.0.0-alpha.70", "js-yaml": "^4.1.0", "prettier": "^2.3.2", diff --git a/microsite/yarn.lock b/microsite/yarn.lock index 1da9288808..0f7ddb9c60 100644 --- a/microsite/yarn.lock +++ b/microsite/yarn.lock @@ -909,10 +909,10 @@ resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" integrity sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow== -"@spotify/prettier-config@^10.0.0": - version "10.0.0" - resolved "https://registry.npmjs.org/@spotify/prettier-config/-/prettier-config-10.0.0.tgz#fa076d98d2e7e6c53dd3d86a696307a7010bd056" - integrity sha512-VYOdo8P7lIScAkl02nB9KpUAuOYMManryBIBuKJkAw5D3aVtLobfmdIKvdV6MqEmGMEQPbn7w/UpnjJYhUH+IA== +"@spotify/prettier-config@^11.0.0": + version "11.0.0" + resolved "https://registry.npmjs.org/@spotify/prettier-config/-/prettier-config-11.0.0.tgz#d91e0546a8c1c0f7299e2edc7e44306e9be210f6" + integrity sha512-dOI13j1uHMZkRxhZuge/ugOE7Aqcg7Nxki932lDZuXyY4G8CGxkc/66PeQ8pR4PCzThHORXo7Ptvau6bh101lQ== "@types/cheerio@^0.22.8": version "0.22.23" diff --git a/packages/app/package.json b/packages/app/package.json index 9d18064717..388635e56b 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -39,9 +39,11 @@ "@backstage/plugin-techdocs": "^0.10.0", "@backstage/plugin-todo": "^0.1.5", "@backstage/plugin-user-settings": "^0.3.0", + "@backstage/search-common": "^0.1.2", "@backstage/theme": "^0.2.8", "@material-ui/core": "^4.11.0", "@material-ui/icons": "^4.9.1", + "@material-ui/lab": "4.0.0-alpha.45", "@octokit/rest": "^18.5.3", "@roadiehq/backstage-plugin-buildkite": "^1.0.6", "@roadiehq/backstage-plugin-github-insights": "^1.1.20", diff --git a/packages/app/src/components/catalog/EntityPage.tsx b/packages/app/src/components/catalog/EntityPage.tsx index 549c4569cf..a793c20b86 100644 --- a/packages/app/src/components/catalog/EntityPage.tsx +++ b/packages/app/src/components/catalog/EntityPage.tsx @@ -137,6 +137,13 @@ const EntityLayoutWrapper = (props: { children?: ReactNode }) => { ); }; +/** + * NOTE: This page is designed to work on small screens such as mobile devices. + * This is based on Material UI Grid. If breakpoints are used, each grid item must set the `xs` prop to a column size or to `true`, + * since this does not default. If no breakpoints are used, the items will equitably share the asvailable space. + * https://material-ui.com/components/grid/#basic-grid. + */ + export const cicdContent = ( @@ -301,10 +308,10 @@ const serviceEntityPage = ( - + - + @@ -312,10 +319,10 @@ const serviceEntityPage = ( - + - + @@ -440,15 +447,17 @@ const apiPage = ( - + - - - - - - + + + + + + + + diff --git a/packages/app/src/components/search/SearchPage.tsx b/packages/app/src/components/search/SearchPage.tsx index 35c4a4ac1c..6fe02de837 100644 --- a/packages/app/src/components/search/SearchPage.tsx +++ b/packages/app/src/components/search/SearchPage.tsx @@ -14,17 +14,20 @@ * limitations under the License. */ -import React from 'react'; +import React, { useState } from 'react'; import { makeStyles, Theme, Grid, List, Paper } from '@material-ui/core'; - +import Pagination from '@material-ui/lab/Pagination'; import { CatalogResultListItem } from '@backstage/plugin-catalog'; import { SearchBar, SearchFilter, SearchResult, + SearchType, DefaultResultListItem, } from '@backstage/plugin-search'; import { Content, Header, Lifecycle, Page } from '@backstage/core-components'; +import { DocsResultListItem } from '@backstage/plugin-techdocs'; +import { SearchResultSet } from '@backstage/search-common'; const useStyles = makeStyles((theme: Theme) => ({ bar: { @@ -34,15 +37,63 @@ const useStyles = makeStyles((theme: Theme) => ({ padding: theme.spacing(2), }, filter: { - '& + &': { - marginTop: theme.spacing(2.5), - }, + marginTop: theme.spacing(2.5), }, })); +// TODO: Move this into the search plugin once pagination is natively supported. +// See: https://github.com/backstage/backstage/issues/6062 +const SearchResultList = ({ results }: SearchResultSet) => { + const pageSize = 10; + const [page, setPage] = useState(1); + const changePage = (_: any, pageIndex: number) => { + setPage(pageIndex); + }; + const pageAmount = Math.ceil((results.length || 0) / pageSize); + return ( + <> + + {results + .slice(pageSize * (page - 1), pageSize * page) + .map(({ type, document }) => { + switch (type) { + case 'software-catalog': + return ( + + ); + case 'techdocs': + return ( + + ); + default: + return ( + + ); + } + })} + + + + ); +}; + const SearchPage = () => { const classes = useStyles(); - return (
} /> @@ -55,6 +106,11 @@ const SearchPage = () => { + { - {({ results }) => ( - - {results.map(({ type, document }) => { - switch (type) { - case 'software-catalog': - return ( - - ); - default: - return ( - - ); - } - })} - - )} + {({ results }) => } diff --git a/packages/backend-common/CHANGELOG.md b/packages/backend-common/CHANGELOG.md index 13601fb8b3..582badb685 100644 --- a/packages/backend-common/CHANGELOG.md +++ b/packages/backend-common/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/backend-common +## 0.8.7 + +### Patch Changes + +- f25357273: Implement the etag functionality in the `readUrl` method of `FetchUrlReader`. +- bdd6ab5f1: It's possible to customize the request logging handler when building the service. For example in your `backend` + + ``` + const service = createServiceBuilder(module) + .loadConfig(config) + .setRequestLoggingHandler((logger?: Logger): RequestHandler => { + const actualLogger = (logger || getRootLogger()).child({ + type: 'incomingRequest', + }); + return expressWinston.logger({ ... + ``` + ## 0.8.6 ### Patch Changes diff --git a/packages/backend-common/api-report.md b/packages/backend-common/api-report.md index 571a26e5dc..2652dad122 100644 --- a/packages/backend-common/api-report.md +++ b/packages/backend-common/api-report.md @@ -439,6 +439,13 @@ export type ReadTreeResponseFile = { // @public export function requestLoggingHandler(logger?: Logger_2): RequestHandler; +// Warning: (ae-missing-release-tag) "RequestLoggingHandlerFactory" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type RequestLoggingHandlerFactory = ( + logger?: Logger_2, +) => RequestHandler; + // Warning: (ae-missing-release-tag) "resolvePackagePath" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public @@ -492,6 +499,9 @@ export type ServiceBuilder = { enableCors(options: cors.CorsOptions): ServiceBuilder; setHttpsSettings(settings: HttpsSettings): ServiceBuilder; addRouter(root: string, router: Router | RequestHandler): ServiceBuilder; + setRequestLoggingHandler( + requestLoggingHandler: RequestLoggingHandlerFactory, + ): ServiceBuilder; start(): Promise; }; @@ -593,6 +603,7 @@ export function useHotMemoize(_module: NodeModule, valueFactory: () => T): T; // src/service/types.d.ts:57:5 - (ae-forgotten-export) The symbol "HttpsSettings" needs to be exported by the entry point index.d.ts // src/service/types.d.ts:61:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen // src/service/types.d.ts:62:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen +// src/service/types.d.ts:70:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen // (No @packageDocumentation comment for this package) ``` diff --git a/packages/backend-common/package.json b/packages/backend-common/package.json index 739e372857..51ef8128e7 100644 --- a/packages/backend-common/package.json +++ b/packages/backend-common/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/backend-common", "description": "Common functionality library for Backstage backends", - "version": "0.8.6", + "version": "0.8.7", "main": "src/index.ts", "types": "src/index.ts", "private": false, @@ -76,8 +76,8 @@ } }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/test-utils": "^0.1.12", + "@backstage/cli": "^0.7.5", + "@backstage/test-utils": "^0.1.15", "@types/archiver": "^5.1.0", "@types/compression": "^1.7.0", "@types/concat-stream": "^1.6.0", diff --git a/packages/backend-common/src/reading/FetchUrlReader.test.ts b/packages/backend-common/src/reading/FetchUrlReader.test.ts index 169cbfbf66..e8c16c5f0a 100644 --- a/packages/backend-common/src/reading/FetchUrlReader.test.ts +++ b/packages/backend-common/src/reading/FetchUrlReader.test.ts @@ -15,12 +15,16 @@ */ import { ConfigReader } from '@backstage/config'; +import { NotFoundError, NotModifiedError } from '@backstage/errors'; import { msw } from '@backstage/test-utils'; +import { rest } from 'msw'; import { setupServer } from 'msw/node'; import { getVoidLogger } from '../logging'; import { FetchUrlReader } from './FetchUrlReader'; import { DefaultReadTreeResponseFactory } from './tree'; +const fetchUrlReader = new FetchUrlReader(); + describe('FetchUrlReader', () => { const worker = setupServer(); @@ -30,6 +34,39 @@ describe('FetchUrlReader', () => { jest.clearAllMocks(); }); + beforeEach(() => { + worker.use( + rest.get('https://backstage.io/some-resource', (req, res, ctx) => { + if (req.headers.get('if-none-match') === 'foo') { + return res( + ctx.status(304), + ctx.set('Content-Type', 'text/plain'), + ctx.set('etag', 'foo'), + ); + } + + return res( + ctx.status(200), + ctx.set('Content-Type', 'text/plain'), + ctx.set('etag', 'foo'), + ctx.body('content foo'), + ); + }), + ); + + worker.use( + rest.get('https://backstage.io/not-exists', (_req, res, ctx) => { + return res(ctx.status(404)); + }), + ); + + worker.use( + rest.get('https://backstage.io/error', (_req, res, ctx) => { + return res(ctx.status(500), ctx.body('An internal error occured')); + }), + ); + }); + it('factory should create a single entry with a predicate that matches config', async () => { const entries = FetchUrlReader.factory({ config: new ConfigReader({ @@ -70,4 +107,55 @@ describe('FetchUrlReader', () => { expect(predicate(new URL('https://a.examples.org:700/test'))).toBe(true); expect(predicate(new URL('https://a.b.examples.org:700/test'))).toBe(true); }); + + describe('read', () => { + it('should return etag from the response', async () => { + const buffer = await fetchUrlReader.read( + 'https://backstage.io/some-resource', + ); + expect(buffer.toString()).toBe('content foo'); + }); + + it('should throw NotFound if server responds with 404', async () => { + await expect( + fetchUrlReader.read('https://backstage.io/not-exists'), + ).rejects.toThrow(NotFoundError); + }); + + it('should throw Error if server responds with 500', async () => { + await expect( + fetchUrlReader.read('https://backstage.io/error'), + ).rejects.toThrow(Error); + }); + }); + + describe('readUrl', () => { + it('should throw NotModified if server responds with 304', async () => { + await expect( + fetchUrlReader.readUrl('https://backstage.io/some-resource', { + etag: 'foo', + }), + ).rejects.toThrow(NotModifiedError); + }); + + it('should return etag from the response', async () => { + const response = await fetchUrlReader.readUrl( + 'https://backstage.io/some-resource', + ); + expect(response.etag).toBe('foo'); + expect((await response.buffer()).toString()).toEqual('content foo'); + }); + + it('should throw NotFound if server responds with 404', async () => { + await expect( + fetchUrlReader.readUrl('https://backstage.io/not-exists'), + ).rejects.toThrow(NotFoundError); + }); + + it('should throw Error if server responds with 500', async () => { + await expect( + fetchUrlReader.readUrl('https://backstage.io/error'), + ).rejects.toThrow(Error); + }); + }); }); diff --git a/packages/backend-common/src/reading/FetchUrlReader.ts b/packages/backend-common/src/reading/FetchUrlReader.ts index 30468158aa..3177ee1f8e 100644 --- a/packages/backend-common/src/reading/FetchUrlReader.ts +++ b/packages/backend-common/src/reading/FetchUrlReader.ts @@ -14,8 +14,8 @@ * limitations under the License. */ +import { NotFoundError, NotModifiedError } from '@backstage/errors'; import fetch from 'cross-fetch'; -import { NotFoundError } from '@backstage/errors'; import { ReaderFactory, ReadTreeResponse, @@ -57,15 +57,34 @@ export class FetchUrlReader implements UrlReader { }; async read(url: string): Promise { + const response = await this.readUrl(url); + return response.buffer(); + } + + async readUrl( + url: string, + options?: ReadUrlOptions, + ): Promise { let response: Response; try { - response = await fetch(url); + response = await fetch(url, { + headers: { + ...(options?.etag && { 'If-None-Match': options.etag }), + }, + }); } catch (e) { throw new Error(`Unable to read ${url}, ${e}`); } + if (response.status === 304) { + throw new NotModifiedError(); + } + if (response.ok) { - return Buffer.from(await response.text()); + return { + buffer: async () => Buffer.from(await response.text()), + etag: response.headers.get('ETag') ?? undefined, + }; } const message = `could not read ${url}, ${response.status} ${response.statusText}`; @@ -75,15 +94,6 @@ export class FetchUrlReader implements UrlReader { throw new Error(message); } - async readUrl( - url: string, - _options?: ReadUrlOptions, - ): Promise { - // TODO etag is not implemented yet. - const buffer = await this.read(url); - return { buffer: async () => buffer }; - } - async readTree(): Promise { throw new Error('FetchUrlReader does not implement readTree'); } diff --git a/packages/backend-common/src/service/index.ts b/packages/backend-common/src/service/index.ts index 4eb0bf4a5a..d01f25fad3 100644 --- a/packages/backend-common/src/service/index.ts +++ b/packages/backend-common/src/service/index.ts @@ -16,4 +16,4 @@ export { createServiceBuilder } from './createServiceBuilder'; export { createStatusCheckRouter } from './createStatusCheckRouter'; -export type { ServiceBuilder } from './types'; +export type { ServiceBuilder, RequestLoggingHandlerFactory } from './types'; diff --git a/packages/backend-common/src/service/lib/ServiceBuilderImpl.ts b/packages/backend-common/src/service/lib/ServiceBuilderImpl.ts index 380d61abc8..7a3ebfed70 100644 --- a/packages/backend-common/src/service/lib/ServiceBuilderImpl.ts +++ b/packages/backend-common/src/service/lib/ServiceBuilderImpl.ts @@ -27,9 +27,9 @@ import { getRootLogger } from '../../logging'; import { errorHandler, notFoundHandler, - requestLoggingHandler, + requestLoggingHandler as defaultRequestLoggingHandler, } from '../../middleware'; -import { ServiceBuilder } from '../types'; +import { RequestLoggingHandlerFactory, ServiceBuilder } from '../types'; import { CspOptions, HttpsSettings, @@ -65,6 +65,7 @@ export class ServiceBuilderImpl implements ServiceBuilder { private cspOptions: Record | undefined; private httpsSettings: HttpsSettings | undefined; private routers: [string, Router][]; + private requestLoggingHandler: RequestLoggingHandlerFactory | undefined; // Reference to the module where builder is created - needed for hot module // reloading private module: NodeModule; @@ -144,6 +145,13 @@ export class ServiceBuilderImpl implements ServiceBuilder { return this; } + setRequestLoggingHandler( + requestLoggingHandler: RequestLoggingHandlerFactory, + ) { + this.requestLoggingHandler = requestLoggingHandler; + return this; + } + async start(): Promise { const app = express(); const { @@ -160,7 +168,9 @@ export class ServiceBuilderImpl implements ServiceBuilder { app.use(cors(corsOptions)); } app.use(compression()); - app.use(requestLoggingHandler(logger)); + app.use( + (this.requestLoggingHandler ?? defaultRequestLoggingHandler)(logger), + ); for (const [root, route] of this.routers) { app.use(root, route); } diff --git a/packages/backend-common/src/service/types.ts b/packages/backend-common/src/service/types.ts index 70f62acfca..f845397ca2 100644 --- a/packages/backend-common/src/service/types.ts +++ b/packages/backend-common/src/service/types.ts @@ -85,8 +85,21 @@ export type ServiceBuilder = { */ addRouter(root: string, router: Router | RequestHandler): ServiceBuilder; + /** + * Set the request logging handler + * + * If no handler is given the default one is used + * + * @param requestLoggingHandler a factory function that given a logger returns an handler + */ + setRequestLoggingHandler( + requestLoggingHandler: RequestLoggingHandlerFactory, + ): ServiceBuilder; + /** * Starts the server using the given settings. */ start(): Promise; }; + +export type RequestLoggingHandlerFactory = (logger?: Logger) => RequestHandler; diff --git a/packages/backend/CHANGELOG.md b/packages/backend/CHANGELOG.md index 56f6f2da72..a3e08db6b3 100644 --- a/packages/backend/CHANGELOG.md +++ b/packages/backend/CHANGELOG.md @@ -1,5 +1,18 @@ # example-backend +## 0.2.38 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-kubernetes-backend@0.3.11 + - @backstage/catalog-client@0.3.17 + - @backstage/plugin-auth-backend@0.3.18 + - @backstage/plugin-jenkins-backend@0.1.2 + - @backstage/backend-common@0.8.7 + - @backstage/plugin-techdocs-backend@0.9.0 + - @backstage/plugin-scaffolder-backend@0.14.1 + ## 0.2.37 ### Patch Changes diff --git a/packages/backend/package.json b/packages/backend/package.json index 315c966a07..9fc455801b 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -1,6 +1,6 @@ { "name": "example-backend", - "version": "0.2.37", + "version": "0.2.38", "main": "dist/index.cjs.js", "types": "src/index.ts", "license": "Apache-2.0", @@ -27,27 +27,27 @@ "migrate:create": "knex migrate:make -x ts" }, "dependencies": { - "@backstage/backend-common": "^0.8.6", - "@backstage/catalog-client": "^0.3.16", + "@backstage/backend-common": "^0.8.7", + "@backstage/catalog-client": "^0.3.17", "@backstage/catalog-model": "^0.9.0", "@backstage/config": "^0.1.5", "@backstage/integration": "^0.5.8", "@backstage/plugin-app-backend": "^0.3.15", - "@backstage/plugin-auth-backend": "^0.3.17", + "@backstage/plugin-auth-backend": "^0.3.18", "@backstage/plugin-badges-backend": "^0.1.8", "@backstage/plugin-catalog-backend": "^0.13.0", "@backstage/plugin-code-coverage-backend": "^0.1.8", "@backstage/plugin-graphql-backend": "^0.1.8", - "@backstage/plugin-jenkins-backend": "^0.1.1", - "@backstage/plugin-kubernetes-backend": "^0.3.10", + "@backstage/plugin-jenkins-backend": "^0.1.2", + "@backstage/plugin-kubernetes-backend": "^0.3.11", "@backstage/plugin-kafka-backend": "^0.2.8", "@backstage/plugin-proxy-backend": "^0.2.9", "@backstage/plugin-rollbar-backend": "^0.1.13", - "@backstage/plugin-scaffolder-backend": "^0.14.0", + "@backstage/plugin-scaffolder-backend": "^0.14.1", "@backstage/plugin-scaffolder-backend-module-rails": "^0.1.3", "@backstage/plugin-search-backend": "^0.2.3", "@backstage/plugin-search-backend-node": "^0.4.0", - "@backstage/plugin-techdocs-backend": "^0.8.7", + "@backstage/plugin-techdocs-backend": "^0.9.0", "@backstage/plugin-todo-backend": "^0.1.8", "@gitbeaker/node": "^30.2.0", "@octokit/rest": "^18.5.3", @@ -63,7 +63,7 @@ "winston": "^3.2.1" }, "devDependencies": { - "@backstage/cli": "^0.7.4", + "@backstage/cli": "^0.7.5", "@types/dockerode": "^3.2.1", "@types/express": "^4.17.6", "@types/express-serve-static-core": "^4.17.5" diff --git a/packages/backend/src/plugins/search.ts b/packages/backend/src/plugins/search.ts index 4a1e415c74..7e7f6ae400 100644 --- a/packages/backend/src/plugins/search.ts +++ b/packages/backend/src/plugins/search.ts @@ -21,6 +21,7 @@ import { } from '@backstage/plugin-search-backend-node'; import { PluginEnvironment } from '../types'; import { DefaultCatalogCollator } from '@backstage/plugin-catalog-backend'; +import { DefaultTechDocsCollator } from '@backstage/plugin-techdocs-backend'; export default async function createPlugin({ logger, @@ -37,6 +38,11 @@ export default async function createPlugin({ collator: new DefaultCatalogCollator({ discovery }), }); + indexBuilder.addCollator({ + defaultRefreshIntervalSeconds: 600, + collator: new DefaultTechDocsCollator({ discovery, logger }), + }); + // The scheduler controls when documents are gathered from collators and sent // to the search engine for indexing. const { scheduler } = await indexBuilder.build(); diff --git a/packages/catalog-client/CHANGELOG.md b/packages/catalog-client/CHANGELOG.md index 70b79b961f..d417f74f96 100644 --- a/packages/catalog-client/CHANGELOG.md +++ b/packages/catalog-client/CHANGELOG.md @@ -1,5 +1,11 @@ # @backstage/catalog-client +## 0.3.17 + +### Patch Changes + +- 71c936eb6: Export `CatalogRequestOptions` type + ## 0.3.16 ### Patch Changes diff --git a/packages/catalog-client/package.json b/packages/catalog-client/package.json index fbb37d2449..a114871a6e 100644 --- a/packages/catalog-client/package.json +++ b/packages/catalog-client/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/catalog-client", - "version": "0.3.16", + "version": "0.3.17", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,7 +35,7 @@ "cross-fetch": "^3.0.6" }, "devDependencies": { - "@backstage/cli": "^0.7.3", + "@backstage/cli": "^0.7.5", "@types/jest": "^26.0.7", "msw": "^0.29.0" }, diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 3dba2e4ec7..b2877572fe 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,11 @@ # @backstage/cli +## 0.7.5 + +### Patch Changes + +- 9a96b5da7: chore: bump `eslint` to `7.30.0` + ## 0.7.4 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index c539b1a382..1adaeaf725 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/cli", "description": "CLI for developing Backstage plugins and apps", - "version": "0.7.4", + "version": "0.7.5", "private": false, "publishConfig": { "access": "public" @@ -118,13 +118,13 @@ "yn": "^4.0.0" }, "devDependencies": { - "@backstage/backend-common": "^0.8.6", + "@backstage/backend-common": "^0.8.7", "@backstage/config": "^0.1.5", - "@backstage/core-components": "^0.1.4", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@backstage/theme": "^0.2.8", "@types/diff": "^5.0.0", "@types/express": "^4.17.6", diff --git a/packages/codemods/CHANGELOG.md b/packages/codemods/CHANGELOG.md index dc1f694dca..0c104d6c33 100644 --- a/packages/codemods/CHANGELOG.md +++ b/packages/codemods/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/codemods +## 0.1.6 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.1.6 + - @backstage/core-app-api@0.1.5 + ## 0.1.5 ### Patch Changes diff --git a/packages/codemods/package.json b/packages/codemods/package.json index 9cf5730126..19c71c843c 100644 --- a/packages/codemods/package.json +++ b/packages/codemods/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/codemods", "description": "A collection of codemods for Backstage projects", - "version": "0.1.5", + "version": "0.1.6", "private": false, "publishConfig": { "access": "public", diff --git a/packages/core-app-api/CHANGELOG.md b/packages/core-app-api/CHANGELOG.md index 4f09f231c3..8e188a6577 100644 --- a/packages/core-app-api/CHANGELOG.md +++ b/packages/core-app-api/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/core-app-api +## 0.1.5 + +### Patch Changes + +- ea249c6e6: Fix a bug in `FlatRoutes` that prevented outlets from working with the root route, as well as matching root routes too broadly. +- Updated dependencies + - @backstage/core-components@0.1.6 + ## 0.1.4 ### Patch Changes diff --git a/packages/core-app-api/package.json b/packages/core-app-api/package.json index 0f6773497b..41e7c52393 100644 --- a/packages/core-app-api/package.json +++ b/packages/core-app-api/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/core-app-api", "description": "Core app API used by Backstage apps", - "version": "0.1.4", + "version": "0.1.5", "private": false, "publishConfig": { "access": "public", @@ -29,7 +29,7 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-components": "^0.1.4", + "@backstage/core-components": "^0.1.6", "@backstage/config": "^0.1.3", "@backstage/core-plugin-api": "^0.1.3", "@backstage/theme": "^0.2.8", @@ -44,8 +44,8 @@ "zen-observable": "^0.8.15" }, "devDependencies": { - "@backstage/cli": "^0.7.3", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/test-utils": "^0.1.15", "@backstage/test-utils-core": "^0.1.1", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", diff --git a/packages/core-components/CHANGELOG.md b/packages/core-components/CHANGELOG.md index 1536cf3fb2..8372b25563 100644 --- a/packages/core-components/CHANGELOG.md +++ b/packages/core-components/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/core-components +## 0.1.6 + +### Patch Changes + +- 9a751bb28: Increase the vertical padding of the sidebar search input field to match the height of the parent anchor tag. This prevents users from accidentally navigating to the search page when they actually wanted to use the search input directly. +- 45b5fc3a8: Updated the layout of catalog and API index pages to handle smaller screen sizes. This adds responsive wrappers to the entity tables, and switches filters to a drawer when width-constrained. If you have created a custom catalog or API index page, you will need to update the page structure to match the updated [catalog customization](https://backstage.io/docs/features/software-catalog/catalog-customization) documentation. +- 03bf17e9b: Improve the responsiveness of the EntityPage UI. With this the Header component should scale with the screen size & wrapping should not cause overflowing/blocking of links. Additionally enforce the Pages using the Grid Layout to use it across all screen sizes & to wrap as intended. + + To benefit from the improved responsive layout, the `EntityPage` in existing Backstage applications should be updated to set the `xs` column size on each grid item in the page, as this does not default. For example: + + ```diff + - + + + ``` + ## 0.1.5 ### Patch Changes diff --git a/packages/core-components/api-report.md b/packages/core-components/api-report.md index e915e004ee..ccafa4cfa7 100644 --- a/packages/core-components/api-report.md +++ b/packages/core-components/api-report.md @@ -1202,6 +1202,16 @@ export const Page: ({ children, }: PropsWithChildren) => JSX.Element; +// Warning: (ae-forgotten-export) The symbol "PageWithHeaderProps" needs to be exported by the entry point index.d.ts +// Warning: (ae-missing-release-tag) "PageWithHeader" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export const PageWithHeader: ({ + themeId, + children, + ...props +}: PropsWithChildren) => JSX.Element; + // Warning: (ae-missing-release-tag) "Progress" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) diff --git a/packages/core-components/package.json b/packages/core-components/package.json index 0bd4b95134..944002c74f 100644 --- a/packages/core-components/package.json +++ b/packages/core-components/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/core-components", "description": "Core components used by Backstage plugins and apps", - "version": "0.1.5", + "version": "0.1.6", "private": false, "publishConfig": { "access": "public", @@ -70,9 +70,9 @@ "zen-observable": "^0.8.15" }, "devDependencies": { - "@backstage/core-app-api": "^0.1.4", - "@backstage/cli": "^0.7.3", - "@backstage/test-utils": "^0.1.13", + "@backstage/core-app-api": "^0.1.5", + "@backstage/cli": "^0.7.5", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/packages/core-components/src/components/EmptyState/EmptyState.tsx b/packages/core-components/src/components/EmptyState/EmptyState.tsx index 1d8d5a798f..5d55c5da93 100644 --- a/packages/core-components/src/components/EmptyState/EmptyState.tsx +++ b/packages/core-components/src/components/EmptyState/EmptyState.tsx @@ -49,15 +49,17 @@ export const EmptyState = ({ title, description, missing, action }: Props) => { className={classes.root} spacing={2} > - - - {title} - - - {description} - - - {action} + + + + {title} + + + {description} + + + {action} + diff --git a/packages/core-components/src/components/EmptyState/EmptyStateImage.tsx b/packages/core-components/src/components/EmptyState/EmptyStateImage.tsx index a76f0863f7..660e7fc947 100644 --- a/packages/core-components/src/components/EmptyState/EmptyStateImage.tsx +++ b/packages/core-components/src/components/EmptyState/EmptyStateImage.tsx @@ -29,7 +29,7 @@ const useStyles = makeStyles({ generalImg: { width: '95%', zIndex: 2, - position: 'absolute', + position: 'relative', left: '50%', top: '50%', transform: 'translate(-50%, 15%)', diff --git a/packages/core-components/src/components/SupportButton/SupportButton.tsx b/packages/core-components/src/components/SupportButton/SupportButton.tsx index 2ffef89878..3e719acb95 100644 --- a/packages/core-components/src/components/SupportButton/SupportButton.tsx +++ b/packages/core-components/src/components/SupportButton/SupportButton.tsx @@ -28,7 +28,7 @@ import { makeStyles, Popover, } from '@material-ui/core'; -import React, { Fragment, MouseEventHandler, useState } from 'react'; +import React, { MouseEventHandler, useState } from 'react'; import { SupportItem, SupportItemLink, useSupportConfig } from '../../hooks'; import { Link } from '../Link'; @@ -94,17 +94,17 @@ export const SupportButton = ({ title, children }: SupportButtonProps) => { }; return ( - - + <> + + + { - + ); }; diff --git a/packages/core-components/src/layout/ContentHeader/ContentHeader.tsx b/packages/core-components/src/layout/ContentHeader/ContentHeader.tsx index 1e2ad0b5d4..62cb80cffa 100644 --- a/packages/core-components/src/layout/ContentHeader/ContentHeader.tsx +++ b/packages/core-components/src/layout/ContentHeader/ContentHeader.tsx @@ -18,7 +18,7 @@ * TODO favoriteable capability */ -import React, { ComponentType, Fragment, PropsWithChildren } from 'react'; +import React, { ComponentType, PropsWithChildren } from 'react'; import { Typography, makeStyles } from '@material-ui/core'; import { Helmet } from 'react-helmet'; @@ -57,15 +57,15 @@ const useStyles = (props: ContentHeaderProps) => }, })); -type DefaultTitleProps = { +type ContentHeaderTitleProps = { title?: string; - className: string; + className?: string; }; -const DefaultTitle = ({ +const ContentHeaderTitle = ({ title = 'Unknown page', className, -}: DefaultTitleProps) => ( +}: ContentHeaderTitleProps) => ( ) : ( - + ); return ( - + <>
@@ -111,6 +111,6 @@ export const ContentHeader = ({
{children}
-
+ ); }; diff --git a/packages/core-components/src/layout/Header/Header.tsx b/packages/core-components/src/layout/Header/Header.tsx index 96d024f524..227c6d1a60 100644 --- a/packages/core-components/src/layout/Header/Header.tsx +++ b/packages/core-components/src/layout/Header/Header.tsx @@ -16,17 +16,20 @@ import { useApi, configApiRef } from '@backstage/core-plugin-api'; import { BackstageTheme } from '@backstage/theme'; -import { makeStyles, Tooltip, Typography } from '@material-ui/core'; +import { Box, Grid, makeStyles, Tooltip, Typography } from '@material-ui/core'; import React, { CSSProperties, PropsWithChildren, ReactNode } from 'react'; import { Helmet } from 'react-helmet'; import { Link } from '../../components/Link'; import { Breadcrumbs } from '../Breadcrumbs'; +const minHeaderHeight = 118; + const useStyles = makeStyles(theme => ({ header: { gridArea: 'pageHeader', padding: theme.spacing(3), - minHeight: 118, + height: 'fit-content', + minHeight: minHeaderHeight, width: '100%', boxShadow: '0 0 8px 3px rgba(20, 20, 20, 0.3)', position: 'relative', @@ -34,26 +37,21 @@ const useStyles = makeStyles(theme => ({ display: 'flex', flexDirection: 'row', flexWrap: 'wrap', - justifyContent: 'flex-end', alignItems: 'center', backgroundImage: theme.page.backgroundImage, backgroundPosition: 'center', backgroundSize: 'cover', }, leftItemsBox: { - flex: '1 1 auto', + maxWidth: '100%', + flexGrow: 1, + marginBottom: theme.spacing(1), }, rightItemsBox: { - flex: '0 1 auto', - display: 'flex', - flexDirection: 'row', - flexWrap: 'wrap', - alignItems: 'center', - marginRight: theme.spacing(1), + width: 'auto', }, title: { color: theme.palette.bursts.fontColor, - lineHeight: '1.0em', wordBreak: 'break-all', fontSize: 'calc(24px + 6 * ((100vw - 320px) / 680))', marginBottom: theme.spacing(1), @@ -199,7 +197,7 @@ export const Header = ({ <>
-
+ -
-
{children}
+ + + {children} +
); diff --git a/packages/core-components/src/layout/HeaderLabel/HeaderLabel.tsx b/packages/core-components/src/layout/HeaderLabel/HeaderLabel.tsx index 1534656f24..8557ceddf7 100644 --- a/packages/core-components/src/layout/HeaderLabel/HeaderLabel.tsx +++ b/packages/core-components/src/layout/HeaderLabel/HeaderLabel.tsx @@ -14,29 +14,25 @@ * limitations under the License. */ -import { Link, makeStyles, Typography } from '@material-ui/core'; +import { Link, makeStyles, Typography, Grid } from '@material-ui/core'; import React from 'react'; const useStyles = makeStyles(theme => ({ root: { textAlign: 'left', - margin: theme.spacing(2), - display: 'inline-block', }, label: { - color: '#FFFFFF', + color: theme.palette.common.white, fontWeight: 'bold', - lineHeight: '16px', letterSpacing: 0, - fontSize: 14, - height: '16px', - marginBottom: 2, + fontSize: theme.typography.fontSize, + marginBottom: theme.spacing(1) / 2, + lineHeight: 1, }, value: { color: 'rgba(255, 255, 255, 0.8)', - lineHeight: '16px', - fontSize: 14, - height: '16px', + fontSize: theme.typography.fontSize, + lineHeight: 1, }, })); @@ -64,9 +60,11 @@ export const HeaderLabel = ({ label, value, url }: HeaderLabelProps) => { /> ); return ( - - {label} - {url ? {content} : content} - + + + {label} + {url ? {content} : content} + + ); }; diff --git a/plugins/api-docs/src/components/ApiExplorerPage/ApiExplorerLayout.tsx b/packages/core-components/src/layout/Page/PageWithHeader.tsx similarity index 50% rename from plugins/api-docs/src/components/ApiExplorerPage/ApiExplorerLayout.tsx rename to packages/core-components/src/layout/Page/PageWithHeader.tsx index 5638c23634..70a6c1f693 100644 --- a/plugins/api-docs/src/components/ApiExplorerPage/ApiExplorerLayout.tsx +++ b/packages/core-components/src/layout/Page/PageWithHeader.tsx @@ -14,27 +14,22 @@ * limitations under the License. */ -import React from 'react'; +import React, { PropsWithChildren, ComponentProps } from 'react'; -import { Header, Page } from '@backstage/core-components'; -import { useApi, configApiRef } from '@backstage/core-plugin-api'; +import { Header } from '../Header'; +import { Page } from './Page'; -type Props = { - children?: React.ReactNode; -}; -export const ApiExplorerLayout = ({ children }: Props) => { - const configApi = useApi(configApiRef); - const generatedSubtitle = `${ - configApi.getOptionalString('organization.name') ?? 'Backstage' - } API Explorer`; - return ( - -
- {children} - - ); +type PageWithHeaderProps = ComponentProps & { + themeId: string; }; + +export const PageWithHeader = ({ + themeId, + children, + ...props +}: PropsWithChildren) => ( + +
+ {children} + +); diff --git a/packages/core-components/src/layout/Page/index.ts b/packages/core-components/src/layout/Page/index.ts index d2523e8467..91db73657e 100644 --- a/packages/core-components/src/layout/Page/index.ts +++ b/packages/core-components/src/layout/Page/index.ts @@ -15,3 +15,4 @@ */ export { Page } from './Page'; +export { PageWithHeader } from './PageWithHeader'; diff --git a/packages/core-components/src/layout/Sidebar/Items.tsx b/packages/core-components/src/layout/Sidebar/Items.tsx index 28abbce53c..3944df0b50 100644 --- a/packages/core-components/src/layout/Sidebar/Items.tsx +++ b/packages/core-components/src/layout/Sidebar/Items.tsx @@ -44,7 +44,6 @@ const useStyles = makeStyles(theme => { drawerWidthOpen, iconContainerWidth, } = sidebarConfig; - return { root: { color: theme.palette.navigation.color, @@ -97,6 +96,9 @@ const useStyles = makeStyles(theme => { fontWeight: 'bold', fontSize: theme.typography.fontSize, }, + searchFieldHTMLInput: { + padding: `${theme.spacing(2)} 0 ${theme.spacing(2)}`, + }, searchContainer: { width: drawerWidthOpen - iconContainerWidth, }, @@ -271,6 +273,9 @@ export const SidebarSearchField = (props: SidebarSearchFieldProps) => { disableUnderline: true, className: classes.searchField, }} + inputProps={{ + className: classes.searchFieldHTMLInput, + }} /> diff --git a/packages/create-app/CHANGELOG.md b/packages/create-app/CHANGELOG.md index 86a7c3e3fe..1bbb66710b 100644 --- a/packages/create-app/CHANGELOG.md +++ b/packages/create-app/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/create-app +## 0.3.32 + +### Patch Changes + +- 03bf17e9b: Improve the responsiveness of the EntityPage UI. With this the Header component should scale with the screen size & wrapping should not cause overflowing/blocking of links. Additionally enforce the Pages using the Grid Layout to use it across all screen sizes & to wrap as intended. + + To benefit from the improved responsive layout, the `EntityPage` in existing Backstage applications should be updated to set the `xs` column size on each grid item in the page, as this does not default. For example: + + ```diff + - + + + ``` + +- eb740ee24: Moved sample software templates to the [backstage/software-templates](https://github.com/backstage/software-templates) repository. If you previously referenced the sample templates straight from `scaffolder-backend` plugin in the main [backstage/backstage](https://github.com/backstage/backstage) repository in your `app-config.yaml`, these references will need to be updated. + + See https://github.com/backstage/software-templates + ## 0.3.31 ### Patch Changes diff --git a/packages/create-app/package.json b/packages/create-app/package.json index 52fa3f7237..cedcba42c7 100644 --- a/packages/create-app/package.json +++ b/packages/create-app/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/create-app", "description": "Create app package for Backstage", - "version": "0.3.31", + "version": "0.3.32", "private": false, "publishConfig": { "access": "public" diff --git a/packages/create-app/templates/default-app/packages/app/src/components/catalog/EntityPage.tsx b/packages/create-app/templates/default-app/packages/app/src/components/catalog/EntityPage.tsx index e3dd5be3c7..2074a2712c 100644 --- a/packages/create-app/templates/default-app/packages/app/src/components/catalog/EntityPage.tsx +++ b/packages/create-app/templates/default-app/packages/app/src/components/catalog/EntityPage.tsx @@ -157,6 +157,13 @@ const websiteEntityPage = ( ); +/** + * NOTE: This page is designed to work on small screens such as mobile devices. + * This is based on Material UI Grid. If breakpoints are used, each grid item must set the `xs` prop to a column size or to `true`, + * since this does not default. If no breakpoints are used, the items will equitably share the asvailable space. + * https://material-ui.com/components/grid/#basic-grid. + */ + const defaultEntityPage = ( diff --git a/packages/dev-utils/CHANGELOG.md b/packages/dev-utils/CHANGELOG.md index af3a283a04..ea620350ef 100644 --- a/packages/dev-utils/CHANGELOG.md +++ b/packages/dev-utils/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/dev-utils +## 0.2.3 + +### Patch Changes + +- 01001a324: Allow custom theme for dev app. +- Updated dependencies + - @backstage/core-components@0.1.6 + - @backstage/plugin-catalog-react@0.3.1 + - @backstage/core-app-api@0.1.5 + - @backstage/test-utils@0.1.15 + ## 0.2.2 ### Patch Changes diff --git a/packages/dev-utils/api-report.md b/packages/dev-utils/api-report.md index 6790992ecf..5f58b297d5 100644 --- a/packages/dev-utils/api-report.md +++ b/packages/dev-utils/api-report.md @@ -6,6 +6,7 @@ /// import { ApiFactory } from '@backstage/core-plugin-api'; +import { AppTheme } from '@backstage/core-plugin-api'; import { ComponentType } from 'react'; import { createPlugin } from '@backstage/core-plugin-api'; import { Entity } from '@backstage/catalog-model'; diff --git a/packages/dev-utils/package.json b/packages/dev-utils/package.json index 2825a53822..a80745284c 100644 --- a/packages/dev-utils/package.json +++ b/packages/dev-utils/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/dev-utils", "description": "Utilities for developing Backstage plugins.", - "version": "0.2.2", + "version": "0.2.3", "private": false, "publishConfig": { "access": "public", @@ -29,13 +29,13 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-app-api": "^0.1.3", - "@backstage/core-components": "^0.1.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/catalog-model": "^0.9.0", "@backstage/integration-react": "^0.1.4", - "@backstage/plugin-catalog-react": "^0.3.0", - "@backstage/test-utils": "^0.1.14", + "@backstage/plugin-catalog-react": "^0.3.1", + "@backstage/test-utils": "^0.1.15", "@backstage/theme": "^0.2.8", "@material-ui/core": "^4.11.0", "@material-ui/icons": "^4.9.1", @@ -50,7 +50,7 @@ "react-router-dom": "6.0.0-beta.0" }, "devDependencies": { - "@backstage/cli": "^0.7.4", + "@backstage/cli": "^0.7.5", "@types/jest": "^26.0.7", "@types/node": "^14.14.32" }, diff --git a/packages/dev-utils/src/devApp/render.tsx b/packages/dev-utils/src/devApp/render.tsx index 508eb105f1..e6338cd467 100644 --- a/packages/dev-utils/src/devApp/render.tsx +++ b/packages/dev-utils/src/devApp/render.tsx @@ -37,6 +37,7 @@ import { import { AnyApiFactory, ApiFactory, + AppTheme, attachComponentData, configApiRef, createApiFactory, @@ -79,6 +80,7 @@ class DevAppBuilder { private readonly sidebarItems = new Array(); private defaultPage?: string; + private themes?: Array; /** * Register one or more plugins to render in the dev app @@ -144,6 +146,14 @@ class DevAppBuilder { return this; } + /** + * Adds an array of themes to overide the default theme. + */ + addThemes(themes: AppTheme[]) { + this.themes = themes; + return this; + } + /** * Build a DevApp component using the resources registered so far */ @@ -166,6 +176,7 @@ class DevAppBuilder { const app = createApp({ apis, plugins: this.plugins, + themes: this.themes, bindRoutes: ({ bind }) => { for (const plugin of this.plugins ?? []) { const targets: Record> = {}; diff --git a/packages/techdocs-common/CHANGELOG.md b/packages/techdocs-common/CHANGELOG.md index c26be7fa7c..ab5eff10e3 100644 --- a/packages/techdocs-common/CHANGELOG.md +++ b/packages/techdocs-common/CHANGELOG.md @@ -1,5 +1,100 @@ # @backstage/techdocs-common +## 0.7.0 + +### Minor Changes + +- d32d01e5b: Improve the annotation `backstage.io/techdocs-ref: dir:` that links to a path that is relative to the source of the annotated entity. + This annotation works with the basic and the recommended flow, however, it will be most useful with the basic approach. + + This change remove the deprecation of the `dir` reference and provides first-class support for it. + In addition, this change removes the support of the deprecated `github`, `gitlab`, and `azure/api` locations from the `dir` reference preparer. + + #### Example Usage + + The annotation is convenient if the documentation is stored in the same location, i.e. the same git repository, as the `catalog-info.yaml`. + While it is still supported to add full URLs such as `backstage.io/techdocs-ref: url:https://...` for custom setups, documentation is mostly stored in the same repository as the entity definition. + By automatically resolving the target relative to the registration location of the entity, the configuration overhead for this default setup is minimized. + Since it leverages the `@backstage/integrations` package for the URL resolution, this is compatible with every supported source. + + Consider the following examples: + + 1. "I have a repository with a single `catalog-info.yaml` and a TechDocs page in the root folder!" + + ``` + https://github.com/backstage/example/tree/main/ + |- catalog-info.yaml + | > apiVersion: backstage.io/v1alpha1 + | > kind: Component + | > metadata: + | > name: example + | > annotations: + | > backstage.io/techdocs-ref: dir:. # -> same folder + | > spec: {} + |- docs/ + |- mkdocs.yml + ``` + + 2. "I have a repository with a single `catalog-info.yaml` and my TechDocs page in located in a folder!" + + ``` + https://bitbucket.org/my-owner/my-project/src/master/ + |- catalog-info.yaml + | > apiVersion: backstage.io/v1alpha1 + | > kind: Component + | > metadata: + | > name: example + | > annotations: + | > backstage.io/techdocs-ref: dir:./some-folder # -> subfolder + | > spec: {} + |- some-folder/ + |- docs/ + |- mkdocs.yml + ``` + + 3. "I have a mono repository that hosts multiple components!" + + ``` + https://dev.azure.com/organization/project/_git/repository + |- my-1st-module/ + |- catalog-info.yaml + | > apiVersion: backstage.io/v1alpha1 + | > kind: Component + | > metadata: + | > name: my-1st-module + | > annotations: + | > backstage.io/techdocs-ref: dir:. # -> same folder + | > spec: {} + |- docs/ + |- mkdocs.yml + |- my-2nd-module/ + |- catalog-info.yaml + | > apiVersion: backstage.io/v1alpha1 + | > kind: Component + | > metadata: + | > name: my-2nd-module + | > annotations: + | > backstage.io/techdocs-ref: dir:. # -> same folder + | > spec: {} + |- docs/ + |- mkdocs.yml + |- catalog-info.yaml + | > apiVersion: backstage.io/v1alpha1 + | > kind: Location + | > metadata: + | > name: example + | > spec: + | > targets: + | > - ./*/catalog-info.yaml + ``` + +### Patch Changes + +- 6e5aed1c9: Fix validation of mkdocs.yml docs_dir +- 250984333: Add link to https://backstage.io/docs/features/techdocs/configuration in the log warning message about updating techdocs.generate key. +- Updated dependencies + - @backstage/backend-common@0.8.7 + ## 0.6.8 ### Patch Changes diff --git a/packages/techdocs-common/api-report.md b/packages/techdocs-common/api-report.md index 7c44dc5484..6e845c9797 100644 --- a/packages/techdocs-common/api-report.md +++ b/packages/techdocs-common/api-report.md @@ -15,6 +15,7 @@ import { GitHubIntegrationConfig } from '@backstage/integration'; import { GitLabIntegrationConfig } from '@backstage/integration'; import { Logger as Logger_2 } from 'winston'; import { PluginEndpointDiscovery } from '@backstage/backend-common'; +import { ScmIntegrationRegistry } from '@backstage/integration'; import { UrlReader } from '@backstage/backend-common'; import { Writable } from 'stream'; @@ -47,9 +48,15 @@ export class CommonGitPreparer implements PreparerBase { // // @public (undocumented) export class DirectoryPreparer implements PreparerBase { - constructor(config: Config, logger: Logger_2, reader: UrlReader); + constructor(config: Config, _logger: Logger_2, reader: UrlReader); // (undocumented) - prepare(entity: Entity): Promise; + prepare( + entity: Entity, + options?: { + logger?: Logger_2; + etag?: string; + }, + ): Promise; } // Warning: (ae-missing-release-tag) "GeneratorBase" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) @@ -189,7 +196,10 @@ export const getLastCommitTimestamp: ( // Warning: (ae-missing-release-tag) "getLocationForEntity" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -export const getLocationForEntity: (entity: Entity) => ParsedLocationAnnotation; +export const getLocationForEntity: ( + entity: Entity, + scmIntegration: ScmIntegrationRegistry, +) => ParsedLocationAnnotation; // Warning: (ae-missing-release-tag) "getTokenForGitRepo" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // @@ -355,6 +365,18 @@ export type TechDocsMetadata = { etag: string; }; +// Warning: (ae-missing-release-tag) "transformDirLocation" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public +export const transformDirLocation: ( + entity: Entity, + dirAnnotation: ParsedLocationAnnotation, + scmIntegrations: ScmIntegrationRegistry, +) => { + type: 'dir' | 'url'; + target: string; +}; + // Warning: (ae-missing-release-tag) "UrlPreparer" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) diff --git a/packages/techdocs-common/package.json b/packages/techdocs-common/package.json index 5240e527e7..bb81c875fd 100644 --- a/packages/techdocs-common/package.json +++ b/packages/techdocs-common/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/techdocs-common", "description": "Common functionalities for TechDocs, to be shared between techdocs-backend plugin and techdocs-cli", - "version": "0.6.8", + "version": "0.7.0", "main": "src/index.ts", "types": "src/index.ts", "private": false, @@ -36,9 +36,9 @@ "url": "https://github.com/backstage/backstage/issues" }, "dependencies": { - "@azure/identity": "^1.2.2", - "@azure/storage-blob": "^12.4.0", - "@backstage/backend-common": "^0.8.6", + "@azure/identity": "^1.5.0", + "@azure/storage-blob": "^12.5.0", + "@backstage/backend-common": "^0.8.7", "@backstage/catalog-model": "^0.9.0", "@backstage/config": "^0.1.5", "@backstage/errors": "^0.1.1", @@ -60,7 +60,7 @@ "winston": "^3.2.1" }, "devDependencies": { - "@backstage/cli": "^0.7.4", + "@backstage/cli": "^0.7.5", "@types/fs-extra": "^9.0.5", "@types/git-url-parse": "^9.0.0", "@types/js-yaml": "^4.0.0", diff --git a/packages/techdocs-common/src/helpers.test.ts b/packages/techdocs-common/src/helpers.test.ts index b94cbba572..69f09d92ed 100644 --- a/packages/techdocs-common/src/helpers.test.ts +++ b/packages/techdocs-common/src/helpers.test.ts @@ -19,14 +19,26 @@ import { SearchResponse, UrlReader, } from '@backstage/backend-common'; -import { Entity } from '@backstage/catalog-model'; +import { Entity, getEntitySourceLocation } from '@backstage/catalog-model'; +import { ConfigReader } from '@backstage/config'; +import { ScmIntegrations } from '@backstage/integration'; +import os from 'os'; +import path from 'path'; import { Readable } from 'stream'; import { getDocFilesFromRepository, getLocationForEntity, parseReferenceAnnotation, + transformDirLocation, } from './helpers'; +jest.mock('@backstage/catalog-model', () => ({ + ...jest.requireActual('@backstage/catalog-model'), + getEntitySourceLocation: jest.fn(), +})); + +const rootDir = os.platform() === 'win32' ? 'C:\\rootDir' : '/rootDir'; + const entityBase: Entity = { metadata: { namespace: 'default', @@ -81,6 +93,10 @@ const mockEntityWithBadAnnotation: Entity = { }, }; +const scmIntegrations = ScmIntegrations.fromConfig(new ConfigReader({})); + +afterEach(() => jest.resetAllMocks()); + describe('parseReferenceAnnotation', () => { it('should parse annotation', () => { const parsedLocationAnnotation = parseReferenceAnnotation( @@ -109,10 +125,158 @@ describe('parseReferenceAnnotation', () => { }); }); +describe('transformDirLocation', () => { + it.each` + techdocsRef | target + ${'dir:.'} | ${'https://my-url/folder/'} + ${'dir:./sub-folder'} | ${'https://my-url/folder/sub-folder'} + `( + 'should transform "$techdocsRef" for url type locations', + ({ techdocsRef, target }) => { + (getEntitySourceLocation as jest.Mock).mockReturnValue({ + type: 'url', + target: 'https://my-url/folder/', + }); + + const entity = { + apiVersion: '1', + kind: 'Component', + metadata: { + name: 'test', + annotations: { + 'backstage.io/techdocs-ref': techdocsRef, + }, + }, + }; + + const result = transformDirLocation( + entity, + parseReferenceAnnotation('backstage.io/techdocs-ref', entity), + scmIntegrations, + ); + + expect(result).toEqual({ type: 'url', target }); + }, + ); + + it.each` + techdocsRef | target + ${'dir:.'} | ${path.join(rootDir, 'working-copy')} + ${'dir:./sub-folder'} | ${path.join(rootDir, 'working-copy', 'sub-folder')} + `( + 'should transform "$techdocsRef" for file type locations', + ({ techdocsRef, target }) => { + (getEntitySourceLocation as jest.Mock).mockReturnValue({ + type: 'file', + target: path.join(rootDir, 'working-copy', 'catalog-info.yaml'), + }); + + const entity = { + apiVersion: '1', + kind: 'Component', + metadata: { + name: 'test', + annotations: { + 'backstage.io/techdocs-ref': techdocsRef, + }, + }, + }; + + const result = transformDirLocation( + entity, + parseReferenceAnnotation('backstage.io/techdocs-ref', entity), + scmIntegrations, + ); + + expect(result).toEqual({ type: 'dir', target }); + }, + ); + + it('should reject unsafe file location', () => { + (getEntitySourceLocation as jest.Mock).mockReturnValue({ + type: 'file', + target: '/tmp/catalog-info.yaml', + }); + + const entity = { + apiVersion: '1', + kind: 'Component', + metadata: { + name: 'test', + annotations: { + 'backstage.io/techdocs-ref': 'dir:..', + }, + }, + }; + + expect(() => + transformDirLocation( + entity, + parseReferenceAnnotation('backstage.io/techdocs-ref', entity), + scmIntegrations, + ), + ).toThrow( + /Relative path is not allowed to refer to a directory outside its parent/, + ); + }); + + it('should reject other location types', () => { + (getEntitySourceLocation as jest.Mock).mockReturnValue({ + type: 'other', + target: '/', + }); + + const entity = { + apiVersion: '1', + kind: 'Component', + metadata: { + name: 'test', + annotations: { + 'backstage.io/techdocs-ref': 'dir:.', + }, + }, + }; + + expect(() => + transformDirLocation( + entity, + parseReferenceAnnotation('backstage.io/techdocs-ref', entity), + scmIntegrations, + ), + ).toThrow(/Unable to resolve location type other/); + }); +}); + describe('getLocationForEntity', () => { + it('should handle dir locations', () => { + (getEntitySourceLocation as jest.Mock).mockReturnValue({ + type: 'url', + target: 'https://my-url/folder/', + }); + + const entity = { + apiVersion: '1', + kind: 'Component', + metadata: { + name: 'test', + annotations: { + 'backstage.io/techdocs-ref': 'dir:.', + }, + }, + }; + + const parsedLocationAnnotation = getLocationForEntity( + entity, + scmIntegrations, + ); + expect(parsedLocationAnnotation.type).toBe('url'); + expect(parsedLocationAnnotation.target).toBe('https://my-url/folder/'); + }); + it('should get location for entity', () => { const parsedLocationAnnotation = getLocationForEntity( mockEntityWithAnnotation, + scmIntegrations, ); expect(parsedLocationAnnotation.type).toBe('url'); expect(parsedLocationAnnotation.target).toBe( diff --git a/packages/techdocs-common/src/helpers.ts b/packages/techdocs-common/src/helpers.ts index cac8a7047f..bb6461a37c 100644 --- a/packages/techdocs-common/src/helpers.ts +++ b/packages/techdocs-common/src/helpers.ts @@ -14,10 +14,19 @@ * limitations under the License. */ -import { Git, UrlReader } from '@backstage/backend-common'; -import { InputError } from '@backstage/errors'; -import { Entity, parseLocationReference } from '@backstage/catalog-model'; +import { + Git, + resolveSafeChildPath, + UrlReader, +} from '@backstage/backend-common'; +import { + Entity, + getEntitySourceLocation, + parseLocationReference, +} from '@backstage/catalog-model'; import { Config } from '@backstage/config'; +import { InputError } from '@backstage/errors'; +import { ScmIntegrationRegistry } from '@backstage/integration'; import fs from 'fs-extra'; import parseGitUrl from 'git-url-parse'; import os from 'os'; @@ -50,30 +59,77 @@ export const parseReferenceAnnotation = ( }; }; +/** + * TechDocs references of type `dir` are relative the source location of the entity. + * This function transforms relative references to absolute ones, based on the + * location the entity was ingested from. If the entity was registered by a `url` + * location, it returns a `url` location with a resolved target that points to the + * targeted subfolder. If the entity was registered by a `file` location, it returns + * an absolute `dir` location. + * + * @param entity - the entity with annotations + * @param dirAnnotation - the parsed techdocs-ref annotation of type 'dir' + * @param scmIntegrations - access to the scmIntegration to do url transformations + * @throws if the entity doesn't specify a `dir` location or is ingested from an unsupported location. + * @returns the transformed location with an absolute target. + */ +export const transformDirLocation = ( + entity: Entity, + dirAnnotation: ParsedLocationAnnotation, + scmIntegrations: ScmIntegrationRegistry, +): { type: 'dir' | 'url'; target: string } => { + const location = getEntitySourceLocation(entity); + + switch (location.type) { + case 'url': { + const target = scmIntegrations.resolveUrl({ + url: dirAnnotation.target, + base: location.target, + }); + + return { + type: 'url', + target, + }; + } + + case 'file': { + // only permit targets in the same folder as the target of the `file` location! + const target = resolveSafeChildPath( + path.dirname(location.target), + dirAnnotation.target, + ); + + return { + type: 'dir', + target, + }; + } + + default: + throw new InputError(`Unable to resolve location type ${location.type}`); + } +}; + export const getLocationForEntity = ( entity: Entity, + scmIntegration: ScmIntegrationRegistry, ): ParsedLocationAnnotation => { - const { type, target } = parseReferenceAnnotation( + const annotation = parseReferenceAnnotation( 'backstage.io/techdocs-ref', entity, ); - switch (type) { + switch (annotation.type) { case 'github': case 'gitlab': case 'azure/api': case 'url': - return { type, target }; + return annotation; case 'dir': - if (path.isAbsolute(target)) { - return { type, target }; - } - return parseReferenceAnnotation( - 'backstage.io/managed-by-location', - entity, - ); + return transformDirLocation(entity, annotation, scmIntegration); default: - throw new Error(`Invalid reference annotation ${type}`); + throw new Error(`Invalid reference annotation ${annotation.type}`); } }; diff --git a/packages/techdocs-common/src/stages/generate/__fixtures__/mkdocs_valid_doc_dir.yml b/packages/techdocs-common/src/stages/generate/__fixtures__/mkdocs_valid_doc_dir.yml new file mode 100644 index 0000000000..e75b06ada7 --- /dev/null +++ b/packages/techdocs-common/src/stages/generate/__fixtures__/mkdocs_valid_doc_dir.yml @@ -0,0 +1,3 @@ +site_name: Test site name +site_description: Test site description +docs_dir: docs/ diff --git a/packages/techdocs-common/src/stages/generate/helpers.test.ts b/packages/techdocs-common/src/stages/generate/helpers.test.ts index b6b71e3e2b..a5a6d99c29 100644 --- a/packages/techdocs-common/src/stages/generate/helpers.test.ts +++ b/packages/techdocs-common/src/stages/generate/helpers.test.ts @@ -47,6 +47,9 @@ const mkdocsYmlWithExtensions = fs.readFileSync( const mkdocsYmlWithRepoUrl = fs.readFileSync( resolvePath(__filename, '../__fixtures__/mkdocs_with_repo_url.yml'), ); +const mkdocsYmlWithValidDocDir = fs.readFileSync( + resolvePath(__filename, '../__fixtures__/mkdocs_valid_doc_dir.yml'), +); const mkdocsYmlWithInvalidDocDir = fs.readFileSync( resolvePath(__filename, '../__fixtures__/mkdocs_invalid_doc_dir.yml'), ); @@ -336,6 +339,7 @@ describe('helpers', () => { mockFs({ '/mkdocs.yml': mkdocsYml, '/mkdocs_with_extensions.yml': mkdocsYmlWithExtensions, + '/mkdocs_valid_doc_dir.yml': mkdocsYmlWithValidDocDir, '/mkdocs_invalid_doc_dir.yml': mkdocsYmlWithInvalidDocDir, }); }); @@ -351,6 +355,12 @@ describe('helpers', () => { ).resolves.toBeUndefined(); }); + it('should return true on when a valid docs_dir is present', async () => { + await expect( + validateMkdocsYaml(inputDir, '/mkdocs_valid_doc_dir.yml'), + ).resolves.toBeUndefined(); + }); + it('should return false on absolute doc_dir path', async () => { await expect( validateMkdocsYaml(inputDir, '/mkdocs_invalid_doc_dir.yml'), diff --git a/packages/techdocs-common/src/stages/generate/helpers.ts b/packages/techdocs-common/src/stages/generate/helpers.ts index 086377b4ef..590e75e7b2 100644 --- a/packages/techdocs-common/src/stages/generate/helpers.ts +++ b/packages/techdocs-common/src/stages/generate/helpers.ts @@ -19,6 +19,7 @@ import { isChildPath } from '@backstage/backend-common'; import { spawn } from 'child_process'; import fs from 'fs-extra'; import yaml, { DEFAULT_SCHEMA, Type } from 'js-yaml'; +import { resolve as resolvePath } from 'path'; import { PassThrough, Writable } from 'stream'; import { Logger } from 'winston'; import { ParsedLocationAnnotation } from '../../helpers'; @@ -178,7 +179,10 @@ export const validateMkdocsYaml = async ( schema: MKDOCS_SCHEMA, }); - if (mkdocsYml.docs_dir && !isChildPath(inputDir, mkdocsYml.docs_dir)) { + if ( + mkdocsYml.docs_dir && + !isChildPath(inputDir, resolvePath(inputDir, mkdocsYml.docs_dir)) + ) { throw new Error( `docs_dir configuration value in mkdocs can't be an absolute directory or start with ../ for security reasons. Use relative paths instead which are resolved relative to your mkdocs.yml file location.`, diff --git a/packages/techdocs-common/src/stages/generate/techdocs.test.ts b/packages/techdocs-common/src/stages/generate/techdocs.test.ts index f8d5128adc..f3a91657e1 100644 --- a/packages/techdocs-common/src/stages/generate/techdocs.test.ts +++ b/packages/techdocs-common/src/stages/generate/techdocs.test.ts @@ -132,7 +132,8 @@ describe('readGeneratorConfig', () => { runIn: 'local', }); expect(logger.warn).toHaveBeenCalledWith( - `The 'techdocs.generators.techdocs' configuration key is deprecated and will be removed in the future. Please use 'techdocs.generator' instead.`, + `The 'techdocs.generators.techdocs' configuration key is deprecated and will be removed in the future. Please use 'techdocs.generator' instead. ` + + `See here https://backstage.io/docs/features/techdocs/configuration`, ); }); }); diff --git a/packages/techdocs-common/src/stages/generate/techdocs.ts b/packages/techdocs-common/src/stages/generate/techdocs.ts index 6847a74300..9d6bf38c54 100644 --- a/packages/techdocs-common/src/stages/generate/techdocs.ts +++ b/packages/techdocs-common/src/stages/generate/techdocs.ts @@ -168,7 +168,8 @@ export function readGeneratorConfig( if (legacyGeneratorType) { logger.warn( - `The 'techdocs.generators.techdocs' configuration key is deprecated and will be removed in the future. Please use 'techdocs.generator' instead.`, + `The 'techdocs.generators.techdocs' configuration key is deprecated and will be removed in the future. Please use 'techdocs.generator' instead. ` + + `See here https://backstage.io/docs/features/techdocs/configuration`, ); } diff --git a/packages/techdocs-common/src/stages/prepare/dir.test.ts b/packages/techdocs-common/src/stages/prepare/dir.test.ts index 6992a35c65..019bf51fe9 100644 --- a/packages/techdocs-common/src/stages/prepare/dir.test.ts +++ b/packages/techdocs-common/src/stages/prepare/dir.test.ts @@ -15,7 +15,6 @@ */ import { getVoidLogger, UrlReader } from '@backstage/backend-common'; import { ConfigReader } from '@backstage/config'; -import { checkoutGitRepository } from '../../helpers'; import { DirectoryPreparer } from './dir'; function normalizePath(path: string) { @@ -27,8 +26,6 @@ function normalizePath(path: string) { jest.mock('../../helpers', () => ({ ...jest.requireActual<{}>('../../helpers'), - checkoutGitRepository: jest.fn(() => '/tmp/backstage-repo/org/name/branch/'), - getLastCommitTimestamp: jest.fn(() => 12345678), })); const logger = getVoidLogger(); @@ -71,7 +68,7 @@ describe('directory preparer', () => { expect(normalizePath(preparedDir)).toEqual('/directory/our-documentation'); }); - it('should merge managed-by-location and techdocs-ref when techdocs-ref is absolute', async () => { + it('should reject when techdocs-ref is absolute', async () => { const directoryPreparer = new DirectoryPreparer( mockConfig, logger, @@ -84,11 +81,12 @@ describe('directory preparer', () => { 'backstage.io/techdocs-ref': 'dir:/our-documentation/techdocs', }); - const { preparedDir } = await directoryPreparer.prepare(mockEntity); - expect(normalizePath(preparedDir)).toEqual('/our-documentation/techdocs'); + await expect(directoryPreparer.prepare(mockEntity)).rejects.toThrow( + /Relative path is not allowed to refer to a directory outside its parent/, + ); }); - it('should merge managed-by-location and techdocs-ref when managed-by-location is a git repository', async () => { + it('should reject when managed-by-location is a git repository', async () => { const directoryPreparer = new DirectoryPreparer( mockConfig, logger, @@ -101,10 +99,8 @@ describe('directory preparer', () => { 'backstage.io/techdocs-ref': 'dir:./docs', }); - const { preparedDir } = await directoryPreparer.prepare(mockEntity); - expect(normalizePath(preparedDir)).toEqual( - '/tmp/backstage-repo/org/name/branch/docs', + await expect(directoryPreparer.prepare(mockEntity)).rejects.toThrow( + /Unable to resolve location type github/, ); - expect(checkoutGitRepository).toHaveBeenCalledTimes(1); }); }); diff --git a/packages/techdocs-common/src/stages/prepare/dir.ts b/packages/techdocs-common/src/stages/prepare/dir.ts index 9ec4b4d37a..ade0b00162 100644 --- a/packages/techdocs-common/src/stages/prepare/dir.ts +++ b/packages/techdocs-common/src/stages/prepare/dir.ts @@ -15,104 +15,68 @@ */ import { UrlReader } from '@backstage/backend-common'; -import { InputError, NotModifiedError } from '@backstage/errors'; import { Entity } from '@backstage/catalog-model'; import { Config } from '@backstage/config'; -import parseGitUrl from 'git-url-parse'; -import path from 'path'; -import { Logger } from 'winston'; +import { InputError } from '@backstage/errors'; import { - checkoutGitRepository, - getLastCommitTimestamp, - parseReferenceAnnotation, -} from '../../helpers'; + ScmIntegrationRegistry, + ScmIntegrations, +} from '@backstage/integration'; +import { Logger } from 'winston'; +import { parseReferenceAnnotation, transformDirLocation } from '../../helpers'; import { PreparerBase, PreparerResponse } from './types'; export class DirectoryPreparer implements PreparerBase { - constructor( - private readonly config: Config, - private readonly logger: Logger, - private readonly reader: UrlReader, - ) { - this.config = config; - this.logger = logger; + private readonly scmIntegrations: ScmIntegrationRegistry; + private readonly reader: UrlReader; + + constructor(config: Config, _logger: Logger, reader: UrlReader) { this.reader = reader; + this.scmIntegrations = ScmIntegrations.fromConfig(config); } - private async resolveManagedByLocationToDir( + async prepare( entity: Entity, - options?: { etag?: string }, + options?: { logger?: Logger; etag?: string }, ): Promise { - const { type, target } = parseReferenceAnnotation( - 'backstage.io/managed-by-location', + const annotation = parseReferenceAnnotation( + 'backstage.io/techdocs-ref', entity, ); - - this.logger.debug( - `Building docs for entity with type 'dir' and managed-by-location '${type}'`, + const { type, target } = transformDirLocation( + entity, + annotation, + this.scmIntegrations, ); + switch (type) { case 'url': { + options?.logger?.debug(`Reading files from ${target}`); + // the target is an absolute url since it has already been transformed const response = await this.reader.readTree(target, { etag: options?.etag, }); const preparedDir = await response.dir(); + + options?.logger?.debug(`Tree downloaded and stored at ${preparedDir}`); + return { preparedDir, etag: response.etag, }; } - case 'github': - case 'gitlab': - case 'azure/api': { - const parsedGitLocation = parseGitUrl(target); - const repoLocation = await checkoutGitRepository( - target, - this.config, - this.logger, - ); - // Check if etag has changed for cache invalidation. - const etag = await getLastCommitTimestamp(repoLocation, this.logger); - if (options?.etag === etag.toString()) { - throw new NotModifiedError(); - } + case 'dir': { return { - preparedDir: path.dirname( - path.join(repoLocation, parsedGitLocation.filepath), - ), - etag: etag.toString(), - }; - } - case 'file': - return { - preparedDir: path.dirname(target), + // the transformation already validated that the target is in a safe location + preparedDir: target, // Instead of supporting caching on local sources, use techdocs-cli for local development and debugging. etag: '', }; + } + default: throw new InputError(`Unable to resolve location type ${type}`); } } - - async prepare(entity: Entity): Promise { - this.logger.warn( - 'You are using the legacy dir preparer in TechDocs which will be removed in near future (March 2021). ' + - 'Migrate to URL reader by updating `backstage.io/techdocs-ref` annotation in `catalog-info.yaml` ' + - 'to be prefixed with `url:`. Read the migration guide and benefits at https://github.com/backstage/backstage/issues/4409 ', - ); - - const { target } = parseReferenceAnnotation( - 'backstage.io/techdocs-ref', - entity, - ); - - // This will throw NotModified error if etag has not changed. - const response = await this.resolveManagedByLocationToDir(entity); - - return { - preparedDir: path.resolve(response.preparedDir, target), - etag: response.etag, - }; - } } diff --git a/packages/test-utils/CHANGELOG.md b/packages/test-utils/CHANGELOG.md index 68e45cd831..12627e55a0 100644 --- a/packages/test-utils/CHANGELOG.md +++ b/packages/test-utils/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/test-utils +## 0.1.15 + +### Patch Changes + +- 45b5fc3a8: Updated the layout of catalog and API index pages to handle smaller screen sizes. This adds responsive wrappers to the entity tables, and switches filters to a drawer when width-constrained. If you have created a custom catalog or API index page, you will need to update the page structure to match the updated [catalog customization](https://backstage.io/docs/features/software-catalog/catalog-customization) documentation. +- Updated dependencies + - @backstage/core-app-api@0.1.5 + ## 0.1.14 ### Patch Changes diff --git a/packages/test-utils/api-report.md b/packages/test-utils/api-report.md index d85db1feb7..187867d24f 100644 --- a/packages/test-utils/api-report.md +++ b/packages/test-utils/api-report.md @@ -15,16 +15,15 @@ import { RouteRef } from '@backstage/core-plugin-api'; import { StorageApi } from '@backstage/core-plugin-api'; import { StorageValueChange } from '@backstage/core-plugin-api'; -// Warning: (ae-forgotten-export) The symbol "Breakpoint" needs to be exported by the entry point index.d.ts +// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen // Warning: (ae-missing-release-tag) "mockBreakpoint" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // -// @public (undocumented) -export function mockBreakpoint( - initialBreakpoint?: Breakpoint, -): { - set(breakpoint: Breakpoint): void; - remove(): void; -}; +// @public +export function mockBreakpoint({ + matches, +}: { + matches?: boolean | undefined; +}): void; // Warning: (ae-missing-release-tag) "MockErrorApi" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json index 797a23b17f..cfe4f2198e 100644 --- a/packages/test-utils/package.json +++ b/packages/test-utils/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/test-utils", "description": "Utilities to test Backstage plugins and apps.", - "version": "0.1.14", + "version": "0.1.15", "private": false, "publishConfig": { "access": "public", @@ -29,7 +29,7 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-app-api": "^0.1.3", + "@backstage/core-app-api": "^0.1.5", "@backstage/core-plugin-api": "^0.1.3", "@backstage/test-utils-core": "^0.1.1", "@backstage/theme": "^0.2.8", @@ -46,7 +46,7 @@ "zen-observable": "^0.8.15" }, "devDependencies": { - "@backstage/cli": "^0.7.2", + "@backstage/cli": "^0.7.5", "@types/jest": "^26.0.7", "@types/node": "^14.14.32" }, diff --git a/packages/test-utils/src/testUtils/mockBreakpoint.ts b/packages/test-utils/src/testUtils/mockBreakpoint.ts index 37f0e761b6..3335284f88 100644 --- a/packages/test-utils/src/testUtils/mockBreakpoint.ts +++ b/packages/test-utils/src/testUtils/mockBreakpoint.ts @@ -14,80 +14,30 @@ * limitations under the License. */ -import { act } from '@testing-library/react'; - -type Breakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl'; - -const queryToBreakpoint = { - '(min-width:1920px)': 'xl', - '(min-width:1280px)': 'lg', - '(min-width:960px)': 'md', - '(min-width:600px)': 'sm', - '(min-width:0px)': 'xs', -} as Record; - -function toBreakpoint(query: string) { - const breakpoint = queryToBreakpoint[query]; - if (!breakpoint) { - throw new Error( - `received unknown media query in breakpoint mock: '${query}'`, - ); - } - return breakpoint; -} - -type Listener = (event: { matches: boolean }) => void; - -interface QueryList { - addListener(listener: Listener): void; - removeListener(listener: Listener): void; - matches: boolean; -} - -interface Query { - query: string; - queryList: QueryList; - listeners: Set; -} - -export default function mockBreakpoint(initialBreakpoint: Breakpoint = 'xl') { - let currentBreakpoint = initialBreakpoint; - const queries = Array(); - - const previousMatchMedia: any = (window as any).matchMedia; - - (window as any).matchMedia = (query: string): QueryList => { - const listeners = new Set(); - - const queryList: QueryList = { - addListener(listener) { - listeners.add(listener); - }, - removeListener(listener) { - listeners.delete(listener); - }, - matches: toBreakpoint(query) === currentBreakpoint, - }; - - queries.push({ query, queryList, listeners }); - - return queryList; - }; - - return { - set(breakpoint: Breakpoint) { - currentBreakpoint = breakpoint; - - act(() => { - queries.forEach(({ query, queryList, listeners }) => { - const matches = toBreakpoint(query) === breakpoint; - queryList.matches = matches; - listeners.forEach(listener => listener({ matches })); - }); - }); - }, - remove() { - (window as any).matchMedia = previousMatchMedia; - }, - }; +/** + * This is a mocking method suggested in the Jest Doc's, as it is not implemented in JSDOM yet. + * It can be used to mock values when the MUI `useMediaQuery` hook if it is used in a tested component. + * + * For issues checkout the documentation: + * https://jestjs.io/docs/manual-mocks#mocking-methods-which-are-not-implemented-in-jsdom + * + * If there are any updates from MUI React on testing `useMediaQuery` this mock should be replaced + * https://material-ui.com/components/use-media-query/#testing + * + * @param matchMediaOptions + */ +export default function mockBreakpoint({ matches = false }) { + Object.defineProperty(window, 'matchMedia', { + writable: true, + value: jest.fn().mockImplementation(query => ({ + matches: matches, + media: query, + onchange: null, + addListener: jest.fn(), // deprecated + removeListener: jest.fn(), // deprecated + addEventListener: jest.fn(), + removeEventListener: jest.fn(), + dispatchEvent: jest.fn(), + })), + }); } diff --git a/plugins/api-docs/CHANGELOG.md b/plugins/api-docs/CHANGELOG.md index bcb21865c1..dfa9130b4d 100644 --- a/plugins/api-docs/CHANGELOG.md +++ b/plugins/api-docs/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-api-docs +## 0.6.3 + +### Patch Changes + +- 45b5fc3a8: Updated the layout of catalog and API index pages to handle smaller screen sizes. This adds responsive wrappers to the entity tables, and switches filters to a drawer when width-constrained. If you have created a custom catalog or API index page, you will need to update the page structure to match the updated [catalog customization](https://backstage.io/docs/features/software-catalog/catalog-customization) documentation. +- Updated dependencies + - @backstage/core-components@0.1.6 + - @backstage/plugin-catalog@0.6.8 + - @backstage/plugin-catalog-react@0.3.1 + ## 0.6.2 ### Patch Changes diff --git a/plugins/api-docs/README.md b/plugins/api-docs/README.md index 60d8986d9b..d5ed198dc1 100644 --- a/plugins/api-docs/README.md +++ b/plugins/api-docs/README.md @@ -59,15 +59,17 @@ const apiPage = ( - + - - - - - - + + + + + + + + diff --git a/plugins/api-docs/api-report.md b/plugins/api-docs/api-report.md index a368cf5675..639485a42d 100644 --- a/plugins/api-docs/api-report.md +++ b/plugins/api-docs/api-report.md @@ -52,14 +52,16 @@ const apiDocsPlugin: BackstagePlugin< export { apiDocsPlugin }; export { apiDocsPlugin as plugin }; -// Warning: (ae-forgotten-export) The symbol "ApiExplorerPageProps" needs to be exported by the entry point index.d.ts // Warning: (ae-missing-release-tag) "ApiExplorerPage" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export const ApiExplorerPage: ({ initiallySelectedFilter, columns, -}: ApiExplorerPageProps) => JSX.Element; +}: { + initiallySelectedFilter?: UserListFilterKind | undefined; + columns?: TableColumn[] | undefined; +}) => JSX.Element; // Warning: (ae-missing-release-tag) "ApiTypeTitle" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // diff --git a/plugins/api-docs/package.json b/plugins/api-docs/package.json index 7d4edc41f8..f02945c14c 100644 --- a/plugins/api-docs/package.json +++ b/plugins/api-docs/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-api-docs", - "version": "0.6.2", + "version": "0.6.3", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -31,10 +31,10 @@ "dependencies": { "@asyncapi/react-component": "^0.23.0", "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", - "@backstage/plugin-catalog": "^0.6.7", - "@backstage/plugin-catalog-react": "^0.3.0", + "@backstage/plugin-catalog": "^0.6.8", + "@backstage/plugin-catalog-react": "^0.3.1", "@backstage/theme": "^0.2.8", "@material-icons/font": "^1.0.2", "@material-ui/core": "^4.11.0", @@ -51,10 +51,10 @@ "swagger-ui-react": "^3.37.2" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/api-docs/src/components/ApiExplorerPage/ApiExplorerPage.tsx b/plugins/api-docs/src/components/ApiExplorerPage/ApiExplorerPage.tsx index 9a8b725ffc..361ce7b55b 100644 --- a/plugins/api-docs/src/components/ApiExplorerPage/ApiExplorerPage.tsx +++ b/plugins/api-docs/src/components/ApiExplorerPage/ApiExplorerPage.tsx @@ -14,6 +14,21 @@ * limitations under the License. */ +import { + Content, + ContentHeader, + PageWithHeader, + SupportButton, + TableColumn, +} from '@backstage/core-components'; +import { configApiRef, useApi, useRouteRef } from '@backstage/core-plugin-api'; +import { + CatalogTable, + CatalogTableRow, + FilteredEntityLayout, + EntityListContainer, + FilterContainer, +} from '@backstage/plugin-catalog'; import { EntityKindPicker, EntityLifecyclePicker, @@ -24,29 +39,10 @@ import { UserListFilterKind, UserListPicker, } from '@backstage/plugin-catalog-react'; -import { CatalogTable, CatalogTableRow } from '@backstage/plugin-catalog'; -import { Button, makeStyles } from '@material-ui/core'; +import { Button } from '@material-ui/core'; import React from 'react'; import { Link as RouterLink } from 'react-router-dom'; import { createComponentRouteRef } from '../../routes'; -import { ApiExplorerLayout } from './ApiExplorerLayout'; - -import { - Content, - ContentHeader, - SupportButton, - TableColumn, -} from '@backstage/core-components'; -import { useRouteRef } from '@backstage/core-plugin-api'; - -const useStyles = makeStyles(theme => ({ - contentWrapper: { - display: 'grid', - gridTemplateAreas: "'filters' 'table'", - gridTemplateColumns: '250px 1fr', - gridColumnGap: theme.spacing(2), - }, -})); const defaultColumns: TableColumn[] = [ CatalogTable.columns.createNameColumn({ defaultKind: 'API' }), @@ -58,7 +54,7 @@ const defaultColumns: TableColumn[] = [ CatalogTable.columns.createTagsColumn(), ]; -export type ApiExplorerPageProps = { +type ApiExplorerPageProps = { initiallySelectedFilter?: UserListFilterKind; columns?: TableColumn[]; }; @@ -67,11 +63,19 @@ export const ApiExplorerPage = ({ initiallySelectedFilter = 'all', columns, }: ApiExplorerPageProps) => { - const styles = useStyles(); const createComponentLink = useRouteRef(createComponentRouteRef); + const configApi = useApi(configApiRef); + const generatedSubtitle = `${ + configApi.getOptionalString('organization.name') ?? 'Backstage' + } API Explorer`; return ( - + {createComponentLink && ( @@ -86,20 +90,22 @@ export const ApiExplorerPage = ({ )} All your APIs -
- -
+ + +
- -
-
+ + + + + +
-
+ ); }; diff --git a/plugins/auth-backend/CHANGELOG.md b/plugins/auth-backend/CHANGELOG.md index 362eda35a7..218e20cd0e 100644 --- a/plugins/auth-backend/CHANGELOG.md +++ b/plugins/auth-backend/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-auth-backend +## 0.3.18 + +### Patch Changes + +- 2567c066d: TokenIssuer is now exported so it may be used by auth providers that are not bundled with Backstage +- Updated dependencies + - @backstage/catalog-client@0.3.17 + - @backstage/backend-common@0.8.7 + - @backstage/test-utils@0.1.15 + ## 0.3.17 ### Patch Changes diff --git a/plugins/auth-backend/api-report.md b/plugins/auth-backend/api-report.md index 174d640031..1ada822262 100644 --- a/plugins/auth-backend/api-report.md +++ b/plugins/auth-backend/api-report.md @@ -346,6 +346,16 @@ export interface RouterOptions { providerFactories?: ProviderFactories; } +// Warning: (ae-missing-release-tag) "TokenIssuer" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public +export type TokenIssuer = { + issueToken(params: TokenParams): Promise; + listPublicKeys(): Promise<{ + keys: AnyJWK[]; + }>; +}; + // Warning: (ae-missing-release-tag) "verifyNonce" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) @@ -366,9 +376,10 @@ export type WebMessageResponse = // Warnings were encountered during analysis: // +// src/identity/types.d.ts:25:5 - (ae-forgotten-export) The symbol "TokenParams" needs to be exported by the entry point index.d.ts +// src/identity/types.d.ts:31:9 - (ae-forgotten-export) The symbol "AnyJWK" needs to be exported by the entry point index.d.ts // src/providers/google/provider.d.ts:36:5 - (ae-forgotten-export) The symbol "AuthHandler" needs to be exported by the entry point index.d.ts // src/providers/types.d.ts:105:5 - (ae-forgotten-export) The symbol "AuthProviderConfig" needs to be exported by the entry point index.d.ts -// src/providers/types.d.ts:108:5 - (ae-forgotten-export) The symbol "TokenIssuer" needs to be exported by the entry point index.d.ts // src/providers/types.d.ts:111:5 - (ae-forgotten-export) The symbol "ExperimentalIdentityResolver" needs to be exported by the entry point index.d.ts // src/providers/types.d.ts:128:8 - (tsdoc-missing-deprecation-message) The @deprecated block must include a deprecation message, e.g. describing the recommended alternative diff --git a/plugins/auth-backend/package.json b/plugins/auth-backend/package.json index 6e2e35997e..07097a880f 100644 --- a/plugins/auth-backend/package.json +++ b/plugins/auth-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-auth-backend", - "version": "0.3.17", + "version": "0.3.18", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -29,12 +29,12 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/backend-common": "^0.8.6", - "@backstage/catalog-client": "^0.3.16", + "@backstage/backend-common": "^0.8.7", + "@backstage/catalog-client": "^0.3.17", "@backstage/catalog-model": "^0.9.0", "@backstage/config": "^0.1.5", "@backstage/errors": "^0.1.1", - "@backstage/test-utils": "^0.1.14", + "@backstage/test-utils": "^0.1.15", "@types/express": "^4.17.6", "@types/passport": "^1.0.3", "compression": "^1.7.4", @@ -68,7 +68,7 @@ "yn": "^4.0.0" }, "devDependencies": { - "@backstage/cli": "^0.7.4", + "@backstage/cli": "^0.7.5", "@types/body-parser": "^1.19.0", "@types/cookie-parser": "^1.4.2", "@types/express-session": "^1.17.2", diff --git a/plugins/auth-backend/src/index.ts b/plugins/auth-backend/src/index.ts index d3ea83efd6..6b15b1fc81 100644 --- a/plugins/auth-backend/src/index.ts +++ b/plugins/auth-backend/src/index.ts @@ -16,6 +16,7 @@ export * from './service/router'; export { IdentityClient } from './identity'; +export type { TokenIssuer } from './identity'; export * from './providers'; // flow package provides 2 functions diff --git a/plugins/badges/package.json b/plugins/badges/package.json index 2009457705..3d38bc6d92 100644 --- a/plugins/badges/package.json +++ b/plugins/badges/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/errors": "^0.1.1", "@backstage/plugin-catalog-react": "^0.3.0", @@ -35,10 +35,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/bitrise/package.json b/plugins/bitrise/package.json index cf7a5d33e1..00eb35f055 100644 --- a/plugins/bitrise/package.json +++ b/plugins/bitrise/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", @@ -38,10 +38,10 @@ "recharts": "^1.8.5" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/catalog-import/CHANGELOG.md b/plugins/catalog-import/CHANGELOG.md index df4bd02cb9..ad1a05da5e 100644 --- a/plugins/catalog-import/CHANGELOG.md +++ b/plugins/catalog-import/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-catalog-import +## 0.5.14 + +### Patch Changes + +- 903f3323c: Fix heading that wrongly implied catalog-import supports entity discovery for multiple integrations. +- Updated dependencies + - @backstage/core-components@0.1.6 + - @backstage/catalog-client@0.3.17 + - @backstage/plugin-catalog-react@0.3.1 + ## 0.5.13 ### Patch Changes diff --git a/plugins/catalog-import/package.json b/plugins/catalog-import/package.json index 857dc0a837..d6f371bc65 100644 --- a/plugins/catalog-import/package.json +++ b/plugins/catalog-import/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-import", - "version": "0.5.13", + "version": "0.5.14", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -30,13 +30,13 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/catalog-client": "^0.3.16", + "@backstage/catalog-client": "^0.3.17", "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/integration": "^0.5.8", "@backstage/integration-react": "^0.1.4", - "@backstage/plugin-catalog-react": "^0.3.0", + "@backstage/plugin-catalog-react": "^0.3.1", "@backstage/theme": "^0.2.8", "@material-ui/core": "^4.11.0", "@material-ui/icons": "^4.9.1", @@ -54,10 +54,10 @@ "yaml": "^1.10.0" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/react-hooks": "^3.3.0", diff --git a/plugins/catalog-import/src/components/ImportComponentPage.tsx b/plugins/catalog-import/src/components/ImportComponentPage.tsx index 6bf5af24ef..f4ca144165 100644 --- a/plugins/catalog-import/src/components/ImportComponentPage.tsx +++ b/plugins/catalog-import/src/components/ImportComponentPage.tsx @@ -14,12 +14,12 @@ * limitations under the License. */ -import { Grid, Typography } from '@material-ui/core'; +import { Chip, Grid, Typography } from '@material-ui/core'; import React from 'react'; import { ImportStepper } from './ImportStepper'; import { StepperProviderOpts } from './ImportStepper/defaults'; -import { ConfigApi, configApiRef, useApi } from '@backstage/core-plugin-api'; +import { configApiRef, useApi } from '@backstage/core-plugin-api'; import { Content, ContentHeader, @@ -29,30 +29,12 @@ import { SupportButton, } from '@backstage/core-components'; -function repositories(configApi: ConfigApi): string[] { - const integrations = configApi.getConfig('integrations'); - const repos = []; - if (integrations.has('github')) { - repos.push('GitHub'); - } - if (integrations.has('bitbucket')) { - repos.push('Bitbucket'); - } - if (integrations.has('gitlab')) { - repos.push('GitLab'); - } - if (integrations.has('azure')) { - repos.push('Azure'); - } - return repos; -} - export const ImportComponentPage = (opts: StepperProviderOpts) => { const configApi = useApi(configApiRef); const appTitle = configApi.getOptional('app.title') || 'Backstage'; - const repos = repositories(configApi); - const repositoryString = repos.join(', ').replace(/, (\w*)$/, ' or $1'); + const integrations = configApi.getConfig('integrations'); + const hasGithubIntegration = integrations.has('github'); return ( @@ -76,7 +58,8 @@ export const ImportComponentPage = (opts: StepperProviderOpts) => { }} > - Enter the URL to your SCM repository to add it to {appTitle}. + Enter the URL to your source code repository to add it to{' '} + {appTitle}. Link to an existing entity file @@ -91,10 +74,11 @@ export const ImportComponentPage = (opts: StepperProviderOpts) => { The wizard analyzes the file, previews the entities, and adds them to the {appTitle} catalog. - {repos.length > 0 && ( + {hasGithubIntegration && ( <> - Link to a {repositoryString} repository + Link to a repository{' '} + (): { entity: T; loading: boolean; error: Error | undefined; + refresh: VoidFunction | undefined; }; // Warning: (ae-missing-release-tag) "useEntityCompoundName" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) diff --git a/plugins/catalog-react/package.json b/plugins/catalog-react/package.json index e1b3beda4e..d0cb5ac947 100644 --- a/plugins/catalog-react/package.json +++ b/plugins/catalog-react/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-react", - "version": "0.3.0", + "version": "0.3.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -28,10 +28,10 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/catalog-client": "^0.3.16", + "@backstage/catalog-client": "^0.3.17", "@backstage/catalog-model": "^0.9.0", - "@backstage/core-app-api": "^0.1.4", - "@backstage/core-components": "^0.1.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/integration": "^0.5.8", "@material-ui/core": "^4.11.0", @@ -46,9 +46,9 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/react-hooks": "^3.3.0", diff --git a/plugins/catalog-react/src/hooks/useEntity.ts b/plugins/catalog-react/src/hooks/useEntity.ts index 465cffcf9b..6fe25fb115 100644 --- a/plugins/catalog-react/src/hooks/useEntity.ts +++ b/plugins/catalog-react/src/hooks/useEntity.ts @@ -17,7 +17,7 @@ import { Entity } from '@backstage/catalog-model'; import { errorApiRef, useApi } from '@backstage/core-plugin-api'; import { createContext, useContext, useEffect } from 'react'; import { useNavigate } from 'react-router'; -import { useAsync } from 'react-use'; +import { useAsyncRetry } from 'react-use'; import { catalogApiRef } from '../api'; import { useEntityCompoundName } from './useEntityCompoundName'; @@ -25,12 +25,14 @@ type EntityLoadingStatus = { entity?: Entity; loading: boolean; error?: Error; + refresh?: VoidFunction; }; export const EntityContext = createContext({ entity: undefined, loading: true, error: undefined, + refresh: () => {}, }); export const useEntityFromUrl = (): EntityLoadingStatus => { @@ -39,7 +41,7 @@ export const useEntityFromUrl = (): EntityLoadingStatus => { const errorApi = useApi(errorApiRef); const catalogApi = useApi(catalogApiRef); - const { value: entity, error, loading } = useAsync( + const { value: entity, error, loading, retry: refresh } = useAsyncRetry( () => catalogApi.getEntityByName({ kind, namespace, name }), [catalogApi, kind, namespace, name], ); @@ -51,13 +53,13 @@ export const useEntityFromUrl = (): EntityLoadingStatus => { } }, [errorApi, navigate, error, loading, entity, name]); - return { entity, loading, error }; + return { entity, loading, error, refresh }; }; /** * Grab the current entity from the context and its current loading state. */ export function useEntity() { - const { entity, loading, error } = useContext(EntityContext); - return { entity: entity as T, loading, error }; + const { entity, loading, error, refresh } = useContext(EntityContext); + return { entity: entity as T, loading, error, refresh }; } diff --git a/plugins/catalog-react/src/testUtils/providers.tsx b/plugins/catalog-react/src/testUtils/providers.tsx index 3639715da2..1f9e4f40d6 100644 --- a/plugins/catalog-react/src/testUtils/providers.tsx +++ b/plugins/catalog-react/src/testUtils/providers.tsx @@ -52,8 +52,8 @@ export const MockEntityListContextProvider = ({ const defaultContext: EntityListContextProps = { entities: [], backendEntities: [], - updateFilters: updateFilters, - filters: filters, + updateFilters, + filters, loading: false, queryParameters: {}, }; diff --git a/plugins/catalog/CHANGELOG.md b/plugins/catalog/CHANGELOG.md index 2255aae527..295c1fe15c 100644 --- a/plugins/catalog/CHANGELOG.md +++ b/plugins/catalog/CHANGELOG.md @@ -1,5 +1,26 @@ # @backstage/plugin-catalog +## 0.6.8 + +### Patch Changes + +- 221d7d060: added retry callback to useEntity hook +- 45b5fc3a8: Updated the layout of catalog and API index pages to handle smaller screen sizes. This adds responsive wrappers to the entity tables, and switches filters to a drawer when width-constrained. If you have created a custom catalog or API index page, you will need to update the page structure to match the updated [catalog customization](https://backstage.io/docs/features/software-catalog/catalog-customization) documentation. +- 71c936eb6: Export `CatalogClientWrapper` class +- 03bf17e9b: Improve the responsiveness of the EntityPage UI. With this the Header component should scale with the screen size & wrapping should not cause overflowing/blocking of links. Additionally enforce the Pages using the Grid Layout to use it across all screen sizes & to wrap as intended. + + To benefit from the improved responsive layout, the `EntityPage` in existing Backstage applications should be updated to set the `xs` column size on each grid item in the page, as this does not default. For example: + + ```diff + - + + + ``` + +- Updated dependencies + - @backstage/core-components@0.1.6 + - @backstage/catalog-client@0.3.17 + - @backstage/plugin-catalog-react@0.3.1 + ## 0.6.7 ### Patch Changes diff --git a/plugins/catalog/api-report.md b/plugins/catalog/api-report.md index ec8bd66385..a416e70038 100644 --- a/plugins/catalog/api-report.md +++ b/plugins/catalog/api-report.md @@ -39,7 +39,7 @@ export function AboutCard({ variant }: AboutCardProps): JSX.Element; // Warning: (ae-missing-release-tag) "AboutContent" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -export const AboutContent: ({ entity }: Props_2) => JSX.Element; +export const AboutContent: ({ entity }: Props) => JSX.Element; // Warning: (ae-forgotten-export) The symbol "Props" needs to be exported by the entry point index.d.ts // Warning: (ae-missing-release-tag) "AboutField" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) @@ -50,7 +50,7 @@ export const AboutField: ({ value, gridSizes, children, -}: Props_3) => JSX.Element; +}: Props_2) => JSX.Element; // Warning: (ae-missing-release-tag) "CatalogClientWrapper" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // @@ -109,17 +109,11 @@ export const CatalogEntityPage: () => JSX.Element; // // @public (undocumented) export const CatalogIndexPage: ({ - initiallySelectedFilter, columns, actions, + initiallySelectedFilter, }: CatalogPageProps) => JSX.Element; -// Warning: (ae-forgotten-export) The symbol "Props" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "CatalogLayout" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const CatalogLayout: ({ children }: Props) => JSX.Element; - // Warning: (ae-missing-release-tag) "catalogPlugin" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) @@ -305,6 +299,13 @@ export const EntityLinksCard: ({ variant?: 'gridItem' | undefined; }) => JSX.Element; +// Warning: (ae-missing-release-tag) "EntityListContainer" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export const EntityListContainer: ({ + children, +}: PropsWithChildren<{}>) => JSX.Element; + // Warning: (ae-missing-release-tag) "EntityOrphanWarning" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public @@ -343,6 +344,20 @@ export const EntitySwitch: { // @public (undocumented) export const EntitySystemDiagramCard: SystemDiagramCard; +// Warning: (ae-missing-release-tag) "FilterContainer" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export const FilterContainer: ({ + children, +}: PropsWithChildren<{}>) => JSX.Element; + +// Warning: (ae-missing-release-tag) "FilteredEntityLayout" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export const FilteredEntityLayout: ({ + children, +}: PropsWithChildren<{}>) => JSX.Element; + // Warning: (ae-missing-release-tag) "isComponentType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) diff --git a/plugins/catalog/package.json b/plugins/catalog/package.json index e89b368474..821e029616 100644 --- a/plugins/catalog/package.json +++ b/plugins/catalog/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog", - "version": "0.6.7", + "version": "0.6.8", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -30,14 +30,14 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/catalog-client": "^0.3.16", + "@backstage/catalog-client": "^0.3.17", "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/errors": "^0.1.1", "@backstage/integration": "^0.5.8", "@backstage/integration-react": "^0.1.4", - "@backstage/plugin-catalog-react": "^0.3.0", + "@backstage/plugin-catalog-react": "^0.3.1", "@backstage/theme": "^0.2.8", "@material-ui/core": "^4.11.0", "@material-ui/icons": "^4.9.1", @@ -54,10 +54,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/react-hooks": "^3.3.0", diff --git a/plugins/catalog/src/components/CatalogPage/CatalogLayout.tsx b/plugins/catalog/src/components/CatalogPage/CatalogLayout.tsx deleted file mode 100644 index 2471ac9df2..0000000000 --- a/plugins/catalog/src/components/CatalogPage/CatalogLayout.tsx +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import React from 'react'; - -import { configApiRef, useApi } from '@backstage/core-plugin-api'; -import { Header, Page } from '@backstage/core-components'; - -type Props = { - children?: React.ReactNode; -}; - -export const CatalogLayout = ({ children }: Props) => { - const orgName = - useApi(configApiRef).getOptionalString('organization.name') ?? 'Backstage'; - - return ( - -
- {children} - - ); -}; - -export default CatalogLayout; diff --git a/plugins/catalog/src/components/CatalogPage/CatalogPage.test.tsx b/plugins/catalog/src/components/CatalogPage/CatalogPage.test.tsx index 584eea0850..e09aec55e7 100644 --- a/plugins/catalog/src/components/CatalogPage/CatalogPage.test.tsx +++ b/plugins/catalog/src/components/CatalogPage/CatalogPage.test.tsx @@ -26,6 +26,7 @@ import { MockStorageApi, renderWithEffects, wrapInTestApp, + mockBreakpoint, } from '@backstage/test-utils'; import { fireEvent, screen } from '@testing-library/react'; import React from 'react'; @@ -244,4 +245,13 @@ describe('CatalogPage', () => { screen.findByText(/Starred \(1\)/), ).resolves.toBeInTheDocument(); }); + + it('should wrap filter in drawer on smaller screens', async () => { + mockBreakpoint({ matches: true }); + const { getByRole } = await renderWrapped(); + const button = getByRole('button', { name: 'Filters' }); + expect(getByRole('presentation', { hidden: true })).toBeInTheDocument(); + fireEvent.click(button); + expect(getByRole('presentation')).toBeVisible(); + }); }); diff --git a/plugins/catalog/src/components/CatalogPage/CatalogPage.tsx b/plugins/catalog/src/components/CatalogPage/CatalogPage.tsx index 089e61f0fb..963e04e5e2 100644 --- a/plugins/catalog/src/components/CatalogPage/CatalogPage.tsx +++ b/plugins/catalog/src/components/CatalogPage/CatalogPage.tsx @@ -14,8 +14,15 @@ * limitations under the License. */ -import React from 'react'; -import { Grid } from '@material-ui/core'; +import { + Content, + ContentHeader, + PageWithHeader, + SupportButton, + TableColumn, + TableProps, +} from '@backstage/core-components'; +import { configApiRef, useApi } from '@backstage/core-plugin-api'; import { EntityKindPicker, EntityLifecyclePicker, @@ -26,18 +33,15 @@ import { UserListFilterKind, UserListPicker, } from '@backstage/plugin-catalog-react'; +import React from 'react'; import { CatalogTable } from '../CatalogTable'; - import { EntityRow } from '../CatalogTable/types'; -import CatalogLayout from './CatalogLayout'; import { CreateComponentButton } from '../CreateComponentButton'; import { - Content, - ContentHeader, - SupportButton, - TableColumn, - TableProps, -} from '@backstage/core-components'; + FilteredEntityLayout, + EntityListContainer, + FilterContainer, +} from '../FilteredEntityLayout'; export type CatalogPageProps = { initiallySelectedFilter?: UserListFilterKind; @@ -46,39 +50,36 @@ export type CatalogPageProps = { }; export const CatalogPage = ({ - initiallySelectedFilter = 'owned', columns, actions, -}: CatalogPageProps) => ( - - - - - All your software catalog entities - - + initiallySelectedFilter = 'owned', +}: CatalogPageProps) => { + const orgName = + useApi(configApiRef).getOptionalString('organization.name') ?? 'Backstage'; + + return ( + + + + + All your software catalog entities + - - - - - - - - - - - - - - - - - + + + + + + + - - - -); + + + ); +}; diff --git a/plugins/catalog/src/components/CatalogPage/index.ts b/plugins/catalog/src/components/CatalogPage/index.ts index 66c3c2f4b3..dc7ed68229 100644 --- a/plugins/catalog/src/components/CatalogPage/index.ts +++ b/plugins/catalog/src/components/CatalogPage/index.ts @@ -13,5 +13,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -export { CatalogLayout } from './CatalogLayout'; export { CatalogPage } from './CatalogPage'; diff --git a/plugins/catalog/src/components/CreateComponentButton/CreateComponentButton.tsx b/plugins/catalog/src/components/CreateComponentButton/CreateComponentButton.tsx index 482a0c0a3c..ae2fc4b718 100644 --- a/plugins/catalog/src/components/CreateComponentButton/CreateComponentButton.tsx +++ b/plugins/catalog/src/components/CreateComponentButton/CreateComponentButton.tsx @@ -23,9 +23,7 @@ import { useRouteRef } from '@backstage/core-plugin-api'; export const CreateComponentButton = () => { const createComponentLink = useRouteRef(createComponentRouteRef); - if (!createComponentLink) return null; - - return ( + return createComponentLink ? ( - ); + ) : null; }; diff --git a/plugins/catalog/src/components/CreateComponentButton/index.ts b/plugins/catalog/src/components/CreateComponentButton/index.ts index e525bef782..edf59d18a6 100644 --- a/plugins/catalog/src/components/CreateComponentButton/index.ts +++ b/plugins/catalog/src/components/CreateComponentButton/index.ts @@ -13,4 +13,5 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + export { CreateComponentButton } from './CreateComponentButton'; diff --git a/plugins/catalog/src/components/EntityLayout/EntityLayout.tsx b/plugins/catalog/src/components/EntityLayout/EntityLayout.tsx index 9cb0b7c961..a5b85082cc 100644 --- a/plugins/catalog/src/components/EntityLayout/EntityLayout.tsx +++ b/plugins/catalog/src/components/EntityLayout/EntityLayout.tsx @@ -20,9 +20,17 @@ import { RELATION_OWNED_BY, } from '@backstage/catalog-model'; import { - useElementFilter, + Content, + Header, + HeaderLabel, + Page, + Progress, + RoutedTabs, +} from '@backstage/core-components'; +import { attachComponentData, IconComponent, + useElementFilter, } from '@backstage/core-plugin-api'; import { EntityContext, @@ -37,14 +45,6 @@ import { useNavigate } from 'react-router'; import { EntityContextMenu } from '../EntityContextMenu/EntityContextMenu'; import { FavouriteEntity } from '../FavouriteEntity/FavouriteEntity'; import { UnregisterEntityDialog } from '../UnregisterEntityDialog/UnregisterEntityDialog'; -import { - Content, - Header, - HeaderLabel, - Page, - Progress, - RoutedTabs, -} from '@backstage/core-components'; type SubRoute = { path: string; @@ -68,12 +68,21 @@ const EntityLayoutTitle = ({ }: { title: string; entity: Entity | undefined; -}) => ( - - {title} - {entity && } - -); +}) => { + return ( + + + {title} + + {entity && } + + ); +}; const headerProps = ( paramKind: string | undefined, diff --git a/plugins/catalog/src/components/EntityLoaderProvider/EntityLoaderProvider.tsx b/plugins/catalog/src/components/EntityLoaderProvider/EntityLoaderProvider.tsx index 7f9f728161..8d2feae7da 100644 --- a/plugins/catalog/src/components/EntityLoaderProvider/EntityLoaderProvider.tsx +++ b/plugins/catalog/src/components/EntityLoaderProvider/EntityLoaderProvider.tsx @@ -20,10 +20,10 @@ import { import React, { ReactNode } from 'react'; export const EntityLoaderProvider = ({ children }: { children: ReactNode }) => { - const { entity, loading, error } = useEntityFromUrl(); + const { entity, loading, error, refresh } = useEntityFromUrl(); return ( - + {children} ); diff --git a/plugins/catalog/src/components/FilteredEntityLayout/EntityListContainer.tsx b/plugins/catalog/src/components/FilteredEntityLayout/EntityListContainer.tsx new file mode 100644 index 0000000000..a39ef76b87 --- /dev/null +++ b/plugins/catalog/src/components/FilteredEntityLayout/EntityListContainer.tsx @@ -0,0 +1,24 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Grid } from '@material-ui/core'; +import React, { PropsWithChildren } from 'react'; + +export const EntityListContainer = ({ children }: PropsWithChildren<{}>) => ( + + {children} + +); diff --git a/plugins/catalog/src/components/FilteredEntityLayout/FilterContainer.tsx b/plugins/catalog/src/components/FilteredEntityLayout/FilterContainer.tsx new file mode 100644 index 0000000000..683dbf8b40 --- /dev/null +++ b/plugins/catalog/src/components/FilteredEntityLayout/FilterContainer.tsx @@ -0,0 +1,71 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { BackstageTheme } from '@backstage/theme'; +import { + Box, + Button, + Drawer, + Grid, + Typography, + useMediaQuery, + useTheme, +} from '@material-ui/core'; +import FilterListIcon from '@material-ui/icons/FilterList'; +import React, { useState, PropsWithChildren } from 'react'; + +export const FilterContainer = ({ children }: PropsWithChildren<{}>) => { + const isMidSizeScreen = useMediaQuery(theme => + theme.breakpoints.down('md'), + ); + const theme = useTheme(); + const [filterDrawerOpen, setFilterDrawerOpen] = useState(false); + + return isMidSizeScreen ? ( + <> + + setFilterDrawerOpen(false)} + anchor="left" + disableAutoFocus + keepMounted + variant="temporary" + > + + + Filters + + {children} + + + + ) : ( + + {children} + + ); +}; diff --git a/plugins/catalog/src/components/FilteredEntityLayout/FilteredEntityLayout.tsx b/plugins/catalog/src/components/FilteredEntityLayout/FilteredEntityLayout.tsx new file mode 100644 index 0000000000..628ad9fee6 --- /dev/null +++ b/plugins/catalog/src/components/FilteredEntityLayout/FilteredEntityLayout.tsx @@ -0,0 +1,24 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Grid } from '@material-ui/core'; +import React, { PropsWithChildren } from 'react'; + +export const FilteredEntityLayout = ({ children }: PropsWithChildren<{}>) => ( + + {children} + +); diff --git a/plugins/catalog/src/components/FilteredEntityLayout/index.ts b/plugins/catalog/src/components/FilteredEntityLayout/index.ts new file mode 100644 index 0000000000..ded61a4edc --- /dev/null +++ b/plugins/catalog/src/components/FilteredEntityLayout/index.ts @@ -0,0 +1,19 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { FilteredEntityLayout } from './FilteredEntityLayout'; +export { FilterContainer } from './FilterContainer'; +export { EntityListContainer } from './EntityListContainer'; diff --git a/plugins/catalog/src/index.ts b/plugins/catalog/src/index.ts index d3f5d8e36b..6934843228 100644 --- a/plugins/catalog/src/index.ts +++ b/plugins/catalog/src/index.ts @@ -14,18 +14,19 @@ * limitations under the License. */ -export * from './components/AboutCard'; export { CatalogClientWrapper } from './CatalogClientWrapper'; -export { CatalogLayout } from './components/CatalogPage'; -export { CatalogResultListItem } from './components/CatalogResultListItem'; +export * from './components/AboutCard'; +export * from './components/CatalogResultListItem'; export { CatalogTable } from './components/CatalogTable'; export type { EntityRow as CatalogTableRow } from './components/CatalogTable'; -export { CreateComponentButton } from './components/CreateComponentButton'; -export { EntityLayout } from './components/EntityLayout'; +export * from './components/CatalogTable/columns'; +export * from './components/CreateComponentButton'; +export * from './components/EntityLayout'; export * from './components/EntityOrphanWarning'; export * from './components/EntityProcessErrors'; -export { EntityPageLayout } from './components/EntityPageLayout'; +export * from './components/EntityPageLayout'; export * from './components/EntitySwitch'; +export * from './components/FilteredEntityLayout'; export { Router } from './components/Router'; export { CatalogEntityPage, @@ -33,8 +34,8 @@ export { catalogPlugin, catalogPlugin as plugin, EntityAboutCard, - EntityDependsOnComponentsCard, EntityDependencyOfComponentsCard, + EntityDependsOnComponentsCard, EntityDependsOnResourcesCard, EntityHasComponentsCard, EntityHasResourcesCard, @@ -43,4 +44,3 @@ export { EntityLinksCard, EntitySystemDiagramCard, } from './plugin'; -export * from './components/CatalogTable/columns'; diff --git a/plugins/circleci/package.json b/plugins/circleci/package.json index caee4585f3..52aae08b57 100644 --- a/plugins/circleci/package.json +++ b/plugins/circleci/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", @@ -50,10 +50,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/cloudbuild/package.json b/plugins/cloudbuild/package.json index da5c749378..ee9f8a4e0c 100644 --- a/plugins/cloudbuild/package.json +++ b/plugins/cloudbuild/package.json @@ -31,7 +31,7 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", @@ -48,10 +48,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/code-coverage/package.json b/plugins/code-coverage/package.json index 11844beebb..bd632972df 100644 --- a/plugins/code-coverage/package.json +++ b/plugins/code-coverage/package.json @@ -22,7 +22,7 @@ "dependencies": { "@backstage/catalog-model": "^0.9.0", "@backstage/config": "^0.1.4", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/errors": "^0.1.1", "@backstage/plugin-catalog-react": "^0.3.0", @@ -40,10 +40,10 @@ "recharts": "^1.8.5" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/config-schema/package.json b/plugins/config-schema/package.json index 5fe1d3a612..7ef279f123 100644 --- a/plugins/config-schema/package.json +++ b/plugins/config-schema/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@backstage/config": "^0.1.4", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/errors": "^0.1.1", "@backstage/theme": "^0.2.8", @@ -35,10 +35,10 @@ "zen-observable": "^0.8.15" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/cost-insights/package.json b/plugins/cost-insights/package.json index feb6d4122c..2f6fac1479 100644 --- a/plugins/cost-insights/package.json +++ b/plugins/cost-insights/package.json @@ -31,7 +31,7 @@ }, "dependencies": { "@backstage/config": "^0.1.5", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/theme": "^0.2.8", "@material-ui/core": "^4.11.0", @@ -54,10 +54,10 @@ "yup": "^0.29.3" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/explore/package.json b/plugins/explore/package.json index 7da4fe89fd..2059632c08 100644 --- a/plugins/explore/package.json +++ b/plugins/explore/package.json @@ -31,7 +31,7 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/plugin-explore-react": "^0.0.6", @@ -48,10 +48,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/fossa/package.json b/plugins/fossa/package.json index 7cb5b5febf..cc4a27a5c0 100644 --- a/plugins/fossa/package.json +++ b/plugins/fossa/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/errors": "^0.1.1", "@backstage/plugin-catalog-react": "^0.3.0", @@ -48,10 +48,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/gcp-projects/package.json b/plugins/gcp-projects/package.json index 3e37832e46..1d04d7f1d5 100644 --- a/plugins/gcp-projects/package.json +++ b/plugins/gcp-projects/package.json @@ -30,7 +30,7 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/theme": "^0.2.8", "@material-ui/core": "^4.11.0", @@ -42,10 +42,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/git-release-manager/CHANGELOG.md b/plugins/git-release-manager/CHANGELOG.md index 19538e822a..6f2eaae984 100644 --- a/plugins/git-release-manager/CHANGELOG.md +++ b/plugins/git-release-manager/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-git-release-manager +## 0.2.0 + +### Minor Changes + +- a2d8922c9: Enable users to add custom features + + Add more metadata to success callbacks + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.1.6 + ## 0.1.3 ### Patch Changes diff --git a/plugins/git-release-manager/api-report.md b/plugins/git-release-manager/api-report.md index 2497fed470..018a0f4be8 100644 --- a/plugins/git-release-manager/api-report.md +++ b/plugins/git-release-manager/api-report.md @@ -7,6 +7,7 @@ import { ApiRef } from '@backstage/core-plugin-api'; import { BackstagePlugin } from '@backstage/core-plugin-api'; +import { default as React_2 } from 'react'; import { RouteRef } from '@backstage/core-plugin-api'; // Warning: (ae-forgotten-export) The symbol "GitReleaseApi" needs to be exported by the entry point index.d.ts diff --git a/plugins/git-release-manager/dev/index.tsx b/plugins/git-release-manager/dev/index.tsx index 2a0170a61e..1876995bf1 100644 --- a/plugins/git-release-manager/dev/index.tsx +++ b/plugins/git-release-manager/dev/index.tsx @@ -16,7 +16,7 @@ import React from 'react'; import { createDevApp } from '@backstage/dev-utils'; -import { Box, Typography } from '@material-ui/core'; +import { Box, Button, Typography } from '@material-ui/core'; import { gitReleaseManagerPlugin, GitReleaseManagerPage } from '../src/plugin'; import { InfoCardPlus } from '../src/components/InfoCardPlus'; @@ -44,10 +44,16 @@ createDevApp() Dev notes + Configure plugin statically by passing props to the `GitHubReleaseManagerPage` component + + + Note that the static configuration points towards private + repositories and will thus not work for everyone. + Dev notes - Each feature can be omitted - Success callbacks can also be added + + Each feature can be individually omitted as well as have success + callback attached to them + { + onSuccess: args => { // eslint-disable-next-line no-console console.log( - 'Custom success callback for Create RC', - comparisonUrl, - createdTag, - gitReleaseName, - gitReleaseUrl, - previousTag, + 'Custom success callback for Create RC with the following args', ); + console.log(JSON.stringify(args, null, 2)); // eslint-disable-line no-console }, }, promoteRc: { @@ -108,4 +106,50 @@ createDevApp() ), }) + .addPage({ + title: 'Custom', + path: '/custom', + element: ( + + + Dev notes + + The custom feature's return value can either be a React Element or + an array of React Elements. + + + + { + return ( + + I'm a custom feature + + + + ); + }, + }, + }} + /> + + ), + }) .render(); diff --git a/plugins/git-release-manager/package.json b/plugins/git-release-manager/package.json index 35c5056904..5598fcd6ef 100644 --- a/plugins/git-release-manager/package.json +++ b/plugins/git-release-manager/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-git-release-manager", - "version": "0.1.3", + "version": "0.2.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -20,7 +20,7 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/integration": "^0.5.6", "@backstage/theme": "^0.2.8", @@ -28,22 +28,23 @@ "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "@octokit/rest": "^18.5.3", + "@types/react": "^16.9", "luxon": "^1.26.0", "qs": "^6.10.1", - "react": "^16.13.1", "react-dom": "^16.13.1", "react-router": "6.0.0-beta.0", "react-use": "^17.2.4", + "react": "^16.13.1", "recharts": "^1.8.5" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", - "@testing-library/react": "^11.2.5", "@testing-library/react-hooks": "^3.4.2", + "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", "@types/jest": "^26.0.7", "@types/node": "^14.14.32", diff --git a/plugins/git-release-manager/src/GitReleaseManager.tsx b/plugins/git-release-manager/src/GitReleaseManager.tsx index 44669f9bc7..bca19b9b13 100644 --- a/plugins/git-release-manager/src/GitReleaseManager.tsx +++ b/plugins/git-release-manager/src/GitReleaseManager.tsx @@ -18,12 +18,14 @@ import React from 'react'; import { useAsync } from 'react-use'; import { Alert } from '@material-ui/lab'; import { Box } from '@material-ui/core'; +import { useApi } from '@backstage/core-plugin-api'; +import { ContentHeader, Progress } from '@backstage/core-components'; import { ComponentConfig, - ComponentConfigCreateRc, - ComponentConfigPatch, - ComponentConfigPromoteRc, + CreateRcOnSuccessArgs, + PatchOnSuccessArgs, + PromoteRcOnSuccessArgs, } from './types/types'; import { Features } from './features/Features'; import { gitReleaseManagerApiRef } from './api/serviceApiRef'; @@ -33,18 +35,33 @@ import { ProjectContext, Project } from './contexts/ProjectContext'; import { RepoDetailsForm } from './features/RepoDetailsForm/RepoDetailsForm'; import { useQueryHandler } from './hooks/useQueryHandler'; import { UserContext } from './contexts/UserContext'; - -import { useApi } from '@backstage/core-plugin-api'; -import { ContentHeader, Progress } from '@backstage/core-components'; +import { + GetBranchResult, + GetLatestReleaseResult, + GetRepositoryResult, +} from './api/GitReleaseClient'; interface GitReleaseManagerProps { project?: Omit; features?: { info?: Pick, 'omit'>; stats?: Pick, 'omit'>; - createRc?: ComponentConfigCreateRc; - promoteRc?: ComponentConfigPromoteRc; - patch?: ComponentConfigPatch; + createRc?: ComponentConfig; + promoteRc?: ComponentConfig; + patch?: ComponentConfig; + custom?: { + factory: ({ + latestRelease, + project, + releaseBranch, + repository, + }: { + latestRelease: GetLatestReleaseResult['latestRelease'] | null; + project: Project; + releaseBranch: GetBranchResult['branch'] | null; + repository: GetRepositoryResult['repository']; + }) => React.ReactElement | React.ReactElement[]; + }; }; } diff --git a/plugins/git-release-manager/src/features/CreateReleaseCandidate/CreateReleaseCandidate.tsx b/plugins/git-release-manager/src/features/CreateReleaseCandidate/CreateReleaseCandidate.tsx index e99fd9267e..7f24241e66 100644 --- a/plugins/git-release-manager/src/features/CreateReleaseCandidate/CreateReleaseCandidate.tsx +++ b/plugins/git-release-manager/src/features/CreateReleaseCandidate/CreateReleaseCandidate.tsx @@ -31,7 +31,7 @@ import { GetLatestReleaseResult, GetRepositoryResult, } from '../../api/GitReleaseClient'; -import { ComponentConfigCreateRc } from '../../types/types'; +import { ComponentConfig, CreateRcOnSuccessArgs } from '../../types/types'; import { Differ } from '../../components/Differ'; import { getReleaseCandidateGitInfo } from '../../helpers/getReleaseCandidateGitInfo'; import { InfoCardPlus } from '../../components/InfoCardPlus'; @@ -45,7 +45,7 @@ interface CreateReleaseCandidateProps { defaultBranch: GetRepositoryResult['repository']['defaultBranch']; latestRelease: GetLatestReleaseResult['latestRelease']; releaseBranch: GetBranchResult['branch'] | null; - onSuccess?: ComponentConfigCreateRc['onSuccess']; + onSuccess?: ComponentConfig['onSuccess']; } const InfoCardPlusWrapper = ({ children }: { children: React.ReactNode }) => { diff --git a/plugins/git-release-manager/src/features/CreateReleaseCandidate/hooks/useCreateReleaseCandidate.ts b/plugins/git-release-manager/src/features/CreateReleaseCandidate/hooks/useCreateReleaseCandidate.ts index 0d6d4ebb4f..9a89d59c54 100644 --- a/plugins/git-release-manager/src/features/CreateReleaseCandidate/hooks/useCreateReleaseCandidate.ts +++ b/plugins/git-release-manager/src/features/CreateReleaseCandidate/hooks/useCreateReleaseCandidate.ts @@ -21,7 +21,11 @@ import { GetRepositoryResult, } from '../../../api/GitReleaseClient'; -import { CardHook, ComponentConfigCreateRc } from '../../../types/types'; +import { + CardHook, + ComponentConfig, + CreateRcOnSuccessArgs, +} from '../../../types/types'; import { getReleaseCandidateGitInfo } from '../../../helpers/getReleaseCandidateGitInfo'; import { gitReleaseManagerApiRef } from '../../../api/serviceApiRef'; import { GitReleaseManagerError } from '../../../errors/GitReleaseManagerError'; @@ -31,12 +35,12 @@ import { useResponseSteps } from '../../../hooks/useResponseSteps'; import { useUserContext } from '../../../contexts/UserContext'; import { useApi } from '@backstage/core-plugin-api'; -interface UseCreateReleaseCandidate { +export interface UseCreateReleaseCandidate { defaultBranch: GetRepositoryResult['repository']['defaultBranch']; latestRelease: GetLatestReleaseResult['latestRelease']; releaseCandidateGitInfo: ReturnType; project: Project; - onSuccess?: ComponentConfigCreateRc['onSuccess']; + onSuccess?: ComponentConfig['onSuccess']; } export function useCreateReleaseCandidate({ @@ -266,6 +270,12 @@ export function useCreateReleaseCandidate({ try { await onSuccess({ + input: { + defaultBranch, + latestRelease, + releaseCandidateGitInfo, + project, + }, comparisonUrl: getComparisonRes.value.htmlUrl, createdTag: createReleaseRes.value.tagName, gitReleaseName: createReleaseRes.value.name, diff --git a/plugins/git-release-manager/src/features/Features.tsx b/plugins/git-release-manager/src/features/Features.tsx index 4014f26f73..b8386c41cc 100644 --- a/plugins/git-release-manager/src/features/Features.tsx +++ b/plugins/git-release-manager/src/features/Features.tsx @@ -142,6 +142,14 @@ export function Features({ onSuccess={features?.patch?.onSuccess} /> )} + + {features?.custom?.factory && + features.custom.factory({ + latestRelease: gitBatchInfo.value.latestRelease, + project, + releaseBranch: gitBatchInfo.value.releaseBranch, + repository: gitBatchInfo.value.repository, + })} ); diff --git a/plugins/git-release-manager/src/features/Patch/Patch.tsx b/plugins/git-release-manager/src/features/Patch/Patch.tsx index 53fc901da7..c902ab0dc5 100644 --- a/plugins/git-release-manager/src/features/Patch/Patch.tsx +++ b/plugins/git-release-manager/src/features/Patch/Patch.tsx @@ -22,7 +22,7 @@ import { GetBranchResult, GetLatestReleaseResult, } from '../../api/GitReleaseClient'; -import { ComponentConfigPatch } from '../../types/types'; +import { ComponentConfig, PatchOnSuccessArgs } from '../../types/types'; import { getBumpedTag } from '../../helpers/getBumpedTag'; import { InfoCardPlus } from '../../components/InfoCardPlus'; import { NoLatestRelease } from '../../components/NoLatestRelease'; @@ -32,7 +32,7 @@ import { useProjectContext } from '../../contexts/ProjectContext'; interface PatchProps { latestRelease: GetLatestReleaseResult['latestRelease']; releaseBranch: GetBranchResult['branch'] | null; - onSuccess?: ComponentConfigPatch['onSuccess']; + onSuccess?: ComponentConfig['onSuccess']; } export const Patch = ({ diff --git a/plugins/git-release-manager/src/features/Patch/PatchBody.tsx b/plugins/git-release-manager/src/features/Patch/PatchBody.tsx index b4e705fa58..01f5bc9fed 100644 --- a/plugins/git-release-manager/src/features/Patch/PatchBody.tsx +++ b/plugins/git-release-manager/src/features/Patch/PatchBody.tsx @@ -38,7 +38,7 @@ import { GetLatestReleaseResult, } from '../../api/GitReleaseClient'; import { CalverTagParts } from '../../helpers/tagParts/getCalverTagParts'; -import { ComponentConfigPatch } from '../../types/types'; +import { ComponentConfig, PatchOnSuccessArgs } from '../../types/types'; import { Differ } from '../../components/Differ'; import { getPatchCommitSuffix } from './helpers/getPatchCommitSuffix'; import { gitReleaseManagerApiRef } from '../../api/serviceApiRef'; @@ -56,7 +56,7 @@ interface PatchBodyProps { bumpedTag: string; latestRelease: NonNullable; releaseBranch: GetBranchResult['branch']; - onSuccess?: ComponentConfigPatch['onSuccess']; + onSuccess?: ComponentConfig['onSuccess']; tagParts: NonNullable; } diff --git a/plugins/git-release-manager/src/features/Patch/hooks/usePatch.ts b/plugins/git-release-manager/src/features/Patch/hooks/usePatch.ts index 5d3f9829ad..a2cbb7aefb 100644 --- a/plugins/git-release-manager/src/features/Patch/hooks/usePatch.ts +++ b/plugins/git-release-manager/src/features/Patch/hooks/usePatch.ts @@ -22,7 +22,11 @@ import { } from '../../../api/GitReleaseClient'; import { CalverTagParts } from '../../../helpers/tagParts/getCalverTagParts'; -import { ComponentConfigPatch, CardHook } from '../../../types/types'; +import { + CardHook, + ComponentConfig, + PatchOnSuccessArgs, +} from '../../../types/types'; import { getPatchCommitSuffix } from '../helpers/getPatchCommitSuffix'; import { gitReleaseManagerApiRef } from '../../../api/serviceApiRef'; import { Project } from '../../../contexts/ProjectContext'; @@ -32,12 +36,12 @@ import { useResponseSteps } from '../../../hooks/useResponseSteps'; import { useUserContext } from '../../../contexts/UserContext'; import { useApi } from '@backstage/core-plugin-api'; -interface Patch { +export interface UsePatch { bumpedTag: string; latestRelease: NonNullable; project: Project; tagParts: NonNullable; - onSuccess?: ComponentConfigPatch['onSuccess']; + onSuccess?: ComponentConfig['onSuccess']; } // Inspiration: https://stackoverflow.com/questions/53859199/how-to-cherry-pick-through-githubs-api @@ -47,7 +51,7 @@ export function usePatch({ project, tagParts, onSuccess, -}: Patch): CardHook { +}: UsePatch): CardHook { const pluginApiClient = useApi(gitReleaseManagerApiRef); const { user } = useUserContext(); const { @@ -337,13 +341,19 @@ ${selectedPatchCommit.commit.message}`, try { await onSuccess?.({ - updatedReleaseUrl: updatedReleaseRes.value.htmlUrl, - updatedReleaseName: updatedReleaseRes.value.name, - previousTag: latestRelease.tagName, - patchedTag: updatedReleaseRes.value.tagName, - patchCommitUrl: releaseBranchRes.value.selectedPatchCommit.htmlUrl, + input: { + bumpedTag, + latestRelease, + project, + tagParts, + }, patchCommitMessage: releaseBranchRes.value.selectedPatchCommit.commit.message, + patchCommitUrl: releaseBranchRes.value.selectedPatchCommit.htmlUrl, + patchedTag: updatedReleaseRes.value.tagName, + previousTag: latestRelease.tagName, + updatedReleaseName: updatedReleaseRes.value.name, + updatedReleaseUrl: updatedReleaseRes.value.htmlUrl, }); } catch (error) { asyncCatcher(error); diff --git a/plugins/git-release-manager/src/features/PromoteRc/PromoteRc.tsx b/plugins/git-release-manager/src/features/PromoteRc/PromoteRc.tsx index 8d42119748..341ecbbce4 100644 --- a/plugins/git-release-manager/src/features/PromoteRc/PromoteRc.tsx +++ b/plugins/git-release-manager/src/features/PromoteRc/PromoteRc.tsx @@ -18,7 +18,7 @@ import React from 'react'; import { Alert, AlertTitle } from '@material-ui/lab'; import { Box, Typography } from '@material-ui/core'; -import { ComponentConfigPromoteRc } from '../../types/types'; +import { ComponentConfig, PromoteRcOnSuccessArgs } from '../../types/types'; import { GetLatestReleaseResult } from '../../api/GitReleaseClient'; import { InfoCardPlus } from '../../components/InfoCardPlus'; import { NoLatestRelease } from '../../components/NoLatestRelease'; @@ -27,7 +27,7 @@ import { TEST_IDS } from '../../test-helpers/test-ids'; interface PromoteRcProps { latestRelease: GetLatestReleaseResult['latestRelease']; - onSuccess?: ComponentConfigPromoteRc['onSuccess']; + onSuccess?: ComponentConfig['onSuccess']; } export const PromoteRc = ({ latestRelease, onSuccess }: PromoteRcProps) => { diff --git a/plugins/git-release-manager/src/features/PromoteRc/PromoteRcBody.tsx b/plugins/git-release-manager/src/features/PromoteRc/PromoteRcBody.tsx index d3ce5e4a70..3ca4518bbc 100644 --- a/plugins/git-release-manager/src/features/PromoteRc/PromoteRcBody.tsx +++ b/plugins/git-release-manager/src/features/PromoteRc/PromoteRcBody.tsx @@ -17,7 +17,7 @@ import React from 'react'; import { Button, Typography, Box } from '@material-ui/core'; -import { ComponentConfigPromoteRc } from '../../types/types'; +import { ComponentConfig, PromoteRcOnSuccessArgs } from '../../types/types'; import { Differ } from '../../components/Differ'; import { GetLatestReleaseResult } from '../../api/GitReleaseClient'; import { ResponseStepDialog } from '../../components/ResponseStepDialog/ResponseStepDialog'; @@ -26,7 +26,7 @@ import { usePromoteRc } from './hooks/usePromoteRc'; interface PromoteRcBodyProps { rcRelease: NonNullable; - onSuccess?: ComponentConfigPromoteRc['onSuccess']; + onSuccess?: ComponentConfig['onSuccess']; } export const PromoteRcBody = ({ rcRelease, onSuccess }: PromoteRcBodyProps) => { diff --git a/plugins/git-release-manager/src/features/PromoteRc/hooks/usePromoteRc.ts b/plugins/git-release-manager/src/features/PromoteRc/hooks/usePromoteRc.ts index 357ba1e0a6..f3a87d3c74 100644 --- a/plugins/git-release-manager/src/features/PromoteRc/hooks/usePromoteRc.ts +++ b/plugins/git-release-manager/src/features/PromoteRc/hooks/usePromoteRc.ts @@ -16,7 +16,11 @@ import { useState, useEffect } from 'react'; import { useAsync, useAsyncFn } from 'react-use'; -import { CardHook, ComponentConfigPromoteRc } from '../../../types/types'; +import { + CardHook, + ComponentConfig, + PromoteRcOnSuccessArgs, +} from '../../../types/types'; import { GetLatestReleaseResult } from '../../../api/GitReleaseClient'; import { gitReleaseManagerApiRef } from '../../../api/serviceApiRef'; @@ -27,17 +31,17 @@ import { useResponseSteps } from '../../../hooks/useResponseSteps'; import { useUserContext } from '../../../contexts/UserContext'; import { useApi } from '@backstage/core-plugin-api'; -interface PromoteRc { +export interface UsePromoteRc { rcRelease: NonNullable; releaseVersion: string; - onSuccess?: ComponentConfigPromoteRc['onSuccess']; + onSuccess?: ComponentConfig['onSuccess']; } export function usePromoteRc({ rcRelease, releaseVersion, onSuccess, -}: PromoteRc): CardHook { +}: UsePromoteRc): CardHook { const pluginApiClient = useApi(gitReleaseManagerApiRef); const { user } = useUserContext(); const { project } = useProjectContext(); @@ -170,12 +174,16 @@ export function usePromoteRc({ try { await onSuccess?.({ - gitReleaseUrl: promotedReleaseRes.value.htmlUrl, + input: { + rcRelease, + releaseVersion, + }, gitReleaseName: promotedReleaseRes.value.name, - previousTagUrl: rcRelease.htmlUrl, + gitReleaseUrl: promotedReleaseRes.value.htmlUrl, previousTag: rcRelease.tagName, - updatedTagUrl: promotedReleaseRes.value.htmlUrl, + previousTagUrl: rcRelease.htmlUrl, updatedTag: promotedReleaseRes.value.tagName, + updatedTagUrl: promotedReleaseRes.value.htmlUrl, }); } catch (error) { asyncCatcher(error); diff --git a/plugins/git-release-manager/src/types/types.ts b/plugins/git-release-manager/src/types/types.ts index fd45e55ba2..39418fa9d3 100644 --- a/plugins/git-release-manager/src/types/types.ts +++ b/plugins/git-release-manager/src/types/types.ts @@ -14,21 +14,26 @@ * limitations under the License. */ -export type ComponentConfig = { +import { UseCreateReleaseCandidate } from '../features/CreateReleaseCandidate/hooks/useCreateReleaseCandidate'; +import { UsePatch } from '../features/Patch/hooks/usePatch'; +import { UsePromoteRc } from '../features/PromoteRc/hooks/usePromoteRc'; + +export type ComponentConfig = { omit?: boolean; - onSuccess?: (args: Args) => Promise | void; + onSuccess?: (args: OnSuccessArgs) => Promise | void; }; -interface CreateRcOnSuccessArgs { - gitReleaseUrl: string; - gitReleaseName: string | null; +export interface CreateRcOnSuccessArgs { + input: Omit; comparisonUrl: string; - previousTag?: string; createdTag: string; + gitReleaseName: string | null; + gitReleaseUrl: string; + previousTag?: string; } -export type ComponentConfigCreateRc = ComponentConfig; -interface PromoteRcOnSuccessArgs { +export interface PromoteRcOnSuccessArgs { + input: Omit; gitReleaseUrl: string; gitReleaseName: string | null; previousTagUrl: string; @@ -36,9 +41,9 @@ interface PromoteRcOnSuccessArgs { updatedTagUrl: string; updatedTag: string; } -export type ComponentConfigPromoteRc = ComponentConfig; -interface PatchOnSuccessArgs { +export interface PatchOnSuccessArgs { + input: Omit; updatedReleaseUrl: string; updatedReleaseName: string | null; previousTag: string; @@ -46,7 +51,6 @@ interface PatchOnSuccessArgs { patchCommitUrl: string; patchCommitMessage: string; } -export type ComponentConfigPatch = ComponentConfig; export interface ResponseStep { message: string | React.ReactNode; diff --git a/plugins/github-actions/package.json b/plugins/github-actions/package.json index 383f880f2b..d85d1e53fe 100644 --- a/plugins/github-actions/package.json +++ b/plugins/github-actions/package.json @@ -33,7 +33,7 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/integration": "^0.5.8", "@backstage/plugin-catalog-react": "^0.3.0", @@ -51,10 +51,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/github-deployments/package.json b/plugins/github-deployments/package.json index 07973b1a03..9561083063 100644 --- a/plugins/github-deployments/package.json +++ b/plugins/github-deployments/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/errors": "^0.1.1", "@backstage/integration": "^0.5.8", @@ -38,10 +38,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/gitops-profiles/package.json b/plugins/gitops-profiles/package.json index 246a703d95..e7e45ee2a6 100644 --- a/plugins/gitops-profiles/package.json +++ b/plugins/gitops-profiles/package.json @@ -31,7 +31,7 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/theme": "^0.2.8", "@material-ui/core": "^4.11.0", @@ -43,10 +43,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/graphiql/package.json b/plugins/graphiql/package.json index c289761bc3..46f44cdcf4 100644 --- a/plugins/graphiql/package.json +++ b/plugins/graphiql/package.json @@ -31,7 +31,7 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/theme": "^0.2.8", "@material-ui/core": "^4.11.0", @@ -44,10 +44,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/ilert/package.json b/plugins/ilert/package.json index e5bde7eca7..01a8e7b013 100644 --- a/plugins/ilert/package.json +++ b/plugins/ilert/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/errors": "^0.1.1", "@backstage/plugin-catalog-react": "^0.3.0", @@ -38,10 +38,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/jenkins-backend/CHANGELOG.md b/plugins/jenkins-backend/CHANGELOG.md new file mode 100644 index 0000000000..8f2a4bc576 --- /dev/null +++ b/plugins/jenkins-backend/CHANGELOG.md @@ -0,0 +1,10 @@ +# @backstage/plugin-jenkins-backend + +## 0.1.2 + +### Patch Changes + +- eee05803a: Update `@backstage/backend-common` to `^0.8.6` +- Updated dependencies + - @backstage/catalog-client@0.3.17 + - @backstage/backend-common@0.8.7 diff --git a/plugins/jenkins-backend/package.json b/plugins/jenkins-backend/package.json index 408d714aaa..6f7beb9444 100644 --- a/plugins/jenkins-backend/package.json +++ b/plugins/jenkins-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-jenkins-backend", - "version": "0.1.1", + "version": "0.1.2", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -21,8 +21,8 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/backend-common": "^0.8.5s", - "@backstage/catalog-client": "^0.3.16", + "@backstage/backend-common": "^0.8.7", + "@backstage/catalog-client": "^0.3.17", "@backstage/catalog-model": "^0.9.0", "@backstage/config": "^0.1.5", "@types/express": "^4.17.6", @@ -34,7 +34,7 @@ "yn": "^4.0.0" }, "devDependencies": { - "@backstage/cli": "^0.7.3", + "@backstage/cli": "^0.7.5", "@types/jenkins": "^0.23.1", "@types/supertest": "^2.0.8", "msw": "^0.29.0", diff --git a/plugins/jenkins/package.json b/plugins/jenkins/package.json index e4f3c6e9d8..6030beee8e 100644 --- a/plugins/jenkins/package.json +++ b/plugins/jenkins/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", @@ -47,10 +47,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/kafka/package.json b/plugins/kafka/package.json index 3e74e9e374..a7328b0c0c 100644 --- a/plugins/kafka/package.json +++ b/plugins/kafka/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", @@ -34,10 +34,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/react-hooks": "^3.4.2", diff --git a/plugins/kubernetes-backend/CHANGELOG.md b/plugins/kubernetes-backend/CHANGELOG.md index 7925c8bf4e..b5870c43e3 100644 --- a/plugins/kubernetes-backend/CHANGELOG.md +++ b/plugins/kubernetes-backend/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-kubernetes-backend +## 0.3.11 + +### Patch Changes + +- 5bd57f8f5: Support assume role on kubernetes api configuration for AWS. +- Updated dependencies + - @backstage/backend-common@0.8.7 + ## 0.3.10 ### Patch Changes diff --git a/plugins/kubernetes-backend/api-report.md b/plugins/kubernetes-backend/api-report.md index 1592f20880..72d80050d8 100644 --- a/plugins/kubernetes-backend/api-report.md +++ b/plugins/kubernetes-backend/api-report.md @@ -10,6 +10,14 @@ import { KubernetesFetchError } from '@backstage/plugin-kubernetes-common'; import { KubernetesRequestBody } from '@backstage/plugin-kubernetes-common'; import { Logger as Logger_2 } from 'winston'; +// Warning: (ae-missing-release-tag) "AWSClusterDetails" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface AWSClusterDetails extends ClusterDetails { + // (undocumented) + assumeRole?: string; +} + // Warning: (ae-missing-release-tag) "ClusterDetails" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) @@ -53,6 +61,11 @@ export interface FetchResponseWrapper { responses: FetchResponse[]; } +// Warning: (ae-missing-release-tag) "GKEClusterDetails" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface GKEClusterDetails extends ClusterDetails {} + // Warning: (ae-missing-release-tag) "KubernetesClustersSupplier" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) @@ -107,7 +120,11 @@ export const makeRouter: ( // @public (undocumented) export interface ObjectFetchParams { // (undocumented) - clusterDetails: ClusterDetails; + clusterDetails: + | AWSClusterDetails + | GKEClusterDetails + | ServiceAccountClusterDetails + | ClusterDetails; // (undocumented) customResources: CustomResource[]; // (undocumented) @@ -130,6 +147,11 @@ export interface RouterOptions { logger: Logger_2; } +// Warning: (ae-missing-release-tag) "ServiceAccountClusterDetails" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface ServiceAccountClusterDetails extends ClusterDetails {} + // Warning: (ae-missing-release-tag) "ServiceLocatorMethod" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) diff --git a/plugins/kubernetes-backend/package.json b/plugins/kubernetes-backend/package.json index 6bc7382f54..b76fb0a442 100644 --- a/plugins/kubernetes-backend/package.json +++ b/plugins/kubernetes-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-kubernetes-backend", - "version": "0.3.10", + "version": "0.3.11", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -31,7 +31,7 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/backend-common": "^0.8.6", + "@backstage/backend-common": "^0.8.7", "@backstage/catalog-model": "^0.9.0", "@backstage/config": "^0.1.5", "@backstage/plugin-kubernetes-common": "^0.1.2", @@ -53,9 +53,11 @@ "yn": "^4.0.0" }, "devDependencies": { - "@backstage/cli": "^0.7.4", + "@backstage/cli": "^0.7.5", "@types/aws4": "^1.5.1", - "supertest": "^6.1.3" + "supertest": "^6.1.3", + "aws-sdk-mock": "^5.2.1", + "bdd-lazy-var": "^2.6.0" }, "files": [ "dist", diff --git a/plugins/kubernetes-backend/src/cluster-locator/ConfigClusterLocator.test.ts b/plugins/kubernetes-backend/src/cluster-locator/ConfigClusterLocator.test.ts index ac4a742828..1642ca5580 100644 --- a/plugins/kubernetes-backend/src/cluster-locator/ConfigClusterLocator.test.ts +++ b/plugins/kubernetes-backend/src/cluster-locator/ConfigClusterLocator.test.ts @@ -97,4 +97,48 @@ describe('ConfigClusterLocator', () => { }, ]); }); + + it('one aws cluster with assumeRole and one without', async () => { + const config: Config = new ConfigReader({ + clusters: [ + { + name: 'cluster1', + serviceAccountToken: 'token', + url: 'http://localhost:8080', + authProvider: 'aws', + skipTLSVerify: false, + }, + { + assumeRole: 'SomeRole', + name: 'cluster2', + url: 'http://localhost:8081', + authProvider: 'aws', + skipTLSVerify: true, + }, + ], + }); + + const sut = ConfigClusterLocator.fromConfig(config); + + const result = await sut.getClusters(); + + expect(result).toStrictEqual([ + { + assumeRole: undefined, + name: 'cluster1', + serviceAccountToken: 'token', + url: 'http://localhost:8080', + authProvider: 'aws', + skipTLSVerify: false, + }, + { + assumeRole: 'SomeRole', + name: 'cluster2', + serviceAccountToken: undefined, + url: 'http://localhost:8081', + authProvider: 'aws', + skipTLSVerify: true, + }, + ]); + }); }); diff --git a/plugins/kubernetes-backend/src/cluster-locator/ConfigClusterLocator.ts b/plugins/kubernetes-backend/src/cluster-locator/ConfigClusterLocator.ts index 268cca0193..2899445b2a 100644 --- a/plugins/kubernetes-backend/src/cluster-locator/ConfigClusterLocator.ts +++ b/plugins/kubernetes-backend/src/cluster-locator/ConfigClusterLocator.ts @@ -29,13 +29,32 @@ export class ConfigClusterLocator implements KubernetesClustersSupplier { // is required if authProvider is serviceAccount return new ConfigClusterLocator( config.getConfigArray('clusters').map(c => { - return { + const authProvider = c.getString('authProvider'); + const clusterDetails = { name: c.getString('name'), url: c.getString('url'), serviceAccountToken: c.getOptionalString('serviceAccountToken'), skipTLSVerify: c.getOptionalBoolean('skipTLSVerify') ?? false, - authProvider: c.getString('authProvider'), + authProvider: authProvider, }; + + switch (authProvider) { + case 'google': { + return clusterDetails; + } + case 'aws': { + const assumeRole = c.getOptionalString('assumeRole'); + return { assumeRole, ...clusterDetails }; + } + case 'serviceAccount': { + return clusterDetails; + } + default: { + throw new Error( + `authProvider "${authProvider}" has no config associated with it`, + ); + } + } }), ); } diff --git a/plugins/kubernetes-backend/src/cluster-locator/GkeClusterLocator.ts b/plugins/kubernetes-backend/src/cluster-locator/GkeClusterLocator.ts index 92212d0224..3cc6c216ae 100644 --- a/plugins/kubernetes-backend/src/cluster-locator/GkeClusterLocator.ts +++ b/plugins/kubernetes-backend/src/cluster-locator/GkeClusterLocator.ts @@ -16,7 +16,7 @@ import { Config } from '@backstage/config'; import * as container from '@google-cloud/container'; -import { ClusterDetails, KubernetesClustersSupplier } from '../types/types'; +import { GKEClusterDetails, KubernetesClustersSupplier } from '../types/types'; type GkeClusterLocatorOptions = { projectId: string; @@ -49,7 +49,7 @@ export class GkeClusterLocator implements KubernetesClustersSupplier { ); } - async getClusters(): Promise { + async getClusters(): Promise { const { projectId, region, skipTLSVerify } = this.options; const request = { parent: `projects/${projectId}/locations/${region}`, diff --git a/plugins/kubernetes-backend/src/kubernetes-auth-translator/AwsIamKubernetesAuthTranslator.test.ts b/plugins/kubernetes-backend/src/kubernetes-auth-translator/AwsIamKubernetesAuthTranslator.test.ts index 348ad541d5..9060ce9239 100644 --- a/plugins/kubernetes-backend/src/kubernetes-auth-translator/AwsIamKubernetesAuthTranslator.test.ts +++ b/plugins/kubernetes-backend/src/kubernetes-auth-translator/AwsIamKubernetesAuthTranslator.test.ts @@ -14,15 +14,58 @@ * limitations under the License. */ import AWS from 'aws-sdk'; +import AWSMock from 'aws-sdk-mock'; import { AwsIamKubernetesAuthTranslator } from './AwsIamKubernetesAuthTranslator'; +import { get, def } from 'bdd-lazy-var'; describe('AwsIamKubernetesAuthTranslator tests', () => { + let role: any = undefined; + const credentials: any = { + accessKeyId: 'bloop', + secretAccessKey: 'omg-so-secret', + sessionToken: 'token', + }; + + let assumeResponse: any = { + Credentials: { + AccessKeyId: credentials.accessKeyId, + SecretAccessKey: credentials.secretAccessKey, + SessionToken: credentials.sessionToken, + }, + }; + + let credentialsResponse: any = new AWS.Credentials(credentials); + + AWSMock.setSDKInstance(AWS); + beforeEach(() => { jest.resetAllMocks(); }); - it('returns a signed url for aws credentials', async () => { + + afterAll(() => { + jest.resetAllMocks(); + }); + + def('subject', () => { + AWSMock.mock('STS', 'assumeRole', (_params: any, callback: Function) => { + callback(null, assumeResponse); + }); + const authTranslator = new AwsIamKubernetesAuthTranslator(); + jest + .spyOn(authTranslator, 'awsGetCredentials') + .mockImplementation(async () => credentialsResponse); + + return authTranslator.decorateClusterDetailsWithAuth({ + assumeRole: role, + name: 'test-cluster', + url: '', + authProvider: 'aws', + }); + }); + + it('returns a signed url for aws credentials', async () => { // These credentials are not real. // Pulled from example in docs: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html AWS.config.credentials = new AWS.Credentials( @@ -30,24 +73,47 @@ describe('AwsIamKubernetesAuthTranslator tests', () => { 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY', ); - const clusterDetails = await authTranslator.decorateClusterDetailsWithAuth({ - name: 'test-cluster', - url: '', - authProvider: 'aws', - }); - expect(clusterDetails.serviceAccountToken).toBeDefined(); + const subject = await get('subject'); + expect(subject.serviceAccountToken).toBeDefined(); }); - it('throws when unable to get aws credentials', async () => { - AWS.config.credentials = undefined; - const authTranslator = new AwsIamKubernetesAuthTranslator(); - const promise = authTranslator.decorateClusterDetailsWithAuth({ - name: 'test-cluster', - url: '', - authProvider: 'aws', - }); - await expect(promise).rejects.toThrow( - 'Could not load credentials from any providers', + describe('When the role is assumed', () => { + // These credentials are not real. + // Pulled from example in docs: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html + AWS.config.credentials = new AWS.Credentials( + 'AKIAIOSFODNN7EXAMPLE', + 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY', ); + role = 'SomeRole'; + + describe('When the role is valid', () => { + it('returns a signed url for aws credentials', async () => { + const subject = await get('subject'); + expect(subject.serviceAccountToken).toBeDefined(); + }); + }); + + describe('When the role is invalid', () => { + it('returns the original AWS credentials', async () => { + assumeResponse = undefined; + await expect(get('subject')).rejects.toThrow(/Unable to assume role:/); + }); + }); + }); + + describe('When no creds are returned from AWS', () => { + it('throws unable to get aws credentials', async () => { + credentialsResponse = new Error(); + await expect(get('subject')).rejects.toThrow('No AWS credentials found.'); + }); + }); + + describe('When invalid creds are returned from AWS', () => { + it('throws credentials are invalid to get aws credentials', async () => { + credentialsResponse = new AWS.Credentials(credentialsResponse); + await expect(get('subject')).rejects.toThrow( + 'Invalid AWS credentials found.', + ); + }); }); }); diff --git a/plugins/kubernetes-backend/src/kubernetes-auth-translator/AwsIamKubernetesAuthTranslator.ts b/plugins/kubernetes-backend/src/kubernetes-auth-translator/AwsIamKubernetesAuthTranslator.ts index 0909926d0d..101bed32a3 100644 --- a/plugins/kubernetes-backend/src/kubernetes-auth-translator/AwsIamKubernetesAuthTranslator.ts +++ b/plugins/kubernetes-backend/src/kubernetes-auth-translator/AwsIamKubernetesAuthTranslator.ts @@ -15,7 +15,7 @@ */ import AWS, { Credentials } from 'aws-sdk'; import { sign } from 'aws4'; -import { ClusterDetails } from '../types/types'; +import { AWSClusterDetails } from '../types/types'; import { KubernetesAuthTranslator } from './types'; const base64 = (str: string) => @@ -29,23 +29,78 @@ const pipe = (fns: ReadonlyArray) => (thing: string): string => const removePadding = replace(/=+$/, ''); const makeUrlSafe = pipe([replace('+', '-'), replace('/', '_')]); +type SigningCreds = { + accessKeyId: string | undefined; + secretAccessKey: string | undefined; + sessionToken: string | undefined; +}; + export class AwsIamKubernetesAuthTranslator implements KubernetesAuthTranslator { - async getBearerToken(clusterName: string): Promise { - const credentials = await new Promise((resolve, reject) => { + validCredentials(creds: SigningCreds): boolean { + return ((creds?.accessKeyId && + creds?.secretAccessKey && + creds?.sessionToken) as unknown) as boolean; + } + + awsGetCredentials = async (): Promise => { + return new Promise((resolve, reject) => { AWS.config.getCredentials(err => { if (err) { - reject(err); - } else { - resolve(AWS.config.credentials); + return reject(err); } + + return resolve(AWS.config.credentials as Credentials); }); }); + }; + + async getCredentials(assumeRole: string | undefined): Promise { + return new Promise(async (resolve, reject) => { + const awsCreds = await this.awsGetCredentials(); + + if (!(awsCreds instanceof Credentials)) + return reject(Error('No AWS credentials found.')); + + let creds: SigningCreds = { + accessKeyId: awsCreds.accessKeyId, + secretAccessKey: awsCreds.secretAccessKey, + sessionToken: awsCreds.sessionToken, + }; + + if (!this.validCredentials(creds)) + return reject(Error('Invalid AWS credentials found.')); + if (!assumeRole) return resolve(creds); + + try { + const params = { + RoleArn: assumeRole, + RoleSessionName: 'backstage-login', + }; + const assumedRole = await new AWS.STS().assumeRole(params).promise(); + + if (!assumedRole.Credentials) { + throw new Error(`No credentials returned for role ${assumeRole}`); + } + + creds = { + accessKeyId: assumedRole.Credentials.AccessKeyId, + secretAccessKey: assumedRole.Credentials.SecretAccessKey, + sessionToken: assumedRole.Credentials.SessionToken, + }; + } catch (e) { + console.warn(`There was an error assuming the role: ${e}`); + return reject(Error(`Unable to assume role: ${e}`)); + } + return resolve(creds); + }); + } + async getBearerToken( + clusterName: string, + assumeRole: string | undefined, + ): Promise { + const credentials = await this.getCredentials(assumeRole); - if (!(credentials instanceof Credentials)) { - throw new Error('no AWS credentials found.'); - } - await credentials.getPromise(); const request = { host: `sts.amazonaws.com`, path: `/?Action=GetCallerIdentity&Version=2011-06-15&X-Amz-Expires=60`, @@ -54,11 +109,8 @@ export class AwsIamKubernetesAuthTranslator }, signQuery: true, }; - const signedRequest = sign(request, { - accessKeyId: credentials.accessKeyId, - secretAccessKey: credentials.secretAccessKey, - sessionToken: credentials.sessionToken, - }); + + const signedRequest = sign(request, credentials); return pipe([ (signed: any) => `https://${signed.host}${signed.path}`, @@ -70,15 +122,16 @@ export class AwsIamKubernetesAuthTranslator } async decorateClusterDetailsWithAuth( - clusterDetails: ClusterDetails, - ): Promise { - const clusterDetailsWithAuthToken: ClusterDetails = Object.assign( + clusterDetails: AWSClusterDetails, + ): Promise { + const clusterDetailsWithAuthToken: AWSClusterDetails = Object.assign( {}, clusterDetails, ); clusterDetailsWithAuthToken.serviceAccountToken = await this.getBearerToken( clusterDetails.name, + clusterDetails.assumeRole, ); return clusterDetailsWithAuthToken; } diff --git a/plugins/kubernetes-backend/src/kubernetes-auth-translator/GoogleKubernetesAuthTranslator.ts b/plugins/kubernetes-backend/src/kubernetes-auth-translator/GoogleKubernetesAuthTranslator.ts index 02a7f314af..eacba4d3e1 100644 --- a/plugins/kubernetes-backend/src/kubernetes-auth-translator/GoogleKubernetesAuthTranslator.ts +++ b/plugins/kubernetes-backend/src/kubernetes-auth-translator/GoogleKubernetesAuthTranslator.ts @@ -15,16 +15,16 @@ */ import { KubernetesAuthTranslator } from './types'; -import { ClusterDetails } from '../types/types'; +import { GKEClusterDetails } from '../types/types'; import { KubernetesRequestBody } from '@backstage/plugin-kubernetes-common'; export class GoogleKubernetesAuthTranslator implements KubernetesAuthTranslator { async decorateClusterDetailsWithAuth( - clusterDetails: ClusterDetails, + clusterDetails: GKEClusterDetails, requestBody: KubernetesRequestBody, - ): Promise { - const clusterDetailsWithAuthToken: ClusterDetails = Object.assign( + ): Promise { + const clusterDetailsWithAuthToken: GKEClusterDetails = Object.assign( {}, clusterDetails, ); diff --git a/plugins/kubernetes-backend/src/kubernetes-auth-translator/ServiceAccountKubernetesAuthTranslator.ts b/plugins/kubernetes-backend/src/kubernetes-auth-translator/ServiceAccountKubernetesAuthTranslator.ts index c433abf4de..1c3add3c0d 100644 --- a/plugins/kubernetes-backend/src/kubernetes-auth-translator/ServiceAccountKubernetesAuthTranslator.ts +++ b/plugins/kubernetes-backend/src/kubernetes-auth-translator/ServiceAccountKubernetesAuthTranslator.ts @@ -15,18 +15,18 @@ */ import { KubernetesAuthTranslator } from './types'; -import { ClusterDetails } from '../types/types'; +import { ServiceAccountClusterDetails } from '../types/types'; import { KubernetesRequestBody } from '@backstage/plugin-kubernetes-common'; export class ServiceAccountKubernetesAuthTranslator implements KubernetesAuthTranslator { async decorateClusterDetailsWithAuth( - clusterDetails: ClusterDetails, + clusterDetails: ServiceAccountClusterDetails, // To ignore TS6133 linting error where it detects 'requestBody' is declared but its value is never read. // @ts-ignore-start requestBody: KubernetesRequestBody, // eslint-disable-line @typescript-eslint/no-unused-vars // @ts-ignore-end - ): Promise { + ): Promise { return clusterDetails; } } diff --git a/plugins/kubernetes-backend/src/types/types.ts b/plugins/kubernetes-backend/src/types/types.ts index c6e1668a5a..6409229968 100644 --- a/plugins/kubernetes-backend/src/types/types.ts +++ b/plugins/kubernetes-backend/src/types/types.ts @@ -27,7 +27,11 @@ export interface CustomResource { export interface ObjectFetchParams { serviceId: string; - clusterDetails: ClusterDetails; + clusterDetails: + | AWSClusterDetails + | GKEClusterDetails + | ServiceAccountClusterDetails + | ClusterDetails; objectTypesToFetch: Set; labelSelector: string; customResources: CustomResource[]; @@ -77,3 +81,9 @@ export interface ClusterDetails { serviceAccountToken?: string | undefined; skipTLSVerify?: boolean; } + +export interface GKEClusterDetails extends ClusterDetails {} +export interface ServiceAccountClusterDetails extends ClusterDetails {} +export interface AWSClusterDetails extends ClusterDetails { + assumeRole?: string; +} diff --git a/plugins/kubernetes/package.json b/plugins/kubernetes/package.json index 2319f08087..ac9675bcf7 100644 --- a/plugins/kubernetes/package.json +++ b/plugins/kubernetes/package.json @@ -32,7 +32,7 @@ "dependencies": { "@backstage/catalog-model": "^0.9.0", "@backstage/config": "^0.1.5", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/plugin-kubernetes-common": "^0.1.2", @@ -50,10 +50,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/react-hooks": "^3.4.2", diff --git a/plugins/lighthouse/package.json b/plugins/lighthouse/package.json index f66ea35cff..8ceaa35d20 100644 --- a/plugins/lighthouse/package.json +++ b/plugins/lighthouse/package.json @@ -33,7 +33,7 @@ "dependencies": { "@backstage/catalog-model": "^0.9.0", "@backstage/config": "^0.1.4", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", @@ -47,10 +47,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/newrelic/package.json b/plugins/newrelic/package.json index e3fa37faeb..e927cf6eef 100644 --- a/plugins/newrelic/package.json +++ b/plugins/newrelic/package.json @@ -31,7 +31,7 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/theme": "^0.2.8", "@material-ui/core": "^4.11.0", @@ -42,10 +42,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/org/package.json b/plugins/org/package.json index 2fa17a28de..f721675584 100644 --- a/plugins/org/package.json +++ b/plugins/org/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", @@ -35,10 +35,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/pagerduty/package.json b/plugins/pagerduty/package.json index 2f02cce9b3..2a5c086e50 100644 --- a/plugins/pagerduty/package.json +++ b/plugins/pagerduty/package.json @@ -31,7 +31,7 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", @@ -47,10 +47,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/register-component/package.json b/plugins/register-component/package.json index d763924b69..c9a4ca161b 100644 --- a/plugins/register-component/package.json +++ b/plugins/register-component/package.json @@ -31,7 +31,7 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", @@ -46,10 +46,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/rollbar/package.json b/plugins/rollbar/package.json index 92a338079c..f95bba8076 100644 --- a/plugins/rollbar/package.json +++ b/plugins/rollbar/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", @@ -48,10 +48,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/react-hooks": "^3.3.0", diff --git a/plugins/scaffolder-backend/CHANGELOG.md b/plugins/scaffolder-backend/CHANGELOG.md index 39d68a6f1d..8e55ca4b59 100644 --- a/plugins/scaffolder-backend/CHANGELOG.md +++ b/plugins/scaffolder-backend/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-scaffolder-backend +## 0.14.1 + +### Patch Changes + +- c73f53bc2: Add new built-in action ci:github-actions-dispatch +- 7cea90592: - Move out the `cookiecutter` templating to its own module that is depended on by the `scaffolder-backend` plugin. No breaking change yet, but we will drop first class support for `cookiecutter` in the future and it will become an opt-in feature. +- eb740ee24: Moved sample software templates to the [backstage/software-templates](https://github.com/backstage/software-templates) repository. If you previously referenced the sample templates straight from `scaffolder-backend` plugin in the main [backstage/backstage](https://github.com/backstage/backstage) repository in your `app-config.yaml`, these references will need to be updated. + + See https://github.com/backstage/software-templates + +- Updated dependencies + - @backstage/catalog-client@0.3.17 + - @backstage/backend-common@0.8.7 + ## 0.14.0 ### Minor Changes diff --git a/plugins/scaffolder-backend/api-report.md b/plugins/scaffolder-backend/api-report.md index 0e7a25534c..baf85bce63 100644 --- a/plugins/scaffolder-backend/api-report.md +++ b/plugins/scaffolder-backend/api-report.md @@ -107,6 +107,13 @@ export const createFilesystemDeleteAction: () => TemplateAction; // @public (undocumented) export const createFilesystemRenameAction: () => TemplateAction; +// Warning: (ae-missing-release-tag) "createGithubActionsDispatchAction" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export function createGithubActionsDispatchAction(options: { + integrations: ScmIntegrationRegistry; +}): TemplateAction; + // Warning: (ae-missing-release-tag) "createPublishAzureAction" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) diff --git a/plugins/scaffolder-backend/package.json b/plugins/scaffolder-backend/package.json index e44a22403c..490c7cc0d2 100644 --- a/plugins/scaffolder-backend/package.json +++ b/plugins/scaffolder-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder-backend", - "version": "0.14.0", + "version": "0.14.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -29,8 +29,8 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/backend-common": "^0.8.6", - "@backstage/catalog-client": "^0.3.16", + "@backstage/backend-common": "^0.8.7", + "@backstage/catalog-client": "^0.3.17", "@backstage/catalog-model": "^0.9.0", "@backstage/config": "^0.1.5", "@backstage/errors": "^0.1.1", @@ -66,8 +66,8 @@ "yaml": "^1.10.0" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/test-utils": "^0.1.15", "@types/command-exists": "^1.2.0", "@types/fs-extra": "^9.0.1", "@types/git-url-parse": "^9.0.0", diff --git a/plugins/scaffolder-backend/src/scaffolder/__mocks__/@octokit/rest/index.ts b/plugins/scaffolder-backend/src/scaffolder/__mocks__/@octokit/rest/index.ts index 75cdfc208f..7505c3a30e 100644 --- a/plugins/scaffolder-backend/src/scaffolder/__mocks__/@octokit/rest/index.ts +++ b/plugins/scaffolder-backend/src/scaffolder/__mocks__/@octokit/rest/index.ts @@ -15,6 +15,11 @@ */ export const mockGithubClient = { + rest: { + actions: { + createWorkflowDispatch: jest.fn(), + }, + }, repos: { createInOrg: jest.fn(), createForAuthenticatedUser: jest.fn(), diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/createBuiltinActions.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/createBuiltinActions.ts index ae5a7d0697..b3d1460270 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/createBuiltinActions.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/createBuiltinActions.ts @@ -37,6 +37,7 @@ import { createPublishGithubPullRequestAction, createPublishGitlabAction, } from './publish'; +import { createGithubActionsDispatchAction } from './github'; export const createBuiltinActions = (options: { reader: UrlReader; @@ -91,5 +92,8 @@ export const createBuiltinActions = (options: { createCatalogWriteAction(), createFilesystemDeleteAction(), createFilesystemRenameAction(), + createGithubActionsDispatchAction({ + integrations, + }), ]; }; diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/githubActionsDispatch.test.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/githubActionsDispatch.test.ts new file mode 100644 index 0000000000..29e4338a39 --- /dev/null +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/githubActionsDispatch.test.ts @@ -0,0 +1,117 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +jest.mock('@octokit/rest'); + +import { createGithubActionsDispatchAction } from './githubActionsDispatch'; +import { ScmIntegrations } from '@backstage/integration'; +import { ConfigReader } from '@backstage/config'; +import { getVoidLogger } from '@backstage/backend-common'; +import { PassThrough } from 'stream'; + +describe('github:actions:dispatch', () => { + const config = new ConfigReader({ + integrations: { + github: [ + { host: 'github.com', token: 'tokenlols' }, + { host: 'ghe.github.com' }, + ], + }, + }); + + const integrations = ScmIntegrations.fromConfig(config); + const action = createGithubActionsDispatchAction({ integrations }); + + const mockContext = { + input: { + repoUrl: 'github.com?repo=repo&owner=owner', + workflowId: 'a-workflow-id', + branchOrTagName: 'main', + }, + workspacePath: 'lol', + logger: getVoidLogger(), + logStream: new PassThrough(), + output: jest.fn(), + createTemporaryDirectory: jest.fn(), + }; + + const { mockGithubClient } = require('@octokit/rest'); + + beforeEach(() => { + jest.resetAllMocks(); + }); + + it('should throw an error when the repoUrl is not well formed', async () => { + await expect( + action.handler({ + ...mockContext, + input: { repoUrl: 'github.com?repo=bob' }, + }), + ).rejects.toThrow(/missing owner/); + + await expect( + action.handler({ + ...mockContext, + input: { repoUrl: 'github.com?owner=owner' }, + }), + ).rejects.toThrow(/missing repo/); + }); + + it('should throw if there is no integration config provided', async () => { + await expect( + action.handler({ + ...mockContext, + input: { repoUrl: 'missing.com?repo=bob&owner=owner' }, + }), + ).rejects.toThrow(/No matching integration configuration/); + }); + + it('should throw if there is no token in the integration config that is returned', async () => { + await expect( + action.handler({ + ...mockContext, + input: { + repoUrl: 'ghe.github.com?repo=bob&owner=owner', + }, + }), + ).rejects.toThrow(/No token available for host/); + }); + + it('should call the githubApis for creating WorkflowDispatch', async () => { + mockGithubClient.rest.actions.createWorkflowDispatch.mockResolvedValue({ + data: { + foo: 'bar', + }, + }); + + const repoUrl = 'github.com?repo=repo&owner=owner'; + const workflowId = 'dispatch_workflow'; + const branchOrTagName = 'main'; + const ctx = Object.assign({}, mockContext, { + input: { repoUrl, workflowId, branchOrTagName }, + }); + await action.handler(ctx); + + expect( + mockGithubClient.rest.actions.createWorkflowDispatch, + ).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + workflow_id: workflowId, + ref: branchOrTagName, + }); + }); +}); diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/githubActionsDispatch.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/githubActionsDispatch.ts new file mode 100644 index 0000000000..7f48a155ed --- /dev/null +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/githubActionsDispatch.ts @@ -0,0 +1,115 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { InputError } from '@backstage/errors'; +import { + GithubCredentialsProvider, + ScmIntegrationRegistry, +} from '@backstage/integration'; +import { Octokit } from '@octokit/rest'; +import { parseRepoUrl } from '../publish/util'; +import { createTemplateAction } from '../../createTemplateAction'; + +export function createGithubActionsDispatchAction(options: { + integrations: ScmIntegrationRegistry; +}) { + const { integrations } = options; + + const credentialsProviders = new Map( + integrations.github.list().map(integration => { + const provider = GithubCredentialsProvider.create(integration.config); + return [integration.config.host, provider]; + }), + ); + + return createTemplateAction<{ + repoUrl: string; + workflowId: string; + branchOrTagName: string; + }>({ + id: 'github:actions:dispatch', + description: + 'Dispatches a GitHub Action workflow for a given branch or tag', + schema: { + input: { + type: 'object', + required: ['repoUrl', 'workflowId', 'branchOrTagName'], + properties: { + repoUrl: { + title: 'Repository Location', + description: `Accepts the format 'github.com?repo=reponame&owner=owner' where 'reponame' is the new repository name and 'owner' is an organization or username`, + type: 'string', + }, + workflowId: { + title: 'Workflow ID', + description: 'The GitHub Action Workflow filename', + type: 'string', + }, + branchOrTagName: { + title: 'Branch or Tag name', + description: + 'The git branch or tag name used to dispatch the workflow', + type: 'string', + }, + }, + }, + }, + async handler(ctx) { + const { repoUrl, workflowId, branchOrTagName } = ctx.input; + + const { owner, repo, host } = parseRepoUrl(repoUrl); + + ctx.logger.info( + `Dispatching workflow ${workflowId} for repo ${repoUrl} on ${branchOrTagName}`, + ); + + const credentialsProvider = credentialsProviders.get(host); + const integrationConfig = integrations.github.byHost(host); + + if (!credentialsProvider || !integrationConfig) { + throw new InputError( + `No matching integration configuration for host ${host}, please check your integrations config`, + ); + } + + const { token } = await credentialsProvider.getCredentials({ + url: `https://${host}/${encodeURIComponent(owner)}/${encodeURIComponent( + repo, + )}`, + }); + + if (!token) { + throw new InputError( + `No token available for host: ${host}, with owner ${owner}, and repo ${repo}`, + ); + } + + const client = new Octokit({ + auth: token, + baseUrl: integrationConfig.config.apiBaseUrl, + previews: ['nebula-preview'], + }); + + await client.rest.actions.createWorkflowDispatch({ + owner, + repo, + workflow_id: workflowId, + ref: branchOrTagName, + }); + + ctx.logger.info(`Workflow ${workflowId} dispatched successfully`); + }, + }); +} diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/index.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/index.ts new file mode 100644 index 0000000000..50abd2c3dc --- /dev/null +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/index.ts @@ -0,0 +1,17 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { createGithubActionsDispatchAction } from './githubActionsDispatch'; diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/index.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/index.ts index 2a583f369a..2265f9b4f7 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/index.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/index.ts @@ -20,6 +20,7 @@ export * from './debug'; export * from './fetch'; export * from './filesystem'; export * from './publish'; +export * from './github'; export { createFetchCookiecutterAction } from '@backstage/plugin-scaffolder-backend-module-cookiecutter'; export { runCommand } from './helpers'; diff --git a/plugins/scaffolder/package.json b/plugins/scaffolder/package.json index 78f9c269d9..edb2f44d94 100644 --- a/plugins/scaffolder/package.json +++ b/plugins/scaffolder/package.json @@ -33,7 +33,7 @@ "@backstage/catalog-client": "^0.3.16", "@backstage/catalog-model": "^0.9.0", "@backstage/config": "^0.1.5", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/errors": "^0.1.1", "@backstage/integration": "^0.5.8", @@ -63,10 +63,10 @@ "zen-observable": "^0.8.15" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/react-hooks": "^3.3.0", diff --git a/plugins/search/CHANGELOG.md b/plugins/search/CHANGELOG.md index af6cd39e94..0e19f854bd 100644 --- a/plugins/search/CHANGELOG.md +++ b/plugins/search/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-search +## 0.4.4 + +### Patch Changes + +- 9266b80ab: Adding a type filter to new search +- Updated dependencies + - @backstage/core-components@0.1.6 + - @backstage/plugin-catalog-react@0.3.1 + ## 0.4.3 ### Patch Changes diff --git a/plugins/search/api-report.md b/plugins/search/api-report.md index 505a8989b6..525136713d 100644 --- a/plugins/search/api-report.md +++ b/plugins/search/api-report.md @@ -143,6 +143,17 @@ export const SearchResult: ({ children: (results: { results: SearchResult_2[] }) => JSX.Element; }) => JSX.Element; +// Warning: (ae-forgotten-export) The symbol "SearchTypeProps" needs to be exported by the entry point index.d.ts +// Warning: (ae-missing-release-tag) "SearchType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export const SearchType: ({ + values, + className, + name, + defaultValue, +}: SearchTypeProps) => JSX.Element; + // Warning: (ae-missing-release-tag) "SidebarSearch" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) diff --git a/plugins/search/package.json b/plugins/search/package.json index 9f394f616b..a6ca45497a 100644 --- a/plugins/search/package.json +++ b/plugins/search/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-search", - "version": "0.4.3", + "version": "0.4.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -31,10 +31,10 @@ "dependencies": { "@backstage/catalog-model": "^0.9.0", "@backstage/config": "^0.1.5", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/errors": "^0.1.1", - "@backstage/plugin-catalog-react": "^0.3.0", + "@backstage/plugin-catalog-react": "^0.3.1", "@backstage/search-common": "^0.1.2", "@backstage/theme": "^0.2.8", "@material-ui/core": "^4.11.0", @@ -49,10 +49,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/react-hooks": "^3.4.2", diff --git a/plugins/search/src/components/SearchType/SearchType.test.tsx b/plugins/search/src/components/SearchType/SearchType.test.tsx new file mode 100644 index 0000000000..1ca032e41d --- /dev/null +++ b/plugins/search/src/components/SearchType/SearchType.test.tsx @@ -0,0 +1,231 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import React from 'react'; +import { screen, render, waitFor } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; +import { SearchType } from './SearchType'; + +import { SearchContextProvider } from '../SearchContext'; +import { useApi } from '@backstage/core-plugin-api'; + +jest.mock('@backstage/core-plugin-api', () => ({ + ...jest.requireActual('@backstage/core-plugin-api'), + useApi: jest.fn().mockReturnValue({}), +})); + +describe('SearchType', () => { + const initialState = { + term: '', + filters: {}, + types: [], + pageCursor: '', + }; + + const name = 'field'; + const values = ['value1', 'value2']; + const typeValues = ['preselected']; + + const query = jest.fn().mockResolvedValue({}); + (useApi as jest.Mock).mockReturnValue({ query: query }); + + afterAll(() => { + jest.resetAllMocks(); + }); + + describe('Type Filter', () => { + it('Renders field name and values when provided as props', async () => { + render( + + + , + ); + + await waitFor(() => { + expect(screen.getByText(name)).toBeInTheDocument(); + }); + + userEvent.click(screen.getByRole('button')); + + await waitFor(() => { + expect(screen.getByRole('listbox')).toBeInTheDocument(); + }); + + expect( + screen.getByRole('option', { name: values[0] }), + ).toBeInTheDocument(); + expect( + screen.getByRole('option', { name: values[1] }), + ).toBeInTheDocument(); + }); + + it('Renders correctly based on type filter state', async () => { + render( + + + , + ); + + await waitFor(() => { + expect(screen.getByText(name)).toBeInTheDocument(); + }); + + userEvent.click(screen.getByRole('button')); + + await waitFor(() => { + expect(screen.getByRole('listbox')).toBeInTheDocument(); + }); + + expect(screen.getByRole('option', { name: values[0] })).toHaveAttribute( + 'aria-selected', + 'true', + ); + expect( + screen.getByRole('option', { name: values[1] }), + ).not.toHaveAttribute('aria-selected'); + expect(screen.getByRole('option', { name: 'All' })).not.toHaveAttribute( + 'aria-selected', + ); + }); + + it('Renders correctly based on type filter defaultValue', async () => { + render( + + + , + ); + + await waitFor(() => { + expect(screen.getByText(name)).toBeInTheDocument(); + }); + + userEvent.click(screen.getByRole('button')); + + await waitFor(() => { + expect(screen.getByRole('listbox')).toBeInTheDocument(); + }); + + expect(screen.getByRole('option', { name: values[0] })).toHaveAttribute( + 'aria-selected', + 'true', + ); + expect( + screen.getByRole('option', { name: values[1] }), + ).not.toHaveAttribute('aria-selected'); + expect(screen.getByRole('option', { name: 'All' })).not.toHaveAttribute( + 'aria-selected', + ); + }); + + it('Selecting a value sets type filter state', async () => { + render( + + + , + ); + + await waitFor(() => { + expect(screen.getByText(name)).toBeInTheDocument(); + }); + + const button = screen.getByRole('button'); + + userEvent.click(button); + + await waitFor(() => { + expect(screen.getByRole('listbox')).toBeInTheDocument(); + }); + + userEvent.click(screen.getByRole('option', { name: values[0] })); + + await waitFor(() => { + expect(query).toHaveBeenLastCalledWith( + expect.objectContaining({ + types: [values[0]], + }), + ); + }); + + userEvent.click(button); + + await waitFor(() => { + expect(screen.getByRole('listbox')).toBeInTheDocument(); + }); + + userEvent.click(screen.getByRole('option', { name: 'All' })); + + await waitFor(() => { + expect(query).toHaveBeenLastCalledWith( + expect.objectContaining({ + types: [], + }), + ); + }); + }); + + it('Selecting a value maintains unrelated filter state, selecting All defaults to default empty state', async () => { + render( + + + , + ); + + await waitFor(() => { + expect(screen.getByText(name)).toBeInTheDocument(); + }); + + const button = screen.getByRole('button'); + + userEvent.click(button); + + await waitFor(() => { + expect(screen.getByRole('listbox')).toBeInTheDocument(); + }); + + userEvent.click(screen.getByRole('option', { name: values[0] })); + + await waitFor(() => { + expect(query).toHaveBeenLastCalledWith( + expect.objectContaining({ + types: [...typeValues, values[0]], + }), + ); + }); + + userEvent.click(button); + + await waitFor(() => { + expect(screen.getByRole('listbox')).toBeInTheDocument(); + }); + + userEvent.click(screen.getByRole('option', { name: 'All' })); + + await waitFor(() => { + expect(query).toHaveBeenLastCalledWith(expect.objectContaining([])); + }); + }); + }); +}); diff --git a/plugins/search/src/components/SearchType/SearchType.tsx b/plugins/search/src/components/SearchType/SearchType.tsx new file mode 100644 index 0000000000..6e57879064 --- /dev/null +++ b/plugins/search/src/components/SearchType/SearchType.tsx @@ -0,0 +1,110 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { useSearch } from '../SearchContext'; +import { useEffectOnce } from 'react-use'; +import React, { ChangeEvent } from 'react'; +import { + Chip, + FormControl, + InputLabel, + makeStyles, + MenuItem, + Select, +} from '@material-ui/core'; + +const useStyles = makeStyles({ + label: { + textTransform: 'capitalize', + }, + chips: { + display: 'flex', + flexWrap: 'wrap', + }, + chip: { + margin: 2, + }, +}); + +export type SearchTypeProps = { + className?: string; + name: string; + values?: string[]; + defaultValue?: string[] | string | null; +}; + +const SearchType = ({ + values = [], + className, + name, + defaultValue, +}: SearchTypeProps) => { + const classes = useStyles(); + const { types, setTypes } = useSearch(); + + useEffectOnce(() => { + if (defaultValue && Array.isArray(defaultValue)) { + setTypes(defaultValue); + } else if (defaultValue) { + setTypes([defaultValue]); + } + }); + + const handleChange = (e: ChangeEvent<{ value: unknown }>) => { + const value = e.target.value as string[]; + if (!value || value.includes('*')) { + setTypes([]); + } else { + setTypes(value.filter(it => it !== 'All')); + } + }; + + return ( + + + {name} + + + + ); +}; + +export { SearchType }; diff --git a/plugins/search/src/components/SearchType/index.ts b/plugins/search/src/components/SearchType/index.ts new file mode 100644 index 0000000000..400f3d2a46 --- /dev/null +++ b/plugins/search/src/components/SearchType/index.ts @@ -0,0 +1,17 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { SearchType } from './SearchType'; diff --git a/plugins/search/src/components/index.tsx b/plugins/search/src/components/index.tsx index 245c31598d..889eb36334 100644 --- a/plugins/search/src/components/index.tsx +++ b/plugins/search/src/components/index.tsx @@ -16,6 +16,7 @@ export * from './Filters'; export * from './SearchFilter'; +export * from './SearchType'; export * from './SearchBar'; export * from './SearchPage'; export * from './SearchResult'; diff --git a/plugins/search/src/index.ts b/plugins/search/src/index.ts index ecd6015b1c..f09ba739bd 100644 --- a/plugins/search/src/index.ts +++ b/plugins/search/src/index.ts @@ -32,6 +32,7 @@ export { useSearch, SearchPage as Router, SearchFilter, + SearchType, SearchFilterNext, SidebarSearch, } from './components'; diff --git a/plugins/sentry/package.json b/plugins/sentry/package.json index cfc10baf24..989a18a6d9 100644 --- a/plugins/sentry/package.json +++ b/plugins/sentry/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", @@ -47,10 +47,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/shortcuts/package.json b/plugins/shortcuts/package.json index b3b03c4205..293d71eeb9 100644 --- a/plugins/shortcuts/package.json +++ b/plugins/shortcuts/package.json @@ -20,7 +20,7 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/theme": "^0.2.8", "@material-ui/core": "^4.11.0", @@ -36,10 +36,10 @@ "zen-observable": "^0.8.15" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/sonarqube/package.json b/plugins/sonarqube/package.json index 34e70fe1e1..a132da5702 100644 --- a/plugins/sonarqube/package.json +++ b/plugins/sonarqube/package.json @@ -33,7 +33,7 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", @@ -48,10 +48,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/splunk-on-call/package.json b/plugins/splunk-on-call/package.json index ed2ce923b0..d779df3f97 100644 --- a/plugins/splunk-on-call/package.json +++ b/plugins/splunk-on-call/package.json @@ -31,7 +31,7 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", @@ -46,10 +46,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/tech-radar/package.json b/plugins/tech-radar/package.json index 05b6689100..305061087b 100644 --- a/plugins/tech-radar/package.json +++ b/plugins/tech-radar/package.json @@ -30,7 +30,7 @@ "start": "backstage-cli plugin:serve" }, "dependencies": { - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/theme": "^0.2.8", "@material-ui/core": "^4.11.0", @@ -44,10 +44,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/techdocs-backend/CHANGELOG.md b/plugins/techdocs-backend/CHANGELOG.md index 85acec31f9..4acab08f26 100644 --- a/plugins/techdocs-backend/CHANGELOG.md +++ b/plugins/techdocs-backend/CHANGELOG.md @@ -1,5 +1,101 @@ # @backstage/plugin-techdocs-backend +## 0.9.0 + +### Minor Changes + +- d32d01e5b: Improve the annotation `backstage.io/techdocs-ref: dir:` that links to a path that is relative to the source of the annotated entity. + This annotation works with the basic and the recommended flow, however, it will be most useful with the basic approach. + + This change remove the deprecation of the `dir` reference and provides first-class support for it. + In addition, this change removes the support of the deprecated `github`, `gitlab`, and `azure/api` locations from the `dir` reference preparer. + + #### Example Usage + + The annotation is convenient if the documentation is stored in the same location, i.e. the same git repository, as the `catalog-info.yaml`. + While it is still supported to add full URLs such as `backstage.io/techdocs-ref: url:https://...` for custom setups, documentation is mostly stored in the same repository as the entity definition. + By automatically resolving the target relative to the registration location of the entity, the configuration overhead for this default setup is minimized. + Since it leverages the `@backstage/integrations` package for the URL resolution, this is compatible with every supported source. + + Consider the following examples: + + 1. "I have a repository with a single `catalog-info.yaml` and a TechDocs page in the root folder!" + + ``` + https://github.com/backstage/example/tree/main/ + |- catalog-info.yaml + | > apiVersion: backstage.io/v1alpha1 + | > kind: Component + | > metadata: + | > name: example + | > annotations: + | > backstage.io/techdocs-ref: dir:. # -> same folder + | > spec: {} + |- docs/ + |- mkdocs.yml + ``` + + 2. "I have a repository with a single `catalog-info.yaml` and my TechDocs page in located in a folder!" + + ``` + https://bitbucket.org/my-owner/my-project/src/master/ + |- catalog-info.yaml + | > apiVersion: backstage.io/v1alpha1 + | > kind: Component + | > metadata: + | > name: example + | > annotations: + | > backstage.io/techdocs-ref: dir:./some-folder # -> subfolder + | > spec: {} + |- some-folder/ + |- docs/ + |- mkdocs.yml + ``` + + 3. "I have a mono repository that hosts multiple components!" + + ``` + https://dev.azure.com/organization/project/_git/repository + |- my-1st-module/ + |- catalog-info.yaml + | > apiVersion: backstage.io/v1alpha1 + | > kind: Component + | > metadata: + | > name: my-1st-module + | > annotations: + | > backstage.io/techdocs-ref: dir:. # -> same folder + | > spec: {} + |- docs/ + |- mkdocs.yml + |- my-2nd-module/ + |- catalog-info.yaml + | > apiVersion: backstage.io/v1alpha1 + | > kind: Component + | > metadata: + | > name: my-2nd-module + | > annotations: + | > backstage.io/techdocs-ref: dir:. # -> same folder + | > spec: {} + |- docs/ + |- mkdocs.yml + |- catalog-info.yaml + | > apiVersion: backstage.io/v1alpha1 + | > kind: Location + | > metadata: + | > name: example + | > spec: + | > targets: + | > - ./*/catalog-info.yaml + ``` + +### Patch Changes + +- 9266b80ab: Implements tech docs collator to retrieve and expose search indexes for entities that have tech docs configured +- Updated dependencies + - @backstage/techdocs-common@0.7.0 + - @backstage/catalog-client@0.3.17 + - @backstage/backend-common@0.8.7 + ## 0.8.7 ### Patch Changes diff --git a/plugins/techdocs-backend/api-report.md b/plugins/techdocs-backend/api-report.md index 3d1738cb12..f617b796aa 100644 --- a/plugins/techdocs-backend/api-report.md +++ b/plugins/techdocs-backend/api-report.md @@ -3,9 +3,12 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts +import { CatalogApi } from '@backstage/catalog-client'; import { Config } from '@backstage/config'; +import { DocumentCollator } from '@backstage/search-common'; import express from 'express'; import { GeneratorBuilder } from '@backstage/techdocs-common'; +import { IndexableDocument } from '@backstage/search-common'; import { Knex } from 'knex'; import { Logger as Logger_2 } from 'winston'; import { PluginEndpointDiscovery } from '@backstage/backend-common'; @@ -18,6 +21,54 @@ import { PublisherBase } from '@backstage/techdocs-common'; // @public (undocumented) export function createRouter(options: RouterOptions): Promise; +// Warning: (ae-missing-release-tag) "DefaultTechDocsCollator" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export class DefaultTechDocsCollator implements DocumentCollator { + constructor({ + discovery, + locationTemplate, + logger, + catalogClient, + parallelismLimit, + }: { + discovery: PluginEndpointDiscovery; + logger: Logger_2; + locationTemplate?: string; + catalogClient?: CatalogApi; + parallelismLimit?: number; + }); + // (undocumented) + protected applyArgsToFormat( + format: string, + args: Record, + ): string; + // (undocumented) + protected discovery: PluginEndpointDiscovery; + // (undocumented) + execute(): Promise; + // (undocumented) + protected locationTemplate: string; + // (undocumented) + readonly type: string; +} + +// Warning: (ae-missing-release-tag) "TechDocsDocument" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface TechDocsDocument extends IndexableDocument { + // (undocumented) + kind: string; + // (undocumented) + lifecycle: string; + // (undocumented) + name: string; + // (undocumented) + namespace: string; + // (undocumented) + owner: string; +} + export * from '@backstage/techdocs-common'; // (No @packageDocumentation comment for this package) diff --git a/plugins/techdocs-backend/package.json b/plugins/techdocs-backend/package.json index 76aadc79cf..a6a4fbe46a 100644 --- a/plugins/techdocs-backend/package.json +++ b/plugins/techdocs-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-techdocs-backend", - "version": "0.8.7", + "version": "0.9.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -30,12 +30,14 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/backend-common": "^0.8.6", - "@backstage/catalog-client": "^0.3.16", + "@backstage/backend-common": "^0.8.7", + "@backstage/catalog-client": "^0.3.17", "@backstage/catalog-model": "^0.9.0", "@backstage/config": "^0.1.5", "@backstage/errors": "^0.1.1", - "@backstage/techdocs-common": "^0.6.8", + "@backstage/integration": "^0.5.8", + "@backstage/search-common": "^0.1.2", + "@backstage/techdocs-common": "^0.7.0", "@types/express": "^4.17.6", "cross-fetch": "^3.0.6", "dockerode": "^3.2.1", @@ -43,10 +45,13 @@ "express-promise-router": "^4.1.0", "fs-extra": "9.1.0", "knex": "^0.95.1", + "lodash": "^4.17.21", + "p-limit": "^3.1.0", "winston": "^3.2.1" }, "devDependencies": { - "@backstage/cli": "^0.7.4", + "@backstage/cli": "^0.7.5", + "@backstage/test-utils": "^0.1.15", "@types/dockerode": "^3.2.1", "msw": "^0.29.0", "supertest": "^6.1.3" diff --git a/plugins/techdocs-backend/src/DocsBuilder/builder.ts b/plugins/techdocs-backend/src/DocsBuilder/builder.ts index 2cd6f57154..5327062233 100644 --- a/plugins/techdocs-backend/src/DocsBuilder/builder.ts +++ b/plugins/techdocs-backend/src/DocsBuilder/builder.ts @@ -20,6 +20,7 @@ import { } from '@backstage/catalog-model'; import { Config } from '@backstage/config'; import { NotModifiedError } from '@backstage/errors'; +import { ScmIntegrationRegistry } from '@backstage/integration'; import { GeneratorBase, GeneratorBuilder, @@ -43,6 +44,7 @@ type DocsBuilderArguments = { entity: Entity; logger: Logger; config: Config; + scmIntegrations: ScmIntegrationRegistry; logStream?: Writable; }; @@ -53,6 +55,7 @@ export class DocsBuilder { private entity: Entity; private logger: Logger; private config: Config; + private scmIntegrations: ScmIntegrationRegistry; private logStream: Writable | undefined; constructor({ @@ -62,6 +65,7 @@ export class DocsBuilder { entity, logger, config, + scmIntegrations, logStream, }: DocsBuilderArguments) { this.preparer = preparers.get(entity); @@ -70,6 +74,7 @@ export class DocsBuilder { this.entity = entity; this.logger = logger; this.config = config; + this.scmIntegrations = scmIntegrations; this.logStream = logStream; } @@ -166,7 +171,10 @@ export class DocsBuilder { path.join(tmpdirResolvedPath, 'techdocs-tmp-'), ); - const parsedLocationAnnotation = getLocationForEntity(this.entity); + const parsedLocationAnnotation = getLocationForEntity( + this.entity, + this.scmIntegrations, + ); await this.generator.run({ inputDir: preparedDir, outputDir, diff --git a/plugins/techdocs-backend/src/index.ts b/plugins/techdocs-backend/src/index.ts index 6d1e551629..e2a89237db 100644 --- a/plugins/techdocs-backend/src/index.ts +++ b/plugins/techdocs-backend/src/index.ts @@ -15,4 +15,5 @@ */ export { createRouter } from './service/router'; +export * from './search'; export * from '@backstage/techdocs-common'; diff --git a/plugins/techdocs-backend/src/search/DefaultTechDocsCollator.test.ts b/plugins/techdocs-backend/src/search/DefaultTechDocsCollator.test.ts new file mode 100644 index 0000000000..618bb54d60 --- /dev/null +++ b/plugins/techdocs-backend/src/search/DefaultTechDocsCollator.test.ts @@ -0,0 +1,149 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { + PluginEndpointDiscovery, + getVoidLogger, +} from '@backstage/backend-common'; +import { Entity } from '@backstage/catalog-model'; +import { DefaultTechDocsCollator } from './DefaultTechDocsCollator'; +import { msw } from '@backstage/test-utils'; +import { setupServer } from 'msw/node'; +import { rest } from 'msw'; + +const logger = getVoidLogger(); + +const mockSearchDocIndex = { + config: { + lang: ['en'], + min_search_length: 3, + prebuild_index: false, + separator: '[\\s\\-]+', + }, + docs: [ + { + location: '', + text: 'docs docs docs', + title: 'Home', + }, + { + location: 'local-development/', + text: 'Docs for first subtitle', + title: 'Local development', + }, + { + location: 'local-development/#development', + text: 'Docs for sub-subtitle', + title: 'Development', + }, + ], +}; + +const expectedEntities: Entity[] = [ + { + apiVersion: 'backstage.io/v1alpha1', + kind: 'Component', + metadata: { + name: 'test-entity-with-docs', + description: 'Documented description', + annotations: { + 'backstage.io/techdocs-ref': './', + }, + }, + spec: { + type: 'dog', + lifecycle: 'experimental', + owner: 'someone', + }, + }, + { + apiVersion: 'backstage.io/v1alpha1', + kind: 'Component', + metadata: { + name: 'test-entity', + description: 'The expected description', + }, + spec: { + type: 'some-type', + lifecycle: 'experimental', + }, + }, +]; + +describe('DefaultTechDocsCollator', () => { + let mockDiscoveryApi: jest.Mocked; + let collator: DefaultTechDocsCollator; + + const worker = setupServer(); + msw.setupDefaultHandlers(worker); + beforeEach(() => { + mockDiscoveryApi = { + getBaseUrl: jest.fn().mockResolvedValue('http://test-backend'), + getExternalBaseUrl: jest.fn(), + }; + collator = new DefaultTechDocsCollator({ + discovery: mockDiscoveryApi, + logger, + }); + + worker.use( + rest.get( + 'http://test-backend/static/docs/default/Component/test-entity-with-docs/search/search_index.json', + (_, res, ctx) => res(ctx.status(200), ctx.json(mockSearchDocIndex)), + ), + rest.get('http://test-backend/entities', (_, res, ctx) => + res(ctx.status(200), ctx.json(expectedEntities)), + ), + ); + }); + + it('fetches from the configured catalog and tech docs services', async () => { + const documents = await collator.execute(); + expect(mockDiscoveryApi.getBaseUrl).toHaveBeenCalledWith('catalog'); + expect(mockDiscoveryApi.getBaseUrl).toHaveBeenCalledWith('techdocs'); + expect(documents).toHaveLength(mockSearchDocIndex.docs.length); + }); + + it('should create documents for each tech docs search index', async () => { + const documents = await collator.execute(); + const entity = expectedEntities[0]; + documents.forEach((document, idx) => { + expect(document).toMatchObject({ + title: mockSearchDocIndex.docs[idx].title, + location: `/docs/default/Component/${entity.metadata.name}/${mockSearchDocIndex.docs[idx].location}`, + text: mockSearchDocIndex.docs[idx].text, + namespace: 'default', + componentType: entity!.spec!.type, + lifecycle: entity!.spec!.lifecycle, + owner: '', + }); + }); + }); + + it('maps a returned entity with a custom locationTemplate', async () => { + // Provide an alternate location template. + collator = new DefaultTechDocsCollator({ + discovery: mockDiscoveryApi, + locationTemplate: '/software/:name', + logger, + }); + + const documents = await collator.execute(); + expect(documents[0]).toMatchObject({ + location: '/software/test-entity-with-docs', + }); + }); +}); diff --git a/plugins/techdocs-backend/src/search/DefaultTechDocsCollator.ts b/plugins/techdocs-backend/src/search/DefaultTechDocsCollator.ts new file mode 100644 index 0000000000..7c176da9fb --- /dev/null +++ b/plugins/techdocs-backend/src/search/DefaultTechDocsCollator.ts @@ -0,0 +1,149 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { PluginEndpointDiscovery } from '@backstage/backend-common'; +import { Entity, RELATION_OWNED_BY } from '@backstage/catalog-model'; +import { IndexableDocument, DocumentCollator } from '@backstage/search-common'; +import fetch from 'cross-fetch'; +import unescape from 'lodash/unescape'; +import { Logger } from 'winston'; +import pLimit from 'p-limit'; +import { CatalogApi, CatalogClient } from '@backstage/catalog-client'; + +interface MkSearchIndexDoc { + title: string; + text: string; + location: string; +} + +export interface TechDocsDocument extends IndexableDocument { + kind: string; + namespace: string; + name: string; + lifecycle: string; + owner: string; +} + +export class DefaultTechDocsCollator implements DocumentCollator { + protected discovery: PluginEndpointDiscovery; + protected locationTemplate: string; + private readonly logger: Logger; + private readonly catalogClient: CatalogApi; + private readonly parallelismLimit: number; + public readonly type: string = 'techdocs'; + + constructor({ + discovery, + locationTemplate, + logger, + catalogClient, + parallelismLimit = 10, + }: { + discovery: PluginEndpointDiscovery; + logger: Logger; + locationTemplate?: string; + catalogClient?: CatalogApi; + parallelismLimit?: number; + }) { + this.discovery = discovery; + this.locationTemplate = + locationTemplate || '/docs/:namespace/:kind/:name/:path'; + this.logger = logger; + this.catalogClient = + catalogClient || new CatalogClient({ discoveryApi: discovery }); + this.parallelismLimit = parallelismLimit; + } + + async execute() { + const limit = pLimit(this.parallelismLimit); + const techDocsBaseUrl = await this.discovery.getBaseUrl('techdocs'); + const entities = await this.catalogClient.getEntities({ + fields: [ + 'kind', + 'namespace', + 'metadata.annotations', + 'metadata.name', + 'metadata.namespace', + 'spec.type', + 'spec.lifecycle', + 'relations', + ], + }); + const docPromises = entities.items + .filter(it => it.metadata?.annotations?.['backstage.io/techdocs-ref']) + .map((entity: Entity) => + limit( + async (): Promise => { + const entityInfo = { + kind: entity.kind, + namespace: entity.metadata.namespace || 'default', + name: entity.metadata.name, + }; + + try { + const searchIndexResponse = await fetch( + DefaultTechDocsCollator.constructDocsIndexUrl( + techDocsBaseUrl, + entityInfo, + ), + ); + const searchIndex = await searchIndexResponse.json(); + + return searchIndex.docs.map((doc: MkSearchIndexDoc) => ({ + title: unescape(doc.title), + text: unescape(doc.text || ''), + location: this.applyArgsToFormat(this.locationTemplate, { + ...entityInfo, + path: doc.location, + }), + ...entityInfo, + componentType: entity.spec?.type?.toString() || 'other', + lifecycle: (entity.spec?.lifecycle as string) || '', + owner: + entity.relations?.find(r => r.type === RELATION_OWNED_BY) + ?.target?.name || '', + })); + } catch (e) { + this.logger.warn( + `Failed to retrieve tech docs search index for entity ${entityInfo.namespace}/${entityInfo.kind}/${entityInfo.name}`, + e, + ); + return []; + } + }, + ), + ); + return (await Promise.all(docPromises)).flat(); + } + + protected applyArgsToFormat( + format: string, + args: Record, + ): string { + let formatted = format; + for (const [key, value] of Object.entries(args)) { + formatted = formatted.replace(`:${key}`, value); + } + return formatted; + } + + private static constructDocsIndexUrl( + techDocsBaseUrl: string, + entityInfo: { kind: string; namespace: string; name: string }, + ) { + return `${techDocsBaseUrl}/static/docs/${entityInfo.namespace}/${entityInfo.kind}/${entityInfo.name}/search/search_index.json`; + } +} diff --git a/plugins/techdocs-backend/src/search/index.ts b/plugins/techdocs-backend/src/search/index.ts new file mode 100644 index 0000000000..74f348d769 --- /dev/null +++ b/plugins/techdocs-backend/src/search/index.ts @@ -0,0 +1,17 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +export { DefaultTechDocsCollator } from './DefaultTechDocsCollator'; +export type { TechDocsDocument } from './DefaultTechDocsCollator'; diff --git a/plugins/techdocs-backend/src/service/DocsSynchronizer.test.ts b/plugins/techdocs-backend/src/service/DocsSynchronizer.test.ts index 409dc6e128..ac60f3da3a 100644 --- a/plugins/techdocs-backend/src/service/DocsSynchronizer.test.ts +++ b/plugins/techdocs-backend/src/service/DocsSynchronizer.test.ts @@ -19,6 +19,7 @@ import { PluginEndpointDiscovery, } from '@backstage/backend-common'; import { ConfigReader } from '@backstage/config'; +import { ScmIntegrations } from '@backstage/integration'; import { GeneratorBuilder, PreparerBuilder, @@ -69,6 +70,7 @@ describe('DocsSynchronizer', () => { publisher, config: new ConfigReader({}), logger: getVoidLogger(), + scmIntegrations: ScmIntegrations.fromConfig(new ConfigReader({})), }); }); diff --git a/plugins/techdocs-backend/src/service/DocsSynchronizer.ts b/plugins/techdocs-backend/src/service/DocsSynchronizer.ts index 9b51381748..463b895564 100644 --- a/plugins/techdocs-backend/src/service/DocsSynchronizer.ts +++ b/plugins/techdocs-backend/src/service/DocsSynchronizer.ts @@ -17,6 +17,7 @@ import { Entity } from '@backstage/catalog-model'; import { Config } from '@backstage/config'; import { NotFoundError } from '@backstage/errors'; +import { ScmIntegrationRegistry } from '@backstage/integration'; import { GeneratorBuilder, PreparerBuilder, @@ -36,19 +37,23 @@ export class DocsSynchronizer { private readonly publisher: PublisherBase; private readonly logger: winston.Logger; private readonly config: Config; + private readonly scmIntegrations: ScmIntegrationRegistry; constructor({ publisher, logger, config, + scmIntegrations, }: { publisher: PublisherBase; logger: winston.Logger; config: Config; + scmIntegrations: ScmIntegrationRegistry; }) { this.config = config; this.logger = logger; this.publisher = publisher; + this.scmIntegrations = scmIntegrations; } async doSync({ @@ -87,19 +92,20 @@ export class DocsSynchronizer { return; } - const docsBuilder = new DocsBuilder({ - preparers, - generators, - publisher: this.publisher, - logger: taskLogger, - entity, - config: this.config, - logStream, - }); - let foundDocs = false; try { + const docsBuilder = new DocsBuilder({ + preparers, + generators, + publisher: this.publisher, + logger: taskLogger, + entity, + config: this.config, + scmIntegrations: this.scmIntegrations, + logStream, + }); + const updated = await docsBuilder.build(); if (!updated) { diff --git a/plugins/techdocs-backend/src/service/router.ts b/plugins/techdocs-backend/src/service/router.ts index b889312abd..e560a895b6 100644 --- a/plugins/techdocs-backend/src/service/router.ts +++ b/plugins/techdocs-backend/src/service/router.ts @@ -29,6 +29,7 @@ import express, { Response } from 'express'; import Router from 'express-promise-router'; import { Knex } from 'knex'; import { Logger } from 'winston'; +import { ScmIntegrations } from '@backstage/integration'; import { DocsSynchronizer, DocsSynchronizerSyncOpts } from './DocsSynchronizer'; /** @@ -79,10 +80,12 @@ export async function createRouter( const router = Router(); const { publisher, config, logger, discovery } = options; const catalogClient = new CatalogClient({ discoveryApi: discovery }); + const scmIntegrations = ScmIntegrations.fromConfig(config); const docsSynchronizer = new DocsSynchronizer({ - publisher: publisher, - logger: logger, - config: config, + publisher, + logger, + config, + scmIntegrations, }); router.get('/metadata/techdocs/:namespace/:kind/:name', async (req, res) => { @@ -126,7 +129,7 @@ export async function createRouter( ) ).json()) as Entity; - const locationMetadata = getLocationForEntity(entity); + const locationMetadata = getLocationForEntity(entity, scmIntegrations); res.json({ ...entity, locationMetadata }); } catch (err) { logger.info( diff --git a/plugins/techdocs/CHANGELOG.md b/plugins/techdocs/CHANGELOG.md index c89f9dc01c..89c0ee04fd 100644 --- a/plugins/techdocs/CHANGELOG.md +++ b/plugins/techdocs/CHANGELOG.md @@ -1,5 +1,28 @@ # @backstage/plugin-techdocs +## 0.10.1 + +### Patch Changes + +- 9266b80ab: Add search list item to display tech docs search results +- 03bf17e9b: Improve the responsiveness of the EntityPage UI. With this the Header component should scale with the screen size & wrapping should not cause overflowing/blocking of links. Additionally enforce the Pages using the Grid Layout to use it across all screen sizes & to wrap as intended. + + To benefit from the improved responsive layout, the `EntityPage` in existing Backstage applications should be updated to set the `xs` column size on each grid item in the page, as this does not default. For example: + + ```diff + - + + + ``` + +- 378cc6a54: Only update the `path` when the content is updated. + If content and path are updated independently, the frontend rendering is triggered twice on each navigation: Once for the `path` change (with the old content) and once for the new content. + This might result in a flickering rendering that is caused by the async frontend preprocessing, and the fact that replacing the shadow dom content is expensive. +- 214e7c52d: Refactor the techdocs transformers to return `Promise`s and await all transformations. +- e35b13afa: Handle error responses in `getTechDocsMetadata` and `getEntityMetadata` such that `` doesn't throw errors. +- Updated dependencies + - @backstage/core-components@0.1.6 + - @backstage/plugin-catalog-react@0.3.1 + ## 0.10.0 ### Minor Changes diff --git a/plugins/techdocs/api-report.md b/plugins/techdocs/api-report.md index 10e338c89a..8364263f42 100644 --- a/plugins/techdocs/api-report.md +++ b/plugins/techdocs/api-report.md @@ -25,6 +25,17 @@ export const DocsCardGrid: ({ entities: Entity[] | undefined; }) => JSX.Element | null; +// Warning: (ae-missing-release-tag) "DocsResultListItem" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export const DocsResultListItem: ({ + result, + lineClamp, +}: { + result: any; + lineClamp?: number | undefined; +}) => JSX.Element; + // Warning: (ae-missing-release-tag) "DocsTable" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) diff --git a/plugins/techdocs/package.json b/plugins/techdocs/package.json index 140be7d886..c1f8954b6c 100644 --- a/plugins/techdocs/package.json +++ b/plugins/techdocs/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-techdocs", - "version": "0.10.0", + "version": "0.10.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,12 +33,12 @@ "dependencies": { "@backstage/catalog-model": "^0.9.0", "@backstage/config": "^0.1.5", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/errors": "^0.1.1", "@backstage/integration": "^0.5.8", "@backstage/integration-react": "^0.1.4", - "@backstage/plugin-catalog-react": "^0.3.0", + "@backstage/plugin-catalog-react": "^0.3.1", "@backstage/theme": "^0.2.8", "@material-ui/core": "^4.11.0", "@material-ui/icons": "^4.9.1", @@ -51,13 +51,14 @@ "react-router": "6.0.0-beta.0", "react-router-dom": "6.0.0-beta.0", "react-use": "^17.2.4", + "react-text-truncate": "^0.16.0", "sanitize-html": "^2.3.2" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/react-hooks": "^3.4.2", diff --git a/plugins/techdocs/src/components/DocsResultListItem/DocsResultListItem.test.tsx b/plugins/techdocs/src/components/DocsResultListItem/DocsResultListItem.test.tsx new file mode 100644 index 0000000000..41de2fefe4 --- /dev/null +++ b/plugins/techdocs/src/components/DocsResultListItem/DocsResultListItem.test.tsx @@ -0,0 +1,50 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import React from 'react'; +import { render } from '@testing-library/react'; +import { DocsResultListItem } from './DocsResultListItem'; + +// Using canvas to render text.. +jest.mock('react-text-truncate', () => { + return ({ text }: { text: string }) => {text}; +}); + +const validResult = { + location: 'https://backstage.io/docs', + title: 'Documentation', + text: + 'Backstage is an open-source developer portal that puts the developer experience first.', + kind: 'library', + namespace: '', + name: 'Backstage', + lifecycle: 'production', +}; + +describe('DocsResultListItem test', () => { + it('should render search doc passed in', async () => { + const { findByText } = render(); + + expect( + await findByText('Documentation | Backstage docs'), + ).toBeInTheDocument(); + expect( + await findByText( + 'Backstage is an open-source developer portal that puts the developer experience first.', + ), + ).toBeInTheDocument(); + }); +}); diff --git a/plugins/techdocs/src/components/DocsResultListItem/DocsResultListItem.tsx b/plugins/techdocs/src/components/DocsResultListItem/DocsResultListItem.tsx new file mode 100644 index 0000000000..52aa45a97e --- /dev/null +++ b/plugins/techdocs/src/components/DocsResultListItem/DocsResultListItem.tsx @@ -0,0 +1,60 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import React from 'react'; +import { Divider, ListItem, ListItemText, makeStyles } from '@material-ui/core'; +import { Link } from '@backstage/core-components'; +import TextTruncate from 'react-text-truncate'; + +const useStyles = makeStyles({ + flexContainer: { + flexWrap: 'wrap', + }, + itemText: { + width: '100%', + marginBottom: '1rem', + }, +}); + +export const DocsResultListItem = ({ + result, + lineClamp = 5, +}: { + result: any; + lineClamp?: number; +}) => { + const classes = useStyles(); + return ( + + + + } + /> + + + + ); +}; diff --git a/plugins/techdocs/src/components/DocsResultListItem/index.ts b/plugins/techdocs/src/components/DocsResultListItem/index.ts new file mode 100644 index 0000000000..4e1e511ea1 --- /dev/null +++ b/plugins/techdocs/src/components/DocsResultListItem/index.ts @@ -0,0 +1,17 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { DocsResultListItem } from './DocsResultListItem'; diff --git a/plugins/techdocs/src/index.ts b/plugins/techdocs/src/index.ts index d645d128f7..66502a4585 100644 --- a/plugins/techdocs/src/index.ts +++ b/plugins/techdocs/src/index.ts @@ -19,6 +19,7 @@ export { techdocsApiRef, techdocsStorageApiRef } from './api'; export type { TechDocsApi, TechDocsStorageApi } from './api'; export { TechDocsClient, TechDocsStorageClient } from './client'; export type { PanelType } from './home/components/TechDocsCustomHome'; +export * from './components/DocsResultListItem'; export { DocsCardGrid, DocsTable, diff --git a/plugins/techdocs/src/reader/components/Reader.tsx b/plugins/techdocs/src/reader/components/Reader.tsx index d63ddf8125..ce72da4bf6 100644 --- a/plugins/techdocs/src/reader/components/Reader.tsx +++ b/plugins/techdocs/src/reader/components/Reader.tsx @@ -19,7 +19,12 @@ import { Progress } from '@backstage/core-components'; import { useApi } from '@backstage/core-plugin-api'; import { scmIntegrationsApiRef } from '@backstage/integration-react'; import { BackstageTheme } from '@backstage/theme'; -import { Button, CircularProgress, useTheme } from '@material-ui/core'; +import { + Button, + CircularProgress, + makeStyles, + useTheme, +} from '@material-ui/core'; import { Alert } from '@material-ui/lab'; import React, { useCallback, useEffect, useRef, useState } from 'react'; import { useNavigate, useParams } from 'react-router-dom'; @@ -45,19 +50,29 @@ type Props = { onReady?: () => void; }; +const useStyles = makeStyles(() => ({ + message: { + // `word-break: break-word` is deprecated, but gives legacy support to browsers not supporting `overflow-wrap` yet + // https://developer.mozilla.org/en-US/docs/Web/CSS/word-break + wordBreak: 'break-word', + overflowWrap: 'anywhere', + }, +})); + export const Reader = ({ entityId, onReady }: Props) => { const { kind, namespace, name } = entityId; - const { '*': path } = useParams(); const theme = useTheme(); + const classes = useStyles(); const { state, + path, contentReload, content: rawPage, contentErrorMessage, syncErrorMessage, buildLog, - } = useReaderState(kind, namespace, name, path); + } = useReaderState(kind, namespace, name, useParams()['*']); const techdocsStorageApi = useApi(techdocsStorageApiRef); const [sidebars, setSidebars] = useState(); @@ -94,31 +109,26 @@ export const Reader = ({ entityId, onReady }: Props) => { // an update to "state" might lead to an updated UI so we include it as a trigger }, [updateSidebarPosition, state]); - useEffect(() => { - if (!rawPage || !shadowDomRef.current) { - return; - } - if (onReady) { - onReady(); - } - // Pre-render - const transformedElement = transformer(rawPage, [ - sanitizeDOM(), - addBaseUrl({ - techdocsStorageApi, - entityId: { - kind, - name, - namespace, - }, - path, - }), - rewriteDocLinks(), - removeMkdocsHeader(), - simplifyMkdocsFooter(), - addGitFeedbackLink(scmIntegrationsApi), - injectCss({ - css: ` + // a function that performs transformations that are executed prior to adding it to the DOM + const preRender = useCallback( + (rawContent: string, contentPath: string) => + transformer(rawContent, [ + sanitizeDOM(), + addBaseUrl({ + techdocsStorageApi, + entityId: { + kind, + name, + namespace, + }, + path: contentPath, + }), + rewriteDocLinks(), + removeMkdocsHeader(), + simplifyMkdocsFooter(), + addGitFeedbackLink(scmIntegrationsApi), + injectCss({ + css: ` body { font-family: ${theme.typography.fontFamily}; --md-text-color: ${theme.palette.text.primary}; @@ -175,21 +185,21 @@ export const Reader = ({ entityId, onReady }: Props) => { } } `, - }), - injectCss({ - // Disable CSS animations on link colors as they lead to issues in dark - // mode. The dark mode color theme is applied later and theirfore there - // is always an animation from light to dark mode when navigation - // between pages. - css: ` + }), + injectCss({ + // Disable CSS animations on link colors as they lead to issues in dark + // mode. The dark mode color theme is applied later and theirfore there + // is always an animation from light to dark mode when navigation + // between pages. + css: ` .md-nav__link, .md-typeset a, .md-typeset a::before, .md-typeset .headerlink { transition: none; } `, - }), - injectCss({ - // Properly style code blocks. - css: ` + }), + injectCss({ + // Properly style code blocks. + css: ` .md-typeset pre > code::-webkit-scrollbar-thumb { background-color: hsla(0, 0%, 0%, 0.32); } @@ -197,17 +207,17 @@ export const Reader = ({ entityId, onReady }: Props) => { background-color: hsla(0, 0%, 0%, 0.87); } `, - }), - injectCss({ - // Admonitions and others are using SVG masks to define icons. These - // masks are defined as CSS variables. - // As the MkDocs output is rendered in shadow DOM, the CSS variable - // definitions on the root selector are not applied. Instead, the have - // to be applied on :host. - // As there is no way to transform the served main*.css yet (for - // example in the backend), we have to copy from main*.css and modify - // them. - css: ` + }), + injectCss({ + // Admonitions and others are using SVG masks to define icons. These + // masks are defined as CSS variables. + // As the MkDocs output is rendered in shadow DOM, the CSS variable + // definitions on the root selector are not applied. Instead, the have + // to be applied on :host. + // As there is no way to transform the served main*.css yet (for + // example in the backend), we have to copy from main*.css and modify + // them. + css: ` :host { --md-admonition-icon--note: url('data:image/svg+xml;charset=utf-8,'); --md-admonition-icon--abstract: url('data:image/svg+xml;charset=utf-8,'); @@ -233,97 +243,129 @@ export const Reader = ({ entityId, onReady }: Props) => { --md-tasklist-icon--checked: url('data:image/svg+xml;charset=utf-8,'); } `, - }), - ]); + }), + ]), + [ + kind, + name, + namespace, + scmIntegrationsApi, + techdocsStorageApi, + theme.palette.background.default, + theme.palette.background.paper, + theme.palette.primary.main, + theme.palette.text.primary, + theme.typography.fontFamily, + ], + ); - if (!transformedElement) { - return; // An unexpected error occurred + // a function that performs transformations that are executed after adding it to the DOM + const postRender = useCallback( + async (shadowRoot: ShadowRoot) => + transformer(shadowRoot.children[0], [ + dom => { + setTimeout(() => { + // Scoll to the desired anchor on initial navigation + if (window.location.hash) { + const hash = window.location.hash.slice(1); + shadowRoot?.getElementById(hash)?.scrollIntoView(); + } + }, 200); + return dom; + }, + addLinkClickListener({ + baseUrl: window.location.origin, + onClick: (_: MouseEvent, url: string) => { + const parsedUrl = new URL(url); + + if (parsedUrl.hash) { + navigate(`${parsedUrl.pathname}${parsedUrl.hash}`); + + // Scroll to hash if it's on the current page + shadowRoot + ?.getElementById(parsedUrl.hash.slice(1)) + ?.scrollIntoView(); + } else { + navigate(parsedUrl.pathname); + } + }, + }), + onCssReady({ + docStorageUrl: await techdocsStorageApi.getApiOrigin(), + onLoading: (dom: Element) => { + (dom as HTMLElement).style.setProperty('opacity', '0'); + }, + onLoaded: (dom: Element) => { + (dom as HTMLElement).style.removeProperty('opacity'); + // disable MkDocs drawer toggling ('for' attribute => checkbox mechanism) + (dom as HTMLElement) + .querySelector('.md-nav__title') + ?.removeAttribute('for'); + const sideDivs: HTMLElement[] = Array.from( + shadowRoot!.querySelectorAll('.md-sidebar'), + ); + setSidebars(sideDivs); + // set sidebar height so they don't initially render in wrong position + const docTopPosition = (dom as HTMLElement).getBoundingClientRect() + .top; + const mdTabs = dom.querySelector('.md-container > .md-tabs'); + sideDivs!.forEach(sidebar => { + sidebar.style.top = mdTabs + ? `${docTopPosition + mdTabs.getBoundingClientRect().height}px` + : `${docTopPosition}px`; + }); + }, + }), + ]), + [navigate, techdocsStorageApi], + ); + + useEffect(() => { + if (!rawPage || !shadowDomRef.current) { + // clear the shadow dom if no content is available + if (shadowDomRef.current?.shadowRoot) { + shadowDomRef.current.shadowRoot.innerHTML = ''; + } + return () => {}; + } + if (onReady) { + onReady(); } - const shadowDiv: HTMLElement = shadowDomRef.current!; - const shadowRoot = - shadowDiv.shadowRoot || shadowDiv.attachShadow({ mode: 'open' }); - Array.from(shadowRoot.children).forEach(child => - shadowRoot.removeChild(child), - ); - shadowRoot.appendChild(transformedElement); + // if false, there is already a newer execution of this effect + let shouldReplaceContent = true; - // Scroll to top after render - window.scroll({ top: 0 }); + // Pre-render + preRender(rawPage, path).then(async transformedElement => { + if (!transformedElement?.innerHTML) { + return; // An unexpected error occurred + } - // Post-render - transformer(shadowRoot.children[0], [ - dom => { - setTimeout(() => { - // Scoll to the desired anchor on initial navigation - if (window.location.hash) { - const hash = window.location.hash.slice(1); - shadowRoot?.getElementById(hash)?.scrollIntoView(); - } - }, 200); - return dom; - }, - addLinkClickListener({ - baseUrl: window.location.origin, - onClick: (_: MouseEvent, url: string) => { - const parsedUrl = new URL(url); + // don't manipulate the shadow dom if this isn't the latest effect execution + if (!shouldReplaceContent) { + return; + } - if (parsedUrl.hash) { - navigate(`${parsedUrl.pathname}${parsedUrl.hash}`); + const shadowDiv: HTMLElement = shadowDomRef.current!; + const shadowRoot = + shadowDiv.shadowRoot || shadowDiv.attachShadow({ mode: 'open' }); + Array.from(shadowRoot.children).forEach(child => + shadowRoot.removeChild(child), + ); + shadowRoot.appendChild(transformedElement); - // Scroll to hash if it's on the current page - shadowRoot - ?.getElementById(parsedUrl.hash.slice(1)) - ?.scrollIntoView(); - } else { - navigate(parsedUrl.pathname); - } - }, - }), - onCssReady({ - docStorageUrl: techdocsStorageApi.getApiOrigin(), - onLoading: (dom: Element) => { - (dom as HTMLElement).style.setProperty('opacity', '0'); - }, - onLoaded: (dom: Element) => { - (dom as HTMLElement).style.removeProperty('opacity'); - // disable MkDocs drawer toggling ('for' attribute => checkbox mechanism) - (dom as HTMLElement) - .querySelector('.md-nav__title') - ?.removeAttribute('for'); - const sideDivs: HTMLElement[] = Array.from( - shadowRoot!.querySelectorAll('.md-sidebar'), - ); - setSidebars(sideDivs); - // set sidebar height so they don't initially render in wrong position - const docTopPosition = (dom as HTMLElement).getBoundingClientRect() - .top; - const mdTabs = dom.querySelector('.md-container > .md-tabs'); - sideDivs!.forEach(sidebar => { - sidebar.style.top = mdTabs - ? `${docTopPosition + mdTabs.getBoundingClientRect().height}px` - : `${docTopPosition}px`; - }); - }, - }), - ]); - }, [ - path, - kind, - namespace, - name, - rawPage, - navigate, - onReady, - shadowDomRef, - techdocsStorageApi, - theme.typography.fontFamily, - theme.palette.text.primary, - theme.palette.primary.main, - theme.palette.background.paper, - theme.palette.background.default, - scmIntegrationsApi, - ]); + // Scroll to top after render + window.scroll({ top: 0 }); + + // Post-render + await postRender(shadowRoot); + }); + + // cancel this execution + return () => { + shouldReplaceContent = false; + }; + }, [onReady, path, postRender, preRender, rawPage]); return ( <> @@ -369,6 +411,7 @@ export const Reader = ({ entityId, onReady }: Props) => { variant="outlined" severity="error" action={} + classes={{ message: classes.message }} > Building a newer version of this documentation failed.{' '} {syncErrorMessage} @@ -381,6 +424,7 @@ export const Reader = ({ entityId, onReady }: Props) => { variant="outlined" severity="error" action={} + classes={{ message: classes.message }} > Building a newer version of this documentation failed.{' '} {syncErrorMessage} diff --git a/plugins/techdocs/src/reader/components/useReaderState.test.tsx b/plugins/techdocs/src/reader/components/useReaderState.test.tsx index 9d9a8e2b1a..b0d4e0326a 100644 --- a/plugins/techdocs/src/reader/components/useReaderState.test.tsx +++ b/plugins/techdocs/src/reader/components/useReaderState.test.tsx @@ -86,7 +86,7 @@ describe('useReaderState', () => { }; it('should return a copy of the state', () => { - expect(reducer(oldState, { type: 'navigate', path: '/' })).toEqual({ + expect(reducer(oldState, { type: 'content', path: '/' })).toEqual({ activeSyncState: 'CHECKING', contentLoading: false, path: '/', @@ -102,13 +102,13 @@ describe('useReaderState', () => { }); it.each` - type | oldActiveSyncState | newActiveSyncState - ${'content'} | ${'BUILD_READY'} | ${'UP_TO_DATE'} - ${'content'} | ${'BUILD_READY_RELOAD'} | ${'UP_TO_DATE'} - ${'navigate'} | ${'BUILD_READY'} | ${'UP_TO_DATE'} - ${'navigate'} | ${'BUILD_READY_RELOAD'} | ${'UP_TO_DATE'} - ${'sync'} | ${'BUILD_READY'} | ${undefined} - ${'sync'} | ${'BUILD_READY_RELOAD'} | ${undefined} + type | oldActiveSyncState | newActiveSyncState + ${'contentLoading'} | ${'BUILD_READY'} | ${'UP_TO_DATE'} + ${'contentLoading'} | ${'BUILD_READY_RELOAD'} | ${'UP_TO_DATE'} + ${'content'} | ${'BUILD_READY'} | ${'UP_TO_DATE'} + ${'content'} | ${'BUILD_READY_RELOAD'} | ${'UP_TO_DATE'} + ${'sync'} | ${'BUILD_READY'} | ${undefined /* undefined, because we don't set an input */} + ${'sync'} | ${'BUILD_READY_RELOAD'} | ${undefined /* undefined, because we don't set an input */} `( 'should, when type=$type and activeSyncState=$oldActiveSyncState, set activeSyncState=$newActiveSyncState', ({ type, oldActiveSyncState, newActiveSyncState }) => { @@ -124,18 +124,45 @@ describe('useReaderState', () => { }, ); - describe('"content" action', () => { + describe('"contentLoading" action', () => { it('should set loading', () => { + expect( + reducer(oldState, { + type: 'contentLoading', + }), + ).toEqual({ + ...oldState, + contentLoading: true, + }); + }); + + it('should keep content', () => { expect( reducer( { ...oldState, content: 'some-old-content', + }, + { + type: 'contentLoading', + }, + ), + ).toEqual({ + ...oldState, + contentLoading: true, + content: 'some-old-content', + }); + }); + + it('should reset errors', () => { + expect( + reducer( + { + ...oldState, contentError: new Error(), }, { - type: 'content', - contentLoading: true, + type: 'contentLoading', }, ), ).toEqual({ @@ -143,7 +170,9 @@ describe('useReaderState', () => { contentLoading: true, }); }); + }); + describe('"content" action', () => { it('should set content', () => { expect( reducer( @@ -164,6 +193,27 @@ describe('useReaderState', () => { }); }); + it('should set content and update path', () => { + expect( + reducer( + { + ...oldState, + contentLoading: true, + }, + { + type: 'content', + content: 'asdf', + path: '/new-path', + }, + ), + ).toEqual({ + ...oldState, + contentLoading: false, + content: 'asdf', + path: '/new-path', + }); + }); + it('should set error', () => { expect( reducer( @@ -185,20 +235,6 @@ describe('useReaderState', () => { }); }); - describe('"navigate" action', () => { - it('should work', () => { - expect( - reducer(oldState, { - type: 'navigate', - path: '/', - }), - ).toEqual({ - ...oldState, - path: '/', - }); - }); - }); - describe('"sync" action', () => { it('should update state', () => { expect( @@ -256,6 +292,7 @@ describe('useReaderState', () => { expect(result.current).toEqual({ state: 'CHECKING', + path: '/example', content: undefined, contentErrorMessage: undefined, syncErrorMessage: undefined, @@ -267,6 +304,7 @@ describe('useReaderState', () => { expect(result.current).toEqual({ state: 'CONTENT_FRESH', + path: '/example', content: 'my content', contentErrorMessage: undefined, syncErrorMessage: undefined, @@ -313,6 +351,7 @@ describe('useReaderState', () => { expect(result.current).toEqual({ state: 'CHECKING', + path: '/example', content: undefined, contentErrorMessage: undefined, syncErrorMessage: undefined, @@ -324,6 +363,7 @@ describe('useReaderState', () => { expect(result.current).toEqual({ state: 'INITIAL_BUILD', + path: '/example', content: undefined, contentErrorMessage: 'NotFoundError: Page Not Found', syncErrorMessage: undefined, @@ -335,6 +375,7 @@ describe('useReaderState', () => { expect(result.current).toEqual({ state: 'CHECKING', + path: '/example', content: undefined, contentErrorMessage: undefined, syncErrorMessage: undefined, @@ -346,6 +387,7 @@ describe('useReaderState', () => { expect(result.current).toEqual({ state: 'CONTENT_FRESH', + path: '/example', content: 'my content', contentErrorMessage: undefined, syncErrorMessage: undefined, @@ -394,6 +436,7 @@ describe('useReaderState', () => { expect(result.current).toEqual({ state: 'CHECKING', + path: '/example', content: undefined, contentErrorMessage: undefined, syncErrorMessage: undefined, @@ -405,6 +448,7 @@ describe('useReaderState', () => { await waitForValueToChange(() => result.current.state); expect(result.current).toEqual({ state: 'CONTENT_FRESH', + path: '/example', content: 'my content', contentErrorMessage: undefined, syncErrorMessage: undefined, @@ -416,6 +460,7 @@ describe('useReaderState', () => { await waitForValueToChange(() => result.current.state); expect(result.current).toEqual({ state: 'CONTENT_STALE_REFRESHING', + path: '/example', content: 'my content', contentErrorMessage: undefined, syncErrorMessage: undefined, @@ -427,6 +472,7 @@ describe('useReaderState', () => { await waitForValueToChange(() => result.current.state); expect(result.current).toEqual({ state: 'CONTENT_STALE_READY', + path: '/example', content: 'my content', contentErrorMessage: undefined, syncErrorMessage: undefined, @@ -441,7 +487,8 @@ describe('useReaderState', () => { await waitForValueToChange(() => result.current.state); expect(result.current).toEqual({ state: 'CHECKING', - content: undefined, + path: '/example', + content: 'my content', contentErrorMessage: undefined, syncErrorMessage: undefined, buildLog: [], @@ -452,6 +499,7 @@ describe('useReaderState', () => { await waitForValueToChange(() => result.current.state); expect(result.current).toEqual({ state: 'CONTENT_FRESH', + path: '/example', content: 'my new content', contentErrorMessage: undefined, syncErrorMessage: undefined, @@ -475,6 +523,103 @@ describe('useReaderState', () => { }); }); + it('should handle navigation', async () => { + techdocsStorageApi.getEntityDocs + .mockResolvedValueOnce('my content') + .mockImplementationOnce(async () => { + await new Promise(resolve => setTimeout(resolve, 1100)); + return 'my new content'; + }) + .mockRejectedValueOnce(new NotFoundError('Some error description')); + techdocsStorageApi.syncEntityDocs.mockResolvedValue('cached'); + + await act(async () => { + const { result, waitForValueToChange, rerender } = await renderHook( + ({ path }: { path: string }) => + useReaderState('Component', 'default', 'backstage', path), + { initialProps: { path: '/example' }, wrapper: Wrapper as any }, + ); + + expect(result.current).toEqual({ + state: 'CHECKING', + path: '/example', + content: undefined, + contentErrorMessage: undefined, + syncErrorMessage: undefined, + buildLog: [], + contentReload: expect.any(Function), + }); + + // show the content + await waitForValueToChange(() => result.current.state); + expect(result.current).toEqual({ + state: 'CONTENT_FRESH', + path: '/example', + content: 'my content', + contentErrorMessage: undefined, + syncErrorMessage: undefined, + buildLog: [], + contentReload: expect.any(Function), + }); + + // navigate + rerender({ path: '/new' }); + + await waitForValueToChange(() => result.current.state); + expect(result.current).toEqual({ + state: 'CHECKING', + path: '/example', + content: 'my content', + contentErrorMessage: undefined, + syncErrorMessage: undefined, + buildLog: [], + contentReload: expect.any(Function), + }); + + await waitForValueToChange(() => result.current.state); + expect(result.current).toEqual({ + state: 'CONTENT_FRESH', + path: '/new', + content: 'my new content', + contentErrorMessage: undefined, + syncErrorMessage: undefined, + buildLog: [], + contentReload: expect.any(Function), + }); + + // navigate + rerender({ path: '/missing' }); + + await waitForValueToChange(() => result.current.state); + expect(result.current).toEqual({ + state: 'CONTENT_NOT_FOUND', + path: '/missing', + content: undefined, + contentErrorMessage: 'NotFoundError: Some error description', + syncErrorMessage: undefined, + buildLog: [], + contentReload: expect.any(Function), + }); + + expect(techdocsStorageApi.getEntityDocs).toBeCalledWith( + { kind: 'Component', namespace: 'default', name: 'backstage' }, + '/example', + ); + expect(techdocsStorageApi.getEntityDocs).toBeCalledWith( + { kind: 'Component', namespace: 'default', name: 'backstage' }, + '/new', + ); + expect(techdocsStorageApi.syncEntityDocs).toBeCalledWith( + { + kind: 'Component', + namespace: 'default', + name: 'backstage', + }, + expect.any(Function), + ); + }); + }); + it('should handle content error', async () => { techdocsStorageApi.getEntityDocs.mockRejectedValue( new NotFoundError('Some error description'), @@ -489,6 +634,7 @@ describe('useReaderState', () => { expect(result.current).toEqual({ state: 'CHECKING', + path: '/example', content: undefined, contentErrorMessage: undefined, syncErrorMessage: undefined, @@ -500,6 +646,7 @@ describe('useReaderState', () => { await waitForValueToChange(() => result.current.state); expect(result.current).toEqual({ state: 'CONTENT_NOT_FOUND', + path: '/example', content: undefined, contentErrorMessage: 'NotFoundError: Some error description', syncErrorMessage: undefined, diff --git a/plugins/techdocs/src/reader/components/useReaderState.ts b/plugins/techdocs/src/reader/components/useReaderState.ts index 178c0746bf..07bd338de9 100644 --- a/plugins/techdocs/src/reader/components/useReaderState.ts +++ b/plugins/techdocs/src/reader/components/useReaderState.ts @@ -15,7 +15,7 @@ */ import { useApi } from '@backstage/core-plugin-api'; -import { useEffect, useMemo, useReducer, useRef } from 'react'; +import { useMemo, useReducer, useRef } from 'react'; import { useAsync, useAsyncRetry } from 'react-use'; import { techdocsStorageApiRef } from '../../api'; @@ -131,13 +131,13 @@ type ReducerActions = state: SyncStates; syncError?: Error; } + | { type: 'contentLoading' } | { type: 'content'; + path?: string; content?: string; - contentLoading?: true; contentError?: Error; } - | { type: 'navigate'; path: string } | { type: 'buildLog'; log: string }; type ReducerState = { @@ -186,14 +186,22 @@ export function reducer( newState.syncError = action.syncError; break; - case 'content': - newState.content = action.content; - newState.contentLoading = action.contentLoading ?? false; - newState.contentError = action.contentError; + case 'contentLoading': + newState.contentLoading = true; + + // only reset errors but keep the old content until it is replaced by the 'content' action + newState.contentError = undefined; break; - case 'navigate': - newState.path = action.path; + case 'content': + // only override the path if it is part of the action + if (typeof action.path === 'string') { + newState.path = action.path; + } + + newState.contentLoading = false; + newState.content = action.content; + newState.contentError = action.contentError; break; case 'buildLog': @@ -204,10 +212,10 @@ export function reducer( throw new Error(); } - // a navigation or a content update loads fresh content so the build is updated to being up-to-date + // a content update loads fresh content so the build is updated to being up-to-date if ( ['BUILD_READY', 'BUILD_READY_RELOAD'].includes(newState.activeSyncState) && - ['content', 'navigate'].includes(action.type) + ['contentLoading', 'content'].includes(action.type) ) { newState.activeSyncState = 'UP_TO_DATE'; newState.buildLog = []; @@ -223,6 +231,7 @@ export function useReaderState( path: string, ): { state: ContentStateTypes; + path: string; contentReload: () => void; content?: string; contentErrorMessage?: string; @@ -238,14 +247,9 @@ export function useReaderState( const techdocsStorageApi = useApi(techdocsStorageApiRef); - // convert all path changes into actions - useEffect(() => { - dispatch({ type: 'navigate', path }); - }, [path]); - // try to load the content. the function will fire events and we don't care for the return values const { retry: contentReload } = useAsyncRetry(async () => { - dispatch({ type: 'content', contentLoading: true }); + dispatch({ type: 'contentLoading' }); try { const entityDocs = await techdocsStorageApi.getEntityDocs( @@ -253,11 +257,12 @@ export function useReaderState( path, ); - dispatch({ type: 'content', content: entityDocs }); + // update content and path at the same time + dispatch({ type: 'content', content: entityDocs, path }); return entityDocs; } catch (e) { - dispatch({ type: 'content', contentError: e }); + dispatch({ type: 'content', contentError: e, path }); } return undefined; @@ -335,6 +340,7 @@ export function useReaderState( return { state: displayState, contentReload, + path: state.path, content: state.content, contentErrorMessage: state.contentError?.toString(), syncErrorMessage: state.syncError?.toString(), diff --git a/plugins/techdocs/src/reader/transformers/addBaseUrl.test.ts b/plugins/techdocs/src/reader/transformers/addBaseUrl.test.ts index f04c9963f0..11e8375420 100644 --- a/plugins/techdocs/src/reader/transformers/addBaseUrl.test.ts +++ b/plugins/techdocs/src/reader/transformers/addBaseUrl.test.ts @@ -15,9 +15,9 @@ */ import { waitFor } from '@testing-library/react'; -import { createTestShadowDom } from '../../test-utils'; -import { addBaseUrl } from '../transformers'; import { TechDocsStorageApi } from '../../api'; +import { createTestShadowDom } from '../../test-utils'; +import { addBaseUrl } from './addBaseUrl'; const DOC_STORAGE_URL = 'https://example-host.storage.googleapis.com'; const API_ORIGIN_URL = 'https://backstage.example.com/api/techdocs'; @@ -62,8 +62,8 @@ describe('addBaseUrl', () => { global.fetch = originalFetch; }); - it('contains relative paths', () => { - createTestShadowDom(fixture, { + it('contains relative paths', async () => { + await createTestShadowDom(fixture, { preTransformers: [ addBaseUrl({ techdocsStorageApi, @@ -110,7 +110,7 @@ describe('addBaseUrl', () => { text: jest.fn().mockResolvedValue(svgContent), }); - const root = createTestShadowDom('', { + const root = await createTestShadowDom('', { preTransformers: [ addBaseUrl({ techdocsStorageApi, @@ -137,7 +137,7 @@ describe('addBaseUrl', () => { text: jest.fn().mockResolvedValue(svgContent), }); - const root = createTestShadowDom( + const root = await createTestShadowDom( ``, { preTransformers: [ @@ -162,16 +162,19 @@ describe('addBaseUrl', () => { it('does not inline external svgs', async () => { const expectedSrc = 'https://example.com/test.svg'; - const root = createTestShadowDom(``, { - preTransformers: [ - addBaseUrl({ - techdocsStorageApi, - entityId: mockEntityId, - path: '', - }), - ], - postTransformers: [], - }); + const root = await createTestShadowDom( + ``, + { + preTransformers: [ + addBaseUrl({ + techdocsStorageApi, + entityId: mockEntityId, + path: '', + }), + ], + postTransformers: [], + }, + ); await new Promise(done => { process.nextTick(() => { diff --git a/plugins/techdocs/src/reader/transformers/addBaseUrl.ts b/plugins/techdocs/src/reader/transformers/addBaseUrl.ts index f21cb8c47a..8f08ec83a6 100644 --- a/plugins/techdocs/src/reader/transformers/addBaseUrl.ts +++ b/plugins/techdocs/src/reader/transformers/addBaseUrl.ts @@ -14,8 +14,8 @@ * limitations under the License. */ import { EntityName } from '@backstage/catalog-model'; -import type { Transformer } from './transformer'; import { TechDocsStorageApi } from '../../api'; +import type { Transformer } from './transformer'; type AddBaseUrlOptions = { techdocsStorageApi: TechDocsStorageApi; @@ -44,14 +44,15 @@ export const addBaseUrl = ({ entityId, path, }: AddBaseUrlOptions): Transformer => { - return dom => { - const updateDom = ( + return async dom => { + const apiOrigin = await techdocsStorageApi.getApiOrigin(); + + const updateDom = async ( list: HTMLCollectionOf | NodeListOf, attributeName: string, - ): void => { - Array.from(list) - .filter(elem => !!elem.getAttribute(attributeName)) - .forEach(async (elem: T) => { + ) => { + for (const elem of list) { + if (elem.hasAttribute(attributeName)) { const elemAttribute = elem.getAttribute(attributeName); if (!elemAttribute) return; @@ -61,7 +62,7 @@ export const addBaseUrl = ({ entityId, path, ); - const apiOrigin = await techdocsStorageApi.getApiOrigin(); + if (isSvgNeedingInlining(attributeName, elemAttribute, apiOrigin)) { try { const svg = await fetch(newValue, { credentials: 'include' }); @@ -76,13 +77,16 @@ export const addBaseUrl = ({ } else { elem.setAttribute(attributeName, newValue); } - }); + } + } }; - updateDom(dom.querySelectorAll('img'), 'src'); - updateDom(dom.querySelectorAll('script'), 'src'); - updateDom(dom.querySelectorAll('link'), 'href'); - updateDom(dom.querySelectorAll('a[download]'), 'href'); + await Promise.all([ + updateDom(dom.querySelectorAll('img'), 'src'), + updateDom(dom.querySelectorAll('script'), 'src'), + updateDom(dom.querySelectorAll('link'), 'href'), + updateDom(dom.querySelectorAll('a[download]'), 'href'), + ]); return dom; }; diff --git a/plugins/techdocs/src/reader/transformers/addGitFeedbackLink.test.ts b/plugins/techdocs/src/reader/transformers/addGitFeedbackLink.test.ts index 2165afac98..0b8e431781 100644 --- a/plugins/techdocs/src/reader/transformers/addGitFeedbackLink.test.ts +++ b/plugins/techdocs/src/reader/transformers/addGitFeedbackLink.test.ts @@ -28,8 +28,8 @@ const integrations = ScmIntegrations.fromConfig( ); describe('addGitFeedbackLink', () => { - it('adds a feedback link when a Gitlab source edit link is available', () => { - const shadowDom = createTestShadowDom( + it('adds a feedback link when a Gitlab source edit link is available', async () => { + const shadowDom = await createTestShadowDom( ` @@ -53,8 +53,8 @@ describe('addGitFeedbackLink', () => { ); }); - it('adds a feedback link when a Github source edit link is available', () => { - const shadowDom = createTestShadowDom( + it('adds a feedback link when a Github source edit link is available', async () => { + const shadowDom = await createTestShadowDom( ` @@ -78,8 +78,8 @@ describe('addGitFeedbackLink', () => { ); }); - it('does not add a feedback link when no source edit link is available', () => { - const shadowDom = createTestShadowDom( + it('does not add a feedback link when no source edit link is available', async () => { + const shadowDom = await createTestShadowDom( ` @@ -97,8 +97,8 @@ describe('addGitFeedbackLink', () => { expect(shadowDom.querySelector('#git-feedback-link')).toBeFalsy(); }); - it('does not add a feedback link when a Gitlab or Github source edit link is not available', () => { - const shadowDom = createTestShadowDom( + it('does not add a feedback link when a Gitlab or Github source edit link is not available', async () => { + const shadowDom = await createTestShadowDom( ` @@ -117,8 +117,8 @@ describe('addGitFeedbackLink', () => { expect(shadowDom.querySelector('#git-feedback-link')).toBeFalsy(); }); - it('adds a feedback link when a Gitlab or Github source edit link is not available but hostname matches an integrations host', () => { - const shadowDom = createTestShadowDom( + it('adds a feedback link when a Gitlab or Github source edit link is not available but hostname matches an integrations host', async () => { + const shadowDom = await createTestShadowDom( ` diff --git a/plugins/techdocs/src/reader/transformers/addLinkClickListener.test.ts b/plugins/techdocs/src/reader/transformers/addLinkClickListener.test.ts index 2d2d54a31c..fe3a6e557c 100644 --- a/plugins/techdocs/src/reader/transformers/addLinkClickListener.test.ts +++ b/plugins/techdocs/src/reader/transformers/addLinkClickListener.test.ts @@ -18,9 +18,9 @@ import { createTestShadowDom } from '../../test-utils'; import { addLinkClickListener } from './addLinkClickListener'; describe('addLinkClickListener', () => { - it('calls onClick when a link has been clicked', () => { + it('calls onClick when a link has been clicked', async () => { const fn = jest.fn(); - const shadowDom = createTestShadowDom( + const shadowDom = await createTestShadowDom( ` @@ -45,9 +45,9 @@ describe('addLinkClickListener', () => { expect(fn).toHaveBeenCalledTimes(1); }); - it('does not call onClick when a link links to another baseUrl', () => { + it('does not call onClick when a link links to another baseUrl', async () => { const fn = jest.fn(); - const shadowDom = createTestShadowDom( + const shadowDom = await createTestShadowDom( ` diff --git a/plugins/techdocs/src/reader/transformers/index.test.ts b/plugins/techdocs/src/reader/transformers/index.test.ts index 30607aedcd..16b42266df 100644 --- a/plugins/techdocs/src/reader/transformers/index.test.ts +++ b/plugins/techdocs/src/reader/transformers/index.test.ts @@ -17,14 +17,14 @@ import { Transformer, transform } from './transformer'; describe('transform', () => { - it('calls the transformers', () => { + it('calls the transformers', async () => { const fn = jest.fn(); const mockTransformer = (): Transformer => (dom: Element) => { fn(dom); return dom; }; - transform('', [mockTransformer()]); + await transform('', [mockTransformer()]); expect(fn).toHaveBeenCalledTimes(1); expect(fn).toHaveBeenCalledWith(expect.any(Element)); diff --git a/plugins/techdocs/src/reader/transformers/injectCss.test.ts b/plugins/techdocs/src/reader/transformers/injectCss.test.ts index 368d077b43..6d0eb8daa9 100644 --- a/plugins/techdocs/src/reader/transformers/injectCss.test.ts +++ b/plugins/techdocs/src/reader/transformers/injectCss.test.ts @@ -15,10 +15,10 @@ */ import { createTestShadowDom } from '../../test-utils'; -import { injectCss } from '../transformers'; +import { injectCss } from './injectCss'; describe('injectCss', () => { - it('should inject style with passed css in head', () => { + it('should inject style with passed css in head', async () => { const html = ` @@ -27,7 +27,7 @@ describe('injectCss', () => { `; const injectedCss = '* {background-color: #fff}'; - const shadowDom = createTestShadowDom(html, { + const shadowDom = await createTestShadowDom(html, { preTransformers: [injectCss({ css: injectedCss })], postTransformers: [], }); diff --git a/plugins/techdocs/src/reader/transformers/onCssReady.test.ts b/plugins/techdocs/src/reader/transformers/onCssReady.test.ts index 3174e23f5c..b2a5aa9760 100644 --- a/plugins/techdocs/src/reader/transformers/onCssReady.test.ts +++ b/plugins/techdocs/src/reader/transformers/onCssReady.test.ts @@ -15,16 +15,15 @@ */ import { - createTestShadowDom, - mockStylesheetEventListener, - executeStylesheetEventListeners, clearStylesheetEventListeners, + createTestShadowDom, + executeStylesheetEventListeners, + mockStylesheetEventListener, } from '../../test-utils'; -import { onCssReady } from '../transformers'; +import { onCssReady } from './onCssReady'; -const docStorageUrl: Promise = Promise.resolve( - 'https://techdocs-mock-sites.storage.googleapis.com', -); +const docStorageUrl: string = + 'https://techdocs-mock-sites.storage.googleapis.com'; const fixture = ` @@ -48,11 +47,11 @@ describe('onCssReady', () => { clearStylesheetEventListeners(); }); - it('does not call onLoading and onLoaded without the onCssReady transformer', () => { + it('does not call onLoading and onLoaded without the onCssReady transformer', async () => { const onLoading = jest.fn(); const onLoaded = jest.fn(); - createTestShadowDom(fixture, { + await createTestShadowDom(fixture, { preTransformers: [], postTransformers: [], }); @@ -62,11 +61,11 @@ describe('onCssReady', () => { expect(onLoaded).not.toHaveBeenCalled(); }); - it('calls the onLoading and onLoaded correctly', () => { + it('calls the onLoading and onLoaded correctly', async () => { const onLoading = jest.fn(); const onLoaded = jest.fn(); - createTestShadowDom(fixture, { + await createTestShadowDom(fixture, { preTransformers: [], postTransformers: [ onCssReady({ diff --git a/plugins/techdocs/src/reader/transformers/onCssReady.ts b/plugins/techdocs/src/reader/transformers/onCssReady.ts index 936c4306a7..e9406ba632 100644 --- a/plugins/techdocs/src/reader/transformers/onCssReady.ts +++ b/plugins/techdocs/src/reader/transformers/onCssReady.ts @@ -17,7 +17,7 @@ import type { Transformer } from './transformer'; type OnCssReadyOptions = { - docStorageUrl: Promise; + docStorageUrl: string; onLoading: (dom: Element) => void; onLoaded: (dom: Element) => void; }; @@ -30,9 +30,7 @@ export const onCssReady = ({ return dom => { const cssPages = Array.from( dom.querySelectorAll('head > link[rel="stylesheet"]'), - ).filter(async elem => - elem.getAttribute('href')?.startsWith(await docStorageUrl), - ); + ).filter(elem => elem.getAttribute('href')?.startsWith(docStorageUrl)); let count = cssPages.length; diff --git a/plugins/techdocs/src/reader/transformers/removeMkdocsHeader.test.ts b/plugins/techdocs/src/reader/transformers/removeMkdocsHeader.test.ts index 70d6b2fa4a..60f0b9ca30 100644 --- a/plugins/techdocs/src/reader/transformers/removeMkdocsHeader.test.ts +++ b/plugins/techdocs/src/reader/transformers/removeMkdocsHeader.test.ts @@ -18,20 +18,26 @@ import { createTestShadowDom, FIXTURES } from '../../test-utils'; import { removeMkdocsHeader } from '../transformers'; describe('removeMkdocsHeader', () => { - it('does not remove mkdocs header', () => { - const shadowDom = createTestShadowDom(FIXTURES.FIXTURE_STANDARD_PAGE, { - preTransformers: [], - postTransformers: [], - }); + it('does not remove mkdocs header', async () => { + const shadowDom = await createTestShadowDom( + FIXTURES.FIXTURE_STANDARD_PAGE, + { + preTransformers: [], + postTransformers: [], + }, + ); expect(shadowDom.querySelector('.md-header')).toBeTruthy(); }); - it('does remove mkdocs header', () => { - const shadowDom = createTestShadowDom(FIXTURES.FIXTURE_STANDARD_PAGE, { - preTransformers: [removeMkdocsHeader()], - postTransformers: [], - }); + it('does remove mkdocs header', async () => { + const shadowDom = await createTestShadowDom( + FIXTURES.FIXTURE_STANDARD_PAGE, + { + preTransformers: [removeMkdocsHeader()], + postTransformers: [], + }, + ); expect(shadowDom.querySelector('.md-header')).toBeFalsy(); }); diff --git a/plugins/techdocs/src/reader/transformers/rewriteDocLinks.test.ts b/plugins/techdocs/src/reader/transformers/rewriteDocLinks.test.ts index 62b80cd514..66fc5f29c1 100644 --- a/plugins/techdocs/src/reader/transformers/rewriteDocLinks.test.ts +++ b/plugins/techdocs/src/reader/transformers/rewriteDocLinks.test.ts @@ -19,8 +19,8 @@ import { rewriteDocLinks } from '../transformers'; import { normalizeUrl } from './rewriteDocLinks'; describe('rewriteDocLinks', () => { - it('should not do anything', () => { - const shadowDom = createTestShadowDom(` + it('should not do anything', async () => { + const shadowDom = await createTestShadowDom(` Test Test Test @@ -35,8 +35,8 @@ describe('rewriteDocLinks', () => { ]); }); - it('should transform a href with localhost as baseUrl', () => { - const shadowDom = createTestShadowDom( + it('should transform a href with localhost as baseUrl', async () => { + const shadowDom = await createTestShadowDom( ` Test Test @@ -57,9 +57,9 @@ describe('rewriteDocLinks', () => { ]); }); - it('should rewrite non-parseable URLs as text', () => { + it('should rewrite non-parseable URLs as text', async () => { const expectedText = `www.my-internet.[top-level-domain]/pathname/[URLkey]`; - const shadowDom = createTestShadowDom( + const shadowDom = await createTestShadowDom( `${expectedText}`, { preTransformers: [rewriteDocLinks()], diff --git a/plugins/techdocs/src/reader/transformers/sanitizeDOM/index.test.ts b/plugins/techdocs/src/reader/transformers/sanitizeDOM/index.test.ts index 8456cf7c23..6296793e2a 100644 --- a/plugins/techdocs/src/reader/transformers/sanitizeDOM/index.test.ts +++ b/plugins/techdocs/src/reader/transformers/sanitizeDOM/index.test.ts @@ -16,7 +16,7 @@ import { createTestShadowDom, FIXTURES } from '../../../test-utils'; import { Transformer } from '../index'; -import { sanitizeDOM } from '../sanitizeDOM'; +import { sanitizeDOM } from './index'; const injectMaliciousLink = (): Transformer => dom => { const link = document.createElement('a'); @@ -27,55 +27,64 @@ const injectMaliciousLink = (): Transformer => dom => { }; describe('sanitizeDOM', () => { - it('contains a script tag', () => { - const shadowDom = createTestShadowDom(FIXTURES.FIXTURE_STANDARD_PAGE); + it('contains a script tag', async () => { + const shadowDom = await createTestShadowDom(FIXTURES.FIXTURE_STANDARD_PAGE); expect(shadowDom.querySelectorAll('script').length).toBeGreaterThan(0); }); - it('does not contain a script tag', () => { - const shadowDom = createTestShadowDom(FIXTURES.FIXTURE_STANDARD_PAGE, { - preTransformers: [sanitizeDOM()], - postTransformers: [], - }); + it('does not contain a script tag', async () => { + const shadowDom = await createTestShadowDom( + FIXTURES.FIXTURE_STANDARD_PAGE, + { + preTransformers: [sanitizeDOM()], + postTransformers: [], + }, + ); expect(shadowDom.querySelectorAll('script').length).toBe(0); }); - it('contains link with a onClick attribute', () => { - const shadowDom = createTestShadowDom(FIXTURES.FIXTURE_STANDARD_PAGE, { - preTransformers: [injectMaliciousLink()], - postTransformers: [], - }); + it('contains link with a onClick attribute', async () => { + const shadowDom = await createTestShadowDom( + FIXTURES.FIXTURE_STANDARD_PAGE, + { + preTransformers: [injectMaliciousLink()], + postTransformers: [], + }, + ); expect( shadowDom.querySelector('#test-malicious-link')?.hasAttribute('onclick'), ).toBeTruthy(); }); - it('does not contain link with a onClick attribute', () => { - const shadowDom = createTestShadowDom(FIXTURES.FIXTURE_STANDARD_PAGE, { - preTransformers: [sanitizeDOM()], - postTransformers: [], - }); + it('does not contain link with a onClick attribute', async () => { + const shadowDom = await createTestShadowDom( + FIXTURES.FIXTURE_STANDARD_PAGE, + { + preTransformers: [sanitizeDOM()], + postTransformers: [], + }, + ); expect( shadowDom.querySelector('#test-malicious-link')?.hasAttribute('onclick'), ).toBeFalsy(); }); - it('removes style tags', () => { + it('removes style tags', async () => { const html = ` - `; - const shadowDom = createTestShadowDom(html, { + const shadowDom = await createTestShadowDom(html, { preTransformers: [sanitizeDOM()], postTransformers: [], }); @@ -83,7 +92,7 @@ describe('sanitizeDOM', () => { expect(shadowDom.querySelectorAll('style').length).toEqual(0); }); - it('does not remove link tags', () => { + it('does not remove link tags', async () => { const html = ` @@ -94,7 +103,7 @@ describe('sanitizeDOM', () => { `; - const shadowDom = createTestShadowDom(html, { + const shadowDom = await createTestShadowDom(html, { preTransformers: [sanitizeDOM()], postTransformers: [], }); diff --git a/plugins/techdocs/src/reader/transformers/simplifyMkdocsFooter.test.ts b/plugins/techdocs/src/reader/transformers/simplifyMkdocsFooter.test.ts index dbc3761e80..020befd522 100644 --- a/plugins/techdocs/src/reader/transformers/simplifyMkdocsFooter.test.ts +++ b/plugins/techdocs/src/reader/transformers/simplifyMkdocsFooter.test.ts @@ -18,20 +18,26 @@ import { createTestShadowDom, FIXTURES } from '../../test-utils'; import { simplifyMkdocsFooter } from './simplifyMkdocsFooter'; describe('simplifyMkdocsFooter', () => { - it('does not remove mkdocs copyright', () => { - const shadowDom = createTestShadowDom(FIXTURES.FIXTURE_STANDARD_PAGE, { - preTransformers: [], - postTransformers: [], - }); + it('does not remove mkdocs copyright', async () => { + const shadowDom = await createTestShadowDom( + FIXTURES.FIXTURE_STANDARD_PAGE, + { + preTransformers: [], + postTransformers: [], + }, + ); expect(shadowDom.querySelector('.md-footer-copyright')).toBeTruthy(); }); - it('does remove mkdocs copyright', () => { - const shadowDom = createTestShadowDom(FIXTURES.FIXTURE_STANDARD_PAGE, { - preTransformers: [simplifyMkdocsFooter()], - postTransformers: [], - }); + it('does remove mkdocs copyright', async () => { + const shadowDom = await createTestShadowDom( + FIXTURES.FIXTURE_STANDARD_PAGE, + { + preTransformers: [simplifyMkdocsFooter()], + postTransformers: [], + }, + ); expect(shadowDom.querySelector('.md-footer-copyright')).toBeFalsy(); }); diff --git a/plugins/techdocs/src/reader/transformers/transformer.ts b/plugins/techdocs/src/reader/transformers/transformer.ts index 7b440befbf..fc52f42b5c 100644 --- a/plugins/techdocs/src/reader/transformers/transformer.ts +++ b/plugins/techdocs/src/reader/transformers/transformer.ts @@ -14,12 +14,12 @@ * limitations under the License. */ -export type Transformer = (dom: Element) => Element; +export type Transformer = (dom: Element) => Element | Promise; -export const transform = ( +export const transform = async ( html: string | Element, transformers: Transformer[], -): Element => { +): Promise => { let dom: Element; if (typeof html === 'string') { @@ -30,9 +30,9 @@ export const transform = ( throw new Error('dom is not a recognized type'); } - transformers.forEach(transformer => { - dom = transformer(dom); - }); + for (const transformer of transformers) { + dom = await transformer(dom); + } return dom; }; diff --git a/plugins/techdocs/src/test-utils/shadowDom.ts b/plugins/techdocs/src/test-utils/shadowDom.ts index 61055a87bd..f8289bf6d9 100644 --- a/plugins/techdocs/src/test-utils/shadowDom.ts +++ b/plugins/techdocs/src/test-utils/shadowDom.ts @@ -22,13 +22,13 @@ export type CreateTestShadowDomOptions = { postTransformers: Transformer[]; }; -export const createTestShadowDom = ( +export const createTestShadowDom = async ( fixture: string, opts: CreateTestShadowDomOptions = { preTransformers: [], postTransformers: [], }, -): ShadowRoot => { +): Promise => { const divElement = document.createElement('div'); divElement.attachShadow({ mode: 'open' }); document.body.appendChild(divElement); @@ -39,7 +39,7 @@ export const createTestShadowDom = ( 'text/html', ).documentElement; if (opts.preTransformers) { - dom = transformer(dom, opts.preTransformers); + dom = await transformer(dom, opts.preTransformers); } // Mount the UI @@ -47,7 +47,7 @@ export const createTestShadowDom = ( // Transformers after the UI is rendered if (opts.postTransformers) { - transformer(dom, opts.postTransformers); + await transformer(dom, opts.postTransformers); } return divElement.shadowRoot!; diff --git a/plugins/todo/package.json b/plugins/todo/package.json index cac45bcd0a..ece2509882 100644 --- a/plugins/todo/package.json +++ b/plugins/todo/package.json @@ -27,7 +27,7 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/errors": "^0.1.1", "@backstage/plugin-catalog-react": "^0.3.0", @@ -40,10 +40,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/user-settings/CHANGELOG.md b/plugins/user-settings/CHANGELOG.md index 0a4194cc29..94324eed10 100644 --- a/plugins/user-settings/CHANGELOG.md +++ b/plugins/user-settings/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-user-settings +## 0.3.1 + +### Patch Changes + +- b5953c1df: Aligns switch left and allows clicking on rows +- Updated dependencies + - @backstage/core-components@0.1.6 + ## 0.3.0 ### Minor Changes diff --git a/plugins/user-settings/package.json b/plugins/user-settings/package.json index 8a6480182e..7a450a188e 100644 --- a/plugins/user-settings/package.json +++ b/plugins/user-settings/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-user-settings", - "version": "0.3.0", + "version": "0.3.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -30,7 +30,7 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/theme": "^0.2.8", "@material-ui/core": "^4.11.0", @@ -42,11 +42,11 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", "@backstage/core-plugin-api": "^0.1.3", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/user-settings/src/components/FeatureFlags/FeatureFlagsItem.tsx b/plugins/user-settings/src/components/FeatureFlags/FeatureFlagsItem.tsx index 62861d99a9..e97b33cd92 100644 --- a/plugins/user-settings/src/components/FeatureFlags/FeatureFlagsItem.tsx +++ b/plugins/user-settings/src/components/FeatureFlags/FeatureFlagsItem.tsx @@ -17,8 +17,8 @@ import React from 'react'; import { ListItem, - ListItemSecondaryAction, ListItemText, + ListItemIcon, Switch, Tooltip, } from '@material-ui/core'; @@ -31,20 +31,15 @@ type Props = { }; export const FlagItem = ({ flag, enabled, toggleHandler }: Props) => ( - + toggleHandler(flag.name)}> + + + + + - - - toggleHandler(flag.name)} - name={flag.name} - /> - - ); diff --git a/plugins/welcome/package.json b/plugins/welcome/package.json index 50ab900e7f..68cb992e40 100644 --- a/plugins/welcome/package.json +++ b/plugins/welcome/package.json @@ -30,7 +30,7 @@ "start": "backstage-cli plugin:serve" }, "dependencies": { - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/theme": "^0.2.8", "@material-ui/core": "^4.11.0", @@ -42,10 +42,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/xcmetrics/package.json b/plugins/xcmetrics/package.json index 07275dbba7..b939c3e5bf 100644 --- a/plugins/xcmetrics/package.json +++ b/plugins/xcmetrics/package.json @@ -20,7 +20,7 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-components": "^0.1.5", + "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/errors": "^0.1.1", "@backstage/theme": "^0.2.8", @@ -33,10 +33,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.2", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.5", + "@backstage/core-app-api": "^0.1.5", + "@backstage/dev-utils": "^0.2.3", + "@backstage/test-utils": "^0.1.15", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/yarn.lock b/yarn.lock index 8cd71b039e..949f9c5729 100644 --- a/yarn.lock +++ b/yarn.lock @@ -129,6 +129,26 @@ "@azure/abort-controller" "^1.0.0" tslib "^2.0.0" +"@azure/core-auth@^1.3.0": + version "1.3.2" + resolved "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.3.2.tgz#6a2c248576c26df365f6c7881ca04b7f6d08e3d0" + integrity sha512-7CU6DmCHIZp5ZPiZ9r3J17lTKMmYsm/zGvNkjArQwPkrLlZ1TZ+EUYfGgh2X31OLMVAQCTJZW4cXHJi02EbJnA== + dependencies: + "@azure/abort-controller" "^1.0.0" + tslib "^2.2.0" + +"@azure/core-client@^1.0.0": + version "1.2.2" + resolved "https://registry.npmjs.org/@azure/core-client/-/core-client-1.2.2.tgz#29c781e5ccd4da968cea89d3b909ab573a3a7bec" + integrity sha512-VYFR2qiczjBrSfpQSbo5s8FJhXaJFz2tP01MOrpNJaOqnSNEKcY35I79b1Ty7s8qHGvc5/YMJ745l3B7abncFQ== + dependencies: + "@azure/abort-controller" "^1.0.0" + "@azure/core-asynciterator-polyfill" "^1.0.0" + "@azure/core-auth" "^1.3.0" + "@azure/core-rest-pipeline" "^1.1.0" + "@azure/core-tracing" "1.0.0-preview.12" + tslib "^2.2.0" + "@azure/core-http@^1.2.0": version "1.2.2" resolved "https://registry.npmjs.org/@azure/core-http/-/core-http-1.2.2.tgz#a6f7717184fd2657d3acabd1d64dfdc0bd531ce3" @@ -167,6 +187,38 @@ dependencies: "@azure/core-asynciterator-polyfill" "^1.0.0" +"@azure/core-rest-pipeline@^1.1.0": + version "1.1.1" + resolved "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.1.1.tgz#53b4278f5c417c3da9f133511064375362b68a12" + integrity sha512-ObF8iTEDXIG7/NlL28ni9bR3XLJwgm2S3GWO4aNW6CsTCFVoY9HMdbBtN7xOB+pUQwifehifXNnootbzzuwJnw== + dependencies: + "@azure/abort-controller" "^1.0.0" + "@azure/core-auth" "^1.3.0" + "@azure/core-tracing" "1.0.0-preview.12" + "@azure/logger" "^1.0.0" + form-data "^3.0.0" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + tslib "^2.2.0" + uuid "^8.3.0" + +"@azure/core-tracing@1.0.0-preview.10": + version "1.0.0-preview.10" + resolved "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.0.0-preview.10.tgz#e7060272145dddad4486765030d1b037cd52a8ea" + integrity sha512-iIwjtMwQnsxB7cYkugMx+s4W1nfy3+pT/ceo+uW1fv4YDgYe84nh+QP0fEC9IH/3UATLSWbIBemdMHzk2APUrw== + dependencies: + "@opencensus/web-types" "0.0.7" + "@opentelemetry/api" "^0.10.2" + tslib "^2.0.0" + +"@azure/core-tracing@1.0.0-preview.12": + version "1.0.0-preview.12" + resolved "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.0.0-preview.12.tgz#f53ff452c0742ad981c244f97d93d37ca2b5e139" + integrity sha512-nvo2Wc4EKZGN6eFu9n3U7OXmASmL8VxoPIH7xaD6OlQqi44bouF0YIi9ID5rEsKLiAU59IYx6M297nqWVMWPDg== + dependencies: + "@opentelemetry/api" "^1.0.0" + tslib "^2.2.0" + "@azure/core-tracing@1.0.0-preview.9": version "1.0.0-preview.9" resolved "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.0.0-preview.9.tgz#84f3b85572013f9d9b85e1e5d89787aa180787eb" @@ -176,26 +228,29 @@ "@opentelemetry/api" "^0.10.2" tslib "^2.0.0" -"@azure/identity@^1.2.2": - version "1.2.2" - resolved "https://registry.npmjs.org/@azure/identity/-/identity-1.2.2.tgz#00d673c8881778c55777fcc76e822b42466d3fc7" - integrity sha512-aYkeNXl52aEHW1iOZQJb3SC7Vvbu87f01iNT+pSVHwj09LpN9+gP/Lb9uoWy36Fgv9WlukM55LbjLSbb1Renqw== +"@azure/identity@^1.5.0": + version "1.5.0" + resolved "https://registry.npmjs.org/@azure/identity/-/identity-1.5.0.tgz#0ac832b95adaac00b4718d92b43b2c9c5ab42d2d" + integrity sha512-djgywuWtX6720seqNOPmGM1hY54oHnjRT0MLIOzacMARTZuEtAIaFFvMPBlUIMQdtSGhdjH+/MS1/9PE8j83eA== dependencies: - "@azure/core-http" "^1.2.0" - "@azure/core-tracing" "1.0.0-preview.9" + "@azure/core-auth" "^1.3.0" + "@azure/core-client" "^1.0.0" + "@azure/core-rest-pipeline" "^1.1.0" + "@azure/core-tracing" "1.0.0-preview.12" "@azure/logger" "^1.0.0" - "@azure/msal-node" "1.0.0-beta.3" - "@opentelemetry/api" "^0.10.2" + "@azure/msal-node" "1.0.0-beta.6" + "@types/stoppable" "^1.1.0" axios "^0.21.1" events "^3.0.0" jws "^4.0.0" msal "^1.0.2" open "^7.0.0" qs "^6.7.0" + stoppable "^1.1.0" tslib "^2.0.0" uuid "^8.3.0" optionalDependencies: - keytar "^5.4.0" + keytar "^7.3.0" "@azure/logger@^1.0.0": version "1.0.1" @@ -204,50 +259,43 @@ dependencies: tslib "^2.0.0" -"@azure/msal-common@^2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@azure/msal-common/-/msal-common-2.1.0.tgz#a4bc17e254d6ec524016f13267947dd4ff4a624d" - integrity sha512-Y1Id+jG59S3eY2ZQQtUA/lxwbRcgjcWaiib9YX+SwV3zeRauKfEiZT7l3z+lwV+T+Sst20F6l1mJsfQcfE7CEQ== +"@azure/msal-common@^4.0.0", "@azure/msal-common@^4.4.0": + version "4.4.0" + resolved "https://registry.npmjs.org/@azure/msal-common/-/msal-common-4.4.0.tgz#818526042f78838ebc332fb735e7de64d8bccb45" + integrity sha512-Qrs33Ctt2KM7NxArFPIUKc8UbIcm7zYxJFdJeQ9k7HKBhVk3e88CUz1Mw33cS/Jr+YA1H02OAzHg++bJ+4SFyQ== dependencies: debug "^4.1.1" -"@azure/msal-common@^4.3.0": - version "4.3.0" - resolved "https://registry.npmjs.org/@azure/msal-common/-/msal-common-4.3.0.tgz#b540e92748656724088bf77192e59943a93135bc" - integrity sha512-jFqUWe83wVb6O8cNGGBFg2QlKvqM1ezUgJTEV7kIsAPX0RXhGFE4B1DLNt6hCnkTXDbw+KGW0zgxOEr4MJQwLw== +"@azure/msal-node@1.0.0-beta.6": + version "1.0.0-beta.6" + resolved "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.0.0-beta.6.tgz#da6bc3a3a861057c85586055960e069f162548ee" + integrity sha512-ZQI11Uz1j0HJohb9JZLRD8z0moVcPks1AFW4Q/Gcl67+QvH4aKEJti7fjCcipEEZYb/qzLSO8U6IZgPYytsiJQ== dependencies: - debug "^4.1.1" - -"@azure/msal-node@1.0.0-beta.3": - version "1.0.0-beta.3" - resolved "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.0.0-beta.3.tgz#c84c7948028b39e48b901f5fac35bdedcbc8772e" - integrity sha512-/KfYRfrsOIrZONvo/0Vi5umuqbPBtCWNtmRvkse64uI0C4CP/W4WXwRD42VMws/8LtKvr1I5rYlYgFzt5zDz/A== - dependencies: - "@azure/msal-common" "^2.1.0" + "@azure/msal-common" "^4.0.0" axios "^0.21.1" jsonwebtoken "^8.5.1" uuid "^8.3.0" "@azure/msal-node@^1.1.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.1.0.tgz#e472cfadead169f8832066ae6c2d6b8eef4e89e4" - integrity sha512-gMO9aZdWOzufp1PcdD5ID25DdS9eInxgeCqx4Tk8PVU6Z7RxJQhoMzS64cJhGdpYgeIQwKljtF0CLCcPFxew/w== + version "1.2.0" + resolved "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.2.0.tgz#d08a5fb3391436715cb37c6eb44816013bdfa11e" + integrity sha512-79o5n483vslc7Qegh9+0BsxODRmlk6YYjVdl9jvwmAuF+i+oylq57e7RVhTVocKCbLCIMOKARI14JyKdDbW0WA== dependencies: - "@azure/msal-common" "^4.3.0" + "@azure/msal-common" "^4.4.0" axios "^0.21.1" jsonwebtoken "^8.5.1" uuid "^8.3.0" -"@azure/storage-blob@^12.4.0": - version "12.4.0" - resolved "https://registry.npmjs.org/@azure/storage-blob/-/storage-blob-12.4.0.tgz#7127ddd9f413105e2c3688691bc4c6245d0806b3" - integrity sha512-OnhVSoKD1HzBB79/rFzPbC4w9TdzFXeoOwkX+aIu3rb8qvN0VaqvUqZXSrBCyG2LcLyVkY4MPCJQBrmEUm9kvw== +"@azure/storage-blob@^12.5.0": + version "12.5.0" + resolved "https://registry.npmjs.org/@azure/storage-blob/-/storage-blob-12.5.0.tgz#1ddd8837d9a15ebe355e795375d13b406f2cb496" + integrity sha512-DgoefgODst2IPkkQsNdhtYdyJgSsAZC1pEujO6aD5y7uFy5GnzhYliobSrp204jYRyK5XeJ9iiePmy/SPtTbLA== dependencies: "@azure/abort-controller" "^1.0.0" "@azure/core-http" "^1.2.0" "@azure/core-lro" "^1.0.2" "@azure/core-paging" "^1.1.1" - "@azure/core-tracing" "1.0.0-preview.9" + "@azure/core-tracing" "1.0.0-preview.10" "@azure/logger" "^1.0.0" "@opentelemetry/api" "^0.10.2" events "^3.0.0" @@ -3900,6 +3948,11 @@ dependencies: "@opentelemetry/context-base" "^0.10.2" +"@opentelemetry/api@^1.0.0": + version "1.0.1" + resolved "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.1.tgz#03c72f548431da5820a0c8864d1401e348e7e79f" + integrity sha512-H5Djcc2txGAINgf3TNaq4yFofYSIK3722PM89S/3R8FuI/eqi1UscajlXk7EBkG9s2pxss/q6SHlpturaavXaw== + "@opentelemetry/context-base@^0.10.2": version "0.10.2" resolved "https://registry.npmjs.org/@opentelemetry/context-base/-/context-base-0.10.2.tgz#55bea904b2b91aa8a8675df9eaba5961bddb1def" @@ -4228,6 +4281,13 @@ resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-4.0.0.tgz#2ff674e9611b45b528896d820d3d7a812de2f0e4" integrity sha512-FyD2meJpDPjyNQejSjvnhpgI/azsQkA4lGbuu5BQZfjvJ9cbRZXzeWL2HceCekW4lixO9JPesIIQkSoLjeJHNQ== +"@sinonjs/commons@^1.6.0", "@sinonjs/commons@^1.8.3": + version "1.8.3" + resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" + integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== + dependencies: + type-detect "4.0.8" + "@sinonjs/commons@^1.7.0": version "1.7.1" resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.7.1.tgz#da5fd19a5f71177a53778073978873964f49acf1" @@ -4242,6 +4302,27 @@ dependencies: "@sinonjs/commons" "^1.7.0" +"@sinonjs/fake-timers@^7.0.4", "@sinonjs/fake-timers@^7.1.0": + version "7.1.2" + resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz#2524eae70c4910edccf99b2f4e6efc5894aff7b5" + integrity sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@sinonjs/samsam@^6.0.2": + version "6.0.2" + resolved "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.0.2.tgz#a0117d823260f282c04bff5f8704bdc2ac6910bb" + integrity sha512-jxPRPp9n93ci7b8hMfJOFDPRLFYadN6FSpeROFTR4UNF4i5b+EK6m4QXPO46BDhFgRy1JuS87zAnFOzCUwMJcQ== + dependencies: + "@sinonjs/commons" "^1.6.0" + lodash.get "^4.4.2" + type-detect "^4.0.8" + +"@sinonjs/text-encoding@^0.7.1": + version "0.7.1" + resolved "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz#8da5c6530915653f3a1f38fd5f101d8c3f8079c5" + integrity sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ== + "@spotify/eslint-config-base@^9.0.0": version "9.0.2" resolved "https://registry.npmjs.org/@spotify/eslint-config-base/-/eslint-config-base-9.0.2.tgz#a4830f610f40de935de795d3def486c3e5064ee4" @@ -5846,9 +5927,9 @@ "@types/istanbul-lib-report" "*" "@types/jenkins@^0.23.1": - version "0.23.1" - resolved "https://registry.npmjs.org/@types/jenkins/-/jenkins-0.23.1.tgz#d0f0ef5511beff975c91cbd2365e580d700ca7f9" - integrity sha512-3oGxVCq+5esbjb0BQXUv0Iz0/7ogJxmzaxKtxwwMik5vGtRvfjWf/sXGA1RzkVAG0+rJUZNKStjKRdtqJfEyRg== + version "0.23.2" + resolved "https://registry.npmjs.org/@types/jenkins/-/jenkins-0.23.2.tgz#96736a2be4904efdfe7fe2650569479fd77dc48e" + integrity sha512-BELmIZ6brxwGFqBHfLjLTjYRWAUqcT1d2BydH1CcRTZEjCYw3DRVfZkXU7BVlyIsKXm2ZMIKVkEjKKtVDvPiXA== dependencies: "@types/node" "*" @@ -7825,6 +7906,15 @@ autoprefixer@^9.7.2: postcss "^7.0.32" postcss-value-parser "^4.1.0" +aws-sdk-mock@^5.2.1: + version "5.2.1" + resolved "https://registry.npmjs.org/aws-sdk-mock/-/aws-sdk-mock-5.2.1.tgz#126d4d5362c96b7d1d0bd87708a99d626c19ffd4" + integrity sha512-dY7zA1p/lX335V4/aOJ2L8ggXC3a5zokTJFZlZVW3uU+Zej7u+V7WrEcN5TVaJAnk4auT263T6EK/OHW4WjKhw== + dependencies: + aws-sdk "^2.928.0" + sinon "^11.1.1" + traverse "^0.6.6" + aws-sdk@^2.382.0, aws-sdk@^2.840.0: version "2.922.0" resolved "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.922.0.tgz#4568be067dceaaeda5d2d5a7e2f22666687f0b32" @@ -7840,6 +7930,21 @@ aws-sdk@^2.382.0, aws-sdk@^2.840.0: uuid "3.3.2" xml2js "0.4.19" +aws-sdk@^2.928.0: + version "2.951.0" + resolved "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.951.0.tgz#3cd8c0a4610407623ae8f1724f431fd328441033" + integrity sha512-YPqhdESUzd4+pSuGJcfMnG1qNVbmZjnmsa85Z9jofR1ilIpuV31onIiFHv8iubM59ETok/+zy3QOmxRSLYzFmQ== + dependencies: + buffer "4.9.2" + events "1.1.1" + ieee754 "1.1.13" + jmespath "0.15.0" + querystring "0.2.0" + sax "1.2.1" + url "0.10.3" + uuid "3.3.2" + xml2js "0.4.19" + aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -8380,6 +8485,11 @@ bcrypt-pbkdf@^1.0.0, bcrypt-pbkdf@^1.0.2: dependencies: tweetnacl "^0.14.3" +bdd-lazy-var@^2.6.0: + version "2.6.1" + resolved "https://registry.npmjs.org/bdd-lazy-var/-/bdd-lazy-var-2.6.1.tgz#ca03fb36d68c5a507c0ba9a4d53160b899e6b7cb" + integrity sha512-X3ADwcFji/IHIrYJhTTpaiWhoOx4pl4whdAx1dmvdeUPsMUb7fVYFvf/Q33VEAEAVkEwi5rgNSZ0Y9oOVeQV+A== + before-after-hook@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635" @@ -11727,10 +11837,10 @@ endent@^2.0.1: fast-json-parse "^1.0.3" objectorarray "^1.0.4" -enhanced-resolve@^4.0.0, enhanced-resolve@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" - integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ== +enhanced-resolve@^4.0.0, enhanced-resolve@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" + integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== dependencies: graceful-fs "^4.1.2" memory-fs "^0.5.0" @@ -14745,9 +14855,9 @@ immer@8.0.1: integrity sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA== immer@^9.0.1: - version "9.0.1" - resolved "https://registry.npmjs.org/immer/-/immer-9.0.1.tgz#1116368e051f9a0fd188c5136b6efb74ed69c57f" - integrity sha512-7CCw1DSgr8kKYXTYOI1qMM/f5qxT5vIVMeGLDCDX8CSxsggr1Sjdoha4OhsP0AZ1UvWbyZlILHvLjaynuu02Mg== + version "9.0.5" + resolved "https://registry.npmjs.org/immer/-/immer-9.0.5.tgz#a7154f34fe7064f15f00554cc94c66cc0bf453ec" + integrity sha512-2WuIehr2y4lmYz9gaQzetPR2ECniCifk4ORaQbU3g5EalLt+0IVTosEPJ5BoYl/75ky2mivzdRzV8wWgQGOSYQ== immutable@>=3.8.2, immutable@^3.8.1, immutable@^3.8.2, immutable@^3.x.x: version "3.8.2" @@ -15636,6 +15746,11 @@ is-yarn-global@^0.3.0: resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -15689,9 +15804,9 @@ isomorphic-form-data@~2.0.0: form-data "^2.3.2" isomorphic-git@^1.8.0: - version "1.8.0" - resolved "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-1.8.0.tgz#50440650a64706a321cbea1af955c1cf1110b238" - integrity sha512-TWJvQh+++eFrEG0IFS/jLhMwsBoCOX1/Dsw9q8no59Mp1K0jEjSHXFWv2P04PwkxcIpePkXVBI5YFcFT2nkuQg== + version "1.9.2" + resolved "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-1.9.2.tgz#0e492dbcd9873070b2a57eef257a45b90020ed72" + integrity sha512-puCXcGgtkDXdMYLZlAEGbpkbmHn/Q4Lsl2uMFwMLOKmmr8Qe7Fe3+c6k2+aHW3rMdJYg9xTv95BJ+PRzR8Ydww== dependencies: async-lock "^1.1.0" clean-git-ref "^2.0.1" @@ -16765,6 +16880,11 @@ junk@^3.1.0: resolved "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz#31499098d902b7e98c5d9b9c80f43457a88abfa1" integrity sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ== +just-extend@^4.0.2: + version "4.2.1" + resolved "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz#ef5e589afb61e5d66b24eca749409a8939a8c744" + integrity sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg== + jwa@^1.4.1: version "1.4.1" resolved "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" @@ -16809,13 +16929,13 @@ kafkajs@^1.16.0-beta.6: resolved "https://registry.npmjs.org/kafkajs/-/kafkajs-1.16.0-beta.21.tgz#5736bcef7b505714642a82d6dc0d1507fc0ae817" integrity sha512-6iarOOnKTaei0EK+a+K2V/bBA7YgvpA69tZwnVF85PxGlvoG/wqKpfRNh2Mb04uiNTEwBYNEIO7hAFElEM6/AA== -keytar@^5.4.0: - version "5.6.0" - resolved "https://registry.npmjs.org/keytar/-/keytar-5.6.0.tgz#7b5d4bd043d17211163640be6c4a27a49b12bb39" - integrity sha512-ueulhshHSGoryfRXaIvTj0BV1yB0KddBGhGoqCxSN9LR1Ks1GKuuCdVhF+2/YOs5fMl6MlTI9On1a4DHDXoTow== +keytar@^7.3.0: + version "7.7.0" + resolved "https://registry.npmjs.org/keytar/-/keytar-7.7.0.tgz#3002b106c01631aa79b1aa9ee0493b94179bbbd2" + integrity sha512-YEY9HWqThQc5q5xbXbRwsZTh2PJ36OSYRjSv3NN2xf5s5dpLTjEZnC2YikR29OaVybf9nQ0dJ/80i40RS97t/A== dependencies: - nan "2.14.1" - prebuild-install "5.3.3" + node-addon-api "^3.0.0" + prebuild-install "^6.0.0" keyv-memcache@^1.2.5: version "1.2.5" @@ -17363,7 +17483,7 @@ lodash.flattendeep@^4.0.0: resolved "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= -lodash.get@^4, lodash.get@^4.0.0: +lodash.get@^4, lodash.get@^4.0.0, lodash.get@^4.4.2: version "4.4.2" resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= @@ -18396,6 +18516,11 @@ mkdirp-classic@^0.5.2: resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.2.tgz#54c441ce4c96cd7790e10b41a87aa51068ecab2b" integrity sha512-ejdnDQcR75gwknmMw/tx02AuRs8jCtqFoFqDZMjiNxsu85sRIJVXDKHuLYvUUPRBUtV2FpSZa9bL1BUa3BdR2g== +mkdirp-classic@^0.5.3: + version "0.5.3" + resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" + integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== + mkdirp-infer-owner@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz#55d3b368e7d89065c38f32fd38e638f0ab61d316" @@ -18603,7 +18728,7 @@ named-placeholders@^1.1.2: dependencies: lru-cache "^4.1.3" -nan@2.14.1, nan@^2.12.1, nan@^2.14.0: +nan@^2.12.1, nan@^2.14.0: version "2.14.1" resolved "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw== @@ -18705,6 +18830,17 @@ nice-try@^1.0.4: resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== +nise@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/nise/-/nise-5.1.0.tgz#713ef3ed138252daef20ec035ab62b7a28be645c" + integrity sha512-W5WlHu+wvo3PaKLsJJkgPup2LrsXCcm7AWwyNZkUnn5rwPkuPBi3Iwk5SQtN0mv+K65k7nKKjwNQ30wg3wLAQQ== + dependencies: + "@sinonjs/commons" "^1.7.0" + "@sinonjs/fake-timers" "^7.0.4" + "@sinonjs/text-encoding" "^0.7.1" + just-extend "^4.0.2" + path-to-regexp "^1.7.0" + no-case@^3.0.4: version "3.0.4" resolved "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" @@ -18713,10 +18849,10 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" -node-abi@^2.7.0: - version "2.19.3" - resolved "https://registry.npmjs.org/node-abi/-/node-abi-2.19.3.tgz#252f5dcab12dad1b5503b2d27eddd4733930282d" - integrity sha512-9xZrlyfvKhWme2EXFKQhZRp1yNWT/uI1luYPr3sFl+H4keYY4xR+1jO7mvTTijIsHf1M+QDe9uWuKeEpLInIlg== +node-abi@^2.21.0: + version "2.30.0" + resolved "https://registry.npmjs.org/node-abi/-/node-abi-2.30.0.tgz#8be53bf3e7945a34eea10e0fc9a5982776cf550b" + integrity sha512-g6bZh3YCKQRdwuO/tSZZYJAw622SjsRfJ2X0Iy4sSOHZ34/sPPdVBn8fev2tj7njzLwuqPw9uMtGsGkO5kIQvg== dependencies: semver "^5.4.1" @@ -18899,9 +19035,9 @@ node-releases@^1.1.52, node-releases@^1.1.61, node-releases@^1.1.71: integrity sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw== nodemon@^2.0.2: - version "2.0.7" - resolved "https://registry.npmjs.org/nodemon/-/nodemon-2.0.7.tgz#6f030a0a0ebe3ea1ba2a38f71bf9bab4841ced32" - integrity sha512-XHzK69Awgnec9UzHr1kc8EomQh4sjTQ8oRf8TsGrSmHDx9/UmiGG9E/mM3BuTfNeFwdNBvrqQq/RHL0xIeyFOA== + version "2.0.12" + resolved "https://registry.npmjs.org/nodemon/-/nodemon-2.0.12.tgz#5dae4e162b617b91f1873b3bfea215dd71e144d5" + integrity sha512-egCTmNZdObdBxUBw6ZNwvZ/xzk24CKRs5K6d+5zbmrMr7rOpPmfPeF6OxM3DDpaRx331CQRFEktn+wrFFfBSOA== dependencies: chokidar "^3.2.2" debug "^3.2.6" @@ -18914,11 +19050,6 @@ nodemon@^2.0.2: undefsafe "^2.0.3" update-notifier "^4.1.0" -noop-logger@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2" - integrity sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI= - "nopt@2 || 3": version "3.0.6" resolved "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" @@ -20018,6 +20149,13 @@ path-to-regexp@0.1.7: resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= +path-to-regexp@^1.7.0: + version "1.8.0" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" + integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== + dependencies: + isarray "0.0.1" + path-type@^1.0.0: version "1.1.0" resolved "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" @@ -20773,26 +20911,24 @@ postgres-interval@^1.1.0: dependencies: xtend "^4.0.0" -prebuild-install@5.3.3: - version "5.3.3" - resolved "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.3.tgz#ef4052baac60d465f5ba6bf003c9c1de79b9da8e" - integrity sha512-GV+nsUXuPW2p8Zy7SarF/2W/oiK8bFQgJcncoJ0d7kRpekEA0ftChjfEaF9/Y+QJEc/wFR7RAEa8lYByuUIe2g== +prebuild-install@^6.0.0: + version "6.1.3" + resolved "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.3.tgz#8ea1f9d7386a0b30f7ef20247e36f8b2b82825a2" + integrity sha512-iqqSR84tNYQUQHRXalSKdIaM8Ov1QxOVuBNWI7+BzZWv6Ih9k75wOnH1rGQ9WWTaaLkTpxWKIciOF0KyfM74+Q== dependencies: detect-libc "^1.0.3" expand-template "^2.0.3" github-from-package "0.0.0" - minimist "^1.2.0" - mkdirp "^0.5.1" + minimist "^1.2.3" + mkdirp-classic "^0.5.3" napi-build-utils "^1.0.1" - node-abi "^2.7.0" - noop-logger "^0.1.1" + node-abi "^2.21.0" npmlog "^4.0.1" pump "^3.0.0" rc "^1.2.7" simple-get "^3.0.3" tar-fs "^2.0.0" tunnel-agent "^0.6.0" - which-pm-runs "^1.0.0" precond@0.2: version "0.2.3" @@ -23211,6 +23347,18 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" +sinon@^11.1.1: + version "11.1.1" + resolved "https://registry.npmjs.org/sinon/-/sinon-11.1.1.tgz#99a295a8b6f0fadbbb7e004076f3ae54fc6eab91" + integrity sha512-ZSSmlkSyhUWbkF01Z9tEbxZLF/5tRC9eojCdFh33gtQaP7ITQVaMWQHGuFM7Cuf/KEfihuh1tTl3/ABju3AQMg== + dependencies: + "@sinonjs/commons" "^1.8.3" + "@sinonjs/fake-timers" "^7.1.0" + "@sinonjs/samsam" "^6.0.2" + diff "^5.0.0" + nise "^5.1.0" + supports-color "^7.2.0" + sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" @@ -24195,6 +24343,13 @@ supports-color@^7.0.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" +supports-color@^7.2.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + supports-color@^8.1.0, supports-color@^8.1.1: version "8.1.1" resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" @@ -24858,7 +25013,7 @@ tr46@^2.0.2: resolved "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" integrity sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk= -traverse@~0.6.6: +traverse@^0.6.6, traverse@~0.6.6: version "0.6.6" resolved "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" integrity sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc= @@ -24999,7 +25154,7 @@ tslib@^1.10.0, tslib@^1.11.1, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2, tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@~2.3.0: +tslib@^2, tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.2.0, tslib@~2.3.0: version "2.3.0" resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e" integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== @@ -25074,7 +25229,7 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" -type-detect@4.0.8: +type-detect@4.0.8, type-detect@^4.0.8: version "4.0.8" resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== @@ -25978,9 +26133,9 @@ webpack-virtual-modules@^0.2.2: debug "^3.0.0" webpack@^4.41.6, webpack@^4.44.2: - version "4.44.2" - resolved "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz#6bfe2b0af055c8b2d1e90ed2cd9363f841266b72" - integrity sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q== + version "4.46.0" + resolved "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542" + integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-module-context" "1.9.0" @@ -25990,7 +26145,7 @@ webpack@^4.41.6, webpack@^4.44.2: ajv "^6.10.2" ajv-keywords "^3.4.1" chrome-trace-event "^1.0.2" - enhanced-resolve "^4.3.0" + enhanced-resolve "^4.5.0" eslint-scope "^4.0.3" json-parse-better-errors "^1.0.2" loader-runner "^2.4.0" @@ -26097,11 +26252,6 @@ which-module@^2.0.0: resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which-pm-runs@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" - integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= - which-pm@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz#8245609ecfe64bf751d0eef2f376d83bf1ddb7ae" From c23f526a8e37d53a00a0d7e73158ba5486bf38d6 Mon Sep 17 00:00:00 2001 From: Nicolas Torres Date: Thu, 22 Jul 2021 19:35:49 +0200 Subject: [PATCH 025/712] Adds api-report Signed-off-by: Nicolas Torres --- plugins/catalog/api-report.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/plugins/catalog/api-report.md b/plugins/catalog/api-report.md index a416e70038..9deda407d7 100644 --- a/plugins/catalog/api-report.md +++ b/plugins/catalog/api-report.md @@ -327,6 +327,11 @@ export const EntityPageLayout: { }) => null; }; +// Warning: (ae-missing-release-tag) "EntityProcessErrors" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public +export const EntityProcessErrors: () => JSX.Element; + // Warning: (ae-missing-release-tag) "EntitySwitch" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) @@ -358,6 +363,11 @@ export const FilteredEntityLayout: ({ children, }: PropsWithChildren<{}>) => JSX.Element; +// Warning: (ae-missing-release-tag) "hasErrors" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export const hasErrors: (entity: Entity) => boolean; + // Warning: (ae-missing-release-tag) "isComponentType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) From 8cf1918ad15abc3b6b04688370780c27a32518cc Mon Sep 17 00:00:00 2001 From: Miklos Kiss Date: Thu, 22 Jul 2021 19:10:20 +0200 Subject: [PATCH 026/712] Make objectTypes configurable from app-config.yaml Signed-off-by: Miklos Kiss --- plugins/kubernetes-backend/schema.d.ts | 9 +++++++ .../src/service/KubernetesFanOutHandler.ts | 26 +++++++++---------- .../kubernetes-backend/src/service/router.ts | 10 ++++--- 3 files changed, 29 insertions(+), 16 deletions(-) diff --git a/plugins/kubernetes-backend/schema.d.ts b/plugins/kubernetes-backend/schema.d.ts index 9d002670b9..8b96d5ceca 100644 --- a/plugins/kubernetes-backend/schema.d.ts +++ b/plugins/kubernetes-backend/schema.d.ts @@ -16,6 +16,15 @@ export interface Config { kubernetes?: { + objectTypes?: Array< + | 'pods' + | 'services' + | 'configmaps' + | 'deployments' + | 'replicasets' + | 'horizontalpodautoscalers' + | 'ingresses' + >; serviceLocatorMethod: { type: 'multiTenant'; }; diff --git a/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts b/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts index 3039560aad..94e84440b6 100644 --- a/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts +++ b/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts @@ -26,7 +26,7 @@ import { KubernetesRequestBody } from '@backstage/plugin-kubernetes-common'; import { KubernetesAuthTranslator } from '../kubernetes-auth-translator/types'; import { KubernetesAuthTranslatorGenerator } from '../kubernetes-auth-translator/KubernetesAuthTranslatorGenerator'; -const DEFAULT_OBJECTS = new Set([ +const DEFAULT_OBJECTS: KubernetesObjectTypes[] = [ 'pods', 'services', 'configmaps', @@ -34,44 +34,44 @@ const DEFAULT_OBJECTS = new Set([ 'replicasets', 'horizontalpodautoscalers', 'ingresses', -]); +]; export class KubernetesFanOutHandler { private readonly logger: Logger; private readonly fetcher: KubernetesFetcher; private readonly serviceLocator: KubernetesServiceLocator; private readonly customResources: CustomResource[]; + private readonly objectTypesToFetch: KubernetesObjectTypes[]; constructor( logger: Logger, fetcher: KubernetesFetcher, serviceLocator: KubernetesServiceLocator, customResources: CustomResource[], + objectTypesToFetch: KubernetesObjectTypes[] = DEFAULT_OBJECTS, ) { this.logger = logger; this.fetcher = fetcher; this.serviceLocator = serviceLocator; this.customResources = customResources; + this.objectTypesToFetch = objectTypesToFetch; } - async getKubernetesObjectsByEntity( - requestBody: KubernetesRequestBody, - objectTypesToFetch: Set = DEFAULT_OBJECTS, - ) { + async getKubernetesObjectsByEntity(requestBody: KubernetesRequestBody) { const entityName = requestBody.entity?.metadata?.annotations?.[ 'backstage.io/kubernetes-id' ] || requestBody.entity?.metadata?.name; - const clusterDetails: ClusterDetails[] = await this.serviceLocator.getClustersByServiceId( - entityName, - ); + const clusterDetails: ClusterDetails[] = + await this.serviceLocator.getClustersByServiceId(entityName); // Execute all of these async actions simultaneously/without blocking sequentially as no common object is modified by them const promises: Promise[] = clusterDetails.map(cd => { - const kubernetesAuthTranslator: KubernetesAuthTranslator = KubernetesAuthTranslatorGenerator.getKubernetesAuthTranslatorInstance( - cd.authProvider, - ); + const kubernetesAuthTranslator: KubernetesAuthTranslator = + KubernetesAuthTranslatorGenerator.getKubernetesAuthTranslatorInstance( + cd.authProvider, + ); return kubernetesAuthTranslator.decorateClusterDetailsWithAuth( cd, requestBody, @@ -98,7 +98,7 @@ export class KubernetesFanOutHandler { .fetchObjectsForService({ serviceId: entityName, clusterDetails: clusterDetailsItem, - objectTypesToFetch, + objectTypesToFetch: new Set(this.objectTypesToFetch), labelSelector, customResources: this.customResources, }) diff --git a/plugins/kubernetes-backend/src/service/router.ts b/plugins/kubernetes-backend/src/service/router.ts index 984b3f14a0..027faf03ae 100644 --- a/plugins/kubernetes-backend/src/service/router.ts +++ b/plugins/kubernetes-backend/src/service/router.ts @@ -23,6 +23,7 @@ import { MultiTenantServiceLocator } from '../service-locator/MultiTenantService import { ClusterDetails, KubernetesClustersSupplier, + KubernetesObjectTypes, KubernetesServiceLocator, ServiceLocatorMethod, CustomResource, @@ -70,9 +71,8 @@ export const makeRouter = ( const serviceId = req.params.serviceId; const requestBody: KubernetesRequestBody = req.body; try { - const response = await kubernetesFanOutHandler.getKubernetesObjectsByEntity( - requestBody, - ); + const response = + await kubernetesFanOutHandler.getKubernetesObjectsByEntity(requestBody); res.json(response); } catch (e) { logger.error( @@ -133,12 +133,16 @@ export async function createRouter( ); const serviceLocator = getServiceLocator(options.config, clusterDetails); + const objectTypes = options.config.getOptionalStringArray( + 'kubernetes.objectTypes', + ) as KubernetesObjectTypes[]; const kubernetesFanOutHandler = new KubernetesFanOutHandler( logger, fetcher, serviceLocator, customResources, + objectTypes, ); return makeRouter(logger, kubernetesFanOutHandler, clusterDetails); From a0a8d357176c98d68f4d43852ea2943657ee5d8a Mon Sep 17 00:00:00 2001 From: Miklos Kiss Date: Fri, 23 Jul 2021 09:31:33 +0200 Subject: [PATCH 027/712] add changeset Signed-off-by: Miklos Kiss --- .changeset/purple-comics-fold.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/purple-comics-fold.md diff --git a/.changeset/purple-comics-fold.md b/.changeset/purple-comics-fold.md new file mode 100644 index 0000000000..f5e02d64db --- /dev/null +++ b/.changeset/purple-comics-fold.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-kubernetes-backend': patch +--- + +Add configuration option to the kubernetes object types. Config option is under `kubernetes.resources`. Defaults to ['pods', 'services', 'configmaps', 'deployments', 'replicasets', 'horizontalpodautoscalers', 'ingresses'] From 638a376f5360dfe97921b1c822061cd410b108ec Mon Sep 17 00:00:00 2001 From: Miklos Kiss Date: Fri, 23 Jul 2021 10:03:30 +0200 Subject: [PATCH 028/712] use the correct prettier config Signed-off-by: Miklos Kiss --- .../src/service/KubernetesFanOutHandler.ts | 12 ++++++------ plugins/kubernetes-backend/src/service/router.ts | 5 +++-- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts b/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts index 94e84440b6..5e27dac770 100644 --- a/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts +++ b/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts @@ -63,15 +63,15 @@ export class KubernetesFanOutHandler { 'backstage.io/kubernetes-id' ] || requestBody.entity?.metadata?.name; - const clusterDetails: ClusterDetails[] = - await this.serviceLocator.getClustersByServiceId(entityName); + const clusterDetails: ClusterDetails[] = await this.serviceLocator.getClustersByServiceId( + entityName, + ); // Execute all of these async actions simultaneously/without blocking sequentially as no common object is modified by them const promises: Promise[] = clusterDetails.map(cd => { - const kubernetesAuthTranslator: KubernetesAuthTranslator = - KubernetesAuthTranslatorGenerator.getKubernetesAuthTranslatorInstance( - cd.authProvider, - ); + const kubernetesAuthTranslator: KubernetesAuthTranslator = KubernetesAuthTranslatorGenerator.getKubernetesAuthTranslatorInstance( + cd.authProvider, + ); return kubernetesAuthTranslator.decorateClusterDetailsWithAuth( cd, requestBody, diff --git a/plugins/kubernetes-backend/src/service/router.ts b/plugins/kubernetes-backend/src/service/router.ts index 027faf03ae..13094cf6ed 100644 --- a/plugins/kubernetes-backend/src/service/router.ts +++ b/plugins/kubernetes-backend/src/service/router.ts @@ -71,8 +71,9 @@ export const makeRouter = ( const serviceId = req.params.serviceId; const requestBody: KubernetesRequestBody = req.body; try { - const response = - await kubernetesFanOutHandler.getKubernetesObjectsByEntity(requestBody); + const response = await kubernetesFanOutHandler.getKubernetesObjectsByEntity( + requestBody, + ); res.json(response); } catch (e) { logger.error( From c5cb55803dda36ccb52fa51a6f9b4317ead10e3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Wed, 21 Jul 2021 19:05:55 +0200 Subject: [PATCH 029/712] Implement useEntityOwnership MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Adelöw --- .changeset/strong-spies-begin.md | 22 ++ plugins/catalog-react/api-report.md | 14 +- plugins/catalog-react/package.json | 2 + .../UserListPicker/UserListPicker.test.tsx | 48 ++-- .../UserListPicker/UserListPicker.tsx | 40 +-- plugins/catalog-react/src/filters.ts | 14 +- plugins/catalog-react/src/hooks/index.ts | 1 + .../src/hooks/useEntityListProvider.test.tsx | 53 ++-- .../src/hooks/useEntityOwnership.test.tsx | 255 ++++++++++++++++++ .../src/hooks/useEntityOwnership.ts | 148 ++++++++++ .../CatalogPage/CatalogPage.test.tsx | 7 +- .../CatalogTable/CatalogTable.test.tsx | 6 +- 12 files changed, 529 insertions(+), 81 deletions(-) create mode 100644 .changeset/strong-spies-begin.md create mode 100644 plugins/catalog-react/src/hooks/useEntityOwnership.test.tsx create mode 100644 plugins/catalog-react/src/hooks/useEntityOwnership.ts diff --git a/.changeset/strong-spies-begin.md b/.changeset/strong-spies-begin.md new file mode 100644 index 0000000000..6ec2fb58d4 --- /dev/null +++ b/.changeset/strong-spies-begin.md @@ -0,0 +1,22 @@ +--- +'@backstage/plugin-catalog-react': minor +--- + +Introduce the `useEntityOwnership` hook, which implements the full new ownership model. + +This also means a breaking change to the interface of `UserListFilter`. It no longer +accepts a user entity as input, but rather a function that checks ownership of an +entity. This function is taken from the above mentioned hook output. So if you are +instantiating the filter yourself, you will change from something like + +```ts +const { entity } = useOwnUser(); +const filter = new UserListFilter('owned', user, ...); +``` + +to + +```ts +const { isOwnedEntity } = useEntityOwnership(); +const filter = new UserListFilter('owned', isOwnedEntity, ...); +``` diff --git a/plugins/catalog-react/api-report.md b/plugins/catalog-react/api-report.md index 03ee9a391a..990e562ffc 100644 --- a/plugins/catalog-react/api-report.md +++ b/plugins/catalog-react/api-report.md @@ -720,6 +720,14 @@ export function useEntityListProvider< EntityFilters extends DefaultEntityFilters = DefaultEntityFilters >(): EntityListContextProps; +// Warning: (ae-missing-release-tag) "useEntityOwnership" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public +export function useEntityOwnership(): { + loading: boolean; + isOwnedEntity: (entity: Entity | EntityName) => boolean; +}; + // Warning: (ae-forgotten-export) The symbol "EntityTypeReturn" needs to be exported by the entry point index.d.ts // Warning: (ae-missing-release-tag) "useEntityTypeFilter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // @@ -755,18 +763,18 @@ export function useRelatedEntities( export class UserListFilter implements EntityFilter { constructor( value: UserListFilterKind, - user: UserEntity | undefined, + isOwnedEntity: (entity: Entity) => boolean, isStarredEntity: (entity: Entity) => boolean, ); // (undocumented) filterEntity(entity: Entity): boolean; // (undocumented) + readonly isOwnedEntity: (entity: Entity) => boolean; + // (undocumented) readonly isStarredEntity: (entity: Entity) => boolean; // (undocumented) toQueryValue(): string; // (undocumented) - readonly user: UserEntity | undefined; - // (undocumented) readonly value: UserListFilterKind; } diff --git a/plugins/catalog-react/package.json b/plugins/catalog-react/package.json index e1b3beda4e..0ed3ac7d70 100644 --- a/plugins/catalog-react/package.json +++ b/plugins/catalog-react/package.json @@ -38,6 +38,7 @@ "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "@types/react": "^16.9", + "jwt-decode": "^3.1.0", "lodash": "^4.17.15", "qs": "^6.9.4", "react": "^16.13.1", @@ -54,6 +55,7 @@ "@testing-library/react-hooks": "^3.3.0", "@testing-library/user-event": "^13.1.8", "@types/jest": "^26.0.7", + "@types/jwt-decode": "^3.1.0", "@types/node": "^14.14.32", "cross-fetch": "^3.0.6", "msw": "^0.29.0", diff --git a/plugins/catalog-react/src/components/UserListPicker/UserListPicker.test.tsx b/plugins/catalog-react/src/components/UserListPicker/UserListPicker.test.tsx index b54284da36..4662e58dd2 100644 --- a/plugins/catalog-react/src/components/UserListPicker/UserListPicker.test.tsx +++ b/plugins/catalog-react/src/components/UserListPicker/UserListPicker.test.tsx @@ -15,7 +15,7 @@ */ import React from 'react'; -import { fireEvent, render } from '@testing-library/react'; +import { fireEvent, render, waitFor } from '@testing-library/react'; import { Entity, RELATION_OWNED_BY, @@ -58,7 +58,8 @@ const mockCatalogApi = { } as Partial; const mockIdentityApi = { - getUserId: () => '', + getUserId: () => 'testUser', + getIdToken: async () => undefined, } as Partial; const apis = ApiRegistry.from([ @@ -68,6 +69,9 @@ const apis = ApiRegistry.from([ [storageApiRef, MockStorageApi.create()], ]); +const mockIsOwnedEntity = (entity: Entity) => + entity.metadata.name === 'component-1'; + const mockIsStarredEntity = (entity: Entity) => entity.metadata.name === 'component-3'; @@ -75,7 +79,9 @@ jest.mock('../../hooks', () => { const actual = jest.requireActual('../../hooks'); return { ...actual, - useOwnUser: () => ({ value: mockUser }), + useEntityOwnership: () => ({ + isOwnedEntity: mockIsOwnedEntity, + }), useStarredEntities: () => ({ isStarredEntity: mockIsStarredEntity, }), @@ -161,7 +167,7 @@ describe('', () => { ).toEqual(['Owned', 'Starred', 'All']); }); - it('includes counts alongside each filter', () => { + it('includes counts alongside each filter', async () => { const { getAllByRole } = render( @@ -172,14 +178,16 @@ describe('', () => { // Material UI renders ListItemSecondaryActions outside the // menuitem itself, so we pick off the next sibling. - expect( - getAllByRole('menuitem').map( - ({ nextSibling }) => nextSibling?.textContent, - ), - ).toEqual(['2', '1', '4']); + await waitFor(() => { + expect( + getAllByRole('menuitem').map( + ({ nextSibling }) => nextSibling?.textContent, + ), + ).toEqual(['1', '1', '4']); + }); }); - it('respects other frontend filters in counts', () => { + it('respects other frontend filters in counts', async () => { const { getAllByRole } = render( ', () => { , ); - expect( - getAllByRole('menuitem').map( - ({ nextSibling }) => nextSibling?.textContent, - ), - ).toEqual(['1', '0', '2']); + await waitFor(() => { + expect( + getAllByRole('menuitem').map( + ({ nextSibling }) => nextSibling?.textContent, + ), + ).toEqual(['1', '0', '2']); + }); }); it('respects the query parameter filter value', () => { @@ -214,7 +224,7 @@ describe('', () => { ); expect(updateFilters).toHaveBeenLastCalledWith({ - user: new UserListFilter('owned', mockUser, mockIsStarredEntity), + user: new UserListFilter('owned', mockIsOwnedEntity, mockIsStarredEntity), }); }); @@ -233,7 +243,11 @@ describe('', () => { fireEvent.click(getByText('Starred')); expect(updateFilters).toHaveBeenLastCalledWith({ - user: new UserListFilter('starred', mockUser, mockIsStarredEntity), + user: new UserListFilter( + 'starred', + mockIsOwnedEntity, + mockIsStarredEntity, + ), }); }); }); diff --git a/plugins/catalog-react/src/components/UserListPicker/UserListPicker.tsx b/plugins/catalog-react/src/components/UserListPicker/UserListPicker.tsx index 0212c0f0be..0e764507fe 100644 --- a/plugins/catalog-react/src/components/UserListPicker/UserListPicker.tsx +++ b/plugins/catalog-react/src/components/UserListPicker/UserListPicker.tsx @@ -14,15 +14,11 @@ * limitations under the License. */ -import React, { Fragment, useEffect, useMemo, useState } from 'react'; -import { compact } from 'lodash'; -import { UserListFilterKind } from '../../types'; -import { UserListFilter } from '../../filters'; import { - useEntityListProvider, - useOwnUser, - useStarredEntities, -} from '../../hooks'; + configApiRef, + IconComponent, + useApi, +} from '@backstage/core-plugin-api'; import { Card, List, @@ -36,12 +32,16 @@ import { } from '@material-ui/core'; import SettingsIcon from '@material-ui/icons/Settings'; import StarIcon from '@material-ui/icons/Star'; -import { reduceEntityFilters } from '../../utils'; +import { compact } from 'lodash'; +import React, { Fragment, useEffect, useMemo, useState } from 'react'; +import { UserListFilter } from '../../filters'; import { - configApiRef, - IconComponent, - useApi, -} from '@backstage/core-plugin-api'; + useEntityListProvider, + useStarredEntities, + useEntityOwnership, +} from '../../hooks'; +import { UserListFilterKind } from '../../types'; +import { reduceEntityFilters } from '../../utils'; const useStyles = makeStyles(theme => ({ root: { @@ -136,20 +136,20 @@ export const UserListPicker = ({ queryParameters, } = useEntityListProvider(); - const { value: user } = useOwnUser(); const { isStarredEntity } = useStarredEntities(); + const { isOwnedEntity } = useEntityOwnership(); const [selectedUserFilter, setSelectedUserFilter] = useState( [queryParameters.user].flat()[0] ?? initialFilter, ); // Static filters; used for generating counts of potentially unselected kinds const ownedFilter = useMemo( - () => new UserListFilter('owned', user, isStarredEntity), - [user, isStarredEntity], + () => new UserListFilter('owned', isOwnedEntity, isStarredEntity), + [isOwnedEntity, isStarredEntity], ); const starredFilter = useMemo( - () => new UserListFilter('starred', user, isStarredEntity), - [user, isStarredEntity], + () => new UserListFilter('starred', isOwnedEntity, isStarredEntity), + [isOwnedEntity, isStarredEntity], ); useEffect(() => { @@ -157,12 +157,12 @@ export const UserListPicker = ({ user: selectedUserFilter ? new UserListFilter( selectedUserFilter as UserListFilterKind, - user, + isOwnedEntity, isStarredEntity, ) : undefined, }); - }, [selectedUserFilter, user, isStarredEntity, updateFilters]); + }, [selectedUserFilter, isOwnedEntity, isStarredEntity, updateFilters]); // To show proper counts for each section, apply all other frontend filters _except_ the user // filter that's controlled by this picker. diff --git a/plugins/catalog-react/src/filters.ts b/plugins/catalog-react/src/filters.ts index 98c66e0c26..46fb708f93 100644 --- a/plugins/catalog-react/src/filters.ts +++ b/plugins/catalog-react/src/filters.ts @@ -14,14 +14,10 @@ * limitations under the License. */ -import { - Entity, - UserEntity, - RELATION_OWNED_BY, -} from '@backstage/catalog-model'; -import { EntityFilter, UserListFilterKind } from './types'; -import { getEntityRelations, isOwnerOf } from './utils'; +import { Entity, RELATION_OWNED_BY } from '@backstage/catalog-model'; import { formatEntityRefTitle } from './components/EntityRefLink'; +import { EntityFilter, UserListFilterKind } from './types'; +import { getEntityRelations } from './utils'; export class EntityKindFilter implements EntityFilter { constructor(readonly value: string) {} @@ -116,14 +112,14 @@ export class EntityLifecycleFilter implements EntityFilter { export class UserListFilter implements EntityFilter { constructor( readonly value: UserListFilterKind, - readonly user: UserEntity | undefined, + readonly isOwnedEntity: (entity: Entity) => boolean, readonly isStarredEntity: (entity: Entity) => boolean, ) {} filterEntity(entity: Entity): boolean { switch (this.value) { case 'owned': - return this.user !== undefined && isOwnerOf(this.user, entity); + return this.isOwnedEntity(entity); case 'starred': return this.isStarredEntity(entity); default: diff --git a/plugins/catalog-react/src/hooks/index.ts b/plugins/catalog-react/src/hooks/index.ts index 483f1ab787..868e50c852 100644 --- a/plugins/catalog-react/src/hooks/index.ts +++ b/plugins/catalog-react/src/hooks/index.ts @@ -25,3 +25,4 @@ export { useEntityTypeFilter } from './useEntityTypeFilter'; export { useOwnUser } from './useOwnUser'; export { useRelatedEntities } from './useRelatedEntities'; export { useStarredEntities } from './useStarredEntities'; +export { useEntityOwnership } from './useEntityOwnership'; diff --git a/plugins/catalog-react/src/hooks/useEntityListProvider.test.tsx b/plugins/catalog-react/src/hooks/useEntityListProvider.test.tsx index c66af03da0..815c9e289e 100644 --- a/plugins/catalog-react/src/hooks/useEntityListProvider.test.tsx +++ b/plugins/catalog-react/src/hooks/useEntityListProvider.test.tsx @@ -20,7 +20,7 @@ import { MemoryRouter as Router } from 'react-router-dom'; import { act, renderHook } from '@testing-library/react-hooks'; import { MockStorageApi } from '@backstage/test-utils'; import { CatalogApi } from '@backstage/catalog-client'; -import { Entity, UserEntity } from '@backstage/catalog-model'; +import { Entity } from '@backstage/catalog-model'; import { EntityListProvider, useEntityListProvider, @@ -39,17 +39,6 @@ import { storageApiRef, } from '@backstage/core-plugin-api'; -const mockUser: UserEntity = { - apiVersion: 'backstage.io/v1beta1', - kind: 'User', - metadata: { - name: 'guest', - }, - spec: { - memberOf: [], - }, -}; - const entities: Entity[] = [ { apiVersion: '1', @@ -81,13 +70,12 @@ const mockConfigApi = { getOptionalString: () => '', } as Partial; const mockIdentityApi: Partial = { - getUserId: () => 'guest@example.com', + getUserId: () => 'guest', + getIdToken: async () => undefined, }; const mockCatalogApi: Partial = { - getEntities: jest - .fn() - .mockImplementation(() => Promise.resolve({ items: entities })), - getEntityByName: () => Promise.resolve(mockUser), + getEntities: jest.fn().mockImplementation(async () => ({ items: entities })), + getEntityByName: async () => undefined, }; const apis = ApiRegistry.from([ [configApiRef, mockConfigApi], @@ -117,7 +105,7 @@ const wrapper = ({ ); }; -describe('', () => { +describe('', () => { beforeEach(() => { jest.clearAllMocks(); }); @@ -171,18 +159,26 @@ describe('', () => { const { result, waitFor } = renderHook(() => useEntityListProvider(), { wrapper, }); - await waitFor(() => !!result.current.entities.length); - expect(result.current.entities.length).toBe(2); - expect(mockCatalogApi.getEntities).toHaveBeenCalledTimes(1); + + await waitFor(() => { + expect(result.current.entities.length).toBe(2); + expect(mockCatalogApi.getEntities).toHaveBeenCalledTimes(1); + }); act(() => result.current.updateFilters({ - user: new UserListFilter('owned', mockUser, () => true), + user: new UserListFilter( + 'owned', + entity => entity.metadata.name === 'component-1', + () => true, + ), }), ); - await waitFor(() => result.current.entities.length !== 2); - expect(mockCatalogApi.getEntities).toHaveBeenCalledTimes(1); - expect(result.current.entities.length).toBe(1); + + await waitFor(() => { + expect(result.current.entities.length).toBe(1); + expect(mockCatalogApi.getEntities).toHaveBeenCalledTimes(1); + }); }); it('debounces multiple filter changes', async () => { @@ -205,7 +201,7 @@ describe('', () => { }); it('returns an error on catalogApi failure', async () => { - const { result, waitForNextUpdate, waitForValueToChange } = renderHook( + const { result, waitForValueToChange, waitFor } = renderHook( () => useEntityListProvider(), { wrapper, @@ -218,7 +214,8 @@ describe('', () => { act(() => { result.current.updateFilters({ kind: new EntityKindFilter('api') }); }); - await waitForNextUpdate(); - expect(result.current.error).toBeDefined(); + await waitFor(() => { + expect(result.current.error).toBeDefined(); + }); }); }); diff --git a/plugins/catalog-react/src/hooks/useEntityOwnership.test.tsx b/plugins/catalog-react/src/hooks/useEntityOwnership.test.tsx new file mode 100644 index 0000000000..f617565e81 --- /dev/null +++ b/plugins/catalog-react/src/hooks/useEntityOwnership.test.tsx @@ -0,0 +1,255 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { CatalogApi } from '@backstage/catalog-client'; +import { + ComponentEntity, + RELATION_MEMBER_OF, + RELATION_OWNED_BY, + UserEntity, +} from '@backstage/catalog-model'; +import { ApiProvider, ApiRegistry } from '@backstage/core-app-api'; +import { IdentityApi, identityApiRef } from '@backstage/core-plugin-api'; +import { renderHook } from '@testing-library/react-hooks'; +import React from 'react'; +import { catalogApiRef } from '../api'; +import { + loadCatalogOwnerRefs, + loadIdentityOwnerRefs, + useEntityOwnership, +} from './useEntityOwnership'; + +describe('useEntityOwnership', () => { + type MockIdentityApi = jest.Mocked< + Pick + >; + type MockCatalogApi = jest.Mocked>; + + const mockIdentityApi: MockIdentityApi = { + getUserId: jest.fn(), + getIdToken: jest.fn(), + }; + const mockCatalogApi: MockCatalogApi = { + getEntityByName: jest.fn(), + }; + + const identityApi = (mockIdentityApi as unknown) as IdentityApi; + const catalogApi = (mockCatalogApi as unknown) as CatalogApi; + + const Wrapper = ({ children }: { children?: React.ReactNode }) => ( + + {children} + + ); + + const ownedEntity: ComponentEntity = { + apiVersion: 'backstage.io/v1beta1', + kind: 'Component', + metadata: { + name: 'component1', + namespace: 'default', + }, + spec: { + /* should not be accessed */ + } as any, + relations: [ + { + type: RELATION_OWNED_BY, + target: { kind: 'User', namespace: 'default', name: 'user1' }, + }, + { + type: RELATION_OWNED_BY, + target: { kind: 'Group', namespace: 'default', name: 'group1' }, + }, + ], + }; + + const user2Entity: UserEntity = { + apiVersion: 'backstage.io/v1beta1', + kind: 'User', + metadata: { + name: 'user2', + namespace: 'default', + }, + spec: { + /* should not be accessed */ + } as any, + relations: [ + { + type: RELATION_MEMBER_OF, + target: { kind: 'Group', namespace: 'default', name: 'group1' }, + }, + ], + }; + + // these were generated on https://jwt.io, based off of its default example token + // no ent at all + const tokenNoEnt = + 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c'; + // "ent": [] + const tokenEmptyEnt = + 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyLCJlbnQiOltdfQ.Khyza2whczkoC4wSCLBhBaBB9-ktIkk7gpXEgQPHhtY'; + // "ent": ["user:default/user1"] + const tokenUserEnt = + 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyLCJlbnQiOlsidXNlcjpkZWZhdWx0L3VzZXIxIl19.CMCxjwI4rj_TD3uUoBNgFjkZI23LwRTbQnSPBxzncoY'; + // "ent": ["user:default/user1", "group:default/group1"] + const tokenUserAndGroupEnt = + 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyLCJlbnQiOlsidXNlcjpkZWZhdWx0L3VzZXIxIiwiZ3JvdXA6ZGVmYXVsdC9ncm91cDEiXX0.ZZmZrogbQKx0hnForw63ETkyAhUyeoBE8Hgloi45rdg'; + + afterEach(() => { + jest.resetAllMocks(); + }); + + describe('loadIdentityOwnerRefs', () => { + it('returns the user id when there is no relevant token info', async () => { + mockIdentityApi.getUserId.mockReturnValueOnce('foo'); + mockIdentityApi.getIdToken.mockResolvedValueOnce(undefined); + await expect(loadIdentityOwnerRefs(identityApi)).resolves.toEqual([ + 'user:default/foo', + ]); + + mockIdentityApi.getUserId.mockReturnValueOnce('ns/foo'); + mockIdentityApi.getIdToken.mockResolvedValueOnce(undefined); + await expect(loadIdentityOwnerRefs(identityApi)).resolves.toEqual([ + 'user:ns/foo', + ]); + + mockIdentityApi.getUserId.mockReturnValueOnce('user:ns/foo'); + mockIdentityApi.getIdToken.mockResolvedValueOnce(undefined); + await expect(loadIdentityOwnerRefs(identityApi)).resolves.toEqual([ + 'user:ns/foo', + ]); + + mockIdentityApi.getUserId.mockReturnValueOnce('foo'); + mockIdentityApi.getIdToken.mockResolvedValueOnce(tokenNoEnt); + await expect(loadIdentityOwnerRefs(identityApi)).resolves.toEqual([ + 'user:default/foo', + ]); + + mockIdentityApi.getUserId.mockReturnValueOnce('foo'); + mockIdentityApi.getIdToken.mockResolvedValueOnce(tokenEmptyEnt); + await expect(loadIdentityOwnerRefs(identityApi)).resolves.toEqual([ + 'user:default/foo', + ]); + }); + + it('returns both the user id and the token parts', async () => { + mockIdentityApi.getUserId.mockReturnValueOnce('foo'); + mockIdentityApi.getIdToken.mockResolvedValueOnce(tokenUserEnt); + await expect(loadIdentityOwnerRefs(identityApi)).resolves.toEqual([ + 'user:default/foo', + 'user:default/user1', + ]); + + mockIdentityApi.getUserId.mockReturnValueOnce('foo'); + mockIdentityApi.getIdToken.mockResolvedValueOnce(tokenUserAndGroupEnt); + await expect(loadIdentityOwnerRefs(identityApi)).resolves.toEqual([ + 'user:default/foo', + 'user:default/user1', + 'group:default/group1', + ]); + }); + + it('gracefully ignores broken token', async () => { + mockIdentityApi.getUserId.mockReturnValueOnce('foo'); + mockIdentityApi.getIdToken.mockResolvedValueOnce('not a jwt'); + await expect(loadIdentityOwnerRefs(identityApi)).resolves.toEqual([ + 'user:default/foo', + ]); + }); + }); + + describe('loadCatalogOwnerRefs', () => { + it('loads the first user from the catalog', async () => { + mockCatalogApi.getEntityByName.mockResolvedValueOnce(user2Entity); + await expect( + loadCatalogOwnerRefs(catalogApi, ['user:default/user2']), + ).resolves.toEqual(['group:default/group1']); + expect(mockCatalogApi.getEntityByName).toBeCalledWith({ + kind: 'user', + namespace: 'default', + name: 'user2', + }); + }); + + it('gracefully handles missing user', async () => { + mockCatalogApi.getEntityByName.mockResolvedValueOnce(undefined); + await expect( + loadCatalogOwnerRefs(catalogApi, ['user:default/user2']), + ).resolves.toEqual([]); + expect(mockCatalogApi.getEntityByName).toBeCalledWith({ + kind: 'user', + namespace: 'default', + name: 'user2', + }); + }); + }); + + describe('useEntityOwnership', () => { + it('matches ownership via token claims', async () => { + mockIdentityApi.getUserId.mockReturnValue('foo'); + mockIdentityApi.getIdToken.mockResolvedValue(tokenUserAndGroupEnt); + mockCatalogApi.getEntityByName.mockResolvedValue(undefined); + + const { result, waitForValueToChange } = renderHook( + () => useEntityOwnership(), + { + wrapper: Wrapper, + }, + ); + + expect(result.current.loading).toBe(true); + expect(result.current.isOwnedEntity(ownedEntity)).toBe(false); + + await waitForValueToChange(() => result.current.loading); + + expect(result.current.loading).toBe(false); + expect(result.current.isOwnedEntity(ownedEntity)).toBe(true); + }); + + it('matches ownership via catalog user entity', async () => { + mockIdentityApi.getUserId.mockReturnValue('user2'); + mockIdentityApi.getIdToken.mockResolvedValue(undefined); + mockCatalogApi.getEntityByName.mockResolvedValue(user2Entity); + + const { result, waitForValueToChange } = renderHook( + () => useEntityOwnership(), + { + wrapper: Wrapper, + }, + ); + + expect(result.current.loading).toBe(true); + expect(result.current.isOwnedEntity(ownedEntity)).toBe(false); + + await waitForValueToChange(() => result.current.loading); + + expect(result.current.loading).toBe(false); + expect(result.current.isOwnedEntity(ownedEntity)).toBe(true); + + expect(mockCatalogApi.getEntityByName).toBeCalledWith({ + kind: 'user', + namespace: 'default', + name: 'user2', + }); + }); + }); +}); diff --git a/plugins/catalog-react/src/hooks/useEntityOwnership.ts b/plugins/catalog-react/src/hooks/useEntityOwnership.ts new file mode 100644 index 0000000000..93c79de207 --- /dev/null +++ b/plugins/catalog-react/src/hooks/useEntityOwnership.ts @@ -0,0 +1,148 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { CatalogApi } from '@backstage/catalog-client'; +import { + Entity, + EntityName, + parseEntityRef, + RELATION_MEMBER_OF, + RELATION_OWNED_BY, + stringifyEntityRef, +} from '@backstage/catalog-model'; +import { + IdentityApi, + identityApiRef, + useApi, +} from '@backstage/core-plugin-api'; +import jwtDecoder from 'jwt-decode'; +import { useMemo } from 'react'; +import { useAsync } from 'react-use'; +import { catalogApiRef } from '../api'; +import { getEntityRelations } from '../utils/getEntityRelations'; + +// Takes a user ID from the identity, which can be on basically any form, and +// returns an entity ref. E.g. if the input is "foo", it returns +// "user:default/foo" to make sure it's a full ref. +function extendUserId(id: string): string { + try { + const ref = parseEntityRef(id, { + defaultKind: 'User', + defaultNamespace: 'default', + }); + return stringifyEntityRef(ref); + } catch { + return id; + } +} + +// Takes the relevant parts of the Backstage identity, and translates them into +// a list of entity refs on string form that represent the user's ownership +// connections. +export async function loadIdentityOwnerRefs( + identityApi: IdentityApi, +): Promise { + const id = identityApi.getUserId(); + const token = await identityApi.getIdToken(); + const result: string[] = []; + + if (id) { + result.push(extendUserId(id)); + } + + if (token) { + try { + const decoded = jwtDecoder(token) as any; + if (decoded?.ent) { + [decoded.ent] + .flat() + .filter(x => typeof x === 'string') + .map(x => x.toLocaleLowerCase('en-US')) + .forEach(x => result.push(x)); + } + } catch { + // ignore + } + } + + return result; +} + +// Takes the relevant parts of the User entity corresponding to the Backstage +// identity, and translates them into a list of entity refs on string form that +// represent the user's ownership connections. +export async function loadCatalogOwnerRefs( + catalogApi: CatalogApi, + identityOwnerRefs: string[], +): Promise { + const result = new Array(); + + const primaryUserRef = identityOwnerRefs.find(ref => ref.startsWith('user:')); + if (primaryUserRef) { + const entity = await catalogApi.getEntityByName( + parseEntityRef(primaryUserRef), + ); + if (entity) { + const memberOf = getEntityRelations(entity, RELATION_MEMBER_OF, { + kind: 'Group', + }); + for (const group of memberOf) { + result.push(stringifyEntityRef(group)); + } + } + } + + return result; +} + +/** + * Returns a function that checks whether the currently signed-in user is an + * owner of a given entity. When the hook is initially mounted, the loading + * flag will be true and the results returned from the function will always be + * false. + */ +export function useEntityOwnership(): { + loading: boolean; + isOwnedEntity: (entity: Entity | EntityName) => boolean; +} { + const identityApi = useApi(identityApiRef); + const catalogApi = useApi(catalogApiRef); + + // Trigger load only on mount + const { loading, value: refs } = useAsync(async () => { + const identityRefs = await loadIdentityOwnerRefs(identityApi); + const catalogRefs = await loadCatalogOwnerRefs(catalogApi, identityRefs); + return new Set([...identityRefs, ...catalogRefs]); + }, []); + + const isOwnedEntity = useMemo(() => { + const myOwnerRefs = new Set(refs ?? []); + return (entity: Entity | EntityName) => { + const entityOwnerRefs = ('metadata' in entity + ? getEntityRelations(entity, RELATION_OWNED_BY) + : [entity] + ).map(stringifyEntityRef); + for (const ref of entityOwnerRefs) { + if (myOwnerRefs.has(ref)) { + return true; + } + } + return false; + }; + }, [refs]); + + return useMemo(() => ({ loading, isOwnedEntity }), [loading, isOwnedEntity]); +} diff --git a/plugins/catalog/src/components/CatalogPage/CatalogPage.test.tsx b/plugins/catalog/src/components/CatalogPage/CatalogPage.test.tsx index e09aec55e7..8e3c59ffa3 100644 --- a/plugins/catalog/src/components/CatalogPage/CatalogPage.test.tsx +++ b/plugins/catalog/src/components/CatalogPage/CatalogPage.test.tsx @@ -55,7 +55,7 @@ describe('CatalogPage', () => { name: 'Entity1', }, spec: { - owner: 'tools@example.com', + owner: 'tools', type: 'service', }, relations: [ @@ -72,7 +72,7 @@ describe('CatalogPage', () => { name: 'Entity2', }, spec: { - owner: 'not-tools@example.com', + owner: 'not-tools', type: 'service', }, relations: [ @@ -108,7 +108,8 @@ describe('CatalogPage', () => { displayName: 'Display Name', }; const identityApi: Partial = { - getUserId: () => 'tools@example.com', + getUserId: () => 'tools', + getIdToken: async () => undefined, getProfile: () => testProfile, }; diff --git a/plugins/catalog/src/components/CatalogTable/CatalogTable.test.tsx b/plugins/catalog/src/components/CatalogTable/CatalogTable.test.tsx index 7867ad6f46..efbd6989e4 100644 --- a/plugins/catalog/src/components/CatalogTable/CatalogTable.test.tsx +++ b/plugins/catalog/src/components/CatalogTable/CatalogTable.test.tsx @@ -73,7 +73,11 @@ describe('CatalogTable component', () => { value={{ entities, filters: { - user: new UserListFilter('owned', undefined, () => false), + user: new UserListFilter( + 'owned', + () => false, + () => false, + ), }, }} > From 11c370af20440dc69739cf6efba12297d23c8e70 Mon Sep 17 00:00:00 2001 From: Phil Kuang Date: Mon, 12 Jul 2021 16:39:24 -0400 Subject: [PATCH 030/712] feat(catalog-backend): support filtering on property existence Signed-off-by: Phil Kuang --- .changeset/chilly-frogs-kiss.md | 5 + .changeset/five-dolls-complain.md | 5 + .changeset/lucky-boats-rescue.md | 5 + .changeset/selfish-phones-double.md | 5 + packages/catalog-client/api-report.md | 9 +- .../catalog-client/src/CatalogClient.test.ts | 10 +- packages/catalog-client/src/CatalogClient.ts | 11 ++- packages/catalog-client/src/types/api.ts | 6 +- packages/catalog-client/src/types/index.ts | 1 + plugins/catalog-backend/api-report.md | 19 ++-- .../src/database/CommonDatabase.test.ts | 92 +++++++++++++++++++ .../src/database/CommonDatabase.ts | 15 ++- plugins/catalog-backend/src/database/types.ts | 5 + .../src/next/NextEntitiesCatalog.ts | 15 ++- .../request/parseEntityFilterParams.test.ts | 14 +-- .../request/parseEntityFilterParams.ts | 27 +++--- plugins/catalog-react/api-report.md | 3 + plugins/catalog-react/src/index.ts | 1 + .../home/components/TechDocsCustomHome.tsx | 4 + 19 files changed, 205 insertions(+), 47 deletions(-) create mode 100644 .changeset/chilly-frogs-kiss.md create mode 100644 .changeset/five-dolls-complain.md create mode 100644 .changeset/lucky-boats-rescue.md create mode 100644 .changeset/selfish-phones-double.md diff --git a/.changeset/chilly-frogs-kiss.md b/.changeset/chilly-frogs-kiss.md new file mode 100644 index 0000000000..bd1c7c7f1b --- /dev/null +++ b/.changeset/chilly-frogs-kiss.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend': patch +--- + +Support filtering entities via property existence. For example you can now query with `/entities?filter=metadata.annotations.blah` to fetch all entities that has the particular property defined. diff --git a/.changeset/five-dolls-complain.md b/.changeset/five-dolls-complain.md new file mode 100644 index 0000000000..1d614019a3 --- /dev/null +++ b/.changeset/five-dolls-complain.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-react': patch +--- + +Export `CATALOG_FILTER_EXISTS` symbol diff --git a/.changeset/lucky-boats-rescue.md b/.changeset/lucky-boats-rescue.md new file mode 100644 index 0000000000..748f0cccb3 --- /dev/null +++ b/.changeset/lucky-boats-rescue.md @@ -0,0 +1,5 @@ +--- +'@backstage/catalog-client': patch +--- + +Support filtering entities via property existence diff --git a/.changeset/selfish-phones-double.md b/.changeset/selfish-phones-double.md new file mode 100644 index 0000000000..ad4880c983 --- /dev/null +++ b/.changeset/selfish-phones-double.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-techdocs': patch +--- + +Optimize load times by only fetching entities with the `backstage.io/techdocs-ref` annotation diff --git a/packages/catalog-client/api-report.md b/packages/catalog-client/api-report.md index c356deed4f..173af9aef3 100644 --- a/packages/catalog-client/api-report.md +++ b/packages/catalog-client/api-report.md @@ -25,6 +25,11 @@ export type AddLocationResponse = { entities: Entity[]; }; +// Warning: (ae-missing-release-tag) "CATALOG_FILTER_EXISTS" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export const CATALOG_FILTER_EXISTS: unique symbol; + // Warning: (ae-missing-release-tag) "CatalogApi" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) @@ -123,8 +128,8 @@ export class CatalogClient implements CatalogApi { // @public (undocumented) export type CatalogEntitiesRequest = { filter?: - | Record[] - | Record + | Record[] + | Record | undefined; fields?: string[] | undefined; }; diff --git a/packages/catalog-client/src/CatalogClient.test.ts b/packages/catalog-client/src/CatalogClient.test.ts index 4e3d95f99f..d2db98bb25 100644 --- a/packages/catalog-client/src/CatalogClient.test.ts +++ b/packages/catalog-client/src/CatalogClient.test.ts @@ -18,7 +18,7 @@ import { Entity } from '@backstage/catalog-model'; import { rest } from 'msw'; import { setupServer } from 'msw/node'; import { CatalogClient } from './CatalogClient'; -import { CatalogListResponse } from './types/api'; +import { CATALOG_FILTER_EXISTS, CatalogListResponse } from './types/api'; import { DiscoveryApi } from './types/discovery'; const server = setupServer(); @@ -83,7 +83,7 @@ describe('CatalogClient', () => { server.use( rest.get(`${mockBaseUrl}/entities`, (req, res, ctx) => { expect(req.url.search).toBe( - '?filter=a=1,b=2,b=3,%C3%B6=%3D&filter=a=2', + '?filter=a=1,b=2,b=3,%C3%B6=%3D&filter=a=2&filter=c', ); return res(ctx.json([])); }), @@ -100,6 +100,9 @@ describe('CatalogClient', () => { { a: '2', }, + { + c: CATALOG_FILTER_EXISTS, + }, ], }, { token }, @@ -113,7 +116,7 @@ describe('CatalogClient', () => { server.use( rest.get(`${mockBaseUrl}/entities`, (req, res, ctx) => { - expect(req.url.search).toBe('?filter=a=1,b=2,b=3,%C3%B6=%3D'); + expect(req.url.search).toBe('?filter=a=1,b=2,b=3,%C3%B6=%3D,c'); return res(ctx.json([])); }), ); @@ -124,6 +127,7 @@ describe('CatalogClient', () => { a: '1', b: ['2', '3'], ö: '=', + c: CATALOG_FILTER_EXISTS, }, }, { token }, diff --git a/packages/catalog-client/src/CatalogClient.ts b/packages/catalog-client/src/CatalogClient.ts index 5dfcddde0c..ef90287c37 100644 --- a/packages/catalog-client/src/CatalogClient.ts +++ b/packages/catalog-client/src/CatalogClient.ts @@ -26,6 +26,7 @@ import { import { ResponseError } from '@backstage/errors'; import fetch from 'cross-fetch'; import { + CATALOG_FILTER_EXISTS, AddLocationRequest, AddLocationResponse, CatalogApi, @@ -69,9 +70,13 @@ export class CatalogClient implements CatalogApi { const filterParts: string[] = []; for (const [key, value] of Object.entries(filterItem)) { for (const v of [value].flat()) { - filterParts.push( - `${encodeURIComponent(key)}=${encodeURIComponent(v)}`, - ); + if (v === CATALOG_FILTER_EXISTS) { + filterParts.push(encodeURIComponent(key)); + } else if (typeof v === 'string') { + filterParts.push( + `${encodeURIComponent(key)}=${encodeURIComponent(v)}`, + ); + } } } diff --git a/packages/catalog-client/src/types/api.ts b/packages/catalog-client/src/types/api.ts index ae3fd7b514..ab5193e38e 100644 --- a/packages/catalog-client/src/types/api.ts +++ b/packages/catalog-client/src/types/api.ts @@ -16,10 +16,12 @@ import { Entity, EntityName, Location } from '@backstage/catalog-model'; +export const CATALOG_FILTER_EXISTS = Symbol(); + export type CatalogEntitiesRequest = { filter?: - | Record[] - | Record + | Record[] + | Record | undefined; fields?: string[] | undefined; }; diff --git a/packages/catalog-client/src/types/index.ts b/packages/catalog-client/src/types/index.ts index 6ec17fbae1..3bfcdd7fba 100644 --- a/packages/catalog-client/src/types/index.ts +++ b/packages/catalog-client/src/types/index.ts @@ -22,4 +22,5 @@ export type { CatalogListResponse, CatalogRequestOptions, } from './api'; +export { CATALOG_FILTER_EXISTS } from './api'; export { ENTITY_STATUS_CATALOG_PROCESSING_TYPE } from './status'; diff --git a/plugins/catalog-backend/api-report.md b/plugins/catalog-backend/api-report.md index 0bf7831c6d..b6f2df602a 100644 --- a/plugins/catalog-backend/api-report.md +++ b/plugins/catalog-backend/api-report.md @@ -636,6 +636,7 @@ export type EntitiesCatalog = { export type EntitiesSearchFilter = { key: string; matchValueIn?: string[]; + matchValueExists?: boolean; }; // Warning: (ae-missing-release-tag) "entity" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) @@ -1077,16 +1078,16 @@ export class UrlReaderProcessor implements CatalogProcessor { // src/catalog/types.d.ts:44:8 - (tsdoc-param-tag-with-invalid-name) The @param block should be followed by a valid parameter name: The identifier cannot non-word characters // src/catalog/types.d.ts:45:8 - (tsdoc-param-tag-with-invalid-name) The @param block should be followed by a valid parameter name: The identifier cannot non-word characters // src/catalog/types.d.ts:75:5 - (ae-forgotten-export) The symbol "LocationUpdateLogEvent" needs to be exported by the entry point index.d.ts -// src/database/types.d.ts:121:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen -// src/database/types.d.ts:127:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen -// src/database/types.d.ts:128:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen -// src/database/types.d.ts:142:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen -// src/database/types.d.ts:143:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen -// src/database/types.d.ts:144:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen +// src/database/types.d.ts:125:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen +// src/database/types.d.ts:131:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen +// src/database/types.d.ts:132:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen // src/database/types.d.ts:146:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen -// src/database/types.d.ts:159:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen -// src/database/types.d.ts:160:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen -// src/database/types.d.ts:161:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen +// src/database/types.d.ts:147:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen +// src/database/types.d.ts:148:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen +// src/database/types.d.ts:150:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen +// src/database/types.d.ts:163:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen +// src/database/types.d.ts:164:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen +// src/database/types.d.ts:165:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen // src/ingestion/processors/GithubMultiOrgReaderProcessor.d.ts:23:9 - (ae-forgotten-export) The symbol "GithubMultiOrgConfig" needs to be exported by the entry point index.d.ts // src/ingestion/processors/types.d.ts:7:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen // src/ingestion/processors/types.d.ts:8:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen diff --git a/plugins/catalog-backend/src/database/CommonDatabase.test.ts b/plugins/catalog-backend/src/database/CommonDatabase.test.ts index 2dc3d91465..f459cbc446 100644 --- a/plugins/catalog-backend/src/database/CommonDatabase.test.ts +++ b/plugins/catalog-backend/src/database/CommonDatabase.test.ts @@ -491,6 +491,98 @@ describe('CommonDatabase', () => { ]), ); }); + + it('can get all specific entities for matching existence filters', async () => { + const entities: Entity[] = [ + { + apiVersion: 'A', + kind: 'K1', + metadata: { + name: 'N', + annotations: { + foo: 'bar', + }, + }, + spec: { c: 'SOME' }, + }, + { + apiVersion: 'a', + kind: 'k2', + metadata: { + name: 'N', + annotations: { + foo: 'bar', + }, + }, + spec: { c: 'Some' }, + }, + { + apiVersion: 'a', + kind: 'k3', + metadata: { name: 'n' }, + spec: { c: 'somE' }, + }, + ]; + + await db.transaction(async tx => { + await db.addEntities( + tx, + entities.map(entity => ({ entity, relations: [] })), + ); + }); + + const existRows = await db.transaction(async tx => + db.entities(tx, { + filter: { + anyOf: [ + { + allOf: [ + { key: 'metadata.annotations.foo', matchValueExists: true }, + ], + }, + ], + }, + }), + ); + + expect(existRows.entities.length).toEqual(2); + expect(existRows.entities).toEqual( + expect.arrayContaining([ + { + locationId: undefined, + entity: expect.objectContaining({ kind: 'K1' }), + }, + { + locationId: undefined, + entity: expect.objectContaining({ kind: 'k2' }), + }, + ]), + ); + + const nonExistRows = await db.transaction(async tx => + db.entities(tx, { + filter: { + anyOf: [ + { + allOf: [ + { key: 'metadata.annotations.foo', matchValueExists: false }, + ], + }, + ], + }, + }), + ); + + expect(nonExistRows.entities.length).toEqual(1); + expect(nonExistRows.entities).toEqual( + expect.arrayContaining([ + { + locationId: undefined, + entity: expect.objectContaining({ kind: 'k3' }), + }, + ]), + ); + }); }); describe('setRelations', () => { diff --git a/plugins/catalog-backend/src/database/CommonDatabase.ts b/plugins/catalog-backend/src/database/CommonDatabase.ts index b4f76d5cbc..272ac08c4c 100644 --- a/plugins/catalog-backend/src/database/CommonDatabase.ts +++ b/plugins/catalog-backend/src/database/CommonDatabase.ts @@ -218,7 +218,11 @@ export class CommonDatabase implements Database { for (const singleFilter of request?.filter?.anyOf ?? []) { entitiesQuery = entitiesQuery.orWhere(function singleFilterFn() { - for (const { key, matchValueIn } of singleFilter.allOf) { + for (const { + key, + matchValueIn, + matchValueExists, + } of singleFilter.allOf) { // NOTE(freben): This used to be a set of OUTER JOIN, which may seem to // make a lot of sense. However, it had abysmal performance on sqlite // when datasets grew large, so we're using IN instead. @@ -226,7 +230,7 @@ export class CommonDatabase implements Database { .select('entity_id') .where(function keyFilter() { this.andWhere({ key: key.toLowerCase() }); - if (matchValueIn) { + if (matchValueExists !== false && matchValueIn) { if (matchValueIn.length === 1) { this.andWhere({ value: matchValueIn[0].toLowerCase() }); } else if (matchValueIn.length > 1) { @@ -238,7 +242,12 @@ export class CommonDatabase implements Database { } } }); - this.andWhere('id', 'in', matchQuery); + // Explicitly evaluate matchValueExists as a boolean since it may be undefined + this.andWhere( + 'id', + matchValueExists === false ? 'not in' : 'in', + matchQuery, + ); } }); } diff --git a/plugins/catalog-backend/src/database/types.ts b/plugins/catalog-backend/src/database/types.ts index 3a3bbb7f1e..e1a253decc 100644 --- a/plugins/catalog-backend/src/database/types.ts +++ b/plugins/catalog-backend/src/database/types.ts @@ -118,6 +118,11 @@ export type EntitiesSearchFilter = { * case insensitive. */ matchValueIn?: string[]; + + /** + * Match on existence of key. + */ + matchValueExists?: boolean; }; /** diff --git a/plugins/catalog-backend/src/next/NextEntitiesCatalog.ts b/plugins/catalog-backend/src/next/NextEntitiesCatalog.ts index f3921602e2..7cc99210c9 100644 --- a/plugins/catalog-backend/src/next/NextEntitiesCatalog.ts +++ b/plugins/catalog-backend/src/next/NextEntitiesCatalog.ts @@ -78,7 +78,11 @@ export class NextEntitiesCatalog implements EntitiesCatalog { for (const singleFilter of request?.filter?.anyOf ?? []) { entitiesQuery = entitiesQuery.orWhere(function singleFilterFn() { - for (const { key, matchValueIn } of singleFilter.allOf) { + for (const { + key, + matchValueIn, + matchValueExists, + } of singleFilter.allOf) { // NOTE(freben): This used to be a set of OUTER JOIN, which may seem to // make a lot of sense. However, it had abysmal performance on sqlite // when datasets grew large, so we're using IN instead. @@ -86,7 +90,7 @@ export class NextEntitiesCatalog implements EntitiesCatalog { .select('entity_id') .where(function keyFilter() { this.andWhere({ key: key.toLowerCase() }); - if (matchValueIn) { + if (matchValueExists !== false && matchValueIn) { if (matchValueIn.length === 1) { this.andWhere({ value: matchValueIn[0].toLowerCase() }); } else if (matchValueIn.length > 1) { @@ -98,7 +102,12 @@ export class NextEntitiesCatalog implements EntitiesCatalog { } } }); - this.andWhere('entity_id', 'in', matchQuery); + // Explicitly evaluate matchValueExists as a boolean since it may be undefined + this.andWhere( + 'entity_id', + matchValueExists === false ? 'not in' : 'in', + matchQuery, + ); } }); } diff --git a/plugins/catalog-backend/src/service/request/parseEntityFilterParams.test.ts b/plugins/catalog-backend/src/service/request/parseEntityFilterParams.test.ts index e2b953ddef..fc22a638de 100644 --- a/plugins/catalog-backend/src/service/request/parseEntityFilterParams.test.ts +++ b/plugins/catalog-backend/src/service/request/parseEntityFilterParams.test.ts @@ -69,9 +69,11 @@ describe('parseEntityFilterParams', () => { describe('parseEntityFilterString', () => { it('works for the happy path', () => { expect(parseEntityFilterString('')).toBeUndefined(); - expect(parseEntityFilterString('a=1,b=2,a=3')).toEqual([ + expect(parseEntityFilterString('a=1,b=2,a=3,c,d=')).toEqual([ { key: 'a', matchValueIn: ['1', '3'] }, { key: 'b', matchValueIn: ['2'] }, + { key: 'c', matchValueExists: true }, + { key: 'd', matchValueIn: [''] }, ]); }); @@ -83,17 +85,11 @@ describe('parseEntityFilterString', () => { }); it('rejects malformed strings', () => { - expect(() => parseEntityFilterString('x=2,a=')).toThrow( - "Invalid filter, 'a=' is not a valid statement (expected a string on the form a=b)", - ); expect(() => parseEntityFilterString('x=2,=a')).toThrow( - "Invalid filter, '=a' is not a valid statement (expected a string on the form a=b)", + "Invalid filter, '=a' is not a valid statement (expected a string on the form a=b or a= or a)", ); expect(() => parseEntityFilterString('x=2,=')).toThrow( - "Invalid filter, '=' is not a valid statement (expected a string on the form a=b)", - ); - expect(() => parseEntityFilterString('x=2,a')).toThrow( - "Invalid filter, 'a' is not a valid statement (expected a string on the form a=b)", + "Invalid filter, '=' is not a valid statement (expected a string on the form a=b or a= or a)", ); }); }); diff --git a/plugins/catalog-backend/src/service/request/parseEntityFilterParams.ts b/plugins/catalog-backend/src/service/request/parseEntityFilterParams.ts index 154a25c541..c63b366bc7 100644 --- a/plugins/catalog-backend/src/service/request/parseEntityFilterParams.ts +++ b/plugins/catalog-backend/src/service/request/parseEntityFilterParams.ts @@ -61,25 +61,26 @@ export function parseEntityFilterString( for (const statement of statements) { const equalsIndex = statement.indexOf('='); - if (equalsIndex < 1) { - throw new InputError( - `Invalid filter, '${statement}' is not a valid statement (expected a string on the form a=b)`, - ); - } - const key = statement.substr(0, equalsIndex).trim(); - const value = statement.substr(equalsIndex + 1).trim(); - if (!key || !value) { + const key = + equalsIndex === -1 ? statement : statement.substr(0, equalsIndex).trim(); + const value = + equalsIndex === -1 ? undefined : statement.substr(equalsIndex + 1).trim(); + if (!key) { throw new InputError( - `Invalid filter, '${statement}' is not a valid statement (expected a string on the form a=b)`, + `Invalid filter, '${statement}' is not a valid statement (expected a string on the form a=b or a= or a)`, ); } const f = - key in filtersByKey - ? filtersByKey[key] - : (filtersByKey[key] = { key, matchValueIn: [] }); - f.matchValueIn!.push(value); + key in filtersByKey ? filtersByKey[key] : (filtersByKey[key] = { key }); + + if (value === undefined) { + f.matchValueExists = true; + } else { + f.matchValueIn = f.matchValueIn || []; + f.matchValueIn.push(value); + } } return Object.values(filtersByKey); diff --git a/plugins/catalog-react/api-report.md b/plugins/catalog-react/api-report.md index 2555cc7c0c..01c88be089 100644 --- a/plugins/catalog-react/api-report.md +++ b/plugins/catalog-react/api-report.md @@ -7,6 +7,7 @@ import { ApiRef } from '@backstage/core-plugin-api'; import { AsyncState } from 'react-use/lib/useAsync'; +import { CATALOG_FILTER_EXISTS } from '@backstage/catalog-client'; import { CatalogApi } from '@backstage/catalog-client'; import { ComponentEntity } from '@backstage/catalog-model'; import { Context } from 'react'; @@ -22,6 +23,8 @@ import { SystemEntity } from '@backstage/catalog-model'; import { TableColumn } from '@backstage/core-components'; import { UserEntity } from '@backstage/catalog-model'; +export { CATALOG_FILTER_EXISTS }; + export { CatalogApi }; // Warning: (ae-missing-release-tag) "catalogApiRef" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) diff --git a/plugins/catalog-react/src/index.ts b/plugins/catalog-react/src/index.ts index 4ee613012d..4e005c0cdc 100644 --- a/plugins/catalog-react/src/index.ts +++ b/plugins/catalog-react/src/index.ts @@ -14,6 +14,7 @@ * limitations under the License. */ export type { CatalogApi } from '@backstage/catalog-client'; +export { CATALOG_FILTER_EXISTS } from '@backstage/catalog-client'; export { catalogApiRef } from './api'; export * from './components'; export * from './hooks'; diff --git a/plugins/techdocs/src/home/components/TechDocsCustomHome.tsx b/plugins/techdocs/src/home/components/TechDocsCustomHome.tsx index c5d05f1474..649d69ed8a 100644 --- a/plugins/techdocs/src/home/components/TechDocsCustomHome.tsx +++ b/plugins/techdocs/src/home/components/TechDocsCustomHome.tsx @@ -19,6 +19,7 @@ import { useAsync } from 'react-use'; import { makeStyles } from '@material-ui/core'; import { CSSProperties } from '@material-ui/styles'; import { + CATALOG_FILTER_EXISTS, catalogApiRef, CatalogApi, isOwnerOf, @@ -125,6 +126,9 @@ export const TechDocsCustomHome = ({ const { value: entities, loading, error } = useAsync(async () => { const response = await catalogApi.getEntities({ + filter: { + 'metadata.annotations.backstage.io/techdocs-ref': CATALOG_FILTER_EXISTS, + }, fields: [ 'apiVersion', 'kind', From 2d2d05c4b068d37f6ad3deadbc88fc50d14dadbd Mon Sep 17 00:00:00 2001 From: Phil Kuang Date: Sun, 25 Jul 2021 10:04:14 -0400 Subject: [PATCH 031/712] Update packages/catalog-client/src/types/api.ts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Fredrik Adelöw Signed-off-by: Phil Kuang --- packages/catalog-client/src/types/api.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/catalog-client/src/types/api.ts b/packages/catalog-client/src/types/api.ts index ab5193e38e..d30caa50d6 100644 --- a/packages/catalog-client/src/types/api.ts +++ b/packages/catalog-client/src/types/api.ts @@ -16,7 +16,7 @@ import { Entity, EntityName, Location } from '@backstage/catalog-model'; -export const CATALOG_FILTER_EXISTS = Symbol(); +export const CATALOG_FILTER_EXISTS = Symbol('CATALOG_FILTER_EXISTS'); export type CatalogEntitiesRequest = { filter?: From b917365cf907b80fed240b821e017d369e4532bc Mon Sep 17 00:00:00 2001 From: Oliver Sand Date: Mon, 26 Jul 2021 13:18:36 +0200 Subject: [PATCH 032/712] Change `` design to follow Figma Signed-off-by: Oliver Sand --- .changeset/search-lucky-roses-wash.md | 6 +++ .../components/SearchType/SearchType.test.tsx | 31 +++---------- .../src/components/SearchType/SearchType.tsx | 45 ++++++++++--------- 3 files changed, 38 insertions(+), 44 deletions(-) create mode 100644 .changeset/search-lucky-roses-wash.md diff --git a/.changeset/search-lucky-roses-wash.md b/.changeset/search-lucky-roses-wash.md new file mode 100644 index 0000000000..f2445ddc8d --- /dev/null +++ b/.changeset/search-lucky-roses-wash.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-search': patch +--- + +Change `` design to follow Figma and be similar to existing multi +selects in Backstage. diff --git a/plugins/search/src/components/SearchType/SearchType.test.tsx b/plugins/search/src/components/SearchType/SearchType.test.tsx index 1ca032e41d..b8bf59d13e 100644 --- a/plugins/search/src/components/SearchType/SearchType.test.tsx +++ b/plugins/search/src/components/SearchType/SearchType.test.tsx @@ -14,13 +14,12 @@ * limitations under the License. */ -import React from 'react'; -import { screen, render, waitFor } from '@testing-library/react'; -import userEvent from '@testing-library/user-event'; -import { SearchType } from './SearchType'; - -import { SearchContextProvider } from '../SearchContext'; import { useApi } from '@backstage/core-plugin-api'; +import { render, screen, waitFor } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; +import React from 'react'; +import { SearchContextProvider } from '../SearchContext'; +import { SearchType } from './SearchType'; jest.mock('@backstage/core-plugin-api', () => ({ ...jest.requireActual('@backstage/core-plugin-api'), @@ -101,9 +100,6 @@ describe('SearchType', () => { expect( screen.getByRole('option', { name: values[1] }), ).not.toHaveAttribute('aria-selected'); - expect(screen.getByRole('option', { name: 'All' })).not.toHaveAttribute( - 'aria-selected', - ); }); it('Renders correctly based on type filter defaultValue', async () => { @@ -130,9 +126,6 @@ describe('SearchType', () => { expect( screen.getByRole('option', { name: values[1] }), ).not.toHaveAttribute('aria-selected'); - expect(screen.getByRole('option', { name: 'All' })).not.toHaveAttribute( - 'aria-selected', - ); }); it('Selecting a value sets type filter state', async () => { @@ -169,19 +162,9 @@ describe('SearchType', () => { await waitFor(() => { expect(screen.getByRole('listbox')).toBeInTheDocument(); }); - - userEvent.click(screen.getByRole('option', { name: 'All' })); - - await waitFor(() => { - expect(query).toHaveBeenLastCalledWith( - expect.objectContaining({ - types: [], - }), - ); - }); }); - it('Selecting a value maintains unrelated filter state, selecting All defaults to default empty state', async () => { + it('Selecting none defaults to empty state', async () => { render( { expect(screen.getByRole('listbox')).toBeInTheDocument(); }); - userEvent.click(screen.getByRole('option', { name: 'All' })); + userEvent.click(screen.getByRole('option', { name: values[0] })); await waitFor(() => { expect(query).toHaveBeenLastCalledWith(expect.objectContaining([])); diff --git a/plugins/search/src/components/SearchType/SearchType.tsx b/plugins/search/src/components/SearchType/SearchType.tsx index 6e57879064..5290caa0b7 100644 --- a/plugins/search/src/components/SearchType/SearchType.tsx +++ b/plugins/search/src/components/SearchType/SearchType.tsx @@ -13,30 +13,33 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { useSearch } from '../SearchContext'; -import { useEffectOnce } from 'react-use'; -import React, { ChangeEvent } from 'react'; import { + Checkbox, Chip, FormControl, InputLabel, + ListItemText, makeStyles, MenuItem, Select, } from '@material-ui/core'; +import React, { ChangeEvent } from 'react'; +import { useEffectOnce } from 'react-use'; +import { useSearch } from '../SearchContext'; -const useStyles = makeStyles({ +const useStyles = makeStyles(theme => ({ label: { textTransform: 'capitalize', }, chips: { display: 'flex', flexWrap: 'wrap', + marginTop: theme.spacing(1), }, chip: { margin: 2, }, -}); +})); export type SearchTypeProps = { className?: string; @@ -55,20 +58,18 @@ const SearchType = ({ const { types, setTypes } = useSearch(); useEffectOnce(() => { - if (defaultValue && Array.isArray(defaultValue)) { - setTypes(defaultValue); - } else if (defaultValue) { - setTypes([defaultValue]); + if (!types.length) { + if (defaultValue && Array.isArray(defaultValue)) { + setTypes(defaultValue); + } else if (defaultValue) { + setTypes([defaultValue]); + } } }); const handleChange = (e: ChangeEvent<{ value: unknown }>) => { const value = e.target.value as string[]; - if (!value || value.includes('*')) { - setTypes([]); - } else { - setTypes(value.filter(it => it !== 'All')); - } + setTypes(value as string[]); }; return ( @@ -84,22 +85,26 @@ const SearchType = ({ From 5948fd8fce3975f311961905ef285b4b89df228c Mon Sep 17 00:00:00 2001 From: Nicolas Torres Date: Tue, 27 Jul 2021 11:19:30 +0200 Subject: [PATCH 033/712] Warning panel uses darkmode properly Updates related tests Signed-off-by: Nicolas Torres --- .../WarningPanel/WarningPanel.test.tsx | 61 ++++++++++--- .../components/WarningPanel/WarningPanel.tsx | 88 +++++++++++-------- .../GroupsExplorerContent.test.tsx | 4 +- .../components/FossaCard/FossaCard.test.tsx | 4 +- 4 files changed, 100 insertions(+), 57 deletions(-) diff --git a/packages/core-components/src/components/WarningPanel/WarningPanel.test.tsx b/packages/core-components/src/components/WarningPanel/WarningPanel.test.tsx index 36b5372900..5a6f49b689 100644 --- a/packages/core-components/src/components/WarningPanel/WarningPanel.test.tsx +++ b/packages/core-components/src/components/WarningPanel/WarningPanel.test.tsx @@ -17,22 +17,39 @@ import React from 'react'; import { fireEvent, screen } from '@testing-library/react'; import { renderInTestApp } from '@backstage/test-utils'; -import { Typography } from '@material-ui/core'; +import { ThemeProvider, Typography } from '@material-ui/core'; -import { WarningPanel } from './WarningPanel'; +import { WarningPanel, WarningProps } from './WarningPanel'; +import { lightTheme } from '@backstage/theme'; -const propsTitle = { title: 'Mock title' }; -const propsTitleMessage = { title: 'Mock title', message: 'Some more info' }; -const propsMessage = { message: 'Some more info' }; +const propsTitle: WarningProps = { title: 'Mock title' }; +const propsTitleMessage: WarningProps = { + title: 'Mock title', + message: 'Some more info', +}; +const propsMessage: WarningProps = { message: 'Some more info' }; +const propsErrorMessage: WarningProps = { + severity: 'error', + title: 'Mock title', + message: 'Some more info', +}; describe('', () => { it('renders without exploding', async () => { - await renderInTestApp(); + await renderInTestApp( + + + , + ); expect(screen.getByText('Warning: Mock title')).toBeInTheDocument(); }); it('renders title', async () => { - await renderInTestApp(); + await renderInTestApp( + + + , + ); const expandIcon = await screen.getByText('Warning: Mock title'); fireEvent.click(expandIcon); expect(screen.getByText('Warning: Mock title')).toBeInTheDocument(); @@ -41,27 +58,43 @@ describe('', () => { it('renders title and children', async () => { await renderInTestApp( - - Java stacktrace - , + + + Java stacktrace + + , ); expect(screen.getByText('Java stacktrace')).toBeInTheDocument(); }); it('renders message', async () => { - await renderInTestApp(); + await renderInTestApp( + + + , + ); expect(screen.getByText('Warning')).toBeInTheDocument(); expect(screen.getByText('Some more info')).toBeInTheDocument(); }); it('renders title, message, and children', async () => { await renderInTestApp( - - Java stacktrace - , + + + Java stacktrace + + , ); expect(screen.getByText('Warning: Mock title')).toBeInTheDocument(); expect(screen.getByText('Some more info')).toBeInTheDocument(); expect(screen.getByText('Java stacktrace')).toBeInTheDocument(); }); + it('renders message using severity', async () => { + await renderInTestApp( + + + , + ); + expect(screen.getByText('Error: Mock title')).toBeInTheDocument(); + }); }); diff --git a/packages/core-components/src/components/WarningPanel/WarningPanel.tsx b/packages/core-components/src/components/WarningPanel/WarningPanel.tsx index 23bd825787..e6188172b7 100644 --- a/packages/core-components/src/components/WarningPanel/WarningPanel.tsx +++ b/packages/core-components/src/components/WarningPanel/WarningPanel.tsx @@ -13,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - import { BackstageTheme } from '@backstage/theme'; import { Accordion, @@ -22,60 +21,61 @@ import { Grid, makeStyles, Typography, + darken, + lighten, } from '@material-ui/core'; import ErrorOutline from '@material-ui/icons/ErrorOutline'; import ExpandMoreIcon from '@material-ui/icons/ExpandMore'; import React from 'react'; const getWarningTextColor = ( - severity: Props['severity'], + severity: NonNullable, theme: BackstageTheme, ) => { - switch (severity) { - case 'error': - return theme.palette.errorText; - case 'info': - return theme.palette.infoText; - default: - return theme.palette.warningText; - } + const getColor = theme.palette.type === 'light' ? darken : lighten; + return getColor(theme.palette[severity].light, 0.6); }; const getWarningBackgroundColor = ( - severity: Props['severity'], + severity: NonNullable, theme: BackstageTheme, ) => { - switch (severity) { - case 'error': - return theme.palette.errorBackground; - case 'info': - return theme.palette.infoBackground; - default: - return theme.palette.warningBackground; - } + const getBackgroundColor = theme.palette.type === 'light' ? lighten : darken; + return getBackgroundColor(theme.palette[severity].light, 0.9); }; const useErrorOutlineStyles = makeStyles(theme => ({ root: { marginRight: theme.spacing(1), - fill: ({ severity }: Props) => getWarningTextColor(severity, theme), + fill: ({ severity }: WarningProps) => + getWarningTextColor( + severity as NonNullable, + theme, + ), }, })); -const ErrorOutlineStyled = ({ severity }: Pick) => { +const ErrorOutlineStyled = ({ severity }: Pick) => { const classes = useErrorOutlineStyles({ severity }); return ; }; -const ExpandMoreIconStyled = ({ severity }: Pick) => { +const ExpandMoreIconStyled = ({ severity }: Pick) => { const classes = useErrorOutlineStyles({ severity }); return ; }; const useStyles = makeStyles(theme => ({ panel: { - backgroundColor: ({ severity }: Props) => - getWarningBackgroundColor(severity, theme), - color: ({ severity }: Props) => getWarningTextColor(severity, theme), + backgroundColor: ({ severity }: WarningProps) => + getWarningBackgroundColor( + severity as NonNullable, + theme, + ), + color: ({ severity }: WarningProps) => + getWarningTextColor( + severity as NonNullable, + theme, + ), verticalAlign: 'middle', }, summary: { @@ -83,15 +83,26 @@ const useStyles = makeStyles(theme => ({ flexDirection: 'row', }, summaryText: { - color: ({ severity }: Props) => getWarningTextColor(severity, theme), + color: ({ severity }: WarningProps) => + getWarningTextColor( + severity as NonNullable, + theme, + ), fontWeight: 'bold', }, message: { width: '100%', display: 'block', - color: ({ severity }: Props) => getWarningTextColor(severity, theme), - backgroundColor: ({ severity }: Props) => - getWarningBackgroundColor(severity, theme), + color: ({ severity }: WarningProps) => + getWarningTextColor( + severity as NonNullable, + theme, + ), + backgroundColor: ({ severity }: WarningProps) => + getWarningBackgroundColor( + severity as NonNullable, + theme, + ), }, details: { width: '100%', @@ -104,7 +115,7 @@ const useStyles = makeStyles(theme => ({ }, })); -type Props = { +export type WarningProps = { title?: string; severity?: 'warning' | 'error' | 'info'; message?: React.ReactNode; @@ -126,15 +137,14 @@ const capitalize = (s: string) => { * @param {Object} [children] Objects to provide context, such as a stack trace or detailed error reporting. * Will be available inside an unfolded accordion. */ -export const WarningPanel = (props: Props) => { - const classes = useStyles(props); - const { - severity = 'warning', - title, - message, - children, - defaultExpanded, - } = props; +export const WarningPanel = ({ + severity = 'warning', + title, + message, + children, + defaultExpanded, +}: WarningProps) => { + const classes = useStyles({ severity }); // If no severity or title provided, the heading will read simply "Warning" const subTitle = capitalize(severity) + (title ? `: ${title}` : ''); diff --git a/plugins/explore/src/components/GroupsExplorerContent/GroupsExplorerContent.test.tsx b/plugins/explore/src/components/GroupsExplorerContent/GroupsExplorerContent.test.tsx index 6953cf57a2..7b3a73673e 100644 --- a/plugins/explore/src/components/GroupsExplorerContent/GroupsExplorerContent.test.tsx +++ b/plugins/explore/src/components/GroupsExplorerContent/GroupsExplorerContent.test.tsx @@ -100,7 +100,7 @@ describe('', () => { const catalogError = new Error('Network timeout'); catalogApi.getEntities.mockRejectedValueOnce(catalogError); - const { getByText } = await renderInTestApp( + const { getAllByText } = await renderInTestApp( , @@ -108,7 +108,7 @@ describe('', () => { ); await waitFor(() => - expect(getByText(/Warning: Network timeout/)).toBeInTheDocument(), + expect(getAllByText(/Error: Network timeout/).length).not.toBe(0), ); }); }); diff --git a/plugins/fossa/src/components/FossaCard/FossaCard.test.tsx b/plugins/fossa/src/components/FossaCard/FossaCard.test.tsx index 3c771bd7d6..79b401e4a8 100644 --- a/plugins/fossa/src/components/FossaCard/FossaCard.test.tsx +++ b/plugins/fossa/src/components/FossaCard/FossaCard.test.tsx @@ -74,7 +74,7 @@ describe('', () => { fossaApi.getFindingSummary.mockRejectedValue(new Error('My Error')); - const { getByText } = await renderInTestApp( + const { getAllByText } = await renderInTestApp( @@ -82,7 +82,7 @@ describe('', () => { , ); - expect(getByText(/Warning: My Error/i)).toBeInTheDocument(); + expect(getAllByText(/Error: My Error/i).length).not.toBe(0); }); it('shows empty', async () => { From 53d2b8038efcdefb1933f172933a9f1494422feb Mon Sep 17 00:00:00 2001 From: Nicolas Torres Date: Tue, 27 Jul 2021 11:21:02 +0200 Subject: [PATCH 034/712] Renames component to EntityProcessingErrorsPanel Only checks for catalog processing type of errors now Signed-off-by: Nicolas Torres --- .../EntityProcessingErrorsPanel.test.tsx} | 36 ++++++++++++------- .../EntityProcessingErrorsPanel.tsx} | 30 ++++++++++------ .../index.ts | 5 ++- plugins/catalog/src/index.ts | 2 +- 4 files changed, 48 insertions(+), 25 deletions(-) rename plugins/catalog/src/components/{EntityProcessErrors/EntityProcessErrors.test.tsx => EntityProcessingErrorsPanel/EntityProcessingErrorsPanel.test.tsx} (72%) rename plugins/catalog/src/components/{EntityProcessErrors/EntityProcessErrors.tsx => EntityProcessingErrorsPanel/EntityProcessingErrorsPanel.tsx} (53%) rename plugins/catalog/src/components/{EntityProcessErrors => EntityProcessingErrorsPanel}/index.ts (84%) diff --git a/plugins/catalog/src/components/EntityProcessErrors/EntityProcessErrors.test.tsx b/plugins/catalog/src/components/EntityProcessingErrorsPanel/EntityProcessingErrorsPanel.test.tsx similarity index 72% rename from plugins/catalog/src/components/EntityProcessErrors/EntityProcessErrors.test.tsx rename to plugins/catalog/src/components/EntityProcessingErrorsPanel/EntityProcessingErrorsPanel.test.tsx index 28f4f92a27..a4e284a0eb 100644 --- a/plugins/catalog/src/components/EntityProcessErrors/EntityProcessErrors.test.tsx +++ b/plugins/catalog/src/components/EntityProcessingErrorsPanel/EntityProcessingErrorsPanel.test.tsx @@ -18,9 +18,8 @@ import { EntityProvider } from '@backstage/plugin-catalog-react'; import { renderInTestApp } from '@backstage/test-utils'; import React from 'react'; -import { EntityProcessErrors } from './EntityProcessErrors'; +import { EntityProcessingErrorsPanel } from './EntityProcessingErrorsPanel'; import { Entity } from '@backstage/catalog-model'; -import { waitFor } from '@testing-library/react'; describe('', () => { it('renders EntityProcessErrors if the entity has errors', async () => { @@ -55,6 +54,20 @@ describe('', () => { }, }, }, + { + type: 'foo', + level: 'error', + message: 'InputError: This should not be rendered', + error: { + name: 'InputError', + message: 'Foo', + cause: { + name: 'Error', + message: + 'Malformed envelope, /metadata/labels should be object', + }, + }, + }, { type: 'backstage.io/catalog-processing', level: 'error', @@ -73,19 +86,18 @@ describe('', () => { }, }; - const { getByText } = await renderInTestApp( + const { getByText, queryByText } = await renderInTestApp( - + , ); - await waitFor(() => { - expect( - getByText( - 'Error: Policy check failed; caused by Error: Malformed envelope, /metadata/labels should be object', - ), - ).toBeInTheDocument(); - expect(getByText('Error: Foo')).toBeInTheDocument(); - }); + expect( + getByText( + 'Error: Policy check failed; caused by Error: Malformed envelope, /metadata/labels should be object', + ), + ).toBeInTheDocument(); + expect(getByText('Error: Foo')).toBeInTheDocument(); + expect(queryByText('Error: This should not be rendered')).toBeNull(); }); }); diff --git a/plugins/catalog/src/components/EntityProcessErrors/EntityProcessErrors.tsx b/plugins/catalog/src/components/EntityProcessingErrorsPanel/EntityProcessingErrorsPanel.tsx similarity index 53% rename from plugins/catalog/src/components/EntityProcessErrors/EntityProcessErrors.tsx rename to plugins/catalog/src/components/EntityProcessingErrorsPanel/EntityProcessingErrorsPanel.tsx index 3d1210290a..565ffc30e3 100644 --- a/plugins/catalog/src/components/EntityProcessErrors/EntityProcessErrors.tsx +++ b/plugins/catalog/src/components/EntityProcessingErrorsPanel/EntityProcessingErrorsPanel.tsx @@ -14,30 +14,38 @@ * limitations under the License. */ -import { Entity } from '@backstage/catalog-model'; +import { Entity, UNSTABLE_EntityStatusItem } from '@backstage/catalog-model'; import { useEntity } from '@backstage/plugin-catalog-react'; import { Box } from '@material-ui/core'; import React from 'react'; import { ResponseErrorPanel } from '@backstage/core-components'; +import { ENTITY_STATUS_CATALOG_PROCESSING_TYPE } from '../../../../../packages/catalog-client/src'; -export const hasErrors = (entity: Entity) => entity?.status?.items?.length! > 0; +const errorfilter = (i: UNSTABLE_EntityStatusItem) => + i.error && + i.level === 'error' && + i.type === ENTITY_STATUS_CATALOG_PROCESSING_TYPE; + +export const hasCatalogProcessingErrors = (entity: Entity) => + entity?.status?.items?.filter(errorfilter).length! > 0; /** * Displays a list of errors if the entity is invalid. */ -export const EntityProcessErrors = () => { +export const EntityProcessingErrorsPanel = () => { const { entity } = useEntity(); + const catalogProcessingErrors = + (entity?.status?.items?.filter( + errorfilter, + ) as Required[]) || []; return ( <> - {entity?.status?.items?.map( - ({ error }, index) => - error && ( - - - - ), - )} + {catalogProcessingErrors.map(({ error }, index) => ( + + + + ))} ); }; diff --git a/plugins/catalog/src/components/EntityProcessErrors/index.ts b/plugins/catalog/src/components/EntityProcessingErrorsPanel/index.ts similarity index 84% rename from plugins/catalog/src/components/EntityProcessErrors/index.ts rename to plugins/catalog/src/components/EntityProcessingErrorsPanel/index.ts index 10d6d04ed2..1af2c80484 100644 --- a/plugins/catalog/src/components/EntityProcessErrors/index.ts +++ b/plugins/catalog/src/components/EntityProcessingErrorsPanel/index.ts @@ -14,4 +14,7 @@ * limitations under the License. */ -export { EntityProcessErrors, hasErrors } from './EntityProcessErrors'; +export { + EntityProcessingErrorsPanel, + hasCatalogProcessingErrors, +} from './EntityProcessingErrorsPanel'; diff --git a/plugins/catalog/src/index.ts b/plugins/catalog/src/index.ts index 6934843228..fd542fafa3 100644 --- a/plugins/catalog/src/index.ts +++ b/plugins/catalog/src/index.ts @@ -23,7 +23,7 @@ export * from './components/CatalogTable/columns'; export * from './components/CreateComponentButton'; export * from './components/EntityLayout'; export * from './components/EntityOrphanWarning'; -export * from './components/EntityProcessErrors'; +export * from './components/EntityProcessingErrorsPanel'; export * from './components/EntityPageLayout'; export * from './components/EntitySwitch'; export * from './components/FilteredEntityLayout'; From e45382c2df452b497af3b1cb8d5e95ab3d068292 Mon Sep 17 00:00:00 2001 From: Nicolas Torres Date: Tue, 27 Jul 2021 11:23:07 +0200 Subject: [PATCH 035/712] Adds EntityOrphanWarning and EntityProcessingErrorsPanel to create-app Signed-off-by: Nicolas Torres --- .../app/src/components/catalog/EntityPage.tsx | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/packages/create-app/templates/default-app/packages/app/src/components/catalog/EntityPage.tsx b/packages/create-app/templates/default-app/packages/app/src/components/catalog/EntityPage.tsx index 2074a2712c..9a4659c65a 100644 --- a/packages/create-app/templates/default-app/packages/app/src/components/catalog/EntityPage.tsx +++ b/packages/create-app/templates/default-app/packages/app/src/components/catalog/EntityPage.tsx @@ -35,8 +35,12 @@ import { EntityLayout, EntityLinksCard, EntitySwitch, + EntityOrphanWarning, + EntityProcessingErrorsPanel, isComponentType, isKind, + hasCatalogProcessingErrors, + isOrphan, } from '@backstage/plugin-catalog'; import { isGithubActionsAvailable, @@ -80,6 +84,22 @@ const cicdContent = ( const overviewContent = ( + + + + + + + + + + + + + + + + From 39ab9a4150d0a27d19879b6a0395190beae9b8f7 Mon Sep 17 00:00:00 2001 From: Nicolas Torres Date: Tue, 27 Jul 2021 11:24:28 +0200 Subject: [PATCH 036/712] Updates changeset and adds EntityProcessingErrorsPanel to entitypage Signed-off-by: Nicolas Torres --- .changeset/tricky-trains-change.md | 29 +++++++++++++++---- .../app/src/components/catalog/EntityPage.tsx | 9 +++--- plugins/catalog/api-report.md | 2 +- 3 files changed, 30 insertions(+), 10 deletions(-) diff --git a/.changeset/tricky-trains-change.md b/.changeset/tricky-trains-change.md index 95fa8e3398..391dee0eb1 100644 --- a/.changeset/tricky-trains-change.md +++ b/.changeset/tricky-trains-change.md @@ -1,8 +1,27 @@ --- -'example-app': minor -'@backstage/core-components': minor -'@backstage/plugin-catalog': minor +'@backstage/core-components': patch +'@backstage/plugin-catalog': patch --- -Displays errors in the entity page if the entity yaml is malformed -WarningPanel changes color depending on the severity +Added an EntityProcessingErrorsPanel component to show any errors that occurred when refreshing an entity from its source location. If upgrading, this should be added to EntityPage in your Backstage application: + +```diff +// packages/app/src/components/catalog/EntityPage.tsx + +const overviewContent = ( +... + + + + ++ ++ ++ ++ ++ ++ ++ + +``` + +Additionally, WarningPanel now changes color based on the provided severity. diff --git a/packages/app/src/components/catalog/EntityPage.tsx b/packages/app/src/components/catalog/EntityPage.tsx index a793c20b86..d84a7341bc 100644 --- a/packages/app/src/components/catalog/EntityPage.tsx +++ b/packages/app/src/components/catalog/EntityPage.tsx @@ -40,8 +40,8 @@ import { isKind, EntityHasResourcesCard, EntityOrphanWarning, - EntityProcessErrors, - hasErrors, + EntityProcessingErrorsPanel, + hasCatalogProcessingErrors, isOrphan, } from '@backstage/plugin-catalog'; import { @@ -232,10 +232,11 @@ const overviewContent = ( + - + - + diff --git a/plugins/catalog/api-report.md b/plugins/catalog/api-report.md index 9deda407d7..b7aece991b 100644 --- a/plugins/catalog/api-report.md +++ b/plugins/catalog/api-report.md @@ -366,7 +366,7 @@ export const FilteredEntityLayout: ({ // Warning: (ae-missing-release-tag) "hasErrors" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -export const hasErrors: (entity: Entity) => boolean; +export const hasCatalogProcessingErrors: (entity: Entity) => boolean; // Warning: (ae-missing-release-tag) "isComponentType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // From e005199de405e67b757bfc356de5820a27bc302f Mon Sep 17 00:00:00 2001 From: Nicolas Torres Date: Tue, 27 Jul 2021 11:44:30 +0200 Subject: [PATCH 037/712] adds api-report Signed-off-by: Nicolas Torres --- packages/core-components/api-report.md | 26 ++++++++++++++++---------- plugins/catalog/api-report.md | 6 +++--- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/packages/core-components/api-report.md b/packages/core-components/api-report.md index ccafa4cfa7..993f3a7e84 100644 --- a/packages/core-components/api-report.md +++ b/packages/core-components/api-report.md @@ -80,7 +80,7 @@ export const Avatar: ({ // Warning: (ae-missing-release-tag) "Breadcrumbs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -export const Breadcrumbs: ({ children, ...props }: Props_25) => JSX.Element; +export const Breadcrumbs: ({ children, ...props }: Props_24) => JSX.Element; // Warning: (ae-missing-release-tag) "BrokenImageIcon" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // @@ -441,7 +441,7 @@ export const Content: ({ noPadding, children, ...props -}: PropsWithChildren) => JSX.Element; +}: PropsWithChildren) => JSX.Element; // Warning: (ae-forgotten-export) The symbol "ContentHeaderProps" needs to be exported by the entry point index.d.ts // Warning: (ae-missing-release-tag) "ContentHeader" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) @@ -695,7 +695,7 @@ export const Header: ({ tooltip, type, typeLink, -}: PropsWithChildren) => JSX.Element; +}: PropsWithChildren) => JSX.Element; // Warning: (ae-forgotten-export) The symbol "Props" needs to be exported by the entry point index.d.ts // Warning: (ae-missing-release-tag) "HeaderIconLinkRow" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) @@ -777,7 +777,7 @@ export const InfoCard: ({ className, noPadding, titleTypographyProps, -}: Props_20) => JSX.Element; +}: Props_19) => JSX.Element; // Warning: (ae-missing-release-tag) "InfoCardVariants" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // @@ -1200,7 +1200,7 @@ export const OverflowTooltip: (props: Props_12) => JSX.Element; export const Page: ({ themeId, children, -}: PropsWithChildren) => JSX.Element; +}: PropsWithChildren) => JSX.Element; // Warning: (ae-forgotten-export) The symbol "PageWithHeaderProps" needs to be exported by the entry point index.d.ts // Warning: (ae-missing-release-tag) "PageWithHeader" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) @@ -1291,7 +1291,7 @@ export const Sidebar: ({ openDelayMs, closeDelayMs, children, -}: PropsWithChildren) => JSX.Element; +}: PropsWithChildren) => JSX.Element; // Warning: (ae-missing-release-tag) "SIDEBAR_INTRO_LOCAL_STORAGE" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // @@ -2448,7 +2448,7 @@ export const SidebarSpacer: React_2.ComponentType< // Warning: (ae-missing-release-tag) "SignInPage" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -export const SignInPage: (props: Props_23) => JSX.Element; +export const SignInPage: (props: Props_22) => JSX.Element; // Warning: (ae-missing-release-tag) "SignInProviderConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // @@ -2592,7 +2592,7 @@ export const TabbedCard: ({ deepLink, value, onChange, -}: PropsWithChildren) => JSX.Element; +}: PropsWithChildren) => JSX.Element; // Warning: (ae-missing-release-tag) "TabbedLayout" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // @@ -2715,11 +2715,17 @@ export const WarningIcon: IconComponent; // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen // Warning: (tsdoc-param-tag-with-invalid-optional-name) The @param should not include a JSDoc-style optional name; it must not be enclosed in '[ ]' brackets. // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}' -// Warning: (ae-forgotten-export) The symbol "Props" needs to be exported by the entry point index.d.ts +// Warning: (ae-forgotten-export) The symbol "WarningProps" needs to be exported by the entry point index.d.ts // Warning: (ae-missing-release-tag) "WarningPanel" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public -export const WarningPanel: (props: Props_17) => JSX.Element; +export const WarningPanel: ({ + severity, + title, + message, + children, + defaultExpanded, +}: WarningProps) => JSX.Element; // Warnings were encountered during analysis: // diff --git a/plugins/catalog/api-report.md b/plugins/catalog/api-report.md index b7aece991b..c030882bca 100644 --- a/plugins/catalog/api-report.md +++ b/plugins/catalog/api-report.md @@ -327,10 +327,10 @@ export const EntityPageLayout: { }) => null; }; -// Warning: (ae-missing-release-tag) "EntityProcessErrors" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// Warning: (ae-missing-release-tag) "EntityProcessingErrorsPanel" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public -export const EntityProcessErrors: () => JSX.Element; +export const EntityProcessingErrorsPanel: () => JSX.Element; // Warning: (ae-missing-release-tag) "EntitySwitch" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // @@ -363,7 +363,7 @@ export const FilteredEntityLayout: ({ children, }: PropsWithChildren<{}>) => JSX.Element; -// Warning: (ae-missing-release-tag) "hasErrors" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// Warning: (ae-missing-release-tag) "hasCatalogProcessingErrors" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export const hasCatalogProcessingErrors: (entity: Entity) => boolean; From 23951608ba408184d5f8acba9a2541e8f1736717 Mon Sep 17 00:00:00 2001 From: blam Date: Thu, 22 Jul 2021 13:27:20 +0200 Subject: [PATCH 038/712] chore: use the new maintained library instead of the older one Signed-off-by: blam --- packages/core-components/package.json | 2 +- .../src/components/Table/Table.tsx | 2 +- yarn.lock | 21 +++++++++++++++++-- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/packages/core-components/package.json b/packages/core-components/package.json index 944002c74f..c8f96537f9 100644 --- a/packages/core-components/package.json +++ b/packages/core-components/package.json @@ -50,7 +50,7 @@ "dagre": "^0.8.5", "immer": "^9.0.1", "lodash": "^4.17.15", - "material-table": "^1.69.1", + "@material-table/core": "^3.1.0", "pluralize": "^8.0.0", "prop-types": "^15.7.2", "qs": "^6.9.4", diff --git a/packages/core-components/src/components/Table/Table.tsx b/packages/core-components/src/components/Table/Table.tsx index d8db602e93..f7ddb2d218 100644 --- a/packages/core-components/src/components/Table/Table.tsx +++ b/packages/core-components/src/components/Table/Table.tsx @@ -47,7 +47,7 @@ import MTable, { MTableHeader, MTableToolbar, Options, -} from 'material-table'; +} from '@material-table/core'; import React, { forwardRef, MutableRefObject, diff --git a/yarn.lock b/yarn.lock index c2dde8f4c4..c839327ef3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1730,7 +1730,7 @@ resolved "https://registry.npmjs.org/@date-io/core/-/core-2.10.11.tgz#b1a3d57730f3eaaab54d5658be4a71727297e357" integrity sha512-keXQnwH0LM8wyvu+j5Z2KGK56D+eItjy7DnwuWl/oV+DM2UEYl0z5WhdPMpfswSyt/kjuPOzcVF/7u/skMLaoA== -"@date-io/date-fns@^1.1.0": +"@date-io/date-fns@^1.1.0", "@date-io/date-fns@^1.3.13": version "1.3.13" resolved "https://registry.npmjs.org/@date-io/date-fns/-/date-fns-1.3.13.tgz#7798844041640ab393f7e21a7769a65d672f4735" integrity sha512-yXxGzcRUPcogiMj58wVgFjc9qUYrCnnU9eLcyNbsQCmae4jPuZCDoIBR21j8ZURsM7GRtU62VOw5yNd4dDHunA== @@ -3445,6 +3445,23 @@ resolved "https://registry.npmjs.org/@material-icons/font/-/font-1.0.3.tgz#f722e5a69a03f20ef47d015cb69420bebeeaabe5" integrity sha512-aIRd0Z9b/HJ/O24KOaP7dNsXypMnXhpWrpLVYvQB/JesVqXYSbioYND200sR+C14a0LSCp+qWnWCnSXmN1hWGw== +"@material-table/core@^3.1.0": + version "3.1.0" + resolved "https://registry.npmjs.org/@material-table/core/-/core-3.1.0.tgz#4fc3bd1553359e628413437a4102d8469852c253" + integrity sha512-46vpm1q9v2B5t/VgaEq2JmnftTBYle1yNAX3cfdQsTRZ1iWkpG34qBkNHx/hbOauQPsm5hmeUo1KJJZdwtGL1g== + dependencies: + "@babel/runtime" "^7.12.5" + "@date-io/date-fns" "^1.3.13" + "@material-ui/pickers" "^3.2.10" + "@material-ui/styles" "^4.11.4" + classnames "^2.2.6" + date-fns "^2.16.1" + debounce "^1.2.0" + fast-deep-equal "^3.1.3" + prop-types "^15.7.2" + react-beautiful-dnd "^13.0.0" + react-double-scrollbar "0.0.15" + "@material-ui/core@^4.11.0", "@material-ui/core@^4.11.3": version "4.11.4" resolved "https://registry.npmjs.org/@material-ui/core/-/core-4.11.4.tgz#4fb9fe5dec5dcf780b687e3a40cff78b2b9640a4" @@ -3492,7 +3509,7 @@ prop-types "^15.7.2" react-is "^16.8.0 || ^17.0.0" -"@material-ui/pickers@^3.2.2", "@material-ui/pickers@^3.3.10": +"@material-ui/pickers@^3.2.10", "@material-ui/pickers@^3.2.2", "@material-ui/pickers@^3.3.10": version "3.3.10" resolved "https://registry.npmjs.org/@material-ui/pickers/-/pickers-3.3.10.tgz#f1b0f963348cc191645ef0bdeff7a67c6aa25485" integrity sha512-hS4pxwn1ZGXVkmgD4tpFpaumUaAg2ZzbTrxltfC5yPw4BJV+mGkfnQOB4VpWEYZw2jv65Z0wLwDE/piQiPPZ3w== From a9ce6d88924f7d313d3818fc52fc966dad4feffa Mon Sep 17 00:00:00 2001 From: blam Date: Thu, 22 Jul 2021 17:06:12 +0200 Subject: [PATCH 039/712] chore: updating typescript and api-reports Signed-off-by: blam --- packages/core-components/api-report.md | 4 ++-- .../BitriseBuildsTableComponent.tsx | 4 ++-- .../src/components/BuildsPage/lib/CITable/CITable.tsx | 4 ++-- .../src/components/WorkflowRunsTable/WorkflowRunsTable.tsx | 4 ++-- .../src/components/WorkflowRunsTable/WorkflowRunsTable.tsx | 4 ++-- plugins/ilert/src/components/IncidentsPage/IncidentsTable.tsx | 4 ++-- .../src/components/UptimeMonitorsPage/UptimeMonitorsTable.tsx | 4 ++-- .../jenkins/src/components/BuildsPage/lib/CITable/CITable.tsx | 4 ++-- 8 files changed, 16 insertions(+), 16 deletions(-) diff --git a/packages/core-components/api-report.md b/packages/core-components/api-report.md index ccafa4cfa7..ee75877b1d 100644 --- a/packages/core-components/api-report.md +++ b/packages/core-components/api-report.md @@ -11,7 +11,7 @@ import { Breadcrumbs as Breadcrumbs_2 } from '@material-ui/core'; import { ButtonProps } from '@material-ui/core'; import { ButtonTypeMap } from '@material-ui/core'; import { CardHeaderProps } from '@material-ui/core'; -import { Column } from 'material-table'; +import { Column } from '@material-table/core'; import { CommonProps } from '@material-ui/core/OverridableComponent'; import { ComponentClass } from 'react'; import { ComponentProps } from 'react'; @@ -26,7 +26,7 @@ import { IconComponent } from '@backstage/core-plugin-api'; import { LinearProgressProps } from '@material-ui/core'; import { LinkProps as LinkProps_2 } from '@material-ui/core'; import { LinkProps as LinkProps_3 } from 'react-router-dom'; -import { MaterialTableProps } from 'material-table'; +import { MaterialTableProps } from '@material-table/core'; import { NavLinkProps } from 'react-router-dom'; import { ProfileInfoApi } from '@backstage/core-plugin-api'; import { PropsWithChildren } from 'react'; diff --git a/plugins/bitrise/src/components/BitriseBuildsTableComponent/BitriseBuildsTableComponent.tsx b/plugins/bitrise/src/components/BitriseBuildsTableComponent/BitriseBuildsTableComponent.tsx index d6c7ab166b..0966de3377 100644 --- a/plugins/bitrise/src/components/BitriseBuildsTableComponent/BitriseBuildsTableComponent.tsx +++ b/plugins/bitrise/src/components/BitriseBuildsTableComponent/BitriseBuildsTableComponent.tsx @@ -219,10 +219,10 @@ export const BitriseBuildsTable = ({ }} totalCount={builds.value?.paging?.total_item_count || 0} page={page} - onChangePage={pageIndex => { + onPageChange={pageIndex => { handleChangePage(pageIndex, builds.value?.paging?.next); }} - onChangeRowsPerPage={handleChangeRowsPerPage} + onRowsPerPageChange={handleChangeRowsPerPage} columns={columns} data={builds.value?.data || []} onSearchChange={(searchTerm: string) => diff --git a/plugins/circleci/src/components/BuildsPage/lib/CITable/CITable.tsx b/plugins/circleci/src/components/BuildsPage/lib/CITable/CITable.tsx index 40829e7e66..b33e1b40cc 100644 --- a/plugins/circleci/src/components/BuildsPage/lib/CITable/CITable.tsx +++ b/plugins/circleci/src/components/BuildsPage/lib/CITable/CITable.tsx @@ -260,8 +260,8 @@ export const CITable = ({ }, ]} data={builds} - onChangePage={onChangePage} - onChangeRowsPerPage={onChangePageSize} + onPageChange={onChangePage} + onRowsPerPageChange={onChangePageSize} title={ diff --git a/plugins/cloudbuild/src/components/WorkflowRunsTable/WorkflowRunsTable.tsx b/plugins/cloudbuild/src/components/WorkflowRunsTable/WorkflowRunsTable.tsx index acacc8bec5..8fbf89cdce 100644 --- a/plugins/cloudbuild/src/components/WorkflowRunsTable/WorkflowRunsTable.tsx +++ b/plugins/cloudbuild/src/components/WorkflowRunsTable/WorkflowRunsTable.tsx @@ -138,8 +138,8 @@ export const WorkflowRunsTableView = ({ }, ]} data={runs ?? []} - onChangePage={onChangePage} - onChangeRowsPerPage={onChangePageSize} + onPageChange={onChangePage} + onRowsPerPageChange={onChangePageSize} style={{ width: '100%' }} title={ diff --git a/plugins/github-actions/src/components/WorkflowRunsTable/WorkflowRunsTable.tsx b/plugins/github-actions/src/components/WorkflowRunsTable/WorkflowRunsTable.tsx index 34191bd307..8f1aff780d 100644 --- a/plugins/github-actions/src/components/WorkflowRunsTable/WorkflowRunsTable.tsx +++ b/plugins/github-actions/src/components/WorkflowRunsTable/WorkflowRunsTable.tsx @@ -130,8 +130,8 @@ export const WorkflowRunsTableView = ({ }, ]} data={runs ?? []} - onChangePage={onChangePage} - onChangeRowsPerPage={onChangePageSize} + onPageChange={onChangePage} + onRowsPerPageChange={onChangePageSize} style={{ width: '100%' }} title={ diff --git a/plugins/ilert/src/components/IncidentsPage/IncidentsTable.tsx b/plugins/ilert/src/components/IncidentsPage/IncidentsTable.tsx index de819c4cc2..9a938256e9 100644 --- a/plugins/ilert/src/components/IncidentsPage/IncidentsTable.tsx +++ b/plugins/ilert/src/components/IncidentsPage/IncidentsTable.tsx @@ -253,8 +253,8 @@ export const IncidentsTable = ({ } page={tableState.page} totalCount={incidentsCount} - onChangePage={onChangePage} - onChangeRowsPerPage={onChangeRowsPerPage} + onPageChange={onChangePage} + onRowsPerPageChange={onChangeRowsPerPage} // localization={{ header: { actions: undefined } }} columns={columns} data={incidents} diff --git a/plugins/ilert/src/components/UptimeMonitorsPage/UptimeMonitorsTable.tsx b/plugins/ilert/src/components/UptimeMonitorsPage/UptimeMonitorsTable.tsx index 6d93385eb2..3099018e91 100644 --- a/plugins/ilert/src/components/UptimeMonitorsPage/UptimeMonitorsTable.tsx +++ b/plugins/ilert/src/components/UptimeMonitorsPage/UptimeMonitorsTable.tsx @@ -165,8 +165,8 @@ export const UptimeMonitorsTable = ({ } page={tableState.page} - onChangePage={onChangePage} - onChangeRowsPerPage={onChangeRowsPerPage} + onPageChange={onChangePage} + onRowsPerPageChange={onChangeRowsPerPage} localization={{ header: { actions: undefined } }} isLoading={isLoading} columns={columns} diff --git a/plugins/jenkins/src/components/BuildsPage/lib/CITable/CITable.tsx b/plugins/jenkins/src/components/BuildsPage/lib/CITable/CITable.tsx index 3e5eeffdaa..0519ed3816 100644 --- a/plugins/jenkins/src/components/BuildsPage/lib/CITable/CITable.tsx +++ b/plugins/jenkins/src/components/BuildsPage/lib/CITable/CITable.tsx @@ -208,8 +208,8 @@ export const CITableView = ({ }, ]} data={projects ?? []} - onChangePage={onChangePage} - onChangeRowsPerPage={onChangePageSize} + onPageChange={onChangePage} + onRowsPerPageChange={onChangePageSize} title={ Jenkins logo From 9ed40d1152494ca41a256ba2965e340298832f41 Mon Sep 17 00:00:00 2001 From: blam Date: Tue, 27 Jul 2021 14:13:14 +0200 Subject: [PATCH 040/712] chore: removing the toolbarRef, not sure what this did in the first place but it's ni loinger suypported Signed-off-by: blam --- .../src/components/Table/Table.tsx | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/packages/core-components/src/components/Table/Table.tsx b/packages/core-components/src/components/Table/Table.tsx index f7ddb2d218..6eda4e01cc 100644 --- a/packages/core-components/src/components/Table/Table.tsx +++ b/packages/core-components/src/components/Table/Table.tsx @@ -212,7 +212,6 @@ export interface TableProps } export function TableToolbar(toolbarProps: { - toolbarRef: MutableRefObject; setSearch: (value: string) => void; onSearchChanged: (value: string) => void; toggleFilters: () => void; @@ -220,7 +219,6 @@ export function TableToolbar(toolbarProps: { selectedFiltersLength: number; }) { const { - toolbarRef, setSearch, hasFilters, selectedFiltersLength, @@ -248,7 +246,6 @@ export function TableToolbar(toolbarProps: { @@ -256,11 +253,7 @@ export function TableToolbar(toolbarProps: { } return ( - + ); } @@ -298,13 +291,6 @@ export function Table({ const MTColumns = convertColumns(columns, theme); const [search, setSearch] = useState(calculatedInitialState.search); - const toolbarRef = useRef(); - - useEffect(() => { - if (toolbarRef.current) { - toolbarRef.current.onSearchChange(search); - } - }, [search, toolbarRef]); useEffect(() => { if (onStateChange) { @@ -440,7 +426,6 @@ export function Table({ toolbarProps => { return ( ({ /> ); }, - [toggleFilters, hasFilters, selectedFiltersLength, setSearch, toolbarRef], + [toggleFilters, hasFilters, selectedFiltersLength, setSearch], ); const hasNoRows = typeof data !== 'function' && data.length === 0; From b05210593de275cd3f51df2e06efcc560907e52e Mon Sep 17 00:00:00 2001 From: blam Date: Tue, 27 Jul 2021 14:15:42 +0200 Subject: [PATCH 041/712] chore: bump the version of material-ui core to 4.12.2 Signed-off-by: blam --- docs/getting-started/app-custom-theme.md | 2 +- packages/app/package.json | 2 +- .../templates/default-plugin/package.json.hbs | 2 +- packages/core-app-api/package.json | 2 +- packages/core-components/package.json | 1 - packages/core-plugin-api/package.json | 2 +- .../default-app/packages/app/package.json.hbs | 2 +- packages/dev-utils/package.json | 2 +- packages/integration-react/package.json | 2 +- packages/test-utils/package.json | 2 +- packages/theme/package.json | 2 +- packages/theme/src/baseTheme.ts | 2 +- plugins/api-docs/package.json | 2 +- plugins/badges/package.json | 2 +- plugins/bitrise/package.json | 2 +- plugins/catalog-import/package.json | 2 +- plugins/catalog-react/package.json | 2 +- plugins/catalog/package.json | 2 +- plugins/circleci/package.json | 2 +- plugins/cloudbuild/package.json | 2 +- plugins/code-coverage/package.json | 2 +- plugins/config-schema/package.json | 2 +- plugins/cost-insights/package.json | 2 +- plugins/explore/package.json | 2 +- plugins/fossa/package.json | 2 +- plugins/gcp-projects/package.json | 2 +- plugins/git-release-manager/package.json | 2 +- plugins/github-actions/package.json | 2 +- plugins/github-deployments/package.json | 2 +- plugins/gitops-profiles/package.json | 2 +- plugins/graphiql/package.json | 2 +- plugins/ilert/package.json | 2 +- plugins/jenkins/package.json | 2 +- plugins/kafka/package.json | 2 +- plugins/kubernetes/package.json | 2 +- plugins/lighthouse/package.json | 2 +- plugins/newrelic/package.json | 2 +- plugins/org/package.json | 2 +- plugins/pagerduty/package.json | 2 +- plugins/register-component/package.json | 2 +- plugins/rollbar/package.json | 2 +- plugins/scaffolder/package.json | 2 +- plugins/search/package.json | 2 +- plugins/sentry/package.json | 2 +- plugins/shortcuts/package.json | 2 +- plugins/sonarqube/package.json | 2 +- plugins/splunk-on-call/package.json | 2 +- plugins/tech-radar/package.json | 2 +- plugins/techdocs/package.json | 2 +- plugins/todo/package.json | 2 +- plugins/user-settings/package.json | 2 +- plugins/welcome/package.json | 2 +- plugins/xcmetrics/package.json | 2 +- yarn.lock | 18 +++++++++--------- 54 files changed, 61 insertions(+), 62 deletions(-) diff --git a/docs/getting-started/app-custom-theme.md b/docs/getting-started/app-custom-theme.md index aa3851463f..7973a54ab6 100644 --- a/docs/getting-started/app-custom-theme.md +++ b/docs/getting-started/app-custom-theme.md @@ -35,7 +35,7 @@ If you want more control over the theme, and for example customize font sizes and margins, you can use the lower-level `createThemeOverrides` function exported by [@backstage/theme](https://www.npmjs.com/package/@backstage/theme) in combination with -[createMuiTheme](https://material-ui.com/customization/theming/#createmuitheme-options-args-theme) +[createTheme](https://material-ui.com/customization/theming/#createmuitheme-options-args-theme) from [@material-ui/core](https://www.npmjs.com/package/@material-ui/core). See the [@backstage/theme source](https://github.com/backstage/backstage/tree/master/packages/theme/src) diff --git a/packages/app/package.json b/packages/app/package.json index 388635e56b..4bd94adfc3 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -41,7 +41,7 @@ "@backstage/plugin-user-settings": "^0.3.0", "@backstage/search-common": "^0.1.2", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "@octokit/rest": "^18.5.3", diff --git a/packages/cli/templates/default-plugin/package.json.hbs b/packages/cli/templates/default-plugin/package.json.hbs index dbba628055..fdac5a0c67 100644 --- a/packages/cli/templates/default-plugin/package.json.hbs +++ b/packages/cli/templates/default-plugin/package.json.hbs @@ -27,7 +27,7 @@ "@backstage/core-components": "^{{version '@backstage/core-components'}}", "@backstage/core-plugin-api": "^{{version '@backstage/core-plugin-api'}}", "@backstage/theme": "^{{version '@backstage/theme'}}", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "react": "^16.13.1", diff --git a/packages/core-app-api/package.json b/packages/core-app-api/package.json index 41e7c52393..ec00580332 100644 --- a/packages/core-app-api/package.json +++ b/packages/core-app-api/package.json @@ -33,7 +33,7 @@ "@backstage/config": "^0.1.3", "@backstage/core-plugin-api": "^0.1.3", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@types/react": "^16.9", "@types/prop-types": "^15.7.3", diff --git a/packages/core-components/package.json b/packages/core-components/package.json index c8f96537f9..9921f20ccb 100644 --- a/packages/core-components/package.json +++ b/packages/core-components/package.json @@ -33,7 +33,6 @@ "@backstage/core-plugin-api": "^0.1.2", "@backstage/errors": "^0.1.1", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "@testing-library/react-hooks": "^3.4.2", diff --git a/packages/core-plugin-api/package.json b/packages/core-plugin-api/package.json index 7b2aa3deea..e382adfeef 100644 --- a/packages/core-plugin-api/package.json +++ b/packages/core-plugin-api/package.json @@ -31,7 +31,7 @@ "dependencies": { "@backstage/config": "^0.1.3", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@types/react": "^16.9", "history": "^5.0.0", "prop-types": "^15.7.2", diff --git a/packages/create-app/templates/default-app/packages/app/package.json.hbs b/packages/create-app/templates/default-app/packages/app/package.json.hbs index 71cc86ba34..219f503aa0 100644 --- a/packages/create-app/templates/default-app/packages/app/package.json.hbs +++ b/packages/create-app/templates/default-app/packages/app/package.json.hbs @@ -23,7 +23,7 @@ "@backstage/plugin-user-settings": "^{{version '@backstage/plugin-user-settings'}}", "@backstage/test-utils": "^{{version '@backstage/test-utils'}}", "@backstage/theme": "^{{version '@backstage/theme'}}", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "history": "^5.0.0", "react": "^16.13.1", diff --git a/packages/dev-utils/package.json b/packages/dev-utils/package.json index a80745284c..c8466b0aa3 100644 --- a/packages/dev-utils/package.json +++ b/packages/dev-utils/package.json @@ -37,7 +37,7 @@ "@backstage/plugin-catalog-react": "^0.3.1", "@backstage/test-utils": "^0.1.15", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", diff --git a/packages/integration-react/package.json b/packages/integration-react/package.json index e0161cb5ab..85077778f6 100644 --- a/packages/integration-react/package.json +++ b/packages/integration-react/package.json @@ -25,7 +25,7 @@ "@backstage/core-plugin-api": "^0.1.3", "@backstage/integration": "^0.5.6", "@backstage/theme": "^0.2.3", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "react": "^16.13.1", diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json index cfe4f2198e..8624b71d89 100644 --- a/packages/test-utils/package.json +++ b/packages/test-utils/package.json @@ -33,7 +33,7 @@ "@backstage/core-plugin-api": "^0.1.3", "@backstage/test-utils-core": "^0.1.1", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/packages/theme/package.json b/packages/theme/package.json index d433be4648..3b34dc84b3 100644 --- a/packages/theme/package.json +++ b/packages/theme/package.json @@ -28,7 +28,7 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@material-ui/core": "^4.11.0" + "@material-ui/core": "^4.12.2" }, "devDependencies": { "@backstage/cli": "^0.7.0" diff --git a/packages/theme/src/baseTheme.ts b/packages/theme/src/baseTheme.ts index 93132d8b7a..b2d964c4db 100644 --- a/packages/theme/src/baseTheme.ts +++ b/packages/theme/src/baseTheme.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { createMuiTheme } from '@material-ui/core'; +import { createTheme as createMuiTheme } from '@material-ui/core'; import { darken, lighten } from '@material-ui/core/styles/colorManipulator'; import { Overrides } from '@material-ui/core/styles/overrides'; diff --git a/plugins/api-docs/package.json b/plugins/api-docs/package.json index 4294daea20..06297e7be0 100644 --- a/plugins/api-docs/package.json +++ b/plugins/api-docs/package.json @@ -37,7 +37,7 @@ "@backstage/plugin-catalog-react": "^0.3.1", "@backstage/theme": "^0.2.8", "@material-icons/font": "^1.0.2", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "@types/react": "^16.9", diff --git a/plugins/badges/package.json b/plugins/badges/package.json index 3d38bc6d92..53c3a9f639 100644 --- a/plugins/badges/package.json +++ b/plugins/badges/package.json @@ -26,7 +26,7 @@ "@backstage/errors": "^0.1.1", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "react": "^16.13.1", diff --git a/plugins/bitrise/package.json b/plugins/bitrise/package.json index 00eb35f055..45eaf94771 100644 --- a/plugins/bitrise/package.json +++ b/plugins/bitrise/package.json @@ -25,7 +25,7 @@ "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "cross-fetch": "^3.0.6", diff --git a/plugins/catalog-import/package.json b/plugins/catalog-import/package.json index d6f371bc65..c9b5022116 100644 --- a/plugins/catalog-import/package.json +++ b/plugins/catalog-import/package.json @@ -38,7 +38,7 @@ "@backstage/integration-react": "^0.1.4", "@backstage/plugin-catalog-react": "^0.3.1", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "@octokit/rest": "^18.5.3", diff --git a/plugins/catalog-react/package.json b/plugins/catalog-react/package.json index d0cb5ac947..6ae75197af 100644 --- a/plugins/catalog-react/package.json +++ b/plugins/catalog-react/package.json @@ -34,7 +34,7 @@ "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/integration": "^0.5.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "@types/react": "^16.9", diff --git a/plugins/catalog/package.json b/plugins/catalog/package.json index 821e029616..356ad1b0ab 100644 --- a/plugins/catalog/package.json +++ b/plugins/catalog/package.json @@ -39,7 +39,7 @@ "@backstage/integration-react": "^0.1.4", "@backstage/plugin-catalog-react": "^0.3.1", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "@types/react": "^16.9", diff --git a/plugins/circleci/package.json b/plugins/circleci/package.json index 52aae08b57..9a9c7e9b3d 100644 --- a/plugins/circleci/package.json +++ b/plugins/circleci/package.json @@ -36,7 +36,7 @@ "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "circleci-api": "^4.0.0", diff --git a/plugins/cloudbuild/package.json b/plugins/cloudbuild/package.json index ee9f8a4e0c..aa661b7789 100644 --- a/plugins/cloudbuild/package.json +++ b/plugins/cloudbuild/package.json @@ -35,7 +35,7 @@ "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "moment": "^2.27.0", diff --git a/plugins/code-coverage/package.json b/plugins/code-coverage/package.json index bd632972df..8405466cd1 100644 --- a/plugins/code-coverage/package.json +++ b/plugins/code-coverage/package.json @@ -27,7 +27,7 @@ "@backstage/errors": "^0.1.1", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "@material-ui/styles": "^4.11.0", diff --git a/plugins/config-schema/package.json b/plugins/config-schema/package.json index 7ef279f123..46e3f8c8b6 100644 --- a/plugins/config-schema/package.json +++ b/plugins/config-schema/package.json @@ -25,7 +25,7 @@ "@backstage/core-plugin-api": "^0.1.3", "@backstage/errors": "^0.1.1", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "jsonschema": "^1.2.6", diff --git a/plugins/cost-insights/package.json b/plugins/cost-insights/package.json index 2f6fac1479..f73850af38 100644 --- a/plugins/cost-insights/package.json +++ b/plugins/cost-insights/package.json @@ -34,7 +34,7 @@ "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "@material-ui/styles": "^4.9.6", diff --git a/plugins/explore/package.json b/plugins/explore/package.json index 2059632c08..0ee534cf1c 100644 --- a/plugins/explore/package.json +++ b/plugins/explore/package.json @@ -36,7 +36,7 @@ "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/plugin-explore-react": "^0.0.6", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "@types/react": "^16.9", diff --git a/plugins/fossa/package.json b/plugins/fossa/package.json index cc4a27a5c0..d826ba12d4 100644 --- a/plugins/fossa/package.json +++ b/plugins/fossa/package.json @@ -37,7 +37,7 @@ "@backstage/errors": "^0.1.1", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "cross-fetch": "^3.0.6", diff --git a/plugins/gcp-projects/package.json b/plugins/gcp-projects/package.json index 1d04d7f1d5..1089c0f15b 100644 --- a/plugins/gcp-projects/package.json +++ b/plugins/gcp-projects/package.json @@ -33,7 +33,7 @@ "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "react": "^16.13.1", diff --git a/plugins/git-release-manager/package.json b/plugins/git-release-manager/package.json index 5598fcd6ef..488c763e55 100644 --- a/plugins/git-release-manager/package.json +++ b/plugins/git-release-manager/package.json @@ -24,7 +24,7 @@ "@backstage/core-plugin-api": "^0.1.3", "@backstage/integration": "^0.5.6", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "@octokit/rest": "^18.5.3", diff --git a/plugins/github-actions/package.json b/plugins/github-actions/package.json index d85d1e53fe..bc96173252 100644 --- a/plugins/github-actions/package.json +++ b/plugins/github-actions/package.json @@ -38,7 +38,7 @@ "@backstage/integration": "^0.5.8", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "@octokit/rest": "^18.5.3", diff --git a/plugins/github-deployments/package.json b/plugins/github-deployments/package.json index 9561083063..a93241dc42 100644 --- a/plugins/github-deployments/package.json +++ b/plugins/github-deployments/package.json @@ -28,7 +28,7 @@ "@backstage/integration-react": "^0.1.4", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "@octokit/graphql": "^4.5.8", diff --git a/plugins/gitops-profiles/package.json b/plugins/gitops-profiles/package.json index e7e45ee2a6..343c6ba569 100644 --- a/plugins/gitops-profiles/package.json +++ b/plugins/gitops-profiles/package.json @@ -34,7 +34,7 @@ "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "react": "^16.13.1", diff --git a/plugins/graphiql/package.json b/plugins/graphiql/package.json index 46f44cdcf4..5c99b8c201 100644 --- a/plugins/graphiql/package.json +++ b/plugins/graphiql/package.json @@ -34,7 +34,7 @@ "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "graphiql": "^1.0.0-alpha.10", diff --git a/plugins/ilert/package.json b/plugins/ilert/package.json index 01a8e7b013..d74d8dc107 100644 --- a/plugins/ilert/package.json +++ b/plugins/ilert/package.json @@ -27,7 +27,7 @@ "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", "@date-io/luxon": "2.x", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "@material-ui/pickers": "^3.3.10", diff --git a/plugins/jenkins/package.json b/plugins/jenkins/package.json index 6030beee8e..69555e3f01 100644 --- a/plugins/jenkins/package.json +++ b/plugins/jenkins/package.json @@ -36,7 +36,7 @@ "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "luxon": "^1.25.0", diff --git a/plugins/kafka/package.json b/plugins/kafka/package.json index a7328b0c0c..6b12cd2421 100644 --- a/plugins/kafka/package.json +++ b/plugins/kafka/package.json @@ -25,7 +25,7 @@ "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "react": "^16.13.1", diff --git a/plugins/kubernetes/package.json b/plugins/kubernetes/package.json index ee58c6b222..a4ea3a7522 100644 --- a/plugins/kubernetes/package.json +++ b/plugins/kubernetes/package.json @@ -38,7 +38,7 @@ "@backstage/plugin-kubernetes-common": "^0.1.2", "@backstage/theme": "^0.2.8", "@kubernetes/client-node": "^0.15.0", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "js-yaml": "^4.0.0", diff --git a/plugins/lighthouse/package.json b/plugins/lighthouse/package.json index 8ceaa35d20..a0fd092134 100644 --- a/plugins/lighthouse/package.json +++ b/plugins/lighthouse/package.json @@ -37,7 +37,7 @@ "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "@testing-library/react-hooks": "^3.4.2", diff --git a/plugins/newrelic/package.json b/plugins/newrelic/package.json index e927cf6eef..7fa4c558dc 100644 --- a/plugins/newrelic/package.json +++ b/plugins/newrelic/package.json @@ -34,7 +34,7 @@ "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "react": "^16.13.1", diff --git a/plugins/org/package.json b/plugins/org/package.json index f721675584..2cd0a8a072 100644 --- a/plugins/org/package.json +++ b/plugins/org/package.json @@ -25,7 +25,7 @@ "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "react": "^16.13.1", diff --git a/plugins/pagerduty/package.json b/plugins/pagerduty/package.json index 2a5c086e50..ba21218150 100644 --- a/plugins/pagerduty/package.json +++ b/plugins/pagerduty/package.json @@ -35,7 +35,7 @@ "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "@types/react": "^16.9", diff --git a/plugins/register-component/package.json b/plugins/register-component/package.json index c9a4ca161b..1fb1e483c6 100644 --- a/plugins/register-component/package.json +++ b/plugins/register-component/package.json @@ -35,7 +35,7 @@ "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "react": "^16.13.1", diff --git a/plugins/rollbar/package.json b/plugins/rollbar/package.json index f95bba8076..85ba3f8e21 100644 --- a/plugins/rollbar/package.json +++ b/plugins/rollbar/package.json @@ -36,7 +36,7 @@ "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "lodash": "^4.17.15", diff --git a/plugins/scaffolder/package.json b/plugins/scaffolder/package.json index edb2f44d94..4bcfc05353 100644 --- a/plugins/scaffolder/package.json +++ b/plugins/scaffolder/package.json @@ -40,7 +40,7 @@ "@backstage/integration-react": "^0.1.4", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "@rjsf/core": "^3.0.0", diff --git a/plugins/search/package.json b/plugins/search/package.json index a6ca45497a..982a26bdd2 100644 --- a/plugins/search/package.json +++ b/plugins/search/package.json @@ -37,7 +37,7 @@ "@backstage/plugin-catalog-react": "^0.3.1", "@backstage/search-common": "^0.1.2", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "@types/react": "^16.9", diff --git a/plugins/sentry/package.json b/plugins/sentry/package.json index 989a18a6d9..94fcd0d300 100644 --- a/plugins/sentry/package.json +++ b/plugins/sentry/package.json @@ -36,7 +36,7 @@ "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "luxon": "^1.27.0", diff --git a/plugins/shortcuts/package.json b/plugins/shortcuts/package.json index 293d71eeb9..21cfed0354 100644 --- a/plugins/shortcuts/package.json +++ b/plugins/shortcuts/package.json @@ -23,7 +23,7 @@ "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "@types/zen-observable": "^0.8.2", diff --git a/plugins/sonarqube/package.json b/plugins/sonarqube/package.json index a132da5702..186cb4dd0a 100644 --- a/plugins/sonarqube/package.json +++ b/plugins/sonarqube/package.json @@ -37,7 +37,7 @@ "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "@material-ui/styles": "^4.10.0", diff --git a/plugins/splunk-on-call/package.json b/plugins/splunk-on-call/package.json index d779df3f97..feba99c516 100644 --- a/plugins/splunk-on-call/package.json +++ b/plugins/splunk-on-call/package.json @@ -35,7 +35,7 @@ "@backstage/core-plugin-api": "^0.1.3", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "classnames": "^2.2.6", diff --git a/plugins/tech-radar/package.json b/plugins/tech-radar/package.json index 305061087b..ce467581e5 100644 --- a/plugins/tech-radar/package.json +++ b/plugins/tech-radar/package.json @@ -33,7 +33,7 @@ "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "color": "^3.1.2", diff --git a/plugins/techdocs/package.json b/plugins/techdocs/package.json index 2621be9cee..ce01652c09 100644 --- a/plugins/techdocs/package.json +++ b/plugins/techdocs/package.json @@ -40,7 +40,7 @@ "@backstage/integration-react": "^0.1.4", "@backstage/plugin-catalog-react": "^0.3.1", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "@material-ui/styles": "^4.10.0", diff --git a/plugins/todo/package.json b/plugins/todo/package.json index ece2509882..a3850c4da5 100644 --- a/plugins/todo/package.json +++ b/plugins/todo/package.json @@ -32,7 +32,7 @@ "@backstage/errors": "^0.1.1", "@backstage/plugin-catalog-react": "^0.3.0", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "react": "^16.13.1", diff --git a/plugins/user-settings/package.json b/plugins/user-settings/package.json index 7a450a188e..7ebb1b120f 100644 --- a/plugins/user-settings/package.json +++ b/plugins/user-settings/package.json @@ -33,7 +33,7 @@ "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "react": "^16.13.1", diff --git a/plugins/welcome/package.json b/plugins/welcome/package.json index 68cb992e40..afec6a65c0 100644 --- a/plugins/welcome/package.json +++ b/plugins/welcome/package.json @@ -33,7 +33,7 @@ "@backstage/core-components": "^0.1.6", "@backstage/core-plugin-api": "^0.1.3", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "react": "^16.13.1", diff --git a/plugins/xcmetrics/package.json b/plugins/xcmetrics/package.json index b939c3e5bf..5b1fe61e10 100644 --- a/plugins/xcmetrics/package.json +++ b/plugins/xcmetrics/package.json @@ -24,7 +24,7 @@ "@backstage/core-plugin-api": "^0.1.3", "@backstage/errors": "^0.1.1", "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "luxon": "^1.27.0", diff --git a/yarn.lock b/yarn.lock index c839327ef3..52d4c7b351 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3462,14 +3462,14 @@ react-beautiful-dnd "^13.0.0" react-double-scrollbar "0.0.15" -"@material-ui/core@^4.11.0", "@material-ui/core@^4.11.3": - version "4.11.4" - resolved "https://registry.npmjs.org/@material-ui/core/-/core-4.11.4.tgz#4fb9fe5dec5dcf780b687e3a40cff78b2b9640a4" - integrity sha512-oqb+lJ2Dl9HXI9orc6/aN8ZIAMkeThufA5iZELf2LQeBn2NtjVilF5D2w7e9RpntAzDb4jK5DsVhkfOvFY/8fg== +"@material-ui/core@^4.11.0", "@material-ui/core@^4.11.3", "@material-ui/core@^4.12.2": + version "4.12.2" + resolved "https://registry.npmjs.org/@material-ui/core/-/core-4.12.2.tgz#59a8b19f16b8c218d912f37f5ae70473c3c82c73" + integrity sha512-Q1npB8V73IC+eV2X6as+g71MpEGQwqKHUI2iujY62npk35V8nMx/bUXAHjv5kKG1BZ8s8XUWoG6s/VkjYPjjQA== dependencies: "@babel/runtime" "^7.4.4" "@material-ui/styles" "^4.11.4" - "@material-ui/system" "^4.11.3" + "@material-ui/system" "^4.12.1" "@material-ui/types" "5.1.0" "@material-ui/utils" "^4.11.2" "@types/react-transition-group" "^4.2.0" @@ -3543,10 +3543,10 @@ jss-plugin-vendor-prefixer "^10.5.1" prop-types "^15.7.2" -"@material-ui/system@^4.11.3": - version "4.11.3" - resolved "https://registry.npmjs.org/@material-ui/system/-/system-4.11.3.tgz#466bc14c9986798fd325665927c963eb47cc4143" - integrity sha512-SY7otguNGol41Mu2Sg6KbBP1ZRFIbFLHGK81y4KYbsV2yIcaEPOmsCK6zwWlp+2yTV3J/VwT6oSBARtGIVdXPw== +"@material-ui/system@^4.12.1": + version "4.12.1" + resolved "https://registry.npmjs.org/@material-ui/system/-/system-4.12.1.tgz#2dd96c243f8c0a331b2bb6d46efd7771a399707c" + integrity sha512-lUdzs4q9kEXZGhbN7BptyiS1rLNHe6kG9o8Y307HCvF4sQxbCgpL2qi+gUk+yI8a2DNk48gISEQxoxpgph0xIw== dependencies: "@babel/runtime" "^7.4.4" "@material-ui/utils" "^4.11.2" From e7e3f1d53eaf3dfbd74d07f6b070d5b8ba0bde69 Mon Sep 17 00:00:00 2001 From: blam Date: Tue, 27 Jul 2021 14:18:04 +0200 Subject: [PATCH 042/712] chore: bump core to latest Signed-off-by: blam --- packages/core-components/package.json | 1 + .../core-components/src/components/Table/Table.tsx | 10 ++++++++-- .../CostInsightsPage/CostInsightsThemeProvider.tsx | 5 ++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/core-components/package.json b/packages/core-components/package.json index 9921f20ccb..4548e1003d 100644 --- a/packages/core-components/package.json +++ b/packages/core-components/package.json @@ -33,6 +33,7 @@ "@backstage/core-plugin-api": "^0.1.2", "@backstage/errors": "^0.1.1", "@backstage/theme": "^0.2.8", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "@testing-library/react-hooks": "^3.4.2", diff --git a/packages/core-components/src/components/Table/Table.tsx b/packages/core-components/src/components/Table/Table.tsx index 6eda4e01cc..7e3dc7346a 100644 --- a/packages/core-components/src/components/Table/Table.tsx +++ b/packages/core-components/src/components/Table/Table.tsx @@ -54,7 +54,6 @@ import React, { ReactNode, useCallback, useEffect, - useRef, useState, } from 'react'; import { CheckboxTreeProps } from '../CheckboxTree/CheckboxTree'; @@ -212,6 +211,7 @@ export interface TableProps } export function TableToolbar(toolbarProps: { + toolbarRef: MutableRefObject; setSearch: (value: string) => void; onSearchChanged: (value: string) => void; toggleFilters: () => void; @@ -219,6 +219,7 @@ export function TableToolbar(toolbarProps: { selectedFiltersLength: number; }) { const { + toolbarRef, setSearch, hasFilters, selectedFiltersLength, @@ -246,6 +247,7 @@ export function TableToolbar(toolbarProps: { @@ -253,7 +255,11 @@ export function TableToolbar(toolbarProps: { } return ( - + ); } diff --git a/plugins/cost-insights/src/components/CostInsightsPage/CostInsightsThemeProvider.tsx b/plugins/cost-insights/src/components/CostInsightsPage/CostInsightsThemeProvider.tsx index e56d72cc09..7c64c41116 100644 --- a/plugins/cost-insights/src/components/CostInsightsPage/CostInsightsThemeProvider.tsx +++ b/plugins/cost-insights/src/components/CostInsightsPage/CostInsightsThemeProvider.tsx @@ -15,7 +15,10 @@ */ import React, { PropsWithChildren } from 'react'; -import { createMuiTheme, ThemeProvider } from '@material-ui/core'; +import { + createTheme as createMuiTheme, + ThemeProvider, +} from '@material-ui/core'; import { BackstageTheme } from '@backstage/theme'; import { costInsightsDarkTheme, From 9d40fcb1eaada94aa0d766fbd0d05a6a1a01f69f Mon Sep 17 00:00:00 2001 From: blam Date: Tue, 27 Jul 2021 14:27:19 +0200 Subject: [PATCH 043/712] chore: added a huge changeset for all the packages affected by the material-ui changes Signed-off-by: blam --- .changeset/lazy-colts-help.md | 56 +++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 .changeset/lazy-colts-help.md diff --git a/.changeset/lazy-colts-help.md b/.changeset/lazy-colts-help.md new file mode 100644 index 0000000000..007dcf7ffd --- /dev/null +++ b/.changeset/lazy-colts-help.md @@ -0,0 +1,56 @@ +--- +'@backstage/cli': patch +'@backstage/core-app-api': patch +'@backstage/core-components': patch +'@backstage/core-plugin-api': patch +'@backstage/create-app': patch +'@backstage/dev-utils': patch +'@backstage/integration-react': patch +'@backstage/test-utils': patch +'@backstage/theme': patch +'@backstage/plugin-api-docs': patch +'@backstage/plugin-badges': patch +'@backstage/plugin-bitrise': patch +'@backstage/plugin-catalog': patch +'@backstage/plugin-catalog-import': patch +'@backstage/plugin-catalog-react': patch +'@backstage/plugin-circleci': patch +'@backstage/plugin-cloudbuild': patch +'@backstage/plugin-code-coverage': patch +'@backstage/plugin-config-schema': patch +'@backstage/plugin-cost-insights': patch +'@backstage/plugin-explore': patch +'@backstage/plugin-fossa': patch +'@backstage/plugin-gcp-projects': patch +'@backstage/plugin-git-release-manager': patch +'@backstage/plugin-github-actions': patch +'@backstage/plugin-github-deployments': patch +'@backstage/plugin-gitops-profiles': patch +'@backstage/plugin-graphiql': patch +'@backstage/plugin-ilert': patch +'@backstage/plugin-jenkins': patch +'@backstage/plugin-kafka': patch +'@backstage/plugin-kubernetes': patch +'@backstage/plugin-lighthouse': patch +'@backstage/plugin-newrelic': patch +'@backstage/plugin-org': patch +'@backstage/plugin-pagerduty': patch +'@backstage/plugin-register-component': patch +'@backstage/plugin-rollbar': patch +'@backstage/plugin-scaffolder': patch +'@backstage/plugin-search': patch +'@backstage/plugin-sentry': patch +'@backstage/plugin-shortcuts': patch +'@backstage/plugin-sonarqube': patch +'@backstage/plugin-splunk-on-call': patch +'@backstage/plugin-tech-radar': patch +'@backstage/plugin-techdocs': patch +'@backstage/plugin-todo': patch +'@backstage/plugin-user-settings': patch +'@backstage/plugin-welcome': patch +'@backstage/plugin-xcmetrics': patch +--- + +- Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke Pagination of the Table. + +- Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` From dfccf47ba66546e28ace5bf176acd908da9d80b5 Mon Sep 17 00:00:00 2001 From: Nicolas Torres Date: Wed, 28 Jul 2021 09:44:52 +0200 Subject: [PATCH 044/712] imports const from the package Signed-off-by: Nicolas Torres --- .../EntityProcessingErrorsPanel/EntityProcessingErrorsPanel.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/catalog/src/components/EntityProcessingErrorsPanel/EntityProcessingErrorsPanel.tsx b/plugins/catalog/src/components/EntityProcessingErrorsPanel/EntityProcessingErrorsPanel.tsx index 565ffc30e3..833ca74daa 100644 --- a/plugins/catalog/src/components/EntityProcessingErrorsPanel/EntityProcessingErrorsPanel.tsx +++ b/plugins/catalog/src/components/EntityProcessingErrorsPanel/EntityProcessingErrorsPanel.tsx @@ -19,7 +19,7 @@ import { useEntity } from '@backstage/plugin-catalog-react'; import { Box } from '@material-ui/core'; import React from 'react'; import { ResponseErrorPanel } from '@backstage/core-components'; -import { ENTITY_STATUS_CATALOG_PROCESSING_TYPE } from '../../../../../packages/catalog-client/src'; +import { ENTITY_STATUS_CATALOG_PROCESSING_TYPE } from '@backstage/catalog-client'; const errorfilter = (i: UNSTABLE_EntityStatusItem) => i.error && From a11d33e4913b7c81b28722b8d4b1f5e52f36838d Mon Sep 17 00:00:00 2001 From: Nicolas Torres Date: Wed, 28 Jul 2021 09:45:20 +0200 Subject: [PATCH 045/712] removes unnecessary themeprovider Signed-off-by: Nicolas Torres --- .../WarningPanel/WarningPanel.test.tsx | 43 +++++-------------- 1 file changed, 11 insertions(+), 32 deletions(-) diff --git a/packages/core-components/src/components/WarningPanel/WarningPanel.test.tsx b/packages/core-components/src/components/WarningPanel/WarningPanel.test.tsx index 5a6f49b689..4ae6423333 100644 --- a/packages/core-components/src/components/WarningPanel/WarningPanel.test.tsx +++ b/packages/core-components/src/components/WarningPanel/WarningPanel.test.tsx @@ -17,10 +17,9 @@ import React from 'react'; import { fireEvent, screen } from '@testing-library/react'; import { renderInTestApp } from '@backstage/test-utils'; -import { ThemeProvider, Typography } from '@material-ui/core'; +import { Typography } from '@material-ui/core'; import { WarningPanel, WarningProps } from './WarningPanel'; -import { lightTheme } from '@backstage/theme'; const propsTitle: WarningProps = { title: 'Mock title' }; const propsTitleMessage: WarningProps = { @@ -36,20 +35,12 @@ const propsErrorMessage: WarningProps = { describe('', () => { it('renders without exploding', async () => { - await renderInTestApp( - - - , - ); + await renderInTestApp(); expect(screen.getByText('Warning: Mock title')).toBeInTheDocument(); }); it('renders title', async () => { - await renderInTestApp( - - - , - ); + await renderInTestApp(); const expandIcon = await screen.getByText('Warning: Mock title'); fireEvent.click(expandIcon); expect(screen.getByText('Warning: Mock title')).toBeInTheDocument(); @@ -58,43 +49,31 @@ describe('', () => { it('renders title and children', async () => { await renderInTestApp( - - - Java stacktrace - - , + + Java stacktrace + , ); expect(screen.getByText('Java stacktrace')).toBeInTheDocument(); }); it('renders message', async () => { - await renderInTestApp( - - - , - ); + await renderInTestApp(); expect(screen.getByText('Warning')).toBeInTheDocument(); expect(screen.getByText('Some more info')).toBeInTheDocument(); }); it('renders title, message, and children', async () => { await renderInTestApp( - - - Java stacktrace - - , + + Java stacktrace + , ); expect(screen.getByText('Warning: Mock title')).toBeInTheDocument(); expect(screen.getByText('Some more info')).toBeInTheDocument(); expect(screen.getByText('Java stacktrace')).toBeInTheDocument(); }); it('renders message using severity', async () => { - await renderInTestApp( - - - , - ); + await renderInTestApp(); expect(screen.getByText('Error: Mock title')).toBeInTheDocument(); }); }); From e4161fcb04f4e5153ccd8643ddaafd6177d4c547 Mon Sep 17 00:00:00 2001 From: Ben Lambert Date: Wed, 28 Jul 2021 10:23:19 +0200 Subject: [PATCH 046/712] Update lazy-colts-help.md Signed-off-by: Ben Lambert --- .changeset/lazy-colts-help.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.changeset/lazy-colts-help.md b/.changeset/lazy-colts-help.md index 007dcf7ffd..1a932ecc19 100644 --- a/.changeset/lazy-colts-help.md +++ b/.changeset/lazy-colts-help.md @@ -54,3 +54,5 @@ - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke Pagination of the Table. - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + +- For anyone not using our `Table` component and relying on `material-table` directly, please update to use `@material-table/core` and follow this migration guide https://material-table-core.com/docs/breaking-changes#onchangerowsperpage From 1f9e626047ec9c8e3d7c3494edbf987ba9c6db9b Mon Sep 17 00:00:00 2001 From: Ben Lambert Date: Wed, 28 Jul 2021 10:55:47 +0200 Subject: [PATCH 047/712] fix changeset and make core-components minor Signed-off-by: Ben Lambert --- .changeset/lazy-colts-help.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.changeset/lazy-colts-help.md b/.changeset/lazy-colts-help.md index 1a932ecc19..18bc47e046 100644 --- a/.changeset/lazy-colts-help.md +++ b/.changeset/lazy-colts-help.md @@ -1,7 +1,7 @@ --- '@backstage/cli': patch '@backstage/core-app-api': patch -'@backstage/core-components': patch +'@backstage/core-components': minor '@backstage/core-plugin-api': patch '@backstage/create-app': patch '@backstage/dev-utils': patch @@ -51,8 +51,10 @@ '@backstage/plugin-xcmetrics': patch --- -- Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke Pagination of the Table. - +- Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` +- This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. +- `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` +- `onChangePage` has been renamed to `onPageChange` +- Information on migraiton guide here: https://material-table-core.com/docs/breaking-changes -- For anyone not using our `Table` component and relying on `material-table` directly, please update to use `@material-table/core` and follow this migration guide https://material-table-core.com/docs/breaking-changes#onchangerowsperpage From 45df260a38a48e7a372a89fdf3e57780882037f4 Mon Sep 17 00:00:00 2001 From: Nicolas Torres Date: Wed, 28 Jul 2021 11:02:16 +0200 Subject: [PATCH 048/712] Updates tests because not the tag is Error not Warning Signed-off-by: Nicolas Torres --- .../src/components/GithubDeploymentsCard.test.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/github-deployments/src/components/GithubDeploymentsCard.test.tsx b/plugins/github-deployments/src/components/GithubDeploymentsCard.test.tsx index 474b4a5941..4c1b7854c6 100644 --- a/plugins/github-deployments/src/components/GithubDeploymentsCard.test.tsx +++ b/plugins/github-deployments/src/components/GithubDeploymentsCard.test.tsx @@ -311,7 +311,7 @@ describe('github-deployments', () => { expect( await rendered.findByText( - 'Warning: No apiBaseUrl available for host my-github-3.com, please check your integrations config', + 'Error: No apiBaseUrl available for host my-github-3.com, please check your integrations config', ), ).toBeInTheDocument(); }); @@ -336,7 +336,7 @@ describe('github-deployments', () => { expect( await rendered.findByText( - 'Warning: No matching GitHub integration configuration for host my-github-unknown.com, please check your integrations config', + 'Error: No matching GitHub integration configuration for host my-github-unknown.com, please check your integrations config', ), ).toBeInTheDocument(); }); From a5864a50bf7d982cf9793f2633f9e7b32e01fa46 Mon Sep 17 00:00:00 2001 From: blam Date: Wed, 28 Jul 2021 11:55:44 +0200 Subject: [PATCH 049/712] chore: udpate changeset formatting to make linting happy Signed-off-by: blam --- .changeset/lazy-colts-help.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.changeset/lazy-colts-help.md b/.changeset/lazy-colts-help.md index 18bc47e046..202a628526 100644 --- a/.changeset/lazy-colts-help.md +++ b/.changeset/lazy-colts-help.md @@ -56,5 +56,4 @@ - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` - `onChangePage` has been renamed to `onPageChange` -- Information on migraiton guide here: https://material-table-core.com/docs/breaking-changes - +- Migration guide is here: https://material-table-core.com/docs/breaking-changes From de13f9ac007b312f3ecbef3a303c2a10e48e796f Mon Sep 17 00:00:00 2001 From: Philipp Hugenroth Date: Wed, 28 Jul 2021 13:48:56 +0200 Subject: [PATCH 050/712] Generalize ContentHeader Button - Create CreateButton component & remove CreateComponentButton Signed-off-by: Philipp Hugenroth --- .../components/CreateButton/CreateButton.tsx | 51 +++++++++++++++++++ .../src/components/CreateButton}/index.ts | 2 +- .../SupportButton/SupportButton.tsx | 39 ++++++++++---- .../core-components/src/components/index.ts | 1 + .../ApiExplorerPage/ApiExplorerPage.tsx | 19 +++---- .../components/CatalogPage/CatalogPage.tsx | 11 ++-- .../CreateComponentButton.tsx | 36 ------------- plugins/catalog/src/index.ts | 1 - .../ScaffolderPage/ScaffolderPage.tsx | 18 +++---- 9 files changed, 101 insertions(+), 77 deletions(-) create mode 100644 packages/core-components/src/components/CreateButton/CreateButton.tsx rename {plugins/catalog/src/components/CreateComponentButton => packages/core-components/src/components/CreateButton}/index.ts (90%) delete mode 100644 plugins/catalog/src/components/CreateComponentButton/CreateComponentButton.tsx diff --git a/packages/core-components/src/components/CreateButton/CreateButton.tsx b/packages/core-components/src/components/CreateButton/CreateButton.tsx new file mode 100644 index 0000000000..021e1b002d --- /dev/null +++ b/packages/core-components/src/components/CreateButton/CreateButton.tsx @@ -0,0 +1,51 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { BackstageTheme } from '@backstage/theme'; +import { Button, IconButton, useMediaQuery } from '@material-ui/core'; +import React from 'react'; +import { Link as RouterLink, LinkProps } from 'react-router-dom'; +import AddCircleOutline from '@material-ui/icons/AddCircleOutline'; + +type CreateButtonProps = { + title: string; +} & Partial>; + +export const CreateButton = ({ title, to }: CreateButtonProps) => { + const isXSScreen = useMediaQuery(theme => + theme.breakpoints.down('xs'), + ); + + if (!to) { + return null; + } + + return isXSScreen ? ( + + + + ) : ( + + ); +}; diff --git a/plugins/catalog/src/components/CreateComponentButton/index.ts b/packages/core-components/src/components/CreateButton/index.ts similarity index 90% rename from plugins/catalog/src/components/CreateComponentButton/index.ts rename to packages/core-components/src/components/CreateButton/index.ts index edf59d18a6..f0e4cbe646 100644 --- a/plugins/catalog/src/components/CreateComponentButton/index.ts +++ b/packages/core-components/src/components/CreateButton/index.ts @@ -14,4 +14,4 @@ * limitations under the License. */ -export { CreateComponentButton } from './CreateComponentButton'; +export { CreateButton } from './CreateButton'; diff --git a/packages/core-components/src/components/SupportButton/SupportButton.tsx b/packages/core-components/src/components/SupportButton/SupportButton.tsx index 3e719acb95..22ec5cf47e 100644 --- a/packages/core-components/src/components/SupportButton/SupportButton.tsx +++ b/packages/core-components/src/components/SupportButton/SupportButton.tsx @@ -15,21 +15,24 @@ */ import { useApp } from '@backstage/core-plugin-api'; -import { HelpIcon } from '../../icons'; +import { BackstageTheme } from '@backstage/theme'; import { Box, Button, DialogActions, + IconButton, List, ListItem, ListItemIcon, ListItemText, - Typography, makeStyles, Popover, + Typography, + useMediaQuery, } from '@material-ui/core'; import React, { MouseEventHandler, useState } from 'react'; import { SupportItem, SupportItemLink, useSupportConfig } from '../../hooks'; +import { HelpIcon } from '../../icons'; import { Link } from '../Link'; type SupportButtonProps = { @@ -83,6 +86,9 @@ export const SupportButton = ({ title, children }: SupportButtonProps) => { const [popoverOpen, setPopoverOpen] = useState(false); const [anchorEl, setAnchorEl] = useState(null); const classes = useStyles(); + const isSmallScreen = useMediaQuery(theme => + theme.breakpoints.down('sm'), + ); const onClickHandler: MouseEventHandler = event => { setAnchorEl(event.currentTarget); @@ -95,15 +101,26 @@ export const SupportButton = ({ title, children }: SupportButtonProps) => { return ( <> - - + + {isSmallScreen ? ( + + + + ) : ( + + )} [] = [ @@ -63,11 +62,11 @@ export const ApiExplorerPage = ({ initiallySelectedFilter = 'all', columns, }: ApiExplorerPageProps) => { - const createComponentLink = useRouteRef(createComponentRouteRef); const configApi = useApi(configApiRef); const generatedSubtitle = `${ configApi.getOptionalString('organization.name') ?? 'Backstage' } API Explorer`; + const createComponentLink = useRouteRef(createComponentRouteRef); return ( - {createComponentLink && ( - - )} + All your APIs diff --git a/plugins/catalog/src/components/CatalogPage/CatalogPage.tsx b/plugins/catalog/src/components/CatalogPage/CatalogPage.tsx index 963e04e5e2..a4f6c01bc8 100644 --- a/plugins/catalog/src/components/CatalogPage/CatalogPage.tsx +++ b/plugins/catalog/src/components/CatalogPage/CatalogPage.tsx @@ -17,12 +17,13 @@ import { Content, ContentHeader, + CreateButton, PageWithHeader, SupportButton, TableColumn, TableProps, } from '@backstage/core-components'; -import { configApiRef, useApi } from '@backstage/core-plugin-api'; +import { configApiRef, useApi, useRouteRef } from '@backstage/core-plugin-api'; import { EntityKindPicker, EntityLifecyclePicker, @@ -34,9 +35,9 @@ import { UserListPicker, } from '@backstage/plugin-catalog-react'; import React from 'react'; +import { createComponentRouteRef } from '../../routes'; import { CatalogTable } from '../CatalogTable'; import { EntityRow } from '../CatalogTable/types'; -import { CreateComponentButton } from '../CreateComponentButton'; import { FilteredEntityLayout, EntityListContainer, @@ -56,12 +57,16 @@ export const CatalogPage = ({ }: CatalogPageProps) => { const orgName = useApi(configApiRef).getOptionalString('organization.name') ?? 'Backstage'; + const createComponentLink = useRouteRef(createComponentRouteRef); return ( - + All your software catalog entities diff --git a/plugins/catalog/src/components/CreateComponentButton/CreateComponentButton.tsx b/plugins/catalog/src/components/CreateComponentButton/CreateComponentButton.tsx deleted file mode 100644 index ae2fc4b718..0000000000 --- a/plugins/catalog/src/components/CreateComponentButton/CreateComponentButton.tsx +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2021 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import React from 'react'; -import { Link as RouterLink } from 'react-router-dom'; -import { Button } from '@material-ui/core'; -import { createComponentRouteRef } from '../../routes'; -import { useRouteRef } from '@backstage/core-plugin-api'; - -export const CreateComponentButton = () => { - const createComponentLink = useRouteRef(createComponentRouteRef); - - return createComponentLink ? ( - - ) : null; -}; diff --git a/plugins/catalog/src/index.ts b/plugins/catalog/src/index.ts index 215a18f661..4c0d5ade7e 100644 --- a/plugins/catalog/src/index.ts +++ b/plugins/catalog/src/index.ts @@ -20,7 +20,6 @@ export * from './components/CatalogResultListItem'; export { CatalogTable } from './components/CatalogTable'; export type { EntityRow as CatalogTableRow } from './components/CatalogTable'; export * from './components/CatalogTable/columns'; -export * from './components/CreateComponentButton'; export * from './components/EntityLayout'; export * from './components/EntityOrphanWarning'; export * from './components/EntityPageLayout'; diff --git a/plugins/scaffolder/src/components/ScaffolderPage/ScaffolderPage.tsx b/plugins/scaffolder/src/components/ScaffolderPage/ScaffolderPage.tsx index e82a2640d6..859e5bba93 100644 --- a/plugins/scaffolder/src/components/ScaffolderPage/ScaffolderPage.tsx +++ b/plugins/scaffolder/src/components/ScaffolderPage/ScaffolderPage.tsx @@ -17,6 +17,7 @@ import { Content, ContentHeader, + CreateButton, Header, Lifecycle, Page, @@ -30,9 +31,8 @@ import { EntityTagPicker, UserListPicker, } from '@backstage/plugin-catalog-react'; -import { Button, makeStyles } from '@material-ui/core'; +import { makeStyles } from '@material-ui/core'; import React from 'react'; -import { Link as RouterLink } from 'react-router-dom'; import { registerComponentRouteRef } from '../../routes'; import { TemplateList } from '../TemplateList'; import { TemplateTypePicker } from '../TemplateTypePicker'; @@ -64,16 +64,10 @@ export const ScaffolderPageContents = () => { /> - {registerComponentLink && ( - - )} + Create new software components using standard templates. Different templates create different kinds of components (services, websites, From 745ca05dd8f91c6d47bebeaebdffb1f82ebeae5b Mon Sep 17 00:00:00 2001 From: Philipp Hugenroth Date: Wed, 28 Jul 2021 14:41:44 +0200 Subject: [PATCH 051/712] Move margin to wrapper for better alignment Signed-off-by: Philipp Hugenroth --- .../src/layout/ContentHeader/ContentHeader.tsx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/core-components/src/layout/ContentHeader/ContentHeader.tsx b/packages/core-components/src/layout/ContentHeader/ContentHeader.tsx index 62cb80cffa..4bda2d76af 100644 --- a/packages/core-components/src/layout/ContentHeader/ContentHeader.tsx +++ b/packages/core-components/src/layout/ContentHeader/ContentHeader.tsx @@ -31,12 +31,11 @@ const useStyles = (props: ContentHeaderProps) => flexWrap: 'wrap', justifyContent: 'flex-end', alignItems: 'center', - marginBottom: theme.spacing(1), + marginBottom: theme.spacing(2), textAlign: props.textAlign, }, leftItemsBox: { flex: '1 1 auto', - marginBottom: theme.spacing(1), minWidth: 0, overflow: 'visible', }, @@ -47,13 +46,13 @@ const useStyles = (props: ContentHeaderProps) => flexWrap: 'wrap', alignItems: 'center', marginLeft: theme.spacing(1), - marginBottom: theme.spacing(1), minWidth: 0, overflow: 'visible', }, description: {}, title: { display: 'inline-flex', + marginBottom: 0, }, })); From 93b689486b71977f99f6e1dcfdee3c0eaa90d560 Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Wed, 28 Jul 2021 14:51:46 +0200 Subject: [PATCH 052/712] Add explicit support for mkdocs.yaml files when present. Co-authored-by: Camila Loiola Signed-off-by: Eric Peterson --- .../src/stages/generate/helpers.test.ts | 54 +++++++++++++------ .../src/stages/generate/helpers.ts | 48 ++++++++++++----- .../src/stages/generate/techdocs.ts | 14 ++--- 3 files changed, 79 insertions(+), 37 deletions(-) diff --git a/packages/techdocs-common/src/stages/generate/helpers.test.ts b/packages/techdocs-common/src/stages/generate/helpers.test.ts index a5a6d99c29..a267736bd2 100644 --- a/packages/techdocs-common/src/stages/generate/helpers.test.ts +++ b/packages/techdocs-common/src/stages/generate/helpers.test.ts @@ -23,6 +23,7 @@ import { RemoteProtocol } from '../prepare/types'; import { addBuildTimestampMetadata, getGeneratorKey, + getMkdocsYml, getRepoUrlFromLocationAnnotation, isValidRepoUrlForMkdocs, patchMkdocsYmlPreBuild, @@ -53,6 +54,9 @@ const mkdocsYmlWithValidDocDir = fs.readFileSync( const mkdocsYmlWithInvalidDocDir = fs.readFileSync( resolvePath(__filename, '../__fixtures__/mkdocs_invalid_doc_dir.yml'), ); +const mkdocsYmlWithInvalidDocDir2 = fs.readFileSync( + resolvePath(__filename, '../__fixtures__/mkdocs_invalid_doc_dir2.yml'), +); const mockLogger = getVoidLogger(); const rootDir = os.platform() === 'win32' ? 'C:\\rootDir' : '/rootDir'; @@ -334,48 +338,68 @@ describe('helpers', () => { }); }); - describe('validateMkdocsYaml', () => { - beforeEach(() => { - mockFs({ - '/mkdocs.yml': mkdocsYml, - '/mkdocs_with_extensions.yml': mkdocsYmlWithExtensions, - '/mkdocs_valid_doc_dir.yml': mkdocsYmlWithValidDocDir, - '/mkdocs_invalid_doc_dir.yml': mkdocsYmlWithInvalidDocDir, - }); - }); - + describe('getMkdocsYml', () => { afterEach(() => { mockFs.restore(); }); const inputDir = resolvePath(__filename, '../__fixtures__/'); + + it('returns expected contents when .yml file is present', async () => { + const key = path.join(inputDir, 'mkdocs.yml'); + mockFs({ [key]: mkdocsYml }); + const { path: mkdocsPath, content } = await getMkdocsYml(inputDir); + + expect(mkdocsPath).toBe(key); + expect(content).toBe(mkdocsYml.toString()); + }); + + it('returns expected contents when .yaml file is present', async () => { + const key = path.join(inputDir, 'mkdocs.yaml'); + mockFs({ [key]: mkdocsYml }); + const { path: mkdocsPath, content } = await getMkdocsYml(inputDir); + expect(mkdocsPath).toBe(key); + expect(content).toBe(mkdocsYml.toString()); + }); + + it('throws when neither .yml nor .yaml file is present', async () => { + const invalidInputDir = resolvePath(__filename); + await expect(getMkdocsYml(invalidInputDir)).rejects.toThrowError( + /Could not read MkDocs YAML config file mkdocs.yml or mkdocs.yaml for validation/, + ); + }); + }); + + describe('validateMkdocsYaml', () => { + const inputDir = resolvePath(__filename, '../__fixtures__/'); + it('should return true on when no docs_dir present', async () => { await expect( - validateMkdocsYaml(inputDir, '/mkdocs.yml'), + validateMkdocsYaml(inputDir, mkdocsYml.toString()), ).resolves.toBeUndefined(); }); it('should return true on when a valid docs_dir is present', async () => { await expect( - validateMkdocsYaml(inputDir, '/mkdocs_valid_doc_dir.yml'), + validateMkdocsYaml(inputDir, mkdocsYmlWithValidDocDir.toString()), ).resolves.toBeUndefined(); }); it('should return false on absolute doc_dir path', async () => { await expect( - validateMkdocsYaml(inputDir, '/mkdocs_invalid_doc_dir.yml'), + validateMkdocsYaml(inputDir, mkdocsYmlWithInvalidDocDir.toString()), ).rejects.toThrow(); }); it('should return false on doc_dir path that traverses directory structure backwards', async () => { await expect( - validateMkdocsYaml(inputDir, '/mkdocs_invalid_doc_dir2.yml'), + validateMkdocsYaml(inputDir, mkdocsYmlWithInvalidDocDir2.toString()), ).rejects.toThrow(); }); it('should validate files with custom yaml tags', async () => { await expect( - validateMkdocsYaml(inputDir, '/mkdocs_with_extensions.yml'), + validateMkdocsYaml(inputDir, mkdocsYmlWithExtensions.toString()), ).resolves.toBeUndefined(); }); }); diff --git a/packages/techdocs-common/src/stages/generate/helpers.ts b/packages/techdocs-common/src/stages/generate/helpers.ts index 590e75e7b2..c10303f29c 100644 --- a/packages/techdocs-common/src/stages/generate/helpers.ts +++ b/packages/techdocs-common/src/stages/generate/helpers.ts @@ -19,7 +19,7 @@ import { isChildPath } from '@backstage/backend-common'; import { spawn } from 'child_process'; import fs from 'fs-extra'; import yaml, { DEFAULT_SCHEMA, Type } from 'js-yaml'; -import { resolve as resolvePath } from 'path'; +import path, { resolve as resolvePath } from 'path'; import { PassThrough, Writable } from 'stream'; import { Logger } from 'winston'; import { ParsedLocationAnnotation } from '../../helpers'; @@ -155,26 +155,50 @@ const MKDOCS_SCHEMA = DEFAULT_SCHEMA.extend([ }), ]); +/** + * Finds and loads the contents of either an mkdocs.yml or mkdocs.yaml file, + * depending on which is present (MkDocs supports both as of v1.2.2). + * + * @param {string} inputDir base dir to be searched for either an mkdocs.yml or + * mkdocs.yaml file. + */ +export const getMkdocsYml = async ( + inputDir: string, +): Promise<{ path: string; content: string }> => { + let mkdocsYmlPath: string; + let mkdocsYmlFileString: string; + try { + mkdocsYmlPath = path.join(inputDir, 'mkdocs.yaml'); + mkdocsYmlFileString = await fs.readFile(mkdocsYmlPath, 'utf8'); + } catch { + try { + mkdocsYmlPath = path.join(inputDir, 'mkdocs.yml'); + mkdocsYmlFileString = await fs.readFile(mkdocsYmlPath, 'utf8'); + } catch (error) { + throw new Error( + `Could not read MkDocs YAML config file mkdocs.yml or mkdocs.yaml for validation: ${error.message}`, + ); + } + } + + return { + path: mkdocsYmlPath, + content: mkdocsYmlFileString, + }; +}; + /** * Validating mkdocs config file for incorrect/insecure values * Throws on invalid configs * * @param {string} inputDir base dir to be used as a docs_dir path validity check - * @param {string} mkdocsYmlPath Absolute path to mkdocs.yml or equivalent of a docs site + * @param {string} mkdocsYmlFileString The string contents of the loaded + * mkdocs.yml or equivalent of a docs site */ export const validateMkdocsYaml = async ( inputDir: string, - mkdocsYmlPath: string, + mkdocsYmlFileString: string, ) => { - let mkdocsYmlFileString; - try { - mkdocsYmlFileString = await fs.readFile(mkdocsYmlPath, 'utf8'); - } catch (error) { - throw new Error( - `Could not read MkDocs YAML config file ${mkdocsYmlPath} before for validation: ${error.message}`, - ); - } - const mkdocsYml: any = yaml.load(mkdocsYmlFileString, { schema: MKDOCS_SCHEMA, }); diff --git a/packages/techdocs-common/src/stages/generate/techdocs.ts b/packages/techdocs-common/src/stages/generate/techdocs.ts index 9d6bf38c54..13bb63ca44 100644 --- a/packages/techdocs-common/src/stages/generate/techdocs.ts +++ b/packages/techdocs-common/src/stages/generate/techdocs.ts @@ -16,10 +16,10 @@ import { ContainerRunner } from '@backstage/backend-common'; import { Config } from '@backstage/config'; -import path from 'path'; import { Logger } from 'winston'; import { addBuildTimestampMetadata, + getMkdocsYml, patchMkdocsYmlPreBuild, runCommand, storeEtagMetadata, @@ -71,19 +71,13 @@ export class TechdocsGenerator implements GeneratorBase { logger: childLogger, logStream, }: GeneratorRunOptions): Promise { - // TODO: In future mkdocs.yml can be mkdocs.yaml. So, use a config variable here to find out - // the correct file name. // Do some updates to mkdocs.yml before generating docs e.g. adding repo_url - const mkdocsYmlPath = path.join(inputDir, 'mkdocs.yml'); + const { path, content } = await getMkdocsYml(inputDir); if (parsedLocationAnnotation) { - await patchMkdocsYmlPreBuild( - mkdocsYmlPath, - childLogger, - parsedLocationAnnotation, - ); + await patchMkdocsYmlPreBuild(path, childLogger, parsedLocationAnnotation); } - await validateMkdocsYaml(inputDir, mkdocsYmlPath); + await validateMkdocsYaml(inputDir, content); // Directories to bind on container const mountDirs = { From 54356336e2d23271cb23b8523e293aed61be8ec1 Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Wed, 28 Jul 2021 14:54:50 +0200 Subject: [PATCH 053/712] Changeset! Co-authored-by: Camila Loiola Signed-off-by: Eric Peterson --- .changeset/techdocs-you-say-yaml.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .changeset/techdocs-you-say-yaml.md diff --git a/.changeset/techdocs-you-say-yaml.md b/.changeset/techdocs-you-say-yaml.md new file mode 100644 index 0000000000..fef2ab3eb9 --- /dev/null +++ b/.changeset/techdocs-you-say-yaml.md @@ -0,0 +1,7 @@ +--- +'@backstage/techdocs-common': patch +--- + +TechDocs generator stage now supports `mkdocs.yaml` file, in addition to `.yml` +depending on whichever is present at the time of generation. (Assumes the +latest `spotify/techdocs` container, running mkdocs `v1.2.2` or greater). From 45ac7995379c11afe8f23777a2afb1113159bc91 Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Wed, 28 Jul 2021 15:14:11 +0200 Subject: [PATCH 054/712] Fix path Signed-off-by: Eric Peterson --- packages/techdocs-common/src/stages/generate/techdocs.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/techdocs-common/src/stages/generate/techdocs.ts b/packages/techdocs-common/src/stages/generate/techdocs.ts index 13bb63ca44..1a6577cad9 100644 --- a/packages/techdocs-common/src/stages/generate/techdocs.ts +++ b/packages/techdocs-common/src/stages/generate/techdocs.ts @@ -16,6 +16,7 @@ import { ContainerRunner } from '@backstage/backend-common'; import { Config } from '@backstage/config'; +import path from 'path'; import { Logger } from 'winston'; import { addBuildTimestampMetadata, @@ -72,9 +73,13 @@ export class TechdocsGenerator implements GeneratorBase { logStream, }: GeneratorRunOptions): Promise { // Do some updates to mkdocs.yml before generating docs e.g. adding repo_url - const { path, content } = await getMkdocsYml(inputDir); + const { path: mkdocsYmlPath, content } = await getMkdocsYml(inputDir); if (parsedLocationAnnotation) { - await patchMkdocsYmlPreBuild(path, childLogger, parsedLocationAnnotation); + await patchMkdocsYmlPreBuild( + mkdocsYmlPath, + childLogger, + parsedLocationAnnotation, + ); } await validateMkdocsYaml(inputDir, content); From 7b8aa8d0d142c486d59e55cd49d191332bba59a7 Mon Sep 17 00:00:00 2001 From: Philipp Hugenroth Date: Wed, 28 Jul 2021 15:21:52 +0200 Subject: [PATCH 055/712] Update documentation & add changeset Signed-off-by: Philipp Hugenroth --- .changeset/quick-coats-peel.md | 8 ++++++++ docs/features/software-catalog/catalog-customization.md | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 .changeset/quick-coats-peel.md diff --git a/.changeset/quick-coats-peel.md b/.changeset/quick-coats-peel.md new file mode 100644 index 0000000000..12e567aa24 --- /dev/null +++ b/.changeset/quick-coats-peel.md @@ -0,0 +1,8 @@ +--- +'@backstage/core-components': patch +'@backstage/plugin-api-docs': patch +'@backstage/plugin-catalog': patch +'@backstage/plugin-scaffolder': patch +--- + +Move the `CreateComponentButton` from the catalog plugin to the `core-components` & rename it to `CreateButton` to be reused inside the api-docs plugin & scaffolder plugin, but also future plugins. Additionally, improve responsiveness of `CreateButton` & `SupportButton` by shrinking them to `IconButtons` on smaller screens. diff --git a/docs/features/software-catalog/catalog-customization.md b/docs/features/software-catalog/catalog-customization.md index 0c11d8f476..8d209cc8f0 100644 --- a/docs/features/software-catalog/catalog-customization.md +++ b/docs/features/software-catalog/catalog-customization.md @@ -36,7 +36,7 @@ export const CustomCatalogPage = ({ - + All your software catalog entities From a85d6df823bbd7c43ee0a704bc0c604023825282 Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Tue, 27 Jul 2021 16:15:32 +0200 Subject: [PATCH 056/712] Use verbose level when migrating docs so that techdocs-cli will display when --verbose flag is used. Signed-off-by: Eric Peterson --- packages/techdocs-common/src/stages/publish/awsS3.ts | 2 +- packages/techdocs-common/src/stages/publish/azureBlobStorage.ts | 2 +- packages/techdocs-common/src/stages/publish/local.ts | 2 +- .../src/stages/publish/migrations/GoogleMigration.ts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/techdocs-common/src/stages/publish/awsS3.ts b/packages/techdocs-common/src/stages/publish/awsS3.ts index 2942e33380..7bdc91ffd4 100644 --- a/packages/techdocs-common/src/stages/publish/awsS3.ts +++ b/packages/techdocs-common/src/stages/publish/awsS3.ts @@ -337,7 +337,7 @@ export class AwsS3Publish implements PublisherBase { } try { - this.logger.debug(`Migrating ${file}`); + this.logger.verbose(`Migrating ${file}`); await this.storageClient .copyObject({ Bucket: this.bucketName, diff --git a/packages/techdocs-common/src/stages/publish/azureBlobStorage.ts b/packages/techdocs-common/src/stages/publish/azureBlobStorage.ts index 7ee67a0016..fe8fe9c2ce 100644 --- a/packages/techdocs-common/src/stages/publish/azureBlobStorage.ts +++ b/packages/techdocs-common/src/stages/publish/azureBlobStorage.ts @@ -323,7 +323,7 @@ export class AzureBlobStoragePublish implements PublisherBase { if (originalPath === newPath) return; try { - this.logger.debug(`Migrating ${originalPath}`); + this.logger.verbose(`Migrating ${originalPath}`); await this.renameBlob(originalPath, newPath, removeOriginal); } catch (e) { this.logger.warn(`Unable to migrate ${originalPath}: ${e.message}`); diff --git a/packages/techdocs-common/src/stages/publish/local.ts b/packages/techdocs-common/src/stages/publish/local.ts index 3414d273dd..24af34932f 100644 --- a/packages/techdocs-common/src/stages/publish/local.ts +++ b/packages/techdocs-common/src/stages/publish/local.ts @@ -196,7 +196,7 @@ export class LocalPublish implements PublisherBase { // Otherwise, copy or move the file. await new Promise(resolve => { const migrate = removeOriginal ? fs.move : fs.copyFile; - this.logger.debug(`Migrating ${relativeFile}`); + this.logger.verbose(`Migrating ${relativeFile}`); migrate(file, newFile, err => { if (err) { this.logger.warn( diff --git a/packages/techdocs-common/src/stages/publish/migrations/GoogleMigration.ts b/packages/techdocs-common/src/stages/publish/migrations/GoogleMigration.ts index cc35b351ea..192cefbfe2 100644 --- a/packages/techdocs-common/src/stages/publish/migrations/GoogleMigration.ts +++ b/packages/techdocs-common/src/stages/publish/migrations/GoogleMigration.ts @@ -64,7 +64,7 @@ export class MigrateWriteStream extends Writable { const migrate = this.removeOriginal ? file.move.bind(file) : file.copy.bind(file); - this.logger.debug(`Migrating ${file.name}`); + this.logger.verbose(`Migrating ${file.name}`); migrate(newFile) .catch(e => this.logger.warn(`Unable to migrate ${file.name}: ${e.message}`), From 59a5fa319e905c074302dee297ad49afe4f8ebe3 Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Tue, 27 Jul 2021 16:18:14 +0200 Subject: [PATCH 057/712] Changeset Signed-off-by: Eric Peterson --- .changeset/techdocs-blink-of-an-eye.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .changeset/techdocs-blink-of-an-eye.md diff --git a/.changeset/techdocs-blink-of-an-eye.md b/.changeset/techdocs-blink-of-an-eye.md new file mode 100644 index 0000000000..e5bc60f0c7 --- /dev/null +++ b/.changeset/techdocs-blink-of-an-eye.md @@ -0,0 +1,6 @@ +--- +'@backstage/techdocs-common': patch +--- + +Migrated files are now printed when `techdocs-cli migrate` is run with the +`--verbose` flag set. From 2604d86de00731e653da5de62f7bb21079f03f5b Mon Sep 17 00:00:00 2001 From: Philipp Hugenroth Date: Wed, 28 Jul 2021 15:46:10 +0200 Subject: [PATCH 058/712] Update API report Signed-off-by: Philipp Hugenroth --- packages/core-components/api-report.md | 9 +++++++++ plugins/catalog/api-report.md | 5 ----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/core-components/api-report.md b/packages/core-components/api-report.md index ccafa4cfa7..298e4d9cb1 100644 --- a/packages/core-components/api-report.md +++ b/packages/core-components/api-report.md @@ -467,6 +467,15 @@ export const CopyTextButton: { }; }; +// Warning: (ae-forgotten-export) The symbol "CreateButtonProps" needs to be exported by the entry point index.d.ts +// Warning: (ae-missing-release-tag) "CreateButton" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export const CreateButton: ({ + title, + to, +}: CreateButtonProps) => JSX.Element | null; + // Warning: (ae-missing-release-tag) "DashboardIcon" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) diff --git a/plugins/catalog/api-report.md b/plugins/catalog/api-report.md index a416e70038..50c44e10f1 100644 --- a/plugins/catalog/api-report.md +++ b/plugins/catalog/api-report.md @@ -160,11 +160,6 @@ export type CatalogTableRow = { }; }; -// Warning: (ae-missing-release-tag) "CreateComponentButton" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const CreateComponentButton: () => JSX.Element | null; - // Warning: (ae-missing-release-tag) "createMetadataDescriptionColumn" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) From 07410d1e9b4bcaa07c2922dfdaf04810827b41c3 Mon Sep 17 00:00:00 2001 From: Miklos Kiss Date: Tue, 27 Jul 2021 11:38:25 +0200 Subject: [PATCH 059/712] make KubernetesFanOutHandler params an object Signed-off-by: Miklos Kiss --- plugins/kubernetes-backend/src/index.ts | 2 ++ .../src/service/KubernetesFanOutHandler.ts | 24 ++++++++++++------- .../kubernetes-backend/src/service/router.ts | 8 +++---- 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/plugins/kubernetes-backend/src/index.ts b/plugins/kubernetes-backend/src/index.ts index 155c4967d5..e5eb5e7c62 100644 --- a/plugins/kubernetes-backend/src/index.ts +++ b/plugins/kubernetes-backend/src/index.ts @@ -16,3 +16,5 @@ export * from './service/router'; export * from './types/types'; + +export { DEFAULT_OBJECTS } from './service/KubernetesFanOutHandler'; diff --git a/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts b/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts index 5e27dac770..0774a015a1 100644 --- a/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts +++ b/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts @@ -26,7 +26,7 @@ import { KubernetesRequestBody } from '@backstage/plugin-kubernetes-common'; import { KubernetesAuthTranslator } from '../kubernetes-auth-translator/types'; import { KubernetesAuthTranslatorGenerator } from '../kubernetes-auth-translator/KubernetesAuthTranslatorGenerator'; -const DEFAULT_OBJECTS: KubernetesObjectTypes[] = [ +export const DEFAULT_OBJECTS: KubernetesObjectTypes[] = [ 'pods', 'services', 'configmaps', @@ -36,6 +36,14 @@ const DEFAULT_OBJECTS: KubernetesObjectTypes[] = [ 'ingresses', ]; +export interface KubernetesFanOutHandlerOptions { + logger: Logger; + fetcher: KubernetesFetcher; + serviceLocator: KubernetesServiceLocator; + customResources: CustomResource[]; + objectTypesToFetch: KubernetesObjectTypes[]; +} + export class KubernetesFanOutHandler { private readonly logger: Logger; private readonly fetcher: KubernetesFetcher; @@ -43,13 +51,13 @@ export class KubernetesFanOutHandler { private readonly customResources: CustomResource[]; private readonly objectTypesToFetch: KubernetesObjectTypes[]; - constructor( - logger: Logger, - fetcher: KubernetesFetcher, - serviceLocator: KubernetesServiceLocator, - customResources: CustomResource[], - objectTypesToFetch: KubernetesObjectTypes[] = DEFAULT_OBJECTS, - ) { + constructor({ + logger, + fetcher, + serviceLocator, + customResources, + objectTypesToFetch = DEFAULT_OBJECTS, + }: KubernetesFanOutHandlerOptions) { this.logger = logger; this.fetcher = fetcher; this.serviceLocator = serviceLocator; diff --git a/plugins/kubernetes-backend/src/service/router.ts b/plugins/kubernetes-backend/src/service/router.ts index 13094cf6ed..8a1f2fe627 100644 --- a/plugins/kubernetes-backend/src/service/router.ts +++ b/plugins/kubernetes-backend/src/service/router.ts @@ -134,17 +134,17 @@ export async function createRouter( ); const serviceLocator = getServiceLocator(options.config, clusterDetails); - const objectTypes = options.config.getOptionalStringArray( + const objectTypesToFetch = options.config.getOptionalStringArray( 'kubernetes.objectTypes', ) as KubernetesObjectTypes[]; - const kubernetesFanOutHandler = new KubernetesFanOutHandler( + const kubernetesFanOutHandler = new KubernetesFanOutHandler({ logger, fetcher, serviceLocator, customResources, - objectTypes, - ); + objectTypesToFetch, + }); return makeRouter(logger, kubernetesFanOutHandler, clusterDetails); } From f0f4997f96eab1cb53aef8e2429bdce4d2e74423 Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Wed, 28 Jul 2021 18:41:42 +0200 Subject: [PATCH 060/712] Document latest recommendations for techdocs-ref annotation Signed-off-by: Eric Peterson --- .../well-known-annotations.md | 14 ++-- .../techdocs/creating-and-publishing.md | 4 +- docs/features/techdocs/how-to-guides.md | 72 +++++++++++++------ 3 files changed, 60 insertions(+), 30 deletions(-) diff --git a/docs/features/software-catalog/well-known-annotations.md b/docs/features/software-catalog/well-known-annotations.md index 5f474624f9..c0c347ac17 100644 --- a/docs/features/software-catalog/well-known-annotations.md +++ b/docs/features/software-catalog/well-known-annotations.md @@ -63,12 +63,18 @@ the `app-config.yaml` of a Backstage installation. # Example: metadata: annotations: - backstage.io/techdocs-ref: url:https://github.com/backstage/backstage/tree/master + backstage.io/techdocs-ref: dir:. ``` -The value of this annotation is a location reference string (see above). If this -annotation is specified, it is expected to point to a repository that the -TechDocs system can read and generate docs from. +The value of this annotation informs _where_ TechDocs source content is stored +so that it can be read and docs can be generated from it. Most commonly, it's +written as a path, relative to the location of the `catalog-info.yaml` itself, +where the associated `mkdocs.yml` file can be found. + +In unusual situations where the documentation for a catalog entity does not live +alongside the entity's source code, the value of this annotation can point to an +absolute URL, matching the location reference string format outlined above, for +example: `url:https://github.com/backstage/backstage/tree/master` ### backstage.io/view-url, backstage.io/edit-url diff --git a/docs/features/techdocs/creating-and-publishing.md b/docs/features/techdocs/creating-and-publishing.md index 3fdc942ac4..93ce3ad4d9 100644 --- a/docs/features/techdocs/creating-and-publishing.md +++ b/docs/features/techdocs/creating-and-publishing.md @@ -66,9 +66,7 @@ Update your component's entity description by adding the following lines to its ```yaml metadata: annotations: - backstage.io/techdocs-ref: url:https://github.com/org/repo - # Or - # backstage.io/techdocs-ref: url:https://github.com/org/repo/tree/branchName/subFolder + backstage.io/techdocs-ref: dir:. ``` The diff --git a/docs/features/techdocs/how-to-guides.md b/docs/features/techdocs/how-to-guides.md index 3f3c92d0de..e1533498d7 100644 --- a/docs/features/techdocs/how-to-guides.md +++ b/docs/features/techdocs/how-to-guides.md @@ -35,38 +35,64 @@ In your Backstage instance's `app-config.yaml`, set `techdocs.builder` from `'local'` to `'external'`. By doing this, TechDocs will not try to generate docs. Look at [TechDocs configuration](configuration.md) for reference. -## How to use URL Reader in TechDocs Prepare step? +## How to understand techdocs-ref annotation values -If TechDocs is configured to generate docs, it will first download the -repository associated with the `backstage.io/techdocs-ref` annotation defined in -the Entity's `catalog-info.yaml` file. This is also called the +If TechDocs is configured to generate docs, it will first download source files +based on the value of the `backstage.io/techdocs-ref` annotation defined in the +Entity's `catalog-info.yaml` file. This is also called the [Prepare](./concepts.md#techdocs-preparer) step. -There are two kinds of preparers or two ways of downloading these source files +We strongly recommend that the `backstage.io/techdocs-ref` annotation in each +documented catalog entity's `catalog-info.yaml` be set to `dir:.` in almost all +situations. This is because TechDocs is aligned with the "docs like code" +philosophy, whereby documentation should be authored and managed alongside the +source code of the underlying software itself. -- Preparer 1: Doing a `git clone` of the repository (also known as Common Git - Preparer) -- Preparer 2: Downloading an archive.zip or equivalent of the repository (also - known as URL Reader) +When you see `dir:.`, you can translate it to mean: -If `backstage.io/techdocs-ref` is equal to any of these - +- That the documentation source code lives in the same location as the + `catalog-info.yaml` file. +- That, in particular, the `mkdocs.yml` file is a sibling of `catalog-info.yaml` + (meaning, it is in the same directory) +- And that all of the source content of the documentation would be available if + one were to download the directory containing those two files (as well as all + sub-directories). -1. `github:https://githubhost.com/org/repo` -2. `gitlab:https://gitlabhost.com/org/repo` -3. `bitbucket:https://bitbuckethost.com/project/repo` -4. `azure/api:https://azurehost.com/org/project` +The directory tree of the entity would look something like this: -Then Common Git Preparer will be used i.e. a `git clone`. But the URL Reader is -a much faster way to do this step. Convert the `backstage.io/techdocs-ref` -values to the following - +``` +├── catalog-info.yaml +├── mkdocs.yml +└── docs + └── index.md +``` -1. `url:https://githubhost.com/org/repo/tree/` -2. `url:https://gitlabhost.com/org/repo/tree/` -3. `url:https://bitbuckethost.com/project/repo/src/` -4. `url:https://azurehost.com/organization/project/_git/repository` +If, for example, you wanted to keep a lean root directory, you could place your +`mkdocs.yml` file in a subdirectory and update the `backstage.io/techdocs-ref` +annotation value accordingly, e.g. to `dir:./sub-folder`: -Note that you can also provide a path to a non-root directory inside the -repository which contains the `docs/` directory. +``` +├── catalog-info.yaml +└── sub-folder + ├── mkdocs.yml + └── docs + └── index.md +``` + +In rare situations where your TechDocs source content is managed and stored in a +location completely separate from your `catalog-info.yaml`, you can instead +specify a URL location reference, the exact value of which will vary based on +the source code hosting provider. Notice that instead of the `dir:` prefix, the +`url:` prefix is used instead. For example: + +- **GitHub**: `url:https://githubhost.com/org/repo/tree/` +- **GitLab**: `url:https://gitlabhost.com/org/repo/tree/` +- **Bitbucket**: `url:https://bitbuckethost.com/project/repo/src/` +- **Azure**: `url:https://azurehost.com/organization/project/_git/repository` + +Note, just as it's possible to specify a subdirectory with the `dir:` prefix, +you can also provide a path to a non-root directory inside the repository which +contains the `mkdocs.yml` file and `docs/` directory. e.g. `url:https://github.com/backstage/backstage/tree/master/plugins/techdocs-backend/examples/documented-component` From 602b1e5c97297c378d0aa3fa68512fb9c99d230c Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Wed, 28 Jul 2021 18:43:49 +0200 Subject: [PATCH 061/712] Update scaffolder templates to use the new, recommended annotation value. Signed-off-by: Eric Peterson --- catalog-info.yaml | 2 +- .../templates/default-app/catalog-info.yaml.hbs | 2 +- .../create-react-app/skeleton/catalog-info.yaml | 2 +- .../create-react-app/skeleton/docs/index.md | 0 .../sample-templates/create-react-app/skeleton/mkdocs.yml | 8 ++++++++ .../docs-template/skeleton/catalog-info.yaml | 2 +- .../react-ssr-template/skeleton/catalog-info.yaml | 2 +- .../springboot-grpc-template/skeleton/catalog-info.yaml | 2 +- .../examples/documented-component/catalog-info.yaml | 2 +- 9 files changed, 15 insertions(+), 7 deletions(-) create mode 100644 plugins/scaffolder-backend/sample-templates/create-react-app/skeleton/docs/index.md create mode 100644 plugins/scaffolder-backend/sample-templates/create-react-app/skeleton/mkdocs.yml diff --git a/catalog-info.yaml b/catalog-info.yaml index 0cab0c558a..6de6fd3426 100644 --- a/catalog-info.yaml +++ b/catalog-info.yaml @@ -15,7 +15,7 @@ metadata: url: https://discord.com/invite/EBHEGzX annotations: github.com/project-slug: backstage/backstage - backstage.io/techdocs-ref: url:https://github.com/backstage/backstage + backstage.io/techdocs-ref: dir:. lighthouse.com/website-url: https://backstage.io spec: type: library diff --git a/packages/create-app/templates/default-app/catalog-info.yaml.hbs b/packages/create-app/templates/default-app/catalog-info.yaml.hbs index d66da552b7..265864e235 100644 --- a/packages/create-app/templates/default-app/catalog-info.yaml.hbs +++ b/packages/create-app/templates/default-app/catalog-info.yaml.hbs @@ -6,7 +6,7 @@ metadata: # Example for optional annotations # annotations: # github.com/project-slug: backstage/backstage - # backstage.io/techdocs-ref: url:https://github.com/backstage/backstage + # backstage.io/techdocs-ref: dir:. spec: type: website owner: john@example.com diff --git a/plugins/scaffolder-backend/sample-templates/create-react-app/skeleton/catalog-info.yaml b/plugins/scaffolder-backend/sample-templates/create-react-app/skeleton/catalog-info.yaml index bac97e4bea..df23b90b97 100644 --- a/plugins/scaffolder-backend/sample-templates/create-react-app/skeleton/catalog-info.yaml +++ b/plugins/scaffolder-backend/sample-templates/create-react-app/skeleton/catalog-info.yaml @@ -5,7 +5,7 @@ metadata: description: {{cookiecutter.description | jsonify}} annotations: github.com/project-slug: {{cookiecutter.destination.owner + "/" + cookiecutter.destination.repo}} - backstage.io/techdocs-ref: url:{{"https://" + cookiecutter.destination.host + "/" + cookiecutter.destination.owner + "/" + cookiecutter.destination.repo}} + backstage.io/techdocs-ref: dir:. spec: type: website lifecycle: experimental diff --git a/plugins/scaffolder-backend/sample-templates/create-react-app/skeleton/docs/index.md b/plugins/scaffolder-backend/sample-templates/create-react-app/skeleton/docs/index.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/plugins/scaffolder-backend/sample-templates/create-react-app/skeleton/mkdocs.yml b/plugins/scaffolder-backend/sample-templates/create-react-app/skeleton/mkdocs.yml new file mode 100644 index 0000000000..64f1e9ee8e --- /dev/null +++ b/plugins/scaffolder-backend/sample-templates/create-react-app/skeleton/mkdocs.yml @@ -0,0 +1,8 @@ +site_name: {{cookiecutter.component_id | jsonify}} +site_description: {{cookiecutter.description | jsonify}} + +nav: + - Introduction: index.md + +plugins: + - techdocs-core diff --git a/plugins/scaffolder-backend/sample-templates/docs-template/skeleton/catalog-info.yaml b/plugins/scaffolder-backend/sample-templates/docs-template/skeleton/catalog-info.yaml index 7233525ac5..8f18e06d7e 100644 --- a/plugins/scaffolder-backend/sample-templates/docs-template/skeleton/catalog-info.yaml +++ b/plugins/scaffolder-backend/sample-templates/docs-template/skeleton/catalog-info.yaml @@ -5,7 +5,7 @@ metadata: description: {{cookiecutter.description | jsonify}} annotations: github.com/project-slug: {{cookiecutter.destination.owner + "/" + cookiecutter.destination.repo}} - backstage.io/techdocs-ref: url:{{"https://" + cookiecutter.destination.host + "/" + cookiecutter.destination.owner + "/" + cookiecutter.destination.repo}} + backstage.io/techdocs-ref: dir:. spec: type: documentation lifecycle: experimental diff --git a/plugins/scaffolder-backend/sample-templates/react-ssr-template/skeleton/catalog-info.yaml b/plugins/scaffolder-backend/sample-templates/react-ssr-template/skeleton/catalog-info.yaml index bac97e4bea..df23b90b97 100644 --- a/plugins/scaffolder-backend/sample-templates/react-ssr-template/skeleton/catalog-info.yaml +++ b/plugins/scaffolder-backend/sample-templates/react-ssr-template/skeleton/catalog-info.yaml @@ -5,7 +5,7 @@ metadata: description: {{cookiecutter.description | jsonify}} annotations: github.com/project-slug: {{cookiecutter.destination.owner + "/" + cookiecutter.destination.repo}} - backstage.io/techdocs-ref: url:{{"https://" + cookiecutter.destination.host + "/" + cookiecutter.destination.owner + "/" + cookiecutter.destination.repo}} + backstage.io/techdocs-ref: dir:. spec: type: website lifecycle: experimental diff --git a/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/catalog-info.yaml b/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/catalog-info.yaml index aeae2f816a..4ddec9c032 100644 --- a/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/catalog-info.yaml +++ b/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/catalog-info.yaml @@ -5,7 +5,7 @@ metadata: description: {{cookiecutter.description | jsonify}} annotations: github.com/project-slug: {{cookiecutter.destination.owner + "/" + cookiecutter.destination.repo}} - backstage.io/techdocs-ref: url:{{"https://" + cookiecutter.destination.host + "/" + cookiecutter.destination.owner + "/" + cookiecutter.destination.repo}} + backstage.io/techdocs-ref: dir:. spec: type: service lifecycle: experimental diff --git a/plugins/techdocs-backend/examples/documented-component/catalog-info.yaml b/plugins/techdocs-backend/examples/documented-component/catalog-info.yaml index ccdf8d3183..125c18200d 100644 --- a/plugins/techdocs-backend/examples/documented-component/catalog-info.yaml +++ b/plugins/techdocs-backend/examples/documented-component/catalog-info.yaml @@ -4,7 +4,7 @@ metadata: name: documented-component description: A Service with TechDocs documentation annotations: - backstage.io/techdocs-ref: 'url:https://github.com/backstage/backstage/tree/master/plugins/techdocs-backend/examples/documented-component' + backstage.io/techdocs-ref: dir:. spec: type: service lifecycle: experimental From 8ef28f5dbc2a4587051a0c6e9e4944734e41b2c5 Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Wed, 28 Jul 2021 18:45:51 +0200 Subject: [PATCH 062/712] Remove all legacy preparer code and dependencies. Signed-off-by: Eric Peterson --- packages/techdocs-common/api-report.md | 106 +-------- packages/techdocs-common/package.json | 3 - .../techdocs-common/src/default-branch.ts | 217 ------------------ packages/techdocs-common/src/git-auth.ts | 109 --------- packages/techdocs-common/src/helpers.ts | 133 +---------- packages/techdocs-common/src/index.ts | 2 - .../src/stages/generate/helpers.test.ts | 16 +- .../src/stages/generate/helpers.ts | 7 +- .../src/stages/prepare/commonGit.test.ts | 97 -------- .../src/stages/prepare/commonGit.ts | 80 ------- .../src/stages/prepare/index.ts | 1 - .../src/stages/prepare/preparers.ts | 7 - .../src/stages/prepare/types.ts | 12 +- 13 files changed, 18 insertions(+), 772 deletions(-) delete mode 100644 packages/techdocs-common/src/default-branch.ts delete mode 100644 packages/techdocs-common/src/git-auth.ts delete mode 100644 packages/techdocs-common/src/stages/prepare/commonGit.test.ts delete mode 100644 packages/techdocs-common/src/stages/prepare/commonGit.ts diff --git a/packages/techdocs-common/api-report.md b/packages/techdocs-common/api-report.md index 6e845c9797..0c7e5b03c7 100644 --- a/packages/techdocs-common/api-report.md +++ b/packages/techdocs-common/api-report.md @@ -5,50 +5,24 @@ ```ts /// -import { AzureIntegrationConfig } from '@backstage/integration'; import { Config } from '@backstage/config'; import { ContainerRunner } from '@backstage/backend-common'; import { Entity } from '@backstage/catalog-model'; import { EntityName } from '@backstage/catalog-model'; import express from 'express'; -import { GitHubIntegrationConfig } from '@backstage/integration'; -import { GitLabIntegrationConfig } from '@backstage/integration'; import { Logger as Logger_2 } from 'winston'; import { PluginEndpointDiscovery } from '@backstage/backend-common'; import { ScmIntegrationRegistry } from '@backstage/integration'; import { UrlReader } from '@backstage/backend-common'; import { Writable } from 'stream'; -// Warning: (ae-missing-release-tag) "checkoutGitRepository" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const checkoutGitRepository: ( - repoUrl: string, - config: Config, - logger: Logger_2, -) => Promise; - -// Warning: (ae-missing-release-tag) "CommonGitPreparer" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class CommonGitPreparer implements PreparerBase { - constructor(config: Config, logger: Logger_2); - // Warning: (ae-forgotten-export) The symbol "PreparerResponse" needs to be exported by the entry point index.d.ts - // - // (undocumented) - prepare( - entity: Entity, - options?: { - etag?: string; - }, - ): Promise; -} - // Warning: (ae-missing-release-tag) "DirectoryPreparer" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export class DirectoryPreparer implements PreparerBase { constructor(config: Config, _logger: Logger_2, reader: UrlReader); + // Warning: (ae-forgotten-export) The symbol "PreparerResponse" needs to be exported by the entry point index.d.ts + // // (undocumented) prepare( entity: Entity, @@ -121,22 +95,6 @@ export class Generators implements GeneratorBuilder { register(generatorKey: SupportedGeneratorKey, generator: GeneratorBase): void; } -// Warning: (ae-missing-release-tag) "getAzureIntegrationConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const getAzureIntegrationConfig: ( - config: Config, - host: string, -) => AzureIntegrationConfig; - -// Warning: (ae-missing-release-tag) "getDefaultBranch" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const getDefaultBranch: ( - repositoryUrl: string, - config: Config, -) => Promise; - // Warning: (ae-missing-release-tag) "getDocFilesFromRepository" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) @@ -151,48 +109,6 @@ export const getDocFilesFromRepository: ( | undefined, ) => Promise; -// Warning: (ae-missing-release-tag) "getGitHost" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function getGitHost(url: string): string; - -// Warning: (ae-missing-release-tag) "getGitHubIntegrationConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const getGitHubIntegrationConfig: ( - config: Config, - host: string, -) => GitHubIntegrationConfig; - -// Warning: (ae-missing-release-tag) "getGitLabIntegrationConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const getGitLabIntegrationConfig: ( - config: Config, - host: string, -) => GitLabIntegrationConfig; - -// Warning: (ae-missing-release-tag) "getGitRepositoryTempFolder" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const getGitRepositoryTempFolder: ( - repositoryUrl: string, - config: Config, -) => Promise; - -// Warning: (ae-missing-release-tag) "getGitRepoType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function getGitRepoType(url: string): string; - -// Warning: (ae-missing-release-tag) "getLastCommitTimestamp" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const getLastCommitTimestamp: ( - repositoryLocation: string, - logger: Logger_2, -) => Promise; - // Warning: (ae-missing-release-tag) "getLocationForEntity" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) @@ -201,14 +117,6 @@ export const getLocationForEntity: ( scmIntegration: ScmIntegrationRegistry, ) => ParsedLocationAnnotation; -// Warning: (ae-missing-release-tag) "getTokenForGitRepo" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const getTokenForGitRepo: ( - repositoryUrl: string, - config: Config, -) => Promise; - // Warning: (ae-missing-release-tag) "ParsedLocationAnnotation" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) @@ -311,14 +219,8 @@ export type PublisherType = // Warning: (ae-missing-release-tag) "RemoteProtocol" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // -// @public -export type RemoteProtocol = - | 'url' - | 'dir' - | 'github' - | 'gitlab' - | 'file' - | 'azure/api'; +// @public (undocumented) +export type RemoteProtocol = 'url' | 'dir'; // Warning: (ae-missing-release-tag) "TechdocsGenerator" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // diff --git a/packages/techdocs-common/package.json b/packages/techdocs-common/package.json index bb81c875fd..843cdb057c 100644 --- a/packages/techdocs-common/package.json +++ b/packages/techdocs-common/package.json @@ -46,10 +46,8 @@ "@google-cloud/storage": "^5.6.0", "@types/express": "^4.17.6", "aws-sdk": "^2.840.0", - "cross-fetch": "^3.0.6", "express": "^4.17.1", "fs-extra": "9.1.0", - "git-url-parse": "~11.4.4", "js-yaml": "^4.0.0", "json5": "^2.1.3", "mime-types": "^2.1.27", @@ -62,7 +60,6 @@ "devDependencies": { "@backstage/cli": "^0.7.5", "@types/fs-extra": "^9.0.5", - "@types/git-url-parse": "^9.0.0", "@types/js-yaml": "^4.0.0", "@types/mime-types": "^2.1.0", "@types/mock-fs": "^4.13.0", diff --git a/packages/techdocs-common/src/default-branch.ts b/packages/techdocs-common/src/default-branch.ts deleted file mode 100644 index f4bca6fd30..0000000000 --- a/packages/techdocs-common/src/default-branch.ts +++ /dev/null @@ -1,217 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import fetch from 'cross-fetch'; -import parseGitUrl from 'git-url-parse'; -import { Config } from '@backstage/config'; -import { - getGitHubRequestOptions, - getGitLabRequestOptions, - getAzureRequestOptions, -} from '@backstage/integration'; -import { - getGitHost, - getGitRepoType, - getGitHubIntegrationConfig, - getGitLabIntegrationConfig, - getAzureIntegrationConfig, -} from './git-auth'; - -interface IGitlabBranch { - name: string; - merged: boolean; - protected: boolean; - default: boolean; - developers_can_push: boolean; - developers_can_merge: boolean; - can_push: boolean; - web_url: string; - commit: { - author_email: string; - author_name: string; - authored_date: string; - committed_date: string; - committer_email: string; - committer_name: string; - id: string; - short_id: string; - title: string; - message: string; - parent_ids: string[]; - }; -} - -function getGithubApiUrl(config: Config, url: string): URL { - const { resource, owner, name } = parseGitUrl(url); - const providerConfigs = - config.getOptionalConfigArray('integrations.github') ?? []; - - const hostConfig = providerConfigs.filter( - providerConfig => providerConfig.getOptionalString('host') === resource, - ); - - const apiBaseUrl = - hostConfig[0]?.getOptionalString('apiBaseUrl') ?? 'https://api.github.com'; - const apiRepos = 'repos'; - - return new URL(`${apiBaseUrl}/${apiRepos}/${owner}/${name}`); -} - -function getGitlabApiUrl(url: string): URL { - const { protocol, resource, full_name: fullName } = parseGitUrl(url); - const apiProjectsBasePath = 'api/v4/projects'; - const project = encodeURIComponent(fullName); - const branches = 'repository/branches'; - - return new URL( - `${protocol}://${resource}/${apiProjectsBasePath}/${project}/${branches}`, - ); -} - -function getAzureApiUrl(url: string): URL { - const { protocol, resource, organization, owner, name } = parseGitUrl(url); - const apiRepoPath = '_apis/git/repositories'; - const apiVersion = 'api-version=6.0'; - - return new URL( - `${protocol}://${resource}/${organization}/${owner}/${apiRepoPath}/${name}?${apiVersion}`, - ); -} - -async function getGithubDefaultBranch( - repositoryUrl: string, - config: Config, -): Promise { - const path = getGithubApiUrl(config, repositoryUrl).toString(); - const host = getGitHost(repositoryUrl); - - const integrationConfig = getGitHubIntegrationConfig(config, host); - const options = getGitHubRequestOptions(integrationConfig); - - try { - const raw = await fetch(path, options); - - if (!raw.ok) { - throw new Error( - `Failed to load url: ${raw.status} ${raw.statusText}. Make sure you have permission to repository: ${repositoryUrl}`, - ); - } - - const { default_branch: branch } = await raw.json(); - - if (!branch) { - throw new Error('Not found github default branch'); - } - - return branch; - } catch (error) { - throw new Error(`Failed to get github default branch: ${error}`); - } -} - -async function getGitlabDefaultBranch( - repositoryUrl: string, - config: Config, -): Promise { - const path = getGitlabApiUrl(repositoryUrl).toString(); - const host = getGitHost(repositoryUrl); - - const integrationConfig = getGitLabIntegrationConfig(config, host); - const options = getGitLabRequestOptions(integrationConfig); - - try { - const raw = await fetch(path, options); - - if (!raw.ok) { - throw new Error( - `Failed to load url: ${raw.status} ${raw.statusText}. Make sure you have permission to repository: ${repositoryUrl}`, - ); - } - - const result = await raw.json(); - const { name } = (result || []).find( - (branch: IGitlabBranch) => branch.default === true, - ); - - if (!name) { - throw new Error('Not found gitlab default branch'); - } - - return name; - } catch (error) { - throw new Error(`Failed to get gitlab default branch: ${error}`); - } -} - -async function getAzureDefaultBranch( - repositoryUrl: string, - config: Config, -): Promise { - const path = getAzureApiUrl(repositoryUrl).toString(); - const host = getGitHost(repositoryUrl); - - const integrationConfig = getAzureIntegrationConfig(config, host); - const options = getAzureRequestOptions(integrationConfig); - - try { - const urlResponse = await fetch(path, options); - if (!urlResponse.ok) { - throw new Error( - `Failed to load url: ${urlResponse.status} ${urlResponse.statusText}. Make sure you have permission to repository: ${repositoryUrl}`, - ); - } - const urlResult = await urlResponse.json(); - - const idResponse = await fetch(urlResult.url, options); - if (!idResponse.ok) { - throw new Error( - `Failed to load url: ${idResponse.status} ${idResponse.statusText}. Make sure you have permission to repository: ${urlResult.repository.url}`, - ); - } - const idResult = await idResponse.json(); - const name = idResult.defaultBranch; - - if (!name) { - throw new Error('Not found Azure DevOps default branch'); - } - - return name; - } catch (error) { - throw new Error(`Failed to get Azure DevOps default branch: ${error}`); - } -} - -export const getDefaultBranch = async ( - repositoryUrl: string, - config: Config, -): Promise => { - const type = getGitRepoType(repositoryUrl); - - try { - switch (type) { - case 'github': - return await getGithubDefaultBranch(repositoryUrl, config); - case 'gitlab': - return await getGitlabDefaultBranch(repositoryUrl, config); - case 'azure/api': - return await getAzureDefaultBranch(repositoryUrl, config); - - default: - throw new Error('Failed to get repository type'); - } - } catch (error) { - throw error; - } -}; diff --git a/packages/techdocs-common/src/git-auth.ts b/packages/techdocs-common/src/git-auth.ts deleted file mode 100644 index 158c4ebebf..0000000000 --- a/packages/techdocs-common/src/git-auth.ts +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import parseGitUrl from 'git-url-parse'; -import { Config } from '@backstage/config'; -import { - readGitHubIntegrationConfigs, - readGitLabIntegrationConfigs, - readAzureIntegrationConfigs, - GitHubIntegrationConfig, - GitLabIntegrationConfig, - AzureIntegrationConfig, -} from '@backstage/integration'; - -export function getGitHost(url: string): string { - const { resource } = parseGitUrl(url); - return resource; -} - -export function getGitRepoType(url: string): string { - const typeMapping = [ - { url: /github*/g, type: 'github' }, - { url: /gitlab*/g, type: 'gitlab' }, - { url: /azure*/g, type: 'azure/api' }, - ]; - - const type = typeMapping.filter(item => item.url.test(url))[0]?.type; - - return type; -} - -export const getGitHubIntegrationConfig = ( - config: Config, - host: string, -): GitHubIntegrationConfig => { - const allGitHubConfigs = readGitHubIntegrationConfigs( - config.getOptionalConfigArray('integrations.github') ?? [], - ); - const gitHubIntegrationConfig = allGitHubConfigs.find(v => v.host === host); - if (!gitHubIntegrationConfig) { - throw new Error(`Unable to locate GitHub integration for the host ${host}`); - } - return gitHubIntegrationConfig; -}; - -export const getGitLabIntegrationConfig = ( - config: Config, - host: string, -): GitLabIntegrationConfig => { - const allGitLabConfigs = readGitLabIntegrationConfigs( - config.getOptionalConfigArray('integrations.gitlab') ?? [], - ); - const gitLabIntegrationConfig = allGitLabConfigs.find(v => v.host === host); - if (!gitLabIntegrationConfig) { - throw new Error(`Unable to locate GitLab integration for the host ${host}`); - } - return gitLabIntegrationConfig; -}; - -export const getAzureIntegrationConfig = ( - config: Config, - host: string, -): AzureIntegrationConfig => { - const allAzureIntegrationConfig = readAzureIntegrationConfigs( - config.getOptionalConfigArray('integrations.azure') ?? [], - ); - const azureIntegrationConfig = allAzureIntegrationConfig.find( - v => v.host === host, - ); - if (!azureIntegrationConfig) { - throw new Error(`Unable to locate Azure integration for the host ${host}`); - } - return azureIntegrationConfig; -}; - -export const getTokenForGitRepo = async ( - repositoryUrl: string, - config: Config, -): Promise => { - const host = getGitHost(repositoryUrl); - const type = getGitRepoType(repositoryUrl); - - try { - switch (type) { - case 'github': - return getGitHubIntegrationConfig(config, host).token; - case 'gitlab': - return getGitLabIntegrationConfig(config, host).token; - case 'azure/api': - return getAzureIntegrationConfig(config, host).token; - default: - throw new Error('Failed to get repository type'); - } - } catch (error) { - throw error; - } -}; diff --git a/packages/techdocs-common/src/helpers.ts b/packages/techdocs-common/src/helpers.ts index bb6461a37c..7a9e4b18be 100644 --- a/packages/techdocs-common/src/helpers.ts +++ b/packages/techdocs-common/src/helpers.ts @@ -14,26 +14,16 @@ * limitations under the License. */ -import { - Git, - resolveSafeChildPath, - UrlReader, -} from '@backstage/backend-common'; +import { resolveSafeChildPath, UrlReader } from '@backstage/backend-common'; import { Entity, getEntitySourceLocation, parseLocationReference, } from '@backstage/catalog-model'; -import { Config } from '@backstage/config'; import { InputError } from '@backstage/errors'; import { ScmIntegrationRegistry } from '@backstage/integration'; -import fs from 'fs-extra'; -import parseGitUrl from 'git-url-parse'; -import os from 'os'; import path from 'path'; import { Logger } from 'winston'; -import { getDefaultBranch } from './default-branch'; -import { getGitRepoType, getTokenForGitRepo } from './git-auth'; import { PreparerResponse, RemoteProtocol } from './stages/prepare/types'; export type ParsedLocationAnnotation = { @@ -121,9 +111,6 @@ export const getLocationForEntity = ( ); switch (annotation.type) { - case 'github': - case 'gitlab': - case 'azure/api': case 'url': return annotation; case 'dir': @@ -133,124 +120,6 @@ export const getLocationForEntity = ( } }; -export const getGitRepositoryTempFolder = async ( - repositoryUrl: string, - config: Config, -): Promise => { - const parsedGitLocation = parseGitUrl(repositoryUrl); - // removes .git from git location path - parsedGitLocation.git_suffix = false; - - if (!parsedGitLocation.ref) { - parsedGitLocation.ref = await getDefaultBranch( - parsedGitLocation.toString('https'), - config, - ); - } - - return path.join( - // fs.realpathSync fixes a problem with macOS returning a path that is a symlink - fs.realpathSync(os.tmpdir()), - 'backstage-repo', - parsedGitLocation.resource, - parsedGitLocation.owner, - parsedGitLocation.name, - parsedGitLocation.ref, - ); -}; - -export const checkoutGitRepository = async ( - repoUrl: string, - config: Config, - logger: Logger, -): Promise => { - const parsedGitLocation = parseGitUrl(repoUrl); - const repositoryTmpPath = await getGitRepositoryTempFolder(repoUrl, config); - const token = await getTokenForGitRepo(repoUrl, config); - - // Initialize a git client - let git = Git.fromAuth({ logger }); - - // Docs about why username and password are set to these specific values. - // https://isomorphic-git.org/docs/en/onAuth#oauth2-tokens - if (token) { - const type = getGitRepoType(repoUrl); - switch (type) { - case 'github': - git = Git.fromAuth({ - username: 'x-access-token', - password: token, - logger, - }); - parsedGitLocation.token = `x-access-token:${token}`; - break; - case 'gitlab': - git = Git.fromAuth({ - username: 'oauth2', - password: token, - logger, - }); - parsedGitLocation.token = `dummyUsername:${token}`; - parsedGitLocation.git_suffix = true; - break; - case 'azure/api': - git = Git.fromAuth({ - username: 'notempty', - password: token, - logger: logger, - }); - break; - default: - parsedGitLocation.token = `:${token}`; - } - } - - // Pull from repository if it has already been cloned. - if (fs.existsSync(repositoryTmpPath)) { - try { - const currentBranchName = await git.currentBranch({ - dir: repositoryTmpPath, - }); - - await git.fetch({ dir: repositoryTmpPath, remote: 'origin' }); - await git.merge({ - dir: repositoryTmpPath, - theirs: `origin/${currentBranchName}`, - ours: currentBranchName || undefined, - author: { name: 'Backstage TechDocs', email: 'techdocs@backstage.io' }, - committer: { - name: 'Backstage TechDocs', - email: 'techdocs@backstage.io', - }, - }); - return repositoryTmpPath; - } catch (e) { - logger.info( - `Found error "${e.message}" in cached repository "${repoUrl}" when getting latest changes. Removing cached repository.`, - ); - fs.removeSync(repositoryTmpPath); - } - } - - const repositoryCheckoutUrl = parsedGitLocation.toString('https'); - - fs.mkdirSync(repositoryTmpPath, { recursive: true }); - await git.clone({ url: repositoryCheckoutUrl, dir: repositoryTmpPath }); - - return repositoryTmpPath; -}; - -export const getLastCommitTimestamp = async ( - repositoryLocation: string, - logger: Logger, -): Promise => { - const git = Git.fromAuth({ logger }); - const sha = await git.resolveRef({ dir: repositoryLocation, ref: 'HEAD' }); - const commit = await git.readCommit({ dir: repositoryLocation, sha }); - - return commit.commit.committer.timestamp; -}; - export const getDocFilesFromRepository = async ( reader: UrlReader, entity: Entity, diff --git a/packages/techdocs-common/src/index.ts b/packages/techdocs-common/src/index.ts index 881f80cccb..a9a254a1ee 100644 --- a/packages/techdocs-common/src/index.ts +++ b/packages/techdocs-common/src/index.ts @@ -15,5 +15,3 @@ */ export * from './stages'; export * from './helpers'; -export * from './default-branch'; -export * from './git-auth'; diff --git a/packages/techdocs-common/src/stages/generate/helpers.test.ts b/packages/techdocs-common/src/stages/generate/helpers.test.ts index a267736bd2..4039d340f2 100644 --- a/packages/techdocs-common/src/stages/generate/helpers.test.ts +++ b/packages/techdocs-common/src/stages/generate/helpers.test.ts @@ -124,7 +124,7 @@ describe('helpers', () => { }; const parsedLocationAnnotation2: ParsedLocationAnnotation = { - type: 'file', + type: 'file' as RemoteProtocol, target: '/home/user/workspace/docs-repository/catalog-info.yaml', }; @@ -147,7 +147,7 @@ describe('helpers', () => { it('should return correct target url for supported hosts', () => { const parsedLocationAnnotation1: ParsedLocationAnnotation = { - type: 'github', + type: 'github' as RemoteProtocol, target: 'https://github.com/backstage/backstage.git', }; @@ -156,7 +156,7 @@ describe('helpers', () => { ); const parsedLocationAnnotation2: ParsedLocationAnnotation = { - type: 'github', + type: 'github' as RemoteProtocol, target: 'https://github.com/org/repo', }; @@ -165,7 +165,7 @@ describe('helpers', () => { ); const parsedLocationAnnotation3: ParsedLocationAnnotation = { - type: 'gitlab', + type: 'gitlab' as RemoteProtocol, target: 'https://gitlab.com/org/repo', }; @@ -174,7 +174,7 @@ describe('helpers', () => { ); const parsedLocationAnnotation4: ParsedLocationAnnotation = { - type: 'github', + type: 'github' as RemoteProtocol, target: 'github.com/backstage/backstage/blob/master/plugins/techdocs-backend/examples/documented-component', }; @@ -200,7 +200,7 @@ describe('helpers', () => { it('should add repo_url to mkdocs.yml', async () => { const parsedLocationAnnotation: ParsedLocationAnnotation = { - type: 'github', + type: 'github' as RemoteProtocol, target: 'https://github.com/backstage/backstage', }; @@ -219,7 +219,7 @@ describe('helpers', () => { it('should add repo_url to mkdocs.yml that contains custom yaml tags', async () => { const parsedLocationAnnotation: ParsedLocationAnnotation = { - type: 'github', + type: 'github' as RemoteProtocol, target: 'https://github.com/backstage/backstage', }; @@ -241,7 +241,7 @@ describe('helpers', () => { it('should not override existing repo_url in mkdocs.yml', async () => { const parsedLocationAnnotation: ParsedLocationAnnotation = { - type: 'github', + type: 'github' as RemoteProtocol, target: 'https://github.com/neworg/newrepo', }; diff --git a/packages/techdocs-common/src/stages/generate/helpers.ts b/packages/techdocs-common/src/stages/generate/helpers.ts index c10303f29c..7c60c7667f 100644 --- a/packages/techdocs-common/src/stages/generate/helpers.ts +++ b/packages/techdocs-common/src/stages/generate/helpers.ts @@ -23,7 +23,6 @@ import path, { resolve as resolvePath } from 'path'; import { PassThrough, Writable } from 'stream'; import { Logger } from 'winston'; import { ParsedLocationAnnotation } from '../../helpers'; -import { RemoteProtocol } from '../prepare/types'; import { SupportedGeneratorKey } from './types'; // TODO: Implement proper support for more generators. @@ -94,12 +93,12 @@ export const runCommand = async ({ * - (anything that is not valid as described above) * * @param {string} repoUrl URL supposed to be used as repo_url in mkdocs.yml - * @param {RemoteProtocol} locationType Type of source code host - github, gitlab, dir, url, etc. + * @param {string} locationType Type of source code host - github, gitlab, dir, url, etc. * @returns {boolean} */ export const isValidRepoUrlForMkdocs = ( repoUrl: string, - locationType: RemoteProtocol, + locationType: string, ): boolean => { // Trim trailing slash const cleanRepoUrl = repoUrl.replace(/\/$/, ''); @@ -266,6 +265,8 @@ export const patchMkdocsYmlPreBuild = async ( const repoUrl = getRepoUrlFromLocationAnnotation(parsedLocationAnnotation); if (repoUrl !== undefined) { // mkdocs.yml will not build with invalid repo_url. So, make sure it is valid. + // TODO: this is no longer working/meaningful because annotation type is + // now only ever "url" or "dir." Should be re-implemented! if (isValidRepoUrlForMkdocs(repoUrl, parsedLocationAnnotation.type)) { mkdocsYml.repo_url = repoUrl; } diff --git a/packages/techdocs-common/src/stages/prepare/commonGit.test.ts b/packages/techdocs-common/src/stages/prepare/commonGit.test.ts deleted file mode 100644 index d1c6c99c6d..0000000000 --- a/packages/techdocs-common/src/stages/prepare/commonGit.test.ts +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { getVoidLogger } from '@backstage/backend-common'; -import { ConfigReader } from '@backstage/config'; -import { checkoutGitRepository } from '../../helpers'; -import { CommonGitPreparer } from './commonGit'; - -function normalizePath(path: string) { - return path - .replace(/^[a-z]:/i, '') - .split('\\') - .join('/'); -} - -jest.mock('../../helpers', () => ({ - ...jest.requireActual<{}>('../../helpers'), - checkoutGitRepository: jest.fn(() => '/tmp/backstage-repo/org/name/branch'), - getLastCommitTimestamp: jest.fn(() => 12345678), -})); - -const createMockEntity = (annotations = {}) => { - return { - apiVersion: 'version', - kind: 'TestKind', - metadata: { - name: 'test-component-name', - annotations: { - ...annotations, - }, - }, - }; -}; - -const mockConfig = new ConfigReader({}); - -const logger = getVoidLogger(); - -describe('commonGit preparer', () => { - it('should prepare temp docs path from github repo', async () => { - const preparer = new CommonGitPreparer(mockConfig, logger); - - const mockEntity = createMockEntity({ - 'backstage.io/techdocs-ref': - 'github:https://github.com/backstage/backstage/blob/master/plugins/techdocs-backend/examples/documented-component', - }); - - const { preparedDir } = await preparer.prepare(mockEntity); - expect(checkoutGitRepository).toHaveBeenCalledTimes(1); - expect(normalizePath(preparedDir)).toEqual( - '/tmp/backstage-repo/org/name/branch/plugins/techdocs-backend/examples/documented-component', - ); - }); - - it('should prepare temp docs path from gitlab repo', async () => { - const preparer = new CommonGitPreparer(mockConfig, logger); - - const mockEntity = createMockEntity({ - 'backstage.io/techdocs-ref': - 'gitlab:https://gitlab.com/xesjkeee/go-logger/blob/master/catalog-info.yaml', - }); - - const { preparedDir } = await preparer.prepare(mockEntity); - expect(checkoutGitRepository).toHaveBeenCalledTimes(2); - expect(normalizePath(preparedDir)).toEqual( - '/tmp/backstage-repo/org/name/branch/catalog-info.yaml', - ); - }); - - it('should prepare temp docs path from azure repo', async () => { - const preparer = new CommonGitPreparer(mockConfig, logger); - - const mockEntity = createMockEntity({ - 'backstage.io/techdocs-ref': - 'azure/api:https://dev.azure.com/backstage-org/backstage-project/_git/template-repo?path=%2Ftemplate.yaml', - }); - - const { preparedDir } = await preparer.prepare(mockEntity); - expect(checkoutGitRepository).toHaveBeenCalledTimes(3); - expect(normalizePath(preparedDir)).toEqual( - '/tmp/backstage-repo/org/name/branch/template.yaml', - ); - }); -}); diff --git a/packages/techdocs-common/src/stages/prepare/commonGit.ts b/packages/techdocs-common/src/stages/prepare/commonGit.ts deleted file mode 100644 index ad70283e78..0000000000 --- a/packages/techdocs-common/src/stages/prepare/commonGit.ts +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { NotModifiedError } from '@backstage/errors'; -import { Entity } from '@backstage/catalog-model'; -import { Config } from '@backstage/config'; -import parseGitUrl from 'git-url-parse'; -import path from 'path'; -import { Logger } from 'winston'; -import { - checkoutGitRepository, - getLastCommitTimestamp, - parseReferenceAnnotation, -} from '../../helpers'; -import { PreparerBase, PreparerResponse } from './types'; - -export class CommonGitPreparer implements PreparerBase { - private readonly config: Config; - private readonly logger: Logger; - - constructor(config: Config, logger: Logger) { - this.config = config; - this.logger = logger; - } - - async prepare( - entity: Entity, - options?: { etag?: string }, - ): Promise { - this.logger.warn( - `You are using the legacy git preparer in TechDocs for \`${entity.metadata.name}\` which will be removed in near future (March 2021). ` + - `Migrate to URL reader by updating \`backstage.io/techdocs-ref\` annotation in \`catalog-info.yaml\` ` + - `to be prefixed with \`url:\`. Read the migration guide and benefits at https://github.com/backstage/backstage/issues/4409 `, - ); - - const { target } = parseReferenceAnnotation( - 'backstage.io/techdocs-ref', - entity, - ); - - try { - // Update repository or do a fresh clone. - const repoPath = await checkoutGitRepository( - target, - this.config, - this.logger, - ); - // Check if etag has changed for cache invalidation. - const etag = await getLastCommitTimestamp(repoPath, this.logger); - if (options?.etag === etag.toString()) { - throw new NotModifiedError(); - } - - const parsedGitLocation = parseGitUrl(target); - return { - preparedDir: path.join(repoPath, parsedGitLocation.filepath), - etag: etag.toString(), - }; - } catch (error) { - if (error instanceof NotModifiedError) { - this.logger.debug(`Cache is valid for etag ${options?.etag}`); - } else { - this.logger.debug(`Repo checkout failed with error ${error.message}`); - } - throw error; - } - } -} diff --git a/packages/techdocs-common/src/stages/prepare/index.ts b/packages/techdocs-common/src/stages/prepare/index.ts index e683ac8f71..f129bf5315 100644 --- a/packages/techdocs-common/src/stages/prepare/index.ts +++ b/packages/techdocs-common/src/stages/prepare/index.ts @@ -14,7 +14,6 @@ * limitations under the License. */ export { DirectoryPreparer } from './dir'; -export { CommonGitPreparer } from './commonGit'; export { UrlPreparer } from './url'; export { Preparers } from './preparers'; export type { PreparerBuilder, PreparerBase, RemoteProtocol } from './types'; diff --git a/packages/techdocs-common/src/stages/prepare/preparers.ts b/packages/techdocs-common/src/stages/prepare/preparers.ts index 5c78d96f15..75c9a7f23b 100644 --- a/packages/techdocs-common/src/stages/prepare/preparers.ts +++ b/packages/techdocs-common/src/stages/prepare/preparers.ts @@ -19,7 +19,6 @@ import { Config } from '@backstage/config'; import { Logger } from 'winston'; import { parseReferenceAnnotation } from '../../helpers'; import { DirectoryPreparer } from './dir'; -import { CommonGitPreparer } from './commonGit'; import { UrlPreparer } from './url'; import { PreparerBase, PreparerBuilder, RemoteProtocol } from './types'; @@ -47,12 +46,6 @@ export class Preparers implements PreparerBuilder { const directoryPreparer = new DirectoryPreparer(config, logger, reader); preparers.register('dir', directoryPreparer); - // Common git preparers will be deprecated soon. - const commonGitPreparer = new CommonGitPreparer(config, logger); - preparers.register('github', commonGitPreparer); - preparers.register('gitlab', commonGitPreparer); - preparers.register('azure/api', commonGitPreparer); - return preparers; } diff --git a/packages/techdocs-common/src/stages/prepare/types.ts b/packages/techdocs-common/src/stages/prepare/types.ts index d6f4e79062..5d46b5d235 100644 --- a/packages/techdocs-common/src/stages/prepare/types.ts +++ b/packages/techdocs-common/src/stages/prepare/types.ts @@ -48,14 +48,4 @@ export type PreparerBuilder = { get(entity: Entity): PreparerBase; }; -/** - * Everything except `url` will be deprecated. - * Read more https://github.com/backstage/backstage/issues/4409 - */ -export type RemoteProtocol = - | 'url' - | 'dir' - | 'github' - | 'gitlab' - | 'file' - | 'azure/api'; +export type RemoteProtocol = 'url' | 'dir'; From 48ea3d25baeefa74fc56bc1f04cb3237f71d72a1 Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Wed, 28 Jul 2021 19:07:17 +0200 Subject: [PATCH 063/712] Changesets. Signed-off-by: Eric Peterson --- .changeset/techdocs-give-it-all-back.md | 16 ++++++++++++++++ .changeset/techdocs-if-i-could.md | 10 ++++++++++ 2 files changed, 26 insertions(+) create mode 100644 .changeset/techdocs-give-it-all-back.md create mode 100644 .changeset/techdocs-if-i-could.md diff --git a/.changeset/techdocs-give-it-all-back.md b/.changeset/techdocs-give-it-all-back.md new file mode 100644 index 0000000000..813f88ba87 --- /dev/null +++ b/.changeset/techdocs-give-it-all-back.md @@ -0,0 +1,16 @@ +--- +'@backstage/techdocs-common': minor +--- + +TechDocs has dropped all support for the long-ago deprecated git-based common +prepares as well as all corresponding values in `backstage.io/techdocs-ref` +annotations. + +Entities whose `backstage.io/techdocs-ref` annotation values still begin with +`github:`, `gitlab:`, `bitbucket:`, or `azure/api:` will no longer be generated +by TechDocs. Be sure to update these values so that they align with their +expected format and your usage of TechDocs. + +For details, see [this explainer on TechDocs ref annotation values][how]. + +[how]: https://backstage.io/docs/features/techdocs/how-to-guides#how-to-understand-techdocs-ref-annotation-values diff --git a/.changeset/techdocs-if-i-could.md b/.changeset/techdocs-if-i-could.md new file mode 100644 index 0000000000..e1b04735ed --- /dev/null +++ b/.changeset/techdocs-if-i-could.md @@ -0,0 +1,10 @@ +--- +'@backstage/plugin-techdocs-backend': patch +'@backstage/plugin-scaffolder-backend': patch +'@backstage/create-app': patch +--- + +The recommended value for a `backstage.io/techdocs-ref` annotation is now +`dir:.`, indicating "documentation source files are located in the same +directory relative to the catalog entity." Note that `url:` values +are still supported. From 0a2481b607ce7a578bd3657cae289f8f401f9fe7 Mon Sep 17 00:00:00 2001 From: Guille Vigil Date: Wed, 28 Jul 2021 21:20:59 +0200 Subject: [PATCH 064/712] Adding empathy.co as adopter Signed-off-by: Guille Vigil --- ADOPTERS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ADOPTERS.md b/ADOPTERS.md index 041242c083..3461b54ef3 100644 --- a/ADOPTERS.md +++ b/ADOPTERS.md @@ -39,3 +39,4 @@ | [RedVentures](https://www.redventures.com/) | [Chris Diaz](https://github.com/codingdiaz) | Developer portal that brings everything an engineer needs to provide value into a single pane of glass. | | [MavTek](https://www.mavtek.com/) | [@fgascon](https://github.com/fgascon) | Developer portal focused on standardizing practices, centralizing documentation and streamlining developer practices. | | [QuintoAndar](https://www.quintoandar.com.br/) | [@quintoandar](https://github.com/quintoandar) | Developer portal, services catalog and centralization of service metrics. | +| [empathy.co](https://empathy.co/) | [@guillermotti](https://github.com/guillermotti) | Developer portal for tech docs, service catalog, plugin discovery and much more. | \ No newline at end of file From a4da32330ee3555fa7843868875d582e0601a970 Mon Sep 17 00:00:00 2001 From: Guille Vigil Date: Wed, 28 Jul 2021 21:31:51 +0200 Subject: [PATCH 065/712] Prettier to adopters Signed-off-by: Guille Vigil --- ADOPTERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ADOPTERS.md b/ADOPTERS.md index 3461b54ef3..3291abc346 100644 --- a/ADOPTERS.md +++ b/ADOPTERS.md @@ -39,4 +39,4 @@ | [RedVentures](https://www.redventures.com/) | [Chris Diaz](https://github.com/codingdiaz) | Developer portal that brings everything an engineer needs to provide value into a single pane of glass. | | [MavTek](https://www.mavtek.com/) | [@fgascon](https://github.com/fgascon) | Developer portal focused on standardizing practices, centralizing documentation and streamlining developer practices. | | [QuintoAndar](https://www.quintoandar.com.br/) | [@quintoandar](https://github.com/quintoandar) | Developer portal, services catalog and centralization of service metrics. | -| [empathy.co](https://empathy.co/) | [@guillermotti](https://github.com/guillermotti) | Developer portal for tech docs, service catalog, plugin discovery and much more. | \ No newline at end of file +| [empathy.co](https://empathy.co/) | [@guillermotti](https://github.com/guillermotti) | Developer portal for tech docs, service catalog, plugin discovery and much more. | From 83c551f48fcb604f52bec2d0be2a099361719a7d Mon Sep 17 00:00:00 2001 From: ImgBotApp Date: Wed, 28 Jul 2021 20:57:01 +0000 Subject: [PATCH 066/712] [ImgBot] Optimize images /plugins/xcmetrics/docs/XCMetrics-overview.png -- 860.08kb -> 560.38kb (34.85%) Signed-off-by: ImgBotApp --- plugins/xcmetrics/docs/XCMetrics-overview.png | Bin 880719 -> 573826 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/plugins/xcmetrics/docs/XCMetrics-overview.png b/plugins/xcmetrics/docs/XCMetrics-overview.png index 3ee4b1915a6bfc9131eed2eebb730daec8343e90..b778461120d8e50bc35f6d6a5da68ff5fd806baf 100644 GIT binary patch literal 573826 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∓ zb6=u#sP*fxD>g3no-Y0mT?D7*t%F^x}FJ4Z4HR-m>jG3w{iOc7eDK zf``{S4A38k!?pVo@$r7#ud_9kmW&Ah^*am-CS_ow^MGtCn6K}IC{tuEHmbePqoK;v;aAJxa8n`Et{t@uRO2@l7lwoK`YnoB4oqsnz) zENgg4RX=cmpK5>R*JL`>M;htF)w!B|Ee8Jqjc?S9Hx)q#i~?vH{c?1Nk0{-siVb*_ zbILHdq8uIWh1ysaIv(5)z#aV;YNe9cNm*W|@}7nUo!&E4{Oio+Yj8K9AwM_{;Bo99lVAu3txdBqs77h@;08Pw z+W4BudsxFAJO+`b4s_#@fHQx}YPydrpK^qwJh}mO!do#Td|?5kZ-bk_-ify96Af<_ zqZZ;anz_&!-E~|W^rCqhLcdxcE)9K#)#$6S(V2!^F$KTb)tl5l`NZpTnC3Z|>=-y( zxU;C7P=<(G#OT9_LMb>LYeNIgrrT6-eFb9cQycl5L@?|@>E7nCy9h`j<_;P{;%bN_wa;TnINY$f^zovb&}ZR{_ZnPs)uOoVBiybR57e;f3Ta!6B!IKJfr5Ab_Xfzy5}Awiyrt2Z-Po`fL4>3B`R}Tc2q6lfrXH3|;m~LOo;^ zJ!Z8hR+2)4i`AvmH-Sy5&@8s3Nx{XPE^#rxUvgWFNJ>wO!E68AJZ~NU0Q(7K8SiY1 zYXs9L3D{4@@jrIH_wu#4^S1R-B=99Z@ zw(1FDaVOX8_+p)$!CRvoMN9ePn3NXtz&FoYv zmE>s_aI4X!M+lMT{ZIa3)684ScK88ozfjB^_^jI-2v@!+3Wk&90|M=m;DYJSgg*xL znfL^Ik~d5T_CJS=FTMWNN)~?YL7bc~&*4315AK|5l($%}{y03>ro9Jo2EcO&vHN!N zbOmZ14L^W`)Z12p;(co0K}b`Xe$TPEf44--NrzCG>rp z7?^{2)3fdHwt;E>dnH5*pOcuKcHTOzX=3{bX}E>xoYRTrGZ+rW|X# ze*keB>Lx-w7UUbSzAuJfBzcXLf7h|@KuHiK`0@a9*cOT3-AkpD3x9a!q=IWnJWGlL zu$&y!MQDhZt4mVgh$?d&22!Da#$Lm1#P9j2anL^56V$?>LfDV>*Dy(<2?!C7hP&payc3@6OB;)Zf;y2a(|v42M5uhi@NL6w#0UfYc3WfDc7mziN-} zg;g0!sy=TI(v+vCl|e{Y3Kb-5!vaP&!iK54k`D=9T$&|snBqOs*Z6{BsQzrGA?qTz zJ@&D9Sq26I5O{B$Jh`E-{*7p5_oFkAxZQwAi^P#VV!f~%_W4GX9zCw(w{S=RGgb%$ zwJhI)Ka5NJl>pzZ?TPlh_)6QniY}BQL{a-%ulA&F1htls)g38;>AWKqbORt`xB7@> z$K~no$3ti_D8ob_b)Iv+GutcyC?xrVh=TZhZBlfw@Y?eTi8x%k9b6CFN^4+XsLqHW zl6x!C7hmig`+@MgNq}Ah--F^|`>9>Sd0FSeA=yJILxD2wV{Ak=^9Mhc5Ei(w`R8ai zs0Q6RiC=xOz4XrWy&-pJ?|D+g#>51is&F2*jhL)!cnx8Z)sHy%mFFZz8`B5B>HuF9 z;?su^oJkEw%Ltm-?b@JY2w)xpvVk--DioKr5#?a;GA43cmu;MgxT4xlvZhi!1uKxY zNeNVF!M1qDc<9Y>pq{JYQcTA2h+{1mCi1df|1LLI>pV0kT1<# zIPUuZQdUu?L|La~KfWFUYB$Uq*9hl=>XfSRbxH$rNE&eWT|dELkn;=H(HK$nd0ANnJdf ztF>JJ?YG-5D6rw9g^bx2#n$T@e~b_xc^yJ*2B3f)g~wmEHV6ksD1HBlf>?5(v^6AE zptXn?0UdZzG|rhvZI;^r5{KP;5q>uC#&~!q`758$L7sI$(gZea1|9<>MeJvWup0^6 zoN-l;2p2mp7=n7sKz}lK+dB=zta;A`-HoOsRbT12o9lHTR)G_#hJK05(Wg zlZuTvyoSqU_0gy9nr>7gs54)6cJBnM2{m=JJ;&Wgfmj6;k3{4v8;WyUF{S+wcYt9S z+PL5hv7bt+LeKiO85UJ{A`IieAuvY#7B>M=#yHSDdfyByiXTF*esJ1mIlakpTJo6L zp0t`4V}7{r7!l~&6%S8>lf$;5W(m6P0i(M)w=M>R(g!a&$Fzlerrg{ijWSMLFe`GA5Dut{DDEuI_`?x)P4M%+Knvy)xyk*pD>>S@D*9F6qK7(*TpppkSWTG z0bjjZC#KUdE+!=&$%uC_Wu%J*oL+2?R0EWv9wbxmqr+IRh8%glDeYDn+^a%xrgNn>#6t=R;&%J)Zk|a6522MvHW+U&#WF^tHwZYrB{jQm zkmANNEu8a>==EQK2@dgzebOwNUO>Wl9(x-LzuOb5O^4d})N--QrG&PuK% zmarfvgJxRKMDhvsWxux`4eSlpZu=uHZmW>88f^B?mhQ?+Q^|8fy`Q>EM3luEuwX){ z3?1B%WAS(PmW@APSbb+UIxBTQmm=~kEnN$kyvpTK)cO5xVrw6Gk`G{rrt?lv?VzkFuqW`=_)15Qls?yF2amDq)$%zDdZ|nLxV0=%Z{k99gsv$I4wC3A~{w+c9h;KzP)~Q>A6Ic<`dks!Ok<|-}DmF~I zE6PJ2w4eXwW`l$Gg*zXV$DFQUpJfJ2(t)5#6y#d3p}BhxS&QcC&#t^|bIORmrb)#5 zVMC_%DpN*8<7J&cPk&delQdNp>tJ6S|9auZ>8+)TWoWAofGIv-@wTZ}6c+Rk%HHKa z-w}?V*N~$(a__)m<9NAn^`$p|_eGDrz@-`NEluTlV-;2Sis_)lq$K|;Q0Ch9J%vaH zT+TiXAFj$kU+)`tfhBkMDq&D00!l9YFiUr;hLmjhj_JLMV2k$YAt)M~09QNMnUhDOs=Kz;6B{39V68&+RHyPK3f5Gw9Icp$WjDke%s^H=r3pGc$P_x<#Vyu6>ilW41^mZLV}0LHMe zsU-$p3UWta=!J~PF1@@420mpwnSo!~ge`sp6_&u4+H?tKO7QXK(L--IRoODq?NBZE z38jv8jmLmH92Qa3!zb{?&J*+tMJ}()gdDAW;Mgyw*63bYKE-VJ&oi|r-*emtMrz=A z2%D}oo)Hn33+E~=C~yN_M_e5T=KVLR9@Twlo(PI1oe(#H-*K2unHNj~BLe8)MifvK z;QjfNx4|+`%cV>bpu|vJdy2`^z6(~j&w*6(bn}0Yp%nYMB7^s?1u8W@OE+`eD`oGR zkBEKb7=ZTjPd5LTzGCnsyE(lFK*H}md;%Qi@l?A?Ns1Oy|54`nVSuU%D9dsH`b?g9 zxDzcI(2_L5#5Kcp{SXoZGT0~Y1P3%>>WhUjT${@wq!eg&2TQPtNTLaabx z`7^aN2DnG;bvxesGj2VM1U5a zW|$q*mZz5$FU7zhkp^q?8*UXUhq*)c<(ab!$+5cTBlK~9+XvHO)DNFkD358b|DXVu z6}7#$C*DBP6~w(sLO;=Z zyARXMcf^_MNiItVf`eP=GVN^s;oLN>BTA!U7Yk(L!cqL!eH6gKHaZ?P7G33c{B0~A z9yS0vygpl=16^iDR+Fh{H!k8j-JX*~X&a_Bmz#j&Hs9H!)}7 z{ayhGj~QX01|TlGU5)>TvARMshe^RDXvKXb85>V)bU}frpeSvvhp=*8<`tB&G)M*iKXL}ghY8F3i!g3(k5{mj&W0|@Y;EuMU|A!4Z4q^Il_ z`bx9n@=|Tra#Es41xC;?N^BlKMNN;!WoDD7XxH z_gl9-e|P|2RQRF%cVF&Sl-&Kd^pp?Ab?uz~cT3APy*;xs3*+XWDxmDDG895YON$+I zeTFd~;HXz`6Fdj<%;dz!E)>NCm!8XeMedWUcZq^pnpfcP1a=IV_WPi9Aqh0y zDt&+tzANqc(Mo^7U|c*{(E!FcnDm7%e|g=G2TF6S18|gNG%z!+24j>lVl!@RVeHNp z|HhP0%NoTCzeDDiAPAIfv1bZY1YmMFm{vYtZVg@B26vu$@jHdMdnbAO;wp==TQ*(2 zJOQ)HMW6RvV7`b^Nb@^BV__IRaL}IooKnzp78-xe#&K(g30F#mE|(uKFsSE>Ho?;m z#g(T%E?3Td_|xMGxaZ47Ei>JU&mHt&Rm___`jPGaE$a5%g)N^} z#fBUxb2ew~&n8IG&`KbUZ^Y#EAE3(nz-4C;`rG!R;)|mlF356+}TRsUERFbv`AJ;c_OA`jSxuKu~|tgwkEmj~)B} zU4`%BY~48FUBuNpCWysmFI2!1_F|{{gCFKLO(CvP?>V9svG*em;*h!>BhhW3bFb)u z1Pe5)ecSxA-K1W6$Pds&_s59Ep1z~sK(9R0S9SM9h|nNp_=0yblK<88WoM{ zh%$5?fe*aRTEh$_+5k4l>cj93afVC>EMh1Y&zu38!+7UbsOX&Y!`8@qVpCNF;qUGP zK}^8}7D3QIVHPv=%TV!42#d!aZBv=KXt0+NQT!o`L;`*K^w*o%SQ~ITcIAn6+HdA!5*D=rgrIVWigU8nF6LpoH^=C-$x`T9@S=PD??rCCRicKZwQg z2q-b1vGF6T1^u=AR6yU@+0JQT@+e94-+sq8JY)!mf^o0@5jAWMQTPOOXOQ~wW^g^z z(Bb&S8~k(#|HnHR$I0>)?PmWM_4bEkAZz#R2ZPb1UB>hw_}_XOn1ch|@Hs zD69jd_dT({PS@+Z9msk{gHxy7!k6Y#@b+7b`qk(2SNqB`;{#K>)79bcIr&R znO^fp?S~Dulu&++ZYEVPUlwwwJPCM-sqU;-1lMDrt$DFAUB#Jn|Mu8kD7FkA6MIBG zt-3ih&D%=GjgU7q0r}}Yg0>5wi@kh3S-CGs`Zl$Z{PD4XJ-HuO0*%`5vK61+cQB1Q zhz!1vpb+xlz1i9&1xs`X+db3T6a>^moGjoz4i|oW_50RS-4)D!;DquZyUC$778lNe z+Pq6w{+F(N(DK$T&X)cdXuha{IM2PFquR5i<j2d2RX!==Y82?ZV$0=n5Cb z>ciz`ag!qopkI#l==jTgmgLjjT2;n#AO=*LWuk**EqCQ`i(>ib8Lbc?@B z8-t8a-dY-eu@IvwDxmbV{#pLLKv_GLra7K7#tXa^g&Lk+_AUP^J@u}w;f_hqE!Crk zuZl0Nhi^g9MuHbAx|i?tNH2ef?B=pbN2oCWD*1O!(a48+^KzM<7R#BIIg+G()DDWK zq}K*p2``r1CCfs^s7IpTA8lU|ekkhxrNB`Sxxmq>wy#>#wX=y`J03KwKQp-c+KRQu zB(J{h>n|k+=9bTPJ01NbNbY_{UjFmxdORbDy*y*t<5GI31H)A*#O>aU`D9)ptc@tI z`E7Mt1EWLGDtVRRzU!4VWtXybGHvA*@G#vfG(1TC@t+zld>0ehX5Ho{@?CJ;MyZUj zG^A5-H29W7?3~iVf3-sr0dO2t)0rUp|3Svw*WZ9zwl{3YP=CHqnOK{hmOOo=nA6Y_ zJyOBIJF!1^OmBztD7-yLE@?GTKje;`zE5pDbAWEeiG|q<{riPumFz!*BX8KYrBc{* zH;8lKETD8wo1?rzmthSnfI;YCh*cF7 zfDd}?zgjh6`r;G$7%>}uc$RcP=zT}zPIueFV9fTbZe;RC8NcJYx$#K*u>M4Q2*qUu z^c(>cW>Y=P>T*FQ2{L^wjlHP+5^NyK{oUvyEE|qj|(fq|7^LIRFo zj)fIbsGUjfjATs4xKO$qci26wACwCk9U+9st_ZeIn_RO~ci3CHM_4LlM&V zC~*7y2En_hk#p_Fz>Qn9mEk;EJ!hM5L`%nIex&Wj?a(UJO?;$}4xzIg)c1p3E} ztk(DDaJMDsX`vsleOuGG+fNS2%_3h+yk#w;zut==!=w9(1C099XZih!9UQ=#58g0= zeuKl{;-PT2ZrQ4%anYxXGq^1rFLIgmCJLo zPZYpW;ENq8#fY8&%%8iS09u_2--l!CK7DHm=;|qo8p>c!NAs8PUoV{j${iWQvsWTo z{fQo~)}V7Usc|Lq8NYsCmaP}kM4CBTh6Jh44IM3yuY&<2reus)BG;1tu@BQw@TJnT)g64ey(AH>n~=#bfHOT2@+o)@<8j>%|ZVrTSb`r3Cd;O7T1 zw-h#!bhMV$zL_&v6T@TORe?i8Oaxas-JJ8v$fs;kL3^}8rT%)3Gbkaq=2 zW~#MGrE*L)As!t*C`BG5YDAQ3@fA;N(18!gtoh)UZW_0uULPQKY5JPDbD0vAsuXDY zE#LD+wqG9Ou4L;5*Yg;=*F`JR!o8<9*P{bgGt*}&v7KU#@|dfdCz!~$K)6GNg__T^+hldloFkiTkq|%i=^MQ6! zPbn{3t1nN7Di$dDqYxkfHGFlxm5a{m<<5V*{5huuKIgOE#$zF(A^0Cj|TXs5< zeto`QhZi0?@N1#1d${RIJLd?Krv7;vR~Jb&Wi^XkAvNEQ+l-lqqI9TJ$@-s@uLSnW z+u1yDJM0KA59xp0?onRHk?qMrq%Vb;>TEHlSF}$}pQ%mPy+V>Lx0{yl;AB1Y&kQ5U z+^hBLf-ogsehN1{xzJoua(aUxyg=o@%-I%`&v1;-iY2qvBdO{<4P4s^e)w~h58a}{ zCy%D%EH#MW(tXSAJx@bQXpNVArg)z?RTb1PU7IU^WBjGF=ay!xUsQJet+!cP=vn^J zrMWC-b9Z79H@$Vaz-5Y@V)fxw;MIaei@$@Ti}(L#rdIxaFX9$8hX4C1^oYfwHmi`L zS7nt~$H~woG1PF%J!nVER8ia0<^L92Y;0}g0w&xvLw+V4x7l(GoR{>8!k~5U*ZD)8 z(pNhtqP3D zAG0yzR94Qswb8_t{YbHJw)UQA|9D65*?iv@5zB;iqa>;mvMSl)@AT6plhHpty}1)* zzgy>)=3Bl0PGq|7j=ap1ZRh~g35eXg||iub3^edk>-IND|TZ###7R8G`}oEmvrv425O zUhvLu$x*bZcCq zJ-3;()h^@~w5kUCto+n|zReecJF&q%X%0PL{b&X|0KK4~d%vHwg$`0=BN&TreKP(= z_-#&Gt8c|0@7)`*+KN4QxR8IiJZM*a)B0oGthQVu$x?%`9(pyKg zEzIYCXnAO^9u>0@=sPRDRZ8w}Acj`MR@wjW3h}Lpa`csC{}9o8n`+%xu7o$7{fv4IG+(M&s^+InU>~*ZZ z#@;-SykN{>S@eF2G)*Z1fJNvDE9tPAn?&>bJD4~DC9NVgZ%php7z3je-*Os4(n@8l zVK?bfK3nw`_(;CH{fp9*J&BQ#5iEOT9RsDsw+S zYiDKd&QP8Y-X&#-2r1;eTicEn7}L$ym#ZlTFrTaU##wJOqL-w42cM3f-=vfP8~}AS z4e_+ZiRw_Q%E4%!+Z8bZ+TTPxy7y&>ln?g&8;(H|palb@$5mijVrNjQXs?Ax$2)9n z=GMONfAPtX@EzLb-JlJwsws8bW`R(;7#PBneFlh9j;x6HMOk9+|MeyjP0eqW=Da?U zx2=4y^KV2&0QGPEGg+1KqJq>qPwcZOhm`T_ldxJ9fZ@fkARSv5e&zqVldOk{wh0jY z!5zT;ny@8hSt`Ix+oyz`*b5or_qt)Vh$~;;dEc&$FZE~J*OtJ$&gYp$RjQDm?2Y_u zWH_IWOO(R?c!F)zOUY9dFM_)>BtM6^D{Qq9g7N3Mm9lHAuxGw zUoGa2{h5SaGrF=;esN@?Vj*;v{i@ZfTbv<$xLDkC^i}oIzaz_Kp=L3=yMuq`E(i22 z#YfEbUfyh4km%(%(jT}SGNZ?Tx+Law+imNjY(<*GN@X#BH;MZ25dPAO*J|za3n{tl zT)Do|dn`dN)Ep~n98OHOa8}HZ2wHVgGYGTOGE44UaN{v2-mMkpL74*;=T+Va7W%{F zbJiU7A8~_yPiN_G(F;Qn-xu;XLT78<-Z^ME)&E#?nHjyfxG**+4hW~Bo`t910`&{8 z?c{5U_nexe{Ja~6GrZxjF@Y(3cr?qR_vzV-!Sg*wmoe?q@CAGREZV5LEc%b+hdGrV zJ?r!Li2U+G$MQ_;i}wI?2wG7n)e(P>9N`}TCPXH3(&p?7AR)~AyyOsf7D{p5(s~FF ztt0#y6Y#v9Sny4|?#YSIl6HE`jF{Xj$Kq{xAwCuq;P^vu+-Ym2lNO?9L^t8I9xHBk z3(_hRBNT4RP3;;Zt~-?%3k4ka9L@;z$!qM!#4d+Z!>oCy-?O!pgfTjn;pujSZ&Pro zWz->+hf@Z8D$MwbA}EfvR%O$e7<1bNxvew6%Htn_>CGZqoxu`rm*$_$#z(}xVMhie zA=?k3?r<8R0ZNnNH1kW=QPN}gjs{sRc-Dg8_9iD%)>qiL|3Yz-H`ZHFv%7pWdIelj zq0SVxIXI}_7ln;(vhFM14TQB!fQS3K^Wom<6lojw?huli+yAdYXaG?14tmD)k8oFu zr|EefqLQpgXJEfkd(6boqVuHZWqHJ1&-WlO!bhOu$<}W=+0Fnt z(@JSHdJ{B=^cQ4l9sHj>JrPi2rz=f*n_hsKFrv~S1)Lj^RK1^hNp)N;t&54sBXY_Q zS(OYDXd4&BN-67pz$ywCwoBA%pqkG<(2}D|Lc_NJFh1jJ_bVO1WTKuk*f1j=moEBB zf4PD{P)M>_>^-NKeZv5dhV{Vurl;-iuAF{wAL^LjS*>l9!^{Os3=_*LDmME`GvV_= zh$%DBz}$sngD~p8s5U9clfy8dQ&VW*vpZRk%))<$jF9U8l33v&7g_ng?Yz*SAtPP3@jLUrVrK;ys_wBu3S$^sY}Cf zSJ(Fs3gKYT7P#{UYawGpy)@Va2f)0dq3M%+_^SI^pb8tLQu~^)%`YTw!DEW4=SaY< zYXz#>%*HCiM%ac=Kx()Kf+nN)>Mt1-1M`>Hur8N7=i7G;9j+*#hq z5!tJm0Aq9W^l{=f^SE=``0VdQiO2Bn**e^U-2WB_cO z2A8#_)Wg&AnBNc62dpE_8Thr0O5XhNxV_Ica-#=jjss#mPq_vJ$Ta<6)g4Ok_w@?S zp*7j*|LI>kx)Lx~=I#vPr%zDc71$JOrwFa80~6WQl+Ut2L`@5i_)a7$8Pl2J=0{G0 zJZ8RhqZw-ym)dZ5@3ed+fE0u3xsH2G!y_^*vYKPW3Ob68mO(DU=rhTJoXGxA{}CE} zVBNiK{uvK#bB=oj`mDd~hsdj&w3ID>n<};lv3LPshsXl6CPz8TEv)?6wgTN&4V+`R z1N1?$u^*oAURxS1rf7MtCspw%S$deIX`jStafuf~oPq@ht zv8^J)fqbJh$1vbo4Gazq@9+J9_3);Vs)qH6GKzs*S0?iDx%_qk@ExM4rn>^hh)MRk zQ4F{yc3LRIh@RB&-0t3fT$?$QH?N~HQoI^J;CHYqWC@7I7mab8fPoC$H2JeAvz zYG}wf7d3M>tmdbxMuHMb4>1v>K21c<)`QsV07C;K0cF=c<45Q_Bw$wHtTN&DsH^hw zOnJPFh|QNjeJw6qpFI1obNN-EeqO_-1N8OocIkh|t5rLla^<-s!^Z>ahy( zdp)}3FgieTedIM)B{T8z#pZU75l+o9p!`)p$x}O0(DJuMbAHd#yxVetM|YP4(RL6h zcv}eggCAvB!u2sGhwiE4Y)$PltVn~W4!=xY_P>^svQZBm3ob%Y^l=8K2ACD*FNZ|25A_5`(wV}6usB)DyjuZk~X#ulyCJpk>Kd4 zrtUH z_x4@1VmzI!_j6AI6VT$2+OMYU*iJ0&wmT}Q2{Ngb8`t@kW)UKCWtn$;N#@t^E z*&b9m!s1bzxT1v_ZOcUS0_BsAz7b#a^8A4t@@otnpo1NAZ87wpIyX;Q46^Xx0XP;a zEk}RZ%n^-$!zup$105CxD8JYc1Q(1%LsTq>{o?O*Q`5)ykbV*JjA}{nw!Y!rEStk@S>$0 zLMT4!``LRipSkDUBU}I=DRVr$e3O1bgB*R+7IesY>F2*W4?5BiPz^D33u$r|Cn$~$+DP4I~zF$rVuIp4yu26y|1DrH&@c{ zcoy_Z!I`7@Ah5i{zT|7PlswWx5}#8!Q2B8KePv!D^>zzEJ28wH+VqpQFocD1a*PO0 zk!U~hQi{dk#I@}Q_(I)Sl(M5PfU;5u-*(gXHFCDS3Va5EE@~g#9EEz&g&p_?hfaGz z`-ZwHE0e6}rDMIWPXiNh1Oj(KuK#-ok<36C4(7pG@$Q>lr_JD+@i$|!S^P{S%@m9t zZy#^;y#=Ie2RMG5cG++0oP_Y+aNI|vHvbB}lj~p?3bD*x6jE=(E)@@$Okx&H`Qf_W z*lYQYicCB;@$z0^Ty2;X`)w0WGc^fRP{--J^1(Q&5KP02_pO+1v zKUXp$d=IC^?Ss$lB|g7rlTOgv?=mN*e=*OkJi}sj@YOHS|Ku8p@^zpxSF1GK_%p}- zs471d#;LuoqPZ6C*{7u$QY@I|N6W#rXxvgN&|bO`^w-pOqp_Cz(cGuM%RlhBYL$1U z_T%dAJAei1dAH^M!c5mk4y0K4xA5dW*ks{_$Bgz0DA5LeM58tQnmVQ6Z@VHxYhXoN=xa)~W5%!d z-OY?xn4z8$q|(;-#>Jf6D@e^X&G=~wGMI~KEGtH#N1EzTeFR<$;_(PqgiMe%q}z%c z(~V8K#^wb!X7Zt>g+I4Z=mLs>ZZfv@ zUiEIbCD?vsE6~=v_H1e#G_-ZIARXayHR~c;ui&EpBAE>O4%rtBm~BTApg5;4C%JrQ zt2>sx`7uY?{LUlU;4VO^NgO$|;Ni1=b$Ya@2UbyBi6}>qIcDGoC+2(!tVU_gU=vh! zVYteS`3`AQ3gN_6e*bCEK=c!k06+4Ym5-qoV#{T1kZir7bEu!L zreuw0Z{KRn_UfGE$6`o8rQH|lm4CK32H$zseQ-%0W;6>qPBG(OiPvnyz?7czKU5ol zTwlEl=P5CxP%8Oiu{<3@QIVC33l9c7I*G@M4kFzQeC8O@(HCNVR*mv7rEpM~gH4CH z&#Ion@y1RH!Amp?7PUVmsb(XX=TN?GM$z{OS?LYKBXB$ZhLKW*B*4F6ByL`y<&uP4 zZr~(tK82nE2CTtl)WwPX63)w>K5IpIBvh)ejqHB+wtt5T&Vk?I@V4W!6FQGK`dJ5v zB%_^7o>V_^u*)0E`f~+&!r-NEuqPNP(xao=z77(PC6tQ!JxzXxoWj-j%l;tBy@RGi zW8l+irRpFeeBY`PA&`1<1}D9+{qa;(FuDy)pSKMf7@z+^YffDxs_fXS6HZn4Ut?Q1 zGVtm{y~L^#_&M{H`Qa1#d9fAHTQlp);B6Toz6pokE@;3w3`|cN4Jpm{1+mDIffunb z&#HK=iR-^YNSSlF%GuYBTadB;AAe**Fr=ZIf?fqEu+6&GF7KLBE7^9XWAKXycvYAz_V`B%WKo=>OozK zM+DviA@&WUMmhQsvwILFDjgzLbxEl5^##~nYQY`;SCvmx%I3F_2(Ye>pqDL}9T#gE!#j}?HtdQdVO zHu=qllACLqa|RVp;$<3@n%$T+WFUhsS!*H2c8v%4`lEaA8pAR^!osUJDiwFje%H}P zjNt)4d+;VG4OvNW(>y1?8bc)1o(-YS)STF^j%(m#?PlSF6o4CA*}~IXyw&&HGhp?G-KUyrhFRm zQY9_5s&O&IOy+E>Oy+-QntbdAh|M?6F0G2Iu~e8W|2W*t&03#EisL}o;;r8+PHpoI zDBTX=47WrK)s_8vZ*rH+Gq`;5Tb5PsL&W*wx8W!jp3x|fz6wE`QT>9f571EJ5X}D4 z`rbO}DZ<2W7{__{=ucb_PMWz2q!$e%`d@E*J%=N4u=mF08bJiI3NAZguQ?5YFPpH( zUL-$m!3IRq8mUQ0x{Mztx2Bc52mIkLa~({v2k45KWK%L_ugpt(Ce3uG5q-;O9XHle zte)EtAU*~><2j~!dCPpTv)chjgsKba)GyLhBYx`V6pMLnSPQnzod`(6Y>%gfy}wOT zX+(vXu^T!wn--ec;j^dD6vVb3|1){lVDVdpcDWOicPaIvQQ_SOxZY>A_jP7`ce8}S z7<RxZwnXdPC}Lk9>1zu^1B^Ok@A z*c4$aWKI-Js^OULn&7nsvKE5c0^xO6kcpnXA-Q)&cxcs$LfLIhURC_gRkkEJ=~~9G zJI@av#jWx1St;LLXb%NmCC={e@2+gd_F~2gQ7Gs8C!!>=W z=op1n|3C+a_~okfShO_2xj^NA4s4Z+w=!VKX-4}l?H?z^-*weO-plg!*(%!AoMP^M za6CaY(pR+<0MCzptj1KRie_1OLtD0Y+l3X53V;62fBEeJ9%#_HXTGl)^!k?Yib?Z` zp7pecLO_oz8(ftR%hSIE6oGWH`!cV?;T&I)4ZVCG-q<&6{rxzK_*Ym9Q}L}>MxZaW zx}Gf1ayW$WA<0f7iKgjKY?=?bR5nD^GRF9O`lP5_zwL)XzP@=YR7xZnfF>c%;NgVh z_F6sGLP{Jq7A=Id8#bay&{bfl7Ew^v{%cI{Z>zZ5ru&i8_QMyOCn5#U3w5Q*ew;U7 zXn}psS@R1KF2?%mo#zeeYesbj($L`zJ`6Pg)8nshE&FpflWM9YPe0?vS3E9{`N$n) zwH|k;hQT+a36l=5wpW-%RAcE1P3+>~KH}k1qtQRW$^!Z>TY}$TR{#PA3j_+_YQUEt zB0A<^R+6A3(;ce_9_XWyNj(de)Ak(=n2GqN%sy4(=PyZ20)z` zp;%n{5}6ZTxw)xuohFj~*}jCz0jG%}q-3+e16M zLcof)uVx}ERc?Z>=DHV`{bYbB_sbUmISQrV@ugO4AwfO+jl&U7!b)-UPNaTeq;%JA zUlSiK#8;%6lCOq?)Qvp-8zU-8ep5EJZxld&<3mK}ReVYicpjR#*IMwDk>WS;oG&yW zwc42>HL2T}5wl&E1$!<68WihZ4zr^Abozlczq_sUVH)=`HWv1j5~(wJ4W)L54HGAS z;KY8rog0Zx1?Y@f+k7IV6*)mK4c*)B52@pMj#bZ7Y0$mPz^7NBu z3miocY0zWSWSHoc5`w|A0i(^_JzNd&UA%ES|1I!Y#X0QmVT?TibaqEVqzpv^BhH5= z^md^c!_VBT2TVNKpmayg5u$l|ZHfNE`26}n%N^vjicBZ5rUSy+|Mgq$30H($Q95d> zPTfH!JYp*&Iha;A_oOhWHQEqJ|I_as>`}4{KK`-!W+T@CBcSZiM!0kzX!)GpXAn?+ zUWLmj!b6~&bO;%F&HzlqzQ~+3^SF^7JK9QdBf3~Qp>_<46mwR5sVM*}kMK}GMRd%T zASEG4Jr=^%?%xD0qYo>D$MV=&8*=ChEq&v|d4v5=54?dnFtMCJ%4^~#mlv0o6qlX} zmKhPVMR9FIEx!V@9Z1FJ=aCEtP01}z!Fr{!N99R zEu0g7<}<^`cfj)Y$cxQAmYR%-mtO-$-rn=!`R8Z3`@Akntnzcm_NKt1GZFmkb+rEB z(wrSE{8p8{j=8OYM=S{bM_*$(qy2^)=+oQ z3mBD)Kcnsd4W$_?#6-4)3wLBw75t><+{tWlv5!))DVD3uOL9ziS z3ZTZ;+LD~f2ah4rbx;lLja_4F$f*a4$44DxRha{)vybQw4D*YpUxs@hF97qAChlSq zSqmV$Z7^l-$fj`|B-|ouFN-3_xnD1A{JjS91ddF^R4*L9haH}^ew!G3Ast6zoR+|fI%P%DpxCaz^6?2C}Ug~w+ZV$@z# zx7p6(p1_}apJEmgSY7(1;SM=ZpztWbRd?`}$8yiX9V8;OMQnh`yIegqU1+) zrqmV&4SuNJ3~=q7fWK#HbNgv5i|5hB_9yaTE8GI;Pdk9?WZ1$aCOwUuGGM3cA_#Aj zW(O%=(MG;lt!Z41Q4tT0f6spz(qIHrtS{0}VxPNgt6F?Y6j-kuIBjQOAxoFT zOwbj;tQH<&G(bF@0Why*Wj+P^z`p;6%55z0O#u7M`cABRAQ3k(4tSqZ7-4JBhaOQk z9z)x49-C1$ZjBIQA9X@zjDZ(E-A{aTSRU2@wd@XQUx2MuIsk~Ejm7Jm;vA=5NTv0m zL3QDG92J2g;3&5d_W)c4bW^|Ml($_HMpE$O>cvAk#x_4OUBHQiVaIptR15e2X$oUN zSSf<;8pz3)9+sn@JI2>H%v1KwX9$wICEj!b826T#o-qjSGU4>BC|E?L@7lJ0DGV!1c3iSJNE{h6aRfvCOWJ)gsE9P zt@_^=O^TuRaX3{zyuPbSkIW4Cioy_58K~h(pcAZ%;WUMPhJ4tUS#WziUT`j32RS`V z9EB9r7$q{EiF&P7z*_v?7AQv6pi`%p!ME}B-_pDLuhHw4tlf% z^iF~bm&e3M3b6X|&S8LEca5Z(-vFG=%tGwXx#bj?mF)wqrMai6$73gpTpM)c zk}JaERoVo`4$p5cTVDFI>}*km&edTkaFZ4m9&roJ11niWXaCSq0sJ9w{jD zP4D1VWkkH@ZhLk6bUs_QQ{QW-s&L>oO%IYiR@LbVXkB`?McW|*fl0wO5GplzHme>Y z^B|lj=4Bk~p@_UxNvG*;lEYMlx(@zK>vc77`<*%Q;Sb-sOd-{8A6l$pw-yNt!gy%j z5JSd;mJ^Pb7mfG4nmP7KL}UN*;*|K433DdiTCKW9wWUeXWaRSO&e8Ij72UjSH=1w6 z*RJ`1qkorr4toDiLM&XAZq7~iNF1up$fbHL9KG2a`myL~RH+>OYg)bEhYwkeS4(To z=CdJ%t#RiMC~0lh_*g#JjbQ`9X5HP0?V0l6v3`C=VC?vne=nY zj`?n2J#22GL`-yp&clY0>XES+5FQ)KL|+lpUvqk&-l6KP#`yn`d8@E^5Ee7h??kl; zY`e4x@6*RSPalgjBJ!0#k{BSu`5(PS^=S9SUV6gZ-UO2e$poapUjQnxfC}V?)%@_6 z%A+67qbYQPZaRvj2Ri=;C`CKcQ53l~Y1?$|>bG32(c!OETz3o_y{q|z%CxRZZ`G|M z<_a`03*c)qa3%La1E^}u?`i4p0?2qmXh#i~A6Q%kvM4~0frANc1sq#RIr^vu<`$K6 z-3xp6|FLxD@lfvl8!sp4$h1(+txhCbC^K0iTO~3jYf2fz2vd`3v2PKTOvy;JSSIVp z*s=^`-y&nQ$S$&#WZxqq{66=2et(?j^_=r6YTWmC`CQlaz7CBEWL3T8ES$osAv^5M zFXQ++IJ^~;H@etU6z+H77P{x`o* zSOd9alxx5+s9*eH{wD(I`wi9P70-{a2J6*vpjV~x062Bk&KKFxkwo z5ck#Zv|M-lzil7B@{k8Eg_Gll4k>G= ze9k8dIYA!3KnDH!Y)RE*0>u<2)@fjKV*4M&P8eOH5TesD-G zb(APsz2Cgq__J@|DA=4}Y3)I0h9QGDQ6h|S3$zRKb~};^V;xBCmO(dT->D%XU7VUD z_`eG%my8SeWzd$#wXZ9iaKXjL?M$a4 z5$rO$xei$4A`w%ST)nRqu#4?_oDiJ78G!=dIebXNA+s~O6 zw?`SyMd@owpqG<>`t%d6U>ik!0EM~wgHquig_xR@NV_~oy^SGe65~O8O39)Z{CUqz zdotsD@%*Zxk$(ewVmx@?A%f>@0x1d`Gg+uX1!LYG8?C#`ioOPLvj6A!dcIu++=Jn? zES;u~Jb|FY>`NcXM-#rYH9eROKmi6w7)%N$4GOi~;K((71GV{!NR&dV92kk?P25@-p{u~TNcU38Jnx{bfwL(j z<|qIMV}ZKXAm$buBfo!J4yGAIzucdBnK16x&%V3KgH9!V1axw9G|f59$`d!B=m9Hv ztvez32F^}5JFr7l*BDh7!Qu!$j^Kwb5RBp51q~3nKm}C6<0_@8Fhv>K{r%CV9M)M0 zaR%j?9bbmuh<0IhRAxq2+avK8y&~bDE4~A$d6is{LnKT?2xHkj?tK4QMTuyt=)40W6E4W8S!Y(dn&8q;eQ4_#9}VG=z^u!N(8CFk`h(#$^M)vvk~GfFK{3CqJ=x3i}1S6DJT9g`(3qxGukv$?G_E=B|k-z$!GQEW($IVnnVA2l-kX)}H>PERj(DG&? z$lzvJSZ#{8Sm%j5Ofe2sP`Eq$#ik<}Xq&Q|wCqwTV6vDt$hLd3uAoLtL z?uOg+@d)HL567SlK6@Wg!oWA>*35}yzJdez`K|xWUCuxk>2;FffC?zIUiOI7K2TTk zVGOE*uPH(U(f^J0U1?$txFavzz@GB~2KFylI#Q|#uaK(;XS|}64}Ttie4LXAGB&(3 zM_e=@;we-q-F4+UQujV3^iu64zD^p(vjb0c&lfVbW69C*2k{VW#67)6kOJ1h&bLr} zStgtz7F8}-w4LSaD5MB;8MTh>IS~k;_}nxhodGt>$<`WaU5(ojp!tfUxPqb z8k#C&pKzafsk~D2HYLS<2listr#(9vw{vP5?riovIZ`!T?37kc{IDoZGvAgxT9x+s zY34;SrD;`n0s!2t1^?_%^uY3>zBm=<>qR2jtQ5I(-L+q&J5CP2KbphIepZW&))w2v zya;ww)F^XsyXI@`Ezu>uBZf`3M_dTnON-)VgCwz2Z!$$pCe^FCwP(!xue1#&xZ8T1 zFRg{H%0GsLT^+>!)Fhs_v}IsyebOOIFxovcD>@6^5I5^!un$Mf_n}-lw>nl67@U># zpu@EN8*$t95W)p#PZbrsJ{{$8iyVjs!nQM|(LkJG4cZeKhxblDBc@J`WE1L${|y}f zHED+OGHW)RUZy%3q!HrR5s;J$-@Zh)))`AM{{F;y0~12S^@?>a|DA?Xr8tI7(E+;UNmtsEwAG44858v+RmLBfc3G9%%p+}{Nm|90iuIq^r}Ujk^HlT4(#prIK`C!V$f%1~i((>3y4 z&=1FFm%dcS#GPmJf>x6y$AT*pw-}x8t#eGj&T<+&5%Gd1rd9tDoZ@ zXvVmCE9^)IEMZn))a}1@9SntG6pwC>$ck<{&Ge|Dxd%Oq2HCy4WN1kYRx)JB{?0^q z%I&l{(`wFktUD9g<9x5O9m@|SJAeE^4BpV-E5VRa=J(agK(BnJz>?HHA}Uqi(ks!y zDeQW(>$%D3o-hO%r#x)=bG%iQe);Pi95(c* zsUSB;POsu-2bLr=udVUOyb&%^1ee`yJqg zfqHEqeKjs94&b8AjT|-2ispwok)uPdc0eSAFvD}3wVUN1q>u?kovcF9o$>sP&Rw+RBrp^5g7fm?%QA` zUfXaAh?6`vjq~{?Y3zV-yhT9Kq4A(&&=4>Js>A}sSczi*G5K^C1c3eit+StS5{h?GeGWWurtEu{}~yx_KXtE?ilXi;b2AoRA8D_;Vr6r=&+ z*24{urg@RYqJ|aC+*o{{TZPID2K8)bvhx`{UP(8%_G^tmYy@TcN*$+g2vmaGXWFr1 zu~KZF*uzwd=seh3AZG|X`%IYKLZ*<`#!(}T1)XooJR8E(=M=wrEa(AROwrTVau>n- z3aEVhJt2Y{a85L-{B0iqy#%B+e@fUk5OlgZcOQDt!AZ1fRM^Xn3|e`%xfn}}OOcXg zxLD_^y_s7Eop}-Gtg35|7(*RTS@V`9>i+ppAkw+*BaZDu`^-G$up9X#RQi zMCv;rR$lHS)&iOA+0)n%ILy3hvV##F=YlKF?BQcxoAaZL?^`Tu_U4Cd1f1n_Sm>Uo zJ?8CaS%^gFj0PLPcnQjCoN-?trAzOt=E$B=9%VzSCIz#bO)>qbiNMl0zw>0Ske!(_ z{jp)tB*D;8Sf;i~8Z6lX2^Jzu9k(tbjI`iPyfNo%4eN{&WR2}Ft6&~NlA-GINxhZ4 z1~=TlRhNB4VK{hFb{}}3GNX_)d6{>wLIl%}3^yJ35n_N5LtuVu6-)N4)+Uz48y7eS zKcJafM&^NaO6UWpp_pwE*qaPHcpDUVxfy8(okdumu}Pyr=jM2{rOF!rVFJ}0PDRD} zLIvCUe8^!qS>m>DH99NUT)icMoebEjj=VNxyzkmJaqw$~B*Bo;IP9MIwP;CJ8Go)i zQ*TEI&zohj&JFhwqsv8Cif;BJ;wb>vn7=twYACby0FGVJ1b!O@_CD%mB3J@2UIVX&R1qtJ04${Ye)?h!2vpN`BfYZj77Jrn)=4J10dZA zx7!gW3jnH99}BWFX|5`ja*3(idTjJwK+mbrU5( z{~Ix$oUk7089o9Rg{qIDn@5S_Q*O9l$7=d}P8^WHOx{*5o(~&Z;X7JI_rlt1(iuWO zpKT+K+4I?{2z)RXQ^DiEAMOeEh_f_I%5|@>Y?oTI?L@N89!noQAIQBaI zI(YfB&He*AaMT%2vcP?H(T39b*e$m{)&7QL)H-xnA`i5?XV(x54aD%NoRne?2PP|f zt_~OIyrMX}>=(sR{REhR5;lC?am)Wz9K{xdgXl=qq{!0IKv)cA3CuA_OSkJD-pKC@ zoFHz1rijTGy4jE&@8QI&Kls2={J;(T8Nwslnv28CirK=6r*&ezSvJlm@OX{dVnA>N z-Q)|j2tQ?_{!GpJCe7Ur%`mkkOhcaVST#)dHDGWqYLyGur~Qv83BAINMi{y8B~{bS zALtbAHf*;}HhkeU3)qE6iz)ZSPFh<|I^nE6)L`$>JxfS32SM?7DMTD&p%=2I`-aKa0UmQH(XMp@i6R*e@8xGCscC{eW7zf61T${^bSfn-eZ_Z;0T(SeTKuVR=&q%>@nJ zpw=kUA5pY(Ysc&;qHSY?i2_Z0o(**BLC=IJmICdHJmhLB*;86I!(HGY#NfnsZaWY5ClSrZyZq zp4vD`BhB8Ym}=!^IfJp0q&!mQ2Yo~%$11gt*KN;C!0+g2| z`)J;6M@R@fXY(Goq^Y7Ssm~9F&#b@GU268~+Xed= zBXY)+{*MbAvLPyD8R<_y?cI*Gq9&nA#irB3S$(uV;?WFsWcEWyp0wxd9n7UWpv3Ku zM6NkbrK0CAWxHK~7)K=apDtgf6XgZ*ZZUnJ z!&bC21Fgz_PHdjw`Dr-)+__w#`SjM!ZTvbR?XFN zb!Xc?qb?$MfXO8In9eTMdzLpgE%!Y6hm|$AJaA&Ms^7AQ$t%#3T>AdIXWs9q)A!M3 z_%e&1A~ZW)@_wwV`*65-<&5v=$xiQ{-`~o1_71Ji-J9KPeS7t?+Q`&F)@P)2{^iN2 z+Uv`c%l2QpB{y1Ce3}1=fA{m5L!L-EYoE+aor;83XXHXhO?95&WNhsttJt|;J2Se` zUp`PU!J;}B{TaVBafV<$I=b-g#O%&xtylfjLxnRTJ6Mz}fAq zYvzi3{V7xKmnFHMQkYq|c9<*I<(O4KlgbK+r`((D5AgI?Lr%GXuyg&`nDA+M(LQiN zN$uYkmYyzT@ol~uGztn0SajhK;{`an6&K!{_=zu#|Ip* zlb)*m;_kSdM%>plAusGK3_N~rh&cWn5}mMhzW+-N$?b;hSsp+lfM^Wf2V*-LZhHOnC#qlUR{K7wP0S0GEi-3HhYOhRk>$#@lN&(Vtj!xr}}bfrC&8 zjyH0*f2RN%3tqOu+nAzar?G>-G-Jy-LW==37#}X}YT`^y;g$K)`I@hP$b5w^d3e~F zHn#mC0=DR>Oc37f(ryB55L4ZVV=W1&DB7rTQ^ zk?I+29z5;{H3-C7!$ev_1vjRNv)l7z0H_QY=VJkC$S12S$2pue@9pUNl926)YQhDV zfml>q!@82%%!!|@-r|Nk2fO0Cn>bvvo$XA!G|c|sy;ETGO80sy23#U}mEL#tLWyjf z^xpTax%Qt&^)4zv5XnM0=*VZj&Tt|I&ig(Pntlk(G#g{lofs-gO#vrG5&&PQQbw5N zedApKohaN{RpCsQ=I>zB-{UD;J8MAHe}K;4taD|<9__?Dq}l$&27^QL$c{gbweth4 z%mF*j+jg4_#Rg70(e9Aci46D%lPualJdy?yo1NLZm3>E7vZ}eem)8G4DU0d|U|kLa zq9`jl3hBp;62aRrCVvuiYspAt&Yl!-A}#b~a41L~N07dVg(UcaOZ~WTmd`3boAl6B zG$3cqJg7`5a(fLh2QI(`aH_B(ZB$ApSypfBJdCP}i}jve((i@ov;Y@|yR!$s7Ky`B z8F~urzG%t?20SY-|BZ4d&^%}yhrJeN!FCW#m4Yk0Dy5+xA!tI$vV=H9D6_kqqI@ zz>#+#In@J{d1SK(SepFnAH4J3`0T<+2tD>5peu0#$CvE_feOZiXwy_Vp?L%B6$kh_ zuYNkzemvfpnH>j0Zu!RS0-<>H?_!mk9S1ICUg!-YMp4I04fzXPdKPyG~E50(WPeL8-^5Yu-7mvgS*kQ0G(Wqk$Ak_7GHX3}0- zZD^T0^-45?SBh6EpY3)4$Y&W=*(v$FaU5b3UbTeU%4S z&K~C6HUt>WyqTnEN!(Sbv0S|!p@CFw*E zR5xa^R8(gijUIiRTlzKmU2ErU_eM?p$oywZ7naP)u+h(p{i~<&J`P>05kZ|TnG1DN z(^|jyd6ReM(_^~BmdXlt&GwY`&c#W_)IQ=4obvn9LSHqxPi}PmsXbG1e6fbPiJW`) zhpw5`-=-Rby`f~$j~ulLaPhmgW8pw|`t%|oA1*{#18Bn*k00|}SPvp?z~>XO+pKvB zUqg7`KlzC)2|1t9o#Q9I=e&Vd4?T|%9_0Z=^w<Jc0Mbh-=*i$8}XC4tYw#nc>ty4p?00dP0^9!>x>$RByCgI}i zoZ=^xMw%L89{!Si4RLNmg_2nV1Hek~oWvO)qHUZXsUZ>JUNn#>6v!~rKZiPGp>o&H zHkye{xD#Zo*PHrk|M{aM0+S!9i`z_W#Zc4A)wsSf;dD%iT`U+FWjsh8kPDqiu!v@E zZ2*yuVcc~g`rzbI_47ATTQ-w-1|Hgo{2gx_amsuELTXx1q*8ikU0*gjh>-=``@EP~#4 zvkt=FKps)*Bc1@pYtIYd?i@juj)^m*bKlnJ6v!=<%XD$F)bdZiM-*PdpT-)DsaufogIX@6lH*9T1_NxLMFAsjJFb^oJI!RIM&S}A>UDNpRMc^pI=fpo-h`}N=G2u5Jq zDh#E-wk?Rkj`-YT(n)TI+q+4M}IO9QX%-N>G;C>^fJSN!i127_A7RBz_GfdAJ~H1;5XllVmt&w2$29pl4xs{*0J2t{9y5 z0rtqgVzk9$zz(tr5}2_e;*HQ=XLXL^U8Pr$tJZ|c)O*|ing+MjYgW$gF=guUH+TNCi z-fhBlEJ)5*r-z0JD#CO(44MUsSsR>jN_kRsoX`S-(q)QNaL|{pOoHC*h=6>ZT}1ByvB#gBGD{T zA{^QHj3;kPNO;Y7=bKkukV3y?T-vNaaBDbV^`6kZ*D`nLzP00g>I2%hVN1i|>(OnH zT*;hJ!tWlP1FQTB4Xr;_Sj5$ELoplDG0m(e?O5Mvs&hmn;`y==tn=ft7tZEYrT+tF zEHd2HHaav*7ouS0-E1B^864Jc(!uF*q*1<@`puDaInm+BW1~%LP)14J*odW)E z!X>5bEAPGz?3*xt&A=P{Q}7=a$_X>P0AP?46~t3rm@>e0%VOThg0wyQPuJ@eqedM6+$f1W}VK zG4W_9MiJi@R3f$U=ik)TJ!#l7F7)&M(h6EhHK~SfczqE@;16P9F^TfVPk@SeIvn%L zE$ei{30Dh-{`ylZ@44Srq+zaPv&jG^rf=}&)U%OJU|HGq*y*UFExlNtX^uDZz1T)Q-~8KC_A zcYNI(s_>;d{h5T%lg9(@Sn^H&-t&2Ji(|^2{$KJBjIq7;b&vA(`F&3Yy{EH=wS2{w zy;ps-{v9exSb4VcJ4($NmwDQH)VyMK@=4;Q$qK)`tWhnk=jR_S^;&g;V)_Z^=c@2{ z^{|iQv7yEKCnOhXt<2vimhW`eElnBJa;`?eh}9U%My>;x_6xu@$ajB+W})3QQq>p@u!JS z?j|LDxj@->!EO2y!V}7n?P=_VNH0O{RbZ zL+*hMhkJfZCLG!-uaF>sb71;lc(w<9Bs)D6HrzjG@L+Hq<7YKTt)e0IqJppApRw~X zsFdR?ybg^w+GxObYh^9?+1VY;efH+ zG{AzOojm|b$-?nh?(Jl3jRqFiJID$Y7ONdOc|qfh~p-R zHuV#9L-Z>^w&MuWp^mh_u=&>NiER4Jak`H9==WVUzXHCF_bk{qOCbeF;~3LG0X(~W zg$!0@f<_?q8(;txMV%Gtzl26*;w+2Z`X| z5rjL78X^{JD~tKe6WRP8Ca{CYi7EH*Ddi{%issCf7Do4&f zf+5U_K3gt$LrFj2=-O^;5hJvjV-IB!p)eY&5YumvejSC(^{ZBKgwF7#b;p97(vBMza}Pl? zj_zg5SGfj`?6wcJc?8U!1Y6X!}zZ z^tD~kg+aJ*AT2=z(}eMA5D-MsQsnkO)+XYNV!NU!*>i9SvL$Uh974DmmLr!!0U_^; z0(iPUW3PUdOvMXRNx=gW7}?R&nnnzFkNPuNG5`TF=>U7Iw)`UyqikSHv(7@Wz!K9) z!8UP0F}_{q19f;23jt^4bgY>Kc$v)T#pyaAm_-RULx}GQfI7)iyPDHCps}7$#>$L| z*UF5vEs}gzv9bZ06CG0V9&g{pVF3|#L#NO6n!B_{OU9_Mt+|>{_ky*T3dN|dDir_q zcRTibREd;+##ir*ZSo^BkP0`Rbl=Kr5>VZ77ZPs%v&Rz?$)>9B#^$`U_$5+P`?r?( zj~24*BS(67Cezr2`z7b0kapSQpJss*jK5o##(UHfFWo#q4eA-1cw-FB-ieNp-4$z% z7#%a3jktf^I|Mkwy*;QXlbsUp``7aE!OVP?lV=?#d*Xq8Zz?t6>fz4rdF|a{IZh-o zZ`I3;$1{z_l4`IWH!Q6|t+KJ#K7X46OUpC(M}1YB}kd14>9p`*fVM=~`M z`O7l=K(8I+BmM()`+zu;?f6480VhsgKIH(D-l<`*s`u*y#AZBbycn`tHx69foCfr! z2UNuX%?-a702>G%H7+PE64xJI{G+v;o7;jL6HDsu&Ae+ZVw)Rd08T6>?@pl#xb--u#h_vZ%TGeCE?{= z{Q5HbCwW`?>LVt(KL{J^0Dia}cf_M|{`|L{T4}c>S7#IFCJP1#mE1Q`1lXfuv?RT+ zOlayP)IR=mef*!o=!M^Hd#@qAE4Rg0!!Awe=M9{;^>OxVvYh-gwd>EM_o}(%`%$US z^7Y>Tj0eRzp2^3)iSF~h?l=2n&^FU~)${aW8JEn0eqH1KyHsaM>Q=Y`md9ktQD z3?V3oQog-R1l|S(R9Q!`yn&SNg6gwJE7{3VFaeOHtb5|n4BPf1^o_c|teB0tJ?MrO z1C&VB;LDJwdke*|u3CfW@LF1OefX189bHTIZj*Z&6X^w+8A{@e&bI)tha&9O_ng9O z&@|B^2ntUjFm82c#7>4At;gb)vF()(98QS!rnF%1<428LSA;2HGk6;?NC z!wwOJN_0%11e10zgm>P7@4r_V0Ub~YKQQDE4NsyJafW(6x$?*Bh13}}HALoWO=l$+ ziqoV13l~-^*Gb={Xm2%y!JUoLb#!iZc`;Ki#8_J0)a}3p_?~hy%v)wAX)wS5CvA2J zJsIsTz=L^Fz7FI&ZXifrG*U1i`659fHB7Py?J}?Gw`TIZkq>UrNH#(|0d_1CNF!|E z-;V^C2j`_L&I7zRwS3g>2c9^ns=i51ka5P@l^FC5UMvAOwtAfaxZ1d0-Ay>I)oI9n zL|IB@l||p0OWJ@U5Wm&h04_=lc8+to4Kwe}q1tqc2?Lx%P@LonAA?|)MT#zD3Y~Gf zFsiBN_Te;;P5;lTsdC?U`LP==Hr#{$f=v-6<^o>p++ow!=Y#J@l~_WjSy3! z=uas3EYjSBH>1DbEEhJ_x0&&$=mjp?cRFwph%}wjNNC$mu2K36?P!7AZ>C{RhuN#A zpgubazbs17gBh_AlmlD?Z!)Z}FjlNC1AXsHW2Vq>2pw7{MP_uHjvVyjOJCMNe#t+6 zEJze{4>$dmWf34yDAvSTlLg;*hT(=QG%L^vq^&&#(Y(k96jSp^YWP;GCWh2&8VYn! zn$D`?hQ25Ga)1iOf?`Cl#Ou&Th(k>JZ*Wn1b2zo3j|uE>4Fp=^fU>o{*-qJ!^crJN z3f`Z3N7SF-;N30zgV&UzC3iUCja6l--6c9k4@*tuL0utOh7XIy!( zoTCfGw_x1Gvb4hFG(B}hC&Nib9}7I3PfB4n=79#%Y4>3pAvc{reCo1MYL47dU@KfD zIj#Q>dG)#tDhUhC;0nI0@5R;~%~gBgA5c!=9Z`t!fN{4InAIqVrW%8i2A zWo-Y`z!y;YRIxGAHEOo#pw6=re3dnpwtrOk$W6$!wQ%2XRgs-n{$ga?tNB&Zvxmm>yAX@x#`?!9M!Lb9R>-H7tgv9UL@z+=G6peD#A=yGiM- zw3k-vA8`l&voEjBtbKBO-r(AEr<)U`h`OY8K@{9KVnP^Teqwi!qyA{?< zFfHBdQoPq&NxsQiWH|gErShLiUN1{GH-(G+PEOWb`Ds4@%Xfu(s6!ot`{NpuC;4fX zJ3t`0w)!mj^gXC`-1KTXk!jIYdMD{mOj~r|?Z&p~+WG?Fpgmx!zN+t-->>_{C2{(W z*htNtU84@~9=-7usXfnAT^ks)aHvnL3G;c*4vSlPR8<{K=bKHcsJ&u)kcuv8yhI-J4mhIUqjw{0sJ~VUDKkj zZ{%QZMUK7@Qc4j;Pc|37K>rlX<_|rvBKu%ASfGsZ+I1Zq=+0-R60c_`V9FsTell&#YAqn8{u2U-3 z>R<^PyzC2wB9}OT6wCtLqwg;Gm?~Q8GpAah8VlZ<2hfV~OXp6>+Xs|{D5ONEid#D& zngw^ZlrGcVGh3Z;zrx*PEn^m_?y5IHu*bNdiVTyQaIBa!W!x_Z(?^L>;$;{El~Sku z->1uigWCWawi4Ka!bnId>JR&@=l6mQgN@N3gIzmxa~HO(Za|@mg_+s144gP7CP(eM z2BH*)Ks2Pk$1YkJXSsA@mZ^h&>qh^<+RSlX<@L4eSFymY3IC(;S(Aw-MM>4I>M8LVM7=nq6x zWx{`}6{t%;k>`IL^q@U3wN9}ho)S#7Xz2Ya|F}04y%e?x{AGwqun3lB3dYeOuhFY< z>^?k0-g*cd?uYQzBq6RUO>B=!#nqbK^;&DLBcOrwI|LeJ!$Yk*yx#46zSC7aWO_zlTc7r2oblD(k{Q(SoDp<9eSUqj zoqqO)UjT7TTK<0{E;&tO!*gMa*-b&1~#3>lh$5TaL9A=DW&F0m<+#P=rWEYc&o;BxK^KJKGt+lUv zY#q564p)e;RV|kN^Pdw|Z(rZCvgGJnB3XW)w)Py1Vp)Ul2|Sn^{h5mGI%ma?BGlI{ zna6qmQ!Xj#UIvnWGQ;!h(qss=fn)#fk+`IUx}t`+M<2eOI4fKyaBCxj3n=QRW=_#RWWEXcd?MIS#1s2Ua>famR$RG4 zzXk=ojf|o+D}UR?g0Y~TRhdozL{^*M>PB#WV{2ZhAx9kZ`Iru;ygeOiAh{gfl2=?T z<-e@^t}_e6X8|?yi%}>}oYBf8-vf#}H*2Caf8dB0)@x(+P>O{Wx%KyZ{Rm3qFbsGs z_OJM`U@Hr!3)Iu@dnK$ftJJO>3rf6aizl7%xhceBZEMv{g6rAu2rGn z_v=76ho}cd9D@up@3&yg)xmEsM7|Man+3$M`837eZ^Vz_foj1Se~@QW6zdNVYYB9q zY=u3hkHFFY%LTE~pz~m9Y8odB)!9)M>gFWe z`OA?Gw2hDXa)#&vxnGINGyTK`qWPXU0ILu^ahsknM4P1_Fd?52dYlch!#?;5V<(~< zfMj9{OV~f}-Abw^!0rTH(9aK)*j0eZ-x5xTV1ZVXz~m;<)@}_dBY-u|-q%x46+g8< zu;Uir{~A()gQ)lfaZLCt@h(}^5al4o2y!HTOJrxpO9(O~esd%Qr;jB~yIy}zfhb3} z*N$~?7grjBG&3BztP?GTn=bhR(hq3qTRMoPdk;O3<@fEgGbaMBK%Q#t3m)No+Vp!@ z+8w_CVf-tbu>GL$T!XwQq@kSvbF$Aex8XCS?5yAhLxWg7MH4v?L6K?#VkH2Pt=HTB zFC1flV6PvOV5k5Z1~N{CSZVm#1A^>@2o5STe!vy&ANU7aZ< zpP&O|F@y=g`Ql7ssD_<7GNZ2tJKK5=Co=BnQTfUYIUrw&@L5N1d1a2cPyn2$e&DPe z5F!A>@CNnaf!L8?G4_lNf|pM26qJ_eX6wy_@LFC$R5X^^uA34+)4ukOoz#4ReT>JeMS0xx57nZUcaPe?klRg*OZABGI6lmK5_&C`dzdgZ0y61`H z<-3#d=OaT1VQs^X*)KJNL%$FKbe8Z7_$*!}(qk})&$SmRC+N?HIzaQ9jyorPO`QbbtdJrzF#xf#CI~ywTdJAK`^Y{bPeOlCYt9P~`dn9N#(`&5pDvMA0a z8ZJ%h!$G%)E&GG4wP7rby%kLsHOsA4IMzZAi&F&GasdrYyTCGa!W|S&B7t`XirG_y z+|9-2&FHy`_@G;m&JF?1#c0_)qT96w_yU)W#1U?k3d}K*NRIcs%dazii&RLoyAma8VrDp9a!$@fqK| z9I(aAo%yu)^U06aTEC6UN)@Uik-qL}BFSDoFU$6tR)=NErVzqgft!qmGgL zz29uEZy-$?6%#~}l3vWFJ5X=J?YRNpZO75CU0lz)) z1m!NNK8KP0h_*6gV>C5^jGb1--;TRwqU(t};%$%kvFRKxBz2GtXPX5OY@JC|2#@`+ z4Jw-yPprd~$?s}^6@|>#X7=qW;B23D!|7c*XvE+F{Nte55OJLnK3tS$Idgc5jbk}Wnof=@y2p8`!oU{VuznB@Y?@kSlY!LRdPhyZvI48^hU zN;H?6A5a=GqrwZv4blFj)?3y7?zq`lM@>YONGe_Zkf2$xtE*`4Yu&GjUw`yU0Ky2* z!t$l`UYQT;-6i`k`@Jetn0f!Y0Iod?^+(*6&9BdE_Esbt`*nFcvB&=YGgETu(H`fu zi2)&!oBx#OEiK8r#qPYbl^m3R)F`)5`8$4EhDQ41eTP(sb1|&z6SI5<4*j}EZ$|ps z3aV?r!|jIKuUo!cq-MQ+Z6!sJYhD3wLyUp&$#A{d;{X1xlodP+A{4K?FliwL$j64G(|8 z=F@OS|HX%dzUXB~MF3(22kzP~dPQvek|ZO|9jvc5>Sx1@81%hzQPo2qCqs8K zfQeLA2D^AimLgdLx$cnbK`-2!llC+1Hpw##E4Kh(Ng^nb=HL;(b!+fS4yRBz9I?~V zE}1&mw^qY?!|-Ks#=aq<2zayxc{XSoHXDj!AJUwSZ=mQ)C)`KX-Ub}(Vl|B*8wAHu z){Y9dzMzOgVZ}goYY*#aj{^|d-?w@~-Vh}E5hB;19Q;gU8O?V1^AzbyP9$3#u7fF) z=X08I#)iW%MdGh7I}BltjLnc-AL)P?&yjZo3z*H}@Hd+6N+VGB;6rDa&Q8LSwGmgN zp?L#mCKEzWKM#qxOdxROEC71G?=Gk^GDLcMdckKG+%IS(ISxGAWQzdk!K@vc?zXix zZz$Ka9#?PWqkWW<6zU-ePs+47NAC5ZaOBcSzBE8s>e=#P z(8{Z~lg;~a^>9RN9b|1#=+*Rjuw?OD0KCG`AliJr8GcVL z6l8Z!I|%JYkybRQD{~&Uq!}(ku_wMInvpEC?I|4=+DPqH+{B2VW znP3kGR9T($nT4QNK)gSPEROWqLgMtpvI=84H_z|HIRqk@0gnl5_|hE5{Tj%lvcpe( zlDG2his2IjjgBb-y6`5MJt z#C5(P%CrEnvT7{p(LmoJBIO3I(THKUiz_k;844-C{SufiXbd^Z;p}a+f=&MM`;@zv zuCWQOXY5WA;f`Sn;*Pgm_3{$i$?oKum@0IQ3Jd53+wg&CWkZbDP9PrIj0-2eZK_)N zq=8KRyZ#b*o=;t>tD2DNA`W3T^bwV1`O+68w?MG9@U0Nzkh?H6bHQB_YTkfsDu!+1 z2p#b7|5Y5i{{r0WrbhZvE+D9SB~1r};c@;OI=Ns#U0dJOfAx#NU$K9lwuxhgAa#47 zL1(3A4SqyNH&;mRJuCc=p({>@Nn6_nVcwA-_fegdSZDd#`7bQx*Rt2%4u5g__Xv_l z7%pZh_iRjEpX~hD^o2Yegf0ZTc|zw)kWM?6WU^Dj!5>!StblfjD2VVCE*3|-5n{bY zUF!~sV@h{DjYA@|XPU9UftFd^Zh4mk7VeJ2g_&o`-q`Gv&|}}n5*(&eXr^y&^Ra{r zDJ2IXhm-SmQf|Yvjt0{3ZhqI?v93fzhMg_R>_JI7H6Mjj~qq&ca+oTyy-qtK+^Yq!<}X^!7kIL^qEGBhK%S$cih*<6d*3ZCLlhr0l21i^_)fyr!E2bQ4Hj?eLe$OPccO z_>VnP?{0Gt2Wa^5rpzILxn8>8>R!i+yK!I<*29kwDJ|W(1%j|6x73hVz1<2W6-8Fy zD&zZu`gU>TCY+hPH4y8hlWcz(ol^ab z^@}IiG~0dHGQELsXVAvv#WxllYBpp*ENAWJHY@`;l00U(Z{QMhr>p2X9!3O^NIn*43tU92|SA*6xWm~Wrg zcA_{tdHn{*!>)pJOynQQC%eQG0AB(Z>mQU;JvJq91$3!6nLAax{ABu_2IBEI7AF80 zb`rnryAv*Y7$h~T3}CRNr)y+sU+TW)o&=sJpxYSy2ZbV~;dx3gA|j4Gr&PZ3m8%ZL zBYb)McxkrYDBFfpYYVlWoSbDZ!U*(riy;O-k3^-C|2_~jsR(zvn#`$IoX1w^cqeyU2chR% z0}j$QbU#(yfu5XCKd(Q_r)VR9JJW8e=fsPh1Q(z)&bkd60$nK6=SWH8#8N$ROw?!V zZ7^_5wYUt|z$Q-NV(B>XGE5zVphN4G#cjgANa&Wd#Q_|5L1~nja&*;DKMJ|j0s~R6 z8Y?hVfIxTK`X&xWvCX7^BeYYX8(9$Sz}Ya9heDzpChz@o;FopeAMG%P_Ztj?KzGp- z1;p6)oa)oL_T;q80NG}kDD@q$?SrQWx}cnBknBkSk0L6yEjZvd)wOPwV5q|pKuy^k zh{U!8MKJTk!=bMmKFXVXfA%;UHeb)O*jvjJ`M`~2U56k|Lhr^(ci!_?QgBlT!EG&6 zR@AP4ck}z!P8o%rkar0dV+6tMxHv!f%#DNCqM{AYZh)LX;Lu32l>&yap+kq+vrbNY zQRO(Gj={s3dFhClYY5EO+(c3A2vvVxr(U`b@@k?@w;62K<*kYb8wx};1XT_aQ>CNZ zcN;MtoMj!rH7z`DIxvO<4qUqjPEVfe%Xl?F45$^0niFh4zma}f>)x>&|6*UG{HX^N zZAbqW?B3D0(lEw8eR(D7@h)JcB0*{grBx5 zrP53_GYhD%4{z-KPoPX`b!32v5(+VFNq4D=0O6?SrX;d?y0+%+Fn)%U%m;2^qBz4w zRTm;YFzUH)1BMwG`~q>24V(!u%%@l=D>3Qeg&Yy}bgg*mJ!?Yqm>)cXW zP>#@)U{KpQ4Jw#R&G1q{6KBU;E;!2J8;8?4XVB(Q>FdyX^Nm;t%ND8>0LG0JS>&Fo zgij$?GQqmC`<)u1WC}xR7}VTIy5!cZBaB4TIG}r`*x26gDA!NAX?|mCIo%Q}UKuY+ zsqmXRKX15cxzC7^X9!W{ycS#=7{qS^^{kTHUQTu5t!CXB(3<_U!q*J7A$|PwP&48euK*Vj@YQVi;BwBGfQCY&FsmoE8;Cc4~Aw_d2cbHgOBU)OJ;X{jo1VWsRM zjKYFJEXsP$SY6-UxODS(Sa@_TgoD^Ue}soHiMEV%|C6**D>kLY)~3$d~*E2 z(=i!ti#Q`J)Mzix)f zmXtX;97rL9CPc10PR`Cg{8dwJX5a^pvnE9FC)5ewgzYD9m}o7H&JQk(%?Ly0k*7Wt2wkv7k+mhw`9@ zy>-S3|B=94s)JV7Do)Brpa)Q1B5>6=7(vnTC=OF}R{a1&>~eYNtsl3(U1)&o-{4_m ze&2O3)xEwy(wo5F0(z)bn*@d#5xjzp8mj?ITi2w(8Kc~6C{}dE4c$+IoR480q=WMv z0UL>Fd_m=CTmcn`)8O*rw{hmScbdots2OX)g;8h`5a8BLIbU}Js}Zvk)HcNHag{T{!6y7&978)oM7 zUe4>B=h0I<8J5txV<3eVGZV>#)~wIt0yAOVqJFf01}k0kbX(pxuj~v&Pr6R;_+V3OWsvq@1?5?4bUs`)oIpzo_N8uEH`#J{gAbRdxL_vdrUGQhj}?ddrN=cJj?3lzZ5dekBJBn10Em_%#-O_=ZZqB<+he(I3` zwwuqYwMN8*dA#Q%=kH5LQEzNNV`?)cavk|&HAL#QhcjvAr-Q_M&`#N~mKq{4HL1-$ zbct+wkI?~)E^H_-%q8wWHD1wAvUCcq4X8ojB;&+-u2tdWMYaw?4%GxYBdNNblxu(7 z_C}yP{j64tLPPfZP~$h>nl7SWtvpse+Vjici@K39uw$KaRJ5b zGm@YO9weOqk$`CtCjLqLN@!Yf$8G&o(q;LBoO<7!@ZoBM3BO%mYMWJN)v8Bka@GoK z;_rPlXC6+oT_+rWmk@W$zRTRfUw!yDmk~AjKI6@u2laHt(k1`Q^^Iua-vsCD;kRy^ z@!>PS-nd%Yq%Z3U9r+$H{V0S^jwf!Ir5=%o5i%zO~etp>N*$zOPkNw zEai#K9d}iMLp&;z<#?7CBsO2hC|Ata^g2Bci5nPDa2wSuj{L+jnpEZ*4o-U_ia6wh zt`nU$!OHU(aS(gTe0hq+O-m?1t(IZ(I@D--M_*W_%FkFr+HhF3{x< z%aF0H7Ux6DxrzFLC$9z3DJsgO*W&6_&>Q0dIb{MIP*7Tu&j*YnnI|?vw+Tk=mT(@> zwqwMzj8QksK^7Y920~D$U$s2R@*Ctl(|nO345sWow&$Jf10Ob-4%QQJm)Yyc_dGjr zc1J{uK|jt?Yf)HLAh1XXq{TvGd5*Z?z5}&VQ@Jnf`C=xjOd`DRuEE8_(9DW7k8*)6 zUoJR~OT;UBrVaST-1BImKmp1DFJ^Qg?e$Xu<0BG<7?dnS=OAomH3YeagsOryE{7@C z@ps=cJB;QJtssTd99F`5#?|#xd7R7k%BsYrMNNA0=x*IA5xk_iavdci?b0^Ag+cM{@rp|GAGUw8^ zDAp8}mkJBH#SkTs8_8nX#_^>;U5>cX6zjev|G0yi>UO=b{bV;ZCW`<0`qOhVV?5VM z0f7o(7~l@hJWjIxaZh=$$0u*YL-lu@0m@jlFLmY-6pPh@R#pskp&u4T#oOd;>Ox3W`()atM+X=SZxV6CY41|F2l?@*Z(7RdHh(D^T(W1(7G z`AC#?SDDLvF36Hew;ySMDcboB{;%RD%A_@X@a2PI^MazYie?u)H*1{)nVGwg`?yMw zY^BG2d_s>@veXox&P0~qX^O_sIF&l_xDCkmbkBNlFPpM6&r_xzSgJKwxH-%DdyqK5Z7?w~jM z8>P{7aP`oEwuMeDDWi#m{r~xXZlh6{829PBQ=r?Ve+RH`B-7C_j;* zn1#xCZ$7F{X0AE9jKwtc_v-ftajiIC^B*ANCR!8<1xl}rD%VgQAE%JtsGw5jLWEo3 zQxUj)KlwMl{-I9gzCr{0x5c3qg1_1;w+mMmB9e5|u)=g${%P)^vG7jDd#NS3tqe~9 zjZk#Bzv7C+>^7faPZe&S_R*e`E-{vi7f*hCWJj|dU-aPhw8ek!+=6Iz-BHxNrR+i9 z1~Xyd+Tkl3FMs;+DCMewO~C!`*bJIOuBz6-Kc4`%b~4P7p2>T5WZEB2p7xPE{T2R2U7jyy`gL~|yOdI2Dtsmk&UxHFfn$FH zzSv-Q)HgUcaq>DP_xZ7Dk7YwPw)00?P*LHh4%gZW|L}mW_=^Y2H4aAf56O@+#ycj) zI`S&?ab2-kyvkrcpXD~nvii5Z@}B0ihzpbzJd^nwCV)Q9H}Yj7c5~XbqpxO{vfmpZ zD&^IjX;FtMsf8KWoz5wwZ?yTj;uE7r9~p`+sgq+G;}MTuE#_jX!*P-xoVX};wPox_ zusd^oYS|+j_r(HD%rIz&8aodS-JxHUpeEWC%Or#!4{L7o?MJzo#Khe+Ci@+$b%z`3 zqGlaLp=fl(bbDj4lfoh{3YMMfN!VCxMdi(?jJyaU&zSg%BDsR=;<(gUO9ML)lEpk- z>hpwtwVp1q+<;95;4MZmuJvrNo&Lo#IKM@ZY^Kch?_`vxVhMU?ON4NW*tQ2#$ifSl z{KSshe+jxz%nI^Fa*<+DNcI|PXD=hmMB19m7$uJ8N{yX`XjDr+cNaw_N0GwWY1l6RM%L0L)(U^U@)bk!Pk0`#;Sg5cIk%1id@z3UQ!IfoI1x@23M%IL@A0#m z_(>`+6&!Eo^eUwI&S(_WlpMUHmF0TFXfpu|0@k_m5|H71z+Ottgf) zeHghAjx~sA>$(}yLx36dsUO{%tEIK^(ySpyh%J~F$Wm#6$Q1HceD*qE6htTdKo3I_ z`RV3Mkk<;VNw_7glug^Tr;G|Q|5#2R?l`jRGo^Hxj!wkrz0M$Ig0t|K$_Cn+$W+e>bcoPlkpd66T{8EYwq3%IIz;`1_%;6O=nS*{DiV)eV-&k?v+;uKVhj3U~dT zxy9;GctYv-O|#e?U#YGe-BQSjoOg*FZ>K4F8Uy*7%1$|OpqTb27SI(tic)WGW0S4u z7ihM@7#E*rO|ehRV8e}*J1rabgkDytclAhgptLI4!{=W~>dOMn%PMNI3oM0M-&a$s zzaYNls^RTNU@r>gZ)BA*+k*1zv3x_}x*y%HWO zq^Py2wvCjD#}`xE*H9;5uTIm}tOf6N!JV?rf2`#&Och{Doba<1Y}TbtIPqy{wK^E& z%UTOrO5}BKV);>9L4Bj>tY&N&D3(3{A=wZowQY1qg zROJ$og%W-4x48!=8~es09_YS0{J|tk0R;X(qM?(xcwM(I`Sq^&y78oBbSm(>4-!Tr zYpy*X%Sxd=j=xt@^Wcm3x-Sz2V>4cLZa5O&W$Y4r|07&Y^S&8e_B^4BT+eI-HsA4Y z>TyR?7f$yq8T&A0mu8z`{mehV5XwO^h8jS@KGYtj)pq!s$>jI%-NO*gY)+|v{xch? zns8Qk*n5XfSG9`g|9qwDvj#cT(hq5Q*qL}|%6?xm`*igZF_sBQi}xa@Ex|=B_gUD@ zp3Ki0Wn*s#=T-`$l@}{KSpEIZn}^DM;uP`!i`$4F$wJr!f&JNx<&3GHsaKwndJ6bUuNA`m?{6%ym|d)1=nBWijyu2>CxF&_(G9_slqtc@Vt=XArNrNMDkn`=O(9{~HCFq|TA3N+rHITG~d zqSqE68|w}RW#`dx9>)cK&wX^St;(cxB%>E53L8%cN!R{(BG>`{@O2V_HcnZ@2RrBT z^XG!-BT(Vz)S50kyevwWy84YLO!sz^X#bcgk(!7(p2>l;H6X-AW}V5ppk0|4GzLH+ z*qMK*$2J9Agf*DQc8o08F?p(Q~su zVntq=G@T@Is1dN9C_f+4S+jTVTQX7JocF(kjr1W(B%2(BY-Ah)mMu#$z=`_^_D(9~ zOb8N96jUvi<^I)ZT0FUFeP z!j+BWlNDFn8wyp4Qe?ku!ez_}IA9#e>XVinkyIuW=Dt@USsbG5S=FeH<|)K^2v)S2 zEMR@J3)VN^Q*SPcBbv4Gpdy!o&RITfEgE<@C-gCkxjr1-DEQ2`m#a1PL29$Ys-sBC z3Qb%)-7S!x6~?fp{Fk)BrQ{SwJ7VY4EWtiLI*OpDp<3p^IkI%Bj@q%^?fi&+=t`x*E0+bqoA@!dQ09>$`k93CBcVkG z(8>1R9L>ky<$mR%p9MkwWk%#o0_NYeN_p!TdAziK3BZ0z3Nnv!v$T(EgS~0h;4?20 zb~%8Wljb6(!lOBz7}3BKr=~yYdlAdFhbSOO&8>SWaE*vTM~ca(L*kQ;BU$ogwA(0g ze4O;opYXeBUP#$))WbNwdP=0Ug+eY@?fMSrH4*G$#UE9rHM%OKCHhrfDRR@uV2=-|2%xTQ=&ejg=688h9gkr?;*~I(C7vVa6}2f?x~PIp0l9wRyn-S z!m;Z*z01=pmd3eK#JUlhyPUX~{Z~7(C=)om3v64wc9?4f>r5p?DQJy10A&J+Z)M9) zc&*uZGp@?)nFOy=dLMHH*Nl~n)-m%L z#0Ug*H?4X?i86XF+QAnuO|`d@O}B5_?s*RN6q%gR!1H&C)jrNlh{ztBi~0F#>Vh0z zBv$V7Hodfm5es~oN~QAtnHCQByj06*kK)QQ?SIYGg|9kgp(mm|?S|P8*=xU0s}w&| zht}ee9^mCcz0UA`oP*>P!Mk6)(P5#6p2{7jJbdF)Mg#w?Y-c4G!U+oI3g zoP;2&F{W+{G%)YJ-i#~AqE?Mk+1B0T%R{mF*A+cGP?deCdyj@gGLHlM*qwPW^k#t> zP=_?rvr55P_I|QWJ9r!Ux7LwElkAPd{u+pVg*79LyZs1oO9cK9V9#UsSZdlaU78h@ zHDkxtP1TGYS-i36*SCu2*Jii<{^1Ht4Q?NsG4BrU3c3NaR=bMLeZ?)dcgC+YEht(t z_J`VLMqOL6txw-aMN3!*`8~Afkv&qZAtt88H%J2*NQ25xZ=lj34|EQlB zYyaK0;rrrmjw{~Ev1?|Y{5KPKx<6_0H1!hqPBy8au!A-Z(v%QsO~ko$mO9N%M9$`oQUawTiW5 zZ%egw+54<7EBz>5eFXPx;3-a(@nRGiNKAc8i6fF8!JMoWwQK<|CYlS?+U;XNC7a z%Tdrt_QR(=6;oqfbeXTCKeapDxlIU;s1@A2ns2^Wan-7eD&L5_F3JDhn0jCfP8Up# zMz~?V;Hyv@a<2~;2HPxpe)zwZM^ozR<(}U=WAj|Ec`%i?G`fcmd=7DE#_1B|ggQOa zFq$&&u`5hAKB)}N5d7`oH(S#A*D!V-BXY}OFI*{b;6m_J+1H>}&YN8EAMjSM;i;(A zR@HwWrc@0G;Z*yv+&0dBVtPQkPH@PZobvKznrDI_i3}_>ACEFP$#G8wpI=g(Rk1~u zMJk$QVRcLAwg`Qt5Zbw0{$Gva)O)JC z>8eA=n`HV;mnLegkCQ#)QZRvbg=9igLawVpuTvCiI$M6*%TsHRc5Sfc?kG}MRN-FmV5TE_vrVX^P$N(} zMPMADcVA=OI2WRj`)pSiVwX2Hzv}jX(@m6C-vBnAK@=KeK$8tw_Fzt>AwEjRWae#6 zwWUWSQZ9aVrx&6q()6j19`}77|Fr@u+DQk*z3Lh&7!aW$68E?k+dDA8!Az0i!So8^ zj9uE48--6KhLD4@dxTk-rT{_JrdT7`RIBdL=&o^o6klM{EHAa*pW+y7_SwW@i7#_R zvk^_XcqXv9*u7sdbP64(i6|scA?3~JLP1_aA{#!9`gTWWA^PD)LZ=5W+q>k!9Mhkf z(oG_z&x4l~Q`sO8&+u_J%=fGKO9$m%ZZ}Jm+}UJq4BKtl1EtCy&m}RQ9VtX}u9YrT z)xbgKiFAlU=q#oan_O}DjqIO5lqYzl`c{10){Gu^SWgNrft_c3I>#j4iq!6?>Hp== zyN%x#59JTr4T8TeI~Z%~y~{B;01)cNP~!-JGB-$lx9BjR^RFk$4i}fz#qgxNy65{Y zJ2rcN+|Rw8haO_7uUfcxS;Qath+`kjGxZJp*%J;i1}1&_$F!ZtzW@9)DGqUPj%o&E zq5k5+1GO=e{6|YKp>8{3GU#h)9| zGqZT~-<;nuhU7DNhDR5A(er=39T@vOYq~te2ql&i-Z<~YhO7PR+a}1BJ9_u^_Btx3 z56FXHGiA&z=w3%@J&DAUXZpSS(MyUJRab@k)Uw$_uA4!b^%3S6LCtm{!)wF_bP=dE zvC;yp(|fP2$W$o6X&!MKCTKK{9?a<#?#`FdCDZ2;?drEY*>g$|{E`>IN^3LWBGZnF z#Ar|X{VM>`T={z6x-r5agi1wwL*#&^DH_)oBV^-)gE>9|^{_nMUVNn$Gf{?(^54Z6 z{V&QCSB=-lU^t!JjZdv#D`tSh4CR)eHw1zu+l0~b1pBg1f=-N+jsG`LV?UrO&@|Tu zbF}#>m@Bw^Xi8EsW!dYCDSa5%Xf&~E6mIuxp7hT=oVWr8s5>*oi|Rj^3!@!)(r;zu zkKS(%mTn|+_h?H2ookP9`Vd3u==QAxZ@occR5UBI03`V^I(j}HUiFr7S*>5zS{TCbVyZLFMuf(HWJH(kNg)F= zT$BoHr=xAo^F2a~2NrLI z_s8D3$P&aG5fgc>Q_!3ofMWSnS*(WY_(M(tK_Ob?wHi%(=OL6J6*1Qn#^F<*@DpBl1kO0fdB?-SWK=VP~OreBSbfk5=_D^cXza-wPBvmg;Dn!^|ebzNw!t z{ktuIQlO);>*Je;ClqLNN@Vq@eXyhfgj<(_!?O;wWcNt*@sU_rH zocn(J>Ps@6AbpxDDZKT~3Udq3Q~N_%YDf<3Wvon7UluQGmcL_2T3#FD6#(DYkptbn ztHj4LMJw0GgIyq1_QBVcy*c-EdQ1GahnPqt&1`g^Cr@#8-CTrL=S)u90g1Z7w}RKs z)8W*v4>6c(B+wkVx{ptGw>=R_TU1Z^iVT$j>fhcd%pZ4F17{wgf8r_~Iv$^4pYtL( zncPr>qqL)w61vXRU=Zp4F85BfI`pm{_4-Mt8)PL>(#Wn;9JVdZntSf*woZqdHan-+ zcJ^JXsj*%Vq!dE~+1stz+LH_8oSj}f?2ZdI3)SR?c|QsD-bVbIz3JY{C8eU9o>soQ zWqg_Wr9nQvfwx-W-lE<8k5br#<)WsIq@qFsl1z{_|BYRCQ3K_+M58tpZUX%-($eW< z{STo>8ch|o`|1TsFD{Y2oHi*2n=Lo?AWb%`woj)zG+7tfZL}X)o&R$Cr|e7VcoQCr z_5&;a%lRmCaUdnmM(Ah6Viq=dFkRO+plV~{(?ym}+TyU216A3*-(KRL=BKErBr>QU zZV-5V{Y;Ew7a}a!&G5;`UYrS=?81*0dGNHL>$^^{nxH01je;G3NKNXGRWHikyXkSK z>~mS4Z>vikDYIy#ygz_Wmfhywkh^9abp9Vjjh1?8>m5?BD$tm zDIRTJL%-w%k}2d(V{I>wR~> z>@eNI(tPO8=%$Hh$qP4zl+E2(=C{7_BCdn+j#q!Q3_BDR=k3?!UhVz$r!1i7d&Y1i zz5e3O{balLImD^5)8QKTXpiL=T+ht^TT7)U{8Vzc;bK{`xH00b!c0 ze?GB_o`w8*x%hWs-%2!O8(Jr8d>(UuPi!*!;s%2nk|BGA&usA1z4V;%|5 zcUPZje}2aJ-l<%9tDgASfr**Ddjr*eMx(qSHUE68ug|JQ@oS1@t8-O<$>*MAe#z?8 z%m=dR=UYHLA)yuZ=+@6&<~vP}a!`|KlFVY&$7GXwVHtkbA_(#DSa1Bl0nXf7_Y|c5 z9oGR`3QZJsCTUQ5YqO)LeNt2uYo~gug|7I(plp$-N9cq}q>P6dl-0($TF>P(I~_sQ zT(wxzIpfpKo`hM&vcxhWep?uRn@i(-)^NlJ;XUaf<$Wy*W+>kgA|17#xN|n;MChA1 z#+zph;@1(z(&90zqre9h5$k{7wKF{oy9;}FO}Ud8|k zOBs*)11UsShSVIx`ttgz#h!HGVTv=Z1g$#}-dg8QU*CgW8GTn}r+BoFPv}IW2v_q( zW}XF6LZ!vV(_?~!7Bi%j#5lx4W_&6D*w@zq5{DIWnn%JtW1vX$1)CZ>oA{!Tt2{B9 z4~_?N22kjBgD?W+0}57tGM<)QCOW>tid1@%HHDU=StnxnTq18p;$#I~an;=-Mlv@3 zkjFT1`v=O`2n+{;DCV;V7}3pQpD9d4ff!I_TeVAN+4R*saal?)W9jJgO%ioCKDjZ` z3I3Kw1UWM~uXkIu5O>q$N@H?#DH{KVLFB2XN(pXkv!9?$7@XC;8y3cFw{ zV=wCN@Fs8hv~veOAwH|7d#G6^d}6#GcEUb=SG1BG1dV;y3QgGr+GX1l8z{OIvcjnE zjAQO6bM4Rp(=~klb6D$E6pBJTdL-kxYtwyY?$TF`rG9YQy}6Eglis$ZRGnzs6AxDf zOcv}26jVxhe)?RT_B=blTmkms8QQ)I&<(oT@oOzorK z=Ra3~johnrrIUksT&W7g)#_3=?1*@pTet+nJ#Lb-bvTX0rW)}_|e5DsFuaq{l32Q3c$H(}WgH;E1=qt)xk zpWmUAp$G=-ZwAzWVyTx3<0{EW4V*3YbkvTB`epuZ>UPB1ZrGzdEU=T2HSEsPxi#DQ z&c3`$O{X1XRW;v}+HG$q545`>xZ=SL{r7adw7Wvrw&{%vZ;t8P+{~o8ls10}wK%_5 zBb}`ly5yyPZDsvJPdFlUsgTj#mjlt~UBGd3&3AgGkZv%iTk0aQwYi%;=w0}P)($A_ z!Y9KAS3b0CQMmnxRrX?;rtDE$w*Yj0syR;$yT_jL$|o?LlI7d+Wi3_d?Dp^Rd)ikT z>rjUdsF!hmDK$ohE#k`dILzsqS&%6`T6>#YD!%A((gFP*+xs1Q$GRg603rN#@zyLn z0q&MJ#_o(5^U0d;BE=}@W1xJjV78m$PZ@~ZNVmT62HUsAiXalp>5~|A=%k;i?*|=? zMXbR(-d(dx7iYoQ_ss+X)&P}e4%k`^t`39d`CcoaYyxevL(^-Y5EM0!7Kip9J0}qc zb-FSZ6t)r#i)AkS(U!4m{gb0T#?N^VUhx;QpK>vNDgDw{84R!7IDRku=&P`Ol6O&o zoJ8Asl-KD@w}2%MtG}hvdmjFJmlqTPD7NCw(mPY}%(Eny z`^J(xH*JaJUz(OxSpORr-otw%rS~dVhObj=f~8Fv_=FF$)o|h3{4IHjAKh>1o2in{ zn5=g(tcrItzXVaPqC>+3(Rs7&Z+-D>9K|MZA&!a ziDi>mH@-gkT8Qd|6YP3o4zR7p%!r&6!}7Ba22?El+)E1i@TU&Op(9s6Mk*bo_*9@+ zhMcv2?822R%;$7KpZ;+-CKEx=g?8^+5DI<%Y&TClA8%JP0gY*Z{>bB4FzC^jyN?*a z9)ad5_Fr%uXNTtW?~yB2*fn~_Qo%_N;leiR<^obpMm-FLd){q@)JzqXoh z-lapSg|UebS=buxuxLM?^!Z*!9bO)-L{~hj9#?tNkAE%m9MWw#MA??^3iWPjpal1z zT=WMWqU=I7Lg8tGuk{SNUon=6DSF&lxEe{^gKZ~g+(&CMSoVep117$^$LhFa51@2F zH4(o_C+e5+BK6!=%wT^BUtrD629D=5VdTa$_z>STH|`T-2Av2oI0(@m$2H;6WR-y& zOOK1kq2h86@-w;PrmInPjB1+#q6&G>`FOELBHt;2!&0+DQv(5hOb=RCg)|Q+qP0*o zsh0B*kiqR6%N`hUcFY1x?xU~UrbEGfhA3ERE)>j!X+7W`IHq?nqD>r9kX}fpVTy*5 zpP!f(!zVZ&O4Ei$Ji>vLAYC40F)Ldx4hu`MfKE>(-h?JfP9Vq1MIv=B5dG1DTNk{^ z>IO;6)+PqA`(;z&(2HhBh7-=GHqsheVQpkGc_9D?jCsHLGzOv`s|#d=)9vnS#?Fmb zGZW?`PW$EQUKZeCdSZXmqIsr5RAM0Qc~4VGVj6LS__ z$+{3kGrRG6`*Ej=1q#@!6LSdR)hE)XVn2DvB{pjRk{i1YM93C*Fq#(dXk`=e+t6uH zYwCHTi6R@4mwIo9(cB-CDsr`1st-k_vUJ%m>g{^e+h2EHv`sj-g;tcgnx;(Bjqy|) zI)g3-a?)H^=De60Uc2%;rGMERv)_%lPk5~;>$+iH#<$oju?624Hh@W!61YC{^Dm}(8!NRrEL(~dNtgRf zd$;&9+cq72pQ(#_o0n}!q-|(k2Kv}u>s3k1&~2)LS~>l2ZRpBnDQ_8t7>ivoFhBKd#sDLkn8auzqM2?FM^W|u>jW#omqZSamHua({F%m7L_F0nAj-(92pd|}4T-#q(Y$!umXjKCAsnEdu0iL$H}l!rru z+CJltN>KXU?0lDikjDqKQ%{@7R3O{D`lJcm&2fLq{-DZw;Fw;~A3<+KH^cns(8(ID zb6}30F$XNeqG@dKyDpVcE7cfshjsEev|czyNA{y+_(73wA?wB^@~cu!&1g`Ug_>Q} zrk02-0fUEb$)yo&_T{}dU*XvDt+R7HW7!o&MTlFrlbz}bilTvC5AyAbXUu68yZxQ)Cr$*9sM{(EHIx+gO=^kU|TeBVm!1b_x#}lb=CzOJeI(1W`mZo? zvx*T}17)eORSj(FJkt>!G(ZGjr@&slMUTW`z^V2|)JpG6Xwh7&4^`ZKF>K%{hygxx ztV(K$@|(H5LD`rYeNg^vdoT43HmPv0fF@MT?cBEqk|_j4eQKFA1`pvU>nS3|a)BK3 zBS`IIDt;`EphZSAjx*hQH2XqPJaXfJ_Ej1%oNi3VJ;kwl#rF%Bj*(3WWJ^P#;B$m& zJ|^}Uy^I9!!4)e)%Ojb5P@?X!4xtjf7h6vg?OG*EvC=2PfQcz41#7yKa8skH(+vA3 zJ``q7o2eD)JDEs=a+|);)NO@^Lq&@sd7u*suD`GoZbIkkBvO*=iD&^ZGgBKWvvy#8 z2ZQJw3V*i_T*h2z2gqDERv41QGUwc_TmsLsKIzNyRgINn2S8u(zckGQE8@pK_x{$Y z^%OLXSKh&#IrTx|ewLr&$K_8&JGOAHQ$+vXA&tjRWE^1DWpK*M^Q}nd-1@0 zoW9|1Rz4BSi9=t(oOreG$8gI!A3*87i1YWZzJ=VSZNI0R0z+mHwRNn8Vj9tjS9ruF zl5M*^jF64qfm(XoKKWQiCT;rg@#BOAb;2}JD^1Eb`n@k&<6cYMWK}G+cO8Ei{vqit zJl5sYJ<$Vcv~l;9YmuC&9~4O?n>mlI#nId^`|FtfT#Q;8n>kPJuim+ij6lmuJExTo zvz|rwt1XFPBk**{_vl(a?OrCf(AG@p6PifxV{gE1N!7XBL+%{`f(UOEWz9%_&&a=T zIudpBm4e!76dWX(*X17a$gp|?D4o7I~dyl?^X>!V&YdI>oWejYkGA4&F`=MN==1l zGdVwKp6^0B8HeomcTMfy&A9Rkxa3rx^Nf_~JkGWwbFn;cX|ZkqUTxnvxy;wQ?sO(F zF!#7QNeJV3p4>L5|6FeVNbQVCPmeMF*Ahcl!JX&b*Y`qZ_3M};?C5hSZ{3Ca|ogK+h~+?DXE11j&}(0^|&cWuS7G@Mx2 z0!KbstD-V7JNm!F(EYsBOlf(FGSrB7qWq&EZ(b(OFn@X3>I9b4h0*tVKBP*S$Mz5Y zcH)zdFnw2`Qd;Oo@hMi1X4PLrOU=zGm@6B5$FH9pkbmdd+i3VW-K%T3- zd@HVgfFI!5+_WDN;i3tD$8-<6p|QPF+&r_`xu&=4ey$9ls7n$py8c9gqAFK5 z!%lgoJKbwTpC0vU+@d4uQeoUQ^s-dB(Leu^X~Z+leSs-)qbS6bvSQZJwfU|D8^xkH za->&{O^>D`<-H^oHHv;DJk8PrE3g>Q+eWL4^=ueD+qfvkk zELJ+w-x;aYHf_pX(~)L-BeLdvN#_D1ayCLsgPJH?ZjvnxX7Xst_vYp0?D!=+xHG>{ z*-?mi`WmX1)>;*;S%ug4lii&Fki^87gz93|?hmpdRO|RkQm@PfSSK}bV#Q5+ zD}aLM0aEG&%&m?%!yZGxxyG2R)R+9@?{n^g2Dtpcw-xQsbmy~mY-O;gDlaR*kY4#q zGo=89@Me8H@#fc(7&l4YX61F0lR}B6uXn$u_RJcwz zTG`k$*TW#Z0W)E|$PXt9%!DD2I~XOsxW{LTxu58Xtc1;yPW~ZE17KlcYTtkqQ)i_A zLSLEBD)VDxUrts;_kO?;`CdDum#jUy5A|7)X^_}N160t4a&~;$en(Tn2Zm1*uFf`kbJJ2E)UbD9mu{V~Mhnb5zf77fiWp{gV0)NT ziE>R^k|(nj@9dniG?to}o6fXFFa-d~{FPXVhrFEhPU(%A?!AF)cx`Hel0tl!K@*U5 zCbXBV#sh;YTzP;p#SEftRzqplVGX19te%lWjjUkh8e zF5TaKAmMd5N^5YtnD;l=w2zTaqX$X9>>jqg4Jakk-SWEaW+%v7u3;??UnoXGeD#)X zxXbxebf~CEm9vEwxOv;#nKJt`rEe<)c31^YF(Rk*Np&-t=EXWmM@*BX-rn?tT(oOS zdwoW^OT)0r6#9! zse9>>;*~e-cXjP-RR8wXOZboyMmx9wvzC85X3D$MTQ_J6P3Xzweh(adij?hyu2bPg zB>W7rQN(See*^4yL}}YSPum|dDdc9L#X42Ew-Lz7lDdU!QDUX2w*nXQ^u}RYm1t#w zGO3iFG`fd8)^tIpF?9~AH;*+|whNS&C}RZT{RDQF*Dpj_^SQ4qA(r?D)|+X?j5Ngw zFOpv`_+V3OD12FSu!ii-(rN3P+uUXv_&_9gCZOBFs>IIVR$h?$%N1)1P#?q3FE6ya z8Ke|kGup{3TDm4BD5XJ^b*+KEG2>d$n*8_S+*?Oy+WqXmIoiB^(4c7Cy@uR)`SBBS zbzkH`ZGO}Dvt?V-UZ^T=LCQIY^un>;{7MzSK5#ysC^&V!Pp4Fn``u_|wP~wBe2=#2P8p0xMla@!4d4HKy7Xgqscs^>UQ?g6ok)oPFO*W7Tdox+OHU%rfNJzXg(N7d zS%LAG->R=fP?@C`${S*IX>cP)_v|~v4C1t)zy94}Tlx8LM+Qj;g-h=6R&uh#WXNep zDv+#5ce;W6Y7&n&wMD@dIW@6`uSA_l30;GFu>DEA`22*&*%ea3NS_<$XwKRwpV%+^ zCb#AuYm1-LjiSmGjz)6I1)*n_05#oB!K8nfx$nTY3Gz!aJ!b3!W ztDN%7hkn`Egi9>*ajo~DCm#*G`K18WUl>dOM3{Q33uMM3rwT*z)23Vqn4+_mr29_t zl4fznGQU>bBc=4YGbZwTI%i2U4HxZa z4v6Dvdw9~>_EA<6_cH)pqMhU2qk4+_miDbi6l##{-P9#WK{yX~yHMQcm+xWv-%b=fN5hAG^n4b76=L?q1kiw5~4s z&%MjF^bbQnfX6#gp*fHN7!6dy&?zA(m0A(2j-CMQE16Ft6EkB#+qwZ?op#LB^)c=K^2fZ%$f9T|ZyY2ft;;^-04SfL=x^maQ-l*%Rkk| zknB#gJ@a%18;s)G^R^YfD4 z0Mgu*O7Cd@vOF45-xtkBuN6AoqkHFw@n0bAKZDlQsWQKx6mnbML3fvT=KQ0D+1E?=j81Ir-Cg&5J!ozXluRW{Qr=6s=z`-;IAdp_S?!+# zP7wBIjufBMm@qkl=|b4Ds;%~V6F3m9gGu;mrr3$@do>NvF2hFmzay?)if8L+_dW^~ zZ$aB&4Vzf=XA|?JwOZwY;=f+)MCBq_4-95`h&r+|QJVj}LUWZjbB2$nHP-_R`UIa` zz6&mgv`5wM3xS#YlqufR=a3VQU@k7PGu#v%Vt0qSWCWTC&%U@hjCJoA@rgbal%q1S z^S9G!&yJEAbLx%mYWhgjuLUgm1}Ow#S!~&hj;wj{Y_0Br#>l&x$|?PD9Q$xSylE=@)C8e;>b*_Iiu8rA!zSiTrCJ`!Zo8unR^uXikFSxTe+v!pd zDla(t?a4XA>7X0Ap;ivgy3dMc2!nRT8d{4qeef@9jIjy~YG@rMB=L?OMxD8&Gj)iu zsYjZ0-xJHe<5d^Av`=U>*Hjx7%e4uT^Wd@H_c4XX!KZE-gyqw&DD$XoJbZ=Fx;-6u zoE@6*vbXMT<&W#z+i#ve-SSExB_Z6!|fS3GpcQ>&d|wL zAbGCgi)Rfnl!?|#Oz*BA@lrm24;6JF-NSA*yAOgzFC$KkN3*9yvrjyD7`6Sb;5yMd zuKVu44252Eu6p{-kBq9LDx_nz0O%l{_Z0TwXH20gT4T#rQ*Ee&Ukm3{I?qreB7;Ts zM88QlW0x0C8lScRN*ww$%ol)nraebu`cePC&4CM9cv+r3E)$7p|AY=}nt`bsQH!Fq zRiA4aK*xTqr+s#6qbb;Kg6qhAqhcdD6UfD$va=>XA6&3-5|*bEg(vGV-|1i+cg25D zxBZ6a3H(r)?a9KMq^3ejSg}rm6aEws<32GA^|=|(*9#1{o`>o_4QKE~IS-~GVMnd0 z3dXg;JoFi^Yao`awR?R>&Yi9dwnR+|-}M9=-Zef(m;>Jr18`hPRN2biwjao(n|jGs zK-`}@Q)23&iXh9AL4q|F*@!_2-oJEs_8wSuXEx+gJv3173BAc$>`g#SZeZnuq7E(o zGxy2rpO%AC7Kb7I*A!?v@}C8oKvP*ssK;2~%A{i(Xz?v)bL<>9_F zbeyF>peItj>X?BFY4G55L`T^b>&Vyb%C%!ywxEe+*hSZxAKhG_W@Yrdxsj+_e3H9z zB!RlxR+uG>mwhf+t-8fAKke7@}H) z(QL2yX53_VJmH6b3=52qwdTG)+q&~O%hu_7i$YMP%VweK!)Nb()0qjm|0G22-IS*O z9udvdY7g92h}Ll=GoV~*9H&!o-rqZH=Uj2Td) zPP>J_IGowxfXGBkKf8u}=s?uo`+YgSC&tWk^gOs{b!Wc9?3eoJqv8m)_kg^g+f*R~ zD60*N??AcmCraWOw@J0_IET#~oJwTcd!j zX*q;GFgE~q!{K6G@lPPd`<12o+$(G^;Gz8RU4F+b_yu8b>tHZP&d1X>p1;ica+VMA z%4?mO<%9beTHUe-*65>tZNvG)lm+{Kyio{3r9DEnAW-tP8arVydLL{C3y+-;w316# z*I>~}q3PCB)+@t>h<&p9J|jJaoax%pLJ40yod`ZJvptwfPBMhWE+~NF73oxgKEa%B2)SAQHsrhHv$?aoAa`!z@>N2&zl=I3)XEkcdS zC$4^Eh`JnoRel#$_Mc##cwF|u5#Xh`uV4f>M(%CuMIWJ;6Ap%{RiZ=b@C-C%Pygxz zss_Hp@?i&XTvtpZ?oQ0ujd8m+|fxTQCd@DIhfm=;Iq&1g(;F zNkK*--y`QM7jjq*LnYVTK%G^hed~j+6{f`L_hgwnQV6u8mgth`@c=%iCm6->aXXyifM$gR) zTvBOAPuci)g)voe5FX!^ax+R1x0_v+) zt*PVeBd^C^@n}X4lFlaYkLRMl*yQdaH1ZM^ZuhDKfol5PJ)I1ZKXw}O27RI~1RL4_ zwJz82IZkT6ZU-niJ%vh@xcIGt;l;4apCYxNT%E=f|F*9bv~JXV;0v#U@`K7knz{4`lIGjVGP}@V{8U- zNcDzd#rb*5WlnKrbBYs9zK1by?iF}Yw=j9qziwu+>!Y4XZ=I-WfC>J@<4JuAU2*Tm z&5p9VVA$;kFt@S?r#QOsx)!Iu`TQWhT+?}Hx~eiBP_H07urTcSa_icgPNS?hcT=lE zAm`SEX+qm32xa5H3oafe5_u?KbSXnW;~;gOUB~a4`Wl9k$XLZ{?JsLA4p^|s`g$bV zze%0vtqXE3vIA++Z>J_W({^v>w<@S-lkVndSkSxDT_V;{tw>{G^XGB&Lk+Z^t!O7Q3v zL&dS4Hp1!SaGBuuigK0e{5#64r7cmI-%rL2vnuy< zSRuGEqz(7aJ$sE{M7M*F3x>LoZDQV#0vAUafR7LTG>$FUQ|j@jJ;F}t)uVm#xD948 z{Z+YzLjjbpF|G-a^llnL_v&0=;oK4lgo65t4a(fh{m)WOBkr#ygT9m9!XZk$h8bPq zQbeHe9?Q>h*xObo_O(L#8UK-lm(~*ZU0qXOE3}GZrOah(MTU#Yb3X@CTsQhXdjXPl zf#%hwQrTk7Vs-y2VH(pfs#T$c^(D$I|9C0qkzjQZ;qQ<7<<~sF!rff8Sjsp=LBw_9 zv^_Re?;O=go~0@KI>t#pBU0MQcHl)zZb%cG4n14^dq9P|;aZH6(`|)>qi5tQI(75! z7oISarMG{piGO!3X3^u~z(AVgYlSOQ^tt=9jq`Gs_QxioXL&Go|7Dh%(R8xr2Rc2_ z**;f~v_td#!Ras+4x_E%sc{~Ko9!h1*b*gQ#o2|0XsNikO44}_rgdDhxt8EAa8Re( zBmORj15C9PoN~KdV4cHLh>p4l&spzIYewB47R_l8X21cCuxPy{Pa*k&MR zD>n3Gpu;Ct_oAoYo^|9^)dGg4@_*$TRM-`>GQ=8p1;-U&Da|2AqBu`YntK816Evsa zvjW7*vbh=p7glD|d`9XzG8LsshU7v43YTcJ`x(8(u~XY*D=)LHDBBnD&wmXfi>}C~`zs^z;NX}?VXaD!BUlNl( zFIZlZYUw1SmdUAG6J*)?3Ys^_*RsT64$#5RW)6@efE+ zl@t|9*!4<%rV=UoyoIsnfLX5`tKQ*m<~L_-E}$8DtJ2g@@Mx_6L(`YQL$&^K-@2w` zy0=twDAc8$Gg%^A8yYRhQkpT0ZL*BYmaQyBO^cHWZHyMCNLh~=OV+3{S`^Ql{1i8*u5^ZcIgx+R@ulqw@G-qLvX@5d1KR&SMHWeQ&cwg3y_Ts!pg zI>+(2ppdx8w03&VMGiJeQf{YSmZfj5s7$4h?dVe4s*UR3M>-#M>E?%60>h;9<6tS- z#>9e{t7Ziup+pzz`9PN$?cZP${}v)P{z$U94~x|-W83EbnWt?VGVG4Zih011Di}X8 zo<&TnW(K3Qf4CLzxcLMiiz}VSy<}`Jk9{C`DOfW{HawLnZJ5#h5WrGiSx)`(xcTcN zCu6be(Ye&kM}|z(oYn&Dt@`U*%_=);&2IWn(y>*79EH?i75gjtl*4^)I$1!$_1IrK zl=J>o=9`0(|0>i5)Cy{9GZn}PiS#USO8+=B?%{1@$iJqe>fU`WyJ*Kk1psI~??Ax- zS;R{Uf~IvP;prg>bE#ux@8TYXv-Z{-8f*r6>~L3HmjgNIJ~W6Qa&10Q*6R z`uoFtc}s0<36zBuA3V;|eDy{E0bvP`0FOvzRwg1x9MUKims!fkRyAgaNY|Dqjd08#>dN5dJ6P1d>cDqMC`p?v!(x_mi! z0`9UZzw7{Zmpf+I1j@RMoYkLx2%v4%DJZyaPg~-TiqW@oBE#)}s6GfB{^4=~AQ1)% zh#841ApHX%25&oVZ@#^9^Y^1ZM|Qaetv@}bu0IGJ3!n60oU;EF2I@d?T87DHC^)ju z-O0eD?HD0tpDWFY;%xbQ_naYQB@Wa;8#_U}c1$jBodRi>K|HE@_kR@bOTr>t?fxpm zC4)4@aIN#KZVv`@@HB%Ynn^9Pz(i#bn_bLwNkrn#2MK|}7yT@uF#t!^?6KY12klbW z=sEQDHjS>W5=7Q}IJ6O>d(w_ny1w@SP#i#UpC;^i zhe4z{2Yw|+BQ?f8~ubx@wNLl%W%Q^K#cFtLE~?0;}MV9MHH)IA)d_QcieKM-kms~KEj zx&$?%d4Xt{4)zdel#?qygQ^KDsza;iTS?GGr5prX%D*Kg4s@xNkaCe6o_UAmXEjzN zfF1Hm>rG+A9&uE*+D;{61MJNm(8CSj%0KdE@PXZ9?m?}i_$3Rc)(#r2ZPWRJ%jaO)ktW9hgQSHiT3bYMmAx^~L5pTmDybvBEdJugFyamqQnkP8F-vWEIkgT|D^paFFI__GN@(hX@03P}xC8)9C{{=1P4)hHm z}tYr&`w|PfYj{RQ}(;m9UtGRM3gGtzIDJ z)pV&n@==bFX`{(^+KG6H+f-rkgH_6Xz_KQloo%;D7WSlW+C?}gF_tdLP*b)jW`UZ2 z_QsoZa2#!zT-0Ec`+V%%zgPNWy7#RIyEGwgGjRIuD~oUtXa40T+m^n(?D>SkGw5|{ zj5y-KMV`!A(LD#gv&#qr0%KuafvxSUHz!ULy&B2-OoH)v{s(f zh^OZ(fz|_}S{@~4Uz2%a;mMWw59zwsWSYlxYE>*F)Xkfbw4thng7XZ*PFx_}9RW~v zZsGGW9fzE4%N^Nsj$0o5TxhstHob|&W~tcLafYI=<*F4q+Wr^uEFu8fo{qfCKCl|% zCBY9llUI*A7MNpGnasHL5NIq(Sc%I3$$QmpIfhH8s$N5{8^sM;E>K<2-h;H{mW#vD$*!qbODlf5>Z^BxSOsG95PKnq5;H)X zJbGt^n0NHgC}f0(XS&nRGZwtxK^_mya-+5|PNPMRCfcxyHTp^J)?`S$0(YDtAX?5~ zjvM@?jiKh)*0pjbZ=26UFb92-&-es+75y27#pT({gD4Nb(46Jeq9MQ61c;KB$?fKWQoFx1N?*;@E7o32*%4u zuIC}=T>d%az1i^p$C@TZB_h8$gq<_RQRNnxqOZ`k8b1%P#w5rhFWBEs0a2CA@c$1` z>T#70=&^@DzXKJ(;BSNO^NbF*JKg}1VFo1iW3m8|H^Dv7P?)pk<(vO{?qsAo8^M%* zeBHPHT;BP`d4!QFeD8#7mKM1HUB{C%0Z_-=z5dJ^5x8EdMc!2U6G6^=SE{Hys-N0tZLYkbF8m&Y{;^4pJ z?BW3=+I~2~`=Y}E5CCGzg39C|EsoGbTigR7#JRCh#E?rh7BoVo4HZN{{c0#kz}`$c zfU7`TlEG8qjssc@YOjp|KTwUtCVVK6J;v9wJZ<#$-FM>WuRvdyE^~$AXG}TGN7HFz z=9Xc2RF+F(ec~^sJ)3q6-D4^3 ze{EM^!oRx;DxND=d~m%1lYKeUD2lM5P_6gm(K87DiSLds+THFb3cc1Cj&1RZnAk<6 zV#lw^Rc!sX=iG3*9*51(?&1<07F{(!&W+xWq_CklqE{0A{2JG*ArSZTt%jmy5`lD* z)18vm;{YNI_>N|BiK z=eREN;1Gupm}PfVs76Tn&o#CiMM;BCKF z>~y&MAEP26PMT)>}LA zE(Kyep1ev43*ZVTCklG-9V<`)v+@oS#jHmm(ILZgVJ+`f*g&7GC10aLTGxmhuY+}0 zcip+%J^zBv&rM_JtEDN4qnb!NvI4D-cWT>%S;`OHQlBl~V9K7`2zo_KImSg)m8}UE zK@a(MO4ge$KVhtoJd3|k&geEoF6cLBFOP{f(on6#mse~!Q}t6TcID`$4Xa55I>hNO zdzsJn97z)du|Gq`{SS4!ufc$iCfeT9M-sKRleMY{%bU|{iaT|O%(qrffH!5i_%wPk^8!Z8-@r`QN*h%_MxMh ziUK>Gk9H!PB}hCl6qGxkX;+@;VEbS$MWsO4qD3yw`>?H#ma8r4Td{4%pRckYLfki( zLgl%qh!2r!^H}w7{yg0$Bf>o+>e_$q{eh4(H@E#$Icb62Uc4*oE#A*MQ`frVjUsVt zjI-=%bVIF*H@%T(xAQNF+v9eK$-X3nU(Tu*l{~b2X^xS+rxz;{zj{lbMsF|H#=hjS zx@VEU>HL1D39B~y$((B}q@3CP^DvjagDha;GK!e(F}^&Fq(R;=R8^1G34G5ra|wOQ z?+bHT7DU|`ri(VQQt+H$I{#4li~Y{EUduj_A`Cc`4e*iUM9s@PYPb~i88hzgoOg|j z{yFV40U5{X7sYzW)dBd)k|Jte|M;jxIh&PIk_5KCzN_~vYXnw76g|t~o;2a%_xSVj z7Y2wckL9uhNf5Cir@bzF{D``0Y1p908d248`00hr7cpgPlbI6*p7dDB%HdS@jYcN_ z9(DPL3xTgiwNlt@(t!tWaZjrtVbKt6r%BU<;~2=tqnL4%-i_@q-gPS8M*Kv)f?#rt zdpGnGggJeW%FPQ8hm{7|>^2x8wF^Wl!tKo_?;Zu94z((7eU@JxDyu95&}^TdW9N2R9sEq&;DrPQ zrtCocYI!nVl()EsoJpf$KkR5evUzF^Hpl`IZ2A#tr%_Lz6!l9|kZzPS+`v=uR(IvF z31mf)iYFan6e4c)(tdsdWMFr`oXKkrD-OIF`#F@}pp*dTGOGB-2`p!?vSeY-n3^kxDL(17qJaZ?n zPC6N+QO4h7E+jkreIbISZMYO_cs9LgA!Re;h}+0DWnENC0#!3MpCeSB-8ikq(!nD5 zspE=7-R)boiQg@%|KwFQ=pn0Dso$NvCeuedYTP+HO0bqJ3kgVo=EaYs$crV)OPr>U z=br@SR~le_Pm`TOj#-SoI@Ukc_jFexXak5;y|Mp1k^Dr2DCQ#f0u45bj5WxEYI%%q zj|-mkqbBznqZ61Z+xut-1`?3C;nyG4l&ii+cyKAR2cg=Tnmkn8 z4%tIwfn%qDCY8oMT#`*geNX|*h%3y5ChgGF$--4=r9h*V_)#$KScAvvVD$SQkW;2e zymk55Q^f;k^I6D%B5_Jeq%!HbrxHwRs?bq0cHum;(vin>aVmK?nMU!dRrx)dO5 zmlpJN`A1PFws_MO7nE0(cE_0WozvJ-)S3#PB|t4gcvFp_zSzHZ@-`xUs} z+$P4~KL+G2&;C{yq>mrbM_P+ml}eb^r^4-9v)m_c9(qwrD69#D2e(wYEOus)#WgMpUUzNPS zN}{7a)51uBXifI>`{{P+sf1v3w=Nc~WPIHa35IcGM@J`m-rdNHvNro-ZzW!1rhv_- z{C;)2%EM>XO;8Jr4=AuL3s&uJJ^SZIEeNb{klBWUYz>YO$vT$I!u5e`FX{PL4+-w! z0123z>I;3?f^kL6{;ai8MXa-**Z}#FPiEDvLGAE3~nwue9FEY~PYD z8mj8BTnXC&c{OS5Jhe}45$_TZWfAY=h!?e9+pU>Yd|lfxjWB6iw3(-b#kp7F;})0) zxDd^vge+h5@K>)!)RP&PSX}VC;?LBt*G_XVl5iXF+0)m1X_KHKn=#rchPF2m=$v7z zhqb+TK_9Ip6#`=xZxBlWiOvjFkP}X|24{4ZIsNKumyt$p-GqIxV!HzNREK<%nKF7I z>XS&ng+;r!P`J~q#7294^^Oi<~7R&7kn6M2ivf8_{c7#sQ7 zMfjU-WCxK-u|QfM(XHYN(<{>9ZVgC!WLLV?tr716`Gl7lerw7s2|LK4{ODQKG*az) z;Uqnl>E~iH&|`Xvnz>ly8a`2ViLQv{KYj49mn*chunUh?p~sR^HH2^ zXKon8ZYGGTrqg&IP;Mqmv#}hFB?03gYWI3H!|(6z`|aRYjn~cs?4KYN@DrI`&;wd-R3Txt@y!M zP1=~By}VS$A5{%vxI_eNQ8ino8_~IE?)Ahpie>o0an)nWzpIayg!tkAHu*`)MvDAs`t zIZhU6h;r> zSBD%isfdZ-)E9srjXxR(qE}Ex&|&))wf(*^m+_UR*g7q)KecBq{9^rKqgdtU#0U17 z)+~3wlO@mA^1_KvO45Yed?HhHSC_N=TxV{qJe$}Z@R^nX@4?Cv96tDJm*wuZ`9_IZ zr)_>!IJPnSM$Qn z2L;*i#8*MF?5=*AZ%NdYz8=yXUg>I-yGIVhdZacy0l54hE2&>C&jSjafP4q-#EF$~ z^XyjdqJ{iAWK);{Yt=PsBve8c=XXRy!9qdSMHR04)go7m?rN{{^aCTbwgZ5vS7e)G zlQ-dZ*4dT+9A<#}WKgf=s^zNR)4Er%YEr_KIC6 zw(BEu8$>-({8X!D!!Q<(ci3ED!9=hgP73>KdG(O9Jkw0l6sxcqk@t2WbbbO4BAa2% z&z>Li=}d{CJiP-w2ZuS7;3#IL4wlR`V()$ z&wb*b>0l$t_*eQjS2#uxMcqcKvzHf_uXSxARSTr8B)j1?4!a(e@=xr5PpTUDgeOBNdHWZ=6$Z3$K1kig+9&Otf_o^#pe8f;ap+6?Vxd z59r5!dY*X&I}Y@7LhcraB701ZQY3E!*&40a)xmat3N@E=Jn?jYkg)!|J8*kt)xJ*K zLr4~p|8^=a5=ZS=xu1&#SsUf7J}cJlUnPE<{-3C-2H`L&=QYB7U~r`mayY{OxQNAcm2}&Jt!FrtdQaqRO!v9ZpH@U%_eA=(Plq1{p8CtAZJg<8 z%ZpQyicm?bdwZGA?SJe45Y353{F*hjytiOvqaSu2dw+XbVk+Bxa{@Jvc!GEjUz7$^tv@W5l66hL}Q+jCMO;G|%?* z#(lYJ3mI8zJPv`Bk9(f2%W}+Bc+G1?Rqx+$x6WXt=prfmGeArWj@G)u{z&@KSZ4jE zpwG0oXM@;{civ8u&pQ7X?P$sG$3QrETx1;1H}^&7Zc9Zt85rgcEAQf`_b;3J(k8ev zy`X3XZ&)U0X2@HS7{2jhF$K+qaND+z!dTimZ5q6C?{mk0*XtpXziR@DR($iU8@k}A zTOxC|-@fRc)1s?0%4K%}y{!sQNJ30pM8=)};Az6#QIjFtU~S_4>q1VNusf!Uws&2} z?5xHta(P#0)fvssDoqXJCic9*9ZvGI-z|tI7~_XQkga>pU~bd&gWS(1aL9RE+!GSQ z@G}nR(DxBmI4U{yBVdX*{sbJ;0*2bp=tjt!)yS3pAvJ1OU*`DWTnu?~6L1%{vgFiis%|3_hNJ>N2J+;QyYP-YL+2-h5WLW(GV zYjA+{Du_Ks+xIZ5* zI)$Cfn)+k53XS3lBkItAPm9wC`p70`6dNq{#Xy7JRa5q)*Kpa6M;l=kUjSf@uXBShcY=O2iDikgbMDMigK={M=WH7>vjn32OfV6snIHuK_<1 zcA#lc0+)Ew_3R$PfkITZ=_9F4(DiW>IF9u{1MF6b=YHgwV^;T1-T!6*>)tnSA3#Z7 zZ`$(;-vUYddG2r|-5w9!Z{!AjBr#e&`}?416+N z07yYGe{T4$tQ4_G9^}-^R6B&R=b0(rOa3Hvm;ML>za*+rH$da0k%Vk! z@8t+ZSz&F#fe-yQ;65tUzsY(+gelHM&vRW@=?; z$@W_v)m~JS)uqw?&~IoTreXOfFl7#AgQ8;JdE@T0HI)Pyr?SDjIS4R(`E&3NsRNLm z-SDKOc9A=MU!K}Sn^^Lr;djRjht%ACB0pA&Jwfg6{I00o6S2F^a17Fg89_6YyDt6Y z&AeB?gnCFskp2@3qCXlSmse<;`pJI0Lp+!K_>0kXEwVfOy~%=slXwt20RsKLy1LUZ z<~^?Ul1$5Pe;Ph^P@t_ijqql7&2Kj^YUIZg-%|ij1cvOs+6J-f#}^Ur1@biT;6?)y zquKK(qa?o5gk0g5~03-;K$=_o}^JxE>@B}Lpbma$Y1NqE5QGzFM@ zMoAR)C5fd3AceFKx{xDOc#HemL?nHmvn~u0Zf?V$mzG^El`$WSW8#`@rfdzY4d5kO zQ&I&L+<3B6byKg8e64HX@9L*NTLz6sIKsw2{r2F0zWWT*uEBHd*#gv>in=E<@mP@v zwuOJwgn(ZkU8F?RjB%F*d5M@;(2R&tc)aS-clP;JmYst1ktZ>f?Zc`KrD@MfAxT+X%%f$eifm&OHA80^dC)>e}@mdiI z%lUO_AS5)W=ehdCvm`J!^DN6nig?Q~aM5iN^MBNcUWKC}GL*%PJj3}~V{mJ|JF8nCS%2bCHLh1eKdeQ5I|yXq zU58gX@RmXb6=UhavyX3+_RtT*DTDeb2yJVWGl8oUE|PmTMzi0`KhRC9+bCO)=gOJT zVV>{Tfm9j@4~|oQ$cw4NK0;nCM9;SxHSp=QN(NWOt|n7@&((j`_tv_0te-^2<|a zy0j@8x0obx{G-ax50uD2dBmXh*0k2y=jwLVu%cSU#Um6 zo&b%i@{xVV2wr-q-|K}I*xHO^>98(;-&bV(yNsQPv|lZ=^*AB8z>Ir(B8TS_H&TYV zhkp9ce%)k)uDf-loC)&2s=;_>BR?E-zc>6(svy<*nbfvRC_7NtaB*07#;A1o>pd1S z;ov=b^-(J={ltH&Chv90J@0Ff*M+h1_hIIG@Yz0dM>+fMg%fL)=<9oxlO{7+ao<*p z7dnM82&pp180htqC*i>2#yaLPyN}CANZ?~xS2iai^ABh_uAN76Ot@vj z-&VzGl-F|p=-bxce|{#rBZ9lnNy3p#T&)g2?>&0qr3Lo3tks#?c3TmfIGfV!MJPND($cE-3iEH zIQSA)Hpeh3OPaRcWEt5A^MAar#pUyx_ddrHJU&Ecz=QKDo#8ijsOTZnPrn`y2~=^W znrn!9Y=K<;{q)%)Ex&_btsy9!JQ&lTVEdA_Q)vnMX0Z zgPQS>`jP(~WxE4x;Ke*2g>$aD0f#VF@fU!bW49QxgK+#0j{_kClio)A`R7Bj-SCAN zA#AMz#zgz?`Oaao9#}_Ytiyfw=C%+y!nFbD=mmGbJ+Aawj*#j}-C%%}xK;MRvkmLJ zl*qLtPfbzO^BopY1veu@giw#yVbNiEO#FiZ^5CRqMLL+0YrU)|J{}vKnQ~iRv?A}I z(-I>wfF4P1qNs?9vdYuw3JWY|2c-m7oii}_nesK7_qLTceL$b%H4mLr{9|5!O}6tD z^_;EcP&x*BY0k}D;VOr}6aCdMWHts->hP{KAy9-xhZ1{fH2`LCg&Ujk8fJw+``jxK z0&;&zagif%>HPeDH^eXWln_E(MDAcN?WH0{yw8yJLmR6hI@7y3NO%U=>NHHbDLeUa zknn(68!kO*nx8Gt+IHUE8knXJ1Bav&kXH&&#(MaIyV3mBD-tB(6_?^Z*z;}P>F13g zbj|?|>fk0aC94)^oEuGCQ0uyA2eLgkBSDjD45x$#0%xO&pF>7ezSXY_=iUAO1HI&5 zfLDKUieXNa2crGnHM(QR%0nyWvS3hx$tnOXKXcg-89U~}v}Q9XQ)&{H9iYh;hN!17 zk2&$BVuK#?U@=ImzWy23M}nBjNyvlW%pcpq$Qs4&pdEc%45|;eN<2hC5i1P%WBX;= z{w(eC;qB;Zf{4|)MJnQkW_T`vR}JDI6Df~q#&itS@T(p+}bOxnOhvbc*z z>s;85tq1J@nuth53!?*3eYR$uK;CPgIBFglOo~52)jqh3s<>&$cr}Ug znYL6%wbS_7s?udC?%k7jlkJxJJ#<~(DC57CX8D=6w^?p)0xMsAZKl`zKx7aJQrLlv(fhW>t8XqI?Pkm zsROk%5l@#ndbOxb7yfW`ZcWCn)#2blxY3ke6LPNhtdo1oowD(mdbD`^t@{oj3?F!9 zTfDtZP-AO2Bw%P(e5)*#86w8`bO)Vso@I=Y2X8X!amgI~J}02b7Fq(=nPY@XZ*yYm zvGIKC=);Jga^Qm*Qa{jyglC?`Y*k3~YMB zdo{i7y`bOwY@K)wNb+VjF{y7|bs^e1%dYOWYeABM43c%a5j}eYs<0~54;?Bg4Ed|s zgf_;gx{Z`!9`m<%YiD5Psmns|6e*cwc64j!V4G9ww_Asl8|MSZn!i%!?(7-aD9?|q`K)|$>&Y>Xb{+B}N6SN__KNhW7b&*admVmxK6hN^!f2s6XHOL0 zaHcQK&Iht$U8MWO7T6yl;4^#l($2MlP;6D2@RESb{-#<5Q6xp1qd4s2^qq@pdvHzi z-48<9a{ResK?b(YO>7MLtLr)J9J_R~@U#~2_r_Y}2%GR$%l(}{2lOB?TSE-U?g`{% zAkJt)Ij0KkWrjH{m$GQ3TtUmLIlr6a4Pxjf>Uvr;!LU>mMI|AbW*p%We%b7DC9KTS zvIXKNA4DY3`3JP2LwmV7_A41O@g{B$(?ZgO;_DG#xQI4?HvIebk#o909_bO6{_;MU z_zrhwWNp(rmMc$nq-35DMNK7feCq!SqU@4G2LWZBR`os<#D?T1m$S1Ljox%~(7nP_ zztVU0h7KmsV#K|CS~5ay1OV5KiT$2{89J? zdrDGS6jgRmfNL-!krF#OM80I~91Pb2yan>6#kCDl9sgD+boP{Y(N2263mnO4$BX9O zyZIXctF$bj)v4TaUNFW9M88GoMhQ135rcO?c}@}kV=M_iV|=bUs-1RGk(eW{u5w&v z=Opj6E?;eOFbXW0lDNM>h%DS)uwzdF0{$9;&LiKB!Qq9sXuvkWg!shI&Y_qHlN3JdR-x=y)P#3CuW{1+xJJo{V?H8aYD3asUoM zg7)LM$W=xg+X~{a2}SHQIf|*Nx|u}5qNJ*l(s{5qR$?mb zx>W%qw41e4u`u#JMyqFTd5=)95ZeD)-AP@mtAJ_4fKY;Kv_sBpD+A!*y6wN_-ZlIK z`T|AFO1IhMbuPYTo+C_OK(;A;V}FQRkOmsQo7+M;gzaP-L!?}Se2bMtJz=2}4x#ma z=)1x@@A4%-Oq819t0Az#hoZgu!<2xa2) zEg3XmKB0`9+D!M%8>V&)Lkv$uusyp?eF#Y-q?HOA~a3q zZCPF7TJ+>1hYTOn0rl8pH&a!S${lC=tSQ^kS*i|0!|vvHE_*)XwLMN8 zMVPFt{+42Tf_^^GdTq_^#?NM$Npud-ij{(zEn?ofFe3j!t|`S-L-qKO@z`dl6_bb< z<~~NKu$gg@oiVHhC$2e)1YHK~1*&s4@}zGk&W|bVEv-?ltAch*X54mrnNj-$pEYV_ z`h46uh~kvpaEITHZa&MuwY%&=f35A@^TOOA87)<3T+ZPBV$2?@dn#WY2^KKhz?7nt@#S zZc@A8frc5eW;AUvBWC+-@!#d_KZ>2a68%s1UT3mc9ViPC6l$bVd|FRhwq96U_P(DL zS|>Jjiuaj#o&cMLduVI=`?>ZB@*Gk-O};E-EHC&yf;a%av$KhD&nj*^!) zNVu8D{2e2YAGtmQCm+o9xqO0?Yn*Ow&th%zO}cCo+8FIhImH#8KTcmNt$@{qzAPT1 zy(}(Ft%LeJ)e9$1Xpn2N^#o0U=%s~RLYW|qQp**7c4@|a=j-MY7~R2LYHK4Q$W?>f zb*!d)!$$~^IOqZ%=C~$7I)yKti0uFA4ZW#ZvlGuek^Q@%A-kW}uT1$z&LpVGnSOU~ zj!NB=77C#()(3y{jRgGC{E~3p-d;y5wdqSbSS$-~J`HoZOEYQm;=h>8M?uJ7@VM&z z4d)S`%?Zd0pWWU2O|*9STxC6qj%COmUT-_gQp7$RlR{y2g{Fw zqMw5=ZL^N)J^3KB=V7_Rx-2f@97w{@? z`o-_UTt?g{92nk5cC!P3qfyO6I23IstAqByz`+KvU2+OB`qI+y=fJs*7r#W@?x$J( zabI>CO($}Nj`vIKqUf+hhC>VHk6{k`ZWk?V0f%D6Z*hmHGC;2_n$T+!6j@~~5g~Nq zzK{{@*y$xj9HAw&fgXn3ggaw0op{Tt(-Jh7g(%!~2JY*x+N$>nOaL7Ah(2?L#m*hH zUne<2ukK?9cuW{-BB~XM1?l5WB-I#}%W(9UY^G6rJ!*PG8~fTrvvPDC?Av$)A`E3D z5-TP!nnd$H+UzrFDI$owRt2Ij0s1}0&jtoK4(Y_52lSEH7~@YAilh*#%6*NI@1^KKu=ysziD1F45|22ZeH)a9uuY;_`*p0&sm+o@Y)( zN^t6)zaTy9XhrBUZDNfN#Du`U@pMdr!4xn37AnHehdq|z65iy%rvGdij4{bzOPz3w zXBxp>0q2+Ud4*eTg7hmK!V)+F0TTjt?posmkk+uKvgedL$W2@%DNx?9Uhf9vLkF;q zEubp&x4_z=okLtDMr{lL_5q?c$F8jfz;IIt9N;YysXT=#1~ zgA$MoA9!N7K_3zS57f3@`|xHHJRFf%(>^@`!>Sa(@X)qS;95uJ)Up!jtO zgYP|!QUWA1GpNvxG`ftaa7+`iV4~>P*i? zmn2@e36wT57`1wQ;4@9}HLm{ZE(~M>Q_3dFA*VGtyiQy#*CYI4mD$gXPsfkGT%|(< zJywk=MLmpFCi6Y!#$3|XiQ_j&PLy4D>~6V#gLE08+eVx*fgAqa}SP8 znTFNz-GN~7g>AQ%U1J%Qm7J*_R&6`!^5p&q-}l^0P>;|(o&=l0b@p~A&9N`&2+uXKZr-Zk$~zQZ$!#^e zxtu-!`y427UEK^1ol3WN&EN)+>p!Of{a+3tv1o*JhfJI{)|)Dv6D3?2fw5%@6r3+! zHJgBLNTA#cQgROaw8_g(N4TLGN2PzP_e4~WNGPM7`)iH;QQBI9xJO=>47u3<7n^2# z&~w`sC}2vCqpLttEO`Tfa(R7k&%L%A@JW%K4-TXeI#!}=ttl#n9 z2H-<(GCvt&`LAEyCsc& z2haG5bIp*SdNwj{ZugZg+frCz1dQ$q{=qZ~UDU(wD$yAG6ZXS>_byLOT~SZ#uh-eL z?l~6q_-wTw+EChlACi{>(Q+Aw6`E!MQpYo`HST>4Z=#gAmVBnQIPHEcl>c4}u6kj)y+Vy(d^mb)ff#1| z>0D-t_@n(kMPMN^Uv<*5wja!rHbjmzAK@Z789$S}5RfNm57LUbl%J3e16R60ko!NN z`kRg(666D<)jhdqP^`>@uoVE7vG2}wy^`qDaX^H9J8cfZ$B+&!TdOku?qV~koCVU0 zHE^p*C@}HSBK~9A4QAXSet$vYCtP~h5UsAGDjfFKGB!V>D~&=j$DRYJxDNnlVDiUa zbJ(98OCRn)vYFi*r2#RVNDTsA1egvI+<~on4JVg+^kt0DL%CKmY{lonZ1OdZ1^f$u zY6%DjoGCe({tsR!g#ySSp_9+MYZ0#3mJUz=AjAqJ5EoDH z`jXt?mCUR(Y+LT9BSErbkn{t-X#X3BIy`qTdnUf(?d#4PEX~;MhS%aJR2v&qdTCNN z=MFXzpdw+&7EqYj{M9#AwZK#~p6WwS*B+9&{G`TLWZZ~4%UYk>d7RgInWIB@S@U~ql5bQz-w2cIDb zxqtO;us^!takAb2ZkqcwaP#FcWnVvD5=AHluW`pbb`G>^m-k$t2w!F`>exQ>9CTro zg#fRbuk$$%TOj9A312avUbe{CQ7EN{tbD(PcJ0%N|LQ0r*ZZGnje|6Yh^hPHe94p% zxN%=A>CTOj=p|~j(rCsGvM1ROsJ0IEMF?qwtu$BoCUZWBFnMrTE@aQ21}RTurAs9k z0^soVPA4{&6-UqYjW3lMhA(j5S(E1gLOYvDxyfm`2d&O6P$D)9ik|)4bHs6pCP%0n zN-PHx_lPPS0M(_D(3Ogq&-9vnSgaO8eqAsEpn}?aJl2A^k+uqE87KeR9sr~YJ_6SJ zbwG)@0xclHc`{6auU5p2yR4>sW{7sO*1i^GY%>5akLe>2-f{BS%4o~NRpzi`Od2K` z@moNsb)1@B9x3r3RnArG8zAK@BQLP7T}%3xBTQ(g%`(1nKWP*5)J{5W^hBB)5|MlW z-E!Vu&rXO}zkt5Ko(;dPxt@)}h-?fNl-uN*3^HvY?o*ct zP=u-J;DM$r0L?X%?x0adKIZ~$Z0M(NayvzUor342_!CXQEbZm&tifl0J^+p6NwkP*eJO@8c}{h^sHb_f zxQBo4X_#v>35KU2ihj18yabW9j7TM5g#!19V?UBI(cs=c=S0I`l$uuf71_*nf2n5m5_a#CSfYzZd~E&EIawi9u&gj#fFGD-7X;&wv~;cn)^Tm z0iqI+>OSs~SRd~;U@{RKFS5Xp6v+jK&Y_kUQkoT#$(ACv+hZa+CbB=JE0N9Ba449y zT3QS>vK)YJ#ZwcvSI*`1+9aQh1NOraC=JhoQT8(htwztBXkU@**`ilL^Pz`9S*wsz zQ3(BeeGOKJbG97dd)}0!sQQPQxfJ7ST!&iMIx%`_joAge5nAs}GZ=@4X}yi@%YPZJ zCKa@Ho=!FS*pqVChY`Ees6+-zVS6Bc({9ouO5*hVdpvZFxGHdK9^9R7Uuefu6iRq0 zkFukCUx&{r6!2@80iAGKUh-oEHeTa*MyIaSxvnyVb2;rYgR+W8>9H3tZu7!mcSSj;i{EWIL!dSJS zKmACV$qa`b#PkEwIMC(M=ouCQ%x4# zF0!lGPy!CWjdIr<(nm54(4T zIuUytxm*Ox!=d4PJ!IIsW<8A|rGrJ%&56M*Sxs`276duN!FlIGaZj8F{lGmkc`fsD zr0{cP;Pp#Qdlrg}+vhaC5fyF4;zJoVym=eN(}o3=j!RgpMcRHZ{sUf1!B)`UKa7_NQ5IeE(hTkqppSvCED z<1;@{qtKMC_bsjU`qOPE5PVxAlIg?e3hPe=Np2%?78U<{8Zj*Gv=~LqiCZ7sZCjs! z*ig-g*>*d1T8YD(XLj$x=U-i(_hcCb5vKQ!${i=x7wb(mLBsqlhTkCw_TDpvoJOmD zZ4I38rW=`~*D zNtL@1M4h-hEYlP&>e<-z{_$XE#&2G;%XZoAWXFKe=h+F)9HE&rwX_DluCBT80K_4D zr6mOWRsQ+m6}mf>87F~L7v@~v^4itM2t0vI<-l7`WB;5brDSirG(4?Hq%(#u5vskR zH(B+0HE+2FdGs9qa9qfVqEi#f*E`dP|EhEq{ZcRJ+$`$Bl+1H|wJ{GEEb6O!wmapv zsLp%^=|;OWQs4u--QQ!2pt~@HR1c&^Ce=}x1$7x6j`BW_)s%lE4Y|TT)JkMl1Jdgn zn8);cxINPf8Uwl$I^a(;lXwOZ1RW z+2e*;YS4pGBJ*6;xD2W7*%<)mZP-!6PW--m_Q+RrpYC=o(h=x68QBawjBD>1J;W=p z{?RnzvF3y(KuWG~$gfF?0oQgKhy;K2CH?t+#}O2$Fy$}dviZgR$JBcuG=tbjv+`4d z+v+FmsJ8F%^z%&X1+}~$17z{jP9?a+&gb?Ap^bw*0C;z3D!@bY(@`IB;9GHocOnlD z$$)KDqOFcs!XT95K&}Spenx+T9CvgRV2YqmR|3&@l^?qMhpq6mM4R#!L?7)?y>rvu zPduy&1g&EoI^BXPGfRweTTbbM()${?M9AQjmME295u2IOaS7j4ytK^|(R)O-K_pOh9;r`1;rE!xCPD6+ItQwm9?8DmMNFcOh1 z!bxc{nNUiUkgaGKMr4heCL+s7$Wl_tt`tY;e}DU3*Z;bn>p9nRp3bp;Ki~J~e&6@& zrvLQ2@s%kwTE@Av&8es+dWH{t-6nSk(R0{dedpsxm>SE&HtzF5jYs@?Sz|}`v1>A> zWR=m_?$M%MZSSS0Y7>Y!YBXwII*D~byn`n9?pR3nYRseJ0Fz|%55tZgA2$=`zYAGx zNSu?!iuS$1J44EaSor_T3Dcxp+kh%1$L(=>=BAPS#u+{1I(xHTt{8t)s}sA<4e8v;#r9{b4*P6~=rc;pkE?xJ?MNJXG<^sg zxM^~$w22|zx50r%+(-7T+^vm*6iG{(%1tZNt9S6@8cCw>uE%QNwC_vQ9_F1vT6!~) zD>RtK0+t5Ru$D|a^&9Z`b8tl*@>YDz36l}Tz7<{QtDjbQDyy)ADMZ)lPwOmx>^q{{ zk6R}6-XZEyK9JSycM{#`|^NSx7k=I`N7qd?hqHg4F6&oaSz{wH5tp8-kse+ z^dJaoAwmAv<;jIx=YPX`ic$2%lJ)^RLvwlF9b)?%kmE_|dE$%7p58qDRM}&disKJt z$yt6Y$`4G&izJbR$(X;>WsGv9al7DYCBlK6kzDU@F`7xwC4YmE4*0l_$e2KeWmW;=r!D zpUbb4Il;J=#}jp&aiyxIUvgW|6HRH59X=-}Ct_T5ZX=Mm#!sx+a$=4h<03Sc;^Rp{ z-4+=}nb`X%-fY|aO_#9VmT!YJdBqv)#kZw4o3sfcAu24dD(XB%_1A+&w9&fNa$*^W z1SB9?UnG@OIJ=Z|Q}zr_LBPZGfBErqG-=B@bol!*HJ&8Y#qEY=f@eS%>*r zf<%BFfA=>se4_te_7I;vH*aR((`IEkQ;@CQsNTAs(yw8uZW97d=)kgMMHLGhk~C>J zCP{M)>Y0tXfnW=hw~~WvHWT}wWLylvX<;36>eq%2rp9ON^y{qYN|fZpb2z1qyxCB` zbBn$e|EV*7%cILew#H9Y0}hsnx>-pa!E^^Apf)h5{DQJVWvS(il9`q> zKk`J=_B|fy+lrHRWr_aR-)~)Z@qlu@f6%pWXOy^1Ceq726 zvSuhrO5ee~qqI?iqxPnq>9Hu$_OkzTFe6lvQ^Nmnb{YiGmx2KZVdY3Q?pQ3gO>Z^Z z(b{14fUVaZte~6?>j-&J|TMCgaJY+zEqWoMc6g_sMa*%hO3Cd+SX}w9 zkK_^P3~)`S!XuKs;07}DDWSc=30q1vDRvBvyxnxA%O4HJ0_}Dk!nXDwcJ5UjqA4ZA zn!d%=@R%{z(zW3@0_}SZvhP9~-=J(m|7f>9^1?vna=ZPT2_0tujHe|9P53RJ3_2_L zCNG7ts%Ai;bS;=mDkK%E6EEY52k}#O(}M#T0U*;f3p4Kg^pJ_D7c6g6{M0(@TUEHn zu|s!=+6sLP*{cgCD<%Q+#G_xBczNz&flR8oO)Wx>iKJUP254irk#4;v-n=Z`NNe9s zH|aep!=n@aRc3jM%PR!0GJBY@M!5gx@`6t9y@-^1Ll=IL0y!nXL6FP7T#f(+-*pO- z_OlLz>^!QxSSo8Jxkxbekf(Gt32dPITV{3cduSf%baR6vOS>^K>vA;ibOY-z**sc1 z+_*GTMa=>T3ao&Qq2Z0fYT6`JBf$y=>!OL$t#kKg9e~|=g$%^Fxd!v7ijW(c1ka4J zg^*B3haygiVHK-RP=e$Um_BAlG2KC|IHKrDr-oQf>JHxP zJHMl`?KRZyfsMaNhzFaoqiEIf_PlmWrK6DLz~bCiBUrfCoqCW$yvY|1{5hAs@(;pj zQ0=CO+m~dh$d{CUSsJnKXtkh0ngh#)%+Wr8pwnRl(BJ36#_K=wzRRJjo# zy#LfC?Ta-3k1e&A7i2u3tZ&|%mhM@{&|UIKA>|0ZVUk3TphzoooB}7-cQKDY<(R(i zo|+A*aA76fR`>yglDe-jU9*t1;$Dc^)N8h*-xaS`ME>D9dt!b@D`9pW+NAaoV z+I(~%CYIcEJ8k7iI*>WW+&ut~8&?T%#$DEWG}M-HlV_vH#SSyBAXq~|p4+jsXr3ZV zjt9>9N|$FXp<4d#MwB0~O>-C8ddd!Js8;5+GiggGzoEU?J+&+Ok$a;njx*QrN9W?{ z)>BJV8~ba9G`ZfaHhi!;+{7O?&g^o$Ea-n&OPzgynE!6wLm--149n;MlNK5CXA0c^%KY488jm^T+ivS-WkfEN4zm>=$yY>N;gS}? zIEY5&!_|C6Cq}cxkbCuYdh3HkX-_u8@>Z`*r!aM(S0+0r6cx2cHB^EbZ-b@sLsh3u z;og40lm2;oO^;^iZA(e%Pui4p#fQZXeOJ%T=ECi({b#0U(6_H!#O-4nbqUph3DDgR z|7mri?#7btS61=z{6LRd>i$3HzSo!kxwe^ru^CK*=t6Mdd(61O{j0=*p0Wu?Z0w(E z!J_~H`d-i#_Fx2}z8=!nGoQ`|b5Jl+`t3ah2cWey(BInwFo|v|;SVTK-sZq`ZpJ)3 zQ1FKYa#*Yu+h#33XrsjwtwlO(3GnA5End`3SjNvFyo9V3jzqlG`SCBheatBuTvrsZ zSgF5J;6{UMvy2i=oI&v}LLEP&6u1T0G9}E55PfT>lbiS^98E<2ZC-{I> zqwMPoJTM1xdm@P{SP|TOCjb-uemf%{jgi{Kp>U2V&e*(@5M06EXlTWF2w($&&4$n> z?zfHxY*aOntLv&ZCAvZm-f!L*Z+eQlJ4(iZ0eTxu-&;Wq$=1iW%@>F?FGh(x_llkC ziOK-KVP}yCbrd?GN2wPbI_H_dTLrnsGi26eK!ckp zK{)Xs3tmB$^($V5Km!Ap2o?A0-l^ zlGj?Drb8sAuuXUUbtm5qOr*aOXv?C2%ofxaAaI##q!66#ohGfo<%k8b74kK8xV08=Za(zthBsr$V9FZ{H0&AnQ* zsxp2$y6aA{uJGuG_U6tD|5O;3FJ}&cWgXXcPLE8}F$m0W#`fz5^>!^03tmOsVTZXY zaCaU_hGU~+q3nvv_BlOk|0xM>uim&s)^wQ6MpMsFU!`hBN)$@B|@dpM?yHq$4KYCVE>uyQ;^v5?k|M=bB*mtB+7&_|I7Ty@M2}7O0S@jYX zaLeaQJC|E*(KvYx>aed|)i2d(X^Cz9FwFE$#W_dBdQ@wVKM?Q@?QY{eSHyDeyzITbOdWW!eym z!QlYpW;TSk`%80txyfsPZP9r;yzW;dXYM}u#f|6mM6NXsFdQB?*>>(Vs$5_$^f4Wr zvWa*UFqE2{-0I`j)tkH>!RG?$-7xgK7`Rit(;>aj$j=+_ZNZI|S!}*N&bsB|`+I4W z3IFF*R4p(3A9I%%uSk9)?h}Ye?~# ze@38Eu-_V6l}E)>AUVT~8ZRl%ffi|hTQu~sZSGf@2$u#$EWZ5FaWh5(x4^06(vLW^Q}as5w&m1 zXsa7Vlqk!W> zVw){X-BPI-u+{3FA-5ole`Pa~ZAy5aM~dwM?Bh|LOe$rpNaG9hv_vt$+=XgXT%Zwf zHO88;3Mv?u&>FOg+Q6kznDT30`s#wtf!1+YqLF)WjKsruysh17WA{o@OWkD4O8BS( zn8Gm)t|Xk}+H{8cW?^;ddS(5V1Wby>x!)(={W-Xsd}#zs%4}DKE@+w+n<%=Ue~-ID zy|UfJ=yBvA@}%z5c|pnMhgXj0PmaKgzU4RKvn*Bt1vPk*R((^VIQ884{?FZQ7i>Oy z;C9hsIUC~gPV;l*a$H>;Pjw{DKtx6&^5jWIED4Wfu@c_ldJKxGnbA97n|@i~=G`Dr zYH2!Jlqk;)U+-fY*Bd+-$`;(#A(F25)?(H^UD?;%RCsY7RkO$g%_gB@Y6wuY-|-OiTexx>0SVKNp@9i;$P2;dIJ+ivaT2# zQ@4B;>*lj(p$c5RYHFvihVnn3!!@CRPmiJ>>GWa8#jqG1H*JpPv1~ek{NDi zzf!*9Ctc!;*U;LjZny4bv{+6q%N?c1vumcc4Fj8uw%|Hm&_u1JEDR>~S+Yo&JO>bJ z=Q?PPHHI<|aP?6Gz~ z157)O23hC~W)~l95%Ft$*pt3bQko)**(#_l)s7Qa7`!i#6IO#n&j;r5G&uR`jHITB zN%>N`g?*vyFhrP>&W5O$BM~n}Zda=fU0?{F+f^zG&9w^~vwP^Cv#s+~bgzd3cUsrJ zD_Gm*F^6^_F)nJ&@qXf>zL8dO-H&VU+q9)J5Vi+=25!cbQss;XF2`PQClZCJD9P-f zCl-1e#7aM2--%m5_si7(HO8BConGB>**|^w2k*AtJWyvx8F}|cWO`D}y~o4eGj4DO z4bBtQ)5drV{mw!E=>hMU(&dD$mWqsz|FRct@3Ay*y~D2Q`#id5XZNyMPd5L5pR>=C z_}Jutvps*XSNu5Z$?R|23iM7vM zf6rMr+u7ZYR)Rg7X#4wW@Wgx=o;|!R&I3*(6O->?0F8ez>p`gDOZ0dVXK+^?)lrSs zdL&6ybWR-aFMWCR^!>Hk1i=YnvAcedpO>p6G?NB!Z>qcW@rH9WR1r;q>EOua~=GKlV(Z24jx> zr!sl&>50;$56prO(L~!4@Ki_2|KL&ZlaBcP{HYxOV$ZsBStciNps$6fvQC@W(s%+w zrDqGAD16RG84|?1u1R*TIFLi|Y*y$H6+-Wg;pO~iGbw~J@EIIUDA1&|+2@q`kg>q% zG0AdV(lS$rm{eJ6w~zdyfDI*YH>OGS746JsOGd6hcl(nk1F%@Tkm%h8SeQ?SL*`H( zdK{Xn((@96DHG{YM}o03N|c2THoK2&r{il2g^CO@+J?~q{?YQy#7(qFMH89qN%*Wu zLE4J`OyB@B^UpB5m)#W#){2E?=jL{SS?^K0n{u? zWd%HjJxEW&t$g?Q^8JD20aB(#;;P@m)BcxS0{^R*`mRmn-*Y4$Zy}8%dov<`y#pq! z`t=O0Y^!4)!QWOIfANaAyrfYz-p)0*2Gop$uXsTT=2wm?=f^{!eqN4yL%RNI>%oj9 z`kNYRvr8I@apr5+CDh5(kp8i(4l@lONBo_eH#8{s{!+2y?n2P~pG46@199iI*K9t1 zjk7G1P|Gi8X54?ZL0npfBxPs^^Gc3B@+Yg+l$%w5FAhA)f=}eQ#Fgs(Ytzk}oUr-w zl!6twAs7!Xp57>1#15OWPD3hqlkS65lb2oqylD-Uj>bq>c&)u1WA6ds_={KV{d zCJ61j6w9t@IY1-^^G7q4tQ-2XJ&uL9%&Niq^{U*X=(ZYRY=v1~*J~?}h}mDvz`EMz zZTw#LheBI?sje2SuD=fYHF0=*Wcr!7@(YxLU2V489AFl_N1E5A;NrhPQNH(6S1u1$ zUtL1U;vzoLCX2fFttDA1sabjzi*B^&L^!Y_d%kCxs?lB?jtbg;lBMC=rav6BCegfM ziDKpKffxh(2XCoL`B8}E=ij6$W20O4la?3l?&7z@kv{u)&drwsoX-b;(E!Z=x#rm} ziT?fvpsbv~z03XAVsd8_Ia|bskGhk2Wv`>O-F8I88A)^|x!k{*B>ML)bxXc}ITTmY z9p$~ii|T~H)HOS>bJNbcJN%rz^CZy44k33lUGyk3*C{kA`kTReBHr11{ZiAi*-!HQ z4s4)Zl49szs()QBIxzBR`s-OUzKsyITf_D|Ut%SJ;5hRK=pW_Jqo04fLzD~|ai7v? zV_Uvh&DI&kwyIud(sg*ruTMX;VmT=)gthGq-T1YXoo^8((+kU)=iTq08NeH>sg6T7`o%r}OmCq@; zAYF!MKb`MtycCBdh` zD(IL&oL_L8_*wvy08lIU6pu45wly9o`X5h3sp_@j{~1pAl*JI5gXeYcXC{-hB>#q; z@*OoEv#(KKEx@ct@YGY@pRH{P4P}==zJJp8$C6b4+t=%ovh&@q&eSJOV?*Zhlx(5R zYs9LZimA@({lL%|5UC7$+G101L)zpmFic5BEYoFZw=G^!>5l=V(}g&VK`Iz`5_q z!(R|hdt@AlkA)Dev16V1q_yiwn9Z>pG+MO~H3MTlSIRrS>JYb=S9U3`K5?FWM?qp* zs!fC;MoWtL2jD~X-h2Is+(+&TybBeubzPPY3;Jtmv{-Jq_ZoFGmNWmGgD&40XWjOG ze+ku~oPRnKTx~w^eaDD}BhbCE_w6^dW2Ly9>kd4%q34!V{lXYh$iaOAOVM)=t#4@3 zZrasMiK5@=f!P;d)dy8MTsG}r&nOcrZ4gTxeX#!=_DETtK^LrFXmY0vD!%TK`H{%7 zv8iH7;i2u&79INAKpYe8p&h?3eyYm8H5( zs#LVsfzye?9OFC0)>BWsFteU-^KAkgIc8IS z;&Mr88xvtc4N7#m&>@R-Iu_7^LTy+>|2;iCQ5di;k~rTZ;V>5LeK>`?;}`8r1h>Q9 zi0fVzNsNq&aOjLk%0(-mTN#Yc9U-pn<%w3FWUbn|(qg2ljj3%BJi^APxDJx9vUmEr zWzmU2{tdlLq$(9{Su+ij=suNFZ66Js2aWMtYGa5~6MqLjh+1+>Z)<(#~&T0ET>Rl*V`*O*}{U@(l%sTkz{bu45KIKXP?3?_byH^Qv!)j9u8nfBQ zeh2!#>&6-_ub)|A(uYBW8{AD;69zGlwMG?-vwy{Ry|yyPl^>d&bAaOJi2Q z1R7_o$fBN#0OMvNzi*EQSGD&go~Yw2Y@;UC1?xA%1Rc#{oqPJJsBosD4q^*)SqyOT zYxpBQvrww}1-;^hDSwgF%bCryb&2S=ciSbjAd^@8hJ&!h5!rWbRAkzO4bP5qbJ?!b zdV)6}6WbObB@E=H0(aKlKvCY9w{Hnx&DpFK9(~LM%PbB-LWt*p#lcVaL62lNpY3|; zgugp}wfO6+^8M)k?k7MBx#)kw+~1wv8c8s2e@&;_qi|P2tnWf?=LI>iuq*@HE7Zz$ zhCJ6Wh9q;avXt;8EtRLV(#7#19yLOI2a=bF<0~y^-qBs=N{vc-lijfg294n!na&XF zcbU@0N(ZtQ)_{h88hgF=vpR(RP<){Of3GCeZBxbVpI(lw_2p(FD8~gT&MsVm@^#;I z3DwSqgH+UZPd5o@9YcBTCLnx1_n`LFw*Rk3`5%KM!1&z%?2krx&KttdBUfrsggiTvH!5)E?LH4Y` zC=FQ5Fr3nXsx;+#!H8Ifs?3Bhc>C#+c3NjM=pG^ks1*(+flF~U-)FERON~VHDP0E7 zW^08oSCDml6QPCmCwR}0$2GX~w24HP0zPJVta-tm9wsD;1al`@>?EVDB<<}s10*LlXL>L4gmZiiG8~Rai4L$iY9}=*wd*?5j~||*z_sM4B`a{9W)!LFw8@tf zvpGmMQ9Nc%L0MgWic(NQFfwUi4m~iPJDx=HL+6ox10MaV)r>eY58ll4SjE=z=BcOyfR7pvHCTb(t|*G8w%B_Iq=dsMCQSP z<3R~7c@Nqe$hkIxp;tU)z$wDzjM(tNck6h(5%*0{lQ5Fe7wPg_@4d<+)m@VK(UNmH zU{a%otQ5c1a1fr3>rzNkJ)m#`zfkVbF)7irsDM;--Ep)pJjrs0Li3Jl2S;{qlQ0EK zg`5OTqaYHHR_G@x8Isoc)ZOH>(ki^11KdRyu^!Uk5a~QjzoaLM(u#FT z`#_TTvevkEL0Rwfyfcz^SD#8nI~IxiN~B{bZRZf;T#oCDjWAf^WpYu2%l2;@ln728 z$RGt9jHH`?2KI-1>#-KsprX zJ2K*azdcJ5kh+7<-dJbMRY^LTk0K$)v((&qpf`{Us=hbHY&uv9-#ME`7- zYjtKp+|q0n|8*3wKHCFF%Y%DP!yLigMa_B$^Q+L4O@A3@(d_auTNdFI!+~z}o_v0|%R=&TbNqwC0nR&Pbn?BUSAZ2sK<`_e+ zrAs8wU2k~gqA_=o6b;UGW>$(1k1h>y6gF<;8N)M?WcLar(=&&QlD+~r3dF_~vD6Vc zM=Q8ZBH5-_Hxoz4R1s`3&9VuU{+YsdWyE8hd`wrD^gQVh_kj*2y~=uMkFh;k=I%yy zUMG$}uF2i{fjRKTh`Y55Qn2%B2+>y3{PiyfoDq!3`@xu69^ZpNgNoQTx`iYR(&KSf zNmr_3sKNzh2|Ot$Ps7g)Ip{FBCibiaB?2X08ZE{mS(B@oV19FVMJXGwSf^d&41R3FKzU52a9aMss0q%Wv@FvnS^E9}e9yp9awrp2K40YY3OG>9|bCC_~@7CzmVHc1k=NY>hA-J_}x!_RG4oz_Bb z@R#;ut=Ued7hf;0NYTEQM4yk+S3dh#5k6H9YLsPu>AQ7~@2HVv9_c~|{fzo?HG8>* zADB0>ot?4%(#E_v;r{11a)_`CK`1xA>I~IqF*ZX6 z=GCout@sE9oz6a=8g#Q7xIZX$Yq&-}CIf#|oLPNwRIhVt>JEuw9mfiM?NFN0c84c&6cq)J zNAV8&*gmd8o7kffvG!`XueUl3OoI>yPX3&E<FxV`=o#$r8oE|LW;-EV(UU7EWzb9GW6g9C7d%jLrY7XVOg- z5Ow($%iMiiA_+%RJ=NwCVa7dA*}_w44>)?WeN{bKrqnNft{KC$d%YGL-sc>D;&oLy zX}Bxd-!xPD)H=J$c>SJT=1fUo@wVi53FdXSK!p5V7St5idQksKti?ztnvJZPL3i*T zeXWDizcjbkC78>@RLEq^TvJA9Ji?NSbku%FR7R^C)8@kVBy#OOwgo!1G2iavE8;S8 zU@9{8$E-g7T+l6ZG)ud^SDCl(CIo#14CCBAkYS1 zsKKNUT6EQo`M%6_E@S_{?&s{`MZ+k~ijiqSnqy*Sl*ppCLW+Oh$mTkV zuF6uUf6l!LOF=$~(vTP18l@|RgE{djNi^jQwV+_zWspL(h^B(RuTr<(&8sb32+^T) zY{z{qSL27W<@|-%43r%P5&7%WvzqH*bPgwV69ukHI2pZXyubzHZJ7`tq|>urluap7 z^edWD4jdfyP?PM(b2S~q`*j29<*%1xmM%M^nx~_f2yfqlUYUxcFAkz|#Rv>u{+u86 zkN#k?sT>!K5$PB48;OPnA3Om%#1=Ms$fttg@IjjxwS6^i<0jT$oui_^w_7G!Q-$xCY!4OpS>{lnl@pX zQT_B5d?(JAV5Y$1xgp*hAqoCv1@2-^N({ij1*s~_Z$H1K_=TB!R+gkTI0f2~v;+ys zB%9TnIDW0aPy^rV7RX|;(y=j^APN@B!+F_9OCYBSn2cI%@=omO2 z^zn1x+PSVdy?U2Bc`}Eb8o$5YOGVtCJ|53rk?czC2%+a7IlcZ;1+zr4i#dj?!*;hy zDJ@j~%{3_GS0{-kIkO6;VQ@<&X{r588~hsukShkT&UBamQLT zekPgDg~Zw*$mk9>kru~?e_)RMM>r5MFgZ+oKXr;7^SX+Wybx6i^|HA3 z-P0qL5Ex@?s9!!XcWok|eY&q^I*9cbz;gc4k@)BVB5yoqTn^E_BWrp>5A$CV%xqr+ z8YB3s)2(LWO5ejQz*NP`!ewV3{Ocf1Gt0y4vH6($bYXZW(>p5YO?|uIh#HOcnC+_3 zD2Uvhj@w^ziW*Pa&LB&>`4tLzJgGcfG?L71W`0e=Jh%`2@I%FmoNJ45d%9}B@;K}? zMiilnTPVz}*3$XP;cU6x1{n*3h9dWr&ElMd;Mp(BYC(nj2U z;&ai{;!=y(+i2~w6x&YHMUZJao(Ssy#ELPL3*TN5-lul$@3Y7q-nF=HJnSE5R)f=N zx0mkVtM^o7^jz#|&y-%T+pgX^6K7^48Sf;c>S<_CX2n`ioimK*Z+hU^o>U* z0N$?_E7qCxyoFGnsWKqPwgL(H>!I}25c;gBpqyv0(RyFN{9ztjdNv&1=N9SR<1Z>l zuMUo0jrN%T>04p&>Gm%09R&@wiiK=fsHFy{7|jqqA=(;3Jg)!F--|WTny+L0yfS0% zS!isIR&zJeoVtE5S9YblCKBn2Bh~`^k=xQ}M>{7jZLzQ%OALLPI$(rE4o~!2U97mu z;>x$8+sh|g)1!uQwQrC&o|yk2YY7amXlR z;Ec^4jfIy>qKntPwJA z6hB?R{mGi`Pj+8Yd2u_z{8bU%_=5WjV?jW=k z`nQ|$de)(Lo5qHhZBIdtC=L?90Udj>zNOVgG6REKNmm(3WlFCeV2MsD_Rvl z=d(2_5jkx~lIV}oSdUPXApP9Qqh~ES#EDe%0r&eIOl?E1Iuo^pJv0OIcev|33)a87 z)3q465tgjQeD{NR)MQDHA z_N#Oe`;>Ca?KgtIu^YrA*evav^a0s#zIjV**I!31{1toFOs)OPoHumKyaRF;SAE2^ z{~@6saqBN>G#;*}A5Jz%HSZYughSF+NqGNX?ut!~TFpX-x`*o!D~h{KteKryO|3m= z=edvv7Y-;BC|bbr9cOlNIB^3lQa?!6R=+P7>WOPa~6lAy<$BLwM7jhn}`}1^-;%K^eziW+aIKQm7Vm z{<9g$llaXohRNpDTj&1Fvw+}VxFj0E~%viV%S>~M1#kg4gvlr z&Gef#t{OGz{NR!PxJdB0qKS3yWck29WDVRe5PDmkD4%u?`1uT@X0sPY+ywi+OBao> zzXb+bJC^<^C&q}oC;PqZ43hWq9bz%oO)E;UcSUNu$ZGDsQ>-mKY?*4~iAvyT@lWil z#0rDA+n75PMQ=*hB94(jSiE4ie=_@k_K_QF9|Xd@@d|OXWqpTG8&$}96k8+*0x(*P z=}PyT3>CjwpNbN_Hwo}GESjmm8(+@wGkz{M0}0!Zoj!gzW1?A}dv(w!cPa!_b`{8w z8d|&3tkf}MY3+KTm`MKIJz(SaJ3sn4>MJvaE;=Vv={s))IxEBGe(t6KTla|U^yV`V>3CLp<7TI+)-xcm=X+8sH0MZE zC)`jnQqIpEd41I|J?i!H`EuCdzc$T>8$Qzc*Zi8kM%gx%e5v1DeUqp0+RK=xAUoq* z)x~EI>LZOMb&HrU6h3<^y7FE5;{M+=HqiD*<0=8b`i~#|Ca_gkP}=TK{MXTI_J>hT z{S{~<$QkI})(fGc-J(n|XVlpwtKkrkM6CU2Ov=$$Bv+cytqqG(s*7R1smp=T_v2KM z>N8=iET$!!K>SD$r&Y_>{}~7}aRx6)orZrX+5Dmc_|f|ZzuhXm7Xne36qAcMf=Qc* zCEm_;z7${`m%3369)IA`^^m^97jZ~yE5v4WA~(3Cy=k-DlcNtykr7vrjhHc*JQr!A zS@;CW*Id}N5=Brw4n445W_71H?_7Da%+tJPDow^z9OxY6fNN^CAlI=+#w6>&Z9PX< zsy@ilVgWOJnk4Yo{7iDiux@Xb(k@KIL7VJYmM;nsZeG7o98b$;*Ce4VllBO3QFYqx zs8ef80{v^qii1dG`MuZ-jn8|cWFU#Y*|ELSm>Z=@sp6l;9X?l}#uG(o{`pziUk)Hk zl6gfed(cHKc_atUxQ&2wT>HvAte2G%Xk$u;QO}L4`zWBJJ2+q#hnOanA3TiKu-}gY zlJniDt&_#=z#=J0Q1${-SzZSW*E|@`cu@$2_{(`x{Z%%Du7qXcuFAk38NT^pMV=`6 z4|9JV6;t(pHv(Y0zP^fi^D$d5NtCXf(`E~~VY3UvxgSV&FOnQ>TkJt~j$;e39F32n zBZ{QuwGsX)3q}tPfz9Yh1wc+1tFpo<>whKfdDe%kv8`Ju(XXc>S-^PGBuv8PeBbS} z@TGqLQv3NaX}*p%Ul73-B)Yq@O^uU$Sra03o3)9Pt4Sr| z&E6>K)s3=zI{_SQMoTK&Kgmim_>sR9xDpjZQ^c1QxU$DcI314e1!*dZq@kag<{UJg zN00u%l-B}*1AjS53n!Ug^v_I6ODYsof|p+-1al zK7f2?uATbL2m39M5sAIw4ZGuNRCM(W-wmS~JXQ*~QFnNK*LGo$ zFXwl1GFqBsJyy2~)cU|TQnGM=m+GrncxRubJKovgc)C z(Eibu#j@t(z8J6LYDGSDzdKkeNV>DL(C4&X zB3tigY(t4KmQTo1QZt@?2oweG+hdi@{+Ja>bTv)y#q~Gvr%$W2*!Gf#Gpo~Ak#AS? z4KSu@4uk^K%e!DY6y}FT6CoR|5InDRFD2JdAsbsNk4g0ZklyUnng-ddhR5t0BT{

tZkR}u)W%=u5VL*LID>OExR+7Sc2?d%|5a^hXUevJ0rGLeB+-MC?CVpH zpmh9;1zf8;yO+LK*o~m!KaFpZ=TBM2`U z+nSVz%Y1(%ue1o*(iKJYt)45neu_kMY!3#51Hs%5^;0Z)ze6pAsoZV^ONJDlENhvN z4Bj*0IcHhO0PR%l3ybDvf8C<)GWECj4`_Mq6oTW5P5W4xI*r%wn;e9p`@9La)?+GY*%<*BMzaahn^uaggCCLjOU50_m7Dn)qc668-G_I~*#ttYQnJW5Q(bXOKQjm-3Y=}8c+`e==G5qht+}pK+ zE73&Ndge7&y43H4E}!$R9<3Lf4tDlM5hW158FgK@-@8savR&!;myEmF1_TW=?pWdV zPTH&2RCJXNg@W5BqW6(7?29KEV{UzcLDfgm$3(A>U=N04-W%oi_2)iQOQo>(-wh~h zJUHSB)ql=!%9DHxndM5mV=DQmRNA=xenO)3Ps5*oCMum15fc`9l?#;qwK9dD%P-!_ z6d<58hlpxwqMKUvVb@6isiRDeB??i)z%X6x_*yZ%_ZQt<^V?MYNnr`g54R%XXN zx^zF%KWQk7POZT{u4Y%I?VYd81LliyC**_`J8dF{ys?xul+K4j$aXb#qjt2uH0EN0 z|MB?HSBqqv^kmP$Ph=i*`qTdQO^IG@ByDW2Eb=uEa3F;?|kNRvF&ypVzm^_xmTsF*28~<(Kw% z*&67UlUZ}JudMqH`{U4=UOEEbIeZO$mk_`OKk{?ctXRBn(>ZsL0kLoMgw_UIvzJ1I#)i5NxIniYRg<%N&3}^vaT`gFcCQ7kU zeOOuShH!46Uv-{{e?0omXTn#zNC#T=FF5XW#y2B^`S%w27#Gl*YHHD^9-f65`U z63nZE^=`=64I2Yf0{u8r$CwY??$`~H?bFC9HOEuuppw7BO z%*N}c5byYo)?%syYe>h+M5#84$R>#mL-42+|2OV&i~+v%(z872?#W5%6M8JhmhjDc zf%>3``O`ftSu>M-eb`|G7>2GEi9Q{G5qq3ONxxF3IT&DC{g~o}jsmqP(P?BJ76vqa zUq~Q!(e8>zN|V+)$B1G|GCtn)V;*n6Lx@Le+dDV;s&q8`igm)K3H3+wycvOHdmkWiB!t=qDfe^MsqDF+ zcL?T$qZ@%lNjR008#h!n>)ksD3PqC&j>NgfVnN0du4nWo>w0WEfmi-$d*z7AHLH*I zyRuT=lIeE$|I2Dt2$|p^ym{H)C6h0((bBV&z{ZI3uRiF%PS|o+LW1pp5%kUK3fQf= z1$e(@+Dt(VH1vBx4Rwp8{Tze^NXu_!V0k_dz3!e3!yA8zF?NnQVXplHq5fp^k+Zsw z%tD!OJh^Vr|6MF1bZrr%3z4)UPC5UAzL z7)>ZgCSbkO&Nx_vr6*vi3oEe#ds`#;*XS!V)aKY3CkCha42*#5uJ=+C-%`;(AdfW+ zS_-UYoR!#B3$XNih2pfAd?g6(1qDGc0&X(o1(k(xR4;vaJf}q9plaO!@1{?gfGM6r zF+yJ=9xc>=0mo2(vsRl(X6*mX&_9r+U5F=h*~eP_JB0FfOO)5r)%CLQmFy->ls60y zlCVDbdFqkHo|k@6TW;qwL3QB_^r@ws1h*SZc4> z3t^j|AFS&v#QG-`hDPUoTM!ziN8K-%U3tnC{m|ORS-$ zxzv1E?WLOLax9H|X`fiiovJ+Tzm_=xE`#SQAMM4>XwD`Y;YPY&u!^zK*;5&4PqvwF z5Cm-?^2BS$h$5%+lxyeB zw$J37mdSJ9Zkk5+2B(#rTTmY7q5E#?nK=ie3BW;YTE6(8>(Pyw40Vqel)Ziv%vm>g zXH@^!@Osblk=JWHw_bEJ*!Rh7)mkrVyG}u4>nxqSH}|yRm0-|Cr`y6nv+BBwi5gAK z6>fU;pfH`!^aghztFLNI4 zK8_CLMOY`lMX9N4>I!JXCy5npf%b*(y8EB<=!F0%N)&ZO-7CV@@>OhkqS7nuxjyqF z-#zE_27{RXWcz!K0`rAhnp4F*D!Hogrk*+LsAN_vv^>=gE(a*m31b|AgeYTpLh zi)lQ1Ai0Y4M%VzUku!d%MsL-kSwE^wHOP8)ntyqf)4FQDx4IMKgYWraIjl)K;K**@ z{P>64cyT~s{=bHlMpy^AWHUH4=-EjkKP2=J*aBIy#ZT+@~Z;_9{)wChP3V#X?=O~dv>X8w6 z(w98rKbyuAJ@$-7bp4Gd$j>;Wx(~u>L(alwZPkn1sYlGkikYd?|07)U+kw?`V5OZV z?aoPfQ54~svB8$*6tdqR-^*U*L0hUmdn{}N4ZUn(l?|yi0_`?k`ZpM1B<=FJV&y6R z+Knt6s!_fDqeOQGx)ksIh5Mt7YQNT(?Jb)t<+&4!E-;nQ@<$dcTwuelaK&yCL;svO zaBGse`#_>d@15`pmDbaWVZ#h$f&=5f3KzrAZ=ypK!`%N$5UN4>RZU9K(5=A~BS}W+ zKk50M{pMfxd0%do|G1?BHvkJ01%oVMM*rjQmP!b(9Kh|VzUaHLF^=*1$D#8hkpjPw z%$Hex%w{O%*z|Q++}xAHAs@~MwXKSS-wNsLBJ4_*0b17DUYjK3fkK;72%RPPIOD@1 ztz8B3=6irBfDciLOz07yim03w8sXMv@X&ZZbudm7H56Dwa9Uh6I zZv+QJ3%V{--jTZ0Inz(OM(`?8jpjC{DU&3MRR@9PmWAl ziaCa`x?oWZ=e(z={a?;sxomnuJ+(HHz!rEDtrn45xZ>xlUK&alb_bt7OhVqUs_3x5 z)?y3rTX>@yb4xPV>eDI}doBJg$lPu@E0KZ;IL4IB7z%F^>7iQ-3ezK@RvE4$x zvEoeDPug97=1F2`#}jYr(b+XiC_e|}%JK%%FUq^tN~mM#e(4uK5o~Gq7!H5+>+m-h zs{X??E()xsuevI??-8zEU+3$1owpMhjwrNXF{2HkVQ|MNU?~w!f<5cx%JbBoULKXq z_l>#R{Nv{TBkD}Rq3rv&f469%MT<*!XmPh;h7?&!iyA3Zq|A&48OfHVY*CcbVro(; zB9##-48v5iMvYNX7+cvQm8>aSLhpI?|G)2h9MAI{NB3PljG62A{hiGRqgjU%(y z6ZNF;Z#_J4COgu@1F6wcJ0M%~J_7d!uETliUrSjdbJ(r(WI3g0ZK3_KCf}oAz1A%N zvRF!yb2;|`oW5?92A5irK-@5~5O?lQ0GIfV=BrIOUg%2t+mx~ip{Hw(TYTY@hKz$M zZf!lHcK?^{kXXJIjKMQa5-F1d3=tSwb(@_`uIn)g!DXk_Kz|HPnxZ zTkY@J(zR~fXUvDKbWn!#69uMv#F0liT$*c@z-dw;uS}czc1I#iDUZO?MYL{16k&5X zQB-BTcie5>G{Vd@6O~sonF4jHTIz^jUR9eRXZIYo69{e%?hx1URP)WBTf7kvF518N`oEfYNcMYr!|Ft-f*H6T9;Ns$ zEaM?90wamVLUG8*z9Y>0C>NlGKARhI{7|wPn~B|GzJeiFw7lIYGhByIuwx0D+_AyP zN{{n~77Ab7b}U(1ISI>O!{XVNR+);TU6E)fT{fDj+oj`@fxXctR+k3R{S)X!#|xKl;t(z^hVeV z*)075LvfaZ+}q-iL+Y;tPHVV$+)5l#=_1p<%%-Y`p0q1IEV0t=CTMmeY769w1x^vB zoZIEI4^ADoA&5B0Af=`-l@yk!gJyviol z%qLia$g%&S^Tz}g!<`k&~Q*_}#ao?8&A z2dRq!mcBfv|I#Zw#-R&-L!Q~+PorR8x zOo#9(a4rwJCs3&)H%kYF7o!0g`OWG1+ojmWn7^7zyc?t*cM9s&Nfgo`)??`kg^r+?(OJ^mAM-m>zAXnym~vIMJB&5&Bz+y2>2; z@byUI2}UYDGTF=xKTKt6mKU}P9;@Z@d(VY4`;0MxI$o_5VuAHhzk46F^!^A;$kbUL zT8Sd|JE4CY8mkl*FMfYEQFLXiLgU8!IZYP$bGm%SeI3+-;g4RZm+NTJsHj)YaNFWK z<4#d!(VO^T&U@=zl>>7H!2>5bM*=(!`YuR3*4aADr7!wvD&u^s?|LH`6BCDs@xj)% zI}g%@{?eUc55&j)Ol5MCQPoWS9&n)?v8JbnyUJ}Z+ntV$Ar|)pkHpDQ=u?|pAI{YP zxBU~nq4M1vivL}7n|Q)JMnY}OkwxAhDe8plWca02@nz#H(0BQEcyIiVPa8RgC0O~w zrF8%rfp(@K%HzrWcl82H2!51?pndJdPhs2{!d-H#8akX0y1O7~p9ulgCj-=*>v!0i z6O3p{F}JmHq`RV1PK~b_{Q8Z409R7dpOVUA+WA{c2c%qCHYmSBwCm0Ezu12J`)E^5 zU{4tPP0H8R{1Ap!`S1N&)WIL_x1^s1Up~3JP@r};-{e0SlVGCoeZ`eBU^2^PqKWz= zNQVqU&PJu(P|h7k(ty2MqD=Xp7zUhrci{@%{c)#pTVq8sgfqGXY|?gEhLt$$d2GQ1 zl2#24LoYa3wenDHYeqsEEig{qabOzTfZtnF=e}PaX`BBwVdt|oZ=hil)o`cwnHmI> zi`}!P9JK%+FQ3q+efNWF_)*f{dC%!LpDJ(?j^`xY6aQW=kv}E@ZOy-6S}Y+af0-?) zyCzqsL75`9_bMa556jygvHH#WQX!%U5`9s2H(uNo*0!;-3q>=M)|B`3s$C3he-9TW z%LH6Z3}vtY)~NgP=hrc-YFsTHoi*9(h+uOUnszH4>zq66EgE0w-mlPYFjt#{(uRG3 zI@_+wAt!1JDe*_+?|lL9?lW>#Y1EiZ`Ne<0)@GGerE z&k4IgQYaGR$wu|j*Th`PMkv5<)8^ZIeeK>EP-fUT^L?+uJHY}g7uqXnBJeqCnUTAi z#1*N_Qhc8!gMZNg6q1c;=BhxvzjmhA?O)iq|A!K%qP=qB;v*ENAhdZ;*1}+8nbv1- zj8^Abn+?r2h9tr8FIKt|E-LMhBmu^gaxX0dHr)Qvpb?+<0^Pg}{{VDOsC~3A`H}7{ zFa?nKrZvfC-FTL>v_WXc%3fgMz5W;_@gbhG22~X9rj=sl%Z^@_RTPIbduFQo=&Zz0 z8`k{pO2douCEKGp=VSJ*d}v?CSBoJ}NY znU)5UqV8AR(2+zJdDwN6vS88to4H&HOe(Wwa7r?xyz}*IOt8Z2B;RNs-1O*aWr8FY ziQ4w2boG|a&fXhCJS0C-!i}(6?@sQ1EeOwMnU}lH^yTapzHj>EOyuDJd}rG044lYo zqL@EzC_mwY02wFEX$0q%V?`Q?ta|Cr4_lQpF(9ouGAEIiqL5~P+)zg??DUPJR$QsE z@$5#6sExAi#r(~ZiGc;(J%?l`S(P-}%;@|5UsnyEKCkn9|JvwK$<#c)pIpbU*lRb5 z$yU!1*ZFpWBd+tJZBfcUKBF0cm}w3&aULn%j86N#DYHESPS8CxW?9!5_P{4T#MTYo zkU={_soV(o)P{a4w}{{BWar%CregSxVfk{g9<(#Z#=Uwkj;J~Xc@tgqlQTN6O1OVzk8n0%w#HHH5OSS9ao00_T2a+&Mj zO*chJ;O`CJsb9=4y}hdlhxK7O%Iz6svhk{6`m{D+Jz7wm&5FA(z3HT6VwZH&5o~oI zyjgOG-FH;i_6b*NP{w_POM7(tjNO*wT>j||n+l7}($$Qhdk)#^s=Sx8xbsWzO=c8I z9e+K0EqVB}rt{A?vI!R&53Yey1fm4R4eC>-(HPj_jW^6IG-)J3K9qT$axhlVye`B z-ikq?fn?Dwyo2;MH}v(_uK?+DRLbGJ4zH0@d#^2@Nz zY7ItNQ6fnrN8HaiA1+pN@kGfqA`0)$QbOn5jva}iudX_(U|D11ld!*TL-Nl{5s2CD zBI~(7io%mS$2)CjTY`d=Hg*wy==-pBw6b^vvb;wqoHA#$IDYElC z3YRIh=5;VL+Vs%7c7KKYS@TJ<1NaqiBy>u{K5c&(6q0DEWu$K$y{J#%WOQKT3rd0w z#BiWY^v2pGQl~TjnYZ(?iUw&^vOBS^!gbRr-9X2S03tPh3QI1N25jIjNJ|dWXaWa`eW0g@ z*L(!vE<7ZEi5wLykMq>ep*Vq3-6-3Pi8c{cp4&`iY%_;F7w62jC$q!A4t~Iv7s1EU z2X$LA{TG5H-cfY?lLdZUXg7;X3#+m&EP59cRVs`EvqEEQXIOtCZ5b>9)tnf@bBDvy z6ty-vQRc=c{9y&u@m<#RXnhoOeOF|6m{UiB=;e*t6&N&fZ%2TC22jQw_%I+DPWPm& zs6?ibSO5;vk2cZad6d?S&<_W5BSxfh!(K`mjr?BnI>BGlp7}g*%gSKnf3LkIcV6M7 z{%mUVm$C7s;1HLlJ49?w{VrKc9ZZ6D_r^-sLmoR?Q%>w_;qcK1uQjeA@Vhf}N!mn- zHHv&%e=Z}39clP8r-RG`z5H(I5OFv07<6@f@Y?7f)%;l+tD%5HeQ)}Jtrt<@tQk{><3i-fmMZ2vxD=fDrc zfJ9M3Lb?#g?R3zA7RD=^sqa_7a_PI7%+TYq&#{q8GI{`6cTiOEAU%m;7pgy~%2*Iq zfM-q`t>>72pdVl!{}a=EJW^1d*4Q}=fD#D zS3UNk%%Y21bB262#6g%&gN=t(_Xf|Y2KedDj)ktS%a!9zqP+9 zWRX4r(=tBVIZKlmy2`7E;vTnA8ESjXFy+9N9(_HDNBA;^8Ae|N#d$SLJl8ZpEvg0&?dU+cI2rImIZ0P z)Q0RF_ao~oUD2e44s@PH9+9zX?xN#z=VKCQ>%_6mCwCfptck8GM!-1Q_yN@L7DrFY zL}&LHUFR+T9uz_)Kk>5uVO- z=4u20yT%WT0%2sG>Ou%bUrlmuF4vZ1t%hEcS9AA0_tT~jmz+#Gohl8zx zg1Iz7TeTIp>qcnmxg$Fd$1dDA+!>bjKRYkwSAz8EsAPbVy84XI4Q_TvVYcdYxQ&av zx1>%xWVD)Ue+!-M-~ZvuqOM@6#Be+hI#7!{>G?3M-3nW^ONM7?-9V%4z-UhpJ2#9F z3!}Q-55AWao60mDZm}s3C)YQ8`Ng2$(KEfz8+^IzsTAlv2$MiqC z?!!hIFkb%aG~D^;Uy1TBy?oj*L!#WcHj&o4)`W9tLbJCm#ZHTSV3I^7s- z^u+i?%~Q{xg8IFDwPjG(J!zU<(}}GIGLv2jb#pJ~wRkQPc!vHwAqh!UyLQYKA0h&K zUQRq1It-?wS%5Yo*ZA!2j%OhBx-!FgP5>U1jZ^24Pr8X%y#m{Ew5Z>pMmSvlSS`f) zi9EK^5qhNX{r2~JyjL2O#k?jrl~&doY6pF>PJu4=V*n!zp$Mt?g#t&xnSlL|qmUw# zDDrurfnc4?A+ce%Dv{VxOE&4Keu-mEIN4+XRCr_8Y9XsIXTRDCqb=zRVi7U@Tpfsy zF3IEAamdOP<%vC!sVKpO#`(rqbap`1=2kcupDXZzPOzdE*rD1hSPwRZ`S4kX=@Ti} zP3ClBJREE2k}kM{@9tThT--)j7$$awO@I7!2^h@1WjuI`^1hEbr{#o*NV|04@aNu@ z9;u_d9j*2>zZlW^l7@liCg_x1v!+29mf_M!iB=Su&lZ3cYWe4cb&H9Q+Dn}LJ4@u# zlZKUXN<@d|&#(v577ymvMJ#Vh6O_mXa^L(|Sof%#Y`spxzeTP>Eo^-|-L82-Ib|J_ zj9q^aq$35~;37YnGoLGp_{MfkbayE$N?BEm*2c?oC_i-ee-+mNc=mw2NAIe&GQ2~} zEI9)>h9c*oxx~tpA-4Y&@g9H;&1~gO*}RV=uwx6BgK%J@W)J7ptLRXO>|YBpYlqU7 zS=ZrES9#CJ5~Zq;pLL-gx6$-jkt=$~lXQvZMN`Qm9f7!{QXTCuONaJMt=4F#j{-lDrNEhld-=(C0$n>PP<2iW1r5{>sW$&x z*lJLY3^g9Z#_4-lq{A1s-bbA=OUO=g1wG;sYzG*ad`WeE%;&ja_(9kl%ElL$MVt2j z6^x%Ys{>IjO!AbH>F{gfH#E(T7L6yd1&b9qV~75OA}_W-VT-IlS>tDH0FL<`cRReJ zfsTcLDw!w@%79Dj6a7Fv7yuQAJt=&*&t!(djv1luL1kHRLwkftbr#uK58+z|tb1Lg zx;y1{PS`*?e>HyiHP$4?{59WcHkPDl-HPp^C*>^VItpGVBD&6pSo}6cH7M79VU3*R zBZAeAUJKU|i_=!cu}_b^Kp1BKe2n&%=w%E+f!r>tnJ0{`u95;^rL9BQUJW2{p!z1M zlRn?5WbtD9QI&Gg=i=>| zM=3kcFn*d$uUW7>^EN`sUP%=T4-t2<@Z~ql)W% z28MZ=OXqmtYre^M^jhUQI(;O=ZU21cgH^yB!OgDC2^vmj?}{2fa4D?Zwp&}4O7Hi| z!CU;+8n_9*1lH{?uPpM?D7pPzTV^!&xZD7c_IYSeZ15;aE^iLU1%cG=A6;k1-4C-s zO%1pt2|2r(r&e%7v;Q$HsAUB6R<>DGJu{*e>FDRQnA9dD9m|tGWEthLP&L*^PT*H< zW!UUpvu~q+>S*BxbVH(n?upu$)9koFafmdEK%HA$v6Wu+IArL|a3E{o3=@^%!aY_r z{d?9q69Z%G4a)3|yeUb3hYm@2Yf*d5r5)xuUWJul&vpq<#*DK9Ysk}%71g?u#@lXW zlObj=2Es2*hKUGIm+<|cn{phjGL4;?NqJK48ZWhtI8Teiu{jj-o;OK~*Eb*RSC8&y zjiw(q&q8CO`bEldCttbjGtMpEc}eZ8R)p~lx-=uV;eS~jgEn-gozZ@Io?A=7Mmn>< zu#%^do9%gsbHgq0bR!n6->+SWa7KaQex$OeY$p3LI<{j4DSZn`)uk~ov19q6OVp)$ zn4fVLjQ4%ahL&QJNotLr2e)}r7R@|@2~;dxkTD4mGAf0!50l1PvGu0Ge+ijtP{2X!0fEZiDjnO^-b2|ti%Hs>HbZpo%{Bdkd&Jp zo|IijC9S$TB(-%8**3JXEm|}^^J)3m*7*HhP(Gpd{%EnrbNh2N;$Z&P19xv-CR;Kp zgm}6Kq}4Vnq!nz>L7LALhKzf#{P;4h>`+KTnwcBi4}|SWL-p%}8nC*eAP+NhPS$<_ zZC|^Gejw0DY;OY?h?yMQ>UnRC-~ynbDd7CScE$YtJ9%DYi=UVu{#)%JHifQUl+uY? zWr*wMVtb?=x9m<+U(vF2THeL4Fk8J0C{2pm>qjj3YIA$TQ0vQQ@++NILX+(;7wE18 z2FmvNTP2x?+Z8!i(^&@t%zA}+sv-59R~(-|;{$JtbbeP!5@{3Q&&XLYH(f0~IAOp1 zbgrm&fBHXV_J>{mx?oQ{lLW|>3hzBdD#qKo4Oh`82|blE>j`gzmyZw(Zpp9WiVmj> zK_T3&oGALT;TYw~{0)Uzp*ATk7kn^N`74D(v7x# zvvi4q^W!=AS~XPZmY3OE>amv`tx>0f6vg?o@8(TH?g9EVD6T}olW3HQOIq(*!m@il z18?nyK1E1->@CP0QmL&Wp(zXycxI3W!i2uO&)CvN6wkCp$8JE*n@`Nl1@(u>#)mp7 z7ZLvycI~O^?(I`SeG@CEp!korLyxfB0L2)DTmM7Jag;C^1}Z7)2;)5TK7Q<5W#U3D z6s02o;k!K(MedUAHFC(+@O2FnMIS1smtNWTr`%=>blh~0ILNs zMWo5IE{^rYAQpkW_Y*blDYjSLBao9}|9I<62JeOwrAFQBF1Cc5V?9w9>2iI`ZxnB~ zul1xfY^c`Z=uTiAKFTdY*Heb_H1MYS& zNmM^uH#!lqK93;HcS?hscY)cWrq7rxD`=AL`RWJ1;M`Tl!` zGZA~sMSk#hhtkN<+tL|6uFR|*X*-vp~ zIy->rn1cq}&XY!dZ_e}(c><@C<&7hokEoPq-+PdwO>KXy+FW!&zTfmbRq8j*VDzM5 z3YAzsAj&joAoa7BikpTW8c7<{eY^LS@>p>{R(RBAfZ#&;T`H z#+O{o0Dz-ByS4n$;#sL9TbRrZ3%}@EgP`?R}}oC-+=z(X_Uq@-26XH&-KzN^$L%O$PbA3X4(e0cz zsGvdSn+hi$UTD)wO1qR9M`;si>lRR+8kwo5f)s;?s>2#5l-cVzkq`N>v9ppL&+4Y4 z+V7q-8g@=OdtDm<*+(oKexEwUkEN+jT9yS#z^H%Kbu@VM4Ao+}zb-{?Ay#}jd;M?t zv{WE_Z0Q0ynRs8CZd%z>J=JALR3`dLec6zMp#WLw7U_PSJ3n6qy{Q z*xdS#=$)r?;m>QgA&{un$wj5nVRH7D+Yz~CqD$y?jh`o8{RUHA-Za=5Z8&u)JJK&4 znB;Yo3(;5TU+6<|8#ny?-cs)y%p_Cy_EIryK7)Dsb923-ZQo*e;~QkAql0BG#j*#g zMlxe{VUY=_59^698}Y%k?XL6{`Fc{^3XmwV4Pp0TVjVuNlbe*DD2h4mO?KZM_L#ph z@W0t0JDm7;8R+~uMY~aHj!kp$%$IpH0EgJT5YPtHmSGUzs8a^d>^gBxo4EFUu8PA! zx5t%~2zFm7Nw@Hyg4gbKI-1C(zEnRyB>PU7{_jx=AJmKrsLN=7!|lI@GCH{scJ*Z_ zHoVVhhu*of`L70Xy_E07f%%H+9(`G4du z6JSd6P{$d`=+qV!6!MC^JL&x|JwkzcDBa|}*@Zl&lz>moog0EtVW<&VW^%62vmF~` zl~a~%CHd7DRGf%?fc5!N&ffQ-g^(rS+sG%<0+PwgcbssmNHE;L_=eqRbolEaNZ2W~H`Xi*dR&uB<@&sZnsY30|V|GQcEkC->Vf)YW(@vgx{!h%N-DZ@HP zC62k6-1uPbDJOdnZJLowwEf_bwiTrNSO5LX$Zj(zI!uWZArT*B zFIA_O2z6m!-=|i@rNw{T2bBNzOxe9;-)Z@AT^KUXIBKQ@gK;Qyv$|hed@Y-5Z^}t* z-2*nX<-$_pe1schw99sud)8^j7wxvnEMW{`t}-SAUQ1lBuP11*&Tq>pdbgF~%8W`7 zZBF!FWwprZ)YxP{H~@gA{u})qxrSz}?;_b(32?m||30LVC2w?pi5T#v_ZhwW$a0y5 zZqa5&yA3kcOOK-KqJJ35uI2MaSx08oi^!-pdV81VYud?IPT-R4NemrJ#)YU`r^6(# z)GlA@9rIF{&=%;d$X+b4L&qB(tR{`}(C5G|AH>hhbg%Z$&JY#dZ_5wOUTJao_ms~iF-j|L5m#_;SC6KR z1{i-F+9tvK7<|e3S<8N0SVx?HVZvE@r$IPuPJZlhPczDdLF0=9Gb>tD1LjRC>3W!! zC>s1YAPX2WoTUF>evX25tBvpZC}(LKeN|2?eysSUU@zfHtbFE(clsE%I6c4wL3mr; zT^aJ@@SH+r2PT}0CHzy~-C^`K;O@Vd`-D0fN(ilJ;)^;!!23+ED9XUkmdi6Hd%Q*3 zvZPS@7-cL==)=8_YSXe4rFOp)d_>b9yYOd5L@CDV^+cL6m)8BR7KSI;Zu;4#wg!t2 zbW@uXi~hm`Tm$o2eY`Gu6cGNCeZ9;zTYb>pm8+}wBLsbb(+V=NyZS_ry8Ux~_m`mu z!5fb|xBU5KZ#}MnF1%N0JNqy+uxJfBxAVS^*D}+G1D?k8)bHE#Z36@pZ0>AFxT0B^ zPgk7~pck$?RKpi_X~&zpOVL!Bj5f@xfSXxBhTf6P+5I2+<;0W~E2FObtY1BY?dJXS z$!)YA$~;}y=5b_I1JgF^ah#`XUeDV}kOEkD!1(j35R@ChMUTMNa=3xf2ZGANV-ySU zk+3~oPyC4Cun`|JOhnf#OyeisJm=HV<`w1QEQshy*<=Yk2cgd2gX*&;o)X0Vg{kf1-=9IsE5RO(E_%c9oRpq(xh(EpR0R~0 zQ7V#)#)*l}@H}?qH;74aM3iK);|7TYh4m)2e)=XDM5O}b>vz^ZIl~sDULsx7WaKTo zJc2fSgqx?QOK=^RLis>G!QUm2EI)_B@>ZYNpN_w4VY*t)WK)^Ur*v4j*S6Est0Cho zkhHQ>86_kyteh))h{YT>4H9sfezaYKJNGqBUtTYf26jqJs_0WHhyfr#MzUKRiXv;0 z_V^i9VU_i9;Z_uy>{|T9^%8FhUH8_R{!|igB(vnQz5-*Xk<@6bE79^bnsBi)_r6KI z4J)#>^8CvehASm+!8NlMdi(Z*H@1##y{}-0yQMVc+x+EO)9v%5ztFc`t66YsZl+pB zX;Qk*mgmVAa^aGjTVSpL%t1R?t5^0C`Q|OogysDe;Vupf7F zjyuWenUW)jvc6^&myz$57P#5B+A6!_H7ikuA;{ymj;R;C&3>(z|1D*2PMFra5#ncK z&zFfezCSvO_(sX2=Jg$qrlLyscsf78b7^M>SWckCmcBg)nrIop2ICe{A-+jM;Xhyb zrg08E?T;N>HZ_x9;r6?C9lcDC;*$l}fo!w-_^54vuY=X_&=y0LI=Ryuo=r8C`JuY% zmUH1C2@u&KiygZEYeks=Wc%L!{@0CSeBbWmhNe!~1KEk9tY%j~N-^5(8cdJ>>(KIN z*HOv}i$R4HSF!!+dZip#Nrxr6m7@v!h!JuiX8maEM(%l96=lnX9+sTQ3IgyB<8Z{WQT2+tP*D;TB81= zzf|IAoG1*z<1Zd$JqK~?%nHF@&N3l)oNl?f`F3rzXbhiYEzaeSbhk@*IAR6hMp;*P z8GVR5Go4@sKC&80Pu3CsSzHm5Poh|{E?VUa@^U;oLay$y9WKI+UsD)W?W9rJ!73{e zuMb^M+hydaD>K|mQ`%S59yZ#JHzurowDmYpv5sU0Rdhat{ioB z#QD+5gz!cVz!MNZ)L!~gm~hxxZ_YebEjk{!{46L!%m_=(B4q69Z;|qI#HRXfE>gbQ z4;D-i+uwg^7tp@u!ecemgGIVAZ%=_+I{VLf?a=F`r0D@Yc?mwqzE-3f$vH7cpFJ3P zz~5O}JQ18v+%FJF8BbE;^eb?Bo2Hhv8r0Eq0f@;znKsfL2+p$AueZlYzSJ7(Yiu_4 zF`%x!U!EA6EoT^lkrgM9l&#g@62rcNxr&^eEn=R%62}(nJ2#4QwCKTW2*XRIdi{bD zYUTcBi|Yh+v&mSVdnaFuGxoW@SWtHuC0_IeBuNB@%*L5siYUkPz2R|G+*umXHjt)1=$HM$YAva>)GO$dBM z0XeWkXv+%nj$GHl3d#{BE znWU`(6T0ueSAu)$y2P8mOEml&H0~f$53D(Ta)<~uULZqL7ah5?vG{kz&2Ma~WP1#3 z@(7BR-D4ncK7$+Dry4z35+a-~7OswgMe_S^biJ$~eJ(V%RXN`#unOL^Fj<17-zf%$;6PTKHE2k_w&fDZ-`O-&v{N$~%Ybv4n z-?XhSr!?;Vcqn{4MO$^$<5J)jeVioywx8uf-7G_-W?;71%p-)JbiKVs+X)s6%v`3`KvaIg>_%`(9YD?GX7u}T<1RJlsiec zXaVBZo6G3mH{y!?Y(5y1**132?qYo?#SluzM<s1II%zr7+DH7hq-zcPF^)VX+SwK_vq~Y@{m!`mJ ztzNiZo}zw+<#lU4(XT$;mzH|+2am}z#WkCT9p@>#IUUX<4m~P|)pyMety`_MbTu24 zAEpD^IwJD{FoOwl^GXHbBaGdDGa5`QnA6tgOX>zXT7^CG#OPg(rcyLAxH2bqhfM^v zI5?r_VmQ1 zFKuHhy*!>O@(+A2bQ&@RIVtPey5M6}aDg_6?WxlU*K~PH9TUzzV8y@AcQn_$;lRX+ z^$;Yb>_e)2gW2G~-T0gWfW9^$uv#3Ibdbr9Q23NL^;D5XjmGh@Yu_%C?#-mEY2b~x zGY@zMSdSOkuT~|N%Mb@L_aut+((Zm5yUjxTRgPiLNPuydri8a+?C29luj=>|H0K^B z-Gtyfk9j+#Zjz+Nx$>0uitG@ZQbGHp zag`3bZX)(z-qWH(Z7eNY{kDz|Y_0|m>oDsU(Q8$3GVR9!lu&E7DP;&IMCA-s^!8 zj$V5`Nb3{pG=$O?AJ~zRlJM?3?n`^$`@e4Fi8;JBkP4zk>lktWy3dv=3En zqlW`8O~Nia!)D)bHpc+-Z64>rZuK~tNGKE{`b{=v;va>HZ?HAZqD7j!Gj+#jaKQ?j zm>^wn#vD7x#oGa;uSn5LFE!&_6K+sTfA!pQ8RrqLB9>{Zp8Oezs_|X@nvn7!SL_aBv#ANaty;l zq463jk1N{hO(|`Ztq`%DTvqi{1$qq`Ls z>xf-=N=}YO;cS%k(hDxdI1 zgNZJJ6IS)F4t0egmu7Ecy8u^I!KwFhaf-3KjcBX#V5EnmFt^y^y_^HHbgS5&EEv*M zA~g|gSzZd!(;T$*EE*B{tio)w<@8}#kap#}t-Zm%x}xxDxsB+oht=l0Cyeli?m{Zt z$tIgt?x4`g_{r1f4(RHVY}%c!c6Ri4ulVNJdDxb#)TD3ZH1a3Q#AcATI@H;Lql-c8 z-u`K%kl@>}yNc{3{fXAG5UKlQ37$y7J;bgM+^4!5ve@Ng4#v5p6+%-L7vaKDGc_aj zGgTd5*xyh1W5CZ_67%O;oU&f}jYMl55En@(cR(06li88^eQof}TDcR>UUJ9u8m3-c zPsDjE;va98w8GRI$r2Ztk<4plTmxSzaX3&bNy8pc$T5*9k@2GB0)zubvT^!_2jEFz z8LlLAy_o-fuP=!PAjA`o-B0x#vJw@{+JH(b7vhg2Nxb-oS>z+#(m)&ndE`V{>y=S^ zV^wkMKf942w1s2gI#el{5+>LerkQ*2P1vplD7f^0`owSkkEOUv6mDxx&Nxf{sN7(m zRxvolZ1}Ygn7br&9?Hb-&-9m>ECa8b*H>yc-T&5W(wb>te-t72WB+2Y6#EMK4{4P% zjxC7)+QC|ZoGjpZeD!tm8sMEjW8e}%Ix|e0=uv7*f#DUPb7l?o1Lte)b7 zt`iQI&2j{Ek&?_w%{E~gW3|}+!!b%2Cf-3s8NEn`1Q&V{&wB;lHmkz2Ut4BnnUZXwaGC;CniA3)+h&i{pV{dC3te>o z=6lXCz<|xWniU_CF&!^Yjo|yya9cUe*HWM3QV7a(A)tvUP3<`Ita3B%^2j*?VC70A zoIY2H;=d@U=7pETw%Va6MW**n&}!<)FO7r84K36xg5fQ`rByIgv(;nOz@eSH7IyL; zH2JbE?FLtpwUkLy<9Ti=P&Pq1z;_o~S0dZJ23%fTeiyMOg$yum2TieV1Zui;aC1 zR?TDdWsmK!G<9G&)a)#OFqRq?{VLY59xzFjV{0jNT1IVzwJSp=l^l$g4SGNa=o0V$2 zPtL!&b4h%>=_%(4zrt$w2Ff{;K49EM%ddAyLq;7tbmM<$%ZCxv_=C;?NvC=pIF5n*_d2@dpz-L)F9C#<#<7ZKB@ShW%5prm}TGk?vZq~ zb{Y)Lv^^aXdKXG;xGido8r*YO%r3iMzt-Kj>v845Q(@f-_*tFf_RCAv(eDRY1K01w zB&)6C8E7o}ME{6>!E#AHsu|upd4%d7kNKK9^A{<^)?Bxn;476sXo&Zh630_j%){%N zF8GeL37gNJfXblZYhBVh2??~Wf5olLoqr<^aAn0pcbtJ@ljAU%{HPpFNZ6acLE>(x_Ler2P?8xZXUq51B*b%#xMlS9V()FhO!yX}$Efc|F33=_C&M z9NQ=But^2s{XsbMLXQW(oIPRFJuu&o(#vMCu^6 z1&ECG?#sRsLuR+h{oZmviiH#5<}t^UqRL}?>5v6=p_$p6!2|exW7NHXmH+d}+ozUI zyW+^0b7ksD3U>E%N(^cQ&%f#uInP*gN)&LFcD`C9kZo#zQu(<1BfXuoG^kifCO>;g z8GNg-S{Dn^t$w>YbeP9QuhFIQrjYeGK9HtxCR{D=u;SrgDlay?Dwp==ctAo5gD$pD zcnuS;4pqqZQf;LtC5VJOz~yr>!A`XyFxR0PLC%pT=maCr~cWoZHuMDzgns; zo|LM1ng6(K&6h*-#=|BCe`TyukooyM8)9}E1GBW0YQ~l_Tx;Vr)(!@)p^juao;RPE z#(UWnHf2Y;?A~DuU&_eBonzVy<-QCdT`;1gC4(N>1#(Sl@qtSzt3gKQ)k+h~-zO#Q zPG$I~DO`^s4#uNCqOjnhnx9U@LDuO+sfNh{Bbrv{Yu0nilC)iiS(v4xX@^+=h%TP} zc6SY)MpAF2P+E#%Eu8N-rytta^L`~6Riy!xGMU^kN^eh**CE3H-2>pW)P_@Pm~9-b z2=#NDr4wnpZV``96QiO?g0&-!AUmN!RgNI3%9%b-a&G-ER2e*kC3JKeRyJGoPllV^ zA*U#qBgx+=W2M_0cl~65Gr;NaHy^O9tUUJkvQP+4j%B{71K1mKUuB zI2G*77SY7kZvFaL;9R^r!v?aTH24DkTY1%v~QMBms({M$Z zr8Hc}c9c_G)=;AyHPvmWERDspJ`g@t8GT}43B779ZqZm{pL|PhS#;QHVSfzv`+1n| zQ5*M5<%(w3+;E;VkMhOQ>brZMbklYp9h*?5W$D(Oi6gn2gS+o^(o18qjC`dAj(-qD z9rh+k${Sto`gh?g`hHVk&bFe z!Edg}q^=N_j*Tlmc8Is_Bty6d2j^w+bR&!TAl5^=LJs^Grlkxu!1Vp-%-dsnu>V>r zSG~*KtS{BcXZB5;N1=}wTxXk%pXoVwBCp;BslMU;piEtdl~ra-YF+F{czZ>W>wl09 z#)=#b774kn%5KePkPEY~73g0-sktq6)rK;t-Bp#XGgTlg=Rfwe!a;f{{6vXBR!e4> zRxfwFTBjptsqofEZfJR-aLGgXLjh-A+D>o4kz4$UEBc@UJ5O=_Po3Hid~MFdm^*AQ zY<1bVf3I7NUE7UtEm($JtI4@f9i@Tj^PAtTntp{}V$0fiX#aex?nAPNtPZfC?RWUH zTl`WP2arnYq8~uXs6&~(W@jW$N1W01&)AyqFQMmWK9E9!PP%R^|1933*{)W?5LU%& zCC<8ZHD+TFdhtpHP8N+xphe&Ymf1_XfKRi`)QtWTl0zc5D5J(L1G=FiuG6Dssei^I zo1)l#C$wbpl7^q&>A0J%x{RKr?nZHZE;z;Sl8*b+VmGimwtAB{&h1S_*~%G$;hwQm zj(v-qh+a(z$j;%8ecgf89?g>^tp=bn`Dmjj!}1SH4|K8=CW(}N6#UCNlb;myO9KXV zBTyU~n~~dV1wv-DSfB8NXI4rHebT;ZXQMDawz!vUy2gq#m8lNiH{Q0mguhCLD+&S> z`;47nQwO~ZTfe(deatiK6eN^l-(S%*y*7No-Ku!@gZAbehnQr-1-2I)aP^jciX3y` zsUy*+cLC~o3*@Bb^#An&)4u&6KGP3;u*}XSA<4L`@|fmsAw4N-HP&UVCj$F;&|DEm z4@lU*TEbJB%y|q<=-=;75r$jN97OQQk2tM@4BBbVk$tbW^n*b6 zkP-*>f+!ym#md}4(*{9*l>y-R2~bXe19=-8Z^f93Xh$)D2INa zKkxl;dzv#0!BVkk@XG?b5-6r{tJAFDwGAbxTHZIqu|g1a&PODSXUzB<_QGsA>XmQ8 z(ssDuUl-L`%y`}ft|;7#aujCW3@N63uFS1Dz6*+zbR!P=B1YWb3-He6(D8G(utHaS zeRJx<17-Hlne(C1?pauJGs^sGA3(@A$9BET%AnoNTkyj)n&xq`!jCfY%&}sxt(Kor zK#NJ%KNcBAv?mRF(@>+p)NMSmwHbn8>;uNf-kElm?QpQo8Bd(r08u5W`3=&<57pwG z4+iFWFe4BO(@+g~E@*GT5^qK;Xa2xLGYrM*!-*zon)?57rKAa;;^fUah8+W4L)_3q zhtF^M@8YD@sh$A=q&SLfRx}~AIg=j#T7Ut!P?%)#AP)~TuCrG<*XNZWst_F9TaS_$ z-opm#S4xyS-^&HP)07w1GQ3#{k00 zG?%oJFbI4)(iH;UDK|ylbJmmz5v8~>?~$gC6b13bfac2g`G=;Hp<7_*`U{Kk#z203 zJ)w41L3z@F%y#Qngxtkw8oq3K%9PvuNSH7E=dZ!Y3ntN`m;_PyQOY6}@x&U~&Hc^ZQn}k!_L&ew2<+T&Z3kWIjO1 zw6lu3bJWEAg>}0=!Nz5~L+9EF877+eXkmN&a>LqonaD^!T?l<|u`C)mCf-fI0d0hC zNRK0F@SSI6bB0Ds-#yukV^ucs4A_KyD@xSd3l6x#hrbF3v6o6A|Kr$a;r|5|Z(EpS z-@_Ggj{0?>Ji>ntYDh55apuACD=WX?zk;aM$(%Vk&!f;`hB4BNbAOkwh|%Q5>PzYE zh5i{>U!7evC<)$lyr;T%Q}eYyj(POcV_&mFz0__5|^dUOeRfQx)Hla0GkDgvh$rhhB>uW%P$!|@U=vV6&x z4Y>X~)9j%sCt8WqFu&8z>TI?zCDEwGj&o}CAp*+ZIZFc^(a;vh2Sypz2JgoL;}-f$72G`iA-D57trn zX{KlpH!N`OIVWo?sE;PtIj?nwP%`9CRKtfsCIh#)`V!pW!%l-VHaitT`yeqiz~8wt4q+x)T-vaV94KFjUN0HZ@)U$eCdhnS97ve zuZ4Eg_P>`q`qcH}wHvByme&eOB1U$^IKkN{PHDU=zMT9#`W)wGCu>a9A=hFIAEp#%-!J(hseqD?DV`@ikyI_3gA=))a1}Q4YjBp zEkh$2EW4^R&gLFw9QBdBML0G-?bvJu1Mi{LD?R1R9dRPCOiIl%?=`O{kg&@mDPEtf z%R3=TFv&8qJ>3Pra6YuQ~xbsTGwtV>=L zh0E6eqY!`WT`D&0FhIU%**3=aZY&C><#~K_Yp!Ix68b|MO&rn)tkcjV#;!S<$2bdG z&qGBmNI~BxZ>Bj4_OO9O2`6fd+)godIIZBwwZO^>xtchyC1RM_`Nx` zPQHS2CtB&82lKW=;~LT-oXA*qV2YO+=i)uKIi51_`aHP?o5Zb&S$Rv4q$%YaU!NDX zY~Ql=gwF&q6jzFaFJ6?%KR%qe8BfM|U7eVwuvhh@nH|{c0$#L{L5{taomCY=f3OQg zIrr^s5PbZmM@*2|7wHoPLM0d_;Ikv`xKZW-6Q!GuKu>tJ9KZkqs|0Jva5MTLib>ivCCo&Tz&)0~nEqC3# znYKlWcDj6N68^U3g``0^{()mmbK3HrVOfehm8#;hE@oix^5>$rKR9+JF`rQ^W7ztfhxXh zwUnyFP<(}{ttVtt*-HoE6v(fU)GCx!J25vT&8LKLX$Ck!SZKClrl+U6hz8I6H_EE8a$jMhPzL&Ghu8j7HOv*yc+I zYj(&aI9^R*Yi?sqwFVyVd=yLy(KK|Er(q9x z3G52%Z}k3kF@%k{bwz?B{>FYwePY}tjp1+}qWNR%Z*w2BuTl@I?CjP?D$3j?B|vP* z$f55)zSFo|xW|QP+D3bjr6ePmq9pU!@nDLLnAf&c;PEvTm3gT(0%Lu)=1Mhs9$vM# zudt7w9i|d?6E9HLAu*_FtB|=yS!0LGH~O|Jd{3d-I2!Gm=`|Ekp?%#;(D^58#yOYJ zx1Mk*GfXimvkwc*Hax!|UlS zF0#p-rbETAx<7iMB(1ibu@u!k@Gbbcn90D=^ko05tPkVJM1<(m{PT9H(1(*xoN%KC zO6=X7ZmcEn4LCaO%a%VX*BvIPy}{+1Kk}tiX-C~nf)r@eY#))wZn1II$Hgd7l!X4( znxu3;O8=6dCPZnp%+kh;(lnCNrcSyyhH8>f)X36k zH8s=Jv^ToaR8q8;BBz8_Sqmw@=g0j%9>3oo&UqlSd_M2bYk4lOm(7_TMdnfeb#)1M zgoSgmuzD@V0Xk1C6x7w^<-E+9n4&qh=;wK)$QOCEaCcd%adcC13e)Mr$BIl}7Ie`t zvhfanKjBKTutGelQNU+(zq{qp(q~%XqUFkKCGNmuWu`9R=mKtH-pkH*mM+ew)>B0; zEb*S4r85I4A808#Tv_D^Yb8bn9MXqRajIF*)U#4On;Xy#Jui~l^e(mn&?f59zeoM*nrz9TpHEc zMWg2V?tM#U;-H90+jiqcfrkh8aFg%!JahEsBr5|c*)&Z7HsG3AcypdCFY~zYK?7;7 z&xW(on^R0&QXwPXHe)S5Wd&B@b?%E{AxPAx(}TRv!Tm_ne6UErYp8*h%;>m}t$|o& zIKaZ_(LBDfS`nfvaYGOkc5mCmNQf0G9P{@vSr~jHqj%Ir&_5Ykg%t!*F1|F<7n65;k;Ak0-mPp_&KOk> zSu?+~*Eke+k-9kACF|Ckk*E7lr}5rquv8iyw28SrhVs8A#3NmY+2KB9N~P4hldf{PG%qTD#k#6H_Jyjaa38Ijz$5>TTwx`{~*{Tynpc!N7SZj_N7G_)3^yz*3 zLkpTBYbJu>7YUz{Yz`-*vbLjR3+766KZ8f>rF|ApvAtDk@bGvJGJ=4ltLbyD7$fA_ zxx2a)nds2djRSfMjK+5cQ9Pd6mVaq)w!US!>D;#LKuS!y+LE2Gqt||~H$tdbHHbGB zrP4$x(?j60Xr;UqS6QGC&(~g#r_>X+JZO*c105@VK#aciLqa4XyH%i1YvOFFlH^i z5I@aZDR<8*Dtyy{FuuNwKA8Qo2h&)}A2cfx+vsf0H_<9c)y}e4#b4h79*!hxb4i}Z-5|Y<5No%PM zSi|R;X$KCB)(&b5(mjmc^aZ$l)_Q z5R|dTlZm8-_#7X`{-gnyC-r?W$hXTg)% znrlLhi2Pm^Y$=Feu)}=V_W0IhPJ_NbyjIozbenR(9qGbI7V<_uUvJ`1d8MM`^%g@- zvdjVQ?R@QfE`nmd@2y+>lx-IyecL8F(0q_CC132 zn2#9{?lf9=j@5la`n=hLa)hQC`b__5jbz7@L5(dutve&SA{$>ba{GcEeH*E(0t>P) zrwfr$RQg?{r_}RjAN}H+a~VUOuQl)Bb3SN~Mz>sQNXL+GJio7Fg++!)KYU-yVOFP@ zoFHRInhGoAGJneL2PM&s+irRC&os+wZ8gZUFhgC@r=K+6|8W5ke*|)OLB#;ayQ26@ z550o}ac38)P^IE&b%l;b3#hsxAqFqFEk!L-gc2~g%3N-L@b%Pw`h{kNfmIeyYb`FT z=<|J3^80D+iUYkPEEa~B#HyWDE_&l3W#*5+rPTH)KApmzVQC=c!&LIh1*DXZ-|%`B zE-51uFCN4SgNAl`ek%*p3KMk#eJp=Q-kO-ryKp5Ii(1pw6!&!@Bu@dFy+I$bW*>7v;H4}2!Lp{WcU(Pm|JNaBVVXzN zpV#oCLoDr3fYsBk$v<$>Ta0Q5YV?hiJ}oP zsf~*M&9%&YFLNm?dn1+nU{C`?eQ$pLk6|F?B7AXn=6$V{=mym@1*@|-_|JP&ceUyF zxZTtL2CwKrsnjKQG*mu&vUrVke1ml=5)jQdEk+ zNX*E+V*2%DCERUC!Te{^G{e?m8#qy5XYyXFN}{_aPvx8U--&Hf&KUQTnM>K7ScGgL zEZ}REdAvP_ajZLk-awX#)pjc)77+mlLx5m&`D2k6=Z`Jf+#NP00oCSNY>Oa@ArP&3 zdm7B0hmq+iG*M`LiADj>w`hNUu~V|nd~HgVt2U)og~p_fQWqafXXnMz5vY4dJ9@N| zNqH~l56vuiiH%`lSCz-v3~H(#hC$fqZWyxI+lxVJCKYW3h!T^e8T61P@;JS#(wg@2(tn2Y$ z%P13<6pUnVw;$3*MsQ!ZgtTJn@eFo3%H7*W?-%rjo#FYEg%|ss&t}hhzie&@>7Mk; z>_@o1@m{0RF*ljU&fd(^6N~P;+U%LNCyjC8!^4!ea#!{5Dm1Iq^{L|RNm{R2_9n~L zOuT*+HyWLn{CCy7kJtTPEIZ*aE6a6TKPR-Ma=QuIpt|QBl>R|IY{=+(clX^}+Zuf| zx)~mN9@ssDM5A*=z!}gL-5csT!fDOMV@1MvhfLJGN`5ac*NFg)faQB#GJg_v#bT|3 zW9DQXx~X(}Y**16Gx83>FRxAoyNgOuX7^i*mh^3+a)T(bhBVPFkpG^Ud|!*boS41E zVsZ`gP`hHY*BEPMJUVG*T)y^@Gd}WidsKWW;^~I&0d#s^HG14?jqz# zSBw&9Mi1^j2K#*{u<_^nB#G^^mqK3imeg8{ZZbPFcEAt%P~w%qYOx|+s(ty>ft;oXp(L!@HhIq-kQBw-4vZ zuzaEpAWkMvFMTaWOgQg$jA!2A>8<{~KS~cpMtwXTD-_Rh@@K4~)?Eys)M4s#+tgR0 z@j8YCB{U^-OZ7XAbVbE9kyE``{canlgOwR%#%*sm%HuI$2&%(lk0^s;wFR9cL1o#UwDGL2dOj)<&zDnB(>w} z6co8TRJiB+1b<(l9?=!?{f2PT;%l+HaGy=BSgq$?+85{Etk00ZX3}3yAOm9Zw1v9L zwt;)GS+R?gABlyrUgQZQYt8UE_bPUJGdGX-Y&_FR{N8PTy;J0{sk_@`-2RNshrFQ) z6m=Dt6ar^sWk^j`J4i^w|hnxY^%=8x@&p*XH)Q-R-H!w}0pa;3Xs+ zJc-kb7oO8rT9J|0ZC%lRv};d(T}}0>oqV87r#Ix`Nbv15 zCtCA5D2M7Q+lV$UFZ7@`r84x}(s>^ZHOGJrOb5eqhOQ}4sN!GHy2ZcHD_`V(PkL2X z)az9vIm5iJbGh@o6IS{Q{7EXO7s% zuSr5(!+41{3RCm!4{kK{dqNW(o8a!E$z2Y%QmXvv?_!0CMa6|*?;MZ-Iy*hS8%Wev z(p@BWnSqHJ`3s(_L~GHkP$Ib}PR88y(37RmMn^Tm)}^mCj2J|Zl`^WfpvOAq&btzN zV?UDjO5|Oh-p^~en~2C?)vA6oe7?VR>-w)>Zn?HdWX*~h2tpEBht#&4)T@fwH>*Og zbFO9^12)MI`Z{l9Q(;6jeJZ8?KpoW5AE=ZOa7GD#dZr*V%5fIo(@y8bwwMY ziVUL}PDkk#zW>wEC0{3v_(p0SZ;83{mu&_P#p4Ot>=;J6QT0kAr^uA(&DJ7-7cbtn z*Ic4eZR}-y6lwikUSzbPk^{!FbL{-z>&SiY4zFnq6ozfTGZlrl^^#vR_pixIZ}-iL zYEk5FqUxKHd%Ct9ZK+JmjJ#77qfSjl1K^=0JPOhtt2T5hYq{G8-zBC2?Uu z$QbcTUN6VJj2o4gPISGl@;=05gn?8g2R)ceifp$A`E7e-ps?thv|V;AN7H%OEk01~ z7ERF=RcKQ`9dD|v7zhnd7>)i3@#I9Aekp+qB@Qn?MRUEYA40oIK7J}tSO~<+E$0}Z zY#H`4Or8z6uAfs0LwV{U+! zWhV>t%gG)|x*~V>^qq5I)cU+2iiY>7Mt}?2`>zgs=75z1Gw!` z5HRt_YAzr|Kss##W^p?T*Xzx)V{&B1!Y-iy0r72*6$YEeQQ&Ol8}D#2>Q=BC-)%oX z*Dy5XL$CD;qwC9b%XmbW67Pr6_XNNJt|3`z3nSwDKj#?HMECa1Lf6;s@Ez&~5*f0s z_SfSD051ZrRip#%@*=;mZ0Pf8|0p}wLimK+(Je$~vTNU}YDpxBB=Ve|)bfUbJAx}RF-@N)vIdF7~$svXbHo3xQ=BX=^dDT?r;jk1CAn%NQObdAZ@oE2PwLutO z=H+JEG0Z|Qvb%W^uwyVU2YTgz*96QzbU?fioPn4_z;3qKt#>uP-YXr2V%sn)Sh_#g z){OicE@TLRu`&6iMB*;cwbq@n%x6q^+ISz= zb*#a)#ym}YVf&UowBeuLlXq6Gj;bAuM*4C(`^&I#nn!OAII(6x@|fvok-nZNQ}mha z+{htTrx%%F4g5nh-viAgs)$vW!GCmGi#F3xaq6?C@X5MN$#o@q9(VwX=2_#|{U4Zr z(S*toNRRjE<7sVGZeI3S`33;+j7Lr}n(eI^{n1d_r36w39&53Hynvg$j0=$J2&Xne zZ81@z*VRg22nOyj@t$j6)7TBD(EU3cD-PhZfdhK8xJmiOjLco9LB`qQWT4H_N5vSApcQLs{fjwL~lr7cOU*T^ERoM=Ej*|x=;9U4p|qvjn^tV5H?=QaAux=5iZ{{qsCJ;CG( zF#l3v78 zzTWcP?U|7Qk2*O$q(5F`_n+6b8vtMLdW{lRooA(Q91r6XFWGN2?y#YH>)jvEn4B}V z^5*=g(nzyONnQdD9q()1J%zf`>ZZAC(>aZg)0=~SRsl$?^s%ohDenV((3oLd`JVh` zsbwattcKwK7k}AWXm&PBny9GV)t*_q%P~LmXa$C!v>H6PpIgrgJ{Nt{J|(;Q{Figl zOAEF$o@TTA4c;$kH>KNnp4NY&%5~jwJLyl+)Q=8jLsPSgxsgc#FUNzinBlkRQl7!1v)4%Uk22d zo`Kzb=n-r4zL|@XE(6GyDk`eW0HRtNZ6IqMC*3+ld!pPGNITz+4FDuuEz3szhcsCN zxYXrK+LVzdE?OwrspRV2Fy)8rESO`!dC9KD10w{*Te%ywh z5eT5SGA?jYzIm^^O@S_DD%TZOU0;FXI`j*=H~F4_6`$pM^KIVUi-{Rp>=s!9g&(DM_w=Chq_mDE09N?C1$c3 zGlT!U^@9}@G-*7oo+SY8ai!;CS5M~h4E*%S`)e3|yUl>L6ntpyL^tW~o$C{knT~&C z0?Y~()b#!Q%9Tu6)+!)N>{B*T%fr0W2rX^^)DB^|5FQ;{<~>y;@<&;%v2BV(->1{; zfVtU2c6qzUSV#QOw8cP=p})I<%gV)00-xpetayBc*;`0U{Jz)5FpEX$)t$^;&jbI4 zLgXV@n!fC~nx7%_`?Jnpy%o6IQ8@-G{919q_k1%3-F`KGtSENEyi#3l3JwwK_HFZ5*T0_!k_$954cn{o3iv267G+AN$5rN&j8Pw0tMjQ`D)FXb)pA zvbBl;qH4Gv7ZLdD(_PCdZ^%$zpN$7@f@X8zKejF0kXy|NZ?D0K{fzwIx%xXJ9rY2E z$@l-<^zglfOK5zwhKsRet!NmK>&95|nW1tXV`m}36HNra4mexgvGowf*JHZzIJ`JD zu5vq_2?DV1@Xg3(2kUCe8K}JGtO?Kvm$y^AuEgeG>_D1TgT&s(COFjhXk(XXpTEqqmB}#F3c_78h0>3UBPMlpPAGF>RljX2VK>or> zN6xAf<}euf{{A_67Z&{n*2mz*G^1_`xTSp>__JG;ZaYwQJlgdw;q2k~nA?K@7?yy~ z#V4>Fd^5{8{Mhl>7L3G zMNe&(qv503O=je@LNWb>4b8_78qBZx^tw|~8WjvHexXFZV5rUhKG?5IXS-LLa|(yX?s=mqnx<5&W3wyB$COK%V&d)tOZ1 z{5ZRX!1g(~Svdf++LfSq>?5ZRxUYLS+gMCKCA~UnTho_YY6AD15dz+hOL)^&IqU(P zA72DKhSOE44i@-Uop0ZbF?SoOe#sE{{}q?Q#kCxA%=0iF`8jOtCSU zh8pvY_e4i zQtr*%=x0hi50_Se8Mum0fa^CG&@NtT@_aDRXrHDBX2yr26=U8I4kdMU_b3zFU)8s| zX5cC#u)5>sL#gMz{HfyDsCznhH?ZEe^gR$-%#-?_Sc&5!AYk5aSp4uv^wG z8}$8eMNEYH&lex!PWe?sinSCF>Ur?1=WE4ulYEzhfE)tfn~|T!2hy3xeUkn=5OTnp z3HsTR>d-mPl~k4@^UpEZ0A>*436{G*#niG5fn8YY)-?UEynJ(H?^ZAJ-5)K%pU?YK zvq@%9Z@9MJa1&5|_Ai&C_6V2;laAx6ppaddz*G5T9iLskvQ@!qmK5INKEZ{W0oGby0dRPqNmHd;#x>4Vj-x8C)>%OCLi1=%?#fAkQIDC z`dwWRC4LVoTx(HT{9kGpSRO9m?GcpE_9%<*^(fzD7}YHe^{M6tRQNqs#DxMWysY$4 z?4QX&6SLl3u|5qe8pg%KV85E#4TTRGD!@Ub`01 z2=qokU8(-F!fO)R6*+_U2}^cJ|*H9 zf=bY;U2)fH&mFN}Dd5CMpG!=d7ZjZ|6Qp2!#o@g<^S|v+UmIabk2+!x^#|t4Y`T@u zsP=SUun{+tK4OWZow=wq<8rd%&046|I6x}EO^L*o*CZRk!fBGZIeKFgfEgCwgSzqW%!!~RTZme*dL1T z5|G;x;^_f6uklc)3X2d{Xz`ZxGtHTi1FpEoi(d4-#oDax*X>k$ojEN8%pbWX`rS>x zl-DZh-k+&w>e_|Rq_ql~q2JOZjnQR64V41U=~dL9A!WXcM*(R6roa~S%Z9Q5e~PSa z9D?DePG4{ixVz4T3(d%N&jH4HTB;jor5#8aQPW!65GJ@o$ag@Ks6N{*ve=PfHdH3j z0ME*K@yBmf?EK<~Bdp@_9fIW#fwrTk;W~3q_U*EHy5gREyXg~z__ygqHT-56>|`)iN*c?>e||Lx))9K$y!u>xg^@EgJSvlsccN}&r^(0lB;Tv#hUczB z{^~>!P@An`uh7X*8dU>1ZrlbiyiK(~*AvK|Ukf8&=SntTPxcmF;>&HVvd#RFu`82v z6j#Z9(F8{+dYb}@s%YS^-D2V*UCcS4)$@y;HXe%(yYYB>2a;6~RM|Q8`wtoYBsvn* zpx+H|#j+dC&y^s^#N@-PhC}6i-%I;*iq~M;zvU+C*I^~JJKh_q={^1)Uh-n%!$HU_ zXk|x(gmG~%(_fM2(#tx>j!sKK&km~G3nkA1**Ml8?`f%YMzz=|vt>4=0cgp5Il!_% zt~6=|^c_4|f$TIfRAe+RCK%?o3y%}@=%?=_z~_`e_1D`ZO8v+49(VQ2OEt+&(hh0j zLN8|hq}}f>y$dPjv}bopC&?8Z9otVY`+RHtmbYh9SD%9B_}fC>luOf6poYu}KA7uFMp==0 zD8LNnK)FFE;#pc_RfN=DgFJ1BKIHzdNI2PSrK8PEzPEshPb)-(ZAWP>B2R)&6MXC< zeFs9sLidkmWHmUne^FVd+wBDqz^f(c4mh}uXnbpZIIMj?&$MO+OP?trQJM`V^5tqk z+HDv+1^Fe`rb@dM^Fp0!B%Ofcb4;qeIJFKyOpe3F+=g;iv6!eY^jj5~OI`!a(hY9| zg<#rJxGE`g7oKIAC~x}xAscu}|JZ7}yN3Hb5-h`Jgwbblb~4aPHnSLn(w)yi-iJa` zK!$L2W>5ntIp~B>ErpjHk|l`yA&Z~Y`shbEzWz}c!u*}5C1WG2`~zRn#i+e!kOb&g z%?YZ}_h=v*QAnK-8^Jte8w<$XX0Dog7b4yG!Dy!l)UABR(LvV0VWEz+1HlSIvmmaG zk5xA>yL-F9Xg{Pu1iT~#1ZzSy*VP=Yio>+R0*Z4kDuX|XKKFwdrARIzW`g=qVCEf` z>0(0;sZAK^DCUrdB;rQEe&XqIZ7w@D2ug+pC-?XP9rvhfO zXsAS=D#c@f3vBLmityZS)Ud&7RN~F`y~uWzEu?9vOr%(QFYUuVSn&&a~gswj;>zbh?5HfdM`BwX7Ow`@21+C5kL*SIg zU7iFhhJv&7c97w#GoHGdQ&n*ntZ>`xiy{kxK$*{T0+1gMj?S?ET^jR(~q*Ky_SBK)~${e>TL)2m6a4G;iwIPBv zi&=31JQ@^BfXMwIzy%DtNFOK1$-Mz07<-(f#b*m*Q8a2HCSFuR#O_g6*`_Rh*o0pK z&a8wmO&;im%&@8>oKMp5qmjU-aLT`ky&CjwYH-P%0TvvT0T&vQL7Rf8L6) zA{?%YBWCN;M5!BK2c$aFL{YC7X$CaoO87?|;rRQ??-S=(QdS66ZvF8crPpjA;Q@q% z({P)Wk8*8IEEuW}@5Z6CZBq{XW=77yT`Cp7I^%pPm6zhS$4<&F{zASC^xn$!KL>r7 z78p{V-8S+b&=-o5pu|(+q-?%co9t7- zJ8YfiD}2u6fT|p1eVUwmWz!cV+8H@k7(!`V2A1;=u0JJS;B9hzdA|`+8_K?Pwf$w0 zR0^SEgzC;R`w3qU3cjaR0pe4(y_gIlFx5Uk)4ry%Od~(~O3_=#G@f2JsS5xpz!B(? zN9V$&vd8I10J^N^ykP#GEk3<8>g8gf^)yJ)!7@qLLrf#HEUPT&0%w7v+0}W+Q2}+F z9v4H?387eJ0O>5#*hjC6G=vnV+>H@447ZKcXgk2dC`7*o#P%p^D~uh>^er3o|B71f zkiK?l3kg=^8;ZzK0FwDniKKX;E8yu#pN}D=mxh>WPup62^gvRFLMP3iVlLgp*Ly{^ z)UnoN+j_WxeY!?OfrI(JA{bV!itVSN8aX`=l;KF0uwUF?NKE~e{FhE%xa z$4RGP9x0gnqMf{eRG2QDtcrVLYS|*G8fKj)w4rp}ox|pX4*jkf^$x{mU{Lhd24SJ( zak!@l&Jzqu7GiU#OYYEiuM$Z4;Rmt=HW&>bL0hyqq)c-87N4=9xO`>|Zt>7Z!w;aI z2q@xB$Kuz}(X3D7LvZuyKN=;gRF;QURvbSap3$Y4A%BaEyS1+wGpxKITG_DZyTRng zpf4~FTsT>Lgm!=lkULcZHe5kyt0yc*fKx7n=q>lU)j#nn!pu> zzbYh+?;BRk>rGV5I~P5Cz7AHV0&t#ejR%}{t%~BNCZ+B2-BovnYWSQV4@bg}ard?f zm9l`eqGf;nt{2fQir-gJFS<6hfKO;EgQ6U2vNkku;2Q+aMor4!&B!4w`Yc}k-j#gj zY59{*U6B={rI87{rEfY=_Fz5#pn#JM_{%i8ykhD;=#M$RM1sQ?Yg&WckgSY6aUVb- zz>_~4^jl@QuI+*Jpa;)UXQ%2&(+>1P%`$j`P`lWLLVu){SeBLlG@|K3Qvm zLFjQChS(~9Vb{{?0`QcT$7=c>g`OG&n~*YE5Uc*DPsP5ck0$p0@K#EqgLBKY`Uwnk z?-9<|-PdQ$FFJte0h*_n|F&^C0ML^A-K4tdx%6>}DkB{B?#Z0|D{TADq|7%N1{ak^ zRjwZlD@Qfl@rv6&g-^aaS=P}x3F6~*1U(sEv2WJ)HTrU|pMYi50&{qG6?Vl(o1Iz7#dJbPkEzBbV5|NPYt znxLr>ZO+8(J|Z&qrPO^l1XvJOfqG;h3Gc%4BEIiU%y5T*+UDn(|C96&gfepDCjUs| z!=Tm57{_a|x}j`4u-&eE^3@rG725d_YG6b;R&O z;sU@kokUg61u0^iz81p%W!Nu7YSU;^8gz)sD%J5FXwy^x+O4fxDt(yR_kX^N zzw=$r?@!^RvIxF=2=ojE$T8>uFcJVZ#6^N+RZ2Jz_x;~t7{M0iQd`{>mC zP&jXGb0K(|ehv|1IuP*h;(d8&Z|CGhjHBVgTLQ4#4D3%hWElm8>_#fy>;D*lZzmrE z{Q>`BpJ{V}(_lUV3gB(={`@!ND+HJ4JTd?b0bYR}jH}tJVr1xKft}71N*Tu4;&v(F zSeY1j3am}<#;{z%Fm^69T3>#A2Wm<1hA4DT%8_LKZYRv1utHB+`Q*X7s@zBdnNiG} zC>y&Vh+TgUZZ2GorBF?k?$4ihPQy3+qiu`+t-p2^tg5-f!GsjO`XZoooCzUJp5%5r`zneR4b_3t`ZXbX65GFt&~{s(Oo^8 zjV)Z-zFT>hKUVHCfK{BI@^Js@i4})xB-4b9ALD!RsQ(wwmnSFY$bmtYXDD*>pqLI$ zU>Evb1Q7ftFJ0|>ivU=aDs0cwPm~f8{)q1qetZs~gG{Y9C79{UkSQC%D)RWR>Y4f2 z2Sxo5wj_stq5Gx9(W{r9cO_2xPWNm#sp_tgv-=A_t~PuE?7uFR4oqwT>}Ziu8bK|U z4*7}mdV;plQtWJVb)MaCQVuLlUeXr;@P9JOM;bjz>Ble6ey zta`oEUGrxPgDm)isHy`Ez1b9&KPh=QPJFh$p8HY$k_@llxVU5lN!k7%O@#x10pUnFs^e-y@(F8EA4n$xN10r>X^pF=fY~{5?n62~8YT|j zcP&4D7?_avjYT8s7~zv8h=<>`{7jIxd%C;ZPyb_iM!6~lTZl!{ZW0Qr{LK$7@Bhpt*O}tz7#@nbk~H=2q9@TV9I&<9$Mh!ra!5G z$M|sU4KmK!8>~JPDgEo3_wpjbV*ey9mGW96g6vnSf3%@*4rJCzN`vDxDx}5YX@FIK z1^mv3JfaFWyzU}WIML~{*pCVIepk-`ivpA0Ww3Rj4SlO#RK;C)ZP4e#)I4DTWdErO z?F5wAW@IqJl2H2^a}`nsbZyx@1{uMY5Na|OhjDj(dbgSi#gvMV`#`Ao_v4lN|3s?6 zKONeZ2Gp$-oEhZ%?>O;5|K~%;^;B}m@%?igzTn*P?~OmEC2bo`JD!-#@z z4dKby=ENTo4~U&>mw#O6vucMoC%8qYBLUno7qw`X=qABTQ$kU(HJrN_v2ig@ z{A^T;-{OvNVlEyQwc3|z`;EaGsp^tt!b7Sn%DYha9K>8lW@g$(Lof8-?W*C$*R_V6 zK6Sv^m_jpbmG0%c#NQXI-^?2I^^u!UF=PZQyv8vqVxy=1Aw2zp21#i%c7Pt;gur5T z1+B>KNfXQx7@E3!{_!$1wcI*?(a(c>1hxxffANvDLt=v11fFMSg=He}*| z68?L1e0eb$S7?<0&52>bVTgl-|KJDthXez$k!2@YM1RX0IL z&jW?qbRnrnTbL}#t^eXl3wm)8dIbU#knQ7p=$2d1=vL$snjf;-HBpp=T`QM)#dgmLY1t+~x@V z1aB`Be={emje=gDt9yfsArQt@0k9(OhU6!trLtlvuni~zq<|>KRv*4`J)VH^GhFj) z3&%1(Y^J6gr4JxSq^L~x^aiYp2~;P&alOw>cI+Z$oFfd&RX&`^cy+5QJlcP)-*urd z2s%q(&IQ-!U#up&492`RW#`pwp27qmsS7WFA^}~XmQ;w3>%0U&J}~Uozu45c|IvlX z?F*?NZj)TgxOW~aIuHsA@x7NBw{}CjEFdJ#FQAJDep4*Q5I2|^0*L*BX{45RI5dI=( z!%{(ZEdAKg$f9kZUY&OgGHCzq*nQJA`tL5;3^~rvW{6a_8yz|q2C?{@RZxRrfI*e% z@|CVQ8D>9PYnB*7qKU7uQkNJ~)8#qr*DX$k*39X*EF!hK1OAm?j-~JMreUXFgT9|P z%=qzMLg>s%6!?=+!H*L4CXoM5c=uXqeiDolkj3GJi-IVN4FoSw23U6~f_K4Wh^Ysi z1Qc8)=3>5#kH1U?B<`iKW7wM@F3sKC@AlpOyDDy~&Y#|>OiV-SZ-d~-p^Sx3Eogp# z86;BnUU@oLLu_TEQFQ(7rv_zYg6ZMT87&ki6~ASGhKjweJ)NRiFms4X=iblmmn z^ivmq`I;_7)x6rUwE&exK40rLJ9F6Lgk$Zw%U<;0gccIq3vL)6`m|qH^mb_GuLV;M zKCpn`JqZa2{Np+S(UEPO{NKgUy{S{4bh!?jXM4#(My+(q398!3PqRR7tG1tG*tM>)DAQ-{Y&9q_q2j!CNNXES$<^D2md@*5eAGVCS~OI* zwVHG52&({Vb*D4Cq*x)5W)J^ut=YNIx)(=qb{-^t zP6o$Gr*7fF%{Mo<7Ky)j0ge}tdlmy|?6~Qn<;4jWc)w~@+m<+@9JZU>Rm{JzVwpVD z-sNl?(ft3VGWzd*X`$#D0?C ziZ-_cvhw!!0eNjcT+>p(mjGQVjIDe#8W(7OtdSxtRn%CNV$8jC}d~l%Mg# z*}9^-HcJ0u+z;UI1JWK@<5jY%pazQQlDQ9OmsCS!e&=#mJCv-h@YE|X*v$F>WW1?& zezsfK7QY(;UwZa~r;5f`t1mvV(Mrf1w#3*X*jl>uVp4-UF>Qqy zYP4?~-*~bJuz3+8cD7rM3ZI>g)KYPKh;~l_BxSfDwSIdt0s2CfE)buQV1 zw9dzl5<(JUO3vfuEV8RpDD)~GTCNQb+7v8YGNnNvrV6Zdc~MRW%2@^o>ZCiYz<^ci z7io@qQN(2As&X-Nh)A*N!J}#lJZ!Q(GlF08S=t(b@Gyr za6Guo?a6)SnBO@zhQdVGlstLH{n# zhhrZUWpz13FT(I`yTCl70RgPkrHq8!W&`=SdB>@oJ%s8-8xVzqxTDesEx)F_o2j&< z8PA`w8G(!{>%>A6f}CYBA>>_6RT{mIE8@UAXqq;i!cRJj9^p&KEm#p=0*vN1&xX3? zlCI_hQ$`lMs@(7?;S7}!Hqa4fR8U4o<_wQjRp)!;o2c2V|J^z#fHLISrZLG`ofm+h z<@{>&#p0)#kur9%%okOz>ftae#%|T`)tf=WF#3jAsC!M*)ALFRkrOwDk&3j`>i>*w zSJL9iX*JZvh!>iQKa1yA>8whpv$M@!U~*CLhJSB_UND$XEXIEbvPUU@QZsz1lDvsQDVbhYvh?kvqR0-!TGzAiww8 zOnm;+?Kcl-xfa|}&pWXy5?uC(^l>+-9lX3n_71NvNU&O^NMhcz|Npvu(EEVl!>jdI z_atQV4!S~zvVJ5)&P;iIb`jWaTaPtLRkO0#734-6KKj9IziNG?-;NLz5XCONrSlc? zFVkMghHZ@e8IIxAeTm7+-0O3>s8*oTU*oAIC(2hXVf9E|FMe zEZDn;ox539?|?Gsz`5i9-1RO{hwERos_Lz(RXoa(`rpiUZgozU0NaQ^leIPvN)`7Pjow_1H!g~wZ$8J*i)3P@l zTt}jlQ%7u<0v`YNs(4Wx$G6Cxn3w2if@|56aP z{e8#shqmJ_@M}c?iGQjq`j&zDOH(7y!j<~NqMi4M1A;(a9#-_XR+G$j!lTT5r0g@m z54E6diG-=n*lqoQpvSVA{K^;q#cR29{gW{au-V956} zltp{(|9B$%)I0vmc}=#1tc{UQ`EP7y-k${(Kde7bupa?r0_uiwm^AX_MHK+% zZ}IiU(T`!Q)3^z=z)Mh=EI~iC1QL+hf1-gvnD8AD7!d)KTLBl`^4F|-D|8k7G0X;n zU9EL{@pvIT?p!6t&RGmp#RUW2s)mMtAy_h{tp}w}y;*$;BK|X%1yJ=@_vOOrF?vG> zgM^k60DIreFj=1>6e432hVOY5U-9~=do?af@lKG^)}jNKx&O+A13d`sa1tXwcx4_> zF>d1?e%8e0Z6wh>LR2F?I&qbZZ)8GXB#zG@XUX;hnLnseK{x>&LF`v;%VfhNO(2p* zk$53OzCXx%k_y-By zi77nsVZiAnye5v)$O`%XWzQNtAl#_h5}!IJ$&R&A#88{Dt)L5$5{&q9(pk*c0nxeP z|MdGj-+_OG1G=8O(IBZO*B-#S4b5hzq74L$`3OLKl}GQ5`RnNbm00T;W31o}nB384 zndZV+cNEU)=fj=|M%9%)N&^t30beom1OTj`+-&2WhbhhhIC|9`YwqWe$~+imjPq?{`p)qMt~YSj$w)lo@Fsg z<4T$ci6}M;ByD6(TOb^745__<(>m)Ts9)j#%ieoNMVW0~qaBVB6)^yULW=>FWQj-; z=vEPom1iKYOn=*PL^$r%y8=DG59bnqbcDIKibB`AX-tQ&7c@4GE3n0cDr2 z8$XCU9g{5v37e=J57!wJ!*{GAblJEd66(VMhvEMEu>{0t+%_{C16DoI5z1>LV2Vr$vOG;R`$ao~H`(Sbi zH?0BU8a}udTIF zldeeZ$G{+##)@SYyjgI0>B2g2Mfby`0mDno7``|#JfI7LOKcVSkr zd-SR%lV4I)g8iiAO-0-m!QyAcXq&@Woq-P}>T$#%Eg;W; zY3z_OvH&SXPN*#tb!aI-lEld!y|*JEhGE3tNB9&l7P7WIeRVMG)Ez~Rdk(^Y4=DD^ z%%|0wsq-0#GaWb8wS8HrniA%O>9`CbEFwwoHUnX#5Uk#>Ty8 z*D5rH^L8o1fKr7{z4z&T7DJ-fYNoJ#J6kad%a*YC!xwmR=Y8Hp{S*F2ESh4=`j50} zXpDvvLu>4GEqU*|g8xNZNmF#r$k(S)tbwXus9KXV3CN8tOSY4=$Mj)MvvN4AI z)q9T%wev=krC=Ja>K@7@>~rk5mvz_e3|@j$$5Bf#A5{b2l_-|!em4XEE&n^=D<{Tg zRkeev$MheP?2!Tytvcf>4m_$DO^F`p9nX#zz)|=H!!ZiytzkZ*ff(^H!L+&gh8nni zPPbe8r(jG8tOM6^pKQ!5flKb;m0?scM_UrpP$hu2hz{QlnXxOR%BC9gr@87OkA(aO+0+#T;lQ61(^8G9nR3e+u5 zY^#5s9|tij&>dljc-wN3sqz#atGd|+qc@tn-)&3anIEtPLxctPjF`pGA@n*0mDIzn5$Ipp_2%9s&ygtz1w(qcO z9`g<8RDkI2Nk-Zz5UFcU|2P~83z$wHB!WD<(pV4M-KS%Qt}fy_R@r&D*U(aT8uaiP zj5wwte9E2SEqU~H2#$le(D8OCES{EHPfbWINM)($XI1VFgT5Dz`vclQ z`Jgba4?nDV<--)pIl+UQ{1dO>e-B{)_uqi*_ViGh@j-BBu<{tDk$3F$_dA9AJuMmZ z8!LlV(ssip|FWTU;_i+jN8TNH{3i$oSb#(BrRA14r8^h5rH`E9b(;Q-3*r=7HDx8< zffoOwlhUtE%QwnPFtIH-uJu3_#o10S`+?4e7wdB@&=QK-awxuy&+?Y{g|lS|a@pi7R2DG&&vW2lukcH>qg@M6n=@pLZc+w`2YT1|8!i*5;UOHkDF9 zU4^!y<)deKw_#W0T|I{8v2}{PGx))IC#IU5-gT4Lm@1-y0a<|r=U?dXC^xJhimG}B z*yPRDTex^n+`I`n{<8j_qIBGBlX_09(ET7`4N#QbTK^a4f6<~RCh4*FgYn-0LQcKJ zWk+8bMu%YTh{L}A{m;W3z+ic&1-x-xZHZ}UW{|_qR>%6!Il5k zw|N`xYID+rKe+MQ#4Zb0jQR^wr83g_dodBsp+pX2^pe*%D0s!0V&4bUOm$Jk)=%vK zCK0YU1$lk1aWj-Qu<|J(GyP)WtDWB||1k>>S~(41T8ha2wvzI@OQ6SjlA zROHeAc=W27|AR%+8w?{~F}#P+Qk^gvrt0V}MR@B`_O_I-J!rARz;8th?Y0x;J@u*3 z0ER4Vc70oPDQ9J!)V%N?2_ZF9qzBtgYcX{p)^9vC_-|M=34vkwMh549S znArO~%Ve|>y=0KnK8EquKiKI9GmP$4VQ{HM1=ggkuj#KA`LD<@CF$&w*z@3~*9*SJ zQ`%*it_yPqn94^v!m${xtDN{K%N#lNb9;EKO$2}EGbE)=S;D$=HbHv~?grtWSm|$* zTrWv*>XGlaSoow?4fV3hydB?7)KAT(Hr8_siHZ_avrw_~h!nP-3LmJJ5h1@P5 zmQgw6{D{4iQ-VapZ8{oA&;d-$x8!H+45j)&&92J~{j@~l)grE5|{C2jz;6svscr1$f0M$EbUq{5Du`o$C z@^Q16*Ap*w^6|k-f*Cp%M*bgU-~^=}I~)B}J;?xy#kBVC1?C->wL_Vm79Ck{bdWt% zDJvVic$is1*GjU`$Sr@GCvO)0&5-HqGf!#Z)Ny)?UbY+Yu}hem72L38525U(_{oWF zwIbU5i~PL5;8auJH@G>@7wJzmO;J9YQRxgbcm2s-uhy=&*I(q%v0o>Sp%eo!(oHJw zn4-4{0wQDLTs^$#(*>AQiqhcn{2;Axmy>u3IOB?iK)9*Xq~o+}(lLr~WY*H27}USs zO4m*9wPx!3#tkTvixtKj=N{#-U%^>WK%XTfIv!o{V##EO3@YYxpTCMJ{VUd>*GFI5 zahGA;%#HNY{oA%`mBo4{fDy-iJ(?zx&dIk=#G0p*uW0urf6?)|i9qP%{+@by z@Um{^i`1i_gt1Hsh~Rl}*moC0&EiS%54W)VJs zBNz3^tS}YtnMuYdoIm#9UWp)LAHvFy@h6z*5B$ZbPtQ&Nh!#t&3=E1GAUEtMX3eue z%q(E+@dL+e2IUH3A94^bV_@^wX&}QbjMq&j>onY)%&S0JYK?$+^`kC%CGH6lYmJ|q^)4F2J2zs_q_j`5H0UG zh9KYc%2zl^fJl$B*!O_`b5WQs^95{6Fmn44sH9XpvyI?t^~{K=Fyz<-&Br)#;bbT5IyG=Tj|W(9eTUn`v6EVN-G z##Egq#pma&N_tdC@QH-5Fu*4cD*(jh=FIonUsZbJcDM_4w2I766V?jL%Gco1+X?!; zPzEhWk=cuj{BQt_>@Q|Pa+}5g76D}UIiIG?5p7T)X!^AP`(}YVCo~F9JV9Fp=1jES zx%d!ehj~ou>ntoc-1x7%4T*tGMW&~XlE`ne7HW7fkV{GSV(trFXyL>Zs+iQ3_alV% z)Sk{zZzd)^L8Jp=f=PM08S3qs7%cJSgnv)-H&ef;#K~LQafAl~F1=C2p|u&D1Vq z1A60fUVDl)^)1!CCRxFe)XVYfVMph{{XSWFBx)VF}{+igIf_UnRC#fiH z)z8>X^}_bV^w3L(1|aSi%OoAX3$2IbI`B^%Dmz37Dh(_U5`@+;cjJ-V;Cdzxls@V z^phtyhON0J_JHWXeNT+TfKURGY_~aL_!mpK=ZF}S?xR!mKy~n7URF_2d#2o0Ma)*{ zyrcc>=_Z05LF3x8?a~$@pBt8~#~owdr`u#nvJFenTGeH7o#27YlT%OMjW@ke1be*? z2n=JN+H^FFtu5X|&`%GNpO7(##Ndd-moHtSpCa=jbvqUiZM>UH97iD|M!wFrF^`_F1CuDx&^*+fE=f zi^$U58pH%1_z=F@hDE3XXi1EPnPjJa@_x;&#+!62rSu3l+QXvd^m9Ch2LWZwFVH`K zK17VBc7UG>w@8usdNUnjN0{^EA=+in-+?v#i_W>auZiv|3tmbGFL#z?mci-Q;QTCz zwai;(+aSK{c384g$$-w&wfxvVgdp({(&X;6jz-rL{udx7vX0grp#E0yie%COKu!4l zS2l{HZ`!gRO>7UJD>=uB8DA(M{Qj5k^FocQIaT-Sy0Q<(@a34?H73M-k%T8DeedJF zU>k#l$cXRz-`p)E zarve#{qCU~M}ss&O?bb1x0UUx_#c1tgAU2``)|LR z>wkXm^xgmS*X1(H{`dDdB*GK$KR(AVKmFgo#{c0h{`>2%7xjOy{C}6_|LtYDvCiSm zkSine;eG9*yYv}e@I z)*fSTMb&~f&I}}{t=cH}+^jk(RWGNfyPMTtm*_D+>lX9xA=SU6n>D=8xN25aDkM2> zJ=L_sB=&#*(wYiuhXI2qvD|tKIDnDtBQ7wnvt8&C>re51A(bL(ak!y&-xhZO^ywbVJPGzG-Ud`a*uQd=a-m zG3WFn8Cq^DZR>M4TJrw9c!eBgq0rJNCO$siwyV_EF!5?jcA`e~wW6x~8p<1bRbRY# zflt3~bTpSe@|rtXdG>Mzw_|C*23te>62J9H9wckpOpjbzp-EYgQM1(iLosb#`Z|AJ ziP>!&-{%PE{{1#1pI$Bzc6)w0?lAq9RI}o6p~<{RylsVX(~Cv{m(R@1AO$#T(wf}*-pBm@^OEiEaftL-#N#Zneu3?|Zl&V7*;i)n zRU+F+_RsAxz3`Aq;_B$DiNjMLKYpw|#TQ88QvWwzQk5SD>F8wex+&SN&ployUR<-8 zC&njA$@MV()kw!{0}U0*0=vzLv1xu{mc>+=`F!7e=Hz&=%7UC}MQC4+zr3mKXlF^d zHBCMt?eoI?oYXkUf7K?1-0kPSy?s00KGLb(ye*%lnYU=G)(=12_~FQ*-_EgBO)7p` z^G~3@k$eQ#5j%a00Tv{zaA4)C)h{0og_TckVK$~Q^6Y!{8M*FLZBARFT2javV`FxW z_Kj&q!t)J*0y51scUJ*=rQ1+z-m`2$Uxs?w>?{?R zG%VE7)osQONM`w$hA!G#D*n#}xsUE?|7^__Zw%gVE=bFzAH2r+F^`M)YO=b5`O8LL z?MzF_UT&-UXPP{W+(+lv9p;d0AREQ*W zc;3AEQ>nNiu8IcPu6n;VP7?E6oy{d*8V`!yJMT)VlzdO~bM zNbXUZH1$-YevdFCHK%>HD_A9;W;yratj2~Z*~{;LG2UYWBvWG@5*g_}`K76kayL3U znt_cuVsA~KpQJ2|N7pb+4GW#qS?*^AGSp|uOCuE=^KCkizSWNuhnBp1C?@=&GE#90 zYf8j8r!OCEdnz8w(QEfz$z3kGc0a7c%g)FaQB*z-1aU8XThnfG%$|A#KQScud=;<{d#qjQk>C+FCWtx z?o*M>^$2efj~{RF&^l_u+uhx5OS9runmEO7yjbzm0erj@vTf@|iz_NB5U22*EwkFq zGvmD(85wCW{`ciwWXF|#C_qiTSu3W!^_hFl+vIkg3A>rtkaE#9mpIKitASw2W-Xr4 zGkJ^jrY*XTIxGqxUoX~=H}z$ z!@7{Fmh5+#xZIeu4ZCcktd;)s&Ygi|{X*x_D#hXBvlrY(UM>kB|DyR&DC5rJl>!c( z#lAj9SCBqhH7EbqK@>Aco@|Tdo;!7xH?`SGI-k!=k**~w5$nlo*W%(UoU^zKn=g{8X*JOk6YIzWqOSKmHYm7u_2cu+_1scPEmj3rJ6?GOD@}fENYz7Pn(y?Nk~E^Z zjeUOW)P6mYW%D>R|JtC!rFRd!xcI1gIYS8{hRsE;Q04BeI_e+q*%=;zM(mrIB-oS5CW& zB~B-z?{uzhm$8S)5sEIJSb+1+XXG}DL+FC~K-Rjw5TDC;t*GgxOPcen@V(~u?%$U- zDGhk_>Q$hiENx+yXz?#Wk`S{$p#IGsC%!&D^hi;l>US~S+A<42K<@#V&WA@dS zeYTy&KH-W^LlM!@bi57HC!VQCd{msy;i4(SEvLRagGXgWC~z~Y zw9qB7Fb1)-Ph0RV{r5C^s$8S~PT{^+UO0|f^RvvfmMlwI$ANQ=E0?U=sP3Y#o@3P} z(zE6^w{TRgTFdhbug@l)%&S_tj4>>bk!#a&lQkNr7JQguc^!eSLDXZsQdVSSq5*p_#`9h@!?O!UY<)Ps1%Z=1FlVBy@`L(tS>=_N^nTv?CD+TsGE!JDHQEsHkEP8&J z!U><~o&EIE6Q~Va)M$b$O5T1uTTd_YBop5es}QK-rcYTB#82vs=CBi)lwX22DQfBH zd_>l;mHszDi?tzK#Vy(LAw2Mbm(#O1<=q2HHEE`;EA)A&p(KCAL7c37+Elh>qhzDb zYi#Lz9vYH&)x~w5|HTAwo;;`QLm@{%=rsn9ErEHy_yjIIy%QEQ2Vr*aIi>0Jv!5RcV zf6W)Evf{d#J7$^h5j*OWwF_v`S0nkZ<4|<5MI!cGI(jIpWB}nNRE6RpK#5DRtPqiw z9)BNmkQ(B`nV$l-NIIK{%X_X<`;AyyVQu`8`+eLgm&zZhs;VZ@#)w=Rb8tzc<>6rR z@kj-ksvllDG2Hn`RqK^Z(~(={=)cf$xcX*958?tfQVp14g3ot}iTPU{;2%Poxp(j0 zIf?=@H{GV=l}||4$;>OwnMc@t`0{3(-R6VQO)gHKC6RNb9VN2^m80`IVl>k>|zz+vT19CuLcV#@haZpG`SRqdRYpb z$A_WjST(&!U=;)uTpM)h^cCGDYf8HO{ts!hs`%Lw6-01+JVB4FV+y7UIKb{sfdalyaOS_M&3DZ$?G+@eK``ezLuQAz%XL`aBVKK-k;&p$zKLWblMW8ygZ zzB!PIP+_OyZru8g^^V7c_w1A7N6asqe){wGh8!RMj2%06sGI+~Sw%&qO2Y_n2)n)O zoqH+)#6>Mh#>GD8di~Bx(WYaW+NY6cZ!KG^Pv+?getB)MIqykpN|3Nhd!D`7chD{K zWu2Cmd#Omm!GjHjPPV@e{X`qfeW7oE$vqc=^+f-i&D_+mHG*$#NM%I@8$l;E%?3w> zS3*~RpjynhA{I3h)w=(Zsj03}B`dP+?R`;gs|sV}5vuj^?T+|UKwCj6=Obm}u^iTQ z%~Ek(C@uWcKfIhX-4*P)ggcuy2ISRgb|7Ur7gycbF;bujFM_SI2RoNppE54%K06_g z1XuD*-fj9ht6-Q+CPz~iu4@|RWoBmLQ+8-y3nW)OmhPP!rfc*|w7X9kF!}0OTnkvy zq~f%Q_$4V5Uz#%fRCtJ}I}u&fRTj+YPmF#xZT}S)8nw!p)+B4E`N(Q=ZUJpO+S=Ma z6V|Y`O=kulUC92MW62dcZdjDzC(T>#w2%YfF}6tUv$eXp_|Lf_`WH-ik;N!@ePfR@ zW@5C*K#Q!_g`VsdEBm51Lv00=+r(Ol+*Nm*?N4kFE*hrIrKC+_HT8nGUPd_HRw_PJ zI9_$MT4!nE$;g4`tmN4+0#h!`4F`MNJsM2jYw@8E;V!w;$%{VI6Ru}nRPWqPBx6OV zs(PVmEF^;eEOPxI&b-J`q3o^@J5z(}hYP7SZ}9bf^je9SH27$XS`fQSn1l4oN2CFuY^hjh+m2U@ zW)yWV&2M4i8h9Xfm@F*IxbXV6zj+DcAMQ{47Q52uoNeg=r61$5)&No`XH)P{{OH-s z%_7N6iK*6o4$YA!z3mRYZ}u6uTr%C4JL~aept1T(tJ$Bao}%1u3~c5`HYm+3o($*$c8m zOl^ptb>8$~#%rZvFG`xn6nns_I#|kWTjwP%hTIk_L1nWdw~_3ax?;}`%kClJvFMro zIp@p&9Q6;|Ykjq_IagIGH%cdWoJnSKWGvdBwAepsblPZnM}6xaX~7j9=j&^=HTa`@ z{Mr~AJ6hXQ92J=vBJEDBg5HopIho#m4N+ybMexGw&u3jG%6*-WPV0_MrFqEH&rh2YtNr_P}+9@C=+KXKEJSahez3*16*s!N~mUokagH4fYv9|bv%8-iFP%EM-iWZ_a zVb3u*L-ola&R!2n#a&nf-3nnH*p_2535Np(lt9W*xy`}H3{+BoEeD1&nQs-8wPK?n z)a6{Fll)ID>)({&{FS4coT$?flr1nlE95bKp^;e~t-^SCaQDzgIh#LNRZ|QKgVhNZ zCri0Iy-Y}YC_pF!5JSpkqA!LMY-D;!yaPpWaxR6CbApN!f+6HH;7;AjG&-}kfx8jEKx z$hJFgaoc(#1NRwK-0It_M#S zuMH`5Db!=QzSansp`l)rv!9PDJ)yUCjjzzW-I>`%&nN2F(jyo<8}(y^bC|*h%PDr7 zl*2Y3D0V6~;0P!d#g>V$@ht}ZlOp^1^JjjkOYi#Ufj|5{0;2f(@v?9i6AnuNmv#lX(CxxZO!XX*v_v2vcreSr(LlA&#vt!BQ6(> z0}I;~IinoYh>+v)c!#TH*}8#bI@<0!oTt1{87^B8_3+`t^&CDnYQ3?sG5zS0SXF<0 z4Sl+Y`}6|hM*f)%JoI160tI`+t}LZoq0T(S89v0;eOF$dq09vIHJk2<|H`FpRJ@kL z`uqSeIR6YUf(Exn_H_#RO6^vW-q-)~4M$J+Z}9&y?C79~c8^Ny8uoB9>QkL||Jx4h5RIdA{Y1O!1 zC8epn&idgfzTh;EUiP1Jd;-y`#dDG_dF&1Yv-;>&ql+$7h`f5JV9GOE`N^M83b_9X zN}y3AiB5)O@)AvbOy?BWXBfL7vwdhZ|M0X%mf^ORHi$5~PBwn8=_qJOts&PL>%!67 ztnil&6eS8Mw5lj2MVy*G?mY{ks#;o)m@U+}!-0Oz{#vQJWR0xp(K6wBOyOjd(*cOr zYV7ZD={^~$kov+mbmr;oaLUmD^29*BnDN4|MdQ?hAqC5EoSH42MD;v8u!Dbz1|U$G zOexQ(SqUni*G8XFUJK@^29R^_ZS_4Ai}L$OaJKI_mvZMc_XQj_62;$fu(@9IYTjUW zODvkqUO6$6itF`H|#%(S#T1*RPM38?&@H`wiEJW97|3m1gNZFoR2i0e3_-5smKl2soOEU7^r}UVO)mPp>O}ABIKassd z5}|m`#H|$M*m)%C-vx9ryg887Xz0(m$-_xu2PqCsZ%~fI#s#2ku>Ke=Z-4meSTH~7 z)vUtn+tuRgK5 zjjg&~<;%g17K#E&VfNr*?a&DvIdfO^Vk@x4|cWuVo|lUq5qus4JN4F!156OD`Cc`yL7)fU}03uinJ3b<7wobfT!{A>b! z9YA|Q*%MToV?x@Cf9>IIzup@O)(H}hD#v6tQyo|exy2xD5@oaY=)odjTjlwQI?zM} zM+_EMgjRLw(xvMC;}rln(Px&b*#wgJPkuD1(P%Alb*jkl)2Dv|b2A<{9Jm0!BcZ8A4`i?HNJdUN#xUKV{6;MWdRRG@4vnW1V>Hpk*q6Cwaw#lPDA=c zit~7iP;XZ8)3*y`qZ(f5Vulhx;o=g`e-v`gAA6<|jYl+C(A<7Pb0Ox^~0sTyIA}S$HRy;oP4PB3Wt=Fp2uG11DX|#Ahe^yIitR>^+&akkHM{ zou6z${WF_`bO=7rZ$Z~f?aabxFr}ES5c22|N@K^W2>GU_CR^p*jiIWwDoTdV9gCQ2 zdn?2F#`y>eP@s20YTb$lY^!yL~^0^>lm}(O!Kr7ZW3y#?WrMj2zl#%>OXsO4-iQGh){$ zj3;NSL#qjn)qSYy;gmyR65V-sRqpFIc^ba1LLN-LQ6Gi$n!M^8KEc_)y)Hdwq}Z`Z z>&4z_vufM+9NRkHF$1eSr&yLysrW6iD;2LC1yt9+UW|I*w&)cK*BNOyL)%hufN87w z#qCHhTWDP#AlJ!8pHY|Hm0E+~QxmJoC-pnXNI~ld2s2RRLXF0!O?Zh2lIpb2x_!R^ z{f9?VMo|OWW2lWO&<2T$FG}F7Be0*1d)@3`AU(*#3NQ=bKNE?Ej%P=^Pc{L{o|&D! zRVJ?BIPh6ui_fVuXI?-ERCb>|Z|uFe=5~?;pie$ypL2JM3V+=i-}tUoEGBnY=5gBCQ}4q4h5IWm^{jQh=OHunIP+Y# z5(@HwaT>1GB+a$8R(pO$>5HpWKC_Agx%W!N!9<+#wSHA1uRuu5ge1c17uASLY3*Nu zlWy;>e(aGr$tpc@=mP!p%ZWoZ4%Z2{0bXX~@6?R4!U)!iyrbVDvC?6%f>n z7yeU%tI$Y|6tlZCY1HAlc%_~DYvm+v<>_A}%6#ITDvSYusM^e?x?0PDy2NUl`&=ib z0ksQmEUQBR`9sNCsW>@SN`|6UErI+b5q20gIty~uA&UDmWz)M861PBEkfXs_rj@%Y zT>GNq%kX{n<;xYO*cS#}#clj!x=EbI&!pV#qGtp$`fx@k5}%)c`4e+3-dL~1Xq=s} z@$c}Tz<-zC(YrAN|Jp1ed@ZA4@Cnu3va*0LW%z~jTn(gDfqfRS%G*G`;1EPgkMmp) ztf1IonLjwuXWEyI`P#K!n4wyKFzc>xyI8@l95LM{Sr=84Dl8W9l?yGb{H}hJNoC)u%_0py!yU%ZY zhW|{(UiVY;CS)*bVs$7fZjJB=kfwo@oW+M7T|J@T>I7t72t|&d&X&gkpc0|QWuGgodHP9iW?Gds&4|it{y?1}} zbMko9tPNt*tKo-JAG`y@v+u|zf+2sq@ofZa&(6E2N;k!(c{66ShwuEcGP;!H-)C9c z#ktb3YuAN85rQrSkTWgncXj680S!aCs}4ytZkL+(exio&)#dEGb_TkiebM=8qjO~& zGt{@P0e2H2MqO=ohFIm=gkuKX0VSI6A?0@k)+(B&Uuk*~s`49zvVq1l%22C3GqPVH z@pS??X{hZkU?90S%B{BlYz)y~)2(iA5E=4KzM%yGYH20PK@O^Wk)w;jP-8(VAM89k zJ2lLRRUM&I9tvjM*&{6tS?@W_D-g;FQ=KjC4XCi)hHMI$#^`9_-a3c*Yld`>BA0Nn zfwkiy`C>V7`=n7DSIROrlG?^#!yATd*I%2EmzM`7@vbLNPTMuT^=0COXnT~h9OS4~ zh0!Ef@$brh2k5)hln1IhT~8!j+GJcN3KRM0c8A={0CgmXmz9b?N<>C185-{0KX0B^ zP(dMuJG91(u%rP_PlihteK0#gE)p~FzMbMW=iMae_rY?3i$i7wM}J=O{PVC;)?jT5 zt22PSRJ$~^#9xZWKPpj;Lo2$*m#AfF9Rj_5cMv2FyP2@CX^!>(Y}JyT%GAqN3l>Th zR+tlA2=z+Vy^v*EDbUqFirP@P_L*jK?c9CW$H8P!2*`2TLqFU+BvJ!f=-NJLlSlfK zKY;QB7%m)pCsxDqLN3r6P27S*4$8+zF4Uws)0{+6DBkgFv2{C=;8QF-z+(YKM`(!q zXPvYdH1~SZ1@1C&LOPaHFCUT-M~A!KREd zmlj}&@%IP0^KPz1%$%#u82^FH*JQX0l0Iag~_ z>Z?ckC;CFxuFxxVjX5DYe0gq0imkR^?h=dYlUUAkt0RcyuXwn+-(G`Sh-;*fd{!gt ze9XPBRmYqn&PCVvMzwzNIH-5gF;iL0tRb$wU$kYF=)7B*xSLjM1Wa2abA*!ban#h* z({;PVLpAT?MpIGDk_{QFsW)(Bx(<{E3rh`GR9C0HtJw^yJ&Ktp48jUkXcwh|XQzLe zkgK>G1qK!fY7nD$^@OT|X$?p$gM9;>xtRM;$Bs&JNL-Cl0fmKy@x%8*Ld@KU?rc7| zYpUA<632xLF-*NYA^~-3sDWM**n9cYtX94pX)8N*qPF%7vy$M9o#XKGuoB>WAE?i< zW)MuMsmy0={!tY0Wit*7Kwo;%%Gbv(va$)1eb*AvBIs;KD2Wb3txaL3@~8qPto?rT zTs*(xYyIIc-!p)-RGY}nzxz*?Ioq}JLsX^p;hoK`Axt`@$4<^3NVYbdu zeG~=vUMZZ&TH9GQ>XjBhK{Me~79AqbSIt!1p8P0}px>=*T7zv1mAI6hGY8KT_FM8q z&E|vNs{);eAmQ=0y}ko^S!h&&II+_^vD0y`!Ebj}=&a-8^NtpTdFQS=aEFMSnYp>S z3&jundE2&aJk_)EW#SNxE*9Bi+a6(*%(^oXz@H$AcHYKPDDmHOxUogVq84!d8QbBU zdqpgWXlnY;9loL!D)!-k!A0Yc3+%F1#!^Q4A@7IpbAR81vLe`dw4&m8 z@2_s5FN9oM&+Iwx_!;zvonIx@q=N?S-7U78v9gE}UIu#z847V56q^STwMT76T ztDd`{b`gT#k!aX2s`vckp3Su=R#7?yQ(APyIj0bC=|~U1-<}(K(&>_%;e7Ifk5uCWJbI^au&jK7E>J zw0x|^n!Ymn*P0A74QAz6ofvr*~;=rp)vn*lfPd_sKi8^`UDyN0y&u8eo zdDZ~h9gj4B9k$iG`7;_@*KqNQ`$$W54-|YgwXh6)|3LXDuAlpU_AttmtEg&<*Fta+ zuzkW!;al?UDCqlcPiwypGyy+Q{HSN4~Zey0Hf>^ z?R6=RBY{29*NJP|DjoCdep{qwt9;7`tSGI)0*Pj=%~s)~(<*1(8NB38_dT{D!bmbn z{*Y!4xzQU~QVRx*ymf}iZ9Yzgs7MVszv#(%u$>JJ4a*-%yso}l_oNbKf1H}|;#C_j zyECxhYlhbH>T_=DA2qLdB~xunSRb~WBXnyUXAY!Cm`YbMHu7xs3FV*0Il!4Aq#I@> zXQrA0g@x(jkK9a-mI1229?WF)sV$KZ*mq?b3G-I8BZ{kCLXUVzrs-}oW8{7K2(B~T zA@u1^u10gNXKXfmB>Wn)p_0`iF&j4zu?|@b83$+9YZ$Vr&O}J^AAkH(b$UB-K@hhz zA{FXcys&IF98}Q1zmi(r4Tl4dv<37#qDoKI(0_jZcNYRDrRJyx7w)xgZ&gTlz`_GR z;VA8Fbj@4nv;6S%E^|upJBx!hJc!08b2t25o#loqZF#{n zE5lG$^e7iF#07VqKGcRj<(u zYy~?Gl0VEOKxzo0U>C>8D&wK5#pztc$w}7g;jGELTw{#HMYZ-zzP|y%KgWZQ4WtV= zWa~ZxX)%*F4Ug)x={ZSA>;quxl^U(}w10jA7MIG+f)3;FEM?+hjLp!{f74}gSX3TjggNLYWg}-1(1*gF z%VUEB9exN$%(pBe%9qM8nGBDISb`pfq7uhubwmWzMMRPuR0c8~2{owQ!1cYAU^>y8 z9bxA6)N0cnRrip`8eiT%o_P})H$EJx@65TEYPZy+(v@#+WptAAXpifVb~HiDFAz)`f7fWywI1qI11 zto&tmrzJ{rmITmPoai}J4iv00j#aYo=j#20(k|km2~m9ZuA0!>%F0a;YjKi<-6v{% zmc?M738WRePFXd|MwwMbH07pWTYU~rH{#079(Fd^weOZX7Z={4cCdt-_$hHU_G z+nGT7Li_n`$B`ZlgzK4UbRp7(Y%B~u42(<0ApekDm2E!Vu)Nm=I;f)~7(`I6=^pI4 zB7Brkia}p{Tm3y>Ir0-f94_6=X_UMM!_IgjGIV!O5Ala!EC?qaT=VxAzKm$wd<)ut zu1|&amGDdK`uVGE0zZWeZP}<`G8pD0b%?UUNn^)S6_VLx{`p^DURw{}Y2%HW(u@UB zf)9>`?$2$-mg|f&$nUxc$#vH}?S(hVDt-Q=3vrnpDvVJQ@-Wi;##0>{RSbje9n`Uy zgfVQdhvy7V6R<>(bJ@AC0T-1O4=H5zf>pvD==mad2_I8E{ilwmpEPkmBlu<*L1e;v z17zrD2{=m{Z?LhR2+ZHxRzIJkZ76^@|n56toDTd5Bx9*9)J*#-;Y2>9q>@C6Af6v_J} z|LK#_%A0IOG;pj_%~IkApxnKnEr7yVGiufdS4TBo@B;W}!uo~X$xnK{85!D}5sNG1 zd&n3L>;8F(KN(y<)SeJLE+{)# z&^GpG-0&@xFVNG>4=vo@E};uE86D1IM6i_tJ)jkug3gwz6^soEZ%=Kl5lJ@DY}anr znx5Uj6s-b+kq;st66PDjD)^k;8Ve>JcI0QZYTn?EmEl0`4@>8lvpGMZrsqo{`Vn&5 zM-ez}l#=0M2l0=mrM%Pr1QFbCVWJU!)S0hE6Y8z}s%)RQ`1q}Eg+8lozZ^IYa2_Dk z?c0AQfLsVW2~|UX0Q+vj`s2AaxZFzh_FA=ml;P%Kz}xm(n9Z@NAiUkl#bzYnd)Uzs zmNnV^A9Jjud5rHK4%+zG!C53h<@{^w(=3ud?NJ#lZEl5h%?g%yBb&Vj(y3*&*j+ z`;@pv!c?a<+qe3{%bSa^u}^5y7EMFJzt&&7t>0T0i-{U9pQiaZB&63xtDC?fF}LCy z(u|_n!ChLZ%D}PZUqdMXNf+S?+D2OilLmM6@fZP;@hz6?YZAS#6-7)Yd+6A3Xvy6z zYTJ*8t{zYIUa?_~yITP3mo<$S2>q!e=W=VVZFkR_Td+3J@Xu9FPwc+-wSFgaFLOZf{JWUSV%4&+F>LJe*6sy^w ziT}+X^#5#nF}LcC!S3tWn&I?QYGOTB3&vvuk+Ainxu;xvnRaryRfWiG?j6LPgb9lp z#u@jnK-qh=17JsFuQsE)$~)@TTk!ljYV6y#%2g0d0fb^>V@J-SVm`dsi@m%Tpe?~ETGrZ-{j3b#98IX85DIlE4sY*mYsk4=8~=731v_M= z#EE`_oq}G=Ej%s4M&SCbh=&{2{Hlg`go7rU?5QuW3%`k`qu*a!;R$jZW&V^ zcYSr#WYb0xYUNc`K?@!OpWoi^Dm*Ql#dY*fDUI!(_ zqmlHE2$*lcCnK*BVaH&T9LQ?~*f@^7s}49K_zZ}wP(Vv{eGCo-V79IB`Zz37BD7V6 zMe+7ZL9iM3Ya2TtT)RLtrvX;S*9ju?ob0;cbqX7quo**X02YNwcL5I4F>n+mJ9Bd( z0GcD6@i3YR`wQ}yBzI>XjMN79LOjDFJ<^?-%azevgSgEr5i4@+EASDthfI`^kicUi zLRfntQizR8*8=T8?K{MNEAFw<4JzYTgQJr>kxxl$I&kT(qgw#_tmF``W)v%1G-`M7 z!qG;AH|Q>d?L{pzSDbJ#;g44nYWmmC@WY>)!veJb?0j2Q6$L;E>oW^goICI*(cg09 z$XhJgG+fd|AVe((?rU7CgZch1@+U<%YXCO5c6>H`H5xYVA}-zlL0RfRqV`@`%mL$p zQ1YNy-GruOPVKIq*0lXukBzim0eMZ7NJ?L?!%7J>~m$hnz#T@@nI6%Q0NuhBD@k6%F z;jAX@*#*!?_EuInYxbPU9QxI!7u_gRT5)Q&1n=JiJU!Y~rWQSJw_yNAZn(UKT)&V; z^RD2Cg3^bP{)pqRm5?`;@!AHkEOJQ|KDTV7LKuehDh*aQ3YPoO$)^+LC&Tt8J%2tj z(;H2+FkuIcjgRA70KxJxc_cVu@MGX~lz#K~6Q7E(X*Z;XVXt{>W2YinR_W1A4wKwnZj|J?@cwAaqT56oLSVH9)pv5)BCv;i4 z;~j7Ct(t9L}0=Z<+g)(>7x_$Nhe+tG_i*njwnEf9(dI znAsDNncK4`BK;{|3{iB3bNAa*e$mB`ugiS&l{s%iIJIcrzwwL{IAs@}nfs+w91SdL zWq;c{j4hfolSt;aGZE`wRTKPr?U-zPxkYVfSou|qC7hpS@A|edH>L@}X6CrA5BH6~ zUUOn0FoeW47h1AXw)M{&(%;@ZJ|3EvY^%-dZcrX7H@2S$8yUyD-EaVt`L=s4KJtsB zWc+$1aM5GN1OiUA)ZapZdOd!mAnSif)(-ybLmwNJHEgmr zsSuGP-TDVc|GLeG#Kme|{T1-pJe()Km$XRPKc>KQLHrrhjN1>oLsgL|W;S3+es!r& z)x)2S7vI6h{{6d``jD#Eh(Djcg@hygyL4?j%7(E>kAC*h~;(yeA;C)L`K*f~_mSsSq%{i{6%N+f|$aLR?gMBNPK> z9nq$fYc@01J@%5#c57q`qiq289$h#{pQ0fmuR#+aK}qpJRuBHer-41=(Wk zk<~>Rf-Yn_-H)ta7!w>Y0 z0px!to|umx6U@jB^@EH2;Qmpxc%`6`?S7lTfCz!t$9>s3LT@z+>OzL1sBd5TaJdx zd?prrM6s0JDuvE$P*dQ=LKq7_{J=i28(s8&=dAdZCcJ1cMjJ%-0XX^7Q5^i{-hl7b zt*C`g08nt~5=r+U9LBKB?^1pPAdmXF-MIk&u>uAQ=St#BwG-15%7iIyxSBA=aM0lX zxeG+%{f@w;DBk+e!iNSXb_`*+0tcdp#RrClAQUG|VV_=j58?pTXEH60WgmiK$sS!f z*AIdT3z0OKUW;5}g!cRI;^B;HAUP92Jr1Pzg|WFI?)@V-M&tHu*<2=`ZOst!Xu|a; z41Q?;y`S5QQs$9Le2@TfiA}a%zvB(JISOFn%5_YgP%yP^xtjB~j4*Ye9)^&0c9XFj zqzcrZpOuIX7(W5n@>s^7asD5hWo-{1ir{Og<=$H7qlvW1QEwvDYXnB3@{oM& z%FN{l;&lIC& zLyf}waJm(qMVG5-uMur6HzgP$hoG501nk5 zi^-GPPGRgj7lMbAD0?PntOf-+D+}bK4*#^WsC=SE3*O;f9_$$&`Y8}GP*E8BB+cVK zjt?%gJfu?gmJ6*xJIv5P5@`40;ll%>NoNa4jjwMhg^eUf9eDtVgngt1psD&|-6tc- z1!oksQ0Vx#59uo6-Uv(3`{vngGFWdR!ZuQ4Aq1!8f;x%}$mq6RSqeO0#S(%JuoZ@&5P%NJA#Du*{C}j1v0By~ktRemtr|Hd5&J2dvW#Ih%1uhYj z`*g%t0wCnI2({rBkK5-B(X8c=V-GbjlF z$pnel@!MOVIyJMjAvOfGKl4+NsFPaIQ9G1+VI?<* zJiWzoSUuS?%<%!Q-d%6+`19Rb^mhONn#t?YxqU}pzq2Y{+Q|`ZUm)PTaJ~atdOa|2 z9Cy}MW7a+^?U%alN!sgggUEIF2~S<>d9&dK2wRz4z7d2S=Wy_CjtrwLyWVpcDo_`r z7|xLXV%!|4+NF2*ldr@pAOHXewVZSSc@dD4ePABq$eb%a28EkAIipa1*rQhnG{KEa zYjrjW1!dWh_;G;ghXvsVSmxk?PwxNClwiZ5mWHF@^n~bJM8hq|ZKh-}Pl0m-qd78s z*rxOpBxIawp+LY9vT{AKE*CoE@^Y@gkEMgjL3t*kxAES}_Rx)|XU$v8#l=-a(Z3zo z2SIWa{Lg={;BRT&DMoKD@QI**xPxw3@o_(nojWH`yKA~VfnF!H?lvWg!DTG{&1Gc! zN=TiV>ROpJ05pLdVu!Xq*0k5H^u!e;5O2qxMuVNR&z6gmQ*o3T^i_gk7`T{BU}m?U zp^+E4$z7fal+z{ZL)u%>z&hkRYZHv>)Fwq6Xx?xQ7IqJ)rr>L;)tEz)16!9)ZQf# z(6~Lpr7&KDQiY2BB(jmmX0TF;NqsnVJDk3?J6@YQBg(h`I3t7sLba3Qn~;6)6USZY zQ>_sIivs>9dePLa5GKqO6bWe$L8%1#$>s6yZb8Kjs+4+JNfP7<9V5nrlb9xhi;Oe zfRdxPe5Xdzh9k2-fy)9ck8ppFc4EIF;1B^|+ZzmFnc+jb-GtQ8Fx_wVOAjkMG^Y^ltt#b6hQ{-^g%qMw9rGnNc_ae@7Cmlz9R^GqC(q2Ur=UsUS>`Av zagB2`%xfR#bh7+qcaEa4vDo zfS{GJc?#*#fjfrN#oT5xTr6NCPX3cO>(1BkvJ)+OC%>89gdWw7u{HgOuWs05#{5WEkuXUjwu%JJ;_j;Sl1f{)G_yp&(!pH5M_9m2}g)c zFcR(1@Tl3bjtFH4lQ5FJa^=dm^K(@Ye8FBJwJZUMy_`NH5Pi3hquM=jdc0=yTP`54 z8}sCUal}Vwz2(x8YMhEVQ2QFBI34^McO8(K-qYzZPoEwYv2=gS1&V(#Y8fbLf|i&7 zi$gS2phitwGba+!Il`0j(;jHw<c>RN*Fe7#ENcdmP`P9}3Gub(tKkhs43# zhuL9PNKL2<2w1<&;jgDBO)W@L6)&P^36@=Y%kF_vdqGVHVhB@A2X}-cX^t5Ne~r^) z%ByO05mDc!MXM>-BM~#fM4@4XsCtRfwI@d^n)?XVo@t{&p8C}ZAIH+k<-SL-n@WoKT_IDg~(`SW!zU%h&Dw)hL@RqZjF>dIbcQ%#JAoXZ{V zeh$l1h*aA8UG&*AYz}GZk~Zs%nwoke(gN28)O8wIMIDDexD2rOMG`?w{Hs?Br(RG@ zNIK_W6-EARl7N!Q$jAtU*#Pxhz~S21*kGnqqP#WX8}WLb6-sd6E`E`uZn8EevEPeK zOe6$=N=ix=FIkV)br|87FL%?a+t}Gf$K9|dLU=N|5L9RkB81OeSwDb^$x_irb#-->&-;c; zxj=o`o2{;W4VDYhqF;-HSjdS0JvsE9)$X`a8A4!^7Wp*$1AZibs_#UbM&w z%;W~vx=feMh={!8&(TI0zah3KDm33;ot}g>@BzKw#6&5oZ0!%!OZNzs*cWd+{UxrK z69<*v+br!?%+AhU)AA%%GquIn6V8KP`@vu@WPONc|C<5?sZLeZcW@q`h)8GH?uHha zD^q>GJDt3Caj^82&j&F6Eplrtd%he@%vDfO$ngNtw@A7dbCN6I?&-O5Ck0^Mn(hG; zW74u^%h2=DpW$UzlXN;>%_){#T3$Yqaazo2Wbd|ZZrM|-!f-L|DWTc9Aqlt6CHuQ7 zMBWd45kgd6uclueuHaHoRK#xWcF028bwgw0{{7ECe*9P|`lwiRluJaU#`{Y#Zp~8} z?V%l_F9K#-`(WXHe+fOk798c)f(y>z)xOQkbBZMI-Mcpp1zHuk2Cxl4mCgGBeIAf3 zC6wQm*5Do`6{>ioQm~*!7Vk+Mu=5gBiXL3j7y^#Ux=Tb$%I@6?V@c@!;ZHpB{mYwK z=~~?j>DB(O9}PqhU<|21%q+osikEC$1Ee(D4$s=sf-Jq#roB8=9)*?_wNt7 zf=!6mMU8(wcZ|Qpp+i>$tu9<3TA29w_}tyyZBzGibDsli2_87!E*}igRN2X0!on9i z*n&muH)#!F!z9ke^k|+x^!Ve^;D9$Yb3z_YQBe`m-i49xkxeu4cheT zfu%wD`03N9rKP3VjYz=95V1DAzIJV{zO1@>Ku4W3(!z$VkmO*cZEo-E4D1>i#0^ep zR|&a~*nb_64;0KFq0ZiO?9e{k&#qdAqZ>6 z#>QuKbQ&5O)YR0l5L-hk5z$-jnwkNIJ4}3pOzdm{BV0H@vBO&B_-)?2xnb+$$B#qy zJFsgd!4{;wXi`49#mAb3g=IO93*uK85SmU|S(#Ubw}Fw-@}2CJ>xAHNhq~Y9=DM?P z1cbrNQ(0BTQB;GPq)3RO94;913l0wU_1)zsbyX-tBMkJs%Ea5mmismf7hMY%HU zipItrIKPgOWL2&QZEc2$b3l$!3{z+usIU(hC#exCpMxQG_rasN7DQ{Ns*F`Y;B4b?#Sux# zng@;poqj`dqgGTRq~Q;smW1?7`sbo$8T>-9og^QhaIA;>CSry)#-z5kwuU+2*KiNp zp_y zC|s6x^ap=?i_g!c!CF3_Lx?G9eL;Bb)qgi9CuhbokKBd?U$F|VwTtu6M2&FABwj7o zC9Bw&1WH!JSty>Im)q7VzkLPR(A16RRTWHZF=rnr; z1dQXWghU+0V#$KFnJ(IpwD0qm(AEyITa(|BkhI$KEx;J612xNFFLrPUhJ`;+KRz~a zV*0CJ9Qfih@HZ?sX!`a;29JPKBxr&hUhDSuC z2Oc~f%;!OPZ_7L_ELkVqR1gzb(v_W^?ds|(751sXh}`7ws;>RUQ!Pdd4QoUv zrhRo?ofa+2S&MRKOnp!AIUNH7gSYyHrc#FTM(GFh6mV3nK0dW>o!}p_MAYuHPJv;?z z_FFo0H1pNnMx>1=Dcd295~IZMe%M5W@l=i`SbWn}wdTFq z{;uMos_7Tvo2YwsPuSbCWB-Y`Ow^paL^SohomW>{+9XXC4@L8#5)o@rs^%g=3wZi; z`{KFN!?T?K#^1G1gcMPvEh{B^785u-5yMh!<*|}wx+*wj_>RiSxgZs~sZGzcY?jj2 zu17$ri(6JaJ@b_*cLG^Xa(H9cpy!fq?Y<}uX_$MlAuWW@qozh9KR|$=KjnenA!-BI z4<0I%p{9FsE#~|lSWz}(k}NWHWQ`N}pN?ra-@$f^Ho8hrkL=51`6%*}aDBnd3TYJg zmTtn_1?6RweqUHVSDcy8W9c&@s3IV~-sqLsO_1)D0LENtV#^KD(F>KvBvyWtr98<< zmOfRM7{%AInTd;MA?!gY&)>LXr;)L7t!YOHA5&BrhkYN;V)BE#(PWJj>wM`>WKjtQ zd<046y3c$jroM^Sa9P4p{;uW$W=2L;7&4Ab+R2@7-@X<6QAmBasnm#6q)7fAv*t_W zJcg@_Tgwg!hRzWuO^uXGJ40jb5K@4lA-nwMt@`DyWQu{YF&sgCedY(wJzKXTdg1os zW_HWw6&7w!NOLLYvb40^LePx#Dt5!&Hq7}}m)@~;02~uc!9dj0x!#Fn7bxp{Sb80DA_xi5B$$LLu!bV|scox#A!SH!FqDClrk`O*hmm~z#K zgzS(sucfKUPED(KCR<-L`S9Vxg@VjtoH&V_9(^>}vWlO@6V%yd^_Kv8r*gMpRiP_* zv`%B_iLVSheJ0`iBV>pf^mm){jC@pUq7jIy*7|srD5r_Bx|+@YL|SItDU(1*EmBQd)?Km z5aB#i;@Hpaf=Cx(o=A`h=u7iVr9qP_HQ0M0xwWgSYt^K(zJ5gCN#P*bn&qq4uOC>k za@{&^tqJs)nXAj-hHBBaToY=9-d$hcA@D+v)up|7A)nL)&rwVA4Gtc#E?S;nki?}y z-L!f0p|nDP_siC=|JHUX@ztxNb%$tkZ3n+;Ce~*FrqEJp0r0zZ@vBOcwLdD`Ej+{? z@F?j^o5di$=*R)$M9)y6*o}NQtmcAboA4}DfZ87nAkLNB+VT0bYW}^oLt2#8tM6p2 zJ`HnbN2Aj%Axt z7B<->^SSX3xcl4!E0O7AcV`X}^N7#*YxKUePF^`^c_B4CTyiV|b{b--d-7ie2d}61 z!VA(%8IMUxp|4*`PEH_zI$6_|G5UPSn(5xXdn!@NtD}@S)Ya5-BFqJyMqZi60j?a; z>Lt)iJ6c>EZ(?qHdwY&YI`%mB2K*0V${jm)AcjmRj*RfnT>^al=zF4p4ni#5#oe$w zH52a?$CHj;b>WMDn^z?N0d-=&XWh0DDOvVsE ziG=kJ4tjJO>Fc-NJpcIN!`JbSmX^KnuDJz7K?|WQ+z{pmAYeHh-jdh~!yY`4~vdBCw8EizdVz1l+EpESv zW^E8NKvi@>2@oR00fSAhQRM9_ZorJo_1>0+O$L1qc+5WN_BBzuBlS-2S`F2=RrK8i zSaRmfW8=PCo}QT3C|#?t*x1{RKf-$4hlO-vf#A$d_mRgi#< zjwZsw4J*uNAKpG48M;;oU;Yd=ES?D(qP^Vn%8^P)FI`k{;fLCOWJ^)WwsKpSM4*qR z=ybD;jEvm^Fl$2)2!e~kOd_?kEdgbXniq%_8vOp9%aU+|D^{*_=b6{ows5Ui#cYeI z=^PlaU4Gx5X}(-?jzPuE!tkQnaoN8Li+CICtSfRaYyRn)lKYX*8PF zPQFdg$$~iDg!pkr4Uy+Q*UqdfXjkCyMm#kRHmZ{bHrv99nJHQnfjaeZ5{_u>)SVwh26ZOs?X{FX4@u z>ML5&$ihuxI`RWuS##po8B`w$!|{}QaHFu5|6&=QfyBE?e=3saXu@dGkNds-MdLi zNoz_Wg1-g+0 zY?7tB8~NJdm#b+tEADxDtytjNJvHQt4j*oHTZFhg#{F1+G22exh;u&-Y~MjZ1{dXD zFIyUl8+Rtlxk&dFB2kd&{Pt}<3yXhXAQ21Wb>TvaY(#)dl2+{PTem>x<>KIYPo*B0 zmZqr1?5X46=8lPtH8U{y3jcxDbnQe_O=)RqS=n2XkNvVA7l7krVxoc5_wL<0TDBV! zll{APeWL4(9i7a>qA!GWjngo@ zAh3zrl&maqo(Q_Cqj1pkxHt=7sEv({u#WJj-ED33(iXa=qoX72vzb|})#iGH76_D5 zQ&NzUCreFpiKc;}1KYnaUY7?pblCXkg()wV{(6=l{?$SGk^qu^zW=iS&rdc( zXtjEqbqeAZZ>i>xBL`j=|1nBl7lhoa+1N7CISFp@+L@GRWQ}CYT$(ww?Sk-~v!N;H zZ91$Vw$-lrU>XVF&x!oVG_ki zElHRpYh|h?PdNae@!NCgOuz;^OMii5!Wgz}-8v4q3vB5f5cHLj@|PokG=6@5v>_TB z8MPx3M#?N`*>v>SF?XGCf7dc2f@OnnnrJ{mjhhC$M*Q*hs{w@M%;N?I27q28SB!Z2 z^j(S5bx%*5oh5a3-$p{E!eBc@z?=uvgkWz3g&3H0u-W(V^4_i3aPb38h0+sdNGp%S z`W9kkrVs~W{)uDw68!K!zzr%P>kB}{!~&DlnIrfi+$UuRBBNO@k!*Z%j)8gvFuxW3yC*fYW7kE zJrlKeb#e08a|VCxIdNOja;}?_kNfs6!AXA3RurRm_Z~Vv%AiI;)uY&5f~G+}f>} zxp|%Z_M*D0s9r18mfD{U#IUuJM|9}REc$UsgEgnQM+sVfc|D_5j)j#qw*XLM`EWJ% zp4LqU@f$wjx#HGbD@wVRRy`#TX;QPScgZ|BNc3djssH>jPg|7OV!=?pEv1>)q@I_H zQ7NWOh5xNFut%+ierO80F@-qd2~k`&fEyfQSBdHe7sgu4{P1p+@{79IiA1mOCd>1X zo40SLmS0ndv{n}t7EXyKUWG>SyJyY5817nYs{Qa5439jF*FoxK2!4TM@V6fk__s|L zjY+@^7P~c~0Ev)4E2J2CDjaQVOjeeN>5X&e&NcYEt^&$fR%aeXewC0Q?2>`VlvWJy z9wgS?-F<%iMM_GQ%_dLO22f=|Hp=e6@LI7X%Tr?=o_J~i{&W5|AwMRGdf8v%VL2Bp z9O77Z`(F3tGA>9%VS^Aq&-z72b9Lj|$gf|^%ga%2L{ae@A_43)i?Yo%MkE%`xAv24 zqK@0glKXO2x{T4?sv~z?b8~Ywgkn+#0tR5;9qsKmB{wsRF&L{DJb+RPrZP2n7!-!;;cx^B*!O(7lWw1bmzLHqo)H#Fzcmj336Nr%do9klmC4QgFlI> ziZDS&$bg=b@BG8oAx1^~+iYDT&D`fQipA7mwnv^BlsOI@KS<2b*tl<^^}bXyvSgaM zAZ}|g=JCkQ%kwZM2?u>6Iu0ksaPocq{aKJhfBRNcP++B1)rjC9IV`YSpxAENabVfB z${}+L6awQyt6T;#C1iv!xnI+g2@wOVk?)L|2TF8k!WioTtQ>aO-!|2cjfQ{oc>SC_ zWB@c}&qOZBC|RgF0C6>nuPWJ1q<{W|US5zG3hUuiJ?8rNibR;5hFUuIBKm2I++Vx9 z&v(nFLtg2I+{cYO*xB_=Ogcd`u&KKQXp5KF=($-on3#*iK#WL#9=V^#kodP5xJXeg z#zzFThw#1x=u1TQZR6%9Mux@MXQq7O1kI4RC&V3?Et{yd;98^!Ufb?{=;$vha6DSh zRaI4`5fLjNsf4bs$JsO@ajw<@W`=4X4vp6!$DTbU_G%sg!GhOpV0fX*#Z>y=FKQ|p zJzLM6j8SVIjY&yO)!Y_#N8>M2(G=j9>{!Dav48e485!$@?f7njK{|Xs@9o>bMeZnN zIB?j@$jS;IN=Zq{$vl4Sn8m~Zz|lg684P?(Qwub)=GZ@6xE)o%+$ohI@lju z1vo)ySlCuPosdv6%CBfh#HwUYPNWV!+W6e~J}hYLqeofTO)z~~Z zZh-0ZD3vAYHYiQ4sEW(1`tFi7C5kTA}@vQbpj8TDU)g@S8u!T#-;H5(Jf zKpe#({Vo4&vIz5VkgCH=WKNGFBiq22T)bndMOE25i6ATW6R|)5=KfJk%sCyMtp0mw zzPmp86=+Cc<~W4qt%ZY{)^&7s+1SOK)r*F^FkpJ7PSfPgE&pJpi31f$Oi&szK?sbJ z;s4W{Pb4ErS8#f-D%C?hbufzd4rE7P7 z{d(u7jiQPQ(Mww~%pZt?fLU$IR{O;Z8U9)-KdFDeR96pEv)Hz5*-~0j5%J{7QzZ`V z2gvPqq6BGRa8yP{iNiZfd(FaY?d?YT9pcfMne~-^@AC8g=&>l5K|u)n13(ZE=>Y26 z=p_sQ8;I5a5_0!H9pBIf;EPyV0EK6j87_u2P9xf(_YhX{mvZgWhyF!ha?bq! za)uf8jN;W|R5(}MK)wklEVT9(%J*&7!sQEpjuUJD&ok3R?2Ah-1e%EpN^mvZDp(K# zh3@Z zeWKQ~35j~iA!Pl>^}6jo?Ca~;TPgO!<;R|A+?;o$H$Ot}_f`85&tU9q%<#se^9Gho z?+h!)rlF%mRD(?SUpUgwa6**5<%~{mzW(IviA&Q_>#f^s*)V(lt|q9W@Y;+%J};IO zs}kjB23%lqyxRD;d4mzAE;-K*7!YanbiDf?1{r{Y7RoPlR5!M5jo4j}30!w9KeF4| zd=iD#=ml5V2^TOmb9m6(?)d8QS)=o&ou`nfr6cS#a>V)ZQ^igETBaG5p>Gkx#Sb47 z^}gU!m!OsSe`hd6b&W^1cs}m$-I!(1;ep2s@eh7e1%v$GjHHxHFV9}w1GU1ESC|p; zyoS=@g24APr# z^z)Z(X8sbS{)a_QeH1AKLWMUIJe&Vw|Nq63 z``?;mWXeBru9>TT`8s03@Hzm;jXwyQ)f7Kv>VN(^lRtlX%5?mkgsFEiF#IOVxieA`fUvXslt83qJ~taW?|VI`*ny5Dw^%%PXgh|hT!b%glODdw5B!D*8; z!blS5=7$~rxt9!&mM`IB5)D5+u1NVZymi_w4~k9MNPN#vGyG#W?OK#S5~}wmZ*R1V z5lJL-+5-1YxDgI#I=B37D#JID#Ss7cUh9{mUT*c7Ho$e0=7iBB1`i|r%Z_@pcT0zx z{~WfG7ZZ`>o-z0gd?+Sm$~)ojf9xsWYr5lz_Rg@Bi}5i9Yfn#x{bV-boQR2mRsD5W zmE4JDGa@<4WRFDXz3G#lo{Vl6LBcl?ga6_Fe(aY2H|a!3@PGZJUp+ zDtTaIiI)0`vSf|BOC#Ydc+FeXsg_PluYs@AOt*uKPl68UEChML!aktM6 z7qIP_s0H%0s~!ZPsl@1vl+o;HHqjQnaf-{CpV8kiY{SoU?=SJXl#3t}Eg^`AC4_b+ zc_x(8FH!Z>tNe2@L`_1(#eqOBq8^*0P<`{}LZ103ez8q(wk{%Sl8GV3sua84CU=F% z@88`(0H&p!1U>`u%|Pfpys>Z)hK+CuL%v=tGdkRECzB^T>wm_sa-!WXKTTYO-m+bM zOcu2Vr%-(`#Xr%^O#llU8k0aFv>CNmRaJFx7$wqIAbk5B^uYFYc~@j53&QUWm*y}% znxj0y*z^Mf3~d)+V@_bE0Jt4Hc1))I&r$g4of?1P^5u-mUv}iDjo|b65=|ylUETp~ z1@jdAa9O0u1Yjq)7TgT&ul~8X^zlbTM>nTACQs^^GoL;-+&69 zDH})m%es{lw_0NhfSwqq$15lZOdZAUMsS!=6|SxAS|}$it^UDZ;^fH+NaTS(aF#zH zSAgLDX4AfY`xZ_lGr#z^i}DAlSybSf7!S(69or^UDDqKdgfKj1F0JuUusZcoSlC%h zONCz10GV(UwlnPL;;|Kq1cB4}7O|c27ve=Yz*XK-n8JR7!v+2{FYm{GD^$6s2@9y+ zEL^f=bm&g22IU=4K*6=ZNNrM;QS;2Ep%v9vJanquHMW)raHc<#VMD;37_tbOx^BG& zSWi$J0L$S9^Uqzjv|eXbil9yVef+k=K=kb;_C>@TApOOy>pT`zE+B+Z-ION>b%aUkPIf3T=%6DAs5c+4`+wPq$b z5!M4rfs-APdNk0Q8vgmS7A{(}bv`a}2i1TO>j5gX*zFA1#*s?GK7-l*xu^qT&4-4P zFlabf@L!25bmfARRNeun4dVPToCy{PX7bqjq(_(u(u_Z+#O~R?Ct+bi`;Y0&&>o0qc0kPFmbZie|GEgTEnhXdC=;&Oe z3hqNQZbS-XTJ0&>Do1*y7l+$IvF^CS&M;n$jjdP2n4}gnfJ20u*X{r+YEHI-Yrz_R z?ixu1oMK0)zh%DD{(btOPKQI=#DI#zwGt`v-AIi%U%=wtY6#VYqr{0F)S8tV$H>Rjx?_K!%Qzt6tl7Vqj%iOk<&J;*!RN6dmOO@j53%tmnB?rrC3c{5 zNA3Oct_-;FKAo3x?mL-wr?!XBVh!7ToZR%$N?o35?gOof@BU z$*Qbu(c1MdxiByG`%uSfdhi9uG#3mRzyIp{F~XKZkxDq|KKJiiTU+0M@IX>RVu!a> z_|D)(G}-=s|ub^iaFG$IZC>4MD( zPT7ym{C|=GU%sXgD*ux3=!gF>{)`43VG6P3zI-F*LA>H-FFUBV=|bZA3rbjISb|i- z^j5-Z5cN|0G4(=%w(Mc4l=q34MHOp;$`;6FKjZsa#-g$cDB7R2rP-T;q?p6`?08fe z-N=tmawzGpOOiKLrO6^>S-xr6a|5ro=r#$0er2Msxn=ebbIxkS%nblyK zi@Wvz#yfEsoGiL6-A8Y%4t)=JlA(8Hajxv^V4ov?t!n*(XdV)1J z`>J`+M`?W>kqC*;apvFGj)dE9DO=vw%q|)KARg`4;m+`8zH7a#Gd{e~-pO~Vu; z|IOSjH1gC{e1ypaHnNmMxPWoppOd{H zMrvK?s1LK+tGs5rZdJhxi)*7<%sW(7<1aj4MeLvjf6jK!laKS6n2#(-(L=IwVe!h! zn$GRh99+j zX0;VZwpgx5FtzmMuZxP1k@2umSbKHLGK(OcLu$=Fp8Imd>b6&m}bnKE)N!UJ;s`G6nqUY51+X;7$qcKBY*r{GQYwRbvStS*O? z9^>&pr+aO>THg~JC5&z8*q6#uuUGjykt61O{d*K~KP ze(rCf6$;a5o;MbFiL`RMZt$y>_>!hvy4mzZAa|Qh8JA_Y&em8~FShl0RmAgM|Ks^y z>y&>DiT8BpToFXKf9~(9X_ld$dLpf`DEflR1`Pe+pF@9eYe>VwrNQS`de$wxyUzc_ zX01-=TGGFHw__w>0YUn098-M4J=_&u=IO{Jygs-wo_TsPsEf(?&S#c@}9-ev+mE``D9z@ zfto+oewM&6gYqQ)A|cUTJ5N5Wg|HvTT`?Qb)Op$AL< zyP0g#$X{S#)nIozu}Q@GrI2`U%EpxgE6TTw`N@XOFJb9izkp<#9sM!Vn?r?#;q|^h zw*=;ABE~8+iT~q@du@huFFdo1u^V2$TFH3xcXqaYq@rcveCBFQ3>VM; zIoUT>x=S<^<&>14;3+9KR(zi$F#ODL9w+le{*#Z?XQyZ^{6Tla=P-PrNp7_}lLSj(^!O7wq(=bW!4&R;v0_d9UX*Os|ILQ!EGidES$uE&low<^QjXkg9gc(+UPC!b|M*OXEq~DImMvA;=5xJzc|HH_LP2_s zj}n*tA;O-yPQEbc@9R_*bi>gMJo@@ z50c`R&dYi(;AXf;YR<|{3>W{L;CFfZE*i|!Hb!a|C zlIJ89zulq4qOybGHInw*d>*Mk-34?njPiixvsgI4pOtQg@tmo-_*@ z&7F@;9IehJAT4nRtBAW-#YcT7r`FlcwHf!pv}PUl8d1 zYO|Qc5=CPaYVHg@vPkVF0)d)kA)JeclbvcFeWYBAd-dJOjL&0}dKR1JysZI}w*#&T zJW;-3wmedRlN`fv(M95S%jz1Es?4`N_|*CWLw{vrDkp11cNVqXD%M|g#?U^N+?j9q zpi?#JZL0E>n7B&Q#779W%>S_Gu3`l*B#+5*uR5}&FhP&5a^kjNtI07Q&Nb2n1rmp_ z;qs1W*BO(FEYe==;}IEP)2B>1*gucM5QW-S*083zxIK}YaOQMHfVvJP=LC=NK&5rz zu`@dim5tsj7EU0KZLqLFBi zQ<++)!4|Z0@z~>zQ?K4+RlQyQDQa&6wO@(8JHN|i+Esx$n)daxzIJ1H*47 zYqJr_xg)#kctd_;m!A!YtavUn|06kmQTL=(t5wCNTt7YIV-zS&>q)8?9+W;e8BZ?% z%4Ph0BCWhWjAYIlQf}6Dqxj6CS-%2&1jy1OHz&a^->@<8g)dJ3;+A;#J+KR>UC$V{ zP4r(SJ+Aa@Sk&)UURzoIHQME7)zeoVVNMwuhnl)xW{9hcaIRta8!3CjP+uk8E@8;D z>+P^L5oCJrS6;iX)@u8k)kVU2pLQEsKVQ^;y3v+??ZT6Xd!*$l=C?AQG&sZuIPFl! zmb>-APqp~((Rh#CU`N9BR`*1`(n5+Jc1Wg4%|_YvN4fQb&KT}kDMgVqs|cvr;&XIh zOZ(%JT;%zyi=Meur8v9|&ut73(%3YQ0bQZLI|1jXTQ;4r^b*Ww;X|jooh(Jr{+Z>) zvRhjt6ga3XwMxww?U>Wm;@&FeZOUfxKD9uO|A z60pPk3|_`%&G=g=PIFto*MzxvftgIy{V?Lu_cxu4Yl&-G+;S}NZUbc`rs1-Le{S%p zmlCX84cv}r6+R+N-NVlv9N$&xs}iQbLGEH$`uz{H+#|5^ZhmkP|HhM4os+g#1Siwm zZK55yVz#F@+m9yMHP!@^eNM;gt9BWZ9Bypg{ZW@W_)S)U?Sw&=)2|itYA3s;*WNNta``Fq(dU}M10kDo*^t0P7`_TWWw3f7ZY(;zg3)D zX7+%2xT~+Gs=C2a^l9a;GbIhm6_~bTr&y_nQ?v z&8RvsBtuJTV=CWq&Xf+@%CG)%Tz>i8?FIaqyfN*D9ba#r^(bb&_F&tJ9&3gJcm4=# zvSQc1GiELx)rwW+G$S6h)iv)}5ifrBK6>qyq*}hMZbSVJZSF?B5WP6Lmh(fFi|(F( zf70jhmfj}}2R;yly z_nZo1-KA31K6Xo2>bRI1!iYn_cCnG_U*TwtP3D zhm0nfGVv_n%1BS1T>VR-wG-={Vl7n*qpR&EGU|_=K*(Jl-kKv zK}CD!Fc9o0KBn2Tz}>ie7Zs0>VA?4v-orJ}yZy#`oT0XWJ1@(DYFAX~pFQj9=EmtQ z6)ak)Um$n%C>q|4jEo?w1Ns~K9QwvvKq~}Q7d=tR%F2{Oy87(}Iivk4n&X}0o zJkDFXdf~N%gan}NDd$e0Z*Mh7+eJkKmg->&P!551iXnZj5I_Hez(A2k&RWHdjc5mY zepZE`@^)xGefI2qNzCH4f?wJWVgi%7$DrS3N1hM8Olxj?2$Yb^6qnuy`aLo_8mp1q zFz_e|>PcU|oRX2bX`GKmV5Qs-p5W0gLfcYUPa?>S!QaZz&z80gjR>}AkOd#uDE`94 zyt`{A1Dj5KDu{vlW;{S+$P)wxu1(;5eMD=qKLN{P{AlCg;N(>1@NS|)zpFznBPvST z(hsG;(r}qIW##1yv{wX^SV4W~P5{SND3k76Ty4lRsdhdEY}KZwCTOst zh-h8trnC#8=fMNqxt< zT7OSiSZBlfRKCZOQ3?+Bf>v&eh_F0~mg&1{J8O~^$9e}}&1`IFs3Do2J9jp9!Pzxy z)?f$sza%f%)`wok2)!MsV26Y-Jyk+u&Z-GpUEQ3Lb^D+wdE151lEaDa6S+P#(R!6f zlFba#B)aixm7g!J8MgZ%;y7fkpx`yslC>b*$KQ3Alq#jiY1<2@QQH`m4*H%CegigE z)r!frhb*XBJ_2>fo_F%__u&ah~dR8#XGvS@B?WeSFXiGQ72q&9Cew0qu68^& zG9vY4o!WJM8y^&_*z0!XlwE>&5riX#UY>~2Of4_qbeeBWBHCFpqbfRb*_0h3336^S zx8wJ(C-`ITtYl;Bww2n_DkNLO?}eT@VL2(@Vtspx(8SwOl(cXOURL!Dwo&W|*KG?d z5!UCX8IveZjl3a=C6tkhkrx(pcmlgV?Ohfi32kDoY zCZ;;A;1d?EDl7B$@u~Rm;RU*n69X#B%Zr9o9dSZrWxstlft+4eA*4Fyn>nDN{>_^= zxQ_s`Z?|qOPUI9#5_K{*G_>$oxpNqGuGH~_#6+Ltyw;3jpVMu-)SzG0x4dZXl~8D4 zmqsdP4KECmZA}SPixEZn+58^Fkw4(dIS&XKNJ$Zfv|MRv@O(*BR?)6<{z7v~gL_j% zKKgbWGSyX7*zI?-=I@JCiK@-e?$|OMbn5D5=(aKqenM{s$lQ@i*IZrs1O%A0R}~eM zqo$eYsUmp0L8I{84BEsY=?;$r-!rGmcm9>&n1)GS`#i6(97%u7zc`c&I%_C3}n0+WjN)TDGHJLefdQG4cfSqL>8t7+|O^wJ)*A>^))2Ukgh+N11}p;r2FZs-sm=E1ZzSZUKw_CbFMO+Owc>Ab9j0}T;k ziNwQPNLIPt9!Kl8X~&U>63<(=7KlBesB(Fo$Xe0}X`{*>alfAG5GN-m)696t)y2pT z9jCUm=+PdCfH7hFzy}@FcS+K+q+?s(6*6Pq!kg6nF1?8@g+6BEt} z&p&JlJhfE&@iX-44y7y50t0(&w$%*OWNhTtM|%)9N_Inzf7H7VOQ5Ho^F~O zI?f8N7jK$>stAYw$~}pKoIOdcQYu_o)|Os7bW-#c#wv^-eX_GT73$f%*F7;EVIa@B zyoQjiPwszm^Q_kAQWr60sq$arld*U|+j1C5|VA8NI_y zVy`WOnKU=HA430ybe#wXht$x1HTu<8tkBs3w}-j>@RrQXsFJp;=ayFtYu3tBE*79? zR+IG*gedHAwdP`t@p%;$l2pAul-xB1pmq?YYX{*FbK}J7u8ho2D?OAc=BcKyRHAI0 zQcn(fLDp^QgI8BiF0n_$W^U`;BOlPZpA{o*S2cgzl{ePJDrvJeUU?-9F}H$L;L-{kSo_a`Ixrd%ikj6If)RiHk^Bgo$%PP^?Q{$$`GTu zrUu=(v7o|iRf--209}t%Lxyd*yTh?w(LUKNBaN=IeFX~qD}tAA;Np_mU3nHRC@Vmb za#6>b&jZ1RYLdSMRNu|l?ChTN4l%eFQwfW+Dch>zTHD-K?jj9H@|QJair%d+ikijr z{?SL5`rRCL1Gc*5!^enZCyzBd&(dGZcD-+$iA9vr3+|oz1Ff%iv6iaw&t*_Gm|h9J z(Q#i$?hH)`-R+4I$vS&=+w2TTkvE<92!d2c%jg>U<{0u-H#a7;vQG{429KDSnAFLG zjz&7$j7a8{$yO1@X9O)8u2x58?MLvu%JdGJl!71B;Ce9QE7neLO!JLN@X7u6V+mZQ*^y|4jVTWH>M2m(Q-+E;=&u{8LRq@`cw zx2b7Pam&c0L#JfrPO_rnWDD!}#r^9(Z{4*Gst`bR0p$89JO`wSVr}zU_R+R1#X2Na97osy< zQ*4zpnK~-O@sdJuJueqq;XwYJ=PzMs82NrrzL-iF?~%iY%?=rrFaq?I!rBCpByh?CIg9gg5)dA~;oV=}4Z+c&-J zSt4|c-O6?<*U-qGNzXstyW^5*+j#T12Xah32l2&wd=}5RI7gB| zFgS#6@9jetrB`V?LDw-Ak_+&yse9+{Wf^Sc7hd2MqzPmj~1 z1sV57#>IUcWHu~BwM1j#+-yQ-M<5g3mbY)-M4RySRuRJes+mAdw9heYG)s}1m5P-* zR`)D6R_^l(i=amuF)FDUW*4Azf{trQlF%H@PoEAI550cl#&YMv{cd~KZ1}L1ojv9G zzQz_P^no+-KdPCl`d;{$(DXI+-L3;$;bKm`OC_0?$plcY-4>2 z#L})+*q_r;bl$Zd-95q2)n^}|Sy9onM~(js&Wxs*b`l}j3C(k6+ZBt~i)=5*C>q@F z9pNAtB~X{e+~|4p=27+z>y(clPgu|b{O7FbdrmIw^31ELlXaM^xBvk!L^?gq$+#;a zSep|e2bIhQxqK8ZmqDU&wL}Ee!^YqUg!4G!(qecs98cl zUM4;OQ+t`4UPUcnW^yXL`5~ZGO4b0UWvc#E=utgS0OU?>$O&L)&6_(Hcdv4c8Kw5^ z`~JMU9R3_CRd3H;0-2Q2%mzn;7!` zhC-|TFskwhc8E07#0~io6W0WHpDln2g9bRV5dotL6wn&8ZkK&vQX zlgTcPRNLcr(bk$1Z_DDA4lHZ6T}u7{g*UBx$;VzZu^E$0eP&q&WgbKbh#pPX)OEA~ zBmGp~O`F6YOnGTSwlkgnt-aln+Y$G4=j#T^>L*rfp43Z*Py^-paq7$)_7z+$18)yK zKoIHDY@2=e?lPX%x3hN5BNoL>C)Dopz_E_64KByE9R-3DzLoFl_i(j%W|wStFO|&q zwG~kKyZIhMY9E>bOYFS=Jo>uKz}Awdibii#=p&)nn?Xkh z>QyErmiEaGI6ro@b_mz-Fcqj%R6#K7aD%ZAYP|p|C_O=wOip&0bf&qd*5YP^g0fdj zwNmqJIIg?eh4E-m#p$t>WFRpMTy@ONKlI;2EJmD$cpCC>O);}`=Yq21pD)w37S;sa z6xTdApB??a_jH>y^-)riY7Mi(_7%WmFw+fZx@n+OJ|}+~UVE4z^x=S1=pcwSvAnnq zRtzFKwMH|FLJE*L>Oe3O{^I#B6HL-_=|Z~Tm0#4qLxj5?8$^j?CBoJwwENIJ-9Y%_ z32Y6Xv4IDcr=#nWD7~~(U1Gn7$ho!WUW{?rD0r5CHqqLANAp?kPO{WjX^zF$5v+1a zbJ@jSsD_0_A~=A1RzX-~-UbNLrCs0#iFg2ukIAo?cc30Oxagb3Z~tNn~& z3OmMHfJ}M&r0OGPIFS|X=8MV{;%4Dujfjq=vNge?P8WhZ{QT#nnKS`_3E)5HH6|6< zaib9`0@mZ^z{0E1!##O-xLztoq;}w#t3gl$YO-;m(8QF_yQx!R{(f=)1|aD$>&j z2{W0R!6({!<$6zXS0yE{KpNV~8oer7MkJ_}Y3T(p99=(=R>}nd+^gD-=f@o_pkY^a zsbd98UrohuMnta?#kY*rj26iQPqpP<5TU=tEyAWMEe&w&Z%tg+5_u6R$tj# z!V+}WbN&0LPBnWw3;ej9jq0sp9=ROR(~K!~J+aA}Jxn}5;a|=g<_AP-v5_Uvn_L4~ zfvzrYPR>4Oi%Q($zJ>8gc({tP@_ez9G}|u!9)}cQUf=1xai(mW0%X{OWGi}?K-@IT z)hU{6mlFIcAT3RV<};w7&3j+NvQ-R<-A8w#GjI=-yRhg0AS@h?3A?1il(NZ%*Or&J zRBh1Q#yQ}usqX_}f+B3#aqDFb{t|}|UyWK~K_o9sX%vbgEnaWqm~)Jk+S$a5J+B0C zztCx`%i^KXu|@}Y*5;zp()&$X7ocDYCF>sDQ6!aFR9sVP70ljsb-MdEe)Ko)h;u_kH>b#fL`L06Z+)5QI<<64L$s{hG=sO&hzm zKmGbh`0hc2CO$WGH0M@U!1`Ze|G6)G?idOkU4IFBhsfINJ-bBm>AD)I@TDP_Yft4E z9Yb929wZd8ZeSm)Jv`RKsvp?PYF=P>W#G~Ua{H<|p&8kMnsqL5^?YdNFp_@siREeX zXQ)9E`}`S~1&8M9b9*Wn=4rgfNYw=U!2s`Dd(6QREZ@$G=fGruiU)~jNJuuk)XVeTMGq!qY-0$0h&t#{snz+02i>r{7;p#W3!^v)HKnW&)#EoPUU%g{Yc z=JjKak(ao>+VdIPo^|t!&$8~sBn+l&J(`)7^$N#F6=omZHqZI& z;=1M*4GgJgtE*(qYI;lmvm>tgBZ{-)X^6VUM&kDCwX7HJCh#|%^#OhKv%!5e{O5AM{55=k3n>z;$fC(T=gflWTL*>ZC z*vGC)1BiI9^+-`LTVjP)z~8G9r7I=XC^G8&O&LR4{T4J>Yn;0GWG}xXhZuQHVcQJ9 zH~-$dEje1y6Iv6mO$U>Y!-K@{}VvOCBL4IaTTta(^4Y$`|@Y0OT-%C`m5r){;t`ZXx zLuEhyH`TN8SK3Q^rHom7TJZQ9EBwBo=8xv)-?_@5NI%k|aFv7jV~`J=N5S4?HE4x% zxL`zRL=!J(9L?0>59xVwIV?pfqhIA1A*dtd=-^8`J34-vMnRJ^ar-$fz?&Vh{r&v} z_$C}Ck9-0t+yj}dO4>2Qen23663WUv#fl*VTN6zMb*l1g>No{P5qUxY;iFzo4lp5O zaq0O!^}9Z=eG&=ps_YS@H8ofmUDmsJr4eNRYH}NHg4%3R?wUjzBC-`_qgUhL=cEWr zeq9WtzK0nloN<6j4D>&E{oHH}K6Bh!z1-5jrY!-z87%?X{_@#hgkdGto;3z9m))7G z)^37O6{=#g^-?eEf@Aq|`Ff7*-myq*jA5ltHN4!h?Q1a6d~tRkV@NfC!f02yBb@Jl z8mOAR>Ucpbv~hLd$U)hX7`sno!_nNoR7`x$B^`0+5xE~gO~o)EtAxJfAem|Vf#Z5S zZnePxc5z-_p4~3F=nDY1G?@39jK*Dhp@T$Lz;1{lhOJ5#dJ-TC&|!Kfkt`~aulMEk z;wM2Jp1NmY&@0zCG8CThx$XSKuJef4fx`Bjys7H;n2iPBF@j>`U+;t_mJP;KeOOlK z8F&J)s{$fzYhQy=h>7$Z3Aq|1s4$yB8!W57;=H#%C4K0E#*KRKN zm=l6uT?l(le@2|cv2E$XxpN@jJUKO0SX6YDn0mxGJ`M556x59_soAOJ>QLRdF&~=- zGBfMz>ouj9^|bFLb;b(VJSb_BS5U~&$om8*4{9kuQmDBxQep#CHG`sDdtEa!z_&LJ z&e~QYf#(EA+umNq*%(GsjLk8+KzDt$F1DwK-Ua8A;0m$6{GN@Vw=x9igiyH46F>&O z82NM%-S`d~NmW&1WA-VTUAHGI394j2cY6B!BU8(1Vdd9 zJR6{CkmZVsiq`NqK}if`+gI08`ar&CE5k|qgo)UZa~oMoOywT|Hw$1Wq29Hdy&OOe z{V6iZw(jn+kP^DOx(@NB0?Y&AEU@lnWkO@>$6=NQH2&ibk35}+3&~OuzFYx+{MkVo zf;G(i>i&3XkKf)#a-4|g4=&~^b;yfclJAj)7|Xd-yLvo3YP2o*8e$r_@}nRPEkp2U zV)Dd&TSYFD_V^XmCVFWGthbmj6p%8N0o)0dH13^&Cg=Om1=pS7wSREq*zdG|BIm?N z%wq+G4cmhs09aDz9{*y8QwW<&VEnxqrorRifB=5Hm~-^|<$x=CdU`c}#vFimhQ*H} zl`t=4<>XobS{p7(0L01{rwtC{r=#ZwsI=iN>4~aG)87@MIFkS=_OqtX0+`{>(uV&# z_@-J{n3vb67)!rY0fKMg#nCY_aDE@TxRg2z6Ab&-V}e4{SZ7`RpP{I(Jydbyf4zBr zU=2cVZPd^ZN*bRfv0`|`U$BQ2rJ|z)DuFOqO^BY}NB+X{zI?tDq1=_8ev$DE2j}!K zScTyWK2_bUfF%v(sPeQQ#rjK|9h>|kFbwfh6;{0kW)}F$i~!3m7N|b>WheZ&L^1#5 zUvPt1)mxAu_fMTBd$Iiyl}8uSdNE`*y+UDQv0U#Gm8^A^F#RpUKNz*UbRs6etDm)9&w> zFZjDaRz3>%YS4zVAbkY_MmlN$wV#1`OhoM>G_#NnS?Q)boh2a|g-L1=H=vf|0W*uN z?3z4PF?X+>t5J}K#C2XBWU{_~z28Sd0<~PD`U@l^<>4asGo+fx855v&=6N~+(xWJB zMu_{TdVmjQ#^bt&a|Ic|EwHWKtdI$7HG?V8Cpf@t1QY^8SKpn$c!Vz012#J`E)tJ( z1RWyoU%h~d*s!G z^yPRC`5%B-Kt;XYl$$?(*@QOAKQpxcgF zzNK#iT3~zE9ah`!9d*P$3bkyA_A!SRK)z(vIJVjSe4BDs4}$L_G2>fkGtJ0PWyaYQ z5fv&M_0G_GxP2oF)VaN$ee>Az|BPi`izK4g011qU4?%2eig?)k#@l57WXnjCaver&;pxitlgrt^vHJ++6J-w+J>9A|7 z=k6{7ugW(d0FZ|4t*pCkR1OfOM0jaK4e*TO4fYDkFmR%mZ+?r#X23fH{B3VOi;SYhsd?lyn>B&{&>}tc@|m3-^H96qMLQLPDAONMK52)>zgKG{SgsI0VKE20*=CJ9B0tU5KFm1vs(L>oXdIBJ}|#R8bE^}@?m5zX$r4KforH_ z>Qhsd)snO4jw$}D^Gw5iNj;Zb(f3!A=|)1+1k{=8H=o~14(KDEPT`@I&OhBj8FLlz z=JJu)XJ-?z$q!?1*O~=$zbQ3JLDKGq_y=Eg6gBB*kR2s3E0PA~p+yl|*&vZhRzVuO zWRv2dY~Leu6}v$>qe79XMm@X!os}U_p>|ID8uXOY${vaF{H^gy|Gm-M`o{|1;g9Hc z+FS4%3ZYv!N7A&K=TF+%m3(|!Apz}S*Jh~DUOa3TcIHS!WD>LskJLh6DBow*cn$il+H>~8JyXd!cEbGOs=Uu`x}66smeEc zkl;i*=h%>yh$QZ`LS)#Wbqp~?0RLe;t>|Vx06UgDy+)JxZ?=d;5nGa^2!7jU7*!q3 zms61XSfPU<+M>enuBJ`H7eK7g{Hb5NSAM1;1lmpCb2ewb{j9l&Z&)6vy6a@v3uo=H z^k_#ZF1oQtWFr&Q-jm-Hj*xvjBQNXOa579eUEQ>WLc65*S|Yc^Tw8K6402> z)%z?Cv|#<424k?csi@ldUqlFIa$Wu<5vA^~7>!87{B2ME0JBA9OLep4?`ctbr$m*l z^G()}VXjTOCxyZq_;!PQ>|jT(hwvR!kx5oc3han-7a@Xf_4T(k-fGG5J@qy<1*hU< zYHter{;TIbFLI@Jf{syu*aCmRXI#OZdEZ?evaLqA?RA&hcg~uF5m*X20AhWA#K5s+ zntrUp$GhGzn zhDp#0T$OO0R@s`*)Lzzk{d}PERk6OHdhs^XM9msu>z=t2zvw7;1lN%OcD;&Dk?8nW zm!v-DdE;KRG0#%3)mkml#1CJ(rtLl+be#Hm_rB{1EF=CY`}s(^312>q@xU=Z2F-jy z+5yTai=f9m1LFaDoo{?ZUrMF$W{8)rfk6N~W->!d&PmY|D`H#jx<5NU1qTeejORXe zac3#z%)enhuqac?4(yJZwpZ|_FNyb2PW;kRm2&ImPIBZy-yKzq5Y21sS=|f}a8AbK zhi-%z-|OruIHOF+fd12-Zvi$jC3v0>ZOjQ$0 zrn;m~tb2xl2l1t<>t<`L+U?#fWhSq|=db<&+@2KX)6lO>k`m6}V2DB{$rF41I0<_Y z=b*3c@8?yCyxn}6B8QuOB~G0w%ej#c24wQ@+3wpG zaq+YEil>^sZAW-A(HPuWvmiuaaqb{tavOT(4n==QM=dvD@9M zENjKdss~N+WXrIp2g%5DNthT41-{nF_KO|O(AdkgZo#DAq6CHp=TfP35^>3H){{Fe z6xZ9R^n2zamYKOVZvA_CqT#HJGc{p*=Jy@ViaN+R1Ouau0>^w#=u);=lUs{J=X%QK z7nR!$&lY8w#dP}jU1~cXY_bhCgoby*FDa6-Vc#Q)Srb3f(K0nWi|d*G9KVS;OLjPS zgCY#skjf!vuF>LlGm*dbPz-C|P+y^jR;aq#mi+Ml^vt5CF*}yy>5Z1xc@IRG+{#^F zZHbW>_pa7_4fwPct}DFZUz`wVs@hEzZuaN~E27r~cc+LxOEFtOJ%1cK{azwRtE3_3 zR}&=BPs2`t7vWD;FK(Qg^l2QhmuzB_2@hovXg-T}Tt7cXuW(7eNY32;JzL`U_`xfo zJyZ$B%<0Y^$oh?z!Mxa%;Q@JJu6e#>_4A)UtkYlJq?;^mK=nx(s|-H%w;&SK?;X_i<{*g1cXCkZ}Ebk)Z-?*o0`1Gyfp2_}xk&muwUV zyOQu|VB7uqo)jTN+e5{ED!ds#p+OhW)k4mZZyj-b<}|v34-9IO9}q zcy8&FvK7P5{MwUoySAE6M*KiALnI*cgh~w&5AJJfDR|gR`iLfXkR=!eD)33wUCSC1 zO1hsNR>AW|COx1dY7&VZ6Pg$=Ku%TySqg#i#f|+z`>&p4eH&=VCu(LKtJr^T14P|{fH9Wkwh#Hp9nX5Qz6s*==f|CVA6G)%?Qa)I= zrd@Bf5{c|PP*ZBhCVK!2$MXpWk9lJ`$`icTU4&EZyMKrvSqTEan@}7qZc63R&9jH7 zEg~`JuhgwP81_=(2h2S*OE2WR3Ot+)^+`v*>=Wch!N3AXj@{-8?dw)fNubi z*2cRG6KywNIvdVNw#Gn~BgYJwwN9K?K0~QJLjOJ(@%-1`BXu=br6oM1>oY@SAxX@U zXS(s2NjCzSCzh>mfSgKM%V3-B(d0IJ!(~=%+)=6J3(@z_;4@}hW8#<)O7OF zD4&J4K74HW!;@60{t?=&b{lkj07I@TbuE)*m+RUuKzMmQOO>dBvLQg87$e!dWNq-e+MIR^KQk z^Vkykm@QrOzdk`Nf*-vRW?pSF1pPEz*8)ybfm^Dm(8xlb5MF)uFaAwEZGS=^bNq0r zP9EPa1|#4f#4E`D(R@0@wl+DJw~H!4s`)FmBoP0?qa`xvxn!8ddoCfU!pgYPO$0K5 zY#JY<`bw8~(YeRrg|x?;>cAzWv#?b;G_O%L&TVE?vFW%mtTjyu))nV3jNGaLW(A(_v&VfcU zX#FfvDVjq{9KybIGUFS{#O@*Xi{SI!yF^x?qqco<0t{GEB<*g0lqyH55t7H%arXZ% z8(-8YO?-E$auvf1l;Kmh_ts_fDIzQjOcmZgQMZz{D$+&Fv6t^vej>dty;@@b7~(-0 zYs8FOB>7D&Wejg5vWmZWDsH6*xIuf+mmr-ort5ffE8U~riLLx5pH(#&Qy}8ZUp40l zUyozf@htghr)xF;SgkgEZ4N@@Flh-m_&`Tg-RK_oeZ9Bbudk`Epb;RaZki|DCkLP% zkbW@zb~XBEE%8(Do4`Q94^!Ecf}v2Oze@7?gSAZVU_7FnrQF8as`-)UZeGnVc!?Yz zaw?RoP#LyA;nRc7_z8A9GlgojC}6LjZ$q|mLX7GvO{j7L06BYA;PhJ{Y~9Ks7zu3ool zZE(swHOjsytklgNHOd*^B@(Mz%~WY-DTA=q*K^addiWo2Vj3vJGw^9z`)O#h!FzBm z8Xt0$V>ww_Sj&FIE0c$fP=-!rS*_7u&6Q`uzEdmZO+pD^Je?f7s)l--_JY9bg>EmN zUL7QvEL?229EJ=R>>^{T3v0P4Pq~e{TJ2-CS9a?cQo>ka)=?R4xH(A;lM_695f=z%}6o#OIZo%A(D zGM_WxQ~uu!&CVaVuD@G8mpR;MdT=gNRL`$XhHIjff2C$3TAxduj?AGES6qkclT3y? zx%#@%#q}1t_)XwgzCG)Y>-7gv=LH3!VkeEC>8_cN@v3GOF_S11{7Gku!SR#;$ z;+;I-yV11i$fk&x3o|=jRXez||!jE*qyytO_ zzn<|05T5g%W7@lbYq9w0@uhAAk%Trp!z!`;i@YN8FoO2wGRjhfB%4=lrEJS@;o2H{ysPDWK z!#ga>G*FOMkorYE6+ZC48Qr}9u zO<%VwE#NM0^f*M2c2NB012Av(T#zv4e8_!2Dj14tNzRX%89&qA=Ro+({GfKatXj+@NBjv`BX`V0Y^D3Am$IzSa!cU<~hyqm%; zg5)s$UD+G$P7(HjjXkfDRN?>Hpe&zXeCvKM>F@Qx?%%RZ~)YE{Bo!#1{+GBrwHx@Pzc-8o60zGSv2( z#{fTl5ZDVB{nQk081$G+iZ0RuAS)B`^0ia735``lYE3Ei5cn=kf+RQy2>x~X-$mfl z&_6Uimqc#GXV3aJpAVW%YudYjPjV|S2xf{UHGE=DZ_W>dZ@D3e3y)Dic>K-+Y0;i# zpblcJI{%f2x%E>C^KSV2XIi{SD?~W2Q0y7>d{9x=b)Y)aM-f#|#2ccyiw^RDOb=yw z{hZ{nz!2X$h*s%h$O@HA7Z%~Jpv&>^cU7)ZBqJhiSMZS~G9`%+08&r**U_SE9<=WE z%-3nwG<`CX8-ROyaRY=Zppcr-V~sIcUs#4KK^M#4uC(IM{iZT}N5}%4+1*x&#dh<{ z;tc?jbE7XSGcPiQJPldzyx!6Wm%2v@E&Pvv^@54dYX_w;^8YeiNte?Q-^}H0)16(X zGaIPx^IhyAjid35>>3Vrtc>!D?XdZjCRK5LD1*WskO-{sg|eLXV-1+v=+ z3>3b>GNN#bt@=h=b@fRDq`<3#XTs95kM6vWy zTF;7C=~FFJzgI$HIG%c7)c11eiw4RVb^vJrVF#35a20r{${_Wd8QIZ@!9Oo{{3b7P z>1X6Z$SNlUhF^tA#fH(y2z?(bq&o?*z zD*F65QDo;r!;?ra*J{_wtvqW`){$h~x^vZ^P)ShSg#E*y4{z=X^=z*+ADbhN$HwF% zic|9+Mj*0!Xj!9aAmWGb=O>ZwgA5L?uiPABqB@DhKr3e)w*&Q8MrKPWQp^}}fc`}`Vh=#iL06eBy5+C4{g4V^Fp!B(WV z(cNqJ#X*dOp2RUY`VCY~E|7M!x=a0+{S6xly}g^}2&c!$Sj}TbPE20)!sG0hrx+Z( zr3sLvf1W7&+ii8Yo3j)4c-yAopHU$?L7=PkuZy@auRUjfTl1tWpeALF8Bej5<#{7i z=&K=D^}{{Z(eqK5BB&lqhBR%YnQE+jtY$Ctt_7_v>VNDZ{dhPvbzN*wq#;g^N{#(; zO;P*uw1fA<4|nEN&_mH{qS+rZ;@IUM-cEZ_hOSipXy=Lx4u=bPG;yPh}=R;cP9 zXTRS4gCw1FTOojkZw3px2*qR9t$dr)t3qGL?$`3+SKV&q1`-kO$$LVr=i_9jm$emf zBV2}?pjqC@3CP~ z*w<&Tf8OzXyjN*gZP@jRmoFyi6fg18Kh7*CHJBp5R1LtU-%b~FCFiS-7v^ykho#5e z+a&bYal7SZ1*faQP30ThN`~3ec*|8^ZR_bjKvnmjcD4lpy+k6_D`n=i%@kD8b_)AU z$>Ud7999)l9FHS)oUPG2-53;E}T_`!FMn}$JQDiyJiC^FU!+Ce&Oib$!bVWKDV%FXqPGhMyI zehfFdGNDHh^evVSnnf z$jceeVY2kD&;stf?=Yev#|C5e1a{Qj+`tJ?$%D~Ie?1++2eiCIri1R>BauX|cghVG zT~Ov2=e5iF5Y*DuA_A6{T2`;CNE%avqvNm@e+gL%wLxx1Qe04 zPNmP{AoOF1x*chWjMuoMBiKH;k@i7m+WB}hK$o%kJ}@%E{rU+eBk0&*%ueb&#c~={ z)POAfkIMj(JD&cbSavtk7~~G~PR#?ZRzIIA$cGk;KNeyX7#_=|6|eD!B;lsU39j6> z*d^WKYUBUC6dOT=%t%EfIA5srwKN0HS=KCL))3DHH}uU}0lg(%pMWLz|zgC_0N~52`K6K^$!Vy8+A8oBMohXer<^~p)+PwDN<=2^<^ z(Ood=&UfJkRf5z`GC~*tg)Zix$3H<7rv?-g|9VQo2E{m3JQ-IxZ!D{Jw~~$$w4{9d zl%=%TyF`9V6i-&!TN5?MhMEN#Vo_kII1G5omGV(G)mG?`B%pRx?@e+1Z^_Ppcesj? zWZY&u1Q@48vkNhZ;=7t<@EVu=y}3pq9~#E0GSiO50tuTh`qnX zUf|O)KQ2bF#0$6#mI)6&)69M2fI+0BkVWL_!6P;VB+=30 zK_o3i_y@=w2K~LJaCB~103Jmf%LDjqpe8L+Wj08oqYijcNow@2_FNs!euDJZb9`wU+9kyAt=_@m@j zcy2y!y_+q^jLL5mzuq&*$d)voY9WA$4?Mb(@Zh*DojF-h{KMpn(vgo+3s*# zVz9*lAS7@9U|)~p44pJxXtxX#(sdON6+KAjNY~hN7qzBtFObaRB&<2*n@J|`SYsk( z7F9|ocz;IHBX&nJ$>QIV;s5OP8tC}`LO~ADCo3oZY2uy-Vo3we)aX) zH{l%htT2%)H<@O}OCCbHExQsAq^dukgVg)rV6&Q^kB=}HbHYU!hGQBSOpG2LY(CLR zfVHyE%ThE8`W#9`w=@Bk3GX_u$YfO2I0~Ii^o+;nleqf>uAe()&_>u#pt&=7p@=c@ zMG^`0XFIn8J?PI5Im3j^E`o7o%}gxQ)1a3R-TE|cwuJWz^^?OHp*!)nOd;7l-n82v z+Qq74&7XNHatY55d(bZ-J^g#3MJ?X2WZ>l823O0&=#mHTw zT)JYTH&yNK)P%Srst28r1RP|{Iv1D{RtQmdvpi!AyY%m1!fWB4B|QFi&#u5=BzC<- z+|-5q@ZrPjHi{JJU;I7P5?IY596zpv)>pjeFaTvE=f&Y1o%RpG2^|^TP&)EWNYWlS zZ&3-WLemF*?eC8?F2kf4?Ct`B;=ELPBoj_p`>)w~dH4zXAN~E;Xj!77>jQdaw3YWE z+&~4mQvw(qf{}rOKgwh8>q^}NJZANifv%MXt0o6w+XzU43nTG`5{kL1S&$UqPqU)@ z|M6qDeA)CGX+KB9c|zG&f^eXup{^B6mqb-C?7O=8=XS2V7_oz&5Xfu|2qFps79m%= zYe)^%An=NC_5^Q2Yx3vKq5quB7td6cl~?kp&-i4%1*5@UPst=mrA!^yruBZwKnfM- zOy#Lk?uSUASDzl!x(xufMKR&&cM0(glnEw-oLuy2r0C)0;s5sXKETUc8ZO7deuT3m zAt`xkb1(%pHoQ|HgMai5fGD{ut!5y^DWkw-giMOsLLlMR>f4*MGw$;tAuQ1N$a%|w zlM7%_aQuu>w*~IPT`&Lbu0PtZ&2$FuH-HSqD>uuhnB`yE>GMoba72Zh6g^z|eg(@t zAGw8i0Qm+~L&kANmNM5hSz&cqhu&qC2m)hQllNPmUv#~9HSTD10pX?no)8oi6ud77 zL|D??=VoL&h8jt9#`iOll%r^)7yAj4mZ1sV)<)yTMCXmV{S!XqM!!i~BP)VP|Eop` zAtX|+R$UQoc#aZ%3t1!a?%!6#umG8zpv7Ld_=5(S&8N{P2;4FV{?Isav5eumy$(uA zPv_W4cV#PQRy%Ro2kB2ddw5tqB^zv``?UxMJyD8~C+T%|+ND86cHcj`{&>~j?mX(? z;2?Nk*~`o8OAbtX&>70n;fUYs4;%hA*)h}r9b3xtn3tsq^qoL(_7u`_q`LE^9+M3x zrGYk}b3qa!Fwi+WRrqG&3NPBn^=~JI!Rv5$6lcdwm>p{|S_KV=rqE3abQ5TkCgre$ z_Gu7uhw;ZcE5##%Copt(Cj>FVWz+h^AUQQkc*p6n(0r>RLv@XT8(B=l8RFq z`@0Q1AuL8`10c{%{5Kf=UA3er$8t1Nl{3RKjtM?7lc$K2PO`f>&MOlZ5?!x*u<}2E zV-h;Y1&Y1vJ32b54|l5%y$u2Wl$2~hgJmoPc)U&rMV~(#7I`J-<#8T8g>iXJ zTJIav^EFYyqJpjCri4Qlc{zIZ+XeJ?()>r~Y`zA=vT)G1Wkpu%WGn3;Y(PPIu7?7x zMxDs*M~!?vV%S3gi|~EvR}pANY4H4VDu;$uTm4+f3eH2KaF@&ygijCp`4~zc-h9kd zEKOxYyPopph0u73WJ#OJj~N~yB%hvQtxLB=~5U$-t9Q2>p;E*PlZ$g4&n5y{26tC?(Lnx z$7`N-fYl#()!A?`%*jaxTH%FhyIBvm|F-RU3XqGSUQL))oh855ez+~Jo~2hHY7fyz^+G9TH6v~AmxI2mq# zz0wv7M+ItYhCv_|%%YPCR{8M=ow7BTS;2Su1FM`LX}yv&@>SwL9#;+&T)F(%3RXXL z=`!whJv2ky@}w;??1rj{1tD3;`!+#Pa4ioi=e=QEk&Q^wU1|2c){Ts5w$(L=$* z%nNZNYm=MRe}a#D9gz>02$OQ#F01b)9IkrR8P}A67?keej=FKWepiZoem5&c72$5UoSrTzc9yJ5?YrnWJ$=-^#f7M_E=DD5g-SeLufLpb99v2 z-CT^v9O@t6=hi7mp&i99Rj469CO@n5&;(qA4VNa;epM=E|2niAp^p8zxsp>Pr)7XkH@0OkLwdfm2F5moLnm^{02y*v7w zi^v=(mUo{0KN|+L#qMS{)PgcjoR8n(J{-|FVJEr>7Z~ROo#en9+yGGl;H3#X|9NjY zd%GhG5m~8_zz+pAM!}SF#`&Z!ZS9v(EDPt@-{rd`$JgiDoG)oDolBNG0@>3DM{T0I zIho7cqvn)iS@W;7$og9OKJq ztIm7{B(it4%MiS`bhe=*f=o;b?q0y)+EH}DS_AEdP%Cd6UIJ$enH%Jo+|!R{zpw{oIrPd{*1!6Zw`Sl)YfM8zOJl;-1oMSJz}=xrHv0&*if%TdLv`MWTENN z!ws+PzLk*OVz1p|{=;Q_BX#@U>x12DagUwu(mfc^!nhQ-y)_X$>bwkda6p>H+}+)M z3{`Y6UwzQLT?`sa{dd1SC&a>TgKdZKgD~uA7N&~`g7lZZKB$T%Y+G!Dhwy$*<@PIInBrYy);p|?QMZzuJqE&iabDW&KJdnU9 zfGPpumJ{e!!8LB2J5_Z0nIzEb+xXjo61TFiMo4Pl89*pS0pMEc8)xLts;1LX7vS^lt^hqecP_34PcMz6iMtF^v0H4lnv->pCtGCcMQSg>pg zOnPFP2R_8)lo%x~tp!|roBvgo*r%T@(q2kr_UHiltfEO2W?1FtE0=u6WZg{yLB%HV z0^pj%^mrgh^(n#*_1qdeZBv7_uFh7=^x5o)sCHYOmT#)wO*q_6;LxdXUY`qlkof$7 zj-GxB;?eQf@W$_gh*9j%iT&8coh#;+mJYwZl1&CC_XvrKETkQJ^ z91ujRs(F#sp8JG3OJrQ4q8^jq-otV7veP_(?KZ!&J`V?jq&p(E36$m^WFT@>Bg8vgy?;4E1V}jw<7A-q!+9TL3^Pz0E>;0kKxNxJvIX3 zB0{=cpar+FucjC;Vk1EL>eZ{PKYrSQiW-9VCa7nC)&2GBmqaE4#*uSu^}46^uof^E zZlZmQ8x9T^hH;ut5u=-j)l(HgyFxjuPNHQ?C*nrh7S7TxYi2YWbe>q;4l-)s+ZZ7ps6K6uQe;37NuT*GWOH7Fgl9mS&n#SRrcdIbdSnEaURf^IFeH7Tmgk;u7nF~U7cDKdZ5W_R)e(Bv1JuA&boc&Rvf9^St ztDcR+pql`z*=(pzQ%`E^--!Eq;lEYf#S0wOIpQ9`Z>-r|0Va>>ugH3E zLauvHb#!!qWy3eQ3gOq**48^~f0(cKt0@#_Y>5yl{u+b9ZscAUuKr94B*XMqdsS+ZwcWR8&0<4?L8Wm9O@L}N^G(9w?FzTeoNGNJ`9`4rs03yONN)9CHg`9dAa+V))6&uLtSjHyam9=L z`1}A&6_EXtGR*Y#KW&h~4DDCG$Jjw@;M+Tz%M5Y?ptn7b5#`lnrP3=j-qz2EC^4+E}qqh>k?Jm0HWHPxPl1q&}7lkXpx z^tZtphet$^T<0>}-&sc<)9?HwVbu(h3pzs%V5`CS0Ts11R&W*cp~f4cxQ%yQ1lGN% zOZR)QMV6P*7cnM2$A|9+ZmjnHkr38>ToG7;EWomEZjKRkE7}l)?VDtMOpFxsBIcd} z+0zuci!c3X9=;*PnE0EZ5&Z#yDop)@P8GQRhV(>?Xk((?_>Z#s%Zuu^=j`J}c zO0I=gh}5d2E<682Gx)dGp=NA+XhLjQM0aVarl+kMUR<}>&(cIjK+WyBZG;jP1tL^^ zqSwW0V@mM$=koMW(U)R!gv~ejBP&mITzU9HwcF`%*-$caVjTaDA2%zn@VNv57wI^( z(Ax6qxi_AHu@?jE*y38Ojja0Qs)L@evwSCs`}J zM#JMn7gA?uXRSvnlvLOIV16TJGaj^^R8_5eigwrMaca-UTcWr#GGGQ@4X;ZFu(BaQ z^yPm5Qjy{uaR~`a_CjDF=Ce&+YUII)L;pknp)qizu#>gOyBcO7Z|c)+bNko8Im9GwUx{tsrJ0TEmbxW9~pV4 zO%uFj?+gpG{|byNR8=)MGt+AK9W1uy;4AN%CCnBp#KJgAUmKv=OK0+eOvx%dM}n9K z(&B7PYwyhbse)kmX*g2Rp`qMv8y0Ns_gg-x#%Z4}cy)XZ$437#3`}8WiPQRAPY(BW zkIi8x{a0|Z+6=imRgYQwBK}wvq4`)>3t@r8Gg@x$E-V*N^;qs4eSzTE4^rz-U?ye) zXo@A-Rw?^61`SH=DTNr>+2U9ZDvRZ$J{2!+*y;G#pYtP|-gw^P@99UCyzA@o(1eE~ zd)xTj`^k&DjE*~&ljFYIA6@tyTYucF)pQ>r)hF{xuq%#_lo(n*cgRiliPP;d@c}8T z=hyU%4A=dg!i)?t)NkZWZ_AyQ{F_&5s4*seIm197Ov#u7MV`T(a7NU{!aYBP`@uGD zT-kwI{ciC}kbKMWu}*l05N)Pql!4%ByBnMmiMM;d%9kiSGGN*#{I%Prl{K+18dFH) z{x^0hHtsZ}EcnG>u8bam%_J-66{< znlkrTn5M6|!LP#f&gn&uEAi4hFZlc;PYzKEJii4m4V6?`T?HGPW0{RkpSI1DMqjG~9&WwH2QthzU{{02UKRpVp`AMbq9C9?B_G9A zzxkbq0^{rFm!6YDras_5Y6%j$5S}J$;}hcJtKd8E^srf*9ftVD#l7I|0OcI?aF-!j zczgcF2JC*f3nb`jS{joAMMIDJ8T$yU# zTo|we@;s0yA>Iz85>^wUemh_R_Tv}CzV`5cz!F$ti?Y9b>9B06m1?&x;C3_PLFw^O z7`Ml3KYePqvo;I55qofF7*s1v&9u{=hKTuUrXdf7fxf;RL)YH+Dm>f_5__AE&k^1; zXn;Y^l%0`5!DUF8C8y67Rd+&kH2z3o^$}||q}-s@G`H^Bce3t8J?T35-#RaFp$fs4 zQ!q_8_+mNGJZ*B-PS?bMZ_dnc1;{G5YUjIV-###M!3T*Q?%CO()f^hKPY^?dtgO1e zh%FvmQ9j&m_p%zPNY9u9pIyOrJKhZLeY_f^VK3*-BcI;KJo|cFRaM-5>tkit31s`N zBG|=G+e%7+Eqlg*43PZi9=0~|x2OhqDFVlHfCw$yrXark=)(jOSh|h|sS0s*!XDs^ z2LlO%P%|>X#;m$uVmrqP@c&{1MDS>4-5=}K?%VmAD-U-*z1&F7tv=Xk5%;SOij-iv zICEj8I$`(8lP7o0ds*NA26JCQwE$aeEegfW10Qz_(ZcQXbx^z{cwkwz7vhXqcHAJTU#6S zfgmw}hton|JGnE}xjCD&6bULDG6=)~_?EVK(Q-(}^Ygjz!{Lz-;#X_kP&j*@SHsPb}_rpmpOxSI#NN30y4R zWS(G`VO3$gXGTWQb?yes&riF$#TZTo21)nlvMj&cLD_Zu zC0HGcHPtpdhFO!OF_eao=GR|BIxF4fpL;E8~5?^q9CG%I|7Z@At7r&+-uJ_Y99KfU2HY%wckeoBo22V=iG?iOXy2S&eBA&aOed3qWz z$Y2^e->hG*atIQ4LB&O%3PL?{kRmqe_z2Mk z)D5&Nv@9(b!wG*FxI|5@_%`4a+#n&olbi-wd6*@wy)+2v?aVWXd`IF#sXz)< z&~1(HSofYK98VqB*&oT^zRukgaqdo2B4h-!uL0T6zTq9V;Vv$WVWj3nDr!bMVyzc7SS$R05+5c6Gj&?R`N$>K*}oaIfD zAe?kCrSJs^RywZoQ^BjQ*|n@^pG_fRgG|QV_&02!ISgVruc``S{X?gCy_fQG zIk#?c28I+^#qslDAoFT@ofGRbufhOzHa50atS=$WlCUPR5{;=6)nrB`##xl8`8{8s zY`Uzf3X^rShH2$RoRhj{A5jy=R?jc$*AxPLDof1^ad2LJ!K;upiI|ZHUqpee9vTq~ zNfs>0lbBmOLnq&iGTeMES*uf7&eX=nToE1GMT5K2n3XNDB z&~1spE!zbmOeP|7?8=A5kA`TEUkB4|mpOmyjfJXePe$ouH_v-<17X3D z_0Zv@Ncr`a|R3r^LuECm$Dc-?|l- zdtZ3k{QkpMa31iPAjQ5$0}6ki_+4XMrvc)<=tIh9J+ff14kJFM+}wwIetvybk1o5A z$73UUVmO}dDrRc|(_Z)WzL4Vm2M@d*r}E~XFG27D|1eZe>&(EGQc`-)7ptbJnHhG~ zMs(ceX1EV1zvaDXGF-ubk{^|-V?~yJsb^JD&CblUi<8QNkb3a##Q$UOP28zm+c)5L zg9Z)Am`Ws6h89v}Dnp3|X_+aDkPMZfOleYBB$Ui#&X|yy24k5^W+L;DSx9{6(|+Im zzQ4WSKj1sQ~fqBVGJ$3bXbz>z~pX!_BwySBlcQW%!4~?OqcM=_gK|VhXo`t-SH^i2u{4m!EbZ z1?Tpwu-VH8gr$~&DGU+gx7@2+4Vhb-PjkB?0fABfN%`>pUR=(j4Ly5oXAAO`tS&w& zXMb2X;y5fYN(xDm8{R%~GVO4;iu%HV6{7p8ZwG#!)vdFaHF6r5TN2qCB-3=fvU}`z z_ECQ1ASpXQq2qeKJz z+s!fj9O#+odQL&rf*WIDta-MFw^O<;2KOYl$a8AD8&a56m8n{D<8Ua@%*#rwfY0C) zw3!N7>+t6GAC@~*7z1*UGwS5Oz%GJIk-6S;LSH}3JB;J3iCwRN@x*9Wrw50Nl#nP9 zXO+kyHE6$eL!F$NlvHVJ;In*lqT98N+a23dIqiO|DiivEiNNg{KndG8y4oAD+!60oH zj|u(C+?7l4MJ=lcwd%|(8jX%c7~_7e5mO&xw!nXSYQC||`g!wd?AUG!bFyv|g&ASf zc+w-DQcwIL{u1@z()JZ{nZAH}?QLx{Z+^ysVb|+ehVb**KT7xk;P0+}BPEl{BA{&p z6d1O8^+a!7*`TH8vjEosiE*R|DXRObP#bX9l7Ef2z4lo~6a41;F4Sq3N4LG415^To zGWyy`jlzu7z`ML^rv-_s85L9KUf(#qPdZ4(@KkEI!Hed?XDY9oW<1{U`5gLEs_1== z|54qbc*8GVeZKhVxKK8+EX#qAK1-7aRWsJki{>Ue&1M`sB`qu)7Zq=KwVTFnStXk; zJT&9A(@XitY)3~{2HCm$^QK_yj-nayFqx>j^A|iyx(;Z&Y26dh`}N-H?2?+uC1X6XcsyR=61 z7JVH7pIWWjhX+K!3SZJe6RdFdede*-tpR?T`jue^ZY|!NxG>npL98zZKLNrJ6H}?= zGP_KoqKLG-bOuJlWnub-n}qvw*QO@T#v8-^;V$3pPMKhc1qwnLE8l5P8vv^8_J>v~ z(qfL`Z_QJyMk_6UoHS&HD)rX=W8&Jnnwoq&g^ep&EqZj?uJ>2($VzhOJJn?&Yl_s{ zl0>Vzt+=(Os{3R!1{Yn<*vvBw!{c)lQvS!)?_(OBP{S<(blIabUl`Ny#(K}=c zP8~RZ?i?5MRjB|+vju4`-Ku8vXXqPVCwtVN*UOsH#J0&$WH-EOIh$BFDPF zST6t6t8b6<+~JOmHE zh2sI#&{q|lg~$wgy1E-O5udrWjnpxxznmkDkGXuizO1O|&FK89WM@KhsOe_4c!g9x zC1b~RKix^Xd(Lz_SJyL`im1I)K>oksRRC`IEKKC;uSV@j< zbq&nf2Zz4>RuJ47bpI832mB|ywpYu1DPyI5;Z=igg+z4s*TmF z6a%8%Tebjbd9rjCvv{nnt$9xcW!(C;K*XmXIWLoF)0_EA8B2O^6fI7EBnm`E<#aXf z_0H3ayOtz4{2rJVE=rqcyhSU<3MKiY=O;gojEq2y3xc_j5wz%)GGqo$;hU0>A@4Q( z*wgKIVo9l-LCLW`YaB5uu;Tg2nAwfUS-$>?iLpS`5$$ZQ1SQ1N`KO|zye)s3RRtZi z%%U!R8(npp{oa$M0bN~P{_mr0Iq6xAOqU|1krw8yv?dA%(hI%ME=Yc?6ul(1swM0g zZ7Dy6LV;X2pP$k|I1RKi5J0zA^WT`$hkR1On_obPGXnVOd7;7vyO_c3o4O z^^vWNd`hcR*$otXGJm+I!mmU68REsxHWC$a6fh|QdErVRLp-ftdCrAr)#`l_0SeF? zL<*)Sw+wyjZLq3U#@3D(vAqgHzi$X5(T0ILZ3l}(E ztcBpL)&SEUlFc_Z^?UA|kuNvBzu$FE!|T22WvbS8$WUd>buv_n4P~s5Wo>Hhd)~S& zx6LfFnfU=LBEh1X937=ft}F9zzEYUAKCYdt5?_=wWG1R?eEBjr$1h$}227cdfKadD z!?6>F%y1mMr$ep^@DqS5AhEe{ZaNb6HqGJ80N4KMN}&sd)6UPw0dOhAY*IbeZ2hu1 zvow1PIHix=-4PdIYXUr9Zv%-i1;!=Wz9Yt*l|ctTTI-GmTNMV1TgP5WIks_+2Q9gs zXL1g#Ws4GM zf=#1IEl3+>G? zujE2d3rqolK2xv)8Tnx9EnuTWKumV24iW$KL@gGXxtlL5*K~8Cv!hS1_REWRra8Me zo+Oh)%Z$!EA5vaPqN)p;88TzOfi^uAd&_?33FoOP6`FPDBS=(O5J0F3DzCl`VI*G4 zh2E75lLMnR8snZ?Zd^WvGPK1;q5n$WwM{Cy?$*cxyr+LR;ki1!Dq?_*V^ZLJubl6D z9o@IlhwdkAKF*p_+rY}?OmQ2!+T=#}hpf&Kn};I5UT7Rsf4E!H`uuOxlJ~TjpYqUl zouD!Ok)%}@g5TGO7}IavnvQ`Qjn6|t9!pHfz1nrm;twm>|HWn0;VEKwQ2Dxc)Ef;| z=T5n6-PGrG`0-tjgG>g@q@JYNr7hED{ZdOeYXO0;mb80rs?5@yq3r%M@K^I}1YX5L zg~a=1y=jQeZe6tzyb_=s`}z3+!OwM5g)-_WHMGqH{Qz(m1PI4*x>~Zo0SA>Ydiw8u zaeCW1HMJ-&2aGhx2k!u{g<^TxibN$UFVgPn!X|)Q>osm98b4<;=_qv08@n-q@P1F& zod5;)25f0$&qsqT;;`SBBu{?6eDmjQvJK7l=eSNnf`0bZw^M=^X8Q(Lp+GQXv9aDb z-962|af|vHt~)*2yFN4=>U7%8gAyYFNFlN42;+5|*=XswL11Tk?P)8bd{nauW*{zM z2#??-IRsc3G3Mrn?_2GaQE1h?laV2M?IYw7&y(9RZpLOFn~5sj=V)>7yYe<7z_Kaj z2V%iu~i;cVcHPdPX&VAvgQ!`nATml3V^A3O5!eVwV; z`O0wx?2$l~Sar?X$il*o8-tl*0vimOX%sko@BDF6Yi_R?;~IhO25k4P^{!Lc&iln^ z{ghej#@N_YyZnl6Ve@Ew$)#)H@;Ic$q^G&1om1)D1A&Z_{|?yyDi@UgRW1mAe`Z_y zKy!NB-2A!J#w(3g*_*p=qJS{lY=Sy+-K}3*nP%jutu=XOCo3`k?Zn!6V(7$Z8WtH# z37{8YPu!_s)PR7K{nGM-`S*DK1c$=D<0qp28O&92Szc;+yag_**QBz0IJM}DSvytd zOX>xog@FFYaoz#0`xR9CszVb`9q&%=U)vI>XHV7I$RXW!{IWAP2U2+#r$VPm_xSrH zmnEk`4n8p-=HI0!oMk5!;cj>Aj!cjwk|$rcww>#6LfNQ$!yw87^P1+MgaYnlKU6)H zqCjPKXJNX`c?h!T=@NoHd6UNX$nnUnS~c z%#+SN4*-#~xc&(NO?koX>m+|UYoRoVjE;|kL~Aj$>2l?}8P69J|H|1 zR;;6JZ8OUSC(dIbupO;n)oANf9&-rWPKrEW%t=ENq?x$ui>U!)OXsl7%mbc2?e0@w z##uI#_!e&ZWxA7VPZ=b=d9J75R_w0rTWOcxaiVC=?eU$t$rcl}?Zqc3z9l-+#>ya-@Vd-{28 zJ9ttuABC|n+GkImxH)E;RTT3_`iGOKmhHLjCB=(XB$q1PaX^=jf|5v%8UsqO2x%0= z==;@ABwABH#sWeZo~aMxFg3CJS*Nuvo$k0Vf@#OoW*4(se|c(|vLAJLGB^2A2#C>l zvGs1OvXkl!vDw)-5jm!02DxixC`3L+B!i%DdRY~baJOnnNlAx4F-Z@U7S#IpU(TU| z+2>)xDrO$gUqC45$Lx|E18G8yJmW31G@jT^oS2dIZq_EymK|c2R^Da;*7_;~>Gm~3Q%Fl$T@W|JH{83l9 z*I7vp!3p(sfb07%x>XSUY|&^1pWvpo=v>|IfK-%33hnzbA!A6eRSNfIF<$ug0lE3JL`yee*hV6g(XIcYHRvKG+cyCso^_&8WtxT7 zEG7327%ivG6EWB&>rM|I2P9n}$Q?*GtVJCVK}^4o?>ghL=lh^BXP|+w55V_VZPbOoA!`I|2>d|RjJ+F#HGH*IC(E}K9$|<6J)egy%%YZfGRghQCU*p3ZtF`VYxYk&`~pVaW~SjbUsrtfRqG@&F8Uie z)r(xtbrC;(f14(x;jobIR(~8l!^lueSfyl9pMI7!q;h#B{Kbbl!Q!d8Du)QW=OUeT}FR=8aHbTM9D@&k0CLO5wztUEvoG4bV}4+X4=Jp{EEWN zNB0Qab>rs_un^GEdYg2JhF!JNVc_Y5;tV6=P20C_#c<|SseA2~EQhrD{qYg^(RARI7F|H^-CVcqkcjs3 za{e{b7@6{*|LI$b$|Y<>%roZkbHCsbb^kYY%H_rul(qH?34s@vtDbhjF@lxH31tkd zj-JbXraK$6BxWfKo(P1Ag0_BqW7P32s>XeYGo&4EMT9onzC61vJ>Za4Shh1#g_a1s zRQk1B4Uolj+i?^fA>eQG5PTZYIxjc36Sf7WqI8cj$q6GwhAVYn^$|h3q9-e-%I)>gYV)8By(JU#l?uZD}(+SvNt4Ha!Hd>XtBq z5rWq3GXSzsG)_D`H$B?gIAgz=Lz+Jyht6|6^ikyHo?M0vd;-8%s}+$qaAoD~F}4!z*bNG4e2oFFVpHv?L@+kLT9n@+7N#ekdV96*yNTTwQ&|CL~E}ix8)r-Ye zL#B_kR!hu=n_p}4GA?*$&iQuBt~EAQS3)W%=FcUVEj3uzir!{4c@?Dn){LF80C}67 zJM#+Jh=ho^~A42i1ha{uG$mm$f{LA~1Vaj9Xegyqf z8rsLm4KR$^?Y&2gNtEJs6K@dAt`R-KHW^R?DpY}C+2&E+IE3Ec5HGg4U_X!LI@G`I zgNGg~TGsajD{f(K!tmPOqN|vV-I#b<=I4mWL~F=Z)PQj&-RriI$pl^EwF6L)b9!!x z5p)w70SZw7mIVcGY^B+mrwb2HZu(N81PI>5`wBrT5%qSi{sN z?J3H|+0%-Ha8IWuA}cO-&F^HGDAb&Uhn^&6uy&q~O9z%~VPNI{5XO4cdKt$J;}%*Z zj)Yc&2a_Y^U1j{~Q3}e*c>sG6vSlvk>h%teD%=}TKI+}QdodE_u2U5~!QO@uUkPY_ zwZJ1GU#iRE#KXBCz+7QUdI&eX=&@=N-V4A&s`CqY=x?Yf-J2t}Bw{EY5=oU?p!kC> zmg47q?Lw!V!=Hi4F@R4l5S)ey@g5IGxA&50Nzn#}g0@!Kb^bv;?B{xP;IU`1=B8N1 zVY%YqB=vhQW_q+3Ln#MY*$c`KzcotVrjoqR&5*>(?)92G$U^L1h3u_$D_W|bAL*)* zyRm;?>ZLF26ffpZ>-&3Nx0!7vz^Oc@-$07={7^cW3a|XPjHDMG9{XIJueSB)h)}h* z^Z`4~hi3{GJjY4}s*hJ53+}*}-^NkFP7<|7W?6T!Z3@f*nhar1Z!J?9SzUO1cB+M` z=^RjW$%i`mB?L-?vG2$Pccs|Zm+FB-)GM(%1vBOs!T8SPXe@pJRB@JHBse6*3E(pF zbN6eE0P)}5s64iKF&76RtINdzrB&^>G-NW8hzlATygWCVS)74FVWM{0%eNObb8TMC zwkD2)pov;kPBrUjRR7P;K)ueTdIGjl!I%YITC2mM)u{Rt()fp7+p6RzHdN<%d)dj zpkoXbog!2PSF_L(#ew+7?$N*!#}7JP%#Gf4*jsspb=$UW!wS>_M;@Hie!*(BDqcM? z6Ja3AzLsjUrb0h(%0UiYN;Ro%Rr}^rd2D;$v4gJ?D?WZqOijHZbvg{aY!VD#1t#d= z#=^pGVe(dE)CD=Y_r&YSU~{$eF4lN-;n#QEv$wYw0bCe~iV9tEW=n{jn>0FDu=AzD+rovs-~N7mum!U=N0-m}bJ8wYjICz>e~}{m{*u)KK$ep>zB-Y-TCChthAfvB^dbw z7WM`D7=KZN$|6DaoZd4hhUqgH$D1Xd?gY9rTqNkQckB!gLFgYQ3!%o9*rNUChnpDz zHrNTIb!=x;r~pN$x_WbWM8Cr#F(MqM4i(ocUfVg!`T?c1wYA;9e_yd?tMN8x@!-l%BqNMBLgjq?p!0s%x07IZVr z;wz;;zx~A=@e}BQMn`Y~QPu0$C*i8!`=vDj&uKL`rS}dXn$A&)Sxchb1$)>>q(o}Z zkrNhJB=&BayDeYtQ}A(%ax^JnJ}#s0WqG)4{qyIi+i!F#OwDrtR(}CU z;ArJa)lrliYmf^J4-H{LSzu^r`)hS+5(xt_h}nQDCr?r|Rwj3%l%%hznT@XvjQj%V zbwItf!Loo)ZWhM9R$LSgq(OrlR%jEu7}%>{!Mc{-pobkmH2wgMWk&)`GAzZPqFy_> zvj5%^sG;oq{iMVdBC2-(*Y_g+2ESS)|NkHSb0z*iwmj5#0SXABB^I9e_;C7*vTp3~ zN6St=9CxYSr{;`e2?0Sdt+ND98fwj8)DYmz-Z=09mAmwP1rfe|R-n|v!595#< z$W+agdU|?3x^+THiQdI3N||Pw1>#0@>EpK5po{;xcq@YV0DB@jCObPI)A45=Piw+P zPE1T}KSl$-VTb=RYOW|L!33r9dGu?~d~g4WK;U%Trx{LwjzoPQ^`q8zxOqfyH%>et zYv5KhvzpYB$!-+Se38$$jHX^FQvY>ULjwpPzVtS|>mB*_8#m+YP?(>K_w)Rvx^#*$ zlSD;LWwG1!#ER@#Hqg3;atVzN+)Idy9z%(Sn$n_BT!Nvotg%O;f_jvjNh{`$x9&TI z(h}fN5a{hEdjPNlf&`duYikRd6^h3Q2VnI5O8FNrq}>)P!FMfLK>G_yV$SA3e-aY9 zGmUG)lH2uB4qZ53w7iseGYt88V=HcvRKgE_%Q*E00#=i&>xgAsS0#Rk^l#ZR)5v%) zEsRwY&5iaq9zcPuzW_;^6DXPqM02PmiHiKK!rDHnF8lH)o{9UbXg1bb!T`iF7hMh3 z`#yRq zvj9U@)95S$mKO=Rz+ndE_?eY0EP&;L>|*u7V@=xL2U|D<^$k`GXkJ2hcjHxeG*f5N=P$Z4F#+(eXGTVIN7rt(=GV1jUj}Mm~Xr=(^))lwaHTUFAn4eQ*tfX=OK#QpaowCIYju;X4-dAG7;E zb_1n4Y0vHA^#WC2t8k%qp3ih7S}PP~NMK2zcj+BI&%$|6u@OU|mr@K|cd7Hcow_#K zaFlp(OQ09fz-| zd9Bq2F?bwX1eX}J0jf==o-!p-QJ3VHi$m7}uxjdhVMI>F?~rS3tqBhZ7;p?#K6w%~ zb42&G`}+*lbPJuDEi8mkMEl-;giOXCzN%lAtK_~8u<^bNJUQ@dyrnH@)B^3&>L-_! zRHzT<@8H9zzwJNX**#Ls7;SoW1HRfp&k+ZN{a|Kd631}hAr|dFi{QE)mRXGe_|;7h z1Xp#lp&~fycuGFI3%Dq@NJKC}3^**WErMl8w77HX1(}KaEuQRvywu4v4>@j)7w};E>{&8V zBKW;4j~N}os>QVX0?A4k!n&n?gn2tkZosTF213}em_OR>FL}4%Tjd?dkIOjd;jyM|2)`{(b2`W438BF!}T4k;)Db&sQYq|3Qw9eTm#z8 z!anly@aSWDC%FOP@S#h@(FV=1n~XZ*={TyF7ZaNgwxsei5U{e{E*Tja(f#>MlJtLx zR*HECD1a|DKR<7|_YUp_Xvf-d27wqT=43Kn$2Jz0{@knJdjlrgLMC6xzu6U}w~j*G z%b}oSh8%k)JSAZWk5nK9$*`M~J?^dB`Tq4xoBrb%rm#IG@DyE`19sF1eO4-zP??REc_4~07t^`0*>+Hw}0+d(ZBE3uHbMIZC<1~RU;9=HI&Y*I%I>ryPFn zSb2P7v&zX3vQozWinNm_lYAKxxm%uUCQ=UWrIFHECs7cY&T6}v>U;5Lo*%dPlf%K3 zL;HDF>8x8PMPdHS=I%0rZIV3^urXJY>f1AC{aLrgce}^?NLIGv-s&_3)yC=!qlFSm zCzBXV$oz`0ndwdz^Z&=1mBSd^<~he0TGe*q%{u{egM%bx`OhSF+x22DNARKUmuHt& zuVeei{nQ3#ay6A#81`$Y>o7`bQR58`uAwWg)6Vx2m%m-R>+kEZ`c&!wCHbupf5!DS z=I>1}9$eF@#9&@2yz2f65|}vuS~5CeJk>5!JL~cH{gKU;+yY!7&GEF6k6f=%)6dPV zHr@A+uW_|fQSZ9Bnjy2&W@A@3BL@W*t1D)_oR3zC?)b-b*Lg%z(;r-%liZ{3erf1& z`6Ut8SU>I-rl_#0^{asq{AH$y$6Z0UI$f2;w`=N&<{oi%(z#kLhP@JccTcS+%RG-* zQ_J{|HQaTWpOanMWVO^e*8@~PhQ#950dCoGH?7~s_V*@v%!${3^hCxXVLs`!qKR?y zVOQ5Lp?(56Yz~UGQIFf(Zr+T1^(Mn5_tKcC^5qMLQM4jf>*z%P@yrn$7Zej1Hx8QJ z%xO+hKO&!(^UnX-rSUW;Upduv+VUZXuk229f1jSL&1+xOPD+S-`(u)MH#^fhhJUQc zSw*?sBx=itqK7pKM-Fxl{p3WMmA>poh2PA#D$CHG*?l@$qEdbzS5zS)``hyH`PBrJ zBryEwvaXBm4|bCL@WzRbp0}dQ_QsYG%FWD@@6AeuLemXOBgOo;FaBfeuk1yq*K2Rp zptQ4zJD{bD%HBTIZ5w)-FY}7$y*YW1HbR{4@8@OZrP_~%%%OfW8vf0Idq10%y`$&h z+2p=+z1V!=P9MYZIwi$E)_hxrM0fp_tKI+kl?%9p&cC#NRZ=#dqdhuj_*81Y!r1(q z)kog<)0Z3g#O>K!Io)vP^;0ceT!lt#A07HL{&vjhx|6=keHEEJRfuNgWI>YS=I}Cb zeC2l~DxI5&&Iqr&vBf^SIxLX8LX%sZ&wl0q+E>AY9CBZO3D0c#((=n)OS02wthJ&b z!nFjmS7m7mqK7J8%zsflQZe$}x8f2d`9A;cum4!SyI;lb-n!}E5bo(}+RFROP~B~H zaO8p8JD<1pZ3_H;0X(Rai6)irRG8PAuKdR{Tpj6?DJy!$Tv1ldk(w2r@T6F1o1Mgl zT=tAE>qPg*3dO=~OY~*)wlAt`_^V%9(lmN1ggoWnTnnn<-|WWM0VcitQ*42TH;eS7 z&q+JKyxejzYC6UFlfcIC!8<@BWp2+~0^zzpgqyY_jfJW(z4cOO>kC6Fuw_Lh%t4dwocp z8vocQLbCnhv*K(1tqV84^hXa13HdSR9u{srxr27s`TueH-N`8$6>+p$WQtvtCa!h7 zk9BA2GtXDy7fdfHE8aV3*c-#|&m1VfMN71vTW{A9g_U2OMlve6@q8=P&t0N0fY@!dP))j^N`{+M5jN_O`$?X^tKn6K7!6SH{f^xEg3VU>An zxk&CaQiObU{z|1WhpehPk`LqN+Vg+k<11t~jqVHoax~e_bL8?kudxq9;`Z?Ud#%O| z@^m}cevU$Dg_*28mTgLq7 zC{HJxdzm)doi?^~b2}$}wlJ#E`$vP0orb0)$MtJzUZd*)S^Uj8zTse3uBum^vZhU1 zGU1nRJyONxoba}p=C!ra0d^aWXUfOKvoxBoi%d%|C?36GU-HDDeSlro?;oag8@c6- ze&E;lcE`g{FCeLU@5tI=;V0SpHc(y6)+j*ZqOV;*Oq7b3o%b-=*Qs6qpf@Ww1QTfv430hR|~yYa`qYe^#-@}%s#4^x}lJgw9Vt%p|7a8=AEy{Vg4<{1GVC5*g@^K}u!`@$7zYVg=p8d!AhAGYnpA=y>%iJx~N|%6U z_9S7E3;MN`2G$|w43euwYM)+Vwp2ediMya2Xo5ZCx zUU7t5y;>XkQCw1a@;+~$Hf|G&C@v(^M?bXZ?1*uU!aI1~|LbX193mov((XCkE9D|s zi4XU0O@3f&<<)9pu~4{tVg9tPOviScGQL3pmul%96`c{bqybyIkKvj77cZ~3E1_)o zagyQh?^^fN4sMRtTZI)J0;f8+lVD~pEpN1cX((&5$}#%Xob8L~#R`tZ(Hyo@Ln1#K zTcpD6Y}ar75Wz$mU>BlvHTxPe1#7MEclgJ3Ma6ea*N8R8xIgqbT59}3GrD-+ZtIO4 zb|>_w``H*XOjjBA1V=j?55~uyCZ$IPPyFlYYX@y| z!E<`|?j4X~bPt2`Fo4_`g|lb*@u{gYD5s$=i>Bgp=-1ZN3 zjlb$y8l6R%k^NDsY5|{VT|$X=??K)_52ab^K*v#`QKqd6Y|WFVOustoqj!dFXD@7q zuFhX^Yos;?g`<3AYdaIelbDhsC?Md4UwxxWNMY{7xE@?@ne_7D4dSq{HIXl) zO*`$+ixsd77Jsk8ImlYpe=<^Ltx5g<+R3C?y6N%Nd6dr&4K3XN>n7)cPZ4ZaU#7P& zQd3itk~~|wiQr2%?$f4G*1v#sLcF3jJs`mUSEIbHF!U%Zh%OG8Qh+XrFxpYgVnKA!6h%5LT#J=bT{%qP;yA;8BC zNiOA#{SW%iZ2B)NFaHcxzQ-!`-Tk6mcp0jh_NWcMiCsVWb~2qd$>1YQK=cXeRVDc= zx8}Xb91Ki(_C0Bph`{qvrYof<7y8G@V!LPfYp-`FJs;`u?~{4=-b*EI4Sl|0q>GHn)vyR6NSj^`?Jd z+oMUztA*pL0k0?`SaR8|(s ze2hWve9h%pKl$`(r3J?;BlV<_ocAgQgfn%F&yP?bllIBx`y{I85MDCyHl;trhNjEx+w9lqm7Q1GLBi0P0EOli z^O8I|Jm(4`$b8jL$0CsSR5k9`H}`*{r*$AC$EbE?63+z^^~F7ItH%hb$98tK4Xgau z8g-$sbZB^32SnP!LTR*tyvh>8hN^qvV)Fjy=;pzT_J9Xz2{U*=P2V_5gQkI2yQ8E; zOi98dQ|gdhr;{GV@I~{Kf{UJ+;f-C3{L+TZnNNMSg?`5A{MQMr^#l`GD03Sax;_P9 zE3R-mMpN*;@`w86M+Q^!)>ISXOyF=l2=#4fJ>+$lS-|{cSpJiedevCtQHEbfhGSBX zk-N!OmT+_@A}9eQ^&jZ*U^Gv(_Yr&R>1WMeho`3`&J{+Ne|8W?^2Q;QnoD{f?xV+c z3l1eX*|%NwN5MgJz3x$U`|^7Q_YS1%aR0J4e9`lG#yBy`inn0wk%igPHmUzwG@rd< zVz2kc@ITrv{tA8I&|W}W&ZUL~GFqa>b^Ab?1~CC--0*4r&NTuQL&M$I)3;(9lJl#I zuh~4x%)CUrxsc5cgN#f_g46cDw^B%xoDsHsXi9y$?WBNNxHXRpd{x8c`eqLL9o9-LRM0ZIz_?$&cgM_Z<jl+ z0KV?VX)+G>zrKi6w6$P-!y{hyk@ip1$p?t&mY;nOM@zWKla(|E4F}0W?euF+9vqAi zIo$fyqL6)-{$1rn&0S_?j~=xl&+^Mg!aUZR2~+lS}wz zjhTEciBqiF-LyT?CLljI?e45V2Q0^h-GxpWf$iIN{u0@g95+?DjcahrnL{mVhU+_a zweiQw#BB}~)70N@dNM4PPAB9PY2bZE!hh`+`uLYG57gGaM-PL1mj|S`mpZXK+P{NH zYYM)Md^`nIc20LKMrLNk4hWn5v1=PY+uk$#7H97zKSi*AWU7FB_vH0-DIZ^EgKJk~ zjeZujP-<$#?iYzf^YU@rI3Y2W@wRgJJ?4uC_bP4f{p?iX*fS}t<8ZezY`c}3ib2RQ z5Xpb%k-Jus)zxXXIk=%d5a;N%;$_r$Ej`p4@( z5Q9LBr0lJjx!CmxWbEEMmjA3-nCSB#+S1VL%cgRgtlg|-O24LkQ^&sVXy_@{W{Q$d z+OPB9JN`O^ z8*ejgfxHRh9e4DvEps#!2b3Vlf`k)scALdc9Z+5yeWoVs^>a@mh|YcHWb`ZU1@r9n zsleJZ`p1n1`P4qnK1}?$r_0;+TfF7ntHVJFR!w{Dz0Jc+tCg0IS8{d4HdT5&cfD%> zI-et2oDRl5svaubSJYXv$3BjyFEprWtl#&0;-uPf6SgG9j>`h4RT=v)pd{EfxA`C| zT3fmOUBV@DJK@pRn_NXU1lHZ_9nPc%W z_!rJkGcqzj8Ap4{HZPa(_r+yp8tUpO2zetMMO~lJ!go5E#8~c;u*HZ zA3_m~J^-SL>%hvug8O9k67Kq9M``&5tF#{E7%f(^N#Z7@aBTNv2c6BoLm3D&iKk7!Ik2gFi0$q#dQ z2BMG-QD}%8o;YrygU&@z@}=_Huq=?&7|o4dw_g-u(q|Tqp=&^$YzvA-ivS45=;xbo zdH}|1_9H5IICE3EV4&1DW;UCHz2X2h11G2a>=;l|2ugFm2<-0*s5phyeC>Cj$(52i z6()(YCKx#f%N~9I{KD_k;CXT;czgA0pdk!Cn~>hrZD|X%noonkSkvDOSNp!pG?oRM zDagCf2a;buyHF)%RGuB{3^zPR1)nlCG0`uq>@>K4Pm_8G!4I1paB&@WDuzir59Js+ zJ3F5|x#7r;b|R2{7ec=kU*X%g|JHdsBRW{nmHP>Bz#o^99Zz zmWdt;Nh&J(B3QMja{qzMoZrUbaO?Q>^d2Dz>BbM=EjNoi42b?^QvK3@Oa>@+y=}1Q z?ZiTQ>GgKKT@n>XUpTx{usN@mSaBPajsg;Oq-0gW8h%}!+3q{}z1oj;Dk)&>6h6b8 z9$D)$ey~QK{W!B*(KA5WIrmRR-pa~KDDpNnHQ|Ipe=Z{;V%J8U4s$W8%)<@ib&BZz zhNeMs;uetXpxj32jjx#X<;4qol=rjKp30l!!S*fWWPHqFY8*s6 z>tS(%-4Urkh2jH*3sNo=2`)u~g}ZH|?j9NfOU_=8j`T|(80iC8g^kvcsIh>bcAXmy z7fk*2@U-0htw+Hm96LpcRXM3Vq+gD|JvG> z6jhaUlF0=QGYR1Z zKOhk_L6Rm~%E;uJ5b>z?>r0FFAOaLR4F*Y`WxRwJ(e1S>Id|+b`17aZrcgBR;CVo| zU(B?2*Te;%BVd1B16NCr1!|~|AMijtQZ~y3gndv$!9;=PeH@PSl{@8+M|2Y#pkb?a z_Uuc@K{c9fhkAAV!N`Om&~s6buaBV~wgSD@Vwwq!AKCioDw;}hCHl|MC&?G)g1bL= zRt4+;)1!_l|kJkC?VoU za2)6_hdp~+B%|I8=-lFvah-^sisZJsTnuYIczyox)T`=H>+ zP_r|Jr+?&5AKD)H>jvZRg4Kokler7wX>?xAa@rou>6)NifNt+}X8W#lo3TQvm_Oqa z;2O!-{VE5BGIIu&2i@{p(+M)oIoqtnN*x&r^Sb4@CUoRObn5EY+db6I`j|+$($Z3~ zh4VPJVVN6re?br^C2Ek3jjg-lnb3vrucOf(7I+)h{Ln%!NJ5TyooI`^ZfzYy>-GmB zthd(#BnyH=G+a&SGZ>K0yd{K)bXF27pmF{USD64Qf^=*nvFb9qDFo09G?|~6k#Sz~ zDzuQGd<)?NN(G?>)_y5dyCkqa*LL{W&&ZZ{M|Eiu_&oSj&S`3%KszdwCmCWc5CjW7 zt|uVRB!BTQ@+2h3ZdLa`4Ga4oNMgu1#*bLwQsb)U$0}D^f*s0;fD)D*0VSbP2;(;^ z;!*d1f;M{^8?pS(?~fnJo*6JP&jV0>i&cPQDO|$sE;Hw+y{bNzJ#y(u$q6F5slFSp zr}BxVucfE?_H$c|mEWr+zzfCv+e}_=Tf2P+hiN4R9+zf+xSfD3Rf}KewaR^7IK=@A z165KUl*v35AhiQ({2H)HG+#!5$zQ(~U(p7{H|xI2i2`BB{(+-}p3vw7Gda0?@ws&` z)Z*~drW%X=Jw4_v87~lUjDLOGB3EfV1r=6*p$oTQF~P1&)l8#Q29PY*G?Y-fQ-AX+ zhc|B%HATV)11x>LryMLlys`p4tAxg3T3TArC7lq>!U7RN8g75hIS1!bNb{v^-jXd& zUbpS1`uc&#b#MM8CbHxc!WL60VB92Yr4w{)LaYVaeOP`CeSN`D@7;U$T*B>Spt1|$ z&+CZtU@m=q8L~VMqU|s$v{@~RL>&5_BDI+q)1`=6gBw@bbDKhD3)= zOZJODb#LJX&;HiE3 z-~J-vHi}4ZgjNvo_SSa+C0HZ9@V2sOPI!#&6f{^=G{1PeOYttjl5KB7usCsANKo*L zWg9rTI;TsXW=C8|G-XI&X&AKmt-EUrfZ&cL7pbHIF=?iV1ch1P^fcGy?e-WE#AQs+ z!7=tzNmr(hQ2|{{NrC{sV#z7jfg439s5 z{;bHtJR=@*IMr^TRfd!=;(oX&YcZOIPrZFWY#S+_w*vJ!#meU`j#y;txI}2HTbpR?7}AjtDEC;{18m~*R82*C zOO}|+O8eaQ9l)b%9k|d$s)Q3O3@5@^3fron0NQWxyMmvm<=J zc>U6=^1c=Y0!<#@XKSNQ)S=EDH<_5Fl|eH<`b>+PJTpvl?B>lOLI_m>D0(lR%_Atj ziG;9vir)vvZ)Ylx>8dP3Ky5?a4ig2TT$r@THS)|YSEY+9Q6600EeSGRnYktIuIHK1jJ}HUu-XqJ7B9}3TgUPVY zS&*R?5fU21SL-f9M;Rk6(Ps)FTnLNfOQp_bwZ5@~M&q!}s&_C4y30m`>X_`oE%o~8 zC+T1?d%xR{!JU;95QOvzZZPlAG6@+_z#WJOWLyd%gbPmtiX`??eJ>(FA^lv~S!w+R zBP2*Hd=p7EQ)#hdw`B5D!u`(_W~IPV{?UP>g!L z*4gSY*qR+V)@8=&aN1HEHf$&^1atpd-W7x|zlB$x*YVcTXpP$agm6lmbQoIR&|8v` zb6HpF=J=Z_TPgQ5m9PwESvS9QTy=JV@qk{-hpCjgxtrG(M$a5TE1GJ^sN*Dm)+*8P z4F1&yaI6vahGA!Dn~m&EG1NN8;dZG%mw4)U@omsKvI$CurC2Z8>l}mUt8Wz zv)p16tg$Pc;ZohYtvezH9WD*T1ZTyz)weht%MzVWcr^U6q{CESF84!!QlQ2~uHWHa zyGHL?mh^$bec?AQ&gGQyGb+%t)GDWr(39WdIH&$he3d&)cA$jKp>Os5)Ey+pOhP{4 zo#ld-zXi!lQY#25f3^ZfT0s{h{{vn#azeokHe0qIKC8mrSzCKnO-)Tzl?00mrAhZY z9q=sBSvt8k7{gy!ciW?B4RR9@w&oKwWRT$_n7sPJ0YO0o4gRcD*dU0i|7q5Mxo4(eQ$G`;lqK8Abjej zQ53FSn}DUjE%%4jW|}!07(5?{L9!Ys?t#r&MQSnSU{mABye%%t!mta6K`__5`dT;j9<(P zQQ0n)vAa``cbDpgaovYZXTr$E#0$15gl`ul~Ya0@JFFV!JXqAZ1B4i*EN=Qu5A7-9N!hH#$R%BK9 zfDkZ4E4$7L0YWRi*bfVu_xiQ^Mo#dW32Otqd3s6+>M2~m=4VHBI!jXS10V3%(usZ( zz|yx6t;3YCn6#v*3I9*7jvB2PCkFrdqM2-MC4xbM8ovI!z87&C~lmZNnaz1({l zSaD{Hpmv_o8_b$MuChY`?Kdm9DhBi?xn{vEk;`M_;voR>5S?8)j~1JGj$GOpWVviZ z?SJiDP!bm2zAdkIiOo0jm;D3RUv9=^5rz5*%hXqwxIue%)0&F`mIr$9!Y|!-M-D9N z8Zze=l?tWm=5)UfKnNta21++|6%=MXUq{MSrYK<`S(m4CRXRzuQFVM~!Fi9)PyK3^uGbHY&2oTXYkSX z4L9BPGZOHR-H2wRD@2!zt@NR!5o{OLY|bpy|M~z|7<2kzc=IPNz&SdwedQ~DAvMnP z%15@~5pF8wBH5mOEov^b@#5Unl-6otc&Rb@<5pRyY*e{W_yWFZ#|_;S=&dNdVI6V385=q~t@ zZ0)Rv&JlkX%>5WHuf?1n_T(4$UPmH^rszh$e*LA45*dONg(KS9%(Tp@hPGDW@HZHN z`iG`>R#<7=WZ(GUcOwbW$jy;>1F%4+)+S8VQ0P|B^JX}uOJtnNCH&BBaPxsfsGhom zuA(m~l3y$F!cGMWqfUh=(poLBK*9 z326aoq>*l=L6GiJq&uYRog4Srb$5R+e{H~h?sLUlbIr{6GqBH!#-fEVABrFTfctHX zS}Q-v#mgtG{WQ#m3KhC5+E3C)Lg>`G`%myL)J5pmr@{wrr(V;`RTmGWZo9;y7O!8` zD{+SH^_;m@4lECZ_-tSZEl?=^uQR>7?s@;Y2%ki>Vpv!hT~-G8V}+)bX)Tk$6ImGnD^0wM~&<)jT1Cp*X z_6Raz`b~g7gcc1T-=bk)Fok;^s#i+j_T~gX#fz@lchK`-+9QK5)85~(#~Y4Fh#^-O zm|bemIO(myh{~6?wQFkwWeP&Lf`6s=WO*a3=wPR#j~DOQ0tW%;u>@nQl9Pb~WB>&u z7nzN7pRA)jYF3xsj)u4%AQ)uut_RJVl4}_SMKUQ*A;FY{2p+WHd`WJL)vNT$mT#z1pe zA8#-_E32z*{*dTq`)fR)S%Pbi#032f`*cyDSEq3el~q!*w0%_G+Pg3Z5-*Uz_maie zF$(%rAnY4`nhHPjeZW9vab!4O=N zUW#Hok7A7Az`9OUD=p>aQU1If*jp+pkiG4nk=lXKVQu?Y7>?ny)=?jkfUCAoJtIiA znEYemxnv+H;&rl}>z)N!?D)Re)tvJ`CBP+zA*`E6Aa10)x7Ol8>bfaVPX@0)@NROpUz@Bo2iSr;-1o|Xvso?vqej5EQFnhr>#GY{yo=@e4d zl~PgZyLjCw_e)|T^;jFgIUGQz1VYN9wn^BN%0|<04;sDo07AN;d~ATjUtC_{?YGBK zQ!T-uN!nb9;N^qM_(kTG)33xu*?b^3+|dR~w|2OulPeLohe?sAl<~8$VOdYD0BJ;4 z7hZ1(oC!@32PV-LJFecN|ERlPZ`qq5mQ&Q(vCVR7AKV?2QhXxC4d1)Xw(ug^u=$NQkLi zzcZk)jswkR+({i6+U~j}BP$E!orL-2a$t+V-PJJ-Zttc%-V5%_Cw~xK&U1u&B-bTK zs30WC=4nQUSozKnMneQc&K_gODx)mrv%#At z6mqgf*g5xhW_HB(?SyHuJJcCNVVWUh^8{RJn3yirQBYF>Byl!PR<3(StD1%qtp}k$ zG`O$%Kbf?2bwQU3u4=v^2%SzWvoM*j17@i0yG)Ui=qfj#{X+PgI)n$#4AFm(eCvgb%<|_i%-W?!%L(AxJqe94Zgx7GF9Z=`1Y8cA99mkS?k>U= zU0+^Jr3XP7OSi%jIR)z17bnfHKY{BAI*;!H%Up6+7O0ECQkfKa%7qqCh!*{d#9Y+@ z86p7G062toTikA@{qy4U6E07F z+LzATpKb@kWxN8$xgxs9^N9?I3|2HOTwD&4R6hWubKMkefMgF&{*><%88ZmG7@$OI z;M)l4@iK;qGlGu=*gui^LhY`MVb;L|sK4zQd9U{R=~<7C3g3l$uZGJ{K1t4eUxvs! zd@yWvL&&vS;`h>?j(U8bCd|tjT8v+*sFjW)Pf!$@7BYNxz2&ey+yS{m{IuN3|aVZ@c3-`BFy$LrWX z6|o%d4q>K~ZMjNiBZt7{DVw@kn;MgfTIL?tFB&Q`8=(Bf_dU)T{>k@cAZNp>&_TL9 zfuHXg8(whEGki>(2nmwxH}JqMyl!#Om(C)ee-40g+AjU{nY-}4xXmHIgDTmBZOo10 zaD(~N|9<`o?Y6r7Tj9r1a&lXJW|v`|1|J2isyT#&y5W$ARZ5LX#D#&ubJ7&e?t|=h zrSq0zcZ52mB{@T`{X}w-?xDwn0oGKv*hf@EYxj#$HM}Vk{dCG6z({` zi1aU}XDR84d^j3#Z&Z|iGH(S^zI~s0G#i#Nk3aCSF~pxew3+BKTnIPt`i3MagJR7c zD^!A5`1l)Sv(I&Ri>=+ovw0nXa#P}Ej1ogToY57z>;$FdozfoVEv@3m?%#)myca$i ziT+>5T?kx(NIjyfCS!720Cp4*E8)i3j<*67L%=c8zr87W5)_|w%rk*H2eTh;uwk_s zU#`8RHwxl$+fsm5m4&Wtl9=IztpHQN>bX+<(mbrMQz!@vDt`f#xhfeNF4idgYj)+) ziqM*C1ojm;gpi5=YTTR4_z4}nAo&JNZyao5t#MjO1Bt3%^j`+RihHJ9I~4%->IMVD zJgD%)H3v0Ys?B%p&7uqSLD)emy3bM*5u7rbNiXukj%jNJou!KSkXU{{K1z-Y4 zA#hW-Pg)JBTi}KPOS*6I-1|C4Xj=L7ek^Y71zk7?)nUvT7>$&5b(bG*RuqEL;#r}E zOyGX!9MmoZMnjeH`suu%Z7d5G?=836Oge>z=+9@o(|%xnW#oN+ER-%;ltIa6DebwW z^9K{giCzbO$W8fl{R6Ixy!^uLzI9N-fUWAPYI>scSJ+n63}_nmBl2+c6+SBpckeKI z3atz5AFTlLIMKbg!dSM262Li&%xt2Q2`^UR%)hS!R7Kr7HzCZZ>DDL^bAwyEuMvzu zoG1EcWN#9;WmTsB+oswQ1~X@bpQ4_3CurtaSMX zf){51Brphny@tRon%SX;=tCdYX~=;CGa-ak>y27gKK~*Z9{Ogue!BdR4h&pupaaMD z-PUBpvo0xIHf@$zvVz76F%E#?_(cVVQ)`2}{|0T)9ThGCfuW&!`-T1vDERITd@SJW z`9T!IS6xP17xjf+_Qym*=S3?K0WJbKUm+O^r!cWLFCCrKyB0{Yq}&Lh*mvsyUOv2L zNsLiRB)~Mb)9aM`3hXN`LF{I-v7Iu1CdlwSNnhR!MCi9&W6*v`IOz>BkK*3&7WM0Z z0uG$O(iMAIOE{u^5MH^MS?>P+Q)|(6A=eA90sxsDPan@2$cg^$RIjP3N~@1OxXSmQ z<;|#~!-ziys^wO8pAU)`E_$n*ug0lk!PN(Nr6n*wp|14Y=r^!C`NlP+gozJbO$r{` zvfSpZWrT<)c}DQWDQ3ox9YXs>j){U998VrZMc7UqqGWhd898%pF5jY?)<}{fwj2pU zJbENM3fx&~hS}!5oIjbtklunDPl92tHB3yjB3+i7koEX0$dG!ZKzQ~SE!b248gMYe zE((HF-upx$gyOt31u>)QlzM>B2VQWeAyS+Kks;_tmDV+jgg42AZD;PZxkI!Ingl?j zuwr+(XRdLeDYD}FrYw7BZIMXId{RsU>WF-KDbJQ6jPhb^wdIAiZaM~bruSF2D1&vIQhL@Jl0`>>g zj~=+)cXh3Fybmz&qDLeb8^F`kt#W0O0&j-$>?!+cPrFlXC4mAlBCf z3!rr7np7bK=j4{JX~aVQ(DP_&a?)?>R{1cjxZ|>_G{MLaRmY~G^D&-RrA1n`K@E>& zC57?2m?M!E5%Uo*ixxi8>rOA`iy?Izzp#Y5yS;cdHHRK~&y$fBbK9wFzPM2ErSj7d zI&Nrazy-m{*d-G3XMIZjf3tb1HlqegX4RTZ;Mdl$awTJjIp-nOU6V$98Nk36U&kl`sV4$sHFg-#7qAJSUBGLICj zc6dU8%|V;G0Sj52+<_u8B15T0ni2E}#Ug)IRp^0RTnK+J^q8jKn?HAyf_MB@2g$)+sp1*#&)b2;uTt#G(&z zQU@OmPs>U;TsJT90LVs^aTrn}qE&)tFXy!fwa27<2KT?5b2-5%AS9$mHu)mxQ`(xn zSDM_Qw9lxlyfsW&)7UQt@uWI$DDPCr;_{T_zM!zLGNb2`5*2$}8R0am%T|ur)o`8D zULn`fK1Y+m9CQtcO5yW5hp||F{3D>xdp@2VXKs5k?@|l(0ny>4S{J%@MP%}ryAh)X zJ!4ST%W(TEDCq>yE8IgCk5R)JU9*yYL`g!oot#RG*|@mu;KHQ8SFGdAkF>s9fvujO z%LZ5bITJ@6LdIl{erVZ*P+ITa4fp4l1xO4yF4!xqX8k!3Mu*vyOYhGXy5rjqML#A` zwvi=L?JfGc9c+$uSvaIQZK3b!(8jHb=ch2e**Rd{{p>)v)MEUIM0dg$@9N6#^&IGBOr`0`>U;Kn}0DWpme+;pN@ADq(O3s3m;RvB9!k zhWM+<0c;m8>q`yGlNoXg(Ee}B^D^osQpiX}a$|IMW9bUB$-2HYgUY%1_3cJIsId^8 zUm08nQ;9S-)bAd)Nfm|;kWwda1IGt2#5m;Uz`I7mE1O%TF0{K8B8R_Q3($x3e z0gnvs$b*Xzj>g}cfs84H(p+OYAmC(;@}7tA1M04r@>_^DdLKfX=Ri_KHu~J<89Uzzjur7;-oud$~6f<}YMXK6I^kpMi ztvfXJY0syiOFcFEYzeS(;nyU>{NKDmk^ps0g{EP>=t_vLDJm-V#!ypH{eWD2*1#lU zOko}ClPIPjO^nBhOXKO`MvOm}0M~*y;0ghj7&`9xZYux=O_Z1`H&&THb^mc*g`1(v z{W?UR(0no&%8F)hR@%vhq+D@*r*CXC@~u{@>D5IW?U*Yfcu`qhiYd;=EdJii}*6(h*b z(H*JC0sm#>6?A3GWPq+7dq_p1+BewwP}!iezXvvVTuQHO#1(+rOg9kF5TMP>PtL;S z$^@TG206JkelVc}0|VpyGNBN$81w=_6+*ogH^@V7DNsow>E`gYv9UeP!E;`}P6X1= zNJFDl%f9xz_V$JJjVySF5Y?`rGtxI$+l zwGCAtU`aLZi$m=TB(t*yd?edu;L39rVqHB>b+DcxM#vb%32g>k4+djhx`&bCg|uio z09y}3@CyQ(D7xVa=c4%=S&AvhovN3vPEXw6*(-3hWewS^5)@3XU%Uq~XT(3+s>ele{_{ERpFAZM{#st zHHX+SGh@)ze8-QUv(#q9D;FYYOGJ-aRi#`D<61YKH=UvxNWhO;B)u|o+9(Zl;hm#B z47Ziwjw^AFAfvv!LjyAITYDwce{zZsv^rf>T<2yOUxt`&X~uw8yeXGD{bsN7As%h8 z%>Hm5nC54yv=eMtNRkY0m0hkia8rQF*I1<2u>SFO0LzwLS*g>)avkX%28A|Rx4%V# ztwsX(d)5kOsgQ+e(~X6ug^KTZSNC^pa#?{P{#^jw(cZo?WLX8?f-~@oW8OsbTF0yA zh)v)^I2Ay}y;-M60C}p;3t&zNa1UB$58`|SwTYIY?`FsP!E#HMr5hCI0cZ>oLIo?Y zfoB903N>c6QTMejGNb2L4$AV>A3)~|r0xqG$yxy?aEfztbI1Rv24~Qb8PYk)ut`cS zydl(YR41YZ80~NH;p0S7P>?TbBe#l7X@S z>VIXz`ef@IvHnO*O5)<=gr4s0=FMb_llh-fNB`s!pX@va^!dRC;_`y-h8|!h6~kFS z+sL%l-iAv5gPnC?A1FLkR)Aax#G{v-8WEtGf`Z@l1+2>BWsN|tQT}3I$e})JWW&Uf zJQ6xg34ff1W?o5T5`9Q<>$cJ6TWCgNGp$&3yB(^Ljf6WIXu8~m zUs`p}Z$M2S&a^Yi^9kf~0RP8<)?+2mN^do$TZFAi2y&TdwmA|!nvN{$GT(k0fwztb-v<+|o=E5u zn~aL*KxFXpO~GMX>TLD$Z`RPFhA(Xs%o(|gIxJQUUQ)Yqnx2zTXs2$vIQb#N)I7Gk zks=JaBzDX^BN3!1Mi}ukZVKV`Kwwx1ZKUix{zueg42ToF8AGXeXhJ; zT3bn>*S3g=&8ZVlqdMo|z2C*gjzMCv$O{dnPe}1lFQ1>}L(t0T=#0Xj=H=zJPCcs< zc~!`fl9Yr^!1^A>*Mfr!NR5cUKQz=u49)#e!IE0{4k0z{q=~R%0e1!C{Wx>yk~AWd zgE|lk8}tr;I#e2e`SPWy>3lwM8Q|}R0HFpK{9Y}?BMK;dKyZ8rj~EvhcNfkGFpk$R zIx+3Vqw`9@WW79#y=KEomicbP0zk=4ZEZ-W@C3s*OpwTW1Rn^|jg@Kb5A?E5PELUN z1Kr_~lyuvhA8<1S%2)>M)|g<16W;~10U-z!y_`3Vm8R1m44NM*T86R=h`OL?nWTiHd47NVaRpkJh$!-`!A9aNw%6xu+86UU^gdqjELaKnS z4qQ=at;xM%@D>8Z?>AWI>~ec0B?En&h=docq%rqp_lOeskhKNrT^6HUmmv4iNn-+v>kh~|yUF_^fxgsKM0$#vpSNq!2xNOew+hHpXN-?AdGzSf5NdsY ze_v8A@RX4T6w1UeIYGP0A?-mysaCbK7@}R7z%o8&=>0+`gWkGa;|mI^X&~___5C#s zyj%z?p>3rPB9Wh6ZD#Q??^K=u39fPs#FE-LcWiHJ-`n`f#?u-2W6afPol9Bqi>$2~ zL%6l@SSu9yH-yF)%=^0rkl+kl^JZ zf;))e?9$u9hH?Yd8Qe)A5|RXl2lSFAU(||$oAthKpvCV^&xU;8m<~-Wvq2q!4M2UI zBZY;Y`?>=*ZNk1=1jR!5NTlf53p_Uz>oE1ATregPRl+5+$m?E%@4}@pML*fANl#If zmQ?pr=={#>h`$Q?W~MLi`)CG<$>T=?HK6woW;0ZasN6&e}p&fIng%TihL@SYf%Ra-oHscMNd=0yFVI`_q){X zvYfQ}sb*snmIidQmcn##5+uZ;p;2v;ziW{ZaP?^W0FzkTVubg}*+&o_quzMFj+GhX z_G1p0gB0UXlfgL;Aw@-G{U)Brh=clClXK(x!-TnHu2+w~Auz zW@PyY?UNt!M4xKeR=#ZM#G`JP5&foTf0il<_6&<1_P)nVuWv}(vehDHlwmz3o%WcJ zUwGYErhb5O=?2~#-_93!C8R(^0?nnA0cO7{ZPQzl$VZcnFD2o<#?qc9od)xbu$d;jG0MRwM1}r7`r3}8 ze2kfpZG@u-S4b!`qpCcuq5R}MgXM#T`z|$#P2|E^*?~VUl@D1s+%&V_@>$4#SS z0{!?21(T@O1-)0+v zIPL#qJ&UFQCH{TVK+6$9@cfVr3zHzo@LU`(-3EEW&(pWAtrb4@)ga;`7_GtiPTG>V zmvei~gFNb?UrdFYT}i7A79*MQ`1UCtW9w$0)*z~tUazTdyJWvFh3CkCXh>EtH?3}k z4<9~A!D^D}Gh}<{xz$Uf;bxj-ka5t=u4&+q(?hfNRK_}s&1v&6J}}6MEG%r$w>$5X z2onJ_%K>|0`tM-9PqD~Ttv9RwK(%bJYd4-3NyeJ(5Q`PNffd_2gkhrL_At>tGoM#t zm+pwO2Un#`m`j@00 zuBF)SidfE!iJoZL>P@xFt!n9HA)K|^t3bpKqBsb z3izEg8nKe~lmXmXZv;C&KKA7c;_qp%twZ~a5nj9MKDd_ma2I6D6}$>= za_8x@&s?IkoR?~hdhvdUdoumlhDcigwOL`P1}~0833gJDES(Z}KhWcTgYaM! zBfI8|onj}Pr4h^%a7$kHN62tYicQjY_-PLZI)BKhy-GHZrDic=10uvC#d+>JeY0yL z^#&_MIXH`-Q8FpJj{^M;bht%>Oq>ckM%l!^TU{;a{1Kw2No@%tj@zs?7yq-5#6+G% zFdHnfUZEOq9R!+<$QU)Dx)5L6+z;iZT<_N5>L06k!OR^?^Gcd1YL-WAb^(D0F}Ugb zxu}n0hS+S@yxu4*Dd|ym#n?E8--hpc8nR07-Yl2Le{2*QlDjfx5h1hNdZo2*n<4INI~QshsWM&pJ+SnO08!BSS>!V5V$;#jR36O-qO?gRbO zqzG#2;Riv1yKIf&!CA}i#QW}^wP%y&=>VtOUryP`JFHk!#`5_|28zS22f;Hlt{)X~!lx%j_-|Odz$wssE zY1P3yCR4>%-M=yg*uE~^pTLah{oUD@9PlXvn$w9Qz_`@bW{zO_ z_SM8Wq3w$4c~dd0sFGC?g~*YeoEn7Rx#ygBFPvXIu=2!mc0o%0O_J#N=0=hy#=(R; z|2Ug;U@CCXFtlylvQuf>#WjJje_C~$@Y8mk^@W?c1;9uY=h≥B3{nOtTf>B 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�+JfD84mO=zaKVWXyIqe&%$7dq^Jm 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 (?Ot+arBmY+#+^IQ&XB z8-;smnk}?FSn%%YdkiVLagZOn2V0_}cjrlKrP;x!|E_iyz_E9_Z zcLXxG4|$LLl`s+PXMd z@%%O!_;eaWc+~Am7kPE!+1Pi@ZChd%GuH=UCd^bE587x^Ml#5DKS9PrB$pl zVi2iLRQr)XOlF;hoW@9Et0HgqIo>E7G}c<|q!J`FEUg}|?uO&%7V8NUTuGVf$wdCw z_gThR@*da%7cVz1qUDDOrWhp9?@At-tnRIytyDHuA%irJUw~9egXC#ywigPj=39L%3xW1h*Fv6tjpE&bQ;#tSjbo8X=%C$ql!6~wyFMPDPc z{f?Y`ESr3X{;ti~qZ!6cRyV>O6vrpjqWHmR)f}8`1NqYiqY*jb$B~4hlaC zCQa!0#ENMBTKppgNx{^}cdPHos}CFf)Y_twS#>9NE9 zVH4`XBaxlB+hL8EW8?^c;?HOH)Uzfr7}k+KK7*e??8ksdINoGBm=CwFR_#0u+kj$x z8)bxz1zi9_bJ>}80dJBh%p&xQ*rjD-oFrQDGJ94BI##9_d^+ig$8Cz9j|xlJzeLLR@e4IRSCEZSJdTu1Uhqw>8V&K8Q8e z2$G3qdK&Is%1oe)EcM4uuS|&+Ll2JdyUEG~2Q=4ML|kZt=9Z^s#}#-PYCi3YsJz-U zwBmcs2eQ=K0bYM!vim>uJayB3b~oX5wtkzF|7v1Gl*C-&O8%5h%!waQura}}`a98W ze~J08yO+`Isc|D+k`1>biFPS=&~QCs_tAqgi1denw7p2f485EyfxK}FdZu?WtbTNi zEFim>TujG5g&1>{d#Y|Csa#9hBoeQAX4OS<@zI)6c9!DXeed~3e;bylvXg(<7G;g@ zer2K8x|QGJ&l@95<{F4%DsOXN{sE>j4ILz=%i~4(io%{}RkO{i>*NG0Z1(#?K(pag zK@E7p*YOF zk2wInL?Bs#?*UWq08ikRi=9glth(rOg|u@iy*o0C*r7p~W3@46djlwqj>vJsoS2VY zYqQ*{&7QYi6(d#|aWumkvv?OSiSCV}oUVH%JN3_f!jFf-P;#)cJ35ILX&(5^( zYT>F|D928?iO`WIPpd30I@Wm*#|{UlW2P%93oU7vWx)mcL_JWW_Na%8Y+s);1!IW> zo+i^yxmyZozMql1<{u732{Q`;I|w|{5;H@-eJel9W6AdP3RB`u5UQHN9`dHSM20Y? zE~PR8Cb~C*`P-^BEpntRWaD?UY(UwnKST4j@WSr8@X|(Chb=S?pX-%H{k5USe-ro$2P*pN&`1@M%2Ho zmS`W`yktKFu%9?U>@oletYKSTI+qv)aBL*o7koVAaMe!M4&^}LjgL})=xfnSB!8cC zS+oZ)E^*X55(cfJajE@8-Ck=iqX2pw4G@S5#Fz`W8@eNTu=OK-oLh zX7TaG+_Lr@RH+W1CA0G7omb!7v-*m^L{UTwWc(F)(&L$fC%VjOPyzH>b!17GChEh) z_3Uc}_)N1+RB?2B^k&8HL-u*0H(Q~_tFDp)3j5|xOf6zZv*}UmbI^@)jp-zF{tXh@ zUL_PQHx*@dMVQG8$5^Y303MyB@m;Dq)TpmCqxCrsEgfaE<|HnttttfOd1S^kkP92!_2e=8&F zN$@r7@maL@D24Y^NyC1 zl@zK@JIT|Yc;eetO}u#YVZJ3C+BD~Sy*fB z`N>yc42&j(ZR8Nh*0x<`Dsr9l%wV0aA=kiz`UiZr_I1cCT53#!#i=sVHzBKFOeFt7 zy7<%w5R@NAd@v>VB+M%ZQTQXU_^Jl@(AQM^RH_$wsyoBC%WeBeSplpe!fF0IJJZIU zP!QnpK{^l*!0kAc5`SONspr{?HPbhBH7xdj5clynHY`}@hH$!bY;+?dnX2w7BaG`% zbv=V;bdd7t#cXvAd{{+Awh%t;571lxtSk!#!G2Uwg+P4sT(B|$b&CC#of1uu0Muzq z<>y|y7N`eNV*Remh$ICwmQGfpJcAJ=r@&;=LE}Z_JJtI&0ue#c0%EBC5TvnXBy}b3 z&*`L64Kl`WK>J=%H$u5}VM!}beJa;g|Dz?JstCY-cvyZgFka=YZiM;E&EzX)lJ%EZ zzG~?XDwA!uQw!i=a&maoy=J`Balpb-Q|_j$T)2rw2K(q`rFZ_j|7#c`&|tDLB^Ph` z(c34O6{;wPsB6vu^{x8pKk)YkD3+Ts2vfw6r27^_>~iLE+RLJ>Jp_8OD+D_Tn;wQu zP!*wb#tG`);Np;T@r)NHUm@2%uY^PF;LI`5BmnY>dgSTZGBZ2g6u8)fVjXtA)@s>- z`blG^1(%g((*Nv*Y*-F|_AWX))j3+*_vpbL_JIm zAO8I82p%ay@RLx?hc!F@n_iwlKTl6ft{Bxe?;wfmW5fquNM7E(xcY5ut_BAlz$7uMMC{F%{4*E>x;tua1k+h_6yy}GTY zW39gBB^bb!T7-qD&%}L^*L2WU?MVLFT)jUg6TiO@OF%!x$d4y~4rt`^PIFV!-JXV8 zK3nqrj74QQ<;5Jm>y9aF^|GopNQ-L5TMpVyUVjG>j(eyJ!Kn8bSGK*w6H8^b`ccVU zvl$n4F89&TK%zbGXhIWYBvJ5d_6XTiKf;(DbcA+8iB~|9qw38yzRsM<${p6ep68AB>&fm=V$5?#Xx><>3+2EwIUYS%Mjj&JWpfVJI~HhV{;@Z}gb`bqQr(|Knk6<&e1eKaMq4t`*=F z7v7ZZ`Sy)Etf@GOteP1dfyy(%3hq)JVHj+1pt>9eq?J9Z8r*hT+5^epj|6*brJ0ZQ zij z`GR)&yBNWvQQQEm|CVS@S}21bYS(t0@D}7|;}O!an}(A$yv4PoZEb?jH^wozS-ZD0 ztF4G@B41OWtxjoAsXIQufD4SAZ4;ROXvoZbc?e-D9qNC3#@Xh@#@Aw+R@odU|3Eh;pN`uYRM2Kn|u| z6p>xyPw3Oy^eRrsG*ZHRg*H*1b zLxd=uvMi00{$E9Ub8>((79Wf6UYSd!Fi|&NOa3 zQ2wFrj3D0xn@mp~Y9T+bTfir$eaL$%M9#CdTe*YsGjF{d8h0N`*O?6tCt^EcdQk6z zP0xU;oAGv{0Ovqmv*d{28eePK z{;pTYt@q#<8d}?%nR8kV?v8#7X;w{O4)|R;cIDWXW+&)u0eXqmd|{9k(=*+po%XlZ z)NwtkEIF5PZ+*a5JsAnT3###h<0O4k#fEnwv9$;Y8&-lHwAw=oiI%)O@bIv! z(pNvwim$TP+!Hq)@dG^??loVwjTX{5N?gU)3tlPM97x?|*A@H0bxjd=0>KWpa`E90 z>7UVknVaNA@tcv-nMz&udS%v`Y3|rTwmk!&4Vv>#EW>w4N3y#-)+DIl=$S`6#irEV z`}H^3r_@Lfv2Mz!p)iw~NMoUYWf5bnimIo3z9;C;lOu-IcmUb)ep0`n6t)E_3G-+i z7aa=M4eXem(OvVDa2~@QzsD~U!?~f`A?M2rn>ou@4fsjJQ4QKeu|2>>kAoGdn&SDF zqYtoFm?rN4`ZZ!^@#|`b9Y!V~lu+f%v?QjJu=RMS7V(S8f!j7?Kc6)OAb8c(OosG( zq$<4$6A2F^yb7K%oQMs~2KB~=(Bz!%=@|JI(AQ;UAD2EN_3M{*!68w)2PqR%&@nPP zg>9ZSKs@2Cj_3!16O7i>m?3=Ly1R=!hwAeuF8B>23pP4D+`71u$~cBET|$6(87d*K z#oiZ;VYmV%pw3kRX+$N+l-wWy=&<-U3zQZtB@8c@;le03+{kpZ7sUl*kAR*?6MC9-P?^X({xsuQT_8uX$n z`qc2D6pi8c?vr=2<<(}r0cBafXU{y^8M!v$)U$-zqsRT1Yh7D^>a^a`rb|cl>l#*_ z-5BG4cl_EuEAz<@AI@!Ewf1>k?TxLw!xKIpTzOz^c%f$J%1-S^xtYEqo<}eRRVXT~ zUWCe1LsjY{U6^6iaH)6;wY1BQHKJCrOnJio7enIk=wyUS6ucj(P{Pq^FLW=sd3$eu z0oX@F$WBebv64Rv!=MoDx8kg${e|Zzzu5G>UA{YO)-w(HNHKuKjXbf$Co0G~#1{$~ z0=rBUOQBw|69%Vu8goK%DAt$}6Y~!RK~<=Z;(w5FLxM$}WUibE_M-lPbGDV!F4ESL z7D@~NrV=5o$smEso!`19T^&RUf%@h3t!wFzA`GMZQxc2!|5f~EMG-Wd;@IUI$@Atf%_xyz2S@1k_9|t z*;&QRkT(#XIWKr?Td{YLqa0h2U<+%zzAqeOA&L%56lf%5ENMLNcgiYC4)L#!r%u+U z7`r)*bW;3YL$7?8W+}!X&5tLe#&=&w&X7Ndkx}=CbsVV+tvj&mnC z2JmAldor_0RO}BZ=a(zdSkW-el7&4G&qm6NTI~TKUkO>pTIafFVIc zHKoia^>c;`P$xlY2AODF)ULDTa}^XW$Jdk$1D6=8g8RgMozKMuxq%)#|B~;ROL+Z=#fXkINIYSci}S8rqhm( zN5X{$W)BI|fT<%DBky|Jmy*cCQYK>Y{4FRk-0`7f&T^>3#j43uKjCe3&R5>s@>$mu z@5_>0Kn&qEfIR#3>2tU4ltueRgJ5ZbdQG0#lkLWFVzRS4kG{4mg}zidT&9M=62@!7 zv~MTX>C3z3IJk?vTL}EhpUhmyzQQ0*h(o-a+4p3n(Xkc{-jQRgQH$3M8{6%+T6J1? z&xhO?e_l<7#tEz@9?;SwZ_T!)M`hrzW*Dc&C5n>%9hbP{Mw4x(QfK&oF@vIA6Rr8` z0{!shF_)=b94GnW#MXk?>{Q-7dz(qwgYHDiW!b9KGn~NU0R%LU)R-VW(<#q|(Ygr@ zmTffP)NA<@`yxd3Y)?&QeLH&;ow>tyzp_b{VQRlL>dk}Ra*8TkaQn%8$3F(=WTf|< zLf}j#4{^H?i z7%)PrbhLGLmBVG$TQr-c)3`TJ^5AnR>)~yI@<-ZffN2JVw$7s?e1KFJ`t9Rx4@u&? zq@(OJsk~@GEc`T{r*fLL&KZb$(Xhnk`P_!B3X5*J)ex`c&G79!UgRC;@=5g8{cqud zsg;M*81BVxjZCX&*Hv#(0VizcJ7Xz6y`*kvV)~R&Z&nN*oBp1JS*r|*VVlZ~w^w^?4bV6E&Xh(fbe_uV%m=Q!p1ze4uWEH$)2W4l+E+K&3*rVs-3 z`!e48LYuv)EAu6FZ`+SuD_i+WbrHZ}TX$=Z#os$%76%8u^o(z7+xg}nuG!hGh=Z}>+*)?GrS-K{Txv$ z;3&;s)sH<^T;O~VbOT`(_JoMO3ALk@$H9h0ajb3hQ|*+o*P;;9B#Nx`PnW)Ef;s?z zT_+8c1*QS*Wk#s?XEER510vn|Yp2O;J-l5fU5D84G3y0a?u=g9O^R1-{$xIcF3e$U z9Lb6IBiYq8C>QG3oolHhL5jIZ`_@)6hj#&qCZ%E<+!(IUxo8>=ol)Its5rmh@=<5~{yV%2!e4=K+>t zM!TSpnC~R1=J3`j`@rFDGoC$$jLX!*N30A9g%(VFk$SPADBa}NDT^l?NI4CqApAwA zRs7GQ$F7(?PuA5o8W*`z6qB@@zIZktG^^?WQ#>(p(AOW{0Xav%Hn#fyoGtl66%wJL z732Ttq@IrjSe}S@!-JnZQpt<8u)Vd_t9)-~c(zfNx&dBghCD$Dtr+7QRtQl-G;gH6 z9Zs1Ayca9;<+KU$IqHiGUa-Yd6mmq$0m8{$8)~*HI%riGX*@;wv7Y^}pQs+>x_ZQ# zZ%;n@qNx5-6Y9#`q)!{-;!Y4s{pyD5m;50l*BtQ_)rmY*jcN?Z~*b@Gnf(BxghaEB3!0G zQSq~LnMX>uYJX$dYkL*Dd;%XXSl(&mJb91o zJU{65%>_Q)K?WWa-Dv!xQCWG=YT12(E@{oi@pkg}8ts)U?^CnB>ZN`i+p6pl1-*Z_zjJYW; zqw}Kezr?zlK|uVY{@M6eRMH96j+*81TAz z_RpVzsihZwToup<%pCHGva!&pd$j1exfQ!jM2pS=hh=NfOTZHj{%dD+PK09LG4}%n zaW^g$-&pCv*^yN7tzMC*JnWq~jBD&4p(=n>QRl0TmQSc z&K6#t?XvT9$ny+$WZ6a$rsIs4?;&hc%(2(epBpXHSD8S_&?}K|J3(7sL{479E@p7) zA=3ga^_T&3+(b`#)O@4O;!ER?q~0Q`;vS$x8)Nz>g||@$7xxHO6 z*WWCDN64RC*}T)b)U4;EU28=-8i7WwZuzk;H$EEP1G?sf)&-urn!+%?);qd_s}LLCjIJnzJq2qUKbi3x%0@1( z+pEayI=e1EO1t`DwO(0|Ag z6o#E=*HyTHBtD6OxvEKpfw5~~6(_aCfYxmWp;@!5LF1T@xr^<(Q#$=#4| z%Yx{elDwTLXNMob!Euy$$ z_Eo|K^hDv43qf#DnnBsXrVN8qRHq|qr{N~+1FpZfjXVU$du!`UineT!lZn6O#Upw0 z?dfj(&IL0*V=}+~j1R(NM#mvu-PMq;xqQ3phWt;zN+?pT)rpD+_wxYN)gmUv9xj}8 z>$K$WxR?4edxSeF*RF>5e}0^A&Dll>IPbbp#lpq!C#jPGUKH8ePzQAq&3~Wbuu}tK zV!PS?jW)~LUoL*iuE?h-ms90AX%|}Fw@%li;9Bq#P1(&Z|MmX>=kLzG{q*1#%o@a; zp&8d@_Tu(GOXzIzS5ci{|1aRCcUA`Fd2#6ODyX1ovXLQb)m!|{=Zm3aMIua{H901? z3cWQ0+&w#W(fzi@)^4X{nxfJi1X4UV2mT-!Azh?nBy{_N6AEAB*Bi|rxyA2%BH@eD z)!$%&JquB4j`e$Q6myuNhBZ5i9e$7(?k(Mrf=}`iX~5}*vtL`TWi>NnTS)RT0EoKu zEI5ouTbb*p+T=$s&)WDun$G>7>BoKJqVg_fl}d70rBaDia-L18BxQ-nX{!{W91=Ec zBOxhMLglc8oMIw5jX9Ik%K1FzFbq2xJJ@{p`QiHy?6DvAdhNci`?{W2+KHBs%}_BV zWQ6Sjs&v^$`$oeYD-n!zE8|)TR(?J1q@%v@vhA3H&3?vcU$liWUU`%Iza?FSJa&Og z|I_Dh#0bh|%WEnz+AO^V|IQ}*h z2I>8}UN68nO~&dUKpjfT^$_QE)hk1U#G;)C%ee|fhp8Lbt7A&A)ihq*1uQ2dFkb`c z?>)ke98BP?X0wBjU6>`1Buf{KLqHVOM!{}GrH^+Rc2kw%-ugYK{em6NdP{vp< z$%Lg*GV6Q`yWks%WA5>$YL5T#|B08Z@qN%f+NI0Y9spFgz$V~N%J4x5RsY^r7;LJJ z`W@I-Ryn{qxNG_WHsADtg+X=ZYna~~E4H234JL2;7;~c%@hIlb>@&+ZM>U`qei&KY zByvl~-Sf!dvV30G!rF;PeT{6k;J8|oq3_^=1u$7{RlMIS@%zht@53(_5QT}GJ&GZ` zIldyBI&5!^U)nQlEge}7SdgI1!;Tqp(*!4lAJNhqN4-TpEAbC!7E-X&OBus>(0w$Chu+YWJ#PMrjT# zgXPhToR=VaTkwq{X8-0;j_KtXq%_+pchOVqfe6Usep8~CyIFxn9IywN$QDFyijX$^LhraV8of}6qHA066_TD5422#7H0w5ZK7!(PKLh+*iLP15oM zKb45fd4p&5q5OvD)60q?VnpL2_H76CG^b!VQKXy3CG0EZy+Yg`2h5BAG1j9EqfH$T zTkAJ?E$FIQ8b~AEznVK+qF$+UJ%!K?eh7OQKF~9z)+AlM{kKk3f>?WEG z$TXQfjhgXUkDhc@)4({J!((vF&L-vBDoSyvjJa++b#JW)aIF)Tq~a zo6Ppn7P+X*M$WFQ+7BrkilP3H$n?3SU;EuHZH!m0(z|sxHpIrri6FBs>QX;ihQD|l zi#!&m?`Q4Y0LtsvT$BcAP2`$SN)RiWNT-_Pt)@z_zd!K>7@ZxE`}rYSHm zko6#Rm8`*^CmzX$^Mb&RV08p{fsBj=zP^I3GST!|8I*XTfrZ%q)~INv!b<007#-?S*(_bIoe>R{;)a}at+MGG&kBK+9afu2$32x z!5(@7(?(je>B6%Yy%u7UYgt>j$DB;ha0d?#6INYWk0Kr+ylOHPOqR_nd(vm!-Av-f za7GTux~U7b=Rz~UhB$OO^URO1gn)sBcxyM|Rb$poklzg+p+WII&_O%iD>(1}Spd^J z{s2sxFt1A{69s0ghru#2$elqJp3u|N<|&ou^59v+Sh&3l?k=F~bkH7J!El6ji4=Qf>Em6S-T4QjQs#S~j|FoQoF*Ils1F z3z-iJZA-z<0~gkdHjUAf8T>G=olm*(^l7rtxv@jauGR!nh!u#I6yZ=A?9?dduO?5) zYBDmpt92gKC|hwpya~knp~%(=>BLuz)+Xws7>YCI&>;p=V%&nC%>4ViaoP^@?zztN z`B1GXxYUJq9Vrjug861IsmScxSWYePeM4GTVy@!sMR!}^oa;JhK(^Ta)RrgQonx;k zI~HN`+~9=`TVQu?8psHE9fgn>vC*s^`w42mgtCvIy;bPIw#l!$CSLxNt!BPUtueyy zH7%f?T5|cm5~doJB#d{3;wKA9k!GtIf}eL%3LZoGcNDpatJmQ4Z(jx*O1Wit`)crp zBWY_~gE=i0d1siV(CPO8AqbxQ_}qy&kPR4nP)CsS`ocSMq&-Hl40XX_P<+tDk>KDw ze=J4ai-;a)O@iNy0)DId?ga##CSf?;kl9K==AjLkiu}MkViKuHetO)ZIoCw!~b1n&U__-hv6&7JZ z7=dj0rEyGCX-yBn$|}wL%ywbv81=5}rd~Y=-(%-DGfUa!MY>a-g-mlwf{JbhX<;SJ zrAO9|qr28aefjUOtF@pgHP>q$Uxt>et4kheJ%&1^(PD~r2QQ2{)^;g7rKmVR#2{?N-)9UciPjA?CzNGUoq7RVI-nD~ ztl?mvm&@m>-+v-B?f9s+6DWTJ>k0Xr%2@mkYZ>WEvfJ;*A*lYPCKZ$legc2FgW3^M zuvwO)_}ZECg$c0GXoKS+AMU_7TL|ND&JoN~qgM4t(l@gme_l6hd>`-gx~k8A-T@rp zG|FPyzPEs8*Mm>jT;|WsUBKMW!q~WI`TY5_poFxP6{U*glrcJl*E>k$2cH>6U#Sny z$Q;qIY8&SM#OnMb{@MJLKJf00T93cVVU3=N_G`iy|C)7da`*kFc&r|*66MAUfPo`? zdR$Y2WV3gwX>yI{r3imB25&KUPM?Zw&%@9ga=_ztm?RlFRp?3t#dvP^u5{1XoC`u2 zuHn}O=?^VydvM$KcZlS_>3EE>&wy9 zqYTmhy=jvovqP=@H$Ra+gd?}5|1y~2>Jl2~{&q<1O;H>$)kbvrMGDuZAo?#s6KK|1 zY>JG|#r~e(dd;zm%Lh^Y?yBU9lE&WK=@smenQ;P=;ni)U$`v;Z_Ax%(o}tR-KZ|u8 zGOk-}ydCoaH2cd4Pqj2Eggv^=+O}Dd0yA#c{3G@HiEy+$OfdsmPjWs=b=;e;+oTJ^#|7zn(@HANw zwfNj3WT5HrJA+$)FA7L~I7co$a?Z@%;}@8Df2v~zxbsMrnwvO2m-{V_cq+=|Oh{HC zVD9j5SYkRAQa_h908nM-KZn?G0|2Q$`}7ePhqJx$T*#psI%(pHx-ju$@Scn|Y5 zn!{&|HqX9Rxl`Jv+_5~ABdMi%GpL~(w#;Cr8rw}WZBRy&mt^H%WZZKQ(jRQzj%ny2*Cx%SU2(y-!C0orPqci)5>_OQ4J-~ z!zAs&{k|t;no~hu>jlMyxXaosD)&R+{RBTGu&w?}@)6GO&?-!3__@BDtAq-mc}r%b zOy9;0@5gl){%X&+g+TV*%kxs7&%Kqtu=p2}7iY5&#QoT_CBNzy#wM^UvsH(rcG%nC z(o%=dqJd33Wd6VFQ(e$idZ;B|>f39lYt(lwXot0e=Sf1X+D~4*>I2DTJJ8M!ZUw66YVMutf?owY{;uR$d?g><)1~5~j=4rajYZC8Lsyq( zf4je6^y&Ycl+^@n_UMDwiOZKZ|H@y@8o!VYmcMBXdB#7DWw+dN3YeB5)L{AVNvnFj z+*sY7SpEKx)e&XTS;_Y84l2j=l=Y8&MnI8_*+|4O%-A$Ydyw*lv=-!MY>T9m$E!Ca z=cYz-{qsA0;`pimiCn+93W#;t4r2`0)!UBi>n$pm{%6I6g-qS*u&kwd7pAAA3uD^; zm6uVLZ}}_-xm>-fdu3-DmyeuSVO0%(A0=RS)xJJk0kE0!-F8u1LC#A+^}!1MIEn{? zFi-ehn;aQEoTFHr{n`W${P4oo&#U&`ejz46?n;yFT@lypj*Ci;Ep6~*Ke!K>${F7n zq3f@vQFRV;dKUwpEETLcPNFT>`G z?*ypMF9jb^eUf$ofA;$Rz*9M5GSU-~ZTnfK#Avb$RR;jL*?Q=o`8sQg^o=XFqDG|8 zC;arW#bZ`(b+^{ETtXW__a!?LWLSMw^TFyPf9(&XO7AxQSVey+S);m2woI6d2Ew<6WjS!-p-U4$p8&()_}vwMj%KROJyAuW|f zHiq%esy#AJ(;U+H8*x-Dr%^tE+JZ2xZQ1nj;403nQGZq-vHG2bfsn$(_b1Am@y)W3 z!^iSg)N|I?f8Z92Eu2OMNUXsdggzKecn1IQh;a12iP`40)B}`ZVlgL`e-#_R4o_*$ z`E=pPS!Sq;@cwh?1iNp?68alAtJ=W0_APma+XUosB+Z;(VXKfP>ch`R3F3p1%4upc zS^@IVWsKi5^R+%k6lj%Aw8bBYc7?uJ<6{sB@0I-}O@wvvr+K_$EH=bt;Y=X;H@=08?nG?{&0W`HB z^z8@tnlBOk68CrM_5{rQLhb#mly&}pH_^pcL77`XN7U{N_XohW?D7^HYIRX-W|b53 zh)z~*97k4IpmB7RPopLJ5^Rx9qJM;{iTI+qZOpwZsuO+6!UN%5i=JpTT4XoQ0sPjI zo2g2tQxSfzzqqVKBUoiVt${;TP_;oPHP1|D0#}O60W)>R4v`KAzSvbuJ)!aipA>yE zfxUPN{7G?Sv@Ya#H^dUjauf|&_w_DH*DsOYRX%+Fc;YdnDJSv#)Sk1~hVj{qAAr)h z9{h|uEn<3T!_bEl*p%7krB*;Phtm`D$)4j`K_9&Pb5={ca~4~Lz-{^diAZUClN}EJ z_eW?ybowpFPqk{CN`cTK`!$%6nT7o3br_CX2?b!N?`M0=ybOb@R<0d-flCQ|f)LpX zy=LvX5gVQ>2ghF74?fYI8VOUV`CW)QLA<6$+rg5?BnsWN~A&NlV#0MmEkhG(W`K9Qc&|slWiVY{5xYI8A%($cpl6yIQj>sY&!1R3%2K zDo;j)OSm`H5?22DKtb)|?+TMJ8YP1t= z!NC4_4n0o-xv79L)0^55?)-=o}FhbMHKj~#Pn zt2ITjKh%9a{M7|c0WByuzkDFzPUEa8b`kwUkkxbO{^3U!_Uj>sUW^NIOydMgY!&I# z@1Nul12Fm~7rj(f5|-Zkg;2z>n8rLzk_Fd=R%_oicB<&-p23U5QVJQo0~miItnum& zc+w*8ws3g%%o^>9VUcLelk5I))329eYtE;4`*c2=b>Uvy{6f|_Q=>0lYwU=gh|q3rfTJt$ zVejI0f{brm4>e!j0EwG$`vY(JIP2F2DCVb{uU~m|20#0C^%`JCP*n3dybt^sRRj7v z&*@eiD<<+n(j(_6?~dqGgkOY7K;f5iLujnr3S{|2&{>e68g?tKMsee1dk0Ac;oXw( zxR8J3soMkd8f(g<sv|_6d zlG;4WBG+P2J*0p}_De!==;kl$9cf>o!Y+pM1TO(-c(m*+u3zyzh3UF}7P?NUrDu^$ z!WBh9Fo*O_MKzMf^Cvji6^vH;>&~LypPmY5=f7Pv(XmC|Qg^v^rtDgnte20@p?49w z3j~$wP;bk^+s!vQh;>Pl3U(z4^zWT7`d;(j_6Mi4Z+X_;m#}IU8}~`g>+kLoxE;bZ zw@AJ1Ck(0n?$qJJ5t*zBgU zdKZ+C3H;RGwZmgATv#JclIw8!H1$0yd!e4^`*xuVnXDpqyDTeDHokw`sIMUIWZmX{h{)!qI*tG5vAQM-!(#SpBYTCm#${(G(0!{n9B$>Wzg) zMuOnCWa;lB{&`$Z+nK#u+wcs9KG+CDursy?W z$H1Gr!bb4#f9@-nyEe+`w(qZb1{3UtPm3o67IT)s6OiVKm9d0W=4s+WIAhUqJwtuq z6xCw0q}&Xx{UrTG(zOnM2rKZ&3lm%7OB0V6*hFAMMJf`^dy4jo2uswi$%v)1Wpcnl3JF&ob?_L;OQo z&~lhbO6&dnPu@TadexXs`S)kPPhyo+eyVu@dop*<@*A7Q!FK9jKk}}bJJXadq8z9G z30b;SQot{<#$|sH5xX|-mfbRFMD<5QiP*O#K1pllb6mexk3C8E&`)dF zF0Zg}r(|@DR?8LR<@es_S-v?zkA6pn<@3**#A2OQc%Q|&ImKC$NbQ5sm+A9nf0l3ejt+yI z*y^Aeej}3oKQ%Rjc|tY&u`R;$SlXIp#DiJ__eiA-aA9IsytMZ9vAL+qqQ=aFE~8!kN=BP6=gURNn45VC=}yk{5#BP3TtW z9prX-RBygP9_?Lfr}(uWB0sL%FCt`$b=z)YED@aD6;{jn!2Q2jiALP>Tha#|JZcur&7Pdt1w8(vf33E( z@P+9Ciy|9r4dLdix-U>ocuD*O^D?bqt^10{yh?QQ?wYqUgwM18T;q~`jc&P6Y6=+| z_smm4Lw2FA&a~xHhnj1n?1BK+H9|4me4`riSZ%f9Tf@rfF6a7xQ(C6mLmcg(3FUYj zR&WPBVCQ|;>prniL-IA_Hx|VUXjx>eobcc^CZ0Ex*|8~%1*ig^X#QQOdbyBy|8G7| zDY4Uf#ANU1Q}k~u+Yd9k<(Ymui5hvxuO4QKM2d+OkBI;|R^@su#!#}FDYT8`AT2yg z7Y2UQ%(leRTso8`+H_cb!86vipoy@Yo!Dj^)V)%E^T+)A>A}q@VG>1D3uy5%png|U zWO4P!xG8qEFf3Wz;FJvF;h_t!V?S0hB9fC38%aS^3-v%B{nEYV-rkyzR(B0IegU^FU#xB1`#9=-CMbe7t~-*H5lF7w3PH%kG{<(9044vx3nz;U~n`&00_}XYm-r|7*r6NM5&p18(!cruHlf2Q{L+&^ZY? zJ6kJhlrT|>TTAh4(m9+tOR3$O0Wy32o%9Jhm&|&~oGV{423qf!54%otd6huR5%jI? zC5!~)llWfGbf&r_h-I-2sVjFwGi=<*AvN1dp%(HvS=?-&uW^L_r_G^N@=_k-zEn=8 zdsmK7QeEeU6tMAlJj`yT2T|`uVb+6te5&jxytT*V*QW-0X-3>2u2_3=xnVYVn1+U2Wp3#wSE;S3N?c+3Y^_gAUpCLmKC^WnG=zyhxn^CyW z#G?!-Q*(L4x4BDif*z&e4n!X->F-)DAnOJ>U0P_R@0Yg^6?Qq2b`);xA6(KePZ1rY z4}kt@1ec}<_Cc+IjdB&?+z8$_AKrYIQQ)(Qos=1MDC^vOKr>2eTbFT#E}YXfvfJog z@`F|zgQEGr_UC>Y^=Xgnp;$k4gj_lid+KQo`-klGZILZrB3EVlZDwoiU`887<&1h6 zgs4{YdQ@pjvnJ;TSnNjJP)*t#IB&`jbi1VxSpcURPks?ya9VG0yp)X)j&GbgvY?FLWRZV4ZY>`*sA1K)e$t|c~4{};uc}^r{DP`7uP+02vGY{i#g|5A` zcLk%g%$b_FLYHsAYog-J3eMKz%Xtl7JCl*87^{@^*nVAs-;zEzNAQoiBjk(E0wUc0 zOqg`B19k}2ggN>{?f0Y$YZ37KK*u9Q)GZ|Lp%9Y2U5^cR<|l z8tm98eh~~2p5j3Muvy<#RHI%B!BTJTK0tIM05L zrtZFPEBi_3>kQ%{Ra0x>bk|pJ(sG3RMkCnt(01AB>cfbS70Y>w%ct80!Eu}H9kWOG z_>GD_%t<|Y*C1-y{K~|vl?{+~kyaA!Vh6;ZrybZ2z^k#)z8vBlVoihI z2%c=*U|&^%sDd1n(AyGLLPiE8q~M znaquT4XPH5BZDeXUzSrOClD#*Qtu&mYy(25LS}u~(rd1!2FvKWH0Nsi9nDXK=GaBQ zj8&9EIUY@QbXLMPz0*SCikA);(5i_6wGI;!L&J9&XdkJ8#Qu=?>(9S*Hj932Y?%9x z8vP;rUxPoK7kQKppekUDJv0OKd9?|08UNv=JB zvBsqWCQRXWye{Db;f5UE{}O~y-n5&Y6xp*6w!u1ey}up`^+*3nUhTposg1lP&hL3+ zoW4RV`>`B3v*vCSxRgAfku&jH*r zL5t!=Ow&e)stKfJdb=&5eU$HkO2kAG*`yPq8)T!^+SSDaLapgA>$!|*Jv$4nt303Gbc->X?y;Hqi z=&Jglb)6kzaSAuX5xv?7n+ts-E?v9tC_~`J{SLGqHTB0_hgG+jt0)0^;H+XZ{~}uI zpS3dNi-^mm*Ugz_^h^C_E?sIf$4OWF2|9~|?{YPF*}|i;TLn7}xG1)D5J}DYCT$1V zz1xEJIk`2@$cObFKO0kltli;#;tW%RNZYc7YOtUm8zRG83K=Ry-Wwmr^D>1cH}?KC zTs6$w2wvQxD|(+}vOs>~CD(kE5Lteq5^*UD+_Zj?%3>BCiNWviG;{Q?O;=>wvy}X7 zW-1}|PQ0amd6fB9lTEf}>f;=CC$cliD?eh{Olo30R>Q2*f~*o@laWCLYNhI56Ml?-EciXW52a+a|sa7gdwx z0P~;4dN|dB-$9BScczWu%<9m9?~Qj;-tauz(q8S-JG;XS==EJ{$4R_-PI$i-Wc8k| zeqY@#C+YP?FM=an5J85oAP2Y$j~UG}z)FcXC6@9F>hCTrN4pc$g4p`2%;-$luW7C6y1{y#8zoqTha_D2MyTf8e>Uv%`J!0F^9ZOz@ed~9v?(=A;v!0dxt(x}l{ z)pI4?+;2s%Qg7tlwyZw1A5`&Oz5v7P{m?qC7*x1G^(Jl`xq9fJ=gAR5U!m@Xy6ZNT z?q9$kgI#-A2g=N!xCc}HkM5qlTJK&4iwF_k&|KO*H4=TL$|Ean&8=_wO}W^@;8gC$ z(VXy{<9(#5URs{?mM&4Cf*a~mI_Kp&h>Gis-5Ex`g&vN*cMm^q_TbKc1Wjej?LlS7 z?ma4J=Ztl!UXZR`W4{U!z|9JqNNT()TmWWA@DxZ7`otB6ihxTar>{iiee^FZk-=7I) zudhSzBfr9oFp-LnW-wVp7eb6hdaoFMZE*{YU{LG+nN5QdO4>7VIkGUKyTeK4%aR^r zAp~og?*c?WCIUH9CjU)YcDwFn*D@@6x_>q<9k6zg%YAC@ckpNE0{>K!GerDSbaw*O zp1$ifxq{gs{GsU88*3!;12rm_zZt(vBZ@-}zC>8T7&gw(N4bO!(1P5>FGDyj-jT8KM zj@~ZtrH$a-5@U=bSh}rYe`-l(qZ8bv&P@8^lR<>O+qzdgz+mR+Y3pyss#FV{N&ws% zj{35)Mco0v+o3u0o-<@_i(Yf-H?7uZQYmlGrhheaZZ98RP+z4Nw4T`2^8D5o+_})& z#7}+pj*H`bKxU$L?(~+acm*HU9r-o3=)dM8=CzF0bFUsd4T@Brv5Q|dEwNaQ&)dyS zjX)l5fiGCyTdjVi-KF>%J}C7b<=;dWBd@RDHf@ld4SxVfyh_L$-I!51@aEsUJzDc*L(}}JIO`gAXdwp2HiCsd%DFSNG%$N5<`%LP_uk7t z@SD$EY;Cjt7@&RW?QhQKq+_*L91lOg?XmRua(74i#Q>B21hh@;Rfoh*i5<{(?FH0! z{W~FY^F=SGf8i!+0&A6hM_Z#HkSz#lN=k46SZ>!Nz0{X2z7a8Sj+erD@(Ivgz22nx z@&Rci*`DZpV#|M@9G>30+#{>Zx%DYFXY1e@A4e@PiFAfoZ=og|GnI{z@mVWAiufpb zuy1y`&X%4SD-1F1qk%nn7H#XzsH}sA)HD8Dx4-g92ry)gXs7~GjDNM7QgcW8_Dbe# z%3Rv22If)7jn7b0=W!Fm56n6m@dI=UF{4G8hrzy1?m*E&-oBrSMYyJLzt?w;@Vmng zwUScrN9iMD748IMzpdup6ZUuF1{uE~SnKx3Q(f7iWew&gp@U3XK{ zL+YP0Z!dy<^4iXgb{t?}MK;8ChC96bHjt$Vr`xn6nb<+lj7MBx84!F=a)I47>x)5U zzKYuSGK{Oq2Y0$oPrhbQ0^ah5HlB{6MCUc{5%57hExDu)Gc1^*khAMQ(3?$9oX2U% zb#}~N&1W;)`qAO;Wdqs3hXHOf3LhZ-?aBYgT59|wm{vf%$Hjt=J zRM_eLm#X74N|k_!clb3%ORND^xf?b(Utg03C$eJK<`?MhCDzWcz^OX2D~@#fa@$f{ zJm(}q+Q}IbeG3-z9j&m(UH%MQxa~C3QKfs74BZKGo_RDA88JWyUrhTjp$#&e(uy`e z6@Yqyt)-IrDoJ|-MCH{DG!)>Na`^H#z!0}1iMN{2Qje*$V zk&Ise<{V`8L^`v%!LB;ETg;C{i_em7GYwC~4xKZ9S1yhVYvn(_qdqBv5cZBGp;>R8 z%!dOx&IaV8W*XcRr!>0DpL?nCYF9drj|*G^vj~P);L(rIZhz4wDKtGSezJC%MF^r(8Renby`L7Nz=_M88g;WM>F=PA3j2=%*gQHlap>|x-@dk#{3 z>ZQpIlF>DEzveotp;YVFyyeQ-7s?=q_pQ1u zXKfs3ubE62xai$t!g#;v$fHv0|zbp2Wbr3J;?5mWux9W>) z*&ma!!%h;D@bV?ElQpMPt@RRemJLD$mW+GwRV|pwO!Q?2FA=8&{h-9W?Oq1z#t)DL@2f!;7-w=W3092wb~n0xZxt)=NvlEUI@Di0MJ?=*;IT zn!%jpXRoF>m785I9VC%1?1_;*b5TM$(HHmtu-w7D!TFoq#u@e1c?n8I5q4$5Xe;)P z6x0Mncr>m(*R>K_5xi9$V($C5tD`cPeTD;~h!$Ont&gC-Om!rGBI_u`kDbUcTEm%#DRn^Pu7U4=V0Aarm-&6LvWYU&C=FiFYFy zAO>T@SKdD;X?sr*^C*THqfeiPU0V|z!K=eA$I;(48~3H4KZp1sa z$90FMwq@$5Y_H;wIwKv%c@M6;tV66ReCK&VadzSFp)4Za#zn2(rf8^K>!{M5msI8P z_QnA(1fw(dC!>_|etpqqC_~CFXl)Atu>`nybIoEhY4B>ZI$vo#R_FfwqT#tk_c*}Y z$UtK!;$*$XI{2Mo@Y*?&xC6{0S+5jC3R;Z*}{JV4DI~@I64f?vN{Zms7<3 zJ@$v+C1LJTPP$|hc=snJS>iTc2dWk9&eLrbVWMMw<4w4U1I@7cCBX^jj+h~-eYYWFy?* z75x{aDL{7n)3WJTlM{i4TE{|NHiN%#p7kIE%o84ZTfs82Uhx*;Hfo>kggW4hJ_XK; z1@IE}bQ(Gp)H-K!q|Em&7JwZ9-JtJTo{JGE7T*_rp%dWVHFB^^Ey?lxCcQ>Y*#60A z-ZBJ6GeIrk&|cu80>d0C#!p(9|Fe&j=r;aoau1nzoN^e~o$P9>^+P@YPP^K3$9yUc z_2){D9?s+`W7>mqh1AD0ceY2>{S;^mZCO7Vdt^tU)1{H=4CZul>JRTlxts%=j*48) z8EvTqTuA<+Zg`It z87fbLP4dUmu=W0`e5k_$n=Ue-@+KjgwgqJE%d-PRM8 zP@rAKErHv(c_Z;NS97t@@cf#NFvg%jVqZ#-pvv&ZeH>|IlXF2p0nfuETocm^#ixaX zN{15S{ouUNtGrccV+1Ri??g5i=9iSt?e&netC*|CePzGgh|Y+|0cb7JoB z%p?8NOOFxMyJ^@jPRSYWu*=(T3FAYX!tS(|Re78sYsdlEQ7{kl6q%+-?i*fsc~|sn z==3gPBurA*s$nM;0^An3Q6Usc330+(-iXN?m(FifH+xQ7$!h4?ML?NSYqf_R&+ z*SvGDbeMY|xZWC0`$0B0X-pI;81Tn@h=pX85=3#jpSg=2abUr~>eN(^_3}Z!H};;r z&--JJSEl;}7g&un_!{43vK4t+VHm%oboy6iM|;etmyO zuQu6>Tg~a^9Z4R1aB7LGjDK37ahPr~PzW=i5sP$ggqov6?symGFo(Z2>|TA1z$5DP z84@haO5+beJ@6}CYzGX6!u$$RSI3%8$lgX2d#62j!7F0S3;U~A&69y+qnF;)cDObZ zrpLZSUz}ddg^J_dzg#C}-m+rLWP_;uO{{*UWt+j_{*LV(;m9A%7ApK^? zetXl7Qb#gEM7@h$oX>$_qyM#LO?;7a`c>+0HTE5q48Hqd9P!#-+7V{l3BWE2qf9V* z$}hw zO6lThFpfXOeUN8XUYk%pedcOk*Uke(DcdnuwXL}aud!uZrc8}_{w1(kpUdVXoe+)~ zGHbv5t#(O>9v@CPQ2*JMV_DMhYzB>flRVcT@BJq9JCs`1N?vv6#c@-n3v)lxQ%jcr zx-Cm0r0jvXA>%8j0rdw-p@v0TAJTo;`8JtsVmnC^qBDdOUPAZr2EfWznRj_MCSAIX zmyn$cq3L@`l^ci1oh0`19673nD@-k;K#`*C*>Rux9H)kmXz%Ti&%lD1#3=vpZ~S&NBTiQ!u@`i)1)NJJ^#sz|LY_R z=rA~h14VyOS+Z&3WgzlGZ&MWA3vy>0GS%vqXDM8}lK~OSq^^<;@m0qpjuH<0G{xuB? zN&nP#LZWw+A&;@E=r7pYh)c#(T|G?CsXF1^teZcbm=TVUcY-JlXJ_xG&B1SjE1S&O z+1hm|acsTbvZHl^6VJLszV_2duXMy781vAM*Szzi_aB`v&=rkijghK{<5U4|2WuY{ zRnIm&Zyg`hDxcm=VN|(QuDbxV7$W<15D*nDxP`o7w(+GMn;jQs{&z0Y&egl^V(yRU zF~B`0Vw)l-?@;R15KsO){ zvyX3xe@#~On)Znr)u?o@y$Y_C3>g3jsDXxxWzkzViB2bvn`yq;=5@rN*t98=@H1U8 zZMeB$sdQ>2`EiE3KAkA{)g-$Md4>>>vl=icr&eC9u~dv?o>^@cxV=&yEgs>1e)M*6 z>rpLpm*2&Lz#fkH909IbXsMbReUi0PPc46TO&hkE`L6a*5HntdcF+VLfGdqz`x-Zm+rR3 z$LC7aKtZ(qnI)a z|3}lghBN*De_W{~WfejWtMpBBm`ahurc{b*l}e85>=dIMHg-Uva!QiQVF@8IIm>Kv z&S}nb9_D=7$=G>+zZ?JCyRO~%T%TQgz2C3L^YQfW6o05poy;{nm3}R%G7K+pGc-FM z_bHC8q&!Kx(|!B`Q@a1`f|5FBe9a@RwQlqu36)9p!SpoF448ooj4cu%X^lto$NbWE?F+t-wmmXs?7r@`Jd*kr7~aXB@57YF zM&%n0x-Q$RH)yR4+eqxk$_uCKI=g8~>%D&iVcO}tD&=B=F$kQpW?S0b25nco-~pNpD*{dn^;6dN?G3ZPT;^XpC5+?cUvb5O~WJ9Wx3RjJm4XG)9k!P9RY9+oa0 zJ5Wsj_D!5L6;pip*;46a{yT>k`wH*h)(bOoth?g9OWnN5H!io^yuQqz@ux`(-Kayn z{r4Va(F?5c1!hC!higxMUZ&_MLb#*~r4|CL=)pt#Z+n?hN_)+PUQ~xeFblFKAA06K7;R=um zUv;}PmbX!7G+KU6nA)A?%>z;ysk-~&d!%76oO0U}Rz*F#H{AF` zxYX*>HmmhCC$^(}BGos_LAdYl(Ycy^d!#nR)XVLB*cILRs6Ekl;; z@bQpSuUYobKeqCOF{<+Tax7}TUwoU0Ar%oj=ocxmA#ld#2$N|=}axIs%3g3QYbDDBwe_GQ_+P;`4b~IBc zc!;~&9nk@CZEY`q>pErrGGoe#S;)TNdQpk|Zmv#Az05W9OU)k_kD79hz3LIY%ip!u zH?}6v$FvI1`Hj3ZTgP*4IAU$Jf~FE_1R8fr!%}Ko26Ef&Vrx z!tQ|fqs1`u^*du5#988uHEGs+z-Yw^fjtce?$|p2!JtP`vyIiRJXVZi{>?F9hl`-Z z>5euFIJ%1@oC>-gm~5cFrh{WPLg}P4Je+7YM-RkpZKh9s@4$+$ZxX0$WbmV>#niPu z0{))xX4c!5HC`{38`b87UC&%~mAz=#YTx$f%fkXmUA(zjR$=P%%|CHV$wE{{R?t** z5}CgNcLDRrW6xpb7D_`Q%m}WrxWW39v1oIGgrcTjRG+(Cw+tN9!!HyQ7R2l2y>#pE14gl2pA1PBJ1NZ+fJ9_cFwB^gZf!*SV_%~EH-n! z8h@s`9PSpn7RD~5H zQty!tpqT{39EkwuQ9vX&WN$vW+?l@(8{o9w`>=^J#R4nfwKX>t0&YgQQ8n?$ zZ?ibAgLwsn<{07`l0IinZND**#fDbyAz1vAnoASyKnQ0mXYZsZ+W=pHK_P^av^FB{ zKp2qOC@F*g!l~p;-G${*cV++3+ez6ZT?8*GAp0B;FVT^(#crV3{YEaeafEk^pTVJp z2Kg8XS9%Xu;?PwW*(OrO;O9W%;q-rr?>QIW{EGKgF7Vq5+lV)L3`4Exx*#H=5EiPI zn;VVAs}4Wy*X<{cfOFGRZ{+Dhs~ zC<-ab2!H_EK~D-`1?fJ%!QcVm)}SjuaIwqY_pIx?bPu>?->&^SqafaHX)JRS-hXvz zYD6^9Mfw6*RwLFE7gL#w5zX+xOoMySHPFk6o zPruhds~$=LSq_fKICNI#wHsqGD%IBdvF+MCr6fsu5NZL&ew?MJ zRrj8s`U5;|1ie_|T5QKSQ+*P22wJNOi_PgM$^E7DX#dTHib9exNgt*9cqQGE!AIw$xF?IPO=_~ACy^pJMCUH@^AP9Of(tJZdbsjpC^t{h% z35ii%-UlM>*4C8pJNlI!w97pj$l_VT&D4f{@=fT@*tQ?>=6yj7z+aQ|#W!DUq7k-! zA3-=+ELxw)f#%20-p$ql27dX*v75N%XD>a(s|`NvI{8s_li%-mNb_3#%6>?STxw=* z@2tmk?-=wmp(h8p6<~O^9pon^XV%a`i}CzpWq7*_Jnx>2T73_(B$E=2D61XYEaYZ=R@S5C}VO6H+^Z;Ci!lgx&b*MKIZ}AWH07QzH)T zp8YQ9O?)&1W7jW6Rvx4WPor;KB#ezp5w}A*IkO`%biv3j?|@G8`%&|!hw>Ch#t&E@ zXBG11+kP6t+253$Bj^hV@qOnjmdqiv*_}~MfebfnLr|EjE4a%&jekp6dnj97Ja1NqfPU@ zrkYJMw21>%3)O0^=eiWe7h}-rUGvrikDIc&RAwcRru&i)remw&Ta`Lc(X5+86In-6Jhi}T$}Hem%fn_4^f zD3feUpb^@Fbo7D#eNum4)Qh5oStPx^TT=N(gQ0fRKt;h~eZo(6Uviq}{-gNI`@sK{ ztG`A?nyo#FSL}A^TM?BJP8i??2Z%Q-tPtAq%HfIJDq^5qdb!b@DxPKYlW;_09)CLY zO^QH4)S$h#!7bre@DC9+;XuJUk-XT?Sm&QR)*7$gc$vUv{Y49@>{?~sAs4*%k|(eG zV7z|%CxWzpjTTIBP4LcbI)b!96TM=&uj_>p(oJP_{VbLcA=o$WZfw2P>La6s8+XSs zU;HXDTXxi+#(OD@cgoekE;u*IB!Stz0ha_|5=yfSJ5*1j%w@iV3a@zJ*fDft5QDwH zfzIymV3YLd=#iP36@1M{KYvjy_tzGi)Tygz;_vg$KG79?C0;LKF`Fn$P%>eb2eY;x z8x5L>ZaKlfWwX8fr#$m2GhBNQ(u@^x;7b3p5DS_{=w#7=C=?>i2u0u|;ZDHHq0b7RyZyk|LL$RZ*Y>5AIboJ&L3ZPGl)P^jn zFtL-y<{rpN3dCU~I^)1yq%aOEz$&NI67o(cOHP&%4a#F6%O`Oy`l3aza*{8rxZEhYHFj!7hPR7g` z3AcW|{`D7CUjO*J<~n_Z=^C3PT%SRLh~8BziG|BLR8%;dPGXJEY+&Z=+XOJd+j+Hh zfcm}za+aV+L;PsL%#U!EqRb2gbj4Fp>1hfdxj!d+UeGxb?V|Z&QXFY!F#NnHC9kx* zj_s>zZI}4R?4mQ~w2B_6wJ%<)u6(Vm+%`Y+?KgOZRAUHkAE<60J1iy8h=(Rl0^e1R zZzEPckWa0*GAZb01Di#Z(30 zjZq3Y+X=apO!L3aHUFug)`KQX+HLY8mUJVG%UT~FruIdNXH7neE}TaHdV1q26?P!1 zyr?6^;%Fa#H+LKUh8hwU1P!D<3_bov%4YfJ;}`X=xvnuM9@)CsHj1@4?#>Mu;p z2B0&_X2c95YvrCP3l2eos{Mu$vm-`!J0@|&7ut750wMUT5Ed|~Y zFrIU-A+qZ+Goo)_+^!)e*=d+mW9+Q*NOz7BU_BAh7F3tw`sS%gL{56scfQ)lf#itu zvkm8~RjGx~OWc`XA5C1nEp23WeZ0dIIyN-PAI{i2BQiOI*SX7aBK;}x+-#|sFLLL+ zPSYY1aOP(P)ut15vg3UFg|LHUOlu?q^`U}i#~)d?O9-o{{-X9venrpfbCzr6@_{O+ zX%x0UpnB2md5Gy`Cnux47yn`C`+>7-6~TXdbX&E^{(3b>GELfU6SII`pmgBl4f2q>*N?ah?)>eZjb?`xsn|?N_8R23{uN|D z-#zsh)1&~;yAM&)RP&TkP+h*&y{L~~A?H3hXg>ZU`@xS$bhI2R3CbBXRylr?-|^%L zM2QjpqJ9#+Ec&ItDLu9rJ^(oD<@_HiFD=Ufq|&pLXw!&)qD0=rU87*+k$2?!rjW?f zu9oYi3zUG3v+H<-V+FW}bL;Oz+8ylE>fW@D(>G7wcmJJ?zEwxF)f}R)*=kBsu*5fy z8A8Cc70i8)p-&tpDdv2g&Fd?J{vys<_o%; zbL#nyb#t4&o_k9+aGrY=+dE$>weNp#o~!f`rT%eFw%~CwZjYHgc|+k0_G|ZM?!!~L zfU=bH&oK2nh<6LO^tjSabf-`5xT})9DXLZcR;q9pdIKM-8{o9WJ4nshX>STy@40*D z`+(-7PAl@GT86B4LVEvo%o3Oqi0F-8D(JK3{Z5~{%6UqtryIA+Do%dRU>k-!B@TUW zeYRVC!n}7@?KnQXU`9#M|*aO~jE7ckDG{RrmXEvV3y)&4R#t4}Q3qO)rEWh@%D z0aLJzq!^N$F#Q6B$he+=Y`~1i+)x69vb)uP9{GaARt?OEqlX3dPnSBrMV%X6w zAFeybj9iU$Uw&qzI6v4i(DG7a``uHgJr!;Zd3W7=4!9^hd{7Kw<1LWLNverxyTjHs z!*{_{0npW_S}>@5PSQxll3Bw*VP?NEg=6(Cw)B^bfh)G3RYqE0Xp8XjDl5J=CYNpm zVKn}4XGgIbe?E}ZrRE+bSH2+}`M2vniKUHuIj>Vg=cR3?;dyQFOZW=lPu8O!rklwv zmKtU)eMS`*!hTV&uuh6;2O+U@I7|(?>xkh!UPDng-(KAC@&-nBqX2>h5q*O>tTo6> zzTCtnNR&_AIL@e&m0Vki7O&f_y#4b|WHXQcpE9tHirip*f>j1ZNbbku#d*Cdsm7nM zZ$OIq<5}c}-f$Qzjco2wxQOQ4`oO>vEb6ByQk*`uUgyjYZP?46=38L^A~S4ejyPk{R*e;i z3HPMRt>$KOP-6WyWf2tWQds>TrVHD*u%(JBgn%oB(QwfOt0g;D`$PjW4LYuYC?LD9 z06Nhf$bx8UcI~_l!saY#w+}@*9WG^n*9w^f8Z_}gcx9vP(u{#$)d-QzhXqYXmNz@2 z5~EyF@G=6A;F{g)dz6P|$2E*xmuQLabvJpGoXArcZEy`Q_YRWY8~O^tob|jsMA=R` zGyY2scQlhfAq$Eio6607z_G6Vv6I}ZSW&nhxNN*h4ix1W_eR#oi4MB0;M;YV7tF2C z{UT_=ml{s4zs;XCj$B#P*JmocD_U{=xB(>OtStr+sdGIvU3uo|27? zaANnO&N9*m4zq7*o5Lb|JEB7Fi|pi%nbjN$W!Bllh1Xx<`q#Cr3&Xj!ylJY_)EN- zv~JYsNhz5VpL-4HCqezzn}Uq{c!~~Z;mVMz-`4c3MM>5@s)l#=W6>P@&dUc`T7^qR z+stDeGMfqgqsrjANvW02$D8I;N+G6&3R1CHSu9s*c16eC+wMO2khSx1gwt|jdwB|w zBR5gzA1t01g!*+Jbn1o)mQ+n+5x>lbcbH_2`s|1u>{!yRO5M0EBclv733ecZeT@_WW znCO%Jlj&iT+o2{Yus2v~>!~l1PYf5keHj>sM(cAk(gN`lQYCIXopW*b=adyT{!KLE z2(ewxPn{mrF2~b~MVj^)jQ7m7dVQ);I*5Gg+!()h*^!B#vvQ?m-q`M1<-v8ZkS0&^ zFMR8RT6V}!%5$}1rS5FinG=)I>Fvqp9?f z+d#~ZfTQ5L|J*yH{A!M#dOcJZS9Mp=vZ7V}PY{0qwr0$cQQ7vbU=AsB4yBi+edFLI zLMde}KvVV}qXgyUT94_l;s%IF+qW(6weAI(I1+ajxdNBW7Z>gMcIXo)MEs-Eaz(b9 zIF*Oyzj1-`Wlnvz9$bZx?uzC8^K`&)?d;VB)VC8~=8} z+*|u(V2;Msi#-pT9d^)OAAI}9B>JH0w%6g`-+lQW`ZN4bMI?q=Hc-7jELeU?q?6n` z(W@@h;gDFmV+iggQ6ii>U|wJ_j$aWRQ;8w&KSOX2B^e4HeHb4q<)*KH05VtxAwosjBa8k&kd)NXHGe zIJK2J;Nrr1HVE^r)odn;=jY5ifA;~eO{B!jjk_#U^ULlxUR+XHG2K>KAYGt!YdG4} zaqJKz{hL2=#NFCQkFefw`1+Ne+w+lHjQ0ShbhqP}mqO3@tk+kejQ@?z z=>?(YeT1no8ZBUdWUsyCIIJDI;S_6iLtvTRk6*01g@ukLwZqgiJi z#A5+Y@nR(yEMIc5CAo`^ht5L%j2zh-8{`96wpr6jmt@DN0zJd7BpqZyyv|+Gu|5)@ znR{$&*(&r%z%=E0!dYk5r(oCNIs8sX73m+N> zWk<6oy)S-PF5mR8Nqy?KdB!FUr6%rbZ?Q#RP9dy?w`wexiT8^c58moNV8%K^YBSao z5_VB6g553T0R2vc`NQai*tI81(ulHBi?o8^61uc6CzicP4L#$h#?;i{2!HdQ)pqMl zS*yobhmIlPQ5zyVL2hq{xD~9ArsO<+m{)&!ct~SC=W7&WJaY_ldmv}U&QT`K>Z09x zfj(Ld#CO42Qc1XT)uQ_pH>V|=xrYUKKkTfqict7iectvKXT|`^t0X(EG;fE@ddVzF zV~21v!97!UBp<5mPv?Z>`D=0a%bB z$g!md1u#x2w%sE(1Vq{wKdO8mC##t$JOGur6~yynE7viv>)+(ybtlLAw{SHZ-D)}w z#5II6a1MGKfrYtVsWssYaRjLu(Sv?>Rzf|no>ZBSB007?ehI<9JpIUe{c>NWc!#sCCA31} zXSw7YVb>WMVCkot#4ZR%ya{g!DG1#F2LsNNhDp4zQF4A0s=<4KMLh~N`*?{sX6;Nb zapt^rcDwN{Noxgd&qQGAE8`=gkC{DDXY+lmJGu;T`d(dMgoK0*k5enc}FalzUC5&*@!@f%gom z4DV~c)9;PuDseh0H#!MFOORL((HrywNQdbXJetVjZQ24?DpPWeIU8SO{ zFkB0@4}o*70j9kX?ix9>&v5pCyK5U}x|g1OuU2c06q=0kscxRG_s*UvR*Vwf)?|P3 z8T!!&%@$g`*8)#?Z8op!J&?3^zB_SjXdl4SFJTHVw7pjP*6YcI0?R~Zp_U2WO6nX4 z)v-I$C}j5;Ia$LqVAkW(?&o44}6=9cs(HSs@Ck~z4(Nf@(weq z){grZ`gZB-cV}kaKt&JO%>1nSr-$em!|Fde2Ccr3V$g!(oByO_?XslAvpX`G8lIxF zDLEQLBWGcxkKv^nw-vC8V_Sux#o2OSiiMto8gVk$c>awbrKXq$d>*3V*8v^)GcR6m`Dn!}uN3U`LfuN!dwH@K92q>ESoIs9m4RH?gU%K& zOzkB6y8fV|Jf4nsr#eV_v_%s_PtkQu;GI|dEbH?CpJ^eR5|l7>p10f?y0;EJrG{5f z#XnQ~>6$U-xn;)3sb4bk)&Nm7OWUX<^7;H`h2m+zpugrFqLZ z;x=uh_{5M+$DSR7GTNp;5dkWfn-FKq6FYU6@-i1kKG(nJoW5jtJS?<={b4;RHEPoH z{fmhRZ5`~DPbi^p3-j=`X9Slic?I~*-MK6EtE0_ll?SPSL|K398`Y=-slYwI64QU z`h}A-hui+rAVoKtHT|8&5`co``%WLs!b0*)_Nf09>wz0bbd^&(YSVw{t(C4LOZ3ga zJ^Y%<9~_;EtiEEaMXdt1DQFW2Xy$y`i04J%^iL!^FjR^vU+xEPv(;DvSJ$fJZ}>t` zQ;N)WN9z~)wScAHyMHCe{nkrLZofjV^M-%t(zP4T5vQ8M-GM%|4>H#+wG=k13g;eq zR3CG0kBP|qGF1PiQD~IvsV%sTPCvgJs2CO5n3&%2yC?Cy>c|v&bfcFR+9S4XYqy`H ze<>%xyBne(rgktB&Mvm&_Yb|3VFwcX2-ASBVQVLV?z)+&I6wdif}<|=*C^2_tbtRE)Ph(4&ADPMCeR?O}pjrK6yHt z*cA8ul>aAwnQP3(X45@+eftW+g%9|z%;e5%m7!?Wl!{ZrKJd9P65)z%U4RG6v^-Iz^?Mds%;y}~02ED96^{G-1W zuYeA7JiNp`5NeoXRT)EQ(oJgr?T^^&&~YRntYAt})787%;p9iBcIns7Syu*>wU3L7 z7JkVc`rQ_l`mW&aAxv@)NhrU@@*>01*X`mRJ8MD<))Rnk47C=Bs1bgD99!?!T4?9qbKoYXQv`LM{s{DxV?II@-i3Te>P%?Xp0Nd z)8i3>j1#N79EmH&8HFJOui`L!d1pWbByu<&yY}}2K^6`YH%d7A-b`z?g0sqcG#0F%DIhngVM!Zl zmFKK9ZeF?N(k{G9+{dHRVq2V>9o@8%TBoQC0T04pWIpVE)iP>52nWomCE&0t=S7Kx zeP7^7yi^J8a2rhWU7%Si*eCl94&%GPVd8ltz0CV2w_{+T9*1DEO6Oc2!)TWktvhioqRlm?2joHWOZM<;2I)m_6 z{LT6PZY0I-vv$U+wb(L3mzJH(aAV5EOI`cR(&3VQcD=zjs>SuBFWXRAdn5yH4VhfZ z<`8d;3d>2+-gI~}Q{oN)5QQ@0{W4Eo-Ya6Y0F$<^=u_FLP)Rpd3y<2x;e3|u`Ym%v z5>Y{%Hj&<@M0Fvb$Na(R5KVzxr_n0R=6)(1E82;F6nkN;&bZR>Hga|nu`TuVxbJcH zl)lA$qT499cMPuRd^hJewQ?M=ZvXo+rX9;w()?ZrkNOH}DTyzqZMnHcr9n@aKtZ?y zUy4fNy@7`8xM<$ctc51UYl)1UEdOqKaQ}hN3?Q!%cHdrjQm8_fhb-Bz%dXf$g)yFE zJX8IEQ>3E(h#dsoabXGQQ0=L^FHXG$G)F_WOfLDE6)tchdd9w~l-Dy~ke=hV?e$ZMKfI^9eq%n$wNo1P)UXUH|O!)kt;;N54@qXVt@W=P<(4#_ZnF&n;HS@VqPaUMEC($gC><~k6hAp1a^kySj^fB z)!>-X*e3;+_m0Pwij|1V+Us~=v7DL814!SW8yjIQP|+t=k=KUw8P~xq*tybx#{vFy zp)oVjWkK0dO_zC`J)qql&9PbJK0`6QV69D}ND@y;{IFS>(5%DzO}$>2)X(x1n?qR` z3urYX{?81jloy0@3PDgk>uPnfY)9oW!%)c z%E^7~(vk7!O6WxR#lZBXhG{7REyLum6Y(7xIi$@&{)?~}r5|0beJmWe-13v$aQbkK zhwD-;%g)&u_Dc(~WEFRscnWU5^bT^)K+~Ud?8#;&mXsU(;@Jmbs`BMZD-NWgD{Yj; zwELL4ztt# z`nLS|6R`e`$#=AA`gRZGZ;5ldAW0+DZBQ1*t(R)&gByacBd$3C9Z>ZIy+FYcbyYkf z)9T|!Riy!B<4)Vgjb*!_$%oUu+;hpCD26QBMRFAzPZk+5vMkPC3z9svEHzb0uZ!mV z=BRNUYCc1lb~VS$*Rm-bt>yxkQQWR?0XpMT<){+NA;80LTzhqI;771WRx*Do$Nx=r z8s5UEvEovJ>(9jF>N*e-QH>Xg+t?$(bMiM*Xe*-skPj5BSDWuCcV^-yD6QV7YX2_E zn@yaSN8N*XLHwNW2Q^$3UW+%mJgR_Mh7XfD3!1lK+cPZkq1^6ZD1=pE<(1~fAJ468 zJ4oJtPr~0Sv-4gM*|<*Wrrq#j%)$#yiRovx$q1e-zH(DJQ|Fdd7eVXu;ss;0;FuDk z6(o;brNMYWHH@!QlLwE?4&5}mCLyFBCD*U@1Dh^9?{G>l9Pfk_#-RxGlhr1X(5c}2q5{znFC3@zZ9+q|BG$OE!?3aKV2kv$`I0x<(gyWte7)Yn6|sl^ zBPukT)R+$;Q1{9R`It8*@54FDq0@*Nk9e84jM6PatnV3HYK_e85#68Z1zYdqGO+yUV#} zIaSReW+t;HoB5`UJ1}FbV1nSdEsttPBz!340ABOj?Cx~KE@=@@ju|| z*FbWh$)KL#s~{c0R#`6ylNpKU?jsY@ALE`{WEp2}hab9J4b&N55l&WC@HbHFvVvE0 z0M38hLYQv6#u-Y-A)J~Xv3F<|AlABh^mzK6s3ISNwzliT)Ks^C`)81$WA4w|WOr;Y%o${_ZTP`> zp)+>G8PJ@5CP)IImJ3xici&TR1MiAwPJluV(d1ka793vueNEw8<;QCbCJwR@u-;YT zV!ji8d+NM%oQYogk%~rpum6M%_Q&?qZ&u2~KZ>T^Rv|mDxol2x*;HgN>n@2kKLbY5 z7CQYX3n8C?$R4jxy%kfCkypU_)6sBAMD`dl;W)K#0yVYl}DS z#z)v;_ce)CjgJaY+iD##-SMtoYDGFiB{BOHL5Y_{#>VSos%}|GqH6Z3B1bj{!85jc#$YuKmGtvz4~Fsqjsa~H%6=2YuLZYM{UgOEj z%7Iu~VY5Gq*r#Cuq8Iga7RCM%_PFMk86@{MQxz1l_JS$R+(VOmqmhKPicMr~X2aU@ zKC`?ieEMpPwzcc%(&25cqulx;N37AeXdQsXfnUi0t0=^qk9(q&PuZh|HOXvHU0S49 zb6)%4il`-LMffe+x|eKnVIpff6r7_ZO=QqYoSahhL7$ zXL`khuj-Rb_L3!qA0b)2VSz>lzlMqksx;Xv&JT@TcNm>&nQMH|9&ZlvK{B6-cBqoE zHtZl<;gqXSP4iX2$`aqDXMUi0;0W?}#oVmAFB-K#1()V+Uw`^$!DzBfqc% z(P7AR>wuONu8Yl?6Z7uRjEZfoIoD(q-dWv=yzEN5+;Qlr4Y=dOQS1NZ_vZVTjH`*q zWj#sW9(<1DjG3jL{4k{2iaC#Zw4h{Xgl9P(_zUx=zGOB%%JP3|p1OJNnJkziy``n{WF&;%h^{@syXTx*c%FTvUSlPRhk`o~V8F zTllz!%FSNlG4l5UuC|Ei%ON+mp&mv4K7P> zabw_xc^Q;B>ty+tX~w5aN$Y}?w;hta$fMnL{}|r8iai0|v^&%bRsjVojZvE}*`$1(o9lnLqiwz=Id8#wMln&7di3u*(3AXOn?H(oM1RU) zT1&SZJA8XN2#V06=WXzHed~MR~;1!#tN==XdO%YUo|d((Lsp ze47%-GK!S6kalDp$Gi##Zp<~`y5r&QOz3`-{~G?NxzawiDY%7vAPMVrb>~$WEorj_ z57TUof@EdIot)AiZ+3zGVa*E%NmIRQTMOr!my@fi2B4`qAtU6YyH9Lb-*l0AMzYZe z%+%;${3LCakF^)&g>Uozu#~VvxL5NZ%_?Q3H{seXO4q-6+1)!YpF4yX%d6kHOyS@iS4Z@blu{zX`w#)b++p_0~e&ubTTg7=Y!ri*FXi7rs_$J_x^u zK>vt})v4#T+Co289vnYuNn9VfWv*td~DjPW(>sU&TNWyZkD;*B<6Gg}B+L=AK(=FqbMK2XocWnljtwoNHE?bfc~}B1 zwcxS$3A43ZRFJI!qCLM8Hg@c)_o-F?qK>$&5yj8!w7X8p=~1S47rR=xCgorv6?Vi; z-33N!c>KdI#xK}N-NBTRcgiqz-mi21#$Is^Y^XoAP4PX=k@>>A!;CVmjrx2V@)f+r zo9V6F@x7b%UGO`-G)u4IR}UN;b5KCo(9%*c{XnOiDgG0SE(8A=SR2#CXQkh~Fn#2D z&WpsJKl~ctB6@=FDxll#ch3glq+w+Iv-0*$n6oQ`xED{)k*qzd1h z=Cif>6vwYTy+xY>ba%)kl&P9rVo$vKP;n`G^%(bTTv6$LrL|-5z;~$0=vU>zkCYas zylnQ}=j*PQR>gb-lv~U|EFM)YD#V3wgX9`gFp_~yhGjN5C33_-n2B`9ihyFy%qZL8 zkLZ=$Gz3+b|6X?>GEn*U-I}gU5xl`$S)sPypzh|J1##?7u+-)S6w8*h*(?86GJU>H z+k(bW%fPPSY66fe*};$WY`{4zZxI%<27dopv?-2ldm)0OCgx=lf~aqt z`SkG(NDxm3w3(>|9-2}63dJ&3XQp&-tWW5KOf{3{L7#$Z)~(#7e@P4XiCD^z7gbbi zm!i6G(m5={62@53=#{Rg3QpoLXq2vgn)#~j^2eO>MkYZragOe)DJcV_ejPiA;>b}e z2-71z*Ra?j_(kG@-`MVWXWEjx?wfzyD4!~?DusaR=~g>&Bjw^Vula$X^v&7~B=+~H zm{|Qo(3F{u8e)B1Tu^8>}}NS8}v0C+KJIYW7n z=r*U3hCQ2$dD#YhF@t%_+PXE<9lN5O^l0+IR_xWoICK2sbKIUw*ZKl}aL#7?8rDY% z7M`Qn=1oyGer127-rHAd?2GsL;kNd~&m=A~AERRF%&aeKus5N15y7>+jGHcT^SIbQ zBglOsGksrGa>`7R9ql)DJ~k?|KdQQKAe#ETt&may&=R~AWrGz~_Ib4F+wFC0wPKDYSiL{W&tXK~Y?uFA>gr8cc4y_)M^1N(9u zu@is_TcT{n`rDeTyU=wP7_oN)iKW4<-xdkDO_w!|(B`K323tFqd-1#BK+dugL-?VE zF#z7r=@dPm)~T?EWLw-U%CDcOJ3azj899FJmw`$Nk&fU|P7T-E`@y^3Q8K_I9TmgW zJhG3AjJcbLZfSDp*5xe|OE%utt)jYAA-@gL${vuy#JTj*#0?Mc&JyI_kBzlQXR3)8P{jjC$IX46A1=)knFn=y;`qR%> zvM48eN|sD*`xfu+|3KCM1H;J@rPWJEK-?pt@wDIDL7!k)SEKQbs!?)ZP>6rHpzH8X z*$AMiH6=oT_%_ZhQ6tY|i}C&(TjA@>+^BO)$+yP`=(ly(M%kSX1|baO`mt#{fNXMT2VuoY&#C%hoH>o8gR=KeyLk-FTq+5C_xl3otT@Y<#suiE9#HcCO%~&W>+{ z1ufbX4uJfu4%T`FuFb3=j$1STCm`BMv9T9y(Tfq;3;O>IYdE-T0BIUNb$)ZgZ>B+O zJ5x^soMF6xbF2!Y<)L!sk&BEm(ZQ{s(uE1s)u4(0qv_n^nf(8_uT&~!NjbAhr4l2_ zX*Q)&NkXW^_$oqKl*6zsNys^ha#%u?!-yPbbC%%Z&t zxIWkW^M1cx&zI{)nChzAD*>q_-(M6E;u2Rkq{m18OOjJ&P5RHiPA{Q(k*tXGWOWUb zp{oQIEAKcF7K;v4%erXx<1D{VfV1=Z^i^5;*$*CQ8TevECJsg6bZhNYVxMJr!d*Ef1~r_XbhCz_ zO{y1M5&W!;0{&Psichw}i3d6XN2-51(_y?v%aX!j17@k}iXy1Lg76d=; zPwVp}xNo*Wk=%=6|0UTK{@LYswaa#)>n8d1i|4pWCtN!mZiP6SS9~rutKatke!bG* zK4^A$b|+Lm*KXsoG2m@zq-_E$ORk;e_Q-(&Uecc^6Z$<0y*oQR(`0aTEjFGhPUOXn z0#M)R5H~Y_VZ$io`TYFviL&5d4%GT275XP2-RjYOiTU54r=O#+LrZ&J)~sraRVPB2 zGs4o#ES}bj#78TmTB`;+8424+mMVDpG@?JGG%yn{PO{2$N4FT+P4@ZDSy9x82G*dN zQ@4!E==z=|<##YaDF&O}w_jlD?0`Yr8YTAn-R5|)2C}7c1ANAa7^3S`lesC$ZyQmY zFt54f*=p&lJ{j$RcswxzYYJJBO8T1(iKw2wdG0gh*|aBeCt`1`pwr-&)sU51<~poR zMQ}y=NE8#pNb#P}!Nct4W7X+}U_qt6rz&=hu|sUr^HIX0O3{yq4Y z4d0Ez0nq?zLV^-nv_0lhh29xBht*HyDP85`B8Xa=qdR1)I`jPNI;z0Gvdq^vei9x8 zPPbn&yiq1x7Vctl0Q>I3={VGB;e>~Hs^<7iAGMf8cQqQZ7!7mWP?Q-YD&4V}|B}Ep z&k`6(J`%l$Y@C#=Gi9S~4~!VDx28z6pQ3O+;V(Vvh>`PAw8Gt=FJIN2ZbKgAncH6c z&Q9e$OTWV(U9TcqJp`x~Zwy0pa|&r@MUty992V?ZUnqEp^_hH8?~aK>?iKE$dAWOR zTmH$z)R4TO1u6W-3e0clQ%KN8GTFZVM$-KKR84%LoYGvw?l;Si32IVT1MXS{WKQo`Gy+i*+|A&E#*<(=RUR0 zh_}+z()fgaZ?@z$;A?-*8bdwGVZ~u_iElesHV@)`TdL=`)qNTjNZ%Q0Kl7>O9!bV} z+1B1_BbpQc6KL(ABu9FFP(4)bSD?;^_21q#WQz7P+=N(R{Af^4&RfpD%&?f*BbP53 zf;aU?lW_0%$90uJ(A*Fx>kkz?fy4Cp&Q;c>Vz!#}&jUk^*H&G#Bg#4gXUrnJJM(pHD!yi6;b`3ZA21@tK3L&F^miUT}FNn zzv}0Kkemm+UoAnO4xbFo(FgJbkHL?T!c*-lX9)mf0(Wxl{_%!0+fyv;16ASK)S|hz zFgbMdK~adxhB&2^m81pq+5WJ-Hck~LM-G^`Vz^6H=iw->L>Efd|2kz9G`Z6C>QN8e z>GrzhZs%uV$BsFgGL4vuu)&yB^pqc!{)u%16fw`Yy)zo{JY1c7HB#N+2+St5PuSo6 zbpHNePw0|ScV_-lS1mXu@TYYEe0acM(Yn3h7$n7C=Zquyrg6Kk16d!AFW#H4IlkDn z_H?u@$+gvD&y%n8qwqZiw0)$p#^yWdmwj3#DQah_LYsJT_moZ9p7iHqKi-({y6II{y^f0Y4=xUmG7CK=N7Ko-|iuw*>i_e=I$Ho^>OW2kxaY%(&NX`v@{vA`n`tT zHZ{=KReS(Sp*7w1ug-JP9hP|n>=LE5g;c1X(3d}Q3DLF#LU9dfq)-}jmVig5jy#pp zgq+Mp1|;+@P4myo49&>4s^m%>{_tBNZ$*4bViLP+LG*}P!*&z`Uq!uHV+)_ueAbC* zaEzGB;RPgCBuh$sE@dqRZWMlB=?cEuqOYc__0HG6{eebpm6pl@1!bjI`uLyKhwr_M z^rSiHS5L0_ooH{2IVIRDHQYn-eD@RaIHs(<<<8j!PlFcGVtG2%)LFPb*M9xbb&b1TkdZUD9=-U z`TKUG)p((xSiXGQ@7T@~wv10{yCu`xsQJ0(Z&jW8KORR%9&WYF>yOPN7UcOFse9JF zUg;f!+9#Z^uDT34BCcuv+X*%VJP{c8ZRdB_qsm93A3Ig}9JP*${;1Gj2K$qM{Aloi zP|3Ybi^Bhogr$L+sQ}R5NTXa3zR&E1$JC)&d;?He!j>@nn?3i`#EKtPeSL_L;p~lY zim^dGM%ryFPwnTwp(=i0lo!Rd`1&~w{cR#hIS0#nu<%f25r`un z`n}UOOK`mY^H;?N-l3frT@GGuZd|h-^bk8TihBGED0j6Rc{lMQk=U;6=&C&M(Rot+ zywjNz&tfbtowKTE90NN>@)<0dCmhM}`7y~juesG3Rh%=YTO|&QFe& zX+k4%PoyS*+!pG4=J~wTwnlyP2k+<>aa(5Hwe(7hKCCF``AX&an*^u)Yfq-H?5(K^ zAecmBzc{?857y21wOI)?0@)ke`M6E+j`(S!t3T5?6*pyXj^5LhbCo$@nW7NmkXLHR{WL-J>EK04j61AX> z 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�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 M~X83Bav$Vr|rRhV^&Hu?~a?2WoYbUZi%1RF$ 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

nF#9fh#=Ipr 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 z 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

$AZgv$>g*(pDf9qkf`TC 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∨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õ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

da_ZdVD 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 Iy{E4IAB;D|LjV8( From c4cb0b06de9b5c06bda78a497b71ecc8875b0b6c Mon Sep 17 00:00:00 2001 From: Jos Craw Date: Thu, 29 Jul 2021 11:18:34 +1200 Subject: [PATCH 067/712] feat: added optional disableRefesh config for OAuth2 Signed-off-by: Jos Craw --- plugins/auth-backend/src/providers/oauth2/provider.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/auth-backend/src/providers/oauth2/provider.ts b/plugins/auth-backend/src/providers/oauth2/provider.ts index f174543a63..934e0a19d8 100644 --- a/plugins/auth-backend/src/providers/oauth2/provider.ts +++ b/plugins/auth-backend/src/providers/oauth2/provider.ts @@ -177,6 +177,8 @@ export const createOAuth2Provider = ( const authorizationUrl = envConfig.getString('authorizationUrl'); const tokenUrl = envConfig.getString('tokenUrl'); const scope = envConfig.getOptionalString('scope'); + const disableRefresh = + envConfig.getOptionalBoolean('disableRefresh') ?? false; const provider = new OAuth2AuthProvider({ clientId, @@ -188,7 +190,7 @@ export const createOAuth2Provider = ( }); return OAuthAdapter.fromConfig(globalConfig, provider, { - disableRefresh: false, + disableRefresh: disableRefresh, providerId, tokenIssuer, }); From b68f2c83cfeae9fdc22b5ceeb337d865290eb77b Mon Sep 17 00:00:00 2001 From: Jos Craw Date: Thu, 29 Jul 2021 11:20:32 +1200 Subject: [PATCH 068/712] added changeset Signed-off-by: Jos Craw --- .changeset/witty-donuts-learn.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/witty-donuts-learn.md diff --git a/.changeset/witty-donuts-learn.md b/.changeset/witty-donuts-learn.md new file mode 100644 index 0000000000..d5b291ec97 --- /dev/null +++ b/.changeset/witty-donuts-learn.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-auth-backend': minor +--- + +Added the disableRefresh option to the OAuth2 config From cd0a49fd6bb19b64ec7ffae92e43b2f4ff199c96 Mon Sep 17 00:00:00 2001 From: blam Date: Thu, 29 Jul 2021 10:13:25 +0200 Subject: [PATCH 069/712] chore: tidying up a little bit ready for release Signed-off-by: blam --- .changeset/witty-donuts-learn.md | 4 ++-- plugins/auth-backend/config.d.ts | 1 + plugins/auth-backend/src/providers/oauth2/provider.ts | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.changeset/witty-donuts-learn.md b/.changeset/witty-donuts-learn.md index d5b291ec97..55bc38845f 100644 --- a/.changeset/witty-donuts-learn.md +++ b/.changeset/witty-donuts-learn.md @@ -1,5 +1,5 @@ --- -'@backstage/plugin-auth-backend': minor +'@backstage/plugin-auth-backend': patch --- -Added the disableRefresh option to the OAuth2 config +Added the `disableRefresh` option to the `OAuth2` config diff --git a/plugins/auth-backend/config.d.ts b/plugins/auth-backend/config.d.ts index ed6417850c..e3d626a9df 100644 --- a/plugins/auth-backend/config.d.ts +++ b/plugins/auth-backend/config.d.ts @@ -65,6 +65,7 @@ export interface Config { authorizationUrl: string; tokenUrl: string; scope?: string; + disableRefresh?: boolean; }; }; oidc?: { diff --git a/plugins/auth-backend/src/providers/oauth2/provider.ts b/plugins/auth-backend/src/providers/oauth2/provider.ts index 934e0a19d8..6b1f92a2d5 100644 --- a/plugins/auth-backend/src/providers/oauth2/provider.ts +++ b/plugins/auth-backend/src/providers/oauth2/provider.ts @@ -190,7 +190,7 @@ export const createOAuth2Provider = ( }); return OAuthAdapter.fromConfig(globalConfig, provider, { - disableRefresh: disableRefresh, + disableRefresh, providerId, tokenIssuer, }); From 3787e7460987d94536968db673634844ad486320 Mon Sep 17 00:00:00 2001 From: blam Date: Thu, 29 Jul 2021 10:20:26 +0200 Subject: [PATCH 070/712] chore: updating changeset, needed a create-app release in here too Signed-off-by: blam --- .changeset/tricky-trains-change.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.changeset/tricky-trains-change.md b/.changeset/tricky-trains-change.md index 391dee0eb1..d8c3263cb9 100644 --- a/.changeset/tricky-trains-change.md +++ b/.changeset/tricky-trains-change.md @@ -1,9 +1,12 @@ --- '@backstage/core-components': patch '@backstage/plugin-catalog': patch +'@backstage/create-app': patch --- -Added an EntityProcessingErrorsPanel component to show any errors that occurred when refreshing an entity from its source location. If upgrading, this should be added to EntityPage in your Backstage application: +Added an `EntityProcessingErrorsPanel` component to show any errors that occurred when refreshing an entity from its source location. + +If upgrading, this should be added to your `EntityPage` in your Backstage application: ```diff // packages/app/src/components/catalog/EntityPage.tsx @@ -24,4 +27,4 @@ const overviewContent = ( ``` -Additionally, WarningPanel now changes color based on the provided severity. +Additionally, `WarningPanel` now changes color based on the provided severity. From 32b48219ceea629a3cde5aee37510bc5e75b0a86 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 29 Jul 2021 10:32:54 +0000 Subject: [PATCH 071/712] Version Packages --- .changeset/chilly-frogs-kiss.md | 5 -- .changeset/eighty-snakes-melt.md | 5 -- .changeset/famous-pillows-love.md | 7 -- .changeset/five-dolls-complain.md | 5 -- .changeset/kind-needles-appear.md | 5 -- .changeset/lazy-apples-scream.md | 5 -- .changeset/lazy-colts-help.md | 59 --------------- .changeset/lucky-boats-rescue.md | 5 -- .changeset/pink-glasses-type.md | 5 -- .changeset/pink-plants-reflect.md | 5 -- .changeset/selfish-phones-double.md | 5 -- .changeset/slimy-elephants-sell.md | 7 -- .changeset/small-emus-sin.md | 5 -- .changeset/strong-spies-begin.md | 22 ------ .changeset/techdocs-blink-of-an-eye.md | 6 -- .changeset/techdocs-she-was-gone.md | 5 -- .changeset/techdocs-you-say-yaml.md | 7 -- .changeset/tricky-trains-change.md | 30 -------- .changeset/weak-toes-agree.md | 5 -- .changeset/witty-donuts-learn.md | 5 -- packages/app/CHANGELOG.md | 41 ++++++++++ packages/app/package.json | 74 +++++++++---------- packages/catalog-client/CHANGELOG.md | 6 ++ packages/catalog-client/package.json | 4 +- packages/cli/CHANGELOG.md | 11 +++ packages/cli/package.json | 14 ++-- packages/codemods/CHANGELOG.md | 9 +++ packages/codemods/package.json | 2 +- packages/core-app-api/CHANGELOG.md | 15 ++++ packages/core-app-api/package.json | 12 +-- packages/core-components/CHANGELOG.md | 43 +++++++++++ packages/core-components/package.json | 12 +-- packages/core-plugin-api/CHANGELOG.md | 13 ++++ packages/core-plugin-api/package.json | 10 +-- packages/create-app/CHANGELOG.md | 36 +++++++++ packages/create-app/package.json | 2 +- packages/dev-utils/CHANGELOG.md | 19 +++++ packages/dev-utils/package.json | 18 ++--- packages/integration-react/CHANGELOG.md | 15 ++++ packages/integration-react/package.json | 14 ++-- packages/techdocs-common/CHANGELOG.md | 10 +++ packages/techdocs-common/package.json | 4 +- packages/test-utils/CHANGELOG.md | 15 ++++ packages/test-utils/package.json | 10 +-- packages/theme/CHANGELOG.md | 11 +++ packages/theme/package.json | 4 +- plugins/api-docs/CHANGELOG.md | 18 +++++ plugins/api-docs/package.json | 20 ++--- plugins/auth-backend/CHANGELOG.md | 10 +++ plugins/auth-backend/package.json | 8 +- plugins/badges/CHANGELOG.md | 16 ++++ plugins/badges/package.json | 18 ++--- plugins/bitrise/CHANGELOG.md | 16 ++++ plugins/bitrise/package.json | 18 ++--- .../catalog-backend-module-ldap/CHANGELOG.md | 8 ++ .../catalog-backend-module-ldap/package.json | 8 +- plugins/catalog-backend/CHANGELOG.md | 8 ++ plugins/catalog-backend/package.json | 8 +- plugins/catalog-import/CHANGELOG.md | 18 +++++ plugins/catalog-import/package.json | 22 +++--- plugins/catalog-react/CHANGELOG.md | 40 ++++++++++ plugins/catalog-react/package.json | 16 ++-- plugins/catalog/CHANGELOG.md | 44 +++++++++++ plugins/catalog/package.json | 22 +++--- plugins/circleci/CHANGELOG.md | 16 ++++ plugins/circleci/package.json | 18 ++--- plugins/cloudbuild/CHANGELOG.md | 16 ++++ plugins/cloudbuild/package.json | 18 ++--- plugins/code-coverage/CHANGELOG.md | 16 ++++ plugins/code-coverage/package.json | 18 ++--- plugins/config-schema/CHANGELOG.md | 15 ++++ plugins/config-schema/package.json | 16 ++-- plugins/cost-insights/CHANGELOG.md | 15 ++++ plugins/cost-insights/package.json | 16 ++-- plugins/explore/CHANGELOG.md | 16 ++++ plugins/explore/package.json | 18 ++--- plugins/fossa/CHANGELOG.md | 16 ++++ plugins/fossa/package.json | 18 ++--- plugins/gcp-projects/CHANGELOG.md | 15 ++++ plugins/gcp-projects/package.json | 16 ++-- plugins/git-release-manager/CHANGELOG.md | 15 ++++ plugins/git-release-manager/package.json | 16 ++-- plugins/github-actions/CHANGELOG.md | 16 ++++ plugins/github-actions/package.json | 18 ++--- plugins/github-deployments/CHANGELOG.md | 17 +++++ plugins/github-deployments/package.json | 20 ++--- plugins/gitops-profiles/CHANGELOG.md | 15 ++++ plugins/gitops-profiles/package.json | 16 ++-- plugins/graphiql/CHANGELOG.md | 15 ++++ plugins/graphiql/package.json | 16 ++-- plugins/ilert/CHANGELOG.md | 16 ++++ plugins/ilert/package.json | 18 ++--- plugins/jenkins/CHANGELOG.md | 16 ++++ plugins/jenkins/package.json | 18 ++--- plugins/kafka/CHANGELOG.md | 16 ++++ plugins/kafka/package.json | 18 ++--- plugins/kubernetes-backend/CHANGELOG.md | 8 ++ plugins/kubernetes-backend/package.json | 6 +- plugins/kubernetes-common/CHANGELOG.md | 6 ++ plugins/kubernetes-common/package.json | 4 +- plugins/kubernetes/CHANGELOG.md | 18 +++++ plugins/kubernetes/package.json | 20 ++--- plugins/lighthouse/CHANGELOG.md | 16 ++++ plugins/lighthouse/package.json | 18 ++--- plugins/newrelic/CHANGELOG.md | 15 ++++ plugins/newrelic/package.json | 16 ++-- plugins/org/CHANGELOG.md | 16 ++++ plugins/org/package.json | 18 ++--- plugins/pagerduty/CHANGELOG.md | 16 ++++ plugins/pagerduty/package.json | 18 ++--- plugins/register-component/CHANGELOG.md | 16 ++++ plugins/register-component/package.json | 18 ++--- plugins/rollbar/CHANGELOG.md | 16 ++++ plugins/rollbar/package.json | 18 ++--- plugins/scaffolder/CHANGELOG.md | 19 +++++ plugins/scaffolder/package.json | 22 +++--- plugins/search/CHANGELOG.md | 16 ++++ plugins/search/package.json | 18 ++--- plugins/sentry/CHANGELOG.md | 16 ++++ plugins/sentry/package.json | 18 ++--- plugins/shortcuts/CHANGELOG.md | 15 ++++ plugins/shortcuts/package.json | 16 ++-- plugins/sonarqube/CHANGELOG.md | 16 ++++ plugins/sonarqube/package.json | 18 ++--- plugins/splunk-on-call/CHANGELOG.md | 16 ++++ plugins/splunk-on-call/package.json | 18 ++--- plugins/tech-radar/CHANGELOG.md | 15 ++++ plugins/tech-radar/package.json | 16 ++-- plugins/techdocs/CHANGELOG.md | 19 +++++ plugins/techdocs/package.json | 20 ++--- plugins/todo/CHANGELOG.md | 16 ++++ plugins/todo/package.json | 18 ++--- plugins/user-settings/CHANGELOG.md | 15 ++++ plugins/user-settings/package.json | 18 ++--- plugins/welcome/CHANGELOG.md | 15 ++++ plugins/welcome/package.json | 16 ++-- plugins/xcmetrics/CHANGELOG.md | 20 +++++ plugins/xcmetrics/package.json | 16 ++-- yarn.lock | 67 +++++++++++++++++ 139 files changed, 1539 insertions(+), 677 deletions(-) delete mode 100644 .changeset/chilly-frogs-kiss.md delete mode 100644 .changeset/eighty-snakes-melt.md delete mode 100644 .changeset/famous-pillows-love.md delete mode 100644 .changeset/five-dolls-complain.md delete mode 100644 .changeset/kind-needles-appear.md delete mode 100644 .changeset/lazy-apples-scream.md delete mode 100644 .changeset/lazy-colts-help.md delete mode 100644 .changeset/lucky-boats-rescue.md delete mode 100644 .changeset/pink-glasses-type.md delete mode 100644 .changeset/pink-plants-reflect.md delete mode 100644 .changeset/selfish-phones-double.md delete mode 100644 .changeset/slimy-elephants-sell.md delete mode 100644 .changeset/small-emus-sin.md delete mode 100644 .changeset/strong-spies-begin.md delete mode 100644 .changeset/techdocs-blink-of-an-eye.md delete mode 100644 .changeset/techdocs-she-was-gone.md delete mode 100644 .changeset/techdocs-you-say-yaml.md delete mode 100644 .changeset/tricky-trains-change.md delete mode 100644 .changeset/weak-toes-agree.md delete mode 100644 .changeset/witty-donuts-learn.md create mode 100644 plugins/xcmetrics/CHANGELOG.md diff --git a/.changeset/chilly-frogs-kiss.md b/.changeset/chilly-frogs-kiss.md deleted file mode 100644 index bd1c7c7f1b..0000000000 --- a/.changeset/chilly-frogs-kiss.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-backend': patch ---- - -Support filtering entities via property existence. For example you can now query with `/entities?filter=metadata.annotations.blah` to fetch all entities that has the particular property defined. diff --git a/.changeset/eighty-snakes-melt.md b/.changeset/eighty-snakes-melt.md deleted file mode 100644 index f980d1c02e..0000000000 --- a/.changeset/eighty-snakes-melt.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder': patch ---- - -chore: set the lifecycle as beta logo diff --git a/.changeset/famous-pillows-love.md b/.changeset/famous-pillows-love.md deleted file mode 100644 index 972a2b10b4..0000000000 --- a/.changeset/famous-pillows-love.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/core-components': patch -'@backstage/plugin-catalog': patch -'@backstage/plugin-catalog-react': patch ---- - -Improve accessibility of core & catalog components by adjusting them with non-breaking changes. diff --git a/.changeset/five-dolls-complain.md b/.changeset/five-dolls-complain.md deleted file mode 100644 index 1d614019a3..0000000000 --- a/.changeset/five-dolls-complain.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-react': patch ---- - -Export `CATALOG_FILTER_EXISTS` symbol diff --git a/.changeset/kind-needles-appear.md b/.changeset/kind-needles-appear.md deleted file mode 100644 index 9a8f56bf48..0000000000 --- a/.changeset/kind-needles-appear.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-backend-module-ldap': patch ---- - -chore(deps): bump `@types/ldapjs` from 1.0.10 to 2.2.0 diff --git a/.changeset/lazy-apples-scream.md b/.changeset/lazy-apples-scream.md deleted file mode 100644 index b666c3498a..0000000000 --- a/.changeset/lazy-apples-scream.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend': patch ---- - -Allow to configure SAML auth `acceptedClockSkewMs` diff --git a/.changeset/lazy-colts-help.md b/.changeset/lazy-colts-help.md deleted file mode 100644 index 202a628526..0000000000 --- a/.changeset/lazy-colts-help.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -'@backstage/cli': patch -'@backstage/core-app-api': patch -'@backstage/core-components': minor -'@backstage/core-plugin-api': patch -'@backstage/create-app': patch -'@backstage/dev-utils': patch -'@backstage/integration-react': patch -'@backstage/test-utils': patch -'@backstage/theme': patch -'@backstage/plugin-api-docs': patch -'@backstage/plugin-badges': patch -'@backstage/plugin-bitrise': patch -'@backstage/plugin-catalog': patch -'@backstage/plugin-catalog-import': patch -'@backstage/plugin-catalog-react': patch -'@backstage/plugin-circleci': patch -'@backstage/plugin-cloudbuild': patch -'@backstage/plugin-code-coverage': patch -'@backstage/plugin-config-schema': patch -'@backstage/plugin-cost-insights': patch -'@backstage/plugin-explore': patch -'@backstage/plugin-fossa': patch -'@backstage/plugin-gcp-projects': patch -'@backstage/plugin-git-release-manager': patch -'@backstage/plugin-github-actions': patch -'@backstage/plugin-github-deployments': patch -'@backstage/plugin-gitops-profiles': patch -'@backstage/plugin-graphiql': patch -'@backstage/plugin-ilert': patch -'@backstage/plugin-jenkins': patch -'@backstage/plugin-kafka': patch -'@backstage/plugin-kubernetes': patch -'@backstage/plugin-lighthouse': patch -'@backstage/plugin-newrelic': patch -'@backstage/plugin-org': patch -'@backstage/plugin-pagerduty': patch -'@backstage/plugin-register-component': patch -'@backstage/plugin-rollbar': patch -'@backstage/plugin-scaffolder': patch -'@backstage/plugin-search': patch -'@backstage/plugin-sentry': patch -'@backstage/plugin-shortcuts': patch -'@backstage/plugin-sonarqube': patch -'@backstage/plugin-splunk-on-call': patch -'@backstage/plugin-tech-radar': patch -'@backstage/plugin-techdocs': patch -'@backstage/plugin-todo': patch -'@backstage/plugin-user-settings': patch -'@backstage/plugin-welcome': patch -'@backstage/plugin-xcmetrics': patch ---- - -- Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. -- Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` -- This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. -- `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` -- `onChangePage` has been renamed to `onPageChange` -- Migration guide is here: https://material-table-core.com/docs/breaking-changes diff --git a/.changeset/lucky-boats-rescue.md b/.changeset/lucky-boats-rescue.md deleted file mode 100644 index 748f0cccb3..0000000000 --- a/.changeset/lucky-boats-rescue.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/catalog-client': patch ---- - -Support filtering entities via property existence diff --git a/.changeset/pink-glasses-type.md b/.changeset/pink-glasses-type.md deleted file mode 100644 index 45eb01987d..0000000000 --- a/.changeset/pink-glasses-type.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-api-docs': patch ---- - -Add explicit import for `isomorphic-form-data` needed for `swagger-ui-react` diff --git a/.changeset/pink-plants-reflect.md b/.changeset/pink-plants-reflect.md deleted file mode 100644 index 7b0069644b..0000000000 --- a/.changeset/pink-plants-reflect.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/create-app': patch ---- - -Update the `software-templates` to point to `main` branch instead of `master` diff --git a/.changeset/selfish-phones-double.md b/.changeset/selfish-phones-double.md deleted file mode 100644 index ad4880c983..0000000000 --- a/.changeset/selfish-phones-double.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-techdocs': patch ---- - -Optimize load times by only fetching entities with the `backstage.io/techdocs-ref` annotation diff --git a/.changeset/slimy-elephants-sell.md b/.changeset/slimy-elephants-sell.md deleted file mode 100644 index c002e8e950..0000000000 --- a/.changeset/slimy-elephants-sell.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/plugin-kubernetes-backend': patch -'@backstage/plugin-kubernetes-common': patch -'@backstage/plugin-kubernetes': patch ---- - -chore(deps): bump `@kubernetes/client-node` from 0.14.3 to 0.15.0 diff --git a/.changeset/small-emus-sin.md b/.changeset/small-emus-sin.md deleted file mode 100644 index e5683d18f9..0000000000 --- a/.changeset/small-emus-sin.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-react': patch ---- - -Fix `EntityListProvider` to not update url if unmounted diff --git a/.changeset/strong-spies-begin.md b/.changeset/strong-spies-begin.md deleted file mode 100644 index 6ec2fb58d4..0000000000 --- a/.changeset/strong-spies-begin.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -'@backstage/plugin-catalog-react': minor ---- - -Introduce the `useEntityOwnership` hook, which implements the full new ownership model. - -This also means a breaking change to the interface of `UserListFilter`. It no longer -accepts a user entity as input, but rather a function that checks ownership of an -entity. This function is taken from the above mentioned hook output. So if you are -instantiating the filter yourself, you will change from something like - -```ts -const { entity } = useOwnUser(); -const filter = new UserListFilter('owned', user, ...); -``` - -to - -```ts -const { isOwnedEntity } = useEntityOwnership(); -const filter = new UserListFilter('owned', isOwnedEntity, ...); -``` diff --git a/.changeset/techdocs-blink-of-an-eye.md b/.changeset/techdocs-blink-of-an-eye.md deleted file mode 100644 index e5bc60f0c7..0000000000 --- a/.changeset/techdocs-blink-of-an-eye.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/techdocs-common': patch ---- - -Migrated files are now printed when `techdocs-cli migrate` is run with the -`--verbose` flag set. diff --git a/.changeset/techdocs-she-was-gone.md b/.changeset/techdocs-she-was-gone.md deleted file mode 100644 index a6821abcf6..0000000000 --- a/.changeset/techdocs-she-was-gone.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-techdocs': patch ---- - -TechDocs now uses a "safe by default" sanitization library, rather than relying on its own, hard-coded list of allowable tags and attributes. diff --git a/.changeset/techdocs-you-say-yaml.md b/.changeset/techdocs-you-say-yaml.md deleted file mode 100644 index fef2ab3eb9..0000000000 --- a/.changeset/techdocs-you-say-yaml.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/techdocs-common': patch ---- - -TechDocs generator stage now supports `mkdocs.yaml` file, in addition to `.yml` -depending on whichever is present at the time of generation. (Assumes the -latest `spotify/techdocs` container, running mkdocs `v1.2.2` or greater). diff --git a/.changeset/tricky-trains-change.md b/.changeset/tricky-trains-change.md deleted file mode 100644 index d8c3263cb9..0000000000 --- a/.changeset/tricky-trains-change.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -'@backstage/core-components': patch -'@backstage/plugin-catalog': patch -'@backstage/create-app': patch ---- - -Added an `EntityProcessingErrorsPanel` component to show any errors that occurred when refreshing an entity from its source location. - -If upgrading, this should be added to your `EntityPage` in your Backstage application: - -```diff -// packages/app/src/components/catalog/EntityPage.tsx - -const overviewContent = ( -... - - - - -+ -+ -+ -+ -+ -+ -+ - -``` - -Additionally, `WarningPanel` now changes color based on the provided severity. diff --git a/.changeset/weak-toes-agree.md b/.changeset/weak-toes-agree.md deleted file mode 100644 index 8bdcf46fa2..0000000000 --- a/.changeset/weak-toes-agree.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-xcmetrics': minor ---- - -New data in form of trend lines, status timeline and other is added to the dashboard of XCMetrics to give a better understanding of how the build system is behaving. diff --git a/.changeset/witty-donuts-learn.md b/.changeset/witty-donuts-learn.md deleted file mode 100644 index 55bc38845f..0000000000 --- a/.changeset/witty-donuts-learn.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend': patch ---- - -Added the `disableRefresh` option to the `OAuth2` config diff --git a/packages/app/CHANGELOG.md b/packages/app/CHANGELOG.md index 494e7dbad2..af4e604a1b 100644 --- a/packages/app/CHANGELOG.md +++ b/packages/app/CHANGELOG.md @@ -1,5 +1,46 @@ # example-app +## 0.2.39 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder@0.10.2 + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog@0.6.9 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/cli@0.7.6 + - @backstage/core-app-api@0.1.6 + - @backstage/core-plugin-api@0.1.4 + - @backstage/integration-react@0.1.5 + - @backstage/theme@0.2.9 + - @backstage/plugin-api-docs@0.6.4 + - @backstage/plugin-badges@0.2.6 + - @backstage/plugin-catalog-import@0.5.15 + - @backstage/plugin-circleci@0.2.20 + - @backstage/plugin-cloudbuild@0.2.20 + - @backstage/plugin-code-coverage@0.1.8 + - @backstage/plugin-cost-insights@0.11.2 + - @backstage/plugin-explore@0.3.11 + - @backstage/plugin-gcp-projects@0.3.1 + - @backstage/plugin-github-actions@0.4.14 + - @backstage/plugin-graphiql@0.2.13 + - @backstage/plugin-jenkins@0.5.1 + - @backstage/plugin-kafka@0.2.12 + - @backstage/plugin-kubernetes@0.4.9 + - @backstage/plugin-lighthouse@0.2.21 + - @backstage/plugin-newrelic@0.3.1 + - @backstage/plugin-org@0.3.18 + - @backstage/plugin-pagerduty@0.3.9 + - @backstage/plugin-rollbar@0.3.10 + - @backstage/plugin-search@0.4.5 + - @backstage/plugin-sentry@0.3.16 + - @backstage/plugin-shortcuts@0.1.5 + - @backstage/plugin-tech-radar@0.4.3 + - @backstage/plugin-techdocs@0.10.2 + - @backstage/plugin-todo@0.1.6 + - @backstage/plugin-user-settings@0.3.2 + ## 0.2.37 ### Patch Changes diff --git a/packages/app/package.json b/packages/app/package.json index 4bd94adfc3..abba8492da 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -1,46 +1,46 @@ { "name": "example-app", - "version": "0.2.37", + "version": "0.2.39", "private": true, "bundled": true, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/cli": "^0.7.4", - "@backstage/core-app-api": "^0.1.3", - "@backstage/core-components": "^0.1.5", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/integration-react": "^0.1.4", - "@backstage/plugin-api-docs": "^0.6.2", - "@backstage/plugin-badges": "^0.2.5", - "@backstage/plugin-catalog": "^0.6.7", - "@backstage/plugin-catalog-import": "^0.5.13", - "@backstage/plugin-catalog-react": "^0.3.0", - "@backstage/plugin-circleci": "^0.2.19", - "@backstage/plugin-cloudbuild": "^0.2.19", - "@backstage/plugin-code-coverage": "^0.1.7", - "@backstage/plugin-cost-insights": "^0.11.0", - "@backstage/plugin-explore": "^0.3.10", - "@backstage/plugin-gcp-projects": "^0.3.0", - "@backstage/plugin-github-actions": "^0.4.13", - "@backstage/plugin-graphiql": "^0.2.12", - "@backstage/plugin-jenkins": "^0.5.0", - "@backstage/plugin-kafka": "^0.2.11", - "@backstage/plugin-kubernetes": "^0.4.8", - "@backstage/plugin-lighthouse": "^0.2.20", - "@backstage/plugin-newrelic": "^0.3.0", - "@backstage/plugin-org": "^0.3.17", - "@backstage/plugin-pagerduty": "0.3.8", - "@backstage/plugin-rollbar": "^0.3.9", - "@backstage/plugin-scaffolder": "^0.10.1", - "@backstage/plugin-search": "^0.4.3", - "@backstage/plugin-sentry": "^0.3.15", - "@backstage/plugin-shortcuts": "^0.1.4", - "@backstage/plugin-tech-radar": "^0.4.1", - "@backstage/plugin-techdocs": "^0.10.0", - "@backstage/plugin-todo": "^0.1.5", - "@backstage/plugin-user-settings": "^0.3.0", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/integration-react": "^0.1.5", + "@backstage/plugin-api-docs": "^0.6.4", + "@backstage/plugin-badges": "^0.2.6", + "@backstage/plugin-catalog": "^0.6.9", + "@backstage/plugin-catalog-import": "^0.5.15", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/plugin-circleci": "^0.2.20", + "@backstage/plugin-cloudbuild": "^0.2.20", + "@backstage/plugin-code-coverage": "^0.1.8", + "@backstage/plugin-cost-insights": "^0.11.2", + "@backstage/plugin-explore": "^0.3.11", + "@backstage/plugin-gcp-projects": "^0.3.1", + "@backstage/plugin-github-actions": "^0.4.14", + "@backstage/plugin-graphiql": "^0.2.13", + "@backstage/plugin-jenkins": "^0.5.1", + "@backstage/plugin-kafka": "^0.2.12", + "@backstage/plugin-kubernetes": "^0.4.9", + "@backstage/plugin-lighthouse": "^0.2.21", + "@backstage/plugin-newrelic": "^0.3.1", + "@backstage/plugin-org": "^0.3.18", + "@backstage/plugin-pagerduty": "0.3.9", + "@backstage/plugin-rollbar": "^0.3.10", + "@backstage/plugin-scaffolder": "^0.10.2", + "@backstage/plugin-search": "^0.4.5", + "@backstage/plugin-sentry": "^0.3.16", + "@backstage/plugin-shortcuts": "^0.1.5", + "@backstage/plugin-tech-radar": "^0.4.3", + "@backstage/plugin-techdocs": "^0.10.2", + "@backstage/plugin-todo": "^0.1.6", + "@backstage/plugin-user-settings": "^0.3.2", "@backstage/search-common": "^0.1.2", - "@backstage/theme": "^0.2.8", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -60,7 +60,7 @@ "zen-observable": "^0.8.15" }, "devDependencies": { - "@backstage/test-utils": "^0.1.14", + "@backstage/test-utils": "^0.1.16", "@testing-library/cypress": "^7.0.1", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", diff --git a/packages/catalog-client/CHANGELOG.md b/packages/catalog-client/CHANGELOG.md index d417f74f96..d04d1dc936 100644 --- a/packages/catalog-client/CHANGELOG.md +++ b/packages/catalog-client/CHANGELOG.md @@ -1,5 +1,11 @@ # @backstage/catalog-client +## 0.3.18 + +### Patch Changes + +- 11c370af2: Support filtering entities via property existence + ## 0.3.17 ### Patch Changes diff --git a/packages/catalog-client/package.json b/packages/catalog-client/package.json index a114871a6e..cdbee32305 100644 --- a/packages/catalog-client/package.json +++ b/packages/catalog-client/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/catalog-client", - "version": "0.3.17", + "version": "0.3.18", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,7 +35,7 @@ "cross-fetch": "^3.0.6" }, "devDependencies": { - "@backstage/cli": "^0.7.5", + "@backstage/cli": "^0.7.6", "@types/jest": "^26.0.7", "msw": "^0.29.0" }, diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index b2877572fe..226712d209 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/cli +## 0.7.6 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes + ## 0.7.5 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 1adaeaf725..91bb94d43b 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/cli", "description": "CLI for developing Backstage plugins and apps", - "version": "0.7.5", + "version": "0.7.6", "private": false, "publishConfig": { "access": "public" @@ -120,12 +120,12 @@ "devDependencies": { "@backstage/backend-common": "^0.8.7", "@backstage/config": "^0.1.5", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", - "@backstage/theme": "^0.2.8", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", + "@backstage/theme": "^0.2.9", "@types/diff": "^5.0.0", "@types/express": "^4.17.6", "@types/fs-extra": "^9.0.1", diff --git a/packages/codemods/CHANGELOG.md b/packages/codemods/CHANGELOG.md index 0c104d6c33..820780ced3 100644 --- a/packages/codemods/CHANGELOG.md +++ b/packages/codemods/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/codemods +## 0.1.7 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/core-app-api@0.1.6 + - @backstage/core-plugin-api@0.1.4 + ## 0.1.6 ### Patch Changes diff --git a/packages/codemods/package.json b/packages/codemods/package.json index 19c71c843c..18c621a523 100644 --- a/packages/codemods/package.json +++ b/packages/codemods/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/codemods", "description": "A collection of codemods for Backstage projects", - "version": "0.1.6", + "version": "0.1.7", "private": false, "publishConfig": { "access": "public", diff --git a/packages/core-app-api/CHANGELOG.md b/packages/core-app-api/CHANGELOG.md index 8e188a6577..904932a9b5 100644 --- a/packages/core-app-api/CHANGELOG.md +++ b/packages/core-app-api/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/core-app-api +## 0.1.6 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.1.5 ### Patch Changes diff --git a/packages/core-app-api/package.json b/packages/core-app-api/package.json index ec00580332..d49d89eab6 100644 --- a/packages/core-app-api/package.json +++ b/packages/core-app-api/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/core-app-api", "description": "Core app API used by Backstage apps", - "version": "0.1.5", + "version": "0.1.6", "private": false, "publishConfig": { "access": "public", @@ -29,10 +29,10 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-components": "^0.1.6", + "@backstage/core-components": "^0.2.0", "@backstage/config": "^0.1.3", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/theme": "^0.2.8", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@types/react": "^16.9", @@ -44,8 +44,8 @@ "zen-observable": "^0.8.15" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/test-utils": "^0.1.16", "@backstage/test-utils-core": "^0.1.1", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", diff --git a/packages/core-components/CHANGELOG.md b/packages/core-components/CHANGELOG.md index 8372b25563..a7d2715f3e 100644 --- a/packages/core-components/CHANGELOG.md +++ b/packages/core-components/CHANGELOG.md @@ -1,5 +1,48 @@ # @backstage/core-components +## 0.2.0 + +### Minor Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes + +### Patch Changes + +- 19d9995b6: Improve accessibility of core & catalog components by adjusting them with non-breaking changes. +- 224e54484: Added an `EntityProcessingErrorsPanel` component to show any errors that occurred when refreshing an entity from its source location. + + If upgrading, this should be added to your `EntityPage` in your Backstage application: + + ```diff + // packages/app/src/components/catalog/EntityPage.tsx + + const overviewContent = ( + ... + + + + + + + + + + + + + + + + + + + + ``` + + Additionally, `WarningPanel` now changes color based on the provided severity. + +- Updated dependencies + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.1.6 ### Patch Changes diff --git a/packages/core-components/package.json b/packages/core-components/package.json index 4548e1003d..d28d8a177e 100644 --- a/packages/core-components/package.json +++ b/packages/core-components/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/core-components", "description": "Core components used by Backstage plugins and apps", - "version": "0.1.6", + "version": "0.2.0", "private": false, "publishConfig": { "access": "public", @@ -30,9 +30,9 @@ }, "dependencies": { "@backstage/config": "^0.1.5", - "@backstage/core-plugin-api": "^0.1.2", + "@backstage/core-plugin-api": "^0.1.4", "@backstage/errors": "^0.1.1", - "@backstage/theme": "^0.2.8", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -70,9 +70,9 @@ "zen-observable": "^0.8.15" }, "devDependencies": { - "@backstage/core-app-api": "^0.1.5", - "@backstage/cli": "^0.7.5", - "@backstage/test-utils": "^0.1.15", + "@backstage/core-app-api": "^0.1.6", + "@backstage/cli": "^0.7.6", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/packages/core-plugin-api/CHANGELOG.md b/packages/core-plugin-api/CHANGELOG.md index 740f42708f..cd3b2a9a59 100644 --- a/packages/core-plugin-api/CHANGELOG.md +++ b/packages/core-plugin-api/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/core-plugin-api +## 0.1.4 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/theme@0.2.9 + ## 0.1.3 ### Patch Changes diff --git a/packages/core-plugin-api/package.json b/packages/core-plugin-api/package.json index e382adfeef..374c158d57 100644 --- a/packages/core-plugin-api/package.json +++ b/packages/core-plugin-api/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/core-plugin-api", "description": "Core API used by Backstage plugins", - "version": "0.1.3", + "version": "0.1.4", "private": false, "publishConfig": { "access": "public", @@ -30,7 +30,7 @@ }, "dependencies": { "@backstage/config": "^0.1.3", - "@backstage/theme": "^0.2.8", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@types/react": "^16.9", "history": "^5.0.0", @@ -41,9 +41,9 @@ "zen-observable": "^0.8.15" }, "devDependencies": { - "@backstage/cli": "^0.7.2", - "@backstage/core-app-api": "^0.1.3", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/test-utils": "^0.1.16", "@backstage/test-utils-core": "^0.1.1", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", diff --git a/packages/create-app/CHANGELOG.md b/packages/create-app/CHANGELOG.md index 1bbb66710b..ba2fbeebfc 100644 --- a/packages/create-app/CHANGELOG.md +++ b/packages/create-app/CHANGELOG.md @@ -1,5 +1,41 @@ # @backstage/create-app +## 0.3.33 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- d50c9e7c0: Update the `software-templates` to point to `main` branch instead of `master` +- 224e54484: Added an `EntityProcessingErrorsPanel` component to show any errors that occurred when refreshing an entity from its source location. + + If upgrading, this should be added to your `EntityPage` in your Backstage application: + + ```diff + // packages/app/src/components/catalog/EntityPage.tsx + + const overviewContent = ( + ... + + + + + + + + + + + + + + + + + + + + ``` + + Additionally, `WarningPanel` now changes color based on the provided severity. + ## 0.3.32 ### Patch Changes diff --git a/packages/create-app/package.json b/packages/create-app/package.json index cedcba42c7..4a5d7b18f1 100644 --- a/packages/create-app/package.json +++ b/packages/create-app/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/create-app", "description": "Create app package for Backstage", - "version": "0.3.32", + "version": "0.3.33", "private": false, "publishConfig": { "access": "public" diff --git a/packages/dev-utils/CHANGELOG.md b/packages/dev-utils/CHANGELOG.md index ea620350ef..e8fbab1d6f 100644 --- a/packages/dev-utils/CHANGELOG.md +++ b/packages/dev-utils/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/dev-utils +## 0.2.4 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-app-api@0.1.6 + - @backstage/core-plugin-api@0.1.4 + - @backstage/integration-react@0.1.5 + - @backstage/test-utils@0.1.16 + - @backstage/theme@0.2.9 + ## 0.2.3 ### Patch Changes diff --git a/packages/dev-utils/package.json b/packages/dev-utils/package.json index c8466b0aa3..b211c67f44 100644 --- a/packages/dev-utils/package.json +++ b/packages/dev-utils/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/dev-utils", "description": "Utilities for developing Backstage plugins.", - "version": "0.2.3", + "version": "0.2.4", "private": false, "publishConfig": { "access": "public", @@ -29,14 +29,14 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-app-api": "^0.1.5", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", + "@backstage/core-app-api": "^0.1.6", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", "@backstage/catalog-model": "^0.9.0", - "@backstage/integration-react": "^0.1.4", - "@backstage/plugin-catalog-react": "^0.3.1", - "@backstage/test-utils": "^0.1.15", - "@backstage/theme": "^0.2.8", + "@backstage/integration-react": "^0.1.5", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/test-utils": "^0.1.16", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@testing-library/jest-dom": "^5.10.1", @@ -50,7 +50,7 @@ "react-router-dom": "6.0.0-beta.0" }, "devDependencies": { - "@backstage/cli": "^0.7.5", + "@backstage/cli": "^0.7.6", "@types/jest": "^26.0.7", "@types/node": "^14.14.32" }, diff --git a/packages/integration-react/CHANGELOG.md b/packages/integration-react/CHANGELOG.md index 48c0260fc5..8dc9742651 100644 --- a/packages/integration-react/CHANGELOG.md +++ b/packages/integration-react/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/integration-react +## 0.1.5 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.1.4 ### Patch Changes diff --git a/packages/integration-react/package.json b/packages/integration-react/package.json index 85077778f6..e285462539 100644 --- a/packages/integration-react/package.json +++ b/packages/integration-react/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/integration-react", - "version": "0.1.4", + "version": "0.1.5", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -21,10 +21,10 @@ }, "dependencies": { "@backstage/config": "^0.1.2", - "@backstage/core-components": "^0.1.3", - "@backstage/core-plugin-api": "^0.1.3", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", "@backstage/integration": "^0.5.6", - "@backstage/theme": "^0.2.3", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -33,9 +33,9 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.2", - "@backstage/dev-utils": "^0.2.0", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/packages/techdocs-common/CHANGELOG.md b/packages/techdocs-common/CHANGELOG.md index ab5eff10e3..d548d84409 100644 --- a/packages/techdocs-common/CHANGELOG.md +++ b/packages/techdocs-common/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/techdocs-common +## 0.7.1 + +### Patch Changes + +- 59a5fa319: Migrated files are now printed when `techdocs-cli migrate` is run with the + `--verbose` flag set. +- 54356336e: TechDocs generator stage now supports `mkdocs.yaml` file, in addition to `.yml` + depending on whichever is present at the time of generation. (Assumes the + latest `spotify/techdocs` container, running mkdocs `v1.2.2` or greater). + ## 0.7.0 ### Minor Changes diff --git a/packages/techdocs-common/package.json b/packages/techdocs-common/package.json index bb81c875fd..e9cdade22f 100644 --- a/packages/techdocs-common/package.json +++ b/packages/techdocs-common/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/techdocs-common", "description": "Common functionalities for TechDocs, to be shared between techdocs-backend plugin and techdocs-cli", - "version": "0.7.0", + "version": "0.7.1", "main": "src/index.ts", "types": "src/index.ts", "private": false, @@ -60,7 +60,7 @@ "winston": "^3.2.1" }, "devDependencies": { - "@backstage/cli": "^0.7.5", + "@backstage/cli": "^0.7.6", "@types/fs-extra": "^9.0.5", "@types/git-url-parse": "^9.0.0", "@types/js-yaml": "^4.0.0", diff --git a/packages/test-utils/CHANGELOG.md b/packages/test-utils/CHANGELOG.md index 12627e55a0..a16b2a6259 100644 --- a/packages/test-utils/CHANGELOG.md +++ b/packages/test-utils/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/test-utils +## 0.1.16 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-app-api@0.1.6 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.1.15 ### Patch Changes diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json index 8624b71d89..d5c8c505e4 100644 --- a/packages/test-utils/package.json +++ b/packages/test-utils/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/test-utils", "description": "Utilities to test Backstage plugins and apps.", - "version": "0.1.15", + "version": "0.1.16", "private": false, "publishConfig": { "access": "public", @@ -29,10 +29,10 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-app-api": "^0.1.5", - "@backstage/core-plugin-api": "^0.1.3", + "@backstage/core-app-api": "^0.1.6", + "@backstage/core-plugin-api": "^0.1.4", "@backstage/test-utils-core": "^0.1.1", - "@backstage/theme": "^0.2.8", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", @@ -46,7 +46,7 @@ "zen-observable": "^0.8.15" }, "devDependencies": { - "@backstage/cli": "^0.7.5", + "@backstage/cli": "^0.7.6", "@types/jest": "^26.0.7", "@types/node": "^14.14.32" }, diff --git a/packages/theme/CHANGELOG.md b/packages/theme/CHANGELOG.md index e19e044977..8b00be65f5 100644 --- a/packages/theme/CHANGELOG.md +++ b/packages/theme/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/theme +## 0.2.9 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes + ## 0.2.8 ### Patch Changes diff --git a/packages/theme/package.json b/packages/theme/package.json index 3b34dc84b3..f041134cd5 100644 --- a/packages/theme/package.json +++ b/packages/theme/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/theme", "description": "material-ui theme for use with Backstage.", - "version": "0.2.8", + "version": "0.2.9", "private": false, "publishConfig": { "access": "public", @@ -31,7 +31,7 @@ "@material-ui/core": "^4.12.2" }, "devDependencies": { - "@backstage/cli": "^0.7.0" + "@backstage/cli": "^0.7.6" }, "files": [ "dist" diff --git a/plugins/api-docs/CHANGELOG.md b/plugins/api-docs/CHANGELOG.md index dfa9130b4d..1a12d645c4 100644 --- a/plugins/api-docs/CHANGELOG.md +++ b/plugins/api-docs/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-api-docs +## 0.6.4 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- bebc09fa8: Add explicit import for `isomorphic-form-data` needed for `swagger-ui-react` +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog@0.6.9 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.6.3 ### Patch Changes diff --git a/plugins/api-docs/package.json b/plugins/api-docs/package.json index 06297e7be0..ffa488de2f 100644 --- a/plugins/api-docs/package.json +++ b/plugins/api-docs/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-api-docs", - "version": "0.6.3", + "version": "0.6.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -31,11 +31,11 @@ "dependencies": { "@asyncapi/react-component": "^0.23.0", "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/plugin-catalog": "^0.6.8", - "@backstage/plugin-catalog-react": "^0.3.1", - "@backstage/theme": "^0.2.8", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/plugin-catalog": "^0.6.9", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/theme": "^0.2.9", "@material-icons/font": "^1.0.2", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -52,10 +52,10 @@ "swagger-ui-react": "^3.37.2" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/auth-backend/CHANGELOG.md b/plugins/auth-backend/CHANGELOG.md index 218e20cd0e..9183eac0ad 100644 --- a/plugins/auth-backend/CHANGELOG.md +++ b/plugins/auth-backend/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-auth-backend +## 0.3.19 + +### Patch Changes + +- 4edca1bd0: Allow to configure SAML auth `acceptedClockSkewMs` +- b68f2c83c: Added the `disableRefresh` option to the `OAuth2` config +- Updated dependencies + - @backstage/test-utils@0.1.16 + - @backstage/catalog-client@0.3.18 + ## 0.3.18 ### Patch Changes diff --git a/plugins/auth-backend/package.json b/plugins/auth-backend/package.json index 07097a880f..c9219ddfae 100644 --- a/plugins/auth-backend/package.json +++ b/plugins/auth-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-auth-backend", - "version": "0.3.18", + "version": "0.3.19", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -30,11 +30,11 @@ }, "dependencies": { "@backstage/backend-common": "^0.8.7", - "@backstage/catalog-client": "^0.3.17", + "@backstage/catalog-client": "^0.3.18", "@backstage/catalog-model": "^0.9.0", "@backstage/config": "^0.1.5", "@backstage/errors": "^0.1.1", - "@backstage/test-utils": "^0.1.15", + "@backstage/test-utils": "^0.1.16", "@types/express": "^4.17.6", "@types/passport": "^1.0.3", "compression": "^1.7.4", @@ -68,7 +68,7 @@ "yn": "^4.0.0" }, "devDependencies": { - "@backstage/cli": "^0.7.5", + "@backstage/cli": "^0.7.6", "@types/body-parser": "^1.19.0", "@types/cookie-parser": "^1.4.2", "@types/express-session": "^1.17.2", diff --git a/plugins/badges/CHANGELOG.md b/plugins/badges/CHANGELOG.md index c6f4b82596..db9510015a 100644 --- a/plugins/badges/CHANGELOG.md +++ b/plugins/badges/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-badges +## 0.2.6 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.2.5 ### Patch Changes diff --git a/plugins/badges/package.json b/plugins/badges/package.json index 53c3a9f639..f2ac4c748b 100644 --- a/plugins/badges/package.json +++ b/plugins/badges/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-badges", - "version": "0.2.5", + "version": "0.2.6", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -21,11 +21,11 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", "@backstage/errors": "^0.1.1", - "@backstage/plugin-catalog-react": "^0.3.0", - "@backstage/theme": "^0.2.8", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -35,10 +35,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/bitrise/CHANGELOG.md b/plugins/bitrise/CHANGELOG.md index 388f7ecd27..83db6141f3 100644 --- a/plugins/bitrise/CHANGELOG.md +++ b/plugins/bitrise/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-bitrise +## 0.1.8 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.1.7 ### Patch Changes diff --git a/plugins/bitrise/package.json b/plugins/bitrise/package.json index 45eaf94771..12d3b73d4f 100644 --- a/plugins/bitrise/package.json +++ b/plugins/bitrise/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-bitrise", - "version": "0.1.7", + "version": "0.1.8", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -21,10 +21,10 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/plugin-catalog-react": "^0.3.0", - "@backstage/theme": "^0.2.8", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -38,10 +38,10 @@ "recharts": "^1.8.5" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/catalog-backend-module-ldap/CHANGELOG.md b/plugins/catalog-backend-module-ldap/CHANGELOG.md index 8974e896ff..8c6ae136aa 100644 --- a/plugins/catalog-backend-module-ldap/CHANGELOG.md +++ b/plugins/catalog-backend-module-ldap/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-catalog-backend-module-ldap +## 0.2.2 + +### Patch Changes + +- 2a2a2749b: chore(deps): bump `@types/ldapjs` from 1.0.10 to 2.2.0 +- Updated dependencies + - @backstage/plugin-catalog-backend@0.13.1 + ## 0.2.1 ### Patch Changes diff --git a/plugins/catalog-backend-module-ldap/package.json b/plugins/catalog-backend-module-ldap/package.json index e6c8b4e801..d6b521a422 100644 --- a/plugins/catalog-backend-module-ldap/package.json +++ b/plugins/catalog-backend-module-ldap/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-backend-module-ldap", - "version": "0.2.1", + "version": "0.2.2", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -30,15 +30,15 @@ "dependencies": { "@backstage/catalog-model": "^0.9.0", "@backstage/config": "^0.1.5", - "@backstage/plugin-catalog-backend": "^0.13.0", + "@backstage/plugin-catalog-backend": "^0.13.1", "@types/ldapjs": "^2.2.0", "ldapjs": "^2.2.0", "lodash": "^4.17.15", "winston": "^3.2.1" }, "devDependencies": { - "@backstage/cli": "^0.7.4", - "@backstage/test-utils": "^0.1.13", + "@backstage/cli": "^0.7.6", + "@backstage/test-utils": "^0.1.16", "@types/lodash": "^4.14.151", "msw": "^0.29.0" }, diff --git a/plugins/catalog-backend/CHANGELOG.md b/plugins/catalog-backend/CHANGELOG.md index daa6c5a0e8..07799cfad4 100644 --- a/plugins/catalog-backend/CHANGELOG.md +++ b/plugins/catalog-backend/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-catalog-backend +## 0.13.1 + +### Patch Changes + +- 11c370af2: Support filtering entities via property existence. For example you can now query with `/entities?filter=metadata.annotations.blah` to fetch all entities that has the particular property defined. +- Updated dependencies + - @backstage/catalog-client@0.3.18 + ## 0.13.0 ### Minor Changes diff --git a/plugins/catalog-backend/package.json b/plugins/catalog-backend/package.json index 10d89c41f2..d67cd7553b 100644 --- a/plugins/catalog-backend/package.json +++ b/plugins/catalog-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-backend", - "version": "0.13.0", + "version": "0.13.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -30,7 +30,7 @@ }, "dependencies": { "@backstage/backend-common": "^0.8.6", - "@backstage/catalog-client": "^0.3.16", + "@backstage/catalog-client": "^0.3.18", "@backstage/catalog-model": "^0.9.0", "@backstage/config": "^0.1.5", "@backstage/errors": "^0.1.1", @@ -62,8 +62,8 @@ }, "devDependencies": { "@backstage/backend-test-utils": "^0.1.4", - "@backstage/cli": "^0.7.4", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.6", + "@backstage/test-utils": "^0.1.16", "@types/core-js": "^2.5.4", "@types/git-url-parse": "^9.0.0", "@types/lodash": "^4.14.151", diff --git a/plugins/catalog-import/CHANGELOG.md b/plugins/catalog-import/CHANGELOG.md index ad1a05da5e..af785b43fb 100644 --- a/plugins/catalog-import/CHANGELOG.md +++ b/plugins/catalog-import/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-catalog-import +## 0.5.15 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/integration-react@0.1.5 + - @backstage/theme@0.2.9 + - @backstage/catalog-client@0.3.18 + ## 0.5.14 ### Patch Changes diff --git a/plugins/catalog-import/package.json b/plugins/catalog-import/package.json index c9b5022116..f854bb423f 100644 --- a/plugins/catalog-import/package.json +++ b/plugins/catalog-import/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-import", - "version": "0.5.14", + "version": "0.5.15", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -30,14 +30,14 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/catalog-client": "^0.3.17", + "@backstage/catalog-client": "^0.3.18", "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", "@backstage/integration": "^0.5.8", - "@backstage/integration-react": "^0.1.4", - "@backstage/plugin-catalog-react": "^0.3.1", - "@backstage/theme": "^0.2.8", + "@backstage/integration-react": "^0.1.5", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -54,10 +54,10 @@ "yaml": "^1.10.0" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/react-hooks": "^3.3.0", diff --git a/plugins/catalog-react/CHANGELOG.md b/plugins/catalog-react/CHANGELOG.md index b0ce191ec8..90736d6c46 100644 --- a/plugins/catalog-react/CHANGELOG.md +++ b/plugins/catalog-react/CHANGELOG.md @@ -1,5 +1,45 @@ # @backstage/plugin-catalog-react +## 0.4.0 + +### Minor Changes + +- c5cb55803: Introduce the `useEntityOwnership` hook, which implements the full new ownership model. + + This also means a breaking change to the interface of `UserListFilter`. It no longer + accepts a user entity as input, but rather a function that checks ownership of an + entity. This function is taken from the above mentioned hook output. So if you are + instantiating the filter yourself, you will change from something like + + ```ts + const { entity } = useOwnUser(); + const filter = new UserListFilter('owned', user, ...); + ``` + + to + + ```ts + const { isOwnedEntity } = useEntityOwnership(); + const filter = new UserListFilter('owned', isOwnedEntity, ...); + ``` + +### Patch Changes + +- 19d9995b6: Improve accessibility of core & catalog components by adjusting them with non-breaking changes. +- 11c370af2: Export `CATALOG_FILTER_EXISTS` symbol +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- 043a4238f: Fix `EntityListProvider` to not update url if unmounted +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/core-app-api@0.1.6 + - @backstage/core-plugin-api@0.1.4 + - @backstage/catalog-client@0.3.18 + ## 0.3.1 ### Patch Changes diff --git a/plugins/catalog-react/package.json b/plugins/catalog-react/package.json index b7df4f3450..c8e6b2e604 100644 --- a/plugins/catalog-react/package.json +++ b/plugins/catalog-react/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-react", - "version": "0.3.1", + "version": "0.4.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -28,11 +28,11 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/catalog-client": "^0.3.17", + "@backstage/catalog-client": "^0.3.18", "@backstage/catalog-model": "^0.9.0", - "@backstage/core-app-api": "^0.1.5", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", + "@backstage/core-app-api": "^0.1.6", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", "@backstage/integration": "^0.5.8", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -47,9 +47,9 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/react-hooks": "^3.3.0", diff --git a/plugins/catalog/CHANGELOG.md b/plugins/catalog/CHANGELOG.md index 295c1fe15c..c3818a44e7 100644 --- a/plugins/catalog/CHANGELOG.md +++ b/plugins/catalog/CHANGELOG.md @@ -1,5 +1,49 @@ # @backstage/plugin-catalog +## 0.6.9 + +### Patch Changes + +- 19d9995b6: Improve accessibility of core & catalog components by adjusting them with non-breaking changes. +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- 224e54484: Added an `EntityProcessingErrorsPanel` component to show any errors that occurred when refreshing an entity from its source location. + + If upgrading, this should be added to your `EntityPage` in your Backstage application: + + ```diff + // packages/app/src/components/catalog/EntityPage.tsx + + const overviewContent = ( + ... + + + + + + + + + + + + + + + + + + + + ``` + + Additionally, `WarningPanel` now changes color based on the provided severity. + +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/integration-react@0.1.5 + - @backstage/theme@0.2.9 + - @backstage/catalog-client@0.3.18 + ## 0.6.8 ### Patch Changes diff --git a/plugins/catalog/package.json b/plugins/catalog/package.json index 356ad1b0ab..0935f797fc 100644 --- a/plugins/catalog/package.json +++ b/plugins/catalog/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog", - "version": "0.6.8", + "version": "0.6.9", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -30,15 +30,15 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/catalog-client": "^0.3.17", + "@backstage/catalog-client": "^0.3.18", "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", "@backstage/errors": "^0.1.1", "@backstage/integration": "^0.5.8", - "@backstage/integration-react": "^0.1.4", - "@backstage/plugin-catalog-react": "^0.3.1", - "@backstage/theme": "^0.2.8", + "@backstage/integration-react": "^0.1.5", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -54,10 +54,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/react-hooks": "^3.3.0", diff --git a/plugins/circleci/CHANGELOG.md b/plugins/circleci/CHANGELOG.md index 015bd04ca8..32c093228a 100644 --- a/plugins/circleci/CHANGELOG.md +++ b/plugins/circleci/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-circleci +## 0.2.20 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.2.19 ### Patch Changes diff --git a/plugins/circleci/package.json b/plugins/circleci/package.json index 9a9c7e9b3d..a1b43e7e40 100644 --- a/plugins/circleci/package.json +++ b/plugins/circleci/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-circleci", - "version": "0.2.19", + "version": "0.2.20", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -32,10 +32,10 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/plugin-catalog-react": "^0.3.0", - "@backstage/theme": "^0.2.8", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -50,10 +50,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/cloudbuild/CHANGELOG.md b/plugins/cloudbuild/CHANGELOG.md index d0c5a647d8..d443e4c09a 100644 --- a/plugins/cloudbuild/CHANGELOG.md +++ b/plugins/cloudbuild/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-cloudbuild +## 0.2.20 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.2.19 ### Patch Changes diff --git a/plugins/cloudbuild/package.json b/plugins/cloudbuild/package.json index aa661b7789..6f0dc1d8af 100644 --- a/plugins/cloudbuild/package.json +++ b/plugins/cloudbuild/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-cloudbuild", - "version": "0.2.19", + "version": "0.2.20", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -31,10 +31,10 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/plugin-catalog-react": "^0.3.0", - "@backstage/theme": "^0.2.8", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -48,10 +48,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/code-coverage/CHANGELOG.md b/plugins/code-coverage/CHANGELOG.md index a0b44e590f..96f3569495 100644 --- a/plugins/code-coverage/CHANGELOG.md +++ b/plugins/code-coverage/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-code-coverage +## 0.1.8 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.1.7 ### Patch Changes diff --git a/plugins/code-coverage/package.json b/plugins/code-coverage/package.json index 8405466cd1..dcbcc181e7 100644 --- a/plugins/code-coverage/package.json +++ b/plugins/code-coverage/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-code-coverage", - "version": "0.1.7", + "version": "0.1.8", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -22,11 +22,11 @@ "dependencies": { "@backstage/catalog-model": "^0.9.0", "@backstage/config": "^0.1.4", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", "@backstage/errors": "^0.1.1", - "@backstage/plugin-catalog-react": "^0.3.0", - "@backstage/theme": "^0.2.8", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -40,10 +40,10 @@ "recharts": "^1.8.5" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/config-schema/CHANGELOG.md b/plugins/config-schema/CHANGELOG.md index e594b4dbc6..f531f66122 100644 --- a/plugins/config-schema/CHANGELOG.md +++ b/plugins/config-schema/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-config-schema +## 0.1.4 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.1.3 ### Patch Changes diff --git a/plugins/config-schema/package.json b/plugins/config-schema/package.json index 46e3f8c8b6..0a8d46260d 100644 --- a/plugins/config-schema/package.json +++ b/plugins/config-schema/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-config-schema", - "version": "0.1.3", + "version": "0.1.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -21,10 +21,10 @@ }, "dependencies": { "@backstage/config": "^0.1.4", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", "@backstage/errors": "^0.1.1", - "@backstage/theme": "^0.2.8", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -35,10 +35,10 @@ "zen-observable": "^0.8.15" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/cost-insights/CHANGELOG.md b/plugins/cost-insights/CHANGELOG.md index bfecedcedc..76516fd8bf 100644 --- a/plugins/cost-insights/CHANGELOG.md +++ b/plugins/cost-insights/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-cost-insights +## 0.11.2 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.11.1 ### Patch Changes diff --git a/plugins/cost-insights/package.json b/plugins/cost-insights/package.json index f73850af38..469cc7075f 100644 --- a/plugins/cost-insights/package.json +++ b/plugins/cost-insights/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-cost-insights", - "version": "0.11.1", + "version": "0.11.2", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -31,9 +31,9 @@ }, "dependencies": { "@backstage/config": "^0.1.5", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/theme": "^0.2.8", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -54,10 +54,10 @@ "yup": "^0.29.3" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/explore/CHANGELOG.md b/plugins/explore/CHANGELOG.md index 2cb7e849d3..a6d473a6e1 100644 --- a/plugins/explore/CHANGELOG.md +++ b/plugins/explore/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-explore +## 0.3.11 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.3.10 ### Patch Changes diff --git a/plugins/explore/package.json b/plugins/explore/package.json index 0ee534cf1c..78a51dfbea 100644 --- a/plugins/explore/package.json +++ b/plugins/explore/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-explore", - "version": "0.3.10", + "version": "0.3.11", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -31,11 +31,11 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/plugin-catalog-react": "^0.3.0", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/plugin-catalog-react": "^0.4.0", "@backstage/plugin-explore-react": "^0.0.6", - "@backstage/theme": "^0.2.8", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -48,10 +48,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/fossa/CHANGELOG.md b/plugins/fossa/CHANGELOG.md index 8d7faa87f9..0ea7c3a574 100644 --- a/plugins/fossa/CHANGELOG.md +++ b/plugins/fossa/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-fossa +## 0.2.12 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.2.11 ### Patch Changes diff --git a/plugins/fossa/package.json b/plugins/fossa/package.json index d826ba12d4..f5bd84e763 100644 --- a/plugins/fossa/package.json +++ b/plugins/fossa/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-fossa", - "version": "0.2.11", + "version": "0.2.12", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -32,11 +32,11 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", "@backstage/errors": "^0.1.1", - "@backstage/plugin-catalog-react": "^0.3.0", - "@backstage/theme": "^0.2.8", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -48,10 +48,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/gcp-projects/CHANGELOG.md b/plugins/gcp-projects/CHANGELOG.md index fc99dcbe09..564453dc1e 100644 --- a/plugins/gcp-projects/CHANGELOG.md +++ b/plugins/gcp-projects/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-gcp-projects +## 0.3.1 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.3.0 ### Minor Changes diff --git a/plugins/gcp-projects/package.json b/plugins/gcp-projects/package.json index 1089c0f15b..f50f125d25 100644 --- a/plugins/gcp-projects/package.json +++ b/plugins/gcp-projects/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-gcp-projects", - "version": "0.3.0", + "version": "0.3.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -30,9 +30,9 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/theme": "^0.2.8", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -42,10 +42,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/git-release-manager/CHANGELOG.md b/plugins/git-release-manager/CHANGELOG.md index 6f2eaae984..d10213f39b 100644 --- a/plugins/git-release-manager/CHANGELOG.md +++ b/plugins/git-release-manager/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-git-release-manager +## 0.2.1 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.2.0 ### Minor Changes diff --git a/plugins/git-release-manager/package.json b/plugins/git-release-manager/package.json index 488c763e55..97c22558a9 100644 --- a/plugins/git-release-manager/package.json +++ b/plugins/git-release-manager/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-git-release-manager", - "version": "0.2.0", + "version": "0.2.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -20,10 +20,10 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", "@backstage/integration": "^0.5.6", - "@backstage/theme": "^0.2.8", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -38,10 +38,10 @@ "recharts": "^1.8.5" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react-hooks": "^3.4.2", "@testing-library/react": "^11.2.5", diff --git a/plugins/github-actions/CHANGELOG.md b/plugins/github-actions/CHANGELOG.md index 88bc9d08df..0eab743f7c 100644 --- a/plugins/github-actions/CHANGELOG.md +++ b/plugins/github-actions/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-github-actions +## 0.4.14 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.4.13 ### Patch Changes diff --git a/plugins/github-actions/package.json b/plugins/github-actions/package.json index bc96173252..df07695c35 100644 --- a/plugins/github-actions/package.json +++ b/plugins/github-actions/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-github-actions", - "version": "0.4.13", + "version": "0.4.14", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,11 +33,11 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", "@backstage/integration": "^0.5.8", - "@backstage/plugin-catalog-react": "^0.3.0", - "@backstage/theme": "^0.2.8", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -51,10 +51,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/github-deployments/CHANGELOG.md b/plugins/github-deployments/CHANGELOG.md index 524c1bd86b..68f6aa00b1 100644 --- a/plugins/github-deployments/CHANGELOG.md +++ b/plugins/github-deployments/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/plugin-github-deployments +## 0.1.12 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/integration-react@0.1.5 + - @backstage/theme@0.2.9 + ## 0.1.11 ### Patch Changes diff --git a/plugins/github-deployments/package.json b/plugins/github-deployments/package.json index a93241dc42..21f3c5ef10 100644 --- a/plugins/github-deployments/package.json +++ b/plugins/github-deployments/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-github-deployments", - "version": "0.1.11", + "version": "0.1.12", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -21,13 +21,13 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", "@backstage/errors": "^0.1.1", "@backstage/integration": "^0.5.8", - "@backstage/integration-react": "^0.1.4", - "@backstage/plugin-catalog-react": "^0.3.0", - "@backstage/theme": "^0.2.8", + "@backstage/integration-react": "^0.1.5", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -38,10 +38,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/gitops-profiles/CHANGELOG.md b/plugins/gitops-profiles/CHANGELOG.md index 83cea3c807..796d4ac6ca 100644 --- a/plugins/gitops-profiles/CHANGELOG.md +++ b/plugins/gitops-profiles/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-gitops-profiles +## 0.3.1 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.3.0 ### Minor Changes diff --git a/plugins/gitops-profiles/package.json b/plugins/gitops-profiles/package.json index 343c6ba569..b3f1fd9ad3 100644 --- a/plugins/gitops-profiles/package.json +++ b/plugins/gitops-profiles/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-gitops-profiles", - "version": "0.3.0", + "version": "0.3.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -31,9 +31,9 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/theme": "^0.2.8", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -43,10 +43,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/graphiql/CHANGELOG.md b/plugins/graphiql/CHANGELOG.md index cfbc2de00a..e5f168ac55 100644 --- a/plugins/graphiql/CHANGELOG.md +++ b/plugins/graphiql/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-graphiql +## 0.2.13 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.2.12 ### Patch Changes diff --git a/plugins/graphiql/package.json b/plugins/graphiql/package.json index 5c99b8c201..1b04c3a00b 100644 --- a/plugins/graphiql/package.json +++ b/plugins/graphiql/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-graphiql", "description": "Backstage plugin for browsing GraphQL APIs", - "version": "0.2.12", + "version": "0.2.13", "private": false, "publishConfig": { "access": "public", @@ -31,9 +31,9 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/theme": "^0.2.8", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -44,10 +44,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/ilert/CHANGELOG.md b/plugins/ilert/CHANGELOG.md index b7eef7ed31..331e6db713 100644 --- a/plugins/ilert/CHANGELOG.md +++ b/plugins/ilert/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-ilert +## 0.1.7 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.1.6 ### Patch Changes diff --git a/plugins/ilert/package.json b/plugins/ilert/package.json index d74d8dc107..0ecbc15d35 100644 --- a/plugins/ilert/package.json +++ b/plugins/ilert/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-ilert", - "version": "0.1.6", + "version": "0.1.7", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -21,11 +21,11 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", "@backstage/errors": "^0.1.1", - "@backstage/plugin-catalog-react": "^0.3.0", - "@backstage/theme": "^0.2.8", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/theme": "^0.2.9", "@date-io/luxon": "2.x", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -38,10 +38,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/jenkins/CHANGELOG.md b/plugins/jenkins/CHANGELOG.md index db61a470f7..36c79236c1 100644 --- a/plugins/jenkins/CHANGELOG.md +++ b/plugins/jenkins/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-jenkins +## 0.5.1 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.5.0 ### Minor Changes diff --git a/plugins/jenkins/package.json b/plugins/jenkins/package.json index 69555e3f01..9560d8d5e6 100644 --- a/plugins/jenkins/package.json +++ b/plugins/jenkins/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-jenkins", - "version": "0.5.0", + "version": "0.5.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -32,10 +32,10 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/plugin-catalog-react": "^0.3.0", - "@backstage/theme": "^0.2.8", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -47,10 +47,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/kafka/CHANGELOG.md b/plugins/kafka/CHANGELOG.md index e81a64ef58..348b6768f1 100644 --- a/plugins/kafka/CHANGELOG.md +++ b/plugins/kafka/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-kafka +## 0.2.12 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.2.11 ### Patch Changes diff --git a/plugins/kafka/package.json b/plugins/kafka/package.json index 6b12cd2421..860d17434a 100644 --- a/plugins/kafka/package.json +++ b/plugins/kafka/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-kafka", - "version": "0.2.11", + "version": "0.2.12", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -21,10 +21,10 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/plugin-catalog-react": "^0.3.0", - "@backstage/theme": "^0.2.8", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -34,10 +34,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/react-hooks": "^3.4.2", diff --git a/plugins/kubernetes-backend/CHANGELOG.md b/plugins/kubernetes-backend/CHANGELOG.md index b5870c43e3..4ac6103d94 100644 --- a/plugins/kubernetes-backend/CHANGELOG.md +++ b/plugins/kubernetes-backend/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-kubernetes-backend +## 0.3.12 + +### Patch Changes + +- 7f24f4088: chore(deps): bump `@kubernetes/client-node` from 0.14.3 to 0.15.0 +- Updated dependencies + - @backstage/plugin-kubernetes-common@0.1.3 + ## 0.3.11 ### Patch Changes diff --git a/plugins/kubernetes-backend/package.json b/plugins/kubernetes-backend/package.json index 1467dba9d6..e7c4f2606c 100644 --- a/plugins/kubernetes-backend/package.json +++ b/plugins/kubernetes-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-kubernetes-backend", - "version": "0.3.11", + "version": "0.3.12", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -34,7 +34,7 @@ "@backstage/backend-common": "^0.8.7", "@backstage/catalog-model": "^0.9.0", "@backstage/config": "^0.1.5", - "@backstage/plugin-kubernetes-common": "^0.1.2", + "@backstage/plugin-kubernetes-common": "^0.1.3", "@google-cloud/container": "^2.2.0", "@kubernetes/client-node": "^0.15.0", "@types/express": "^4.17.6", @@ -53,7 +53,7 @@ "yn": "^4.0.0" }, "devDependencies": { - "@backstage/cli": "^0.7.5", + "@backstage/cli": "^0.7.6", "@types/aws4": "^1.5.1", "supertest": "^6.1.3", "aws-sdk-mock": "^5.2.1", diff --git a/plugins/kubernetes-common/CHANGELOG.md b/plugins/kubernetes-common/CHANGELOG.md index 3f6c1ea7db..49a312fa46 100644 --- a/plugins/kubernetes-common/CHANGELOG.md +++ b/plugins/kubernetes-common/CHANGELOG.md @@ -1,5 +1,11 @@ # @backstage/plugin-kubernetes-common +## 0.1.3 + +### Patch Changes + +- 7f24f4088: chore(deps): bump `@kubernetes/client-node` from 0.14.3 to 0.15.0 + ## 0.1.2 ### Patch Changes diff --git a/plugins/kubernetes-common/package.json b/plugins/kubernetes-common/package.json index 5321c48e73..445ba3f7d9 100644 --- a/plugins/kubernetes-common/package.json +++ b/plugins/kubernetes-common/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-kubernetes-common", "description": "Common functionalities for kubernetes, to be shared between kubernetes and kubernetes-backend plugin", - "version": "0.1.2", + "version": "0.1.3", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -39,7 +39,7 @@ "@kubernetes/client-node": "^0.15.0" }, "devDependencies": { - "@backstage/cli": "^0.7.0" + "@backstage/cli": "^0.7.6" }, "jest": { "roots": [ diff --git a/plugins/kubernetes/CHANGELOG.md b/plugins/kubernetes/CHANGELOG.md index a370dd9af5..35de89edf9 100644 --- a/plugins/kubernetes/CHANGELOG.md +++ b/plugins/kubernetes/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-kubernetes +## 0.4.9 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- 7f24f4088: chore(deps): bump `@kubernetes/client-node` from 0.14.3 to 0.15.0 +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + - @backstage/plugin-kubernetes-common@0.1.3 + ## 0.4.8 ### Patch Changes diff --git a/plugins/kubernetes/package.json b/plugins/kubernetes/package.json index a4ea3a7522..3a53806e86 100644 --- a/plugins/kubernetes/package.json +++ b/plugins/kubernetes/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-kubernetes", - "version": "0.4.8", + "version": "0.4.9", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -32,11 +32,11 @@ "dependencies": { "@backstage/catalog-model": "^0.9.0", "@backstage/config": "^0.1.5", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/plugin-catalog-react": "^0.3.0", - "@backstage/plugin-kubernetes-common": "^0.1.2", - "@backstage/theme": "^0.2.8", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/plugin-kubernetes-common": "^0.1.3", + "@backstage/theme": "^0.2.9", "@kubernetes/client-node": "^0.15.0", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -50,10 +50,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/react-hooks": "^3.4.2", diff --git a/plugins/lighthouse/CHANGELOG.md b/plugins/lighthouse/CHANGELOG.md index ea2d2efac5..a1753f3cdc 100644 --- a/plugins/lighthouse/CHANGELOG.md +++ b/plugins/lighthouse/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-lighthouse +## 0.2.21 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.2.20 ### Patch Changes diff --git a/plugins/lighthouse/package.json b/plugins/lighthouse/package.json index a0fd092134..47d816b857 100644 --- a/plugins/lighthouse/package.json +++ b/plugins/lighthouse/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-lighthouse", - "version": "0.2.20", + "version": "0.2.21", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,10 +33,10 @@ "dependencies": { "@backstage/catalog-model": "^0.9.0", "@backstage/config": "^0.1.4", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/plugin-catalog-react": "^0.3.0", - "@backstage/theme": "^0.2.8", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -47,10 +47,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/newrelic/CHANGELOG.md b/plugins/newrelic/CHANGELOG.md index 9f5d70354a..cc50042740 100644 --- a/plugins/newrelic/CHANGELOG.md +++ b/plugins/newrelic/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-newrelic +## 0.3.1 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.3.0 ### Minor Changes diff --git a/plugins/newrelic/package.json b/plugins/newrelic/package.json index 7fa4c558dc..93e495b515 100644 --- a/plugins/newrelic/package.json +++ b/plugins/newrelic/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-newrelic", - "version": "0.3.0", + "version": "0.3.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -31,9 +31,9 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/theme": "^0.2.8", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -42,10 +42,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/org/CHANGELOG.md b/plugins/org/CHANGELOG.md index ecf570b6b8..f2fdb0a8db 100644 --- a/plugins/org/CHANGELOG.md +++ b/plugins/org/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-org +## 0.3.18 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.3.17 ### Patch Changes diff --git a/plugins/org/package.json b/plugins/org/package.json index 2cd0a8a072..14f655d04a 100644 --- a/plugins/org/package.json +++ b/plugins/org/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-org", - "version": "0.3.17", + "version": "0.3.18", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -21,10 +21,10 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/plugin-catalog-react": "^0.3.0", - "@backstage/theme": "^0.2.8", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -35,10 +35,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/pagerduty/CHANGELOG.md b/plugins/pagerduty/CHANGELOG.md index a83afa09f3..ae34b483ce 100644 --- a/plugins/pagerduty/CHANGELOG.md +++ b/plugins/pagerduty/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-pagerduty +## 0.3.9 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.3.8 ### Patch Changes diff --git a/plugins/pagerduty/package.json b/plugins/pagerduty/package.json index ba21218150..b5dccba914 100644 --- a/plugins/pagerduty/package.json +++ b/plugins/pagerduty/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-pagerduty", - "version": "0.3.8", + "version": "0.3.9", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -31,10 +31,10 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/plugin-catalog-react": "^0.3.0", - "@backstage/theme": "^0.2.8", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -47,10 +47,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/register-component/CHANGELOG.md b/plugins/register-component/CHANGELOG.md index 083f45c321..950ca6fa8f 100644 --- a/plugins/register-component/CHANGELOG.md +++ b/plugins/register-component/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-register-component +## 0.2.21 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.2.20 ### Patch Changes diff --git a/plugins/register-component/package.json b/plugins/register-component/package.json index 1fb1e483c6..ba97f8111b 100644 --- a/plugins/register-component/package.json +++ b/plugins/register-component/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-register-component", - "version": "0.2.20", + "version": "0.2.21", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -31,10 +31,10 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/plugin-catalog-react": "^0.3.0", - "@backstage/theme": "^0.2.8", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -46,10 +46,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/rollbar/CHANGELOG.md b/plugins/rollbar/CHANGELOG.md index 5d04f96d6e..d2d1696d8d 100644 --- a/plugins/rollbar/CHANGELOG.md +++ b/plugins/rollbar/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-rollbar +## 0.3.10 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.3.9 ### Patch Changes diff --git a/plugins/rollbar/package.json b/plugins/rollbar/package.json index 85ba3f8e21..26d4194795 100644 --- a/plugins/rollbar/package.json +++ b/plugins/rollbar/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-rollbar", - "version": "0.3.9", + "version": "0.3.10", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -32,10 +32,10 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/plugin-catalog-react": "^0.3.0", - "@backstage/theme": "^0.2.8", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -48,10 +48,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/react-hooks": "^3.3.0", diff --git a/plugins/scaffolder/CHANGELOG.md b/plugins/scaffolder/CHANGELOG.md index 3e80dc993e..a5a3d4a75c 100644 --- a/plugins/scaffolder/CHANGELOG.md +++ b/plugins/scaffolder/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/plugin-scaffolder +## 0.10.2 + +### Patch Changes + +- 0d5d0e2e6: chore: set the lifecycle as beta logo +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/integration-react@0.1.5 + - @backstage/theme@0.2.9 + - @backstage/catalog-client@0.3.18 + ## 0.10.1 ### Patch Changes diff --git a/plugins/scaffolder/package.json b/plugins/scaffolder/package.json index 4bcfc05353..f31be76803 100644 --- a/plugins/scaffolder/package.json +++ b/plugins/scaffolder/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder", - "version": "0.10.1", + "version": "0.10.2", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -30,16 +30,16 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/catalog-client": "^0.3.16", + "@backstage/catalog-client": "^0.3.18", "@backstage/catalog-model": "^0.9.0", "@backstage/config": "^0.1.5", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", "@backstage/errors": "^0.1.1", "@backstage/integration": "^0.5.8", - "@backstage/integration-react": "^0.1.4", - "@backstage/plugin-catalog-react": "^0.3.0", - "@backstage/theme": "^0.2.8", + "@backstage/integration-react": "^0.1.5", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -63,10 +63,10 @@ "zen-observable": "^0.8.15" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/react-hooks": "^3.3.0", diff --git a/plugins/search/CHANGELOG.md b/plugins/search/CHANGELOG.md index 0e19f854bd..2cdb82209f 100644 --- a/plugins/search/CHANGELOG.md +++ b/plugins/search/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-search +## 0.4.5 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.4.4 ### Patch Changes diff --git a/plugins/search/package.json b/plugins/search/package.json index 982a26bdd2..564e62a6ba 100644 --- a/plugins/search/package.json +++ b/plugins/search/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-search", - "version": "0.4.4", + "version": "0.4.5", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -31,12 +31,12 @@ "dependencies": { "@backstage/catalog-model": "^0.9.0", "@backstage/config": "^0.1.5", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", "@backstage/errors": "^0.1.1", - "@backstage/plugin-catalog-react": "^0.3.1", + "@backstage/plugin-catalog-react": "^0.4.0", "@backstage/search-common": "^0.1.2", - "@backstage/theme": "^0.2.8", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -49,10 +49,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/react-hooks": "^3.4.2", diff --git a/plugins/sentry/CHANGELOG.md b/plugins/sentry/CHANGELOG.md index d341c1803e..47d483fbf1 100644 --- a/plugins/sentry/CHANGELOG.md +++ b/plugins/sentry/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-sentry +## 0.3.16 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.3.15 ### Patch Changes diff --git a/plugins/sentry/package.json b/plugins/sentry/package.json index 94fcd0d300..648f930fb5 100644 --- a/plugins/sentry/package.json +++ b/plugins/sentry/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-sentry", - "version": "0.3.15", + "version": "0.3.16", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -32,10 +32,10 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/plugin-catalog-react": "^0.3.0", - "@backstage/theme": "^0.2.8", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -47,10 +47,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/shortcuts/CHANGELOG.md b/plugins/shortcuts/CHANGELOG.md index 77748cd722..8a75c784a5 100644 --- a/plugins/shortcuts/CHANGELOG.md +++ b/plugins/shortcuts/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-shortcuts +## 0.1.5 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.1.4 ### Patch Changes diff --git a/plugins/shortcuts/package.json b/plugins/shortcuts/package.json index 21cfed0354..bb0fe74778 100644 --- a/plugins/shortcuts/package.json +++ b/plugins/shortcuts/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-shortcuts", - "version": "0.1.4", + "version": "0.1.5", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -20,9 +20,9 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/theme": "^0.2.8", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -36,10 +36,10 @@ "zen-observable": "^0.8.15" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/sonarqube/CHANGELOG.md b/plugins/sonarqube/CHANGELOG.md index 0da72704da..4976ef10e0 100644 --- a/plugins/sonarqube/CHANGELOG.md +++ b/plugins/sonarqube/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-sonarqube +## 0.1.23 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.1.22 ### Patch Changes diff --git a/plugins/sonarqube/package.json b/plugins/sonarqube/package.json index 186cb4dd0a..2be9537d6c 100644 --- a/plugins/sonarqube/package.json +++ b/plugins/sonarqube/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-sonarqube", - "version": "0.1.22", + "version": "0.1.23", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,10 +33,10 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/plugin-catalog-react": "^0.3.0", - "@backstage/theme": "^0.2.8", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -48,10 +48,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/splunk-on-call/CHANGELOG.md b/plugins/splunk-on-call/CHANGELOG.md index 083d5b5749..ae7696a301 100644 --- a/plugins/splunk-on-call/CHANGELOG.md +++ b/plugins/splunk-on-call/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-splunk-on-call +## 0.3.6 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.3.5 ### Patch Changes diff --git a/plugins/splunk-on-call/package.json b/plugins/splunk-on-call/package.json index feba99c516..93e05b532d 100644 --- a/plugins/splunk-on-call/package.json +++ b/plugins/splunk-on-call/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-splunk-on-call", - "version": "0.3.5", + "version": "0.3.6", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -31,10 +31,10 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/plugin-catalog-react": "^0.3.0", - "@backstage/theme": "^0.2.8", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -46,10 +46,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/tech-radar/CHANGELOG.md b/plugins/tech-radar/CHANGELOG.md index 20602282c6..120684eb53 100644 --- a/plugins/tech-radar/CHANGELOG.md +++ b/plugins/tech-radar/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-tech-radar +## 0.4.3 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.4.2 ### Patch Changes diff --git a/plugins/tech-radar/package.json b/plugins/tech-radar/package.json index ce467581e5..611c475e64 100644 --- a/plugins/tech-radar/package.json +++ b/plugins/tech-radar/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-tech-radar", - "version": "0.4.2", + "version": "0.4.3", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -30,9 +30,9 @@ "start": "backstage-cli plugin:serve" }, "dependencies": { - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/theme": "^0.2.8", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -44,10 +44,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/techdocs/CHANGELOG.md b/plugins/techdocs/CHANGELOG.md index 89c0ee04fd..132526ce66 100644 --- a/plugins/techdocs/CHANGELOG.md +++ b/plugins/techdocs/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/plugin-techdocs +## 0.10.2 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- 11c370af2: Optimize load times by only fetching entities with the `backstage.io/techdocs-ref` annotation +- 2b1ac002d: TechDocs now uses a "safe by default" sanitization library, rather than relying on its own, hard-coded list of allowable tags and attributes. +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/integration-react@0.1.5 + - @backstage/theme@0.2.9 + ## 0.10.1 ### Patch Changes diff --git a/plugins/techdocs/package.json b/plugins/techdocs/package.json index ce01652c09..be6cd4c344 100644 --- a/plugins/techdocs/package.json +++ b/plugins/techdocs/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-techdocs", - "version": "0.10.1", + "version": "0.10.2", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,13 +33,13 @@ "dependencies": { "@backstage/catalog-model": "^0.9.0", "@backstage/config": "^0.1.5", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", "@backstage/errors": "^0.1.1", "@backstage/integration": "^0.5.8", - "@backstage/integration-react": "^0.1.4", - "@backstage/plugin-catalog-react": "^0.3.1", - "@backstage/theme": "^0.2.8", + "@backstage/integration-react": "^0.1.5", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -55,10 +55,10 @@ "react-text-truncate": "^0.16.0" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/react-hooks": "^3.4.2", diff --git a/plugins/todo/CHANGELOG.md b/plugins/todo/CHANGELOG.md index ef5ad352f4..3e2284fd57 100644 --- a/plugins/todo/CHANGELOG.md +++ b/plugins/todo/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-todo +## 0.1.6 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/plugin-catalog-react@0.4.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.1.5 ### Patch Changes diff --git a/plugins/todo/package.json b/plugins/todo/package.json index a3850c4da5..90c61c1b6c 100644 --- a/plugins/todo/package.json +++ b/plugins/todo/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-todo", - "version": "0.1.5", + "version": "0.1.6", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -27,11 +27,11 @@ }, "dependencies": { "@backstage/catalog-model": "^0.9.0", - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", "@backstage/errors": "^0.1.1", - "@backstage/plugin-catalog-react": "^0.3.0", - "@backstage/theme": "^0.2.8", + "@backstage/plugin-catalog-react": "^0.4.0", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -40,10 +40,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/user-settings/CHANGELOG.md b/plugins/user-settings/CHANGELOG.md index 94324eed10..38ecbe227b 100644 --- a/plugins/user-settings/CHANGELOG.md +++ b/plugins/user-settings/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-user-settings +## 0.3.2 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.3.1 ### Patch Changes diff --git a/plugins/user-settings/package.json b/plugins/user-settings/package.json index 7ebb1b120f..52a4698993 100644 --- a/plugins/user-settings/package.json +++ b/plugins/user-settings/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-user-settings", - "version": "0.3.1", + "version": "0.3.2", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -30,9 +30,9 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/theme": "^0.2.8", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -42,11 +42,11 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/welcome/CHANGELOG.md b/plugins/welcome/CHANGELOG.md index 25420009d9..600a5b1141 100644 --- a/plugins/welcome/CHANGELOG.md +++ b/plugins/welcome/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-welcome +## 0.3.1 + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 + ## 0.3.0 ### Minor Changes diff --git a/plugins/welcome/package.json b/plugins/welcome/package.json index afec6a65c0..40bd774459 100644 --- a/plugins/welcome/package.json +++ b/plugins/welcome/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-welcome", - "version": "0.3.0", + "version": "0.3.1", "main": "src/index.ts", "types": "src/index.ts", "private": false, @@ -30,9 +30,9 @@ "start": "backstage-cli plugin:serve" }, "dependencies": { - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/theme": "^0.2.8", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -42,10 +42,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/plugins/xcmetrics/CHANGELOG.md b/plugins/xcmetrics/CHANGELOG.md new file mode 100644 index 0000000000..e3fc7ae3d1 --- /dev/null +++ b/plugins/xcmetrics/CHANGELOG.md @@ -0,0 +1,20 @@ +# @backstage/plugin-xcmetrics + +## 0.2.0 + +### Minor Changes + +- 616e10e94: New data in form of trend lines, status timeline and other is added to the dashboard of XCMetrics to give a better understanding of how the build system is behaving. + +### Patch Changes + +- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`. + - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core` + - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components. + - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange` + - `onChangePage` has been renamed to `onPageChange` + - Migration guide is here: https://material-table-core.com/docs/breaking-changes +- Updated dependencies + - @backstage/core-components@0.2.0 + - @backstage/core-plugin-api@0.1.4 + - @backstage/theme@0.2.9 diff --git a/plugins/xcmetrics/package.json b/plugins/xcmetrics/package.json index 5b1fe61e10..ed74b0dfa6 100644 --- a/plugins/xcmetrics/package.json +++ b/plugins/xcmetrics/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-xcmetrics", - "version": "0.1.1", + "version": "0.2.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -20,10 +20,10 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-components": "^0.1.6", - "@backstage/core-plugin-api": "^0.1.3", + "@backstage/core-components": "^0.2.0", + "@backstage/core-plugin-api": "^0.1.4", "@backstage/errors": "^0.1.1", - "@backstage/theme": "^0.2.8", + "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", @@ -33,10 +33,10 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.5", - "@backstage/core-app-api": "^0.1.5", - "@backstage/dev-utils": "^0.2.3", - "@backstage/test-utils": "^0.1.15", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", diff --git a/yarn.lock b/yarn.lock index d0dfbe3c0f..e5d2ebabfe 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1414,6 +1414,51 @@ react-use "^17.2.4" zen-observable "^0.8.15" +"@backstage/core-components@^0.1.3", "@backstage/core-components@^0.1.6": + version "0.1.6" + resolved "https://registry.npmjs.org/@backstage/core-components/-/core-components-0.1.6.tgz#a66d9af3be61e76ed60d1026dec376b2d97e0a8e" + integrity sha512-SdBORocyrMa38B2Y3F4Ju45UUm42hLSums+CV4LlHVHKuINGbZg7JZ/WI7tDGks27MXgtU7mLlMlV7tJMeJgKA== + dependencies: + "@backstage/config" "^0.1.5" + "@backstage/core-plugin-api" "^0.1.2" + "@backstage/errors" "^0.1.1" + "@backstage/theme" "^0.2.8" + "@material-ui/core" "^4.11.0" + "@material-ui/icons" "^4.9.1" + "@material-ui/lab" "4.0.0-alpha.45" + "@testing-library/react-hooks" "^3.4.2" + "@types/dagre" "^0.7.44" + "@types/prop-types" "^15.7.3" + "@types/react" "^16.9" + "@types/react-sparklines" "^1.7.0" + "@types/react-text-truncate" "^0.14.0" + classnames "^2.2.6" + clsx "^1.1.0" + d3-selection "^2.0.0" + d3-shape "^2.0.0" + d3-zoom "^2.0.0" + dagre "^0.8.5" + immer "^9.0.1" + lodash "^4.17.15" + material-table "^1.69.1" + pluralize "^8.0.0" + prop-types "^15.7.2" + qs "^6.9.4" + rc-progress "^3.0.0" + react "^16.12.0" + react-dom "^16.12.0" + react-helmet "6.1.0" + react-hook-form "^6.15.4" + react-markdown "^5.0.2" + react-router "6.0.0-beta.0" + react-router-dom "6.0.0-beta.0" + react-sparklines "^1.7.0" + react-syntax-highlighter "^15.4.3" + react-text-truncate "^0.16.0" + react-use "^17.2.4" + remark-gfm "^1.0.0" + zen-observable "^0.8.15" + "@backstage/core@*": version "0.7.14" resolved "https://registry.npmjs.org/@backstage/core/-/core-0.7.14.tgz#863844fe40bb6a29bcc2d297e42055633b0e886f" @@ -1460,6 +1505,28 @@ remark-gfm "^1.0.0" zen-observable "^0.8.15" +"@backstage/plugin-catalog-react@^0.3.0": + version "0.3.1" + resolved "https://registry.npmjs.org/@backstage/plugin-catalog-react/-/plugin-catalog-react-0.3.1.tgz#d30a063a4ceb4d446310a687d19c987f55824fdb" + integrity sha512-vKNTW3K6cp/G6f/pjcUe8895s3Z13MnXX6aCkOBcxfLnTJ8eNAJj092rbpkCn33YlCARsHrXUqgVJSqB4AnwtA== + dependencies: + "@backstage/catalog-client" "^0.3.17" + "@backstage/catalog-model" "^0.9.0" + "@backstage/core-app-api" "^0.1.5" + "@backstage/core-components" "^0.1.6" + "@backstage/core-plugin-api" "^0.1.3" + "@backstage/integration" "^0.5.8" + "@material-ui/core" "^4.11.0" + "@material-ui/icons" "^4.9.1" + "@material-ui/lab" "4.0.0-alpha.45" + "@types/react" "^16.9" + lodash "^4.17.15" + qs "^6.9.4" + react "^16.13.1" + react-router "6.0.0-beta.0" + react-router-dom "6.0.0-beta.0" + react-use "^17.2.4" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" From 1401985eb1a64e3b3bf072cf81f6b89c12e6bc93 Mon Sep 17 00:00:00 2001 From: Mike Lewis Date: Thu, 29 Jul 2021 10:14:51 +0100 Subject: [PATCH 072/712] Update version of ws in yarn.lock to fix Snyk error Signed-off-by: Mike Lewis --- yarn.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/yarn.lock b/yarn.lock index d0dfbe3c0f..661daf4126 100644 --- a/yarn.lock +++ b/yarn.lock @@ -26572,9 +26572,9 @@ ws@7.4.5: integrity sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g== ws@^5.2.0: - version "5.2.2" - resolved "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" - integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== + version "5.2.3" + resolved "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz#05541053414921bc29c63bee14b8b0dd50b07b3d" + integrity sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA== dependencies: async-limiter "~1.0.0" @@ -26584,9 +26584,9 @@ ws@^5.2.0: integrity sha512-6ezXvzOZupqKj4jUqbQ9tXuJNo+BR2gU8fFRk3XCP3e0G6WT414u5ELe6Y0vtp7kmSJ3F7YWObSNr1ESsgi4vw== ws@^6.1.2, ws@^6.2.1: - version "6.2.1" - resolved "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" - integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== + version "6.2.2" + resolved "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" + integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== dependencies: async-limiter "~1.0.0" From b1369cfa93f749dc00d8dd91af720f060c1001d1 Mon Sep 17 00:00:00 2001 From: Mike Lewis Date: Thu, 29 Jul 2021 12:08:30 +0100 Subject: [PATCH 073/712] Use resolution to force ws@7.4.6 inside url-loader Fixes Snyk warning by avoiding v7.4.5 of ws. https://snyk.io/vuln/SNYK-JS-WS-1296835 Signed-off-by: Mike Lewis --- package.json | 1 + yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 93517d3374..04177f798e 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,7 @@ ] }, "resolutions": { + "**/@graphql-tools/url-loader/**/ws": "^7.4.6", "**/@roadiehq/**/@backstage/core": "*", "**/@roadiehq/**/@backstage/plugin-catalog": "*", "**/@roadiehq/**/@backstage/catalog-model": "*", diff --git a/yarn.lock b/yarn.lock index 661daf4126..981907d84d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -26566,10 +26566,10 @@ write-pkg@^4.0.0: type-fest "^0.4.1" write-json-file "^3.2.0" -ws@7.4.5: - version "7.4.5" - resolved "https://registry.npmjs.org/ws/-/ws-7.4.5.tgz#a484dd851e9beb6fdb420027e3885e8ce48986c1" - integrity sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g== +ws@7.4.5, ws@^7.4.6: + version "7.5.3" + resolved "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz#160835b63c7d97bfab418fc1b8a9fced2ac01a74" + integrity sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg== ws@^5.2.0: version "5.2.3" From 6fa92ba6910da4cf751991d11591080e835b079d Mon Sep 17 00:00:00 2001 From: Mike Lewis Date: Thu, 29 Jul 2021 14:10:20 +0100 Subject: [PATCH 074/712] Switch to referencing @graphql-codegen/cli in ws resolution Signed-off-by: Mike Lewis --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 04177f798e..ea1cf0c9b4 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ ] }, "resolutions": { - "**/@graphql-tools/url-loader/**/ws": "^7.4.6", + "**/@graphql-codegen/cli/**/ws": "^7.4.6", "**/@roadiehq/**/@backstage/core": "*", "**/@roadiehq/**/@backstage/plugin-catalog": "*", "**/@roadiehq/**/@backstage/catalog-model": "*", From 4509e18356c1b412c358852e72312f49849dc57e Mon Sep 17 00:00:00 2001 From: Niklas Granander Date: Thu, 29 Jul 2021 16:53:38 +0200 Subject: [PATCH 075/712] Add Build list page Signed-off-by: Niklas Granander --- plugins/xcmetrics/src/api/XcmetricsClient.ts | 34 +++++ .../src/api/__mocks__/XcmetricsClient.ts | 18 ++- plugins/xcmetrics/src/api/types.ts | 17 ++- .../BuildListComponent/BuildListComponent.tsx | 107 ++++++++++++++ .../components/BuildListComponent/index.ts | 16 +++ .../BuildListFilterComponent.tsx | 136 ++++++++++++++++++ .../BuildListFilterComponent/index.ts | 16 +++ .../DatePickerComponent.tsx | 83 +++++++++++ .../components/DatePickerComponent/index.ts | 16 +++ .../XcmetricsLayout/XcmetricsLayout.tsx | 46 +++++- plugins/xcmetrics/src/routes.ts | 8 +- 11 files changed, 489 insertions(+), 8 deletions(-) create mode 100644 plugins/xcmetrics/src/components/BuildListComponent/BuildListComponent.tsx create mode 100644 plugins/xcmetrics/src/components/BuildListComponent/index.ts create mode 100644 plugins/xcmetrics/src/components/BuildListFilterComponent/BuildListFilterComponent.tsx create mode 100644 plugins/xcmetrics/src/components/BuildListFilterComponent/index.ts create mode 100644 plugins/xcmetrics/src/components/DatePickerComponent/DatePickerComponent.tsx create mode 100644 plugins/xcmetrics/src/components/DatePickerComponent/index.ts diff --git a/plugins/xcmetrics/src/api/XcmetricsClient.ts b/plugins/xcmetrics/src/api/XcmetricsClient.ts index 0d4ed0dee1..19e4043e5e 100644 --- a/plugins/xcmetrics/src/api/XcmetricsClient.ts +++ b/plugins/xcmetrics/src/api/XcmetricsClient.ts @@ -16,9 +16,11 @@ import { DiscoveryApi } from '@backstage/core-plugin-api'; import { ResponseError } from '@backstage/errors'; +import { DateTime } from 'luxon'; import { Build, BuildCount, + BuildStatus, BuildStatusResult, BuildTime, PaginationResult, @@ -58,6 +60,38 @@ export class XcmetricsClient implements XcmetricsApi { return ((await response.json()) as PaginationResult).items; } + async getFilteredBuilds( + from: string, + to: string, + status?: BuildStatus, + page?: number, + perPage?: number, + ): Promise> { + const baseUrl = `${await this.discoveryApi.getBaseUrl('proxy')}/xcmetrics`; + const response = await fetch(`${baseUrl}/build/filter`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + from: DateTime.fromISO(from) + .startOf('day') + .toISO({ suppressMilliseconds: true }), + to: DateTime.fromISO(to) + .endOf('day') + .startOf('second') + .toISO({ suppressMilliseconds: true }), + status, + page, + per: perPage, + }), + }); + + if (!response.ok) { + throw await ResponseError.fromResponse(response); + } + + return (await response.json()) as PaginationResult; + } + async getBuildCounts(days: number): Promise { const baseUrl = `${await this.discoveryApi.getBaseUrl('proxy')}/xcmetrics`; const response = await fetch( diff --git a/plugins/xcmetrics/src/api/__mocks__/XcmetricsClient.ts b/plugins/xcmetrics/src/api/__mocks__/XcmetricsClient.ts index 5d53f41860..869ffe96f0 100644 --- a/plugins/xcmetrics/src/api/__mocks__/XcmetricsClient.ts +++ b/plugins/xcmetrics/src/api/__mocks__/XcmetricsClient.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { Build, XcmetricsApi } from '../types'; +import { Build, BuildStatus, XcmetricsApi } from '../types'; export const mockBuild = { userid: 'userid1', @@ -61,6 +61,22 @@ export const XcmetricsClient: XcmetricsApi = { { ...mockBuild, id: '2', userid: 'userid2' }, ]); }, + getFilteredBuilds: ( + from: string, + to: string, + status?: BuildStatus, + page?: number, + perPage?: number, + ) => { + return Promise.resolve({ + items: [mockBuild], + metadata: { + per: 10, + total: 1, + page: 1, + }, + }); + }, getBuildCounts: () => { return Promise.resolve([mockBuildCount, mockBuildCount]); }, diff --git a/plugins/xcmetrics/src/api/types.ts b/plugins/xcmetrics/src/api/types.ts index 48bee5fd38..640951da7e 100644 --- a/plugins/xcmetrics/src/api/types.ts +++ b/plugins/xcmetrics/src/api/types.ts @@ -70,7 +70,22 @@ export type PaginationResult = { export interface XcmetricsApi { getBuild(id: string): Promise; - getBuilds(): Promise; + getBuilds(limit?: number): Promise; + + /** + * Get builds filtered by the provided parameters + * + * @param from Builds after this date. An ISO date in a string (e.g. "2020-01-01") + * @param to Builds before this date. An ISO date in a string (e.g. "2021-01-01") + * @param status Builds with this status + */ + getFilteredBuilds( + from: string, + to: string, + status?: BuildStatus, + page?: number, + perPage?: number, + ): Promise>; getBuildCounts(days: number): Promise; getBuildTimes(days: number): Promise; getBuildStatuses(limit: number): Promise; diff --git a/plugins/xcmetrics/src/components/BuildListComponent/BuildListComponent.tsx b/plugins/xcmetrics/src/components/BuildListComponent/BuildListComponent.tsx new file mode 100644 index 0000000000..c54bd7d6cc --- /dev/null +++ b/plugins/xcmetrics/src/components/BuildListComponent/BuildListComponent.tsx @@ -0,0 +1,107 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import React, { useEffect, useRef, useState } from 'react'; +import { Table, TableColumn } from '@backstage/core-components'; +import { useApi } from '@backstage/core-plugin-api'; +import { Build, xcmetricsApiRef } from '../../api'; +import { formatDuration, formatTime } from '../../utils'; +import { Chip, Grid } from '@material-ui/core'; +import { + ActiveFilters, + BuildListFilterComponent as Filters, +} from '../BuildListFilterComponent'; +import { DateTime } from 'luxon'; + +const columns: TableColumn[] = [ + { + title: 'Status', + field: 'buildStatus', + }, + { + title: 'Project', + field: 'projectName', + }, + { + title: 'Schema', + field: 'schema', + }, + { + title: 'Started', + field: 'startedAt', + searchable: false, + render: data => formatTime(data.startTimestamp), + }, + { + title: 'Duration', + field: 'duration', + render: data => formatDuration(data.duration), + }, + { + title: 'User', + field: 'userid', + }, + { + field: 'isCI', + render: data => data.isCi && , + width: '10', + sorting: false, + }, +]; + +export const BuildListComponent = () => { + const initDates = { + from: DateTime.now().minus({ year: 1 }).toISODate(), + to: DateTime.now().toISODate(), + }; + const client = useApi(xcmetricsApiRef); + const tableRef = useRef(); + const [filters, setFilters] = useState(initDates); + + useEffect(() => tableRef.current?.onQueryChange(), [filters]); + + return ( + + + { + return new Promise((resolve, reject) => { + if (!query) return; + client + .getFilteredBuilds( + filters.from, + filters.to, + filters.buildStatus, + query.page + 1, // Page starts at 1 in API + query.pageSize, + ) + .then(result => { + resolve({ + data: result.items, + page: result.metadata.page - 1, + totalCount: result.metadata.total, + }); + }) + .catch(reason => reject(reason)); + }); + }} + columns={columns} + title="Builds" + /> + + ); +}; diff --git a/plugins/xcmetrics/src/components/BuildListComponent/index.ts b/plugins/xcmetrics/src/components/BuildListComponent/index.ts new file mode 100644 index 0000000000..3fb881458d --- /dev/null +++ b/plugins/xcmetrics/src/components/BuildListComponent/index.ts @@ -0,0 +1,16 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +export * from './BuildListComponent'; diff --git a/plugins/xcmetrics/src/components/BuildListFilterComponent/BuildListFilterComponent.tsx b/plugins/xcmetrics/src/components/BuildListFilterComponent/BuildListFilterComponent.tsx new file mode 100644 index 0000000000..6fc2094a70 --- /dev/null +++ b/plugins/xcmetrics/src/components/BuildListFilterComponent/BuildListFilterComponent.tsx @@ -0,0 +1,136 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { + makeStyles, + useTheme, + IconButton, + Grid, + Button, +} from '@material-ui/core'; +import FilterList from '@material-ui/icons/FilterList'; +import React, { useEffect, useState } from 'react'; +import { InfoCard, Select } from '@backstage/core-components'; +import { BackstageTheme } from '@backstage/theme'; +import { BuildStatus } from '../../api'; +import { DatePickerComponent } from '../DatePickerComponent'; + +export type ActiveFilters = { + from: string; + to: string; + buildStatus?: BuildStatus; +}; + +const useStyles = makeStyles(theme => ({ + filtersContent: { + padding: theme.spacing(2, 2, 2, 2.5), + }, +})); + +type FilterOption = T | 'all'; + +interface FiltersProps { + initDates: { from: string; to: string }; + onFilterChange: (filters: ActiveFilters) => void; +} + +export const BuildListFilterComponent = ({ + onFilterChange, + initDates, +}: FiltersProps) => { + const classes = useStyles(useTheme()); + const [status, setStatus] = useState(); + const [from, setFrom] = useState(initDates.from); + const [to, setTo] = useState(initDates.to); + const [open, setOpen] = useState(false); + + useEffect(() => onFilterChange({ from, to, buildStatus: status }), [ + onFilterChange, + from, + to, + status, + ]); + + const numFilters = + Number(!!status) + + Number(from !== initDates.from) + + Number(to !== initDates.to); + + const clear = () => { + setStatus(undefined); + setFrom(initDates.from); + setTo(initDates.to); + }; + + const title = ( + <> + setOpen(!open)} aria-label="filter list"> + + + Filters ({numFilters}) + {!!numFilters && ( + + )} + + ); + + const statusItems: { label: string; value: FilterOption }[] = [ + { label: 'All', value: 'all' }, + { label: 'Succeeded', value: 'succeeded' }, + { label: 'Failed', value: 'failed' }, + { label: 'Stopped', value: 'stopped' }, + ]; + + const content = ( + + + + + + + + +
+ + ); +}; + +export const secondsToDhms = (seconds: number) => { + const secs = Number(seconds); + const d = Math.floor(secs / (60 * 60 * 24)); + const h = Math.floor((secs / (60 * 60)) % 24); + const m = Math.floor((secs / 60) % 60); + const s = secs % 60; + + const dDisplay = d > 0 ? `${d}d ` : ''; + const hDisplay = h > 0 ? `${h}h ` : '00h '; + const mDisplay = m > 0 ? `${m}m ` : '00m '; + const sDisplay = s > 0 ? `${s}s` : '00s'; + return dDisplay + hDisplay + mDisplay + sDisplay; +}; + +export const truncateNum = (num: number) => { + const matcher = `^-?\\d+(?:\\.\\d{0,3})?`; + const re = new RegExp(matcher); + const match = num.toString().match(re); + const result = (match && match[0]) || '0'; // eslint-disable-line no-mixed-operators + return result; +}; + +export const calcHealthiness = ({ + mttm, + incidents, + range, +}: { + mttm: number; + incidents: number; + range: number; +}) => { + const num = (1 - (mttm * incidents) / range) * 100; + return `${truncateNum(num)}%`; +}; + +type AnalyticsDataType = { + id?: string; + count?: number; + mttd?: number; + mtta?: number; + mttm?: number; + mttr?: number; + total_time?: number; +}; + +export const ServiceAnalytics = ({ + value, + loading, + error, +}: { + value: AnalyticsDataType; + loading: boolean; + error: any; +}) => { + if (loading) { + return ; + } else if (error) { + return {error.message}; + } + + const startDate = moment().subtract(30, 'days').utc(); + const endDate = moment().utc(); + + // Transform and format the data to display in the table + if (value.id) { + const serviceData = { + healthiness: + value.mttm && value.count + ? calcHealthiness({ + mttm: value.mttm, + incidents: value.count, + range: endDate.diff(startDate, 'seconds'), + }) + : '100%', + impacted: value.total_time ? secondsToDhms(value.total_time) : '-', + incidents: value.count, + mttd: value.mttd ? secondsToDhms(value.mttd) : '-', + mtta: value.mtta ? secondsToDhms(value.mtta) : '-', + mttm: value.mttm ? secondsToDhms(value.mttm) : '-', + mttr: value.mttr ? secondsToDhms(value.mttr) : '-', + }; + + return ( + + ); + } + + return null; +}; diff --git a/plugins/firehydrant/src/components/ServiceDetailsCard/ServiceDetailsCard.test.tsx b/plugins/firehydrant/src/components/ServiceDetailsCard/ServiceDetailsCard.test.tsx new file mode 100644 index 0000000000..1123f014da --- /dev/null +++ b/plugins/firehydrant/src/components/ServiceDetailsCard/ServiceDetailsCard.test.tsx @@ -0,0 +1,118 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import React from 'react'; +import { ApiProvider, ApiRegistry } from '@backstage/core-app-api'; +import { fireHydrantApiRef } from '../../api'; +import { screen } from '@testing-library/react'; +import { ServiceDetailsCard } from './ServiceDetailsCard'; +import { Service, Incident } from '../types'; +import { renderInTestApp } from '@backstage/test-utils'; + +const mockFireHydrantApi = { + getServiceDetails: () => {}, + getServiceAnalytics: () => {}, +}; + +const apis = ApiRegistry.from([[fireHydrantApiRef, mockFireHydrantApi]]); + +jest.mock('@backstage/plugin-catalog-react', () => ({ + useEntity: () => { + return { entity: { metadata: { name: 'service-example' } } }; + }, +})); + +describe('ServiceDetailsCard', () => { + it('renders service incidents', async () => { + mockFireHydrantApi.getServiceDetails = jest.fn().mockImplementationOnce( + async () => + [ + { + service: { + id: '12345', + name: 'service-example', + description: 'This is a sample description', + active_incidents: ['654321'], + } as Service, + incidents: [ + { + id: '654321', + active: true, + description: 'test incident', + name: 'incident name here', + incident_url: 'http://example.com', + } as Incident, + ], + }, + ][0], + ); + + mockFireHydrantApi.getServiceAnalytics = jest.fn().mockImplementationOnce( + async () => + [ + { + buckets: [ + { + metrics: { + 12345: { + count: 0, + mtta: null, + mttd: null, + mttm: null, + mttr: null, + total_time: null, + }, + }, + }, + ], + }, + ][0], + ); + + await renderInTestApp( + + + , + ); + + expect( + await screen.findByText(/View service incidents/), + ).toBeInTheDocument(); + expect( + await screen.findByText(/There is 1 active incident/), + ).toBeInTheDocument(); + expect(await screen.findByText(/incident name here/)).toBeInTheDocument(); + }); + + it('handles empty response', async () => { + mockFireHydrantApi.getServiceDetails = jest + .fn() + .mockImplementationOnce(async () => []); + + mockFireHydrantApi.getServiceAnalytics = jest + .fn() + .mockImplementationOnce(async () => []); + + await renderInTestApp( + + + , + ); + + expect( + await screen.findByText(/This service does not exist in FireHydrant/), + ).toBeInTheDocument(); + }); +}); diff --git a/plugins/firehydrant/src/components/ServiceDetailsCard/ServiceDetailsCard.tsx b/plugins/firehydrant/src/components/ServiceDetailsCard/ServiceDetailsCard.tsx new file mode 100644 index 0000000000..7ebbcd8351 --- /dev/null +++ b/plugins/firehydrant/src/components/ServiceDetailsCard/ServiceDetailsCard.tsx @@ -0,0 +1,279 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import React, { useEffect, useState } from 'react'; +import moment from 'moment'; +import { ServiceAnalytics } from '../ServiceAnalytics/ServiceAnalytics'; +import { + Box, + Button as MaterialButton, + Typography, + makeStyles, +} from '@material-ui/core'; +import ExitToAppIcon from '@material-ui/icons/ExitToApp'; +import NotesIcon from '@material-ui/icons/Notes'; +import WhatshotIcon from '@material-ui/icons/Whatshot'; +import WarningIcon from '@material-ui/icons/Warning'; +import AddIcon from '@material-ui/icons/Add'; +import { useEntity } from '@backstage/plugin-catalog-react'; +import { Incident } from '../types'; +import { ServiceIncidentsResponse } from '../../api/types'; +import { useServiceDetails } from '../serviceDetails'; +import { useServiceAnalytics } from '../serviceAnalytics'; +import { InfoCard, Progress } from '@backstage/core-components'; +import { configApiRef, useApi } from '@backstage/core-plugin-api'; + +const useStyles = makeStyles(theme => ({ + infoCard: { + height: '342px', + }, + button: { + color: '#3b2492', + display: 'grid', + gridGap: '4px', + textAlign: 'center', + justifyItems: 'center', + width: '102px', + backgroundColor: theme.palette.type === 'dark' ? '#f1edff' : '', + '&:hover, &:focus': { + backgroundColor: '#f1edff', + color: '#614ab6', + }, + '&:active': { + color: '#3b2492', + backgroundColor: '#b2a6e3', + boxShadow: + 'rgb(59, 36, 146) 0px 0px 0px 1px inset, rgb(141, 134, 188) 3px 3px 0px 0px inset;', + }, + border: '1px solid #3b2492', + borderRadius: '5px', + padding: '10px', + }, + buttonLink: { + backgroundColor: '#3b2492', + color: '#FFF', + textTransform: 'none', + '&:hover': { + backgroundColor: '#614ab6', + }, + }, + buttonContainer: { + display: 'grid', + gridGap: '24px', + gridAutoFlow: 'column', + gridAutoColumns: 'min-content', + }, + icon: { + color: '#f1642d', + }, + link: { + textDecoration: 'underline', + fontSize: '16px', + lineHeight: '27px', + color: '#3b2492', + '&:hover, &:focus': { + fontWeight: '500', + }, + }, + linksContainer: { + borderBottom: '1px solid #d5d5d5', + padding: '10px 0px 10px 20px', + backgroundColor: '#f1edff', + marginBottom: '20px', + }, + table: { + width: '100%', + }, + warning: { + display: 'flex', + alignItems: 'center', + padding: '10px', + background: '#f1edff', + color: theme.palette.type === 'dark' ? '#3b2492' : '#fff', + }, +})); + +const ServiceWarning = ({ text }: { text: string }) => { + const classes = useStyles(); + return ( +
+ +   {text} +
+ ); +}; + +const ServiceAnalyticsView = ({ + serviceId, + startDate, + endDate, +}: { + serviceId: string; + startDate: moment.Moment; + endDate: moment.Moment; +}) => { + const { + loading: analyticsLoading, + value: analyticsValue = {}, + error: analyticsError, + } = useServiceAnalytics({ + serviceId, + startDate: startDate.format('YYYY-MM-DD'), + endDate: endDate.format('YYYY-MM-DD'), + }); + + return ( + + ); +}; + +export const ServiceDetailsCard = () => { + const { entity } = useEntity(); + const classes = useStyles(); + const [showServiceDetails, setShowServiceDetails] = useState(false); + const configApi = useApi(configApiRef); + + const BASE_URL = + configApi.getOptionalString('firehydrant.baseUrl') || + 'https://app.firehydrant.io'; + + const startDate = moment().subtract(30, 'days').utc(); + const endDate = moment().utc(); + + const { loading, value, error } = useServiceDetails({ + serviceName: entity?.metadata?.name, + }); + + const activeIncidents: string[] = value?.service?.active_incidents ?? []; + const incidents: ServiceIncidentsResponse = value?.incidents ?? []; + const serviceId: string = value?.service?.id!; + + useEffect(() => { + if (value?.service && Object.keys(value?.service).length > 0) { + setShowServiceDetails(true); + } + }, [value]); + + if (loading) { + return ; + } + + if (error) { + return ( + + ); + } + + const headerText: string = showServiceDetails + ? `There ${activeIncidents?.length === 1 ? 'is' : 'are'} ${ + activeIncidents?.length + } active incident${activeIncidents?.length === 1 ? '' : 's'}.` + : ''; + + const serviceIncidentsLink: string = `${BASE_URL}/incidents?search={"services":[{"label":${JSON.stringify( + value?.service?.name, + )},"value":${JSON.stringify(value?.service?.id)}}]}`; + + return ( + + {!showServiceDetails && !loading && ( + + )} + {showServiceDetails && ( + + +

{headerText}

+
+ + + View service incidents   + + + +
+ )} + {activeIncidents && activeIncidents?.length > 0 && ( + + {incidents && + incidents?.slice(0, 5).map((incident: Incident, index: number) => ( + + ))} + + )} + + View in FireHydrant + + + + Declare an incident + + + + View all incidents + + {showServiceDetails && ( + + + View Service Details + + )} + + + {showServiceDetails && ( + + + + )} +
+ ); +}; diff --git a/plugins/firehydrant/src/components/ServiceDetailsCard/index.ts b/plugins/firehydrant/src/components/ServiceDetailsCard/index.ts new file mode 100644 index 0000000000..33e68ecf3b --- /dev/null +++ b/plugins/firehydrant/src/components/ServiceDetailsCard/index.ts @@ -0,0 +1,16 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +export { ServiceDetailsCard } from './ServiceDetailsCard'; diff --git a/plugins/firehydrant/src/components/serviceAnalytics.ts b/plugins/firehydrant/src/components/serviceAnalytics.ts new file mode 100644 index 0000000000..ba88af86da --- /dev/null +++ b/plugins/firehydrant/src/components/serviceAnalytics.ts @@ -0,0 +1,51 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { useAsyncRetry } from 'react-use'; +import { fireHydrantApiRef } from '../api'; +import { errorApiRef, useApi } from '@backstage/core-plugin-api'; + +export const useServiceAnalytics = ({ + serviceId, + startDate, + endDate, +}: { + serviceId: string; + startDate: string; + endDate: string; +}) => { + const api = useApi(fireHydrantApiRef); + const errorApi = useApi(errorApiRef); + + const { loading, value, error, retry } = useAsyncRetry(async () => { + try { + return await api.getServiceAnalytics({ + serviceId: serviceId, + startDate: startDate, + endDate: endDate, + }); + } catch (e) { + errorApi.post(e); + return Promise.reject(e); + } + }); + + return { + loading, + value, + error, + retry, + }; +}; diff --git a/plugins/firehydrant/src/components/serviceDetails.ts b/plugins/firehydrant/src/components/serviceDetails.ts new file mode 100644 index 0000000000..b8cac2736a --- /dev/null +++ b/plugins/firehydrant/src/components/serviceDetails.ts @@ -0,0 +1,39 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { useAsyncRetry } from 'react-use'; +import { fireHydrantApiRef } from '../api'; +import { errorApiRef, useApi } from '@backstage/core-plugin-api'; + +export const useServiceDetails = ({ serviceName }: { serviceName: string }) => { + const api = useApi(fireHydrantApiRef); + const errorApi = useApi(errorApiRef); + + const { loading, value, error, retry } = useAsyncRetry(async () => { + try { + return await api.getServiceDetails({ serviceName: serviceName }); + } catch (e) { + errorApi.post(e); + return Promise.reject(e); + } + }); + + return { + loading, + value, + error, + retry, + }; +}; diff --git a/plugins/firehydrant/src/components/types.ts b/plugins/firehydrant/src/components/types.ts new file mode 100644 index 0000000000..e607b2357d --- /dev/null +++ b/plugins/firehydrant/src/components/types.ts @@ -0,0 +1,29 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +export type Service = { + id: string; + name: string; + description?: string; + active_incidents?: string[]; +}; + +export type Incident = { + id: string; + active: boolean; + description?: string; + name: string; + incident_url: string; +}; diff --git a/plugins/firehydrant/src/index.ts b/plugins/firehydrant/src/index.ts new file mode 100644 index 0000000000..3b9b584fb8 --- /dev/null +++ b/plugins/firehydrant/src/index.ts @@ -0,0 +1,16 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +export { firehydrantPlugin, FirehydrantPage } from './plugin'; diff --git a/plugins/firehydrant/src/plugin.test.ts b/plugins/firehydrant/src/plugin.test.ts new file mode 100644 index 0000000000..ffde182e64 --- /dev/null +++ b/plugins/firehydrant/src/plugin.test.ts @@ -0,0 +1,22 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { firehydrantPlugin } from './plugin'; + +describe('firehydrant', () => { + it('should export plugin', () => { + expect(firehydrantPlugin).toBeDefined(); + }); +}); diff --git a/plugins/firehydrant/src/plugin.ts b/plugins/firehydrant/src/plugin.ts new file mode 100644 index 0000000000..e4794ab4ce --- /dev/null +++ b/plugins/firehydrant/src/plugin.ts @@ -0,0 +1,46 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { fireHydrantApiRef, FireHydrantAPIClient } from './api'; +import { + createApiFactory, + createPlugin, + discoveryApiRef, + createRoutableExtension, +} from '@backstage/core-plugin-api'; + +import { rootRouteRef } from './routes'; + +export const firehydrantPlugin = createPlugin({ + id: 'firehydrant', + apis: [ + createApiFactory({ + api: fireHydrantApiRef, + deps: { discoveryApi: discoveryApiRef }, + factory: ({ discoveryApi }) => new FireHydrantAPIClient({ discoveryApi }), + }), + ], + routes: { + root: rootRouteRef, + }, +}); + +export const FirehydrantPage = firehydrantPlugin.provide( + createRoutableExtension({ + component: () => + import('./components/ServiceDetailsCard').then(m => m.ServiceDetailsCard), + mountPoint: rootRouteRef, + }), +); diff --git a/plugins/firehydrant/src/routes.ts b/plugins/firehydrant/src/routes.ts new file mode 100644 index 0000000000..eb2f8b6375 --- /dev/null +++ b/plugins/firehydrant/src/routes.ts @@ -0,0 +1,20 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { createRouteRef } from '@backstage/core-plugin-api'; + +export const rootRouteRef = createRouteRef({ + title: 'firehydrant', +}); diff --git a/plugins/firehydrant/src/setupTests.ts b/plugins/firehydrant/src/setupTests.ts new file mode 100644 index 0000000000..fc6dbd98f8 --- /dev/null +++ b/plugins/firehydrant/src/setupTests.ts @@ -0,0 +1,17 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import '@testing-library/jest-dom'; +import 'cross-fetch/polyfill'; From 66f43e818031fa69e9ed8c4116e8c4775381858a Mon Sep 17 00:00:00 2001 From: Niklas Granander Date: Thu, 29 Jul 2021 18:51:16 +0200 Subject: [PATCH 079/712] Implement filtering on project name of builds Signed-off-by: Niklas Granander --- plugins/xcmetrics/src/api/XcmetricsClient.ts | 24 ++-- .../src/api/__mocks__/XcmetricsClient.ts | 13 ++- plugins/xcmetrics/src/api/types.ts | 20 ++-- .../BuildListComponent/BuildListComponent.tsx | 41 +++---- .../BuildListFilterComponent.tsx | 104 +++++++++++------- .../DatePickerComponent.tsx | 3 +- 6 files changed, 119 insertions(+), 86 deletions(-) diff --git a/plugins/xcmetrics/src/api/XcmetricsClient.ts b/plugins/xcmetrics/src/api/XcmetricsClient.ts index 19e4043e5e..81b3e78a31 100644 --- a/plugins/xcmetrics/src/api/XcmetricsClient.ts +++ b/plugins/xcmetrics/src/api/XcmetricsClient.ts @@ -20,7 +20,7 @@ import { DateTime } from 'luxon'; import { Build, BuildCount, - BuildStatus, + BuildFilters, BuildStatusResult, BuildTime, PaginationResult, @@ -61,9 +61,7 @@ export class XcmetricsClient implements XcmetricsApi { } async getFilteredBuilds( - from: string, - to: string, - status?: BuildStatus, + filters: BuildFilters, page?: number, perPage?: number, ): Promise> { @@ -72,14 +70,15 @@ export class XcmetricsClient implements XcmetricsApi { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ - from: DateTime.fromISO(from) + from: DateTime.fromISO(filters.from) .startOf('day') .toISO({ suppressMilliseconds: true }), - to: DateTime.fromISO(to) + to: DateTime.fromISO(filters.to) .endOf('day') .startOf('second') .toISO({ suppressMilliseconds: true }), - status, + status: filters.buildStatus, + projectName: filters.project, page, per: perPage, }), @@ -131,4 +130,15 @@ export class XcmetricsClient implements XcmetricsApi { return ((await response.json()) as PaginationResult) .items; } + + async getProjects(): Promise { + const baseUrl = `${await this.discoveryApi.getBaseUrl('proxy')}/xcmetrics`; + const response = await fetch(`${baseUrl}/build/project`); + + if (!response.ok) { + throw await ResponseError.fromResponse(response); + } + + return (await response.json()) as string[]; + } } diff --git a/plugins/xcmetrics/src/api/__mocks__/XcmetricsClient.ts b/plugins/xcmetrics/src/api/__mocks__/XcmetricsClient.ts index 869ffe96f0..cacb8fb2b1 100644 --- a/plugins/xcmetrics/src/api/__mocks__/XcmetricsClient.ts +++ b/plugins/xcmetrics/src/api/__mocks__/XcmetricsClient.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { Build, BuildStatus, XcmetricsApi } from '../types'; +import { Build, BuildFilters, XcmetricsApi } from '../types'; export const mockBuild = { userid: 'userid1', @@ -62,11 +62,9 @@ export const XcmetricsClient: XcmetricsApi = { ]); }, getFilteredBuilds: ( - from: string, - to: string, - status?: BuildStatus, - page?: number, - perPage?: number, + _filters: BuildFilters, + _page?: number, + _perPage?: number, ) => { return Promise.resolve({ items: [mockBuild], @@ -86,4 +84,7 @@ export const XcmetricsClient: XcmetricsApi = { getBuildTimes: (days: number) => { return Promise.resolve([mockBuildTime, mockBuildTime].slice(0, days)); }, + getProjects: () => { + return Promise.resolve([mockBuild.projectName]); + }, }; diff --git a/plugins/xcmetrics/src/api/types.ts b/plugins/xcmetrics/src/api/types.ts index 640951da7e..c018a67056 100644 --- a/plugins/xcmetrics/src/api/types.ts +++ b/plugins/xcmetrics/src/api/types.ts @@ -68,27 +68,25 @@ export type PaginationResult = { }; }; +export type BuildFilters = { + from: string; // ISO Date (e.g. "2021-01-01") + to: string; // ISO Date (e.g. "2021-01-02") + buildStatus?: BuildStatus; + project?: string; +}; + export interface XcmetricsApi { getBuild(id: string): Promise; getBuilds(limit?: number): Promise; - - /** - * Get builds filtered by the provided parameters - * - * @param from Builds after this date. An ISO date in a string (e.g. "2020-01-01") - * @param to Builds before this date. An ISO date in a string (e.g. "2021-01-01") - * @param status Builds with this status - */ getFilteredBuilds( - from: string, - to: string, - status?: BuildStatus, + filters: BuildFilters, page?: number, perPage?: number, ): Promise>; getBuildCounts(days: number): Promise; getBuildTimes(days: number): Promise; getBuildStatuses(limit: number): Promise; + getProjects(): Promise; } export const xcmetricsApiRef = createApiRef({ diff --git a/plugins/xcmetrics/src/components/BuildListComponent/BuildListComponent.tsx b/plugins/xcmetrics/src/components/BuildListComponent/BuildListComponent.tsx index c54bd7d6cc..0c1337ea6e 100644 --- a/plugins/xcmetrics/src/components/BuildListComponent/BuildListComponent.tsx +++ b/plugins/xcmetrics/src/components/BuildListComponent/BuildListComponent.tsx @@ -13,16 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import React, { useEffect, useRef, useState } from 'react'; +import React, { useRef, useState } from 'react'; import { Table, TableColumn } from '@backstage/core-components'; import { useApi } from '@backstage/core-plugin-api'; -import { Build, xcmetricsApiRef } from '../../api'; +import { Build, BuildFilters, xcmetricsApiRef } from '../../api'; import { formatDuration, formatTime } from '../../utils'; import { Chip, Grid } from '@material-ui/core'; -import { - ActiveFilters, - BuildListFilterComponent as Filters, -} from '../BuildListFilterComponent'; +import { BuildListFilterComponent as Filters } from '../BuildListFilterComponent'; import { DateTime } from 'luxon'; const columns: TableColumn[] = [ @@ -62,31 +59,39 @@ const columns: TableColumn[] = [ ]; export const BuildListComponent = () => { - const initDates = { + const client = useApi(xcmetricsApiRef); + const tableRef = useRef(); + + const initialFilters = { from: DateTime.now().minus({ year: 1 }).toISODate(), to: DateTime.now().toISODate(), }; - const client = useApi(xcmetricsApiRef); - const tableRef = useRef(); - const [filters, setFilters] = useState(initDates); - useEffect(() => tableRef.current?.onQueryChange(), [filters]); + const [filters, setFilters] = useState(initialFilters); + + const handleFilterChange = (values: BuildFilters) => { + setFilters(values); + tableRef.current?.onQueryChange(); + }; return ( - +
{ return new Promise((resolve, reject) => { if (!query) return; client .getFilteredBuilds( - filters.from, - filters.to, - filters.buildStatus, - query.page + 1, // Page starts at 1 in API + filters, + query.page + 1, // Page is 0-indexed in Table query.pageSize, ) .then(result => { @@ -99,8 +104,6 @@ export const BuildListComponent = () => { .catch(reason => reject(reason)); }); }} - columns={columns} - title="Builds" /> ); diff --git a/plugins/xcmetrics/src/components/BuildListFilterComponent/BuildListFilterComponent.tsx b/plugins/xcmetrics/src/components/BuildListFilterComponent/BuildListFilterComponent.tsx index 6fc2094a70..08cb82c8ca 100644 --- a/plugins/xcmetrics/src/components/BuildListFilterComponent/BuildListFilterComponent.tsx +++ b/plugins/xcmetrics/src/components/BuildListFilterComponent/BuildListFilterComponent.tsx @@ -14,24 +14,18 @@ * limitations under the License. */ -import { - makeStyles, - useTheme, - IconButton, - Grid, - Button, -} from '@material-ui/core'; -import FilterList from '@material-ui/icons/FilterList'; import React, { useEffect, useState } from 'react'; +import { makeStyles, IconButton, Grid, Button } from '@material-ui/core'; +import FilterList from '@material-ui/icons/FilterList'; import { InfoCard, Select } from '@backstage/core-components'; import { BackstageTheme } from '@backstage/theme'; -import { BuildStatus } from '../../api'; +import { useApi } from '@backstage/core-plugin-api'; +import { useAsync } from 'react-use'; +import { BuildFilters, BuildStatus, xcmetricsApiRef } from '../../api'; import { DatePickerComponent } from '../DatePickerComponent'; -export type ActiveFilters = { - from: string; - to: string; - buildStatus?: BuildStatus; +const toSelectItems = (strings: string[]) => { + return strings.map(str => ({ label: str, value: str })); }; const useStyles = makeStyles(theme => ({ @@ -43,37 +37,26 @@ const useStyles = makeStyles(theme => ({ type FilterOption = T | 'all'; interface FiltersProps { - initDates: { from: string; to: string }; - onFilterChange: (filters: ActiveFilters) => void; + initialValues: BuildFilters; + onFilterChange: (filters: BuildFilters) => void; } export const BuildListFilterComponent = ({ onFilterChange, - initDates, + initialValues, }: FiltersProps) => { - const classes = useStyles(useTheme()); - const [status, setStatus] = useState(); - const [from, setFrom] = useState(initDates.from); - const [to, setTo] = useState(initDates.to); + const client = useApi(xcmetricsApiRef); + const classes = useStyles(); const [open, setOpen] = useState(false); + const [values, setValues] = useState(initialValues); - useEffect(() => onFilterChange({ from, to, buildStatus: status }), [ - onFilterChange, - from, - to, - status, - ]); + useEffect(() => onFilterChange(values), [onFilterChange, values]); const numFilters = - Number(!!status) + - Number(from !== initDates.from) + - Number(to !== initDates.to); - - const clear = () => { - setStatus(undefined); - setFrom(initDates.from); - setTo(initDates.to); - }; + Number(values.from !== initialValues.from) + + Number(values.to !== initialValues.to) + + Number(!!values.buildStatus) + + Number(!!values.project); const title = ( <> @@ -82,7 +65,7 @@ export const BuildListFilterComponent = ({ Filters ({numFilters}) {!!numFilters && ( - )} @@ -96,6 +79,10 @@ export const BuildListFilterComponent = ({ { label: 'Stopped', value: 'stopped' }, ]; + const { value: projects, loading } = useAsync(async () => { + return client.getProjects(); + }, []); + const content = ( - + setValues({ ...values, from: date })} + /> - + setValues({ ...values, to: date })} + /> undefined} + /> + ) : ( +
{ diff --git a/plugins/xcmetrics/src/components/BuildListFilterComponent/BuildListFilterComponent.tsx b/plugins/xcmetrics/src/components/BuildListFilterComponent/BuildListFilterComponent.tsx index 08cb82c8ca..4f6604702e 100644 --- a/plugins/xcmetrics/src/components/BuildListFilterComponent/BuildListFilterComponent.tsx +++ b/plugins/xcmetrics/src/components/BuildListFilterComponent/BuildListFilterComponent.tsx @@ -90,21 +90,21 @@ export const BuildListFilterComponent = ({ direction="row" className={classes.filtersContent} > - + setValues({ ...values, from: date })} /> - + setValues({ ...values, to: date })} /> - + , + failed: , + stopped: , +}; + +const baseColumns: TableColumn[] = [ + { + field: 'buildStatus', + render: data => STATUS_ICONS[data.buildStatus], + }, + { + title: 'Project', + field: 'projectName', + }, + { + title: 'Schema', + field: 'schema', + }, + { + title: 'Started', + field: 'startedAt', + render: data => formatTime(data.startTimestamp), + cellStyle: { whiteSpace: 'nowrap' }, + }, + { + title: 'Duration', + field: 'duration', + render: data => formatDuration(data.duration), + }, + { + title: 'User', + field: 'userid', + }, +]; + +const isCi: TableColumn = { + field: 'isCI', + render: data => data.isCi && , + width: '10', + sorting: false, +}; + +export const overviewColumns: TableColumn[] = [...baseColumns, isCi]; + +export const buildPageColumns: TableColumn[] = [ + ...baseColumns, + { + title: 'Host', + field: 'machineName', + }, + { + title: 'Warnings', + field: 'warningCount', + }, + { + title: 'Category', + field: 'category', + render: data => , + }, + isCi, +]; diff --git a/plugins/xcmetrics/src/components/OverviewComponent/OverviewComponent.tsx b/plugins/xcmetrics/src/components/OverviewComponent/OverviewComponent.tsx index cee8e2a549..6fa3abda2e 100644 --- a/plugins/xcmetrics/src/components/OverviewComponent/OverviewComponent.tsx +++ b/plugins/xcmetrics/src/components/OverviewComponent/OverviewComponent.tsx @@ -13,69 +13,23 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import React, { ReactChild } from 'react'; +import React from 'react'; import { ContentHeader, SupportButton, Progress, - StatusOK, - StatusError, - StatusWarning, Table, - TableColumn, EmptyState, InfoCard, } from '@backstage/core-components'; import { useApi } from '@backstage/core-plugin-api'; -import { Build, BuildStatus, xcmetricsApiRef } from '../../api'; +import { xcmetricsApiRef } from '../../api'; import { useAsync } from 'react-use'; import { Alert } from '@material-ui/lab'; import { StatusMatrixComponent } from '../StatusMatrixComponent'; -import { formatDuration, formatTime } from '../../utils'; -import { Chip, Grid } from '@material-ui/core'; +import { Grid } from '@material-ui/core'; import { OverviewTrendsComponent } from '../OverviewTrendsComponent'; - -const STATUS_ICONS: { [key in BuildStatus]: ReactChild } = { - succeeded: , - failed: , - stopped: , -}; - -const columns: TableColumn[] = [ - { - field: 'buildStatus', - render: data => STATUS_ICONS[data.buildStatus], - }, - { - title: 'Project', - field: 'projectName', - }, - { - title: 'Schema', - field: 'schema', - }, - { - title: 'Started', - field: 'startedAt', - searchable: false, - render: data => formatTime(data.startTimestamp), - }, - { - title: 'Duration', - field: 'duration', - render: data => formatDuration(data.duration), - }, - { - title: 'User', - field: 'userid', - }, - { - field: 'isCI', - render: data => data.isCi && , - width: '10', - sorting: false, - }, -]; +import { overviewColumns } from '../BuildTableColumns'; export const OverviewComponent = () => { const client = useApi(xcmetricsApiRef); @@ -108,9 +62,14 @@ export const OverviewComponent = () => {
Latest Builds diff --git a/plugins/xcmetrics/src/utils/format.ts b/plugins/xcmetrics/src/utils/format.ts index 085441bb84..8c6dadb768 100644 --- a/plugins/xcmetrics/src/utils/format.ts +++ b/plugins/xcmetrics/src/utils/format.ts @@ -23,8 +23,7 @@ export const formatDuration = (seconds: number) => { const h = duration.hours ? `${duration.hours} h` : ''; const m = duration.minutes ? `${duration.minutes} m` : ''; - const s = - duration.hours < 12 && duration.seconds ? `${duration.seconds} s` : ''; + const s = duration.hours < 12 ? `${duration.seconds ?? 0} s` : ''; return `${h} ${m} ${s}`; }; From 7b46caff47ce9fc90d2c4a385402bc5563c10669 Mon Sep 17 00:00:00 2001 From: Miklos Kiss Date: Fri, 30 Jul 2021 12:08:28 +0200 Subject: [PATCH 086/712] use object as params Signed-off-by: Miklos Kiss --- .../service/KubernetesFanOutHandler.test.ts | 48 +++++++++---------- .../src/service/KubernetesFanOutHandler.ts | 2 +- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.test.ts b/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.test.ts index 666b441226..a867efaaee 100644 --- a/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.test.ts +++ b/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.test.ts @@ -129,16 +129,16 @@ describe('handleGetKubernetesObjectsForService', () => { mockFetch(fetchObjectsForService); - const sut = new KubernetesFanOutHandler( - getVoidLogger(), - { + const sut = new KubernetesFanOutHandler({ + logger: getVoidLogger(), + fetcher: { fetchObjectsForService, }, - { + serviceLocator: { getClustersByServiceId, }, - [], - ); + customResources: [], + }); const result = await sut.getKubernetesObjectsByEntity({ entity: { @@ -221,16 +221,16 @@ describe('handleGetKubernetesObjectsForService', () => { mockFetch(fetchObjectsForService); - const sut = new KubernetesFanOutHandler( - getVoidLogger(), - { + const sut = new KubernetesFanOutHandler({ + logger: getVoidLogger(), + fetcher: { fetchObjectsForService, }, - { + serviceLocator: { getClustersByServiceId, }, - [], - ); + customResources: [], + }); const result = await sut.getKubernetesObjectsByEntity({ auth: { @@ -357,16 +357,16 @@ describe('handleGetKubernetesObjectsForService', () => { mockFetch(fetchObjectsForService); - const sut = new KubernetesFanOutHandler( - getVoidLogger(), - { + const sut = new KubernetesFanOutHandler({ + logger: getVoidLogger(), + fetcher: { fetchObjectsForService, }, - { + serviceLocator: { getClustersByServiceId, }, - [], - ); + customResources: [], + }); const result = await sut.getKubernetesObjectsByEntity({ auth: { @@ -497,16 +497,16 @@ describe('handleGetKubernetesObjectsForService', () => { mockFetch(fetchObjectsForService); - const sut = new KubernetesFanOutHandler( - getVoidLogger(), - { + const sut = new KubernetesFanOutHandler({ + logger: getVoidLogger(), + fetcher: { fetchObjectsForService, }, - { + serviceLocator: { getClustersByServiceId, }, - [], - ); + customResources: [], + }); const result = await sut.getKubernetesObjectsByEntity({ auth: { diff --git a/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts b/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts index 0774a015a1..0931d775d3 100644 --- a/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts +++ b/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts @@ -41,7 +41,7 @@ export interface KubernetesFanOutHandlerOptions { fetcher: KubernetesFetcher; serviceLocator: KubernetesServiceLocator; customResources: CustomResource[]; - objectTypesToFetch: KubernetesObjectTypes[]; + objectTypesToFetch?: KubernetesObjectTypes[]; } export class KubernetesFanOutHandler { From 12174412923256ac9dc39c8f2b358cb4f1b75229 Mon Sep 17 00:00:00 2001 From: Miklos Kiss Date: Fri, 30 Jul 2021 12:28:30 +0200 Subject: [PATCH 087/712] update api-report Signed-off-by: Miklos Kiss --- plugins/kubernetes-backend/api-report.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/plugins/kubernetes-backend/api-report.md b/plugins/kubernetes-backend/api-report.md index 72d80050d8..899f1fff00 100644 --- a/plugins/kubernetes-backend/api-report.md +++ b/plugins/kubernetes-backend/api-report.md @@ -51,6 +51,11 @@ export interface CustomResource { plural: string; } +// Warning: (ae-missing-release-tag) "DEFAULT_OBJECTS" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export const DEFAULT_OBJECTS: KubernetesObjectTypes[]; + // Warning: (ae-missing-release-tag) "FetchResponseWrapper" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) From c189c5da5d58d2fa40bdef8c4bd67dc5691cf9ee Mon Sep 17 00:00:00 2001 From: Himanshu Mishra Date: Fri, 30 Jul 2021 12:47:17 +0200 Subject: [PATCH 088/712] chore: fix typo in EntityPage Signed-off-by: Himanshu Mishra --- .changeset/fluffy-cats-approve.md | 5 +++++ .../packages/app/src/components/catalog/EntityPage.tsx | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changeset/fluffy-cats-approve.md diff --git a/.changeset/fluffy-cats-approve.md b/.changeset/fluffy-cats-approve.md new file mode 100644 index 0000000000..dff0972249 --- /dev/null +++ b/.changeset/fluffy-cats-approve.md @@ -0,0 +1,5 @@ +--- +'@backstage/create-app': patch +--- + +fix typo in the comments of EntityPage component diff --git a/packages/create-app/templates/default-app/packages/app/src/components/catalog/EntityPage.tsx b/packages/create-app/templates/default-app/packages/app/src/components/catalog/EntityPage.tsx index 2074a2712c..252b538f4e 100644 --- a/packages/create-app/templates/default-app/packages/app/src/components/catalog/EntityPage.tsx +++ b/packages/create-app/templates/default-app/packages/app/src/components/catalog/EntityPage.tsx @@ -160,7 +160,7 @@ const websiteEntityPage = ( /** * NOTE: This page is designed to work on small screens such as mobile devices. * This is based on Material UI Grid. If breakpoints are used, each grid item must set the `xs` prop to a column size or to `true`, - * since this does not default. If no breakpoints are used, the items will equitably share the asvailable space. + * since this does not default. If no breakpoints are used, the items will equitably share the available space. * https://material-ui.com/components/grid/#basic-grid. */ From de6b94e23695581c5786c9a3b6232f2a42518a19 Mon Sep 17 00:00:00 2001 From: Himanshu Mishra Date: Fri, 30 Jul 2021 12:54:30 +0200 Subject: [PATCH 089/712] create-app: update app config to use the latest techdocs.generator option See https://backstage.io/docs/features/techdocs/configuration PR https://github.com/backstage/backstage/pull/6071 Signed-off-by: Himanshu Mishra --- packages/create-app/templates/default-app/app-config.yaml.hbs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/create-app/templates/default-app/app-config.yaml.hbs b/packages/create-app/templates/default-app/app-config.yaml.hbs index 0878bbab65..dc296e5e62 100644 --- a/packages/create-app/templates/default-app/app-config.yaml.hbs +++ b/packages/create-app/templates/default-app/app-config.yaml.hbs @@ -60,8 +60,8 @@ proxy: # https://backstage.io/docs/features/techdocs/how-to-guides#how-to-migrate-from-techdocs-basic-to-recommended-deployment-approach techdocs: builder: 'local' # Alternatives - 'external' - generators: - techdocs: 'docker' # Alternatives - 'local' + generator: + runIn: 'docker' # Alternatives - 'local' publisher: type: 'local' # Alternatives - 'googleGcs' or 'awsS3'. Read documentation for using alternatives. From 11c47adcddfaee534de51d11cbb7df9f0ae9d125 Mon Sep 17 00:00:00 2001 From: Himanshu Mishra Date: Fri, 30 Jul 2021 12:54:51 +0200 Subject: [PATCH 090/712] docs/techdocs: Indicate optional configs explicitly Signed-off-by: Himanshu Mishra --- docs/features/techdocs/configuration.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/features/techdocs/configuration.md b/docs/features/techdocs/configuration.md index ef6a80d44c..4bb6857106 100644 --- a/docs/features/techdocs/configuration.md +++ b/docs/features/techdocs/configuration.md @@ -24,13 +24,13 @@ techdocs: runIn: 'docker' - # techdocs.generator.dockerImage can be used to control the docker image used during documentation generation. This can be useful + # (Optional) techdocs.generator.dockerImage can be used to control the docker image used during documentation generation. This can be useful # if you want to use MkDocs plugins or other packages that are not included in the default techdocs-container (spotify/techdocs). # NOTE: This setting is only used when techdocs.generator.runIn is set to 'docker'. dockerImage: 'spotify/techdocs' - # techdocs.generator.pullImage can be used to disable pulling the latest docker image by default. This can be useful when you are + # (Optional) techdocs.generator.pullImage can be used to disable pulling the latest docker image by default. This can be useful when you are # using a custom techdocs.generator.dockerImage and you have a custom docker login requirement. For example, you need to login to # AWS ECR to pull the docker image. # NOTE: Disabling this requires the docker image was pulled by other means before running the techdocs generator. From 98dda80b4a867d4b5657b0632be1cba16b152be4 Mon Sep 17 00:00:00 2001 From: Himanshu Mishra Date: Fri, 30 Jul 2021 12:57:48 +0200 Subject: [PATCH 091/712] create-app: add changeset for the techdocs config update Signed-off-by: Himanshu Mishra --- .changeset/techdocs-spicy-icons-explode.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .changeset/techdocs-spicy-icons-explode.md diff --git a/.changeset/techdocs-spicy-icons-explode.md b/.changeset/techdocs-spicy-icons-explode.md new file mode 100644 index 0000000000..7a532c0323 --- /dev/null +++ b/.changeset/techdocs-spicy-icons-explode.md @@ -0,0 +1,7 @@ +--- +'@backstage/create-app': patch +--- + +Update `techdocs.generators` with the latest `techdocs.generator` config in `app-config.yaml`. See +https://backstage.io/docs/features/techdocs/configuration for reference and relevant PR +https://github.com/backstage/backstage/pull/6071/files for the changes. From d9c13d535be453c4e84bb28fd7180dee033b6843 Mon Sep 17 00:00:00 2001 From: Jussi Hallila Date: Wed, 21 Jul 2021 16:45:16 +0200 Subject: [PATCH 092/712] Implement ElasticSearch search engine * Adding indexing, searching and default translator for ElasticSearch engine * Modifying default backend to use ES if it is enabled * Adding configuration schema to configure ElasticSearch 3 different ways * Elastic.co hosted solution * AWS hosted ElasticSearch Service * Custom, using standard ElasticSearch URL and auth info * Add and modify some of the documentation regarding search Signed-off-by: Jussi Hallila --- .changeset/two-ravens-warn.md | 72 +++ .github/styles/vocab.txt | 1 + docs/features/search/getting-started.md | 10 +- docs/features/search/search-engines.md | 141 ++++++ packages/backend/package.json | 1 + packages/backend/src/plugins/search.ts | 9 +- packages/search-common/api-report.md | 14 + packages/search-common/src/types.ts | 28 ++ .../.eslintrc.js | 3 + .../README.md | 9 + .../api-report.md | 52 +++ .../config.d.ts | 104 +++++ .../package.json | 44 ++ .../engines/ElasticSearchSearchEngine.test.ts | 432 ++++++++++++++++++ .../src/engines/ElasticSearchSearchEngine.ts | 274 +++++++++++ .../src/engines/index.ts | 18 + .../src/index.ts | 17 + plugins/search-backend-node/api-report.md | 13 +- .../search-backend-node/src/IndexBuilder.ts | 2 +- .../src/engines/LunrSearchEngine.test.ts | 2 +- .../src/engines/LunrSearchEngine.ts | 3 +- plugins/search-backend-node/src/index.ts | 6 +- plugins/search-backend-node/src/types.ts | 36 +- yarn.lock | 152 +++++- 24 files changed, 1385 insertions(+), 58 deletions(-) create mode 100644 .changeset/two-ravens-warn.md create mode 100644 docs/features/search/search-engines.md create mode 100644 plugins/search-backend-module-elasticsearch/.eslintrc.js create mode 100644 plugins/search-backend-module-elasticsearch/README.md create mode 100644 plugins/search-backend-module-elasticsearch/api-report.md create mode 100644 plugins/search-backend-module-elasticsearch/config.d.ts create mode 100644 plugins/search-backend-module-elasticsearch/package.json create mode 100644 plugins/search-backend-module-elasticsearch/src/engines/ElasticSearchSearchEngine.test.ts create mode 100644 plugins/search-backend-module-elasticsearch/src/engines/ElasticSearchSearchEngine.ts create mode 100644 plugins/search-backend-module-elasticsearch/src/engines/index.ts create mode 100644 plugins/search-backend-module-elasticsearch/src/index.ts diff --git a/.changeset/two-ravens-warn.md b/.changeset/two-ravens-warn.md new file mode 100644 index 0000000000..348d4aff21 --- /dev/null +++ b/.changeset/two-ravens-warn.md @@ -0,0 +1,72 @@ +--- +'@backstage/plugin-search-backend-module-elasticsearch': minor +'@backstage/search-common': patch +'@backstage/plugin-search-backend-node': patch +--- + +Implements configuration and indexing functionality for ElasticSearch search engine. Adds indexing, searching and default translator for ElasticSearch and modifies default backend example-app to use ES if it is configured. + +## Example configurations: + +### AWS + +Using AWS hosted ElasticSearch the only configuration options needed is the URL to the ElasticSearch service. The implementation assumes +that environment variables for AWS access key id and secret access key are defined in accordance to the [default AWS credential chain.](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-credentials-node.html). + +```yaml +search: + elasticSearch: + provider: aws + node: https://my-backstage-search-asdfqwerty.eu-west-1.es.amazonaws.com +``` + +### Elastic.co + +Elastic Cloud hosted ElasticSearch uses a Cloud ID to determine the instance of hosted ElasticSearch to connect to. Additionally, username and password needs to be provided either directly or using environment variables like defined in [Backstage documentation.](https://backstage.io/docs/conf/writing#includes-and-dynamic-data) + +```yaml +search: + elasticSearch: + provider: elastic + cloudId: backstage-elastic:asdfqwertyasdfqwertyasdfqwertyasdfqwerty== + auth: + username: elastic + password: changeme +``` + +### Others + +Other ElasticSearch instances can be connected to by using standard ElasticSearch authentication methods and exposed URL, provided that the cluster supports that. The configuration options needed are the URL to the node and authentication information. Authentication can be handled by either providing username/password or and API key or a bearer token. In case both username/password combination and one of the tokens are provided, token takes precedence. For more information how to create an API key, see [Elastic documentation on API keys](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html) and how to create a bearer token, see [Elastic documentation on tokens.](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-service-token.html) + +#### Configuration examples + +##### With username and password + +```yaml +search: + elasticSearch: + node: http://localhost:9200 + auth: + username: elastic + password: changeme +``` + +##### With bearer token + +```yaml +search: + elasticSearch: + node: http://localhost:9200 + auth: + bearer: token +``` + +##### With API key + +```yaml +search: + elasticSearch: + node: http://localhost:9200 + auth: + apiKey: base64EncodedKey +``` diff --git a/.github/styles/vocab.txt b/.github/styles/vocab.txt index 48740ef367..f098788ae6 100644 --- a/.github/styles/vocab.txt +++ b/.github/styles/vocab.txt @@ -75,6 +75,7 @@ dockerode Docusaurus env Env +elasticsearch esbuild eslint etag diff --git a/docs/features/search/getting-started.md b/docs/features/search/getting-started.md index 2bd26faf8b..79ef267ea5 100644 --- a/docs/features/search/getting-started.md +++ b/docs/features/search/getting-started.md @@ -252,13 +252,9 @@ an example: Backstage Search isn't a search engine itself, rather, it provides an interface between your Backstage instance and a [Search Engine](./concepts.md#search-engines) of your choice. Currently, we only -support one, an in-memory search Engine called Lunr. It can be instantiated like -this: - -```typescript -const searchEngine = new LunrSearchEngine({ logger }); -const indexBuilder = new IndexBuilder({ logger, searchEngine }); -``` +support two engines, an in-memory search Engine called Lunr and ElasticSearch. +See [Search Engines](./search-engines.md) documentation for more information how +to configure these in your Backstage instance. Backstage Search can be used to power search of anything! Plugins like the Catalog offer default [collators](./concepts.md#collators) (e.g. diff --git a/docs/features/search/search-engines.md b/docs/features/search/search-engines.md new file mode 100644 index 0000000000..0cb0f3507d --- /dev/null +++ b/docs/features/search/search-engines.md @@ -0,0 +1,141 @@ +--- +id: search-engines +title: Search Engines +description: Choosing and configuring your search engine for Backstage +--- + +# Search Engines + +Backstage supports 2 search engines by default, an in-memory engine called Lunr +and ElasticSearch. You can configure your own search engines by implementing the +provided interface as mentioned in the +[search backend documentation.](./getting-started.md#Backend) + +Provided search engine implementations have their own way of constructing +queries, which may be something you want to modify. Alterations to the querying +logic of a search engine can be made by providing your own implementation of a +QueryTranslator interface. This modification can be done without touching +provided search engines by using the exposed setter to set the modified query +translator into the instance. + +``` +const searchEngine = new LunrSearchEngine({ logger }); +searchEngine.setTranslator(new MyNewAndBetterQueryTranslator()); +``` + +## Lunr + +Lunr search engine is enabled by default for your backstage instance if you have +not done additional changes to the scaffolded app. + +Lunr can be instantiated like this: + +```typescript +// app/backend/src/plugins/search.ts +const searchEngine = new LunrSearchEngine({ logger }); +const indexBuilder = new IndexBuilder({ logger, searchEngine }); +``` + +## ElasticSearch + +Backstage supports ElasticSearch search engine connections, indexing and +querying out of the box. Available configuration options enable usage of either +AWS or Elastic.co hosted solutions, or a custom self-hosted solution. + +Similarly to Lunr above, ElasticSearch can be set up like this: + +```typescript +// app/backend/src/plugins/search.ts +const searchEngine = await ElasticSearchSearchEngine.initialize({ + logger, + config, +}); +const indexBuilder = new IndexBuilder({ logger, searchEngine }); +``` + +For the engine to be available, your backend package needs a dependency into +package `@backstage/plugin-search-backend-module-elasticsearch`. + +ElasticSearch needs some additional configuration before it is ready to use +within your instance. The configuration options are documented in the +[configuration schema definition file.](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-elasticsearch/config.d.ts) + +## Example configurations + +### AWS + +Using AWS hosted ElasticSearch the only configuration option needed is the URL +to the ElasticSearch service. The implementation assumes that environment +variables for AWS access key id and secret access key are defined in accordance +to the +[default AWS credential chain.](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-credentials-node.html). + +```yaml +search: + elasticSearch: + provider: aws + node: https://my-backstage-search-asdfqwerty.eu-west-1.es.amazonaws.com +``` + +### Elastic.co + +Elastic Cloud hosted ElasticSearch uses a Cloud ID to determine the instance of +hosted ElasticSearch to connect to. Additionally, username and password needs to +be provided either directly or using environment variables like defined in +[Backstage documentation.](https://backstage.io/docs/conf/writing#includes-and-dynamic-data) + +```yaml +search: + elasticSearch: + provider: elastic + cloudId: backstage-elastic:asdfqwertyasdfqwertyasdfqwertyasdfqwerty== + auth: + username: elastic + password: changeme +``` + +### Others + +Other ElasticSearch instances can be connected to by using standard +ElasticSearch authentication methods and exposed URL, provided that the cluster +supports that. The configuration options needed are the URL to the node and +authentication information. Authentication can be handled by either providing +username/password or an API key or a bearer token. In case both +username/password combination and one of the tokens are provided, token takes +precedence. For more information how to create an API key, see +[Elastic documentation on API keys](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html), +and how to create a bearer token see +[Elastic documentation on tokens.](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-service-token.html) + +#### Configuration examples + +##### With username and password + +```yaml +search: + elasticSearch: + node: http://localhost:9200 + auth: + username: elastic + password: changeme +``` + +##### With bearer token + +```yaml +search: + elasticSearch: + node: http://localhost:9200 + auth: + bearer: token +``` + +##### With API key + +```yaml +search: + elasticSearch: + node: http://localhost:9200 + auth: + apiKey: base64EncodedKey +``` diff --git a/packages/backend/package.json b/packages/backend/package.json index 9fc455801b..5d4ff60d68 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -47,6 +47,7 @@ "@backstage/plugin-scaffolder-backend-module-rails": "^0.1.3", "@backstage/plugin-search-backend": "^0.2.3", "@backstage/plugin-search-backend-node": "^0.4.0", + "@backstage/plugin-search-backend-module-elasticsearch": "^0.0.1", "@backstage/plugin-techdocs-backend": "^0.9.0", "@backstage/plugin-todo-backend": "^0.1.8", "@gitbeaker/node": "^30.2.0", diff --git a/packages/backend/src/plugins/search.ts b/packages/backend/src/plugins/search.ts index 7e7f6ae400..eb13bc9df6 100644 --- a/packages/backend/src/plugins/search.ts +++ b/packages/backend/src/plugins/search.ts @@ -22,13 +22,20 @@ import { import { PluginEnvironment } from '../types'; import { DefaultCatalogCollator } from '@backstage/plugin-catalog-backend'; import { DefaultTechDocsCollator } from '@backstage/plugin-techdocs-backend'; +import { ElasticSearchSearchEngine } from '@backstage/plugin-search-backend-module-elasticsearch'; export default async function createPlugin({ logger, discovery, + config, }: PluginEnvironment) { // Initialize a connection to a search engine. - const searchEngine = new LunrSearchEngine({ logger }); + const searchEngine = config.has('search.elasticSearch') + ? await ElasticSearchSearchEngine.fromConfig({ + logger, + config, + }) + : new LunrSearchEngine({ logger }); const indexBuilder = new IndexBuilder({ logger, searchEngine }); // Collators are responsible for gathering documents known to plugins. This diff --git a/packages/search-common/api-report.md b/packages/search-common/api-report.md index 504f9afb9c..055f2d152f 100644 --- a/packages/search-common/api-report.md +++ b/packages/search-common/api-report.md @@ -32,6 +32,20 @@ export interface IndexableDocument { title: string; } +// Warning: (ae-missing-release-tag) "QueryTranslator" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public +export type QueryTranslator = (query: SearchQuery) => unknown; + +// Warning: (ae-missing-release-tag) "SearchEngine" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public +export interface SearchEngine { + index(type: string, documents: IndexableDocument[]): Promise; + query(query: SearchQuery): Promise; + setTranslator(translator: QueryTranslator): void; +} + // Warning: (ae-missing-release-tag) "SearchQuery" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) diff --git a/packages/search-common/src/types.ts b/packages/search-common/src/types.ts index 8a5e16b6b5..2a4447efac 100644 --- a/packages/search-common/src/types.ts +++ b/packages/search-common/src/types.ts @@ -79,3 +79,31 @@ export interface DocumentDecorator { readonly types?: string[]; execute(documents: IndexableDocument[]): Promise; } + +/** + * A type of function responsible for translating an abstract search query into + * a concrete query relevant to a particular search engine. + */ +export type QueryTranslator = (query: SearchQuery) => unknown; + +/** + * Interface that must be implemented by specific search engines, responsible + * for performing indexing and querying and translating abstract queries into + * concrete, search engine-specific queries. + */ +export interface SearchEngine { + /** + * Override the default translator provided by the SearchEngine. + */ + setTranslator(translator: QueryTranslator): void; + + /** + * Add the given documents to the SearchEngine index of the given type. + */ + index(type: string, documents: IndexableDocument[]): Promise; + + /** + * Perform a search query against the SearchEngine. + */ + query(query: SearchQuery): Promise; +} diff --git a/plugins/search-backend-module-elasticsearch/.eslintrc.js b/plugins/search-backend-module-elasticsearch/.eslintrc.js new file mode 100644 index 0000000000..16a033dbc6 --- /dev/null +++ b/plugins/search-backend-module-elasticsearch/.eslintrc.js @@ -0,0 +1,3 @@ +module.exports = { + extends: [require.resolve('@backstage/cli/config/eslint.backend')], +}; diff --git a/plugins/search-backend-module-elasticsearch/README.md b/plugins/search-backend-module-elasticsearch/README.md new file mode 100644 index 0000000000..fc9f3a4f99 --- /dev/null +++ b/plugins/search-backend-module-elasticsearch/README.md @@ -0,0 +1,9 @@ +# search-backend-module-elasticsearch + +This is an extension to module to search-backend-node plugin, which provides basic types, interfaces and functionality to implement search process within Backstage. + +This module provides functionality to index and implement querying using ElasticSearch engine. The module exposes configuration options to connect Backstage to your ElasticSearch cluster to be used as search engine. + +## Getting started + +See [Backstage documentation](https://backstage.io/docs/features/search/getting-started) for details on how to install and configure ElasticSearch for your Backstage instance. diff --git a/plugins/search-backend-module-elasticsearch/api-report.md b/plugins/search-backend-module-elasticsearch/api-report.md new file mode 100644 index 0000000000..eac76a30b9 --- /dev/null +++ b/plugins/search-backend-module-elasticsearch/api-report.md @@ -0,0 +1,52 @@ +## API Report File for "@backstage/plugin-search-backend-module-elasticsearch" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts +import { Client } from '@elastic/elasticsearch'; +import { Config } from '@backstage/config'; +import { IndexableDocument } from '@backstage/search-common'; +import { Logger as Logger_2 } from 'winston'; +import { SearchEngine } from '@backstage/search-common'; +import { SearchQuery } from '@backstage/search-common'; +import { SearchResultSet } from '@backstage/search-common'; + +// Warning: (ae-missing-release-tag) "ElasticSearchSearchEngine" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export class ElasticSearchSearchEngine implements SearchEngine { + constructor( + elasticSearchClient: Client, + aliasPostfix: string, + indexPrefix: string, + logger: Logger_2, + ); + // Warning: (ae-forgotten-export) The symbol "ElasticSearchOptions" needs to be exported by the entry point index.d.ts + // + // (undocumented) + static fromConfig({ + logger, + config, + aliasPostfix, + indexPrefix, + }: ElasticSearchOptions): Promise; + // (undocumented) + index(type: string, documents: IndexableDocument[]): Promise; + // (undocumented) + query(query: SearchQuery): Promise; + // Warning: (ae-forgotten-export) The symbol "ElasticSearchQueryTranslator" needs to be exported by the entry point index.d.ts + // + // (undocumented) + setTranslator(translator: ElasticSearchQueryTranslator): void; + // Warning: (ae-forgotten-export) The symbol "ConcreteElasticSearchQuery" needs to be exported by the entry point index.d.ts + // + // (undocumented) + protected translator({ + term, + filters, + types, + }: SearchQuery): ConcreteElasticSearchQuery; +} + +// (No @packageDocumentation comment for this package) +``` diff --git a/plugins/search-backend-module-elasticsearch/config.d.ts b/plugins/search-backend-module-elasticsearch/config.d.ts new file mode 100644 index 0000000000..d808166574 --- /dev/null +++ b/plugins/search-backend-module-elasticsearch/config.d.ts @@ -0,0 +1,104 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export interface Config { + /** Configuration options for the search plugin */ + search?: { + /** + * Options for ElasticSearch + */ + elasticSearch?: + | // elastic = Elastic.co ElasticSearch provider + { + provider: 'elastic'; + + /** + * Elastic.co CloudID + * See: https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/client-connecting.html#authentication + */ + cloudId: string; + + auth: { + username: string; + + /** + * @visibility secret + */ + password: string; + }; + } + + /** + * AWS = Amazon Elasticsearch Service provider + * + * Authentication is handled using the default AWS credentials provider chain + */ + | { + provider: 'aws'; + + /** + * Node configuration. + * URL AWS ES endpoint to connect to. + * Eg. https://my-es-cluster.eu-west-1.es.amazonaws.com + */ + node: string; + } + + /** + * Standard ElasticSearch + * + * Includes self-hosted clusters and others that provide direct connection via an endpoint + * and authentication method (see possible authentication options below) + */ + | { + /** + * Node configuration. + * URL/URLS to ElasticSearch node to connect to. + * Either direct URL like 'https://localhost:9200' or with credentials like 'https://username:password@localhost:9200' + */ + node: string | string[]; + + /** + * Authentication credentials for ElasticSearch + * If both ApiKey/Bearer token and username+password is provided, tokens take precedence + */ + auth: { + username?: string; + + /** + * @visibility secret + */ + password?: string; + + /** + * Base64 Encoded API key to be used to connect to the cluster. + * See: https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html + * + * @visibility secret + */ + apiKey?: string; + + /** + * Bearer authentication token to connect to the cluster. + * See: https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-service-token.html + * + * @visibility secret + */ + bearer?: string; + }; + }; + }; +} diff --git a/plugins/search-backend-module-elasticsearch/package.json b/plugins/search-backend-module-elasticsearch/package.json new file mode 100644 index 0000000000..dd9ca7703c --- /dev/null +++ b/plugins/search-backend-module-elasticsearch/package.json @@ -0,0 +1,44 @@ +{ + "name": "@backstage/plugin-search-backend-module-elasticsearch", + "version": "0.0.1", + "main": "src/index.ts", + "types": "src/index.ts", + "license": "Apache-2.0", + "publishConfig": { + "access": "public", + "main": "dist/index.cjs.js", + "types": "dist/index.d.ts" + }, + "scripts": { + "start": "backstage-cli backend:dev", + "build": "backstage-cli backend:build", + "lint": "backstage-cli lint", + "test": "backstage-cli test", + "prepack": "backstage-cli prepack", + "postpack": "backstage-cli postpack", + "clean": "backstage-cli clean" + }, + "dependencies": { + "@backstage/config": "^0.1.5", + "@backstage/search-common": "^0.1.2", + "@elastic/elasticsearch": "^7.13.0", + "@acuris/aws-es-connection": "^2.2.0", + "aws-sdk": "^2.948.0", + "elastic-builder": "^2.16.0", + "lodash": "^4.17.21", + "winston": "^3.2.1" + }, + "devDependencies": { + "@backstage/backend-common": "^0.8.6", + "@backstage/cli": "^0.7.4", + "@elastic/elasticsearch-mock": "^0.3.0" + }, + "files": [ + "dist", + "config.d.ts" + ], + "jest": { + "testEnvironment": "node" + }, + "configSchema": "config.d.ts" +} diff --git a/plugins/search-backend-module-elasticsearch/src/engines/ElasticSearchSearchEngine.test.ts b/plugins/search-backend-module-elasticsearch/src/engines/ElasticSearchSearchEngine.test.ts new file mode 100644 index 0000000000..b4bba9de9c --- /dev/null +++ b/plugins/search-backend-module-elasticsearch/src/engines/ElasticSearchSearchEngine.test.ts @@ -0,0 +1,432 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { getVoidLogger } from '@backstage/backend-common'; +import { SearchEngine } from '@backstage/search-common'; +import { + ConcreteElasticSearchQuery, + ElasticSearchSearchEngine, +} from './ElasticSearchSearchEngine'; +import { Client } from '@elastic/elasticsearch'; +import Mock from '@elastic/elasticsearch-mock'; + +class ElasticSearchSearchEngineForTranslatorTests extends ElasticSearchSearchEngine { + getTranslator() { + return this.translator; + } +} + +const mock = new Mock(); +const client = new Client({ + node: 'http://localhost:9200', + Connection: mock.getConnection(), +}); + +describe('ElasticSearchSearchEngine', () => { + let testSearchEngine: SearchEngine; + let inspectableSearchEngine: ElasticSearchSearchEngineForTranslatorTests; + + beforeEach(() => { + testSearchEngine = new ElasticSearchSearchEngine( + client, + 'search', + '', + getVoidLogger(), + ); + inspectableSearchEngine = new ElasticSearchSearchEngineForTranslatorTests( + client, + 'search', + '', + getVoidLogger(), + ); + }); + + describe('queryTranslator', () => { + beforeAll(() => { + mock.clearAll(); + mock.add( + { + method: 'POST', + path: '/*__search/_search', + }, + () => ({ + hits: { + total: { value: 0, relation: 'eq' }, + hits: [], + }, + }), + ); + }); + it('should invoke the query translator', async () => { + const translatorSpy = jest.fn().mockReturnValue({ + elasticSearchQuery: () => ({ + toJSON: () => + JSON.stringify({ + query: { + match_all: {}, + }, + }), + }), + documentTypes: [], + }); + testSearchEngine.setTranslator(translatorSpy); + + await testSearchEngine.query({ + term: 'testTerm', + filters: {}, + pageCursor: '', + }); + + expect(translatorSpy).toHaveBeenCalledWith({ + term: 'testTerm', + filters: {}, + pageCursor: '', + }); + }); + + it('should return translated query with 1 filter', async () => { + const translatorUnderTest = inspectableSearchEngine.getTranslator(); + + const actualTranslatedQuery = translatorUnderTest({ + types: ['indexName'], + term: 'testTerm', + filters: { kind: 'testKind' }, + pageCursor: '', + }) as ConcreteElasticSearchQuery; + + expect(actualTranslatedQuery).toMatchObject({ + documentTypes: ['indexName'], + elasticSearchQuery: expect.any(Object), + }); + + const queryBody = actualTranslatedQuery.elasticSearchQuery; + + expect(queryBody).toEqual({ + query: { + bool: { + must: { + multi_match: { + query: 'testTerm', + fields: ['*'], + fuzziness: 'auto', + minimum_should_match: 1, + }, + }, + filter: { + match: { + kind: 'testKind', + }, + }, + }, + }, + size: 100, + }); + }); + + it('should return translated query with multiple filters', async () => { + const translatorUnderTest = inspectableSearchEngine.getTranslator(); + + const actualTranslatedQuery = translatorUnderTest({ + types: ['indexName'], + term: 'testTerm', + filters: { kind: 'testKind', namespace: 'testNameSpace' }, + pageCursor: '', + }) as ConcreteElasticSearchQuery; + + expect(actualTranslatedQuery).toMatchObject({ + documentTypes: ['indexName'], + elasticSearchQuery: expect.any(Object), + }); + + const queryBody = actualTranslatedQuery.elasticSearchQuery; + + expect(queryBody).toEqual({ + query: { + bool: { + must: { + multi_match: { + query: 'testTerm', + fields: ['*'], + fuzziness: 'auto', + minimum_should_match: 1, + }, + }, + filter: [ + { + match: { + kind: 'testKind', + }, + }, + { + match: { + namespace: 'testNameSpace', + }, + }, + ], + }, + }, + size: 100, + }); + }); + + it('should return translated query with filter with multiple values', async () => { + const translatorUnderTest = inspectableSearchEngine.getTranslator(); + + const actualTranslatedQuery = translatorUnderTest({ + types: ['indexName'], + term: 'testTerm', + filters: { kind: ['testKind', 'kastTeint'] }, + pageCursor: '', + }) as ConcreteElasticSearchQuery; + + expect(actualTranslatedQuery).toMatchObject({ + documentTypes: ['indexName'], + elasticSearchQuery: expect.any(Object), + }); + + const queryBody = actualTranslatedQuery.elasticSearchQuery; + + expect(queryBody).toEqual({ + query: { + bool: { + must: { + multi_match: { + query: 'testTerm', + fields: ['*'], + fuzziness: 'auto', + minimum_should_match: 1, + }, + }, + filter: { + bool: { + should: [ + { + match: { + kind: 'testKind', + }, + }, + { + match: { + kind: 'kastTeint', + }, + }, + ], + }, + }, + }, + }, + size: 100, + }); + }); + + it('should throw if unsupported filter shapes passed in', async () => { + const translatorUnderTest = inspectableSearchEngine.getTranslator(); + const actualTranslatedQuery = () => + translatorUnderTest({ + types: ['indexName'], + term: 'testTerm', + filters: { kind: { a: 'b' } }, + pageCursor: '', + }) as ConcreteElasticSearchQuery; + expect(actualTranslatedQuery).toThrow(); + }); + }); + + describe('query functionality', () => { + beforeEach(() => { + mock.clearAll(); + mock.add( + { + method: 'GET', + path: '/_cat/aliases/test-index__search', + }, + () => [ + { + alias: 'test-index__search', + index: 'test-index-index__1626850643538', + filter: '-', + 'routing.index': '-', + 'routing.search': '-', + is_write_index: '-', + }, + ], + ); + mock.add( + { + method: 'POST', + path: ['/_bulk'], + }, + () => ({ + took: 30, + errors: false, + items: [ + { + index: { + _index: 'test', + _type: '_doc', + _id: '1', + _version: 1, + result: 'created', + _shards: { + total: 2, + successful: 1, + failed: 0, + }, + status: 201, + _seq_no: 0, + _primary_term: 1, + }, + }, + ], + }), + ); + + mock.add( + { + method: 'POST', + path: '/*__search/_search', + }, + () => ({ + hits: { + total: { value: 0, relation: 'eq' }, + hits: [], + }, + }), + ); + }); + + // Mostly useless test since we are more or less testing the mock, runs through the whole flow though + // We might want to spin up ES test container to run against the real engine. + // That container eats GBs of memory so opting out of that for now... + it('should perform search query and return 0 results on empty index', async () => { + const mockedSearchResult = await testSearchEngine.query({ + term: 'testTerm', + filters: {}, + pageCursor: '', + }); + + // Should return 0 results as nothing is indexed here + expect(mockedSearchResult).toMatchObject({ results: [] }); + }); + + it('should handle index/search type filtering correctly', async () => { + const elasticSearchQuerySpy = jest.spyOn(client, 'search'); + await testSearchEngine.query({ + term: 'testTerm', + filters: {}, + pageCursor: '', + }); + + expect(elasticSearchQuerySpy).toHaveBeenCalled(); + expect(elasticSearchQuerySpy).toHaveBeenCalledWith({ + body: { + query: { + bool: { + must: { + multi_match: { + query: 'testTerm', + fields: ['*'], + fuzziness: 'auto', + minimum_should_match: 1, + }, + }, + filter: [], + }, + }, + size: 100, + }, + index: '*__search', + }); + + elasticSearchQuerySpy.mockClear(); + }); + + it('should create matchAll query if no term defined', async () => { + const elasticSearchQuerySpy = jest.spyOn(client, 'search'); + await testSearchEngine.query({ + term: '', + filters: {}, + pageCursor: '', + }); + + expect(elasticSearchQuerySpy).toHaveBeenCalled(); + expect(elasticSearchQuerySpy).toHaveBeenCalledWith({ + body: { + query: { + bool: { + must: { + match_all: {}, + }, + filter: [], + }, + }, + size: 100, + }, + index: '*__search', + }); + + elasticSearchQuerySpy.mockClear(); + }); + + it('should query only specified indices if defined', async () => { + const elasticSearchQuerySpy = jest.spyOn(client, 'search'); + await testSearchEngine.query({ + term: '', + filters: {}, + pageCursor: '', + types: ['test-type'], + }); + + expect(elasticSearchQuerySpy).toHaveBeenCalled(); + expect(elasticSearchQuerySpy).toHaveBeenCalledWith({ + body: { + query: { + bool: { + must: { + match_all: {}, + }, + filter: [], + }, + }, + size: 100, + }, + index: ['test-type__search'], + }); + + elasticSearchQuerySpy.mockClear(); + }); + }); + + describe('index', () => { + it('should index document', async () => { + const indexSpy = jest.spyOn(testSearchEngine, 'index'); + const mockDocuments = [ + { + title: 'testTerm', + text: 'testText', + location: 'test/location', + }, + ]; + + // call index func and ensure the index func was invoked. + await testSearchEngine.index('test-index', mockDocuments); + expect(indexSpy).toHaveBeenCalled(); + expect(indexSpy).toHaveBeenCalledWith('test-index', [ + { title: 'testTerm', text: 'testText', location: 'test/location' }, + ]); + }); + }); +}); diff --git a/plugins/search-backend-module-elasticsearch/src/engines/ElasticSearchSearchEngine.ts b/plugins/search-backend-module-elasticsearch/src/engines/ElasticSearchSearchEngine.ts new file mode 100644 index 0000000000..b068df666a --- /dev/null +++ b/plugins/search-backend-module-elasticsearch/src/engines/ElasticSearchSearchEngine.ts @@ -0,0 +1,274 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { + IndexableDocument, + SearchQuery, + SearchResultSet, + SearchEngine, +} from '@backstage/search-common'; +import { Logger } from 'winston'; +import esb from 'elastic-builder'; +import { Client } from '@elastic/elasticsearch'; +import { Config } from '@backstage/config'; +import { + createAWSConnection, + awsGetCredentials, +} from '@acuris/aws-es-connection'; +import { isEmpty, isNaN as nan, isNumber } from 'lodash'; + +export type ConcreteElasticSearchQuery = { + documentTypes?: string[]; + elasticSearchQuery: Object; +}; + +type ElasticConfigAuth = { + username: string; + password: string; + apiKey: string; + bearer: string; +}; + +type ElasticSearchQueryTranslator = ( + query: SearchQuery, +) => ConcreteElasticSearchQuery; + +type ElasticSearchOptions = { + logger: Logger; + config: Config; + aliasPostfix?: string; + indexPrefix?: string; +}; + +type ElasticSearchResult = { + _index: string; + _type: string; + _score: number; + _source: IndexableDocument; +}; + +function duration(startTimestamp: [number, number]): string { + const delta = process.hrtime(startTimestamp); + const seconds = delta[0] + delta[1] / 1e9; + return `${seconds.toFixed(1)}s`; +} + +function isBlank(str: string) { + return (isEmpty(str) && !isNumber(str)) || nan(str); +} + +export class ElasticSearchSearchEngine implements SearchEngine { + constructor( + private readonly elasticSearchClient: Client, + private readonly aliasPostfix: string, + private readonly indexPrefix: string, + private readonly logger: Logger, + ) {} + + static async fromConfig({ + logger, + config, + aliasPostfix = `search`, + indexPrefix = ``, + }: ElasticSearchOptions) { + return new ElasticSearchSearchEngine( + await ElasticSearchSearchEngine.constructElasticSearchClient( + logger, + config.getConfig('search.elasticSearch'), + ), + aliasPostfix, + indexPrefix, + logger, + ); + } + + private static async constructElasticSearchClient( + logger: Logger, + config?: Config, + ) { + if (!config) { + throw new Error('No elastic search config found'); + } + + if (config.getOptionalString('provider') === 'elastic') { + logger.info('Initializing Elastic.co ElasticSearch search engine.'); + return new Client({ + cloud: { + id: config.getString('cloudId'), + }, + auth: config.get('auth'), + }); + } + if (config.getOptionalString('provider') === 'aws') { + logger.info('Initializing AWS ElasticSearch search engine.'); + const awsCredentials = await awsGetCredentials(); + const AWSConnection = createAWSConnection(awsCredentials); + return new Client({ + node: config.getString('node'), + ...AWSConnection, + }); + } + logger.info('Initializing ElasticSearch search engine.'); + return new Client({ + node: config.getString('node'), + auth: config.get('auth'), + }); + } + + protected translator({ + term, + filters = {}, + types, + }: SearchQuery): ConcreteElasticSearchQuery { + const filter = Object.entries(filters) + .filter(([_, value]) => Boolean(value)) + .map(([key, value]: [key: string, value: any]) => { + if (['string', 'number', 'boolean'].includes(typeof value)) { + return esb.matchQuery(key, value.toString()); + } + if (Array.isArray(value)) { + return esb + .boolQuery() + .should(value.map(it => esb.matchQuery(key, it.toString()))); + } + this.logger.error( + 'Failed to query, unrecognized filter type', + key, + value, + ); + throw new Error( + 'Failed to add filters to query. Unrecognized filter type', + ); + }); + const query = isBlank(term) + ? esb.matchAllQuery() + : esb + .multiMatchQuery(['*'], term) + .fuzziness('auto') + .minimumShouldMatch(1); + + return { + elasticSearchQuery: esb + .requestBodySearch() + .query(esb.boolQuery().filter(filter).must([query])) + // TODO: Replace size limit with page cursor after pagination approach decided + // See: https://github.com/backstage/backstage/issues/6062 + .size(100) + .toJSON(), + documentTypes: types, + }; + } + + setTranslator(translator: ElasticSearchQueryTranslator) { + this.translator = translator; + } + + async index(type: string, documents: IndexableDocument[]): Promise { + this.logger.info( + `Started indexing ${documents.length} documents for index ${type}`, + ); + const startTimestamp = process.hrtime(); + const alias = this.constructSearchAlias(type); + const index = this.constructIndexName(type, `${Date.now()}`); + try { + const aliases = await this.elasticSearchClient.cat.aliases({ + format: 'json', + name: alias, + }); + const removableIndices = aliases.body.map( + (r: Record) => r.index, + ); + + await this.elasticSearchClient.indices.create({ + index, + }); + const result = await this.elasticSearchClient.helpers.bulk({ + datasource: documents, + onDocument() { + return { + index: { _index: index }, + }; + }, + refreshOnCompletion: index, + }); + + this.logger.info( + `Indexing completed for index ${type} in ${duration(startTimestamp)}`, + result, + ); + await this.elasticSearchClient.indices.updateAliases({ + body: { + actions: [ + { remove: { index: this.constructIndexName(type, '*'), alias } }, + { add: { index, alias } }, + ], + }, + }); + + this.logger.info('Removing stale search indices', removableIndices); + if (removableIndices.length) { + await this.elasticSearchClient.indices.delete({ + index: removableIndices, + }); + } + } catch (e) { + this.logger.error(`Failed to index documents for type ${type}`, e); + const response = await this.elasticSearchClient.indices.exists({ + index, + }); + const indexCreated = response.body; + if (indexCreated) { + this.logger.info(`Removing created index ${index}`); + await this.elasticSearchClient.indices.delete({ + index, + }); + } + } + } + + async query(query: SearchQuery): Promise { + const { elasticSearchQuery, documentTypes } = this.translator(query); + const queryIndices = documentTypes + ? documentTypes.map(it => this.constructSearchAlias(it)) + : this.constructSearchAlias('*'); + try { + const result = await this.elasticSearchClient.search({ + index: queryIndices, + body: elasticSearchQuery, + }); + return { + results: result.body.hits.hits.map((d: ElasticSearchResult) => ({ + type: d._index.split('__')[0], + document: d._source, + })), + }; + } catch (e) { + this.logger.error( + `Failed to query documents for indices ${queryIndices}`, + e, + ); + return Promise.reject({ results: [] }); + } + } + + private constructIndexName(type: string, postFix: string) { + return `${this.indexPrefix}${type}-index__${postFix}`; + } + + private constructSearchAlias(type: string) { + return `${this.indexPrefix}${type}__${this.aliasPostfix}`; + } +} diff --git a/plugins/search-backend-module-elasticsearch/src/engines/index.ts b/plugins/search-backend-module-elasticsearch/src/engines/index.ts new file mode 100644 index 0000000000..2f3641c114 --- /dev/null +++ b/plugins/search-backend-module-elasticsearch/src/engines/index.ts @@ -0,0 +1,18 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { ElasticSearchSearchEngine } from './ElasticSearchSearchEngine'; +export type { ConcreteElasticSearchQuery } from './ElasticSearchSearchEngine'; diff --git a/plugins/search-backend-module-elasticsearch/src/index.ts b/plugins/search-backend-module-elasticsearch/src/index.ts new file mode 100644 index 0000000000..4cfeec6598 --- /dev/null +++ b/plugins/search-backend-module-elasticsearch/src/index.ts @@ -0,0 +1,17 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { ElasticSearchSearchEngine } from './engines'; diff --git a/plugins/search-backend-node/api-report.md b/plugins/search-backend-node/api-report.md index 4418c4c590..beb1234e6a 100644 --- a/plugins/search-backend-node/api-report.md +++ b/plugins/search-backend-node/api-report.md @@ -8,6 +8,8 @@ import { DocumentDecorator } from '@backstage/search-common'; import { IndexableDocument } from '@backstage/search-common'; import { Logger as Logger_2 } from 'winston'; import { default as lunr_2 } from 'lunr'; +import { QueryTranslator } from '@backstage/search-common'; +import { SearchEngine } from '@backstage/search-common'; import { SearchQuery } from '@backstage/search-common'; import { SearchResultSet } from '@backstage/search-common'; @@ -50,8 +52,6 @@ export class LunrSearchEngine implements SearchEngine { // // (undocumented) setTranslator(translator: LunrQueryTranslator): void; - // Warning: (ae-forgotten-export) The symbol "QueryTranslator" needs to be exported by the entry point index.d.ts - // // (undocumented) protected translator: QueryTranslator; } @@ -66,14 +66,7 @@ export class Scheduler { stop(): void; } -// Warning: (ae-missing-release-tag) "SearchEngine" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface SearchEngine { - index(type: string, documents: IndexableDocument[]): Promise; - query(query: SearchQuery): Promise; - setTranslator(translator: QueryTranslator): void; -} +export { SearchEngine }; // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/search-backend-node/src/IndexBuilder.ts b/plugins/search-backend-node/src/IndexBuilder.ts index 9bbbd73067..5268caf58b 100644 --- a/plugins/search-backend-node/src/IndexBuilder.ts +++ b/plugins/search-backend-node/src/IndexBuilder.ts @@ -18,13 +18,13 @@ import { DocumentCollator, DocumentDecorator, IndexableDocument, + SearchEngine, } from '@backstage/search-common'; import { Logger } from 'winston'; import { Scheduler } from './index'; import { RegisterCollatorParameters, RegisterDecoratorParameters, - SearchEngine, } from './types'; interface CollatorEnvelope { diff --git a/plugins/search-backend-node/src/engines/LunrSearchEngine.test.ts b/plugins/search-backend-node/src/engines/LunrSearchEngine.test.ts index 3d59ba4b6f..3233c3adae 100644 --- a/plugins/search-backend-node/src/engines/LunrSearchEngine.test.ts +++ b/plugins/search-backend-node/src/engines/LunrSearchEngine.test.ts @@ -16,7 +16,7 @@ import { getVoidLogger } from '@backstage/backend-common'; import lunr from 'lunr'; -import { SearchEngine } from '../types'; +import { SearchEngine } from '@backstage/search-common'; import { ConcreteLunrQuery, LunrSearchEngine } from './LunrSearchEngine'; /** diff --git a/plugins/search-backend-node/src/engines/LunrSearchEngine.ts b/plugins/search-backend-node/src/engines/LunrSearchEngine.ts index e832e49f85..0cb4fd8336 100644 --- a/plugins/search-backend-node/src/engines/LunrSearchEngine.ts +++ b/plugins/search-backend-node/src/engines/LunrSearchEngine.ts @@ -18,10 +18,11 @@ import { IndexableDocument, SearchQuery, SearchResultSet, + QueryTranslator, + SearchEngine, } from '@backstage/search-common'; import lunr from 'lunr'; import { Logger } from 'winston'; -import { QueryTranslator, SearchEngine } from '../types'; export type ConcreteLunrQuery = { lunrQueryBuilder: lunr.Index.QueryBuilder; diff --git a/plugins/search-backend-node/src/index.ts b/plugins/search-backend-node/src/index.ts index b52a1ef20c..a0a1109211 100644 --- a/plugins/search-backend-node/src/index.ts +++ b/plugins/search-backend-node/src/index.ts @@ -17,4 +17,8 @@ export { IndexBuilder } from './IndexBuilder'; export { Scheduler } from './Scheduler'; export { LunrSearchEngine } from './engines'; -export type { SearchEngine } from './types'; + +/** + * @deprecated Import from @backstage/search-common instead + */ +export type { SearchEngine } from '@backstage/search-common'; diff --git a/plugins/search-backend-node/src/types.ts b/plugins/search-backend-node/src/types.ts index 28dc1237ba..df83357f6c 100644 --- a/plugins/search-backend-node/src/types.ts +++ b/plugins/search-backend-node/src/types.ts @@ -14,13 +14,7 @@ * limitations under the License. */ -import { - DocumentCollator, - DocumentDecorator, - IndexableDocument, - SearchQuery, - SearchResultSet, -} from '@backstage/search-common'; +import { DocumentCollator, DocumentDecorator } from '@backstage/search-common'; /** * Parameters required to register a collator. @@ -46,31 +40,3 @@ export interface RegisterDecoratorParameters { */ decorator: DocumentDecorator; } - -/** - * A type of function responsible for translating an abstract search query into - * a concrete query relevant to a particular search engine. - */ -export type QueryTranslator = (query: SearchQuery) => unknown; - -/** - * Interface that must be implemented by specific search engines, responsible - * for performing indexing and querying and translating abstract queries into - * concrete, search engine-specific queries. - */ -export interface SearchEngine { - /** - * Override the default translator provided by the SearchEngine. - */ - setTranslator(translator: QueryTranslator): void; - - /** - * Add the given documents to the SearchEngine index of the given type. - */ - index(type: string, documents: IndexableDocument[]): Promise; - - /** - * Perform a search query against the SearchEngine. - */ - query(query: SearchQuery): Promise; -} diff --git a/yarn.lock b/yarn.lock index 1be3dedc16..5739be4711 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,13 @@ # yarn lockfile v1 +"@acuris/aws-es-connection@^2.2.0": + version "2.2.0" + resolved "https://registry.npmjs.org/@acuris/aws-es-connection/-/aws-es-connection-2.2.0.tgz#43f7d6f3d15de0231642647a45eb84a8108e7d3e" + integrity sha512-xstECUJiWhj3kUK3aBpidoeHojXV611dcUewBwMG0hDRrRkIS+aj3xOhlfXcqYql7ITG84jgTfAidFqr8F+dnQ== + dependencies: + aws4 "^1.8.0" + "@apidevtools/json-schema-ref-parser@^9.0.6": version "9.0.6" resolved "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.0.6.tgz#5d9000a3ac1fd25404da886da6b266adcd99cf1c" @@ -1811,6 +1818,25 @@ dependencies: "@date-io/core" "^2.10.11" +"@elastic/elasticsearch-mock@^0.3.0": + version "0.3.0" + resolved "https://registry.npmjs.org/@elastic/elasticsearch-mock/-/elasticsearch-mock-0.3.0.tgz#6b1d8448aad3ca20f760fa01c0206b733c9c1e54" + integrity sha512-hZYRjPgRE1M0wCqdsgaDtwxrgQEXDZya1gQ3gnpc8pB8mHUfPoO+9ye7GbDPUkWbuGGGZ4/p6OKmAbt/ME+CDQ== + dependencies: + fast-deep-equal "^3.1.1" + find-my-way "^2.2.2" + into-stream "^5.1.1" + +"@elastic/elasticsearch@^7.13.0": + version "7.13.0" + resolved "https://registry.npmjs.org/@elastic/elasticsearch/-/elasticsearch-7.13.0.tgz#6dcf511dfa91187e22c81e54f41f4bd0fd96b4d6" + integrity sha512-WgwLWo2p9P2tdqzBGX9fHeG8p5IOTXprXNTECQG2mJ7z9n93N5AFBJpEw4d35tWWeCWi9jI13A2wzQZH7XZ/xw== + dependencies: + debug "^4.3.1" + hpagent "^0.1.1" + ms "^2.1.3" + secure-json-parse "^2.4.0" + "@emotion/cache@^10.0.27": version "10.0.29" resolved "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.29.tgz#87e7e64f412c060102d589fe7c6dc042e6f9d1e0" @@ -8129,6 +8155,21 @@ aws-sdk@^2.928.0: uuid "3.3.2" xml2js "0.4.19" +aws-sdk@^2.948.0: + version "2.948.0" + resolved "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.948.0.tgz#0c974c351af97dbc66dbd96bd6c20928baf10415" + integrity sha512-UJaCwccNaNNFtbhlvg+BmcaVWNI7RPonZA16nca0s3O+UnHm5y5H/nN6XpuJp+NUrxrLgTFaztPvjmBp5q6p+g== + dependencies: + buffer "4.9.2" + events "1.1.1" + ieee754 "1.1.13" + jmespath "0.15.0" + querystring "0.2.0" + sax "1.2.1" + url "0.10.3" + uuid "3.3.2" + xml2js "0.4.19" + aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -11912,6 +11953,21 @@ ejs@^3.1.2: dependencies: jake "^10.6.1" +elastic-builder@^2.16.0: + version "2.16.0" + resolved "https://registry.npmjs.org/elastic-builder/-/elastic-builder-2.16.0.tgz#684757ab9e6a4214653d23d84cec5ab8d185892f" + integrity sha512-5EXFxTAOPQFW7uYe59lZ5pqHBoyILQ8U3x1GgZN921EfAsLNdA2kMV0bgK8/rwJOd9JM0F40WpGxCPzHRtCG1Q== + dependencies: + babel-runtime "^6.26.0" + lodash.has "^4.5.2" + lodash.hasin "^4.5.2" + lodash.head "^4.0.1" + lodash.isempty "^4.4.0" + lodash.isnil "^4.0.0" + lodash.isobject "^3.0.2" + lodash.isstring "^4.0.1" + lodash.omit "^4.5.0" + electron-to-chromium@^1.3.378, electron-to-chromium@^1.3.564, electron-to-chromium@^1.3.723: version "1.3.739" resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.739.tgz#f07756aa92cabd5a6eec6f491525a64fe62f98b9" @@ -12932,6 +12988,11 @@ extsprintf@^1.2.0: resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= +fast-decode-uri-component@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz#46f8b6c22b30ff7a81357d4f59abfae938202543" + integrity sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg== + fast-deep-equal@2.0.1, fast-deep-equal@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" @@ -13221,6 +13282,15 @@ find-cache-dir@^3.3.1: make-dir "^3.0.2" pkg-dir "^4.1.0" +find-my-way@^2.2.2: + version "2.2.5" + resolved "https://registry.npmjs.org/find-my-way/-/find-my-way-2.2.5.tgz#86ce825266fa28cd962e538a45ec2aaa84c3d514" + integrity sha512-GjRZZlGcGmTh9t+6Xrj5K0YprpoAFCAiCPgmAH9Kb09O4oX6hYuckDfnDipYj+Q7B1GtYWSzDI5HEecNYscLQg== + dependencies: + fast-decode-uri-component "^1.0.0" + safe-regex2 "^2.0.0" + semver-store "^0.3.0" + find-root@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" @@ -13449,7 +13519,7 @@ fresh@0.5.2: resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= -from2@^2.1.0: +from2@^2.1.0, from2@^2.3.0: version "2.3.0" resolved "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= @@ -14659,6 +14729,11 @@ hpack.js@^2.1.6: readable-stream "^2.0.1" wbuf "^1.1.0" +hpagent@^0.1.1: + version "0.1.2" + resolved "https://registry.npmjs.org/hpagent/-/hpagent-0.1.2.tgz#cab39c66d4df2d4377dbd212295d878deb9bdaa9" + integrity sha512-ePqFXHtSQWAFXYmj+JtOTHr84iNrII4/QRlAAPPE+zqnKy4xJo7Ie1Y4kC7AdB+LxLxSTTzBMASsEcy0q8YyvQ== + hsl-regex@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" @@ -15301,6 +15376,14 @@ interpret@^2.0.0, interpret@^2.2.0: resolved "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== +into-stream@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/into-stream/-/into-stream-5.1.1.tgz#f9a20a348a11f3c13face22763f2d02e127f4db8" + integrity sha512-krrAJ7McQxGGmvaYbB7Q1mcA+cRwg9Ij2RfWIeVesNBgVDZmzY/Fa4IpZUT3bmdRzMzdf/mzltCG2Dq99IZGBA== + dependencies: + from2 "^2.3.0" + p-is-promise "^3.0.0" + invariant@^2.0.0, invariant@^2.2.2, invariant@^2.2.3, invariant@^2.2.4: version "2.2.4" resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" @@ -17667,6 +17750,21 @@ lodash.get@^4, lodash.get@^4.0.0, lodash.get@^4.4.2: resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= +lodash.has@^4.5.2: + version "4.5.2" + resolved "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz#d19f4dc1095058cccbe2b0cdf4ee0fe4aa37c862" + integrity sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI= + +lodash.hasin@^4.5.2: + version "4.5.2" + resolved "https://registry.npmjs.org/lodash.hasin/-/lodash.hasin-4.5.2.tgz#f91e352378d21ef7090b9e7687c2ca35c5b4d52a" + integrity sha1-+R41I3jSHvcJC552h8LKNcW01So= + +lodash.head@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/lodash.head/-/lodash.head-4.0.1.tgz#e2aa322d3ec40cd6aae186082977d993b354ed9c" + integrity sha1-4qoyLT7EDNaq4YYIKXfZk7NU7Zw= + lodash.includes@^4.3.0: version "4.3.0" resolved "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" @@ -17677,6 +17775,11 @@ lodash.isboolean@^3.0.3: resolved "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= +lodash.isempty@^4.4.0: + version "4.4.0" + resolved "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz#6f86cbedd8be4ec987be9aaf33c9684db1b31e7e" + integrity sha1-b4bL7di+TsmHvpqvM8loTbGzHn4= + lodash.isequal@^4.0.0: version "4.5.0" resolved "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" @@ -17692,11 +17795,21 @@ lodash.ismatch@^4.4.0: resolved "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" integrity sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc= +lodash.isnil@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/lodash.isnil/-/lodash.isnil-4.0.0.tgz#49e28cd559013458c814c5479d3c663a21bfaa6c" + integrity sha1-SeKM1VkBNFjIFMVHnTxmOiG/qmw= + lodash.isnumber@^3.0.3: version "3.0.3" resolved "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= +lodash.isobject@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz#3c8fb8d5b5bf4bf90ae06e14f2a530a4ed935e1d" + integrity sha1-PI+41bW/S/kK4G4U8qUwpO2TXh0= + lodash.isplainobject@^4.0.6: version "4.0.6" resolved "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" @@ -17717,6 +17830,11 @@ lodash.merge@^4.6.2: resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== +lodash.omit@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60" + integrity sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA= + lodash.once@^4.0.0, lodash.once@^4.1.1: version "4.1.1" resolved "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" @@ -18807,6 +18925,11 @@ ms@2.1.2, ms@^2.0.0, ms@^2.1.1: resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@^2.1.3: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + msal@^1.0.2: version "1.4.4" resolved "https://registry.npmjs.org/msal/-/msal-1.4.4.tgz#3f9b5a4442aa711c12ab8e88b8ed89b293f99711" @@ -19821,6 +19944,11 @@ p-finally@^2.0.0: resolved "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== +p-is-promise@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz#58e78c7dfe2e163cf2a04ff869e7c1dba64a5971" + integrity sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ== + p-limit@3.1.0, p-limit@^3.0.1, p-limit@^3.0.2, p-limit@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" @@ -22895,6 +23023,11 @@ ret@~0.1.10: resolved "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== +ret@~0.2.0: + version "0.2.2" + resolved "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz#b6861782a1f4762dce43402a71eb7a283f44573c" + integrity sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ== + retry-request@^4.0.0: version "4.1.3" resolved "https://registry.npmjs.org/retry-request/-/retry-request-4.1.3.tgz#d5f74daf261372cff58d08b0a1979b4d7cab0fde" @@ -23110,6 +23243,13 @@ safe-json-stringify@~1: resolved "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz#356e44bc98f1f93ce45df14bcd7c01cda86e0afd" integrity sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg== +safe-regex2@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/safe-regex2/-/safe-regex2-2.0.0.tgz#b287524c397c7a2994470367e0185e1916b1f5b9" + integrity sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ== + dependencies: + ret "~0.2.0" + safe-regex@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" @@ -23208,6 +23348,11 @@ scuid@^1.1.0: resolved "https://registry.npmjs.org/scuid/-/scuid-1.1.0.tgz#d3f9f920956e737a60f72d0e4ad280bf324d5dab" integrity sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg== +secure-json-parse@^2.4.0: + version "2.4.0" + resolved "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.4.0.tgz#5aaeaaef85c7a417f76271a4f5b0cc3315ddca85" + integrity sha512-Q5Z/97nbON5t/L/sH6mY2EacfjVGwrCcSi5D3btRO2GZ8pf1K1UN7Z9H5J57hjVU2Qzxr1xO+FmBhOvEkzCMmg== + select-hose@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -23237,6 +23382,11 @@ semver-diff@^3.1.1: dependencies: semver "^6.3.0" +semver-store@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/semver-store/-/semver-store-0.3.0.tgz#ce602ff07df37080ec9f4fb40b29576547befbe9" + integrity sha512-TcZvGMMy9vodEFSse30lWinkj+JgOBvPn8wRItpQRSayhc+4ssDs335uklkfvQQJgL/WvmHLVj4Ycv2s7QCQMg== + "semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0, semver@^5.7.1: version "5.7.1" resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" From 6aa7c3db74d0abc414ec6d07c9c0bcfea4c8c9b7 Mon Sep 17 00:00:00 2001 From: Himanshu Mishra Date: Fri, 30 Jul 2021 15:13:41 +0200 Subject: [PATCH 093/712] chore: bump node-tar version Signed-off-by: Himanshu Mishra --- .changeset/calm-elephants-kiss.md | 6 ++++++ packages/backend-common/package.json | 2 +- packages/cli/package.json | 2 +- yarn.lock | 8 ++++---- 4 files changed, 12 insertions(+), 6 deletions(-) create mode 100644 .changeset/calm-elephants-kiss.md diff --git a/.changeset/calm-elephants-kiss.md b/.changeset/calm-elephants-kiss.md new file mode 100644 index 0000000000..063ff00e26 --- /dev/null +++ b/.changeset/calm-elephants-kiss.md @@ -0,0 +1,6 @@ +--- +'@backstage/backend-common': patch +'@backstage/cli': patch +--- + +bump node-tar version to the latest diff --git a/packages/backend-common/package.json b/packages/backend-common/package.json index 51ef8128e7..3f08b42aab 100644 --- a/packages/backend-common/package.json +++ b/packages/backend-common/package.json @@ -62,7 +62,7 @@ "raw-body": "^2.4.1", "selfsigned": "^1.10.7", "stoppable": "^1.1.0", - "tar": "^6.0.5", + "tar": "^6.1.2", "unzipper": "^0.10.11", "winston": "^3.2.1", "yn": "^4.0.0" diff --git a/packages/cli/package.json b/packages/cli/package.json index 91bb94d43b..254a60c9ca 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -104,7 +104,7 @@ "start-server-webpack-plugin": "^2.2.5", "style-loader": "^1.2.1", "sucrase": "^3.18.2", - "tar": "^6.0.1", + "tar": "^6.1.2", "terser-webpack-plugin": "^1.4.3", "ts-loader": "^8.0.17", "typescript": "^4.0.3", diff --git a/yarn.lock b/yarn.lock index 1be3dedc16..1fb6904c58 100644 --- a/yarn.lock +++ b/yarn.lock @@ -24737,10 +24737,10 @@ tar@^4, tar@^4.4.12, tar@^4.4.2: safe-buffer "^5.1.2" yallist "^3.0.3" -tar@^6.0.1, tar@^6.0.2, tar@^6.0.5, tar@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz#d1724e9bcc04b977b18d5c573b333a2207229a83" - integrity sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA== +tar@^6.0.2, tar@^6.1.0, tar@^6.1.2: + version "6.1.2" + resolved "https://registry.npmjs.org/tar/-/tar-6.1.2.tgz#1f045a90a6eb23557a603595f41a16c57d47adc6" + integrity sha512-EwKEgqJ7nJoS+s8QfLYVGMDmAsj+StbI2AM/RTHeUSsOw6Z8bwNBRv5z3CY0m7laC5qUAqruLX5AhMuc5deY3Q== dependencies: chownr "^2.0.0" fs-minipass "^2.0.0" From 5b29c84a1cb25772e3749dfe6b5539135583e6fe Mon Sep 17 00:00:00 2001 From: Niklas Granander Date: Fri, 30 Jul 2021 15:20:38 +0200 Subject: [PATCH 094/712] Add tests for builds page and XcmetricsLayout Signed-off-by: Niklas Granander --- .../src/api/__mocks__/XcmetricsClient.ts | 9 +- .../BuildListComponent.test.tsx | 61 +++++++ .../BuildListFilterComponent.test.tsx | 158 ++++++++++++++++++ .../BuildListFilterComponent.tsx | 14 +- .../DatePickerComponent.test.tsx | 53 ++++++ .../DatePickerComponent.tsx | 1 + .../XcmetricsLayout/XcmetricsLayout.test.tsx | 48 ++++++ plugins/xcmetrics/src/plugin.test.ts | 3 +- 8 files changed, 337 insertions(+), 10 deletions(-) create mode 100644 plugins/xcmetrics/src/components/BuildListComponent/BuildListComponent.test.tsx create mode 100644 plugins/xcmetrics/src/components/BuildListFilterComponent/BuildListFilterComponent.test.tsx create mode 100644 plugins/xcmetrics/src/components/DatePickerComponent/DatePickerComponent.test.tsx create mode 100644 plugins/xcmetrics/src/components/XcmetricsLayout/XcmetricsLayout.test.tsx diff --git a/plugins/xcmetrics/src/api/__mocks__/XcmetricsClient.ts b/plugins/xcmetrics/src/api/__mocks__/XcmetricsClient.ts index cacb8fb2b1..430fbb1006 100644 --- a/plugins/xcmetrics/src/api/__mocks__/XcmetricsClient.ts +++ b/plugins/xcmetrics/src/api/__mocks__/XcmetricsClient.ts @@ -28,7 +28,7 @@ export const mockBuild = { day: '2021-01-01', compilationEndTimestamp: '2021-01-01T00:00:01Z', tag: '', - projectName: 'Project', + projectName: 'ProjectName', compilationEndTimestampMicroseconds: 1, errorCount: 1, id: 'buildId', @@ -67,10 +67,13 @@ export const XcmetricsClient: XcmetricsApi = { _perPage?: number, ) => { return Promise.resolve({ - items: [mockBuild], + items: [ + mockBuild, + { ...mockBuild, buildStatus: 'failed', projectName: 'ProjectName2' }, + ], metadata: { per: 10, - total: 1, + total: 2, page: 1, }, }); diff --git a/plugins/xcmetrics/src/components/BuildListComponent/BuildListComponent.test.tsx b/plugins/xcmetrics/src/components/BuildListComponent/BuildListComponent.test.tsx new file mode 100644 index 0000000000..3818d51a16 --- /dev/null +++ b/plugins/xcmetrics/src/components/BuildListComponent/BuildListComponent.test.tsx @@ -0,0 +1,61 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import React from 'react'; +import { renderInTestApp } from '@backstage/test-utils'; +import { ApiProvider, ApiRegistry } from '@backstage/core-app-api'; +import { BuildListComponent } from './BuildListComponent'; +import { xcmetricsApiRef } from '../../api'; + +jest.mock('../../api/XcmetricsClient'); +const client = require('../../api/XcmetricsClient'); + +jest.mock('../BuildListFilterComponent', () => ({ + BuildListFilterComponent: () => 'BuildListFilterComponent', +})); + +describe('BuildListComponent', () => { + it('should render', async () => { + const rendered = await renderInTestApp( + + + , + ); + + expect(rendered.getByText('Builds')).toBeInTheDocument(); + expect( + rendered.getByText(client.mockBuild.projectName), + ).toBeInTheDocument(); + }); + + it('should show errors', async () => { + const message = 'error'; + client.XcmetricsClient.getFilteredBuilds = jest + .fn() + .mockRejectedValue({ message }); + + const rendered = await renderInTestApp( + + + , + ); + + expect(rendered.getByText(message)).toBeInTheDocument(); + }); +}); diff --git a/plugins/xcmetrics/src/components/BuildListFilterComponent/BuildListFilterComponent.test.tsx b/plugins/xcmetrics/src/components/BuildListFilterComponent/BuildListFilterComponent.test.tsx new file mode 100644 index 0000000000..eac5775d77 --- /dev/null +++ b/plugins/xcmetrics/src/components/BuildListFilterComponent/BuildListFilterComponent.test.tsx @@ -0,0 +1,158 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import React from 'react'; +import { renderInTestApp } from '@backstage/test-utils'; +import { ApiProvider, ApiRegistry } from '@backstage/core-app-api'; +import userEvent from '@testing-library/user-event'; +import { BuildListFilterComponent } from './BuildListFilterComponent'; +import { BuildFilters, xcmetricsApiRef } from '../../api'; +import { RenderResult } from '@testing-library/react'; + +jest.mock('../../api/XcmetricsClient'); +const client = require('../../api/XcmetricsClient'); + +jest.mock('../DatePickerComponent', () => ({ + DatePickerComponent: () => 'DatePickerComponent', +})); + +const initialValues = { + from: '2020-07-30', + to: '2021-07-30', +}; + +const renderWithFiltersVisible = async ( + callback?: (filters: BuildFilters) => void, +) => { + const rendered = await renderInTestApp( + + + , + ); + + userEvent.click(rendered.getByLabelText('show filters')); + return rendered; +}; + +const setStatusFilter = async (rendered: RenderResult, option: string) => { + const statusSelect = rendered.getAllByTestId('select')[0]; + userEvent.click(statusSelect); + userEvent.click((await rendered.findAllByText(option))[0]); +}; + +const setProjectFilter = async (rendered: RenderResult, option: string) => { + const statusSelect = rendered.getAllByTestId('select')[1]; + userEvent.click(statusSelect); + const options = await rendered.findAllByText(option); + userEvent.click(options[options.length - 1]); +}; + +describe('BuildListFilterComponent', () => { + it('should render', async () => { + const rendered = await renderInTestApp( + + + , + ); + + expect(rendered.getByText('Filters (0)')).toBeInTheDocument(); + }); + + it('should toggle between showing and hiding filters', async () => { + const rendered = await renderWithFiltersVisible(); + + expect( + (await rendered.findAllByText('DatePickerComponent')).length, + ).toEqual(2); + expect(await rendered.findByText('Status')).toBeInTheDocument(); + expect(await rendered.findByText('Project')).toBeInTheDocument(); + + userEvent.click(rendered.getByLabelText('hide filters')); + expect(rendered.queryByText('DatePickerComponent')).toBeNull(); + expect(rendered.queryByText('Status')).toBeNull(); + expect(rendered.queryByText('Project')).toBeNull(); + }); + + it('should load projects', async () => { + const callback = jest.fn(); + const rendered = await renderWithFiltersVisible(callback); + userEvent.click((await rendered.findAllByText('All'))[1]); + + expect( + await rendered.findByText(client.mockBuild.projectName), + ).toBeInTheDocument(); + }); + + it('should call back with a status when status is selected', async () => { + const callback = jest.fn(); + const rendered = await renderWithFiltersVisible(callback); + + await setStatusFilter(rendered, 'Succeeded'); + expect(callback).toBeCalledWith({ + ...initialValues, + buildStatus: 'succeeded', + }); + + await setStatusFilter(rendered, 'All'); + expect(callback).toBeCalledWith(initialValues); + }); + + it('should call back with a project when project is selected', async () => { + const callback = jest.fn(); + const rendered = await renderWithFiltersVisible(callback); + + await setProjectFilter(rendered, client.mockBuild.projectName); + expect(callback).toBeCalledWith({ + ...initialValues, + project: client.mockBuild.projectName, + }); + + await setProjectFilter(rendered, 'All'); + expect(callback).toBeCalledWith(initialValues); + }); + + it('should display a count of active (changed) filters', async () => { + const rendered = await renderWithFiltersVisible(); + + await setStatusFilter(rendered, 'Failed'); + await setProjectFilter(rendered, client.mockBuild.projectName); + + expect(await rendered.findByText('Filters (2)')).toBeInTheDocument(); + }); + + it('should clear all filters', async () => { + const callback = jest.fn(); + const rendered = await renderWithFiltersVisible(callback); + + await setStatusFilter(rendered, 'Failed'); + await setProjectFilter(rendered, client.mockBuild.projectName); + + callback.mockClear(); + userEvent.click(await rendered.findByText('Clear all')); + + expect(callback).toHaveBeenCalledWith(initialValues); + expect(await rendered.findByText('Filters (0)')).toBeInTheDocument(); + }); +}); diff --git a/plugins/xcmetrics/src/components/BuildListFilterComponent/BuildListFilterComponent.tsx b/plugins/xcmetrics/src/components/BuildListFilterComponent/BuildListFilterComponent.tsx index 4f6604702e..ff45e15925 100644 --- a/plugins/xcmetrics/src/components/BuildListFilterComponent/BuildListFilterComponent.tsx +++ b/plugins/xcmetrics/src/components/BuildListFilterComponent/BuildListFilterComponent.tsx @@ -52,15 +52,17 @@ export const BuildListFilterComponent = ({ useEffect(() => onFilterChange(values), [onFilterChange, values]); - const numFilters = - Number(values.from !== initialValues.from) + - Number(values.to !== initialValues.to) + - Number(!!values.buildStatus) + - Number(!!values.project); + const numFilters = Object.keys(values).reduce((sum, key) => { + const filtersKey = key as keyof BuildFilters; + return sum + Number(values[filtersKey] !== initialValues[filtersKey]); + }, 0); const title = ( <> - setOpen(!open)} aria-label="filter list"> + setOpen(!open)} + aria-label={`${open ? 'hide' : 'show'} filters`} + > Filters ({numFilters}) diff --git a/plugins/xcmetrics/src/components/DatePickerComponent/DatePickerComponent.test.tsx b/plugins/xcmetrics/src/components/DatePickerComponent/DatePickerComponent.test.tsx new file mode 100644 index 0000000000..74633fe786 --- /dev/null +++ b/plugins/xcmetrics/src/components/DatePickerComponent/DatePickerComponent.test.tsx @@ -0,0 +1,53 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import React from 'react'; +import { renderInTestApp } from '@backstage/test-utils'; +import { DatePickerComponent } from './DatePickerComponent'; +import userEvent from '@testing-library/user-event'; + +describe('DatePickerComponent', () => { + it('should render', async () => { + const label = 'label'; + const rendered = await renderInTestApp( + , + ); + expect(rendered.getByText(label)).toBeInTheDocument(); + }); + + it('should accept a date', async () => { + const label = 'label'; + const callback = jest.fn(); + const rendered = await renderInTestApp( + , + ); + const input = rendered.getByLabelText(label); + + userEvent.type(input, '2020-02-02'); + expect(callback).toBeCalledWith('2020-02-02'); + }); + + it('should not accept non date', async () => { + const label = 'label'; + const callback = jest.fn(); + const rendered = await renderInTestApp( + , + ); + const input = rendered.getByLabelText(label); + + userEvent.type(input, 'test'); + expect(callback).not.toHaveBeenCalled(); + }); +}); diff --git a/plugins/xcmetrics/src/components/DatePickerComponent/DatePickerComponent.tsx b/plugins/xcmetrics/src/components/DatePickerComponent/DatePickerComponent.tsx index a5b1fbb346..854fbbd87f 100644 --- a/plugins/xcmetrics/src/components/DatePickerComponent/DatePickerComponent.tsx +++ b/plugins/xcmetrics/src/components/DatePickerComponent/DatePickerComponent.tsx @@ -74,6 +74,7 @@ export const DatePickerComponent = ({
{label} onDateChange?.(event.target.value)} diff --git a/plugins/xcmetrics/src/components/XcmetricsLayout/XcmetricsLayout.test.tsx b/plugins/xcmetrics/src/components/XcmetricsLayout/XcmetricsLayout.test.tsx new file mode 100644 index 0000000000..2ce634dc11 --- /dev/null +++ b/plugins/xcmetrics/src/components/XcmetricsLayout/XcmetricsLayout.test.tsx @@ -0,0 +1,48 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import React from 'react'; +import { renderInTestApp } from '@backstage/test-utils'; +import { ApiProvider, ApiRegistry } from '@backstage/core-app-api'; +import { XcmetricsLayout } from './XcmetricsLayout'; +import { xcmetricsApiRef } from '../../api'; + +jest.mock('../../api/XcmetricsClient'); +const client = require('../../api/XcmetricsClient'); + +jest.mock('../OverviewComponent', () => ({ + OverviewComponent: () => 'OverviewComponent', +})); + +jest.mock('../BuildListComponent', () => ({ + BuildListComponent: () => 'BuildListComponent', +})); + +describe('XcmetricsLayout', () => { + it('should render', async () => { + const rendered = await renderInTestApp( + + + , + ); + + expect(rendered.getByText('Overview')).toBeInTheDocument(); + expect(rendered.getByText('Builds')).toBeInTheDocument(); + + expect(rendered.getByText('OverviewComponent')).toBeInTheDocument(); + }); +}); diff --git a/plugins/xcmetrics/src/plugin.test.ts b/plugins/xcmetrics/src/plugin.test.ts index 055c647dd9..a390e8aeb7 100644 --- a/plugins/xcmetrics/src/plugin.test.ts +++ b/plugins/xcmetrics/src/plugin.test.ts @@ -13,10 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { xcmetricsPlugin } from './plugin'; +import { XcmetricsPage, xcmetricsPlugin } from './plugin'; describe('xcmetrics', () => { it('should export plugin', () => { expect(xcmetricsPlugin).toBeDefined(); + expect(XcmetricsPage).toBeDefined(); }); }); From 7cdb75857776f0865c95ab78461fe1ab70b49e09 Mon Sep 17 00:00:00 2001 From: Niklas Granander Date: Fri, 30 Jul 2021 15:42:43 +0200 Subject: [PATCH 095/712] Remove unnecessary styles Signed-off-by: Niklas Granander --- .../DatePickerComponent.tsx | 36 +++++++------------ 1 file changed, 12 insertions(+), 24 deletions(-) diff --git a/plugins/xcmetrics/src/components/DatePickerComponent/DatePickerComponent.tsx b/plugins/xcmetrics/src/components/DatePickerComponent/DatePickerComponent.tsx index 854fbbd87f..6877340a5b 100644 --- a/plugins/xcmetrics/src/components/DatePickerComponent/DatePickerComponent.tsx +++ b/plugins/xcmetrics/src/components/DatePickerComponent/DatePickerComponent.tsx @@ -18,7 +18,6 @@ import { createStyles, InputBase, InputProps, - makeStyles, Theme, Typography, withStyles, @@ -51,13 +50,6 @@ const BootstrapInput = withStyles((theme: Theme) => }), )(InputBase); -const useStyles = makeStyles({ - root: { - display: 'flex', - flexDirection: 'column', - }, -}); - interface DatePickerProps { label: string; onDateChange?: (date: string) => void; @@ -67,19 +59,15 @@ export const DatePickerComponent = ({ label, onDateChange, ...inputProps -}: InputProps & DatePickerProps) => { - const classes = useStyles(); - - return ( -
- {label} - onDateChange?.(event.target.value)} - {...inputProps} - /> -
- ); -}; +}: InputProps & DatePickerProps) => ( + <> + {label} + onDateChange?.(event.target.value)} + {...inputProps} + /> + +); From dbe4fb202fbd44d87786ad34a8e42199d8a9006c Mon Sep 17 00:00:00 2001 From: Niklas Granander Date: Fri, 30 Jul 2021 15:48:39 +0200 Subject: [PATCH 096/712] Update readme Signed-off-by: Niklas Granander --- plugins/xcmetrics/docs/XCMetrics-overview.png | Bin 880719 -> 890329 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/plugins/xcmetrics/docs/XCMetrics-overview.png b/plugins/xcmetrics/docs/XCMetrics-overview.png index 3ee4b1915a6bfc9131eed2eebb730daec8343e90..6b95de3aa1804fa5d67e4c347c5e4bb45d0ee8b1 100644 GIT binary patch literal 890329 zcmZVk3p~@|`#+9PP9cO)IjmBtlvOIH*_3l(iJ}~qBqT;on|2^1IjoY9!;&N^k`83d z`B1SOA~_7hob6!jyr1{y^Z9vbJ>U-$OdwflLeTy(Zml;156000yn z?5!^W0P=AFfGlyV%%&teqfv8HFcoBFbHh+9E-`~d*_l&ox7x6Ce$IGVWM z>Repn#n*}BQu9)eRbv4q?k;i;dx{csw(nT_F(v%M&+SHf(poBpUjzHEKeV|&{J z%vlZTnOcvJMNI63O7up-#yHA2;3TECHsWV~ZoWC-af0cMaI^PPmJbeHP+eJVdzhXY zFd-wMGzYM`4%n();r2^jQBmgMuV1*VjTnhjrj$?lYwT5$*xhB4QQ`%7DV3Osyc83d+t2?n<}xVfBUV2!mfZH zaDjf8Fv8^U-NK6C^K{6$GLwQ#7A~|~{5&mk*m0ZR&BsztcQe*q+7O%1x!8Vo&2S@b&xdM#8Uua`Y4ZF0Zkc%QtPguo5~Omr`po#nAMzgSpTeK!A+8|wv;&aGF|}P32?ohGCjN1D_;L;_@1p2PxdGsmGIgF*k!rp zdBWxE7M-$5*A4zE9cl8pD5-Q`Z(?VlOljlQFcmLp<3=6&_O6C}onFq8c#~f+drYH0pCel7Kv}P1tqh?FR1LYPc`c=*mwCqX( zyxH$i+$GCim)JuWcBsvy%b#s4e(It+u-i@Io%ZGQ+m>HmnYnzshsn<{W%GCJuk9W4ud?QGIxUl7yG<1GwG5>?n*1l3 z;pXAV;Q?XB;R!W(q%_fRTw^sE-;qk!qR()wIA;V-f(U`h*_7+nVS5v|BNMgHo$!Sg zWrY9Y5<|MEJz57Xy)GWU+-`u>j0>Q2wjsOgAl{b~FoHyZ<+ulr!(A8usb z$eeO&bKkM0?P2q)qeat~ejM&NJaky^ywm}|1Be3|eY;DJlw_W-KkxU$&0lL~`^>hP zeKS@+va^!i!j7~bX*dGT0%z^ciZ~+aw&PFSg44_;<4YT^po_9W9xvq5oi3E9_htP4 z9#s79$h-A-z3&X%%H3e)>%A_Ker9=v&Y(BIVoC|_O8*tVGRB`X<)`0{x$$2@?8aOR zDt%s#zs1@Kt7WWO-1VG_t&6Wxs}5f4_cC&fsGZgAR(PQo5g6e`3#0A$WqO7dukqf$ zLcQY4rE=Ty3&D<_b|Y}l_w}y){Pl-Q-W{&`mrET>odP_v-z`=c3>@pXDCXZU`f>e4 z-!AnuR+@{&v3h_-?l`1Av_2f8COjlmAq4q zyQ?Ra;C`|)V%#`bb}@2MIH(-rc4te-nZKX^5vxvroB4NTc>Js02zU6ym*A>3f%-AC$n{mfVX4o-^j$xW-tf8GZgS7GG72&y=xXad z@N*{TC$QpqMNmbuSMqG$FB+Kw#Wgxn(y3p`AIJrhg>$0fdxYdd*^c6W)UwieeKISK z7V&(SK~_`_`^V3J7p9_`7ZbjvZromt20p`+VDYeTm5&h55GAW>Pz-4YDVF4dlND!) zmL+oHUdBC*^Z9xv?`MS{UdBwiLJ17CmVdPM-L}}>cXW@+g?a-(TfIJpG!-Y=D%dFG zSy^s1zvRyXL~Ak;F>*)wGwkN7GGqFd%&fpG=s(&w`#EeW&+A zwP3rqrf_e&{+m;8K+!%+3xCVQUxYW;JV$z=BL(rCDw~GXub|zIVfLM{n!3L?8IRhs zvjYts;CEvW`yURNXIMMlaGWY?1?6vdJ{@p0rQowc(6hzvu_jCxYdVYZfEy~fBx2qC zHr+Q}wBy^eki#uol+V^)x1Kxpen*3|qWxGNZ||}FAI^mAvp86PLXz+#C;ZauedpB* z$OBzoPlolrZl|U4pVuB8X}II2y5Dq9((BZcV^>eTc3F6u`=cR~9Z(nG?vL}*tru|Q zXVhP*dz;Rh=0z0Jcr&8Us`XFnKKW&hzhjs4+^eswdP;t9xYl1acs*qNUsIH5QK>?| z0_KSeNnk(dQ(QgMe&!{$EXJ{62RRphN>@gg4%X5&^}x4ALSU_#yN z@MpuLAi<^9W8awx-OB1v$2$(=ecnqR!~lcn^1#J0Rs7S0k{>0tC6Xf=cY=@jJyU;H zKhhA%pSjCt)|)>xziG}pa^K)u^zN0>@2m?YFPY9+?w6^CAH4HoFn_y8FcElK;e+~r z_Y^j;A{P#|9wXwvc$Z%OGx+1_;nU=GyVX@e3fFZ^qFXXawqfwmZNAb2AQ(<_bC0oK zycllb1u6$Z^20doDg?b_iq94KyXVuB?3!GLdo`i@BJ_sG@2U*yFRCJGr|{FF6x;f& z+Q75^Q~!A8apyvtLj)~$duzsZdG(RzjOFm zwWQ7kbKSyJix@uoFLy=Ztfry&S{)p_Kx{Jez%2d8%!1ye$CT0CXX{~qZnuS>wnA@R@X+;zu&7gF8a2ryE^_`xW=yp z-h}SN)vTz@x-|Kfbj-j$7rKdWt$X?r{3!ESf~cZY1qM_Kll2i93WYzfj~g+onY8cZ z#RqqiofY|t6lB$0+r$ONPsS4g?vU7T$e`byB$(vd4FxXEO$2u>rWo5GPLB^ZRO5zD zXqc@}W7_!)Woh7Ph_0YjFu*mPWw97D@G$t1h8LI+p~l*BuXTHCVvgRVvx z0f=QbJgN!ctubJa;fs~ZQmGeMHAfW=3_O+qOVId9J~LogJ4h z+F`vaf8E@i%gMIST)tC^c>;bsIL&Bn^>hV<9RQ$@<>u_H%+29kOW4of9=D!9-+;aJ zOi2%vdkfBgJ7M=FWU-NQ^E*xKnvNqh-IQ6MSY<&azGdmi;f#B~Z8p7+{5>3QIXMB2 zZ1P(HQWCoX(wm&b=7dOS{a@Zz;t)XczvNp0faD;6)c@ExZ_@va$D8v%KL1T6pFRM{ zZa%4QPUOoi|HoQB?xp1a;bn=NI>1?1D+h;7>gspb-#;`W5D^(OnXr3PAQxtTH39(8 zIPjk-;c#g`eKY>wAUBUl4<|=6KSYS3?@h!Fe?w$Q*ni>xz(})AHpD;DcMme;PH2P~ z(qi9#S(t6|{}F@s?fEa0$Y6_o9!?kcSRwBE?>S?5-0=85i2R;Cd%$;Z-ZHynZTmm& zn@<+|0wW{C%s`-+m>9ztBSXa90MH3jQ&Z6Klc19)k8N5Ui$H}&`XY~oM(F)_kpC0M z+CReYZctcc5F&KXf8zSyKtx4a?A!OBME`gE_xtom2K~QGp%MSHtjz_2{-Xh%Fgyf%^Z*urY6V1|K;%ir}}>>|Cg)B|8qTg#>C`*yZ$fL z|F7%i2>-iQh>*>sk&yqlVgKX&zm@;v2nPLU?fqSJ!t; zZf>M@kTuM0lWu;@{xc-UH(w6@H{Imr%Jfc8$5H_ROMrv*SvRD_uX!{>LR74H>(DFzdF``}siJL=}^~QQG83Un$^>0AR`8_lO7XfMDaz0Fx zxVCP%6{K8ei{;CQFD*^tD*|H`%bpg{fQZh&`cGgpN|)R!*am=TK$^9=8FUA| z!{JYQvczXa4eAq}c`*&^tPg>-T+NRUU`Ry^4^F|#V!<~kT?-pi$U6?q&;i6A+p}P( zdE%Ynly>xbCNn`F=473lRLA%o$q3b)PIuiY{}kEWaSl+{wljrl96I+qfdFtJ>m49z zuHA=89ZeoIYH&WP0Omf~v#3xo^%nE!l2Y;szTIREIdS#%Fg*Sn%>dTyg!aGHXv}%) z=k10&N8!fSGuoTveu;GC`Vdk_&G-Qm0rh9dW|8ZzKgJlp@@^IWFlOFXRJUL~QZC}1 z_z^o9ft@hwJBB_`;BylGtShtAu}dvoq4GYq_`Ya8UepU0cXhzI%2+ezL9u}%PLjZM zN5=m=pHg~=dHx7JDf`;jvx9O512fNo{0>^@x04fC-K12>ed|sd%wM=waIx@+I0(>o z?;8Ipm=5QrD?GB_m#|qulCTH!m@B*50KDCk9DyyNYQJZ9QP_xE@iW_A_E07XCXSR{ z-jFaia1}lTCi6x(3 zz1AAF9kk+ivLqAPg^6uZ8=;t)Te8oH%&i<%uVQ23|E-7r+BAo?EB+Z}E`ibTx z9jT<{s@N7OIkODG-P8~BIX?tHmpvEmz@Dsh0h*OG2Z4~N{gSnzun7fe#dF5~Er zNguPJ0hoW^*CgQ%&Ovs^&}(+(ept>2x;ysAUfjz^dEYI)H8tZncCWj|pBHuMk8`w)v>h7H9m>D`z4TY2D|q>mXeL`| zJ&tgpK?NEj^<=HtI9SW#w7A|xMydURXs(>Rt|#hUrFkYD4lLGvT}_XmX!yJ%ZRlf| z*5y#5c;+$RdC6*I7wZefKO3^`yy#a;F^y-UGF7CTAPX9tR55~N1i#ZK^9+?U9PDt< z`37-iFyvth9FD3FDZO2~3--niJW$>LE|qx*ToRTqOR|-OYTwy$PwI^DwkId5X1OL~ z<$*nrl)k$79B=YPmp1hl*!rM-4;E>@RowUZ@3a7KqHav{>wRb}DWSY2LA=rd1VZ`62q>1xLO`(V9h4L-S}<3tzEfg9 zWdHtHbVI0UeakHz5`Ks@SXtpeA-&Rd3)<@*Te!iBnB2E3w+kZoE^5~qZ8XIJO9{A)fV8*v{qLTDSi`I zD`Q&i#PLJ9ct|Q{mHipc=)!I(N>B`m&$PP+^BgzqY63f=@RRHq-rO4v<;Cb#;v8VnXM z&6_RB8IM=$RVaX(jzWc*A8Dp5HMW8`kCf4Ae$$IXwUXbY32%~p&Ls>c|dGmJU)J_xCThv)2U+FbTl%>%D`=iE)u{R z3TTD>EHlOeud}X!m!M61!z~Ig%7Vt`yHA|t^vTlFEc>U;1+NhIGVBCZK2{Wwjy}e| z{tb$m%ejS3SH>_#v#;T9pZ2mdi57?T-x~;W%*nrtEe(c#ql`kJs-M`Ja~081)aGavZiDIYi{DWO z;s?^Qv5~s%y=-an2Vict<^GTK50!6&U6w3<`v4cC#^nw|ybjGbf*9#hY~PvWzvsGA z&5VgtrU2p~`(5>xu!bEO+`kAv$`cSrd;aa;zK)3-#AQ3&M>tuN1LP&)<4!HM& zo?zOCPGohoY&8Y~(~H?`T!}2nwG_9cEEjwIP;J&XAT)FU)yvsSs?4sR%%(;0R?azW z13THlWqh!rLDtTcS8yU@k?R1=H@87tnmJH?L0k(I61B*<+>IsW1L!8db@=oLlS@Fa zKbk6(o^R;SD<*mseL&)t&seD=vb}KG2Ie;%ek%671+pje2YkKJ_-%ORI2H;*FTrsK zp>)Ygm0Pprf_6(RbAh({F2C7;+gM4}lGh_FkfyDmyt@-dg9^aO2~iDQ2TqmpdE?YT z*XFcn`mErefVj(%SK++F{6}bEY%dwNR6O-l)X@>soQj(JOyK>p@+&}h;nBrVsjvx) zu&4J~X<&~4Xd<>XUk0o*Ka z-tfq528?fz5l?xZ?c1cZ*k+LQSuA~uj)9Uh?4|=c^j^k*gCz@HUtEi1kiDjVTVPU!^Q4d=gXh%b>QL zkfn7uNt+R;FBBCh(T0R&ZLlRS9$b0*@zIdw`D#vghwrGCr6hi;^HffL zpZf0MopZs}s46LVirh@#pz80W?h~~RV&bg&K`Y81ctf!hc;U9YU0zaZx+6(sT;nTn6Uw4mdk^*L%(7~ zeah=bYgQ!;mGMD%%hHp-+ZN1i;!&KkqTJ)Z_fO#E_81>lUTwKJ&_+{8VCPoQ2Y|?) zgr@=VDHJ0`qWa3yl?#Mv{DcKC>`Ky72Op)u>A=yKJ1BxW+;)~rwg-W8^ST-=tlfx% zF~oj0S`EZWpVzqfI=T?mKQDe0CfDc|51h)-61xU&Ajzc-blwfX^q*M^TgR?xm~Q*l zI-qiqD$T{!;_ux0dN4CUR2`JR7W4U|&f42O>60eeG2p7XhF`)|CnP;rc>Dkl8?c^{ zaeU>uQBO3MibyB*)qabp-U23v$I03rRK}{~t&!s=3xv-enqtRCw+5>>epJMlYog)n z@K=~haXBd@;arx5_x6UsaYRJ#*Ympd&QU45n3eOX z7M6beW^&p?fbHap5Ip&5x(la3S{n61pQNAu9=l}nT!MgSxQQ$tdrOMWQ@zrKXZ9&r z9yM-PD5U9cTxLszev}}&en>`bB(QgN);Ez#@CA}HXgTfMLLop^x2J!=liX52rKQ|Z zk5=zs-{|+z4H&b2PYMb>GI86zb?p5+4p18O|L+sm-2w&)E4tnpNZ?MW5 z5;c2y=rBCCfqV=xPM=<0Xtt!dX7|o~Yip|*Txy@%#xdVeH<7pdE_a#R0O&*xK@nS(2Wq@wmx-AbP%DulDiqw_Q zZHVjB4=nt-Ax)|yWskJ5_vmB7I<*w{Qu*G(msyyjc&-k=ihb6s2Gwfrl`ND$+Os$bF?Pv@ z)d}`f4gfW57(aF}XE6o*BQuZpp1=7uQsrK1A@zms$%gje8>0JW&`mF8oKp&%>9LxCcPZnjf%HB$Nl97KNOyKWarBUYXg6@m9OFYh8=k zK*#ZLD2&?uy7;D!Asu_)`IfBB=6BCmoeh>oQxwSnE3C@edFl4JUV}76)oq9B=wf`X z=fAaMYW$Jt$aMJIAvMA?Bi!x_Xcyd!U(4z5HZW(1u!THCc*~59e36Ho8NROlo={9( z&Fx7>!y@ObO}wfhNE*;2?_Z%P`P)OWs^}gDu;z|?F6N*9Aja)JHmY?3?2_G-dJ{av z4lm8Npr_bpDko=>9mBc>KN1d;w0jnudwt$g@7y=~cc#{R{KkFXX=4blpVqQ-Aed&L z>)k5SKSwZP5UJAM$r$~x8Pfnq7kp~qL#D~@{ivZN*4JOk#(~F`;m@S|VcTv8WZ9R_ zzYr%tMF$~o`-d#ZjmN;J`c57F1N-tSRbQcH-vb2u0-(irNc1KOel??t^-KBP4AT5w z-h=wZY>#ZM6}wKLghf(|*IM>xxoX$6YhSwqaHwQQf#^>Swe}tl#~CW!9~YTDbH9nDy-FKDfBxu#jy(DNoCXY9B?iPM<|6P&ZvyjI z-tC8Uk&E-++l8drmRE~|eD};JtH&A9xFGm4^9+tyXS(!dGusLho(_|yZUzs$~J&xt*N zA6HZ)g)INU>c4z6q`BW~M}oxhv@6w6E1POCVP6~15ubJP2|wcFgqb^~=JpK6D)v#@ zDNW)!{l2Vn852ECJY7Kh<3*zP#o#VouiOAt?S;GI|H6kPwb_qTSfQP?M0M&B@|QeO z_)Z4z)rS_Cn92ZkC)LZ_$*c>-8l)xYX0Pq{SgfD39EvwfU$u$|ghtzTK9f=jrWr_ET zd$}ffxr+m{eRV@@=%?pHbKI%W(!;xE-BHKZ*0(74(+y(ZDPtMcBLR@ZjT1O#nK9Q< zd7M1YVmtqsMFrKG>&BfFwW`er)<_@!&^ZR>CX=`vsMuJ?a93k}&0ve6sw`w7K_@U1 zTH%>-mPZ2V*1;`T`ElSlajTsPX)Z9m040}mhMb6sH zgQ!+MT7@(Ai}6+ldoXv0pzkTY!|=5~7Biz}F}ssr#y#Y$aPo2Y#Jk+fUSFOpfwoF4 ztJxu4`U7tS(jO|Y*bty0?lr43`Gj2f*? z>V+3NT~9oJ=HXj4XY6|Xn+<+nW0FwOnSQndJJp>QR7w5U92oVA9z~K9d#6O>ZlP7g`mU{v_&p$Oe^Rn zWps^PwSA-=kX-N`>WqmnmAwg?Zj|sEwX9e9WxiL?qRhJu?dJ6TdV?J$k6DCfe(IGA zSnBv*c>q_58v~X?cy7=HO1w|c6DvRBDo}u?uxpKw{3MX}v(gQ2+=allzbM%Af{(^4 znX2eI{LP7IN)-QlhT*=@UZ2v1Ohr3tL@<;&K4>hYqUz@lTugB%8dAc%sQESbX|Ji= zb386F6AiBfuZFn_qI3rnwqV5RkWuak=N6eDx{u%pY$^0wc1sP2g|$50ylwxg-*XnL zmUQ@a|8j#*(o>Nf*^3-&i`|mOEadSo!8W@7DUC#^kuQ9$bI6b}^zsxI#B^T(^_Yht z?oJF)&DwNm_rsX*A6#zTMw_k%INC(NoB$Ig)h%BE51e3{Y>ds+UIV_X8y)(CAEn&W zX5~}01CfgPQ*38+renK0k?JOJ6~9Xc_Ak(^#7R2cvRS}}u0G0jE)rOrQDEl8V3~SG zrvhhG$yhQkgm?!Tc;-2X!^2iC?+mIUPjB6^pI5MYh_DQvR;h}_MhGW#2*q?F znA`NQ%ys)?uhqZ*87iJ7v$ZVMD*w4>C5K5U_uk)yG>&cl!xm+U{1tEpbCsejABu=) z1>DL`KRQ{nq`=!w)ZTbVvp)dD1epp^OP~*{H94ew=!-Id-Ajhz%kL5-VK>1y=5q-j zGPMJtJ!ve^KwBwsUneGcF%2L~6leVA0nmNFQpJsaVY_1QVh5LzL8>z&z5~*@pD33< zxJ%Y2o$m_asEx(oUhzYgaFb8@cb1&Po=%sMI{m85!?ZM}_ws{!J67TcZATQGCz~*w zT;Veso`HMk{-;$C*fo9%Q9>RvcNTXQx>h%2UNLHX+Tvf1!r7a|BNa`-wUp8tWhczi z{^i9~`0%p8d$bz2cqpEyF`GoMh7)QGX&3|F$Y^dVp=sfgv?SuMK zmk~b)GT#>rim6K#t01_>6d(LEkqHh-nMq-yv8~H-%4|!J066U|91pjJzFoVA8!b>c z0j$&?&=5WN0h`XHg%90(E8a`cMUef-5qIAITWxdIU-e^Om>*m6T)?)r2@hHndIHP% zwVI4p?hOp)Tfc8_jGEGlet9Y*kyYL3}in9rbYjLMcoKdTlOiw>^xt#rKB`>7F7 zwV}LIz7Q`2uujcU-x2(1!2xX0@6iB;Wr=Gxj_Hh3hbp%}_0hD|AR3M^Js zl*d!P#kO)IQfivtrxvw`XStOd`xv6uSaZ)P1trq@JYiyLxE|<3GPH}()A7`*!9~@J zr%6iqwD%6pn8f37I>Zz1K$7S(i?VUGIei$`FB=EFypGd}mLi{qvmKZ4=3eVj9Ibcr zcpl(wZe7!xfnhX1b@ZMQW%xz+BdHhWxXhWN-Cqs|+UClaE4JDwy6=y+bNKu0IPj1S z)iF-_h}z_>*EU-V9*jmu%rC-YG1)!@rH}QST{`>cv3CGnnTITMpgDD}mCTov!xyhBH}u+&x=G)cLXVUB?X<=$ zVL8^6*Gm!TCKwAW^}02CHdRQzBq)+a@anYo;M=-r-MNy9I1LD*0w+X>r>L6Z_L%Qw z`$?z9rEz!kh5tB`vbis!zQ@8XD!g!W9#@=YG~;hV+-2$cYlGsZA?kn=@UcvXRjIW~ zG-3^i`PxSD*U1}3$^HJ-sNB)j(2v{m^z(Y{wwq#X1unGNH}=w$zs$IspWl<%JnRQ- z=$^)>q4Do`ULQVsagOS}s?@R(GDHJUI8mHkdQgF$~yM2rra z4j@QxagQ?0ykK9evn&cT#Tuevd&05|UywIc8X+V8ZRgtYz?OCT1IEeb<2TkX&C71x zf}wSnxy-=o3p>wlL?K<0*{A*LN!tM$n;i)YJk!vF`Uv>E|3-ZX+7}pg+H+ax7@1cZ zux=2ZMw)(1wWv5*p4upvvQX-=Q|@o$1k{0+_vn0taq-~}7m%h5=w!0=8b^cnFCW8y zmwfM%y!e_)?=u>ASd{>r7Yq6KDB?x<0%kmBC`=oE(y(SJdV8aZz`27rRCr;SJR;I1 zuP$xeKBQ#5J5A;$wrD@yF-CjilsUe{pW-=T&_1*l(HbsKS7YRp{XHT06(#ZIjG|8y z)p<<-R)V+>vIQzWAQx_#9sLm~BN2TBBQALX>2=v_laX2Xo z*p^&-lol^|`DL6?ez`EmILm7$;+W^K`MQBfY2(`x{$XHufMbYn&qp2n%`Fd9D1QL) z=YKztKR&x!#xMTqs_Dt_a8Jjt5?Y+>-$OM7#A!~)$myb*NATK}-wT7;R>{NSOO>gn zh4$3jA-O5v`+ybVn3j19<)iz)FnnL$yCIZT^eWjf z189TRbfSKwPpSGVuO52YW#dcF7JYxRxSpr8^6kreYZH*UHy=S+l@dTKmhUw;%L~q_ zzvY5-2!|0H{7CUNs)WNnM=Z}@==5**B3o!N@@=X&Y4P5?*11Kw(8(|gbV1pI$F<&2 z)|~vLl=$MW;lr4`!X=HsUB9>{+0W>)P(sQ&pD%T5;*GU4#uP(=e>s`;d+l0XK1pPJokd^!3S=O{fd%;oKO{Hx^SZTB(piqi38tH7b(1h*JwpD=U1D97%~N?tfOum#(Mix9QWH#KEs&^9@>q z#yFT*O7LEt#07lK+~DiD2x@lyViUVoh)UkVTxL3L;Fb>dqDVEpAHo@w9vvX%{2&wM zj#Mx!1yi&8J*a;ks;+krEKWiJ5A&{TpOX~s>ZrZSRZO~b1M6pfOL~r&TY(+}+x2g_ z7IZguPjwm$Y$fx0+!=7>kPB)smNxUarH@<7{JJxGH@vP|x`rgT6@GkiAI{3Rag;-! zGI==UGlOlethsScVfUJQ4bbQbe({W|;kcq>gZUSz0Q>yu&RDwfDXPmGpBPN%szMp% z^_jxIDWrjif>HR2!NSp)CjG(`@){gzqx&o20yTsju7#s&2p&ti)3wn@^7;B`>rK=kUAPb|~w&ETXAJ5q>iV?P=|M*U` zH<2x!?C?*}hAvy*Hq=f^jvhMyBAc8AgQ}LJlZt!DGa&3M3CkamgzMsxx<>f=xudTm zEaXq^mLZm?sQ!WK;gC%9f_@2skx6q-cU6xbEIaM^zTen9YTuyvEP0hpZp^MvOhC`3 zVz?=>BhJynR6ktoyNkGwQplCU;Rg0~a(Uke! z+-KK>c8p-4jOW5*Yhn5}Vt*vqQ6(RwR{~0j75j6oe9ss*D?w-x;;s-dc6;)d-g^!| zNmIMIZ|tVLj(x;49&fg8i4AY#^os1v_zt2*+}|?fgZeDk^*0Tpt=RS+K*dzt>M8z{ zh?fFW*5W2`XyhBxcZNJa^}1=T zwITv%7S>^d9>A=pE`7(Y`z8L3MttIWs!NhaR8E@cV%8=t&F0m!ei>F&s!j@x}{ zL&8b8kMn4QaUt*aE}Yui@MaKl2`rQfrJu|`Zl3WmQ}8T8+=pM}&O^RJ7l#Yst30i9 zLdAnzry?Jitcr53N+oAbbC|*}K{~hr_d@61R}1hQo$Z*iPWi58y(LUJG6_DBE531& zF_(~hG*O+Ep++2~%<^Mf$aib-4O$!0g~_V8=4x+REpskP&<|xA?*JPwM6}Dr1(-M{ zOj590VqAC$iA}548)lIr9(c=9z+p)9?oHrWBF?>#lW@CsLC7T#%fWb|^YufoO@S{C?*vT{Rtez-czUE;5yDE1esqj=;yqpr0aeO|XN{XAsBjJb%M z7O_kVMS|{-C!~jqi|jNg>SvV5ydZn+3z@u16thbgR>4{KJLj^~v+M0;iQUTFw|Mo` z4V#Zf@c9GUU;Rjl`j9CKYJ`k^&wGUDCr$g2Lcy5bC|#ZkxM{DjN7#d&SN8fTp6E4q zDQvmV6u8FT)}#(0H-)#$U9$r&bxCQb*S zhXV>KH*wT|-}zlp>qJ)lWG|e@zXI8)TlODSBTpE4H5WcJ`xq)Jf*v8wx$+`rt)Op( zugIt|meK(VeHGk9Q;#AFO(_EXwHCx=bOO*MD?j{_Rv0AMg3nIr5p4tS2w12if3O=R zqdWB1K5YDkp)ql6;Myd9B5`SqT)jyE&oZaM{;(~ zH_G2{eW~laQ6tWs2`%a*H_MAZd;!?v$wNA-l(4vBy#jV|M*8m6c#3lwtiX63$lb5| z)m*jWxEYins|B$FY7^!L$f8Ic@I#|o$;z5nkm*0%-@xPZvGH1vo{jfLkcVm_dmZ>s zJb&J0{kVgVLYCKy%LQxtQ;No!F}si!lP2c4Fg4e|C)9)%YdNKrldx052~bdW%SN1Z z^t939EPA-|)BxKwAHB-|6aAZ1np;UOvCn@S-SF5jzBguW6MuN0N^L1$jGWQ;$wefN ztc7%GH2bs}F+Z>Zsd?zN?sz;4#vAXL_`z*sU7p-a`h$DkvHJ2(S&1b|gao#3& z%oR@$mHv3Ov@PF<+36(zG6*D`SQW3j&D(MwnHf${yO}$b6-d)65|3G8Ql zmqKSgT9YBSXv`k*KKKIjX64Y^D(oZ(nbsniG$OC}(etLr;+@gn&@)-2f%Ua$k;PBr zOP)3Bo&gPRPYJq{n7OvCT(Hz+sl@y-8FRt{d*SBCCTeKu)0D7W1aa*6LRh(+_x1|v zW!y3m_#^lf|Fp4TGcJ!vO|Ee`d2)S66BDjZfW=7OGq`C*Ue)flMI6T+D`2>b2g%p=f9(i+y+LFX z2CKHz+neiZ*jzRC|Gczs9DV5LWvCjFY{U8`c=&@@h8?f z!Z#NLM)XaP{UBVTXw^9RvybogjKh9%9+?HWy}+MNy5l0S4syQcR7TpPB~a_zAS@TaQrtud{b;{_;dE#Z2qqMboUD;-B%u6WVwnWobx!FOfh5 zGeZuuy5%kf{u~K%^UXFOd+|#=>Fn~j+1Pdfu7r=;3R{S09`IJpX<) z^h1wYtKpVw$gQ*x%u?upP@7EBd*X4WW!m(~S%0WgTM6mC=IZXRQrDoivS9j^Rbfi@ zt>s#+i^qlctN0YB>xJCu2vSG>!Gn;)Hkz+k)~NB%j?X8SRJ7I*j0!k0=(Z$Rth7-s zO5yh(=R`vlxq_b)lb$Jgn^(O4_Lvs}7qu){o)D5E&j|A~U`&4uCetFG7n@Z6WA%Gm z5fk9|r{!llhwiPr8-34N{B^Ehb~N}J|L3bqU$s0zF0vy0)*{j#%F8> za>9m9)LC_ZgOnMcbdc=((Io8hs@cAk7eFqw$Kf(dPj$ zH#0C|?^o8?dw*3zie{`$$#&df^XNF}vnlkI^m~xIs^b(+TkRnr&r!(8zT!ey+eurz zHD)m1&&c4zACXCp=k0Rp9~e((vtSV_mlc2wzk;TiSizlS-ze3^%i`dFl^9|7O9rU| z$1=G0w_~g2es+MR3T(oNZAfOhDBpP_Gb)vsTU&_91&W9jv%j8&5~3&-fUog(ozE_g5VZlcmJ+M`vNwe}+fT*H=hE}Jxm%%y}xkMq>yxF zTo;TKhKAU(dIrwB_yhoJM}&Kh_YLSVYe1mBy)nUE(sP|yYx=xqg=H0^`L$@=@ znB4}0ovfN%tq`sCaqihw4~_D=8=V68hQg7K*n*hGRu+2aZ+rp%#+wAXIg)qk?UppdY)j^u zH{nxM^sU-S!c;i4`_HcgAEq|9${DvLh(pX1bV1DQSUeKHIN|@Jv3Ej;a(aA}Qb@+; z2p9R6i4f~5)!h%q5X!(K(su)`55tm2D{#rmth2IL zeD6yOAdErRF+ADsriT)`sF(8>x?;CXsez~8r!_pi^Xvd4U-*ofqnx)_)16C|CgsDU z`==dZtm|@slQZFiqxJVtW}s+qfe}0`J*B>()8Z0sLz=n+#3-N-d&jv?)PW#$7?WeC z)6k*zO-st!6E(8LzT2MKuI40+t%n>RCyRUO?g5xvbL(YfuNY#ZB!-g#^Dj}@=+Dsn zzTu|tLDZ!YoA>R`go)`W0+SZNL>bVASdSl8Ma_(5f1@4|G2p@gl8A#7muNnWxm``T z`)3PP+iv=LW)MK+zclK=1+Nd;zIoIzwBmKVEQnupDok{H$R()@-qA5F?jw58k zId6AYRUFYl&DN%z+U z*}b)H?-vtYX6Rxyp!y-6eKXa!RQHje4=M`Wxfw*>s}~)N zT6f1@B5hn19&lpSZT##hh4Z%H=;_g5VHk31o)FLS6c)$LqV(z#Nb4#6sDw68H6Q}32>yb|rY_0AnUC{)u>+|XI4ZCvvP)bWd%pxE5b{oh^j&pZb`)*qBfDvrnMASMPp9 zbM-T9?F!2~{`B2X4Vx2`t*$rUt|+h(8U`uq(Jg4-)=cN-O^9U1=7e3U~;#!X$N0vfYcgn!A#yye^@I9^+nQD_40 zU&oHus}vphB83g>h7KGSBpB;_VU%Ll5-Dlfkln(6yww88e(k`)vs_)i!|8Ixsy~P| zRv8}YJQ|Lf#)~?dSfg7dIuB>q;VzTnX%Zb~PPRMGP25Tom4~q)S9$P%FlMwQPP_c1 zC)JHK4y(r5QrtvqPv)WvcaTM9eXV3pDUoBMtPcziP5G$v5+i1zCF{$J`Aeld+NjWp z0R3Z(et|8;T^nR#MboI-xoFB_xJrjy2OIpe9aLLPh=N85`;2@f$=47P-LXz+#KxZ@ z*v$rumCZ}~FYK@ehP?Z+yLVO^Df`#=4+67=e+l9aMTxP6Y-xNB{KE!Y)JCq8d&7WM}>X5EYmOo)4UzS{F#*KU*yiTvi*-Bx?Q9k)I?^1q1J%Dl{ zSwA4xNwEO}1kf@?7sZMNT4oo_{)NDjU`>?danyi+13wYc(|OgHlN=DDH-iKZ8QD74QE3nl`&A@H)Se-_n5Z~M)Q3&#Ok);d5B))=ps29 z0r?|>5Kz!4?NoTbm; z3wU+Rt+WwwV(R)PQ<>sYydFcX)Ym$&5c#RHHdcdYzHP--P;1<(aieYqb-~GVnENNJ z0uUk5#s0?4=le$VFxGt`-z|e=lEl58g+q+F157myVQf)E;aec)?Fr zgF3b$zG~CGWwu}O^?X8|gPw|v$S`R^tAC2W8_J3px{Yiki+smc)=wc1=Uyb8@cT5l z$>dX$q*HP7F6`-%Q|W+@pvT#&q=v!n6!fv38x%=aevY`|csuU})UOe}DPEM~n_Y8f z%oDnQOrXLsJpZpBcM4axV5kyH@Ujl@ijtpNHPkwRko~H3;L7d^YW@-{!psgCUQoAf z0EK-kIAha##T9G$nb>O?2zS5;J+?C~B-2p1h>c+v*ZX`)u|zM=RMq{X9h$67Bp-OX ztgUzO2L>X0NMev&;eb`S3IV22ZZclf`Tj6vss4DzT7$jzTAns%Izk}n(tbx$P_F9M z+MRo~CM@}Gh*q%454$zwJI~v!!Pgiw4V{R4PRSu_xkO{)4B-wn;B2A(FU&j^evPgE zW9L{}z~J8JTDy^769v_3DCWtHsP|YXtMM_4#VVJq-C893^GM`qK*b$Q>&pDWz#+HL?L4DoVIshCo9kT-B=0U_hJh61 zf+L);BBRwr^K54yB|JUy0d z+U<08VXgspa7yz1B(FMW*N4sT&opTmYr?*~DKKoik zH;+*9EkoKPD`HnD=??E_1AGL9qH>~&za1{HQGbgb8V3z#^ zTj>3Zik^J5mw9s{c86?}HUFusS?!e!tL^2k&r>(*VgKoUNDtAh&bO3%M_8SpZCux8 zFa<|dr?y7*{>`&aJ~>-XR53$Pql2lD_TqHIaz(Zwgo_4~EZ~wWJ&pEJqyy0u>QKgu z!NN$Rc&d&eMqktV_Gb>npP!C zr{P;-^DFCuTCYP)iQNd>McalvO4p;uT4T?ItXn9rL8w8!tv zLQ#b%e5q&E{_9OdjPR7|F+aFN4CzX4Jeh z6B7*FT(c?sGzq`VcX*K? zFKIUF8X*&;-Cg?+X>lE|9Z*T(ntMBrFJ!R={87lol7CL1Q=g@6ELC%f#CfgOtBG@F z+QFu08cFDljNCJSm>P-KDh{0y?epxY2?!A%5%2gc$zw2%QMI?Z#*lCi z^t*p2kpC*2{}mZfL;9?K?hA>i-C~~?#?{w4LiSv0zuR|zji0%hT43z6Lj%-{hC9;| z?#*rW{m+GMCX{G8k+?GxPgQil-?2Q5@Z;k!Gh2dt1(uD@x-T@X>RyrVNz-#>x_)0f; zA1m=Y(}rWl+TdmtC_4LcCr${REz83PawaNR>^<}>GLp2SvbXL*<9?N<&EVuPuN0Fe zCop@bn#W`XGIx!wkKf*lYIIni%^}Vg8s0%9OSL~q684?A7V0DOymWZ*BJlfvrN6Gu z=0nOviePOsyrXEe=CViu!tg2*)d6&%T|@y;BANzBM=&$~XPdx#<#{eOpl4laiJ(YO zPg;gGFmCXIxDU$IJ}7sJ^7ci*+dyCGCXdOzBETs@0`i8wCHFS+?{pewYAZ_85r736 zAkz&yGqQkkqHnNl8*2dnL8>iebP(GBKsl-st6bO)0IB-zVr^>E!Vi;o;gS#CuVH=P z3z$AY2KyT^{@?SK3p#IF1oNspmH}Bxdg;jXHko0(XcKFsDxMVyes`RIKrK~)+xuay zN<%z@H*frNI9v%9Z7)d%fa-74ry5hv?1QqFC63g~n#i(RS{XxwQMQddX9JY<227Up z?*u(U#YUUIq^4BNYMwM1o5n`t&c52DO02sb)QtFm)C@WmKK3HGNgiCvII9;5*<~EE zMw!Q(Yo%JaniQllC#KS`77z7)oK<6)na?sMYNc{saaK0MhA`BInmHpTbt_P<>|X`wcha#=jSf#&M087JAbO z;U;&S-7mQw3jkLzv4fSlPEnMx|FEO7XIx-NuQBaD=> z9vOipO^TLW_tPhX9r0xK>6zF9tZ~e{tT2ILr{myw#Fr<*F~G@9Tcyv=VWVQg{f}ex zd9U)OpW0*@N(?T6{t^X-SXZ^Mp*Bvufz01ct%kCbpo8Q#TCnRH1PEk{_|Vn>0b9}O z7h%SNqYK#_FW_+iR82L`4UZVDx|4d$W76A0hg+>*F(VcfDta*I@9R52R{vSb5pMx` zLqz7g)Ya>5j zAh!7|EPE>`YzQ` z?BOKds*{vH7=~m!gJ}NaPw$7e_=Tm&P3YWAN^+RnvE%oDDVw3AZ#;&6YXv#?EwaRK z-cE;;=X&6CCxsB!Hy3!>(63_H6Ah&qC#Wz3+=!cT`QN-W^F3yJZ3x6Wq=ic4v)mUx zhQagnwQihiX_Vw4|3VR=B>Bkf#9n1M#H2T6c`J|;!_7bkB_LI?WOsvNk7A^WD2}kK ziK8xN*rC1#C~zR^(n5%MvJt4TUHHpgyua#4Ax#_5`3JYQ~QNg`kAN#|C!E-4|LeeaYNQe_LYe&QGr9> zgANeR`ox&m?u2bVMk>tAMLC;*hSUW8l-UxWv9=-!b48p1%_(Nx;m0Fxw z4N$ss_Yt?n5`@=>5fjU{2|UUw+sGB7;B}%aTrStd2AqnSDRM(B;k7Z8)bqttZ}r4~ zCC;DgjCL7ho-?Q0tQ~|l?LGoY3GRE+LL&qSYo;~U<_|Q>2-X35GXPhD4Ulz=aVJdF z4Lr7LN!EhwYQ>ZA^o0l`FZ~>8hR6~S4BcnJRJJX@923yzH(<55sx#khHTCNJ_OVP_ zUFoXx&YsZnJtrkLMMCT^En44oJLY*M?3U}{HYo$pK4!{3;9GEkM9yix$xPTFHYZ<8 zKhWONe9}uv(~usNebB31!*WIRVFSliw3Tcv7XgKNlhbxi(k8-V_>euSD-lA=fpEsY z7EaZta$4PJaSg9dY=^7csYDr_VxFRxJQeQzkn=uFXA(7`=+)pp`LZ5_K1iH+fKD-# zyY#mzZ1_ZurHgh`?%Q0f1yPSN?8o2Kto4(x z#^YbQv&%Me;GlUyDp0Zy$Uwn#s8`yzd+Zn^hInCiY$I3vOqzBGTVK+uL^=Rf0jKbMP}D` zs8N=)GakL}ZYtG#^~Cm|Hc(~KaUtckS^Kxvt-M#hk4M@rq+}G_XplrlbWA@*XeQln zaKJOWgTXVeH9`cdlX-1G{)fkqQ2w8C=x)6hXOyLmljSa7y^hu`2M5ZK7j1DixI>H` zVG@<}p#0_V7Q>zlj(wHQ{Mp+8Yuo?u6KNp{mv+UbmpopAAGA!OAKZ<;*xJ70+0gX6 zyTSjT3A~!fzQDk~4ntX~v|Kdt^FqxMpM430=`l-*;Oucfvdm^e!2GWxvl{*LG-}JvC9$Z7xtH&{Wf?iz$hpfOl zy>Ya7q?+94-LUN-bki>>hKWJ1zIK{0l}vifyqUTd@I!_lq|pL&At^tlwh-y`lEQ}!CPb4vr(mh<7Mdn@b(YHNUuhP1VGTJ zZ=m3Zdz+b3Jbyd?T}z7(ZL zF1@?#bvN6Ocer??jI(-rHMLWw2em@~equ0K1uPx{#)vP&qHN?e2)n1IZb%B*?+RHP zR--N58lq9bP_&9L)A!3q@lm+KUj1T;a^~5rT$B%@b%B3yRxt$PZW?E-2U|5+=rLNp zSu~>Fi*K5FvKBhXH)pMrhZTL*(Y``u-Zo*O*e8e^IL8$VzXEm1iO<+CDJ%IqRV4Gk zQ9&~n&SeH8dTC^7Lj^M#%gjNi-W&=8&FxWmKAA7WEYXY5;C}~-XJ}8Tnm<%8&zooU zO4VJhS~rH&fC%Pb;l zySyR>d?{hL^k6_8ynnhXYJMsgcyA6wU{atZ} zXW1I|2cJwlz5DQIjACf54vARMu?bu~|Ku0R;^O8Uiv58P>tV@l+z{v}L`;{=U{Qu( z3eN2QMgM>MX9*Afwo243`hBf-HhezB-wR}hdubdv1uMkPWkiD1p7{0YXe=crLF8S+ zLFr$R-fL)HXxE0X_B1LFWlRBv9%vXQf45lnCcWLcry<@2%`n)0jH ziaguqgIf2QyF@Hj^YIrwEQy$Yl}~A>=CcL;ZI=?FD~z-&$iL5Hja&ucF2322<}P zFN46+p`(bCo?mAEXIi0bffDqo7EJlQE6myoLO*VPZ2>bOF=5||g;hd9OiTHJQ(s(x`u zoyt4K@QWi;$8W=ue%m~myChtfwICC1EF-C@q=42VbGDSDcgxBTJtVMPKFRC88=r{A z32$>DOZ$+yl@sD1-l2TXp5o@{d`2!7K)(s}zU#O4=exZ}8)vr6GiR{1oTD)PSXu9PAYriCT)->6-D< zurnB95!-vp7Vtv$|LoZ*LC{ZxK3QffV=#X znEQ$*eq)=JMZBOWdd=9leqDhwoEIodUj_ITPZ?{#w9>m98d)7T0~UW+GPkniw|9Bs zkHf!3vC{OGsQmkqwt$n%c1lv2&GDDL{v$X5dpySmE~PzK>Z|1o7fxnaEUlc3f;^-pdxZ0OBRd*iPIzz#l!{}5+Lhm zt5v)4)4k)kNYzvL3K@YlmQmj^@!oEr+;|&xutbirUHz#*m04ISp8H80HlyCK>=n(C zqqTX+v<-33Ml~xy;v|uo|843boZjz*_-qDPb=DI9;AJmr5WV+##5_WEP&MChROFX) zTYaue`dU9mAi&3 z=-Nt%=7&w@t1>#%G>Oebe5=`w+I>htT=1^2DuQJoD8)$bw(!7uEGrN=T$~9gjg0s~ zyXmwjx6F((E1ymhxuAH-l3jE+O4KWyD3O!#E(_~t%=En{A2x}KL=n3goQMb&`ZH{O z(0a$osJg@J2ExGQ(K^=@8aPB(NFYplGOkqobgk2VBJ7LFE6VHe<2t(o+v0zDYkT;y zTy-3sM6SE%v8v1BKjsZNc4erS=v`Zp6Q@B#qv2#%grm(y5mZ%%TSSjg_^%2WE7{?+ z96cgoL#7QWVe@H>Y-xc5N41j8ADGvG?}|FW3@5e`;MEvf@W1(MKbK%^p%rg?L?G(B z0|W(giAp0I6tR4#T!FR8kjlh$n4XxjjCBC{OJyfi9b$CI7T;onm@aCTpn=w`u#{d#pbQ0OW!&N^_=q%mlZ~d z&7jBY3W7G>Wc_pq6L$uLz#2kYa!7hvi4^i4-p7=ZZA1oAbP2B6B*oiM*;_l;GdP!O zNS5)DGqZ!oHi&geGLi+Loka94_)vA1%W!F-;u587A7Ym5dHieCl7GTYi1G)|(2vmU zjN<&1a?%DD{J)&|wJm4!R*rQgF)v%b;w#ljhs4?K zI&0Na4T1`_d)9^3JV91}wh2d@HuDe5vg7>$?`Pz8I<2SBX1iUj8tiQ`&Gg{O5#rXq z5GARcU|lCS`yFg`Y*Nf(w;xrJKyVvo8>B`xhe6QW$9lQ>lsN*w`-?8zO z&*S~(i6s@>bn)S5J3v>tjEa#DSizjDdkC-ze4{dzJAw1lQ2tVem9GcXDu=BE2-?&# zZIxLrWbu9X{7K2WG_ zCzh0olb*@|owKL*tvuxxW2(UsSp(LUHc(+Kqc7xz#!3rRH5fA1*QTh)HIrm3B7elN z`p3owmuPNJoiaO2BX&Uk2V`G7WTOg9q?w&hrAkdXJ3Y{{gI5lK3~lwu~G-G z6xep@nS@AsUsIC(ofg8-D zE@aevv2(qof7Hf@)$aF_Wr?Y*4l(uF1I*psLD%^N4@_dS4xxbO6)Bu4} zp>$15lJYR9V4=>~a$l7`Q7CF}d6dlk&$mKIs|PZ#c;-n~Vp7aR1QlXe71dmP1t>Fn zH#~QwFzA%NJSw;KsQIRide3HN&|gzoDY!^O$-LrX>>rVpGvsAIdMm!paowecXng|WU=)?}pVv7xaPn91$wa$L%H znXRWYFmb>Hf^!vr4*)Yf_}oOCMTd%ek?Vngv#$373UrS?xpral_wE!AnCIJ=wtP#G zV8(B;bD1A<86fZf*+HxlXdxv`Bsr=iz4(9qvLVlCEtbgS<@h< z!&<&Vg38~-SAGi7{YT0)er(OXeUdW0lr9#eD6F*_0~}AV_4Lf9$}8xl5(Qn^=0tV< zpmBx~IGxu*`GXx~t!$8FQeYi^c9%;2#sJ@9P}jF$Px#Bm0v;_M{4*(T!808nF#>Z_JcGhlg* z`)-QQx^-wUZ+ziixJAj)hNayHAzVhX@6t6Zo;@vmKeTu0cURaPDZ`E#ad!}vDyeGAUK)+B``TM*G>sZ@jqLlctP95`PP;AdGvuM;p!`IdvcP}% zb=pyReO?+?T-oj`lW29x%JZqiPPdCmn^QF})LqQ>t3bWKuU< zsPdvkEB~WGaHyy7-RN<_s6ZxOmS<1*sJflMyiy?aJJmWwovu=Xhu&FR;T=d#V9kRZ z9qTq#UM+-dWX9&~ayt}cxXRtVfvEb3m2UY7^($b?#AMnkctYG)5f&FA;-PcPSpPCw zSlzHUmUAXsAMKXUmC&GKZ&#@*L-LIbq+?$$(=UMTEHa!zsvaf=R*ujbciaC~Ti3y2 z8&#$eqJgG09k-}wuf>StgiBWM!<;6&xan^P58b5vflSNuT{+VC4lTV<+Kg}yM^H%( zTn+^8FYj>E6AC64Y^1D8X8M2ARyBcdbi(Z;rF~UsM8R?abRN6q!u@a5bs?9aC)!bQ zhm9LOGgxm^TxxvcY)0vX;|q@Sf;;g$c$Q|ZR|Vbfv58QwxY{C8)HI!M)FxN3ZPUeur$j1A9da?=u(Nip!p2 zN_@YFbB>RHi_WU}pv+3g4;}wa+%@Rf>eo4|V9_3K&b8`B#!eiPJlmMiC31X=#VxgvN=*}l3e-nrQi!Lsex+?UK95OK7pQ=8<}{o2*r zy+eX?fA8Q}UxX+J+)5aaIoyW~UxCI2-Sm=g3Guyh*%SN+8u*jP*^ki#*p@PZIx#m4 zxUc@c?xvHaUT>)()j<}rRVHeeN%TtZ6+!QVLTpBjMtY0z=~4-huPC;u$;Ki$gy?3e z@R6Ca_Nx76mwbi!D06hN5t)hWtGO+h{esE*e8w3TgAsqWjJOrQQXZQ)TEV_)V-VHM z?EclaGH2$sE_^!`euM51$q{>H*SOHIfuDjdN}Ec*jBa1|S7uukKRMKCbo3P#P&4y7)u~XO zm)Ey^4}x=dR|4;a&Azg~JH9YK6dl`BtVO?X@ypNH1B&RhUHi0r>U$01jx}t6dFNbc3 zddI;s=dXP}72ba&W8bSJvsY!T`BK7K_dD}F!^-EcmAV^)I(7t^3;#j78lOHaIQzmR z92|b3tbsMxoB)0jcT9XPV;rN0Kb#RAhD#Aq-d>$qRRTfkZ6GS{*LXD@uLIUP{@_9X zU8#6sv+Rr7BS{`~xB$xRLA^5c@*qv7a?oMuZ-keP6S`zkbkBy5NxESu7TWYDf}^i8 zvV60VBm7~vX$#q;L}9dLJ47SccC%{W(tBxiz*>XB+S~CD#7QMeG&K?V%u{)X#ZDMW zoo~HUu?x2L3=*XJ;#sg@--yf>1gt9T1Me8TTu;mhNxlH_e|pB`2#8Hf)hLN}nBPM@ z@?{RU;SBjr6xfh|V-0EQ?pB9+Ew zV>L=wV~z}ImZ2W)6RPv8t!h%z>W`}r^WQ`Gs~uUX`4?Ant4GevPT@6E_}Qe{tnUzq@(joqjo_ zcY5Dws?=HETD2|wL~DsVvK@a1?eZ3s&} z^bMwb;=pB^Z{;|z6f86xoW6t&{J<1g;NtVv`XWA`wSHN~szoj-&fg^eAj`Di#m$X> z#M`r}d(Be%CeN$RL8S|TXuoCcrG8Tjrq0vDuDoE18~p80t}bWW-kZoe4KanfKZ|?m z;|<$kKr8eR^M!wt0s3DC`TUuNXou-Mua-813i8`CHDbN5jiAw5;C*t<2LVg<8aO<* zSyFXkAWwGtIhEX)fXP8bdA-}nyywG>`tV_Uy)(a9*~Ik(HZB&ZZ7OqXAQ;l-(n$1D z)}md5H-a}hwEuo#eIQ$MWM05JMN2+(RWv!_z`yzMp7S+TUP5Q4n;4ztuJcK@GrCn( z8cAunjr!#}kFD3XXfIod8)ru*GM| zzhmZ*ed&oPh;m)nop45FCTz;Dd{ri0@fCFKgtUf<<#(R7X7Rq7Sdr_TM!j!hmiJ$i z^JVhYI5gIkcC{B z9_Xvd*lFs|Yf6kH`}C$zgMUsQ-)<8O*QHX&oo$BL%h#jF)U9gWvTtAJb`R9yLkhOW)wJ89X~ z((C+G?At*zq;8YN&^z&@Ve~)PBgiS8U#4R_X5*vQGR}k(PCi|`Mm4t%)OoiJAuw9S zA=_Z>NTWk*FRTKC!0#+VuFm%Z>OckUCZ({*qRzH767HZmKAU4;TSQz02Id0(*_epy z^_U8_efmAM&J#Cm*Ew~*c$XjG6!13QsN_6_{{Wr`O(4^9+K*{*xt74#Ji5P~6Mmei z{tW1BIG{?Lw_vt>B~?twJ)PLH8QQJ<(DIMGkRI{MpMfbblu^a<3dmQW)WC%eS*Y;r zI*t+Wu(m;8?{L#y`y`HHwqF-~Dhc`JKzI4QniU}PlMIkI3);fUR5bFWg9WBb_n<0q zP84z}R8g6Fn7Zi`gYhpwChKNN=+|g0L92x-y3Ic$-S3iF6N_OE2;h1nf;XJ&I9i*e zdIx@$L~oiHCkmSVMtwaKXm+JsCCM2?v7^+zQ zOz+F1iL85lTlaU<;Yf%7Bo`dG)Jk}GP%3z#|A_=xG{249UyL(>YOM=kbMD6Xzo&(;;L*Q|z) z9|;HqhIW}qH%tWC_0w2uI|t}Gzr>R>9aXwSU0X52wi|W)*$W8=h-aLMosQYKAJ8Zz zM02{r8LiHiSkWyijBTBTye1t-hGIvhV@`Qq*>0`I!7oiWPQISttePxG$kDcja*ZTZ z)SFSiq|{T7-&GwcO7NhBDT?ZR-1O?I>u3zuqp7{R-CAIOZx}mG z*#AcmK*607oh49D;d>=bK$McM_&+ocsGU3IK67A@?*r+!Q2dnONBtYnM}j%8JeORA z47+88WjEDOiC7-L1Dk*y)nA+y=`ywh#a}pr1Ap|%!Mm8$H3KRKf7Ppzsv3fWjfa;~ z$1Z1@RZ$O;LE$&3k6r|Go-9W6V!lePSBCRn)v%qQ#EEgnGht48ctd2rq9JZ{rPD;{ z#;n$xfs()aNLrl;*k)&@wF?&`A1t@;#^-ufMS63EU?hc^%?Y2|Xml*pB%lRVi|;IV z0Fgc$!dZQbDHIxm#IYW2ka>G`{$iI-V0mX=?7yi-)W!B?@IFbudeJ4*s8u?KIuCuj zpE_vH`d57sKAEpScuXmcxdd-i8Y8@zN{`rR$u&9Dv48U-#50yDAmK|+q?gfoOVm@K zOfo+mB3E;8bAXnE#+9EfZomFH?)aKBJap-|b@-fN(Lt>qjqHP@PrOw?Kt+Om=SE%& zxpMpRrMaAAl$CpL=z**)A^b9(mBHmOv?q&O$K-2ygD)+7_q_{w)uEMQu4^$n_R@PGBsrrl5N=w) zxvjEo#}B4FU-g~cMRMQ+NO(OxR|B5`--37#_$rDEwC~Fa+Ud?a|2WrU zh*wt|LGYpe{bI9;6zk^1sGJF&e4SrZVZ|YyJ}CI^TrfMAIEht6mhDN1ZvUMUw)ihh z>!x~Lgx)?=c=oPP`9JrIV<_MKDO9fph&)Cm;F-EgTA}3Nr9AHqBX_of}VcWJ{gjDxR`C%-E`3^w6eV*|(KTRL=g=iFg_ zo5LT2S6}-6g)ISJD%eup^mO7V9sue2DB-#M3CREw$CG_+7naTcQi@em;Tvq=&ZqJ& zWyL}c|1{RCDj;SP>r*2>zXkEST-wmeWYz__V-4{E`_FmDoFDC#i?WE`=PRcvbH?^{ z`ZmxCURHb%y6QmNQ^MBP9$f#)2qYb$#Jg)G!N$W6w)qcnJ>AMh$JVx+A`;E;kmkt{ip!#Hl3jjTwt#25rl9$Z8| z*Rg7_Ga57ts3`=8{v8>B?3`Ot_?L)m3)ErWl%6F? zKd|TZx0A%XPf(j4FVc=(69d=BsQu7SjJ10r=G#2>qGugNdrgY9GDK4LvuSRv@hr&j78fq#&@;&-@H<0 zrlFUThGa4#se8~?JtV8W9?dIBj2P1LW3Rm@%-UWYhggWy#HKT6?kU%lY)|>==OZb3sh6)(CCy$mSl?SemWf6YyUt`moggpI!YC(#jae8(+KA5a>zXG!xs z-<6*peie<67RzPsO~wtD(@mL9F5;py8?2us^fJP%fT+(-@BC+Q;$M3*M)+D;klwzB z+jDp)Jw<-=mE4EdNbT1ofXUeHG2LpwYurH=TF9)5^j2nYUgQh!nY(~W@cLFkGAs`HCEvdnxDdui{h-BcbTOu@?^ZRH z`DcdHNfM@`ToLw_$-Z+Yt9e@b>0;2pjfqYlL$?6rh_1Yhf-AA_*TCWY(HAuAtNbE# z=YxPR>fZfT4dEwxv%S%T-8%7SOM>Ljfe*@pHN};)=$IZLXlpDIR+lzE)4TMF;c-cw zXYfuITO$_t&CN@CyiXigmMR>mO42C?1a??Zzpg3Y)u{U$~Z$1Y0sz84Jg6uPK86$^RUfL>M2xhdN2n(r*0fs(W!y z*w)NJ#us06GtZ-A-J^i0sr}zA&>2xZiGwS%-*&W7nb~e@I=NZ9&qcB9YA90xqM~4r zu&n(pa~C@8=F~gJ!<$~$v*&XO8Ny9e8Ek&R8hgPRlv!Ng&fIKxa#mMT^?kHj=WNz} z5_V}$mDc5M)5v&S-m(OCv@uBJXUnUw0U?{ zf!pMc=wAH(d}yzU-(WB=xoL~2 z4J3Vu-iP?d-A0DFA)XFo-NfEwTzEKXCN2`<)zd(^pBq-TQFVV>uvSPCvgND=Vl5fl zRjG7VKlgLl>sRQrHH}ZO`IrxAX){#PO@a#DApznO%z|nacx3G=pxIa`E3{V+zyWC_ z7lWd&jQI+C-;v2vMmg9|fX^QTYsYZkiaM|Dh;^>EDF4v;$zJ9yp%cBY-Ez^pJiuXODPcrH0rqz8!QRl{zQbvjK}elW6psVp zn3T8}~0*q;!5hoXW@4^KTI`v_ZjKsy*_il0<0;rn!;d}IU8wVXoQ{gTzU+w1chHo<#-1Ii=B z^X{LWYc-wo@DGbz`k`)cVp`z%UrJ_hhb=cjZ*iFZ_2TZm5uW1}>9i_VDYU!}IP)4T_<-7Ny{dHIL{~3==hCEF)|a9Mr0ul^~*I@PE2(k&Qv8%#&++f_2MP za#PZDmG1SAk|L#|96>mvF`r<~VHHbT0U|@B1}{4A@4iqEf8sOn-?b{>FKCo1;mTro z?%LW9Htq_{3Mpm>|) zkI4e@OBJS4Z{qf+FxWYlyNOrohAKS8L7wBXNE9>d(HG!JYtg&0i9**G z82J6)5MR9>l6W7KcC0F4^*`h?xh2LepH#UHE~>ta{k$;mG0{_jr9kSrqAtl?VT?p(`$;a# zU!yu}>eMg9@Q}s02gEoq3?B6@n_Hoa z@ueUt*Qbv_gs(Vmbo{a#6SNw!BE--y)h>#NvV^md0qP`hV({{fn?S0~`w&gR*8US=P>C2gBHhMW=_+*QuIlvI<@- zGk-1SgjGl3)I%27Y!df`kRAfaFtKYHUu;POht3xXxOBqHlAG#%#Z*a*SsmqMC77cP0P* z7mCuG%4N$?(bE4#vlRIu0(Q=Px@FpiL&uczQzcOJgwbdQ1Sr53l zW~MMfKKf(T`hwFPGe>eTkCmf|<)kYCPa6cZ(uVb)8|)%U=M>wii!o|M=q|WwUS^(I zg*ooK=DIO%<6(BR<$*m|9yPYS;=$p0_#U3&rcO!4ob?iNot9hTq7b$dpjE1MHA1xH_0&YDjA zVD*nWl<>A~la`JULLhJU%fX1Fo-ZuxHa9mQb|OYeCLS5(@=qa~js0<`|E>vh#}g zNj!@7TvQKW!zZ#8tG2FqaF^|Pp1^GI)rP@Dnph9i*#tP0tZcofb%%SBzF_tl^cnE} zEu^j4P|Krfc*aDh$GroUx}6@b?q&Yq!el-U(|53}xU}Z%s+-&}`fLDLL2aU?gB4l0 z6aTz7n5A1W1^&XK9v&w@&?oaU?WkC z;B#vlACOtWd3?|wBz!Ps^L>ms{EN=cNj-Q>ea4VELHof56}AqQCcsOc^HAG08^0B^ zXB!8Rd)jB;X}o26DqcMWqU$x0{RN#E&(m$1^zgcOJj5+8ut^i6ZniJ>a>+#NwuCZUD$M_Uf(8~;>(~%wn#Rq?YRgM`c&f3ix0?y z7x&(>k^j_-E!^Uz@vDW(l6@)5K)n%Ev%Br?O{X7iR-<*+FB%MPO@~zs{30dgiN1~g zUX^R3pE&P1EmXb1@5U+Anc@$hHd_s>@)^3Jy2gr4Et#KrfVLNmD>^6tKqf3F?7Cje3H-`_3Q(cbZ6r8SW{y;3R0PT2K9IY^i(X4YMgCLmk3emQNVYNY{IhcZ;TcGHX(VlUID!cYCUEicrkkQ^=g`GD07 zE5wNB>e2oUbGs;dBtcU{If8*SeHl~ie}{&erU{?0suJF(8g@HO%5tyVw=VGoD2_-k z#8*bBtj^=jQ}e)@uVI9R_q07$>#c$Z(7f=XDIOyshmqUV?zEep;`Ee$9x01lcvt(k z&5TumcnlIAm2C!U!{-eSw;Wxq$+iEB6rE(3M-xT$%n3;%gB{n>Q$WoyNXp@`JSNHD zc=+ClW4mpo(qKGM6KZ$v#-3)s;}fUe(Ai!=j@PzbHYovLmz$kehfHf*I^F&Qo)d}9 zs{X4}wBLVqAD;79rviX%w%y)91!Z<#e(bJ0LYmKVE0K6)rrg;AuT3zRz~89<-IlK` z4#HtQsL@=)E}gx^_>$4)VLv}7{ymTXTaNj22^mk9AdsJ3G&~`^r{s#G}=Ptb$mP%yPKvfx5nZ)Y2Uo(mP z=loLSI+tPwcmKB=PtEWzkL$1f@TRh2r}rAHn<#yQTt8=2-af`ozqHGvl?l&?Mlj$S z3n*;NXqP-(CRKJOh-a8wf*UC$UrHppJ5^_~V8Lh-$Hi%lHcE+$nY_oR`xw)jVxhvfUi8 z@ijKSgr~n+^@LH)T@5m7?YC=l&<$I2*8cd|PjlTYL&#jf@B8%dfqeT4_)<3|did@> zlpyDfW*)q@0J!nABm*j$2b2MLgYf0q04C?7BR)v;Y?QbFb(MFQ0sYjVDke(um7Q>n z;xw}z8rs|Kuf4=M-w{x|ts|v=D-CcUh%5ke&C@8S5jIa1{wLAcPw~XQ39Rc>wiGIz zZil~T7k);Bj!;%FaNuuM>t8Ht=FkWBmqD&yb@O<0x2D0Y7MHvI4A}uLX+@SF z-_h0hqLi`ZjE;X@0&)o3xKz4mfsn3vJxX}mLb`m6tp$|$%`6jnx@Iym&;Rn0CCoWJ z6?!^b@;P*H4aIKPr7_ev+=*eF&M1Sm6bQOlcHGn>hQAa&iNCeF?HIY2{^&qT6HsEj zbkc7Ahb!U6cZ?5}lITvlAq9;W!G3tEJ(w84lW6ocD{|bbb(rS~Ek^{`-p+mV<}C)m zy~oS#TP)^$8ERGwuQ4hweMMJa9W^XK*?F}1k4g{ zo{;;lh=rR2_v{S8;=d`#tHj&QC3+t2}ctS!Vw-9ZmrtPG!mHZPaUrMayTdFC0 z3uFfm4(?-eYq5c8gwoQ+;@BaO7Pr`P=@FYM(u3zDG*|de*l$l+wVcWYl#HX^;kQk| zpSj^zye{=$K3f=V_lh}01@BtsqDpUntmT_<6il$cOdKH%AB>sBat}Dp`Pd5(gP1Yd z8?h#4mg6yo(R^6Mp@sy5P8aQ09SGWcT#*cmuP~PlbWjwR9i$|}B5M5L2wGxJSZM!e zouClGN}rg3@@qJ{&Wk)cyO$^Z0V4Iy~LTD4V9DtQ>dy;wH9#xyyeICUxCq;h` zI{+D40R)qOMMo4s%hTaqXIgN$J`A|LWqO!sCuTP zrB@9isF2cu$3(+sss7mCVcdIP9ZwK6Naf=?ktqQ5otF}6DA^(E6pE5)ZFxVTDqv!_ z(Ocp)6ZK|jguGb(s64XgIi;=O?s3Hk{R428-T-^)7Y#?=Xa1*Yzbb0o-gz%D_X0K> zo|xHM5Ts$FTUAiWz6V5bKL&MCBsb1ZaSmSsO@43Ny(9Fkzj+mM(03X}IPL*FPI3{1 zJ*%|;5R97R$mgA?ey<;#l1i zg!?9+lMw#?D_@t@*}d3HAZbSI9=P>@6Zc*H%u2`Z3YF@NPJ&1qv3}$mX(k(IztSOI zCumy9>H6OgW&D2@fOyuD<};C>X%WJG6@18M@WLGyezNB5aKGx)@)V2IqveX-Q=Ll| z_N7ul1e={8=45>keg=NvH$mt8NCytCGQ+B zbcdI+G?;<5+%DY4k_1ALV?4ssqr(vE$aV|pipD+JK~p#&qHa8{m*(9kx=h1Dx;hn7xe8E%F&WT`>@XgwV<^05gY(TqF1 zDsnsS(^c%MG4o)|EI_)Fg_qImZHg$;2bf=uX9$Twl`NenM9uZ`0Bi%UrFP?16s3-4 zAhFn8B484;!2c_zzYn+CPJ~mQmOQ@a_nPN? z7r4oJ1QfY-nAZrBbORSS(wVqZOg$h1q5AB{t0Be#X)7OFAO1buI~|iYDs}3MvVEad z-4?^xLwZ%f5AR6ie!6AUQSB2&F-14`?19pEsB}jaYrx}6u6{04zHIC_jxH#N#kbfe zwx{0!FxP@FY)4Sj2}`=DW2VNvP%l-zrQqHsD(k4sqG`!I;_*sm3Gn%tQKA!Y`GpCe z)AKxmZLsfWpqSj=jpI!xJg%KBtMmQV`Sr-s6^RkA60s(?3smzGfc+Fx1zptl@tkY$ zbqF4GXY%YU3eASJEg5mDKWErln*69P6c1;>(`Repf0UGw?j z5oiDojq9SgKMYOYMM?HM>Wg>*Nbk_jzIpEScekNG(eAx?#M-a3w{&yv<2^b}(t*=X za6d0Zg?=Q{0A)j$lndOVsJPM3SAL}$t);Es(f{9`M`pH_`&mtF7s9MU*>q&%E#E>Fpt+nD}&l1xC-v|+>=N7@Pz#;`d3@V3W6y7XMK zU&b&AKKB5z9s7;KYjy(aek9Cp&T1$w{cexa5Cp4rXLa403(0FN5(}1lF=t%EUTdGZ zEglURck2E4YLyve{qA@WMI2)P9MVhg}DK(FG5fI9l=uM;bV7wJkUW_b## z9E0-q95UIn-dOX>VRF2ET#n*dRHq3aW1TsZu>Ejf#6;<`ZI`^fUP3d-vmyLvQlmWL z@=LrX`bLZzW_|M*@X)jE%~&$wZGxQ>u3Eo&lGIozO8`j>^jNGM>dcM(3ZJHi|s#o*!zi=Zf~3}@8as=BjfF#>3gg8S=|yy&V~KM zzjrEp-p*vxVZL)(Xg^`i79>}3u> z(L8T)@F8{|go4duYay#RdrMBhnNvMfohmdMC~`|JKD)|!jcp0YO3i5Yhr z4SqubA9K~BTT`py?O(J|l=2exgoSsY*=biR zVt2W!DBzf@e0B3o^>kSgt}`?rM+<*`X7%nnjNW?}i)!&Urp?*ak-PL6trp9AYkOds zs%~nLFgrFiq^c(ikzL)Kp zMh(1~$Pr|C+TE6RLb1Fuao8wx7%cn-RcU;9-g*43L>muO?y~i!$@JBe1s+&GHHF+Q zWM_%qWl6f-7ZsxnoCBcd;N%KvU+!5W-3>*X2p*$x`K+vufw>3qH20EBL&qf=fzu0U z50zs7#iQO7ik}p9bZTSY!h=k;OvHFX$fTS5R|DaqI_J!->MopOm4n6su+*Jp3QNJs zR(3N|rn$){pyc_f64=)_dWz%p=r;bBVPCW-HnsgmK4TI2{W0RP>TsdroO;Bq66~pD zFu{I?ieJ^uA$6%0siF4s32o;E`ls{vY-fHZxO5)xZy5P|&|uLEm$*vVVe^-DDIQI# z*?UQX8GtP(6#8OszE-q#Ns(QW-s+99L5Su^htMx?^yhq?J_zwH#6v_28}OaIm^LWn zr>mHTnlv5b?Mz4iIu!YH^KwXVPY+HQi}QQY68e3&`|`dU?v}jV%LQgzr+-8&meW;D zbgU#8xJGeQU6G0Q$gvmfM7@F+?>FjrT)deA4V;g88<=O3JyZApn!6SzOjwDV zp?{P5h7RrmqIZ0$!t<`W45b&)@DJ95g|(2(xMh*irN#M|C4QZVLkWtzx16ix1?$>d z&W$wyze@I2ASj*b9j$5~U3cp%|G;fZc&Af}s@I~_CVRq&g2a2p8&O4mBRZfGd_9p_ zmiwTSZAt}J9uk!q5Zpvhbn--6%4fL@_k%2&(3qXP?)uBAy(izZUU)(dE($y3{!ky7 zIs*WTI!FZ-RwJ8)-z8zFm`7A69S%#L9kNl`IPqMr zJ@&ci+8p1X1!6f+!qCHZIm(lo-~2|Q{9aH8pdr&hkr#gp8$|!sU!CW=dSkDj#)Q9U zm;bbT}maw4A)d+p)syR4Bf6vZRo{T+mb{4$Uj6LB0^%h7vo?GX; z#U_!{XH~MyR8;7_Y@g?(kl3Kp@#xl&Zs&!Tq2ECPD$~asYr%dwYX^RmO~qx-D;$L9 zCOdoskAqL(2RNlUybRImU{B3N28Oxzn!fBLS)05G!3-^KaFxlgsi#REXSL1@qDN$h zj!z~_#)W0iajzI|zZhR&$VhECS2vw~0b-iqiJz-wA9sF|j5k9!=WmInEjWWyzEGP9 zb@!_4myptE%`z}RsgDm&;`XT<%sfscYQ77rWZ$X=)DlYY3)a-~j^l|uH--5(fDAPH z(N3*J8nNA;w5939FX{Y0B#I|&@5C2KJW5xt(esq6J8rwM+L+z^sUagmiB%SmBuj9m zpW>h0+%4W6RJw21NH2(aH zEr*jFvpKOSwb-~n**ACIsdfwB5@u40d?tNZ^iL~ z7oS=Ln>>LoD|YIWxaNs-*y^)>8ulS=SYh?+>z~`F#;6@hlbv>0 zBK`7Ex!%O9axepabzVSK&V|9042ZI_4=#*R6>70+#=CV?LzGYCS3~Cygg}4tCyzsy zELRmUvk^63CO-h_AC8UNR0wCu#l$73QK>;vdlyEVbO>m_fu+4);gkNK7NQTwMfr~i zsi?l@fv0OeL~SZ)kIR`&uiv8S>-P6&wYXf~XoPsFrOG3Y%EWyn(A*4x`C@_^HG@^x zho>P(w`eWZ?c-WOQh#C695oH7{;{ORdN2po<+#tX?n(Pj6eZlmaSjT!+5fEnE!(2qYT(!yND+GnOI-~chH(H~fb4Km$=o59>9SphfP4XuEjE&bUn8c?J8=hPjyDX9*BLmG@7H8TDvw zNv3Kt494|7Qv8YPikJRT#Qw7?U6NC(yj~>rD3qu5&SGgCg+tU%wT<@;f+nZTmxe^M z7QZ@&Z*ByPDWZoxU&O%LB?MZby!Sov+qVoVdIC|WoKbA8juG!MVa5${qBV_|17Piq zkG_pJ6)rqiUq85pf|i&@B`X~ZY?Kwvyj8KaX9Z zBevNIdyoCDM)|(zBmc_l7W&0ifU{|3dg9-%ZN6!WoTvo0SIO@+zd1TAGz5`O#c2F6 zPM@6hRrw~8B*Fp^X^_1{m**&dAQY>+T5faT!l$3I9QP<0p+R23Vu&zk|4!1mxxCx9 zvRc+jSo~iW&9M$;Tp)YdU+!9&KPe(6QRqv=Oj*!!3v%9I{BH%jL}ECu@$cmCxL*OM ze9V2YZX7CR3bPWDAbVp|IJvZ5+|n?m7jQ~BZ{b9(ucWO;xzH`+`sEw_c&}ER=(^kQ z2(~41^K%sgvNG#VXGKd2F=8~~VqX*%46DU#isd$-uAUQk>T^#U=< z?gg1es&B<~(32BQ51j!X-3IB2347eEahYm{*kakzTlk^b=}blrnlYdi(C{>7<($(k z?mKICCMx_f5%C|@Njl`v>w{l%3U0}O{J_-*6m=3Oc+iQ@jb*qW97X~0A!){wFO5M0 z*EP(&!zh`^KRO@;{=Op~}XIg-{etq?@jWc3@%pcr%KyxntQK;&#Xm_<6*$S*C9eDWb z!ouauBb6Ryvst>YI&%nVyYv&BnfZ$^pTSGXtW96f~Vo_;XC`s0%vqYZvepa z`wzX3{Y4Lc9g*_A#lro-mCNT|jAvG@ee)sH?yLG5WoRrd4S3!z@@Gpr7c$N8?R%&C zTXZ!%JM>9PahQ?xrb$Do;0e7bN@)*%qPh!M5|1F;p`R(yFRE)S(iENVRHUyr2vn%GLNTlwHkL>$uh}V z``Ae|U2K*zdwjI1`aBR9AvdP3Jxx4nOzn@`&$-*#5>e2$pZS9-rNz|aW6mO9`dcf4 zx^TK@;d9Hk7A&}JWf1gzVz9g=Cb#vT32%Wa25*V`gXnq|+;5{@U0|AR_i zR3`k6G$A>4*&mQBehKJt#Jtn!GrK&QCF0+|7eYjwJK$$mcYhic7l<1&brE~G!JH>n zKan?8{E8FiuE`Z8|0He1vrLxVhP_?J2+6PtO@PBKY<60r@3+7Dw;2)Wre)hT2 z4x_!t$oHr;VX4Eew7ZALFDqP;d1Er(`vUa?(?>R;ntuR!MVJHX)f%H?j(iiEY}zHK zb|A)R7xzVD3GLJ+PP4@TUEk#t+8-a)`F8vIi067Iy6Jc21W%s|LqsLFE zf-kyOd#>@1Y&AB8^zJ^L{vl zghfv~?zypQF z&%Kw5o7Ck4bMjj9n{w$hTaV?sw#uQkQ`3s+0sX)sOEik6r8Tk_rMx_b=Jtvh+ zdVTQaeK*Fp#`GmeP4Ke1!za{Sm}|qz(nwOP(h6a zX5QcvRXJPz2%Cqx^2n;luRB#&=1;~hJ71B$Xtcaq8oX$L%cOp-mOX-&Myqmd@+MY zMPDXMRaRrNn=sHc<-T%jM`15OOrJK-N_lN;&UNt7U@0V@3uNTa-dAEKm#fmFEn*=@ zix+oyTl>)X1D!r$EP!F&wer3BTbyke9~2oiWu}JXbGrWZ_K1Q$K=mXqGmr=T#@;t# z$X^e5A@iy`?h5bQeR=*ehPBOLVS1R`RObVG4jY00L~tIXx4EaivvpCSpt$*p`AS(+l?I%+-f&v-wgN*$d+)zSd&lLv$@_P3F8!sXuIRROTRgY`XVM?rna|`xa#n5;y)k7)2L0~f3VZ8 z=S<#%o?R4=2tPG2yt{`sPxg!t7P>-hjNi(KHqSf)oReQA{)`d(*(Yv|8%s~_oxBg0 z4@cHO#oU~w$T0b*b4+dubi!*)3=`k{8I6F;N6qguP2W0N(UGQlIw>wOpNd}T%`bJk#b;!A_{Y@hv}|02{Lfr>3NxgxhdPle=A@f^Hg4-yLU_URscV?FD0hc$P!UIq|zvy@?AiP-2(d(4#U{%RAbUaMx{w?FIMP0I z@Z5#mV;~pLRf64{oZ7TFa3kJIV2ZAn@ZABid@rgnn(s9kt;}rGR}-kE0vxP#>6ODc zNx>%P?F)!hQ*H)WZ!srKu}0UKb_9qxBC&vd9EJ;F?ZwOAXo)swTMr|>vq>Q*OMK4c zmIwDE>%sOQD_}>N?3L=ksTMR?BT0mAJu=U z?Nn&=2&$w0BEv6<0E$=+ma&wo$+jKz4xq#se@RT%5~@Rd6>Ez;AbG44My^|aO5cQ* z;zud1ISSMHQupSGN_saFlT>oIsg3`)l?;hni_%j5)K?`uMr=p7V(ELi+TJR&WXMbG z8=&^~myalL0gzfgNIm7$r%oAvv)#($nMiR?S6?LFrv93FSe(ikz$f-5JU=niFypJG zb+aK%g4FFt^^HnS!1>rkRyuf3 zFsoB~9hRI}B*}yRfTIMU#8QqZW{Qny#UrFXnZdFT6Z*|hP$+TQCqJVj#u}IWJZ{nA zuG{^~|79azOrV4OX zeo9bIue3-)SCrrITF?LE*BY0~q?swNzml%>&0D{W1_JwbkzN)7i_2kvv#>r5(hnKg zRnq1D9Eyo4o*t$9&^6918*}!lRw34|(&8IJek4s=^Vrhyy_!qq2v5>UVpO)PC4U=y z(hcT=Pr=?lGGWYm6XUQwI1e)s9=K_29_Zcf9!kw!4O(uI;CmD~WUY zy}lEf=ZE*NRQ>?Qvt^pC-W zcUg8R2gNtvdzs|B{M#pC;uNE!2J$?CaA`x<9}@q7{9n?N^2Buct+#(taBLUSp|kN< zink&<&52cRfwns&Atx}i1y(~68>?wek}aUbX*XvfP*Wt#iS3=~{ z1Yy@psnrar7XD0cXx8|FR#e)3rHQ}Y^c_D8FAWaYQ(9sFUQ6#dbD@XnhqYKCFFuCEfsqj znZ|88>-|>o8lw1a2g5AIG}GsuTdUf?tsa@kx|=Y#;u#ii6ILNEQtHb8>pFUa*`m{!eMjOfV0+|s$lKvb^?1fTu;SSB9xd*V zrm7iFIU|Rijjsm`h?A3iqzUC^*rJxB@G91{=UR^f_o3~e62&3e3l?rEN>xwa?>*YS z8X|R9nn9ogn-d#XZYrMu6hM`7KV+#Q`%N|uO;8uuI6V5kw4?ME`;zez(?ETCcaVb^W3o&=LGah2*n|4CV)8C z)Qc!Sul{^w0T9p0ntC=eNyf~uVqPFGqZ!RB%k_3;t{C;V7+`pNjKK1R{C;L4dD@^4 zy!{Hjb8c74c-Br1O1mVZoc~mHd)D)ol$QbRk{K?o_+ofXRZ^y+gy$J7HG_`U!|Pl0 zOp?BNqPr2MxKVv5_HPg)KTiAd>lXfg^-k0kv{cdhAm%;o6Sr*`$l=UO$M0eAVdxc0 z0bem&IHVpmQ^)cqmQ)bW9_2SgO{*wa9=QN3BPq_X( z1H?ICGi1{>V4I0NGgt9l7(?Fv6M!1I)yUY%usoI{-UCBK7m!>@1MTgxqQD|iu_3LQH8csp=f7nKTIs;M~G z@q5w?;zwyR^uyz7(3h8Am6By%z~E zU{ykYWfb{XLct!^2}Z+GMDpM>{yU=77c2kBY-D;m-`QF?a=!jW*rL8*H`qYc_iTa` ze8y8t2mcK3Oq%aR`&_#ag!KRAcDyPkS=^)=FMttc!_tI*;(`W~w%pnoLvhj#Vk_mC z#5X4E3NUB-;fh_({Rvf%@nRn1Nc6+|b_?SX(-4o?7#P<}^%KvhRFB%(X2+MHLR)W+ zkq9Md_*8z%GZ)nk3{`i1cPXV;yJT7Q>?odf)+3F-VGA;RC>^MKaNiTz(fZ5`Td-?J zCRBlVQzALjZ$KT4v)mkjy25`MuNMVapI%&=6S(A5 zQXs6#sPL@2ZV^3uy#=!7Im&x2@FZVxID!<&y>}`Ejd2`n(<}bmqr=&l4^S28e9`d#CsAHuQF$aNCsdSU4$Zxucyd?pg7c>}CT&UvqGA zZX|aEr68o6-4cO0&|}pvw!*W`CoQJA@Rc`$^{y1)ZaK5wg{#XpGg$2T0ZvIO=uYla zP4>4MQ^l_vOn$`#tq9WHd_VN$SlNZaq4?bGpwi?S3l8E}WMY}T7A~X`*oEL6xG!vcD*5;l zXe3D5MYYD`qCU>@r}t7_xUI$H2Z$bA%BS+0hj5lT6tVzKp+`n>&tG8}D5@nBV2wh) zIm%CNRyqs}#d?&QSJmiLAqp3!hHnpjBCfZ0sp@hj=cl>tJ8;+b;XhZM^MTd$gZQ2O zPdVp8a*u!m#T1jvOprJVyg$pWdA>FMcDX6C@E(i2Uauey)fKyog|KNKv4zJ!2a!5} zRQ|bb)3<`vryO-73XkHt)YcGfo!ecg-w`}*wb?o^z88?OP3&KM^fbNq`a`VJxVL4S zM{HJPxW(MY&$GYg-*6IPRga%Zea%+F^B2sqnNZCtEdyTs-nU<0-%3tCq9?m&Fqv~K z12PZ2$OmofEyw-}pz$XwhwHZlYjn!?{nPA4{$@$I`u@icPcVZ?nESi{;gUDl+`f(v zz(;h4nHVZH8l*^MUMQBB(!ezTypwoor3iOqocv#Fwqi)OdOB8rp+~$0v+fjin^a3$7Ma>~R{O1%N+9DDQG9&^+Xn{T(A3E5h~rMT7l0uNCe7x5W&D%fF=CyDyOsB4r_jaF`u(tg z>FxU4{him)nK|gXBgrCKMfxuN?jPxK&-wgoh^80N?;CUz^6S1~Fe{Gy=HgRFn0jAS zddUdySn%q#ElY(hRUi3X$)jQsdHkPXzXzlSW&bS(2joZOjoFyYA1S|@&8JEH6?Fxo}!?l zf_dD#ANp&2r~kk|f_+SgX48?StC6pe16*6eY3zYT7e}GgsV}=Er2n}U+ zXZoA$5WY;CF-zA=`Z(TY*CkUHEut4#(zBUA9y3*2@++&oCG(VBo36UgWmzqG_hrGA z!`R178*1xm_m~G5y!-g~?w^dF_D)3^h#cf%>v_njUnkS2l)HBD6@2TbMYYpasN9=@ zcUwA#0zTjQGS3nerqmg|?Q!Dm0r$_0cTQD;OFoT^3iG7%wiN&-zu}1I9a0KjP>d=U z#A~%_Cf`=3=#XwJH-o)xBKfF(z2YsOV0-Y5KPU~J8pxI4h88Ti&o!n2OcyEQ41lcg z10CM)MGT~ZVnZn7C7G$@coeYu!jH&0J47o^0sUz{M&1rvF3h2d0I9guao<>MuF*1* z#OD*9Fb#-D1e>eFoRKESt=gE}n=K*B3eH^;Kc*qB3y}P;Q__yTr%qaAw(i)Hwdcko zPm_imY5s>b_wAC#UUf!3Pq`rcXC5uhC1nEw*L`W7B`>O4B)M-ZUB@{$Fnvf&{q$`9 z_fY+_Zoj(jL~OX&uhX0r%DAY|eE;@tA|eEpj^~-)P@l_9`QukqV#3am`kgc9&Xfz2 z1SAHLvKAHGdkQNkK#=Sw-KR6ZI;*1wzb|KGO|8a4>9e3qZ(Zv?ivqxppOBP+?VGvT zd~j8Z=rxpKw+Xw>rs~b8&C;3C>y2uW?h1(X36J)e=*W0abj*QF@XJ-bP@;T_u0k%e zD?|^N`?@pSmYD95zfB>pJxR_ziCg&(gJ-n2mTpjnI1C>hlgQvDBa_iaK=${<2m+Z( z))8(+???)%kcMYx!AfvY^ssaj3SKFnN=FGl(h^0c;qQ~C^g}+2A$=tEsHwa(EBo0F z&SM2r(;-*_okxsYkwG6dkv{Gf6$J@g^jtEGA} zj;ER1rKm9E3axVVK^q-)`xQ_$cUX7`L_%}gN3o@yUfMatQ|{H_)Gn`)h}l8oE+o4?-X}LY8Bw2p6kqfcT63NP)ad zg)qLaD0S)9*EJupyo0h%4iC_Jnp6oxWAc12*Fc8Gt|wfAr7J%MRDPHIvw!(5&fe3E ziZma-J_|fB{&Ho^R^dEiP{&#|_07)r6DL7_2+%wph$v~-6#eHmc&Yv*X12dj2w{G> za|txJ7sECHm9;>ogXjU5wYgtZ9rzgi*vuHQdF~h7vOEbJ3QQ`i{%0U=uKv7%c zL<|h)=ufE=DTxuH z<5>^dz6>9N(8#Y;uYWI`KtauyLuj`H_gd`$4>}or?7tKjl5bE= zzv3#y;_{RovsW==q2mXsO7=HtJ{bn=$2~(=1OFH}?XEHrh4Dv)?ff*%fe}xjxs~;| zb_)0bs%&GGcJjFS6Z`O>%C_Y@AF&feCb<#YnofYCeTKgu(G_t_SX$C6HQGci>E9Y! zp3F*gNg7=Pi@pnpT{dH#jw%Nxte7~%2*K4PAE5LuLFdN7qH>m%aBkDe(O_y6;NvPO zRD`PHYJizJj{K27`_L`o6hINfS-U%iUJ8;aL({9uVXR+`*U_`-mK;K^{2n;IMhizr zp!cCkEpLN6mFvOxnI|Dk(kzsF)25rvK&qIz8>#d3)=uB|qO`|kC?WI&oQ;qpgz z3*Fv;A!j!3{viC&;t1q9w+|E9kzB?T;|yiAbb+v!Wy7(_Fq zrhCa5w6(pF-}qvM{{8KDWh!z=6tXD$eCuG?#j7j5eKEI}x3ye|Ol;HE+f2Rrw_I;{ z#$H|#?lA_9v{S5Bo1FkxoK8dJ==X7%DOFahz=>`xFEv4d!Z4$saWvq$P~UCp-px1< zZWRhzmt=hg`#9pALEJZ*ZS!O6s~d(k$FJSdaSJ@r{6pa`fOqi`(IXlJvWtK3Lc5pfU%{Wiz#nHc@cNo$gVj($0alU^!is?MK*m0p&OU0DTTodtV;>-%x(+$Oc(`@WeLIFD>Bc-xMsO}l@lDL6afyQO#sta)aKbv?i1wA5i#YaHn`r z|3Y)w;pmF0e06RB@6-=saGqD!lC1`UBD;`=Ky}3aR_t+AT66UaQmAeL2dM9y97e3^ z;vs`0Ceaxl|GqFM>btwlv`p;EB%8k&yyJ4I3Xy02Vez1iGk0@AKccab6dHKAMVwz8 z7kTq_l2~(f*#24`ld#L})dJ!Q_95k-!!K9ToHNKkFLwpy7*tpnFxqC1^2zJ`O&h+p zRGhMScIn&xM>2Gt!fJPcBJO&Rb3ve?!>A*@|Ne63PJG--GV3(zE-?`t#OQGy&=&C; zBSAal5p$R#ot~-a7SvL&dC+@O)h=w8XUGI_Cdhb2Oy4K!q6NC(!^5Cz%2PC9RB<`E z{5B<`fzYjdj`k*9ByG8T;2rmCnjLv1$9Wz2qcu8M;_=e`3MrIskvQkJWvk&p>pgEr z`2k(Cz|rxv{fr5-foN3M1uNqa6lD9K zIq%Bdk#FbBU>4q!g6{y|VlsQ@b~UuTn>p0=sZ+8~eg(hPP~{`PqUhuyFgjXWVe0-2 z_sNvtNwTt8W9&>^6YYgH=oj?p;ym|`x2v%hDK?|GO#Z!P>oZ}6sai@LWB|EmPF0FK zo4$-moC9u|v?sZ!JNE;TA4|9qbDgVr_bu%Y>F>|-5a4YsNex7zvf)dh^jendWdpV_ z(Jj=hDB5=&^ms_^;)daoL(Vhd;N@#4lQjlTbs`b|4)knAkli1@j*vqX^W0xqj#lj1 z_*3SVT<^rw0`ZJ*|LDUh%d|uOx<=Ud=7J;Go8(Yu+v-exV!cD3%S2g^V5`->yc*z~ zuCuqOZ6&wW9i34&01SLOVT*egFPl1xRE@#~IWMIfDpVr7)I_CH475Fs}IzU1-<%YHR6nxZz$aW57Sd`Ocvu)sLci0I~RKqKhI3LcC zg!o5RM~+{tfX1$tT4;Y1ER0dK0g*EaGS27WWW(XFQog|B9L)DG!yVdp(tr5@-COzVIyy;wrW$rl(!K+FXV3dkj02CA0{t zrJd}HgomLoH_!r5l!n@gI-AZ>62JfZ3jSBJ#?kc&uI4G2()H?q(fzHa@9~b5w>Xk^ zG)I~v$7AY0$|ao^@mC%xH7dPChy8AAQBT8+aleX{evHCA7@R)_nF9S{K+UUIs^rP@ zz>iN{XnU>axc`D0jgKl++5Zcf6iV|HTt6h2J;Ft4REbUMXbkJrDmbSN9i!Ch}@4E{wjLMK)3gmcs~725A*!?sE$+W&p})6CD~d zz^gaS$WpfWdeZ&;`yX$#*{fJ6k33uVFbtwmgWzSO9LBg9XeDlHw1J(RHPtmM`eUNG0=xI@c z`Uctt6~bjdSZHQFtx-UfGV#)h$qevh#zXLi-0!ESnZ~jEhYj&Lg|mXaCJ7xVcJF7e z?b%SY!g1_bg}?Y>k-eHE>F0*4OMkUgW^E0|%&q{M>(g&*{h%zp%0@5T&$o^z_qL1GF+&&(^A@5a3#Fxlqp*bJIU-#}aE zJ+o2+{_8{m2biGFD%g^sF&^KXOv-V5VAd8uXk&-H#DwQh{-gh|0Qw|aVN1G`WRjV@ zf@-OZNG7=!^*BvrlpncYIHf6RvghaWcS~v{ExQ5RP?o3pIr6^1)~E?V_9AHvo5%)wmb&^<`9bMkN3bm;=#V*bx)?J{UNt5p7SHCed~;`1U6^^lk%&v{$iKff z-@AH>BkNlRuK=m{ta(0b8M^1PmPg98vT?Nk*1l*{UY{H__4laW{2+SBf7P2p-!*w% zG=ACI>{FCe=IW{|xcXAoWP{7Q5%^3l|Gn1>WyW=+sH<`B<1Q09&%u=+aKiImAm+

Ln7sZ_YQ=zH`+@RQ<#T(Og{3rKXpjNF0HhS1B#NnA++7j+4^?u0 zEbd;k&TGEEWO5-$x2L*r>^5MX=@!(S1wn^9u}I+cMX2auhrM1QU(uMKf}PD*EsHs4 zfEH@z!;fzvz6L=vKp~Ti2=Rhgk+ZGoj)km4e-0R$Y!E(mVN`oRClLrfT?e)@B(Sy7 z)P-6)j9+EPtKfgNMODO6n;)ee~Y;|ZKw$)B_c@h1tKed%o9V>_{#-W_TY#PLl=g_qWp;55 ztTsOk(?;s4TAb%QQA)$!A#Cy}p~cauRirFQ4wtL`c1bY;@{5)i)ce&KkI4TG48d>^ zlh;^0M5iwOU0~+eR(N-@3S^_dchJbRG0w!GHI@$KmQ|}-&Xq*1E(}xLwP{HDrs5!s z<*vz<#xqs*z-aNn=DjK*Qy~6duaP{OjFEbw26z0;g5UZeY84G-3i-oy+r=!_>R9|M-%-ly zWj(^5|DDwBKHti=w9--5@$-cIPR2(sSnyp&L5j+}oJB{e%NwPN3=y6+%1n_2=i(k- zuKs|Rl@WHL>OR-s%bLf}11?;HYQlEBgL#^(xL zTCiaa70_Q;ezOZp5t&A`oP7y>x-k1%tS=$7K~<#zXp4CSMm*ciqx|!l)|Z&5B`8Ar zK+Bp25gvl`hP3PWytQ>@$W>gkt&4&&>FCl4&0@NX-Q@IM8uTv;H$@e&Sp%Yh9M{CU;uDYUBt`|bb2?9#Lw z<<3YiG>if_9TNH{OOpDm{3rMTaPyBT&FY>uJ!U5|iHJIfh-lPB%%puD*odEIN0*`P zH46+#Q$rd2Kt>e21kdXtahv8nfG^0muKl<~ZVo#f2A(JuS5KXqN@9pzBdGGZLH!Zb zTpI4Wn^3hzHo#Eszf>Lx8HMou_GFWm5Jqwnmw>E}s(hH+twZHD4&pGN)dk6F6f0RPunEIw!UvDXB_ zEC5d=0QBfu=rG3`D&+diT@>f39k;%2P&3N059QgASc6|#)&hk8i@X- zVp;jFf^r5Vy8B)c|ArK;53JUbAeg!TXqK^l&}w}T5VLx=t7=hS{H3}h0+4$r1`>=F zjMa0<$Dte@$~}Ha!*$CH1zoWcFtqgZ0o<6$r>lD6ZFFae`eu6SiSP-k7qEksDJ~X_ z0EUn6==SS^d1otU)!=%fpA&)6#Z}xHVr^+!!mY>uzXhPWtt6rTayh3MJ1IBWMZ*x-qqKRfsnLn0&aWUx$&i9F#Y%UZqX+Xt?X8SDnlrdpvUd{~JS7dnMJN5-){ zy;o~=u4#738bt-*oV`wG0{aG!GJ1>LejlL))|^2yYqJOD=KBmq2hQ1iNHCdx-n#o5 zOM|6|UBZ2{(>Rt!awv~IQ>ybF&a)q~pd}eA{C-9q>26?dXHJa`xzTj~$&U+$z>@Eq z+K~4*5_L&$e;_p3K772|wWn*7X|rK#5#brD}{Cp*=3{ zTT;TT9Uk#00J5|AOu(~1;|Z&QGb>dDHUPt#%@X?hEskP5JF|ZTufJwb>RZG>TG`CY znBR5-&%)emH@O{VRsf%ve-FH(XqXrL^@5Yoo~LOUOYe+1zt77SV+%x`!&lpcS*2s) z@Gtdv<+9*jKJ+=iANcT3YD`@Go&sI3kV|+gEx$Rv@VoyF-|YMAv65A^Qmd2jd3$qR z)f9Y6Jt}99EcrQ65p@yzDsmTpU;9L!bX?8Kyf5-j^qOn>YnsD+TM5@#{(M|*0QIkLs4fZgSb+2)kS%Q^=)6 zzgtnkd;+T@hOgH(&MXAI29~b^IBW&eZJMQ zS>GN2o_d`gkOkBv=Lpu9l*)pUhE7u8nO!p7`%FyJg&IAw9m1|03HRQ!G9i5~DPC{y zs1&jMwr#(Sy=0}>nmiy}=LMO8-TKErw70{rP)eL-; z3;DlY*D+mJW>q}CzF5sfB$Mm@niuYE>hEAr!9EZLAC(-f-V+n@_Fq&pd7D_SKaW}C(~Ck_uE>R0#qayna8oU&un`u)#6@#BU=){wxhObv+Qfe30oAaub`Js zw6E4X*chP2e~+_UuXMHIBoD-zK!sCHjvqv+C9M1vcJqqZP|$QCV+)M+iu>cWYOEfX zZoKMTpVHoL-*&R#XvX4S05^f`Imzg3vJmOleel?@>z=wHW3-f#>r~|GcR~Ek0Wa{J zKzuvog=WAPW#*79r&cI=){Ak7GEa=tg|Ir$(g&pW9>VA39p-pc`{r1@%K1reIs5*2 zx2T5g+wN)jd+yUnseas~zI)>Gh6~U@U+BBXgUgFdsANE{N&+?+r7Ml8!O1w4@lHBe8s(f%{PF= zp8IyG;>7O-BQe@Pu-G$&+u@k%lhLKlJ>94>+R>(30I>sc@2kpxa1Ewe>~`g88qp&NFF`M+BtW)j{Ez< zw7;PKwvuBgEg<>D*m+CEtbfdZj>rGxQvtMghVIQQ3H#P|7sM zqm}R?)twy{tj0bv5bop_QH_AMJV+i`#1kuz=R#iB;&u950{ zJA5Mq$5JFK`79S_TM zyiEIC2HWYr8loqZrNN`49*pZ-EggZa7lNAeC0)`)=j5^sI$w*DhY+E+fg}}Mq5;p6 zaQ!I|9q*YQ5-OXaH6GALk2u3VezfcYM!9X;i{Vk;)*YSLmBuq9;8_SMPIgFllU~7Z zaKIMViO~~a?R$WU^vk=3d|_tUu3{-;y;AM z8LfC1qV+l6ccXFK;y&|d+2Ez?roi7PGoz0?q-m3;gs0hAw_lJSEhn6_;kRBixC|_S zNk;2WQht0ePQM~}Ms_}^cn=!&=;+`8bMbYx3xCzpKq<4qDpv*3P4&OHcoxib@Dz+< zl8abv%`3{-_jj-2Z~1ZnY+a+}-EhmlY8^SGi7SuYas@Bb8+Y=_Z!n72epkOYu1~-( z`lBpWtZr?VJUj=D)m(q7VhQw1ZAI5O>X6Xq>nnj4aDw~VT#h)T;14_t^H-Fh@Li6! zFAKd6Vlz%(?Tn+xYJd&Y4xta#G`-KqWi@WZc5O76)0I@M zzR&7>TwXU*KuN>VxYC;(Ehhn*3;vPdYQUH@b|`U{#z;2;0&V-1r61j}i-on5)v)#h9kQWbRG% z*J+Un_A8X3sWF5zVKc0VF%)|WKRqwB_0nz>ywCRpLfvYqC!h*T5hvlIZ}}!~a-g?oii+IohnwKihTzJRFsf+IG* zWp1h(eC+?kN1~Om(M(`nK4=wzjC@fyzz|Kl0%b>DaYy5xk=yXSUaVMUv^<`}@xX|^ z_fFa4$7i;&94&v5bVHX&-?V9aXjiSSDd>D%m#iZe@F=OPScdWJfL$WFIyG+bDQGd` z72A7)_!0VW#YRpxoWajIwU`5CqtzEmfJNma8p+|gL^fz~nwgZ+c(vX}DpV}XOP7?< zyl@%oww{5SWqCA@hKu>m4%z}m7mJlt=vJQOgx%XZPrgY{z3KOUd+Q~m-)`=#y3))! zYed_i>SI5*9efjjm?b$TycB$?{2E|!v;5{x$0&UldL+KMuPi|`Szti^+2_Klz;1;X zd&9%)CeZ6gKk%Fi?lyG7m%m_&u?5b+|3Irx*C4lj_F-37IPbDVXTucG8zEldOS;IR zpxy9L*-F)^pV1YRzOb9O}Y&Gp1BjY`VLUghvPTvF9u-;iwT=T z+tf97Ix$Q?1*QcvGFFId$_&&WZI=4mi{+n{)L7?l@N012vFW@tRC@WMrrTT^b~&Yz z5YoVOUSu+?w1B#2IlAhM>MDpY`gCrOv%$Ldr}a+%<}T_F?CUkjsR^z1^VrW;(^=U= z+Tv*^_)V8pLsR}D@g8)l7$H7+Q98&ZNCGaQP3{5$rfHG>p23(o%jF3ko@&$ODOC4J zaYVoLXJlPx>QPvc-LOCYSgcW?5=F5$($qHxb&tPNJ2NUQLN??6FrcD8IKSE>BeVeI zVDz;0#($0>!|sO)uhjmx8fI;Mt1C5)$t}Y5V=t>+LOlP^&@uS|Z5Z3gT(cC-5qMV2_ zu|CyHxeWQ)Ked~|61a&j!j(C+f%K(`wS-@oWujnA$I4*l)M4Sis+uO>)`i0iQ%VS2 zFL0D&(`Pu5BYBO!CL6A7cGYJrihnUs@Cmw1+KoWp-$@I1C05YFTCrNj!aHpybpxOe zUI>n+WS*FJ1P6%(-6f?!j^&A|>X-P5p}DD9bRBx0L=#)p$79v3;92h*+pJN;crtd` z8Np?rL^MYbQ*4e3haW#&ZBuSo)NY)702YPldoNt>{k029* zDrUq#td_a4$UHqA?wCcF&HXF4SyuNr6=sQ1Zh#760x?#KT7{!lK)TzR-&9Tr+cgn6z5`*6pkBlB5t{d<7d|Y8_u5s1p1|UVW zZ(!_$G#R+!41j#>U5Ni+9ItA$+}&2Exa0N9gp30@WEZzx%#Cugp0uS_n5*a4t_!kX zl;?uY?Q-Xs9{_IJIUm2Up4vPfc?|ls&t`i$UV%7%UP&W;UOVP7bijeYJDd=DdtI^L z^g_!`gWz|9zvH`E-mE^?^pNTnV$-O3z_SQv>EW__*s>ykV0VM<7Y(&if8UGU1@qLnXx{esJD{Gn?AK1X>RD6Ci1JT_Y)3t255tcZa)og3gE-8ZG(Y3R4#0O>NuXzdQlg?mf{Om+%Y$v z;8C4GS@4!8qcEP$rT}1TI}Hx8?xA3Z1eK$=l{U&1vb8=mRbEU)%} zbBgC{;-<{4h)I;t>$K_C<)gZD_6^GOM=1@ZRq!g|wwRegeVQN*IcX$c=98z`87uT? z;tm;izJ76BtR{oV(=b)i21x{pAVXSq({5ai*n&N4%8<}bNl$~)d>ck^DwGL1W5r_( z_LU9E%{#Kb#K7f~0AcFw*0rc%^hZsmZRjhS{=)9o2t-M_pJ9(9L8O^xmEcDH^56Eu zUso3hNF}l8eA0I!E&+M>rBQc~iA(kt_rfbXd!oQ)4krwi8yV1IfwR0yStGVr5_E42 zwv2u?-JGD@xrwH8s~xIvf8BohZ24Jui!>0LRgtf~2ER1D>F*-@93mT-*1TUVG+4G` z+vqquNAFw`Yd-ox(GyXJWA^>`*^ca}1JcNeUT}b)ee~{25OG`9f$)I;j?5tDOtS=A zCeNj5GK}L~i(Puq%Yg39>7rwz$EXbB4|$InM^?C2SGa?FZ#Z$hi$t%5``*OAco1HE8mi7 zH1&SM8zn39@^_RwI%_xHvAPGQc2a_-`qqQNDyz*%zLaUQt+$m8EoJ} zL#~(eEHDvL{d4{&VQBsqDU5YlVt6&Cl!)W&ev=bxHEqtf^jy{=zXVgz{p04p#Ya%9 zu<>ULA`2g20Wb-fMEguH+JBh8!(7MMQ?x~~e80xts=cWOY+mRk`v7#4Ba%xrRqw@0MjEwA*(@fEe$5MT|Qy`4e+s>WD~BfSm=QIkljTC$QT#O>v-Ny5=V4p8ApdY*UWO&5+zGzp5IzGR_6LocjK@xC`)o?c`u+z-*8bL%+$sW z2|FH9sqOT6cu5UmjL>u$qpTCW9km*6@m z=hxVKgeo4vkm=Ow%h&~=@M8F~+g2g;QO|tsYBsX{Ufn~x8;TRW#z{jUYclNJH{>F| z0&0>UTRwdUt9omX{B+(+^fC6EH66TU1AeF}2er(ovdNXMSWc3eS<#c5(yx-_|EVeR zu2YWZlZ-@M$+MxbbOK@#Kk7t}WrI+(K5&^8cZIcDvou7Uw@ zzH5YwQx)Z&BreIzNsyT9GywVumin;r5_aufVTH39yvKZbt)cM^Mfc3!pybbAy~n7*k<{4Vc>@A*aX@-Og~ zlX9E*!PP87z~bL~qj}-|c+OcUClR`CGj%NXITX{}S}(Q~Xp)4wa|1lKU5f`xSJF(P zIZQ#g86?`v^?zQf|EAt~Zb_qvvho)@BU>1nUOsk}fDO&k@{0BMgjGU zaAk3W8hW41EbH;z2Q2ZVt-UEp9Zq28RYaQ~6t{Zu!`Z4;8)@gwr_<0I_kvT0z|W{Jtrf#@SfeGn#uiZyh;RQABy8xgKK;J& z)Rgp&*YafHji9}62S_h)5LV>f@HE#+@X}Rli@aaOli#Cc`eGU0%FR*79X8Ty)$;7Y z69?LCeHV4q1Vpgx&I295Z5dGDav*BauEe!(YE zs+MzP&*PU0tQQxOyD}}fjy?cr#?_}*QZMgb6)(?-EMvBH z#j!qh5LQ;Tth91Z`pT`b2>+geNKKDZ8Kzk;z5|3+5Y-(MlW%B#oH0QE27P~%i#noUNR}d8bV_| z{swKdM@DrVSgX5FZERLH+vyL@6&Z+MY1KHXNM=cxj>s)uN`8Vj|BbwSE`UrNzq+qrN!5;FK0q z>T08wbfUnhC*tOi+?2or!=V}E7 zZv4~e))On0B^T>iPLk7E!ccIFw5ee_&+2O9i-6dzfkI^TAD9k-O*&GDB>6XXIQ#if zZbPUlcfUZUc3Q2Wu_FeeM^ZcO~{5Dj&*4<8++|w%<5GV0XT)V&^+eXjwDkpqCaEJn3;A zE6;^9TtIFO=_LKR%j?5ls6TBB?Q;8tIUBlOpD^H$KwsEXqIZWEBONk(epor-R>e;tju>5W&vT@L$eKoW z45~CtX^K+x3z{aa;VXi8w_G<~{k6iBbqj*r&Lt7_?(L(K7j$mjhlJ!>%vmJbrZuK} z6~*`+#%V`;KDlgTwpB4McXw<>pI1amp*?E4=uECn8m{-q3^Ct9gtj_YWSv^mMa%by zpv>IKqQM?T2Ihi07;-h&37U*qhp^LAcXxb5vUE%@1GE$qL+yKxMQ$OV)>E*L4?k$( zqc8aj)4TEN;>?aFnm)A68Dn*;(n;Fon5bUqeOWUIr6G6^W7R0~lbrzAG+L^^%EZfx zoZ@nKDHsayc@Xs9c97hf#4}m;N{PnfGcl0ybzMn(r5D&Kl4H{9JtOp<# z>+xDn^+qr1?Nj=zw>h)jKxqSf20O=8lrLX%d})z;pO{RUYEAqmql#Y0D=F->kcYg- zwrG0~bbs4tMnhy^xxu~o&MY3k=A_-*Kvwj>tgFj2^|c6R9&`_oO40G*?h^wPIx*qWVUXe| zRQT+mnm@LTwp&LHAve9SfPy<>Dc(6R~!j9_S`;=DRrjsEh44y+DTR603^zZ zW_Z-6n(SU=dxsYN&Y(oi!d80a8I$qk>t+oGs`uvZnZfI0@FZgw<`Z3w6Ktn1b|j z31ng?+FYO?<3=Be9Ts?K8eZh5LB`AX{2f$=4%?*nm~x&_6yNFqXm^GY6;&1^KsIsR zcH$4#zFFg6q2fMO5{PRHj{mty9Sv@`z9*^RhW#tCQ5kgVkQYLq}5`l{rbl0PxW&Y4Mn@R zsc2V>=hCpNmB47h0x1ePZdJo4zL;q}No_s7S_vuj$C|N9ZpE6EDFd7Tg4f*%t7V{H z*Redsq7}D})A@|jIl-vNcvx)Ya=IFG3{nQQ1#K*||B#f@*${nnA)RmWNACv?yX#jhD%#U^hhGV zqn0x*zC@R11^(bK{S^9ca2EiqQLc^zLUN4`Cb@pv8qodL>!_#*ef!5#-LMjo`j_c= z%$vELUWX4P0pG>-DEF2;mp3Q;o)sPyYWI$kLgEK)nVJ9ggSvqQcBz2*r|>Q$_c5|< zP_VhJk?aYK-)I-E$~B(5qXs)U@ou~+=iqia%Zzn* zIf>{%_FvKe+qx0JnZ&PS@!V#RmQ+=mM~^!;KeFR%*bDQMz)u<~AK{cyo?G%tXUuDm z`VaraiMMM=Yy5|vM;a5?eC9XucuXl9Dw*phh%Bk<`&K9gtuyN2*RW_A=lu26xb}!0 z7D;g0XV&5KhONr_zwT{O0#t$T?Uut2%r1GM?;s;Z8~Y!cMQIl%=grf!(^APzP0>`eNL)9PH z{d=83G zf}zIN{#<}w5*X^s+bxq;kxM4R1-qTVzqT&on|&7TmoS|^7dIK~3~S#8cKanCBe4y; zs#hdwD4%HYPl@XCr+ZK2{-5ti=1A>0{BNTO&J;~y<}OAq$^-5wwvK&A;neqn=~ z5#eI*{BrJ49QxFRMd|hUpCG15g$zMX;Q0(~1nh(BElaj+G^b;9_F#xkOR@a<!2*Ll~DXu{=?-5pT_vv6%W*oE}HC1`h|ZNIx&>JPJBAR^nV#2`Jnu3_{Gm zaI0*MSi3GZw%ckVos7Y#>dtKeubm|vMi`zQ5cI2}_G(XdfCdX3*^~Gt>InZ(o z=jfR*r!ImkEzFqED*_8Uxy!eCCxP`D*K{Hy1bcN1IG@5;vD zH5mxCT(QY@E)X9On4Z6aT`#yxjQB9fvtM%{6|EqvAjtZ1;p-698>?BOrBR$}UkfFA zL8nSHzbDzQ?_7M5X&bwaw zgEc90YvIy^>D%*Dy&U0|7_fkSb4o2gy{Zf!=>W{>5KnX(&TwaBN%mrmmrs8^XLB=7 z@apmWPYKLVC@or>ck4iPI$AwVqM!8Gu&IeeKQ21Q4=&3-u9xY!ROQ>?SvAG@nEG%zP|rj6>Df6!NEV3_LgILvmg#WNxEz~83T#_{RcbU&#qgx2n2rTb?=<# z&;%a=C^gya!-#Ye`4L8ecR=aK5@)El?hR&LXt3^&N1-qZwZ5nZ_UkN4T>=tz6~blZ-P!rhL_>^3`-nD7FSrNZJ#) z)%_!RAui9wbTo-x9C-6P$?Du4{T<1p&#Rcdyqj*(E?gtPd>uL#%#rn~Q$?;&a^saT zjwYv|w35^j_KnQzqa1--#cHDu9Q1&5SqCVj$$)i*U3x!VMi|H*H|S4^P1iE{;bLgv z)m>Y0m|%B>!aq2A_hagRgr}Z!hpH%8B_RJkuuF0v|21?dGbCTZZUOrf(tr!c^6h>T zQBQp*Px~~(Y=X8%Q*BOIyS!A&i==`dinaKiLD2HGM*ah6fs@##yfoc@)Gep_i&bL* zTKx0N_pj8T(4Vkxgq`oP;RBkKA(?(T(NXfFlcvbZUzHwm8S*JEBY!(-sCZFTY+nR-8{F6qlDTv+6>u)kMeuVAb04j_R7dC=gH)c4XG zOg|Hbo5C=+;IPkJE<{Tlrc3A6RMXCDD!<|RkqMf4vF9TWjX8$4u&(iI124-O#X|Ez zb-h>c3kB(VGGJ1V`>nyc#_rw!bjOSPO+f+A=ldyo6Q6=Y3~%@-FKvS-m&5z}&N$ZI z{uvnOGiw6@Ct<>zXdzvm5pPQf1#W)x=4=G`&_X_kdyH)9y{0 zX`?> z`YZ8&>~tV|&kJ4Fjj6g+hrA7&cnco6)mN#=n1kMr73KKvo-;b5Jg-~J(9W>ZgTQG> zBzp0Y;xVCI`R+isi*v?bL?Vqd`uknWZkbwJbB;(rv0EZA_t!-A)Wi6#bQouNRQVCV zCZjWOlp=5*vmG6b9-<~<&yj2F^=>u*-$@KBaL#f7S|{8ldXB^k||UTT?+Qim)U_7MHn}!{K#N z4@E=B%ghnh(lsSaPV8UO*7kE3+t79?n9+@U5qe`tcD1BmtR={5^iZpE+BxbTGoa}A zsMr$&w_Ql67haOi9a(qGJTayH6u*;vJ}_VBvXUR;?m2%?Q=bVu^iMsiJ~D61RMUf@ zYKl5tkRpWBaVN!3`^&jl(Wk?DIj8j^x1je!relD?Iv*8>pNQIMorNP>E&Z9a`XlPL zRxe9F4z}P>OD@wB(t>@XRZe^N+#3X_t%zRnT7NUQb)+72wkwKVQ_oMj>yg#rv!LcN{H9@$f-U!O%)MU^= zVR9YKpD%OV2xeg(6xDtWnmGhnRD7%@S6q~IkewHsATTB%@23;t-%zQ}N4zLbj5zeN zspQr!(ku-%!g~&irEZqQ4s+)(%jt}AJ{i2Jn!wn3%p}Rz*)jxF)a6dJ%Pmb{?;rs= z6sAvW8(2>1vX3y^sq3*R;kSHMN{g*#m6e@|tydrZSXl+hGIuSGC~90xGErLwvkPJ3 z4H{0L9OuL*1rNi6O1@f{?VBvf#g#%Y=J-qNYuC?PSpCXwTG(M8>>p|4<_~53sg6WO zK#oC5$Rg>LS8f$gAUx84K6j_K-3oYy0k%o(E}4xaeO6Oiia_IMpSMns`If#<@?X1L zkBVEdYAE=Y=q|NrjjW-JQXWud&L)OzHF$$w4;V9c&)iHceR;04{#7Go6QB~8H z1m+xo-*Nda@)hexKNEL<1pF)@q9C5Y>+QQV9<9P}=##o!3s~^2L^Nx+8AR5v6pd>lbUP+B+pWW=+JM;)a6Pu=WcFhcj?be4$c>Hy;jS#+I9b;w-|zQN*g90ky{Cr817tbTeFL z%XAfee8xZ=ui4-5V+HI>@dP3yx{SJ-M4!?+`|6TU7zN&w%Hf5|PpWk4hxfx%n+zc{ z&jXnY@JF;0K|S?%iw8*GES3fdwxsCdNjH9~uqEdOP{T~7KN<6lcZMHOMcWBD*jYtm z=BB@E<$-w=b3D-N4tBOzL*TVP%$Smfgje4xaFX7UCreJkk1`7hUwNB;SyC3d`7d5B z2k?!-^dVw&>PAp+6K!!O8-90<7M*ci5N&~-gAPGCz53`y!zq!E*f>ryjOBI*p3So{ z1-}tr>f1aR3dlN+e<`-z4||-rel=zZgog{fJ)`f=2_}zG@>5&j=~>c6+$FUI2k=lw zz4!>>Qd|Ch+Jh;%{0@657(bb0W6nP*ia5+8k04c2C8?0_cH(Zfb?H;_7-D8%tq$ym z|AmNzqexfB(%mFB2te1(-_$0j#&`cm)w#bj;s0?zBptAiRB~LUnog!DgiR?bWtB<^ zODah@CL6PnB*GH4%3+}zDXUaYV{&MYTOxBFhGE!d8$0jb_qwn9hx>oncD?s{KA(@r z`=~|E{ffaAZhjft)VSA1WM=dRX0m8ZOa3|k!gZfyF&k+n&q8V{xC>7a2b?7aVRxJ- zgK8uO=54Q07wD>Teivrf9KN@FySetn{nKYq)_%NHC}gAI?$M)1xjj0vhma*ec<2Tb zT1T*8UX9}wC0nv3cN;kW`+O1l>j0MuOIlff|7p#-N!%MGS|WSJat(GE ztvN3XbohyQWp`FR5)X*e_SB+N>|FDzN#VWZKKgXdEL>1Ef3WryKx}2OwEmT>RoFIv zy>c{JYG><2J9}YkwEISZLvDLuN0laD+%tXe@tJi=^nHJjczFOQ_d@)?3s z-DuNMQH(Mr+KGufkTHn9M~_&bCoO**B@MzZEq^g(QBIVHc>*2My}@#KN5M|~t>$DB z^O^A?@cUu~X1vdWSFXzls?abqK=$k8ddr%+g&mIk7aIqdt= zU4KL6g)CA&4p6a)hIskpX?^ILh3uF#B-g^>H@^>44%EOutt$-gFEtC4l?k8uacs!Y*ant07<@*&fQy0QHuC2L&Z$Q}u_&?B-nWYFWcC)AvM@}G$ zr=LzVl9@I`qk7@y(816p`m1suQO#n6d8`I>Uvix1_}}2FJqj(=5NXm2Gq2)oi|J_5 zS{MAB8%rHrN}gNOB@yTjpQnVET$RHbG8e zYbv-IDie{z>V?G&U?zBl*2t_ELu(^sF)Km?wj4S7uJR@xI-*|*3S;#vMls)rYF$7E?ZhI{jOFcNiM-4}nX2%kp8+iZKo8hxwL zI{+B9o*m)fdlefqqRiGBEE~$b!Yg(2aq#}95xOHhX{3h4R%ReG2W%JuKaV!cWPI@w zF|jdEz_~+#KB0T*v#!oR1H@0t|9xeqI0?qsvaje0utP%4;>F4z_$ldJ)xyt6zbnLW zzx$4@aD-vt>{`eF>#9<8hmui6phUDj#^jA%c*gw!X%VZU1AsCQ1pTm2^T^i(HF;p-_kSJ^#?ApeQqv{x!dp8%J9-?;&1CS8v@>%e6)H z>p1)<6K6j7^BLIoY@+d~%`vMW5Lb`PG~Tu^l)|y&G8Q8-R#3JBe+Q>f!%MPzS=!+e z;_A39wH=w6EUtuk<>zf%J`wBWi~AiwHleDwWXjs%in?RGS3ova;p*E`e!FMc3}2jO zvIP*5hh1^kO|8<>fx{=liS~dZh$z}g2$lw)9Sjyuke(%)Y)6gfaq2JLGS^vh8t;G? zH=BA*4`zgikmeE^Pe)HcC)Dxb%G0JZ?c*gid=pVZFkyQB{tPEo4PCrJz><&P*n%R*#9t|yGGfr~EFt~Y^AYy#r-F`n|$7;Q88+XGw=j2Oamqeix1 zN=2V&E8vKU!+6O6`g~-}hi#d?=Aq(nk7ISc?Kb@x9+qSIfxvA6zUBg04UCjjDYav|JdZGyzZ{k|Py#qZrjE^@PxHgX zSG<{fUuRL{Y;6|*VraBc`KqAG-5Gp0LvN{hPVi510(2-jRgbX$*6IqL{?pS0K6q@) zrok+@?Z(j$c~e$5K=`1WPA_wEzLlIIV$4lr|0q90UF}f6qLG5L2KNSPgyRHdHWkU#0wv`V;e>O2SmkqrWH|Q_*eN8W>Gu~08r`a% zkpy;WgztH^YYQ*PyCcgG9KBo$ z@TdPqfjyZ3hnK;&3H!YsKSO+YVt!M~xOq%b;h?_dG^KBSD*K`!wv2M--JD(^;Z^+| zE=X-9<86;MAMyE1lG4v<+O5MDGB+c+X>zAW(#QD4+AS^r`!a#F=3jMs&|Xnfhm3bg z<|$iTOWu1ww$aHww5u#M33upFQZc;Uj>by3D$rvAGvVT6cOMz6eMf)x*ls#kPt0a( zlnZd;;*5DVMnS9Bf3Sy0HD7bSKJR+ASOY$mTrLQb&Y%|6n6Jtnl-CZ&vv$9|W`y7kuGjrlj@Wk&*faVgyRuncSv3(Wv6phQ5PB(1ylnrQ%BF_ZnC2X*q<(nKcSWQ6 z6r5K8NdglWK3OYIDX)j+gaIuz8rvss>@}OW`7qlFd2kdn{(8j-Pc`7vZ54Rn*X=rb)hMr<>1Hags~7gOVKeI|h%mZA6=giKh1$ zrb>3lr#uxthGclhZ>5V`Zm?Vc&X?XO+;Sf|^#2#q?}HGy9sa5)04CsUPHTOIx~eW_ zU<|ie_0YqJ`K*}ry(X;Hfu}!3AO3!FMK661lQ8zaj&a=s`sF$VVsMIg%^a&W0#~H5 z&z+)4%@OO(NYIt(VZTvH!G7i+CczOu;3F_`oxAx&)QD*4lfS)SM}6|ENYliCostsG zQFcM7_As%RF8NFR%$PddyCc-8Z{4*Y&+Lz@Uv>1HD2%IuzqspeYvZ77K=Ez-sP)9) zgVs)Gp;G&dM_*rBBJ@U|6-&1w;#$neI=>XnBh&b;wB*@a_l)>@_{KT`j1BnvP&Ws* zg0IMbh{Nk~Hih((B=bKKo0fYpmq%`|j2|9a<&pdg9Q9vLTzZrB4?h5z-;r}baySy! zBbKHKcm~b19yfI(jVGJ;t zM9#cmG&Aj|Q0;FW6T$ipSgqdZHso!v$>4`6Lu>EOWzChVG$|)A9mnM!qI6+sU9bKT zisunb5&b6z?zg`%#L4V4Mfhm7DFC5=TeI+BZ~NKJx7SRGld3MSmZxng?`65r_N|aB{?tE4T_10x#@i1-Uv^G3Mjg~S8{RPj!kkK zogT?68qH;H$b9dFyC`Snb?@;HX^Be*eUqO)v}tJ~1pCe~{jp`jFXgAh%c5<89jrL_RO#jhwnHTlgG zx-EMYg`8uL6SIym^^t^Ee9+f*kW&aU97`+xbp3MzJYs(lFkt^qwQHxoFLt!@?%*B+ z-uQck`eeh;blAX8Y@C3?k{1@Nn>$-Rwt%)AZ_o^pQJlpUy%@0SK^W* zJ%Qx-&ie;a^T>j%CfAsPKNGQsGw934#NmUoH@{lEB&x49sY4TXwl_lQVJVGbbrq63 zS(k;ch z@1WiLz(K|kgk&d^fQWM$~ zH|OJGQt7uUOT;ms^rIx&@vWFhXs zi)(1izJt@Tg6IJ{jJLp>=heIUBunNb4nUq@@!IM~aNYqcT6Yz#wVcJOO2R&DJEEnU zXs>L4+f>V-6w@$%To3cdegY}+FI|S0V^oGRkaC(`9%pP-Cyyy9SzVE*l6W4y?bLu> z)w+5#Ju&$tDxX)6F=BA>a8;{&L$5A~v`bEx8rJ3=UXrL6dxq~bJxQ#cq-ZOs#7t&(k_XSx`#&^)i=#DZ8(#4;QTrrsN0*k$By!g$UEat7=7OZ zuwzp@hI7y?rg3ir-_+YKq|yqb>!@D{aMK`t3LZP+yTJ~fKhs2f!Fs5lyhR%Gehyx8 zTy#Zw#XyvPK9rkaJ6|uof8NiOxDGGFjP5BgyYQbCP3OowTp7mM;bWpRL&RR?QYG4 zQ}c(=8b#p^tV*zl+(xoc5*i*x=fHUT!cF8g*xzxKJ+tHs*U9s+4gShwiEFY)psmk; zXBttW!osZD?bnQqD48esjI189ONBC$o~(xzx#z#Z)L`sv!ErV;=;7&bt?!{R=FY`QU4@Z>RI9fTZwGwD6JeZa`vPH^r_`+Ar!6&gcS8 z_Q>gLY7=LT=M&vH_}!;a|hlg$u3YUGW=j;P&oT-4=o=G%$th`E$>F&2h_}RLX;&TK|1IOD=)JdMf0tvI`<6*bj z7cH8$lAmJ)=MW7d+88~R1%1y1>DP@Omfpz68In7irMsGe%Z=X4^PuH`b8fQ~ zVc1_y&}6?D3lWz~%Epf2sUlEaQpF@i?y$Hqc{KHi*>zV#1Ibz4kK~rppBY;cHR9#ro`jup(^w;N55Lj7zBJ0q{qv@>|VS za<1@zJOHu~IQUfL3QdJMjNc=3N}no!aO#mzB~1E5@^0+Qv^A`*3tHsYqjQ+6YL?E{ zEjN!6d_r=Hy(V7E>Zo;d(xI{8bW1OoVx`xvh=qC9HvWfEGe`$p!)S!io8?^Yj8nYk z!5n^i$&ZjL6yB0gVq)DOgRloUtGSQ-57dywpF0+WAEC6o5Qi^Vg_^jLr*OZvTVQJO z+jNccNgI`aliv`RF;p*Qu^Z7P7vQahAMXOjtR1~++GbffXvwn&k6Y!o z3D>@S6=L!pG3<~TN3`FgHxgz1J|FbP`M!xDW^|i%m&fnXkYjP%E6=XsaATCpIb1$o z{*SqJp_%%nM(Wr0p?TCz;Y$u1(ciXzFgorD+zyP&TDQe0wCZDfUqv%us4aw-Lg>te z1cppSM<;~}u+qPAD~C4_7@sYlOYg&fpjx|o>^4x7?dGrwPRxF=*pDc!Ofr`CE$GVM zFS>0Otd+g%F^rRhu_E))bAoX%eSbWnLqD*H6>sgwE;r*IB-PKG;ZhhSWus2*5ju8~ zT1oVLdx@>|!MOc6(J?TOBPpN};LS`$0k$C2&J|Pew??4PN>{hdaPW8;t@g+BL;02s zx6b0dYJqlvFPam3Er=a{e~l{Lh)mfl`xQ_$8tR1R1XcGr@+ns8RC;S2DCbzTJlz~J`lJl&eW|dEfkZ?xruNr`S z0xIG4!G;;PY=u+`GFanpPLDKOE;9UBx&Le&xf%I}Bj@i@;?o?c$MLpwCJH)YfF=Tj z?>$r@g^hHai8kdBxCMJZLuv{Ju*osUNlZENA4h}rn6_q6>-G{rmf~&ZG?C@Eyo|=< zIBt_3h;U!F0Inpe>WmDf*p?z~babOfcGuu^Sc&|_zROwR6l}3y$H{jQrYo|JV-J z_33;67hlh-Z>j^vL<9&VD$%@k_~(ZPmft2G7ilbu$9Mc~I)xh2wj@oQy7$T!(}i6z z=qS^=z1;oJV_}I~BjdAuBi*^r`?3j`uK*~sTS15NIcX)zvfmDuI5#U(+_ufG4mh=~ zLshRMJ;S4V0gAA5d~tEkqsq&XR;h|p%9JLkqz3N)AID%e@@HG*m0El;H%Id6&WC&V zBmj3e)MeSqW<~Qt&d=Gy`m2_-4@0$Iy6`O5(Lox2UB`;5Lf+GoMK=o#k<3XWWpL73 zIJ(GpAm`tpb1Cr#bUbPtz5j79NY|+#(_Yefgh80&JbUTOZ9oxlqN|&?s-VSU?wi|J zW`p)G>&0||uBFw3AKu6fJ;Z@bFj#b|k#0lT{Qf2F*U)Y!(g=KLf_j^b5>MIQ(X8#V zsF($fWP5F`Q6C#ROZDtFnhqX!y+_^i-}qiRY~^~^c%kiQp;rYD;h(k%;t38K6`!Bo zeU@iq!Ufdc@eOSA*jpf0n_VfXdb{?x@@M7ZibB7L`&PiXuvd6ZD7(2jfRoZfUA<>l zdk0|TPTHJCCG4z}*z^aqwSh11tS5B+VIy9c3LKi3PQ})-+g=ZjdUFp4JJOc;%qxo| zZ`P4f#IuxmV_heI2`3Emefw|WOoEy8Sy&i=-2HQbTh|_jN8xz(%I(jV@#T1yV;%}- zJxdeg4KYATw*9BI)X{J~`Sx3c0H=k>k9ggP8b5ABYeM@uI_vNcPik{RmAZ#4lPI(^ zP%-glD{V5yGQ|J=0esXBmH4v527gPMTR1a8cyf;t!vQq6*eeR0GEkju6lvs0MH{wb z4(ZG7*DU+B*BZxXcS?(xNb7NP>f1qitk_`~dgj%ld|T%A|LXn=EZnnm8@poc5U=fmd!nk?V>QcCd z1#e6n{pUQ8#8mI~RNkFzhXjr7Ws7bMljPs^cuT^sm;6H(&-|#(UA2f)7q>U>s+T0F zJFD6LkfqWzt|%`1bZ?S$+^_hJ1lGvv(Bt<&vxMe~Yvn%rKC@*=Q8Rs$oz&6kCmWls zey^1!v;d*d&1U4=m*H2C#=h6C#;p5O2322O z>0NI>&!;Z)-&rFxV`^yT@g)gU*|5#aU!wD4qEX|~Pu358zG@&I_F$!h%@;Q+%lwqj zn?e<`Xn0*O&RKrrPw22#qpo267Bx5Zw$;CEOQZ+Fw2`&ihvtu&eLXCV4tHw+798TH zWQKpZPBi8@lO;~IiD+)uJjy~lta{%Hy}LGHrcvT&jT_KzdFVzGFWi9}e7M&M$Xw&x zu#8;HFj-8rB!7R2-nU1O+UntceY>~Z?%>reh6?Swi?FC2>AQUW=<^TjwWb|}{hjt^ zb*KGLp+ME_hCvSD_xiAyiO7v}Dw_SV;*(osek)1wKd1eNHuB+DSd^$|pU_Nuj;2@p4CoJksTQY&KN{{ssw6Li4Q` z0+`M}TlL#AyvA?5Q z0e)4V)3seeoPfLE7=+$A`1i~>0x;9p;_+$d{)W)*MxUHF;FHI!DTsjDEAiOh&z_5> z$z2vdIL*;AiEO+jBGx~rX7vU|1|%0|{^@ln=HT2sB1(^CU|fFYL9W@ndmy}`Du1C` zN#U^OuGy`!<(tA9UbF2r81lze1@(^K7b3rh5c7b$&sq8vRdmNWiFA7`!va^>ca@Da z4<1=_`V8BTL-nIj9#@+naxEe*!p@wQ(PM@?If|J4K2EmX?RI_N`rD@~x<4>5K^i}{ zdgRmCNX7W7T8DgOS4i0zFqqR3R0n76-J~JbkQ0>h&^p9eG*Fb-eZHY7fxw zG0N0`$d>`#w7NHc#?xEnoQ{&JTb#ix_Rafa`6Rf8u~XS^n)#r?bu1R zWr_d3Ea73#tcEl~y$E-yciXC4(snv6Hu?=|8$uDPw28m{5^1ivY@0tqW`Y>~RDB$3 z$QjeJHSk-IPf=DmT4fI<0l)OfsC5ZseYeXQVHemijGxyz&*NNP+prFvBO<>YQl#=~|^0p7(?yX|3EsUIuIC z+Rpr?&@?^+W+-9}j}CDLQV(9! zp>U`KJb5~@W@SbaK<@J639H`iH7SJLl3u+9T{zlm8hi34xx z2848BBZ^JUyI0$`A3(w`4K;e?YHdn8f;mUm0LHD%_yp2S26>B;@*Lqln6T{-qjhGI z!B9*odBbAXiR=pL2Y#Cd%HVL=6gX#bNYC#aW)`%f5WJqI<~II5$+?TYv?sQUR)m=b zNe+A!(3+ar_PGR(!K?p>A|_b(>z)`ABu!@nvY)JImgAy1zRZmQt+tXrI_-bOpWSqPsi#16MQmk?dYAXiw$Ix3(?Dl$kH94V0hbf&z~6EcY_@Fs$ww(&9M=O5jvD~cS+vNV z%qQa4AyWs-%mo0J|L-G?Cy|RF#4jz=2WCPCztNfMN*q+`r|sW^TQ=&BQaHf-S!-TsO5b(BcVBUQdxdp_@(Pww{$Yk)-WWpY9mO} z&-N1-g@D-FkN6wT{MVwlXNa>ugkZVf^1rq~DC}v)mCs)IC((@Kkiy3W{QMTh9}>Ce zz34pLQ67YG0WaMXgEDUQE&V<$z94JZntv?-<>u^9)VksJ7o40y;eeeuV>dt3rJpZ{ zic_%?2I$k5T-D4eWT#(tVAUpT&oP_bxcsb#O*lq@a?{>Ni6>x=}~=_IH(f#qe);npzRjpqYhsM{2lxxSjd089HE09qlWLw^-#PKhL{We+3`q#LSaWYpD9{JydA01(K3w_KVd6 zd_m-PR-Z|gK|=FEKV5#+a3d7I?~Ss=)T>y?T9Oe>mg$|LFkSj8-E>ca10`g{oxn#Q z#*ZG7gDWcm-sG^n-Kbp5RhG|Q)DYI2Lz*w3Wf^>xKG(%8c_PvkyK_TCE$((*^XjzeFubU{9oALibmXqPrC(YvS zE<3&sz;6J%ybL%tJo(Db-eC6uqr@l1K;&-crE`RT7A^Qw@X$kjulz1{M7IZEIq~c zGIM<7^@+jvPI;9u*w{$GL~75q+K zFSDB)Sfzu~m8AumJvmys9URXSZK-!oDESMN5J5H@wrKC78+A(5@YGS@nl1Tv^{)=z;R%FOVWL|AxNp z4ZmtglAn3lpMbiieleH9T_>&_IjO4fJyO%rkaQs(BA{2`OiNjYwS2>(_o&M^D{dFi zZcf)bKBZB6bAH`!)KQ?lr|X^ibnU0d8Ty6|mheK}b@&gDQN2}{`lBlspr`lRne4r* zHVSN=(+K->w}ni@K^{MCyYwn(4Tm%wC0_lpRSRqS>P1D&9?aSw+?-zC&HQ@G`-+{7 z%Ht7$(R`Yq3bHl2&~EG4#7webG7SW0Y%X;y|095bt)-ACx%jNz_lYvepni=s9Zz=y z54EntuFe*=5|qE%kG)zJURQrk$BydL(NLf$-FWswW|C6^2x8(o!ArDy?cblBd2YMG zV*Y0HfOzRj(+u=dtb#^j=|jnXgC8@wlE-9D{Ng3B5i=pR0oe!VJ!DCg{Scy_wDq1{RLPx?Ir(+;fz=6&E_w0)B4 z`$6puFTQ;(^Z2~gm?HI2edfyKxjFLwbBn9r0#whaZu0g6emCpz$@xI`gW%e? z&dR2%L`JB+32!0C=nVAlAl?0$f#+6C>kp;_-BZKwJJaB#zjcrxaK&>HW*3Y9D11Kj z67_y`7gF-Q>gvz_{_(?um{!W#{)XrQxiuc|Re84FnwN{1j9FS^cHUChZGJ zTodUWw2k+>Tu+il^~b*nW?j78>}w@a1OKz?o|q4`=j;uM-X!40up$rL%Me~#xF6qP z8s(VAb%{5xTZ>p6s<1DUIX0$F&#wZ(Fqa^wikVoghFu8rvZ#M{J(9C6hzK*|Xq&J( zR+8pPjrSTr;n!liE?d!Dr!429w-qaabm@P`(4#lTBezT39{(2XwTdVl+lzz~2~`Pr z=AS3**zG?TFA+lD#H_8A1XTb{dcM!@lc%B2pH>J6@H&}@we0aFNjBJHb$q0Twa{K~ ziukaiEO%k?$60V%WcnGDtybuM`g^L2_U(cf)@<}Q;Hq~UBKUz#_Tzcwp`<%%@CAkzdZQb&@!KZZ`|HF;{6OC1sT2Bo96MleoyisF2hDDX zfI5-CmFPj-(;3sZc|^34>xz&shL>-?>$i!&yyUrRrAl1AUx-&E-Jd95Vt%q(^fD5| z2?4k2&zExlRH6;>IbWGoPZDx=X*AlR20VX5zg+VJRiOt@4`VYjcyS@9nP8iE4qkrq zz^Y{qhpUon23drSbiuh9-HkR9uk6UcD#gjs9W=f(nYfdb>+3cG>4eKBY}szFyR|?q+O$E~;ZN;h0)o1AS(Fl@o{s*99ItCzzLx?< zu2gsf$Ytg8dmUp^0;cW#SY14$HLFk^4#1~Tj?EYZ>O7`5VATd*CFj=hrq8mu&@eZ$ z=eHA2!>D%BSgOFwYi3nZhcUxWQS;ZB`0G`5UBUWodVn_0?yb=e6Mqr_JnH;ck2|kl<&IYCG{B`0MY|@qAd8Hp}vRR;pTGeOr5|VM+ zu%(v5I7z#`et{Z*Bvimxyx)}-k>ycNeX0(8+@->jT7<2b%-D2dRbUiitZJ9{v_(Un z9MBnwyI=6Ii{R4v)S!JU-+nFnRT4bN&!!47z`3tIvQk}nXyZr{%qJHps(#g~WQM$9 z|I>Poed;gN2pR>Ti-xrSd|j9dQrz6!lN45!f=u3I37jMPsnFr-{gT)jrl}Gj)~wh_ zLq>jxV(jhhRDnOsSwwlq@pMQsCb62hgjz)&4e-&`tQF|U`44;bAv;v_{h<<>cxOjM zmusc+2Bx)Ry&{9twyvTtl!ox*21(`LXb#j-c`8Kk4=BsSqs4Nv+i9oep__DOV#Mi`X3#=C^B{^Jf5mz=U;#5<4ooK(q_o zPRZ%?Kt^&;@L~&hH>tu!omf8=F}un@^syuB8}V1LV2|8pank2*s)f((F?zW1(kC({ zdd$`-UuI|{v0&U^BFR4d;KvRx9xiLzVZe&C`F>X4SfN3G{Pg9W95CW$wJAp)B?##I z;lz9m)8z=(P#nSU2$+Se5omZu6?of-?Mwl78!vNAQ+cM2xt1z$>B_+Qm7h6tks2?z zCHJmV66ZO`&jy3)+NCkQG;BZR3eKD?^yJV8hkL4|N0m>2!W0QM@PLq)dSifiHcc_H)G zVib#lY7HQCZJPQLIi0){rud^7$g*DNnH0CAtk$b5RWPd#%)SYyafy|7dA(W!4M|cR z?Alu9NzqB{gAmE6uRLqWV)_Z|7n#j=6oAVjC;AbyckDTCvj9!*hp39PJ#OL|oKHdoc1e^+4cNMY*XORq!VL-E2*LraGOxy6($wv!jMKpL8TB>?V)+)sk_bayzVlbQc}PyLfy3W@)|MI@?9& z&@ZzKkIRybHMiq6iT<|2z|9BNyQqrt-;r&}+K%7xTGk^&n}+Z?5l*#3ltE{^{7L~R zUJ_R!edgT4&M;$-fmRC9QI4m!gxLwM3c*5qQD7nsy;Wx^T{K(1k^TlBlc?d3#kfk>*6-rKCwyttf7FSiZ1( z@&ujW5-a##1m{=3w-}H4aP|?tL;q6I3J<3VM%@1VE&pgWKelAF!`0=BlWeH|zpNv% zL%y`7LQFQz==S1tf1PkGkkW;i@DP+hdP=%iu5f&^2idS8+M$?#bVuGrcnJto0DV5A zsLIe=zD}{LBvQ`a_m5@;_(hN}y2#Gj#*ChiGSUo$UeeIceN7<$A@>BA;^{@uVp?U! zLt|kMsf{BqjXxtlb^~gNbOJ>V2U+7K{QyTXJ+3KA7%_5UYuE*!SY_V$4i5`)V@_|@ z?04XlzPxOyhU_4RFr*T+AHopCWRr$Jq{+3xEbiNf z%t3w9v71x(Wq_f}AYuYbjQ~RRCBGoByZJ!z^JUXc5b_Y}T{Np=ki%;J%g{+?qJ&+w zcn9Tva9o`UnS{4lu$BJdGqgM)2I&EUb#^oLGxEkL-IxWCWZG$fNI)iC0J8CN*CKKC zOe9Ti%G&`@JaPKF4sG)8fTb<#v6*6`g2R^Tgbi;N@Q!Yr?uJB-M9c3wEMXO9(aSDS zPx8r=1`gapgWP(SW|U7t)W? z7kk+aCw&pPu$SksrND7}ae%Z;l+XS#u}hO59q<+O3kgY=r159-_=TLSbEG0K74w(D z-j%rG_VybQeXOXsBma{kD6*7GY_KZSzy3S$jx^%!;iwook-j-O?`20kM9@h6BYHK3$R@6sfhiN44({Q?9~% zdpeME9@sky+wj`WD0OXLLeG|j<(VOtAhe;M`AuBvvwT%e_P%x+0nGc)>S?qi-|aB> zK0F;gK5le@FNh{c)%fjDNh?k{%~AMdR_fYsLhgh*ufb_-HuIk6q!1Ds_Edq4y{`@| zB+Ui&BlhOGCcvZ^`;&hMdVsP!I(yuVj2QOHK#h0$7j!G`>XVl%W~{6vo`_@6^c-?S zW@PxUJx=f?qIzl0y=E^~bbOX@Ut~bYR;PlSV@@BK{QTd$qq;cy*o0_@l%l``c_c_) zsKO2yJ6>*f`BiUbj#VI;+~6!%0E;R22qrPc&9JvQpxbn<%C{+6x3Kw5wGow4vLOusY^vGakD+ zkYd>4pI%=~^Cufv4*wSeI`y^%r0lZ!V>xTU@Si|SND1z;m5*CTIcsm2=)ys}S%y z0D5r#D@0na`R{N{=(%0TRxE&)UB;`r5BTUiz5ncyU|NYeI3ha74)84ws5a^LFs- z#NGFB4DyYLD;_G71-?|ggLo0M!AN7nCiI^auMrB3@7-Itcf|_wIXaD_pIqa%`|C~9 zO>rWRc{Fz$%U|s=Q&hit^Bd)bigT-a7=-D@zlobv^lL48 z#{64yj0=d$&=Wj}&EqKi+Bj-wL$w#!+(fiIFvh4D;x778r)^Z{2uxsW8ne!{;WnNJ zYdkre1VLGsmPFv%fztkVky_`Z{EMLawVHd=%`CY5)bOOjAq@>hUarH>A|4ZJR!bbG zTz#)Woee5%W1N&+$Pf}8v`zqC>pktCTsSq7IVebr&8N%-yw1#P@XeS8bNIvIt@b>e z+KC%!pxiRQ2gD3;tv|Ani`k{7c868--A-~M7e$8#zfna zLWFz1G$(K5J?|x^j9$N}c83fJ>_t%FBeMu2(dheEh%=CQt1V_PoR@x$z@@8p^E4Jv z_W9L5)LMas+tRuK@|)YTI>?R+uS@2-`}~(OLI!jmJEZeT;hphB!8gWL9}%PbredQe zJxqBD@yWQCHob2uZ>PC-!xJ;)u41dM=pv;>&sFJFH8E|vf0_t^>S4H4=aw} zdh{Rd8ewx@ZzqZ}<2qq8%zn*FV^=lpk6App`!GS01_I19rFYu%26;o` z`wm{`?_-s%~}t%z2JK~yuG&Hd(S5J!wgms1vgS(2D*om#uqhAwo$dO{zc z@zVfPn5cAu)^P4nGE!Cmf!;@n+&3@o{Bw z9Mfg>>|P{~6lC>TQi3Xh&Q|fWCpUoQ6Y_;9gyB2#T6`BhB6rhQEg0ihMU>ksD6zYF%y4(^e%t%r&{&A(AzBHOQ9(r{Zz= z+(HG+M9^*npVk`P2vmK*&xP*(BTXioJVF=a>pgi!AnE=UqMD+pIK!wJ)I?~_x9r}s z3wPR+uPfSz84A}3h}+R~>Iqu1Q()Fp!FXe70mtT+vTcEitz3rKC_lYo7X)fi&wd|V z16d4ZJA^8GyP>mr^6lu{P}bpFh#&A(d*`BAGe7r(Ps*W`Hba1naDms6bLybbH5Y&q z7THve7-?z1R3MxIUa2e{)=iQzDmX=vJwO+$SHyd&IIHosr zKn<`s7t^C551d71yG?=*EmkhU2TmeoJI#KpiBImZcfGLMRnSI2H+C-xh_mVD=cc{} zp!3~^q3GPv;^6Ycx}Zsz+2|3I4km`lM5QT=74DdK`^0XtXUjLMBrQ>fcZwN*7Qqft zx;{(quV>aV-};T77kins1#}YtFhL%Fx&*+ZRjq{b2@9h~^0EL*>YnbW(i#%<_44xb zwCi8w57&r4DKG0LLPcX7!8;nTxf>#%q*ad;XZTl)nINPohk6+D`_tHG!IA_m`S#fG zt)1Fa`Vp>-o~&oCafKt9ochTN73at;d*aW1ON@Ye$`IRNj)viLO41kOE$ox~wa(7|F?9%+@0~#RtaVAtxa}K&eWW8<(qkipKs512O5UhT z5ewCr1&&)?taClk_%@)>HSh1fYcZObUUUkIy_EDCh_(UTQU1$&A^I$j={vXTI_EB( zlftJ*#I_uD?6VLGh9!I~#!u0mW+=joto&%@M&uL~*^Yd9@lylI{+3g%ANNd5;f=yU zx4AKBLKd}%l590wS2pQ9L%KIV;-M{Sc!ZeP&A9C|izxc&1Eyt&7kz(CA2f_r9ezPg zidD&<{j4e5X+JX$+#{{ybgCnN)0}22MYXI4&CP}JDrF_Azxx1pGyT3{#NLZe_76WE z>f7=CRRQaT^rh4lH4?nizXQ{<&Uhg!IT86^!63MpXvcWTpyw%K1Ve|Gdq}=I6-d>M zYOOVQr!3*GbZT3DHrX%5xy-4ji^`X;&KsXh>wa=flFCkcP7EIq+ zHxyXBeGuS?5no2m@O=;kOgdN*epn}3wp|lkyP$ZAKUQc!6a;W;tRsrP70?dut+UL} z%4!B0?Q+=3JPZgcQCfAGY(bM^`g~y(atwmkWCfO#vtLp7d#&og*fUjFctb#e!HPOU z8ynFCQJUr0vp-4KAw4P0ha~C96QI>BQI~ST;?ue-f#8&Iz$Mma2HeD+l@kb3jznzQ z!~0#p%fJFs0n#P0(W;)&6M;u2$Ba+@2es~|J4Gd2qpa>T<!D=6f?j zc$fj8Kl6_@_W|YMJtwM!)9OK>;Nts(xS4>cb<%&}YDl2`=mgB(pH0Pw;nP!vzzKmJ zC~1L1;vYyP*K`Y?hS()g93wxMDzt0Uo4Y^-f<~Z!j#b!2;Pf>MAzJn|racMt7dGd8 zZY({TK>^AJqSeY0zOM~c{#R`;ve77BTO?~^;Ai2MRV$w0)e0fo%u&HWl>M}fE;(c& zO_t544nR=4gyCi2B5-$WGoT=%6a*-jzoMN;p(m_VJt9yI1?}1byY4Gllz)J4@&|#* zfV%}5+`v8{?2qO$Y#Q^}X=DmNFScGy=+~_`|EAjIpby%T+3F{+0yh@XKgWxra_EM9 zs3)Y|+xcNMQ&GIHqB~wjwadyz+Z{U_1J{)~@pNFr!Vgsn2=KuRzcCB$?_XmrA3S+# zMKUL-qTv_5k)v#?)?tK;uruef$t=&6Sm&L_~8D47$&4E?9}WS8~XjPUSn zs*DyNkH_^l_g1+8(mGY+CJ)9?FA8t)jx5WTz}I2lem7T>(sF?R!cKGx9Zb=hpm&

ComQGfV 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 z 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

O4!-3!Pz~m!+DUF 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

nF#9fh#=Ipr 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 z zJw4}Ni=Y2-=_M8NgzlT7Re)(enY!?JgGfiiuDX^o0q{ua z<#O9)sN>uPwi~ZCmv@h4+q=NKTd6%(CcT(_CJ*g*mI(VNdh9t~z;je6)3t`Vqg#&P zIxq7%p21;ti2)6WN~r? znRkI?rDqv2fbk{}vaBeu9eGhbgl6hzhgFXQU6nV~0<*?MfO*Ti$;xdp_a2O~*Lcr! z*DngFT+SX5e=gQ=qrAmGzGv5{sIDC$3wJ>dkldJ`Fq<|XyKbgmO};yRM6pz#_L=td z)AYY%nrXkBtP)tIk#2-Z&3Ev*ErO1=WV&LP@DDwSZe)2Y{gM1s=S#T$U8B5i0Kl~S zNe=&1=!S+)J3D#Ut*7b>TGjkq`O^aDhY$WLLJC!?QXt)3Hf*AOZtk4qeJtJ42M%wg z^)S1)!r0rsSdts`_DrbY=OCS`N9@rJKEmvEiMjvej^)wOCK!F4D^(mg*iU+?#bW!p z@r%Xc64qkEZ-6)PjCFd)cQ)6}igpY{TZFM=ffd4BwICP4O8VB-i5xPf*Cg!NYem<_ z-AZy+6%uXkW{hVhXrvZF>14!_mc;F}oJxCEGSJ??p7mI34Dezi^bo%qvRWqWlPUqw z>odQ@+an3q{Br}vQ13K#TGuhrwED)fH_d&lG_WrsF{pYwa3(v{&BO$^sTCB?dMO8} zuE#yDdoXdzG<#G3MI)XA~_#OIOol}9B6xM z8#z%+Z8_N!K-kJoZzB}_qFoWBiry?rhC)fQwJI4ilqeAzqqqr6j7-LM?ha);h~P)gl?Q~tkZAy-ytM{oCrI-yJNqxo+YPk{lSyN;a-I@ltXYXLnhcfc_8NMm_ROrifZm zIln#6@^xkP0IW5GyyM}_?8MnJ4?6nKJksKF5sH)gdr84S8AJP?Z1 z1#rItio}7ax&F!$`&O)peXGJ%G7xG)sd&U==Bjc-TH+zyT;=>g8@0WYS{I9 z&cu#E2{Vvc&f(GgwI!02j3Y|=nIvdYN2sfCX3o*-o3F%@1tg@!r6!1><|`Z34^*@K z(QBI3&tvwPnrCO$%DubWf9Tyg*qlxHHSl)V!t}Nm$($!vwmEtXcTxr+4l|*=rNS1y zIv^9Q9-1&WLdl|d%V4p;I zRzOLKWAtA)pGnTa$*Y*N4H2&Ft;rL3ULXW`&gYd_&+#ATim+HD2lxHRaVvTs`e+qq z1lAmcFK$Z~e6gpd58wRl7d=%D2(u(>=J(zk!Aux)focbmH%=~GO|>|m{QqeLW#Cew zrbL-qDsvTGT_3VwDr>shRL$dR?2YkAiOwvwHUi@$~Vk z`D$R0wPPP|1CRU?Aelk=q1tAuiz{wxffq9+EtUpu_{)1&E-98|NmSIJ=Hed7HY;^O z2wrDk#WPU0H=uytmVaWut*1cYmuB7LBK0kR#jI zbf`bo!N*VS*=vt!w_g509)N_ab@&x2QR%H4siMeiAeHl?DYV!)qlx2h$I{VzE-{(p z)RGN(2@)%Ck7CDL0H+taOqvKCM|4^Wsxc~%uWpD zIm&-*2l5jjO1bEv*E1A@teKw5AxH6`X<6j91Np@~ZE`5G`nfNkBJA-(uT@RC6}{5p z5-dgmtks-D%10&UtM^Fi>&>)c+wteL;}G#RAGZHR&>KG}|90cE&{50pq-h7KfmCBQ z%_|^{o}~nv4*&i)9wr9pe#l%DO|j=F%?}15XX=40Ew&BXdN7=cT!YT$OD@WaxLIwP zhv-M56-gE*@&_JK)1k^MNG<87GO+;S(JblrnE*$k_u&XLW@^)p)=s`!7PsAn$MMPB z6~x|7$r9uRuXf}a+5$JDAHJQbTD!TLD7q<#y8zVKdzT)n{;tev# zG@bYAVoS=9ZHSw;hJ=N(j*Q7gB<~4r^n8&Tb{k2I#7R^Q^S^nrcJ--2ell+3{_=czv_Jx z&l%9=wr7o-0hEx9|Q%?5;m$mu^!<=!#<%b`StPI8j*KwE?2=ojmXYIi> z15S@^wG~`_q7_BT5bZNpIYT`I3@b(s;z7MQM3vl!OV&rlN$6%nr7ouvdzJ|^2DH=Z z6kACl{XMyU2vQ|6f2()-?yaMX8j;w}JcbkDolmfL5+k(k>tR+cH?qDtIl) ziqEVzN4zmEg5%bIQ_q|tW1l25)NZXKjm{BlAxkft=L$b{K7$TBz5qWmCa0KjPv2^F zEGm8z`WuAWhMZ{0 zwVKWTeVXbHe%l$fYUF!1MVjv-h@#o}dgXC1VV_!CUizq{pUKU7e}_m39Jfz`{`0Hx zR{nIJj@!}ZnOWE6z2G(*?iQ7AmHps~cfu8RMrI^TO%KS^xLpLDE=lCD z^-%n`#2q5ZR|x4SPu03Y`m@9V%5FwEp~g??>&*%yaM{S|A2Xqra=MIHGj~-DsKKRRdXn_-uy!miY+Ci-LPX1 zhTRoTOg089Bm~NPW#ov1b;kqB+XaE6SOY_SubAhxE1+0X7^nUAYm3U+!QYud|$BnM<8*s%15<}XKuCM z?N**6bv6oqz1r{QN=aWMWW{7XbM*YvV+wZH?)BlXkETx`b~cRJa7wM=Pan}I65tBt zIn4ftH;#iiq^+NYs*&@U;Z2aqPU(LU>5rj;`;Xi~)#qI-DR7$-`L4bb+uzbSw^o|% z4uNatouyaCue1KpCr%yitvW{d@)yp!JMh*vn#lTl#?A5m-|SyCLUw=0C~~t)WO0=k z|Au5bDYl)F&dP+{RWzxkB>M85Q%0r!x8uL5-@2E6lgU#7Nw@(=sBB~8(Uq`!o(~Sj)dTZzU-sU#p6LtuFl&s4hd)9|o6GJGsyHU(Qe*YK z1*?|GD9g3ORJNH5D7bV2bMW?Y6qmzzG^P3DDFC?xx|*;YLxcw1j(y-0*=p=QTPr#q zc3DoqvVqV3(3#qBUNJ3sb~`0m!tUI9sTxux@^Ax+*}jrlW%bLQN-poh9g~s#@32iP zlZM51`o7oq(?w8_Oii{(Za$*A#(A87HaaGc92y@vaj~==%;^u^Nv=#veC2!Tn79M< z4EFkRa%qeyiJ!aJ=qPXgeYfZS>*--9DDyF_lQ>-~!$X8~X{_cU!L|uONV~iJF1*Sp z^QzPHo;kqPi&VySM`p9rUf);8=49so(XxxBO!%xrF)gZ6?pFB9E8iX^=P>=f79zXA z7i~_S2VJE8vbzTM9uy^mr=)lBq1lZEhZ3wNY*kUpw~wM`x*6Sa(%vLk5D_C@hM~o4 zJlRxobM|B_Vo+g=gK0ZQLHw4*ud?q9a1J4RP?l|89=%c=1B*X&#OnmX1dk$`(~ps&05)AA zP~2X&hfG@2V9vzLSmztBvtN@gG!SOG%}$UwyWAkGPRvoBbnAC#fc|J>Jq=bs3ZwDA zm8WKVL-C!$f`@hbdj9p7)&nn-qfpEdDUpLNunXz=OC|>XyL&qvvEz38XYaW*X!Scx zm^G>q5pY7~z9cTHXR}Pl>el1PyR30-ivjPoz<`|w%Sy%SDG3`_X==&jz7y|$upn^V zQ|Qd^oRUz#LK7)*^U3}~!3j!ta3kqz7yVjE|7zcFaoviZn=Rx3*?kBad2CX{wlO_% zS^q}t=yRHRN%_a;Y;!_#3sX$W|8r9>a~^PpkjSZDljh9>SuTUJgb&@4X9XEIbb*d2;L~#Vp{Jv zDSEu7EwNs@ZnzbyKVjmp63zM=EeVFDqesYnemj>mcHUpc{YtM4UYa*p7?*2hd7L0B zK0fr#`pOe4*w7B_}+e(^h|Up|Jzk;+XnvkWpo{#EJWtz)ddHs38pa zUi}QxioI!po>q!wU-D-;F4!Cd-8otYcc?C`iMhe>$*@1P{n>-8;zLdF7FmF^CW3gwKLxzTtB4_zSIOUXr3b_}0(%yUAV5IugQDTt>#Ocb_{pJ#T8uVfw8Y;wz1jgFrywf61sQ z0N`9g)58%~2zwpJp;q;XKT}-wVNct{#W5J$K16Qa0zEbrgy=$AlKgnBhvz3}GS&+m zmcHNwA&kWVj@gkd_u)vVIoknnaUF$M|sFcao`mNHpyI5Ny?>Y>R#JsyE=l z@v0$uU~NvMN-p|9dRNS(?6DH%vrJ#nGqWw+w}Whj!}jQ*pUThdV?F;%YC@0hSBvV4 zcp~9 zjUI1w<4iTx98?i2euf#PaeSiuT`52J&6V5!w$%TwCOaEGGOv!2mj5rCSrUkSaO7Y3 zKg$J5Sl#%3L53ymXv7 zl^OY0a@$Vgft9I6+lMen@9{}8-_R*K_>*M)hOSR<-=^B}-;OaPA>f!C+fiyCmAOU_ z1+x)v1vQvxbgMRP6!jFiu;PMK9TlNIPX*dCSL+S7*0@1HRM`jH)r#elvevzxId*{5 z$vwM)ckU^M`v0cx2n z*hTSK`pKrT#BTteRTpk0pPd%@SUOkzN4DrL#3J~LODGumfjw0I*N!2#!Np4$S@-|cNE#SmrvG{IQ7(YUEw<@awMdQ`y8}M{ORqq1A0EnA8ud%6PA0Gi*1Ol@cV+x^@|E#` z_-dOUvbxiSSn(gSQ~d|c$_e*y4fQDV9|Tr9J+AM1?kI-7IfZ%teMFtQ9);yKG1nM= zw&?q766~4eLK%kqt0C^Y;Sh;mNZ(HH~^g6vhhI!?P*_ zEMxMIpD4P^2hd|7RWqfNU$My-R4f^wFo+#=ksC`d%!;v{2v-5Ew1vK1TYuQ0sLPxe z)kRGOY@vSWuop*d?EWg_3A)bkKnUxvhW(7UMz}lEEe8Y z9Yn!tP#+8>fhka?mnwpD^1^kiCvYC8;)XO#` zUjsnzy-@}{WJtJcCkx+pJ`?ae0?l&zmEymwQd4rweF1*X8yT`0udJ%GJ3Pdk_{=hM|LXly6N8)4GdB-l4rB}V(SlS~g;2$EK&qSNx=EsU* z9x{oP$oT;{Ii81cPz>81M&e5Q2!hNWC5m5>N8BM8;>m1WY? z8q~gI&LXzgsqcwd=uhNt@McsnC&UHes(acotCX~CwAW0uBuh)*xL%uL@e6VR8BVnT z)k_i?i%yh%2;NNJ7c8mWd*meTZK7thxVybf^i}k;$BgIE9Ql4VrmU5#jK8~0VcX1} z+6P4m^){qJsV`ZRyzU2dSj*pLo<&&+SnrcTfNFk+mVV$;nc=m#?oK&I3|x-`S|2oC z#2ODv3}D>Pd`D#Sl4`8kru)h?RrGb(^le5n5BvtG5;$+Qg%iGSyS-T1SU8`@Z09^t zr#EE#PHX}fUvE%b+}eJK8YBM9z6WuHMG(hood^oX6PC-#f9kgd^SuC-pkF+_TDop^ zyNOkgoRY7{{Dq5-fkruD1yJGd4z zWKUgqtPnBZ;|U z79vGcIsMtbOp-f4Rx($`@{@UsoJMT1W-e9<`}!~Z26ufhaslDLNH3L95jdD(v80kN ziWF%PI(TPekhk7qH-ye&*DrjGYu)RcJGP{cN1UUmT(!_x+5RX~ls4Oh#~DV^N}K^7 zcfg4w^TqNk_1HhS*bVF9eYwhY#l}@_7=gQj4#yR-r(#l|r=rmHkVqJDC{rN=41XUJ z!?O0pxVAuaZM{(O<7C_IBC94~a1Z|=tCY7SWd3Mt_xEG3!AnCc~cv47;BtCp+8zdv~` zy=+L{T<2L;2P8colf34<_KNU?WjQ~X=Gh6)R*y3=Ibi+d*-9lv1*&*-N1N$x4(o`I z&?y85Z_{EBwdcNkI$dqS=Bg|tZ{)vuH;A2qs0GXH4AWF0sHGiyQC7 zCT7mENPR|VOv=9f<0Tb!3+o>ixr#n#y$jT>;XU)byLz{sNWb?Ix;vrN$`+(w)~5eh z#?QLW)Qx{*b)FbQ{yNgvWh{=}{4_rfN0LC+58*9ktNwk>jjx>mLz;@#{C8cxAC@Y= z<~`t4<*sT5ggsIatG3`EpS&_49Zd03tK40|L(CX+?*`@}Uh<%NCrYE7b0=+w*6~?AiRb2#%{q@WL7Y;|C++8-4OcB5tuGAZXJz4jL+UyK!z2SXCJSIZFix6 zXVTOHb}p*E&*|B2@$lNEjA;Jm4E3#cEgUTjj}c0u0QbpO-Dyf0ekXVAV0Vig@BqN^ zqgIXvJ$a`$bhrVp(>bf$J@x@5d1n3m-K3J-VG5}Z5om(r@kb2stIODxb5oOPK z+g5Q-DYb~n|0J=yp9ttASsGwcfD;z|Ex6eW-$O}8QsK9zuq4T5= zqTbH-9W86#Hx&VC(x$8E>YUZqb`z|whjVr&E|p|zgEp2BA-5z={4X_)M#$u;{UAqI zN4|JsN3{=A?qASfahpyMI;BdXH?gIy9bj{wNK(2KxxpN5^*my^4NjYhtWFSr-FJ*4 zd8%qh(9s(9u zOKh1xcc}3@L=w||ued7ZqT`k%N&PRuUde~h*k__#oVxcmgN9$@68qZ!fKh6Pb6ops zxfdQO@WA)T4lM5fu>fYB)DUi9;C}6Cb>xSk;^Rk?>Ow-?+tLor=bOfQb}dzQGJ{!~ zukgj{3{Epv!#58AI=bU);hkn1wP_l;xV!82gPVX&;*gh3`{dM*fWf3~fG9J3sylt` zuVXL9-b8qDihN=KO$Y>RbgsU$q1YG7z$5)yANmR3?ehiYNSD^*$uaBu^h~h z=}u}r|3f*-)Y9y3RwwMz(Y<%^y5XN2=9{SFDv#Kp8^{f=D33``rXbOa3xvo{U?_MC z$gOd@)=#YjmXhejYu=SG%?7dq3FxhvPw)I*B%dcy-Lnc2zw>&i^>Yg4fed^jhjy&) z@MZ-CtLMT}s@|evT)qH|BJ3K(1kS!sqW8W%aUVrFB>)7?$>%!JbC<5EFPneFrm2iM z_><0=%m%OT-LGzzMs5K&iz*WFtJx1??A~CKw^M$AjA2h#j+wTXsIv5h{3M{oVEf$t;lU zyi#;wwYfuYskWY3fNQ&6n{`q!yjS;197)Y8`WGe%1M2?mX?%eS*-?K6ZpGJ}D6N}b z0vawk-xHMn6aK8JB>bI(FL16O*T(D5>fnt`ek~pNp{vHzyB>ete&D7}@CEAd4+dL3 z=0BWco-rxqJLAGVjNn7~e?#rIzejYwG1e-N)1#U ze2cJ~b(_B}jveMlE99j+3jTdv+}ZjzqLl$V5L!`rtq@X2JrGL05VztS1771AahNMs zkcO4{umspJ8bLU@T=7vbY;_Fqeyt38QvFwFF8<lo+`>DGyf_hKr^SxE~7T-lO1vctO97YutM-9sh)Tn=(bf9ytu~WO17$_v$~k z9E6F)y@U@i8EgQL$(d=ASkM!2{gyW%3VJ^^zx}#4+fVwcb)}fXN7_yxQwby-D|y#- z>WZ*)lVr!96~sLzMEB9>Dq`tR>L=pL&z>b++Zp7;gn3DTWzo#%dXQ?Lt`C$mfU`av zN)(nDi2ZIYiKv5)it&>SX0)w=oGV08^G=s$ogThB zNh%?BfB%s?ZH$XBwd5#(+wTr{G;wSNW0xWl)<8T(m1B9CKWpZ z)b>5?c6uQcDf>Q$_aZu zv4qI9WS_6V@Z+J9jH8}(oigN0bzA3Qv8z4>0;S{D~k{ z_%Tjxn#ZKrhy6hg!BGXH*Jrh7p&TrhOb3pl^YFK&FJzs@2onDss_B)gYQWTYX_qnC zSR#mG6e_RxgU>D9hSCvelV6nsWhmjtb7L8;8$ulU)-+S^%-TSSwd2W_402NwNx8IqT zyt0+v$9p@>HSV(g@8-trt4l)?hoDjWuV>7^RJPqlOC%qOGJJ&HZ?pP}f4d%a+mGUE zyhts`X1ZsqUo_}HIrS(^>HC9VH;K*6cSqh<1e2$7Hl;A%7x?MDoX$N?K zZHk4`El10iEk9}L#uSt?fNP!JU2TL~nPJx6P|hz?0gUQ9Jr&wa#hrw` z!VfDWUdQwb#F8uuxivR75Ha=$|NIA_)uStTTp(mGjerLE4}G{t0Y3tll0-ba1NBj* zv+pN1l>Gy4g`T~B86UM{WuE_+{QZ9YfxhQyM@Dn;yM}o@tywo_f|vsw3h$x+AWqM@ zU2}~aighB>83)Yosv6I9I|f~aF|KmoB)WbGr1#_Nag+aA{bwf4^`Re_B4x=uU72}{ zVOfKTDjdz7S&Gd|p8i>%urQ;)YjoGTcEgbmUnq~iUh*mS|?HZGOfbPt~17IYUP*Nr#2*LjpKON z_>*orjPfHSd*(emiExGK&lm`7VttQ#;R78g1E4*r1Ho6Q12G7c5$71NI}R(<*xB%# zl2gU2S;*}uW^@aZYGX$4eksKbIbp}zx*X)RO9_DI} zB0dx?8%|xR-;dkjf-hsL&<&LrBZshoGlb&IzWepb;X`obf8mAh5lTY@fz~fz95G3E zWo9N%-3l1GboT$T_wDga_W%E-bkHqzmlQ3Xm2>5ME=r{+$DB4QIiGD#W9dLAB%z#^ zOBX!)9h?{4U?$9fBZGub-mxO*Yov!K3}iv zeR;A87H#gFk7Uy8Gr}*_=ZmMgCy8B1somx?E8A-7EZAP8Y>Du6!5QHh9^**Qj0!Ev z5QebF&qSfF^skE1CnC-uOR@?H*aw~(hJ-A3#2?(|)iwdiKm`p!80R>>mteHAE;)q9 zbRZ>qedirh%)%V=hQfNe?;B+MO4J`RzlFzNT3LBL{+%v2GdR^;ux{vx910$VhaijG zm)HFk#QjwrLzRFR-G|g9HLb?a#&N`jXEtL2E*BUvU5>AilGf%32IbM9V9vg&v4UcMhUOny4cTZr z$5u}VYyz8ZPkzl!&5PbL-c{BVW%tFl<(lL7;hN8VrMMgI!q^!8tCyCeS4>BdWi$b-6p58e&<|BKzALUJX=+pF^YS>k&x7R!1;tH`ayAPC7(4 zqm^WHJ@{eA&{>LH?$7=nr=0ba*fRqMD^_Yym{jK**%KOud20UTbW+cVCW2_%{C${* zsaSM#7Y6hKuY-;TX0}P>m!zH0v4C^)oSd;Go&_1%kAu5KLAuGcc|$rR`O_e`b6|&q$#8FEMJc4^D~g!}B{U)n=4=FWJj{4@0SQz*!oY12V*TO>;Cjvt@uWrLXL7 z7<%qD3z*Ja+#U<-O}WeEdmz(Xg@Tt=?C14axbU85j55)E;L`;`D;@@L{?-lpwj}iR z;l8P^Hb;WI%@Ich`*28?D$@yJ$rzwae-~_hwq7BU#aGoHf^M9|{!vi!wYYC~`%)Fy zsS_zCJ5_x+w|?{)%!4)g&{P{)Dv8fD56Wi3-L|pqn!?!di?ZQyKLUg&IU8;gz?qD) z30XMsJL%NdQg%V5Aq@|==vu$@B|p>^4v#$lXPPL4W6N$rD;%A_&sM@02hR{qPv}D$A!7p6@%_Ml0&T#VZQNoAlORBt!ji zAL+@F=f;w#_U(OJN@{2+tGOc)Kuqoe+Y3A4`$weun8W+YNH;i;BTU01k1_jNXqdRI zA0QEwvp)-_jt~(Q^l%5|A97K#?B#LHRFvUrS8rT|!{-p=b)V5F%P%MV!8V?SPU8dJ z(LL>9e8j~Bc;jxOKEx{8@Nt;jWPJ#CU;aloG0k534*qLfOV5aB;cwV^l5Qk!NeyCu zTD7c$k3sXr1<@;&#ShD{;wyW)>5c>JyydyLyQl&1~c0D{yZ1K#?0MdNQl53|sRq52{ z_p>vNZ8MQLuX^4u`em`+JG*cLK75I;Zn#cdTQ&p5DrnzZ&PWV_FOwo3DX;2b`Ia9o zgJBz<+&N7PGLZ`TkQg%Ps%JubrQHkM8qTF70o)%kHI zk39+>h3sM|_#Q8rFU0pS9W}$HH8YVNVEYYNQ#4-E;OyEBe75=oqz}z|=v$Q61X80L zH;41T0G&qC{*FY@xWsF?0danc)C!w7^rja4*ivx-G`g%;{wIxX;Gc^-2|%7*dI@Io zR!xCrWVPai&LU$?Sn>+?KJq6g$I$SKfPaO{jq9@2^;hw2-{B$JW<+)?s;L-{)+v=U z^ry_I8p>y6UvEjHqn&(MBQAs6Z z4nt1KY6thlWHiYm?O6*<~ zksztaeEQ^%lY;Q}9g>L-vPXG3qI1 zi0D22?D1lg#WKO3r)I?{ZQUzT$Z|D)eHHMG`Lzk|#+hhag=23!?MHXKqx-I-;~s*h zBZ3|dsBc01MT*k`R>-Y{8=&8S3CQ`j5uun}f-E!+7K&Fy#< z{R#%GsXzmcI^Zm(f}UrG(~@<_Pg1V4zfvWR^MzM~PW@OB!k@pgwI~A3(1TOs**Uv~ zn0p58aZ^{~Y;`|=(n~YH7jmV;6Z9o6YTb=rr7gL~G?OQsF-sA*!x> zw<6dJIcwd!#+QN(vt(v5H#MJN#g*DvH&huCrj!p3GQ1~$Nki5+CKthm zdp96j@RJ*-kw48+?Jh-_Pw&jVV^DkSkV|1nZ_d_sw{V$U;o1PYPCd73E!=~b1-;)~ ze!z3IO`GxeIj{%i|&wIE&LWif{82nWn=Vo#Xr&sa;g`X2WLl{Wy?%` z(ZzV zcvZwqN8Il~37zgS_{G?{+l&n0V7hZX??5lxc-*e(<_T5bMpnK&*1$)Pzc%M zD-LxtTR+7%(NWmBUP~^ees&fx>`0Isr33<&(Mutj;xCw?JJc}4e~{u-FMFvnJ0ZI` zPHk}_t4R5LQuiHYlt0KO&lbP7hLyQd8d}PGsQ(;w1NWn~Qhnee_Pltnozx2-<0A9q zxO{!Z6iOUarKr2=2rj<4&B4HI;zrpGhPzj?<1OK?rp73eD?7Pf=oTY9n|oWj*zwYH zHRq7L#bK?beLeRp;n$fKx;=f-TE4f;nC={V1OITu#B$f|(SzMO=MoFd2)P7*?HNOw z65TgCp7{RJIw3RqTpN3|nQ(qzbme(jgg)O>%c42#GbhzQYZZnTmU_nm34^h$_1U6f z(fzp1;5I48C(9Ax+v6h~(oxD=jDq58_|u2D}L!tL>vwGxgQ>8|c>kEC{2MGb`bn-Xo15Ry4aZy4gc@ zl?P^4CZK)gz2%5#8`k5a+1}A`f|B7Ia#6m|lxRWF(*hns1a-^PfT``Tg>n>UOzxc0Y6bw}6_;VChPSLUwP_f2W`L*(nu$T zhAME=YC@^|eET#(o<*W0_Wry~Gt)hxfYcw5A1Inv(Lv%++hwf5@1P|I$rjKKD_nrvsOtO7*8C$bLkkrsQrTTD$GX zMoJ)#nE)5Cu#C(cs>9az1W4V)Mn^4P8STu#b>z~Fw-tMc4(Bbdd4jwe9um6i0HdMG zsSn`_!X34!-Oz(<|L))3;=b-FP26ZlzSb{$Ca@U8E!Uf${X(g1KC@iOBj!zgEFJzi z#J=l*Wie}!rGIRb|FY~esKJWq6OkK-QUvLIyHneC65!>cyZ z)KHCto|XKJ;2=%G6)V0Yj;~TmBr~eLoHdpp>Jl`;UVabzI}*RVrWEf;Ye=b9 z=|ja($V?{n-o*)8gfm^G?nER(jhoys*2BMq;G!aE>wCf>C!-BkW|T_@g21JVSIBGA z^xX<{D{qxraYvH+#GOdj_uL|EL7ygaqyF8f|9W_?2tgL23QxE?FtPOz%TO6fuFRVL zSuWo(x^ubqZGNC3KmN=_MLpJi;*P?F)qkUG#;cnyJs(& z;83ynSJCP`Y*2X6a*U8|L57^b@{6vE?wLMcSRRqtWpCaOwrZ$>Ffg;i zJZ`2rA}nF@SoF{}1{MzHORUkUM$C}ecABBoP}w{B^V

$AZgv$>g*(pDf9qkf`TC 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∨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õ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

da_ZdVD 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 Iy{E4IAB;D|LjV8( From c4d8ff9638490014307ca2e484bf7a50621ee2a8 Mon Sep 17 00:00:00 2001 From: Tim Hansen Date: Thu, 29 Jul 2021 15:43:09 -0600 Subject: [PATCH 097/712] Switch frontend identity to `token` instead of `idToken` Co-authored-by: Joe Porpeglia Signed-off-by: Tim Hansen --- .changeset/lucky-spiders-impress.md | 6 ++++++ .../core-components/src/layout/SignInPage/SignInPage.tsx | 2 +- .../src/layout/SignInPage/auth0Provider.tsx | 4 ++-- .../src/layout/SignInPage/commonProvider.tsx | 2 +- packages/core-plugin-api/src/apis/definitions/auth.ts | 8 +++++++- 5 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 .changeset/lucky-spiders-impress.md diff --git a/.changeset/lucky-spiders-impress.md b/.changeset/lucky-spiders-impress.md new file mode 100644 index 0000000000..270ecf7a7c --- /dev/null +++ b/.changeset/lucky-spiders-impress.md @@ -0,0 +1,6 @@ +--- +'@backstage/core-components': patch +'@backstage/core-plugin-api': patch +--- + +Switched frontend identity code to use `token` instead of the deprecated `idToken` field diff --git a/packages/core-components/src/layout/SignInPage/SignInPage.tsx b/packages/core-components/src/layout/SignInPage/SignInPage.tsx index 1ccce80e59..d19574999f 100644 --- a/packages/core-components/src/layout/SignInPage/SignInPage.tsx +++ b/packages/core-components/src/layout/SignInPage/SignInPage.tsx @@ -130,7 +130,7 @@ export const SingleSignInPage = ({ userId: identity!.id, profile: profile!, getIdToken: () => { - return authApi.getBackstageIdentity().then(i => i!.idToken); + return authApi.getBackstageIdentity().then(i => i!.token); }, signOut: async () => { await authApi.signOut(); diff --git a/packages/core-components/src/layout/SignInPage/auth0Provider.tsx b/packages/core-components/src/layout/SignInPage/auth0Provider.tsx index f105cd4716..2f5c8b5edb 100644 --- a/packages/core-components/src/layout/SignInPage/auth0Provider.tsx +++ b/packages/core-components/src/layout/SignInPage/auth0Provider.tsx @@ -40,7 +40,7 @@ const Component: ProviderComponent = ({ onResult }) => { userId: identity!.id, profile: profile!, getIdToken: () => - auth0AuthApi.getBackstageIdentity().then(i => i!.idToken), + auth0AuthApi.getBackstageIdentity().then(i => i!.token), signOut: async () => { await auth0AuthApi.signOut(); }, @@ -82,7 +82,7 @@ const loader: ProviderLoader = async apis => { return { userId: identity.id, profile: profile!, - getIdToken: () => auth0AuthApi.getBackstageIdentity().then(i => i!.idToken), + getIdToken: () => auth0AuthApi.getBackstageIdentity().then(i => i!.token), signOut: async () => { await auth0AuthApi.signOut(); }, diff --git a/packages/core-components/src/layout/SignInPage/commonProvider.tsx b/packages/core-components/src/layout/SignInPage/commonProvider.tsx index bd46e6fa58..6f8339bcf3 100644 --- a/packages/core-components/src/layout/SignInPage/commonProvider.tsx +++ b/packages/core-components/src/layout/SignInPage/commonProvider.tsx @@ -86,7 +86,7 @@ const loader: ProviderLoader = async (apis, apiRef) => { return { userId: identity.id, profile: profile!, - getIdToken: () => authApi.getBackstageIdentity().then(i => i!.idToken), + getIdToken: () => authApi.getBackstageIdentity().then(i => i!.token), signOut: async () => { await authApi.signOut(); }, diff --git a/packages/core-plugin-api/src/apis/definitions/auth.ts b/packages/core-plugin-api/src/apis/definitions/auth.ts index c786b43fc3..9e0a3a03e3 100644 --- a/packages/core-plugin-api/src/apis/definitions/auth.ts +++ b/packages/core-plugin-api/src/apis/definitions/auth.ts @@ -151,9 +151,15 @@ export type BackstageIdentity = { id: string; /** - * An ID token that can be used to authenticate the user within Backstage. + * This is deprecated, use `token` instead. + * @deprecated */ idToken: string; + + /** + * The token used to authenticate the user within Backstage. + */ + token: string; }; /** From 71e328839789133becf6dcecf3b611615328c4fa Mon Sep 17 00:00:00 2001 From: Tim Hansen Date: Fri, 30 Jul 2021 15:29:37 -0600 Subject: [PATCH 098/712] api-report Signed-off-by: Tim Hansen --- packages/core-plugin-api/api-report.md | 1 + packages/core-plugin-api/src/apis/definitions/auth.ts | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core-plugin-api/api-report.md b/packages/core-plugin-api/api-report.md index f02d3ae140..da9fec915c 100644 --- a/packages/core-plugin-api/api-report.md +++ b/packages/core-plugin-api/api-report.md @@ -196,6 +196,7 @@ export type AuthRequestOptions = { export type BackstageIdentity = { id: string; idToken: string; + token: string; }; // Warning: (tsdoc-undefined-tag) The TSDoc tag "@IdentityApi" is not defined in this configuration diff --git a/packages/core-plugin-api/src/apis/definitions/auth.ts b/packages/core-plugin-api/src/apis/definitions/auth.ts index 9e0a3a03e3..c585619ba5 100644 --- a/packages/core-plugin-api/src/apis/definitions/auth.ts +++ b/packages/core-plugin-api/src/apis/definitions/auth.ts @@ -151,8 +151,7 @@ export type BackstageIdentity = { id: string; /** - * This is deprecated, use `token` instead. - * @deprecated + * @deprecated This is deprecated, use `token` instead. */ idToken: string; From e9d3983eee408671c1810f0108475f3bfd4e1123 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Fri, 30 Jul 2021 16:31:44 +0200 Subject: [PATCH 099/712] config,config-loader: warn when trying to access invisible config values Signed-off-by: Patrik Oldsberg --- .changeset/curvy-poets-dance.md | 5 + .changeset/large-flies-bow.md | 5 + .changeset/sharp-seals-explode.md | 5 + packages/cli/src/commands/app/serve.ts | 1 + packages/cli/src/commands/plugin/serve.ts | 1 + packages/cli/src/lib/config.ts | 2 + packages/config-loader/api-report.md | 2 +- .../src/lib/schema/filtering.test.ts | 116 ++++++++++++++---- .../config-loader/src/lib/schema/filtering.ts | 34 ++++- .../config-loader/src/lib/schema/load.test.ts | 10 +- packages/config-loader/src/lib/schema/load.ts | 8 +- .../config-loader/src/lib/schema/types.ts | 7 ++ packages/config/api-report.md | 1 + packages/config/src/reader.test.ts | 56 +++++++++ packages/config/src/reader.ts | 77 +++++++++--- packages/config/src/types.ts | 1 + 16 files changed, 283 insertions(+), 48 deletions(-) create mode 100644 .changeset/curvy-poets-dance.md create mode 100644 .changeset/large-flies-bow.md create mode 100644 .changeset/sharp-seals-explode.md diff --git a/.changeset/curvy-poets-dance.md b/.changeset/curvy-poets-dance.md new file mode 100644 index 0000000000..abf478a729 --- /dev/null +++ b/.changeset/curvy-poets-dance.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli': patch +--- + +Keep track of filtered configuration values when running frontend in development mode. diff --git a/.changeset/large-flies-bow.md b/.changeset/large-flies-bow.md new file mode 100644 index 0000000000..e571bc9a3c --- /dev/null +++ b/.changeset/large-flies-bow.md @@ -0,0 +1,5 @@ +--- +'@backstage/config': patch +--- + +Add warning when trying to access configuration values that have been filtered out by visibility. diff --git a/.changeset/sharp-seals-explode.md b/.changeset/sharp-seals-explode.md new file mode 100644 index 0000000000..7dbcac7094 --- /dev/null +++ b/.changeset/sharp-seals-explode.md @@ -0,0 +1,5 @@ +--- +'@backstage/config-loader': patch +--- + +Add option to populate the `filteredKeys` property when processing configuration with a schema. diff --git a/packages/cli/src/commands/app/serve.ts b/packages/cli/src/commands/app/serve.ts index 85fbdd97a0..208042c719 100644 --- a/packages/cli/src/commands/app/serve.ts +++ b/packages/cli/src/commands/app/serve.ts @@ -59,6 +59,7 @@ export default async (cmd: Command) => { ...(await loadCliConfig({ args: cmd.config, fromPackage: name, + withFilteredKeys: true, })), }); diff --git a/packages/cli/src/commands/plugin/serve.ts b/packages/cli/src/commands/plugin/serve.ts index b9ba93bc62..a0200b7ce8 100644 --- a/packages/cli/src/commands/plugin/serve.ts +++ b/packages/cli/src/commands/plugin/serve.ts @@ -28,6 +28,7 @@ export default async (cmd: Command) => { ...(await loadCliConfig({ args: cmd.config, fromPackage: name, + withFilteredKeys: true, })), }); diff --git a/packages/cli/src/lib/config.ts b/packages/cli/src/lib/config.ts index db96ca7686..a93f040122 100644 --- a/packages/cli/src/lib/config.ts +++ b/packages/cli/src/lib/config.ts @@ -22,6 +22,7 @@ type Options = { args: string[]; fromPackage?: string; mockEnv?: boolean; + withFilteredKeys?: boolean; }; export async function loadCliConfig(options: Options) { @@ -57,6 +58,7 @@ export async function loadCliConfig(options: Options) { try { const frontendAppConfigs = schema.process(appConfigs, { visibility: ['frontend'], + withFilteredKeys: options.withFilteredKeys, }); const frontendConfig = ConfigReader.fromConfigs(frontendAppConfigs); diff --git a/packages/config-loader/api-report.md b/packages/config-loader/api-report.md index 37b9880448..47bc22c60f 100644 --- a/packages/config-loader/api-report.md +++ b/packages/config-loader/api-report.md @@ -59,7 +59,7 @@ export function readEnvConfig(env: { // Warnings were encountered during analysis: // -// src/lib/schema/types.d.ts:77:5 - (ae-forgotten-export) The symbol "ConfigProcessingOptions" needs to be exported by the entry point index.d.ts +// src/lib/schema/types.d.ts:83:5 - (ae-forgotten-export) The symbol "ConfigProcessingOptions" needs to be exported by the entry point index.d.ts // src/loader.d.ts:13:5 - (ae-forgotten-export) The symbol "EnvFunc" needs to be exported by the entry point index.d.ts // (No @packageDocumentation comment for this package) diff --git a/packages/config-loader/src/lib/schema/filtering.test.ts b/packages/config-loader/src/lib/schema/filtering.test.ts index 5079afa876..d4b3cd55b6 100644 --- a/packages/config-loader/src/lib/schema/filtering.test.ts +++ b/packages/config-loader/src/lib/schema/filtering.test.ts @@ -63,43 +63,115 @@ const visibility = new Map( describe('filterByVisibility', () => { test.each<[ConfigVisibility[], JsonObject]>([ - [[], {}], + [ + [], + { + data: {}, + filteredKeys: [ + 'arr[0]', + 'arr[1]', + 'arr[2]', + 'objArr[0].f', + 'objArr[0].b', + 'objArr[0].s', + 'objArr[1].f', + 'objArr[1].b', + 'objArr[1].s', + 'obj.f', + 'obj.b.s', + 'arrF[0].never', + 'arrB[0].never', + 'arrS[0].never', + 'objF.never', + 'objB.never', + 'objS.never', + ], + }, + ], [ ['frontend'], { - arr: ['f'], - objArr: [{ f: 1 }, { f: 4 }], - obj: { f: 'a' }, - arrF: [], - objF: {}, + data: { + arr: ['f'], + objArr: [{ f: 1 }, { f: 4 }], + obj: { f: 'a' }, + arrF: [], + objF: {}, + }, + filteredKeys: [ + 'arr[1]', + 'arr[2]', + 'objArr[0].b', + 'objArr[0].s', + 'objArr[1].b', + 'objArr[1].s', + 'obj.b.s', + 'arrF[0].never', + 'arrB[0].never', + 'arrS[0].never', + 'objF.never', + 'objB.never', + 'objS.never', + ], }, ], [ ['backend'], { - arr: ['b'], - objArr: [{ b: 2 }, { b: 5 }], - obj: { b: {} }, - arrF: [{ never: 'here' }], - arrB: [{ never: 'here' }], - arrS: [{ never: 'here' }], - objF: { never: 'here' }, - objB: { never: 'here' }, - objS: { never: 'here' }, + data: { + arr: ['b'], + objArr: [{ b: 2 }, { b: 5 }], + obj: { b: {} }, + arrF: [{ never: 'here' }], + arrB: [{ never: 'here' }], + arrS: [{ never: 'here' }], + objF: { never: 'here' }, + objB: { never: 'here' }, + objS: { never: 'here' }, + }, + filteredKeys: [ + 'arr[0]', + 'arr[2]', + 'objArr[0].f', + 'objArr[0].s', + 'objArr[1].f', + 'objArr[1].s', + 'obj.f', + 'obj.b.s', + ], }, ], [ ['secret'], { - arr: ['s'], - objArr: [{ s: 3 }, { s: 6 }], - obj: { b: { s: true } }, - arrS: [], - objS: {}, + data: { + arr: ['s'], + objArr: [{ s: 3 }, { s: 6 }], + obj: { b: { s: true } }, + arrS: [], + objS: {}, + }, + filteredKeys: [ + 'arr[0]', + 'arr[1]', + 'objArr[0].f', + 'objArr[0].b', + 'objArr[1].f', + 'objArr[1].b', + 'obj.f', + 'arrF[0].never', + 'arrB[0].never', + 'arrS[0].never', + 'objF.never', + 'objB.never', + 'objS.never', + ], }, ], - [['frontend', 'backend', 'secret'], data], + [['frontend', 'backend', 'secret'], { data, filteredKeys: [] }], ])('should filter correctly with %p', (filter, expected) => { - expect(filterByVisibility(data, filter, visibility)).toEqual(expected); + expect( + filterByVisibility(data, filter, visibility, undefined, true), + ).toEqual(expected); }); }); diff --git a/packages/config-loader/src/lib/schema/filtering.ts b/packages/config-loader/src/lib/schema/filtering.ts index 74d367a30a..3533be01b7 100644 --- a/packages/config-loader/src/lib/schema/filtering.ts +++ b/packages/config-loader/src/lib/schema/filtering.ts @@ -30,9 +30,17 @@ export function filterByVisibility( includeVisibilities: ConfigVisibility[], visibilityByPath: Map, transformFunc?: TransformFunc, -): JsonObject { - function transform(jsonVal: JsonValue, path: string): JsonValue | undefined { - const visibility = visibilityByPath.get(path) ?? DEFAULT_CONFIG_VISIBILITY; + withFilteredKeys?: boolean, +): { data: JsonObject; filteredKeys?: string[] } { + const filteredKeys = new Array(); + + function transform( + jsonVal: JsonValue, + visibilityPath: string, // Matches the format we get from ajv + filterPath: string, // Matches the format of the ConfigReader + ): JsonValue | undefined { + const visibility = + visibilityByPath.get(visibilityPath) ?? DEFAULT_CONFIG_VISIBILITY; const isVisible = includeVisibilities.includes(visibility); if (typeof jsonVal !== 'object') { @@ -42,6 +50,9 @@ export function filterByVisibility( } return jsonVal; } + if (withFilteredKeys) { + filteredKeys.push(filterPath); + } return undefined; } else if (jsonVal === null) { return undefined; @@ -49,7 +60,11 @@ export function filterByVisibility( const arr = new Array(); for (const [index, value] of jsonVal.entries()) { - const out = transform(value, `${path}/${index}`); + const out = transform( + value, + `${visibilityPath}/${index}`, + `${filterPath}[${index}]`, + ); if (out !== undefined) { arr.push(out); } @@ -68,7 +83,11 @@ export function filterByVisibility( if (value === undefined) { continue; } - const out = transform(value, `${path}/${key}`); + const out = transform( + value, + `${visibilityPath}/${key}`, + filterPath ? `${filterPath}.${key}` : key, + ); if (out !== undefined) { outObj[key] = out; hasOutput = true; @@ -81,5 +100,8 @@ export function filterByVisibility( return undefined; } - return (transform(data, '') as JsonObject) ?? {}; + return { + filteredKeys: withFilteredKeys ? filteredKeys : undefined, + data: (transform(data, '', '') as JsonObject) ?? {}, + }; } diff --git a/packages/config-loader/src/lib/schema/load.test.ts b/packages/config-loader/src/lib/schema/load.test.ts index 4a2b719590..73fa55b90c 100644 --- a/packages/config-loader/src/lib/schema/load.test.ts +++ b/packages/config-loader/src/lib/schema/load.test.ts @@ -68,13 +68,19 @@ describe('loadConfigSchema', () => { schema.process(configs, { visibility: ['frontend'], valueTransform: () => 'X', + withFilteredKeys: true, }), - ).toEqual([{ data: { key1: 'X' }, context: 'test' }]); + ).toEqual([ + { data: { key1: 'X' }, context: 'test', filteredKeys: ['key2'] }, + ]); expect( schema.process(configs, { valueTransform: () => 'X', + withFilteredKeys: true, }), - ).toEqual([{ data: { key1: 'X', key2: 'X' }, context: 'test' }]); + ).toEqual([ + { data: { key1: 'X', key2: 'X' }, context: 'test', filteredKeys: [] }, + ]); const serialized = schema.serialize(); diff --git a/packages/config-loader/src/lib/schema/load.ts b/packages/config-loader/src/lib/schema/load.ts index ae5823c8cc..b67bd0002f 100644 --- a/packages/config-loader/src/lib/schema/load.ts +++ b/packages/config-loader/src/lib/schema/load.ts @@ -57,7 +57,7 @@ export async function loadConfigSchema( return { process( configs: AppConfig[], - { visibility, valueTransform } = {}, + { visibility, valueTransform, withFilteredKeys } = {}, ): AppConfig[] { const result = validate(configs); if (result.errors) { @@ -73,21 +73,23 @@ export async function loadConfigSchema( if (visibility) { processedConfigs = processedConfigs.map(({ data, context }) => ({ context, - data: filterByVisibility( + ...filterByVisibility( data, visibility, result.visibilityByPath, valueTransform, + withFilteredKeys, ), })); } else if (valueTransform) { processedConfigs = processedConfigs.map(({ data, context }) => ({ context, - data: filterByVisibility( + ...filterByVisibility( data, Array.from(CONFIG_VISIBILITIES), result.visibilityByPath, valueTransform, + withFilteredKeys, ), })); } diff --git a/packages/config-loader/src/lib/schema/types.ts b/packages/config-loader/src/lib/schema/types.ts index 30e47917bc..17090ad53c 100644 --- a/packages/config-loader/src/lib/schema/types.ts +++ b/packages/config-loader/src/lib/schema/types.ts @@ -96,6 +96,13 @@ type ConfigProcessingOptions = { * will be omitted. */ valueTransform?: TransformFunc; + + /** + * Whether or not to include the `filteredKeys` property in the output `AppConfig`s. + * + * Default: `false`. + */ + withFilteredKeys?: boolean; }; /** diff --git a/packages/config/api-report.md b/packages/config/api-report.md index 50d2af0f1f..eff4236026 100644 --- a/packages/config/api-report.md +++ b/packages/config/api-report.md @@ -9,6 +9,7 @@ export type AppConfig = { context: string; data: JsonObject; + filteredKeys?: string[]; }; // Warning: (ae-missing-release-tag) "Config" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) diff --git a/packages/config/src/reader.test.ts b/packages/config/src/reader.test.ts index b1ba536797..ed0ca7febe 100644 --- a/packages/config/src/reader.test.ts +++ b/packages/config/src/reader.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { withLogCollector } from '../../test-utils-core/src'; import { ConfigReader } from './reader'; const DATA = { @@ -185,6 +186,61 @@ describe('ConfigReader', () => { const config = new ConfigReader(DATA, CTX); expectInvalidValues(config); }); + + it('should warn when accessing filtered keys in development mode', () => { + const oldEnv = process.env.NODE_ENV; + (process.env as any).NODE_ENV = 'development'; + + const config = ConfigReader.fromConfigs([ + { + data: DATA, + context: CTX, + filteredKeys: ['a', 'b[0]'], + }, + ]); + + expect(withLogCollector(() => config.getOptional('a'))).toMatchObject({ + warn: [ + "Failed to read configuration value at 'a' as it is not visible. See https://backstage.io/docs/conf/defining#visibility for instructions on how to make it visible.", + ], + }); + expect(withLogCollector(() => config.getOptionalString('a'))).toMatchObject( + { + warn: [ + "Failed to read configuration value at 'a' as it is not visible. See https://backstage.io/docs/conf/defining#visibility for instructions on how to make it visible.", + ], + }, + ); + expect( + withLogCollector(() => config.getOptionalConfigArray('b')), + ).toMatchObject({ + warn: [ + "Failed to read configuration array at 'b' as it does not have any visible elements. See https://backstage.io/docs/conf/defining#visibility for instructions on how to make it visible.", + ], + }); + + (process.env as any).NODE_ENV = oldEnv; + }); + + it('should not warn when accessing filtered keys outside of development mode', () => { + const config = ConfigReader.fromConfigs([ + { + data: DATA, + context: CTX, + filteredKeys: ['a', 'b[0]'], + }, + ]); + + expect(withLogCollector(() => config.getOptional('a'))).toMatchObject({ + warn: [], + }); + expect( + withLogCollector(() => config.getOptionalString('a')), + ).toMatchObject({ warn: [] }); + expect( + withLogCollector(() => config.getOptionalConfigArray('b')), + ).toMatchObject({ warn: [] }); + }); }); describe('ConfigReader with fallback', () => { diff --git a/packages/config/src/reader.ts b/packages/config/src/reader.ts index 11346d4a50..d93706c12e 100644 --- a/packages/config/src/reader.ts +++ b/packages/config/src/reader.ts @@ -55,6 +55,15 @@ const errors = { }; export class ConfigReader implements Config { + /** + * A set of key paths that where removed from the config due to not being visible. + * + * This was added as a mutable private member to avoid changes to the public API. + * Its only purpose of this is to warn users of missing visibility when running + * the frontend in development mode. + */ + private filteredKeys?: string[]; + static fromConfigs(configs: AppConfig[]): ConfigReader { if (configs.length === 0) { return new ConfigReader(undefined); @@ -62,9 +71,14 @@ export class ConfigReader implements Config { // Merge together all configs into a single config with recursive fallback // readers, giving the first config object in the array the lowest priority. - return configs.reduce((previousReader, { data, context }) => { - return new ConfigReader(data, context, previousReader); - }, undefined!); + return configs.reduce( + (previousReader, { data, context, filteredKeys }) => { + const reader = new ConfigReader(data, context, previousReader); + reader.filteredKeys = filteredKeys; + return reader; + }, + undefined!, + ); } constructor( @@ -101,6 +115,18 @@ export class ConfigReader implements Config { const fallbackValue = this.fallback?.getOptional(key); if (value === undefined) { + if (process.env.NODE_ENV === 'development') { + if (fallbackValue === undefined && key) { + const fullKey = this.fullKey(key); + if (this.filteredKeys?.includes(fullKey)) { + // eslint-disable-next-line no-console + console.warn( + `Failed to read configuration value at '${fullKey}' as it is not visible. ` + + 'See https://backstage.io/docs/conf/defining#visibility for instructions on how to make it visible.', + ); + } + } + } return fallbackValue; } else if (fallbackValue === undefined) { return value as T; @@ -127,10 +153,9 @@ export class ConfigReader implements Config { getOptionalConfig(key: string): ConfigReader | undefined { const value = this.readValue(key); const fallbackConfig = this.fallback?.getOptionalConfig(key); - const prefix = this.fullKey(key); if (isObject(value)) { - return new ConfigReader(value, this.context, fallbackConfig, prefix); + return this.copy(value, key, fallbackConfig); } if (value !== undefined) { throw new TypeError( @@ -163,18 +188,20 @@ export class ConfigReader implements Config { }); if (!configs) { + if (process.env.NODE_ENV === 'development') { + const fullKey = this.fullKey(key); + if (this.filteredKeys?.some(k => k.startsWith(fullKey))) { + // eslint-disable-next-line no-console + console.warn( + `Failed to read configuration array at '${key}' as it does not have any visible elements. ` + + 'See https://backstage.io/docs/conf/defining#visibility for instructions on how to make it visible.', + ); + } + } return undefined; } - return configs.map( - (obj, index) => - new ConfigReader( - obj, - this.context, - undefined, - this.fullKey(`${key}[${index}]`), - ), - ); + return configs.map((obj, index) => this.copy(obj, `${key}[${index}]`)); } getNumber(key: string): number { @@ -261,6 +288,17 @@ export class ConfigReader implements Config { return `${this.prefix}${this.prefix ? '.' : ''}${key}`; } + private copy(data: JsonObject, key: string, fallback?: ConfigReader) { + const reader = new ConfigReader( + data, + this.context, + fallback, + this.fullKey(key), + ); + reader.filteredKeys = this.filteredKeys; + return reader; + } + private readConfigValue( key: string, validate: ( @@ -270,6 +308,17 @@ export class ConfigReader implements Config { const value = this.readValue(key); if (value === undefined) { + if (process.env.NODE_ENV === 'development') { + const fullKey = this.fullKey(key); + if (this.filteredKeys?.includes(fullKey)) { + // eslint-disable-next-line no-console + console.warn( + `Failed to read configuration value at '${fullKey}' as it is not visible. ` + + 'See https://backstage.io/docs/conf/defining#visibility for instructions on how to make it visible.', + ); + } + } + return this.fallback?.readConfigValue(key, validate); } const result = validate(value); diff --git a/packages/config/src/types.ts b/packages/config/src/types.ts index d8f12f4f6e..1135e7d554 100644 --- a/packages/config/src/types.ts +++ b/packages/config/src/types.ts @@ -22,6 +22,7 @@ export type JsonValue = JsonObject | JsonArray | JsonPrimitive; export type AppConfig = { context: string; data: JsonObject; + filteredKeys?: string[]; }; export type Config = { From 91af01aea5f56d220c5def6e26165cbd9d874c51 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Aug 2021 04:16:44 +0000 Subject: [PATCH 100/712] chore(deps-dev): bump @graphql-codegen/typescript from 1.22.2 to 1.23.0 Bumps [@graphql-codegen/typescript](https://github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/plugins/typescript/typescript) from 1.22.2 to 1.23.0. - [Release notes](https://github.com/dotansimha/graphql-code-generator/releases) - [Changelog](https://github.com/dotansimha/graphql-code-generator/blob/master/packages/plugins/typescript/typescript/CHANGELOG.md) - [Commits](https://github.com/dotansimha/graphql-code-generator/commits/@graphql-codegen/typescript@1.23.0/packages/plugins/typescript/typescript) --- updated-dependencies: - dependency-name: "@graphql-codegen/typescript" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- yarn.lock | 43 ++++++++++++++++++++++++++++++++----------- 1 file changed, 32 insertions(+), 11 deletions(-) diff --git a/yarn.lock b/yarn.lock index 1fb6904c58..b74316d89d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2171,16 +2171,16 @@ "@graphql-tools/utils" "^7.9.1" tslib "~2.2.0" -"@graphql-codegen/plugin-helpers@^1.18.7": - version "1.18.7" - resolved "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-1.18.7.tgz#465af3e5b02de89e49ddc76ad2546b880fe240f2" - integrity sha512-8ICOrXlsvyL1dpVz8C9b7H31d4DJpDd75WfjMn6Xjqz81Ah8xDn1Bi+7YXRCCILCBmvI94k6fi8qpsIVhFBBjQ== +"@graphql-codegen/plugin-helpers@^1.18.7", "@graphql-codegen/plugin-helpers@^1.18.8": + version "1.18.8" + resolved "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-1.18.8.tgz#39aac745b9e22e28c781cc07cf74836896a3a905" + integrity sha512-mb4I9j9lMGqvGggYuZ0CV+Hme08nar68xkpPbAVotg/ZBmlhZIok/HqW2BcMQi7Rj+Il5HQMeQ1wQ1M7sv/TlQ== dependencies: "@graphql-tools/utils" "^7.9.1" common-tags "1.8.0" - import-from "3.0.0" + import-from "4.0.0" lodash "~4.17.0" - tslib "~2.2.0" + tslib "~2.3.0" "@graphql-codegen/typescript-resolvers@^1.17.7": version "1.19.3" @@ -2195,12 +2195,12 @@ tslib "~2.3.0" "@graphql-codegen/typescript@^1.17.7", "@graphql-codegen/typescript@^1.22.2": - version "1.22.2" - resolved "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-1.22.2.tgz#e0a1926ed8f81d10fcf64911d08d19d57dea94b1" - integrity sha512-M+gJVHnpWanCTrSqzh+jNyJ6HhDICFzWV3SVcns5LX1X4NC/7N+TvYLk9ZzRSpBYCkWWGmTPrZNd0zjwhroRTg== + version "1.23.0" + resolved "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-1.23.0.tgz#48a5372bcbe81a442c71c1bb032c312c6586a59a" + integrity sha512-ZfFgk5mGfuOy4kEpy+dcuvJMphigMfJ4AkiP1qWmWFufDW3Sg2yayTSNmzeFdcXMrWGgfNW2dKtuuTmbmQhS5g== dependencies: - "@graphql-codegen/plugin-helpers" "^1.18.7" - "@graphql-codegen/visitor-plugin-common" "1.21.1" + "@graphql-codegen/plugin-helpers" "^1.18.8" + "@graphql-codegen/visitor-plugin-common" "1.22.0" auto-bind "~4.0.0" tslib "~2.3.0" @@ -2220,6 +2220,22 @@ parse-filepath "^1.0.2" tslib "~2.3.0" +"@graphql-codegen/visitor-plugin-common@1.22.0": + version "1.22.0" + resolved "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-1.22.0.tgz#75fc8b580143bccbec411eb92d5fef715ed22e42" + integrity sha512-2afJGb6d8iuZl9KizYsexPwraEKO1lAvt5eVHNM5Xew4vwz/AUHeqDR2uOeQgVV+27EzjjzSDd47IEdH0dLC2w== + dependencies: + "@graphql-codegen/plugin-helpers" "^1.18.8" + "@graphql-tools/optimize" "^1.0.1" + "@graphql-tools/relay-operation-optimizer" "^6.3.0" + array.prototype.flatmap "^1.2.4" + auto-bind "~4.0.0" + change-case-all "1.0.14" + dependency-graph "^0.11.0" + graphql-tag "^2.11.0" + parse-filepath "^1.0.2" + tslib "~2.3.0" + "@graphql-modules/core@^0.7.17": version "0.7.17" resolved "https://registry.npmjs.org/@graphql-modules/core/-/core-0.7.17.tgz#ae9bbf44894509664bc0b6fcdd9b6cf3d99bcd00" @@ -15090,6 +15106,11 @@ import-from@3.0.0, import-from@^3.0.0: dependencies: resolve-from "^5.0.0" +import-from@4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/import-from/-/import-from-4.0.0.tgz#2710b8d66817d232e16f4166e319248d3d5492e2" + integrity sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ== + import-from@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" From da97e5058000923a0d15e973eb8c696d32345a8a Mon Sep 17 00:00:00 2001 From: Emma Indal Date: Fri, 9 Jul 2021 12:17:38 +0200 Subject: [PATCH 101/712] move default styles into components instead of searchpage Signed-off-by: Emma Indal --- .../app/src/components/search/SearchPage.tsx | 9 +-- .../src/components/SearchBar/SearchBar.tsx | 64 ++++++++++++------- .../components/SearchFilter/SearchFilter.tsx | 14 ++-- 3 files changed, 51 insertions(+), 36 deletions(-) diff --git a/packages/app/src/components/search/SearchPage.tsx b/packages/app/src/components/search/SearchPage.tsx index 6fe02de837..2818351f41 100644 --- a/packages/app/src/components/search/SearchPage.tsx +++ b/packages/app/src/components/search/SearchPage.tsx @@ -30,9 +30,6 @@ import { DocsResultListItem } from '@backstage/plugin-techdocs'; import { SearchResultSet } from '@backstage/search-common'; const useStyles = makeStyles((theme: Theme) => ({ - bar: { - padding: theme.spacing(1, 0), - }, filters: { padding: theme.spacing(2), }, @@ -100,9 +97,7 @@ const SearchPage = () => { - - - + @@ -112,12 +107,10 @@ const SearchPage = () => { defaultValue="software-catalog" /> diff --git a/plugins/search/src/components/SearchBar/SearchBar.tsx b/plugins/search/src/components/SearchBar/SearchBar.tsx index a1db818488..e011dcbfec 100644 --- a/plugins/search/src/components/SearchBar/SearchBar.tsx +++ b/plugins/search/src/components/SearchBar/SearchBar.tsx @@ -16,7 +16,14 @@ import React, { ChangeEvent, useState } from 'react'; import { useDebounce } from 'react-use'; -import { InputBase, InputAdornment, IconButton } from '@material-ui/core'; +import { + Paper, + InputBase, + InputAdornment, + IconButton, + Theme, + makeStyles, +} from '@material-ui/core'; import SearchIcon from '@material-ui/icons/Search'; import ClearButton from '@material-ui/icons/Clear'; @@ -27,7 +34,14 @@ type Props = { debounceTime?: number; }; +const useStyles = makeStyles((theme: Theme) => ({ + searchBar: { + padding: theme.spacing(1, 0), + }, +})); + export const SearchBar = ({ className, debounceTime = 0 }: Props) => { + const classes = useStyles(); const { term, setTerm } = useSearch(); const [value, setValue] = useState(term); @@ -40,28 +54,30 @@ export const SearchBar = ({ className, debounceTime = 0 }: Props) => { const handleClear = () => setValue(''); return ( - - - - - - } - endAdornment={ - - - - - - } - /> + + + + + + + } + endAdornment={ + + + + + + } + /> + ); }; diff --git a/plugins/search/src/components/SearchFilter/SearchFilter.tsx b/plugins/search/src/components/SearchFilter/SearchFilter.tsx index 52b03c785b..d9da3c4dbd 100644 --- a/plugins/search/src/components/SearchFilter/SearchFilter.tsx +++ b/plugins/search/src/components/SearchFilter/SearchFilter.tsx @@ -24,15 +24,21 @@ import { Select, MenuItem, FormLabel, + Theme, } from '@material-ui/core'; import { useSearch } from '../SearchContext'; -const useStyles = makeStyles({ +const useStyles = makeStyles((theme: Theme) => ({ label: { textTransform: 'capitalize', }, -}); + filter: { + '& + &': { + marginTop: theme.spacing(2.5), + }, + }, +})); export type Component = { className?: string; @@ -80,7 +86,7 @@ const CheckboxFilter = ({ return ( @@ -138,7 +144,7 @@ const SelectFilter = ({ return ( Date: Fri, 9 Jul 2021 12:19:15 +0200 Subject: [PATCH 102/712] remove component=li from Divider in DefaultResultListItem as it gives a marker pseudo-element (bullet) to the divider Signed-off-by: Emma Indal --- .../components/DefaultResultListItem/DefaultResultListItem.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/search/src/components/DefaultResultListItem/DefaultResultListItem.tsx b/plugins/search/src/components/DefaultResultListItem/DefaultResultListItem.tsx index 8cb560b7e5..ed508aa671 100644 --- a/plugins/search/src/components/DefaultResultListItem/DefaultResultListItem.tsx +++ b/plugins/search/src/components/DefaultResultListItem/DefaultResultListItem.tsx @@ -33,7 +33,7 @@ export const DefaultResultListItem = ({ result }: Props) => { secondary={result.text} /> - + ); }; From 70fe17ce6cd04fb4dfc37cc0eb850aa5d812355b Mon Sep 17 00:00:00 2001 From: Emma Indal Date: Fri, 9 Jul 2021 12:20:04 +0200 Subject: [PATCH 103/712] export SearchContext to be able to use in storybook as SearchContextProvider requires searchApiRef Signed-off-by: Emma Indal --- .../search/src/components/SearchContext/SearchContext.tsx | 4 +++- plugins/search/src/components/SearchContext/index.tsx | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/plugins/search/src/components/SearchContext/SearchContext.tsx b/plugins/search/src/components/SearchContext/SearchContext.tsx index eee72d9fc5..619471d490 100644 --- a/plugins/search/src/components/SearchContext/SearchContext.tsx +++ b/plugins/search/src/components/SearchContext/SearchContext.tsx @@ -45,7 +45,9 @@ type SettableSearchContext = Omit< 'result' | 'setTerm' | 'setTypes' | 'setFilters' | 'setPageCursor' >; -const SearchContext = createContext(undefined); +export const SearchContext = createContext( + undefined, +); export const SearchContextProvider = ({ initialState = { diff --git a/plugins/search/src/components/SearchContext/index.tsx b/plugins/search/src/components/SearchContext/index.tsx index 895e66a9e5..682ade916f 100644 --- a/plugins/search/src/components/SearchContext/index.tsx +++ b/plugins/search/src/components/SearchContext/index.tsx @@ -14,4 +14,8 @@ * limitations under the License. */ -export { SearchContextProvider, useSearch } from './SearchContext'; +export { + SearchContextProvider, + SearchContext, + useSearch, +} from './SearchContext'; From c47bb87c39d06c8bb4fc4c17d71e78f681490a3e Mon Sep 17 00:00:00 2001 From: Emma Indal Date: Fri, 9 Jul 2021 12:21:19 +0200 Subject: [PATCH 104/712] add stories to storybook for reusable search components Signed-off-by: Emma Indal --- .../DefaultResultListItem.stories.tsx | 43 +++++++++ .../SearchBar/SearchBar.stories.tsx | 45 +++++++++ .../SearchFilter/SearchFilter.stories.tsx | 69 ++++++++++++++ .../SearchResult/SearchResult.stories.tsx | 95 +++++++++++++++++++ 4 files changed, 252 insertions(+) create mode 100644 plugins/search/src/components/DefaultResultListItem/DefaultResultListItem.stories.tsx create mode 100644 plugins/search/src/components/SearchBar/SearchBar.stories.tsx create mode 100644 plugins/search/src/components/SearchFilter/SearchFilter.stories.tsx create mode 100644 plugins/search/src/components/SearchResult/SearchResult.stories.tsx diff --git a/plugins/search/src/components/DefaultResultListItem/DefaultResultListItem.stories.tsx b/plugins/search/src/components/DefaultResultListItem/DefaultResultListItem.stories.tsx new file mode 100644 index 0000000000..34436f9f93 --- /dev/null +++ b/plugins/search/src/components/DefaultResultListItem/DefaultResultListItem.stories.tsx @@ -0,0 +1,43 @@ +/* + * Copyright 2021 Spotify AB + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import React from 'react'; +import { Grid } from '@material-ui/core'; +import { DefaultResultListItem } from '../index'; +import { MemoryRouter } from 'react-router'; + +export default { + title: 'Plugins/Search/DefaultResultListItem', + component: DefaultResultListItem, +}; + +export const Default = () => { + return ( + + + + + + + + ); +}; diff --git a/plugins/search/src/components/SearchBar/SearchBar.stories.tsx b/plugins/search/src/components/SearchBar/SearchBar.stories.tsx new file mode 100644 index 0000000000..16da352ece --- /dev/null +++ b/plugins/search/src/components/SearchBar/SearchBar.stories.tsx @@ -0,0 +1,45 @@ +/* + * Copyright 2021 Spotify AB + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import React from 'react'; +import { Grid } from '@material-ui/core'; +import { SearchBar, SearchContext } from '../index'; +import { MemoryRouter } from 'react-router'; + +export default { + title: 'Plugins/Search/SearchBar', + component: SearchBar, +}; + +const defaultValue = { + term: '', + setTerm: () => {}, +}; + +export const Default = () => { + return ( + + {/* @ts-ignore (defaultValue requires more than what is used here) */} + + + + + + + + + ); +}; diff --git a/plugins/search/src/components/SearchFilter/SearchFilter.stories.tsx b/plugins/search/src/components/SearchFilter/SearchFilter.stories.tsx new file mode 100644 index 0000000000..190856fca8 --- /dev/null +++ b/plugins/search/src/components/SearchFilter/SearchFilter.stories.tsx @@ -0,0 +1,69 @@ +/* + * Copyright 2021 Spotify AB + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import React from 'react'; +import { Grid, Paper } from '@material-ui/core'; +import { SearchFilter, SearchContext } from '../index'; +import { MemoryRouter } from 'react-router'; + +export default { + title: 'Plugins/Search/SearchFilter', + component: SearchFilter, +}; + +const defaultValue = { + filters: {}, +}; + +export const CheckBoxFilter = () => { + return ( + + {/* @ts-ignore (defaultValue requires more than what is used here) */} + + + + + + + + + + + ); +}; + +export const SelectFilter = () => { + return ( + + {/* @ts-ignore (defaultValue requires more than what is used here) */} + + + + + + + + + + + ); +}; diff --git a/plugins/search/src/components/SearchResult/SearchResult.stories.tsx b/plugins/search/src/components/SearchResult/SearchResult.stories.tsx new file mode 100644 index 0000000000..bf83b8b1ad --- /dev/null +++ b/plugins/search/src/components/SearchResult/SearchResult.stories.tsx @@ -0,0 +1,95 @@ +/* + * Copyright 2021 Spotify AB + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import React from 'react'; +import { List, Link, ListItem } from '@material-ui/core'; +import { SearchResult, SearchContext, DefaultResultListItem } from '../index'; +import { MemoryRouter } from 'react-router'; + +export default { + title: 'Plugins/Search/SearchResult', + component: SearchResult, +}; + +const defaultValue = { + result: { + loading: false, + error: '', + value: { + results: [ + { + type: 'custom-result-item', + document: { + location: 'search/search-result-1', + title: 'Search Result 1', + text: 'some text from the search result', + }, + }, + { + type: 'no-custom-result-item', + document: { + location: 'search/search-result-2', + title: 'Search Result 2', + text: 'some text from the search result', + }, + }, + { + type: 'no-custom-result-item', + document: { + location: 'search/search-result-3', + title: 'Search Result 3', + text: 'some text from the search result', + }, + }, + ], + }, + }, +}; + +export const Default = () => { + return ( + + {/* @ts-ignore (defaultValue requires more than what is used here) */} + + + {({ results }) => ( + + {results.map(({ type, document }) => { + switch (type) { + case 'custom-result-item': + return ( + + ); + default: + return ( + + + {document.title} - {document.text} + + + ); + } + })} + + )} + + + + ); +}; From c31fd98a4f9f321d496943093ad5587e067f5f6c Mon Sep 17 00:00:00 2001 From: Emma Indal Date: Fri, 9 Jul 2021 15:15:20 +0200 Subject: [PATCH 105/712] remove changes to components Signed-off-by: Emma Indal --- .../app/src/components/search/SearchPage.tsx | 14 +++- .../SearchBar/SearchBar.stories.tsx | 6 +- .../src/components/SearchBar/SearchBar.tsx | 64 +++++++------------ .../components/SearchFilter/SearchFilter.tsx | 14 ++-- 4 files changed, 45 insertions(+), 53 deletions(-) diff --git a/packages/app/src/components/search/SearchPage.tsx b/packages/app/src/components/search/SearchPage.tsx index 2818351f41..37717ed158 100644 --- a/packages/app/src/components/search/SearchPage.tsx +++ b/packages/app/src/components/search/SearchPage.tsx @@ -30,6 +30,14 @@ import { DocsResultListItem } from '@backstage/plugin-techdocs'; import { SearchResultSet } from '@backstage/search-common'; const useStyles = makeStyles((theme: Theme) => ({ + bar: { + padding: theme.spacing(1, 0), + }, + filter: { + '& + &': { + marginTop: theme.spacing(2.5), + }, + }, filters: { padding: theme.spacing(2), }, @@ -97,7 +105,9 @@ const SearchPage = () => { - + + + @@ -107,10 +117,12 @@ const SearchPage = () => { defaultValue="software-catalog" /> diff --git a/plugins/search/src/components/SearchBar/SearchBar.stories.tsx b/plugins/search/src/components/SearchBar/SearchBar.stories.tsx index 16da352ece..fa2ba0d94e 100644 --- a/plugins/search/src/components/SearchBar/SearchBar.stories.tsx +++ b/plugins/search/src/components/SearchBar/SearchBar.stories.tsx @@ -15,7 +15,7 @@ */ import React from 'react'; -import { Grid } from '@material-ui/core'; +import { Paper, Grid } from '@material-ui/core'; import { SearchBar, SearchContext } from '../index'; import { MemoryRouter } from 'react-router'; @@ -36,7 +36,9 @@ export const Default = () => { - + + + diff --git a/plugins/search/src/components/SearchBar/SearchBar.tsx b/plugins/search/src/components/SearchBar/SearchBar.tsx index e011dcbfec..a1db818488 100644 --- a/plugins/search/src/components/SearchBar/SearchBar.tsx +++ b/plugins/search/src/components/SearchBar/SearchBar.tsx @@ -16,14 +16,7 @@ import React, { ChangeEvent, useState } from 'react'; import { useDebounce } from 'react-use'; -import { - Paper, - InputBase, - InputAdornment, - IconButton, - Theme, - makeStyles, -} from '@material-ui/core'; +import { InputBase, InputAdornment, IconButton } from '@material-ui/core'; import SearchIcon from '@material-ui/icons/Search'; import ClearButton from '@material-ui/icons/Clear'; @@ -34,14 +27,7 @@ type Props = { debounceTime?: number; }; -const useStyles = makeStyles((theme: Theme) => ({ - searchBar: { - padding: theme.spacing(1, 0), - }, -})); - export const SearchBar = ({ className, debounceTime = 0 }: Props) => { - const classes = useStyles(); const { term, setTerm } = useSearch(); const [value, setValue] = useState(term); @@ -54,30 +40,28 @@ export const SearchBar = ({ className, debounceTime = 0 }: Props) => { const handleClear = () => setValue(''); return ( - - - - - - - } - endAdornment={ - - - - - - } - /> - + + + + + + } + endAdornment={ + + + + + + } + /> ); }; diff --git a/plugins/search/src/components/SearchFilter/SearchFilter.tsx b/plugins/search/src/components/SearchFilter/SearchFilter.tsx index d9da3c4dbd..52b03c785b 100644 --- a/plugins/search/src/components/SearchFilter/SearchFilter.tsx +++ b/plugins/search/src/components/SearchFilter/SearchFilter.tsx @@ -24,21 +24,15 @@ import { Select, MenuItem, FormLabel, - Theme, } from '@material-ui/core'; import { useSearch } from '../SearchContext'; -const useStyles = makeStyles((theme: Theme) => ({ +const useStyles = makeStyles({ label: { textTransform: 'capitalize', }, - filter: { - '& + &': { - marginTop: theme.spacing(2.5), - }, - }, -})); +}); export type Component = { className?: string; @@ -86,7 +80,7 @@ const CheckboxFilter = ({ return ( @@ -144,7 +138,7 @@ const SelectFilter = ({ return ( Date: Mon, 2 Aug 2021 14:23:43 +0200 Subject: [PATCH 106/712] chore; fixing up the search stuff Signed-off-by: blam --- packages/app/src/components/search/SearchPage.tsx | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/app/src/components/search/SearchPage.tsx b/packages/app/src/components/search/SearchPage.tsx index 37717ed158..cf4e610b80 100644 --- a/packages/app/src/components/search/SearchPage.tsx +++ b/packages/app/src/components/search/SearchPage.tsx @@ -41,9 +41,6 @@ const useStyles = makeStyles((theme: Theme) => ({ filters: { padding: theme.spacing(2), }, - filter: { - marginTop: theme.spacing(2.5), - }, })); // TODO: Move this into the search plugin once pagination is natively supported. From b0e8a24217545a266f9ec4314027bf320f10a911 Mon Sep 17 00:00:00 2001 From: blam Date: Mon, 2 Aug 2021 14:28:38 +0200 Subject: [PATCH 107/712] chore: updating search report\ Signed-off-by: blam --- plugins/search/api-report.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/search/api-report.md b/plugins/search/api-report.md index 525136713d..e3075a448d 100644 --- a/plugins/search/api-report.md +++ b/plugins/search/api-report.md @@ -167,7 +167,7 @@ export const useSearch: () => SearchContextValue; // Warnings were encountered during analysis: // -// src/components/SearchContext/SearchContext.d.ts:18:5 - (ae-forgotten-export) The symbol "SettableSearchContext" needs to be exported by the entry point index.d.ts +// src/components/SearchContext/SearchContext.d.ts:19:5 - (ae-forgotten-export) The symbol "SettableSearchContext" needs to be exported by the entry point index.d.ts // src/components/SearchFilter/SearchFilter.d.ts:13:5 - (ae-forgotten-export) The symbol "Props" needs to be exported by the entry point index.d.ts // src/components/SearchFilter/SearchFilter.d.ts:14:5 - (ae-forgotten-export) The symbol "Component" needs to be exported by the entry point index.d.ts From f6f664357ddac237df07e7b94406115c4098cdce Mon Sep 17 00:00:00 2001 From: Niklas Granander Date: Fri, 30 Jul 2021 16:00:18 +0200 Subject: [PATCH 108/712] Add changeset Signed-off-by: Niklas Granander --- .changeset/great-cherries-fly.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/great-cherries-fly.md diff --git a/.changeset/great-cherries-fly.md b/.changeset/great-cherries-fly.md new file mode 100644 index 0000000000..3480acd7be --- /dev/null +++ b/.changeset/great-cherries-fly.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-xcmetrics': patch +--- + +New page for browsing all builds with filtering and pagination capabilities From 3c50ff56203171ff9e4af622f3f1b56aac66236d Mon Sep 17 00:00:00 2001 From: Aurelio Saraiva Date: Mon, 2 Aug 2021 10:51:46 -0300 Subject: [PATCH 109/712] fixed bug on when compared in organzation name on github Signed-off-by: Aurelio Saraiva --- .changeset/purple-rocks-explode.md | 5 +++ .../github/GithubCredentialsProvider.test.ts | 31 +++++++++++++++++++ .../src/github/GithubCredentialsProvider.ts | 2 +- 3 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 .changeset/purple-rocks-explode.md diff --git a/.changeset/purple-rocks-explode.md b/.changeset/purple-rocks-explode.md new file mode 100644 index 0000000000..4969a42a6b --- /dev/null +++ b/.changeset/purple-rocks-explode.md @@ -0,0 +1,5 @@ +--- +'@backstage/integration': patch +--- + +Fixed bug on when compared in organzation name on github diff --git a/packages/integration/src/github/GithubCredentialsProvider.test.ts b/packages/integration/src/github/GithubCredentialsProvider.test.ts index 85df1bb4e1..47678ddb89 100644 --- a/packages/integration/src/github/GithubCredentialsProvider.test.ts +++ b/packages/integration/src/github/GithubCredentialsProvider.test.ts @@ -254,4 +254,35 @@ describe('GithubCredentialsProvider tests', () => { }), ).resolves.toEqual({ headers: undefined, token: undefined, type: 'token' }); }); + + it('should to create a token for the organization ignoring case sensitive', async () => { + octokit.apps.listInstallations.mockResolvedValue({ + headers: { + etag: '123', + }, + data: [ + { + id: 1, + repository_selection: 'all', + account: { + login: 'BACKSTAGE', + }, + }, + ], + } as RestEndpointMethodTypes['apps']['listInstallations']['response']); + + octokit.apps.createInstallationAccessToken.mockResolvedValueOnce({ + data: { + expires_at: DateTime.local().plus({ hour: 1 }).toString(), + token: 'secret_token', + }, + } as RestEndpointMethodTypes['apps']['createInstallationAccessToken']['response']); + + const { token, headers } = await github.getCredentials({ + url: 'https://github.com/backstage', + }); + + expect(headers).toEqual({ Authorization: 'Bearer secret_token' }); + expect(token).toEqual('secret_token'); + }); }); diff --git a/packages/integration/src/github/GithubCredentialsProvider.ts b/packages/integration/src/github/GithubCredentialsProvider.ts index 899b233195..36cb0ef14d 100644 --- a/packages/integration/src/github/GithubCredentialsProvider.ts +++ b/packages/integration/src/github/GithubCredentialsProvider.ts @@ -129,7 +129,7 @@ class GithubAppManager { private async getInstallationData(owner: string): Promise { const allInstallations = await this.getInstallations(); const installation = allInstallations.find( - inst => inst.account?.login === owner, + inst => inst.account?.login.toLowerCase() === owner.toLowerCase(), ); if (installation) { return { From 7406dee6345c3122dc1e9812214ab2804d84558d Mon Sep 17 00:00:00 2001 From: ImgBotApp Date: Mon, 2 Aug 2021 14:59:29 +0000 Subject: [PATCH 110/712] [ImgBot] Optimize images /plugins/xcmetrics/docs/XCMetrics-overview.png -- 869.46kb -> 523.71kb (39.77%) Signed-off-by: ImgBotApp --- plugins/xcmetrics/docs/XCMetrics-overview.png | Bin 890329 -> 536274 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/plugins/xcmetrics/docs/XCMetrics-overview.png b/plugins/xcmetrics/docs/XCMetrics-overview.png index 6b95de3aa1804fa5d67e4c347c5e4bb45d0ee8b1..764bfa983602ffd8b8548a43e0b22f205eb30e6e 100644 GIT binary patch literal 536274 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
;%&I{3iJ0_h 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

rHE3efEjAd)oG&;re*{fZzoD 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

+Y1r|PqbE&;1s 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 z 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

i^;V!3TjDS(B40pN#O)k@9P+nlU##4a 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

H3; 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%0D!;rMWp#;#O)IyDTM1wX%6$Q1 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

F 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 H(og>d2W$0c literal 880719 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�+JfD84mO=zaKVWXyIqe&%$7dq^Jm zc{iRrnyYv_Crx{}Mzzv?9FAHEkgob$c@{li-f6^zZ5TpKGo&!Al;@5Uxoah09lWV$ z$Z<+8AHHx4UQa_Doq}(;YkHg#LQ*aNq;PmMR?7Xvzt`iz-s;fz2=`(+{T=H`xvc82$C+L2f=ctRX*4M)525Qq2h4e>g1ZGQno#JhIIXx#R_9xS%jJt z{Bd|c4BbwPeH}FJ3P~dJ(;=p8;NmDx-;aA9!zXQC{vA4wL{H+{0hE=O8BgR(z-?@J zyIW5E-o*=8lk!n++8uu6`G-3ywE^e+OUX}rr-3F-F7gZdi@P*u@Q5p`a)j-6MfItX$+ig0F+;K{lI3-8r->T z#cNzw2b_t;waW6Z?FHqv4JbFyZ;`zml>Ove$B({lSFR;6!GXlf&@f}oLy+0q1m(GL zfsOPgtoAuc1mjM0qVn4$qoni*)=yuqbinnxX57B1`$PxiDKj-r{|*?_FWVTG^KA4l zSf08RyTQV=z0c80Dm<1+<@~iN>IG;V2lKOc)uzRQyCcjRhhzKgyq;EeCA$C|;-R-_2kSUazhyh(K8+M=}9$2oZ! zy1?FS{HLG7N0Dy&g{h_#Xo4-KPg11OV)jyPBDj+gLqj_Ea*Fug{x4GcDsTb15zk;b z7YSm|gJ#Q~YRk1^7mMiJdBwJv_EgVr?1&8h-3_N_zB6_nSDq-wJ=iYeE6}IA=fM(ba!xUsH>DCE3Nr!bk2#rvk|qCg|Dj?3c7y`jZ%z z9caH3)J#5y$8pu4u{52mDapnIROe~=|LG!kMb8jN-Jx4y6eItI>Q02PWowy9lC?YnFsknvwBdZO226B2npbL)a2 z2UrG18HkZ0%v$B=6m)NvQipT=TGS<;VN)wL>`APVZCmHph#^49Gi;85;v$K+d8w&j zynzvH$23HZU6j;U&%F>~D!IUgHkI%4{$`cbvme$BOBvzzWGIS+a%w?$DhqACUC6LBV+P}LTP)6B#6 zUxe`6MK5kZyIFh_X zExgL>)HN@CM@(?nN)nw29@D)i;4H?vF7h#U{YiL!IJXNq5L2?7qp2<4xr6Mb+uy9P zdb`H}F$$ixk-C5t8!Ddgt7mU0I&nGptt?0vUX~%8rEX=ggB^YPSXrzYpZ4lU#e?=1 zt|hZuEhHU)rKhH$RO}PJr{RHTtR(&cLWY(qIgp#$5>Ku82jrZjv65!DAzd|Gn}aYv z!Q77{pfA|-TS{7x6y-2g%`4>b?qXcOL!bJFspA5h24IHePv~K%bN-UU-iM?|%SI{P zwMIF>%`>{IeVY}H21g97zQl|ID;3Bqeat55bzFYQ9~yQ>S(ZHq^)`B>{3~-^N~2VE zf)mMmu%EM>bFH9)nD_Dq<>-Az=2^NSadDBwrwDGkgL#*s24F8bLXg--SF}kxVP&|R z?cDw2`m-=kf)1~DL=xd?BPs%;V@kmlYg%SwJOB{@q}}!e0c4i5hE$>cR;$+ zHu^YrN~K(`x?TqW`Y28W+he_%5-L|LB4^*;$@lZXt{3Ybo~*%&N_RI~H_j zkt%0Bg#^9JIGqz-@)kW6L1^5+Ue~bmYOAX{ZVU%0Mfv0PljyjxzEaitz`CdY4 z#lCF<6bV)#C2g|br}W^n`wHim+qxne&&UI7W^Q63z_JDVd*fRajqZS*%IWSbJ^u$b zjpo=@DZ;*#bOTaZ__BRrUUF-@PsI8b(HTB4lH<;x9x7{<{e0%rp_R(eS=$-T+|JyxI$NzM%KcXFBtUL5LZG22#f48o!;mA6&{C0gf z_v63FH{}+IF}#3LRlup{#N5t|5}w_!yO+aObzK|9?*01fS9W*w3<(b`|bT*ECow z7;LXrz9Xcxhm71Z2Kj>+16wa_`$l>a>MsOj99#LU2t-aohCzXwbmETu8WM*_Qtc6M z5>v>zL|$t{&jH>(E8J%m`G~BP*rktpoT8cU3Px!A>qL&})IL~~D-PXLRAD{%ZrPbu z4|4nEHY=!kq%sR9ou?9&ENEbu_@~P37eCrDfBo3|J%7{gcg+m`xqg^dcG5dLYxr#` zCA^P8f0A)m%Qo=>VD{Q>yX5_5C8%gQN1AKgayt8K^{G7DwPLe$Y4k?3jLKcA)x^VB zyV6h{pmVxIT6>dnGE&CA5kj{js9iP^Ff|>Zu?(A=mGEw(i30`o%||jP3)picR^Ezv z;Dk+Sc!a(-^43U!%IIIc$-;QfBrasJlCcQpp85!+kMW0EB@*y1vhIzsPoz@kuA}}} z!Mt2~vaV$HwTtt&(Qn? z$2((ZlItJ=MYn3zCt27k|C@-02-IpDWt5{`4t|(*y(z%iSTPVY1&eG9yMl3chiGg- zo!mQaIt$}{KrirTzTAFTtIc8AGS2E`kSZVU9WSnU9-2e-zBcxSxMtt7Q(p4O2;$qx zVMK<9Wlv|^Xi*}w4H)6-_tlB;?v=L>L1GxCVW6{({7avRDG<;5uQ3XHo}+#JgN|8L zysoM}2;2(pPK$z}|7;<&vevj>)sVL$((&wgM@l^eD+FwXi z-0D`#peXt)TACK>?|u?`zlw7JG%VG_*g9S-*X{0nHfE&c?KeUCW_MUCGPs3 zr=OUPU3cx~ZoMa8r*|_pjW5=qqrWtFBLdvJZyKztg#WEh@3=;4kfG{bppaF7OYW4lHm4B(lnRv)Qb zyGJ2Qi==FJg1ZN^zM3(>2gvH84Nd!x0?N|y@;sGUld%DMAS+=Xwu9AVJcOe0mqxFJO+Pg2c>4%=3Ti*ew`q?%v&^k$WrEScsE-}Z3V-}8r6@Y? zkL*m}nvt19={m^lwiaiIl|;2p6jHOa_vA%JiBr_f?5B|6X&ue)H$9g0UaE7z_b3l@ zuSx2Tj&JigEMAOHf0&eXKQ*MPc=mkElSlI7Zd0v}^Z{AU1G&%qt4tI6x=csbmALsR z`PLhIZYb^ttTtO?&^*4CrpNv6ma8h%qlwpQXkMqGU%i9udej~oz8>j%<2L^Lv$VRy ziqU*P$d2{r*v*15ZgT+W?W45@LTi`0#&ft_rsR9*+#C5X76BM~U z&h@*p@G8JFBS3QEh|zYpI^^Rct$6W96d9LNnNTo)=QlrTqAbMJ4oBdK^Lx|OejB|+ z?2N24;J?E=K^%i^aWZ`5+Lf{2%U6)DyD3dz_=hW;{uqak2VN$zz4E@$hlE-$3R@DT zWPf=_m};+hZUF{n;qQ0Qn#_xq&0lJOV*I1Yv-^6-_Hy>efIh&p^Ezo;%`Em%kAy5< zwiCbb&!;QHH|zPIqZKCSg0w3-V@bHw3dyFBf2;uK5m;B%Ke3`{I95yo*T5GJ$;Om7 zN0{cgjYL~p8UjlQb*5g+MWJgOWhPh3a}^}nYRdGWOF0ll00bxI;?Xnk*QjiOuYWU>>_!2w9%9KwfPlUc<2ttVjIiS`pJ%>C zOU>IGrqNquhL0c8yNmvz&djllVo0ua{eodl$X0-ou88q(TI^!n2k zp_6R%Q!Jt2Hflli0?)K+^~X`Zs#h#puOb0qdq|4(iqm^W#2v94mA3d|q;+474W(I# zJ@dSgt=Al7@l&CwEP}nadK`V_pwYfnUq?76TnZxFYjt0kGHakvrnxEdpd!c&c|ZnM z2KwvV!p;AO;4Zr(Z651$e$RNLTu-D6aYL6z@|aQecKHi9$iKVvdMJO22lG99L(OsC zRoQ@hldS1pU&}N+9?hY9C;y5tCO`;?GfQ1(Phkj>64HW=GewB2HVQ|--6{ka&gVq zAo?d)>KGrDd4pp?e&!hk9v6aI>1n#W4P$Znv9V87d#>d1?qv9^Jg%(~l~PoFacy=j zHZ_CN)75rhc!=i+8<|nfJ#CQPzvCMfYaVtBdl0IuynHlB_N{oqy3H?=lQOQ`y0yP0?Liu8y+F zQ>`l9C690^E_ERKcSsupoBsgKp&iqADiMRwC6#HwznHE3eoA6AniEU|QKt)*)5oNZ!)1IAs_CEL7FX&e3$t5KB>iE9INM@RveyFNl@I z;H#S*%08n#V~+XV6X^q`$j^g}tpr_dqXwAb9;mP2DRL2QxtN(j`p%iAoXnE_o8!e5m+$qxmC8<8*E#3bLi=NcIUAD9H6i^o z;mDQFGwx;+HaI<++%(FcH^lRcS-7ef<+wJ^1;$#bh@LfEq-x4BL|-;}E-N{W1>@z6 z*Qz`z7SuV`lR&cmm~h39s_;>HALTDcO}x8_EinM7>Hun#W4yef3Lgg5`xL=kA}@yO zx66cc<+W+bXT#WbJH`YXapMym-mN-Er1IxtZEZ1yBFm4^vAg8)%n(h-c>&9=B^%G2 z?4vT3ft3Y_qxuvzOgadr@K+ofCrDNxaF#E)u7Ck;$P&|mYLr8T6ju0Vc@e+2D5^9} zDpL2Y@@M9s%yb`^+;31b%Tnkku7m2JM^SY>yfw4}bdw$kCfJC*2@m_N40Cq#`^3>J zjiK!HY%fhS@3(|<;kQ4=^k(nV@Yq;i3LC=D(xr{wQt#RVXDPNZuKu0q@+7n3rmjSS zZD~_}^jA;Wq~K*qX0A8W#Xl@q8O-}E>Im(?_MZ{D7GZ$sZhh(|sijVe4=SPicif4M zW8jlc+$f9hWjU0;s*QmDc<(%t1u#V5`p-2SWSa}0ZHO7N##9X6jw*o^_**%R=i80v zTs+#d^`&V^4zmTgwag;6>`bsxcdg?H-H@CEf3Jx$GUILVv;=Uk7KXhbiIBgG$>YK! z6jjY90DIH`M=yA3BYTXfgxU}$C7$cP$fp@j)bteIJ3zbG1UW*RK*t;Wjb3qT>v?yE zRXU8FW@s?daU3!$x~ib(Lj><8d!HP(6GeZ zN>ol`q0C)y2=uLZ-`z{6Q9(%I84R`BN~dk+a6A<2&BEk=nEwSm!+HfUOMN1T_T>{P2ov25z1y`0 zicPYp4HN5(X1cSGf*!rG^|!B{C)BaMH4(6v~XjIo@QY9AOWt~Lw&OQL0!S%KdNA( zO=VAI+KNik5Hy1&<5PFM{pce*Tg!>%`Y3GP7DS9s+~ODj8&#rG9G?eO81RV8?xcq= z59hFO0Q6XyuC3BT`66`gs$k4$)oL~EAkwo-ZRK&w9a<^3Ek8)yO5Amq~0bMq$Koh=vraD-1yLzM;6?J_H7XZ(Xs!<-3{M*qBR^nqSkDtHN7MWYQ-6)Lh!{Y-ybk?_V7xSjKys^Tz2#wXN zY=6;tI}hI?1~*|#C8K_V3Gpqb@6W-kKHgHqcOUNQp&^Qqt3k3OU_}L;I>kz>y7enR zCT<2rN#W(n&Y&i;S6aU6cR(D^8jrC!ouuV|a|&G3HP`Yb^k37 zGh5`JqFa_*louoR9Mkw4XYBMxb2qHFYUDylxd!g7VDQKX?j`_D?{Nf1;o>}bVM=P} zL-wZp!CX0fW~FylCM&_fcu*Q|zrcQ@l%jN^`*Jn&9cZ+4wT);6D|DmnIhqZWw-*uGcR6Q^qkOYpXJtX9 zGX@alC`_=X2`9|PGgK|uHA1ihQr_~W+R0OI!vnFCr`>_8>#wj6AddYaGOzEQt((0& zE1Nt=&SjXPmy}m#nrsnngN*9vmsl(FRT?mOa=>z5Hcb2_wJqX0IOzF2EA2t``k%ux z-l==(ryQDl=0469#IaLeutIHDDY+->ke6$SuUJR$ubQmdV&4D~Wjn#MAm~&veC&8C zFc=RH8PC~FIcB{j$ib!-qwbK`MSmoIZ-~wNXK;UE<^Xgq4}NEJ%4X-MnbTb>^$T0F z#wV}$?#LQBZv(0(#c*xkg?Wi(3Zbap#;`A4+5P#S0{hH5_<3kGYVlc^l+YQhKwxB<|>ToqypwZL5TU*mVoFMnB)`2ihYdr~xj?Ov&$E z6(NxaoO7$CR9W>$EIeg}0?k|f+m|7u#}?uAw+#KrpV`Q{3y&G(k#Bj&kw|Qn`;JXB zx+tw7$$nfFOsd#{GnQoGN)RWNNM)75*ztgow~DMTZ#(TrRn~R;@`_ey^Am&M>lX(j zUkdNPur;RTznQ)jPkTNVrAp|BVW*1Os99pMz{!vm554)a$#)m)H?vCf#?x9W6x4nH zE|ED5$82Q1gg#mAFEE-R{gH)LuAZ%GaKUldZ$v4gO2!V)XZVN<>T0A~MMSsz6B+UV z8!qO|By3+IzNn>Ff*A&*<_~hi`y&%Z?px|t-t_x4jY-{n%eq}eEd?mk6z`V7&d(xb z<)7X0_CY03Ykq37X8f^@b!zRLm%rUHO1We?{XUs4`j_Hj7yYQ{-|M2FQ+1iMI=?jT zGKXkEiW@DrPFW0=7O|HW9FEsXJTG=2?_(QPoww4UOlFMM!T(_Kzg7>a!pIpho3+f+ z0EDp}1jS(iu&g?^=rWA=h9R5pf@`eYA*rL2^EEzGJlxIJ;Uhz}|FpK#(KD7j$60aF z+DM4*dOY!>FBC<*8?%7@iKtcCNY|w_C~foD&y1Hc&G?R5Bkrx z1iZRwLH4@7c|i}jz!-G8SMb5`eDsRE77}Lo8tQ7n%8T+0SAO?U9P3XJ9O?0lx}UHf zdyBKHE4PaSADQwLq*;!O|GLd6$%(k^m~cke8)572we|F{7R<9K>VW+`Z!W4jjnjUe zLkGR4O2RK0t>>&$d%#0JOY&6Hjz;&D|N7ceIkd1GqmTC+ARhx1Dg{v~WvZk`QjZ_7 zX}`Ian}s&`N80`m$guq=#`wI3U53-yWlw}JzDxD}4#6X!;y9d$C_j8S?Q^vRwTZTE zBJDFOm{;Y}ar9u(JqF*bqzUM+Ki;-H!9?nCgUlnd`BV3n?W7LLD~f9=XN0o{$T3?M zzbcm6;!pLUA^GVJrls-jJ{2IX_)P}r@mJ!@Lnz0E1kOGpx&b&vL*LKH#BI{3Zs3N- zL(OzJRVD~_qJ7wFT^}x)`I@sd2TZUAaWf268W(vdTLK%kLw?(f9|I?w?}q9)EPuTv z$J7G1hkt7?A1R+{ORi4`Gu{c14HQC%Y&fuK9eqSKih|Kl7qQyEnrvp<(+tOO4b`p7 zk)z<*t9&4-){|GQG>t|`X_y<-(J!s_?_((aV-efI@u~#YaUBNQmn2}GF+ARsl3}zN z>n>k95SoV80W3tCdwtykX>9ayzWkA*n95?HuT0n4beGC?&C2Dcp=?cn!!M;hoOe&r zh&~&t*!GhMRVxk_dG0D6EQ#?su*Y7$>Pdp3gahUa+m^}yRI0+SV!Ww8=IUDROAR#w zMo7Hnv`&N}aUHerOdHTb@oHdxP4%Oz0QoD>BvF=*DIfD*17ywMyhr95LRdAPL`GMQ z#UCrrF#n2$Q%7bdu=erXA*edk&Y1`X?l_H6OPU6M`tLOusYn|73p~Ee_Bq*H=M&{M z4fVIqmy)Ksih0%ql)7bl<}s$rPC61d%_=QcCVDKMHn^tqHr0Ln?zL%RZ6ZJ5A(4HX zI%|=7)qjwN*oYJ_rxj*R<$1=AbjA+hJ{#+}lk%_H_@dYK1?FTKglJkht(%%yON$W?3EuHs|p`TSN7=;$NJhmo0lX<%&-WIiDx_|73+ zR@X$gCodmwF3TfZE~w{5Fd+4Aqy4<|m>%Ka3i;8x$s=(%Ds~+~VX8^Wz=gsHw|ifx zHL&P|pGuhEvld6UlsbK@pQZuAUUGu52s?cD!hud zEd5-(#=~*Q5YB9%un%)n==+_8y0&F!clieYarK|D54{`;=>yG_iuT7lb;n`4TsW;| za6`KSVCenl=bGv@{(Eghl-3^P0!c5eyTC8$yQ8-?nd2aIeP%sqgK%X`c?{4wN3FVHuZyOVZ zMgnVslaZSl2r*QsyRt#oZ~T?w4JKmB(qcwkj#?mVE&nnm?bO$SXpK*Ru`sAF-5KrCIKzCWLxXk>p9O@GlxqM<}~ur_YQqf}>-c zv0n`(|53~wU}g!p-=L}H6d8&;ZSa^p(}l}6Q(R@eoR}$huxmA?oIwl#DmqU8wexp> zRxrC(+!lWJ<%g|MsoU+AHMiHi;q7|z&K+=Y1aqV&Z&aJ|&IQ*66-pVH8`Yl%i|{9A z9uYUR5azzZA9NvFeJE{Jp7M{m#WkHe8TQ-);${Qv6)W1b73<$nCVcWP=?Y~ryk zRUvxHE}u7ffT;bJ8Y?f1^JYVk~<u z3biN+Svb2fk%=$09x8_s!0#>)xB8$xD=C z*jxy7w|=Uu0fS|<$2LMI_TU;!fin^Mx*21PBb#e8vupz&;bZsHfPt|DD)1Znarq6pX zAG!*%-s5|VfsUU@HRW)|Iu_V{!IS={})LoRFukLl}blb zsyWQ2R63zjsmMBsPUdW5hlG$=XXUVwgts!GoMv-u$zh2ca@ZJ#VdwMdyU*`-`~3^o zb=_{)>-Bs-?vJ}UYRu=vd6!FTuFq}RE^4?^QpH@K@sT+4V&p>v1S3xc9Q7~6p#C>% zd`aZ-6&ayMosxZRC9`^%-V)v*HYK*#Lp3cwitptdc>|w|R`{Tm;J?z@K&qLxWWAQ11Ns0ZFtL8t`FZ85F&~+lO+@q5Pt%pWv=b;aaUpiFQa=uE0u& z0t*Ce`e)&UF<7*us;dsdxLQ3#e}{`?xy;sir$iq7ReyFA=g?h>^(9Xclqt>gH|v7~ zE8Cy#7N@o>$F{MD{SmBvW5%&aa$2o9*8G!IRPqwULzKvz=i4QhON{nv{#euhSl{>% zMEa!ryhu`HEdTnpJq1^4U9vgpeQu(eD)88D9q9^xWNh>AXe2qu;s$Uh-~GRa>3-)^ zSWd6l@3QcYl|&V@bgL0cvAJ}S1$;U^wp zFWDMak$&UAlRKuT>9YVD8^+4On2RlnCQ<(Xy4E3h-@R3~j$J-~hLKawmh)>Kjtles zJYgDR2UMOm=-DZf#Q-P25aJQZc#;i(w?UGAYa(miJL=8Cb>Z0C*o%()%Qo+*s8DCJ zQM0UYQ^B!q<}xEyQwc9Fi{SP*nz7^x1CbKh%zcx;{(9dXQ|xfO$EvVU1egh44V;o$d=`G z$W;J{OEvQxvsq3mb$1zx$@Y5brY;YT(r&+?NiMiFHP zC(FLqbXmVD#QRW##P6=o*xJcf5_y?LS@{-mgvs)wP3?loO?yp!b@mDFS=M~)+82X8 z6HVsBE|PuHQTzTOVG_iiSA#jc73ME+yz-C7cWeS)UD9)Yq~OV9oAI@YB*aXHY%Z|( zH0rbSVkR4ToaN@9bUbmlBVfza=_GD@!|TB1_dx3c8?>{7pv~h~OrN;zZbhusVH59K zeAwG08=H7mC%EX=B(*#{n>dr`qvq@45 zjVp^>sj{o>+H!kst+A9z)XWnSg=EUj^2G45hgvRpqF?GjF5o2X>Tqp-ip!)7kq3b5hcb;i-v_m=2&{Yd($2e>m2Guu3+947iF1HPAS2vS*! z?^`n&~F;QAEgZ=zu1201@-cC23Q%J04PgHoEWKjQO+g%Q0w^iuQ7OWP+Z);V-zG-9v) zW@D>0n8rd3q$+X78My|S8Mhd3@jT3zX7k;|&1@dC!Fw+$2Ph~2rWnY6!=ZAS5Dg}{ zgUjj7NXy?V2jrag{J>0RFR@+q^^n8H-TGd4?5(OnMNGn25&34TnN=;Kl_(#kJW1?S zKct*bR>vI83&0rtj5|Z-l*Fj^Z7hZY5{63_zZJz%mr@wmQ`FEy2b-_V)^f$XeVQ)m z3=kvb8DNzjs1_GOH=vwx-8HI=(6Qp*t#YyQ3d9DuGKP5IyPw~N(rR5Gf4D>@7MZ2VV4yNdm2ZH-@uPZpW87m zSP@^Zs54#mqN(YYv4!=54YDx*);2k5Ww6;7tn=vGQ+^8;cJ!cK4~(|A%M#zQUoG2G zA?UFAhFBrFjK65@cxt1A!*Es{`Yn>uCP?pSR&{+tmP-!GKT+d!QddB;kCq*}?*1W- zpvqyRr2W~{Fo^s0dD0<{I^D43zAl_Y96a8s`1j-rby>`<_Y$0&-~Mj+Cx6i2#GU!Y z_HUZTKT!5^r%ot(ZhitG>pB(ZmNYogUgiN)s^KReeoM0KvG7u5BDarvV>+SC8yD3P zSNi5*5+LS%n(4U)dN-FN*^jrfUYGQ8UeZ4XolSZ5oUr;RdR#rOZ}=j}EA`!*dSw97 zObE;7S6ORnX5bLAO7uH#^SVs=p?C7Oz-tx*zXC_XV)j|rps_b)Z_@{EjbNOxB?ruu z;1*YOf_absywVE`103x$xDz|Pt}>_2*t(44Y{=xfSwfC5PyuO(C^EI81$f;Vy6X6~ zh^nIE_v$&D1BZCSusy#r`_gS+k4S=RKBS3ibEV!lHyQpFMHH7m5o(kFV}gghxIKq!63CPKq( zE#sO0;6e4D+%?Ourv!4-cRxWAU^zYxIZ)lv$r=EjTakANrh-_!<0>?3Dm2SCF*&F~ z^L;|a!!wIoE)y2z+F2e&EIR9Vl5y>6Xj}B7)08hjo&8Y3)m~PZ-)h62oGL3E5Fhx+ zT50(W^Oxy4?Eq{Ae5CdgtnA4s%+iYX#{GujWgbx8i7T3w_;cZF75~2rK&6Xy+l$?(Ju2%Q$#q0cc$X4@ z{ep|4yQ*I?lJAAFPk9FJu11>gZyr@&10jyM^3 z3+%=rh0FM*kqpeXIJ@DS@UfQ92ruOILb+FXT$12-wTDdxMQp-?_4v=enS8gbsgAZ@ zp_TeN$GGHHK3Z_SUS2+=sNdT%nInESB?liit^1OLEB|%2HxNb|%RqcQ0Ub$(dYJ?z zv9IJ`N;jNP^ch;xM3XV0Z9R8kC`#-jE&zkA_kzpQ6^`sR&KA`uDc3a zZfkc4FUz>VvHAhpjD37*pR=8Q!lE$LvJN5i(-o@&^p1-$_x>QfXI@NY86PlzjnJw^ zJp;k{wg$sM(OF1dp;HG4m_%k5Vb4WRFbw7`&o``mWXt<)X0{xocUd0UYbibg3Z2!R z9Al;TWx41TDg#Cv;!%_pE)4991SHp>Eqq5zL9$LYGXo&ZpU7X}4)!yuynls$V*C(W zs!WaZ{sXGMd2<7-Fu!MkyinUBju;Y8r`bUKlpAU<2SVwM{5u-nb~xFwBq-7-L{R(t z#r7G`m+wRJsz5(J-?BGo~A&@=?E_qgyF? zjAo!u`UPZ%>X+$Tq_{);J;G&n4C zB2s0jiG28UVcH>=x#&}t@sJ57HzWMR+{?9?7x7*(i((Aa4KVo?`c@N_*QQ%gzlq~k z?VwF`ZT{e;#xmW|Obm$0Agz3DfS7q1V)h><4gSDw!SdgD5i7S_yQ4mqSQN_vs?SRX zd}jLttWZCcBtR(OD#u4!Q&0*kiT$~On84ZgEyh{>_Li1{Cu*9+F!KqNQ}=(&LUulx z&UXei9YFO{qoZuAYoW)X!#QrJT_o~#gtBg+N#HK)Gsd@I^)2q2ce8X1mck6Qn6;nm zNAl;<5sk>LAuVR4(cD4|tJ$XIYtOb)-SZ6Dv4^d#hjKAon$Q&YXZ;M31q@y7#a&Cg zVLdW-c!XrDnzet}!bq~hl)svOW{;kIRqBNeInrRZ4L=&#(gWIGUzZr(5jYVb61nOI zO*Phyd4bc`**<0eDSTQ-1TZ(q=0tNb11_^Z5Tc55E6E{u1NBTkGwMJ4g6i`+fs>Em zM0>Q%6&<{aWjU|##e&R`DP;b4c%)lYJ57BS z;HrKFhhXxIH*2I4)K6MtX!98gt`+SejdQLXpG6Wcn!j(bQ6syi*GHi zH>vMufju{d4nA6Oa1RIR19`cE#LPN;P4XG5ztz5;80Fk(4wxI(j_KE!DX!;d!^~n= z!-jxb3t~R8h2C;w{UK1}tBn49FHz$+>8G~SlslLnqtLDX!gHc#(>>J0Dt;0CiG_kB z*&xfhWH|#YVjk?`oA8^vc*+-+bHK#m<-@9V>E&2QGfN+fRo3J_0Ezy6kM$vK=eZX& zg5431zO7Vw{FE;_FAKDk(6=>gSRt2lhMd+z`jBy=hxfnE0 zD#M`Ow8T5+N3TNMe}Hx!mV`&d-w>*PI+G7ytjhTn&paIZ@F`V&Px{qL^c%&oDxkM>cO%ha7Odo8X#1|7l-J$JFO%21kblXNRP-`@P zlqR!m^G>JbCQq8W!_LG5PkRY%(?7#wHr&~#;pG!hD5bPe4t)I$FQy)QlI@M0SoJi)46T)2M^ornS_+NAXSqQXuU5=+}r~8o90<#_Swe_ZLJKl6=Y9JEDV^cslK@ig#c0_i>cg;C)D9?(z5;EncHum2eqyO(wDdxR z*qAl`KFV<+-}%}?Nol;Yn{o|1b3rGRUfYpv93SStQ~s>B;IPxN5_(y_a$J3+8K$T* zvm$kwvqtyDxc{e|9-Wc?BDaM zM11JieK=n6?{i-Le|b$DVW^9QqSytGIGF)Iy5LbbnQ^P4)yjYRwDr2nE7N*DyVoqA zTi)6uJT$Wpu>5$}gU5b&jQ(uFWr5ZH$+r&8jk;5}-X-INBxK_d=p@3*Xc~a3$HL0*RJucvSug7Y<;Kf)h+V_>$jfB*ZvBR3$M`qLkIrgLQhz$RKJ_tr%FdM6pZo^wmfL8i_ZkB(DIP|{=v;sh}ja? z-o5|a#Doy%TKBkP(wqgh6L!|){>H^R8wtF$tQS)X@|X^DYBB7BzM8FR<)D>H9QK*y zH?h_}6^7_>!3gl{A`zpIqLJ?20Zdfg(4WA|<94c!X(=z{5+Y8~-f`zg?_KLKmW zMYg~89wFrRXix*B1kH8g`13Qj|1#g-#VhjqB3J9bcwturiHx_~)p*|3PNXbbm)MdH zTbu^lm3d0j3%`qB8S?$yTVIE)7Hh>Igw6kGXz2cemETTnz2?%BRUJmg2VJN(s6KG2 zHb?6O(PgabyBX+vf6qUgdtdGBr-`C3KY8tS@4KdLR!nP>WaK6Gj?)0otZX{t?anL5BW3XJvczf$Jg>>C$aaP4H1&hIL*eD{J}9e0t@mA(LUa zQPTbV)x%-elx3JgBkkb`M+6Q-=>bQ<>1^-gCswW(I3hBytI$r0sBH6|fx^;kTJ(m~ zzCWLLzBo4UckyHrNA(Wf$DLkcCwzJ8QPVSw2kH{Z(I)rkRg&%(#JCLZfH{@BKYeZr zXYNP$0OHNuul7un7J<8oE5=3o~}4k+=8Wv4gH0 zdapGGY(x3AS&;d}JT;Wk{6LsAHI~;rQ77sD1ryJr!s-u=Vm_d`_CeXH&8*rR?;cc| zSGU5$?bfVRKC9{o0C8CQyE_TCD=6A6GSPj;uzSP_{F<6S5KQbOM#j2fjIlV*o0Js5 zYGQ=gX4(CEg4yCn`4{W?#ns>lboQ#%gwdTFMzy%kSk>Ms19F zsx{*g7m=18STp#=12dizwH+ETT2mVy4uTz8M%j)BY6W{VmO3j)Naqba005b}4eKJ@ zdN(!P*f%h>L3UUn<0x`v7-&TNR-i#=2QRWzo?I3@(}!IhRpC1})-^No&TwSjecFWj zUEFdN*FCmUx=Z&@yCRSIR8iTN(Z6lKt2X}^FdEUhl5@o~+ z+g3Z59bEL>zx5X7-Cb5=sK)&f zvTM}2D`HCi1|D#WcOO0tve6Z%CZmbunyt|4re$Si} zo8><8FA_7_+D~XqrHNIbb=UjqBc*b*FJaHxfuIcoQ-Q4Z7RyabJYyC^a_Z3mA|E}@ z&-b|SBWAF91!sL!->t>3c|4`g)ix7*z`cU!gBdTkA3{nZJ$y?XSFDgGL z<+&4Ct=^PRHFbgy&J&SCC9J0|4Q+*3A#L9l^vC?+?25n@k_y<2q-^^!`Ru5?`BW0` z@LcfB&V?18nM<<+J`c-puIzG_=HUAjg5SF>#F13@dW$D8XcLFr8LfFi{b?{rCbz?+ z!Pj?mNi7CH?-raLIu$9$Ox7(%J#bYs+MvOn%!<1abH`)t9vKKD|J z|EN-yE$`7tssI`xMKO7kDi{goiEZjyIbq*yhmAPw5VH2$WgNrDFE}(3riXP5iNRhy z=soo0xqAWjoA%2pc}w8Wd*_FH^(xb7BX*geqmra!l=v&1j^&Azf|x2hGS7?8E7Njq z^dL#>3}5%0S$9Fxj!bLS?`%P5gXt?7Lh$ltqs=7Hh3_#c3jt-G#}v8G+Q2E|Boxk^ zlmZ}g?|E26&Vto`2C8O=F)bRUvu^?^2wzVwYtUOIh$e%MtG^x2}fL|9k^Ub5$?(@Sgqb-s04YO?||V;BBO{=)lJs!yU5AwryJBVAi|eQ#8K z%RyB@NGw#D?U}k}Jk{uYSE^6n?=WtuI<6{SrM=UUKhPU)a0>-vtG$E76Qsv-zo-0_$fi~!)Hy{y#C#q(Dng4mcJD-h zNGowU#dHWu{S$-ybvW!fS=o1sEZ1CpgjJO@~#%h3-EaX2ei9pzQ^Y_odwk+92Zo27)< zp|{D#{|fGH@H>~*Mpy^U!Owt=3vZ$tqFSs+W8GAXY!A0-a?~#y%Q&dt&cgeP|IE!R zi;W^OcS@j6x~QiB#5&J3pC>x2Gi>k}R~;+pRG@S>-uA?=L7W;6QKpI* zP-KLYau7Ek=d2V$RXKB!GM`WnG>b{%n$H|p-{t%=uWI_*>Km#Tb8hG2=VuO}Zr$V8 zQ`q49sw4DwyUNS%I}(7>q;j>0`;Kz>FWAlMqGib0^?pEM{O|!#D<*RjI z3GqI@%S8U2o3|%l1NNdb2;qw{Kk}5B{$utbTCRqhb4T4{q)ZvtM1mP{BNNTU z@r&<&B=sH7L9IOc?`3q(#Y}>x+Zc-B*+8Gd4|i$KpK1C~V9~G`_$$2Mo1Ew)ZG@c< z$)k+r6ZZoBtk24UYua2Nfbh^EkY@+WJFr)t0r>1{o zh5vBVf&8yzRb|9WT=*MVM<7P;$4@xPc0zQc&ttYcN##jYjaq<|4|4fKl;Ym7k?y70 z7{8+VN5taL==uX*E?Xdf+rUvN-ajXjQT#(zCTUfQCa;Xf<5#7r0pHtRgjpTCdc!kx ziPc>@`2qeqfOUVGGirhf-fBkM`6~&2Y5DurHXDVDBB+MW368lu0>(@}OV*pI4``v*{k@ORbvjh1k<55cM94 zIy+Z|Nfq2&e1aU%FGZL16O4xAQLP5)*6J8_B}tKIbH>_8XA3}htPwhDT(0_O2FBln zU;gGowf_|8k^-bXOk%H&x&|8a3B6}k@@aXjkiz5v_NLy8lekOo+)g<*$}mA(1fLI* zU4XVdpYMjZthhF7FLtKyII3BqZziEOY&Zoz=6*z5@K3=WX_BV0G)qsj&*2vB#$9h74ZK_oMy&zzIxgtBm6(lc!cMJKg)o@p8Pv1Fei1E(TLC{n#C|qs6+zYCXHL3gbp$8%l5DRIP+`_z88ub_=O@)$tik^z?bk zxvDD%OP65&bMrr^qsKVL-#~6%kpC7hOJ-G%mjI5_ zYq8IUer5^ENuOuV^_}TQR+p9nq6~19;^$AEuh8qp7Sj}xp3z5Z>sq>{>?C_C=8L$! zT4&wx7@PE5d18m8j=wp0{92J<8+=FTJXnx6Zgx*ON8@e4N_(D!TJ$wz|CS8W6&{s8UO;gncK;QACB zw5cLON>q;`cm9y=<0r>h@co7JzaKH*86HB2E!A#aqQ5bWgA>uCVgAuM*4g#2X7;rC zHRt7B`;NW3^o1zh*;5shGYy@+UOx-q&q4R4;rg*J@MM`c&AE@ZNG()N=z&@-6{l%C zD;A#iBX*Vk%)mHsS63-{F;C>-kjq#okbA3Pj}Og+A5SiRo4-<^tmZFNbo68T(DtGN ztw0Sx+sy5RhK}KM8@ysS1aeCyKM9fkX2(>+EZO?!Q%eAeJ|`Gvh?5_x#C{qdS&(pgP97d}Fwot%QYvC!b}+Jk=7(z-a#vsBXkYbL$y-LeY8<0a(#7Sf@+ zl_fpVsBHH?xat8=JiR~FSk=uTLwAi8nJEH1tG#OV5)0WiUo!oDnL*g`i~ zm3nKcia1G(E&m%f;1q0)l%O3pVAaH!9n1Vpx?QjOBBnGd@7W{q2E+!10>J7wf2c`B zH4F3s4O_uuR215}e2Q+R$9$Ot3RwE5A%_3nk88Rp~*M z_}_881B)wt$D6%dhpe9MczULh;?{k4CgCdco7rqgg~QCd{Wp6+knz}w$y{^9*%Mg% zT*hh4fjk80maet(v5nIdee%WWOf_qGjW}DKbFJIh!A^6)cJSU7qmyGMI}SnSETn_P zm&wh`mB&U_b->obw^M}q5>b1ItMBa}>X}tdAcIRc!!So&u&b=RiHM1#`>4H% z{YP7R7DoxJL$@A{PKicNoC)XVeeAMs9o}tK1MD_@z9Z1Sa<3U4j|*)8GVZc*%0Jli z`vEEt_^8g2>x{*}*%phI%z=$sj_Q8K0aZx3%OQ+x7yJ5OT{@1HNjiy(q-)nifbiy5$ z6>YVVck?0mbEX01?tH7N`*F)dJ%YsxoQS&qZsYMx&!o_ouwl-Uv#5_fNB((be||ah zEwWRF-0U+I$|ka%2JHu*DQ5wb``N3ub;UQ;*t@#$va#EA7x?z7$i-S|1uAYD&ePO|defl-U4mi*m% zwGArI=0})kW|X4Wr0wF6XtMSxT!xGf%_h)I-}4%xo#uqaB~1s`^C}V;ZuGg|_X+G$b*`#!I+vfbFJIFTit2=FrdYoO)fPkqGj$zA*U|JTsq(Kc ztUa;HOZF^xbjx&7+2cpi;ML!3t$vwLa#S;z8I;&}MZrpD!v%cP*JSw!+-Qn@Q|rK5 zV;I@SQa@cPAblfS7~toTdk^?;``y3DweRM@1M>u$sWRp2osSnqB7^6e27qf{)h0!T zIX&_yIUT!_vcY^V*_j!JOKAk|I~URi9`9^L1t#m zr`taLC5OatH_0 z{CWk3f7I*W%(dWiS61C8O?{yzd6YfatK^uz&&+_Rx~?7%PBGJ4ZLx*S6Grd7?}C9I+&+xWF=muK zeBX(e$;-}e`!n$zRVl=2m>WkkmnTHj)mQ;o?1&dH8PeC9-WvZ%&1bwkReIzJ!e!okapI*+&v7 zQ7ple)nI85KaPg+uJ_}(9<9Eh3HZqE_8J2!vPfbKvU3PlyFwGD$1!bM7*l?{o?ZA> zv?+aJbi&!6`uKXMkr2yrd7_d@TxuRszG__9sMqfldwz7?->>+~e)+2DJz(}5o}{u> zk-r!~_WDa#d#s-s8saUWIDuLneR5^K)?PCm z9*G~Fy`y%)E9kaqZ#-WN_S{mZ{{U?vtg8$4KX4t4h?|(QIbjq({*8^Q_zx*H`DR(m zeDc;(N&XNc*-a_t9jwnbGF6>Oyri=^;iiks<-sTkm9!-Ng_n5Lh0Yze3`V)E%;rX2 zlPepra!U-Vr-zbBVN#Vk+jV4T>TCTM`UdY7jy`kTXd0IW;|~c&5dA!R-a0F<7)yF5 zY;MID`e@Dv;xzFiAq_|Qi1ctbch_t%knUi9v$z_qiLTi;?9dxv!_OFQ()yB}EvhiF z3$Io_6C@d%Q`};!(uCu9o`bPxL&8mB$!wR$J#l{d@6OaL*l!y!PjKQ|)mJZH`bF$9 zi~S+)9ImEG=}l2h+d!34bIo6E^)o*lEzkpT%$Gyr2sbYHx5E&QG_Ct?1UY4p1{n?k zM20{CD@te9Yx8-&IWb^(jzN-qE{4A;`oJIiFEPe-q`?PHoc`GrDrbI6JcjC%5*4dl z6IQqy%c*ivE+Vvr9}*HLwjvq}^a#33*X1Zq%jBfLz*o$y=dyzG@i`R^40mc0r0qQ% zz=|!dV1Cv3Adjl_FA1~8Gf*E(Ad^`MN-*zNNBM$0A!oOtJ8+lVq^BxmZnylQa4q^@ zD44?pG3!bws`@$m^40kJ&J(FEpWxZd_@6JGH%w_G2SxN9Ag+H?)V1TVIbpcIr@Ihd z=oR(Bc6lY96GK?lKMMK@m@bC$N$t z##9kJ1+baexjnpxhNr>902@!1V9e2I%t3yzIOLg=7D#HTX#L9QHNtP8wPcYVTgksT z={t{}c#xY083a0eXhsy*2P5(6@rztr*&l$;0I^4oE55tG)JpiZO1LO=__vMo z3N=W6psB5kvpqdwu)0vyQaqb0J3YKcHk?ZU#W+wGGg7Lla+N<0pYbar~MBe20HNCWMu#dt#eGX1H;O0a6 zoJAXuM59YdD$&nnP>F9pOpa3m6v4tcJ|inOmjRt$;Z{>Jru@fVPK&+LQ}tTx&}~!y zS&wGY9OrT_ckC-4t^x_#5Cq*ls?j7v%4tjUU?0*|l(lCUP#F>1Z9D=L#qUbDrKuya zi<%SvgQyFVpszK0*rJ}->fs`GHgB8fgkBEX&hn)}C8Xn?pJ^4dfQA$HE?w^UWF!JT z#EvqzP1hGUGT&WRR%8tV0$o;+!oL#w*ZF; zj}luUCGKPr!)O~6!GCfIrL8Vg9L3<}Aq>on!J3D!1-lpJQqCm8KOV-kDU>2mRlUUH zr+&Qr^H>^rJXvkdtHot8Lk0v9u5quPO9Wa7C32(qDL@rYGQLV@H+`L3sXF1uo=)@h zHSdU|(sSEok07c=ULy%`Az?OK;p2akVr->M9Ku-j%61?}lb(c8Jp3IJp^f*Pok>sY znC*_|BQoenmJ9jhhI_GV2@`L`O|hyfimH(cQ@$r}meHUPOac7FC=W!#AU?$AbQ16a zd!5$Rde>Wp(jT+Vx9OZltzPIKRLwJnV1%(z8N9J~(z<%fGH=LqPSCvX_+ZaL%~=Ur zV~L!B;R|_g6f+>!m)=`bqMr0Csy1_xZ^G%X>{R87z7moJ#jxcpZ}r+LF+nliK#;!{ ztk8J%Ruj6isuY&!R@TEy4jW;!BOBj|OLuPHs4sbaW09fsqr0C&e=g&@Kzl71#hzxA z)D3J;C-N^)xE}e@=n9$v2fkpAZc=@lb)Ir25OE1{OkT`%EIrv$5)i^9p~sn+4H76J zqp6XG>}FK}xL(*js8j-Y+8!~TgK703!_VSD|3Rtb_X@kvMEcAh&MAZo@q*8oGl9df z(LzmZG5^MYAxX;Pdi~!Q6xkDLaG|-Vw#|%`9znt!Fk)z1k)(s^N`hQ-8{Tcsi$-hn zE!YYmeN(6QkqW?TgMSD%bE?Ldl8##zQ453clnEbJ*EGc!lRcCdJyTV$DOG~XHD6|L zJ1N3m<>PK@HWFo|9|AvN`(KzATgjz}k1x}*Fh-y7m2ih@E+faGkAAqLkXUn#?twFShoi_?k&)U&U2I<2zXA|_fPK9FC>qOEt<}^nMMaGY<_LQA zrXL=)G8}xW!jn~+7{VZBoK(Z6(FT;W1$%!^krVrGn^ysj2Jf%RcpTwSbN=-}LSwZ4;$ONZK`4CJZT(F3+Uot5 zeL9QkVFgq}ILd!wJgQl~ou~{-kr-&TuHnH0TZ+ z6RjiAEa)R$_*Qy=Ry(7(WxPs#aGn*fiqzB{;@KH%a)P3z*Naleu!Y96;mh1QriY8O zCWFfm*N*0GHJ5W|?|1flxEqRFi0D1Ohw{~$`&dOFk6^w1V}T~Qs%K5MnGsFz>%?|# z80_bsh=D6pkVYW}QXFS|pL_V=dwB|TIQinz)6*J`;CmK-%f2W~PQbS!TL;jSxWqj? zxCk~p$T0h{FJ00@X_!oEKb72)+x?uco!Q*|yxJMQ{}CGuE&7G%LcF=ZO?--rM6ZAg zX}xWjjp%}z)FE5DzYz4d%skh3aWuvCdI!@{6UwtaqjMoH$3NCnTpf0P2h}bq-|Ih^ zP8B-&A2>}S`YMJfXIt=dE3SoR(JE|N$Z`CB!$-lO1a45V)OPaPB?$EbV1N<59{9Hr z0Pt-Tbgms^_gk9ES480N54>pJ!R)g4a@`G(b?`xX65DCZs}pKFyd4> zWUCPQPjS26YyADvF`tddpAUb0Ek!3fkA-Di9H2L`DJ1D1SroYc_~TU~&f_6QELPyR znzcwpUcA`JSNDutz0&SCIiEDF83ds7;jVaqE5=Ti^EQmo-jb}aE&U1(4oqQ1pnQ0T z0ESh4W3pjS?JRm`dh%}pWd?W3b-Ts7TU)`j-Fqv`G7Pcr+<`QY#vNFycqg>hVPKJF zY01ju6)rnbYbXWu$udGbGFYeKRI>-6_KdJ~Wl2(9sejEPx5iVHEb_t8H|9Ua(cX;M z_QT8dG3LRAO_ABRaunOiK|jYM$K<%f8q-bYuJwdx0+iM3-1!ImDzKu#)TJa^wYn!D zM+TbashWcA9;|ZB2g+CWBdsn2sa^J1_nig{QEE?MNI+<9;MCjWn!Dec&-9VfuFpmq zkDpo)R`{MmQYe?!-P|zxt3tSH^M}cdn3psO`}Y2hmFVF=bZ*XUMmQ?y+nNQm zyHi4yAb|>$RgQM%FF97DANB240@nKo*J%`93HB;($q4-7|ifO+x>AgF;_QDqbr&N@rQ?}ESVhD z%}A-!Lh$C#(^TO*Rtih;pqYIKVk*pM+e>!Vei9Tp~%fC8_7-okwtr zo#bNjap^V1{9Ov^8C4fzw|<8f05Xuj$K;c9j#Jtf9y1$_H+NTEBlo47?H>KRFE#F! zo6z$@`puZd7@-1OQ%zZoe)=nb%?53^?cqr4cZgD!xXS^o$G4qe4&HX&Yat7`qn_4& z(y`~FQxVfuA$@`9gx3R)Af6{l)u14ky5Mu<_vx=sj0i$1JH9RmOsIBivK& zkMwt79{+2MUcVaKV>5b4gpgevw%aI6ZRA)Uv-%erxL_}|R8eDoHO%#2dwJqr5<$4T zI&@Fs8|PgA&TuGdvxK6|*OubZHGe>tk=AK8r|$i1&RDd4mDJYMckyD%`AhV?lBxR( z23QV9ZK4|CSva(9$kdxNB6*fn7oXTX+Of>avD<|6sfY5s&>Zz@W9I>0D&yGQz?{bhowV*}bw8^dnwdj`W$xW4zxcmw9F{Dp(DauF8tpaYXcK~0zcU9{;A zSlDJ?puz75l>+%{23$GKB&u2Re@WBE%*~s$gXT(qWv1B~NmL;A4s4kF!-n4*Ly{i0 zop-+$vB7%zQtMfH8f>A=3cGIs5{14E#K?L={J74d*j6{cS5MqFPCl^}PiC0W@Kq4W z#bbEVlr@$&40kpr4;YdMTQP+xEW`_cP-V;R;U$-4*7@&DxF?NO7Q8zYmgClwvmdIb zy@Sx+UZzLIenjc%`{$TIvK$|iY%6h}a`__Xn$@1=qf>uiUek}a>8Z|~fF?m{R68PK zKAOb@1L&(R*ga7B3C;{d$X{4pr1!~qf6v4`LH5t!OX&|cO(`uY4==p}9V-$9jdv_RcgBC$ zUC{VG8w`Wen;}hZ4wGYB|03iS3zBjw?D8v{>IGDXNwrXyc#beh+Jpy97i)McT&S<4 zwdBFFQ-9F?NC~syenRXRkLH9bJawzVW5fsY%OoVIUWpU@RhsV5G+*cUb|OyVNkH_e zO`ZM&cfs=RMRhI$PgA7AQkp11}9K^81&6Xc-vGP&fm^I#mGH0miv2<;}oUoHJ z273TD{sKma{-ql6eaPcs=q05L3^kU_zKH%&^JvuM79vwDZYeS~U6t;JD+{Kn&_cKnvQ@{mzXiFs0X3#O+33wKY)e)^ZrtgB?5A zR}Y^dCKvMJsMjbP*Htak8u`pQkqk;+w)xM-=;eDZ5+5^Xum7;;>l!<{YEq&oU?11+ zd>D?TY?V2!*<#f-$jBgXD;*>v0jD72FG!tJpiLSs6R3(*NxmN})NCV1v@`Dd^o@Dc z5cU~(!Gy{-_^26Cb%Fn@O75PntyBT&7SN4oJtEXzm!S&S#-!?B_yrwyYbQcHQCtyDV;V1_7Q*$bMC$vMfqQ_5N=4+*JxMn zZWOCx($B#26CP~_N!-KrrAN89PEqtnr*d%I^jgz}t^2uVDS0!9YmMdn^o;O_F3RGw zuhZ1w8Bs#I zHX%>t#={p1%ZQOSkMZmyE>Rn0aB(?(?H%FjNKbNq;cNsPGTsI+Jp${cC#uk;^h zs@8<)Ww7N|P{ckMBHHgbhVk|H4#ajliQ}?PbuvWPMm|7NUMGfpif^#=Hzf@kRA_!6 zKh?6(R~)y;gdul{b!6`=`?o=U4A^g3PXyFWhfO zlG}O=Uf_hOIK&geW*lZX(0;XU?OEoWaxgGXEA2xoLP<6dxfk*)S->|%Q=KFS33@-M z$_9N*UU^_#C4qnFgwu+&@COWM@?iCNxyIS0(;YfpvP-u8cF?p5VS29cSsh|fGxi$? zKhc-;LX|fGV>h=|z+NZmPFW1z{R@i=(>xV6@Acu=@lxFXeL)bF}|8Y?yr;6U>w4zceD#>ZKO3~3Ol@1soNf`;l4oM}4tWrtXDxs58 z$#KlFInOC)8-`)n?0nvLpC7(|!G73v@7n!(J)Vze6Xo)Vm{Epalj^9aqy1~6bgQ5X z?_k~fK^i;rLZ53IHPu0x2OAblmmcG4$>zl3;#InVsm{c76=Uku!JFT3HgYX zvsi#a7RB&D+l0#JPO)|>!9_t+c@W7KTC2YBgXhtUjB-=j69xY2rJz5rX{g8ERI1j@wN>YF;!_5NsW`rF;8P8FMfNSZ3;im~nAzbCb+C zEk-w-)t)DvMc2sl0OF|0=w4!-L=CjbjhDdJLHqK=44&g@lOiL}vOwgi7#vV7^6*Q)DGQnzOtIPix^th!i7fCHSPlR)!u9fz9HyBvao2?2Q=C`z41c zg0K2;5BzlAq|#Z`K;CL;TGP)m^Ha6Q8vF}3-Jy4Q>!5~i3i1hj@q@YzyV)bKP2B%> zwo$JAF)d4x5Z8csb0QcN6&$?K$rF$ z{;h!>He;lN4nfLjH8h2eqD))?Aa=x{X&Fd8)}_hpMpC!Ag06YswK^z#zd3@C0$xLP zyosIvPkk}7+BT|?x`??5G#b^ zv%;G9I^zqS^(Tb@xDR@p{DVbpnVlc?ZV`QvdY1AWc)m(%zr!$ZebxAX?+*mtJjAb0 zbQyFy@BP8xEa3`Y+|;HC?`ZkB^^EUYFTB;#vrV#=?A?d<|3us|VVRAZ$DVp!Z8{BX zOr23DMl2nK#w|(CR$khVp56uw-hi^#EZ_R1IC0OOnW?m1OSI~p$_xN3N|n1H{Kc#J zC}=u@_=kIH_l+95up`@qaBXPnKg&aoK4lL&swIknucdsor(LHb#QC&ak z{z|Bad=Pfvp+(xADNo&8)CohZwKd zxIA}DLpI)Sfp!xXn;vG-EY(K_HczQwvV+rrL%T4EH#|RA0iNMo%?b}7j89s*w9)G$ z+Jm0&ES~088$6?ieRDolf-_>fk+FV z2xr^!yV^BBk?&Z*cyRwL>agH_MtDug!U=LIc-g?bPBwi?x8FsFDPVJKevPZs@2ykM z0x-oSh|PI3%_FFajeL(nw?he`a9RxRRXhOogOV7*{sVB%Sm&j?JzF;t*r}5Rkzjq~ zI}zV7Wh?Nxgxen?l26c5i&j+5ajUS-%JQurv^5yXRK1VOST$yxt-nJ@trHy%vMmow zD(JjNk1>r;2eyc2*r->C;o-q(;dBkv9(^dKRSneHz76qw3BN1IeuTWtExvMmBK+V7 z#5r3O7VN#IW#~=WOHH416@%kirO4Z?U=sg_g@y-6tFgex8PML`S!||sDWSLUsW);8~dzxTJf@RTs|5H)PzXA#u0ot9Km zF#!et#=6o-^)~^VOQzP7R_AdHkBBm*Tbn`L{BiDG2C06Vvg^CGB*e_vczwo0o%A+$ zajZs73Wr{wEAIdN4|w1o*=l_!Px`V?vLsahH?O1os_TW0MK8vsc(XehfK6iWSQiA& za4I}Yxx1;71Y38Fwu5)gZWdUk1?OA)Kg+Utp<|=;0n9)Ua&Jt5A2F{KF{E0sKV_J@@N*iUjKMz4*E;zAiOWWwkkL<{0h`?V zcYHWvYh44-s17ZnP57EPd(dBO652`0xHT=NP^x*T$U##bA|BIyMENS_+1>q!hu&7) z?fu0v36+|G=8a)s=w**!Ui3G**)1anj?^LFN7slw%xrC=;kXD`;JhCQnH z!I2A?8HtT}9ahJ=F%fNW5leVhb!}l~11Z1X8bfzaD0Lba6rmSAL(gua{=W-g&=Tam z)@R)#E>43ucDCpl za7{dd%L^?+&n+$1cL9N{IqCKQk45w%n)7Ks3&YM^Q1fz8628^Ot9Gu?>W$3muo<~z zYE{F74Fm95oE)ZseYrt3p)U!&3$kbHeW#jO(oGyI${>ccNCU zH^9f_8@8(-*bPz%jKyoybD_sK3m$E-UG6>f?%@s|Iteg~d~M04P$bODq+ zp9TH1p2_H|lNs=LN-u|PL*YX;cAB?(x{SHs0t<=4OS;tuj;5YRkD%W5OKZs1Yp(4+ z(k$;l%a(}*0gZqiBSmf1k2!CDLG{JzYrwNJrcD;fr3GtEikSBwji0W#<5JCrSLZ5L z5PwH9=UlG9M8ezmOk-OjbPsK@2hKzpChnUEcX<_*F_f4>J)aC%^b1AUuvCyl9UkM` z$A_59J|oSNL(dcO?h8r$1snHx^XMTXM`{gGdP!&Jf9In;3WRgxg0uVDR?S8@w_w9< z-pG|Nk)E-?54;2bkrx%gve=Dk_;2*5RUiEyKiyP7Em+}U>hg)-cBgR8pwmD&b;=m*N#j zUW<#8J>ieqanAM?b8xy>0{{x7StcYxP(_~qt(u*Dbo?fv6z7h@PFGKgdJ1X@xtL{2 zlej51f56TDZ0!YugIc#WD@v1VG@f7rHba@$g@2Uv%=SnxK14(ulh2hdqQPHc0ZV27_|Fq(oaI+@ z;?M)A%Rc9Eh?1bXX={gu@6t&fHzv`%XVI7YZ*6C=Vy?Yd_L=ZwL$bjrB(Yw?rFR8YyT+q z1xq8+oc>W;p zKydzIP+wz7 zn5~{p`aT?WK^AseDZ@%%9J{tvvYGNcF#}a>nHYj#%enZ$Z zz~z~!o1 zQ7dGvvFc`1M4=6?X&x|`zPB*1levm8p$rSjD0p++491+9BwGH60OD}-h4{Wqn>PR6Td2^*l&-`Sm}3wtr-k7pI#qTZibCdgL1{zyaG zI~CUZ_(+?x(7x!u#bK9}vvo8gbLvBWSVS(rfp>%s5#4iNB??}{!dp$25qVT;il789 zvQ>1nKJ1Kk)c7kqVI{0f%WbFjfG61l==rRx{$;Md&a8a2LT~w4jj?qyuRgM<2k;jX zD+MY9i;2xieP@0m{Riz$HbkMq z@?!tN(@nRGgcVm;LhlXHa=*p!(`Df}V6QYLfDJDr_ffJd`s46 zT(r+}o3M8Q}TR3fdyKucnASlS<%rR0Sgdy=CHAq=8p0-LrV&Ox{-u+}RC zKFrmJVLk2{dgn)6vA&M7ATiMu&+1?#dJ#q#9HDcL6w6QfDtC%hOU$Zta-WH4EaV$K zIL7GCthK7!B-mkdB`5Ng#Qi#~O!TGfNv`a?r4ty}q325OUMlCgPY+HI6$tuRNd<|tS(66=1b#)a+? z_YvszNAa+RN|uFu1Kn!E0m{9U6InC`#=^Yd&m^wK%mnh(CiW#b-JwUIZm^P7KwH10 z=evR)YKh!M+630R$xgOybSqLEhGE2Fp<)PvS2VfUsN79+#l6X~o{z3!@D}!Q42Nn& zTN!^ayF%G`Yy41I-0(jrCzJ1ziu8ZvdDTj}(n;;t!Q95nqIdtvhVAYnt2z2F2Iei1 zB2F3)gp;Bewhfsy)|y=>ZoKh~vmo@#>B!j5o9p(2xVMn^33>Y&9I<2%Yzeo! z+O4)1*9z<{z(Y`cD^B<%?by7ESH=N6?iS8gYVWgSE9x*nsK~YCCq~?!cu8x_=FCa= z(LsFbbAOIYwn{j3D=ng?7)}8nSyXz-_KV3WMA&OPN-gA*82~g7cE7>`)g2Oyr<4K( z8})&QnU~j4B?oO$B4SM05{bxFPr2|lTzqWiHN3LYSF615lhAYk_Rcjjj!RxpP54~! zX*TPnv}|+KGt1;8+F4~6NeUZiyeYJ*!uiF4xc-PepYAC7Itq4&=N^_c?y8+WYvbHI zqFBoP)DFJkdqm22$d|_m5IEV;J)NM-#YZD|u*{rRX6(B|8pWBTzFT?J4o@ z2Q8BfS}ID+vN!j%c+ypm=4eOM)Z`GQA=M%7vH=2w7yG`y{l<`mv}3ew^5i^9IdaGU zJdIC9m2^8u8eu}|j2OW@ZYH{X+z7Yq6ngybmpaNg5p|H1a?VuyJHdgplTVb7K)^C4 zOnMFCZ0_Ts`t%WuvjTL;-(Cv>+_uu~66jl5ukJXiLWn2*N5sbz3K)AJ|29rgA?=6r{A)us`oH} z*6N3Ze|JpAM4&jxfxvOVZ^o9E+Du!f)es{CNlrS%i&?#RwUC%{G6yXO!(hCSv0q=J z3;V~*L%nNe9@wIku#@pclej-}1NhP7K!fYUzUm449NP}P+h?RccBR6B&q8hzrlfYh z^6#wTIh+h#-ePkoS88^M_&%b``3Mak(|l2`w~V4(ZKhU&3^VS$aX{-FEuMcvSR|Nq zni=@*v%&d)mqG8e-mUYR_?|BFzE-Mj^-GtJZravw4^QAhU9b3lDo|?2`ixoo<0`~a z=){}NluuHTI8BmsZt}-T-zAQF0VxPM?|JnUoR&!_=(Se(=`L zmd*|V2$Fsn81<=On|z*_W?rEdc5S8Df2oqH4{fgKTe9o8CUbOuy7j-~enn&G+tnUF z=Me1&`Jh6<0f4lZlL;tWY1%k4$bSJ73PH!PqbOu;#<6+5-Y$YNNwUejROL{)>+5Xx~aGE$dDl@Tpx>Wim{#axn@k zOY})Ku^4>x3%mBoaca|cyy%8>6dYtja!ra^b7_cp$9^U-?n9e01Bfi|_tutew4xm+ zs;}nUnBe}90eF+=8Gldfj1=L*Cr22GnkqDv1N9c`c85JVgwBTp9;*4?e0K7u;5n>0 zuf!6vHY#~dKk_9{-EF3q64^B-AJ*BY2A=+mt2Z(oE&kmR`H}ck?)rleK04Dttsuw* zf7I|~X`I#}OpYv^CPpL?7rzl3 ztW$cS%-$VzY|ukwH*7Gfx>${&@+!W`2rE0@i9k4b=)NMvaFLG|YTU1* z2P$x(p22JD+7p3%w%yw7;)F~$L;z$i+=(;D_3lj&dDyE#sg#?}?nRv`@{p3Zth1(5!tocVW&ctF- z!9@9eHCp0)5dQLm1&0ttjw>gaB9dB zrlbB6r7D4QATzCa%CCmt^&1H6PM5&N^-fCn_5QfiGOlf*?ZSwkY8x*iY8wI>B=4UL z5~MQcHmKLyBe?F2Jcz_`>a*A*(#nip_y#5a`;*Oeph3d@ETe75zf7UMNOMcPy_$9! z%+QyyfR9}ADd*Axp^|&laUWDT`|)7a9S5D6^f<`^bD3u{zM|f6aHp< zVKD}Mb%^E6uoz#thyEsSy{V1k;HJaJ#{s0_9^c!v%mNBdI>gJoySn%1ci(Zw(4iIb zr!jHbT_r=m9yHe)#a|^z_=JleS$)gX4{?dbk>>^3wFXC-i68B6?(xa|U-J(+Z%qGH zuI$}b1L$&_PNU_5TEexYp`A^^2WgXT6 zp6|#AiK;`x$#x5ds)7JmSJ$vWrEXkrAo1|>_hSg*9wWu@X`EXiab_Zd*Te{9d8$jy zvquGuP~MPt^t3{Zu<_muOlUmgiL@QWAh@23-KZwR%IBDg!$M6LNe*%jcgM-g62#K2 zoqTvlPn41c7DVsnrO%aTg^#nZSCkfI4asJ&ih$@gWzb{m&<6_A0w!I;YplfcJrrre zyY?6fE0q%}vJ*WRj(7`63=o0~G1PCIuf+i_5Ja8WgllPvzg7`V%X!dt-lyL`u1Ae& zWCAn2glh5>gTx+DMzU<3KXPs4N$?ef`8N1&WI4MN-1|q~%H{(If__CFuMN%d*m?I6 zr{dz$K^+JsQ+^rj0S?nE+)nTtk~td!!URpH`dj70j@#ULi|*5u^>pRN}Y#QvpG%U7>{Zp1uXA-;-c=r0U8hVSla zjb<)Er@#0NroaQNnIWRd%&8aLb8sG-lOQMGo%;80;g* zq_UN2qvt)0=PgWU)J+q#2{NqR8pXhl14PWD8kfII11+`?c{cRI+8VPYq`im@~ zZF#n88|WbHweZmvhOeA*pBp(c!g#&)w(6Dfi;5>Jd@FA5QKWJzLQ>}z-UkD2wF(G( zxuJh*QeQHIQAF<$7pGd%C+nRy-?wkd`kaVM&A_+vPZ*)Zbz4m1#qq2i0TkG*@bw$n zexQoJq}``gH=}+l{mNtmUqA&0!8#oOVtNV@D^HW{tNDj}=XrE6 zcas_hMBl`y$I!zsi4JaVs_pc%YfP$SUwQr&#zsx77+b>!#4c1n^pW(7MVCeKDVm5v zW#Q@8w@`-u%wBA23h1$q=xo}3jOsVRjhy*0-IH}oXGsr+$M!tHl46q=BZ~19e%%gi za|-h0jh||$F`B-#Ex>~;#xL{d^&35KCyl3xF--3P|DTGoA5VJ^+RK9D{&k|}$e*!k z)gyJX%V372HG0lgblPyfcWc90EWJQHvZ{d8pJE(86${N_;ryF349Rh4b|hI{J~I}( zlDi#tY$^-(Jcoe02VA@^7`bS;58UK4Q)n^Wr~eHs5Fhyt?{y;`78keZCuz$kSCh*T zD&SR+C7KIE^H;~93n^_1H(#sZinJD>2JX8uiZ_JY`D_ZFJY{W8S<1RrE!pnpnt z`Ev0(soRD!4?*$%+rB+VE*K5wFqh;ICP_Htpnv{+{xdJeh6=Y12M)t6y%}%(HigTy#ZSfb?>-iTI>Ew zBX+5x3AGJ9hF*K`XLQU{I{h*SL)FW=#1X&E5dEysdrbmaA#0yMZ1R}{JX?0xSjngd z&&&h%|GfjhFRh@e`fvae^PTAai~2MINB)V4p}EZTFZt;ke(R>K z%enf2Iq5lhy1PEer|c%HmXszdh%I0E>j^a1UObK1OgcFF^BQwkQMaXUH_Z_mXx}|@ zY$4-0#lGFW#oA&jEj9A4Ebb6|)L)L8`As1&@S8C=E`uvWd-*r`vIn1>=W}Na!J>SA z2K63(-{umn1=tn5U;$U1CNNVPF+vKjOG_-#^SEGB7qOJp4b4^6Z%7z>h2g7Y4wd27c%sbX&5QZ^2oQ}6CwQwDx6 zU`0raAPG{vgmh%?A}f;rA8SDDo*HhWfAc0heOvvaqr&W2RtpQXDDr5Rr;#FF$l6ik zbc&z82!r95iQgbvM!umJOL{cx&5G0-Ex|fM z;r16FPNENVO$Gii%^?~0-71nX!8L>*=+BZV$;!x#-&*%}%JMFWinRvaT3`I!O!FLG zrFEX@H}Ww@6tU0EJNH;XS71?-WsJ7&Sl&7xZhswlbo+7CjL8rg9TywC6ZKlvgPEV2 z56b6dwiU?Ul29$v&Mn~0OvvgvSl{ufHl+|)k5k0gUp}iR34sRN&1Kgx6ZMT1sf`Ws zn7U4Ea#mFXt?P-%8$l4RBGR%e>=7LPB%1TP7$oaP3)zCB8!a3&w?}=1UBk?lWe5fttOS-aOAl2s?n}Q*F~B!xAIb$+mNKqzp%p( z%Xj!qk6=HFE~a&@wYgUPsS@phsOVeO(w!jNO0P4w6NN^Ko5Kwk=3Hjekr_Q zMZrZ>4BGy1YlY_gx|Q={F7n9*`usL)lscncj2IgWrs0-6Z#5s+)VRNb<2Ow_@^SM1J6GK22kN%l(~Pv0 zHDl`grMklrYtEpcL%NO18OLW*Y7en&quG0;o3YcrjrgupfhyA|v*svn#-! zk;oX&t5THC(@I(6^A#3|u@BQ&jUm@5-T1hgbb6H7Z%z{2Zy$$u980+Z1Di{%k zwEyA$=hJzFJV(ta?RH_egqW7L{#HKYP@uaf((V$|>kDO0+~HkNJY^x?Z{iBP5taj# zL@*d_K}y;Bk?7SP+%-+=lrLnP^RK!G=Ft6z00Vv>w{1u}_-|cSC#!FR=FC*C-1kHU zx1J(Bph~;mlB*vdp+0|-O_NDt5t&uW7V$Y}Y+RR9CO`tJqdmA!sAGRTpr7wp`pXph&R4eouG)X+ zhHEKK09wJI$?f+ZM{7-gdYYU;-@#`deLjMLj%)V$Z3R)=OZX^@(1$B`L=Ze9fEOe2 zNcc)Y3S5wwQxebeFUQPQ%?dVn4qs2YFb`jrRufgg_@{(QAHSN-hPn)sN~L#d%En|hc>iw z&zd9nZ+;|tOzg2OznK<`)14pL!RbT8Gbs~Y zb|BG&#DKF#LWVk_m+gX&#MJ=t;m;|>Yh)M3=#d@2d-{ssQ{bB-Hy*uCxIF3j+)?t# za&e9xIJ0d#KMu8Z^9%m&J)TIihsL$IDk!f;854Vpf~Y}jB$yCR>G|e8oHkdoUZVH? zcyc_PmB5W96TZaSSFXL|6iqjm-N^9Luq!hJgsQ>p;xky$?^Acx{V;#c-u#pE?yX&B zA9{B6cFw{bZ0or+#_of&v0tx^3Ywm*7wsWD2%ebb0TT`=0I*LfPP-^y6yX@D9>o?L zRd)v6#XnE!PCbT_DNOWGI+YU+5uO5yY6{predvk$`B2-;+B;ze3pc zDeC1BdFzDy-*y-|iX zt8H6=6WPBdsM?hwK;lFUZ5l2XZd$E)U?L>&p^{u}H{ZtxX|K0LGJ1F+% zuPN|W0DMlT%%LYSL>NdV^%Q{>#~acw3c~4z3)j=;s$$Q&n|Dt$6VkhNW?@w#`1ntgr^c#U=E! zy^k`&b&Ky550Q)GYUv&Ol8J!V*@9WK0SS<#`*)b|q{T1RMOcFRRDZ+1M~-W1S#_m+ z^Cftk6keJUHrcckg1NgOJGoy$J#_2Ezn+3#{njM#kd4ZFWVm_x4`Q9CDeU4bnvS+Z z%mpDv)Cy$Pbf-C-I8}B=R3Kl4fKjrFy4wAEvJtg860aeh+W?-Ndj?PX0je*G7?R)m z&i0pkPj5w@0$aTS1z&zuH}NeF=?HVmAvDiQcSyeWKmA2HA~MKfUDNT(V;$I0dpjle z!nCLN@dM&2CfHl-%D=wkMSbS%7)_Jq2>dxhkYoeRrFGX|ZZ(w*7m7V5Lo zzt1RX76^K=v+O!nWt-B$c`QvT^QRP+QLBihOB%u&s=5D$$j>&P_KRX7_6dG#eV4b; zW%uXItsheZutEkWrI51F)_NteQl2Fl9lpMPX_EnvHj-4Q`Q*_F^hV^^Mc;oF%nLZn zB2sq<*3JTQm~MDQ)8Iyxl{Fuw;d3e6*lYgzk2xImo1o3VXC33No?(9Pd4{5^mmwv^ zj16IgQDE3#m81PWJa(Hrm0Cp!%5DuL{EPX{-b+UACD**Lp>CDtBEFOC)%cDjuSzr+ zpoh39gd-#JQRSx$ex5hZ{sW;s#r-XU(=iz$_ah4LhdqplyGEC~O>2PkU23NOdK&8p z$Ww#T>?IDjQN{R3Y@Y?rN$!9vsjlPkF9)4j)%I>OigLq^d&5MM1ut`*b>BDYF;tN4 zDoztnZo$%D{O0vl4LBY%%c)T#5eya$v6v#X5H=NTEfQ^RoN};T(O;1 z0bZjxQ3m3%Pop?F>?Co>lwM?!*rN**%N1SCPK=l@J3q*VAQK1)xPQ29hkRxeQQa}+ zJH-USDyjrK{K?vh-CWy&^d8f}z+uv=$zJx9R2_+GEM{d2u6o;niJ+GRIBRMRp%J&T zLGr{XCQW?(-Fbfh`6+KJ`5AMViZ&~+SbsK1kfQud4R{y*8chddXADH&p|jha;vOk_ zO#7dW<)!JsKSisL^PVA>GAoSPZr>wkoc=w`DdvRqF0(cG%XyG*H=E4)TNL1>LB)?; z=k6HPAJ7AzTvPqg@FEm8Qe8aX&!5f#i-nKbF7c}XMcRFOI^x*;1LytQPUF%pr;0ZM z-x8*&_zqcm-Ar#?&ok0ctp9>VB2RjH+{rs^x8#@m-$c+S_bn6`$|YLkP}B!JyVQ9G zdq*%k{T_!NRBe z3wDS`)|(SHdl=RHe;CWV7p2W-yZ&HQ%@PZUF?lFo^+D#Jy>(S{34AVF~yDj zHxw;ZZbs&@3n<$>`0JSOLUB0ccR{(h&O+YoQVT&wWH3vie}$>e{Z>Qt>du>K^tZ}U z##8!_*6X1PZa|kZqrnS`6k85-k~{^A&4qn)Lf#|O&URu1Nm+2C+GdNEwElu_HP*Tc z_ZO6FgpdJ`oP`RH?BRr>@P0-nWO|L2W!^oAbOZB8&Y!v;@*&jCt-pN6#HNd_!jsuf z5SiNzsVmNV55vYW2U*>wqI68*ue3qhuXv8KysJWFGK4a8aUG$T93&`yw0_@0pPQPq z=>D#HFYFadK06h9FPqf( zk7p9JK9#S=V}Ldz`M~u^T!cBMo8X96u@*-+>B4hIU``+gyA%>w%y$aRz<_dm;Q~lfXMAZiGnkeU>(p`e{4AD&^7Udc;y*GG$6PA18s5YPVA6+ zE=B)i#IwLf15L_^&{MJ`IYHK@h&+sd|5c2cvZ^}R#r`r|_e8OYt!uW*lD^<+8tSV; zWIN#r<(vpOX6!%W^xuuO)lc z-oN^2bN2^^-H3GhiukDh_Kw2npbgtL`^uU5wtP^wkrrS@lYd;=-048S2u4&~P$k|uw$Iw`*2b*!pp z`-`XT8^x@TvW0J7NhdWhe@SB~tnTDBfdjT)@mG`e*t`E=-!aEqE4q5c++D*ktAM(! zr;HVX_|IO(4PW1$nz8P@?WYp#jR4XkVI}mnv{mX4r4W1^=H6%LX$~M0%tSWGTksa=n z6bR27YE*kJ%P$?^PM@#Ty`UF8OrCQ9FjE>x{V{cu*=di^`EMA@5?q%$(VA}GiMoM2 zYge2|m36rKBlX^cPzgL8H`b#!g}X7D&txVf{MWympzYaa7%+{?6H{*lJ6TD0YR>y_ z^I!D>?86_^KZ>9nC{Fa!9}=sZdFMJ2OWW}+_e-XiP40^SS*+!x-AZhuZ3T>Sg)M3S zDcgyX*#3DdXNl?35zPyNyy=e#(Hq-1i zif|E&(>tT>9pBSsNoOmJHc|BWXCMZ3yXBTdxRuxq6z7FaTa$iVxK#xkxp-| z{V0~+%*LImAs+M2S$Q0tP%ynHdtR^x8>LI6s}E?VDNUn}r!h$C-I%ps!cHC0o#Mvx zfI1!41&g2?F%|O}p*K&#p11 zc9fyy29G);hx~qMcRwdrfChzU|W4((omUU%bX@C1sSWkYfzW z?{JNzwo=Z4P{o3oa*A@>5%@m9)Krv?LvM+*(8~n&O(-KSiHYoQBz|3@#qi4y+s|%@FHkOIS2*3R1Ursy zFpfzCysj&-uwSfR2HKvos~Q5EFAd#tOL`t8aNb~SQL$db?#Xp@{*{cxweIk@S868_ zO%ZR?lPpw}V4@wK+JR+lT+}jcuk^yx6S()P@|QojS# zCjJsnwknv1X41LV*EJ7@&!|nFRoc9y8s|UJ1t7UC?SACrNo=^Y;=iHlzDc=9mP7UZ z<26;~de%AJd_!vmRzIosLMglLh`d#|RK(X+e`sAC*3@LOd_T;BeHeyJBbpAGY^W(j zbuWd$R--uU67adeJ_~a0p3NaC^UaU_+&m6!q)FU+WuN(5-+VRnhzS-Cxe2wBdgcm(`Mc#y#(lLZS`KSjQMM*Xx z=H^vfKe5iP#8Rl`R5&SUV$M-==G&0d;RDiUOtEZ5@wQ2!*kNA38B%KcXz)ZA_HyPh zxjAj_Yl=t%gxz)kRQOBUUGswyWA@;oJg5fNO44yMYj_3Sd0BGLojO(d28O@h)pg9n zr^%Q7^W^y|BVb@faep?Vvi08|xc*DTi5JwyABUvpBL>1-TQYX0{+8{K39Wqq40`X(9%|CI2@jMIFL`7T@F-@-UZXFR{?(ZwS&+{FcPhy_;Q=-d_(}bToAH5M5;vZ&`=l^H{lQDOm3wEz^>)Yrq<_~?pu&LFXC9!~E(1EdHhG&emnzi8rf51lm zM-9+g_xMS*{rGah^N51ql=) z5q>^qW6%St=Du)72G436)i$Dm>wbj?vY=1!DiSn%%Ie)*eXxU1JJrShKOv6DRx z&Uah*1l}DB;mo6dCs5w*>I|p&N!+$hzOdkn+hw;e*uDFv5jX~4Q-cFI;b`g)Vz8IT zT_|r&)*()702B;30C{NH6R`J?Xy=S7RICsDsvmVC7o^$~z6JMw5=`D54&KB){f7na z{HWa`@3sL*Jwk23liQ(!=l$aIvMS$=&i&>nuUIX4OY`$-~sHjOM@cC zZ|e}*kfX8@N>7BM!CFE@Dlx3*G6b$B-Y*XPW?#(vd9}Lj_=Myq>LKvZsk*c#?ahf7 zqt@g|fqPiPd$L{8R}@1n@x=)@HyMv8{lhK?v!Y#wDbG7tn@GQ`Ug_236^QvjOh72- z$MUTL$q@3IC=gk|{gSd>RnB=b5|)T(P1Ttg+Na`k(0}a~ZI}^@*GSN9CBX-t}(}* zX3&3>{3FzY1aGsROr2N=DJbNY02m?tWRc9Ax*nmdKm8gxk{O<0MDGuu(pt%1xk+_k zUb{n#nH-e%pf7GC!p2LRPzH#FSC4elTsK92YDoZymEt0?r?KKEvmys(O6)V~^Yz<& z4}qvoVb;LrL~oO&SA@f^mo49-nX3v4PwWm!v$eV@=L&vMtOS8Fq_l>z*mj{>JACB| zq84W74@8A4{l^iMHy0a$+*0nT5Uv{OrJaAkG|18wWqE= zU0TX2XM1ykc@^w3|pfZLDKK4G+8Qaz5_D(-TpIl*-qDT z1Gclt6MX_SlgT@T?S=hy;T^omed89lAH+Ocv0vIl<-4uMyrwVEYi9PlA-`InK9>F; zP3Pjy^#A{Vk|bq`k{nj4Rw*Nu^HwR|C040)z(S=`4hh2!q#R?FN`^V>`uzp3>v~e`!|K4qiC4U(T9(*$b~g&a zoY&(5eBKV7YPruh6zn1Os2diyZk<_aD#Todf7OECn$d6R(;E0!@yV81clNIaGB+qa zuGu{|w5tY~;r#>S@xTMgVHM@GU6i});+^{rlDRR?6U2_+&aFCCMIh*BUB;QVy>`0=!S{TFB zR_t9l0aW{B%75<;2VgdGI&H~~F66F?sSd7N-5burehB%-^CnZ#iS21w2u8l&SKKQQMpAmK7f_vnmHtlf znsHO`(5h2Onxu**&A}+!`(hU~pIkWDzHfrBQS_w9zs1P?ZeF z*D%>S4ELZRqER2UOFWICXqm+7*;T47S{f9iqvw2zB2$A>$$UL!v z`C{xJC)r7CqK-_AX6V*lZ7@ae;(j|ivT=+))Zf);V1D8zahVg`7GPeh7R)^tB@q# zi+o8%)k|8kiCUlFQENilwZOSDg%qw(#j#`rCBybjArs1H6?@`ermq{EYsg8G_s2)e zM&!UHTIAw6KS}<50GRle?H9vIZSnG+YTlLVEl!-&zZWp%9(m#sh3||vH1-BNw}Z9< zMm{eCn%XiOj1tq$ZuNI$Hu$esc>XjyYePpQceHq{aC^2Y)V@b}ezQrREc{?{8AN=Z zyd>V$>tT~a`5bZ>j$BQXtvI7;kokohU|J=-b+B4}i+K*T#!5&#sUnL)e`Qu4-!TLZ z*U|H!_^St~Ya!AL>bo%Gz1wWB*4}{tvdT&|r6rNC=A)lb6yMj5y?p5RE>x1L_)*zm z{lBim2nw)UQ1D31u}RS|UIcA9aDniii_)kKw~4OTv6c{qXSYYKtTY(Cj7Qw0r(m5v z86RmE5O4j!*+%=U4ZkeARX%a~3Ecg?3igi;)_TY^x;uPHeFUp zaXMzrpNKAI-BonI&0E$)G1I}uyXPZHceP`+ALkY0Z;st?TLl(D4z5%sFKv@!aE76A z0S-=%*tus>P5HIF9ip6zTXnCkl|ZHE!katrE01jx6N5t%=Cqv_69A!*iC!d!hIT$} z<1MQiOndq@#IX_DzV2|v8_nk3(VyNu4pBQgK{?QS(Z#7~tt;k*TGAVlNrtU?HiG;5 zMv)v|!0C@b*QM9LvNX!jRtp%Bfs(-4mf%F>pET8fT==6Atc5TKpLY5+KmT^dn-EXu z#Txnt+L!QWw8rPGU1!wIn_~-)vraox2M~*b@>O!&@I?3Q!HGk9p;wY2v7uhF{BINY zl-O>X!-5Cu!pvkH|0Cn$o3OBkxO|7Z;^y^f2>$_+H@uUVeS_QU$$Ix-G6_!Oj09<-{;@m~37X`+`i;k80>Xg|_o z)GPj1!zEe?GO&sn-yC#nevG>N(4YfsFaFnbcChG2e15|@;BfgIJCHwQwOJBTv*p^f zAvFGt(6MowhCAjkfMDeW zd{(=KEDD5fxNoWl%SjWu>B1s(p`*C;S5j+wj7N>L9p_96JJqt%86&;1Udu@cEqF3V zINWW#{n1@(nmw$=NRm;RFY$S&Mk z^raC|m9mrF?M8wdcZzRpp6UQ%&D*e60jTNxcZ*M}kYh#ag2+@1f zU2@p?sr-d-MTYCQR4W}k`3ny`lJaGN_N}CrnH|+oqw|*B*n7Mv15sbvF(-TagY+t( zO7NpFP8>}N1+fB0$$TBh4P&LNr~W?+K)2$pEyq7rsCb6z8q;y?44j@Skq7PAk`=|2 z<8W0F7-T#g?t1-p5YEu$E5F<3#z)P{)92Z^%=d=Q>IIiaUe&d>z5eDvaE2M6YxXrZ zE;po=0vnLFYGeWc(n%04o$`#wsA2@}NMmY@QTVuF8VqrEf(2<;?4+(XjG3W`8PfMr z%8TN4_UOwY#$-u!?6L0(e{rb%O=n30uotGgFvynOk-Wa=)#lDIgl>#!4SY7RKUZAj z-j^ttixAo-3eEM`jm-iiWfLj58+SWOIXEHOx*r0j=+1cFzzrZK_;EzH;500T}%^u^uGOP-0aTQ``=*_X;k)n;1{BqXKDq4u3VR1v1Iq#_HO&kahneGso8B z`5YfVDw{1yp^*;V)s-zEkdGgtAK+xsY5RCh>=P!*fe&Nn`)(oTxG^Dv^bONe#am8V zvS4UAJF$+ejVZz&*l(gVsxyu>ifEqO5cb^B{ag9>X% z_;p()O)SdhMp$khKySYtoM1@j3l*0T5B_V34X-hLS%+B?Vt8DF^6{=q)R{TBR*z_U zCYOmHv7yRGVZ)rSmYom*k{l*IiR(hXbQ#SZ> zJl!rwZhA+H<0KYY_}<$ez3#u;&{eY7ymVIZUMGzk@h8z!;>Tn5`w#6g6nmMJ#YJw3 zD1wYxG2bjrNB&8kIC?>gRQ|1<-8aqtL>APkt%@K0z-hjWsH9$x38q~}6VKsX3j^56 z;gJoH=sk;Wv*=HBvQ`Jl8&WTvF6qnE)9{Jgk-HihJ$6KP;t9HdXSIC#WbM5&F4vG`iG{k1tZJ2e5qSC@GvZ z>!U2&)^Vzo_FA0}7UFhpOdSvXUxAMA%K@WjV%^B)$`oTcQ~|(9R8e~AS%W0IsM*S= zn2#6m-E<9F1unj+O6T;H9Q=}^FkkQtmBy10c7`Di+=2IekFkfo_^bawCdd}m8+J!k z$ah+lPdcmAz*mh=NeIoqfdtmkzBdl#5rm}zQWqE8N^{tg_P2XKc0|)qjH;&B1~xX3 zC$3I^qd-33qaaf+Vf|kA@eRHXFKP(-)Pz%ajem?&6a(X>h`+Wi_*)!yujIbpci2MF z(zM(Iu61v4>(u}C7T8g`!c9D_yQX%4;t{Aiz2|zWk zG9UGVpQWW04!tLopS`F20Bh1V@GGAy4qb%HXCvj$j>?^T^A#x|{xroAwNwj57M@L( zmfu7$N^UVBnog^g&Fd@e78arzt%6UBM&c1}v+_FYT=rD9~Bcat*-0U3) zp!|3tE)0OQ@nJS+=|sT0=)GrKy!OyCBzBg#iNoXjWcv!C6!ta=VYlh_D)(_`vnD+> zXHF0~b3x|o$NfQ_NoRo8z5wlB@Cd|6S|5b__HerSDjO?n%kq~*_Tf%uZ8++C8Tm;5)>-BHKjN9eemg_0t+tDEuy%S+TvX{N9qjHNf^ zeXzZijg1(M(nZ;_qvwrTYyt9|g=lA!FLM4!rNi(Gs={Q9RW%1@XCRowj97Py-JMZE z&QhxlT#Th(4ex|cFVb06q$WYEXeKHS+8vEDl?xZ!em@NAib7???xudj%xb7#;eH#P z)f~Oxz4X(s1j`ek$)3vGm%?I+n+8V^WD1 z(6X|MbG4Qc;kiSCOqxu|f9yfEpnR8drK8@zDwa$uU}KL> zCHupA6-%TSz)qzO=bmAthXYeD{z-p^K^QunhJWnG zqnM^7BdA{_bntBrU-*{7UKJl>Vyqhko-d!tbD}V8oyG zB)!oC97xpWXr{rs*g0S?MY{IHl)#dVfpiHtOVOj#2@%{1@!?=?;knFeB9>Qp-$awv zdUguDn4?P-;9|axmJW}@rF%*N8yr7*-TU)<3*$R=0IuZ}Cw&FyfDT>Z@P^;Pq-)8; zpi*R$y+qjJ=(#jf^pCqL{xF@d>>w*fC`!I+ft%j>I8bh|2q7PAv3{RQGe-xKU!p{L zpO2Jbm&FW_)3J}uvhDXhej0+#!1r-H1{&!|`~9L;3cR@5G4J;2Du?sxRZh=pUk}hO zlinBJ)PFU(@U_6j>=5@+_nvJ(S|3829y1KRR=h0-_RBvs_}@Ln+o`Yv)jHzD;Cvs0 zO?$l%hvdPgIp&v;^@e}bYj3B9jr%+fshlZ`ZBptWnF1L+%TqR_iV&4); z(*YlUcBw6Y7A~B|(j4-j3t3jgq6N@Cx|w z$-fQVzoDzSn3>k(@D{R%wqf-cJ+q>_zv5-xb}PEmaXQH~MPOvkT@$z%Xtc0#(j~c8 zuNQtS`=QUe^;#B-UFfx2c`**$4)hSh_CLW+TvosMOC;S*+EDDkaSPlD))(F^5aYTm zVm3IpaJO9^rC>?)??>d%96C7G--&}29QAMGI#!P(=#@I}IGSRVG%|zfj0Y80Fx4`% z^g5aZXHiq^3s0VUyR2N?)CJeA)X3x5?m%3^YZc623q7M>!ri75qV@Ow+V*;A_aElT zY5)D>+jLt`NNo9ar_D5W9vMG9%x%}NCF*Wy6_B=5*HL1&IOBUIZB@FpM=QY<(=!FD z9cOJHjDWkf2I^}&ZOC5u&}#E7AE&B1GZZ}z(o*I3l`hhltEeaWI5pGvmFQ)6l=>j- zXn*!oxlUHJD2C!}!I@o-3Gg z{!AU32bj4z9K;Cf4$Tbpb9J%}F1+2qfNvTrs5@uH=eMom{%sU%M!hG&mF+1CuN~2q z+?bnw-a8DnpFDcCcJXawyg9c%qV zH2rM-$V*Q*q|q0)_U^Ld5O2%Hllvf{y$_{ZDSd4c6$f*HCK}egLaV!Fb-8&?;}iYW zB4^^pfhGSDqM{RSN!Y#h<}5ny(14+S_88~o_@xS*bV#UWq|FWUo0HX6ITq-_)$jk& zswl8EZ?8C%v*%DvE$R(tg$GCUeeLa^YwtcE7%E77iAEYV;;r<#6RB2a5iRxwRk*N!C|9)D!0S=n!@J zogXL3@>XvkU2zF)(m$l|h7ALPOk&9Kb=B;N<8`dAp-gPCD!?F&zW!d-e0JGvOL&|{ z1@}KlCkWriLa&INTU7c9D(mrF+Zk^)AF4xMrs=yK8WoPoN17xrFCBF0*WUzy4wV9P@vI}iAEf+s!trm8>eqnpSLy5Cv#PwQ`#&&vLX1j$1B^miu zP2vPjWwX9xMUclgd}00ByoVZl*Inv)<@J7z1*zW+BT`{>_LI1VHi6FLPyL|u`jGA1KtZ*fsU7un_toB~ z_<4jZka3oVS@(qQf-k{7i)6341Ax#gF000W--<1A$6)l>-2j)a$c>ma@8}hO6wVx~Yf4ePXt4K6OQDMR5t(osA=Rq|}F)$-5}#{-vc(^*tW#G&z+Ax_^_ zKY`V&$HLd(rs^*km9q(-QLp7m>_u2ob$~a`Ov`D|Cse#*G=szDgzY#y=?!3QTSoSmA^M?pxf-L zUG$D;BcZ>2OnlFe4Ch(mP>SKaQ+1V3WJT7pp5xnW>qBi56Wm4FdEwnKvN2qeN|yfv z=9DoXVmxmkZXpL|i5cYG$lDcgWi25OQijg()y@Nm6vf?D^bSBcQn2s2-bS=K#zTPV}rT^hzVMC`K=sdwL6d3FA!_GVhaH zPLEY{`8OEmb>o^ZF0Fa@t-*7NaSTBaPusLtDX&}MuI)|~fO96kL5=KB{jHCOo|Qa0 zB>Ku;t1Qz9n{8 zW%=8)92eKCM&H9~2OOILkMXmhqA4a-!Na4FJabC6W*xZlbp^ctjn-5iUU~nVX!d{x z2av1d&FG4q<8?|KrWZkfMm7+owWwp(=|H(Zx^YN)gW{pPoAJ04ee%dn^beo~M3#OI z#($qs*e|q|PI2;gSK7d(txGHMiiFgSM=rGjPW!o6+C_>AmPr7 z%j`S?+W018U6}f@doAog!r1j7eo8|CCaPzDNVCm2`l!v*TkB=JAf3siZ3@|4mr0;} zho9JOc!P?u4T05xXSrt7xC4p%o*_^~N z5Z9;2FRPVNoWf&91qtU0HGqgakWT#>7-`H%QhN-ji*s_*=3W)sXYM6PA>#7;lRO`< zyiYdxM_(LHT)yJx4-#vF$J*>+d5rzhPY4~oaFsFPO66ha2{7LP%XdAtANSv)DkMDz zzxDd;@2uxQsT-0%^oNIaT7#bz1}j}5UzPP{F<5lI&EBWGfT%7}mLe0hYzJp})ETM; z(<=eXYf3a`0scz0+X7*f zcbB?h41C9H?@F3Z4=1m+Ur-hkwj%AnWj*Z6`L64ie)%3ZTvw&fVfxru9w1U8X2JW8 zme5_VEzYHno9m9>Q#>XMEri&g_|#;{L3t6avv;)55zrEYxpKpgeU_UcSb~nvIz?{q z2^_i(iIAp66MqxVBD&T1>1vq~wxZidqEc9=tCcaOpXf%^KfTm4h-_R*fyz^qFDJ7x zOC1y}W`T-drFazqPrC@k@+@NZTM#Ohy+n@wfpx9Y;noK>csIX?_ntz%oXw>3$i^Vz z4ig1Gjr3LVKJ-}W*fH``IwKDN>tBPcq8C_d7&>i&w8d&Zy3~!_o^R}WV3()?z^#Ov zmwj<*tq>rg6<@J-Ple7yOA`eO$hXnx-I-^hiz;du{5hav5ExFjl5Ij~BX0t`u@&-3 zk_I(n37tQlh5x6;XLS*p*T1lS5-ljc+3tuf%SA4Om&V+deU_0AwOQl4VQ@?dp@U)`aW=3Mby1y8epwbI*$TpI@-VG2N+S;UdZ8b* zGb@b}>jG2;*dj}1<%Du3^5kzK=Uu1;WH8*fSa}JAtp$gfEB0WaVd+Sf_}=ot#715N zeA8aGfjA%FSFnzOu8;WHx51i zN_G)r=a=(rJ-Y0Gcr069j6f}9o6fB}gHfa%nwpDZ5dog|0VJpe+VR-XU z`?>MZ!Y}aR#V}|lav*t;2s?~tO*BHKP%4)5K+y@R9yGgOz|RYZLFTX^&Y-7iSRgmm zG&0_6u`%fbB##prmWQ$&!m>5ZK%#?KC42a%nQn~7fbW(6vZ-30J4kh~IRx?Bn0 z=QI?XYu@Oqdgn++cpbgAL!LQp6spVSb-^~*Mz5Gu4sSsuQj_Xu1U=$%jE z#h}+d)pc&<6GVFsV$o15g?mQvDv%zD<2Az;oxW<}0Fp5Pah0MwG#{rOzu`8KW>4tm z2y{$PnU#=&QutzO(6l2gM-$9q#jYc|-~{1{J277XDk+BIz{jO^m3L{VcMit~wET3! z$zKJv$&#P4JVS)5%#owmvQ(VCWT?zuN!g-|3r%AI0_gMy84L3ekSiCK*^eA6r^4Z+QqIJD#|V z?zm5dR5A1ECiqz<$%G?J!$Lyjca-^f^0O7n-ebRLEd*ipd={2xMx6Nv-b15(6}FUw zFhWRnwK~6&%r21aXFqCu93~m z`Y2TVLr|FLvDhxLo$}{t=m{SXM3=aYMKf#J=?yJ`&s_DAr?Odgg$ACVu@Qg%_-B#| zF}}7G=qeUt;#1+|?NCOkcF9@Luv7OSW_ssBYWDbM@yCX>-^Pu?y$bWT3;&BFXC9e> z;W;CmXV^z>nhlCe?%5L{TI}@|c~u(gE{~g5KXkGFaw4 zidaLjA?OiSw4nB2Nc1!LZ$PDaL8^fUTjB;@lpxR2RB0#<$J)R@w<6!aedvxByju%wcgH{n|{J*ttKpN6>Uc0O` zt+&Eot8}=nJ_`55X{3L6p!pY!{txrKuy|23)W$mY;r_M5U<31(RDeK(J|7YB1UmZY znq_okxG5=j!eH;SDXS?Jnddal1#|pusKa$?@`21-r3a}_oqpVwk*=?PZBtLz^m`cD zNOA{bCPqKl9odYwd-U~&N8>K<>thw%Z4nHnRm$lddaF_^O$!>-lY`5Z54z%4Yc;`$ zJ!+~T&%v4sO8r&;5OR5&zkNXLAf_cXNok8{i^&~^Q`29_x1s&U_0L?U`kUg^Hje#M zLXR8tHuozci2{ko?V8^^-q{PanO`F%u&MEY*vXOPUn-$^z!HDtqfI< z{&H?gHbu{0xlyz0-4s*jxsBL1 zg7(`dzp-|Qbc7)DB4E1EI$7rNckjf5p1gshzrC1*WnjHGE*yEMIG*<4n z)2e&@^L0P1UdL{}F0W05QQ2kWyMfxFbJ&orGNQ2IPX5TTZ9RWW^qT@AFoT&!uG!!E ztBDi!YD@K3F-Un}ts}{#N*B|Vb^0mhXmt46?27hP7L4R8to>O++hE7?2fMm%oB`kb zE!Z}EzqEU+MyVaRKD^$Wc)E$Tkvrz^YR4^3`JuiSRx=)Ef`09yzB?GZ_G6& z7ydVW<;68-))u{bSU#IbJ7!}T;7GoLoN58=8O=W7Vl%jVx7Ew=8+2=14teVIg@bE% zkJtK-L&NJDJbN$x@fRM-;I%ERpN!SQ=G3ubyvII$P`^3c5;wT#Jy3VvTQN)Ae7iT( z^12{SbGOTK#iEOK?sT%mW=nm*bEZoKn6g`I{4Qll&j$)5T8St2k@5h07bnr%b8|6I zzT*r5KlI2v(?m!zKHU08U0_0Tco}q-85dkq!y)IOGjq3h zn*B$Z>J5#4VUud;aOuA)Crls4E^YEvf~XRx^KOzVH{jl81+OE8@hAGp;iC-5;V<*p z1f=M%4@;{}>r!blij=~q+O&Se*8nXr?Bnyb8WE|K` zjS{%&RhTKo}9=a~lX;noS$Wl><=u5I#lkgTP-!5_G?xzJ6|6FWnNfoLJDq|Zn zaABU)K|AjznBzs4Re0ib(3YeIU6%K3kSZOVv@CN6uemf#GEKvN4Jxx!Uip=SKHOLy zMC!Eol*jti-|cu#Cw5yC((eIjsrE^Hv7+CEeIdCASgG~&*TPY?R$qiLT@bozzViUm zm2kNxg%`CNQF9MpA5F96SXBY-zQ*ZdzEH%Tm7(mb+sr-V5`+FFJP|x%XVQ>5yRU7+ z%W--OEJG)Rn3xtj^w?G4{++{>+`q9-txN+J>ck41x`9y<1NF{)v?28OA6$*cvDs1X^?tl*b{*R-sp1SQ2B-M7MZ<*Qj@O=fOcI3&!=Rh@ZdzE*k?lmL zhKw7MgjWZYbAX4+FQZSfyqX7p>5|@_l9zJL%D3p&Z=;3WbJxbabrUn$LE>nJGmhbG zePD~s8@>}SKS292!r(c)mO2~!1u`Ws@8*We75ioDudUo!mnU51DKt8~@Vrd~>}N}$ z-`DUw6rb#MkXV1r+UlA(@==pP7{vDFFN0mUOK+ZQx2FQ!HXk{A(EPQ&Bi^DhSK*~& zN*v+h=z?dcJyW=xkNqu>Hxj4VBfgdn@Wg3uB{V;|MNgAJ^YG&Fc&J zH%au}2@F~J#@4^ZmnQ$nBnTF!Qza)`F(WEsoky+XgTapvg5MJi9~8zH-zbRwlQUz! z(a!~Q@8Ak7_ink;&2CF5j1C&aFe8AYO!I@6hp1l^Qatj8I4pki3XGR^y;UQUUg zD4|bRyPkCX3gbCqbHly@@W|Pwzn&4+(8YdPkKu$^qf38*WPeq*PSF?bhJ@&=wo|S6 z&-pIl&DQ^7Uu5vE6<)OmDH1AV$LVL6#WxQ__};^?^M40NGzl{ml%29Nz-aw527x>M?#U?5*HffOITJqeXd7gUwZ8Wpgz8?%^| z1S@qklY$8DBY*tHTgdxLF?t>3Cz)`EEy_4zxPE2Z!lc*QCL`7fi_^ZsBBkdH)^%gu zJ%0`_2XVHdf~qB!K1W48`Mz{!)7ec?12OJBnO~O1rc$5NCM6ZZViTxZ@&QAzfMMF$-s=@>ZzEZf>psD>+-}Pgvk=Q6h1R8cXBM@K+?frXq#USiWWhHTphA%_Hh#T(a* zsK-Rr&G_6OnLUds;h9HNYw;%%)rhDmtSKwJj2tdY$&oS{nC1j!&=zh>Cs-+SlWbU0!JS3S(2d^~ zQ{{V{n&kzPW~y<1v|K?Y&fP@SMyM21{JtJTle^K4Hyq@*NCFPp3?~tvMN_=RkLju* zeOX_`!FFvBQ@hmhYed(wpiPL_e!q<{#8ylZ7mek)?91eh}AHhC2IE3O{XYO@$T;#TvoPqh|~x^&}8DAw}^ zB-gxS4sjCABNoXG?5_K62fUy_K6Mfns~IOS_%KJtJsD?qGDfDc8hPd`UKae8xp1n2 z3K}M4Lq3J{wJjfZ=GlbQ=nmf`HeN>9I+;O%Hk#xH@vs-Wvw*A<80RhvG%M+wPZJZg z6(g0LY&m$If~W5M4WEemC-^NJL5>xodD)}w1R8lTsS0=BNzZ6jIQT-D`5PjhsPA_B z3J^Lm%tL5Rf@6xt;6x(LZNm2U%1n~%{PynXzt*EqpTCW5PL*6FKZO4FiRR4W~VA{@EP_!;5AX(sTpaj{M2Ig9Heb$N`yftRGLGnd*5=eaCd?VW(!WI1_ zJ(02DD5R_({@*4DW981!uPXAuw==g*+XK*D1PJ;gXgj7vY277?GFg6j0l4Q|6BZF> zyWf6p8-@~0l60^tV+IGAmnC=mcROGI{5FDwM$ z_$jn{Hc993p*29f zEZOJo`KG~{^vW41yAbo~q}&7F>sg@@#INl@{sU$-n&yV3Lo#{Ad4RVppF}@ug^ThU zq5Iz@o1@X2)W4pO%|1@=x+?i68YC;e$TPgB#%KqMYx0R}=IqLcKfs_r+8M6>g?5Y3 zJ$Ri5|Ck)Jvb(W=;`-U1B^^LU0X4HVH0wo)`hkX_>#%*2Jlw>T2`bB`Q09yG&X=0g zKeLOJDmXCfiWpU?ON#JqMSUfiN=M3Kp`@2uBAr^T{-Sa&j>)!68P_{qzs5>WfDs(&=0K!EDn@p$=H6&6AU z6&vZTny=iaW9;H^y1`J8e)#uDLwN5FRf#;z7iHhetQ5K>*Az5ItGy|wc_U+Eo61@#)06WSB&g01^6xIoF^axM&DN?9z)>Z&sW#% zsk&*^k3v7ulhz4#fYpxFh65q6KzfwS?$x`mb2d+EptdB*y~ZCOT~2@0qVMLeTzDSm zKq=T#d25x))c8_b#9Qg1>C<6aVUwxg=`hxV?VWnf!e?kh7QjJDo-wCc4$w)0mPAzrY3ZQJ$N zzT)5byQsq$v7i5!ne~OY#n0x}6W~iRz7br~-@FI6hKN4#6WqIvVe5AN%`?9+Kg)TaNJGvIlX zvEX|Ab-#`#dDf%VI%%VwHUPP+^5Oyo`tpUQP_L4+iE-kuRYG-fd{KmpT9bW~EP;Bg z01`4orYIVh`?5% zQDmmr$CQ?u61}KH(hzz9S*tFtIC%5SWcQz4A-W&(|=2>_}o>UiT2Wxo2)#n)PyFSCh?Js*M%x7N;5o-G2u$&hTjq-EiMo*7n(xpF<7C$YoIT!i&ruQy$B_-UQifRuw$DGMT zKm5K6;3v;5TDjXw+gCK!%62C^sWC(c-aU3Df9Rhsh8oKCj*S4GJE0k&)7l&t#Ku)O zt;me#@t|8qk|#Yc)+qz5ZM<>tyd`x1CGR+VO(N}co-`0|VU~E>L{!Q7pf^oDT7`r5 zOnVzG9AOmB?NN&#nL(4vJlh?iQ`m*KIfk?Dl`X1C!teLqw}T&kup}0z&h+;$_%X0Qr8GpqgHdxZ?-DRe19v_}R5h=uhzb zqF>m)dSA7LEYl^SwW(JGH-0u$ndq}F!IVgZ9@h~P5|TnC zE@BZ{x^^l$@g9*mfPQ%hJgc_pbm2-wuLvwbbP))?OTO!jyMxv0+)^{#j`-;I@j_jJlbEw9Cj^2Phg zJwW;8TNAV?08-70?-RsqD~iy%)JFda$!^rS1S%khF6M$-8iM4$!Y6=J@V6BzButBR zV-w{5uVAOwbP<81kW=u=CLmHKVjc6npN;4WUjBg5!tqkoRl2uzP<;F+q&dNd8u1G4 zaq8;|KZBGJ znmM%QBcOaqebZv=-O3QP)J6>mB4pVP!|>3-+hyw#!_$cyy$2q{XVm*$wx_k++Z{(* zNU$L8p(W1|R6D9ZJhS!WCu-J<(^r*I)nfy!h90fA7o2`&fenDHh#fDuuE68I$*-G! z?l>nIIMhTC>{}oH5B6`Dgg1!Sgtm<6CC#*u+JOf-5i^4 zJFdsEGsn&Dtx2&S?+HEuL@$|CFOdMED;sj%_`N;J=DDj&B?@ zbeR24DO-9IGVeXvAzg99IPr5We5NRIP4X$r`H+ENWMfvU!TG+ON)}K!vS{1B9(*(E3U|HR zG@ao*3t{{rZZ~_ZuT>tl7TsklnV29;me-+J(k!TK7YQk|RnDobyZi_C<2IVWY1z`n z6^%|Wq+|rfx)d`Ay8Oz?(1+uQ{vG|SmQHYHyq|z8v=n2t^7W{#&NIKE-|@!lVkW+0 zUZI)ji;soK2@V+ZF36#?Iwg0Nky&b6A0qR1;f6#hdMYMhGp`V|-3=3T>?`B|RUV!T zANPfh?-9Rfpd*1PiiD)Ra;?$40wBRwc9=L!Yfe>IoBb_h5>3?$^Yx-BoLiWIV)Qh} z_I%-@n~z9cHqDs|@u6Lgs@cAFSEJjg=RiK!lF;sknG|nqdw4m9O^t`npX`is35a+q zj_ojK!b$vm*@w>eV7;};#DN4GgaId}$zvp?WSL!CMq@n^&K2IqvIEaF86L@f-=5~!Q9-Hsr4mRDO2 z6y1L?IU&|CokKGgNcRp7VJniC^fkPBd&0DS38exQUKruGfEkFr46W0jpDYt;J ziE^EQ2W8D_V{d5uQC5Oc$3vd+9fSy(ErLxnH|aEn(qzXG?cIiDK?P0&`tpFPcysY; zwNJ2I)ZA1I3Q#JmoxW`O%eZDbVo5ZGNkjjWY_Gf_BY}6|SSI^Byv)QOI=)00z))|U z;1O8P&g4NhBQTpY81db7UgqICl6&%dj^zViLx2Bdi;-8bCO5?LwEP);l(no4f7xK9 zX*U-jq;XF9^>_{#;YC*j$dvx)lNwr;Wb@+b_0c+hH*cc#DscPlZ!?Z528}lZ+p*cSpOkD6L#2N+y!%Jk ztU&wC&J9F<2j-YG%4R%|)Ww<#+{dCV3qt;mienAg+V?W|rU;TWNqJ>#2$uGNzn7-| z2Fa2oaT?@7S@ekt{|cZ9Ji}^aDIqjQy$)TVc3S&Q-@YBL1uLAYk)p1>o7lYqU8hD14T>N;wuO zaAl!!e|&E&RrbvVG6P3UhkZlKw02v>zS-pH|JI>;+lxcnn!?}izwEet~>E$ z*MFY|>KGV;w(rg?QskeUab>!MEzXu{oL6a!IO}T3YSI^aD{H z$leiN8l2QH6gEBpcUhsE)iou|g_WOWF!DG9bEw%Al7Eom!XKy?WEps0iC6%;Wyfr} zA-qQ9wmfJDhDEKnA8~=m?~g4V-+TgBbqpr+qVMqAdG}4B^e0);2z?kXJyFK!mn5q_ zI+BpOG5^Jh`{!FqAh@lHAjPlJ<8Y#hA`nqQ7d77#P-W{-24kB(C@h`M5e^uuu%kvr zaPUQT&wWAM06aAUffFJiUHe8vmK7}J=CDYI!OTWT< z%Y@K56Xr-xKNlJtQh8+*&pxg93+Hte&XWAb5Mb~YO@2G+4$jO|pUQdDG$Zc3khoWq zlKEb_^u6H0bHOySG~?)rZJUbyc9FY3{C8Jl3{OncX&o$W7PtHLmF@WRaABMNrpMz> zPnm$Rt7Y(ZNfSG+>{?d0$ZW?g$Xc-PQ?lNgCBn?9FJ7_5$H~AYy@{xtHU8WU!29n& zlNvzfz3JhnWrrOR!!DlW?uWdIjjESIEPZs5>uHapY%X0l|D9sB{Anc(xg4;5AMANA zcI#{5EM?Qe_=*0&bGw@sVnRcUQ!@HbPy8uDfEPk61EaJJGL^o2FO8WauVfhnT*3c2 zLqoWJpXrp{I~4w{c+T>t5|U!0ClJg2VM61c`BTa;SmOfQ8?^Lo-Di{TH<5v%6>0kw`J7N&k*EK z_xwpWTv53kp{lul29zY?qh2>vOvXixG~CO9M3l9|CKE07_lFlmGuqrCn+KxH{-p{t z*8By2j`m+vVsj4#7l0*oDP8ry-Tq-5AI#YRKmObP<1nbkq9{>C?}}11w`SW$#UDRL zsAZd>ad72#p}Sa`vzFj+UN7<&@ML1J2RbVnc?iPA?GEZq6P+2aiIz>Zht#*qPR~=lMt+@Z4-3YD1~i ztl7a9PhRltoZ~lE_lg|lj9~E|1pFJXysK+Npn>a*1L}hv0+7URZE4|J?rTv}73%wL z^Q#sfPWZi~LBDOc`F%!vTzy9)7m7SnDG-X*c_5Kh|0K`K>umo8bxMeWw4xlgEr6Ue zETG)9BW=e6);^Qpq~JAMI_}|C2M9ju=;v7hIpHLA{omQPOx$^D+8@u{;Ty)(*?qe3 zwT$96`u?-C6-$<8_kQ;oc0%v}c=&j_>T|-4@1dX$lMJ&&81kuZ7A}+J&YvS#ao(Joe!Kzlba#b9oObU%JLWsoUuD2#jOw)Wjrh+x zz~4wGr8C@L&zAoHr~*#5&fP}QwvYyNXKbaXdJzp9jay#JQ$3YlbHBm0^&{=-Qd!u# z%89z>4acO<-1?E$`S_eCW0K6nH?DBc&5H^Q7QPlb)fQNW%-T?m9{uA)0tA7MuYmTE z86C#S7oZ+((z627S4|xA5|`2%VOBv{|CNW153}Vc3&mQk`PK;pp>J(d|m=6QKt-Sv^?{3rJ2ygP~%q(SIaor1sH?# zxPBpWsppc5w&}Ku_NQ$cyK`#yw=Oj*Ul^Os2Suq+4DxRXViQtA$#br5chS_Sv-E9* zl}F>az}74BH%Y0um!VjLf1GcWBkYgitWYL+?&ZT-e+Ti|m!vfgM*+>--`YL|&xs|t z`^n;72YdxVS2k`XdG%NlJ{n8trA=t;qaqN%lo;XM%<3H#TAuR z5H4$^$As~^df8knVnfOCmQQ%YXSXDo%HLA7@S>L=F$7bspN~{GOH81g0dcqNpy?)) zZ`>!>gPe&$&mgihwe8%8^V%hscMHuXQyLX1mRyJK#QZDukzdTp8f5`&*`LP#?&?^U z(*6bDY9mXsx@Nt0zWLUIkLfV2Ss(m`vuvX*r+$%*XpFd(#$FE|RkS^18+a<)P@dEm zg=4J?V3PM z%3KNPHak{HEI;@yCwBtza-Sj=*V*Mh|Ngxs>z{`sGWvPi$P{f&;>d9jfr?B%~8h$jYbn+cTFT4WW@MJ>|H?5#hnMm^fEoax88`srURXU5t2+x4_-QO%WPft>l z`_yl^0kPjz!P~-#+}gDg(KcjLsJTl}M{@fk&CjRCnj}51|49z^o@uRS>Oi>$>&M!x ztfv+Ev>27xMg9t+?83)ah#8cQ*UM1Gj(-L5+VcWrRg=tUH~bPhF8Rf3k(IHJtWUi3 zJkukXybyJ|Z0)!_2tSo80KN&O7_bo26%dM0qIt-xYObHDD-C*TP6nD$u5N;yJxGwk z>`z-ErG_KoxpetfRl~_iDOYT+9d!qt@m&JD<0IxPWl?u&5G8t;8eL`dG-Or1ncSbS$4}V!K=C9NfDE+^iM{^_LNRge z3x+#x`*M5SK6es5TkwmzTeGN|a?9TXK<*U#M~B3O*cTY_)xbiV!@~WV*vpkzDc*4b zf2-9-GwhcJ_H)2%Bn6%kp=>#>{M^3(=SDj)Y9wB+8dWuL{gde6zZS{ap|qShgQs5^ zk>R(#`u`Bkvwji76sb8Fd_cmEhK`u@d8wX!=WL162a+3{>`}+Q3v7^^_DS~0Q&;3+ z>xnxk9f=CntbKZhXX59KaQ1`PWT`KW8#3O{vw`#@ngEJZ^UJzF!hLOAEPYU!4uh^! zqmpR(fWurQZ0Gm?YuTXtzcvie4M>qK+*shUe`J2dl(y^h-cs4AUS=mxww&v>#3BZm z!2LR~*vIIC<0{13Cy|ZStERRQpwqnMF25cmswMpEgoSi)+V{*`H+KWoRd+#6&#hQH z5(}o+Xn1;iqd9fxD{$}hzB=Y<_GOs1U^N7nkY^r2@S*_+3B0-MF)9`S99;)7*4pUD zPzMa0yCwc$z9{+weFB~W{eU%e&IEiievpT`6cvR4;uy9BKIj0!&c*Gi!WrGixOld!821%B zJ8V~@*f%r*|8B2TZ+eREOJE_E1nvjxZ^#`IR?lD;^|84n%RHpvrYlPcd&UYfI!*8J2W*Dn-_Lu>ULHJz=(1tkXwT=mf8b?}g%i?;lYqgny^bX?xMbo*J$YEKbP^xWTpF z-C$h9R{0fI;wVVANTh)TS*Ct0Oa~cLJ>mMB4b((t9C)xHmSB%r5b*37Am8(Yt(?weo7uSgjg4Sa){?OEue zeqD}pV}l3&!_N?T6;|zaX=??vt>i)ryVVWK@qCy=p+Jpi`&GE_?dJa|=*P4u=?00x zW3>KqK6u_@xB3XH^Vin007iHPybdR`8lOpb0Uh!{FV<<%p<|DjS~iTM0vmCMZ7@ z+`tSP|1nZnQ0f#-K)t)jY-7s~J;^yG{9u2jEG(PF)d=UufWccl@tVEbi=-xy$%Kl) z<>|Ja=#Xgs!$A}9ij5`F)cn{v@w%!#L{bVhkbVlPUOJUkR<}7!oA(`(YWnMGppp_{ zVh=3Q=Ys%O2|}t>#0)=}4_A?XoCuv?JsoJQwhU8k%XdIuei^#buy>W+@RD^t}jfX5q--7=?` z#WgZ|S%VCtgIkhYxtl2C+7WNyM>68=msL#h(P^kei^HL#*gT7J!b<-w&1Nq6OM0*O zup$j)G_L;o>VsiQHig_lCc=VGpP^SQIAy|F8qB>2O` zNor!LJBYB0V zWe_`}Ax&mZN5RuInEP`clwwKHqvv;KN(F5}r+(Lo`woRi@k+;x}xl-{q zPqRS|X+rXYbh2n(?Y!E(B5&Hl+mHsM=Hug8RDgkrEDQpn1M#~EdU zSNz?c^23W~vkh44-F&m7=S~B&7he3di8`s=w2fP{4Ayw6VP&b2G5xmV^;1?IHvRN? zjCHP45#;E+L4I1#s}Rvvt?H8{%WZ~Pp#Q?3pdS{8T-HwV`K?>=air*L$9|M!B|B|T zXxz&L`HeRT(Y{>)v1w|wb$&m7DO&Wkc|GZ4QO&*$4>h1Ymr&pI78);1j}4K>)SuGz zMzDHvjk6)upBQcg8-=#3+HK>Mfr?eScbNI$-Gf)sI9rr@N$ZxivNWB6sHv@tRm^i^ zO@k%rcG%TJV}7^zZ=B`?Z_1#R=tdTzpHlN(+^vFIP!le{-3y6C2tT1G7;!u58pjkB zH66lNfsMGpuOS-ZjE-~9X}#7_-*(*|^!>?gy2&f5K7f8O|L{!`=ES`RdyKoH-Y?a& zG~R2}9f$NCTj#&Ea1Z$0YmvEO6roUmQRcC71#xd*joRU-U+v?IX1oyq#=2_l4e*}3 zfIo~wN}dXQddW-EmlcOu_=cxn z$2C3D6yD0|)%zvwlcf8YopAv16IVQ-?=WD--Wt>#6k1!UFo(ylZ-fj(8 zr#j#;p-O$(7k4(1%UJK2p*_0;=IGl71?^p&$|*PLHppSviUI_`7bc7d+&rtq44L!9 zdmnGpKRd@?K(BcH91XzhkC&_ZeS~#n-)P_-aVJAbv04An=76r7{Z&PvC(HnB%Oy9= zF*6eVsjMbVi;w!N48PXyVw6eij~<*Ydr5uUx*3&IK_z#wQSBG)!Gk-Oy4((e8qff> zk8jN;wZhkJr*7q$O5eR&l*wyYTD%MQEKrXR&QsqEVdu58Uixfb;xrwjh7Di5LrZb& zcUQRRWmD5&=>-nEm($4S$jYLUm3>pqpp)-+kw!id{BL~rEr$L)`ZSZKI1zTmdh!n; zn(M)#+;>kAp;51LR3h(W`khzRxKW}gY5NLlZ>dWT#-v!ZV6wgk{w>qGc!1RPq>6`B za9&-?j#JnLgQGolR~sakel|YT$|SCD@-jWKL62jFSKo<~7Ym_iKkHV&qFKcX1kH=e?dpjMapd#-zgC_y$pT}%Ga>f*1^j@Zi$eWuE8>7|NuOjq^#XNEE)KyQL(Rkxe5vrlC{*WMu zvJXaAnAiAY96oq(=tVaTbZV%p+HJkY61`wvGccEYPPhJKZqdwEbmIsKvqrZz#p`i4 zc^soH9Q-M;sq0ogRrB&M+I)(KDl5|dtiM&Qw4?c~Jvg=qc^mrvaumzeY7$*p0arStT$}+4YrZnO3weRG7LI<#IH5S--NDJqGs~GTey00H_D}k z9}_n=7BUJD-(Bj9Xu>er8?UZwXlIwfBa~ypXse%ujiZ}#xT;gB8r0CVK;~96=|~+R zx8VTgwv`L?W7M_|QQ%1P$g$d}Xip`dRM(0y_t(iHo4JB=r?ciXoyTRFP3N`FHVX90 zGP2r&c2$3KoN|9^X|IW@ZtnH9XM*&P0dt8#C758s_Y*rUdRb>_)L(^`pbhZp8nm0u zQq(G`$u2Nlg$O@BwCp0&@=Wt~qP4NIUw8B$U8toR^c@WmqdS<#MzVx2io4^4L)@sr z>EQLp$IHqSw`^9T&1LF7Q#~N6`{Thqg;nzJrLLVn_crQo?3g)@+!ts`4>1qz#KvxO z;ws|hK}+DwPd|Y+6gT?itKXbSw*Nq-JABmUHBwb4CtbTM>HD& zgxDVvz+N2G5NZu^$j<}6E-}_TBs9CWLo+m$AJ=+U_c1k1;0TcAnvtnbZ81U9DZrip zuGwpxm-P%lnkad=LNCYwIYJ%v7I@C;*VmaWO2R$@^{mD?PpM+oPEz z4#d=j(t>4DjEdF>gbl0|Gw$UqPi#^`f*LmMD2F>)J9Fkbi2DN9D;#8oQrGw^AD4QL$=cw9sPs`y*^QsZnZW?n{%4>lZZ6Phj2TK3KVIxPS52K~`9}7Lh1A zA^kv0WyOhffc|R99k&~kR(4xGuR?8chCR=P=W0M~C!-%1)is&|m?z%w#p@myv>1NB zZvoPqsypVKqPk%3Rx94XHytH~_3qheb9VS(QaYnJN0`%86ZXP4bS(~;x=H@?aA5aC z?6Zv%HSPEu?<^Lqs7%Ui|5~q1?#7e^>a~5QZK|2pfsE#@y#t=BD}XEj3O!}Dgc!za z^1I*Soca#Le4J(UrAbjTb%#BuZM(4zXdRjE&)#}m`g#1SBAwI5nk7@VHP(CA7EId6 z4QxQ>t}&iGLZJ@;;lGV&o>Zw1XhVrftw`QMny^L9XG7l)(w(1&jWI3L_VCBr z!ty>D`Wt8i^sa6hJB&tOZpTl$Zw&whL-_G&&fiz1&=-c^YoTUOdtSI%Y}vj>9(&7v z@ZHEcAVZURA+t!Rz7bTfioHH(=x;um!s?Ou32~rJ@?nZ#aX5!8vsENVCBP=`2>Eh8 z`8UrOii3?6lXo*+z$M+gZM6WzNR z#C{JfaVkGE#<@48mHhGdhAr%ybHKhi?U@Fa#b>hrt^8&_G%j->M`xslOjD@^)JCb z^v}$~6JN>=9$O-vt0z)IkNjzIUt25Bt7sB;hNZQqAl@{61s$Tw8(&}1<$lcoYS z&e484{(_zduF+OqQ!ySYRhlh#c{7zh!tDUQf`RSauN%|ajN$?_d)1U$$ox}XMKbs@Vcc7 zlCFJklCLa*_q0y7m%d5YSlFusJk9;xuo}{9R;9#6OZGAzv5fh9NQcav&_}n>7fF4K znjz^k$aZ7YA~cPW%z=Ox21xzPcp|s1mIpFX+=aaFM|966eKv$KCbvZesGYaEIa8)__T6Dy*vzCCf0T}HN&m(5BO(j6BnAv2k< z`=tnCAV^b78#8?&LVe2vylL$~WMZ?qYk4(LBfm5|ew#WNwV5<+=G3-bC#l$Qa5;D%BK50qGj9JcW&j+19&P#D@{%u+#A` zYnqaE#K$Ha6qhi|X*er$!&7?wrz$hlD7DvQU*IN1wbuelp!V$NRXbSoW$sq02jn^8 z6d)r>6JvFJ*)pdmnXDK5tF(%y%NK9L@X`iDM{ZW@_MQkFd2QPF3#JYm*3Kf5cIw5# z;Qks&H=gy9CAFuK?A0B3LG>}l5@hVfo(-$6H5P1@&o#=$?&j1Zer>o{Ct-_-6JLe@ zCYDLItOa=m)A0MYWU=keOyK@w{dJgIKE-o^^l)+J0 zj?Q}mw`g)Mj~;u*Y!rK(&M^8Lmf?mgeGc|Wz29%DX(h33Qr1F0o|{K~Cf>QXS#(Ac zn<$SEn5U57TD)L!8RHCpc)zAb77T-gI$8GAnO-um!#>7t1M&;W9U!`Nw`>Q*%??oj zz5IvznhHN{|Iw54pJLp;ycx2*D?HSq)^t+)AT8!O__~FKmHz<@d4rC{cUJC1A1GJY zP3ZqGxU4(`*_H_{Ps1z#ht|l(Idurqasp2JbQeNVHN2>T-a9BivYlA+8n;lXYQqA% z;Cl6Kr{UPTjhWn~!cadlu19V4uV7D$qTMC-6rkTCry?!Q7U4J($v1H|+)De#7?rMy zoqG1CL#VaK2|AwYfSp)6RBx+f+%iePTot7 zoHdOeE?>PBj+Ppm0p~JXs0&?XT11g8jjlT`o|l zvonD^E(zRCR5x+0wfqv(XyC^Ke(hr*(bjrZG+?JTIT`Ng*=tjN5DFhejS`~D!c7_> zp2{iV2rxgG%ak-PUXeB=@08bG=Vdm03GR)STdW!7V?0i;S7{$9 zyE)o+-q0u8@Ux*~)UZF@T!`G>+M34e!D_(kVDu-j@h2fe-1HekQjg{!7!O;1&t=Sg z2n~ycMi^Pubit?N$m(!uL?y$M#Mn9?V?PjpkSJ?R%t3KZoIK#oYKbfJI4owH{W6*I zd^gIsx$&K8aKn=VKYOz|!BDNeXf`+v-UxG;aAh=5Aj_TLh1F~;+yiI^QKw0g_|dui z!?GAzPA*=8!XDu$Dakk(y9Hb)E|S4j;z&Q0d*H3{h|cPL;o2QrDgD+k{(4T12 zacqyVfNh|m9LQ3={^EAO@lpr0{!a*vNQ>WunXL=W-(!d;uhU*K7398TA~a-pQxV>w z)k$}3#A1m@I21g7KAd$29t^P12lsiBoN>t8jIHaLJ3ei)d3eHX$uM^iQHSA}9fvO& zc8mW0@mL{Y$901x6T@;>jx&O8BKF}4iXr1C=IH@v6-Hw{>Lc_o^+qisQk*8b6Dmy6 zgn_w}z!}UJKb+(IuRhrHK^sE%`3{%y5iF2V)5;E%1&-a7j^z-R^)aHoKZ!Ki)_m(t zkUQ2jKHZ`C=>E6=sOu*YW4wXjl=|_y`=j5x%DKk?&0&uIc54LisiNFxURIjgo^PB2 zm0uTl?!MpuucGVGcPYC3RYbU_*`~@j$rO)&lZQcR|KO>YBD!6-LcO;5959fa+pko9 zuJ~jaGT5W4=62_!$B#WtEL7H$!vSrBmv}h;7~c33h~_y=xo1rSOgH>|C>)`3)qdS5 zy~&5(`0&xs*NpbV2DMc^yQqR>@3S&%gCtN#~r1yJJ9zEgpq(LkdBAUDYLVU&^6SkC;?% z0TG@{+;C{mUkzyAC01edg6ikvC;CPKKg#(CrKvt63HZ*s6-X^%vQjBVOKtL-8+5}lreoV=8( zV!8o)xw}mFot`yj9hL;{n7cN*8VvGpzvzCFlymCe^00aa^{Iq~H?F`sn3Z)M_%<*Z zVVHS?OhIfNdkSv(E?XqsxF_#sYC=Y$k(TGTj$MEE5L3q_IhhM;opg3tq5HL}*Q9nX zoD9B_NwVH2-2~zRrn#1957?AL-pzmDED=oy;fHcUHbduixyBA|aC1 zv%gMuNnFeZ)7}w&X#%k;H(+BRk+(%D`{6`zVfk@5-EG5--)n+qs*#rZ>F+=KjGXVj z*j@+i9I`(=McrIbqpp%*?}95I5vF^FV9s5&In5ub|$y(y!I(&1FnSzGyVIIX7Nxt@q1M`_gK5a@RJK20+P> zeG(|qX}gM!L%qrVaLthk(s;6iM(T!mN#@)`O@ca5LR5YZhXh7?^&^_e_u7&yG@%~J z@*LV>|K`Id|6Vmkk~qho*Kk|6VBOqn6Ox<5(%E+%>5RH=7i#3aAz3_WgOU|zlVH7j z&`cIk2Hek=zdT@a;Cp3MqiNqorqpodz`n2rW zb!FWAxFsJz$^=)w3swD+?5I~B(9D$nM8pjELl{~r2%LW3C^ky>);3c-8Ua_>mfepl zxY80ATA~i6kV=9n;K7R82jgnw+qH{3uzootTB`aqqs~C8*_$81rdLo<0lWbZ?jnp9v zk`?d!15O;aKNOkto`VD@Mzv5{2YEeP@)(;VY?z+BCw7>Re50|+GR?_!z7gc}C-CZA z$U}$OH&ONt&id8MJiea}LOq{;_gMbMbP+gQ)&BjEQCkN4>>kk%%;n;wmxoPbOk21A z6v|YOl}-G~Co(4{1)dL`WSye_u&qp)dKdgvcB-IqO-=kkEkV}lG?MzN#DQ~2p6#E3 zFZPq^M;vtCTX(Bi>RDbdAthS0fgaTH@j><-UL8D7c_}<{%iXd$BF>81pZI{yXi$)~ZP(byMfR9TR33@Ve5rK0KJpX3j@69BB zl`IDN@EQ9HWej%})nwydr)e(5{oz0LX|Ht$ST>lv24J#y^X7^}EUFVgIbaiRmGC#S za`eY+S^U4Nt9Yt|6Km@D`XuqofVX9;wa&Se4hRI+v?;jy@tn!Kkhe@~ zT@2KNV~$r(yRUe4c%1fjAEllQV|dP2Y}a7r@}}oVW((2Bz59Kvp5+UMJrJjU6d8>` z{Mg;3S5p!Woe1Qi{Cpt9?`7&YFs+*P?pDGt;6A3Tob5mi?RMwjqbGiZ_cO|(5hE+y zc4f!?DV?Mk>RLWM&N4; zhl?3D7FtJEQdy#N8i$WFL4fhWG&f2QanyeJvbdL)r-rkFPjHbp0uY$jfwe=`i{ahl z1sB?WuwYuGY)7Y6OCxULvw7R-^g;If2)gz>Yo2>=*PL*A-BbI2upWE)wYYm4s8((C zW6cjQetZ^}sRZ?cCyhXrY=LoV)y7ZfS^qqjk^$sFNt%KiRt8n{!nG5~2cp8H=S$UI z{SFI1iEQUeqt|p<#BPGnS)JXQ`>A$+zvytq)0ODS;{O=>l|C70?n$P6i%;)5lF59= zb*GUpBO`#XzY%aa;?>gR$*V6<<$M{7=cW~=j$UuEhU6GvGc-8+LjRfoftY_Y=B)(N zxcTIrn&a5qxP$Yy>oFN+QYVoWWd76SCyCFqm(h%x{_WCdmXp46xR=8gm%wP1ej7>V zWP$b$Cuyvf^e{yBgZlSe{XwbmJeaS_AMUCrid8Vty6|5srqZCl{UQEi>=R*aK9y!| z#H+UG`1AV=Cv`Lw0BrWI^rJn<<^{C-^gHipz?LW%oCwWjD z(^s;kCRB>L6|+~!C7BM;;A zk~aqpo~W;}UQPi0(hL>dvs5uyHm^zJn&l~erbseXPr;xa&>1?5|Lel3QZ;!m!uv^?_ftpZf-B?T+@0s^M%WNr{9w{7By zRC_@`WyUC`au(o@hFW)SV;4n&sbW{of^X6C@alfOtQ0B;zfl3HJVta`12hVqzYIy{ zoOZ3zM&>uJt9>VSG<$;9kR)TQzM!plf;J1t7~*6;Xf}}m=NJ6KMYo?+A_P^?0%$jO zuXEUb>~k7@@WE<2T&yNdzmS zUV$!gdc}Ts(51vdr)x%_+wsRsrNG%$ne0nhU1*C9|8^BSF{ZE_o?+cKWpsYcu@=+e zo4lj;+)Az%r<14yRXWuRWz})oFVKE4%IhS7X{!ysC;fl0M{Rk-pP=F|3mLmvoKmyDh|>u>dJL}X>~46LGYER= zIqv)8p6e7t7I~}h*FZbDyk1=zQvS=*X@tH5DEY_qLV=-qz+gW20%I*E3wFL8VM?yT z&&tfls6RlAKl>Kf6MWrrUhI0*LY=h1(1<*z#&^x|{gTTs^;aB8;Is!txj$dh2Ia1l zk>B~st~`c#8lU*!(#J%xF_7g_sly>@YWn2|RwvkBf$D1h_r2!65K4Krcy5i%__+m| zRfz%3y52(f$*+@FB9y0OL`*yR0j)xQmD=ir+@touOBS9!?kHqute|@BM`8S56D_2> zqNLD23oN9@30Vo*9n+6pCL-o3U1OT#cY|SOdiHx8mMPQVHyeWa8`P80J9{J+{q_XGNBKuZOWL{z`e!lGPV`u* z>Y|v}`_gRs_;qNo_%%k^JNP@Sp;#=WK&TjOy`8{fg1~_?0|pGySXZ7;uXV&P`B73J z*#3D{!m%&4qf9)y0CQ&jDRd4`o7+&fa;W6@>ycTLh0E9?fj1|ZJlOlMWHo>&2}f{_ z!8(#lP&F@uiS}c_Cu*|gM4{X22waNHlTU%?VP?CwOibIHUtz2Q3d^yZ(N>HEU(-SX zJf>t&n>|(8MW;;^OQ~XXhM}EfhfQa%dC9k)xOZkU4V@SZL)$B$ojXj~=@a)mG7|bzKp{(A+ADbq zs*Z@XOBcdO+ZYgR*BQzokywq@!40C-+R^hEcPrWL&cL5%dg;W9b1S{n8rUW@oTwj09X$z*(=f~aB!L-zlOQThV5^1fjt_oVHZa!#V$q;Tk zs}W**i94clByvd2e=CRImE?3fW=xc^<^@n?G=rjFf4XL^#>N3uKMGr-TM;?6nRQ|1bp8L&sjlo5j={dqtbMaxtM zx_CaUEgc#xVBDev8>uP2#oZ9zc&bym@AmU^@VeF+rfV75lD*h)lUJx?#)RVX3Uw7( ztT4t(Gj*U_(L5_E_N|yL^;5TMKOTx4-JHI06bkRT+2rfr^CDzhP)k$->FZW^qCKu+ z^0`M=tNl{W%alBl@6h7J`jZ-KXSDB&&)TC6pNcJeY}MKydB%n&ex?jQe)ZD++|aJI z;Q14PpZmd9EVlpUSo=vAkw_l?C_0 zbyGyHrc~Wa?fizjYlNwX*%u~72Kc~=-+hGLxApA3?P{GGn-9SMz8(0Wl=5YjyPKlM zh#Iqu?bjU?{033vSILq^58}4@=Z0dLZO~=bquDcKbr5)S|Lls-vPgXuO1<-~aV_w0 zd8{8b&RVhGG;Fl-WUFN@!qTAJmZ_|gP?;sl=albhco-oRJ?T%ta|1e%W*Ro;BYHve z$rTFUK6|~#?mCW?;k0baStrX=1;Xu46#_UfQnhkH5Pct;q<-#MolIA;KIuM=lJY0; z+Qk&FgCjHc`)5T0$78lRuIJs!oOd-YE$T z2r?L%0mi^yYyFu{6l%B@nZySo?p1{L3X;QCQvzGSclL6$(M`tK z2~d&Ti=*6~kWCns9B*8krfmP6ll0)g54`3i|L-!&QAzpIzr%9G+`c6|h^^h*pcQF4 zd3p6H$m5Neso*P?Im@m4!BAUVV2EFQOLc8EgsjnNtkbN1e*H&GKHq`1#9NxUC*{2~FvFS1A4l@_*q&Om zn-AEjE3&9>;>l+`S$Sd}`xqd@XHz>Ew8nU@F}kZ4E2@Z4i+s98uld4C!Qqc29uKv% z^~!A!0#DOmJZ?_=PxkYl_@|-^C+Cp%kGxy0@{J!EehD_%{REL!S6!a(pOqY9US$28 zyj(t$S4eI&99ht0)FGmDiq*EHs!*rYz0yrIVIS&;wi^K zQ^IQATEPDF80Op9THPl0WSR8{rQ+;LStH$p&d3V(H#yp(*Pu40o!-@v$BGEjh!k2tE}Hos#yt-{R)iX zau(zPXP}JTF=LrKKU8oGu{_!EDoN93vvEiC>(u^zjMrm<--6f4G{Lv;0>6~ZpqG9D zrDVz%Mf$IGc8@N?K(lGMB+{)tsAm@?SEgK9B<<1D@IVHD>h|6vLVG&9(Y8QHQm?bW zgY2^%2>bX7+u9%gZWOtDn*&?)?-dj;UC99^ryzLJUidx`$|_KRfx z*JY^8lgTc(VtY5aeOJ~K&1&g+LNV|a<^j6so=bwJ# z!Lv3yU!jDW5XpU!!>**^mUr}fl)(z&C(W^Y_0Wv2z0P-gl~LRKUmMR<*#+I2Xnk0f zl|mbg^P6uoM@?l&Y-Mw1YgrtGV#Dir0RZ+W%F1hj7@(z#8rd$e6!Z33mIq&lY8j$B zhoFNtY^Uubi4(ATt<9^_x71>cj9w|La%OB~T+5N(xIaxK{RN%q1MWO4^LwEIE6<=i zOx{m#0fIloiaIQg-~0rT-tceH;|nBD`bH;R*n43){T#Ax8Ah6n%$N<; zJl$3Ha+Bp@Sv5*Av!l06+$hf~+;&kOe+6yhrUq!liYR?=#7Lm?c`ew|T>p8{@@Hr~ z*BeeWIi;HE9 z1=s(m9p-@oj)|z7?QaU4DFALW6$%eVEk-YBSIL>G$`(PKvzwmW6+}H_$pQQ@zHC2me9*WV%O>!J6 z1LP^rEY?e^<)*8~+hxj-i7H@IviyGTk;HZT<$nXo#Tu+~_r@uiWev5~9l8qY+4KDC zX4sU$b+CuweweZ(9EaXUPaB+f>6vrk;PHv|Ib-#&;i%E+$E*7ox)w+}ynKhyR>1HM z$+gdc5bBG?+g)!HkV}U|{i2Qd4A2%e$)P2%V~+UkF7bxQt-$Iv#v8}RcZ5Wolw5kg zV%l*yLnV?ns@SB#)ZLRd2+npC5K9lJ5BR9Yal3izkBT3|SA##A7GuPj0p_EaKZ?JV zdch4?mFj+dcFPH^ee_u@j;fpoKY5#zxA~=tT-SH*oyV=Z=1G0o>t&Ze@G|tSTuO!6Glp(2=R?3vEja-cT%{1Hajg2xZ4VOcoBzF%4^cm%0zyTab@rYaD=I_8Ru&p2WH0wJ7p5OuF#WIBST3?_v4&G zwuj~zuo&J2_7r3M|7bcFZ>ImpkGoVVvPvbnth-9AQq5(yN~NoHwIWveluC?*ja>*y ziX^FAR>}RcB)QGzerJhHZeuQE!#3OOzI~nFIlsT*ea`E3-p|+b`FJo3mG8^f6T8Cg z5V>AgNN}-*vO&7ej%_SK;0x6(ypt9Gs>$We88%0GCe6>w=5%B_slU*B@RM-&u^s^b zFTSUe4il2oTM>|DXRxnzU}AHVzpUMKB&sIBED5GK(K$ar9LF3O&4pgZzZFwn-j4`g z5?!_=5AOzzY6Bt$IUD(M@Czd=Ax*OTq~cWCgwtYFa2kM(z(w4+B6B3m{6rMTeQwDpTV3=vxJ>%a`PC ztlnOR9czM!wI(cl--x(DZxpNCCK2f&#e^IZJ$_B`?{Ijp5kX{QC9%RAgLmTd{}SDQG6*n>(t-yk-)F?(>A1tJ0HYv6RC%Ip8t2_~7MnX_J*FPFgP( zt!V`gpX5M}5UME;R|J^%`u%{R$kKs15qNyaTtk+DF5!w%iFC{qCl4jd^k_-sZUiYR zDQt5L4CLTHURx|_Xz$Xc)8s~~^FtGV4I=<1jozwy0PKh0G}TMrcKS_xh?~vGeb;!^ zW|f17fJEQbdwn4f2wAj)Q$y4yiX{Yi>^jNI$u!lFG6k1E6V&l( z`1htjGeW;e;y`_#ExRs>Koud>nH240v`ySwgY-$_f-B_L?H=2fM862J!rgZW)F*h< zK8~6x8zGEdQ+^2KW5zs`_sjQiXQQ2R=(Zw`lJO^=at&8E|GW%<(O3T?wBu0yNq8om zX(p3k!d8QrM=R&VrD|iK+*l2s7VrDgx9Yg%~ek$Md4J~wy$VY5@wje3JzU@X5~q&J%rV$4&OBm_99eX zBh)ea>>HrCv(_tpA_b@ELGm71{R*NiU5H8+UtKJl%)sXft_B`$YDvf=k^ymt^=_$m z7Cq=_T$^XJXT)kHTxCCx#}EE^@bb&ZOifQ$Mz1))L9p#I19WeXUR#{sHxyg-pYB9J z{FP|ue+>K8(0jq-#1o$Z8oYGsxTD(K`5&zX_3$pY+<6JtlwsD?zAi)K)vCq91>S0- zK$BB*@JX)~!4OhFHVZ7EV`jQ@Rf@lJZScMr{V}L67taUygg6p+@`GzrD0NT%G#D)3 z0Qkvkp`@Y{ixjhV9lL#vf}3L@UmTW34oom6UQzE^X3dPTDN>H#bF@IVTlm|DB^s=8 zCixHaLw8e5uec=RLq?n~Aq${*AN+N3~vtbK1o^Ruo@ z|MZz#vk-hY64OazU2d@MDtkp+rk%Va9(GwVWRFxX&amG8YnNogu@JyrR3=rG4;)ra zsTYpVdCLSwZB5@scwc>W!a!(-j*k+`;0ctE$k`WjqHtjX`?)M!B!B&lhR~oL$Lg*szv^uGLBA`H7yijO*BEqjN%>A1K zAfwP=)BNb=D8}XgKG|kU%}Se@ zS&B#M=vR+|GtQm~48iC#GC%#yc*$r2kkdz(`jGpx)QCtE!!>tXW?yGOes z^b}WywTcAv>;wG|WrMqBH77${9{Y9Eco2pK_9lH?$K%aS%v9N7!9bDEZhrd}Q1sLd z!+W=y##diFu|j#wzW6|EiWxeK)lcY;trV)>D|XQYsm*ta%c(lK4gWD{AkVkl<)7;4 zmC8bV^0U`5;P4ngLNs9o#7h}t#B-H~6Spg$tF8Y{HOZ)rK9Jx7PV=8{>-wpR$IFkd)J zV)9sP_y+^0iKRq4BqmZOfc1c0-VH4s3%+J|ZV)A2pHu82c@|vnGd!m^lI-nxI_+t? zwFzw8pR4Rc>r}L61fQ$Flasdk_42l^3)QyC26)0RzZkfocj$$&F{<7`;~8*|k)-_2 zmS+#qSFcy$WCD~V`VCBeDil`V)%t68QL;?Lg1%} zDqBNb2#X-Kc0EA~8?Qa$TqoXQkqda=NG$N|rSI=Zc=+gxGU1Z2sVu4)s2mGPULC6$ z@3`vJZ4RbQU>LX@wj^nq35tW6t^N3JCvlRGQEdNN10Fv5rsC`H(&O@L(1se_-W4RY z==}D=JuWi)#j71oYOi-2Fa6h~>d9+%;p_$KKl9gF%+TDe#E&F}d;p>|D@sA3unI!! zYvBnsQ@IvAI2q`{hJAWVFis`%jNX^zT$J03PRJ!CvhHU|X0&=!Zo)Cl9>?i;G!p{| zN2~7+0guFQOs+5h27R72zf%Pb^|PAi(n6iCGoJd5+6J$zdDwpJehIR4g9ylxHE&df zorr1+xA;UJn-rH!_zV-9|Ep`d0dDI2l&Xj-Ck3ZtE*lz5ib%7W>FurIO)J5@#-ur3 zCG=Y+^zdawa;W>nZ8Ni%uj=b3Ot;wOpUR*19=pVegYVV=Dqr$5C{DiN8`9SYCd#&9 znwF#P7BSXWz6lagU>!f(TdB)UfX+3H3;*Cr@PHahoWc>+=7jI+0=Xr641;jsJ+x|(&5cMOFAE- zwim|(DayBe_o1;#bpk4RlYxd2<5|_+tUs;c2x~L+O@kqpH?f8{gCU})Zx>FHQV-T+;1bFpT zvSB;G`XaxL+uYb|0<>qWk82@`Vp+lQD4B0G9^tH+SakQr60>+C zeVc4BVLVOxc{)lYvk>-?~N_f(ruWH4hLpEV96YBvh2C#(| zY7=*Ab3o}lD`Br4{yu}-tV?2D0Gh#tRpVLsl8`@YO?i!4BW(7UYPeA6`_x6B3DpZI zM)sw`pZek;p(%s#3-5%qIT-m;pl#OnXAe4oW~!4Jll&%_Ty15kaq?{l#HUDd?I!>6 zS9V7-%7rUUq%g3CGq z(~o|AUe<$!*JPI}PEsq3>k|H@K`TZwI=dXYDI=V}tiU;bY3r!}1`Z!WO4>};kAjcB zIt71skVy41OYop8Z&Azx`Q4?h3fGcY}eNtZ9?2Mn~VHCH%<$d3Pal%767y;Pb#2j5(IYVKiQ z?ZLy@(bvPhKJ)J0ane0mV=(#9dN0WAL$sl?*N~A14h~vGsDb^|D=Ha@fHtKwfmBsi zvG3bbd=;+8aOAP{W{;cXZ->ix7Y8}2oC3`l%nKA9@hP_8KtcfB*=@4D(<9})q728i zFXJi@P@H^0Oc?OQh}{_F)xPR`Grnh3K;;~17_Vxkgvg_S^4Ehju?=`y;bQB1 z?rlB(^7#h-#ih-UB($AUINcd6YMYhvYeQX(nf`lRp+`7jpvx1fo2!Ujx)(w1oK=Eu-#{&#iM+39vR}G0~NEjxhd| zxi3;SOe9x}a_Qp`q|DT|TOgR}-(=Z&IqsszFh#eIf6Bu)oR9%*$9$#?i9$K7p3|-P z3}CS~NY+Bx8UH7nVSk=K8O|NAfRR zHFJ0t?7C{dG72ZVy5UyP&-U=ay*@Q#*~|klGpa`S+M<_8!9T-9LRGXBYh5b*Z~hPiL`$Ovl3yekbdnvLy)9Ks*>5B`tYUk$efY9U89Or>lU zGR9=oey}Ucg7r89*bm;`e&kpW!9HaFZ`bd&T;WXe2%rkWAAeHF2qAXwvB!-l-caaH zy>D-EgLiqoZi{_)d}e!^eE@JRvfJgBENL(LL8hnHqWcFk`X)f^1Cg#-)c6msMSA_| zErI_;9190^G1Bgcy4p%!uBQ=|6jD`g_2;u9V!#$RE!d^+w>!PdpgC?k@>;le{bQ}C zIK>qpy2n_VB+BeMtAs`?PRz8N|HN8pTuJ{Tb1K(SXj5@^zX%2JIr3U}zNu8l#2z2* zCE~sXiu$|V3BSwgxzmD@hF^S$LGzT!*sa#00|)Ld#pupU7!U8SyVtf0+ilf~3YR1> z$ca2{*vt*bXA&*+2WcM3&wHMB4Up-{lxQ7|9#X)_B25-{8vBAI%!3znoOkncE|uoe ze3Z_R%_jc$@E;BNWPU5%mni>ZTt*vUfad~<*;WzJ|UQ(AZqX*T#KD1%go$dT+NPJilReNOAJI>^Rz*4l}Sx|jsEpWtoK>n>_MjBui zSJ}A~oH3Xqi_1B6tnal`${A_q&}4-VX2!unYR^3CM_hPJ%Y_m#PTXZ49-!P3#t*{E zP+?NNoANYpJN@B5lwpBbz76f@Zc;y8=cWuSx(@qLJF?_Os2n!+jUV+dRJ>rK#6rwxV9naqeL7Lee|I(2fER~H zy~qaQKH!AK0N;p}+~_Sg#WyB3u|=9(M~6YmOc2wU|J7G%vfXU<1>KGXxTeZM(9DI~ z3o%PK+5z0)-UA&A{Qw7MF0Omwliwxs=AqwrypYL08A||RE1ZU9D4X@pZLcJZUIh5d zYVoI9NiPDKYO{M)$MfM^@b)kV(o647qTnynK9M-JD;akYC>5}?oQ2zzPD9hRu|I$= zcA``5!D&vY4!0#CkG-Fj81&csg^pKqP*zDxyG=u35P9J~ zl$IQdNhS+DUZ(iDiefUlYcN6!>}Zs_fhseR>JBg|$z0zwawwsP%)1&98gD#C!ai^+YBk z^Endbh833AfNKsM4eNfHg0=q}((W}|c92%_Gvh5?=^Rz75BVw2<_6<`!+x8QCPAU4 zwe3{R+db8fQ+2dKZe^;V5zVy8m?dC6AhENZsG! zsGQ|pg0$&!(zEe@vanon+l)>^)mr*89T3aBpAPvE-=iCQ?e(KrFr3PTDd)-vY=&$q z+FjAcP|D`0YDaZ4;i}*Akg-j{(b1s63k<1z$)Fq#TU@f}%AE+)7G=~0q?-8!eBhXM zU9juS;6&LVI2tdeswxJ#5+$)>$+k4Yz6*CJ2y4N7H?~MqS26In(6^`Zkr?%&IYG@>Tr<4*<5Z8nMb&dc&9_*xw9DLA z-Gx+)3>p)E_RKCHrzy>0p>jS@wUJO9QR&fs!Dj~)%=vM5-|m}|d-r)dTbR25YgNo8 zF}XY7tYuh)QM~!kr*H9WQWk6RT#eO#1Z%(cKQWuzPjy#)-GvQIScR7&C0T<&1&Yc! z_lK@pAWGWiKuSKTUo;|+);EQf+G`@G8r0(^!OFzl$7@N#C+^C7tN#KcNQMc&=5a-a zCG21=PYOTq_nqIyzqR(rg9;^2u&U6dM=x3IqMG(^`u-El`O2Y3oACMN&TYRfUYR+8 zdswyJ4M&Q;UVP16t@HT}_3PL$=a1HxH6NZaE+^0E9@VVsAxnx3?e87EsWL$<^#-o@PK&=Y?|Yz)7_jPZgD9#4c2J*&+_VxvAN?8BxMM0xZt+^* zi-Yj9codf<_XL$M=lM5YuK4ek@MeXzW^-#_?d$JLTGta#kNqWtU=QT!2;yg{Lnl#A z%1&qD#op#NYk&`DBlj9`S^DS1Z8HZo9?(iw4~rZw-yVDG?0@T=uVFZqd2p|S^wj%y z+Pg3HH!P2&OG>`<$NP6p#aerRcBE!_9qu9o40J5CYsrMCdM|{S4Et(L&X-!1{etps zQ9GB*B56=XMkeM<$tvE?JI(a4_375P#S%aD4T#~FsVfcqCury|o5$K{<8y1gC#*Gm&h#RJJIqV(0fod5Io=)AX)jd7>u}2BJE=jJqdh(Ef2>>I z^E$cyp(kyfpVit`ke@K*ZRK9ODqS#q^Nqi9xxH`GvS}C^ZV22Q#;WOp+FELaIG5ac zg`Ltx4MD|&Bjjps^MddrF^_4Xhu-G@{8 zMSiSkqV@Yr4W%~a8Tt3-X)or-$00{@t+w`|J&3pNx$wuPkFyu6+@#daZ;31ThgK2a zfidUfMfOYekcyMpltVc5Y6pHb$#ORh#Mp1%5VOy$`X=eb9p1CWfLcbf^-^)z?jQ0) z-JOqwckZH?EjY>bI8o9$XURcDaz+y@j{rZwG@>E>@r`&_2A$jl+YU(uL@&EgbeqGCW?;QH> zx}U#R4c_xUwF+`@wYaxOdc^VPwlMEig7J%8kko5AQmTKxKs zSSxB#EobOeSGIbF{V$)JVimRV2x~RVWv9gA=f&2kTi*SLZ^j6}fmLaGXy6;I< z)y5Jo?kBRR-~wB@`=$#-NjV!9h}?dAY**vNOmpsMO59L-rMvzzt?6r;kG=ujkCr9c z7tWmqM2J=+gWxMdEU>Flb7JvaN&=&V3LFS^a;1XL=!i*!ZsRD*8nCyMiTe@;k#aD+ zTkTX)Y!;M8Tz?=`D>7WFJHkcfu5jK(>7avH7mqDr#p}sLdI>vX&PQ@+Zu{gGPRm4~4$pyQO)mHXySo zofF?bgPvoT4#38vXq*sLXQiFT==Bh$96!a!-c?C_q$sa@Uvcxhh6W%B5R zf28CRiep9ZGX-%Bx}TJ_5qS&wDlL-5%k#`gqM-EVZO749+s$RqG)Mf+3RaDP`{NVj zf3}4i`uFB$*H%u?pzl!nt6thG@~OREKOK3~&B`h#yPf (?Ot+arBmY+#+^IQ&XB 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 z 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�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 M~X83Bav$Vr|rRhV^&Hu?~a?2WoYbUZi%1RF$ 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

_(vhruF%$||oyvA3yS$$!DkSXO|WnTaCn%@t(` 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 bA1aimgfBj_*V~aR6)_v2h}^z*Z6AvE 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
ubRzLRF@k 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 literal 890329 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

ComQGfV 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 z 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

O4!-3!Pz~m!+DUF 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
m;ePpqwt;zx?YnVol2lyt0M= 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 z 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

-3PqilwL6>6G1( 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

F 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 H(og>d2W$0c From c0984b1402ddb4bbe386e8b819336f1cbf6bdab9 Mon Sep 17 00:00:00 2001 From: blam Date: Mon, 2 Aug 2021 18:03:41 +0200 Subject: [PATCH 111/712] chore: fixing up the typescript issue and fix up changeset description Signed-off-by: blam --- .changeset/purple-rocks-explode.md | 2 +- packages/integration/src/github/GithubCredentialsProvider.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.changeset/purple-rocks-explode.md b/.changeset/purple-rocks-explode.md index 4969a42a6b..86f575e317 100644 --- a/.changeset/purple-rocks-explode.md +++ b/.changeset/purple-rocks-explode.md @@ -2,4 +2,4 @@ '@backstage/integration': patch --- -Fixed bug on when compared in organzation name on github +Fixed bug for comparing Organization name in `GithubCredentialsProvider` diff --git a/packages/integration/src/github/GithubCredentialsProvider.ts b/packages/integration/src/github/GithubCredentialsProvider.ts index 36cb0ef14d..ba30900358 100644 --- a/packages/integration/src/github/GithubCredentialsProvider.ts +++ b/packages/integration/src/github/GithubCredentialsProvider.ts @@ -129,7 +129,7 @@ class GithubAppManager { private async getInstallationData(owner: string): Promise { const allInstallations = await this.getInstallations(); const installation = allInstallations.find( - inst => inst.account?.login.toLowerCase() === owner.toLowerCase(), + inst => inst.account?.login?.toLowerCase() === owner.toLowerCase(), ); if (installation) { return { From d5a69640bca9495304751b5ea8d0ef54a9508fa6 Mon Sep 17 00:00:00 2001 From: Christine Yi Date: Mon, 2 Aug 2021 12:07:31 -0400 Subject: [PATCH 112/712] update api-report, add FireHydrant to vocab.txt Signed-off-by: Christine Yi --- .github/styles/vocab.txt | 2 ++ plugins/firehydrant/README.md | 2 +- plugins/firehydrant/api-report.md | 4 ++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/styles/vocab.txt b/.github/styles/vocab.txt index 48740ef367..c3ad830034 100644 --- a/.github/styles/vocab.txt +++ b/.github/styles/vocab.txt @@ -83,6 +83,8 @@ facto failover Fargate Figma +firehydrant +FireHydrant Firekube Fiverr gitbeaker diff --git a/plugins/firehydrant/README.md b/plugins/firehydrant/README.md index 98f36eb4c3..572e873c83 100644 --- a/plugins/firehydrant/README.md +++ b/plugins/firehydrant/README.md @@ -4,7 +4,7 @@ The [FireHydrant](https://firehydrant.io) plugin brings incident management to Backstage, and it displays service incidents information such as active incidents and incident analytics. There are also quick action links that let you create and view incidents in FireHydrant. -firehydrant plugin screenshot +FireHydrant plugin screenshot ## Features diff --git a/plugins/firehydrant/api-report.md b/plugins/firehydrant/api-report.md index d12c2499c9..32b21b9906 100644 --- a/plugins/firehydrant/api-report.md +++ b/plugins/firehydrant/api-report.md @@ -8,9 +8,13 @@ import { BackstagePlugin } from '@backstage/core-plugin-api'; import { RouteRef } from '@backstage/core-plugin-api'; +// Warning: (ae-missing-release-tag) "FirehydrantPage" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// // @public (undocumented) export const FirehydrantPage: () => JSX.Element; +// Warning: (ae-missing-release-tag) "firehydrantPlugin" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// // @public (undocumented) export const firehydrantPlugin: BackstagePlugin< { From b24a18e4069afb6fbd61b71c3ce5d6e7eeb1cfdf Mon Sep 17 00:00:00 2001 From: Camila Belo Date: Fri, 30 Jul 2021 18:30:01 +0200 Subject: [PATCH 113/712] fix(techdocs-plugin): do not sanitize safe head links Signed-off-by: Camila Belo --- .changeset/chocolate-cake.md | 5 +++ .../reader/transformers/sanitizeDOM.test.ts | 35 +++++++++++++++++++ .../src/reader/transformers/sanitizeDOM.ts | 21 +++++++++++ 3 files changed, 61 insertions(+) create mode 100644 .changeset/chocolate-cake.md diff --git a/.changeset/chocolate-cake.md b/.changeset/chocolate-cake.md new file mode 100644 index 0000000000..36abca944f --- /dev/null +++ b/.changeset/chocolate-cake.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-techdocs': patch +--- + +Avoid sanitize safe links in the header of document pages. diff --git a/plugins/techdocs/src/reader/transformers/sanitizeDOM.test.ts b/plugins/techdocs/src/reader/transformers/sanitizeDOM.test.ts index 8e5b245941..66019fb74f 100644 --- a/plugins/techdocs/src/reader/transformers/sanitizeDOM.test.ts +++ b/plugins/techdocs/src/reader/transformers/sanitizeDOM.test.ts @@ -110,4 +110,39 @@ describe('sanitizeDOM', () => { expect(shadowDom.querySelectorAll('link').length).toEqual(1); }); + + describe('safe head links', () => { + let shadowDom: ShadowRoot; + + beforeEach(async () => { + shadowDom = await createTestShadowDom(FIXTURES.FIXTURE_STANDARD_PAGE, { + preTransformers: [sanitizeDOM()], + postTransformers: [], + }); + }); + + it('should not sanitize the techdocs css', async () => { + const techdocsCss = shadowDom.querySelector( + 'link[href$="main.fe0cca5b.min.css"]', + ); + const rel = techdocsCss!.getAttribute('rel'); + expect(rel).toBe('stylesheet'); + }); + + it('should not sanitize google fonts', async () => { + const googleFonts = shadowDom.querySelector( + 'link[href^="https://fonts.googleapis.com"]', + ); + const rel = googleFonts!.getAttribute('rel'); + expect(rel).toBe('stylesheet'); + }); + + it('should not sanitize gstatic fonts', async () => { + const gstaticFonts = shadowDom.querySelector( + 'link[href^="https://fonts.gstatic.com"]', + ); + const rel = gstaticFonts!.getAttribute('rel'); + expect(rel).toBe('preconnect'); + }); + }); }); diff --git a/plugins/techdocs/src/reader/transformers/sanitizeDOM.ts b/plugins/techdocs/src/reader/transformers/sanitizeDOM.ts index 84dea567a2..828c0eb052 100644 --- a/plugins/techdocs/src/reader/transformers/sanitizeDOM.ts +++ b/plugins/techdocs/src/reader/transformers/sanitizeDOM.ts @@ -14,11 +14,32 @@ * limitations under the License. */ +const TECHDOCS_CSS = /main\.[A-Fa-f0-9]{8}\.min\.css/; +const GOOGLE_FONTS = /fonts\.googleapis\.com/; +const GSTATIC_FONTS = /fonts\.gstatic\.com/; + +export const safeLinksHook = (node: Element) => { + if (node.nodeName && node.nodeName === 'LINK') { + const href = node.getAttribute('href') || ''; + if (href.match(TECHDOCS_CSS)) { + node.setAttribute('rel', 'stylesheet'); + } + if (href.match(GOOGLE_FONTS)) { + node.setAttribute('rel', 'stylesheet'); + } + if (href.match(GSTATIC_FONTS)) { + node.setAttribute('rel', 'preconnect'); + } + } + return node; +}; + import DOMPurify from 'dompurify'; import type { Transformer } from './transformer'; export const sanitizeDOM = (): Transformer => { return dom => { + DOMPurify.addHook('afterSanitizeAttributes', safeLinksHook); return DOMPurify.sanitize(dom.innerHTML, { ADD_TAGS: ['link'], FORBID_TAGS: ['style'], From db58cf06c24de1382e25f490f22bb5bd460addf7 Mon Sep 17 00:00:00 2001 From: Camila Belo Date: Tue, 3 Aug 2021 08:56:01 +0200 Subject: [PATCH 114/712] fix(techdocs-plugin): apply review suggestions - strict regex scope to avoid security issues - add techdocs prefix to the changeset file Signed-off-by: Camila Belo --- .../{chocolate-cake.md => techdocs-chocolate-cake.md} | 0 plugins/techdocs/src/reader/transformers/sanitizeDOM.ts | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) rename .changeset/{chocolate-cake.md => techdocs-chocolate-cake.md} (100%) diff --git a/.changeset/chocolate-cake.md b/.changeset/techdocs-chocolate-cake.md similarity index 100% rename from .changeset/chocolate-cake.md rename to .changeset/techdocs-chocolate-cake.md diff --git a/plugins/techdocs/src/reader/transformers/sanitizeDOM.ts b/plugins/techdocs/src/reader/transformers/sanitizeDOM.ts index 828c0eb052..73c3bd2237 100644 --- a/plugins/techdocs/src/reader/transformers/sanitizeDOM.ts +++ b/plugins/techdocs/src/reader/transformers/sanitizeDOM.ts @@ -14,9 +14,9 @@ * limitations under the License. */ -const TECHDOCS_CSS = /main\.[A-Fa-f0-9]{8}\.min\.css/; -const GOOGLE_FONTS = /fonts\.googleapis\.com/; -const GSTATIC_FONTS = /fonts\.gstatic\.com/; +const TECHDOCS_CSS = /main\.[A-Fa-f0-9]{8}\.min\.css$/; +const GOOGLE_FONTS = /^https:\/\/fonts\.googleapis\.com/; +const GSTATIC_FONTS = /^https:\/\/fonts\.gstatic\.com/; export const safeLinksHook = (node: Element) => { if (node.nodeName && node.nodeName === 'LINK') { From be87bc05846d61bf1ebbb78922c89197928940b0 Mon Sep 17 00:00:00 2001 From: Otto Sichert Date: Thu, 15 Jul 2021 11:45:43 +0200 Subject: [PATCH 115/712] Remove stale TechDocs artifacts after publishing new version for GCS Co-authored-by: Camila Belo Co-authored-by: Eric Peterson Signed-off-by: Otto Sichert --- .../src/stages/publish/googleStorage.ts | 100 +++++++++++------- .../src/stages/publish/helpers.ts | 40 +++++++ 2 files changed, 100 insertions(+), 40 deletions(-) diff --git a/packages/techdocs-common/src/stages/publish/googleStorage.ts b/packages/techdocs-common/src/stages/publish/googleStorage.ts index 9def24722a..349d6ead97 100644 --- a/packages/techdocs-common/src/stages/publish/googleStorage.ts +++ b/packages/techdocs-common/src/stages/publish/googleStorage.ts @@ -15,18 +15,19 @@ */ import { Entity, EntityName } from '@backstage/catalog-model'; import { Config } from '@backstage/config'; -import { - FileExistsResponse, - Storage, - UploadResponse, -} from '@google-cloud/storage'; +import { FileExistsResponse, Storage } from '@google-cloud/storage'; import express from 'express'; import JSON5 from 'json5'; -import createLimiter from 'p-limit'; import path from 'path'; import { Readable } from 'stream'; import { Logger } from 'winston'; -import { getFileTreeRecursively, getHeadersForFileExtension } from './helpers'; +import { + bulkStorageOperation, + getCloudPathForLocalPath, + getFileTreeRecursively, + getHeadersForFileExtension, + getStaleFiles, +} from './helpers'; import { MigrateWriteStream } from './migrations'; import { PublisherBase, @@ -114,49 +115,68 @@ export class GoogleGCSPublish implements PublisherBase { * Directory structure used in the bucket is - entityNamespace/entityKind/entityName/index.html */ async publish({ entity, directory }: PublishRequest): Promise { + const bucket = this.storageClient.bucket(this.bucketName); + + // First, retrieve a list of all individual files in currently existing + const remoteFolder = getCloudPathForLocalPath(entity); + const existingFiles = ( + await bucket.getFiles({ prefix: remoteFolder }) + )[0].map(file => file.name); + + // Then, merge new files into the same folder + let absoluteFilesToUpload; try { - // Note: GCS manages creation of parent directories if they do not exist. - // So collecting path of only the files is good enough. - const allFilesToUpload = await getFileTreeRecursively(directory); + // Remove the absolute path prefix of the source directory + // Path of all files to upload, relative to the root of the source directory + // e.g. ['index.html', 'sub-page/index.html', 'assets/images/favicon.png'] + absoluteFilesToUpload = await getFileTreeRecursively(directory); - const limiter = createLimiter(10); - const uploadPromises: Array> = []; - allFilesToUpload.forEach(sourceFilePath => { - // Remove the absolute path prefix of the source directory - // Path of all files to upload, relative to the root of the source directory - // e.g. ['index.html', 'sub-page/index.html', 'assets/images/favicon.png'] - const relativeFilePath = path.relative(directory, sourceFilePath); - - // Convert destination file path to a POSIX path for uploading. - // GCS expects / as path separator and relativeFilePath will contain \\ on Windows. - // https://cloud.google.com/storage/docs/gsutil/addlhelp/HowSubdirectoriesWork - const relativeFilePathPosix = relativeFilePath - .split(path.sep) - .join(path.posix.sep); - - // The / delimiter is intentional since it represents the cloud storage and not the local file system. - const entityRootDir = `${entity.metadata.namespace}/${entity.kind}/${entity.metadata.name}`; - const destination = `${entityRootDir}/${relativeFilePathPosix}`; // GCS Bucket file relative path - - // Rate limit the concurrent execution of file uploads to batches of 10 (per publish) - const uploadFile = limiter(() => - this.storageClient.bucket(this.bucketName).upload(sourceFilePath, { - destination, - }), - ); - uploadPromises.push(uploadFile); - }); - - await Promise.all(uploadPromises); + await bulkStorageOperation( + async absoluteFilePath => { + const relativeFilePath = path.relative(directory, absoluteFilePath); + return await bucket.upload(absoluteFilePath, { + destination: getCloudPathForLocalPath(entity, relativeFilePath), + }); + }, + absoluteFilesToUpload, + { concurrencyLimit: 10 }, + ); this.logger.info( - `Successfully uploaded all the generated files for Entity ${entity.metadata.name}. Total number of files: ${allFilesToUpload.length}`, + `Successfully uploaded all the generated files for Entity ${entity.metadata.name}. Total number of files: ${absoluteFilesToUpload.length}`, ); } catch (e) { const errorMessage = `Unable to upload file(s) to Google Cloud Storage. ${e}`; this.logger.error(errorMessage); throw new Error(errorMessage); } + + // Last, try to remove the files that were *only* present previously + try { + const relativeFilesToUpload = absoluteFilesToUpload.map( + absoluteFilePath => + getCloudPathForLocalPath( + entity, + path.relative(directory, absoluteFilePath), + ), + ); + const staleFiles = getStaleFiles(relativeFilesToUpload, existingFiles); + + await bulkStorageOperation( + async relativeFilePath => { + return await bucket.file(relativeFilePath).delete(); + }, + staleFiles, + { concurrencyLimit: 10 }, + ); + + this.logger.info( + `Successfully deleted stale files for Entity ${entity.metadata.name}. Total number of files: ${staleFiles.length}`, + ); + } catch (error) { + const errorMessage = `Unable to delete file(s) from Google Cloud Storage. ${error}`; + this.logger.error(errorMessage); + } } fetchTechDocsMetadata(entityName: EntityName): Promise { diff --git a/packages/techdocs-common/src/stages/publish/helpers.ts b/packages/techdocs-common/src/stages/publish/helpers.ts index ed681eb8ba..1f77d33971 100644 --- a/packages/techdocs-common/src/stages/publish/helpers.ts +++ b/packages/techdocs-common/src/stages/publish/helpers.ts @@ -13,7 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import { Entity } from '@backstage/catalog-model'; import mime from 'mime-types'; +import path from 'path'; +import createLimiter from 'p-limit'; import recursiveReadDir from 'recursive-readdir'; /** @@ -110,4 +113,41 @@ export const lowerCaseEntityTripletInStoragePath = ( const lowerKind = kind.toLowerCase(); const lowerName = name.toLowerCase(); return [lowerNamespace, lowerKind, lowerName, ...parts].join('/'); +} + +// Only returns the files that existed previously and are not present anymore. +export const getStaleFiles = ( + newFiles: string[], + oldFiles: string[], +): string[] => { + const staleFiles = new Set(oldFiles); + newFiles.forEach(newFile => { + staleFiles.delete(newFile); + }); + return Array.from(staleFiles); +}; + +// Compose actual filename on remote bucket including entity information +export const getCloudPathForLocalPath = ( + entity: Entity, + localPath = '', +): string => { + // Convert destination file path to a POSIX path for uploading. + // GCS expects / as path separator and relativeFilePath will contain \\ on Windows. + // https://cloud.google.com/storage/docs/gsutil/addlhelp/HowSubdirectoriesWork + const relativeFilePathPosix = localPath.split(path.sep).join(path.posix.sep); + + // The / delimiter is intentional since it represents the cloud storage and not the local file system. + const entityRootDir = `${entity.metadata.namespace}/${entity.kind}/${entity.metadata.name}`; + return `${entityRootDir}/${relativeFilePathPosix}`; // GCS Bucket file relative path +}; + +// Perform rate limited generic operations by passing a function and a list of arguments +export const bulkStorageOperation = async ( + operation: (arg: T) => Promise, + args: T[], + { concurrencyLimit } = { concurrencyLimit: 25 }, +) => { + const limiter = createLimiter(concurrencyLimit); + await Promise.all(args.map(arg => limiter(operation, arg))); }; From 06b507283b940dd9ebeef2f43c11a43255d7ef58 Mon Sep 17 00:00:00 2001 From: Otto Sichert Date: Wed, 21 Jul 2021 14:53:31 +0200 Subject: [PATCH 116/712] WIP: Remove stale TechDOcs files from AWS Signed-off-by: Otto Sichert --- .../src/stages/publish/awsS3.ts | 98 ++++++++++++------- 1 file changed, 63 insertions(+), 35 deletions(-) diff --git a/packages/techdocs-common/src/stages/publish/awsS3.ts b/packages/techdocs-common/src/stages/publish/awsS3.ts index 7bdc91ffd4..7306320fd2 100644 --- a/packages/techdocs-common/src/stages/publish/awsS3.ts +++ b/packages/techdocs-common/src/stages/publish/awsS3.ts @@ -26,8 +26,11 @@ import path from 'path'; import { Readable } from 'stream'; import { Logger } from 'winston'; import { + bulkStorageOperation, + getCloudPathForLocalPath, getFileTreeRecursively, getHeadersForFileExtension, + getStaleFiles, lowerCaseEntityTripletInStoragePath, } from './helpers'; import { @@ -175,54 +178,77 @@ export class AwsS3Publish implements PublisherBase { * Directory structure used in the bucket is - entityNamespace/entityKind/entityName/index.html */ async publish({ entity, directory }: PublishRequest): Promise { + // First, retrieve a list of all individual files in currently existing + const remoteFolder = getCloudPathForLocalPath(entity); + const existingFiles = await this.getAllObjectsFromBucket({ + prefix: remoteFolder, + }); + + // Then, merge new files into the same folder + let absoluteFilesToUpload; try { - // Note: S3 manages creation of parent directories if they do not exist. - // So collecting path of only the files is good enough. - const allFilesToUpload = await getFileTreeRecursively(directory); + // Remove the absolute path prefix of the source directory + // Path of all files to upload, relative to the root of the source directory + // e.g. ['index.html', 'sub-page/index.html', 'assets/images/favicon.png'] + absoluteFilesToUpload = await getFileTreeRecursively(directory); - const limiter = createLimiter(10); - const uploadPromises: Array> = []; - for (const filePath of allFilesToUpload) { - // Remove the absolute path prefix of the source directory - // Path of all files to upload, relative to the root of the source directory - // e.g. ['index.html', 'sub-page/index.html', 'assets/images/favicon.png'] - const relativeFilePath = path.relative(directory, filePath); - - // Convert destination file path to a POSIX path for uploading. - // S3 expects / as path separator and relativeFilePath will contain \\ on Windows. - // https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html - const relativeFilePathPosix = relativeFilePath - .split(path.sep) - .join(path.posix.sep); - - // The / delimiter is intentional since it represents the cloud storage and not the local file system. - const entityRootDir = `${entity.metadata.namespace}/${entity.kind}/${entity.metadata.name}`; - const destination = `${entityRootDir}/${relativeFilePathPosix}`; // S3 Bucket file relative path - - // Rate limit the concurrent execution of file uploads to batches of 10 (per publish) - const uploadFile = limiter(() => { - const fileStream = fs.createReadStream(filePath); + await bulkStorageOperation( + async absoluteFilePath => { + const relativeFilePath = path.relative(directory, absoluteFilePath); + const fileStream = fs.createReadStream(absoluteFilePath); const params = { Bucket: this.bucketName, - Key: destination, + Key: getCloudPathForLocalPath(entity, relativeFilePath), Body: fileStream, }; return this.storageClient.upload(params).promise(); - }); - uploadPromises.push(uploadFile); - } - await Promise.all(uploadPromises); - this.logger.info( - `Successfully uploaded all the generated files for Entity ${entity.metadata.name}. Total number of files: ${allFilesToUpload.length}`, + }, + absoluteFilesToUpload, + { concurrencyLimit: 10 }, + ); + + this.logger.info( + `Successfully uploaded all the generated files for Entity ${entity.metadata.name}. Total number of files: ${absoluteFilesToUpload.length}`, ); - return; } catch (e) { const errorMessage = `Unable to upload file(s) to AWS S3. ${e}`; this.logger.error(errorMessage); throw new Error(errorMessage); } + + // Last, try to remove the files that were *only* present previously + try { + const relativeFilesToUpload = absoluteFilesToUpload.map( + absoluteFilePath => + getCloudPathForLocalPath( + entity, + path.relative(directory, absoluteFilePath), + ), + ); + const staleFiles = getStaleFiles(relativeFilesToUpload, existingFiles); + + await bulkStorageOperation( + async relativeFilePath => { + return await this.storageClient + .deleteObject({ + Bucket: this.bucketName, + Key: relativeFilePath, + }) + .promise(); + }, + staleFiles, + { concurrencyLimit: 10 }, + ); + + this.logger.info( + `Successfully deleted stale files for Entity ${entity.metadata.name}. Total number of files: ${staleFiles.length}`, + ); + } catch (error) { + const errorMessage = `Unable to delete file(s) from AWS S3. ${error}`; + this.logger.error(errorMessage); + } } async fetchTechDocsMetadata( @@ -365,17 +391,19 @@ export class AwsS3Publish implements PublisherBase { /** * Returns a list of all object keys from the configured bucket. */ - protected async getAllObjectsFromBucket(): Promise { + protected async getAllObjectsFromBucket( + { prefix } = { prefix: '' }, + ): Promise { const objects: string[] = []; let nextContinuation: string | undefined; let allObjects: ListObjectsV2Output; - // Iterate through every file in the root of the publisher. do { allObjects = await this.storageClient .listObjectsV2({ Bucket: this.bucketName, ContinuationToken: nextContinuation, + ...(prefix ? { Prefix: prefix } : {}), }) .promise(); objects.push( From 064f8d24876a96fba2489c77451b2bb32cf6fd50 Mon Sep 17 00:00:00 2001 From: Camila Belo Date: Fri, 23 Jul 2021 20:28:52 +0200 Subject: [PATCH 117/712] feat(techdocs): delete stale files when publishing to Azure Signed-off-by: Camila Belo --- .../src/stages/publish/azureBlobStorage.ts | 139 ++++++++++-------- .../src/stages/publish/helpers.ts | 11 +- 2 files changed, 85 insertions(+), 65 deletions(-) diff --git a/packages/techdocs-common/src/stages/publish/azureBlobStorage.ts b/packages/techdocs-common/src/stages/publish/azureBlobStorage.ts index fe8fe9c2ce..5dc868ba2b 100644 --- a/packages/techdocs-common/src/stages/publish/azureBlobStorage.ts +++ b/packages/techdocs-common/src/stages/publish/azureBlobStorage.ts @@ -26,8 +26,11 @@ import limiterFactory from 'p-limit'; import { default as path, default as platformPath } from 'path'; import { Logger } from 'winston'; import { + bulkStorageOperation, + getCloudPathForLocalPath, getFileTreeRecursively, getHeadersForFileExtension, + getStaleFiles, lowerCaseEntityTripletInStoragePath, } from './helpers'; import { @@ -133,75 +136,85 @@ export class AzureBlobStoragePublish implements PublisherBase { * Directory structure used in the container is - entityNamespace/entityKind/entityName/index.html */ async publish({ entity, directory }: PublishRequest): Promise { + // First, retrieve a list of all individual files in currently existing + const remoteFolder = getCloudPathForLocalPath(entity); + const existingFiles: string[] = []; + const container = this.storageClient.getContainerClient(this.containerName); try { - // Note: Azure Blob Storage manages creation of parent directories if they do not exist. - // So collecting path of only the files is good enough. - const allFilesToUpload = await getFileTreeRecursively(directory); - - // Bound the number of concurrent batches. We want a bit of concurrency for - // performance reasons, but not so much that we starve the connection pool - // or start thrashing. - const limiter = limiterFactory(BATCH_CONCURRENCY); - - const promises = allFilesToUpload.map(sourceFilePath => { - // Remove the absolute path prefix of the source directory - // Path of all files to upload, relative to the root of the source directory - // e.g. ['index.html', 'sub-page/index.html', 'assets/images/favicon.png'] - const relativeFilePath = path.normalize( - path.relative(directory, sourceFilePath), - ); - - // Convert destination file path to a POSIX path for uploading. - // Azure Blob Storage expects / as path separator and relativeFilePath will contain \\ on Windows. - // https://docs.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata#blob-names - const relativeFilePathPosix = relativeFilePath - .split(path.sep) - .join(path.posix.sep); - - // The / delimiter is intentional since it represents the cloud storage and not the local file system. - const entityRootDir = `${entity.metadata.namespace}/${entity.kind}/${entity.metadata.name}`; - const destination = `${entityRootDir}/${relativeFilePathPosix}`; // Azure Blob Storage Container file relative path - return limiter(async () => { - const response = await this.storageClient - .getContainerClient(this.containerName) - .getBlockBlobClient(destination) - .uploadFile(sourceFilePath); - - if (response._response.status >= 400) { - return { - ...response, - error: new Error( - `Upload failed for ${sourceFilePath} with status code ${response._response.status}`, - ), - }; - } - return { - ...response, - error: undefined, - }; - }); - }); - - const responses = await Promise.all(promises); - - const failed = responses.filter(r => r.error); - if (failed.length === 0) { - this.logger.info( - `Successfully uploaded the ${responses.length} generated file(s) for Entity ${entity.metadata.name}. Total number of files: ${allFilesToUpload.length}`, - ); - } else { - throw new Error( - failed - .map(r => r.error?.message) - .filter(Boolean) - .join(' '), - ); + for await (const blob of container.listBlobsFlat()) { + existingFiles.push(blob.name); } } catch (e) { - const errorMessage = `Unable to upload file(s) to Azure Blob Storage. ${e}`; + const errorMessage = `Unable to list file(s) to Azure. ${e}`; this.logger.error(errorMessage); throw new Error(errorMessage); } + + // Then, merge new files into the same folder + let absoluteFilesToUpload; + try { + // Remove the absolute path prefix of the source directory + // Path of all files to upload, relative to the root of the source directory + // e.g. ['index.html', 'sub-page/index.html', 'assets/images/favicon.png'] + absoluteFilesToUpload = await getFileTreeRecursively(directory); + + await bulkStorageOperation( + async absoluteFilePath => { + // const relativeFilePath = path.relative(directory, absoluteFilePath); + const relativeFilePath = path.normalize( + path.relative(directory, absoluteFilePath), + ); + return await this.storageClient + .getContainerClient(this.containerName) + .getBlockBlobClient( + getCloudPathForLocalPath(entity, relativeFilePath), + ) + .uploadFile(absoluteFilePath); + }, + absoluteFilesToUpload, + { concurrencyLimit: BATCH_CONCURRENCY }, + ); + + this.logger.info( + `Successfully uploaded all the generated files for Entity ${entity.metadata.name}. Total number of files: ${absoluteFilesToUpload.length}`, + ); + } catch (e) { + const errorMessage = `Unable to upload file(s) to Azure. ${e}`; + this.logger.error(errorMessage); + throw new Error(errorMessage); + } + + // Last, try to remove the files that were *only* present previously + try { + const relativeFilesToUpload = absoluteFilesToUpload.map( + absoluteFilePath => + getCloudPathForLocalPath( + entity, + path.relative(directory, absoluteFilePath), + ), + ); + + const staleFiles = getStaleFiles( + relativeFilesToUpload, + existingFiles, + remoteFolder, + ); + + await bulkStorageOperation( + async relativeFilePath => { + return await container.deleteBlob(relativeFilePath); + }, + staleFiles, + { concurrencyLimit: BATCH_CONCURRENCY }, + ); + + this.logger.info( + `Successfully deleted stale files for Entity ${entity.metadata.name}. Total number of files: ${staleFiles.length}`, + ); + } catch (error) { + const errorMessage = `Unable to delete file(s) from AWS S3. ${error}`; + this.logger.error(errorMessage); + } } private download(containerName: string, blobPath: string): Promise { diff --git a/packages/techdocs-common/src/stages/publish/helpers.ts b/packages/techdocs-common/src/stages/publish/helpers.ts index 1f77d33971..2aabcb3259 100644 --- a/packages/techdocs-common/src/stages/publish/helpers.ts +++ b/packages/techdocs-common/src/stages/publish/helpers.ts @@ -113,14 +113,21 @@ export const lowerCaseEntityTripletInStoragePath = ( const lowerKind = kind.toLowerCase(); const lowerName = name.toLowerCase(); return [lowerNamespace, lowerKind, lowerName, ...parts].join('/'); -} +}; // Only returns the files that existed previously and are not present anymore. export const getStaleFiles = ( newFiles: string[], oldFiles: string[], + remoteFolder?: string, ): string[] => { - const staleFiles = new Set(oldFiles); + let filteredFiles = [...oldFiles]; + if (remoteFolder) { + filteredFiles = filteredFiles.filter(filePath => + filePath.match(remoteFolder), + ); + } + const staleFiles = new Set(filteredFiles); newFiles.forEach(newFile => { staleFiles.delete(newFile); }); From fedf69a396809146197255bb2327cebdf47d5b52 Mon Sep 17 00:00:00 2001 From: Camila Belo Date: Fri, 23 Jul 2021 20:39:20 +0200 Subject: [PATCH 118/712] fix(techdocs): remove unused imported module Signed-off-by: Camila Belo --- packages/techdocs-common/src/stages/publish/awsS3.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/techdocs-common/src/stages/publish/awsS3.ts b/packages/techdocs-common/src/stages/publish/awsS3.ts index 7306320fd2..3ba5ffe4e3 100644 --- a/packages/techdocs-common/src/stages/publish/awsS3.ts +++ b/packages/techdocs-common/src/stages/publish/awsS3.ts @@ -16,7 +16,7 @@ import { Entity, EntityName } from '@backstage/catalog-model'; import { Config } from '@backstage/config'; import aws, { Credentials } from 'aws-sdk'; -import { ListObjectsV2Output, ManagedUpload } from 'aws-sdk/clients/s3'; +import { ListObjectsV2Output } from 'aws-sdk/clients/s3'; import { CredentialsOptions } from 'aws-sdk/lib/credentials'; import express from 'express'; import fs from 'fs-extra'; From 6f9e155973077d9958d21c68250f2249f1f1532c Mon Sep 17 00:00:00 2001 From: Camila Belo Date: Tue, 27 Jul 2021 14:48:06 +0200 Subject: [PATCH 119/712] fix(techdocs): make azure tests pass Co-authored-by: Eric Peterson Signed-off-by: Camila Belo --- .../__mocks__/@azure/storage-blob.ts | 4 +++ .../stages/publish/azureBlobStorage.test.ts | 23 +++++++--------- .../src/stages/publish/azureBlobStorage.ts | 27 ++++++++++++++++--- 3 files changed, 38 insertions(+), 16 deletions(-) diff --git a/packages/techdocs-common/__mocks__/@azure/storage-blob.ts b/packages/techdocs-common/__mocks__/@azure/storage-blob.ts index 73c5873832..56574dedf7 100644 --- a/packages/techdocs-common/__mocks__/@azure/storage-blob.ts +++ b/packages/techdocs-common/__mocks__/@azure/storage-blob.ts @@ -125,6 +125,10 @@ export class ContainerClient { getBlockBlobClient(blobName: string) { return new BlockBlobClient(blobName); } + + listBlobsFlat() { + return []; + } } class ContainerClientFailGetProperties extends ContainerClient { diff --git a/packages/techdocs-common/src/stages/publish/azureBlobStorage.test.ts b/packages/techdocs-common/src/stages/publish/azureBlobStorage.test.ts index e55314a71b..8c31153201 100644 --- a/packages/techdocs-common/src/stages/publish/azureBlobStorage.test.ts +++ b/packages/techdocs-common/src/stages/publish/azureBlobStorage.test.ts @@ -64,10 +64,11 @@ const getEntityRootDir = (entity: Entity) => { const logger = getVoidLogger(); jest.spyOn(logger, 'info').mockReturnValue(logger); -jest.spyOn(logger, 'error').mockReturnValue(logger); +const loggerSpy = jest.spyOn(logger, 'error').mockReturnValue(logger); let publisher: PublisherBase; beforeEach(async () => { + loggerSpy.mockClear(); mockFs.restore(); const mockConfig = new ConfigReader({ techdocs: { @@ -175,14 +176,12 @@ describe('publishing with valid credentials', () => { directory: wrongPathToGeneratedDirectory, }); - await expect(fails).rejects.toMatchObject({ - message: expect.stringContaining( - `Unable to upload file(s) to Azure Blob Storage. Error: Failed to read template directory: ENOENT, no such file or directory`, - ), - }); - await expect(fails).rejects.toMatchObject({ - message: expect.stringContaining(wrongPathToGeneratedDirectory), - }); + await expect(fails).rejects.toThrow( + /Unable to upload file\(s\) to Azure. Error: Failed to read template directory: ENOENT, no such file or directory/, + ); + await expect(fails).rejects.toThrow( + new RegExp(wrongPathToGeneratedDirectory), + ); mockFs.restore(); }); @@ -225,13 +224,11 @@ describe('publishing with valid credentials', () => { error = e; } - expect(error.message).toContain( - `Unable to upload file(s) to Azure Blob Storage.`, - ); + expect(error.message).toContain(`Unable to upload file(s) to Azure`); expect(logger.error).toHaveBeenCalledWith( expect.stringContaining( - `Unable to upload file(s) to Azure Blob Storage. Error: Upload failed for ${path.join( + `Unable to upload file(s) to Azure. Error: Upload failed for ${path.join( entityRootDir, 'index.html', )} with status code 500`, diff --git a/packages/techdocs-common/src/stages/publish/azureBlobStorage.ts b/packages/techdocs-common/src/stages/publish/azureBlobStorage.ts index 5dc868ba2b..c7b86ed39e 100644 --- a/packages/techdocs-common/src/stages/publish/azureBlobStorage.ts +++ b/packages/techdocs-common/src/stages/publish/azureBlobStorage.ts @@ -16,6 +16,7 @@ import { DefaultAzureCredential } from '@azure/identity'; import { BlobServiceClient, + ContainerClient, StorageSharedKeyCredential, } from '@azure/storage-blob'; import { Entity, EntityName } from '@backstage/catalog-model'; @@ -139,8 +140,9 @@ export class AzureBlobStoragePublish implements PublisherBase { // First, retrieve a list of all individual files in currently existing const remoteFolder = getCloudPathForLocalPath(entity); const existingFiles: string[] = []; - const container = this.storageClient.getContainerClient(this.containerName); + let container: ContainerClient; try { + container = this.storageClient.getContainerClient(this.containerName); for await (const blob of container.listBlobsFlat()) { existingFiles.push(blob.name); } @@ -158,23 +160,42 @@ export class AzureBlobStoragePublish implements PublisherBase { // e.g. ['index.html', 'sub-page/index.html', 'assets/images/favicon.png'] absoluteFilesToUpload = await getFileTreeRecursively(directory); + const failedOperations: Error[] = []; await bulkStorageOperation( async absoluteFilePath => { // const relativeFilePath = path.relative(directory, absoluteFilePath); const relativeFilePath = path.normalize( path.relative(directory, absoluteFilePath), ); - return await this.storageClient - .getContainerClient(this.containerName) + const response = await container .getBlockBlobClient( getCloudPathForLocalPath(entity, relativeFilePath), ) .uploadFile(absoluteFilePath); + + if (response._response.status >= 400) { + failedOperations.push( + new Error( + `Upload failed for ${absoluteFilePath} with status code ${response._response.status}`, + ), + ); + } + + return response; }, absoluteFilesToUpload, { concurrencyLimit: BATCH_CONCURRENCY }, ); + if (failedOperations.length > 0) { + throw new Error( + failedOperations + .map(r => r.message) + .filter(Boolean) + .join(' '), + ); + } + this.logger.info( `Successfully uploaded all the generated files for Entity ${entity.metadata.name}. Total number of files: ${absoluteFilesToUpload.length}`, ); From caf519f69cc0139b34598244aaf01c8e321d689e Mon Sep 17 00:00:00 2001 From: Camila Belo Date: Wed, 28 Jul 2021 11:46:33 +0200 Subject: [PATCH 120/712] fix(techdocs): make aws and gcs tests pass Co-authored-by: Eric Peterson Signed-off-by: Camila Belo --- .../__mocks__/@google-cloud/storage.ts | 11 +++++++ packages/techdocs-common/__mocks__/aws-sdk.ts | 8 +++++ .../src/stages/publish/googleStorage.ts | 31 ++++++++++++++++--- 3 files changed, 46 insertions(+), 4 deletions(-) diff --git a/packages/techdocs-common/__mocks__/@google-cloud/storage.ts b/packages/techdocs-common/__mocks__/@google-cloud/storage.ts index 18fe62af14..ae2bce7a8f 100644 --- a/packages/techdocs-common/__mocks__/@google-cloud/storage.ts +++ b/packages/techdocs-common/__mocks__/@google-cloud/storage.ts @@ -107,6 +107,17 @@ class Bucket { file(destinationFilePath: string) { return new GCSFile(destinationFilePath); } + + getFilesStream() { + const readable = new Readable(); + readable._read = () => {}; + + process.nextTick(() => { + readable.emit('end'); + }); + + return readable; + } } export class Storage { diff --git a/packages/techdocs-common/__mocks__/aws-sdk.ts b/packages/techdocs-common/__mocks__/aws-sdk.ts index 2826a8d8bb..ec0273e277 100644 --- a/packages/techdocs-common/__mocks__/aws-sdk.ts +++ b/packages/techdocs-common/__mocks__/aws-sdk.ts @@ -104,6 +104,14 @@ export class S3 { }), }; } + + listObjectsV2() { + return { + promise: () => { + return Promise.resolve([]); + }, + }; + } } export default { diff --git a/packages/techdocs-common/src/stages/publish/googleStorage.ts b/packages/techdocs-common/src/stages/publish/googleStorage.ts index 349d6ead97..24f84f0136 100644 --- a/packages/techdocs-common/src/stages/publish/googleStorage.ts +++ b/packages/techdocs-common/src/stages/publish/googleStorage.ts @@ -15,7 +15,7 @@ */ import { Entity, EntityName } from '@backstage/catalog-model'; import { Config } from '@backstage/config'; -import { FileExistsResponse, Storage } from '@google-cloud/storage'; +import { File, FileExistsResponse, Storage } from '@google-cloud/storage'; import express from 'express'; import JSON5 from 'json5'; import path from 'path'; @@ -119,9 +119,7 @@ export class GoogleGCSPublish implements PublisherBase { // First, retrieve a list of all individual files in currently existing const remoteFolder = getCloudPathForLocalPath(entity); - const existingFiles = ( - await bucket.getFiles({ prefix: remoteFolder }) - )[0].map(file => file.name); + const existingFiles = await this.getFilesForFolder(remoteFolder); // Then, merge new files into the same folder let absoluteFilesToUpload; @@ -276,4 +274,29 @@ export class GoogleGCSPublish implements PublisherBase { }); }); } + + private getFilesForFolder(folder: string): Promise { + const fileMetadataStream: Readable = this.storageClient + .bucket(this.bucketName) + .getFilesStream({ prefix: folder }); + + return new Promise((resolve, reject) => { + const files: string[] = []; + + fileMetadataStream.on('error', error => { + // push file to file array + reject(error); + }); + + fileMetadataStream.on('data', (file: File) => { + // push file to file array + files.push(file.name); + }); + + fileMetadataStream.on('end', () => { + // resolve promise + resolve(files); + }); + }); + } } From da705a74e0dd7aec23827fecbcc8efc4a907b582 Mon Sep 17 00:00:00 2001 From: Camila Belo Date: Mon, 2 Aug 2021 17:17:29 +0200 Subject: [PATCH 121/712] test(techdocs-common): cover stale files deletion for GCS Signed-off-by: Camila Belo --- .../__mocks__/@google-cloud/storage.ts | 13 +++++ .../src/stages/publish/googleStorage.test.ts | 58 +++++++++++-------- 2 files changed, 48 insertions(+), 23 deletions(-) diff --git a/packages/techdocs-common/__mocks__/@google-cloud/storage.ts b/packages/techdocs-common/__mocks__/@google-cloud/storage.ts index ae2bce7a8f..f5616236cf 100644 --- a/packages/techdocs-common/__mocks__/@google-cloud/storage.ts +++ b/packages/techdocs-common/__mocks__/@google-cloud/storage.ts @@ -77,6 +77,10 @@ class GCSFile { }); return readable; } + + delete() { + return Promise.resolve(); + } } class Bucket { @@ -105,6 +109,9 @@ class Bucket { } file(destinationFilePath: string) { + if (this.bucketName === 'delete_stale_files_error') { + throw Error('Message'); + } return new GCSFile(destinationFilePath); } @@ -113,6 +120,12 @@ class Bucket { readable._read = () => {}; process.nextTick(() => { + if ( + this.bucketName === 'delete_stale_files_success' || + this.bucketName === 'delete_stale_files_error' + ) { + readable.emit('data', { name: 'stale-file.png' }); + } readable.emit('end'); }); diff --git a/packages/techdocs-common/src/stages/publish/googleStorage.test.ts b/packages/techdocs-common/src/stages/publish/googleStorage.test.ts index 8a00fc9708..65cbf3c5ac 100644 --- a/packages/techdocs-common/src/stages/publish/googleStorage.test.ts +++ b/packages/techdocs-common/src/stages/publish/googleStorage.test.ts @@ -63,12 +63,10 @@ const getEntityRootDir = (entity: Entity) => { }; const logger = getVoidLogger(); -jest.spyOn(logger, 'info').mockReturnValue(logger); +const loggerInfoSpy = jest.spyOn(logger, 'info').mockReturnValue(logger); +const loggerErrorSpy = jest.spyOn(logger, 'error').mockReturnValue(logger); -let publisher: PublisherBase; - -beforeEach(async () => { - mockFs.restore(); +const createPublisherMock = (bucketName: string) => { const mockConfig = new ConfigReader({ techdocs: { requestUrl: 'http://localhost:7000', @@ -76,13 +74,21 @@ beforeEach(async () => { type: 'googleGcs', googleGcs: { credentials: '{}', - bucketName: 'bucketName', + bucketName, }, }, }, }); + return GoogleGCSPublish.fromConfig(mockConfig, logger); +}; - publisher = await GoogleGCSPublish.fromConfig(mockConfig, logger); +let publisher: PublisherBase; + +beforeEach(async () => { + loggerInfoSpy.mockClear(); + loggerErrorSpy.mockClear(); + mockFs.restore(); + publisher = createPublisherMock('bucketName'); }); describe('GoogleGCSPublish', () => { @@ -94,20 +100,7 @@ describe('GoogleGCSPublish', () => { }); it('should reject incorrect config', async () => { - const mockConfig = new ConfigReader({ - techdocs: { - requestUrl: 'http://localhost:7000', - publisher: { - type: 'googleGcs', - googleGcs: { - credentials: '{}', - bucketName: 'errorBucket', - }, - }, - }, - }); - - const errorPublisher = GoogleGCSPublish.fromConfig(mockConfig, logger); + const errorPublisher = createPublisherMock('errorBucket'); expect(await errorPublisher.getReadiness()).toEqual({ isAvailable: false, @@ -145,7 +138,6 @@ describe('GoogleGCSPublish', () => { directory: entityRootDir, }), ).toBeUndefined(); - mockFs.restore(); }); it('should fail to publish a directory', async () => { @@ -181,8 +173,28 @@ describe('GoogleGCSPublish', () => { await expect(fails).rejects.toMatchObject({ message: expect.stringContaining(wrongPathToGeneratedDirectory), }); + }); - mockFs.restore(); + it('should delete stale files after upload', async () => { + const entity = createMockEntity(); + const directory = getEntityRootDir(entity); + const bucketName = 'delete_stale_files_success'; + publisher = createPublisherMock(bucketName); + await publisher.publish({ entity, directory }); + expect(loggerInfoSpy).toHaveBeenLastCalledWith( + `Successfully deleted stale files for Entity ${entity.metadata.name}. Total number of files: 1`, + ); + }); + + it('should log error when the stale files deletion fails', async () => { + const entity = createMockEntity(); + const directory = getEntityRootDir(entity); + const bucketName = 'delete_stale_files_error'; + publisher = createPublisherMock(bucketName); + await publisher.publish({ entity, directory }); + expect(loggerErrorSpy).toHaveBeenLastCalledWith( + 'Unable to delete file(s) from Google Cloud Storage. Error: Message', + ); }); }); From 5386bcc989e2a45db39064d41161965d70703384 Mon Sep 17 00:00:00 2001 From: Camila Belo Date: Mon, 2 Aug 2021 19:41:36 +0200 Subject: [PATCH 122/712] test(techdocs-common): cover stale files deletion for AWS Signed-off-by: Camila Belo --- packages/techdocs-common/__mocks__/aws-sdk.ts | 23 ++++++- .../src/stages/publish/awsS3.test.ts | 61 +++++++++++-------- 2 files changed, 57 insertions(+), 27 deletions(-) diff --git a/packages/techdocs-common/__mocks__/aws-sdk.ts b/packages/techdocs-common/__mocks__/aws-sdk.ts index ec0273e277..9b3218f6dc 100644 --- a/packages/techdocs-common/__mocks__/aws-sdk.ts +++ b/packages/techdocs-common/__mocks__/aws-sdk.ts @@ -105,10 +105,29 @@ export class S3 { }; } - listObjectsV2() { + listObjectsV2({ Bucket }) { return { promise: () => { - return Promise.resolve([]); + if ( + Bucket === 'delete_stale_files_success' || + Bucket === 'delete_stale_files_error' + ) { + return Promise.resolve({ + Contents: [{ Key: 'stale_file.png' }], + }); + } + return Promise.resolve({}); + }, + }; + } + + deleteObject({ Bucket }) { + return { + promise: () => { + if (Bucket === 'delete_stale_files_error') { + throw new Error('Message'); + } + return Promise.resolve(); }, }; } diff --git a/packages/techdocs-common/src/stages/publish/awsS3.test.ts b/packages/techdocs-common/src/stages/publish/awsS3.test.ts index 81f06716b1..b94518c857 100644 --- a/packages/techdocs-common/src/stages/publish/awsS3.test.ts +++ b/packages/techdocs-common/src/stages/publish/awsS3.test.ts @@ -63,11 +63,10 @@ const getEntityRootDir = (entity: Entity) => { }; const logger = getVoidLogger(); +const loggerInfoSpy = jest.spyOn(logger, 'info'); +const loggerErrorSpy = jest.spyOn(logger, 'error'); -let publisher: PublisherBase; - -beforeEach(() => { - mockFs.restore(); +const createPublisherMock = (bucketName: string) => { const mockConfig = new ConfigReader({ techdocs: { requestUrl: 'http://localhost:7000', @@ -78,13 +77,22 @@ beforeEach(() => { accessKeyId: 'accessKeyId', secretAccessKey: 'secretAccessKey', }, - bucketName: 'bucketName', + bucketName, }, }, }, }); - publisher = AwsS3Publish.fromConfig(mockConfig, logger); + return AwsS3Publish.fromConfig(mockConfig, logger); +}; + +let publisher: PublisherBase; + +beforeEach(() => { + loggerInfoSpy.mockClear(); + loggerErrorSpy.mockClear(); + mockFs.restore(); + publisher = createPublisherMock('bucketName'); }); describe('AwsS3Publish', () => { @@ -96,24 +104,7 @@ describe('AwsS3Publish', () => { }); it('should reject incorrect config', async () => { - const mockConfig = new ConfigReader({ - techdocs: { - requestUrl: 'http://localhost:7000', - publisher: { - type: 'awsS3', - awsS3: { - credentials: { - accessKeyId: 'accessKeyId', - secretAccessKey: 'secretAccessKey', - }, - // this bucket name will throw an error - bucketName: 'errorBucket', - }, - }, - }, - }); - - const errorPublisher = AwsS3Publish.fromConfig(mockConfig, logger); + const errorPublisher = createPublisherMock('errorBucket'); expect(await errorPublisher.getReadiness()).toEqual({ isAvailable: false, @@ -188,8 +179,28 @@ describe('AwsS3Publish', () => { await expect(fails).rejects.toMatchObject({ message: expect.stringContaining(wrongPathToGeneratedDirectory), }); + }); - mockFs.restore(); + it('should delete stale files after upload', async () => { + const entity = createMockEntity(); + const directory = getEntityRootDir(entity); + const bucketName = 'delete_stale_files_success'; + publisher = createPublisherMock(bucketName); + await publisher.publish({ entity, directory }); + expect(loggerInfoSpy).toHaveBeenLastCalledWith( + `Successfully deleted stale files for Entity ${entity.metadata.name}. Total number of files: 1`, + ); + }); + + it('should log error when the stale files deletion fails', async () => { + const entity = createMockEntity(); + const directory = getEntityRootDir(entity); + const bucketName = 'delete_stale_files_error'; + publisher = createPublisherMock(bucketName); + await publisher.publish({ entity, directory }); + expect(loggerErrorSpy).toHaveBeenLastCalledWith( + 'Unable to delete file(s) from AWS S3. Error: Message', + ); }); }); From 9cf37164b1802687a7aa468645da5c70ab5f8a9a Mon Sep 17 00:00:00 2001 From: Camila Belo Date: Mon, 2 Aug 2021 22:15:36 +0200 Subject: [PATCH 123/712] test(techdocs-common): cover stale files deletion for Azure Signed-off-by: Camila Belo --- .../__mocks__/@azure/storage-blob.ts | 14 ++- .../stages/publish/azureBlobStorage.test.ts | 103 +++++++++--------- .../src/stages/publish/azureBlobStorage.ts | 13 +-- .../src/stages/publish/helpers.ts | 9 +- 4 files changed, 72 insertions(+), 67 deletions(-) diff --git a/packages/techdocs-common/__mocks__/@azure/storage-blob.ts b/packages/techdocs-common/__mocks__/@azure/storage-blob.ts index 56574dedf7..f7303ce1cb 100644 --- a/packages/techdocs-common/__mocks__/@azure/storage-blob.ts +++ b/packages/techdocs-common/__mocks__/@azure/storage-blob.ts @@ -126,9 +126,21 @@ export class ContainerClient { return new BlockBlobClient(blobName); } - listBlobsFlat() { + listBlobsFlat({ prefix }: { prefix: string }) { + if ( + this.containerName === 'delete_stale_files_success' || + this.containerName === 'delete_stale_files_error' + ) { + return [{ name: `${prefix}stale_file.png` }]; + } return []; } + + deleteBlob() { + if (this.containerName === 'delete_stale_files_error') { + throw new Error('Message'); + } + } } class ContainerClientFailGetProperties extends ContainerClient { diff --git a/packages/techdocs-common/src/stages/publish/azureBlobStorage.test.ts b/packages/techdocs-common/src/stages/publish/azureBlobStorage.test.ts index 8c31153201..2e17b43b62 100644 --- a/packages/techdocs-common/src/stages/publish/azureBlobStorage.test.ts +++ b/packages/techdocs-common/src/stages/publish/azureBlobStorage.test.ts @@ -63,13 +63,18 @@ const getEntityRootDir = (entity: Entity) => { }; const logger = getVoidLogger(); -jest.spyOn(logger, 'info').mockReturnValue(logger); -const loggerSpy = jest.spyOn(logger, 'error').mockReturnValue(logger); +const loggerInfoSpy = jest.spyOn(logger, 'info'); +const loggerErrorSpy = jest.spyOn(logger, 'error'); -let publisher: PublisherBase; -beforeEach(async () => { - loggerSpy.mockClear(); - mockFs.restore(); +const createPublisherMock = ({ + accountName = 'accountName', + containerName = 'containerName', +}: + | { + accountName?: string; + containerName?: string; + } + | undefined = {}) => { const mockConfig = new ConfigReader({ techdocs: { requestUrl: 'http://localhost:7000', @@ -77,16 +82,24 @@ beforeEach(async () => { type: 'azureBlobStorage', azureBlobStorage: { credentials: { - accountName: 'accountName', + accountName, accountKey: 'accountKey', }, - containerName: 'containerName', + containerName, }, }, }, }); - publisher = AzureBlobStoragePublish.fromConfig(mockConfig, logger); + return AzureBlobStoragePublish.fromConfig(mockConfig, logger); +}; + +let publisher: PublisherBase; +beforeEach(async () => { + loggerInfoSpy.mockClear(); + loggerErrorSpy.mockClear(); + mockFs.restore(); + publisher = createPublisherMock(); }); describe('publishing with valid credentials', () => { @@ -98,32 +111,15 @@ describe('publishing with valid credentials', () => { }); it('should reject incorrect config', async () => { - const mockConfig = new ConfigReader({ - techdocs: { - requestUrl: 'http://localhost:7000', - publisher: { - type: 'azureBlobStorage', - azureBlobStorage: { - credentials: { - accountName: 'accountName', - accountKey: 'accountKey', - }, - containerName: 'bad_container', - }, - }, - }, + const errorPublisher = createPublisherMock({ + containerName: 'bad_container', }); - const errorPublisher = await AzureBlobStoragePublish.fromConfig( - mockConfig, - logger, - ); - expect(await errorPublisher.getReadiness()).toEqual({ isAvailable: false, }); - expect(logger.error).toHaveBeenCalledWith( + expect(loggerErrorSpy).toHaveBeenCalledWith( expect.stringContaining( `Could not retrieve metadata about the Azure Blob Storage container bad_container.`, ), @@ -147,6 +143,10 @@ describe('publishing with valid credentials', () => { }); }); + afterEach(() => { + mockFs.restore(); + }); + it('should publish a directory', async () => { const entity = createMockEntity(); const entityRootDir = getEntityRootDir(entity); @@ -157,7 +157,6 @@ describe('publishing with valid credentials', () => { directory: entityRootDir, }), ).toBeUndefined(); - mockFs.restore(); }); it('should fail to publish a directory', async () => { @@ -182,29 +181,13 @@ describe('publishing with valid credentials', () => { await expect(fails).rejects.toThrow( new RegExp(wrongPathToGeneratedDirectory), ); - - mockFs.restore(); }); it('reports an error when bad account credentials', async () => { - const mockConfig = new ConfigReader({ - techdocs: { - requestUrl: 'http://localhost:7000', - publisher: { - type: 'azureBlobStorage', - azureBlobStorage: { - credentials: { - accountName: 'failupload', - accountKey: 'accountKey', - }, - containerName: 'containerName', - }, - }, - }, + publisher = createPublisherMock({ + accountName: 'failupload', }); - publisher = await AzureBlobStoragePublish.fromConfig(mockConfig, logger); - const entity = createMockEntity(); const entityRootDir = getEntityRootDir(entity); @@ -226,7 +209,7 @@ describe('publishing with valid credentials', () => { expect(error.message).toContain(`Unable to upload file(s) to Azure`); - expect(logger.error).toHaveBeenCalledWith( + expect(loggerErrorSpy).toHaveBeenCalledWith( expect.stringContaining( `Unable to upload file(s) to Azure. Error: Upload failed for ${path.join( entityRootDir, @@ -234,8 +217,28 @@ describe('publishing with valid credentials', () => { )} with status code 500`, ), ); + }); - mockFs.restore(); + it('should delete stale files after upload', async () => { + const entity = createMockEntity(); + const directory = getEntityRootDir(entity); + const containerName = 'delete_stale_files_success'; + publisher = createPublisherMock({ containerName }); + await publisher.publish({ entity, directory }); + expect(loggerInfoSpy).toHaveBeenLastCalledWith( + `Successfully deleted stale files for Entity ${entity.metadata.name}. Total number of files: 1`, + ); + }); + + it('should log error when the stale files deletion fails', async () => { + const entity = createMockEntity(); + const directory = getEntityRootDir(entity); + const containerName = 'delete_stale_files_error'; + publisher = createPublisherMock({ containerName }); + await publisher.publish({ entity, directory }); + expect(loggerErrorSpy).toHaveBeenLastCalledWith( + 'Unable to delete file(s) from Azure. Error: Message', + ); }); }); diff --git a/packages/techdocs-common/src/stages/publish/azureBlobStorage.ts b/packages/techdocs-common/src/stages/publish/azureBlobStorage.ts index c7b86ed39e..f49b317ecf 100644 --- a/packages/techdocs-common/src/stages/publish/azureBlobStorage.ts +++ b/packages/techdocs-common/src/stages/publish/azureBlobStorage.ts @@ -143,7 +143,9 @@ export class AzureBlobStoragePublish implements PublisherBase { let container: ContainerClient; try { container = this.storageClient.getContainerClient(this.containerName); - for await (const blob of container.listBlobsFlat()) { + for await (const blob of container.listBlobsFlat({ + prefix: remoteFolder, + })) { existingFiles.push(blob.name); } } catch (e) { @@ -163,7 +165,6 @@ export class AzureBlobStoragePublish implements PublisherBase { const failedOperations: Error[] = []; await bulkStorageOperation( async absoluteFilePath => { - // const relativeFilePath = path.relative(directory, absoluteFilePath); const relativeFilePath = path.normalize( path.relative(directory, absoluteFilePath), ); @@ -215,11 +216,7 @@ export class AzureBlobStoragePublish implements PublisherBase { ), ); - const staleFiles = getStaleFiles( - relativeFilesToUpload, - existingFiles, - remoteFolder, - ); + const staleFiles = getStaleFiles(relativeFilesToUpload, existingFiles); await bulkStorageOperation( async relativeFilePath => { @@ -233,7 +230,7 @@ export class AzureBlobStoragePublish implements PublisherBase { `Successfully deleted stale files for Entity ${entity.metadata.name}. Total number of files: ${staleFiles.length}`, ); } catch (error) { - const errorMessage = `Unable to delete file(s) from AWS S3. ${error}`; + const errorMessage = `Unable to delete file(s) from Azure. ${error}`; this.logger.error(errorMessage); } } diff --git a/packages/techdocs-common/src/stages/publish/helpers.ts b/packages/techdocs-common/src/stages/publish/helpers.ts index 2aabcb3259..6f6eb7dfa5 100644 --- a/packages/techdocs-common/src/stages/publish/helpers.ts +++ b/packages/techdocs-common/src/stages/publish/helpers.ts @@ -119,15 +119,8 @@ export const lowerCaseEntityTripletInStoragePath = ( export const getStaleFiles = ( newFiles: string[], oldFiles: string[], - remoteFolder?: string, ): string[] => { - let filteredFiles = [...oldFiles]; - if (remoteFolder) { - filteredFiles = filteredFiles.filter(filePath => - filePath.match(remoteFolder), - ); - } - const staleFiles = new Set(filteredFiles); + const staleFiles = new Set(oldFiles); newFiles.forEach(newFile => { staleFiles.delete(newFile); }); From ab9b315e2a748658d628dac0bdb31aefb1390661 Mon Sep 17 00:00:00 2001 From: Camila Belo Date: Tue, 3 Aug 2021 09:33:58 +0200 Subject: [PATCH 124/712] test(techdocs-common): cover getStaleFiles helper Signed-off-by: Camila Belo --- .../src/stages/publish/helpers.test.ts | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/packages/techdocs-common/src/stages/publish/helpers.test.ts b/packages/techdocs-common/src/stages/publish/helpers.test.ts index 27a56cd06d..63b4e0aeec 100644 --- a/packages/techdocs-common/src/stages/publish/helpers.test.ts +++ b/packages/techdocs-common/src/stages/publish/helpers.test.ts @@ -17,6 +17,7 @@ import mockFs from 'mock-fs'; import * as os from 'os'; import * as path from 'path'; import { + getStaleFiles, getFileTreeRecursively, getHeadersForFileExtension, lowerCaseEntityTripletInStoragePath, @@ -99,3 +100,27 @@ describe('lowerCaseEntityTripletInStoragePath', () => { ).toThrowError(error); }); }); + +describe('getStaleFiles', () => { + const defaultFiles = [ + 'default/Component/backstage/index.html', + 'default/Component/backstage/techdocs_metadata.json', + 'default/Component/backstage/assests/javascripts/bundle.7f4f3c92.min.js', + 'default/Component/backstage/assets/stylesheets/main.fe0cca5b.min.css', + ]; + + it('should return empty array if there is no stale file', () => { + const oldFiles = [...defaultFiles]; + const newFiles = [...defaultFiles]; + const staleFiles = getStaleFiles(newFiles, oldFiles); + expect(staleFiles).toHaveLength(0); + }); + + it('should return all stale files when they exists', () => { + const oldFiles = [...defaultFiles, 'stale_file.png']; + const newFiles = [...defaultFiles]; + const staleFiles = getStaleFiles(newFiles, oldFiles); + expect(staleFiles).toHaveLength(1); + expect(staleFiles).toEqual(expect.arrayContaining(['stale_file.png'])); + }); +}); From 7eef84a0404e43aebf440749fd25f8ec171e205e Mon Sep 17 00:00:00 2001 From: Camila Belo Date: Tue, 3 Aug 2021 10:02:30 +0200 Subject: [PATCH 125/712] test(techdocs-common): cover getCloudPathForLocalPath helper Signed-off-by: Camila Belo --- .../src/stages/publish/helpers.test.ts | 44 +++++++++++++++++++ .../src/stages/publish/helpers.ts | 6 ++- 2 files changed, 48 insertions(+), 2 deletions(-) diff --git a/packages/techdocs-common/src/stages/publish/helpers.test.ts b/packages/techdocs-common/src/stages/publish/helpers.test.ts index 63b4e0aeec..54761cf311 100644 --- a/packages/techdocs-common/src/stages/publish/helpers.test.ts +++ b/packages/techdocs-common/src/stages/publish/helpers.test.ts @@ -16,9 +16,11 @@ import mockFs from 'mock-fs'; import * as os from 'os'; import * as path from 'path'; +import { Entity, ENTITY_DEFAULT_NAMESPACE } from '@backstage/catalog-model'; import { getStaleFiles, getFileTreeRecursively, + getCloudPathForLocalPath, getHeadersForFileExtension, lowerCaseEntityTripletInStoragePath, } from './helpers'; @@ -124,3 +126,45 @@ describe('getStaleFiles', () => { expect(staleFiles).toEqual(expect.arrayContaining(['stale_file.png'])); }); }); + +describe('getCloudPathForLocalPath', () => { + const entity: Entity = { + apiVersion: 'version', + metadata: { namespace: 'default', name: 'backstage' }, + kind: 'Component', + }; + + it('should compose a remote bucket path including entity information', () => { + const remoteBucket = getCloudPathForLocalPath(entity); + expect(remoteBucket).toBe( + `${entity.metadata.namespace}/${entity.kind}/${entity.metadata.name}/`, + ); + }); + + it('should compose a remote filename including entity information', () => { + const localPath = 'index.html'; + const remoteBucket = getCloudPathForLocalPath(entity, localPath); + expect(remoteBucket).toBe( + `${entity.metadata.namespace}/${entity.kind}/${entity.metadata.name}/${localPath}`, + ); + }); + + it('should use the default namespace when it is undefined', () => { + const localPath = 'index.html'; + const { + kind, + metadata: { name }, + } = entity; + const remoteBucket = getCloudPathForLocalPath( + { kind, metadata: { name } } as Entity, + localPath, + ); + expect(remoteBucket).toBe( + `${ENTITY_DEFAULT_NAMESPACE}/${entity.kind}/${entity.metadata.name}/${localPath}`, + ); + }); + + it('should throw error when entity is invalid', () => { + expect(() => getCloudPathForLocalPath({} as Entity)).toThrow(); + }); +}); diff --git a/packages/techdocs-common/src/stages/publish/helpers.ts b/packages/techdocs-common/src/stages/publish/helpers.ts index 6f6eb7dfa5..fda03e7415 100644 --- a/packages/techdocs-common/src/stages/publish/helpers.ts +++ b/packages/techdocs-common/src/stages/publish/helpers.ts @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { Entity } from '@backstage/catalog-model'; +import { Entity, ENTITY_DEFAULT_NAMESPACE } from '@backstage/catalog-model'; import mime from 'mime-types'; import path from 'path'; import createLimiter from 'p-limit'; @@ -138,7 +138,9 @@ export const getCloudPathForLocalPath = ( const relativeFilePathPosix = localPath.split(path.sep).join(path.posix.sep); // The / delimiter is intentional since it represents the cloud storage and not the local file system. - const entityRootDir = `${entity.metadata.namespace}/${entity.kind}/${entity.metadata.name}`; + const entityRootDir = `${ + entity.metadata?.namespace ?? ENTITY_DEFAULT_NAMESPACE + }/${entity.kind}/${entity.metadata.name}`; return `${entityRootDir}/${relativeFilePathPosix}`; // GCS Bucket file relative path }; From b0b165b9a57abc16174fc56118745cef053e445d Mon Sep 17 00:00:00 2001 From: Himanshu Mishra Date: Tue, 3 Aug 2021 10:50:56 +0200 Subject: [PATCH 126/712] create-app: add a prettier:check script in the template Co-authored-by: Mike Lewis Signed-off-by: Himanshu Mishra --- packages/create-app/templates/default-app/package.json.hbs | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/create-app/templates/default-app/package.json.hbs b/packages/create-app/templates/default-app/package.json.hbs index 7ae86c0fbc..a763b3cabb 100644 --- a/packages/create-app/templates/default-app/package.json.hbs +++ b/packages/create-app/templates/default-app/package.json.hbs @@ -19,6 +19,7 @@ "test:all": "lerna run test -- --coverage", "lint": "lerna run lint --since origin/master --", "lint:all": "lerna run lint --", + "prettier:check": "prettier --check .", "create-plugin": "backstage-cli create-plugin --scope internal --no-private", "remove-plugin": "backstage-cli remove-plugin" }, From e7d9f68678dee468b0089bf3bff03734e1989322 Mon Sep 17 00:00:00 2001 From: Himanshu Mishra Date: Tue, 3 Aug 2021 10:51:55 +0200 Subject: [PATCH 127/712] e2e: run prettier check for newly created app Co-authored-by: Mike Lewis Signed-off-by: Himanshu Mishra --- packages/e2e-test/src/commands/run.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/e2e-test/src/commands/run.ts b/packages/e2e-test/src/commands/run.ts index c205b4f527..e4072872d1 100644 --- a/packages/e2e-test/src/commands/run.ts +++ b/packages/e2e-test/src/commands/run.ts @@ -232,7 +232,14 @@ async function createApp( print('Test app created'); - for (const cmd of ['install', 'tsc', 'build', 'lint:all', 'test:all']) { + for (const cmd of [ + 'install', + 'tsc', + 'build', + 'lint:all', + 'prettier:check', + 'test:all', + ]) { print(`Running 'yarn ${cmd}' in newly created app`); await runPlain(['yarn', cmd], { cwd: appDir }); } From 58cdab3d601fa06307ff8eabd11a87984e892b25 Mon Sep 17 00:00:00 2001 From: Himanshu Mishra Date: Tue, 3 Aug 2021 11:11:09 +0200 Subject: [PATCH 128/712] create-app: upgrade prettier version since we are using 2.x in backstage/backstage Co-authored-by: Mike Lewis Signed-off-by: Himanshu Mishra --- packages/create-app/templates/default-app/package.json.hbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create-app/templates/default-app/package.json.hbs b/packages/create-app/templates/default-app/package.json.hbs index a763b3cabb..3f913102cb 100644 --- a/packages/create-app/templates/default-app/package.json.hbs +++ b/packages/create-app/templates/default-app/package.json.hbs @@ -38,7 +38,7 @@ "@spotify/prettier-config": "^7.0.0", "concurrently": "^6.0.0", "lerna": "^4.0.0", - "prettier": "^1.19.1" + "prettier": "^2.3.2" }, "prettier": "@spotify/prettier-config", "lint-staged": { From 94abf07f1ddd0381bed5e6a4ad95b82327f5dc39 Mon Sep 17 00:00:00 2001 From: Himanshu Mishra Date: Tue, 3 Aug 2021 11:12:14 +0200 Subject: [PATCH 129/712] fix prettier issues in the create-app default template Co-authored-by: Mike Lewis Signed-off-by: Himanshu Mishra --- packages/create-app/templates/default-app/README.md | 2 +- .../templates/default-app/catalog-info.yaml.hbs | 4 ++-- .../default-app/packages/app/public/index.html | 2 +- .../templates/default-app/packages/app/src/App.tsx | 10 +++++----- .../templates/default-app/packages/app/src/apis.ts | 9 +++++++-- .../packages/app/src/components/catalog/EntityPage.tsx | 2 +- .../packages/backend/src/plugins/catalog.ts | 6 ++++-- .../packages/backend/src/plugins/scaffolder.ts | 4 +--- .../default-app/packages/backend/src/types.ts | 2 +- 9 files changed, 23 insertions(+), 18 deletions(-) diff --git a/packages/create-app/templates/default-app/README.md b/packages/create-app/templates/default-app/README.md index 07cf6fd136..8c7c4373fe 100644 --- a/packages/create-app/templates/default-app/README.md +++ b/packages/create-app/templates/default-app/README.md @@ -7,4 +7,4 @@ To start the app, run: ```sh yarn install yarn dev -``` \ No newline at end of file +``` diff --git a/packages/create-app/templates/default-app/catalog-info.yaml.hbs b/packages/create-app/templates/default-app/catalog-info.yaml.hbs index 265864e235..e01ce8f756 100644 --- a/packages/create-app/templates/default-app/catalog-info.yaml.hbs +++ b/packages/create-app/templates/default-app/catalog-info.yaml.hbs @@ -5,8 +5,8 @@ metadata: description: An example of a Backstage application. # Example for optional annotations # annotations: - # github.com/project-slug: backstage/backstage - # backstage.io/techdocs-ref: dir:. + # github.com/project-slug: backstage/backstage + # backstage.io/techdocs-ref: dir:. spec: type: website owner: john@example.com diff --git a/packages/create-app/templates/default-app/packages/app/public/index.html b/packages/create-app/templates/default-app/packages/app/public/index.html index 5653173480..b93896c6da 100644 --- a/packages/create-app/templates/default-app/packages/app/public/index.html +++ b/packages/create-app/templates/default-app/packages/app/public/index.html @@ -65,7 +65,7 @@ <% } %> - +

W8^ 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

)Co@vZscNyCzh;VzS)F-9_xm~Hj(h$6p<$) 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�GMJjMY<-IUKsvmtm)}^2;-V9c?(k4 zlyQ{Mn`bUwcNQsn!fcRI1U|Rw6(C_26PhH!Z4gWHcQ^BsD1CM3t~b)_aU9BE$BavK z_^SLr$~8^%K4-pi;^L2_(cd5<`E1R3PC{w>+BGA1*p^6E8~JI&O5Tih;GZEb@o|tJ zKLtc0CWLI^P}!*=A6P98j~i2yc~f-v)I8`i7#`ft5bnFfY0MtMZo2g`kMoSDtJpG$ z?elaOqlw6H)7j2vpp?Zzv$p>ErkvK(sD(aJ;%7c3=K!UBizK8asp3LN@&lv80l^d1 zZ28%?G|lxZd%`v470G+THGPNGFCNG{+I7N9+ECD1{H8?r?%M1HAwz75)(1Ze%uKq0 z-qFnI4zV;9_0ATlp<2pA!9osMuBV>_Z)pZsA<#W3?l}YXXvdHw_cs+(5SHIA0^ORQ z#)h4V{;V{@Ams;iYd|>5i!eFw!nbJ?%g;Tnb*_?Rs9|~99#pXyZHXzfGe=8q%@pKa zy8CFVcBVR!M?MXbyNj$zl3|A)U`I}b^iQC&LSQ>o-Qgu~u0vV@u*80n)~Cy}%q$#4 zQ`cc5O;0wn2LI3MD91Mszv>ew&<217+*iQVi%WVssh45Ne7k9BD-kr}Aat)hhm4z; zxMv=HdNc%vy=4t(f&1j;GddoF+P3l{u$33_23Ko56#V&qW+8VztH9jzfl%8wP9rU$qQH=z7gC}hi-5O1uFFveM3rJ8V1-dm-T!pWI)}7gYIFd=q z21lusWJ?E@9yICnk^&i{V19DQt3_&|#$M7nmsSsC$l$$ccKgnA&SqlnrWB7nt@=iS zM}IG?p?;*WX^Y*7nf}&hDGnrbEkN^&24a%OmRS1{WTWIT+NL&)7*$PE8;Ia8k8#+S zC<7@;1a2M=-1I}0^Z3+gABEGPPsXvSV;Bi?cl}kKmiFjYqA4S~#1(T;KGMc46(pb; z4LgxCx76jDpLvKrfep-WH1-$QMvroJwV%$$m?!Vnh%~uReC&=nrk3 z1$jE4LU6WoKlSScsQ!C(f{+Yt;x8vO?>9NE%5Sn6{pGd@r)zRX=8wa42>csr@h;Y> zH$7r+fWE3trg^h!VI3~t=@XYQ_e#-uW48Q$@tDMID0regdK_d)HXP?06X)-OFifQ# zEFd^T8bRu;6uf44Xhye-irP}$yTzR6E`VFEqt!%yVs zapP5vyW61ieymDa&0{-!;1e}jRh{5ey-9nI)HMse{)IKq*?BJA+=N6oZ7OxqqH>yp zqFYlPSSzOYB7uqAd|+RwShxl1!U1#Gx<-GXTXPBM*3?B! z)TyNxRsP+EuRHJ_cbkh#Kbj0`I^FI>8#$a_5Yz01bKm_23-2917!@h+>drf7`8dcO zRQPMXxS(!3if#>Lq}=5NbZbyR%kQ5aj{iVVy8t`?&p~Z9$xjjbpMzQ*`pJK8&jEEL zR1W{0L@5V<9%e>}-Xi@5b~r?*{&3;C5?@s0siB9_@CI+;fkNb9lwQm=lxOgc@u!OQ zmyq0~{^>WmqeN48CEMF~tH)Md7tRyQ7<8)`qI_xs!7WuN(p03wj=jH}#%MSas6VSKt|Ed&U1+nUXrczAte(mIpAY4?!Pb^Wn11&nm5&t>I1h$a=OVJb!R_>wpWImrk3t{jC zv0@i8fClSLF_lUFfKrhU8e1-|3&G{(H`J4`M=T!^K}uimB9rMU{P@ScaHFZ^+{sgDM&5iUQ3 zR#@NGdsK>P9=~4#@-lh-uiSQW*Unx{x7_M{lS1l$Uu5%N@~cg8Y$Eq-KZ5o_-it6V zk@B{%<%cOkAmJW;=AU9<8BhVt!Ui$i1Zg|;bdNq!${7(2{x>TZMA#FXp@x-$JI#3q za&?T%sxk@-K&$UsXo8jmHWft?Uln0<=*V~~7%{=LO~pp@f_xG(vZx6zT<#JNx-qAl z`3(3MOX1J_!+>{|j;-5Q+EtHQz_I0<(@}3sEK2hdHd`L*uDd<8uW)${@j>Cn=2Nly z1h`6*8OLE6uR?1Ml5ag)#09*$Da{V{uv|@nh_ye)t?*7E^Vf+-$1cHk6z$cJ7oT!; zfi$LgAukIJrRF5?N|c!)%FAfK>1;iN(okF%4LY9wj}2Cr4(wNnPC+2u@!uD${y*3C ze@C$DGLKEy-VzrpJNzF>76_{00b>g4Xz>k==nxY%=YO2(#$6|BctDk% zU23O@i5*+S{739-jtEN*8hIvU^EEF!8Hlz(+W7-q#`@oZLV1QY_z5$qF76CF+5bWC>+(1~BNHB!<%h%L$j z5#YmbD620G9`P#M5yIV@D!NO&#>>jOlEP`OQKzT-*qJMSy}ZMya63=z7Wj7#9&v7E z2SZ(n{P(E>kh(y{!3nW2zCjy8S}i0*@(X3eOq$Yx(W&OKq^3pX7Uhe>i^Ve$TkisM za6X~jfycNW99eTd+mv|l5u;NBlRVb*?O{F$8KB42`f8gt2t>d|NZpjB8%wHc%8(g$ zEscTja*i-(tA}_nr=7yS+Ot_sUVi>!%HP8NwDQjvELVG8L>0X=um4t&T%>bY)09Kg zlvH7bU0crOfLn1?Z-3kBn(^cMI~wXpeGbB$grx3BLzB_58BY~QgN*j7sGjiL$IH8# zO3+E~+)$s&R89K!^n1VkS|83xTcgwQuE>~b)FU7BxYQS_KlD-fS=vl|lMVeJCcQnG zokUQt>JuppTjeJ-{K_a5?<|_X^~W}uWUFxedC_H6A-KvE#e4rC;klrkuzG_KoT3bx z${6yrDL<1#(;vQgE13i4S0V8tg5aIaPp|Vsb)pxjehd_xIDil-jJ{5`>|ns5zMyih zHZ9tJz0q)T+5Oj_t=~#d?Rn2v^-tY9e!hHu@l!8XN-EvemZG*m6-I?r(Q3GE6-Y^iZ?o7pRx0MmX~o-bYdKH?g09sIr;{4O|E+% zaN>YG#{vzjgy6h}xeP($fA%|5z&~W;``3pC(jftN3%0yFu#p-$+SYmfEF(^>3^WH< z?@s#hJ14Q7>E!%c-{2Bj#1nM#YRJxY$#iD~vosTSWo>M6L1p}U=wGBRKDqS?R*)dm zs$zmXX<(~r$;53|D^A4AlyKnRyK%fQbC5N%ialqwi^7j7uk`LFwDzF~ZlD<^qE> z85cN`&wqoBW^%I}#arVtgrcr3LRAkkT^X)@>9Ns}JYIi>Je(zbg)TdoqL3kv6VD*Y9-&B>@f@Tb_dXz4206MTUo1JyLt!E%>wBc7{jv5?BmvjK(F5`L-fcZih2AN2j0i|M3q z20gnc+dm$L9(=tS{=^2SSl%i{uTl_on4WRVvlc0ys}pGj|MI)l*W6sx=8;-(0_*8) zrjnc^%Lb;ylMA-~EXJQdbU`^hWD}wO{+Z<`Lmm3L`+b`8IQs2t#Buv>2KC{V`*0tE zx8kSjT&hhi@0)WM?pSd8X>oB!&Q#XW_uhQj{ov^}&l|4yNp^bC!nddAJUE~_)99{) zwKeC@!MFHLyt6W$2}ddh;=ebX=g@puR%?6}0j$y$=~HJ4Rp3;al(_Gv{CZGqCIhhc zm!-%^p+(fhqlQt&T)3dUBLh|*uZwDtp*q_WdOc*P5v6<2P%DY0Dvn;~;9WS>1F?RV zx~0E_m9xbBk@{GIgzF+o>KOCUgalon5-j3+@da9x8DxL^orPV9?SCI5486+1w|7d&T`D@!nt{$(tgLbmZCz2%- zM#@Z49U>{_mUj2?C_57VNw)<`?3Ul{BE$YnHDG4XKmu)e6!=&sXa2JjXx^)@k#Ew? zb@g0~c-orpPhUD5PS5BYyA zeNpwkqoz~(OC~DmjZ=i4OX9crnL)b$!PHlWMfF8p69Zhy0cjA15E*Htdj=RnX#`0L zk#0r0W!L+|D1iL2~KcJR&r?dzLT)A{=han?^@mK=igNf zKtCK(q{3SEM5V+Y()t5M@fQUrnyU=~N;?5V~8Pye0P&Y1D(xqJ&`UH+{o3pE? zVih$hd)^kuDIfh-3|)h<#vpxR(m<#l&gF2L@TI&d_DB1@6A6;;n(!sr&t==qV+R-H zRI*azRBR!(qd)eDH-rh^P_GBEXk)(Z!p%_@Gk#U^E?J45&b#;Occrwosirc2x> z@nN(G7;-$^pD1aIbBk3{-=`dR4IZ^I^7$!tOF$=5*~k3OO(2>MnASzqm?bo+`T##w zU=L{V1o(hgfxDG~RpCjG8p6At2A-9#@6|&KL}M~Hi!@C1XxBwQn=F35HejHtR~21o z5O)u;#8?EjMoH+sBj^-8*IQVWk`g|?60FkbebTMCNFJ_8_-{53i^Zq>8P6|F1gE-D zT)tJ~j2Z3Q&9}Hb9Y2y(0gyBPK1}G+M$$1>q-<%44MM;e{%OiaWwmec;m{WyDmb)i z6QTaRy(Qd!(6s`F9VgMt;x^udsUxi7IF<%4K9M3t+zQm8yaGO^aW$;(JnIuye}2Yo z%7aqfdbH>twv86@3a?5D5SAx7;C85*RIf&n7Tf_#D%P14qM`ZwfJ-KhtuPd38+V>0 zf^zSwy$c+hAe&l8&e=YQm_{otT^yxL3=N$eH187YlDs`OzjbhJBo{n7E)D2g-ZdIo zNgiQ~RYKPxXOJ_tHGGm>L8D5JfirHfz#H!DdJlc!fTq_OLhmUhkrJ52sld+m-*7_5`Kty@a;k-n>%a$@uX&5ojD4NpMDp*orW>n*G_ACquuZgGIedV zh&6q9u@Xi;W}Mo#%uctW_n!M_!lsq{2FyIVkXMtVnGdW`xSvGfwBYbEn+DM`B=|lp zG!z17*Ti4O-zU*2krc5g&lSc2}IB9&m14;=+_(E2%U;*dQ{Z_BVCFi zC2%(+KP3)tFR$g!do`VDI({J@md_hQ^B8uQc72973ypWR2Ywg^V2*9{*=_=dF!k8c zM3UoURoGk@5_)7rc18cWSy||nKx*JtB4>B+>fu?)ha&!EpdLP@=Hjs@NV0qDErp6} zl$xJ*HlZAj146KKispv*7Llv4yO07l`VS4W-oS)O@D1V=x-okZAYnB2HU&;cU*twx zlv|=w(<70DOds=fyNRj8)uyEPS;pzcPzf_qGbe`^bzfUVH5$J`OcJi|e4ELACg#>! zD%ePblq1DF{*1#EK4iwyZ&KWM`Ej$+{Vuc|;X6-$2tsnWh`FT8KpbVo3}=i{DW{13 z42zSN59Sg;IcydvEiLEJgdL!I<%_QlF<2`_Lm3UJ;|e;bP7-#R7$QQyoU%JD$yL3s z5cZ|qGgr>5BaB`m8o%;T`xHUebF+_OJgf@|4BYadbsYSy;PXbpgy+2sUXSoW-6%WW>Dz2YsGZ(K?_xdZU0`D)28ZW_nabC8>vIL@Sw z$j*RxH>Brgcqkvr2poez;=I2hYUqk)6_dmECY_J($nld-hENf7bN2+aM>8LsI&Cjh zay77F-Y~I_7#|4wiXZORg$|^#-U%imP z#PJI6qU$<)tvQ6Gn;a8&y{PKTj8Bxu;ebDs=PGzlyx{vl)o}#|%%n=>rIYuZYFUW< z(x3tII)gfgY9@_ime1WSVJ=}mVOHB03foKN+TeqMw;Yxtzx?|hB5#!e99Z)30m7jr z2L#k()3A$)>#+EZ0B!i2%oLg#=m|P5+7kJzeMn#FRG^1O9xxM!FD^)#A1*on zu$om{Iuay>JiZ+6zr5qN{Km5$Tf&RUyo71*0r+a#)JR@c$Eyh1@G6Gyx4EsR9Fo0? zj@8%GGxRB?o#3WyC(vI9om9a!+NZaLsIsgnEiJFSi}PxDT~Vt~SnvttAlgA|Y%p47 zUmo3Lg5ZPy_)y?oV825ZWl!=eM%M{Y|25ut4&7L_qt;ZLO4$=~J@?LKh+&{TbVVr$ z-xo9p2smhzt`=7VLbt-qTm<=)1gN8iy65%gYOaU@hg$=1(1RJ=sUP2D5Z+h1{UCJw zFQM&k8T8fRun^e5)2Bd~1qTxZ@p7j4)9Dhlt@f)1pK%<2v0UD;3i}pa(RWcGPw2Dn zHsGEPWlQNci!2~iy%or5{S$&l|2PV zak)6KrJpck4@K{eT(Iz=PGaxs5iAIwK$Ra&iIT!M8DBpuna~m-HyejViH`ED|9B(= zvUrT*lJo`t!MP(PAe?Lc?N-@tr5ZFrJj>jT-s0Q4v?qUuWiDwRHN3;D5DSoN5{guU z;H$-HYa3Da&{Br0;0c#Kng8gI)nXfmlfi#81|4#!GLnF2Z4B}8Ufo#du`eq|c+a#5 zilj7&x@)m+>cHGY2XJifIul!qrqN?2VyGcVX^_tYqwgWt!p&AOhV?TKu$v31#qLx) zl3Y&MU504VHF9{Yl2k|qAL^i48nFL-$uDNbC<`DN-#;9AP;4BBi_t^VamD?hL-s4I ze6Bc9Sh-hmKl`HArCvMKr=|{~1v^=?N!er+`<|2J424l8>Fw}`hhF=~>v15!XR@OM z3aK#mA4xc&X{J~nd7v?*SgDJ1^r`<0EnCkl+5bLDt`Aff`;f8+)OolLe&BiVa5b6$ zO*Y){b;3cSUPb7UaAmKu!=sBEt0jXgj2{bg){Xs6&(DN(vgL6f{AqHoNrxk$hgdzk zVdq*wruEY9%rOpstT;MUsPq9;le!1a3K@qv5HAlPakncO|2Ty0HJtTp!U8*fU!D)% z%Y(v)dT-|mHR410_iq`JL#Tlyk{;jio9onlr1hq5{q>Vr=jWb$4 z)Qr!bqlt)rP5xz?xLg50Eu%Q7KA7-seM9i_q1-`D70zP*fdp!!xS1+vXA2Si_@sJG zCOYC0D!--Q2O&)$7l;rNcHn#1ofd~2>fTIxbCcq0QKZJ`BV{}?#2KN6CTN6h$c4LJ zOdg~Q2@fQBy(#7G#I*k1DDD>m?aUrZqpx6z7kNoBqj~5y^l2~uOaY1=&WJV7yO0KqQ1}FCBvAnCB2?O zSB!nxu*3We2q^b#;6q(y1p1Mnd<7{O2={<{B3T^8ZR30>#r>f#_jjM+tj_j76KwBg zf*h;A8B+!vC*T)A3o8?Y*`#hH5eS!n=jCfm^J4~m7poY%ky|sRulR1mid|Hmo*~o~ ze0P5zD6VzMEWBbKcVQZoos)@&T~~Q#tNj>-Vls|vp`;A|2~#&U<;Qq!9Ih3ciW^|*63`ZXRwnur;8TJ2ml`(d+N@*3SKVo_zh$s)bG05 z$GvEI7SHpHB;ZnqgA((e50wbjQ|NzYkRuKLc@N8RpGWUKoh8HT2o1B6ld^2<`96R3 z@{a4W9uL9H9W?!-LDR%@L*KxMd?>qKfR&X^J6Z2}c?3)r1yD3<2{;G8@l!pt`A)uG!z9$+QB$1K4X-- z%6~}{x@e#Q+8fZ{(nAg!nn}L>Sf8i+pT~Fvwfr!y1STlsxFjVh3y?PyU5d5qRObQ& zQt(T7U&Ul>+;aLv;DU|{DtL2x@q!H^ppOoO`a!K_ny|#9t9_2Z-Jvu$hnWUdNI|O3 z&6NlBRJo!JAX@|xI?3UW;)hU6a#C&F6EQV4nDGHkxT=ImKj#JRGSl|TK&k$+#KLL< zpvWn7zH!{RQpRvS325GMA;rhE4$de(?SXLEi9X3bfrS_nxnbfpz<_&Rs&BcEBxCapK;=m|AP{9Kuq(dZcYe5}$7j1e%wr_*7!qY>L6yQoqe7*S;d8f*?ru0t`( z(GX{{o(Ez`nyxBF@pxXyFsZ|B(>QoO-|%nR!h-_Ii`DdQnFU%Ez_g+AE>1%-)m&SI zXP9?WQyKSo{*BMS87g0|X|xBYgH9H0iAn1I*n2k2!Fn2poi0B{wvet$ncv*;AFt}N zcxC6V_OPo@%+SWlo~1c=I{qD(hN z*G*VxfDxAu;50QBUnIKK3k8kTrv@tUjh8p1YJ=}m9BkSoe%t7Wj6APmSdIT1(i8t zYqP#APRS;Jrmi0l$5D)AEfUvI$^Hjq1MsM~TS}1UnuZNLujaQNZnnVfi<; z_~U8x>BB;k>K?Uf=wwwg%7gu;yls7uI@8?mv_FNb0qkd#L_HT%vaO{&`(iO=7w&)P zg&~o*Hy$dzy6cI1T%NUEC(H0qpw($^)GU(a#rS>?nZVnhV|&+6h=Xh8Hy_1Xb2*DG z5g(ndM+nAz4Y{#2bg}05!JE8S_zsLQ(t0S;51O!s(2X6np0qhkxsE}*#U;PZxe1S# zcBCb_ZD(P8S1>xsfc*r5JYB`_ePo3{GK9 zP=Ax0xr{6F{nCtLpk{X4(A};g4WJOz>a}!9C-UR4wdp)5P8Z3Nn*sJ)|00m z7`je|5jw=la?S?h04TlUR@DZAN2oM^My9pny>k|mV-!is;Vk}}<%D)S|nfF1p$mO*rv=lDV@>jg|n*0+p@Tb$KSupASrwqmg#x@M<0{({3J zm_`c+z4?-l)!UzHprn$NfDCv6tLaxKSpM}>u{Ke9@rG+O;Z-2g znh~^>=oPMNP}0T6C$(0l!ziBw=_%on>UWe8^gwy+h)O&^z$x(Q(9j3Sfg&WCKB*ze zf@&J2xkT;7yMvHV6v(@G2two@e$ap&5^zmoQ|J%m==lSm3~YsxzO z!?RLF<$!nlAQWV+?Zd;?_jfZc5=xs-E_j$Dt?yA1+yUNwB%uM^ALttq6&%3I`?p$` zzs5j%XlTQ?CL_YJ2cO|kgCwObzZgj3X7rzndNq?v9IAfAMbvA-KF6BYB4s8?O}cEj zp!@|X0lu>!p9T|~9W3Z09rOVRLzy}wtSAXe8JC|~*vF0{|DKG0A{C-|u> z=M)-Ls2wG}P9gw2j$j!NGsm?7QykFJJ3)B)RH1ipP9ot$VN-fnmSeSWf0zAlP=L2g z-&{oe)xttSnZjQbPZ>o3gst|pZN26UBVSNH zV;&diJkT#ylB$Jy#3b85TSUsfvA9x(o5ua$SvWz07Xca4z+$y~o4g2I8CD*O$ADzP z@&tLf*4zQ@v4?llA6smwPGmuCw1c1)kHp~imBcwS7sr7T;(dVPvW4uBdarKKp~<7L zVbw}lJrSmlr>Ld!-|RhBGr`-J3F~V zGGnZ<0(gqs=fW*1d*3_sCm-1d>~{%YrYcX3QpO+`5!1~KgDj{F6~P+*@zNaxUXC}Z z)Y~X&$GfT#A4@Y;QS9$!@jzK3lZ?3w187d^u+EP3=IPK^#K`X@#=6Mr<`3!nhM=Q8 zM^}NlkhL}ch{?;BeDkzi1L#yZid^$IVLoQh?HWCXYaKQx8n)+mF2m*?FPLLL+?&g? z`eS1#_QLjTYx`Eb;B!BQ0J&h{7Fa`wdjtL16NUZ_-@t=yzSGi9GePOiysjPJv-exC z&rVJp556tDLua4;?i?`o__^#XdHFU!1X8ez?AKn0=jV&z&>t{+1OdBL262Xne57u` zsMoyO6$AoTvXQ(3@5=}zB~`sGzxikFeDU;4zF5%MvJ%_FU5{AShgf}C3Gua?u(d32 z(*`z317q!&qZDfo8gC1M=OU6qf`1)DaTkgODK1uY7?Y+^v4Elr+`{>egXP=d*P}*b zF2gM+^PUHL+qZ__ZCBeT^s|X|CJIKq+W2zhKpecVc;R`pc-mh#E0&$tNz*aUpxwA8 z7eWxAb#Ti3;d>dy)P--&v{);{1t~qnxwq`%;`7TWjsu&aaX%>Kb!r$CWL*pQMG2q` z0T+=^j9g#Q!JW9-oO(k@35>gxiJS74&9oJm&o{?>PiX=-XzTf_ksftID(ppN7kGPz zP!4|ME;JtPM5OxWg!ulvhPJ6>KR8G3URkZo?hrF7?FYRBlXH3N9kMfd<`du(ro;>V zAU75`bnf3YwQ>ccHhj=5u};PZJ@FCBQd$xZ%2o1R5KHutyf|B4O204;>k4uEd+r6Z zm3$KkdZI}Xzm|SF--TMT<#5BRtH?>?;vcu9g-8uzplBOtMhPp{9@>^YccJr! z@dwKd#FaC|Zr~n=ZF+Jdoaj1yY(bYk|Go$@K2AjghhFxG(7?Hf6y9!r3AWfD(R=jL zj)uUd; zBP(HD1YJS?7RR%!>qcy}B4HWkfS?pRAsI>P?~5;_;Vy%j9lO3$2PYi;yuNvX1RO&9 zhM{#2-h}gD*6sYDM#Sm}DMyh)rLDI)`t13bnh)ITM9w00q&>NdSu91~72pFeZgXh~ zHuw@OYaCcTy3Pj#wlZkJwz4{^!t*93PtC;$7PdzTNoCwUbx0?kQ#n~LcmL?spBd-7;39VV1&wRYX@ zHjrZjN#DO2*j>qv=Q8p81qb%)g+|+;39Fm|_Udy_@6_KRtXiAA22$$E4g=J51Rr^e z+O#amR5$emZzo89zollv2C=-eiP#E%-Mn=Tn|^$G*gTfkM09S<>ZFK2FX7 zuf~JGwK?9A?7p2HS1MtxBD?k3w z)xOgx29YtT;H=(D=BBttV)Q(vc)k>EBUj6|1RGE&L2eXQ^SjvRF5BK3VW=9w{{ziN zD`6-q`O@&HzTV1G-3-IB_&XV$#;{51^U_0aHr|woMk;T45@x-X*LF;$WtMvQ2E8|` zTZD?2>ED`{jfc4y#GMJCs;`H_C<*2WyC;1gUz~`vJmU!W@Y=7@`^?*$lMWDA{$bxK z!dnJZaRGOK=Q%@@LJcDsmQY;BcsW9l0V3sBtdUoHT z_WAks__x0bg=dED@tCEKX+1ciV8xWu=mhMtIJ*vI-N`XCcjE#^?=cY>Pdu~Ae>3v_ zSvbR--mHlKIkPpbNs z7&1os60O9$OM!8_WDc&z2jTq3iQ2W?GhwbbN_Pr8-aFi@lhTx6$$s(UiKWYynoL^> z|L}$fbjz3VM#H>Var+c`^n*9C3fFo;dAQu>uWknjk>~1EQ7}1+_j$s8OpCW=Xnsxp zDQQhqzXsuPSt_DS>r%Sho?xdfPp*is1Xgw{{XBZU1MTm$><6Z&1L=9Pia&OV{BEK| z#xsjMjf0;#`hveUq@KhRtLWc>x!)uEk!66*)tmee<}7wg`u4Q%!` z5`SFvAlC+~^ZHd#N=yI8;mA|bh-qCDjp3v~QI^fy(DxRe+0}Ma+cDgf@5e?Ech$>- z&>;)~h9AjZfB&vH-FJN|!4EufTX%9<8lGrJmuW-H(Z9xLHHJo%P;vXMj@CxL?kiOp zu=n$t23tH@-i6nud~9M^F?wI?94XDbo;6ea!98DFo&KEUYSW84RWFaLWxPhU+SiaB zDMuIN_f(4!r_o!m3YGG%pM9hocjFTwu+TE-o16HUUmAGgD3fYSyhZXDno$#$XrxX+ zm`9@T=9|6cX$$TmIx~8>a1RhLQ9->KiQMQ zxbq;uwLs8#pAYswe&9$DLkEW3zIzk^X?vF=Z5RN z3{dNF>*(bVT53+`pLy@+G7o4(6)Upa_I}GPq`A)(sAOKLn~N^}3H{#HaMfTN)--sn z!DbyoxZQtC1aCFPWjX$><%=S&l zDPw;0`QvqO+nb!1c}os<^#qY{XauI1tLX--*As_bVYz2)edXrTK^KlfUi_@77Rj;3 z9biPAty;iw)a1Ii8Tc*qajsb^viDu357cSATyGUjVY;C3Sta6xUK~&tNeK+b!cMet z)gLvQ$vNase?3_jKmi;%VhPtVx<)Wowr5hlp}){U(cDq(?nj+1gmha^X85%f@;jM# zWaRNEsq|j(i;vVD{iyBiSJwo!C8kLbFG{Xs@z7Na(+;F;M!B@DW_4z6lR)IEA!BtjM^iZDu$0aRpb zz7NsL0?i%73onA#Zq==f&ovD--#?TO(8qZ{?LYD51v91`W_q5KthcMIEgO@!akfNu6oAC-;%+*gx zaXh5%n2+d+OkCA4?}%v>`tf!2 zPOhQrP5kYYm-{*gFZjV?7QYshSZ3yDv-x)DfjZlD$}^FJ?KN#8($_(^?g>iT4O15R zn$=RDM;v@&acnKSBk+ZQfJQO7X6$Z{y+E$H6%&uT*GqI)z4EN~on*9dtfpUNa9hVx zXG41DbIU>VhZHO;1hJz(gfq1o1H+eChN=#s+cJ?CTT+-0td4o$iBa(n{bqZeWj>d( z=Kz$uz4~`U47)Gu)(lVZ+`R&RiM)GkHi_BG593%B@VwOv!fcIX0d^9wV3l)$hXM(J zdIyU^$0!&RN}*rN>Jz1x&LchJw?C@b9L*{`^@~z*c--Tb? zdflP#DlTE>^ax$@c-=o^`iRI&F6@e(PrsjIt;+F(+GiVP@Li+g^pvM(%tx^K5%198py8ol0lW^*y4!IhLKtbnfxX*KbrZft0xo*uS(TYL6Z; zbNiA;&5((xJfQnQPNt?!VrCwb@YKs@c34?rTJQx?ikJs0(mvryHdV}ipMQq!mDKYP zT7*@Pp7E%yMFh9-@SdO5I&ot(yQC3s>}82L&!Zxvv9K0~i+Kz=kt}n8EgbV>$Z}`L zPkaa#wnWbbS|TqBm{Dii z>3trj@^QI)d6|JEplRh%$bA{U0gzO=Tpvb*xyo_#!{F+o{0|DIC3XjPNS{n!UNSUX zN^*rQ@F{K46T7ndkyhemC+Bad^q1>39^rlVI`snxMjb1b>nzSTD}e=HRmVxT>0kn% z^_i7Kd&{4DtG0x7gqyFXcf_z8@>@*KX2@8yPWC0@-tViX^jAM%T6Fq4ms!z!hj^{q zvY3TGkVe&wHFAnLWyeneCt*Fb5pylbte;D-}15;c3#jLzGfAHPyJd-_(&RVSyo z<0>L;mK9QZS@=nha#!Ze+-zr~`uHUk5A6CAa{IhwhQ^IovHxwrp_zcv6#R>#3}wNs zcdc3^s(u6prB8=XTLCGc8z8vKCZ&pNA=R+TTE46fu2&V^T4`r))M|iN@zfAV8BTHC zjlLH71+4QuYHDD!_EiBmr{{t|`>KwDpvAavc>c-@tVBHcP1b0{k3JLKO*qdZ@#9My#fHCNzN?T;6ZC*#P?-xmAg?Dra19LJOw)pT_ zx}V}Vtj&B?o9AY~uy}Px`eZ-3W2VKYwsh}ep2e~F3U9q2jTa`P750l@$cNK&h%hDD zZ@uW6Y4&7%(7O16VLiokZE!ZG-@Y+z`dSWw!Shpm2AM&M+YgO!GFKloKfZgp(hqS% zA0K}78p})*IzQjn8robf$eHpvfZlyQ)5`C-beUAXOI)K}jXuN+zi@$sT>;rB|F^7e z;IdZg(xj-?a)4|8{59XM%pH>g@ayD@-oLMtU9i{Xv|A)ze$_-0F515(WJd(%Eclfp z3+QvXV1A<(P&+b^pDnzaPDutD6MNi$8|rdV*9OTUL&0e zoMG_ZaQ(bN&2pM>-x=QEgp;9EciRJt>b)D`{Een3cfbPMXV^K$%IlAKPjO4j*W>t> z5hRX5h7A|(DoHiU?cW`GokA8UxTOXLbH6XAeCU!Q3z$ph!wLsmNY!;G$k~;Q+@=uu z@8W4Sk#)Rs7%srHG$(*QZ^y{tJM6NWzAfw6IBe|f>=iH5FKPQ;eD?AP5gHrHY`1vx zJ1r9`3WgW2_AY)^h{Y?J+6j9*DlBAgX%EkW!sCfv|M}vqXKeBbH2b#h@sHDPg&AJ; zs}I*0Pa#~3ky_@M$j-iUeti^C_&7|i;!r~w()|n8=Eql%wA(pBUNj;b?m;|8E1}_Y z_m9qZ8v01ighEkr;g~-R>Y}3c2Luw4?F4K6Gao*k2T&GqDqhz}(Y9$&{a{D!|1LU9 z#^}9O^oNS<>vv6DO7d0J!SpfMeucZuD1LkAX-%$7`a2Z3zz6mt4~$8*L}#SeTdH}@ zD0vlgxhrbo6(41-*7^Uc*mxj}NCA__QDoA=U7XkZiZf7=cb8*{%}78W^-OdI2H-$lfoSxepBmI_3S!FgRnHPy z=fB&Kl4-)CSGst1Qup%VZL-G+N2Ey%uV+y;d)yNN8nn6JzEy=>o1T4$%az)y!(N?r zW7Dsby`z#PR%*-m2nx3IPcGYe75}L(FmtzY>dSQ|{C1NYK^KUp(TpGo`>#lXVLjo7 z(~%{+-bMQA8s_pV`eZy8D;^3n`gxRP@V(gFALvj&Jv6M`e`k{eYKT1X_#}mhB@okB z=%Pb4Wg9wSK^#PB_4SKC7et8jugc{2PpbRV_u!hppPm~qB`U>GXNj|mC$NhLp5akL znt-wa;r-*BLiLpiXDOib7cG~kM<7MGgy!$xoAVle%RClZ6nhRM5+(=}duP|U;hC=8 zLi-K!q-M@qVTS1+dWigZGkSKgxCXpld6>U8b zJs2w2?iGnkyS@Q~On;68VIdI9_^jb~FJT=nPc2r}z-kpdUO3L-&HrlmI1@JbijrWA z(nVI}XE!B5hENxthgrv=MvtQMWfFu~0Sw@!zX5DltAVA8hlRd993rv32PWxD0EszIp?^S9Ke+4__6;$D z6*CETe`WRVORy8h@V4f32-hh|?k8rj2`nUWu;*!zD+EZ?6b!bYxu4h!zlXpLI(A{| z-w1aVu^o^-tC2=)1sUjM{v%2@+$VJr8Tv$(rQ1-pRr;ba11*tHps)MxN6vN04!x`= z(BPM{@LsI1!c5zWGJ_Gxn0s-1;`{TGyUwU-WgX3KV{Z_Cc!QV5i-#twiO6@06u0+$5>O%Dwq-WQPngQ%V70|C_P5 zh0)cI61xq-6Lq=zq5oFDhQ0s4uOJ^;AQP9i>1W3NVvcTXSlqhu;|v1K+o*V*TpMmm zf-}PV#r(NZ{fbkO(BO{%IG&kgbqJ~6qedq27pYPF0Ee9POfWEu4@U`XF!In+dlC@I z3sJja$IWya=@f7he>)C}l!CJ3lMQ;+ai5`|(v(R#0^)}7-^`GD&D5kwdUz}vl&<~q zohRrMcmGyA2tQ3SPUK?k+xI(P#2)w@dOdH>^ls{`mGyKRcWD%Q_aR>Pt}~bEiB9Lx z+=D-yF#+g1i!p_te1xNXMcnm9O3|^c;{y8WPIZ2@EeTZz<18FTThSw;?jj-d7S*I} zyy7bv>!0oQoMCdswLGdibFQ!FW!Ys1Z1{+@uGxsfbQEvaFti^n`E1nrOdx>Q*WTmC zjK*7=h~hnEOI<5~|A1i9Ahf$;@`IayP%Z zz7yy%{BO@{(4niTxlgzXRs>uH6o&IqiljP3^s8V~W7wD-IkepLf|H(FgV|S{?JrKW z7k}eZZZ&$%Wa|tOge}=a;tQRx0u4(#zGW%>jqEcRAJf@Q&J)_|Hhn z^^T5$C(hH^d%~K4{p;pLQdge_tQhC(%;0NcOJ4W%_SW4wJ$Y~2L_+f>iQU}m=6QF; z9#?Q|=Z4`5YY+bn>`coX5)D&_shknc*&H@A!0pdz4tO8Ctw2)G%-v(!%%xO62QSVz zq-mfC%RWwK=RPBxX{8V7$dXE2@iMo3InzAWi4Agmcdys7f5f2d-n+XigWwHUk%R5s z;aq~cDNV481KY^5#V>BtaMKCSb>Z1(*T?8PnpeQx;1EoW^Tp-)_r?#TF9bdehQ)Dy zJF0%QqCC~2mb89Ezn~4`uDehJ_OGzR$2=Lv??*oLI3)ZJbWkjNP^Q0_l6db^(mIQj zciZg5Uqsv|t2>>g^xZJnUtKZo1{)o#zi5seh~`Y|2}kg7OGNi5Z+qT;0V3OxJ!HL? zH9;rgvMNx9Kh_WCqYU@aPs3hYB*CW)-z|;{(C(K?mpnOd7)?#BPGC9D8hfgyAL+r{ zS=>I&)CLKTanttg1hN(jk zuzsl5u;VnzGF9~wyE?GENYvD?j)ax#EtE3;+1xZo=a)VRkU5yod;aTYSn|cguUgSI zbjQ0UERE}}Gp}d&6(?=q9IVLkSz>UuoA$LosIZ;$V9*YJz} z9C06+F0t~e_JT9_#>2Z7{$$s)k!d(hj@YD3@&PXP$;{rZ$F2UcdKs=(Niy9wOg}g4 zd}15#UW4REa2MqotjJRPi!gI<*5pL7^S9twYX)f9CxIf ziN}sq7=RpF)3XA7(xFem8;z7WW)Qadl%-^PM%WE!E(t<2LzX{+3gpJ^8?@qpdr+ia z(6FQ8^jVChgjwx{@BG)LCpW${3XRNYSecHuG&R*VPK^AN6e6Bep*G5G{`t_i?8y)B z*7~fS9WznIexYn*&pgkA%>|;*4aoztoox>28F(oAt5# zy5ScAUs!;yFg%Yd7<06!--XX4khn`yHFIQDTBFqc@W0Q3y{9@AzRHM;yZmaT@Nzzg zpUurW$%2(zIOS6`oV^i4_e&?*CXvN`V0bQvNTH?M_UK~wZ_AGgilycRyyBBf7){tQ zlZpV2ma85CqJI!5WCfO!!z$_Vbd+Zh7{<0obl#wbc#^$1x?o#pbacl2k!QD6+O^YA zlR5nUsZVk0fRdmE{+koxI5&r<6*640bm;5}h0O2{moXN2ti)S-|N7JD0sYF1xeyrF z28!mt^Z1OtZxc-)D$rATUedeg~x?PS7`Mgw|>Hf8WQe51NeMg9cs-Z}AvXZh&gi zF20)5tdM`EPHP0q%e^`w%3&VwiT@!kbEc{L7qCPBe=yE83PDwbT#*1XRWIbqDNw`h@bczBK5rG9KBR_zm)8wnd zD4;;V(p2{)@|wC}4W-wN!bRDJYpH6vWoqbsOZ^0T*S7&?o(GgyKmDgr8ahrLNjDmDoe9UFjw#y#l% z?m42K1USTA!pE|B4yB)O_&Dq%pb|dy?dbHv6gB;x8fp+_OwMGN%w1Tr_SLEP7EZv1 za$cC62f8i)q+MfL6o=YE3q$2Dm8qjHg}oXWEle+ky`GRA<#T;H-5vpyZJv-`!?5gS z5{X`1++gh-p19-U8k7PWFXPI?0F$E~kY9+vEXIx!?Fwz@6~EcT4aN7fRv- zVOVIdG&jLfJmu?P))}|*B;ZYbNm_WI=V-BhomflIxum#9ZVt~=L<&bUtSm<*)^H2+ z2^kCv7pC;d1a-is>B9RtDlc`wgoCU=8!IjpkN2JJrU;K?4m(oF0}9*b74{1UGvh7T zT%6Fw2zyz3%GSj%^`=#w7)nq*QONf9jvD_Z^}<=39TZg;hlJC?S<3A1*)z|>MiY_^IFeIgjjWxolKq*QwX?i9)P;^j5pkuAx zC=oW^k=@VCl}f?^-2hZGYDIp+d{gTvQ0*$IqDUO*&OiimgY;l?r%he%d2)ZoLe7qY zH>h$JFDL_icQ8U1i?1(!Z@ORXJ@2JIUQ7K2obR2`oh?71=4lD2xpnmAstf-g-^*3i z1^-*nw8r1&$`J<10!436^otu_x$de0ue(uMKHEWBdA{mQ1lCs(UGzoe2r#Pl zZ~8+)<5z;^bOPIN$LZBOAHz@c?#cd6Ue2Sv*i-mi9jXhPlgEI5uon3w%MQ){Z?3?z zFO})_0X^)-FDv&DPz*CrGURij?V^t|2C7LGr0X>Zz;86+8-KWnFLu5iSFDj@o0%-6 z{EV~W!Gu03$S{K5jEs95%o@qmGa3LY4{~6XT}0|+V?GTbgxhYozR3~=7^pyLQG@?T zW}r>oeJ&K}?WYP@<6s$bT}+_i2Jul2^F3S4^Lp!0WR%3~@UONbl#GQb-k-i7C_=jL z7AiImn(UDt=TncGi`i4V{yBc>`uz?#^>q*FH&-j!&Fz7Nw9h|tMObvvR=B=w z>@h>EbQTsgzJ#xXQ}CcjwXdDLqb^|Xt@)3#hg>M*1y!=+E)6L!scN_5K7Wfx*My?2 zsPS^f-g(l?<2a~V^yBqkJALL?wPtn6yQr20*luf||A>2sDju{fg6Wqq&-l20kL!49 z76$Fvsj`P|{QewX!vxw+K%KR<*t?MT3jY(%zI@BIcCem61ucI^jXKd$_BbBGV3#zN zkFn4r*E;)-P0&@Bx(GColzQ6;(AmE#al)CTZsb(wTpYY%gM|4+)j@P%4>U}-P5Q?^ z5H%AM?&C47i*N!NBFLg!oWN5KP&(Tu%<5Oy3EQtONKZ3Ei3t^fGENdS{`gA;qeRk{ zbR(pY$)chF4^;d6z_m*=XA@Ar!3#8Vj?2xo*n|4#T~sv5nN+42YQ8aU-9I{Ad|q|T zTehX4Ub_a6cJJLqxr$XgO4?z6vpH+qZ|NP86DVZD(ZX~bIb8@P3eejnfwMR;0TjH) zWP^ghf2onwTw7=ls00_PqkpT99C8(;puIf@?PvlV_|RzKgn1~F9qZ;B8^Ll~1YQAW zaZclh3segzpKUFqgi_Mw#$aEUr_sne<`eb``#-A-V}saIgLyw{H2Mn~4o-H}n1ZVA z|H)@xk~kI^5-xpmnu69`>St4|NBTiCVIkC!%6kRB(y|7@mm`9OCjAVRp2JlqkJ+s@Pijq~jL(*Bv=*Goy{zF`V! zW$3GePEYw_xi6s2)O2b=$&~laX2Vz7lQZ&$?s5g67|iR3*rm+JS^a*CY5LU9`^)$1N`@MnI?20~`d`m4a1D@@lZ z|H>&L+{Ehx_`(BWFW2fFbz`lIbGS8(bV&hd(!}x3a2ePr!HY)!%)a%w%F*zYUgpm$r4ZeHfV&`tIKQV=8&-w*XmEPT2zTKAV5P{JJipj_;m0 z^JA^E)-0nA=c5x2V>3vzG25i|mH$ixecQ;S%mq%e5OiVtYHh@*izS`qd%8vCs(2il z!+_;Dz$SfBI(xFLUIA{Z?gBr!e9~n~wEfKCjM%Z(~OEiv51-4F)VyZd;4 zaq+qGGn}KC`~Eg&YErNaK0cJBZtd7Op`OySBPP53w9f>m@pE#-3+MxPyD7d)UtaWL zvx7Opecj)pEG}}*pB~fF5!Zv(?ySMymJs|y=)>Y z5ukG8kYqpi1P32{((DX|4Jb(d`NTs$$6PICTw!q1P>sKv?)qar?(X;fYCP1)yK+Id z{eJt!65h#<|#MmaWSmhv?Rk?`MUSFC^gLq zNNQ{I3XY3=o?!Z_7g5vh1w4q+U}f5e80Gvdxc_x({Cu=x30@vxO`owLkNi7zcsSg+ z)e$}LAh7KFMNf;%0PM~+4<_YN+0pD1Odvzq^LUaH6Yi_7 z_E&Jb|L=U4pGp!Sv}Z$@$UAm>ycoJAQ=WEi&AMAO$0zVVbX|{>B9_7@EPj11xDOP! zGk?6eE;2m~A;A!V?=S^y`-iO4YvU}G>Ze(4$*+mdDP%bwh5TDi6gls-t6Z#$C!$WxP)@DR;B+u-&Gt0MaZa0(<}&u#pY zY%d^BUHljisC*ftgB$-Dgyn%!rCobjeF&{qlo4Z(A28rf9Vvy#Qt*Lo?v%)tKXvcZ zE?0QJaMGghADm%oe`vfPyxte{&Pa`QaoRX>K71-CTl}bkNPJd)W+tLo>^Xp#iy#~7 z;mYqyfw1VKEN&20Is!U|4FFI10Pxg;iXb(Ai*xyZM)eI>)dK+}$m_;*8GpnwTI2;m zbx{<_bh1@oF!u3zKZttXg~*kD4nmE?d&C&c~RWd@&sJ;#;X$(bzey) zE((*)XlsJ&|E5S>YewjK+(^e;r)~qFAF2JO&C4DasOe0x{5#OKX$Po>Lcdr>tZraGP00;6aM5eR!lcjtz~7mhgT{^w;E zr2^n<;RD0L-=q??Gg`|i3E^>)cI~LhZpJm@4I3>k@53hysHZDS`f;!<@H1xovy7Il$-$eBTLPP$+#tW%bPJW*{QAoq zXo&9u|F=1^8w}>DIDX@+Z@B`{3tg%7QS{s88biU)tykEyeykN=Zi<`F4Xm@Vm?hkK z1nwnNgBm}tblv5Y(JiIJ_gBD3FzRenUuDHi4dkdYV9*;|Q!=@S8%#@ii9>*Pq70ow zS=j4wlj8)2uaM@hte-bvuLDK0&R-gdue4r*d>WWw_C>Ua+^G^3jO!lg0@`{PCaT9y zYfse@%tw z3%~#H*<6)atTSC-13G4e|6^G;8h`wMC(9mMmLs0sSm|W}L8X@F=G4ya0Qv9qRDw0p zT<9B~`j=7lK*sw5a7VxH5Bs_Ck@>O9FXQ^`%jx@1*6Xa$ z*35oG%VOpJJkK92gdagBYuj8KDA6Rksa^qM0e^_JcsxL!weF>63*eq`)Q9jx8C!F` zNDMVzOom%iV7t&^EJ(e35OsVT0qyoL0{YuF0@|%CD<-}C!-J>jK0AwIy%UzV3dcjM z?eXe&(O8KB*oL`X^sJ0U6gt%5qBrZd0Js7aajL>5ccBh*wRF-jwNgOO;97-UiY5pt z-=K%ileD=(NKmP&2eq?_bQV0W&)M{oCqtT(8D@-gtY?yDS+O@8){K`l>1lV2#YdRknIJkJU zHU>=&lOq23-Hf-c#g{@19g|;GqeaK!S6fV&pttRxKHI+fd&kJ(I-bnK}l!VAvTWVBU zzlHMHBg23WP-|K}%}v%ms%rzNkxwM$mL7fa7$@6N7_WuV<^}%4wrYT(H!?4@K~*uB zJH!DoIuzaWh;_8=EJ=GstdEriLye}r{C+k<3_*bQQUTJD;tM*eT)>Q3+J}Ur2aupl zMV}{)kw?V@jw-$w!7OTSS^8ajVlDN6?pbnqY-Zt=#u>o5>Q0PzYC-XkM+<2m-0gcW zw8|`N^rv-nWlswtgB2`U9QPAcNffY0ooEp~gH^!hTR!~{=;~;g1hI>C6zxT%1xI(^ z6a-ZQG&gNS?IC@+%L>RRh`hikw5oQTZ?ZGPk{Jkk25LU{wqh=7kmKwBC0(5}my-(Y z(Pjnwsr{}@8c?%%APkBcdwN+dw`+eD^^qtbG_SRtN&?gPbJu?-Rd;Tj(21a9w~Mkc z;myVsINm}9)C~rOBzUkonBehU02D>Qyp^Lk2sxhfi8zRK7V!%#sbEeQF?-8@I|m`_ z@MGP_jvH(GhjEX=l8ZZbDb48M$->@>%iO~QFLVd+F#%qnvMejx92;QxYp|ARizU8?OyiY&Ppk6@R?G;BG8& z!VCA1d6ntKiKaI(-(<(P7GpWckP8!CM`@oVs@sYCog$Pw;}m25k+W=YWZr=l!Axu> z{c?-$#)-G?8}Rq!BY3I(=BRH1ob#Pb189o?Dpb0Krap^fMW9F8J>dD29Ffy6ezUvK z$1h+8XedI1&SybU$%7SgnbHa34-8B|bzZ-_&Q=>Q`P(&rb5F}jjR>^iu^1l0$M+9p zio_DMOZD;%@Y9|AckrqMADq4!x1Jjb0$43ySTp3!Ka{v@hbGX~_RmQ$ipqZoh`S8( zQi1{b-BHLEmLEzLX-p!>*G+i63uupn`%{Fxff+q(v7mwtI+dd3 zx@FTr-Z~N;XnJ~PO39VF{Ny{cOri!8W(?G)$rJ~5EnIL+w+p)Z30rpd0=K-=;`C(a zJPk4WX@|Q7T>7z89Km4lJZzt=E)TvtT$6-pI?>1=_WEESZo{wvr@rMpSY38R&f}rp zL!;Jbk$DGffd^4K)sltQt@au$q(_@d=bkPmYNXH^Ps2v$c7{=r^{4?&K#UILCYa#PQ1@j<(E?D) z4@tko8$P+I0GE^NWot6ioYHFs{rGBZu-cUT9xVW{xkJeM84+rUXvqAx$ycK-`?^?p zpk?lz2Uo$~AUWhuwWsugAeR?$0N_m1JC~Pc2t>iGQAgcvN>+tjL|@9uC^x32b0CHK zF0^F+RA4S%*l@L2E$l#ifUBIjtTkqTXLl-qQSa^+4g^nKOEIm#j~o*|Og^7C5a2Vr!}T!48OA zb-_UC8OP6cX=uz=Zc+K@t`%MkNAs1F!Yl~|=U8jPPt|-XtW~~dZ7;w~3i_}?;)8@& zKcHCgi-JCKPouONjFOg)DJI_l*KE!@NgV1ivhjo?(bYOps3W->5V;nI4D>f;BQA2^ z>oHMlirj8D>-P*eH0GA77=C(!ez|mJ%QAWX3|YH~J4ws>Aft#<6=%Q;!@k;E6z3En zEOB3>0b~cpWKD2KwC?gqOy(T_#f7!F-Wk)Agf>W+pZF*RMc2};+m!~!ACWi=kKgN+ zH;QR-+jZDY?(?p`gMEq%QOi@zLx;7?hhd+$i^ZO&zCW=@RrY+@%IT~jCw(ZV&8VQ?7tfGvsiPB>0Gg6qj>!QF7t_&w# zB;$HmH2uLI+%JkabuM~){>V2%+*Q3^A0j=WrKj!I84;1NrD~t)5Sn44GIlLK8XQ>K z+Ix?l;G)|{`kdpVD+LqWck9>cD(y99yY743FRBAu6tUm67_VKZw9CUFK>>y2!CLwp zo=PNQiL+`=&}#w1ePcdqWLTigW|yXa&HKEgg(Qv#%dY~;raw=cz%CeLcroZV;-?_` zLu{B>?#UNN@sUBz-+tf^9Xqa&(4zNzFB@S4JSDUA`;tv{{K{0danT_?_*>C%{%>Sm zLqmfz>xvNaXCje4K_)P%7abNo#!%2nn+Im+hukKf~swXHn9`fUQa7D~u*M0&>(=8Vcp4EwO6y<00eSM>IH1;mdJonRl_z z9V=A6mL5$$ndx&pj@al|rGRyN-gtb=kt}aTcc=!R8Hq11lYKWHu+>*w{`kWu_nzO3 zICM6?MSc6i%N)gS5s~;KSj$$fWjq6Z#H3YqoSqgCNbby!xqQUb)Wi>oeaz29m6>vi;cJT)2f?k=cWym+-i|7dx3)HS_a!wk^MeP#L3`D3nA1fdOMy{@d_9xB>qc^y zB&^1u1Hx>{Y|AwNsB-BJ+!2YiY;z%TNGpLF{C0Ay6_;OtU*QxaZgt@D7uK%_KR{8V zqit6F(|?Z`zY@G~TqU^O{!P1jS=^Fz1A~OiRh%TwaiDGbQf>L&-}}rbsa!$Qf<3wX zI%{ohjw5KO&Q~e5>$Xq!M~^>)ftw2Z`JKq}DJ5$qF4S8KM}h}C15e2WJVKeN?+r;Q9h*yJU|VL{`8+Wa~#AqU5AUcYiY} z7nd)1sZVz__kQvnIE=l_+?Z9p|EFdy8gWzphJ_wu^^H^k;ng=n&J+F$!lQELXcgqe z)hoGg153mQQ#Yy{FCy`;!rRb8>(VJriJO6%k1dQ{UL6{ClgaqOPqzAGWTZe+$XSyp z@)51LWz8jR`H(kq?6$g5ek&A**ftxXQQKWTw1gZ1-VpfH2B8#7bf?rJNeBoj4&Cc$ z!FI?$H&!4hx-QKL^Wf2^fpwIy%fu9+xP(Qvn|h4&J^fxNePQL4h9>gf>Op-~t32oD zarx8*@I?^mL2m|w$!S*)y-s_1m4#dy#7U@HJt6@a?*1MTAJ1K?#Gu}6cp*%5JlpR0 z9_O9y^Ravu3%7H|-%zaUlmEoSJ%8$Z5d|IpVz5l{$?>nZ9S<}(VPI+nWB;$??3j1Y z1>y<|nfrwI`zC*Q49mB2#4nZ_bT0l`_dGI&!RDE^zv<|H4Ocv|0Gp*#)2h7h5$4@V zCxPLIV|cjSGg=6_ygA2`H-#NTHM3b^JF!tS-^78^zRaHe(eDPCBJV_WA8N)P?G#UZ zeSUYBe53c?mclPTEqA5pUB0LgAENNXF#mq;(f-o&oc(V8g<*Zwx8evw9?9?Q^`2~A zACf;p&iq{O%6PU?)b`nT+s99D4py}@xZ?|bq@h?vhz1MSni=seFH)kNl;r_6SIWJyO`_6*}6Qh}N3Q~dzcRx9j!_KYkt4y{j zymqnAtNiBP@;BW+A@6hIYb&=*wYp`Q)BJVq5J<9prbSi@5biIDDX|REm-=9CLHIigG$6stw2_}_bFxVZ1+C$9<-JHEA4mmGst?U9@^<=P`@@yVpOm_6{iNelC;}kEC=E?{S4h+HhO6 zSndg17+Irb467JjtA};;Nfd)q`Y^p|YKAnaa;lErr}BJn{xrwow4As0XBUkF{rrUS z@u!-G^Lcm<8EYolyEa$f3W-%r+S8be85Z*>GRxhq2h%+TA6whEW$&x9 zBF=4JSCM2iBhm@#R3p!&PlaH^v`2`ouY4Is)1v6!*-G=h=CE%R5wfF(Y+SuLcrFgpiZ; zrNco{C=!HV)N57!zR2_*J>AF3xH4sei<)B%-eYKozm+)1=)CNhB8j?Y-m=8xD0sgl zNH%ofeO~Bc^Ov#cq-W}G>37vynP@WS;YR_fymxQ=Ux+F!3t~PYyt}I@r2DnYQja9* zY9r$zwI{`E3g6FuKVaLc^C?NPPxh2-LyDn<_A$5@D zy^L7aTaqW;^d`D1MHe<;d1x*TX^k)d-~d3j0Ef+otiCXAPKo?0~IMzq?3^`W?rwth=d=FEz-We7{)~9U_0bW{LBT?|#)s zppD2N_ITx<)~>-sJc2mJC4?m3x-pmJ?Q1w(nRIyMUXFqb>2ctgr)yQ8Y~(&GoAWYm zeW_1+{1yEVmO$hJm4gsDAoOa(gKAQX9wT3397JGa#hdXJRY8GYYPTFvGj^maDi`o_T6EIhbNEPL?f+f~vmNNQnkCwplzvi?Ih%&El2v4bv zVA6xr++aIdysVFuoM0yBWA5spLC5O|u_2!55-PW=YS#$G<&yXWw+*K9I>p7$+YT{pYVj^vhr3I)wN4s+T6 z-eU|usc%Qo{qLMI{kg}?J2Epp@ZpajH>vcKle@yd%<}5=2ac`LN6maloCjlWT|D4N zYH={E^gCE00g+zrshg=`L`R8&3Hn_;zF?6=Ab>15SStzo`_eFkjD9oFpeNJE_JXU@x?Y_Ct zwYf!81=?wMO4vaUIV3k%>?&Uny zvA>1>=S;)1HL@+df>DPS`euHzF@A{u8CU+&sOZFQWOppVOHNGoe>ui@xGGV>f|j0@sNgDqp=#gj z$uU^fzi9Cts^>m8WGEOnuSV4#PqSbnM4wr;N)=AqtJKXdnA^sAW8g@dnNhFh>ANdz{8$Q_M+#B}!cgcpxctuakD5S_ zX|a7bGV>0)R@Ro2xnx4`RV-S!c`<@K*ZB_3qa|_0rCMQf-AyP)ln7T=9g7{@URVE> zpo9rzz4v}Gs4c$OX6p8=d2`LCeNqmphU8H~v-wTLS6|eJr##`lO-~46f_pyrX*EM~ z=d?1A>yF@D=U+TgloS9i^&1F&qJHkCUaKa|zjA+2-_rTGyJw|l5P9^$V@b)68NzPM z5V@BFAy@G7wkL>nbACt^l~~BWgOQJ`@93Lm#*B=D>z68)CO=aV+c=cL!Vbw70 zlTf9(&;n3}-z0;SwLPCByMrxPU{IXek6OV;PbHe?1c$kY&2M3&=DIONr7!R_qmM+7 z?|`^xx4ZZ=2!#~Zc9&==2e_l&04Kfdq0nj(a(cy*c#pOcB=z4(KTtdjM_x<&)Z zp7u?!Rn>d^P0|1gZ-&In78oeq{Il^UkDdAEq#7H7e;kq3%D-#wk;trj@^5?0p#8A? zQ6l`@?W+=HgCd7$Evr61 z649Y1H6kFfXn0hES*LXP?P>Rrw-roCI`%ME3OIfciDlVT=K|`J-eQ;m@{&0*QTfjn zs`GuG4ow>$i7^ZJAIHiaZ%c$OwmwL6(p}6{ZGvKY+?gQE`XT$nhH0HK~6O(wpG@I4}r_ zEuj?|yQEbr4$XZ4`Bj%uv6#XAU0X>=6LRUnSf!K9%*Pas7gmaQvLgE-`J=ipmG1DZ z*_DOFcVgH`8HpF{*#N=zJK5X7Cs}DFb-=h!$~I9!!5&z7NY^f_g5B;y0WuVuMP6BF0djV%^GX3kZq`S_}c z)p+|X1nJ;~kIt5<`Xbt@Ujj@_y*LpTwD`%3*RPu>LqI1VjBinekU0Vx<4`?&s?&*K z);fJyp|^}1eJV?1T)GdLC2+rl{T9-6soB3e*MxpHF%>>2%SPbx$XnU-YT{#=(4jqL z^zerex%%$lh2zCzKgByd{*vv}tdU4uM;`gkVz*i~Pm-5K?E9(z*K{7cT4Uel z{LUp=S0Hun z!5h`LUYN>40mBXk_UYk!4z(*>Mp0`^(@J8bp~J-3S{s?2WGCbqNJJTZ-s!^9%}5o4 za=+xPBr~>$n)|`hhd7+sj*5$RzhiZ@tpF*JkGC>Ofh;qL+pz_fG$4VXVF|KL8H<-1 zjS!aT0DaELLWW5|zJsQ5UK!;}eu*#8<=yR>F%2{sugvw(;8WV{%GG|_&Q&SN5h}tm zXSH(`n#A3$5PAD{lYN=rq2a2N!W9?u7!afR_f1pMoLr*m8CpTa^)N7os0>ZYSzXzh zUN(MWlkHt@_5*C$n|uPHIVS`}6%xGKN+QC!MUEf1;|B z&mAjMX$d~St`=-3b?!-e$%$--8)2S0%w+oYyHXK{^l>?ON?r@bq zIkDGqCWFs>8zjmr8)BcHZ5htzRZ4a4kO~oQ(<~~R5Qj>=o*T6X7C{7h6eoS>)PLH} zHqkyO_2Ep;GI8bK?adx6q}|}~Uqa%Adw%U4ek?ijM4>ozT2zCiLY8R(#kH?x^?RtH z<_uW{cm^%>*;EPWV#kAv7Sh*!uU~EkbLJ%Nv-h~(b3c6sWxe~R0!`!&>1r{#2zsw= zMM}$z@attGIn=$nl#QR4;*q2QmMa#-YYi>9(H86nG^{vk(t2)uTq|?iQ<~)-K!HJ_ zKJ+>tMAo^ozS!!(tM_;AJBtV|qxoNt{> zI(g4Y$)+dVL#w&%y_(fb#~m4N&d2c|U(06^6C#uiqRCyJ;=X1pTOAPMu9Vo^tnkXO7dk?X-aMe)ld;!43e_YH?b{b=Wrjk; zs!1_U@JLLN&2j`t+i}DQD-Ypn1Tf)Ek);KO_!Qh1)imm_jHJ;(bx!f+6^A1S4@Rw~ zYVJv}N;&hnKhK1~krZ*U=}XDaOTVLih2F7SS7b4;v)%WAJDU~xoz#A~syA6Jw*GGQ zjmqo&iL(iN(15;t=xj`tXXvk*BW(7@B2fV){AFwg>q*ySr}2EE{Uoi6qMQu z?c6CJvsutan#HmTsz^6Bjd$@Y`B{7DtZo^o^weVYdk&CfVfTw=dRky+?!&Y2=PZZ` zMo;?DN+ctA6((pP<^?HTjKUt|7gkVV?NTW~l7w^3#i%~H2G_P2ed-xk*n=X@uSjPI zh4iL|2uGgV!W{kV;`1%7&(1tTGDdVXV(@Uy>kRLw?7tH>_g|XY4uvG3J{e-L7)P;bml|Oc)vf%PP&*r%CJS9m_p`ZI^~_eUso1hP ziyy;{(iYFo-h*!dQ04dtGHz zLQuZ|L7EsHB|>RPPndHU*NHK!R^%ccod)9BTTY9yD8k4^N3ZC@FIRaaK!Lsf zOX8Ze%>~UMhB`_?n2lT8Ov;q%aZ4U#sQm$T{M?b>pro>L8o(QKynyIo?-D+qCp+VS zj;elw0?D5i?{x9QWSS^QE(551Pc4Y-Op`Zg5Pot?>_`;duNX_(^E<;m8le>WBFmr(X@ z-(~EY;iu?xq8Wl;g?X?gm2JHZ>SvhGwsL;e>aow?>io1dL%cP7YSVrC73#5s&D-No zu3n12^!4W*Orb48?y$V#&+d05);q%Pla*48MmEEFL*1(0!=S}WphatdV3;C3ufBn7hwjk zeOic*U>op!xKfUIl(jApj;(5XlR{T^k_62Z5az;-6uJjGiQ<5D{pcTPv^CMjit)I$*R9Hs1K*TeE%#LZK-tZEn z_Hkc|G1sCu-A_^<$kxtE@MEyQfIH%*yGpe+al{PV=}o~`o#3vYLG65bZAIIG*%h)N zwf(z@y2g14;-&gXK$0m=Hn&d>4-=G#h-gz~VBeiTwC~m#=w`^9Pfe?<8G5WG+RUT( z<&IYPkUP7bpt>f2q|6cvkTnwCCk>ZQ(6NzYo-rKtbzad4%2+L_&M;T_EqemzVD90W|r^}k?ObF^s)L9!jA|2~*5Ync#PTOFZe&c`OGv706FtIa!VVQSm z06o$l=y@Ff{OH~(e5oAK4K1?wohUUwKjU5nZ63#4kFmz(c(EW-ds^+2ckM+sG~(SZ z)aqq8MHWZj%gETG`~Z-cA4X;Sd_G?jTgeZJ>`%ONVMn zVJD?nGw2R)>78-`ONUb_%UIp7{WbI zvK$WhV9O~iNq8(pddc$Il+JWJYnrK0fCGp^nZR%8GDL}F@I_} zrMDj-UPydkK(xea?U>zL8AT;KX)B&m1GObKYFY>fHn8?f+3M=67mU|E`E<_tu#S7{ zVkLuGB?lwTwYZ+qqMbGw_acp`%KK11!w-z}W&eI2BTymjDr;00KmUw3H(9&t z#J@kvB!qijougSAuaFX%#eJEt-Y)>yr;#vJzW|O>+w;W3JQMb6E{K2$$2E_BU^t)= zef|1osBxmg4ca5K_J!NWXzrNCky{&j$*vxKtPQF(%es7Au9qOvDz~o39pefi0itIn zB3+3laPMPeLJ`iwz-Ff*WQf@nJ_tq}C5YqRjT2P9`pP2Q6XpDVdgWOOD7wZk#c0x4 ze6f!eLrEe#6Q6z6(AxU?5(!18js+_SIuymz%2*wlLTcrR|2ezjq|);i5t>&8w=qA;x!%U;Qp4mRljQ_$ zZKGtqdZn3|rv5apXR|k`cj=VFYv?}$NAG?g551gs=Jo1B;oySvW<}m=^Yggz6mye} z_!|l|SKv&1VTO9xI^c8=Eb8+BG%%(iF5t+_^|bj5jT28>(L2u^`7uj+jQs~5tc%E# zjC8~gys8Qq71DshPPU3H+Jt%3MJoJsjI3bAbmJq7ztbteKpfqAu1x&I{PMCWx8~I) zc?zTu-BX|rmVejNH2+5}ZnQfN?f1)d+R$DYc!1K?pQb>WOWQ*{9ROSnun~=C!00xx zz)fC_?(ZqS{v1<)CJ(w5Yqc3*s8{LEOR?#nijiu~4ApVn*R;SIPZjq*M3E22k%rsq zuCz?`IKBOZM0}*zsnTmKR+1~f^E|o>L%@a(MxrQt#=YAo6D4*bUE!S{qgK^um*$o8 z^Cy8ki{x;gX5t;wo$p}FThAy*-QXP$s(S6NK$7Rs5j>x46BQyB!iC8Z2%fsn4$jnT z%jI1|{yf#3n8DhFh3*4LF`e(;^I?l$<&S^I_=fJ*0hkn4*BdIrlzs;Zk!!^dq~nJLP@L*J|}?(FDUM@}$zI$UAs< zV~>x|n;>m813OlN;_D%Z{Qb|K+TIsMQsIMH+yFCB5$_)W?;Ps5_pGvepdd4-*-7Y; z!Lt%W5<}a^?I^+r%f6Ou+GP^bu+D9Xh1i z1~nD~3+50q69d!I@O4wdv9AB@~{sTtB5u&G3<&AL3tRuVInGS1h_2Q~x+1C?F1j9St z>k+Y%`oiM-Z2eQp^x%2b15-j0Zz%g=D-ONd0q`<_N3SagP{AtZ45iQyCF9NhwN;$E z!N0u)VU`Nkx&F-oYGUVU(3zh?pF}^p1O8!)?!#9vAFCsJYwwt4C0UWbh+S=E;`{hk zDh4_JaRqg7e4wO1{0)BuU8gkHAS7e0I|}AwmM{)lv76Y#jcU5H?y@f$zi zqL?#1!D4rG>q_0QwG+?W!FNob^Lk+m-xhr?{%(8$3*mcww~|Tj0fE?0B^nSPLG>G- z#1J^6T!_;2^7cGn7(aJMCj8?SJ~%DD2G3lq<_cxGf>z(FEa%t}Bk7j4%EW0y+3;Oi zmB~_8Vz!qVIm#G|vT#m`vJK;307oFz3IA+svf=phg;71}+`|kDsP*#A#1d+9lcrP+q z>gd|Dac6$Qco7jp6;X)X=o)9FNeu6bfJHUHtb*rFKI(8JiWwvVyF#?tMYgLeBYY`GeWH-X%aQ+iY4-}@?rRos)n90QQz>w-Ry#~PQ=OrWw~)R(XhmdoOo^~i zY*p`gou<=#-hlxF-q~~Gp(7WFuw4bejD(Dgh)%0!DU`L8lR%;?*xXid;6_-#7p1B= zT||U*5n91yAg4ZU0{tI*%o`(s%drcBI{|~q3NoBnf!iMYDKP@cL<6hb zX`RR-?q>@N3!zty0kw4(VtjQ%XRpF89BYP71agG9hrtAcE#!bdsJu*hNwz|*4 z>BeGdmGSe6i)vl?QrZ(DZO7R)dM8k7>40tRMo}gnu*f5Gmm}k#i8+2;dr(oRij_^ zy&O?i2x=#UY08J!(iG&7u>yN>Il+#$wDRvK{<O`nMpF>G=8QEMpsGYt3hOSmsV9FxGCZ@@tRh~CD0o)1htP6@-@1iYh z^h3gQAz9gjREhsq-L<~nxppLr7i+0`bzRz+^{xfK#;LT3F2#s0%42#xR8Qp&R~-y3 ze?nlHqV!X=OPB&#_z;bp-|8YHi2N1UnbC9bb@_3zPf9;Cba$5AjGOF@Q(zjMC|E+P zYivwEa;3*TfVqIay{jTTK(|_IJu!h6kmgbdU^@7RN9W?1X<#A6?3VX;*q%z!xVF}@ zR;x9mQ=VR~{!PWTv6HZXxZR@ZV6Yl*3*MeEQ`4{_oF_|tz;OYMXDe44$eIgxpWK2)~pc?6?~_--#bsBj}hnh_LR{HTP|M`0B?O-YCsJ=La| zBVumjq1PvizZR0Ay4E{IMrwmDx7x7HE`no2wg%S(@+|HOm}9!|*2VTq+vxP1ESVy} z`h7Kxuc}^Qq0(o=)zQoPn4QB8f}OEoKv~& z5i8IBL|}m4gLx|k*>5cg#sV5wS+iOwp<5fTHb#xVf4;soONW*T|K5a0k;Qc<41m78 zxUa;H6{Ec7f$aQul{Q9-*1KTG5{z4^au8N;2XwlZ1j;9-hlAki!d|^#ah$@}Gy+o4 zw;CF8<_q6N!n%5?HMJ|}pTu~@UBQg?=37x1rc!#@A?l48v{K02npXAd`sSw0U)T8G z%7FhUDq&x3-Fvk@@-^f7e2b~p=E$K}3!ABuaEj*2d#xeX&EKE?b4zDWTc(`EKIK3l z>)G^a1N6%VBnQ!Y|7Z1KsDmoGyuvu4i1bTtSlhe)Z&k4L0s40k0Ct4`Jfd0U@F&ZY z?MwAL`SB!+;x7&Y3Y=60LIOiHdO9GwJ8+mtJDvE1H`m5sbttOmINEL#=+b-+`Jw+R z=~wpCPay%w`i)=QDK~tz{s{_+w1bBpa39E_NjptY?uGjfi6B8m&w;8;e2XqE_d3lZ zgG|Le1l~TeGggJ+Sm%9^%$@Dcd5e*dJ+TlBG_y}bxGI-Wb2l5I-*xg_Ur)?=90!76 zq>~<{N~b}PNy4~Ze37+}6C}tgPA=zZFRvS{);!f*ZITV1?+@~c)OKH`XbtgiZoK?w zZT{Q&^x4BX>sk|{LnHd33oL9@u}|Dgr1i}k%lN;EkpUXKG+EsC5p;8kgRzJ0F64QO z@9DiEl3=bYFI?U@$oa8yzRu4z%&64ZNV{gFW^+d_IK1~f-uu0rViB7XI&t1MwmSIj zGdH@W*0(GUXF>1+iXg+}k^O1?qSV*6Q%u%SewZ!Ifh3<@EsXm!GYn>`Yle|^uYI866iZ0DffI?>1|w_l;j$o0P4H>iM!R2{C+okEu~SR#;;(Ko9TN%u!Hb>y^z^{(xw6wdlpmcn7%ARB!OMZ%x6jt@uObH)xep78M8V@wRZig}EDovn8JF=@Km@$?f1X)bQr2)+Jwqx5g3 zK@xro^q>ZkD88}Phd7W9dabYB(2r1H=GH?sUlBITQ+NjxG9Hzq#|K2hW*oqRcEI6y?@=eDV(?}0isc;k= zOUK>Fq9aIQoxvdVc_Tx~<9@3RDszQBo=9+A?N1-EekB? zOrJGI>Oq&Q{CC5|G&~fyfHX=|CdS!-S?37wwEF%^0bpo(KWxNA?jJf zfA&ZVD2qu2!RaF2>9d4Z7;;0S!_A_5j*CqnvPp~(LP{c`e4G;1MXX<=@?i2 z!y_M7U$Ose-klwG<$>sm%Dsqq@-a>Ssz@$^G7M^gd4Bs{>wFil&)`epddyRSQScu4 z!ePI2yjA2VzN@h@0>e1c+|#A2mS};{W6ZyXw_Heb+{-5D_3Wj;8R-y3juUPhmW7{uBmT>Q_)%KGozGWzlJITOFeCAXzt6lG;8`2M=jy19~G)+4uXI7<*c7d zLkG^9vQd{+DT}AL&4G~ePSmwic(}zy=KZe}9)=&Vj+>s|$70u8v9K&L8G`#Mpdt6@A?NK5)*Ih`74IwZ29d#7dpBy48>y5GfTYN{SpWF2*R0Y0=?7u^LDq)x1epB_)veJf!? zloh4+;Fx;|3l8|Ft>#EnXsN8x$RQRnr^r}KB4$j)x!BdCK{ZUzkrP3`sf<1J{s-^2 zN?0QuR4QdassCzhy3&5?(Gs5XsR*v@7tuvsUa9=xK`)~Natr5{rcLQF5ghC#~ zeYkLit3HJbAHp#G&7+}y|NmjeFfU8yrNk&Plfo1-wosTE86t#|HM=a4 zP_i3Fl(Cdag_14Wg+$3R*%e7;$y!+|Tej?e7wPl8zvtZN{OVt?J0S}Up9-!c$Tm*ta(|1cMWdi4X?g>Yq@LcDR=smX(mkO6{-puo?@xF z;>oTF#fz8&r|}_f(3VFdK*yJ@9v0~Zjype5f}F}k_pI-hKrk!s>ffKg5ccnJ3qMZ$ z=l)eg2sw#m58t?xg^_!8!6IDRiq|-hLsWi!<)sAx3u%l=R`1GbbVUzBP>t3y7%I0< zPoTC!V1WLl7<57LIVoxlk7sukzxWo-#oE3nvrOqpb-ELy_KLfK;D}KX4`P)d9RV;H zgJEnQN2MHO=%zCtE=Jk>_tbi>DMtB#`bcVz#dHW{Zoxn>#6a1W*k7Ae|J*Q)J<@vA zjdHVg{)SK8g-twI$BT^RktKB3TPXa&EW!!N9_auu1_9iM+X`|C#^Mi*IYvkWg*q!G6rsmyOnb!)*huR%teY))nGpO&Rki%>y0G(SrIt;4s=aTl?Uo`;E)X*d!jm1`^XTXA7{ydo6)p( z_<(kLDk+Yhl|1U=C>(a(k{%~yq~4!oVg{XSyayVK@vevobRkOJf9<>;4csC*8}{&5XM*PXwP!{}zox{Oy_o%dj2afzJTLJCM_mU{e#y!~Cz6cI zY&q--R8WS^ozX_OWOt&XqTHPsC!BG%HPPw)a=aDcRrueR90ketqWOMjLsm|;RPH@W zDt2i!7)|N(Da4Sy2m{IF;abq7)m-94N~t<=*_T)VN=Ekc8en8tFK;V^^nuHQ1F6Ka zMwr>Vf(JJr9UJsJ1fuQpzp(nF@kxmBR;E69Xq#iyi55fX7^}$J{dwAZ5bw*b5$Eo% zKdcJ0FYXO7mygzJ0#Z27Yq>f);ho+Hnj_O?g#Zk`P}dsdtiMe<0#@0l0GQ@70~f6Z z23n;2aBF4u2d(CgL($rE+8fk$Hlp!nXRqOO%{~-8(jVHLyWN!8&%)c>B*65 zVWj;Rto;7I3`4@9w(2HOqgS4L@}=}#c1Pm#@ly0stNNjzhZ{9LO(;uJ3j2=U9N9u+ zpi8Qwc@cBd$o6fS&e(&sw3ft}mvNXYei}Eq!%`4b#Fs?B@hIXQ;W>L5jukO#Uf^9~ z-q+B`7j|P{7QVJM)BxZ(Z5q#9mcsKav@>8A7jP^ZyL=>Fyxq${*5@i|-R(tK+-HKn&Cr z-<{RHsLGyI!pUDt)r~ewKOUe5um>-!zeL5HXS(y3B0&-rP_#&81@VZOV7=<`6`REZ zpu}v3wi13z5jKn8za)Vi?TZAAwR$%Qr+jQ6`0G+t9o>hE&#~gy&ailM{yoUMjHd(q z``c1YBlFaHA{mBh7Ml>c?gsm?@YoORvBbWd@mHn?mkK+$e@jG6^v9RGnNULQV_Jfe zh9%O<`5~KUX;V2i4Wv2B`sVvrK+y}!M7jAS(1UdaeLZj&T~=MYh=a@KplyAb=+McJ z*AISJy(CT1m~WW#8d5%r?YpkwM()dOE;r`rPYGMAW;GEKHbbdZQVfloORURBpEQo2LxaIoa+n!9(8|r^pxrAR0rLX z%Mo^U3UC9Yg^&u*YnG<`Jhz?Trr%(?rb_`bC3&isf19||= zuP%NiVC8i=Wr-!|NQc)MBx3*dm8|1;f@dUB-dkHv~N7=6Gl**sZs+Z2g z1Od{gtAZ#MAEDs%4J*XOHW0>{f1UzJ~2bZB6kP@1V!+YEi1+E<=$5wUL-G&M{5 z2Ujmh!0M~-8n&o^iT{QTVq33kk<7=3g%Zr`JazamE;CxM-4UhPZ3_Hx%%G)01qcaWw?N)HJs0>>ox3- zCTB#z)^G7Bz?J!}oO7p_atDnb6bYIbvE$%#1hlQcBd^d_Pn7|)#J3pf%487vm_%wP zWAjj;>~`YlSCODQyBmx*y*y+7#kNV}OpAIk`0Jm3-RIYQu)}6Gex=Lax0~d04RwGz zu{)o8Dbc3x?*|W>77%k4(-GbB7}fs`^MOz76ZQr%jLL$A@489_YqWQtf_><$7eq6s z)}$RDt#gixAYiMU0SEt#0tF60HPy5-NR z0zJ>G;tE;|9}m*f!Pm{5uFn4XKFsTa8+oGK`&x~X$Vs!qG?+EMF&EY8t)8dNXwl`L}iIa*~y`)i-{QHi$_(=&H?}25@)5qp|7C#mb_KDSKrSCGoL2S1~08;dBp+~np z5(|SM;VY!#LLNjQTqZs~z7pRB7BgEBKfaBx>^|bo@$}#ozq{;@xsjGJ3)KeLcK-KK z$JQQDX#D}zAP8qg7QI2d;D#FjwI)X;g)Z_0Z7L4W-ht`W3T9WlZ4wc9?Jbb?9UW*+ z^}uQ`5CN(n9JproM$v;H8QP7j&3BcgGP~plWf{g;c;aUK!^1*CPPPkogdhQ9=i?T! zU^}u}(jUWX)p=S>ARfMO9|i3Us*Z{;YhNC&wF#a{MBfuRsmdw3Ts2o05()$h;~i(} zNpm$Db7D5dG-YaSQ5%T`TI_YQ)e*bIz#@g(Z>rr2|x=bp=WV>ituj zE9Q)QRSmPVBQ7&4J4|E<_IzZZF65yS-8Lc4W7I5;#N5l1^uPpIc`zlb9YwZJj zn*?vrPB?-Asbw7qYEUI<=M;~6=rim2TAQ(ah$EQxWX|1(I-#=b_0a!i-z5VCz_&`= z=?La#q}QZ5AeHhDgLLJO?~@txX_Ifsn3}V7n)#VQ4W?d$8Ru{)Q2?KY%G3ISwrem4 zgcm=)fajSB-cS+$y>TB63qEFsZI&xKjXM~yR9rM`B-N7cwu#xg&A8`-2y#2&DiNC& z`fK32O~~1=+BWTk)t{i$$y@(k0g2KPG4ai1Do7CMvt`*>@iYsD^MY+?eX_y_ES68! zptT*HeGxV`3{D7|%R>o|0#_kgqo0DkFA#jJl~cIF>fv}Xinf(c159qj5=AC> zngoy)YB^!<^!7wkuB~JbdA*0~MI$V>M><|AYpj~URyng0emzsxKIj*4#;N*kCj%E3 zz0**-uq1L9BS$SrR{i!%Q?#i^4Bxj(<X#_qSQiKpz2up@``%{@ZAI8n#yEAvBc*SnY=g}sTSu2T%3>%tuwfG=1 zum^pSL26K^hz9Fisi_3}yOoq@mS2z-sD2*j+vCPhuERyNqk}~%l;1zHh5B2>8Ua@9 zvIfN%tqJcwpz`3j_N<3|nFlud+w=sW#u(tsG&+zf>);?HzsSxM7AP8xOFAL6##;~=zIL>akf2A$z2GfDaRQo<%v~!J zX!(YvQKvG28m5(Vgd}ys-4W(>wxmBiJdgM10P(YV?RL5@Axf{ z1khOI=QHF6W2C~5-r#Z3at;3Gs$L)-n?#CE6$BlCzl}uUPNxP`d~eqGKI0!5Lzi3O zfEqYJHpv)6x-pRsODx8ln${76LBT$Jj@Vp54lAY}YzHfxp_HxG$Ac*LL-a>!EK!ln zl(@BP=tG39CH)OiS@pgeWN4^yz+Gs-VGm6+512Z5kV@ItUde6sfuk=)yy*&yQLl!r z1rLCFAJz8i^3^Ic(654br9`KEL)cgyXi8O~zSb>3hMi2E z5Z*#Dl=0NC-$lj#LF4{4B=b26oK=5s-ofcfpe-%Jc$^2>ppQ`0%~T<$2fCI%OaM0F zW1iB3@tVza@7?U8)|Y#t;1_Gc(zeqCZ}n2E@NIJ=;b*P-p)!zJ4w z<>TX@Qj5f$OrS#eA;@^{wE1FBxd{Nzrx{^d4NncR-$opCTG#~AK#kwMX~LucqZ)WX z`HYw@uERvUo##c5$yGN8$r|?z#ng29m(5Q3jBI%6ncs{6^DE<^)ETS$((AUX1ek zT|twS(@*2L4)Ms%Depl!+FSC@x)vpPMB|t=DfRibL1B}IG=^Cw!CSn1;A!00s*aDK3TE(gbX1g5{}TD z6?94hUQ#f9&wxFxhLP_Cn_c73%ZvoaGsc+me0#uqS$khkF-lR*Fe!>5O=F=>Jm~Ee zWTPrVa_|`Y8WDVyqaTEB0}*ErAVFMkr$28Kv-EM(cU@Er&uibFbC1!pi)evtk3RR@_}ciWQt!Q;vE8Oe4&p zwYQ5z>|&|}!b%>hJce3(js#-6B3@Ipln0;50m_sj{xxa4 zTF#;l7Mp#9+b(&w#@^i^s_VBVQ?H>iB^VB--_ipQbD;I{*PxG^)ITWZekv072h7h~ z$()cnO`#e&K$j>(EOyXCl}Bn&{PVT?#DMiVrV?RC@!xMh{TY=)0^^mqXg0klbbsh- zGJ>Sm@Ec4LgUNt!%>W&Rj!@J{PEG}|4(j8Cf!4s{MYtaP5+1bO*q4If~)y3YPk!7vb#n9!!HU)4njIpl0mUjY~d-d?;H)1iP0kAjG>A!I-hmAWl)GU>76D@lNB?^{ z2wjA-1GZMpxtTK+t3gw9o8}a!P~c-mt?w5UD~_f&%(ewGl+FUOw?<%fofv^N!WWIX zkO=iD;Nuj_7^z|S=bTHLqr&q6wIo;%Y)Kxs6_YV_;OY>j&t$FIB)@p^LZ2Nyb zR^h3n_HFTLkg4LAJ4gP3*8sORmrO3(U4}jm%S)AW`oYE$%p#R_T8xsQ0v~Y39UM-W zG{9l+9f_R~pNg-O&=c(vTt8I*KWOr)O891e#9ZzElu#D18tiMUp|gesXwyM2Lgy4K zfDP2$K^nCZ5F+JSSR~4=nv|JCua$ZIb+Iz`n{B(uUexG#UwLC)2iviOPjUJIMSZFq+bgqfC&{m+Qx^YN0 zWbW=SG%Xi5s=oFZP%OqeAJt#qGB_^-=Dpc+AdI1Bl5eLgSFS3$=8}jzZBy?)71iB@ z%K}*N{5K)v^S*44Z>_%U^OPcRUAX>(dZyJC!WVxNi;5Y>9%IA#)VXZSF&5y_9&Zyt za^r-73wF$c!GU5mGwgJ3m4mJW{S%+qWJF-tw@S6OJpun8Gs^6S`2Y7tnSR#&_~r!F zwF-_lC!Zlc@E}G{6*6T|{Eun^c`m>d_Uc-)N+P%K3s8`@#euKYWl`tX?z;@lIMd5X z2Sk}bkQOoixHV+>m#xrX-`U+V@(m@A^wsz4H-trI6J z-CkLB()kX+UWSPSQ3a8(ap5-PdA#;d`RFx0;C>2yF2dRf5lWbYHGNa%xbQ<5A8Ebq zHLOxx?(m%>zyx1%@<}`JcZuC)q(l&@6+BFz=`15$m($yO8!158?nzn_3Vr#y)(L{j!#VFYv9Gp!Ef-|L&3f+fuW;I z<7cL^NVh19BwJ3TsMV1Rah30zE|qW){VV8`j(k8EY@aDF21Omm%4UL5vkNQ-Gu6Y0 z#d#SD)7Y+^SyF#Wblf+r+1g)h2z-nkD(p<5xUP@nJ^`^T20DTJZYayFK=Ck+uC$uy zZ=SErQ6zaPsCocgiU+$#jLtuksQkEF`xsPVDm3%VUz%4s^I)8n&kNglP&CcO11QXt z=0!$; z<@BBM_{3VF`umJv=;;j34{!5rP!My#hcjQvX;o_MucZeST*QmS3FB!pK6@Ke_qg z;Y=rZ=TIb|$9vj1AL-njto*v)RkfJ$Vz}gs0_`?|CPL5Vr@-Ptl2!F9nb)?;9Tf$o zb-<2y@_8`U6N^?7CcMbicl|F*w+Ip_PdJz@Mu7GUSm-csloU0=35RdhY;eZr;UA4$ zyZ4SHdqmg~|_FAl$GpP!%CC>}eW`uwp%;NJ$X|2mI`=(NZ|_C1Ng z6$z6-##u?irrl<-bojtS8@eGI;N3!@m;HWaQ*Kn+vLR6feHE8Hg$HlBiRn|vc2t|L z{)iLl6|Ix^4Eu2Q_f2H3CB24^t1=()>8gMO*NEANvDnI-y&!0;9_*$F-Fd9? zDvbCp*<^h)owfXsWwi;Jdf(680GO=tNDJV2Ewvckcb1U(=AG9~Goy-~1ML#9_bef6 zm^G#uC?Cf-=I)vE+)Np&EfRNFc!#3ks zeEhPGKT8`>E2NS|AO0GrdIE3BgbH|rNGi)EuO<=NrfJX%|JP3X=j{KUzZnGpUfl=q z<4DHYx{v@aaA3FdGl6t~#T4)J?iA}?cCm)yC>-#&975qK6;9RHw z!MVPU*E~Dxq;xYU>xAX@ba^*C6;B~pge%6p=ar7gizM2vHAW4fax%bxk$%>HZuCxj zUnl&4U;$sIHJIf{0JrQzk}Q>ljg<%#q-F~tc`uu>gBZ36b;=Nk8j64L(%=CF>N&`9 zejloL_XE8cLf{tYv(yv9p+s|J({9o(fP;8$KCfqc52n_&Xyz>+=D};`3O_6!oW=mrqcCzCGoR%9P3XerxgGxOa$Elpw>kyPk<;_G~ueNC!zF zKLx~qXAgM3c$nEv@Q1%^dMN+~)A4BPvebzWQhvp#$QxP1|KkL&&^&Af5q78Pdzev5PQ9^{%qC*{VUf zd}ot~rLx}KFWg1~24vt2!qM*ViTypG*782o&*(SYMW25Aebxj_TUSQ2BhW((sB6E4 zz}I67>5jUz)CGo#eVMYBpyp(H48V{+ROpww^J;ow=c-ckxe1X+ZY2aXpegX(aPA*r zcz{qwYu-6>bAg2@3bHOfNAo%IR>hhBmzf(R|NLum`#+%sO8>ms{d?Udft&U!0O;eC zn*G*NZRFtua;}!^UG(hrhle#cAvUvqRft_a>IUIvKA`F)niKLfw|k8)^|JdpTr#S7 zc?=ztVxXy0xm#4l3izG3K{quit;*N(ZIuJc*XMo$H>?-fqsmZ4zK#T-w|E=MQ zTw+>8L4#jB$iUG6f_tz}C{-E?3p8MD!#tIE#J`8u>6~O1e7b|R;>NmUHV0d5Flsnf zI`nc-#20s{`Kn^+?CkFWb#wyu7^EX<7&vDebkOgS$iq$n5WLYXASRHl#s=y_VO+RZ zr3g}SBjd^P-!`@9Rs-RX3%}zxlC7frL{wks?=%S1l%ON0>8_P9r` zue$QCct15)K*nyupNWgRg9g)3mz%Lmjoli$>z844Xh{sQ_)Bz)Oaw95>%21i`CMX-r1T z73geCk~xukkQBJM%H?IZ3goT|MYBw#s_VyeW?BtYCdlb@)DCB&@$Z#EiE~C363{z8 z>(g8-Lu;~(B||EX@M3y18%F!ZRvz5J07o!}eX}(5k`F+?AiZZHOn}J;h=PXbmgbP) zHp7j#-KOzU6L?PhCnIAq9!eic$`91mg5gNYAYNg&c%bPbh|Y+`#0nF>5Xw&Fw%4Y5 z`}SxHzWNQs7%LPs`Of)VC(b0|L}fK?2qQI`dc&QCfqElpD6j@OE2+wddzrBV>$Et0 z2VEimgAJl_@72{rGhb~2j2jJrohSSjv42W}kePzC)zpPPFw!0bRYgoxU1p@+GQpYK#ceWlH1b_1!TJwlUr{C#=?#X02~UoK6I8wzBp<6v=Y> znvqRP+n0B84PWaNbGT#3*1ine-a8)&X=Hyv$%x zf|~$SV|8Tz>U6~Cpg%zeu*O_YZy(lt6Yb@{VY~r^IQE<<8#&Ruy0p3uvcg|X`{2XD zM5>o13OL6h+FK5Hx>?qd$cdYH8gSon*+udo6qr3L;nt9C@`Zrr5{V??=+u3>G8`7H z1ydTuLdKp8)Gay}5QN%atbIo+TnLV*v@KDMNrD!|E+EWx&1fc&!nP`IkS z&OEaS(> zRXVEjVGu+;MRTG%+xa%dn zc`@PD+HD`hdy>k<)UrJ9){9KbtcJs5@NN8LjX_g}lED$IZ42H6Zv41Sh!)YYW=sju zz0KMPav~>21F>)q%f=GyLVK$ILq7ych_+u-Z2dTf?tzes|1CeR3SInv$B&~i>-@Mf z^zFa#<71W4E!!ji6tbYp|CiAdc?tO&ASe9X!Y9E0+*wx;@%&PJpa6t)T&kewAJ2ZI zVs{8dWmKEhlrhpzQA)0c$IEDqYeLrG7Fc#K!l;Ozlp$>jI$s$DXU3>}RLgnwF^{y9 z-_qU@=cI?lM&u>WWVMjmXRt(U1((0K;}(kdAMp^acr>}yB73Qd+~5TRtBZiKI!8Pn zF8;=Edx=ktR&U%Omcrn)gpDtkTIt{psUpC(O7on>UO15xGk3_|u|_2llIy#`S5Yg) zwH0B~(C&RX#ogcmxm^VKTXPH_aj<>>gC}7iZ(i@?X~iCi-iol-{hmiE9-wvwM=wCf z-JX?KRnz4(Upv`rvBoeQ(uj2(wFwz0DRn?ryxiWG<4o|KJ@3^+VUY84j$Dn!%zRB~ zES4M;eMh=;$jpaXH=8QA>#15gQ5mR+Az`3_%_w~ESrNZs@B;LN`ISkne-f@(s+stA zG2cbE4D6nvMlxCs@dW1;z;P*S2r`Nea%hE+NlE%Kh)5vtQl!E5lN~J_w%^UCK{eqH z?5c*l zz%3Pfh1}rx$Gj>T;bkWT#FwgPzoMIko6~dDA)zXM zVfls~7&A#@sbpvL) z-zOEE!3fsP{i$lu_F*>9|KvJGe+CNBM7in8#soPxkZ|RpM+H9ZE}s|iNQ7|%IHO(9 zNP*+FE?8q%X_jzl2dbsEy#!dO3gkysn@)81X zEbzsO>U;ycHGno5pYj1glI#lvhR~yU;eqB3af{KXlWnlg1A8LG}0U3z6+)|f!j#*gx@XGSh&=mXXGSrnV#u&0f$*}xcx3q zP5Q_+W-|bCZC}xdEC8mV&@rjXXWR|agpIJ08+~TgDEt3_ygehz_WwrSKD-uxw=Qol z68>Y*#Ch)hhoK9(8+mZimLMC7=Eb=-iu+z9Aclau4;WKR)y-}a+at)b0<9qXAy}U) zOIRQ4OWld<`w5hsVwtB0AUgiT6JfbYTrq5~tDe%CNB3^N@%pGPl~{2~Jzw0(kwI!j zIRn+h&Eu|$;T0laa`y`|MA~S&$X!KiE{WitWRSkqp4>W`qhwDzE5d~oX~OdrpDC28 zxi_s@&wx~B@HtgMXD`cK{H7@gxR+dN%7r%Ji+#k2ODax+_FOkraWf22I`#;=;0IO{ zaMr<5#G7(6tRN^21m5zA)d@%MD1iBm!7wvW|30U<8}tHGAU7A7AR1AS1Dc+lv=;#I zKu|wyLypJ>6y6Xpu`}wFoi6UA8C|YF$a399q!<)Aah2z+`r?D$O8S<`$m!x#I$@QL ztF5Wh;R&^NMr|09$T4c3y(FTB@^eiP%tN_VaQG%};8RvmJx_QtngPY`q;~ZQ|_&a z_fn}1c_wqHOg2k6Tw3eLVpqH=El(2T+WC5joCe-9!cLIXCy;3oF;NII_@1GFm0&{+ zRwdo?&jS(u6Qb54kf{Ow=Cg0{nviq^i+_c@vL(#&I~DPmU~g!FKL$N}EA@1tJ)bR% z;4}{MGYv^zw>s0h{G0vWstuE)Z|`=$FgiNk7%YM%<-!R^Z_iFt&RrO@P&0cbO-Vq# zl%`1O26EWqN|nKo)NnP(ZDXasfVvgLC;P$=C1WS=Tm*M5=z-c)|owQ^?oSf^|Yl!pU8`>1|eQ;8~n zFFg6=3W?*csaFhN{BDgu0yf5)-({q7z9K;Ld zq6K2!w}F(dL++%y)ADurs$r{Q;J|GAiEP}B91=Q~YaTf)U6w%BrOva-PP1u2qg;+~ z*zsrS@8|mx4))AsfxlQWt5iibTpi?Khd$}qk(JlUxYAD zwgC(Ciecz4E{)}t*8+cxkYrv^`@$d=@)PE%&P}dDxYrQYx^D4a1735aB!&>IGtMr`aSDCXn{J7tYt`2p15hiyLKQ#rbBRSA=k9)tx|a8(2@3O?x{{VnovgS!8xqXo)qqFY{;pT1j(3Y~xD z*Sp+f6Y_3^W>dBpwh;hyG*NC7aN1;D~!A9swhq*sf`M7|?Zu1<~|LQ(U{YE|2Pb2qo|Es7y8{6?;rVcDCBAI>~Wqc~_ zk( zQdHJ^YS0XA1qqMFMcZgY38*`9m|%-7P#=87)}3TFIxf$7^f@M0j6d9o{o!uu8vgcc zgTY)a^I#6gl%C%Xo2`c+)1uSI8|uXqtqcg_jgmt>*Irabb5VJj-ZS|qJMM=P zo3vcPeYXT60S2nuIPvApMj4{7lwz00;*|rYS6=gPe5%0e{zOK`Bc{a}fV-ap05^NX zsOWwni0B{2Cgfup+po(_zmYs)JkgRp91Nv%gXoOVw*q2AuN!ygQk!MwV0&Le&WoYK z=i8KYX!d$^pcmvsI>M#}w-r>Omm&ZuG{YIj{h+mU@1U*z;+}Xl`_`{)=2v{k^snb- zt!2w1y^Eq~<3HIW&_5Y$;B^AkAMB~Te8)pRUjgC&VE1PAzQ?VozaL35;{i3yWXAKY ztGlsMB#|40mYsO8yj#YZA+$|q%U&+CEa62Yxk>#Zznbl@4$wGtvuG&Bq!&Dom{Q8% zzpCbR^>kIPXp~ir7GX7v7qOcO20;`JF>segIoX*vV=<&Yz@Tl-w(bV2bKnEpN5Y)U zGxFE#y|-R1%KqoPn9NqpHoxW#%y?MPUPkM?M)5;~IH~J;G8h-pWg8Q!M{UmIYSE9>i1!M`)WzRjwi) z=+h$^&7ijeF0D2f;}wA|4Fw()TIul9M^X6yTwnh%*zs5!rduuR2>ZnIx6(IS zgCfeaLoVFe5O@6R7XF2g&OAz^+m-tKm%`W4TW)jTL4MkwvJqj|mc->G9_)G&seG|jbhJ8?b4T0mSbX;W zHsH{tn3=kOLpxy_fjg!T%Rt0%7{QX_XaPi8!;(~k-HCou%~x#5G)Q@@@L=D=IHN3-~wPk zpgY3qfFGX+H+a**rSJVY`;KG(fR3Jo7x9eA+Un?*r)z2(S20R15MuRlgnwO=zjyxD z>I|XJbB4buXU7y85pecJG@ngcSSr57Zy- zq#K=5v5ZS9?E39A@dR^X>s80ChLmYOVAcRwz632~{AUE75702)}JW9}@miWnAa_j*kZbX z4(;lqmA9#UW73fVms5>X|dY^y73*35VUxxqZoFI1QL|c&D!`S-NT88b1v?uF^)UnjeD<$(09^~&s@2? zW%Xp61Rv<@kh0;L<`&W@uPf{*-hf)5a#3_@{RR zkUt;`ELrB_>;>BLifhf(fN)f9hJ&W7ra)+71S*3 zvsNr!8|n5!_nr04-*`89!O7I4vTJ7aM|)|RhL&hD4Q_f`T{mvZ7~~D#qUO4|oJuNQ zob(r?^l9{}hI%&lF8%WB4gKByyFB6)%gWNHc|$Jb`l3w&rfRt@x`o%>fRB7b9+E+O zacFagN2ulSe!`?nJTjG}eR57R3Ks5Q)z;U#D&4#aBhjwQ^|zpq?PH`Ix2yV9y^C{G zx;7j-@CoSl(c1<~G0Q)ny3d@JKSS{L_W~hy8HK;&EFn=p5mK=h8j;LMd%eHiVY>T7 zjN!_e(y%9GuX!`iNd8%|I&Kf+vhs70dG1=S2`Fh=*zOz%_eRTgd+k;-UGP=1sVDBx zl}XH^&T_T4jD?hLi>}0duzz!X(Kj{tL!)^LF59S>Up4ORJofW7aoC~xd%GNjAuzLA z&%d1E36B8(@nzOwizD;UsB}QWX``71bB&fmi*>>WzZv$HpIezc@%O!4)us>fF!gni zf)IocwXmo0iAmC06?d}qWBck(E`CZh<%kiW?Nm8j@0N5`{ov}?8P;tjNd53TiX+nTA2Wt=?7tR=^ zSGH2-A)m3aS-_dy^^)rK21`>fF5?BKwbyB5_0OlIEQQ^I<{PX>rakSG$5m>E{ z8O;^Pl7?1+qGPVlj1d-Uq@^!?@9-z9%jT|Y;f%@;E^kAg5O2vU?eW|X_I27iN=NvrQ(RmoG8R<}7^#{;oxgw5~gExFrN!;W%t~*ltSHYryX?NfQuD z)A!awH?;;6X zlapE?nQc~p_BGlFTGt9xNYi#CGghDSiA_9nXC3;i1@}KV(;Hr1dE(CBw*bZ_Ao|A~ zKyLf*x1?fEHK-1x;3&uMq|J0jtr|MSv>dcou&;t@=S0%&pI(jG&8H{66Wz2r3Gm(Y z9Tw)~UGSkqr%!XF*nhv-+j{Js>` z?~ikuczeQ!joDkayqs3P@T0kWRp4^vJnK~|g1UZQ_AC68~HSyBQZ&$cE_~l7R{p8ZPVSFINk9t1-@GTGM z3!h4zU#A+0Xg^f3PS;kEgXS9F2+>MF*e@@_4c-|saW|52hG0K!MP(^lX?vd5Z__VY zYDWE|ssz%*;CI4n?-BsZzHF83h;P(_o;$kp{2oqTfCb5w&ZK`Wy_QkkyOos|o{%rq zv}zC_OwxIKGK?Mu(p2y<$pc*h?<-i`Ze{3pkkH`;9%|53bW8Tn2o>P3$?J8ff_Rxz z+H?^LZxWUD_2{A*a(I%u#s_%V~Y@iF@O2fR6HyX#o?uL})vTFj|Rn zAj|S>kLrcc`HlUTcUXvntPEW-j+4$gF@csrd*XsR?F+RKtU|~+)QqE|f#zuK<@~Sj zuhW;PHqJkEawhwh($o`4Mpqm^modfb|e@}}bH;zOm4>LH6apnrCef&(SU)xl)QHm_$)XvO`X(B`4{r;c8A`@}fDc3ViQ&aoeb>+L&Sm+lx#*+a=v*ONfJqMTrM?3T?? z*)TsoddB&u5UrqEAk)P-1l4l@z~rcYG(Yr*%stplnk(jJOV@%QKTaSP9~8)@>Sr;6 z%OrO~TkFG0Bp>Zh9gMkogQ+C@h8z4`v1o?R6}fK_zV)`MS*ZsSulg8`J}UHmZRW0p zw42;_?yUC$m#S0uWrighQOesU?};leKI@-X8{OjJt{Z5<@%J0gL*a@rk<`4;&qQc` zCp2uDg$B4KX+EbS61*{xi|zx7bNBnPVK9olgz9)zU;5l9@PR+Mx48Ro#$M^$yFxY_ zEwyC`sJS{xPBHk(8dC)C95L8IV>E+1dIxf%HG7LY-I=XF!VvSSWcj!@J^cE~I>-{TS=KSG!`GiZWlR$jWTuus=rzhQq` z06gZICSrVd z19x%x7sPOa$NE; z6AJoulaFtTtC$2~x3y}})lOf&+hIa-P3CX$yfrbxtI5YB$wb|b=cx;^iaEenEE9(t zc;IIg(FeHB=Q8jx_TV3_5$L*{v2*tpiU)l?K|#yH4QlZHDXq_J>LkS!tR#-{-_hw< z7;(YdC+iFIr-6;sEw$A`KqP6s!+ES9t|m)0uco;g*CZJ6-{?hO%5;EcU#lm^0=B*vdNga6Q`gY3zu#sBH|$+TGYo zN3p^w3~SLKE_~o7vO@NbWMV~h%S~-?DfHo;%%E0Zxld+3s*Ezx{PKZ}&9l@?=GP~| zhH5H|+U5F!RQQM#Tjcb5x2Y}w{X!%)chso9QG>>?$|4sh6m!5;Hv`~tY1&?tCA|wl zqRcDXPy0E;w>j2347oXqYAW>PnDlm%gPxavy(*jOm4H*g@d{@^64Ym`=o5&DyKP)T=1}=Uo6a6w4<4}EM z2VcQ1@N0`7)f^vFj&jDcb~o;^j(ed{uoDNryE{VHRJ*seSIFJq)@Ua?m}Qq;9nBZM zW&c!i>;3}}68w3*|5Gh|KhE~QxA5M|kSqXe{fRD{=8f1CYq zs-$rl#Af#sHvqbvAzvio$FUp%@~{s>fMI_WwMXa^HEUpA<6QZ-)}0?{`$u<40QT?J zz-bkW_ujqNE6eSzj_X`K4$%^yZ2?6VeiWRfDl%{?gb(ECmyv@;NEdegxpCAW5puCl zFpTK8=Em& z6Vylc8W}u9}nyVZi_^7>V5ET6%XXi%jqvX zv*30xqX`F6^@b$f`=&M|3#TF=OL$5SUE#nNHmDp>oU+^2kR=ERs#`;9_dT-$|6JSn z)rhVbB|^H&s7aOkT9F}XuU{CSwXcGvqKqWsF18z#K(8pW=&gw1g94RttU*$t0O`|B z6A@g`Lz78<5!6<^?m|=sniz_Ph6R=PsV41mG$!%Ej6XmAhEbBL7`09-h5oy2_&F;m zPF_DY{hX3DIa%RRyqyBP=Qw@Dr1!T}nN5>h)2%K(ocmk*=$7$JiFCx-E->R;Wm(&p z2^DO$u^5=i!FDz1VC>%!fOdgA_{AqEUJlO4RIaYNV*owaoC-yAhGj#*i93DY z31`KcMX^29@{Koe?JdM+FgiK4HReyJh%2ht%;y)mlL~n4?q?|+()7?k>hu7LOL=jt zbuF_IP753n>3iqWeR`9r9~a!VMYBQm*pGoPG3nWhNGIfrmXTCSnNLrDBu+dSL70jG=yw@228*XN+(th8 za6cTZMY{<+xPve8MAm)v0syJ6hIg|rIwIB?+Anl$f(sZiLNPW)O;O*6XEtyAq~9x0 zB_a7d@5>&GBLex;qg^Pj^Tbhhbq(B@gIam z$fFyaqJErRveIEZC@Ni7QH2?a5oCT7#e|U2WVgG4116g&hCIXsMuwZZnTf>p`QKA3 zE;xnB60B0)*Y1>j7O(DMI9Dz*#U_b574Cs%S<>2Oq`VFNuk zbX`pzbw@LhfAPd%ErVp9)Kw^XlmYr)Wj|R%3vtvy#M#O<15ou79Q1$Zmb`ADO>*p}Cmf~|;*9woYk@H0_M$?nF*Z{6)!Y$L&pw(Hg~LCDHryf!1#`soEs{u|ITo8P z#$GWNIwC$*zLI%VFwaFX$jR)d2wKLE4K0G+V zRsXVf^BKhT^}L`{g2GnwtcMe~53nww=C9&CEdi@-9DPyYot4m2pnkVq*@Iq<@wV90 zZyn3aKBwx(>8u1ECrXGYwFdjd6W8NNgCM-ck!H9EBh^po#fllxAS60-J&coB0mc}o zU2XQ^O%#fw4U{Hywm`C>}xgm1ZRZBW=K2}gf-xxVy<^)2s}6Q#{Ja{7{X zwVR4_tJc1AQ8OpAlIyZFKM~<36XzchN>8W22($f&3ZU1q!aHD0fuVva>&`;#4NNsl z82c-9A80=aAM%W86k_q4of0icZ#DReB{tQ@njKIb<_fxUOX^xJWh8iNCnsTTAzN*# zx}3CK@ectRRpg<>d(gP&+_vNMCqq)a)YsROMOFRmm>#nunkRX1C5#eY=7zINdzF6x zXP1smZD|dB%G>H6gI!h4QaJSf$Os_LSMQJhQGVaH$eXBp*KT|X42a-{ z8Fu+dw}KyPK~{Jn6_k0hnHg@>^-4_Bi&d*o2Tnu_RtDT3<7KwH#8^W&5Xay(@J~^O zxRw@X;`Ki4xsTzY4U)*7J&;o=9@A7VYg4OpKoCQXb}M(Hx30GssoKe#94guy4lnmn zpz)!x$S~oNoAL&m`fDaHALjho?eNGsuUIlndGgXD4b8xn*9wmr0{+6bKVm?n6z%l! zf%ZGs%Kj4dOgIA777vKCX!vu4k;nT62xm@@jf^p@pM?-LPH#o<5uqVjMFBS1qWtX0 zajW?C#sEt=0V}%#p3&W$B^s_fqh{l>;Xq^YzWJs;BR1EE8oRx;lZEJS6 zF+0#DU;DXnh3t)qhmwmg%O>O{8?5UKesV$}Aq%@J{fK5R-EXICW@4SM8{JHTWfS*u zbU}r$;BtOC*#fh0np|B>lS9&QUA8#&vEzCAjm7!23xu-MA0EGRDbj_K-#0s8F{_a` zvU@MI2A*fVeHTvt@ZJ#MMqj_T%4RFZ?&k^rxl3=3sF^GrM$Ug|=(9Yd8SNH7{ZX}#ptUITISNr1dRRsT-LRK)10jbQ0 zC_9^(#fAeeC;{ha`f#MIdx#K~!MCR=&x?$L?^JuoFG74vR?HCUb^P&qFN@>K`@1LF z@-_+rj`ggk#V1emD0dh6I4}Od(-=`yHVj`UL!mhL*5b*x6~B$6!t!mkdbVGZuRO{g zF6k%jj61VLk_h}>Q`1%$*0y>WnPHlbe7QLR)54&5*NyX44OMs5O=$9-vDxgtG!U{| zeSeVKB~eZYF?i>~l>ft!ls^7|s`nrkBehN=fp9sd=~sKk%+gV`d`s(g=o46^AZVEM z$J_fUFp94!7@(wwlU26EEqk!MrcD?}327?ywA+WPq*?Rea@_H&wuU&^B=tnG^PL6YpDn#Qo-rBOXigKZ z5`{pJMY7D_g0ri{9S*+}TjGTGF^L+ly=g9Wo@$xbN)YCEH%6AjbUd8cexEux5G>KASkT)N7z@Mo zLp^d7nIcYoI>2#61uRHQ-z+!PHK}lbVu^FVO8}Zwe+}S>S|do999lb*7XsQWUWh_K zThqAypHin?OdVyF0h|5T=Nqs5iI+Ct7FnX6(^zukL8YlD)Q$?c=RCKMc*s?;0ag7R z{j9fW4Esb!52glk&%u}kM{JEe*gNOyd6~_NL)j6VXMpu8X8efwae9x%DAtKe)QA&D zaoN=hkM7lM=Ek^}MN~k`@OjF?TRn6;U=}QNN?#Z!etEhk7`=9lZ8ak-O-(*743{3Q zm@VubEs|b*AC?4vNWoM>r?GU+hMZj-vNTvOG#7uy%fLHBoKN$@$_i^^BmK|sRyo?K zW7ta3^xO8Xqe*^;xx09UnBO=@cD!>{3)d4qpBkJ0TEVg7s-Rt6R^oQEjld$o?zqA+ zcGr8f&83-r3JNF{#RvN0A3> z{&ne`12ttR>sq(;(HA-Q8Hz?`4!@>VC-%^8bDI=$hms3VNm7)zWo`gqxq4+7fM##7 z9}PL7v(IvI0KLamp^u!tBS2(vk?tCxG=>hQ{XTED;?NdOIMi*=NHB=Ytn@8FBiD%1 zIb}-q^Kn~htz$zj6VFz~C*;W5z1nM6lJW`Xlc=tMF?%LfnllCpO7R_9BdXe#} zxlIlzwjIc`s{YUVV5JLKIt_s_NNE;;qp6<)bo>OKL_5deVrPr+Ge-SbpMU#!?yMD$ zH1TDilIHCz?q*qgi|+SKcDyZjm9FEb$QsGqzARmww^9o?9xoAz-T8L&9xh{i1aU}% zdI_QnHSP#7pgS`%;g#6B?anxm6T2;5Z?GjtVbbH!$o`BUPG!$mO9`?PYSt;C^==b} zHjwV_ZuZKRH(h`J^Id>tWZ;N|4(^#48OaoLZ z?RjoKP?ZfRCTA+LZELSM^{~yKik$Uoc&QBSZTJoxrChcrdvRov2b^C-inLt~KTWl^ zM=t5U!MTs}F(N4U_QK{mw1#fQaKV$?oGwH9UUsqM zwS00aVDeQ8eY{+$BFIXXKm6?@qQ(@Q76wQc-0m~S3_St$YD_BWcmv%CoBuPOE;B=X zm40LKn+9-g76|Trn@lO%hjAzcO+&<4$@GK99kk1n{RWn=7tud2^(@& zC{hD~d@-54z5{s^ws2gLD-XlYPBkEhhQtqN%aDXs!iXCCq}b8??6E(JeE`+JcbFib zm_*Mzg#Shv(cLeRmSEN(jchE+3p1%)SJ<0ZBcY+Mt4A%rGsGLV#_s6;Z|6?&@0U2+ z)T>BR%y`oA(@COIDE$Cb-;CWToA}W2Y+|HsiSOtxg^HX{dK!n&L+3XWH^NMHP64%5JPZWhR zBpXfd=+MJDO(#6w3$3W#_?|6qRzBAyTkH<1&=+={%kGSJEAUjUt2!{72zsWGBY!f@O66d~`F@J4TBP>4U=?W1xLIT=GNd48rv5Zi*7A?bzg%oj=$AN@DCBSxB};MIg6_V{97yV zjqNU@KR-mw{7%(d(eZ5O61NR|Y32|38^_g2@;2v*6PkiVz}UGf)*#+(h+Ouj6F7}# zYV%qAj>zs1=V$VAw)Si>BV{8R8QKF}JF$~VuA0++wTUqo5BAUAd9HTeK!b3>5Aw@G zLzNv7xFm7dbY31dIK-)RA5ajCv@(?VsMS)Winz^IOOJsT%%2}&e+0M^1XS9(l1O95 zIlUy``=A`!1N{pM)LXG9`yJVFm(I&{3#i3J*9^}HXbz!GsyU0d(xgq2qC*)NyOP9+ zFq&!!IKjoh(BA3kS;`V;MLd5})!&Z=JAma%(&p@M5R(AaJzBf{&qfCTx?S@Z+^=E2$=N1ye*LIvNY0NOYK`_bP zYrET|M0-BHzjK`)K|01g`!~h3AQE@D(8+;2RpONsxWA3D6KS>?*w(9X+SUs#ywwe7 z2B9lPjH+ve)fQO9L%F)XD)CZ<2oD|+As)h>&bc+g=FenWBzBiH2S^J)lT$Vya=FLb zqP!U@jpF9{$aAksqb6_Ihn`W0??oL&7RxgLEn56U4M;_SnG_viO;{@ za*Ihoh+=}>oQWn|i(B@}!FZVU>ymWTouV^|6D9_~55zc(W?W2tZA+R^^4TAvs<~3! zMyFax>NL9C@{&cKN(vuUK*xEsH(82g8L@P$^ndmMTq#zR3Y0wqI0aiXtVW;ss#qav z-8X#V3Q&t{JR(Ns=@n&MaaYVTk-ja{ST!lJ`ICMI9(gP87`w4YEXm}S+kG*So+cw> zf8nh6$-)F&Ili7&C`)q;9 zBxpB64B$k}Z7R8}97b93-7C-az(9jk`p24$$%RolUfJ+=&mD@fUOiicvir^0wW}`i z;>SOXKi1ECSEs&MoenX+>=lp`U}z~SMs*c{)2WpB`Nw-|qg z-I+78#M)n2v6v>wjB{O2&g+#Y+E!l@uF$_MnW+uq)XkMRkLMTFZi|YAf=B{XGHB`I zZ<5+on)oZ*zx-&%@|WqKt9g+q;HUPKIpImyL6OjuZ!j-S^o2><$5{kn^wz7 zBH4g%e5#is<(q(Z)zElSHX1JIkFy-+wewtoL;rl#k>CaxB~a;4quz~GG!h?N-T;uA z^1*IzT0B9|v%M%6=B5`p;pmn^I%>V1;w``~=dXZWQ^YVerE_1=8ha!QUoElADw#7- znf6@6ZhmV9U5XNtt5&Mk3%4@>_)kC7oozZ-*)L0?xm;+xD`unfopR~#Pi&d#-^RP5 z3orlo!dl5JFlisF$c`^;!y4GW2Q;20e9a#Pm&SFQ^Wn_Iicyu67bM{Mw(Nw45-_Z$} z!~~nU2LK@a!8+~NfV66L1c&~pM|NTbuuTU=KHeO=cFReF*NJdV4el9_e<(_j(dIm{ z`SuCT?@h0xsd{=>3%Br(W$ZrZk*9gG#Csi5??e}pA|VzZL66k&1B(s{=VcDgO^pc% zj8*(IFR{a+E~v=wRb(S)|(dO%WsZjR1h^j9el=hmX?J^o-4N$T)g5wa5gC| zw|$qdhY3(F^NI#G>gCP3u*=Z&60iv(1#? zst398(zl_%(VHddfM3#46<;T;2FB(OFLNKng8R(J>ydAwW2ZWM{(b?=EBH>AB6Z;u zAOYd;+`5cw_zX9$XXwAY_x}e(-!rb}wJPo{qkmO_ljaDl?BEyVH?P%k78GLkyn!J% zkfW~)h_uEG+WbWcA*OPyzKE|_k6%>SeYeK&JQsijg2jl&s&NvN7ZYWZEckp7{OuPu z8P7J)3L7G~ze}0R%{{$iDG6doG7Ylgt#1>~w1I55m4cQc&EM2J%*{3x!roQ7=yd?y zRs&_|Q0Y9G7c?>mM+KNOGtPgrV_f(*dj(fgatW>`PW?o++F?6@Nzh+ABamIug!c&=`^r>AEfJn z{`G7|9oDF}|9k`&j;KuC#iVa&Wk^z$J>8}d|$mJaz=NPe9{`jkc? zM{G*8wBz-893tK{m9!l*v-Kmz;;r=6$g=U@eHWkc#$)fGwNtgPO{|-4b8Y+He(1AH z_i!f^O&WR*ZYV|T{L&61$B0u8q?%0f^mA}iJ9rl`C;%0gPq(dG#^qcwcoXE9LAJ}e zvIlEZ&`T>qd!7I-{qPg>4dPj=HdG!+TXQ+g*N@tfrl%oLyS7mN(o^N@FVg>`@4Y? z^J*o+b>KKB(a5wx%toP25A9bMxJiQCbaPw)TJU}9MHvHjg4*6c9?izvJ-S83YB=2J z*+PVJ8bGE}F(bv)ch!RhLECVLYZPpnxbDZp5@8dq! z5zB?7Eb%w|m4xR){R)S9#F@e)x-0ic$CxL1D$RYr1RwL<=mR6o;_K9wWHACxqo6j& zr_OupYmuJgpsQIMz#3`FUNeC9Kr3}&Z*t;P5g!NRNx1FatU+|2&FT(+ef9UlmLfH9 z)e$seg<)_u+lF?67C(&vzFfLx<8Dqa=alpBRckfs9q|q``!IU)2>#WVnZb-|47KIQ z${GZTrp6cM?5)q2R$K=)p*089%sVnh?@+iV;?dTGm zRB@V3QFr18?sRA2+3UMk2!%~^U8ny^D>`aG?~4bR_O@omOwc$R&{(9&hf<^ivl5C_ ziL!tzORo(4zA1kZ3Q`~K;p%dFc}(J;L)!jm_O946WaMPM8p&LwCk2`W*KBq9X5 zky8l119S>~`I@uMd&=fNe0Z~F<|q6FHd`$J{tamEyx{)79-SjL=R?u_#04LN$4@PCAf;%r=(Q3K{AXN4nH}o#t`kP`7encC) zS94a9l=$h?eDIV%a(ElhC5M(*R;_1PI?|NT*3T-FZA;PblbZox*zuI>uihA<=Opkw zj&A5b)9d>_jcL2I$kNK&CntqOdd%$+9am}tc>|YRSmnb}5qd_7y8A^ppyH$XgV+QO z3hhsc>gEW>2#3kO%FIMh6@XvnD-{*CS<8^yV3wNTSjik& zWP(n>an95`jG^A%B#l;zGxR*T2Je1jb2LIUR6VF47b=_1SdN{?@Z2ru_5qTeZl zcM`i#^)f%cuRf#OY1i3Jil3BQ9WaE;GiLi3jAvmMdrKwZr@P|r^D&wuqIAqj{D+Fm zi4Q4F*OLi>oOjFUa3>AT6bjbc=6C4q1Z zd&SMx?Al3?ka&L&GD++=jggDGVIVkPoMUL|AX2OCP8}TXT`8Yr+X=PUP~gSIHgn<| za6avN6P;^FKF0vUKCuXHEU&Iw#3o27fMgTZJc`gd0 zO~pgfS_+-b0qwih$>e@+1;!o(SECQO2sT%hm}`{vUufRetg1MZ@b$p`Tr0#FKb>q_ zR?u67r#`PzfmRSDFEpd1ceHgSR8%af+1_P*V_vuEw|Hq~d@xXTF-Kd6^E~UwfCd{WFr*+>c&8*#YCwGs+Mi})56Hf_X%tfbCJy*p`dtHv{aZ1q;KF`jP z8hgi>5s78MH*{)yoN%!$h)acVJy+#Tc>w(fZ`_V0{rK`z)HgU5_)O>jO;P_Zrl=cO zvDPHgQ&;z{}V-ho&pK%{6Hc8Z;JZ=9~8CwqL@Z-`6=o}k;gDp>MT1&y`WHBu&f!fEK;ty8Pj zxpNI;TxT0DRfrfpSc~AE1gwR@>AfR5R*HmUg=F+|l%h`^w&{(;EL^j=H{1Z+JeU@i zB25SSq3?h{kOkq_gR9`_pRW04(6`13LsT|X<(W~AeO|YVNo8VG4P~TE`#ZtvaK!Fp z^eR-NTl)=jsh^AlZ!%UO-ugOdX10(HpCF;So`AZQu8)17L;kEU@j&mvg*3H6!a?IJ z3r|kGoCYEfR%_-}d7GeMj!^PXqhE(`Al=HQztLXDJ72E3cXFkGGi~xl*rvp)te0x* zg2&82S{NMgF`eOHN%S&{y@_VnySJ3~s;}>bU^SPzZ`?a-6A0x84%K5{8zPs;Xe$aD zQjZlg&c#4b`y%5`yuNigJjDOxarpmQvJL~e|N7sv4*y3dpGyJCh=)4+xlK6LScJQ) z4=^yUR6NQOo3~Gj!MM{9-nny)#bD+rHj(4}WEx|q^Ga|@*ME&4&XZ6M?Y4~V`SAvC zrnEaOb^I}Zv+(LJlzKgobex>bBe(}TNO%ZMRRKtbpJ1d@m&Eo&7&u-`*PMUE`7)pO_1E+?QUmCHFok<`d)vsT$znPKd$~SL0nPKZsp0m91 z5}QNZs;61hOU=klo=r92#Et7iA(X($;#{171=i}I8$%No;C?GPfYS zLZ%&zcWIOZD^?~bBwu?Wu(3+={LPoXo_K1I0@zVBaG{+s771bYJ|)))8jdXGc+ct1 zr_jepM$hRj!TmKOV$`_D%4i2v*LQBH1a`F+eP>|W-WMYoW|hDTa@K(7p3g2vRj67$ zf6@RiH;vO;hu7CJzQmiQU;A(iUUS{s&!%SEXvMn?(6aM3>*TWU-n4DaH-0#VEgvB7 z_$m|@v;GpW7s8)PvecH2K*S#ekw;XxIh;$qcOZjzf}UO9QoGIy>8t0&^(dpk%xU?3 z*K@)O96z@&$4lv}4&U=YqT|>oyrdq3Bywtf%+cxW6VQ3-v z8?G@4+mX&}Gr3mbI!-3n4dnp8SO0veIxZ&$fq2Io@iE~W1*_lGEg3Y!FAinI!|WXu zGzkH0MQk6=U^mvG>2;w{vvlIy#QrZcahHDKngpp{bVZ|!zOgSeb`|c8rTKmXH5;$( zQ8U_2aNFgv48Z&rqZ$6z4&FA;SQ_iokf^+P6j~lwE;I1bQGaro%)m>7O3N~tfpBQf_D~ zhpqX!o2Zw;M1?9=kg4FbGV=nQB{<7OM4x1xBYS4uPn1xYXYFsUwe(EFLMQgyGCq7y z4ff{7I>if`kjue_b00i4a$QYAErZa_c#O8=NjPk{tZ z;A8R7dNYfC5=UkSzdn*_WjuOwJPMTSh!W;l1LfZ7Ku}EbE-K06vx%V)lX5C>2%qso z9b~|#4zq*K$3vVjgbK?B56sTym-f(zVl@?1GnX7=`i@KX(7swgwzQhX6EnVXHkNRz zzfb17WRF)&XH2K^o)jKX9>+eQbe<7rwlPY?scl@Wso{Ci~&ylE;z(b?qTfJ^%^u53R*s3D^jiW!Bq!!sQ(`&xxf zY@VF{B9P|d^8K={6`ixkTG?$^L64xTxr%GisSX<+*9&1;$QQ_7=+#^}AG&W@ zVX2{=+|CmG%nN;ipY+IS#*>n~)cgoKWbWN)#vnPi*Bp@4H`WeT(S!{-ZuVS>AX;yk zO|*=$TJyOmiIGt!d@}id&ta2Sfd@F}qmSF+Om>4by4AuB-3!|L4=&vg^vD33f$X&g zdyng{O%y5!kS<8+L8zw}im2VtU~C!q*)EG>Ms1=VROhqK_*j~urzFIlY8#0fYpVjG zFG;f&gSI_=k7rc53*uq;}7#n<5CthGgdugT2XB zQ7ZiDED|b3S~?Ajxtt+O%^7kE0@08LqFWW25H|vyU1a{Kkihhl>K4TkUZDo^58udm zsNX;GQZ42bD6t-ko}p#5J2!OaxUEgfNG{fs>lPp8z)){Z^?YA}@3BI}BZgGn`#Gw| zLYs-;y7j&C)kRJL^^X%`IHh?rWX)jMD`M!^22R_%P$fZfFbe91!|KSh=lyTJ9L(1m zdOmNMR<{&(f7Qj7!8?KlH!hi1JW)`>Z{ZUKVs0(Ic_+jJr-eZ0MOPV9}OiG9rqyMA4en{^%dYQ9tTSxV;RE_YGS=)H&1P8BkPd zJX_k7EK;Sqt1hMRau1^mtHzOfkku;fum>@^0jC9mW5Dg+0V0GAD7k>9Khv5Jry}!@ zjq|%u`n;&hd*?blIB_{Edf4hAH1nPg_QOa4krD*-ItZBz5n-V^0**eCqlg%59Up@&0J9>uvu0}wzt6wCZRmx>7RVL zd|n|%#Lzb}@vVYPAbGBOKwr&wRSJp_o@}QaH9>4;texcW=;w+=zgv5qKu*i8+jQ+s zeZ_#Q<@+a9IpOs2$JYiZB~|^CB2=HbiNOQs=0Bb8nETc7EKP4hak0Q5lsw4ERH2}! zI;XV6sIQ)b6z<6VeRo}7ARCY%OWW=UGb*|eG}D51F*+Q!5MLy5LAZb?urk6?urf+Kk>lg;l5p~y0&VfRc_Sdm z7hS>%%M+&c8c%?jSGLJ$#+1ZB6_xf06o{KI~)qv29mSpP}$3L4kei@8jK_nRO z1xizHM=Unu&}Kc7o|QC}Zdm7gY=`H;6~z|TnLpsbZilBELQa~-D#RcM@ZBI-g83oi zaq6TXGdO)IP^T;tBSnRnA?C>itMUGA;r9%U+kcBl(S+Z6=IR43ORBNXRLI>rjyny5 z*MJAHHVut38Ipg0p4Jj=+L&l|Y!mIg^XORzHhbik#2K6SF-;{H>+AZpsRDO;gLK$npPXAb&6m+t+>;$AJlpegQ1>o+ z;W1zE=q#(j_|r%L8oMf)yK6wAgMDZ_H}#Uh!o>ey#njM0>;LbGskM!;Ge3{YQ>)p# z{yL9`KOA31YBzx}(W^Ky+vid%h-{Wv03`lk!QrBeKJ~bjGW6?v-+*TNIks@}uOnz1 zehxNs&#?>(bukqB%T4UI_??BfGV8VAv{gS@CT(&evnr|5QZjnpp(PEj1o!Kz%+vlO z?DUtnDDlIZCBhFWD}o-K0QKn+h+$ZjzOD2PMCE@!Iy4VHUYQPGWwA} z^o7&Qf<8DSyJr4r$vaptuUB)~2W(Q?)oORA_CF_hIF*A3GS5#k~} zq}>H{a|65WU|j0i;z&#E&z8xF?#oE?O3v#p=_`s8-FgX8PZlnYS6z)=t-pVl^T^M!O*b+Y`?Z(vUU zg_-lT=iN8skW?9&*n4IpwmQ;Ump?Q1w&)z27|NKcC`)sBgD0+zFhi&VFt~=Y@_Xce z&S{$0mYrR%-OKaOLuW*T#o*K(n`0s<4dfD}65GDlL=n#*17k0^Xfs4xhYPHPZ)=Za zvlDp7D3er%p$ts0`|LELr)y~*Y&oH899hydUaq)CspGE9a+Elr?AA@&jvrHIuGNVUh~5|AgnyB zPJ*Sm=!k>e9z?|z?4MqHO~d$ZCbt0WH@`DU^*k-j%6v%a{VD}iGySW;MtL*JLKRnT z@Om2narNv{97X-$4rhn|^UvNLo&XB1ks^Vs^`mT$&$Ga3|7RXcK=O>N>heZ#HEto+ zcE;)I5O7x5CkhLvzdSnDy!MWOPB{H3C&+{O%^}#S|FslyU2ll4szCMB67kN{++f-v z(B9!|y=uC=GSAH4f6mC`y?&zFC+z#yo1_ngU8^@`LR-8pJ(b^eL$5gMG+InRe#b^KD4A=$}?9n<;H@YqaY(Mn2 zsMyw_yYS}a7v4OC`#{Kq#5yTbwK(+^Pxb}jR8AZ!Y&{aoL-iE(?hrUWURB_d6&tyC zH7n-&ySVBesT^u`$S?PcN=Exq_9mc_!?vehq+V}{9;B&f*Pr^yUIAef5O7)%b=AM_ z+tm#y=9Vo;=WU7WH^H~FfAzw~_&+v0vj@;E+x{0Ao);*Z|JLxV4N&KS`GGZp>?@hC z7G0Ce>3oK7;mw!LOCLRU;iG>?>BLdDw{hXnpNr#t{U8&E6;E2~aTSEzchF&P)eI7R zI}+I++9Om8-0GGC>-y%aMSA3o^me8`b*VAlm6Y3~Ak#u}qo1u5JMVCt2Q^>6rx6eV z_v~+!Ls$c25j#)Cun=)n2SBnoYTpInVjXJm^q1+uXVY^r^D`r-<5-^s&tkjkG77R^ z<9hl=bo-uWFT8%tVz?ssIx8a^jS$pkn^Si>oTD(&Ecgg?`#0ZWC-~F%-1bzr6U^k( zA8gZhrYlBp#jC!ifW7Lu${AyubJB|G4JMH3sV?^pEmNJ?Yy+_R3+K13!Vk3%vpZ9) zsO#55E)E!=54P~7&@ndGAu<9CCP~91{$a$MdS@^T7myWX$w1&3Fl>KTrQbs<1;gOl zzg|Ot%lUq+tozK}nR~3ZuiE&p@;A%`88R_SAb|oe>sK@}(SN4qE?w=)39mEy#(UM1 zCC384RfFEtPQp{`_u$FE)vUxGR}{n!Iq)$b3)y@w6^Dd2ROryaCKOx+JPY&Jvg@&r zuw;bcdZ9zah1c&|-sK)XeO)8gA#AnyFl3wy9^iIvi*CXSI3SQu0@2gf>)PZ!Ta( zWKd1Af1Vl;L2k7b~yAx)+RJ9D4)#KkOvX6#*` z`KYd(xY3HSlW_M(xF!v^A9}pMnugIr&s@){5x9il+#p~DpDPr|nFafnuBZx=t2zxe z6SL9F%f!5}*XFh9CbRV~D)!p7U>~SP$@Yw$dQ4#bge5aSib3HDlq#ID6cuEyX=CW@ z!_7pocY(YczH4S$Q7ot6sJIoKP^o>pHT`3EMSM(B%;l)4 zLzLt9;FV9IC6gIn{3=|t-Gj1dt0P} z?dTn7?O%eCa1U|-zT(9o0#&>zd)t8HNruEzEhTln~ZCe-b6xGrkQnP=mUU z39*+5`~ja_^CpoqoUfl)=C=4k@m+x5lJ1O1cs5iYPl$ zp!fd!&h_$fQmsJ9ri+Q7X51lm-3clgx!BZ^1i~3WD@$R4*PHObQ|AexLyOEK#88hC z{8(guK~;YfAB42WbJYh>Hul&SU94c0fR)fxV@GyJ3kB~%p}C2*g%AS$?KldjewIy@ zJxmgpq2QJ5H(o$*|FqT%HiG>E4llc%z#ZxTa@lCMmmkyJBK^bs-@ZEaOJz2JH!C3G~$BZl2hQwWyL{G!Hdt&t}b1QmfDJcu7_~pY-$U7M!DxI zdLXX>gw!R*tbBm^o7eMRc;?L7Tc2{8N=(oldbM-Iw_V_?Y4%V>a^v}|`13V!w{qQs zO82itI(q7OtYowKiM6bpOn&x>Z%t9^r2C;m6>_xC zALp7$G*Lhi7AY>s>70gG@mg!jP(@ED{8NzEDpcP`sfxz1dzw28SKmCUB5Je;Nmv`1 ztad-IN-fH*SQ^??zGj|{R9l%U>i)_)li{k0zj!2BD&1)c!3#X!^lpuJRUS{OJwZjvcT2_Ax_@ zn@xx)i1*o=?OhgcO*;I*B1c{?p>V9d(WX-Es)oD{n8h9&O=LT(ocQf+zFNvOaF;W;w-gY_)?aC z2y(Gf@ju1baoW_efUg{+pj3Q5Sd5fMbGE#ac|^~z%&@9YW081Dp5y4oj8ut~CmF2BLAuOG zf{Lpq@?~G9B`4kzm8^Z*gDbr}{4Oq@>zBjC1)1zS0wr_f$3Lz1w)oTs%J&2w)FotF zKjGbD9WX^LF?lSl9z@1G)|n8r`6Eg_Y`R@76bRKVao98L6}C`rkoCqE=&SQ)dGuuK`dO>pVn1JU(u30WWt(0ZlA4jx^Q!~ILD()c8|nPdLA+)VsDzai$nz2 zYam+m^+MwZ@Qe6~IW7JEwg1TqizaT4=X9!0B@bTuQg z(Des#H;pDwT-ZUfMX1ig-`~}~E*yJmV*U2W#)tPaVA!0t9p|~%W1Pu{JNdGsib+H_ zhi&g>>#ugc%+xQR1A<{+4&&%OU|XZ;u)4Ag&*iL+l+9%`92*wJdc(Vx(c}!wEM;-Z ztXXpwtxY9E#x9DrY5~WkiX5%%ANzA;4SQGRTH?Kw^YS*o9Br`cctRWS24PbJUuNbt z(#3j^NPN*AUXds-n_@;L^?fAGHxAmdy-$XAc1&(eq3=llp%&P{OGWVM8}kj(4U|qt z+OHkd@_&?1?7TixIvV`U9Gz{$_N0wT{EJHzHL5KJw{iH%m;qY+s;1Or*XP>N8LkE$HO~U^+5RdyE5^|yWeab5rU7sT9G7gdUg;3W{>w_sE(u9dnSJs zw{RPEJR-g;PE)I)2oWKWgvz?FE_~(2y@=UwzNr+QX6#Q3%$Rf0T&F0Mc{p>;TTt`u zfNISwY~esED+7L&M@0L1{># z54Qh(n!r~3f1y(f2AMJ3|4gTp3+LkApuLuxdUhK+R)pHX)z;Pp0knY4dR+Y(uwe_S zUvKDailnZSBsE^q3!RbUFe-8xG)eP^D-j8?nAJm@b8~LVsJ~1xQ`wZyYQ^@jgHnxJ z=@fd~ho8{DCae<8I;yaMvrTmF@U%kyk-z#yH>FTIg@|hqDLg85B zFr&t;ZW+6GMJGG?Iy$TIrgt=RmlMhJ*pAS-7Yf10c8Wq7jPI0tFIqnPCSTxEfh9Du>x%4IS~p%_;EcS z-nl@r#?t9uv5af3n95?=L^r4gmC;N>B;EIj=F_lXvOk%pt63;raWw>xmFwon-99er zrMsKH;nFj=Zh;w9TO+NDkm@*kg*R-Y8wXwA+rl{4t6jp>4ehI2q)wW(+H+fUxD&;` zlJw%r2&8JSl&rn<&iA_z@d!u-sN4Vi9n?nuYn9W{%EQ$2qK#enzRNpJWv=$r$Y0W7^-#YpsYJM;Mks)l?gc3z zDeE%9t9sRP2XeY}N&Si*9#zjiJzjbmFqUA@cwIjWi&?yNY;F-SsGZo5N1_Ao+O$S% z*eRr>&JOtnezPi<6@AqDi+4V)( z=2^fxb;JUOuL1T@{=a5}qc+Dl!*1lpd0T*f&I4!q!bU( z{Sa>h9SgZlADbX{f+fHEb8Oq7$p|zx!8NY_S3Qj$X7DnPzGCsUhs0GLQNziX+k~r9 znqh@JilM%JsbOCH2Zssh=TMAwHS)czK^G@pu1(PqIF*9j-yN6t!XhBu6;v0S9fvlK+d*t!P&bc828^Oh=6Rpjq3)n zc0b5OJtJgUncTe?u zE4MMbn67%`g{GI%mFn`05mXU=`&TPVud358QfxgQp9<}S%m+aGJ1gs+^p4i?vxhFd zz2Ot!2F3sUnr|um^P^s*I%!YAi+;Jj20^BX0%}zL#+`!d!`z|Dy!sm)uk0;(whf<~ zVlHz!8QMgHAs~ybMC?`(E<1T(PITR)xou%dO`T<=j%s_SjGb) zvbz}+DS>9(-7Yw^R=BZMF!bk1c+k_u*i^#*MB}8a&2y9Q)2-GgSpUNK347%$p=Y)q zFia}+pkK=pNC^c$#jZ@?N&?X5Vj7=D{HHaGnsZGV2&+g;Z5t-MbUj8Lsh#KiS#l?9q$k*e;*nfy*Dq7mheCRn#J z4(ijz%q+~J5TZzgoug~_@Xb|JJ|gDW5vW1~8k}Mc#jzw~|6?}K^f^P#7Z>Jk{PL2# z!Ycoaz)^5U_7l$B{}8Nk9-33Y9e}4oaKlvRi3=%ecL_rVo6hOqKty17LNlG{ zCC8m`m1i1nd-kx<+_-|cmIDfXX;o>0`6tpIY0t-)j>k{x|Bk3pzCCdSjNZZpJGm-<}W{EyJdV;LCU#e8fK z`^@mHWcsizuy4z^%$BvLG|x}I{qW+nAX2t+fda7y0W+!;ouU^))I+hE(fA|MDfhxD zotPDj=4{Wm0racd!oJ6SFZD11 zZc+r;28~yB0LLIg;4qVXb6@J+CH)tWHpPiv8?)v(-P1WS?0sfk`hA> z5kJ!(a^u@{W`ac>Y2dKJNRc#Nj3aAfE;=bh*{fo}*m=ol2g3ccp?0-oC^ki5`o3qz zwJpAU{M~G-wYD+XgD;Q^^$>cpEi{DYi=f)L>d*FbtV2qz>AgFUGNSQhoX>jQAoC?I zWd9>dLo~<^mx<|}f?M#${GU_3KEZ#xNjC>COB(h8Q1H#qrOVOF&hiZX`MC$ad%lJ5 zUc&`u`GJM{X#n#Fvd|?6eme~Km~<`klMqeWfIxkX;oDxFZVR|LXLlO!6%50!5;y!1 zpWtAPckq3AG`vxn7G$|;1y98+ho$LR>-SqFYyFHhM=Rcn*#wnMhp1;Orq9I13J1yKxpKu9zxu#InS?DpNVv(v$|V|V9& z|9O13Y--OqW^UWxzv>|i7KZN6d-|L}c<8)|LqHxR(U9>`fm%0Z_rV3lUL*Se`9JXTRV%8t%VJihA~H(YvVyAJkJ!^DQaUu6M5 zvwEK}q8LU#8IEH16v*=(k<9!tVu&H+7<0mq`Ls*z!0XC`B00|c5Btwm&!Vrz&~XwO zW}MBqo{v}Pj2JJU%*^#K95zWJNx`>blA8B4;0JcI;G@oy53V2Qsi?Z}iUP5B#~f|n z-&aM3xXR0BPCARd-p%A#`Fq=6$Ho_^Yy4kaVbwzT?^alS=z|FSQZ+;}py9AHHM8ok z$9z9XKmHH){yZA$|NR4pOEND@W=KLBGifm)d(qoAgUJ#?Nt89pzO`7hjirnzlRe7b zA}U*vG9nFQj#T0;=U&7bM8OxbM8NW-|m0zbKd`T-e=77^_uH>U61RrJOTN7 zwy**savTeux*zir)IDCQ@Cr*Jsck0P*Y@ydd7cT!91A(EBiCSlFkahKFEbj#ARb3* zn_zB3t968-v@_oLrGt_zBPTX)Qu<(tBm_wWhZXe)d?qSF&c=wABjipnW10KD%4sl` z_W>imzh-&3A$o#4;CjpQrO(A>G46lTgzFn%82$$d%~_}RBg=tU+=59PYqZ+CfmHLk zwtocr=ef|1vS$_1YNH=RxnroQauQI4OzqUoU{=OoR|Kr@Ovdm)eOk4?j4!WT;|FbM8 zePDTJP-+JU>cb~jJvLh*2$o@kbx@$}e++bDeb8@C>dqQ$1POZKs5B{|s_(Pzg z2a#}^0`pIQP3~K6s%cmvuNK(+f4&l5{()9RmRV#bFi{afH~$R8mR|oTEt*1|R2#ur zr+xGc9^69Rx+)FZT=5V1>1t_2b=Ln1@{R%gyW))zm5->Ov{KsCkvitwdDLfUpC?Fg3d!q7|qOJ%@ zymxaU(dcIaUwthJcZTE2jU^y6sl5_Apu}R!@pY31IWy(3ZQ&+9Y}aPW|Te zPUfmZBr!hg>XCz2%{y7H$NATzH8HuL6Ys3crfJ}Pgy{{mn`q%KlmREi4b|JfN;R`< zhf3~%S&}T>6bNpUKmJ=S5XS#M$nlzRZm&Mg2C^o{8vL6%~qrB@+z0Bl1RtrGNvLYq!Bvx%w ze24zd>q7k)W7C)%?LeyqnM)YcjsqzMi~c7vKs~@RC_sG1pJf_0aSx=*5ED(Nri)^h zzP>1X6*TmHYH_ygo!aVO68+B?@{_(Wc5($ybQ8@Ia@PNE?sETsXg%-2&hr1wdS3a7 zj^J8K-P0xiiKL*ww{z*MuPfxQ{X@j#p&w9i7S)FS_o^QFCu@5@Q?|A1G~c-ou*J>~ zy1xIbKBmhK}ZQ`c`uO-wN1&M}wV^ zC#ZoNw&6g8@`M=u{PM5w?#q)kZ$*|Ba^tFgZCownzW*E)X+{V^Q+dn3zM`!bd5qtE zMF%ZvMNgLP;i_5~6L~r}_;z^_bOFCft8tr0amAVPiikUi5r1u9rI(02N(~2-nsj5; zspHa%>qbuwZ&s$rj0ADq)8-%fLyD;e`{Wtx<)p%XOHwJ638kDRA>nZ$kI#GQC=_IDVIBrssOvPc+8}==Kzy3|uoG&x*R|QO(6N#p| zKh&%o{y0AT8?HP6QKM5co54Z-`)ts{=V+0tWh<*+GXqurKl_3Lycc(@KD}zl6(N9T z2fXCL3;l^3hfQ?cgZFX}vv<4ga3m}dV&bxNj~#X$*BEEgh?_xvk4LV)Gb-L7cx%(O z%pHlnrUDykKF$`i6k&SRCbEk+=eUYyDo4^ZM25lu{fqJ+Ptwof@5Cx)Yd-nS-F7elNZK5OTJseguQJn>MtOR(4J zCU%`8l0P*ra*@U(OY8DQK06)Jz^19+cvi3I4YqTS)ivjNEe!fdQIdI*V0zMsrMy_2 z|Jn$U+HbPOhgyiR5X}jQ=AvH+dS6+Qet_CT;ZgigZD3ngB|B#|_o!>OJQ}Z0J}TxTsUvsXYlR+^6DK?OetFK2bv0faL< zD9cYn7K6HfX7uiTFnV!wL45LPyBdR+a7@FuI}Cf`v`&gVYw-k5<43c*To2{kyO<|b zMf(f45_V00Jb_a^f@{#M86LcNnMz&W{F`UN&bl|}mroOW)?0Z@dELj0&eSCx>|;`S zM7YPJ7Xj!W0tI|v{UhluC3i>WvQ1N;b9o2;(%Vn-Y8esB!IB5ugh@lsjPBnEw;tTE zZ+NZ1sH6EOymb&Si9tAgZx+(7Go*74qC!?g@kY4CnXUmZ%nFlG@hI-Kx^}q70o34* zsVYa@b_wIEybzE2IN9jdqEWt(VEYrDSdxIa9;Z2H{<<=bv1g1=^G~^!hr715hf0au zXcS^>bs-w+-LlwcZKrGOF>s%4&wq%ObK2 z38nx($hN+|H`>45DaI*GaF|CX((zaVA2R>S(8c%_)r%BZB#3Y^iTVeCs2^uRz2JZl zMaiQp4951bB1mzmQXrU!cr<;gQ4^M7cw!M&;a7N`BKI?In#N=e^ujbxpS@dP8XG0F zqcR2U>9-^jFc)>L$!6ke`H`}sA)_b6UF|$fv%0e{#XHs-GY%tyk@a9!7q)$dNRIec`XQ}`slyr;o zU8$?D=$@q)7-nWxllGi zwM=1qfH~5pZ0LGhnbB1j`jGbv>0Gpz-_o)GNvt$RWcbLX#G>kTR{Z_FkN6yg-zq*t zY|1`pw`o=Fn}H{aL0%xBp`8(;6skawq(3~t?I9~sEzgrh$?hMCb6)jvvX!3+!WM-6N7_y^J4$-7eF*8JtAm2Mb0hb5teff3^rG6k3kSX# zVjG1sJkV^jMM4hqDwE%w?NW2?LrL|NNxv&nubA0lGZ)_4(*9(N4O}h8T5G{t>?3IxN?LC$2^;&wY$MZ&m zytni}{B?T%8P`J#%M#7|oeMqf0**LpulN30rYEWNCs1h1hQ;B+;;f%X2~vtN;~#O; z@Ijx6bD}FhU@{e=e>r!MI9MsPAW0c|6b~Q#kL7j9f_0fiU4MLMt~Dp=q50h-v0}9Y z8Oz`2xliq>j=q07`B=Dg-R9d}pX)`ow(M4wBchJX?K_lh6ey)<4GY^U#)35f03Q-R41oG#8;UCOIJRTE9-%8@Q z{|`v~KHYTdH>VpDWK1KYLi8Q^R!RCbH7!KNXT*AB&8tsikH=IPC$I-gc9a~Wg!^s~ zK;?}t$8xjSy$pZ41&f-kHp_a~U%5lZz%KQwZv>O1pJ&*J`%?ITNz&I0dEJ$k3o&9I z(L3#91b(fg*OTzWe2BXmxGkRV+DaJ(H91oSxP>2oeE4MZ(p3=j@?-(;QL!!-*~)?KtRrM|0|Any+O-0Kt!zOnj#1 z(13H%LSj8IRS$IFx5-6#YWrN9WyNSPO6~yF(h73S6>XnOl4Bil+3LZ{+V_6s8&_#s z2ntiqUQb8|%Q;o^sf2-X%SwE<%dXMo>;NjR$Xal~6ep&ew0SDZ+}}_r>Dhz3ca068 z>5v(mv|!B%YM$Oco9763D4Dth!Wnp^H<`k8e>C0u8?l>ARXrc>p{}j;lIb-k zIrjLVuuLX7|E}@g+3tln)PE|=Kix@;5e#eX#OeM>s&b0OlFL*5(sz%WE{gU>v4BKJkteWUlq9xjv zG%H&mw}ZakDeWhJmI@c8iKHE>t>l}pSGE{we0?p59rBD6VKVo&W|onrgDY)f4XxhvOn!m zuZoi@7>R#YoKYaZFaC0lbGUjvD+iT2_Mr=KdQFFZ1WGsbGv;{;L1>3)~scnG!bk;vW z+&Chj=qBsINaHa~r<3crU2(cwQldSP)ut&iSMkwe@hSYe8R9o$aMu;Tosty3eFXHl zwC!|HYAcPn@{vQ8SXMWg%n%R%xBi$a)n7j=?P=d`V%)B(kQnmdtX_ItVvGe9a!6SI z1DmedhFIC>)==f8YJv!L_vBRtmrstE)-;8wIJ!E$rSbG%W2(y&aT<($-L|YK{QRiQ zpiowm`ds=(vX!NR?e^dA@AG-+9=z)iynQDwz|c2tnkOsBj|KnerM9#M=0{?pHp{dm zc`A(~7xEclzCU&3~8s6*u)0x!__X^0im&44(tD6#PpzwMIMK1Npy-$>5y&!u@c zIQ9dywuxTzOD219`kDfwW97Y&!b0R;ae%^%?j@XGhd1nap^#@0FT06Ff|Z}}Z8q_! zFFuRrW zTUO4UBt4XFLfMYR;xXw;wltPVK}vzx*Sr+kiqDZ^na+HSzT;ivep&eP*xzy6TM$-1 z&INb7+Wm?WM8J$hJMdYY*Iu4Hrlfq9 zxyA!YxmOI29O7$gbzW~b>nnj7Oz43U)6B>Id}ye+%fD^aB@W94q@wwaR4NZIX*F3m zzecqwH;r9&*U(KCWIdddlXE{Dswyr!t7PfNbqnl8H=F)=Fek;nc-{Mt4Q4YRR@)#Jp#`a6SSNx8(;FY9rd>Ca5 zpVsW`(`*{^jvTwTufa{j{)D-v90#!TcTE)^m*DJwsgU<_aQAxBgH1V}Ob@q2S5O#R zAguPQlcE*#IA1s$2=wKKJX0VW9=Dq|oP52Bt^oT-mEWuJ9QCAJ$7KKHV=8ox2F=U!@{1@JC9n4wUex7F>m^w^-OCB+XNrbx9O#gr@sKZk)9cBLl(wG~g8hC( z8mxgp&c`xX_;e{D?9V*$h$V!Lw43tZencvHR(~BH8YGns6paYlFLK6h78|PUk_jJ8KKP1d>5TN@4IsYYAY>pI_LP1%}3eg z5a4!c4A|1L)wKnTUvbg5$RVFsYds*rT=>cy)f?(_j5t{^N(zI9w7f(?C|Q@X<^x1x|jpKqq-2*x5j2X)wy@^8Xywq3$Mn znhR|w-LZ2m@zZP<8|(;(f-d`A&4Ifv++m5&3m%7Wiv7G{|IN#BB2l=zdX~4i5S;JRrlYi4ED^QcK4T;lYyqr4vTTKqgX9mmKX(39l z&9r0Lcqd3l+T=${^aVQdr`PC)`yPTb_TcI_5mr0aEXLKjS@1~V4kw>G$Gt#Cj<}|u zJ8t(JfpsAEW|aKiQY>^oqt@-5OcS<#$oGsR9*Tdka;J_W@NWS7^XoH|Y&1CszYltr%)RJE5s?V9!G2NpE=#xF3W`>u;(g~pYX4cNH{6CUAQxEsZa#`OFtRua6w+ zOceAKynR%vW1CZf2j+3eYw454uf`sH!CbETqJnVYdm)Cq|B0C7Rtj9O=g(WP4Sto1 z5m?FC@EixrwHSduTc)471*Ee4_EXm`8kPU;r!L9KM{<|D(_(IS4)@*TAuo(HYiIxS z3!1bZnWOkimq&I;H+;JiWVPk3yyQkc(oR}ebbx0SXvqs_VQQnTXvu#jWQR|@-z$m~ ze*E8ApV~`U4hYNwEih=wu`62g(#+z(s~jQkwK6(Sm?IL#>5pRN)iOIrB+V{$vU$U` zp89qo{p*1SltWVA$KO|d`NG5bZW(Ht!5DVG*f%LPy}PqFLn-({Tlpyi76$o_dk&=;>Lw?^K_!K z!OHDE7oRD=A92ymTIJkhv6s2&kZDL><6&Ucb>f@R_@wo1$y-g^BpRKcDJrTg2c5wP z=%6-1=D!QJ)p#IOW+DPqp46WN`N`{~w7kFo1K6XW(+U7eiFf}bHyZdkyrr;A6o zK0p!it33r1;vl02IiqP$pQz)MN3T>^fL#NPFg(_{zD7-Z&pF>}jU=VzHV>I&!j^RB zhUQA>o-zzY{AqgMbi@K*^6-)9N62>WmeHW3Zk~GZL9ZpNk&9(X24bkhNj{XYiEH`{ zVQ{CJ-y}-rT}2Eb9(Uof67xLVWc&`UgA4Hk(W~UZwaFbl42TFCE1qVWsI{b&EuNbl z+JLwJPicAAupMj2`i8ku7NQZoG6{ee|JG-$3HJ8ayh5>*53l_(Fv-7YM_Di_FXP;z zWDktI?R4G>Y!|~6l0(2Z45~27J`$&_BQbPdfsp+4u`c_eC>{lp{j~>=UUWt(cYm56 z2-;}8HxefnabQaId7tU$Q zSg(9DwD>`jGTD`%BCDr_BrcjyJvw|xQYg8uGSTrmfoBis$jb!2+TdLHNuSs4hD0|T zJcuPh_j=S#rZvUnPk-nEYE7T7f)ogImbRr$Ek=Ru#Qa))Mjxr$DsYHjG?&(8Z<%|4 z7shE!leqNk&ZA`bvEWhtcEhmQjl6Q#$CLArcqXIeb9=7u2!GaDdlMmljI88!emZzc z58AwC=6`j=49uM1I-{=qDfkNDlXfHQ8BMk`zsJ?EzOOTMqX z@ufVbU|Ue!QOd5pdSSL- zPCRpuYdJ!&i7PL?A8OirC-E~A9fbU^|%1*#QOv`QY=nc1s^iuBcZ#_AEuM4 zC?3lCm%#;Mu3Tv&7L@Rsy@JhI5t*;^!Q=1fhc1m`xy zxk|qF<#3(~r(izX56x0}xn0f?pIxrw>k$db>;1Iczm4b&&Lf&<1Lf`8e$YdG8W@$# z3P6W@#DC#2&J799EgrT#wpkIO4Bf!*J4AQ#q2bw}?e`a4(vvxt^Zn)AF1a!xH|!T3 zXOp+N)QNj8mcg=*SOtx%K$5D6yi|*2?-FojqtB*EFHGM43%iQQEF?4IzaFv;`ZL0^ z!Rx+lBl1$89Qr1-=xL=U?+tgEl+nXTBS+B=$xJ^^DTj`%q>QxX?=qDy9*26IdLw&> zCcZ0P_YTiB!Qs8K*~ggWu|fhqd`h%jTh< zefGGG^XxGH>ThtMvnWT?3~Z|K_B%1MVMS`6bi%?sz7VxT;!NukEer%+uJ(kz3VBa- z=Q%YPpK!v_t)TrjRMo&)zjVB+M}3FCdyoKjUTmj{`3fGJ3dh$Tcn2>~UaSgYx^RXk zU0u_&utU_5y)OD{K$F|cE}5J(3xlb;l(u^q?077GIIr+7QF|e!t&0!&yPYZ1d9(%b zy{&prsV{|g3o@&Vw0)mGtz`VptWMmtX}y^7<@-DPQ^LE7SZhx~pD?&?UR;t*x%*wM zV&;cyh8qrF7KoW@Pw*{!{aZ!u0hvs*Y1_7cpFlz;8hNt#6dM5~MyoIZ8jYmM^9J)^-!mZx*(G|(8*p?uxedc?%qP-s zXPLHe)0zDcRiRPR$@PTrL6fkMqQ+a=ykyKC@V)c^tgm#ZJ%0|2RXW2c6RoGj1#bA(qGbRNHjz7S4(2ohCCG#_{?RlPz;@b=|!aoU`a8VPqc z$lH6_q^Yo{_p}H_iz_EReYqw1N4o8aeMz$l`7RdR$N39ps9sz1_DZ%@9<)G{_9HqG zc&{eMZ^XI9HGy&bbdyj?vg04;akal=T%peVH5J4{TM7NfDuee2uGa+LTZF8?ec>>Nu z)RrS&>P9^q#7^rnB@yMgtdjNgz@R?yYRdzgDR z_~YX;10d%S2jRMYLvKT)6V=YldsfKpY}62QIL;eXvu?PuB{ELY;%gadackmji#|3<*`$Z?DCzQp;BZ{@TnYodn$~Hjm*T)P2S=rek zY>9bRk2Tp>v(d&pVaIw>)zrpRnp{?z%R(?4*p21ujxkBvANaE}1WB*|Ug1A*%#(N5 zhkgd)gC@`is9tF(mbH=I+N@u;oH#f2nA+Bg<1ydre5XS+lgwT?q5)VIN<`Jx-dmt@ zyIY6kU7y45ui4L17S&m8PE6{8=b7v#QXT%mLBR!_PGFog#D!+jlnCceBzAWm<(pz5L0C+~~r6;Lb9vI9s+yOgA-GrqGq1PtHLd+T9oiXB=ra zkv=r{(vNIYR8^nvCuvk;F?_YHQ-FASs`$N-C>h8;KM<|#`}b#{`%yw=S-#Gu#!Yr+ zFGg^M{zdN&z`qHKlFLpTzhW0PM`D-V@WWfc@RitYb)U(&&H(3!W|P$2v6ChD-`!=c zi0jLQZ>$!9x#ar(fbX@T9WE2k62teM-=ih;V(%*nQn#d1>zOOx^aEjO%u1ID1=8gc zwn1k!VPFOePf%wSS|5pO+2V((>g^9yivYmwwR$}tNlG_MwY-v~Z{CSJxy{0i<8u0P=cOzOt&usD?vN{BH3ZIfsY6-av`KXPvc7w2$ReS;Rfa@wxWz>X;T?D)7r4dPZlkaD zaC4XIu^Sk_)MGK7LJ!wnj7+@-BMrKIpyg*gO76w3-mq$wyAj7O#4i5q=>|;b21fQ~ zrR9g{shRE)zb6Bw0y)ZxZZagJp0e$d6p=DPqK_7O^{k&K=j+Umj&0e>%9lgLPGi8N zWg7+X{IBtc5n-u?;_+6J^_9uS!0dURlD+QL#>IP+e!{ih8!_vmX09q-^CjV^q|x1y zs=W$iAw+aG?Ul-kW_&9*^l97caoYuCY}xRVOf>0<&U~KV3cmGRlO-SHj-GIf7VxIdd+Lg)^CeV5<4Lsa+s`O%<&su#(66SflO4yJhO_wdgp z`zKK^xl?`v~=ui~eK$gRw> z7r(A&8B~hx?IVGv;UK~4)EQ1f|q-=Q_Bl&XHHhT&o<#<{9KJtW3}+f(l*g52Nj;^;QiS_16G z&!2x(hiEYlA@tM#)GK13($YK}AB+9a>2>=JQ(garg z1zU+K^<-_dMX))~k;|redz<9S1Pa7cTf4*J96uFfN)__ZXn@S%Eyq$Um=oLsGIiyr z;+qewW0tL~xwJ>a)9g#t?={R37%sQQse`M*QnlCp)GkNC(e?H(TwONJhgEJIvB*abrB^N#e4i5L#@2TnyXr`z0(8%Be~3CUo95==Ih(mdzPr3WE)&K z8O@VQdm8Ev!1o!|{4U;M%jTmmJvi`d$>o9+84CFZF=1q$-EjMyK;5Y47?2nKu9z8WPIdzr zbxUq;c>J2Uh7YyjQ3$VTO%|676KH9eu)1_#JjSq2E%{N0$CS09d1}vId&+rxX6%-I zXx!w6Qdm!FFZmuUuRAS=sT!rUBp&?(yGBj5M71yR`RgHPGFDq)L)&7rS^5zwq|-jumTh8t~r# zAVP8noxTI;8*(9lxBk*G6cVNYDS(4gOseYjqHF)zZ7OaqQ2Kg=VFlDHrq@|r++^US zAPXdG#2>e1Mcdfx`jX>i)j3H8A$NSvq7_--1yT{i=JTJcFDg0tD`4vN&Db@ zPOs`RVYt^TWnX97x$p^(ATEMhp#26?YgZaL?#KP^t)LS{qysKuDs^i&F7~pin>-p)lywb*s z@Rby;bvvo$qkQ;_kp~dUsmlU6&wxxQuKV-WpS7mv9w*}qb|yl1Xk}dRgHAf+%Q>I%gXjz`d`KI3DP~C6NO<<>n+R-QUf^F~GxEVQ*4OyoM zaZ&6Iw602rdR&wwN7n4MEmj~r6pO(RZ|2W20`y2{Wv`eP%Un3Bi%4gu=|8`PzRXYm zH3GL;@Y*a`b8wN;JG%M+Lzg3~P~I68T+1KF*49A9ed=gj7stcd!8I@vrga!CbuGwf zsuP^f$F!Pj-~Bk6AUgEAn8Df zKVXKS-wKHWc4*RLAB+34XXNaOge$x@6xE3Y%^6+?)px2Y%cH+S1UM{sU968kN;yCn z#72q58s+uaF{TtXu-VR6_9X!4N%6zeU1vFg{nY#&OhNb%0*~eEFptEAH5OF9KkUKL zZOnjbgTM*#>@)>{w*7CYTgOkHC1Yem;t2L;$e5pu6a=T0c&0gB=olgY#7WqS%>dx> zs(6-f>~VEvA<_P=*SiO&3r^9-6iXbFN9=q2Fs(#wS*|P21^}y$qCSQdW72tDWOV-o zR4)@&UnvcJM&TDC+=yB7#7(j%8bK$@e=^7n`~fnyn(WPJ^k^k21SF)7YUlt6VD|wli<^) zg!&&I5iM_F8lAm8bS#m-h03zlmGM#;s#fTE7{a~EbwlEyath0kJcjHoycdS~S%`uw zlcJ|8FC6F3?9#w&xCty;2iXdoyUHWF(-f{xcP{sgQ=ZxO-e5{5WUX&T$C z2R=SX?XpixV7vJGvzbK!mPbL?M?r+i2c4VX5l^jox5M*}n@w$&UzkC@=m*p`WbEqE z+n^l2g^}gHV$XPu()k=l!GpDLPNU9!4bIi|i058&?}g0}{-BOKdBtmTag!eP5CvF< z{dwwZAY|^mKwwWn#aW_Jk9>@;>qfG|Zk1qT8!YTI)r7-l`Cb@y%5j9vXpuXdFADYV zPE0GULrAH4Tf3N{G9g6=#J0u66aW{Jp(HR9%FL!N+c~`NB&L0pvqNN(9Ry?^YsGsR z2(*xV7SD4M24HUGrY~L6XUtj67h`gL(|Zp4(h6hNpW4wK{)HdVyJZ>5A(t&`j5~Z% zHeskLiONUbgjU5;PX`{l+siAt(E;wCH%8F#n9Dq@E;64L5G#M}`FpeQ1Xn49X&1@V z{?}m>!#~D<$^hU7%lcf5pOMf^_3$RA)(33(jccbKzj|LhjUjEliN1YAuFU*W>eK(0 z(Uz(bGLtvUXY9$xBR+TNl|-3~3sc;1@?3%iQ;#M7qhv|>qggZ%phwZpOX=#N;DYVx z>q{W|{M7riIRV;G?Z+VK8O^-GSqwl+-(WdKa}4hnCHvDgFa*~qjAeL*~Mxk-i|HD96-Cq3$*6=v?;hAk#X@xKDb&UNgtrZ)t z_KfDa)LOLzXmsUG2wmLoe`l?!&rq`(_=vk9wqf!{B&O&Cup0r-&&Vdd^J&RDo5;@+ zO*=I%+7z2#;>($kSyJ5#*ZRob%2PjECPM@r$|{{M+7`@|+>&Wk7kD&!W_-n!`;&*_ zNj5x@4PPAv3>`-%n)DGqsN+vzTtZ?5z#Mn8E`@nvESuX>cpxH#D&QHzGhOXgMt!oY zK);%w;!t9C2WxZ*j`;nQ%B$m{o9$X;A9C1Gr4AQ%Tv5}`^$bNqPFxYBP>#4B`xFqk zPF2LewN#P}Jnr-UsSCjt)K$J4+yN7E%&@AEg?IDG-1PU%9BRLy^2bBWu&PPRqa%@9 zG!O-|FzY6j?o${yxMk6za%f|p-6)nxgY&GeXSj@di5DetIQuYlY-2z=qQieH%O zbyzM{gslmI-hTFrP8jL+>QZVcTP%i~CAC!ya|44RKI6@b1p6|N;IKHReOcGpE`M5u za*~st(?f)FN=TX;u33?-taVp8gZ3$NkB8kSS3mL9vrVhpyJL#04BS`^GXOucvgd?I zWg%1g8H2QyO&dKcx8yh#jGD?vo&uGhU|u+EFIpDoU0k zQ$466JiALzmuSgE^E&((UvwAo!;}x_C+?6Av9`<{@m6emwdqj=>*N~2;cGlVs=C=C z$U{lpgNZZB1qxPNK$t23>Ws|dFT_KCxJqdu!mRu-kk8S#4ZBNWkY?Wx^^X1OejdYPR8dpew=$+u4Phu=#l;daqkcXAkwgIGnK|S894D;h? zMtN-%VfbuvqT?5KO3!|yIJF5UHwWmu>qBPEl=kM&*lZWK>}6@cl9QSIpy zZ)kN`%0a!naL}v-`gFtSxs?^rdRyiMx5^ED1$~k<<|9rzr%^J`Z~~1LX(i3Ua2d=@ zcb`BfME6x1G$=}m{pV(Pr(Wd4rooFF+`he99^NO&I@@~mCifGio8|uP0jC>r?Vg{V zsdbKTzVb7|IGK@CT`vnI$+J;nYG4v(4#f5zImG=hGis5G4!kp~E5z~&f1N5-cTsX6 z9XUSGD;#Ik-$tqz6s1HY`sxa7zvp`Q#-`cNIggp>VAjWXYU)JVy9Xvq)dlPA5X;Qc zbdtbm>86|}ameHP$VZ5}^9wJBbiu-)J9}|cfL;>uM%YBzpZ69MG=f_!&k1=giWnMd z+_()aY5cWfrHeGcmnTT>`HbI=?ixEW)6!B?+jU(Wv;Q6Tl(YOWjn zQ96qY2wa%;Z4evK!1r$Vr_da6Hwdne%sRulS#BtvuHQf_62jU?F@YA#h-G8y3C950 zrI(Eb5veHu)}HoKf@r09>gF2<_iUul+>2@vZqj749bJK(8Zx1>i&|CbvZEB;eiXw+Fl>A5anY!%>_6n_Pnb*5?Eb9}#0vHio-TeS`uHDN zEk?1OX;r@h0^jpzRX`x&R3~^&2UBJ5v;wa+G;B>mUuEO_2M0xE8P`Aa=R_n|pfC6> zl?}Ma>>hcVaASXZbgIARMbn?@ZC4ar2t53InBhX~6i`|i{z-ubw&teE;e?IkKfBH6 zk4`r^78)U^?}GlPa7fkp*uK+G{Zlx$W*=EOQuCkN`t&=o9ADmvp1o zqWAj9To&^kHd%K~l>A<~#J*p08vPEZzD-!#<~cJ)N?DnNQ}%u?ww@cvghoAvf7Y5& z-bSFsN^LdEskFx!PQrWlRSFM9&qZdxFbsk~57cr59Y>K^49lRt z{>ol)C_o+-j%yc!@xw0L3<5nsF0_w%n{f$%_Q3%&dADjj;V_aW^BKr|k5c2*1v z6?a*mnd@wp?=ZJlL?YAA=hk9$N?GR(bgpko*A9q~l9fa9b@lY@IH9V7Qlp~p!7fRd zMnNv3K>h=9Am4WhQjY!>@jU>vl1}pJ?qr%sr?&3#XSF#mQ#kg3N<&1aL&~<_PL!Tn zI}6gqZ|LWTx*^BvJ)=Wemwi@U)0eux18b80LU0myBD(Va2l<(5{Ibd|i}Dfqz{_xn z<)~|4oB-lZMLXDWXUDCu2NgH7Q|#isK8IQ1hwlQk-Lq~z3*g{#p>gb#gM=EASy!|# z>|$@lygxj3XYalqlnsx@EhxNaa-Zaxb!`|4+_3v?!n#B)XO*nuFK+2K$V)+Ta~wD6 zs!h~!?;d}Qs+zh8@aSkj<}=6Di-{bdE*Y+laae#M?9p_7<5wC#y7DM0$n0TcACLwP z&a;+vo%bfeVUls2g{4Dv_n6*YB59gZ`$D^2>b{<;unYB~s0Gd|oDr#PD- ziT;hV*0C+RA=3J7va_-eh29Hv_CATQ*qX^C(@it3vc2yNBH|aOt8V8 z>ABaiEI)SPv(re!ez6L9v+O2}GnmuA1EhG?)2)JjN&cbgq(!r`Y@i%Q&Y!_p%6>~_ zBSC}YFN8#L0W!0}-+%`(>$Lxhr`&%~e4`|IzsH>-?z^yS18DGqBuR2^vfAmss-3)M zfzg|*rZ4X6&tLK_Q@{E}472ARuLGtuw>Yw@R!k=ZR*Y$&VR68;uYwMmDu^J-M=wx4 zWa1hgsK^#<&^TnEyZkvQ(T9Si}2H!XqPqBSFXJnbO+GLJD`PFH-3J4=|gqnclKFp5A+?IgaOgzs=cL-<~zkG z2gM3E&kqHtoGY;WRwhX%pf6ic57B-|>TnLea3y0bTmE;}JDrS|<`>AQwOWpGC>2WZ z4q!I|D)n>wCYBe`ss$Cr7_)3;ZxP1}ngvZ3MSKMtM&MfCS2n2fHZ}p>C|xmpM32w8 zpin>N3LCv%CC|GV5*LtogUA}_)7WJZb}}$@fW3E_o8)f1bPKzJZ+$;-`uS-PIKa;DxupR2I{0{SP8Qk?vqTJxDGV>n`wjBlPJyp;mc3CTwgyMUX1 z1(z3zvN0PqkuR5EWqa4DK^OMH6Z75irLJ&!4OhH<+m7nB&Hlr8W8MK7z_gG<+ELBT zXE0b1AlG#Ltm)VUs>_hL*~hYKy#l2CY9UtV@oLpD5165XfEtTtCMrj|VF9YW-PO6x zTuLu>gz!c(pQvq5-#L7z#wM1jotDYz-TFIGx#|=oDu@1$)uQDH)J9O-tO*ZBSP}$O zl!doa)(KOn5T#soucAMzcewhng>kBuSyET9rw3fK(55FGpQ{-3^bnycaEv!u@V=KX zB_y9J--O@;7M^p_mv&n)LxTB`z$VAf>&y_~8mvw=m>@pTQBV8`W9Du25q-v0n3+4o zavL7{5rZFJq+np!B9p?*P+p8WbYJU^4&hS{t0n)8utq%LfBcScoi~glF!|% zSJ)nhsuwGy;yhNowR_Kix3=th(&w-bTc(K|l%xDP_UKR&;}q^Uj`jfuO$Il8Ge057 zKSbTFC4XCjQTnL;%f!qBpdnhcgP({gWdcDBil>4k;d$JoIGMVARc+!8$$e*k zhbDtQB8d(3&Glg)oMLwm>oG%<&AJ>v3EB&fW+}MOe;u!dD7kZ>*<^qsoipLP>-x}4 zimwa+FSFSp>=F%(-NURZ$jh6vI0!zEy@f7iGA{bIk|Aj3^q;0XN^L8wga~@GA3S+mucWeRLx2SFE>GIBO7jEJquGo>l`ueO#3hoM0 z_oP#DmA;)tS>v;V;&eVq=>8|2Ss6~dg-$Pxn=E_#?YK9C3fsk3TE7A3dZM~6?8f^} z+>;?)k>#U51#W{3^c9Dq}{nGZ?=>C?1OsyNKS%>6twuuAMCV!+t6X7 z3TC_|Bi^@6E#zfme5Kme>7`hm8)LRaIEE?REFBsr{jTSxj zeTe^tsphq;j$8UujgsUsMy@>YkIeT=GBqnTHKny5KjHwb=VwlEcX_g=R`%jf#t|Xv zs1Sm^n^ItC(8L^Y(_pwnZ3pska8S|lFC%Bo>wJlCJhxbAE#V3gLl+OwQ%gO4i7QX6 z;yC-UiM_TjYed72?dD|@D?53E2Dh?9*yBtCr*eY}VBmB>bDqb-ppEn{p)H;00~W>e zzmFKP$1r(kU=Y&Rr#Cs{yG7>nM)JFbkr7a2r}L9u3E<@`8%^jqPglG31?3>*C;)U& zL<_aNmLroj@%kj%O;SK(g12ObkFHn-$e!gD^?Ign)A6t9WMaAM8(X;C3*TALxmdPR zp6>Yb-pROl&1QeUf5Y9+fjA>-h9EUVAfTc=t{+Me-~ z?|`db_=KP@NcnTXpNa4IMTL;EvL~p)v9_np7UX#>$KcL4qS*)6t<`sIsC}^K3}#I& zQN!&9rDH-&gNq5Y$Sx+@e$jm&|J~5RO`%u08>|9K^#un{ys2Dc@5L^g9S|l7>&dG@ z*p2sOdblXxlx(JlkNhR9tAT0>DAUFc8|bq%ln&5;^LAmbrczlSuD1#Dy|`U{z*fHb z7A9$vwVt`=48LXL?E^AuO3Ux{r`m+vJA8V~aw_jGZh)$(CJN zvP6m`F(X0|lOiR%L?mmJj7Vb(6_tuYqT;k9OMG9S&~@Lx<98qT_j?@ob$*xoI*#+d z>o`x>eC9Ln_iK4RAJ0UxpUg_l4Xdgvll6Fjq{aUJshB1C??F!<2(=4%0F)B!V?^n6HZ1rGzXBb_A-i)2 zn_0H7i*c>e#$qSdm=35D8dxR|*{}zd)W;szezr4RC|_7!=<{v-lut(3I+pc31Ls)9 zzayzp1KbP)DdM^~KNyC_be%0Qm|JzngBPop+O%T`PflPMfOH0T!+DuWPn1-aJsgmdniOlwxsN zA`WBc9NRenvp#QQy0js*W5Z}9y?C0Rrkj?Y=xaYr{DA0=l+`qinxZRYq`3f3It zgrhTol`un(BXMDa4tPlx)ad;MC+@N@5*qb{sMJt7=g9rC!Dz_gMQu5As9aljt<2o+ zY``379<;F$0$u9{1|t3Sw`6q>u#C_U{g%1@oaxFzM90)BASS-6FsdDvQsG8W|!&lw1wFNS`Y9&bzDJfi4Fs}~|!mN$prU?)5Rk*Qpkwi)^@~ z95C7zkwU{9{027#-aaHV>VbVL>|#y4h4WG!%BwpyP_Y7r>M$|e^-aC;fsfp{m)YwI z;VNmHF~K2K6K|W`;FJmx$_aELyVhW8H|T%n*3V<`lsqQexGn~Q?i{dm!swW^l~4|| zq)DI`f(2Nlv`$0vE1@cnSmne;jM(AEKL0f_Fe=*reK+qzmJA5?>k6PF6a4zKl}*ht zpF&E`$W@k1NF<)mRFsMb;ot@&GwO+8)}6s~nPpp!phe8#tPe+quS=I$#fwxn|Ng~% zGzHn9tKr+S=uaG&QgLE11Hm)qexbzQT9SF%q^UA-y z(2A#H*h^_*BTasK+`y0|IDqG@!=K2~TDcJzc4sysBkW}ZvdWL(b) z6bC8v()^gO3ThQ6BmvE9HnA#;JdqguK@rWvhx^d2sqCr`lbPOt7|q9}GG1KRxGOmu ziZ;9mw~Y*Rgk77%`Q=G3ZqNFwT$Zsjf>~J4i}d6&)l1&=L#;I%5?%Ge{f=LeBbO-U zsDrEDfQ>@I4z*%x<;k~1D7#khB%_38G|hIDk&RLeBWq3u#AQ8yrs}-~#x9$PsR?wx zJlUJXP`+UUtsl*LGaagictN*haZK*>ee$lZ-y79E%XQ1^<0hl8HIzvku~E)^-o6`m zR97WKqn91xLP=L%iK9jc&3N5?yC}D~vjW!sDqtthegG2!7v#+kh+YyHQs!b};QX9` z>fQ4IZg9c89D-Px>MP4TdfFFx?AxLcJ*dW+C-h;tAcMXFTdTkF-{0CaikgFr;|GIR zM%Uroc2MH9Tp{C_kT{QV(nn6G0Q0ZUiDvq9$5y`ES7}R;+*zV%ly!ERT392GI4>5? z%UK*+vzXAlRX6?Qn9pG|>TY8f`?nO*MMJJz2d=TeGlsk<^~S%FX5wg$p_fTBHks!u z>5_Rx@)6I6J)SB7h13l5l{-e?#bpetAAe5Whqnv_u|p7Vz#+(_gi9y?J}VMH>;QH@ zpU&*GO}b@hk>z(p`X0#TAeYoRCn+o)(!f(ZZszSiC^F>bQg6+A5?iAK)4MQsEH5Bw zCwDX&_4bF$ZuI?b7o&K|JI$I>V(Xv%MeM`%c~}~wC@xIEbveyJ>jA{hm^yreYZAhb zAbZ|3jX6{OaN#UF4BTK@kE7UAbwmAvBU8%?3C-G%Ywu1euxb-hE%FNa+X* z57(ZZ2pY?;E^Br>*O5!6RV?HXD~|h%B6G9l_h2SOz`7EHA2#!U9=qo?bGpu3-Z0p& z&zX{0=4)Vs+UK(?Vj@NadDa(JZ@tNmo;|84aKEdKV1fAn=%$^9Z@1q@E89HR(;$K6|Q7OwSbj`7!L%g#8Se~mA;$+Yqc_4bTYMC*Q6xeb8W8IIrb~S%axV8oJsjvnB|hBZGRM@GO5sD$yyhA!kW?&7IMR?mDgkfhMkZQ-NOcXuF-`$j z4RDOfgU(lhW1KRzkApv{aX_-RVzIRas;9Z>dwSK=Hz{3Lg$Y;*J2%B2!{yg1;wIH( zjUMr;gNLYJ^u8OqLX4uPjBsR&RKEsbuv7Uk9=8A!To{J6p=U-ascO$ zS;WpsdthSJA@xaFv?#d6_mnK~)+@lXX|AD*wknD9-HGOvY>f@pE_%3~W51)dr6q3r z2tl9oA&V1G_V{M(EF5bItBlZ`0zu{5R zn{e(SeD?m(iLyv)-Mh1&Q!S3bcJah&@rxul;o$!T;6jje>E+*Ut*571t-`E2SHizsbDp(HfHSDuri&L8%=S zmLklwBiL+>TSQG=K|Z)veYnlf4)H+&p}zKA0&ckHCZS3P`5~)7L=%kkk%%Td<=4yY zKJw0n!H0+4ghCiHDol6>xoT6d!@xn*zhB+*5{GA~z_S?s%5~*p1;Rxp-l<1@jXKI-_}fp%^5S-Kb$_8ujOkZ^<6|sRA?6}Fl}Ba z>$uIyn#jq11|;1$aMCNbQ(cT6-|L^s$55H}gPnH$G`d~y_isjuJOR41L$2_Y?GuYT z-bRzs|t@G&X%D;%MHt^n>@@HyteFgZv-QU4>BE;QvJzghL)`QN)7Y#suzg3 znqQQMZmRay@tBHXBFd=huzmClYi6g-JmVAJjSJiG0S4bAm__^=pD$en4q*?>G>X=} zi3b%A>$j4lhAN+91qfCN?9d-HJ@$B{W2JnIT=Eg_)A$ATN1Jh48og!=xmvdaQC{V{ zXXR~7_q4W@Vj@b0jV#ja&c3;y5I%ov7V~&aUpLFlM9MYFU-z(5(%}{%uiD2D?P+%;SNe;{)uan{w@@JGRJg+C{j0{??4%G3w91=>8 z3sVTVGca5asDN^BI%=Fgyg@3-C;>b;$3PLEusC%MbaY2BXF6E3WQ*6vt{F($_|GWn}x1EN+lhbc5 zf7@dl7c*BZnSbf?$6*mt=F3N)Pq=c}8d9Ju7BD};0Q1&`q?eoXKJ1Vf`$!ss&eG;elDch`Q7y-a&{WYLI z+<05`LGrprtA@VJSFalD6_o@~Eom_lPD}$lwh)X61{5#zBM5FvRvO?9K^A|gB=N9t zJg4EPuW~)wLR1(}SwO;B*E8x?Hvx!I?M`ux8!>wZvq{Ss^sL+1=g;B}YGmk^Ty12k7 z&s!nU`?$(qDc+o>jwXp@nUp`Jem;I)O}|IXR~j@=e$8Q~qkQ0=O#cK;K3t<>wYOLX zWMT%C70HVtI{zLjIUNGAJp$YWRp|LoOD+AVoUV?r#<7{6we8TgS^2^17 zwu?UqR!_`E;o!aDF^+o`NDg)&(<_D^yLH-hNc9}|>{e)NDVxD$lM`G8#Cp;|=H9k;fy0t4 zygBdW$P)<+aMmNk*U3}+1w8&hB}*Ge09m)sL^lp#Wbv~wz#?)mY#<7upy>*{arJmw zP(1zu-@pZHZF%@>pOtEl-qH2TdV21=TV+P63_eqE1H&6?Qm~Co@`iC}!Uz4XFkoND zbV2-L|C1JgAGF|^A{0=oQ!5GNaeh+T9_Q1o*)No}{jU7{_TUk=0U%-Qh{!#CR2IjyJdd2HbH5Bw zxIDA!_bzQ;LTOZmtpKp`1B!!o_(YFGSPMaU1ucw4=&PG)K-j<9x{w>500q)bW*Sxt zCNm8;E#Q<0v<^Wz6-wjX@wYhpb`&xqN_iL!I>ef7d~~M7rm#bRgXDFfBKzg>V-}B` z-{TV`_QF2&4h86DxNjN0@`liz!zhP&;G!VY3?^;0qUR!>N52P84=B*|g9Fgl5SR7m zhMAiT17e#QUKeeOr9QpMn~#@5Ge_x9EUKw2hqX%GM^cTKE?~t2WWST{C>3xVq3S&m z&ULdk#|-Y>2UM?Jbk>>rBN(~txPmeff+iOc;%!r~pftO&Iz8h;uoDYlLI?#LGS{-- z6RD@c7_^^ql=kCCoo;)ITa@t}JQ*+VRoJMDc~U1lH4r`M#DKWv?x=dBkCyLfF?uu1 zH_Y^qq@Y)l#RpjQVF>3cEQTZnCB9$*>Mfj3DM`*ze8_s_&qPu-PT`jCD}JXY=gi$3C@+QQjqr8}rY-f3ck%z@5V4z;$^6SLcs}$;0FD z4X#ND(O}AWn87m8^6lNM3o>xypzOy^XDW`8TXw$427|~phT*^)Pd&b1DXK)#19y)2 zl=JQhJGCTQd&bInQ0w?uOI#KE%R5&+xyvn;QSUSn;@Rgw>ys!whaYeVpnYJyG;U8# z<|M)eTT=tB%pX_(Y)*iAwhT4nyts#{cA^5*rP|C1Wl6AAb|_(_zXcek=|$+L_Yp2({xM* z4*72O@TfM=dzR{%ykTKWPe1QXt7ejI%5*!jnI_-gv%XRQ_h;VCFmO}|^^~1qrhaPIR?5>T(1Oh@`2{u#il4v? zKD^t?wdXwAvxK=mHKYU_d2q{$>c&kp+>=_roN+x0Mzy2m< zcRD!>zwjbM?w(L=LO`217pnT}4JycH}KoFtl%t}xn4Wihv13R+r?I~_7 zbEAF^ww}xxA%TZz`5NTeZpNz72tVoDz>)xnjhKJWISYL!j69D@aFT|Dzj+c<{U*zB zj>p^04|GE|r*#FN&bhbQo~;S_>wH4#4e)GE%11noa64lgeoM;9zE#}wo4SW1LrZC? zp$dVE=npqBbn-5vWIUp{I0cAjR2eF)bMqm%b1o3h?K_bSaH|2(7X*Rx)YHSy0 zoRlxtZIqmc2RrYNy*+6PS+HGPEq?vc39uXYJ9X77&Mccfazb`9n5A|{mUOTaJt?s* zTOXhk0~^0QEa#R}L6-;Lmh6j#5`W*Efcg9BhW=oVWbL9kyMmW|7x%loZz*f1qWJTV zf47bMA&1_*5j(SfGq{XP;95Nq3;XFxC?LN4`7WC=wb07p72x+s4?e36BmKp5+lG9w zUyC)sHef*?Q;_ZM-GnL+%*2HCzwB#;A4>w`_&xt)W@8QdmbFzI@;8%)+ygzk)dFHW zAC%%Qs-sepO*SH)m5CB)JylUKt#3p+IKY1Wsgs-lg6n9QVr!D#FRG>i+B9e`*RwLY zqWeXq`D=o2Bp?r#E3$mZa$`(wJ0=lz0F|yyO*~BxU z?{(wmDcn_$s#U;|ofnw^+#e3vDXN^l-CHZd&hIac0+Hz;MBs#-i;${!%UdMdZfru= zYJ00k%C&p%G`xOD0`1?4Ge;j<&^m&?3kw5q73}<(EJxO48Sq`>^DVU!ejYbs%+N#M zyqTaGq{f#Mu5LkBad?8FMYui&028yx6rM(N+CteZ3-@W?_+Lf(f|K>kD`cG20u`^ZcR;#H~#kuH*RIpJpMdki0u=Q{ZUe@Y5Vd| zf%h(l303!xr5vPRNixWJ8BLG#-y&#!GdFMm_`bfU(06}8Un;`$BO5T|zUF7=UcyCM zkT5y7au|WEd|__B39ow!@OYn#U|R^%cFUZta!yPv>!oXgQ=Yn|=(^dd7 zIKAjw_uBbDYZ#sosK&o%HkzmChkBm4SFgF4v>nJd6gHt!2)*gk+4ThFA3zb;-#OTV z-yZj8xA{D^+dgM85<7GPeF@R7e%PLl1>20`GfCYEv}G>!s3MNB4D&*$D(2AaIdM?T zJO!fz)6UQbC{s*kRnO?;6LUGMLO_=OH^a>*p+V;hZ zjp@&J=0$cN2Sx3mXiu7tF{Ct3j9(F_^}WRWn42{X&m zJP^;Q?Q;%QKHrver_Fd8J>Q z$Gk8!`Cy>r8Q7qXI(3_?q){I`w0hk0px||V!BR)0Tf=C(43Y<74t|sg3vZwK`N)#H z{8O-twb=6X_V6KZpE53**m-kU7eaBY1^Xi@S>hsQk%HNnYP;l{J_Bni>4BkS1Fz0@Hj<_Rh&*-XJ+UTP(OaLbKf(q zL#Un-w9M?a@p_T0D-2Glxo+Rxjwm(B7gmRGRH|wpN1EgA3DJ_F=8IbT!pb}N%Fxoa z1G#GJKB*b+RA>5XO4L`0q|b;zN^R}F{>XoyI6`I%ENVr9< z>-#+%6p9XgRuRo9h)iaFq=}(R3R~W2p{mq6(|$Q z^XC`_cEZS-{1|arYlz;R1vKz&bhFP5&_@2q*7PQX%PDI|eE$3lIw#$fAyhPO+LT=| zCFFR#O%cgkE=x^pSPtI;f8oR21!H;&$t0g^H)A-~?Lf{9is3ZcKen@j9qaxlkKiJ-A)Ixx)`N44-?=SH^>K> z9$$1-&yurpa6RxaIe(zY|CxtZ9HuPz4R{X4L3|!U5$o#hJq^`Q8kr>PZmz2z>}7sd ziLGx^`hSQ&{T6^+DIUsg` zim3PRB!nC=YW5j_1RDt)EbCp_GWc^yqIUKf+wfj!1#Y?GF*Oq-F6;~L`CB$h0e5n$ z=4t??Jk-D=E*fL&aO8}2EI>8~~q-}~CenTrTl z3S>xqvrXiq#lMZi)Mm24vpy=ec0>UVk&_{&3&V991k#fx5ZI@xk3S?ZOI!*wBX4$9>alg~E^kE6M_-QbLZ zI*rE_%>#N^GPF}LO#&37#Tv9^5x5#)%FWQ$hYMq}SQ4y#5k&YGdjtrgK;G*G{}b;q zg1cpG`6zeJ&jpAk_%P5a86?k#-*pGw^piMavvrQ_DzrTs-Mbl9OI9zFueA5<>7Tl{ z-TSTc3(#>_R)XxHQD1Ov-pzyB2TF@0=zOl5>0dBv8X&GIo{hS*6I_>!*zrKOvsGYe zCM%&{^^rrF2M~{ooHIrAk`C)nu6Jr`F;NGLi*(BDlXtgSl-in+6X+CU`k|->5yU$^ zia^MJhs<`|RFq=+hpHt8l37Y{7a7*Gt>eUE0r+vbli(;_J#nhxQ@@6Q7jNJ7N{J?qV-^Y>eml{`pVJor;Bl}5BdiCi zlKE5%1cd-v1L$h@tyJ7n;G-V+#sUF|-yi%2{D4-H?AIVhxs&$wwF8_fyPXvQu>JHW zcZPGUr7iD$DW@Z#1Nf1_QXl1PYt66;H7x0=5w+`^-DNL*3|9ilUXaiq$1QY&n^5%y zns7HZ(1||VGeYJ?6-yhohyV+`L-Y4x+)QwUhMXcRZNBt_A$%fD@4F8cB=x!As^Mo} z##HwXZQybmUNmiJbUhx#T8!T}RSMU;M(9_P%){*&(~^2-DAq%Q7as=WbMaYf9W9Bn zI`QBk`uP-o2t}v?Zcf^v-C#+G1{7`FzvG;ZjSVBu1J)+;95ClkV0rdZ74$!fl6L5qFl`;j0(Kbzh+1 zKQk<1D>{iJcq|+1zZQG~Lw9FWR(Wje*0goEO*xR7l`bxS`s;x&t+cj(=*xIUa>8~5spvBy_J zbJ+kh8W{C$Tezb23=a`~2sbmizw#*cvpKocaj6RPGN*^vn!w++>UR^2|tBK04IC>b)j6wyAufKlnm z3rnwzn^fne8JFtmr!X_5b|uHU9Uj4~iy@!y(`3CfKsqmg3|b%$p|ST$)Amp4t$m(V z!6kqS@V>4_vU_VA;S#6u0OPL_*LjY~0<<2TggQ5&k*GEAzo!u%# z8OL!YYB*1unqnmO2(lj8NL!lZF*pYxubUQFxt))b%c4i|wbu^DBRNV>pH7I3vC(e0 zwG^7)P20btNcX@I>f7doNyQ=vg&7K|A^VjtLthF>Zurega6_@9+2qx>jYBOYQG-e5tqmEk9v`fIz#<$DFVIbm9~i4I-8w-G z+>H+{GW%9a)+!dm0QT(@&NBGeU+xvATK`q1|HsY7&Sz34HlOPOgNJHKSd`V z(oix}aaL@%upNF!Twce?AVCA9R9`?$!jlGZCK?2LnfHU3aC6SD14)ysl{R>>?%^&T zq(kb!1{$QOJg1&y4A!6!7<91@!@RP0i7f zp67k1>ctA8uF~uBgS|NB9aHmy4^MjQ;{bC|P*$c`0g59?zPtYxAJXOjWCZrWb}rco zlj$p!CzTN7hM4$dVOl9JO^Jf_N>5rT?pvuI`Xv9<1DO{63vxu!AfwFFth+@0U|v79 zq{$wMXWcD#*RCy#>c^!`eVT9aO@1gi4a?P4-n_-g1a`rbACevbp11omH2EYp3Kb;_ z!KOx`AU9&erLP|Mnm}{R)A+gByj=)J+v;WrS6x*c1#cf!L7Ecy@EZSJl^buAO_b_9 z1F}NVeDc)OFflv&CL|{Co#XqSTczGAe%58LcF_aV-jwa1Qt(zs0i#p!d^7N;Sq7#U zrwKMFQ&!+;ZitARJpN>48QM6ml~RA(P!BL-utRFDVWEZqUpI~PYY?F@9i$6Pzm^>1 zD zeQZxFMlD;@k&6KtzAkRv1W9LWP|0KR^MI_2PvXvU;i7#Cg#nfsSu;F=nV87nbojHI z@b>pEMwuX(;Ugg<&|uK*6>#^B$lnTi?VVp}6zi@Ves1@W>rFVd>i1R;E2`Lm)3+j1 z@sa>m`L9xl&-C9Iev5t0)bYO~D)o{tZ#7t6rXje_m87$rOQ* z1BrCtZ;eVN0t(^3Dk@cj_bvTjQK|n?RO-r%{b%=TR4UL|p2KMJUs0+56;Y|GYju*_ z-w~C{zvoGL(CMwmhm-)XWDs`<8{m-LP zi7e~?PmfBidLs4V?SB-NdS-P!?)7&?rLO8>%l@9I)V1x5(%%-9x@wmM(beA;l{&OK zJraV2^A=Iw?n1o_?zPU+AR&chN~}&f@<@=%kfkb>&0obqG2M5xK3PlU54Aw4Hw&I%!5JZ@FW6YI$yX=ThCWuU7Q3 zXozpg7QIqekErV@A=*I_&srs}w7keY`hxu6C3!tRN9(U;LdP=dzR&cwjiDPD8aJ>S z9x`pX+P`I@@$BB=`dR|%G3KDn?RNg~R?lE%nr)GW6- zCrgGK`b~6a&9|X#Oth4p6h|cvQg&Zuwx$dpLxx2((@aO>+_JZ>3LUao-64yW=Vi91 ziVaf+&|z}t~u#6gwp&qv?SJIW?O4aPe@D4OJ^^wuWbPa)- zb4bq3=WRpVT|q{?|964gjAOteF_&dpNu{O&k&%8=3&Q5QA08i6MqLk7#C=MiY#<6W z9hcI&lyydC_>=+P;pQF5$)A@iu@s4^pO+nQ9tvMxOi1SHC?$){gnoG{MYK97>Y+L{ z`#|HupETAY=7C3%)LC!`AmFc+zk2};53K5_@ly*OPZLTvQsmHTkr346agF?kj1DF^^Q2Po=(>mhY0eUFN2HkNx2NT`z*2wVX4$W^?HIMt{%G!%FF6mq&QGH|Igv2dYr9Y~ zzr$D~$m)5VNEmC8r4;4Wk>nyO&+GMi#yW}cpwUdl9>1R5i2k_gJ0Z_A(fCQ-!q4R^ zkJuA1chPDYYB%O$e<5M4)hU$%)vIBw+n?eovU?$_J`>3p`u%PVYJ;n7afHpO2T>H; ztSE}F#dht!w38wrtD0`+`juP;VZA#xR87*BuZns z?J$_^#nLt3YmAcabCx>?zuB7F2ujsjOy?~5W*Q; z-@nrcRVpAUmfiDqM)e3Fg!{qPakdJYE87Bb`L)ymb;Dc9V03$V0IE!(nSouA>(@~fRJxS@S9!n5<8(9s`)#c(EZ< zF32%GJLrQX-2@xXbstE#s=htdFJc5BSTp&NX;xHm_2hetSkDy8@iA z^%oB6hI-lGcWRf47k`y@_j#5uK!n|f*=cqZKSq}IN~p_(pbtbkIEOMdl{tQYt$=?V zA^#Q?1CjFL7L*L+v8K&1AEfgmqGCB?EpG%OT*QlCDk?D8NTio4FYo>0&4g77S+Bql zA(rCKqtsG8lO4YPg{sb#QnCos(YL43@RYXnumphjz^U#jl5_(PSa#(BBS|-vkWlc7 zEEg~E(2LC}Hlg$rl5|theIQCep6y~nmZ9|l@9$dQ;nVf_Qm8suRAN7=j6?AD<|~ri)ew`(t)YcRj#qh*jS&kE$zM07lH(fG(Tjhd-5DkTfR|=9kSl%$nY#( zxaD=aMY3HXlh*jDt-10NG(pcaNJHgdr@SWmg`(G@Zr)(C7X@tN;Jsy9nT&0PnU07p zvr`m1(3{TO6y>J4n`_)MsJ2F3p9wxDA48oy@KkjgAD&>;z%$8`s-pv+7DUAtvq4n6 zMK>|qpi#3udWY>ZErPC~ZCoxZCvl80QC4P)no8|%aC+~2;siRA#VHD}+X=|6tnQT` z3$XXX(VWC=s!Pik{37`}*%l>h8&|O+D!z5IsL3P$mlf%x-F)KZeG@JFw|+Tbe`C3O zj{>S7fy0cmNCkVlz%5MbGNJj`^H%~hT8E1~o5{P7q?@blEqqyC+7QYz^a4-m^#{Mb z=~sgC)|EGiofeQy6@_2cxMx7K?`7;SJg8QSW0Y}aKWeOf%N%j%&DvHMJUoz+4&j0zklq)Lq`Dut_ zt-5)9V}0Yr7P7i-oQSOj@TykMdBt8b+BS}++563gi}vf=_^ANhIU%+I`fE(KFrq0Q zwZ7r0jKVx25PUExt`uHJ>1q(i8jQrTMgpB- zGZM$@r}19-UX%N7w8jFZb3yNt!0)+HLN`cF?{|QvSXc>_epo~qpsX%N80AAEtbiSC zYuu2y4)o>94~Wr)nq}E3ZundSi93>=jeuu*=ar2^y_B-Ov|~s($>6r@ePO|&E1$Ef*_L}1xKD4`h=J)2MLX)n`0I@UJ-)l;~G7kF%s zhF$=k$(wD!FBCkq@AWt$x?iPfJkY#FUa@bOL>klEG$($?vG!#P1D=VpGlSc62vx6Y?8Luy9J6v{1~^x#Hh~FzF$=F170}22Inl zD&C{vI0#8Mo^b*kTJfs)?J|vC8}4TtlHTDFyfmJ8vY6XgXga!uY7%Tz8cX>EDX$P?bzFi>x6>5}rd{p9=hMEZ^g{jYsH zYz)IS1e%=E3hFp;L(Q05JKFFURkFV_tjD^IpPag>C@Oy%5>l;PfKNZW@`NEoG>)AZ zC!pRcuDhoM%{e8MWfdS~?7@$ZC{f*#cl(uw1d%KBR^z?GXWC^A57m|zeld@kmr3aJ zA0LwT#HAEqGy7~s{9|$Pzfi&bcOySo`H#*!j)jT#;O`B;2)(o=PM}(|Dj@uv2<71z zBcxKVy|`=}X!i_W&(s^~zxG0B;=ZAgGFVnUqMwz?6tZrv<=(&7l-iv!{VUD!eP_O>Zy4hyX&5`NN;aP^?B6H8&MptE4OK?=~mD6{EA4~mTa+G2f5EzehK4k9oXv)1NZ?o5yH|MYp^FTiX_B7hL z&BK+t&xIE4Wm3noa`Hl#bJ={UQ~=4k>9gDGjbz;*;ko5XgHUAi}hj;Yvm`G2@t?;wA7hs3iT zOtjZ;F0j-3s3+ZR805aQ`A zy9bMIx5F~s@rV{1dL+5Q{~j83gD8<7Ceyy`yNgajB3Tz8k~M$Z!4_-7{EN*}v(YN- z<(B-YrS>Uz^B-}g-P43!XfXuQ#0Q9`2w(ZrKhQ7$SZSbcm#{e52h0cim~)1ry-c`7 zU7j@m8${Csp}aR-<(gvDzR!vGQ>`mpQ+4*j0d<(8R;TN$oV)*l(ij8t7Moj}{J9X0 z@PS|cfnckWVv5%a0*-L_r}@Vh68z!U(|Y{gCO!tO)fUDTDi=oGxJR0ppv$EJr{X1b zrHJlcCdG#_=Pb$nd*j*_8E!fMzBrgBWy{Hhal6I>2UL{HL~8a=0~_6pq>5%K zFOy_rqf3%`IoeDaaSa7U^8UfknP|)zs6D%fMW6usQJ)XSD)DT!J-B^XGT5vvR_=0M z6cToswKbI*N|TbNT>tPnVe+6Nt^sOwIE|L6qI@*DOIm{d!b1V_bw;HlM9X_+YRh#T zSc#OU@r#BANd|f6W##b&_jqrQ8|~BOrWMTVcc;|#%otGCGFd&9P_y{#T5!k61O98} zkZJ}Go9PH4sP1i;#(C;tCN;2@pvcMiRjps=JArexCH%T*qU_U8&skc`bAq#l@l zIak*`edNOBlLk5XT`_L?sY-70Eh-HJm_F1ebSj#Z-$h?~S+G-n{S0h<9RD7^! zUI#M`a3e`W+g55A2xR!IcL-HuiRg-nkR=C^uy)jn<9665L7j7D{u{9|)Th0AqoT)|dDBoj-dHGFb-%nYI_asqLDZWUJl#BfHHu z&PG4D?rpV3G#-Eszkj-D{{qdRlL$x{73z12pOe-G)V?#-ukZHA14x*uE)O@^AW1~M z&SWOU6zHUfBd3(_A4XG5s*QP4VKwjlE_&Db<9?Q#l~8y0XBq@QeCP8Vc}Ua-~CZMRTG&W~UNjA!;PAcD;{Z&;M5~TS!BlOn!nWX0)93%NmIyN^x(`kL8eZOAW z>gMtXRTQ_8$zL`7_bk3ic=8^I<$F4xAxqwM39-K_?~7-r9r=bw0R#|@@@~UThufm| zDk84XmE&og4OgQXG|wZhyAT?H{%*6vXu6w;a{88}em%C=SutMVBFquwAL->=6%INZ zJW0IJd}pez_6xzxJ<2i}&C1m2`a0cM{9D>(FF(ZodQ&U{y-E@;09p=J3sa@xr$G>{ z(hQ2rR2(P#8EkD5ra+~^G7!p(3p;&IvuaBG)P2aiX||wWy$N|Y{b@yu5m9nYi>CFP zpE-BCrpAWNOG1UX@8LI+Nzry}IpTjcDO4D>ol4~h&S1!N6A>b^G-M7U9PGDV;R>i*r!mTJe|Mqpsx+=? z(b1>{sQ3E;*s=D2f9KuIVEWqBQBZduwm^Y(bZa`~-H>kNs)Db{og#dYp6MAN>c1U6 z-C6N$X*NOvQ+%d(vwl%NFTQ%Pg61xuTbH-_Tx9=J`1YKKQr=s*hg7nK=lf4`;=ea^O1V*Kg8a8nkL(N-G_7mJ~Q$Hzs!x%iV7Fsjou7+Y!^s7coXQTMNA5 z#11_LuJ77=o7Rs&v0>)4*A*B}gHwyq811CV^-v)bdkZ_DsL!V6slLkaWu@2&B`55A zF1|$bJOU z)N|ZVOh3&ionTO4ZDDCpp|%X6tUGUE5*tgqf07OFMPuDd?QGaGL|g2ryG`^lKQk?| zF|V$}@h8J?8<%M?CvwJLjEv@_$?~ope(B^1H-2VfET-?hSh!z+v?1elecZwsk~Vrr z;`#vK4k@?s?~=D-_DocSp=6aqR={P2LGp=bj;h&ddy^6aNZ*RePBd6~=`cA>UVWfk zt^7e7t2IJ~_|f8qnK)aNjE|kjS9#~@-qfzMR?GuE4!G62DLs<~TOkk`Uh=kFgtGAV z!}xIAq!KUf%6)>q3Okcx&dd9%Fa6M((d39eO@(K<$*N<>%;iO>apH(!?Dh-$F66sf zkYaC^DNuufCp?Mpgkc&twDXv}Kg;?vwa1+=b{@l=`N5hs8^7Q+)+rO9*4TV4omqRX43lNIk5HY#3lEthzp zy!iop|eO2Dputo9?qi!2I;$PdF-m01c<6`Zv63DBtj{GY!SbkbmdirO+a+ z_&9&@J67~i-zG`CD5(nrex`_{=-sg^ zgkdIrluu;shek?gygwK>Zvk>BeFr0Gr zaq;fv%0GKiaxep+Z9njNXMy2l zfr=UfqwNn3PjnjKJ3BWp2vbC}xrkV^)mk;Z&Y)Tlb+$kQER)x%T9AqZwQ1Y1^S9rr zI6bVJH%OURXzaC#xprg|OC#(y!e*J5m86-~^z#gywG9H)HYWfgUo^`6=|PSamn`2V z-Fu&Tu@@RRm}rNgUVIF-vK{qD+_oXnoPYaqKV&cR8hem(`hF7vfgzDwwi88}K))Kh z$R#ib++iVc-G=8`?b26A%qw`3h$^v$HqcLJzw^>gI)B#PhC$+j(6F=0)oq;TGahT^ zXYJ(KE{5XobuN3?F0NZ-pc2z%qd$j*1p-E`4N~6si)vyQrx{j8;IL}=!a9#3(%)-; zMbJ)m9V=+3NhMwAQp=9n96W@QcX>fXd0HEm78WGGfY*Cj7m0GsG&7#Szqw#-*-iZv zcA$*P5GohfpnNcFi#h!=q~xU93I*uDMnVtXe;Zc!04FzET=!nn2v;OEY@u$Vd-Wx! zvC~{!(aujsoJ8awgh%>a>k(*7?S^3-dRT0i7piRttu6| z&vluuBl(qa(|wsCn1kK$C^qOiL3Xz#3wgJkH!7qiliGioomY(uycUA)BlxMY4|ti_ za?xrSk#eJwvqGSH)jc~NmZ7;)tq*2z8+r^#44xGH{6aMR_Trq#VnR*y0iU>Wrc=UU)dgIzb^TN$_b3k*fmkFowZ1gyGz zTflyQq-@#xf?M7QZl^kjcV5GuOjjl#FsHC0m7x!)cYPSj)J=Pmq?Ua8Et@KmbARYFqFHW(Hl4)aEIj?Hm*bFj=oBkxXe*o(k z#zUmb9FW;#6>$2SwxNnJlK>z!Aq|O%7R6QfoUru`LAaMtcI_kAu0Tp2JCc|6a-wp%IN`Nw207Fqr0ks_NutZ+{JuTu+qtz%A zgYy_BS}27IO^qOBxAU}5NHuG?-!L22%2=dCaMU;wA*)q>t>i&Jce>}@^JjeI` z9?$Yej_%{Q@B4CH@9p(E&+~nrck2bQ?rHXpirSe6Gm2{P*#i zfH_dhPX|n9H|oKM#W`gFou{D?%yEH+$j{qLicS~)vfz*+w1z8a7TxkN$+N4h0Bh=1 zy@ON-7iq@<>7o>=hsCT~*q=$_0M>n_cm$Xe#}Vc<$TxBN;u@vsGzixmf3;0SV6O{y ztt@H&+1Sm0W_9ERwR~}q_sWWBNTA+%5-O)m;3hbLu|hCc3L{5d&eWyaSQ}UlDJ@2H z@Dc|Df|+p7wGBZfBtjaHYC71f!hWaHfM^$3?rR?)rztNj0eOhn_+7r*M%n?ZLk2Yu zlz)P{svJ$!`5mS6$Y^;BaC!ByTK`_n${37T?V3FGY(4GIm#_f;DoEBj3tHwa*=6v_ zh;)7W5fGz>a;dno!(+`l!WMe2!R66%n%dR0rqG(jVb|0g?R%^rs}?98smF@ZXr7{ehkMj zx+4AYa}0&Z)#3a5?)_QsBFZ5IG;Q_m`hqgR`~X065L=m5*^LsI2_#d$-Cr&`o%$l8 z0LXtsr%7^l`=#@9vhH^>?&R$;p;Vge^t)v#r~j%LmtfZ^#6{Q*vtOX(oh}TD^u*5?jH3Xt z{d^-R_5){3+wY**G3Ty(q>Z51qHXM%4{v$w%H4mq-qQN2I~XBkgO7b=fK1jBIkfv; zsypwuS>5%>Tt$)zEQ>rSd(dm$HF6^;_T&e7z^!iv#kQX27;o#8gc7ImU|*dbKs7LE z!Q3w>fRQ@IM>{C9dDufBUr*c-``LcO@0erL?>NwM=*8(+_`ShYA6=d-YbE9;elOCt z(;&eBXa8}3(D`+N8(-BH65pY(y4ZZ%C1YY`>~I?-azNpqHANjZQ+b9?R^P?@C*l2- zTmc+a4gVO&RPLDcTEwhj!h zL=kM-a6o=l_@hLogp*$$G6=YK?UkH#csOuC-lZC_B^8N}O+Ku2af#5Mwr!ckYZ|p- zE(M;PRoJoXj^h3LCvFFaYMTlG!~f*Y4C%EinUf~|3YDU?l0O=;D$_3b)Dqfv=g%bJ z`|sn10s8;pKe%CYP}kXrM=?I_TVFl(?AMdXUjx6th1s8P!Ji9k8_c}1a0U$H>v^)D zgFGMKaZK<=o{zWvL$S#n=nF^Fjy9T_s&1!{07+d!f*(xqJ>wAD`^r3vh<|webg}q~ zipG1W8gvZ{3oRJm{*jG5ANJ_({xpI(AmV|SIM^0hkTiz>4AbaIskOv(;8pw^lHI_O zw8JlQXaB0xgw6rSP$5vT9V5Ctrr}SUChBW5*hIX4k3RA5`+9Hgo%! zADOni!iiW{31o9oAk;*YqJ+u7;uoN!AbkGUWa0%XBY`o`SQ~a?tej$eKr<%u(VGki zeC5BtcczGCmc+1HbSjp2Um zTHt3T_Oj;bbb*zzDc(Pg=tgmz2yC$RH?|pFkQqc!#cgB;$&ou&YWAuwlX6jHi8Cp)#{3Te)SysB-cr7 zt*`Qs#Abp}NR@DY<_|Z6!P6g2i0k!=yMuD9fx6=0DDd+qsOxD~ejw)*CjZLZ&xZY} z@8I?l9rUmei|)i&IJ+O!0!())w`Co$4XuWUlKWb~GW0^z+D~0(toc;tsI9j$=F%4y zoFa|?pud2kxm3^Jv1Pm=jD$9oU7{5=7x)y(+c5i()T>g z?4$?h*AlZx_oHGA`P@a@G#HDX2d+@K6)1h_r@gRp~?&CdW-!5!F2^SX&L->$s!ng{B< zaUdp})g|zBw3ObktLl|fSYj6}@9k-q;LX!|!syKD_2vUVg}vDcYV_o6W6frFtDS># z2Z)arxvj)5+^doX?*71%{q{{UGKp8m`xv!9l`0OX?7LzI(YU_{B5(~2i3qzSPh17& z{BPfom@We8&7oXB-san|MKc#IS*dTSLT2LTn1BGYNZ@`_*>ecLmk&{ zy!ny#!}9qDp3E0K+292b4ZES+1_y;j$ZqHu4rDc9WY(1y&qcepx$T!~`W>dvO6Gjt zNEZT$(gU4)ArR6R6n2qYn~bxfOQuqp?co6Rqec~l4cq|x{kB+z!du-|pz$i16lxY} zHZ=raeShEXuq-l%8s2tq)HV<#U5~E_TGc&G6h`I)BkD6CAA0=IZ;%1h9k-*$ey0mP zGScKj$bmXz#8;s|0-H_g_P=8R(uF)`DzbCqz12@!gaHWa+^IRI=OA6^OsW)-s@iPL ztO@MNPs;`!eKm(31JO&q$}W5x#?2aU^e}Il;;(X~wP4x}yu0$%|M{Z8TFk)O{t&L3 z6JQU3e$B*vVMk!K$=^fXvk)UPaV0O}dz2OncDG4Crj|73SafD>aBvFVKZSd8GR0Gq znT)b7JhJV~y-0GARf0cFUuwJv(O3aIS-lW%>9f(^fQU12T)_~8177cczUvi19UZ** ze#61r@s1k_LorajFJz(x|Rx%{L$l9FOn?z3b)i5 z>{V_%ks7d;cq!Q`1AXDNVE(65`o@|nP=Rrvi5nLHTlEYFpS-P=={P_U1FcxUpu9eP zwCjH4>X(*L{$H*8ivFxvVC+O>10qMU4Plcl6nFlzWwGYvyvhWAyzQOKeTRI+c{1a4 zyWiRNyGsm>9|O5^5u_lTJx@+TO#uHxs_84(@~b@hQ4_T}f~@U7Km&P0LE&ZJpC!&D zgJx8>c`K1}6!Yeho*tSu@*VFBD0zUg09Yv^;Lm0y3tus#m!gjm=*KpSn>ZLSW?>(> zkq0rs8{xRBcP^{-r*Y-Z#(j2rR6q`QcJ0rt1<2*@FKR}qCt*Jyi)_C^|BE+zRp^hz z=@xMhxB}5Jd!Z|F*su=o8GP`$C|!S!@%{#W$?89j&Z0tO@$8M?AmYz&05p!k!Peez z5Iy*_+I$gn6j;84fJ)ScXO^92A3L|lv$zHzt-3&RzBfrd494EP?%@l=Yww=$M#9^8 zt(((gHZpQ!u-TX7^96k_31vU50PWOacbH27NSUzxX++}k?j4k5AM?m~LX_^($3L+D zIDht(AuiI6A}AUPpDewj?n)LW!_Y~Lh60@DT^zoz@vT7frCVAOo<;!P`B@a&arANq zj~L72n};8Z1bKTJ5HJ~LgF^bhAqeO}~C!icEDZIC`?|!{X3I zYJdjh0<<8&a}pw>#Ur9gbNYOU#fEgkpGuM)NN0~?KR?F@&(+@F4w>`eoPd?(_oRSb z#tVU320j58`f8LIqI+uHALdx$&K}DMU0TcVLt13&o zUL1~~q6yW)OMz5vbvWaF*etQ%2E8<&cDYc+01BAiTUy37~F7=;|uFOBEWu z3P|QTA*n*waplr4dBqy@Y(YDfs+0X$HN2aX4B@hOmKea@q%jA|T^%wodQC62$umJ9^Qaj<`K0X4S^A3v>QHqdZ+XDYCN_U#AEcqARo z;Ud_a$*Fl|{!z-PwA~qOku89IMlZnE+TS0D$jxcZv3`Cth5wc9rI$Z*#j_!o!{Ip} z+ec?sqzHi5YKDN0^r0{r&}kz;dih)YxkEc$4A&@%n|PY zK=**55F_=OaK88FxFG`cC{DNKn!%v}}V$k)~zqM!s8V4`iCR?W(Md-BBWH+csDjeYiI7yUaO>OCU)1PN9)H zH{OcVJ(b&9N zOZ(Rt@E!n{0FT#Aar)?PS5+@qj37}14xMF>iy)9R1MqEpK9mf!P0>&_U|DP{F?_8? z#x@ny#qZ1F>G!)^q>u9;x7ph?NWJ5*3$&R)r)7#`K$b2b1TPk<-#=4Vi(pLevT@^gWmGgdE(poe5O0pWq!q_SAj7&lW|U%vON5bAAh!GO~N z+`E-~e3iJs8BxteXuM{ z1Em9XR(;28X!J_aA2zOaL?mwH6#esoLpO4YPJ(=i5)_~~LI(I~{8*3Xjhv!G`S-Y# zUHOEu2X2%X484ha1K#fbD1=KOz)}s_$G59k?b>NzqVT9hN%%s~tT(GOwkC4S$Xn5P zn7IEu7cNe>=8ir+{cJiQx7?|ku4gulGRYfhx(e`*P^V1`=uv$v*h%tWb%07;_CNc8 zAP}?LOylXzUXme~twL&m%Bu~^aPKL7dPPJ%^4dPlZbUOuzg5B^(f?Z5r!zogdo|FbLndur`;_TS_9ud1~t`!-L{e_ySw^5@vT{y(JF zPO|EFW>*WYHb<)-!J<=qSoHLRYEZ5{Z{r`?ydz5AKi2rX@Yu}q;vE5W_Pe0i#ygC1;)Y@rGqW`Z}Yfp#%EuRR6kAPYm zNL|nW_p7xvxBZW(wI`6%|G!%Mze%krCYyR-s!s5h@i#K-B)bgGddBPc|Mx%ZVX$EjPnC%XyP5uYvJtNX#cn^ z*}qm9AkgXns(H5Vd|<%*hui0xQ3rUS-}sno1u$cGc@dBGD8ko}w3$2_r?aHsdM=5E z{urg(=C_ct4wNB&_J(pq|22L$_Rq!(y0Oz?f@zFptCIH#F;D|Nxx`p=(EVB)?uEP1 z`kRly;EF^&OMOGGnA~Y42@S=lBEjIkJ}VE=lE8L$yo})2+GL0&Xez zH(u7rc3<$9#d?#n|xHMwGNC>8|Q7V~6iRnN-g{ zIO<_Jl&=^BU%7Jd?%0wcViSSz{hHcml?&uC9_l!dmbEh{jQyA;#=jL;&m$QEJj9op;a9E4e%f*X(kT!cbk5p7C-EfGWxmbHPe6b)pr6tk2EW6T@jcS=HANqUf} z*-qujs*^bMnEhCTbbdE#;me@I}*sjy9AX*e@h?Grxs`H7|)Vz8V%=E8g6H`kG zEPvv`A3QLlCxrH)ijsgJ{%kR-0ZA(~I)4dCJL5V`T#a~hw(3J=YtUP%FhkAY3UpTD zg8=W~buX_WtxkcrWBPWa6Mk)1ZzgKqqy!Xxd;cWwOR5JNA%cujLKafN1&pG=PoTz` zZQHn?wVPhVoqcehGHI@9y zq7KtV7KNh04KEcjGhP!kA&Ue%w&GCxv>8X%@2L?-SR;zHPlnBXc46ao=g+k~@6II@ z^d^A*V8?CcAw;0L;1^pqW&`NvXMB{d?H2OhY0|Iq4~u;XBIM@}YZ?Z75+j-Rt*=in zbqwv{+H)AQ*(GX196*I)K?IBcHGj4>_>1r5o@7nPjVZeOr(d%u(W3=w6mer3X`ZeX zzsop%7%lq>YPj88|8;V#$UVqg+4B^Fxr?pRY|mG%I+=x@JaiQXuAj_`W<#r2g>PhVkPr&?bT z>>=nSsx;u9?uo8{_N6+vU9Rcz72P=4ic|M+4=ea2?@L3Nszq3xE+lFAPlTy*Fn6^# z8;kk(c=z3oi#o^V@W!oD=Y49QwS^TOR`sAAS99Hu8h@W|$2M-Vg05T6kF=di=h{a5 zXNypcp1ZekZ+^K{1FCLWrRg!*ICl6$E{78eyyOokhGOf3A#J(pGUKp|<2w}fRD zOwuDd?hm0?-}DQ@0_xfY4`03E(|;}blh&T#gtIR#uTe}flqX$Vh~Mj6au=YGtN)GmMc5*6~^6 z@-@7yB=LR*S{4?>3vSP@dmu6SSc=u^$_}_t?tyS!Y#o4assAo=VdiWyj|}#BbWg|837(OfPgHByIt>E>{rSvG&lmQ+taqz*(Bf=}9^(z9D>U+{1Q7~x`vmdRPpD+P7{((w|@D zHow*SZU}jSTEfPBbkx>N7~Hi!h=naotNhd;rW?p#1+y!qKDYB;JWNwER=$NA09p^L<&p6zl~8=6bevF%tEmPQ~U#e@*S|`-BP9 z1*(2ou3^xfnf^;KQIweaBG^fmiqog_L2Xcs2UT$t-JkXqB+-fS$6OYC8vczvTXGF; zsleIL-IGY-qgC@jw>N*ER4NWGM!C%Dds{_x-N1n|P z5GQ%)M_QFMNr|{W^}6}OVC_cIF_VVt89xKaqYcMOi*Ybd7qwcCYxdzKGQLi5&-l@s z|Cux*Nb-4spUL^TUYxAEp! z;uLLVIsLv5vP~K}C3HyEE_PbJE{R|qz06WCj^^(D=?J`)Qp_<{79VS$x)q1?7DLfo zge|yPd&661-d$Z7CF;>7A5+0QYa+8!u=*xJ1ETT_!^@sk(=pDpNCG(ZAMT2O^6;9VVu%O?PQ5wgBsV_Y8_+8_#SQD|6B5n#E-e$v5 zmd(OQ1=~A>OyAQ}JN2QWtjYwu;c_y<<I4+~1%>yZ(W^MPTK(PiG71JXEM zM~2Vdyre+w^7vXz8Y5kBDINzPaY4t;SWm^A|D%XW6Ml)AT z)3rO{Zx^cAGv{rxVFH&>0@Pv!mT)a@I`4V}4 zEH$-K#r0)CV|?>cYNo6BqnVfI#UB;F1a;C{vAvANUTQhg1hX{eN(<*qK5O2t#zZIO zojSm&1C#((^fk2)6?bx@>!~U#bQ|hfH{9eCM}Dl_kJ){xAf-8JzV*^WI%&^mQ-^QA zTA8+xw{Ak3TruAwDXAep=X+ei}IAey=;`PN}vMTxKPVY=B7 z6}on3bDI8(=6WWACy>8&GU|1%U}{_yEr=Et8W*VH&fJ8ubVFepKiMi*`>riFaPs)D zw_Dz$FDWm{A?1)bM*98qv#@%2qv7xAP=JbFalU~syQ^9c#ca!U zY4hHKW03`ZX+hxwYU-|s7H(aOrRvAG=}yqW*B=LhEi@mpbD=*@#huTUOBdC-bC6x~ zir{$9Pf0zFXyuQCeBg$;1Qg{%=}gdL>L>X>Ip<~Ittg_r;@N#&Jqf}1JSwmG?#Lds z9J$|{)dVJNrzEle`q?<0{5{qE*V#<57UD|esC!~uj8mDHqE^YluCt+cM*>TYjByh! z%UKhy8QYY=C4pw_XNRt zlLjRZUj%Vfj#*(<~7AZ4-hW+<%A&`5NC7VmUN?J#H<+5mO-R z*Y|rWB$4VRJU)@0JW+9Ngb3VF3nN(`d>T(3h@apr&pd%Y@?LsRP!%76y~dTZ{z$|9 zJB+uyLS$HWdx3~?U7xz!N+97z0Pkwi57bC^TtdyUPRS+|xg1{~b4}OAogSTnzXlgrX&EbHaWZmb5(+VH zh;VuT`;%B$3d>Mze9TXkHh?^JX(X*z&-tdxVgr@i?!prH{W@6`a;%?FOuhrq|UwIC6tch@X;Fw^<7t0sA}-3=hk ziu$OX4d>GdXLLC`8DaPOzZu}k&K_+xxoN&Ct&@Ci^fm)x(U$D;Mv$A$yDq$2LwGM0 z%AcB;kKrN+DQA%^LSX(gKy(!GjnXr`FKTwZXY`BKuN4?m@CJ$`nS9&;cfn6U_ zCzT0Ap`-T5aT<~Gnxr(UU`BV_uHtI?=;P31H*P|qT~52#Tu*L`4ap*Qe0g-=gQk|{ zGW!_e;8}zZUsi&;TjMv0A{QU~*C@w*pMDWDFck$ZR$N3cr@|D&<9NIYr@zL$@%9!Wt~PXaWB6 z2eKXD4yD^`6zH)k97AB=%iN;mpQhM1Bi;Dd4ken7AUMkZD);%oA8*Bz!y=aw_Qx5cWmNs0{&mwK4iU+PtnAzkabqRwQ} zl?9ei`f;ldNmsWOo{yN|k+g@DHCFL$d<5WiCtS-tav8K(I|Cb!YmHvmuY`&Q9eJ^_ z8#40{F7ma$@%eM74+8jw>=hWS5;aaDJ%9e3bWR4XLH*m<>~UQ@{pxzv8CWg`G-=66 zy zpnauiKDH-$Eb)|&2~M9n){v!c4-Hpg0Aq&U0FEDI9hMHvCH?w_)XHFYM%KUK@;QnqFDs>JM{eqm-8IOPA3s1En`^`EYrW)r6iAM$ayQX7`j>zo)sU;3sBf9fSMown*1>@YSQL?R@i zsa%|&2Nsjv&I!%}T@}(Cg6r;mv^susnm`_4oxdRWtdES`y(~DM%!H!BT^_tt`>vyT!WX_5sJJh>fjD<=y_=%dC5!+w5mSoj|OcVYlk?}{?htlOCpP>$3TqNpdxV;yeJKLh3t zmp`r)tk@HsWGdFJFBl|0Qq>%KFmFlT)0!Qr1?4lbAtD^sd-qsC;`LueSrOZ42}DZE zIaF8wKN~#w_%{XLzSn;0qeHLeC)DiZLOh_%?@DX7ysl2tOPNm^xg1)md?K~9T~H18 zK_r|DnvZ4xX*_mSx`Q*9K>ZPu4s z?R$9!1et3syH2X}LLOZo)7Be)SYZK~yea|HDLr>Q;MY|3c1)P1I1T>s&wjCW#I=z! z{}vOYhho0I7d%@Pmdmd7Krn}r>AIPg1GZNK9Iqji4S1o$8HP}>Xc|M@i&`QQtsFZ~ z$4ZKWIwWr*khX2+(7>aUfx{|Xjs(a}7~_EU_tivIg`d2$(-yNi8k9t-fb# zA0o&Ur|guLm4IEgXc}J@KQX2}A}@MjOmFU@riXwl`yd&Siz==9Xn#}{Cbq#e-;dZ@ z`%+ETWUIOtid_<99b<6XuC#DxD~?T%HDvTuqp1H(2scr3XuIH-+0skYhSix}!jJ{z zL5pX1>6Gv&!l%^lpMG+eg_x#Pc>Z)Vt~8~c#sA`m=Q!?;kw1m5UZ`=XxlW>UZ&~9Rx%9(i@BUJF^$X){H4SiIF#W7k`yC(?O6wyVMp~Kp)Ik zcLU6x?TrB7!g>nl(O7cMLHAV=U;wQYm zHS1sKm9UrMuZ#xp#051_tQrQf<7Cpc_32km)(Q32B|JCVBxW1|bhRX#p@8}dOZGZ+p1@8cRlV^&hygE4xs-3y|R zUO<>!?E{C0e!LMunhQFn>5Ct&Q}m(8a-X%l;ps^48giBTQ*yn`@nxgY@k#!f)D=0n6F}=Uu|@nxqut^DO?Oo*;7fWb4qFkPp>(okmr!;oAI^c7 za0!>={C@yed}vHjQTVXkuuF`rtY|K1cF*R+0{-T_bP-j^s!jpHYyrH2l1Q6{ZDU0$ zb+%;3R-T3vaCbImncB+`>ISs%9G}vIPm##sG)^eD9MJ4EfQD_#_EA+Ln9+lsE?ZF8xaXntX3 zp5JBtJ3B`z4anw4&b{>V0ww-gP!!0Gm^?Thqo&T z{@Q_;KHCO*1$0$Y)kM#Lg~IAcJV8EM>d0ZP|DCQ-MJJ zes#jiF@&0$4BZSpC6-JwY-|XK;mwC?58yLme}~3i#1yMQzIdkLL*S>L;dxaTUPR(& z$APG$h8J6zZz~plo)8BV14ARHwilhIM-zpv4$-6w$!SZHGs1~gUxkg4KXNXAn~1-f zOEr^7A^Ed&MEg)my|J8D^n@mY&mXN;aDQrF)35cfCptcU--;eIz>K{%3ulV0k5`dL zzRWSpKoiSgQ_*fhOO4fp_gzbm1L0%e8bSfXV$D_j{_PaoLlw$|=&UO?_`_YvMf^p~ z8PNlj4DKCK-rhR_?OTOK%jJbBizt_;%!~2STp8;!mjyQkp5KbOvwO2^PvD)mB4k#& zuyF92Itw$Rfd{fK!V7-?Qs6W6xWlYXDBGQlu&6wymf{Gn4K0uAT*X7t<@<5)g7h8-}71$Vsdj`=@W`JrK=*Xhepr&H^g5KWF2h?)t=h z2v!&>w_cT6;+r#4eUKy&IJwB&Kh&&G5doJHJ*&l7Wl4v*Gf}3kiB9Tr;s4_Nejr6H~!&zQ;~bS358D zK7P!XJ6Ycs#;(d;+mz_&?=!{74}lBBYDTDx#$ME6%HhTSnh(1jwn66v)%->u2KRl- zNvGt4>z)sbY;tR@3#poJ$cz3RrIijBa9?#l+ws!w*M)@2M$hH{*}WpQS3e!u0iV@$ zL4w{c+~Nd$OsHKp@L~^H2x&~V9H69D2|{6jL2hZ^S~G2(;Q;Rf!;U(l(|CTyxMHu9 z?(=*cn>b{Q``QX&x2jkzhHnC(6!s7oi197A)V& zZyx<)VH46?y*G*Ux{Y2Jz`rtIsP27(te21;d#rvLNXUIhBW=E8CL2OgRvs zj!VRF8>11Ec$14s!KcM!*~A^$J741etJuNjiAZ*W<_o?6`xR7GV}ajl)%(?Xfij_N zyzwIqC{4MXI{*F4R!@ptF6a92{W>k(CHp_6$(ptb%vHDYN?f1`zf`6IkMt4h>$$kz zQc*-ZS9b&N$=RiLBp@sA_*~=NO}B~pOjy+I{?E?e{oD?jIYV3$lFlQ^eznxwAp|Nm zW}!ldpy6)R-b2bTKDVa5RSVdhT3dv4}Irh`Yx z?$-&*0f{|xYfg_WO5T$=^29GCV>ow83Gm*5E|Ii=b^M;Fb>=7VN^86$C)jTw8kY{) zniq;PgN_U&<7;wtodK-;ZBGkMJY7^oEL{HYRJ^|SJyKgs8(g6tj(wP;9OFDc=6N{V z*Mwqz5AECGeHCS^Ooy4KS1f(7zTWeVXRb`` zp285CuImv91Lllv_5~7wN&`phpes9bZ>%IS4=&!)AcFj=yc35!i&Olu?^nmnfYa06 zBc;bE<1&oZy2wq>;YP-duCh|D zppF{w+k*3AyU5$M5WGcu^nT|mIBvxfu5V96R?bl@`dYH+)Wp>NKx{|bDz^jd z-l`?(By>|QS$2QF6#v(@JF(xN4X#P^zP6ba>tu*JlhC?LV}E|EbFV#%)b(3Fl^!Yj zhQVO`blS&Q{P4r3*-JF*etoV5E6t%{5x)id`KCG@xEmPg)edKepv4-(z)ms`%%TOFgdk3O1$iT^E8LR`&UHfikw% zT1Zj~(LqhndtF0#eRB4z`N7e&y7LPk`|?A_U(Fo3@APba+uDvbsj&5r3saFX4DJYq zqyCcq`^0_gYu0XYkizupV{joHcN{uqUx zd826T9E*&Dc};q3dOfg+vY)dL{{CtG)vsSN(WLpeZ_hq?`m`y!4Ce^X$sP&ULuLk3 zSy|yS3{~BmPt);JhOU`S)A8b#Ta6h=K6Skvi(i(V1_nGRS|#_Y1)q0+*=kfVBdu;F z{6v`>-y*r9uT0LB;GZ|hHg9KtkjxrQAjT!T?Z4D>>y>87Q>r3>MQ1uLP71#LRIQ_< z^E6a4HcGcUJ4ug8fqSta*gfP-FRB+}?8hkmVrJaSycez1{eGYlP1|=X{ma*b;m5+_ zLt0Vs@nf$Phg8=C|I6z>(~A5wDZXQ?sgS?s(e1~lk8&iT(#^z}uA`pSMI1)Pd}L`Q zStDb3C@0&aqgcm3N%DLAluf^_C(Dd%B|Vqye4o~4q(UQM63PeB#qIa5d}Hy(zkMB8 zH~R!H^Xp~xROH+6ZTO_KhEJujA7g*qeUr0a*2OgZYpzCZYs~f=0@rrzO2Eoq%Y?uM zXIFy%?ea5bTd=Y`^F8)h5e}K=6}9RZS71DZlmZ)2#tS%N7aoaUiE=qj-a&EZ$vh?( zQ}j^SwqPmt{-a8LbE-h%-wFEr9mVEit{1R59}rO5m9te<#B51V<``)Le^ERtQ~=69 zm+!!Vakd<3LTf*tejA#*kdB3upmL1JXI?!xhYP|K-Pc{j)n;i9ZGu@yb+1{vB|#bW{9NgRTb!X$qY>hiGUM z+%jTrr$GMV*s4;fjO;`0=N68|q}0r7OLlt-YerO0&8DNCOCeb1ZWIc{{O2M&Fy}kL zclxxhUt{zEwBQadDRe|{!Lot$^OlL|3lj}bo6uArN!chpG?_=QKE@wFkary5Hzd8Q zefrvTcR?)7Z!>Y`k?qbH3t?R1dyR=(jnP}kIsufGoZ%m9qajq$_;|4^H>4zs;!=;l zNJBk!6TUu@B24TzJ+GP1OS{CEz3nXIDjavxTEU2TidFHZUwSzB5>?q@;}pas3ejN*xjn zUS#46iqb7xlh9k#TSDfbEuiY*?FdNbgbeX=-!23|_(E@mdtX1hK5x1*mTNwy0drl_ z7n+M(i?!c=-AVPf*Mc~wTh`5hcVW+NhP?fk)#J|w-tYv``WggR1e z8zPg)JttwCXSv&ralI~T7cuq1UXegy< z9PdledxerkPDE?Ma?e^MAa_B#o0WGA>{c=~s24HLcs;Cka}I?WpJEfJQVqJUWki0nRsYk05%U4(r@iyO7bHV8dv^L=Jh<{` zv7sUGBR?;6K+!2}OYY%R4zktsA{|M45JsoHtvaMq7)y!T0!AaMOBg~TwoHDL;7R$> zc=1h&VV}KvDZ7`*zNr5km!;8}lN@+bc|gFc30VgcN;+(enVjl`Jh2wVDOoK$`f0*c zz@wGaOI$X&(6e_%mRC=SgH{Jru;PopkBAt#)2g4>$BTqBG6la z@$(YZ1e-0djI740@{E7)y!R&Mh8mNRg8}ByMd$bDoKpQ`?t27I*3(pvGrE@lbHRI^ z>P(Lin+*G8Vu?yS_BMR%1IykC#7z{4PINvq%LZ0Sfiy+^gI-2Ld9~$^s3-$FjSzgc z>Ye97B9S&jvew4OQym15a**_edZ*RUH!NwhC7zb)>jCSdtNe{wVi^}zrLOa{w8&{} z_k3R9(b<*y66JEuKqx$FOSD#g3T&t>(Rw@|t%S9O@H>z*$;4|tTXiQ(4r{$#hB^85 zk6(tkjzGDESNZvF9pHX#8^#(tMmq6rF>I~@CI0tE#ZcazZ5U3~vX?3*pVm%2J}RoA zB*Sv;Yc9IbU{Hl(4mMq%RN3p-125`gHnthNFWJQrO>vjR{UvVh4fgP$B=@3%VOdan z%UYi^6vhVD-PFLi9Y5a12pwg6WN=_3jquF%gXf-#{t93?b#XYdi8HN*^^nAK#z zUyggC5@TPT&0|~2hSwkd=XgZQbvXvEFNR5wnajTK*0)v)Dl<_S@(@to9;dRxbl(5m zjI=qc3PnMhTlZ*~9yUcgICO_agP}DWnZ^A5Apu7n2gQ$>wW$aDRC}|SZmQT3C5NIu zu)6aG*?o(8d6&Up4JjDWZok(|(krUGT7D1rE$@BC9wOGX!sw0wzx$q&mNPs*(!T&m zT*N-pT60Gy-_PKwipJ4hSDb+CQag?gDaXzYNE=rN&_I(lMJFYX+jjK1=G zY;o&D-RecdiXHTog_Uh;6kV%#FK_2yxz92q<>-YjIWOF0k>|-beGK5_a#=S{!KwZ5 z90!F(jC^H5r-=e>U%Ut2jm`1Y<>b(p`#-hUWn2wuQ-$`bQ zF{Pg&%&8DxDr-d^xlU1Fj-`~&;W+k`V|}@y{KFDqr*~F6-Vjymi03G?t7OY)KYH)9 z@>#{;R@rph!0rF}E{WrekabmjMyo{dSd{ltNyB~CQuNm%{H?XDJ|4Z-{Y*6FZ4?-q zX0Ze3qTF*sFF&7a#7jL_wV~A!q|0}T0+jq^_h4pt+SX(bRg0*2PAo8+?&plI*NY=A zg;KAy4TVrRYz2!&1NR-5)^fSb&xh~sYTW+RUIGUD@93^Osb-HL}C3#1DHyzpCf^7Q~5c}fTA|jo?K%Q?*^gmV%icz_ClT*NtlmANbHos{- zmd|fm{nnxo`3mrKl-_0Q)EpzRmk?q;O5J-(kr^=_&qNFKxqd;fK8v!=S@-?B&*n_n z%edR=Dfdos z@uK_|$AY%&9)FL@5onDno1{hg2Y%M+wSY!gnB&S7hH_phc+;?AlT%GGW#zia1kIa^ z_~>n#O)*KDGe7nF3yWrQdBh}O?e-`FEbBpif#tqF{QzfzX=h@0xyLEVs+_~sZ)3CN zwhDr|n3tUH*>^%OCt>g<+<@{J3bx+BB#s`77Em3-FV<~G{Ly}w1 zkExk=@e#^6B_Cr7=r{xO24hX426ZY&kognGxMin4L4aC|xfUDn?#-xOdgUyOP>=K; z+&LX@V(sC5V^(6(5uIeCTL~xW$*$xr_zu_~TPs@v%esSqDA<8a#bRJ}u+>r^S+doa z#iA?F{YS_?y9_n?VRzR z-+yP=ndmX;|E;dC42rX9+J$9-#djgNE$%MC-931K;2MHMg1bv_4estFxI=Ic9wcZW z!ClY3-}&Arc}~@tA2(Y-)%NsUeYMQoJt{r?r$P9=ubk*L*yWI&-x8Qe=;}QfQ~Sp$ zQ^cVrg>t8f^8Z{`Y{udyPcoG{5v!#x5ZUQWoRb4m%OIo?7vDPPJ@=V*6uu^6kU>VJ zkn2k#p@Ow1&Wl^n>r!Gcr}pueSbS$4ss`+>S^}42!Gpz0v3oWT{G|)vRgLgJ6||hU zvt8l+4UuQL?4@kcCD*M2@nj_95=>Mja=7Ez&rO)1ZG00o+CbyGTvT9T(8Mhssu;TvG&s)nx0?hJQY0D1oBTWg zfeR6Gg$URR3!$SV2&Mg!QIbkre1xw_5a2LTyjVII? z140xtRSrx=sggPQgjb9wcFs`e_%DJ~9SjQn(li{sH@EyYNSm~A7lAd39JHcu>+h(6 z9bK(}NcA%ai>Gg&#AoBopLSrL=6APx^n6-S$xdS?S7lWFEmrdkoU@9+x-I4#qb+2t z2guHn$mUh`Ods2*$q6MVgL5Gg)}` zdJ16)5pskf^#)yN=&kGx)B8!o*=mOZ3SaO)(Zhcn(|a-td?LFkOS}$yQ)B}&VRwz~ zo-4c%HGx9AYGz+G(vffe8_F|=8)AGy0#o#-2!}8u7xgpXs(4j( z)C!)KbR5G|#1}Gh--%$f4wv;UK!fUemzhsyr>OUXZfAA^Jd37L;ZcHK|Db^e8yBgp zqv3}t%I7jg&=u(GlA2Hl+=zhz>@dn9;XEVZz9So ze=69%w)qV+X{YRH+Zna<{KT@- z^*^C)rUw$=Ba1nQ-UJM`s4)`0I)t%0J8^Hsi{82tLc1^3khMlbi&;>WMN5FFqh$rY zw-t8|X3gP~>)#~a^K!9C&XU7!Y7tYnoTuey3~iiJ1Iwjy#bfS!vF6qn?Sa#6GYH~m z#(SdlZ@|_CV;%-%7P##B+2A|4=blxPk$EW(IV#p2seQ4wj}NVcFy2$om(D;W4HbW~ zJZ%1)>SgCK>9ELKQL39jZ7Ctbf8hi}W3r@*yY{?d7(oZwpda&S-TlGe z<_KY#912zg39zIBWV-dCQ^3uvUSwDCDVzIJAo%JPsF7t?tEeutKUUi2=<{C7h@M)i$||K(#&)u8?JM-yD2JXmJfMyjRfO0pwq5 zZ%DE^TyWPK#Jm<``nvl0J>=x9_$7^hEq|vBxqIL=@&{-;u8{wRmWlr5 zC4>H$jU4+XFO>Yj2BxqJF? zsKW0pGA9tKW-6tyu}ye$IOxr&2!Qf%5W%7pdygXqR}?( zz3rQ1#Z4W2kg`57AY`w+C`9;ChSu?3r+W?;_!m+hur^oDZG!IW1IsbHiTwrW<3zeM z(Rhi05)tGZqNU17iiia+I3PB8cI-Ihrf|q90&8TZ=O^xQA@dP*49U-UHap%m`ca?_ zeqXp&vaf)RHX5urbZ%+6rz2XaZf+a;@VcpIGZvV0(Tsi(_%w>@tu`bFJ5?PI!lw^L zd&y{IrZrgcP_)KyhLRWx<-aTo2Ra_JN90l@U9JT77~QB3|Lqr_DZG8Y9{^|zw2-t& zzyfeQZPtpO@s8+YIR=9CI?n-wN$c70Gf`j=p7@Pz%&bjaEnF}9P!aRVhbLBz?~TNv z&Yk#IY2m@giok976vRmAYZU4Z`HB4?Lk;m@j+p)U+d|t;bJlr0@!Z8S27+YpWK@y zt-;a@CP}I|(?XhS{upWk4F08CvLfT7ppVf7$9-q$0#W0E=CVM0)m1l}Hlk?0+R zkR;~ea88*Nb1C3v90))po~*(W==f2@F$8Kb|F(o%3f8t%7admlD1?Af$Yf5gY|zJ% zatspd2%F6i)tFfxc5qJrcIWGvqKNmh7+_>Oy?7QfVKK@@lp8!ZB z``5o>W^zqvcTBj)xOgoZhn@A9>B^EXmnlJwHhd=pfaSq=Aim@ZRYD)JF7AtfR6*f2 z<3TYVJH`B0@;nk`?7DA%&Sq(r#;)QaxqrjFZzlj>Zh5NzOY5ZLw~gh1E8e=&K}+#v*Ys(rqK2233=Lb(p2d5L9mV2GhsG>I7=9 z<;W|us}#`T@q0IW@)GhZ-((OcPe#33G6T^A5wPJya>JZlq9O1xu(;}M>a7(}CWe~5 z#|KB+I4U>qd?{l10(YP$)*94iVs z^HOE=EP(?sJOEA+9_4+Fa^;D>o_td<3qgbnF{V+8k{YrpG!xH}QNVKQl%<|RF{$lD zT91Vmnra$Pcd1H|*IN+2W(y`uDNbx zQ$S%|ggIg7p7^QSLE0yp67Vr%`4D{7x^R}BZ>cG?xp3ujwZulv8Iw`)(N=-~n#PBl z-O6FptraocT5O)F9~*IPh&1kEx0Khk2!}ZjP7CDYFM9PIExUbBW?Jc)d~0i9#nm(a z)_k-lXVpY*(wVP>^iP`c1|$y2n>Py#H+zh-ndLUC6u>-()J0 z=7NGsp@b*S?on%~@$*GjFfQjEC1fo{LFSlezm!=s1g=_ZWH=M_lIUABbX6;pC~_At z&^qP~Jz5#R{##@}zR7pDUE(N&1fAP`nhWrY*dp|N419RJ#8~9bLbW$N6FCOh(NoBV zo0?(vC_s~{I#v`Jv|qz64hcxuS3yc`TRq$GYEy9O{xa_2vMp3!t)VS)8X2Z?9frGW zYia6R#1; z$RuAZ+b&ZpeWFQH1V!|>yv)$L<9h7qS_rzU;;dGEl=?F`Ah&3?Fe4rj=T{Z>85B)V zk*1&}3@qnLISj%AxF5;v6c9=9&7N3-{MQ@aD{&c6K`QBbIq*$@dBKow(!O9ovzfmP z4V37Kr`&sM%S-QHCag**nCZ+B%xe$#dF|4_UOH57IcYz@_yEqw_{tm}p?Bp&FxG@W zGT3nFO!20h8FV3slcJbW$inQ;u7%L6bmz}lLTU#tH7mrhswa%S7Vx@_69JKuStLm? zcw`K55Y-nBvR_yRX79wOg`fmGse|CL0H`J%y;3n)n?v={zq*b^Eb^`-p`mJ(BLHD2 zHJ1NUa>o}=Z1~j|F>s&J$=Eu9QUJ#&KxsmcEb-fakv{ow)U5fX3uALdZQ?ulY6Rtg z#eiXi!>sleY(63*?px_^xk|mA+W~}NOq&2l`Uo-jg1r>OU@2X;lth%^SE%q~5m57) zDD2RH>4OYfG=M9NJw6Re-a$`lm>Gr@vKXJld|#yscAOgXBL9rLm7B^BX2(Nwv(v9k zT};Yh8Vx6a#a@z#knjK~SRn<{6#Z5-cp03xOSq}c%hijL8Uj%PQL(!xeE9N#OaboF zCN&Pgl+Y6r6vd;)W55$yE0XZ9sKy~jw8d&?S$$|OYy(%hCqj!gKe9xNbp~35uZ1{Ks5w0VL?j!Q zRyk?to&bS=Mki$39)O05UiAS{5Yro#Dv_&L|h6% zwkI3^Q+kDc@_MRVncv0x^#jQoVUoE%qu5@k_N0erNt#R~_hrThQF^Gi8cy_BfH9Iq zjpIn&3TJd7I0cR7(JMrQAvjYOBY*&atHM8ywG+NxfB{Dn(RxGyfH#?{qq89TIevxI zFJAL9Nn*c9TwUHeBYsVaDs(6C8Qh8(V2o{&qb`$x9A?Bw2oLP7Chuh(m1}17nLS}* z8dR^yUPh2I#l18yr>8uGE=2p?n>=JJB$Q8TM)!1VOxiYPKT{IED9Mthe# z7GX)$XID2zUDWk)3bv7FZ8t^J{uS#4nu{v%cnAwZ*2}-WCBk?^)TrnCD%-*r$}bZP z#*+*FW*(36ln4q&z!0Ctk^t>$?&1r62sjxiLw~!%ojumXK#xj^h=o>PL{pXo&)k~YvJNJh*+D~(E=DK@p|e9Z^&txRn};T_Yz_wCNIf14(m*g7G& z!k6gwU`M@I#&V?9zYt4Y6dz{8uJnXpfQ5W>(LB^H0&?+eQcMaD#9$SCmQ;awrf_!s zvE5!Jg7bH|1E*pg6cvJn`jLsWN2kPIUmIchxSQG>;tz>Wh95j?8Vw~$3*k#RAwU)v zF3Qr4a%RwM0tuDD+~h)0R((2n3iKdS3@OBFFFEs~4txO+quTdq)?aF4DuAeIkA1=p zIhB)mg|b@kqWh{i9%J>08$qz9+3b6Lz3AVw5xJ?E$hnk@q^-Tcr-rWyHnVK`NP|X= z2~2{YZHQ7Lw$>H!tuidMxs{dz0~vsavG3)OfgxDhcw$qp3`V`{(YD0PoMEe$sZ8Z6 zIhdF!5CQZbUR1fOTt~2xE9)m=W@DIzRvo%)jL)^bA{=vziHa}|jUKtM*T*m6Y>K}6 zSz38l`9KuN9hl5n-V`mzb=U0%A5N8otiePC@8wR<+(XV7L^rNgnC6H6g_fw<#213j z{RZbC_3ueM*?4@+C6UP+xlLkg=G%BEHyMG;MgPdtfuqYod!Bk0McXzsir)gi`HRFO zcZ-`(h%(AAhs=hgWjv>SFi*(HnbycrB*ziDJr+-T&z==~&ukGVKmx)>MsZRL1n70e zcGkR=&=`T9a$-pSh#5BQ#fp*1{Vjn49kW8UR?~@qLuR$;5nvS6@zGv_<>~|zz$gk$ zra)leS1@`pWa`zJ?Hl4Bto=sl(yjrF1ny^RK1(9#ylOnKEBw&yeP8^Qj(MK|6q^Vg zHJF<+Xfc|3GrIfX>ku$-K&fj)<8$IpbY>!a3+^q4u`-X8lWa4&2!Vs@0Fx%hX@qlV z5&?iHK+@|di~=L*Qg)U^faOgX-_%Gd8MfF72;iW;W+k_ec3LRXOu~QL3?B0pc$5yv;>|hBtQ?sTu(I*5db~}ZozD%>{oJKbu&gV~zLbga>#Vu-Voq-#mZR1&XeFUP; zl^QG*X9E%ykIUK)K|R>3fQKQqw7VuU7Sz3H+<@LN*v*mSas_%2p~wwvaY-WaaflLS zZQ4kJKq)6Y;^5Tm0u$C^Qgh%q(JRYCPlwms*e(gqO=w%#gbtB7JJvvbVql1DMms;lTk!d7L1vjy zdElz&*}$ENT}Uw9vYCFzfS+?VT}>Y7$*4ce?Q7>kX$=LVdrI|#6{;Zu@IG!aa*i(^ z2lBs30VcDMzTvVG=+@lU_B%gQ{p~4&*aH0rT(%zjTj3W1%MjiaS;nU*R*!zJWtb5w zpk8XX?L~gU{)5uj_%ZRi$#GEzRuIy5mD5+o@oUgAgdq7l(ep%y_T+U0>K)EF+pW8HF8!MFMSV7y>(9Li)k6z&m~%{olY z3}g-bLfOs*g+%JLp6rgGlj#jKiOP|c(N_GvOeeQ>Hp>a|L%-}3uc4s%=m-6m1-M(G z^=p-g&+ht5J1+dDX`ZTe^{O%GKN!cF2x%}CrT?+vXeGA6b~+jPXw2ePYe3&3mnNfq z7{{Aqv7GukXNv;2E8yd~Jk-^=Df*Y~GI=O#i#*{QaZyC)kM3r@I6*C>H}S3XZsh^w zft7TWBq?Tvqrn(=Vvk_V@rc@U3SCKH^%rSMxI|Ffnhhd(K$Xz=U`F>gQZ45Sdyukr zz(ALMF!=9kRqSS$)6=`j5}j^t@eZ!$ohyJFTpV(D$FRN1Zm!Zz?g&D6fF80fyoWJq z(t@R`A+wwEC?)0)+f1ZDH(}ge^tIT1cT2Xr_`)HlTkffY{}lXs$p^}<@C-RA40RN8 zwXdZwR5;Os<#E-cr`Y6z^TE`RDP%lEiqRq1yHH`U4)}6h%T3x(8;iIi(optDnP$dR zdy-WHt^?WWRe1ZG?Zx!af2B93*H@LIg?- zpA0tzijQIM1xXn+C+#rlbz6Cg!tQfN!nxte(QV(IHQA5ZPE-}S{olv44O!Y(bY(D= zzksnd02$L1c6BW5Sc>u5x1K|`)`AX0R_{YryIgSqEQ2-?uGAat?#x3KSP@zfn0+*6 zZOHV@`;7PWs7a-G%avx|*D7YaM~iBoqOC_|z+oF#O5!M7Bz@;kfGroWsEZJDzUVWp;9yqGVUXn+I)R$)qs!vAch*35-qmJ{zXX`QOL- zhUiTWx&POL&F`Q|Jjph5DjuAHjKDMX?!mkMA>JaYNRxgaU z0^>s~rxbD&nOts;-O4Ry7IE*d0~J$!F^jOJYpc|e3dtL-L)epBt`(Y1KcXt2of$7V ztkln-n|xnI+hi~WWi(2HGj%ti68i|swp0KV64_E(m9GjTfg@k)!>OPU|4K`e<_%;e zW@Z;})B5&$?+xV>ztMkW{*UzT1xjQD?WO@I=8}Z_r!UWpFQm9K;}uuTw{pDR*YC32 zi{-)t!od=nd^>^Dv~1pWudj`JWREYkcN#;URrYf~mw~R1Z|{r_8&CsQcjbvEzcFBF z{4}SW)7$;gCaqjx``ZB{Id$s?NyIqDY^GjJw-frNbn_HD1~f#1DmOO2fs;z*>tG43 zMbVCA^tt&m6z4~7#{(+Y`wE`yjXKehzlD7$@QXBgAbx4;YkP9xC5ND-$r`xh&G*+{zYm0ooHy5V!n7wztVu7Bglp4m%P|7N}X+jn+-awmD^m)GM&}patYaA0AZaZBJsRI~qJ?C`tWrb$UKj3t_h}J*g2Da?b{ww$T0; zA23}%yu5*7q&;FFPVwG<{Uedu{Q8$jIf0uPPJ&uK$H1eSW}^#UPdc=hA^sYV58jb* zf$etX2u>a0L^3yjF7EeUZFv}u!H-4!P=9uN ze131o)9YUmz*l5cve+BP_Wxk-2X>$7{mX5oRJbT1;IHY=w%`qO4bCNAG9m#wUza;0MrG8Kcq-+A*% zmAC_+fIz^2%59r@c!D)ir``^rrod$xM9q$93xw}$F-6!iu@1cfF9Mg09b(x<2meO5 z(9M3%$6E1sePyJtk+VON8yC1jBt@KoSZOuRdGPQ+{%;%mz~JBev^Fb0^o5vE^NbM)$%+gEUenUuGev?P%R zaQKs1s+^NF-w4Aw8JR=|%nZrDW1t&6MdX`=&-R|{yIFj#JHPRjj?lok{Z8mF{Cc0k zF8++T4WHiiHxim$=z9SVM{~_hSVDSPQQc#NY6I9?yuWV8I+m?4B2ms)!o>FCFp?L;^~T#FUB&Gg~Bb^ zTNFmM4MFYZAPa@9AvY>#XMB~<@GB)BjJfIe1-4DrN2qD(ym*O-E zY%yx@G>E&fNLkL#Uk*g|Dadam=*_|hbhhXZJy(p5lWX!VdVm9{*g1kT7VBgR@}yPq zXfRm_4#No3`h-Iv9oJQqbnn{lY3ssY8$GZJy%??c$+2h!7VvpCD+uDMF<BDL&m2??ctOC zz^(2b%h_8jk3l84DFqJZz5ZN+2uO|EHMIJHJOnI(dS4tL(&0)_IQ8^W)jkh z8qPeSNwsYlIaLh#)~2kGS!4L*mgS+zsOEvUweIo!`ms_joY&z1kgqDVC_EL*QSj+cg0dfLrj1O(3S`}DMJ^OOBg;>HUMLA(t%(5xv zUaa6lsikX|HFbKoGF3j^2EHVY5Bm&uHOE?$c~ToQLaoVR(`c^k)`^uzwU=p?E}2fjR!Sx3#XLv#6_U`RWFggRVIXA{9*NKgBofzFr3=^P0smCMNktJeveD=l$dQ`*0Od@Yx`x*5z+%qc> zD+G5K`QH)RkLO>0h8?z0lwR8br=ru;lt+EnfM^T&(DC*3uJ$)CL~`H9J7WRA;6#1m zqpRL|N9PCMRrR$4F|faW#w2uf_0?o>bnwbXY%G46rxA=c+Zw6bq{>LuWt|v zS5%t)*zsB0itR{%XEdn8|4p!4V*L_#A%vSpvstS<8*!bJ(=fds60Jj?v`b1t(H9vd zYz#qKGkG{&4dP`ctoc{qtMAQMu4L@Rb};FC?yz+>wlbuEgwG;mwhR!;A+*9fgVXVR z@lyC5@e;Cr^Xh1?w4cH0>k55R?#>AZ4VI?W#}BFOo)^bmp(|MQmFfi$fFPo38yPd0 z))#FL>Y9&|g3QDLj3gxGWtjo1z}*82LkuUrtc~p94?u>b!?{r42h923Agoex{2Jps zb+<71N_O~t1$XTj^sm6c>>=l27WtW{5Z?V9P*7~Oy)%O@rs&I=9OWN`%xpntONJHQ zSKorr+uG7<^8v1hCTMq_hu&DKwe}t9lOPI$-Am!S>$Vzyzh9lU9~FN6*!!|yuI624 z^VaUjCEdbvB}^o($Tav{pyl`djSbHdWESNoDRAIWRdSP|nRVxz$~-V=WAo;zWsm** zj1@nW2M6a&AdPAMl!Qw+?qAXQrs!SHuCA{3i5k-V$veVEAevonigl;D*(3oJYvNVM z{`Oh1a|ut#rN3XtJ9T7RBf-?@QW^#1E#cuFng^GekQJ%C*^~8Y1Wp)h9VvzrmCYmN zp3H*Ll;@u-(7PmmHoZNBPc=z?{W(pYZ<~@t4aHwj25{F6+m?YC4(-`^riPkJ87-|E4Lzt^CAI(!3u8ICV->UmSu&Ed0IGKP-Yu((&uy3S|LWM1+2Z@NHIl7cVB_uGmqMG5_KrOvjPv5Z-zF* zDpv;6W{~!ch4*HJ(vA-mhByN3Wf*h)8y6M5u;~Yur?rNVX_pI?Hlaf?xnXyUn|5z^ zDkcidqyYkC(%2`1!Kj}8u%y3L>6djK)%JXF+>X(KFH()%$);E@1`yXyJb^D8c1{@< zcApWjYo68nwCl9=*`mwo&EESS>mwD=ZeYA6n@hzkiL^?Vpwh2yov2a=&-3Fh_%E+3 zK9coY6loLvFn;S+u2;o}l7F!uHbo*jb$~W&m#mXOf8%8@3{ex`n|+P-u(TnaXbw~v zxRV#y#7NHl9i$1$Vz1mAvL-`2>24_dmkAMj$Mu@EcVijWRGv7z8J$IpGNk0VtUELPH@Dob6jA1)^QrJ%fY(UeAzRN?>g`H26zpXq?n?PiQax4TeLtsr_B@+ zt*~{4b=EB%9ZtWoe%u+P*Us}O6cwX}%xykfUNtuU;gj{kd_1$cT0@FH&_v&7VZWK4 ztUez?jjekZ^%@B29!gXR+$_2rA-874C{I3F3dRbs|Gk zY*%oTI;s~1HzrDjO@oGI`6A8&j-P*;@U{QQ(|xZ`6iMA@%L|@Ps4Z`-0xst>d*&H^u zWi~fnLLZv#NP|(T+!7hJX4BmRS{#`39j$RdrGPG6>R82T|R zBtjqqfFQm5#)Hwf=-iSRUml)iYTn4ZPFd>?#P`+Qa@`WH{WXW{+r8`CpI;wvF$I!u zSz@VlMxwr7U8bH1ygvy=zs1FTiJzDCVh zazqa%DO}J)l3(pb+C4-8-$Gbs}JB543wa_=^?0>q*90R^nT6u{6RdQYy4w<_A7EKG+dko zI?>d;VoH~cA+X1LguI-GC%TYiq-ROq(kTvR2G{b4h|s9Cd8c5|VzlRP^-9lA(<*D= zNvhTMjtbQLR;R|7M>T;yLD>ocVP6i>UsBy_>dLCfy>g}ar4>BwNQF&&p^2?)_eZ4< zAI@aMTR3**vRXr`x?&`a4;6dePW(rx(`B(1(?yTRS?-DZRCX8O56K{gZ;SKnF-y)| zI7lUFSB%Le`9m=G>B6I36kfmZF=f!j~~tm{TT`(+G=bTb3UF+!^;#@0l&XLFy}Ab97jG^k?w^?@T_f~qY{VZ6%l!d5t<5ZF=~;;$ z3yN_J$w19e4k{f2FYw2nZy(1EGtB!M7SE+F&zQL@vX4 zZ+zR+KJ3efQ-Z4j{ZI>fT{@H8O%vdVz8e85i=ZM4h^bCsQi&X(Pl~ksUzNdliM%K0 z;c_4U^T^vnLF@gReRj3ofl7>zwE}$PFZ9(uyX{Dfh8MceZJKMia$UeKyUwDFwBv*f;j%P%aq7!b;Z>o@=v$*5td4-1Mg2ok#J$mOYsX5Satz}hneczDa6Il?Y zUwJ?;!Q)O-!(44_R3T#A{nG>jIQ9_fgQP{h+v#;QSN?j6!AcaIc82puK9BR`^GWi( zlH{(=QKQ@6_t}Jtp59_*sdyZsz9!l2HTRk*dkxn6ap;!cHbq`tasJ^Yn%!U0}Or4_R`0f@eo%EYD+ISUPH|-3pz06mTmd5u&;@Q^nUVo@~=TEnMDuUo*Vr zFfPDeL%MT(og&{+L^^wU<5qW>xu~R^(ttZl;Ej;Mcb3&v1WEGNq|U?7J|bM0fu^2h5xu5k8`8(u2EGEud7~gyEavR zdo8cAAk~FT+fmf*X;_DJOO0pK&xQsNFSJ^X!097xaUgHbgTe09@%i=J9NPBa3H}OQ zHR+l#kYvAkYguzeMn;5ZusDZQ@9UrKc}-+HsmV27b|Sp5_pf~o-%7Q-#&1`nXw)J* z;Rl4CsX2>NG)}I(nr0Al%$d$q-7*} zYhV21?Iz*V!+v@lcD>6hzM~l8^}YGq5R2e|_!cG^f}H%wfw>5p@fE@VL&g)jjf>cO zO^gTGza=t!@_CB9+Wx}sNMU48K-+i!t7M58L%VvM+C#iL*o1RD$Ib#JmU)fkuN7#MrQp~3Yfyt`2$8*v=n2(7O?3}vCoNgLUe-Ww9|j&&G=Mf-!1QwZxC&Oukz zcCxqzdbxDVx{Ty8Jj5lcPL2kPej)z}uKw!)woB6da=J`^+xnvQf5H7u97oe@8R5@x zZZ^hHN6EEe?mlDj0WF5z<%1JP#e-KyT6l*1&Yl*IcWPJcB%U_>q@t!98J2DN)&skw z^w>A^^7N1%9gSCSYFH< ztd4CBcfC=K6p_~a>J;`M?Dy=wDP7oEY2c!wLcgcxngV&P+ivft|LRPr z*JcNzB{-_YJ68D^9j?W>t*gC225ahsvskHxCb~e8+8!wXM!D02Ve)LfK(h%n>ikoM zP<-Y>;Px6Fi;CP-60%Mo1zz3}JD7v(F~d(srCRTpJ>T((!|$1<*Y<2P*f`Cz{6!W5 zlV!d^>Q7SvC3Y$Iw2+Fs)1aWLp~mRs*A_j+sl+Bd=$6L%b}(yg z=}1y;sWG5wLSZ&i+t6o?ik#)QbKIq1ZvESmNH!!yeq1^X6rDvrC1qE7&+yKj>c^|L z7)}$aJiNWmLmLTZdTKVLJ?nS#h-pS?+novLm%SU#qCoK?OmqolZbEn&^DsS zt&IyRK0C;-^QWYgbg0R0zLT%WORf(wYKoUGs@Cxkw0U6)+}L*0S8%#|Ri92rIVyMr!|~i8!_f<1XGQ@_{@Q;t?4TE zO$uY~T`$K=d^81_N|8M6NVt&_`*Z`13Yfl)&i<6 z*rTg)jLIxr8S<)5yi{9R=^M11?Cnv2IO$fKdkXuD04Ec^tu`S{NuOV>px4gA7!soi z(Op6J-G|F16lY0(QGama@T7XSu-DK-eSGUsPvfKDUWiPi^_`{G*uL5xtOap-rR8A}e<_P8(q%)mO$xnXRpn>E%6D56c$Ia}KbI$IhN3?avx~1NpDq z(Z{0xwP~k9}VP>cU`zG1D?*V!H1c`ZhsUE#eo0Sb91pI{4;7lF@ z1}i6Rm6QL;rT;J8KU3Ytp0C`*J*z+3`u-BHP~mCfD>pi~Re??TG3bE=!SeazhJcj@ zPAk11dR8FrHwq*{3zbil0$SsC8Lh3s%~8{))7>=*Xc$b6 z{G7Q2Ci(8te#me1LcJ4fkNsl)Uia8Dokb<9-TUpXBS$K9VadMf7c7i^+8Se;UAwUG z{Fmg@HJ9#$Q6KO2BPk~12{4OW+ex~cZk*zK)Fv6={ zfot%!Dx&>OQC0Jw@%;Iz)q&jCXfm_K9<FHVhXoO$?m1+5Vp9yQ*y<6u$b`y(17aOii1=Jx z)|a~nQ8FAR0Q+ZL{vl2tJcjZ_YUSRzvaO54JeQGSgVdt*pFcAbhlPAOHjggsC$`4E zU`+N+(v7vO!_veLu`ZA1U)#zK()c$@@-IjyYetR(i|>}I+;PyDz4OL;Od()51x=X(-h;^mPi0nLI=# zJlu>3#Y}?eWU8@@EBykUTltd;PW5lY6#?NamxQ0L#V*C;cmIsA>ypP$VaT)c!*iGv z6d15B2N#zWPe`IyExzA@@}Lz;yp&ooC|%4idVlp7xp{6(%Vl{=`nyRsoa5+R6Jz`~ zsuN?|nZxN29ghVbyV}npS9PEIvzqIIaA?-=?_~VY0)0<6<|N|lV#Hs) zlQIv%jI;#=_xDjhqL!xPq~^`O7f4K;ozMv{*-ILhx3ZjoA)CvkQ-a^+h!*R*_RoS| z|8%(iJ^SSI{i}_HoB{riIqm(`BL|d2o!A{p6EtRK#RQ1IxY93w>=)4?8ei93CDPEWR}`o#D3sLETJY<2j?GAdtn$V%Nw0`(o?-YW3%X@t3Igjs?s`q!lpXR-Yn9(4? z<~6;1{p6eK0XC0D37Ro%&+c#G20KgX0LnM^#m{6kfpPuKUC z(>d2p?(>s1_jhi7U0>wiji$&+nSUDki0jRd#9yU>P?lTT!xG%@8j2||phBA+n!bI0 z`$s{)MFyekM~8HeRo5?5n9LOAnumH5q6c1L>Bjf<)9cdm4Mw-L7xUBDgKg+3!nk|L z*Z*q`3k&0EIhUuCcX!k4JGyu%&dji$Qv?k45BtUR+7-LERRcG>Rf#q)gB!4pYJ z214gO-v33X&*RreV$oC4qKRJ-vI*70S${M}F-g>w5a$FfDP#+1&n;3%irLlv5L^BO)%9tk z>+|28^Y`T8G3HB9Bf58{)aShnQUOW2)C~QDaeo%)S>~z1*LR29ERH(h7gWBUL%MEB zU2~J<4wd1HGW{GwfMC1lA$W7mBC$+$>`m$k+3P=o!jy^iXr>Y!VotauBfe;0brWPS z1(b?G;DE@ZM2d#~g+?x)hrF-6;d03_EasF8GCv$V{rk&=0{tn~x#EmA{!!K8v+1+x z;g)J#Ogw}`4lqnW^$hthTf%-Wl%x;wel$mm=IC9JdszH4xrNK6!GypN0|vQxl1lpC zFMpQJ=P?oUbKJXON75>}q58f*IJ$Fre%KmH4ymhsb)UGwrgS@SxE fhyCvVKW307&jAyRLZQ+B`5$>{6{%_o!6_E(4nAU zegmREv$^{a-U?#a|QJ+Soh@ zrlzLOPEK#^?d4=;)z#JQ>}+Kpij0h*p`ojbOH52mLVUc7i_81>?`5Q=ot&IpoSmH< z9bMkOb$t7FWqG;3zkhFUZ)$1^i9||)!3a3KtFyDAp#ciLtE#H{^y$;Z#YMil^2SR| zq@hlfr+7=Qz*ZN#dbo&oJ@<#SG!709E^h7zHFVoJU-WQ12)Q{q4h{|v0vj9KLk*Uc z6cZPJ5dJEX5)vXJB4VPVVq#(sEfV750)j#!!om--n3(8)2BDy^u(13ki;9Rm2>kr~ z4>dhKJ;QTZdKDRJ1xYd~VKVT;ONjL0B`NeoLXc3H2Z#R|77r_cg9+mqBan-kTuOve zMvPikoK{YPT3&)iPF&5-foF7ks z^I;6JgaENH50AQ%gq{{76B8XBos_qWxU;RWg%K@16D=+66H&gG))q=82Bc#AW)5~w zo;)EXB_$&xBPS=Pq@<*#rY5IjA>)!I71kw@wI^0`CsOqxXA$Ii>8)<pIBI01A%pLOi|H~Ze|L)iP>x<4GA20sh@&7EZC%AZo z1j0N1@z4R13-oK|4z7IKO=_gVk7n`lW zl*U?HZTsui4;_K?Rx&|AvX9bo(rQ=}jDKr8cVNnCz-0EA@M#bTn2L56{Et#sHAI|2 zbjn%)vnWE0$L0UDBQvD}(deR>tYiW5%1J1L$UN~!_WFcW-3*)ywKB+)|5)2@f;>4g zHSju@j|Abw6ti~ouniy!ux(gXzrKw~R*MY#Q1+Ii#Yo5>^ZJ5HQ6@UQN7!X!U5KyO>wpn3Nhcye$+MpJoa_{z! z!MerBJNW$z6$UJAdK~Qn4qamDcF!SKD@dB7YRDD=+VI~fL+7sXZ!X09>#Ty9tck*; z<(N>!zS}Qk!qf@VS7Xvf%bmbqD&Z@NduwZ#DEh_b z?SZ@Z-^d{j{GUm>{9-~D`op~~rIUkDc+u$53V^{iP7@TmwZNf|Y;Raq{WiYP^~Z43 zP#NKnI9q`;{zmhlbER{Z5*c}O#S#yoH!8qF6#~Sf;RJZHlrUr}oAvR5q6mMq`i?~L zM=|5^*1t7?MCYyk4e-0@-%7CCB7gYu+1*E+7!+1iVw4^Rl)I62|gyiV~QA zFQ$qRvbEri$t90{m;>ROD41vU-ZK9E;fP(Do#+1FE(oi6 zy8Ow1)boU0uOk`?l@Wsh0j)K(hbQC2Dp6_D1U;Ns#qZ>lKR(U=YL*g)>-({FJ|=g7 zmqA4>^YGRwng!y@d>!b}6Z-l{0Vd?~Q=20M=1wMN;3x?Pv zkRgxUQ*vK5L;eJX>>{#BvDUgl#TZZiFK(e&{eK$>y?`AcsJ*w3z=-*P_e>XaFv@(o zRAQ?vLZAvr1ubk{nU7jQNPh8>bBN03kTRh^`Zwf^DVnOvCY91jh(A%ncYCCor8PU( zS#)E=nWqlv_z&--mTK@Nv;!IwSC4H~(88r3OkJg>4=Rw>sio5?kRJSMrjtZJ7-cW& zwq`}epR!IjXxHy9MQdZjKl#f%Vz6@D=47X0Ub1dOU9m3fpEW8~iu7CUSnfQz`Eo>8 z@>DnCa3JK)D^U0Qi8|BM0cq)&Fllle`>vF?Vr$Z0zfX{RA0>Us^?C_@&OFIlH>RSv z0GS`9**PB>^OE%Cn;Tj92Z*}6ks>&34*W90aN&#jK%t_~@|@J_Dw;fDC$~1ST`)1m zW4=$6SZUVeF>D4AJ#j?JSX(0G*8PK4X_Ielb`QnsnzDD^Zo^uy^5*saA&~7&6Ksy( zZTo!@%h!zw^FCf>Sie6!6&~NI5x@Gu3qMIlM?hNkqZMRUa;k9COW7#8bCvn#(0~O} zDUrI|vijAXdp;F1FM2I3VSCaf>g&91T-Rz_Q~Y;yL8>7pJ9534Zx#>0V*>%L`S1W! zWOFCmgZM*?ZT&_M-~HEuvyu71$w5SO;MI-){S90~>e#{1XL%L1vI%zYDUZb< zLk0p)5n`bdvSp{UM&NMz5@r(+iSy@uKkGXf9GTBO>*F8HbC>$n!ptJxIw#sHnz{_Z z4A@=}U0pMty9xE5Z`nQ+<(_+oNd4QWn!tKZ+FKZ0yfyI1(t&vAoz!B=#kU&ss43); z^Z7CuX-WzTc}NIPW9ej)9}5zzt0r->5KWg@+U9O}NkrSQ)cL-b*qDd3+nCzyATTb~ zuX7IGUXL7IwH@9C`d%Y&hv1vvOsbv#NtJ=%z&7W(x>Qlfv((Ws9wJ*Cmgl?rG~U(< z>2$GQEoIOYCe~p72}s9BDoJ1IvO?&CBh-@%nUpoi5_`>MYiy`|bLIJcXT@!2`+dK@ z8iVAv*m%}8aUU7)Y#Cqh%?a*Yx7prUkBhpGUFrP2KBN+nf!AYxyl+elep_C#&yVGy ztokEw+VlwJWWi%JYaErS7SH)Wgy56=#U1$&D7m<3`pDl@1`5{!Fd-w#~lRdB&7>MWoy&ZC+=;f5eh< zBVf1rR|n$$FcW0o4V3K1WqH0rNtOv=_DT>R6=St-g0s}@PUrQRf|_`edZts5^G}fw zXMzCApR*`;N^i@*Ld<@uWkG}%wRl~uLEo3t^4NK&fpZhJBm=wCF5y=LWSQP4d-~_^ z=-oCmRT+Js{OisqBdZ6C2^iUII3Z&3Av;t3gb`&OGvj=oxNr9kVujS~f$4}9L<$(G zXT50E(OJbAD;w(OPb;fSRkc?_h5e0rv{8K~i=tqI2Rk0(MCW9uD=6{urCUG2WV>Zf zFy4{N$-Jbm4;~eSQPBU!C+v$Er7b^WLLf8h{Fg7m#~@TiNcAE-cF z)q7k)PT!W$e_i=#rYcqOt=Z|kyoUS2A6Ns0MM9}AOl|OmJk)P1C?C7ym8ffveEE1$ zQ8s9!u5Bg6wV#Q76kNEmn*W5AZ2gdi+P%_@IM2VBai4XbpI>n^!JFq^k^s@(pNIYl zKLA*PO!(Ume<(6QySLZ`otxaM0OtwGa2kL9{Q5;!R_DG$a^s#69M0$uMq(mgr9o&o z9aoma5)^h0az#mV7s)NYnJ=mBY-D^aGw5B)J?{F!NNhRG1EPHb>GMu#Sq{ncu}Pfd zccF?BM%fOXq~#@Z2=k(i-T8&evziFDTf;NSZm0Ftq}mzZ{(}+!p$4})kBM`w~bLI(R4|2i!RSM~3btmj6XWp;{*YBvH|Av7!e79vG+H)O!$gthI* zZ;q*XkKod=)*kcY=%l4Ju{!?+=eCn}e95wHu4#F7-*i|x(aAp3H_X7UZQs_pg!!;> zn~b#ycV*uhXJzl=E+1+a_DL$fm zKQrtqYLmEI<&jNaG-~Xa3eVR}zUI(i+NiU!pdIBPiN4I~4T)N?23hmQuSCnsT-sw6 zj%DtD(I&Pip|jdlJZr`Bus}s>efP^+^hSB&YsTKWUL;0)tB@n}g0WuqKuHP1QF-SV z7yH${3ufG-dR(cN5w*yM(4dPDqWDUIs1_zFeO>Jwb@jK~G*N7LIqP;rudBb~C<%Y7 z!|t;Y3#V4av0`ZRu<*4o=c-c9*B5hnZ%hM#%jX0u{^KBC?TF!HI3bCRN45#$x@IrQ~`Dd9ZNLk=anrr8W?Rvv)j#Cs!y_F z8tK}XXYYT4Oj1M%B1C_iQ;-!Z8kYEsiPwDe?Pu*vh#^30o3_LFX4y|%{WhNqmtKn$Fhf4|(5AX13y3?wkJP{pcx2 zy}Ufl$G|a_5g_!A^oIGBe|y=;Yrs#%irQ#n7pK+ByAd6ykZ-Qg>7mBa#aOE&V*yBl zOr?4CB^RzV9<7nj%|O(r z{OO*N8M%y(SsM{~1^u!g4TAIXdygjy+b6i*u3o~%*{js?zq+bL27Ub^TRpMsQuD`%Y@_!ltnEw7eO$<9jX zwKTt6saMJ8_pZcxjub*w-3od_Il3SDDN(H#c_xKc9q-Fm12qh|T@?Er<31F}DXa@U zTJHA1j$!Mpi2f?X+fQ%zb6K6=4^f4#t~3gE`3_bbv*UR$-emtscH}-W^o+*tnp`~s z+14Gc_hOBbs*MSS$fgG^voYy-JiY~hhF*m`(FC5VmizG=AG@;flc-A zO*6|kTZ`apK7J#pEmtx6B720x+Pu?5q0tRQp*T(b*7*vyWlL=Twc!fy5itThQu*40 zKs&&EGGcN`Z0+V+0LvBsqT;E`c*55ew;<)sD~J{g`nQk>H>x;FhEZzB!6y-eon4>T zW@Ao?3Qn%Xe@Cx}#CFn`=Hr~J?#%Rl0w z3)!3%r{$drFJHP4Im~$y);B@nEXTAw=&1Z@R{~E*vYe*$UkJ@tLIf0e@e^K4aOOPi z?NN-&qzP^^8a)hkbqNjczzXdauYV+oRwSY^0{Y>wiT@qeCW$}h?Ci|je@Nj|&$4~^ zZ^kX(w+H;dOz)7q`vO^MyF3wvCZJ{Wd`>Jn5%n35$^-LzEmJ+^%jgiwDQ9<^S#@+^ z{kZV*8kMuh7mhf4w7y80w%F%Rv-p)g^ZBC9`!IW55?z_lu~)oUKB0Gf^}FOnEQ#b% z-C1f!G*P5Dvtr&n6LmS_?3VEbjK4&*l|^kO=P#ODd;Rhbr0>H28)3c98Xzt(7Py!r zD*0K^_gp0D7@})XJRUmL$GZ1(Gy&Z|V#CAzon_)j%6Fc1pE@yimY&(E=4(2insf&G z8DQaGWJDKO{F3Lc>Ms3UZ`0@8JH4bmGa~U_@-=_2Z=zZb*i?12wXzv9mwrGB>fj>P3-ZF_5bixJ7`2Ti}ka9C@$Z-ml~fUL+D|N8n!R6Kn+^1fzYA4XXGm8yGvt2e_eHA^8{ioO^gn z1lLq7zg%+eko_(&&1@NgwFTOA$e3@E5f8T8N)b9nc)G{fx$hs8Y?pAcQ+zy#A2OP@ zse!h^l{*7Z5vYM+jRpMs>Z>t~nPH#my)BFEq|ceH(Gk%VR?qcqitRl;$R%4Grb?et zz$M%zN#E?`zUqHG6+;W4f`UbE@pHsoiB0)-$dI%1v82tD_m`9W78CS`Z9jl7qXQAV z@!f(XcV?j#)g9*9-C1aUk0FXqOuLtZ2e0?ZuroLS8y?B zuxw#RxOOIgoKq>{_1(zC4>EpA^GH>)%OwX(b;L8vjke=1jtW6x2QmvqPoMh8NOJhzG*5}9S?n2g&G_;LBe)Cu(f#efI`yjn zvH$wqJYxAvH4C-7a({X*-3{}te?U#>5U%6ffuH!Ht#;92cRYmMJnBXtHP1l&K*!IeW;5KXF2HfIS4dInhM z9YdZ-&Kadb(w9?T0t5NREb|qyk_~tbwu8D2_vq}>kFwSkAlpH~fjJv3VZ%M-RTSy2 zye`W$`5gfO>e=l>f>EMZ|J~z}B9#$MmwU#!+bA1l&Z1%bYiPm*`qc(l&tBh2jNPGa zyGwn}hkRR9l0R3D^}x^N>dt{KPDD2{t7~z^_r}(rT!|}*fU7HSKDx4)J5afft**SF z9AaiIc~i1IONBnI9J?#2HF34ne}7;WVun94NzJpk=5sLPq4SyFfvRW^n??jd@hYco zg?^j0O$=X?EHzl78v9y#OjAm7opHQ5!0Pn9W^;XW)Geto?0-anldGM?tG%h3B|Yhu z)_tQiBO!+{z9x{D_~?i!SnK_)JJKg#J5K&=MY5>074lL0^7vy(wz_)tHx*roA@#*W zknaf@j3gFAy?=qj^KFE-#z^;*sy4HP0KYZ?hu|w=0sB01NtbW7JbMKAwHc`iLN}mQM@62%KXj7Jx|w5#x8m{E-t3|x$t`u_xP(9(50?Nu+Lxo zH@x0j zTi7x4vt#)i!fGcP5kWq2Jlb9VL*8rnE|2Uq<;YU#RY%lJmvB|3^P{LQmVBrdaby~S zryk=XQarbDH&o!x%Gho!4Gj~o4_>_gPO4S+xdGw)nUcjvgsn|K+f|X(m0?B#rlxIe zm*?JJA;J{6`}P9<#W$H2MoW_Eh?l7qG_U4udQh*#hJK#pjMrg(!}kdx$cf-HAnyp} zU(RZ1VPz;+Z&wiz{6_jJv7U@zx!v|8v_^K=HS}5{Gego8C=(h+WWB|(ItHQ_i+j>& zmN&n0(a8OXq>i*6N5qy}b3FeSxc!u`O`_AU2MrvxNAwHZ?BD37O8NU#n9`o{-iAl+ z^h4%O0cEfe35@+!Be8JtoEtygo)Lp>qjcxQmguh5xCHk@7IoRUym?s64uSH0(L?4pZt1utCuohv0I_7fS{GxRyRAGYjfYN7Xb%IpL{cBY0fE<^fnbTb_ z7bMc9*5lF@MmgoF9nS}7a;@W5?7b60eVL}|CkVeRy&i5u#@yHz%EaDQS&~F#aTdj& zo-?eOwLY#M+Yv7e8K9?-=%jL|w6zkE&GPZ4s|5l3=L-1lwWAwTLg|5%^gM6_m-@TZVnG|a zUwt>+#+8D+Bxj>Pw!yLyMqW5KlfBm?0f&}3-p4zBFQ@0`q$@{LDZep2`hE5uto)?g zJ3w|@_{NmRl;>XlRaX?)-y(4>03k8josp5joi8OBD0A6qwuh~lFLlA-dQHAun!#-f z?hFc4MBZU5GNJ6cAi5_@1GE17@WPES3GA3F)%TyNnO2sN;`EP&o}wjo`P$O?+?imI zg)4PTJCtw~1)FV8Ywo!$cPa}er);W{DSM?na7;3;FyeXywF zzw&$_StNCk((M=UgBcI;T+UzB6(%2At3!6XSp@69Q*3OA53)R_D_A<~yAO>XIyf5I zDCiiIEb>*9*W5qR;?>pW=iR@sX}clS;QK?D9BoJdZsWYaV{gi%);+8rZ^cya5VU(L-$eRv^|<?2DDv@Jjx#FJ3OD*m@W4TEDbH{ctba#e!#=B8BM33O0{dzVs z-N^n^AH`La7Kb{7m4FD9fFDCvaY1+7AAg|jwp~({JslM|UKMO+i%tRnVc;;;!C%R| zl*b`Rj?z(^D$)Zhx1^h>rmjSaIlP3MT_-{A&sg&Fayq@T9qfOim{h_7uy?fk)R6A0AzGTE`Vv3KJx)G(diNtEMk5*q(2ni9 zAymKJ8^-||P>#00{8U{Bui%-eXF=W*D-<+TK1DNTWhzmXqBJ7gG3_GEsu%MzK^zNRC1X=4QKnLXyW_-#QSnIJo^)3~>5d4Ly7Eb; z<{hCyi_2G`7%;<8X2pjvT5QVm4jSu>iZ(61nT29zsZH8Wy)#V@a5+7i+*=f0&CNA6 zuI8$#u71g<_RY9TsMBEH%71j!stW76b>qKk<(e)OUz9Na>TDH3B3gx=H3M&5xo9qL zXQ#nN8G1A^%&-z2w~?nGh%L8A29gz#IdXKxyhcIA7_kg*p*PcEZyqzmYwn6A`K3Fv z(gBzhqXtHji!>ldgfD(>$PBi;xtCM@SoMx)x}CaBObotXS{FO4x(JU@M4IL^!`f+F z!!sy5*N6_0AO7OdpJ-h?b7WY5MRdf?Jr)4nzudL-ZyE2fVITha2{&|B{HVQ;QW_Hx+Kqwoejtp>);eesMRq;i&dYYdc@`;`YL%z>WiFk-uH>JDf z=L@|<&f*K0=T4`e|M^9JecP!TGkm%=uKFs?_ETeerGRTZo6U1k0{7zYKp+U6F#L3_ zbC?K31G`BT*ro=7sqlh0_<}(}==7)xW?eZVirexnR$OeeDemJG(A_#Q2R8vPFUi#O z#Jo=EI zmR*x}-us+)TW~D|dO?zL#A$awUt1LDKOYj+DVC3mwq`)HkPT}zx6-`hM*l^v!G-E|}BX=s(Gkkn!eu{Dv0lwAN?X>3a zRJt()qJ&0OUxNxbcY(geWA_gjgh-3g{dzN^!%Vh81e6aJp>vN>POAibnmT)LR%Z6b_5(9=+_rO)bYCE;$TLCcyje&tbXWWbO89Dic*^(L zReH(}us@G(MTd&c$mb>>Hc%%2{LA+jZetBUU;0oR(tb;K-*pp7sv5CQiRXM0*)O%+ zLD}w`+u&#qi*+oqdBA1-U$_WMU73sSdtaY81&V=lXvZ?#<*T#)?BBuKp?g&kf!ZWxL*&Is=i-Ei!HsC(Jd z2E)pO7DePv1GfM>gOMQ(SE6$bw`0==!g02vYG(De9udtlf0Flie0$KRL#L|!#cTEY zx&EuGGdKF<`uel1WM&3C?J)3Vx-X?Akd0Xbk`e_;CS-iR%J`KGElRcXXjMuuD#(&B zG>@n_x&bE%1C5T5Vfee4dmNjN2Ahp`Ifd+QmBV(}lh9e7s6$yz%-A1pyn*zXfaMAy zIPTl2vvK=R(;mJLOZCqc>(Fnwm*g}R8IWgF^Q|2WHm2bsjiiv7@UdsFh?wx9MGBcd zA8jd@8%xeC5-?+s9@gnY2|^)mg!{rz0r5)Myv!9PpkjJ@RJ7pAC`c5K+ek9sR+=Rj z#hP8ipe30NJ7++_P3-lKPrKdSZ>=n+I@C?n&^Q zcQ=T!fQZ)Co13pc3*|jLYcARaW|;He{7>56l|J(y_&tB^_G5QzJ$B2lg(n|sR-$eJ z{8-pj_#wSDF0C#uh4IZsn3_CF7%IBTBKk~3pz~Q!DXWBlIO%835NkdZr&T17x1%ZZUq>0+eNca+Q15WVe8>(_)CDGf>4%G*M9 z-?3Dsl1_t5j2+bEg_y-=(R*^Q&oaKq{Ul;Sp31|P|3jPMEkjJK7oN~N?`t1vue0+l z)t0!rTDlN8Rsi#>caQeuoL?3-HyJw+T3?M5S;mBEN6aW=D>E@Zq(HijLF*}CrC3&F zXdVt4fXp-<&=oXd+0w}B&MrD*{G9p?rOyd;;iZY&jp`PX^w`jA8-pi6fl+vKIV-s99DCu z*`s+vS`_PdO@zNWnN?|8StoEOkB}rav_)oa*N+#U5YQ8Z;V}YhOTT=#%zggR?X`_s ztj>pJJ{W24H=$`zWHfL zaqpKkDzCk0*FbX#_+f zrK=V`&(?NHerC{vq$Z2zS^DPf=~r9MD-NX?^YaVj9^@1jag7Bt@0z;F8ft9^3Ko8_V2#EmIv8H9%8RZ zJ+UC^Knc%C%$V}toW5(FbR#q$jrpbAp392TNwut<$M?9iQ0t?FHDQe==UMFBQnfYX z@VYU(=8@=er?Sb#+ugKl^_@?JdT`I)ri+Z)D4|a78t+jDlMCm_lgCK^nYL|4O7>28 znw^|FepdK+q3PpUT!A9X`^lTq%XET~Uq3!i@6`tt%)f=&29IkfzRNcU;8}SX+Tb%L zyxT`<+~FhX`a(5bZ}%k@?nLIg!*GVjL}g}0{o}Jd$)m6`xoc616juuaW?wS$5h)kr zMZVXHAgU%cT2y%c8$N$G&LJtYM;OaFL6f0%c*m8?umdlNAN{=k0=KU!=3{6Hn!YB# zc4`@j-nl2%qq*|{Q&r9#99gw~_~4tmYxXsvY5YzGh(iok2%uqp9VqncxH0<(Ae(sp zvvwP=n5F+L)F1)IoiOJoGBDS{E`_fLUnfkoPnS=+h5rdbmZ=6d;tvRVWxz0%EzH95 z{4D-OTZw|~p!jCI)@2*;hnu`TMAV1NPyK`QUVbY_^ae2CST%X=_PN~-9Y-Krz2};i|`{0I%By(kf z9tRffcP8YGXWv-_qn$<_pk~drZ3~*BNOf}E-soLqbt1^FiCiDXjGg&C@@h*RWBh6n zyv=g~4>zx$(j+U2B>-U%j0G`cqQ2pY>yi)4^56}jHvzwUJ?@ICq4(&fD`Dh)^CM<0 zcHXF<@M}p=>+<@Mg3IV`b_)DKp51que0GHEBCI(n!Md#I%9#OiwBLqMrU^cEye7( zF42v@ryg%Wk$XwhD307w%4Y~-16r&SNsOT=yD2k84TH*3mZig4v~xmq>s&!k7tg4$ zoqxYz*1Bf@;8w+OjJi^*ImayGFr~0d7l1++G$BPRB@Ze_)2GHwM%UTAFmD@;a;1Tg z)~K1LWiM|uCD5>Io+NCR!KKJ3HkKZO@2m3d@w>`xUCPBDHeY@XY*2haiTulX0MkoL zWjV_n#66YY-4-AGP7D!mL+E|P55NZ*nK7BShaP3mn8de-ddXoH_G0X{X%lzfpmz?k z5$w{vI2d?wEkZBbqGL{6c*uhu>s+#;X0w<2^*QqXj-~owvvTs-1 zqldJC`NzcrJKv9l7@aN#nT#Q;ydkE-=~q_Vs{(9Yt`ZGM7P*c0*|Qy{epgp>rtO-J zNL9Uy0D4{oF3tE-AM#|7p9+&s;EzDn0YtccD%9q1(mg7=5?&2}jWW-4d{dvuSq3jA z+a9wGTlH^lQOz2VeF)7sy}NB&J?YIne!oW}u-I+z4ES+f!+%gWU2W?z%TssbajwPc z9T#>0aesX!;WB_ouuB3hHTuWYkEm3RjU@usvnw6C@69qyi59ia$pH3DLPzn0o#ur2 zA@{YaoRKDu)WA8MrA_l)k@a;ikByMQ7y!Z73^8d)PDEYGia`zGbNXdZy2)3inS63JK z?V}6`N_^`t=JCC_8XH;{e>hx<9ofqR$tV7k)1`|_Qm2zpxpM!8S68M^7xT8_$J83U z2`*(FNY9hw6;~1_s?TINV@Nt0*_s(tk<3YhHOzObHG)CxuL0Y1IWKeghzKO+Vst<` zDHs*)R=o;5OdfRC5{y9YMqVN;E%F*2R8(^G!Oa8wB69NW3Zer5MIli}?RuQor78#M z8c>m>#`xJQYdnA$@YF5~tctzM6ELxN-3mw0B7&&GKE#|9|3)kLo&3{k^X-T`{rO<& zg|FFgNDSvlcoaS`+_dTi_%(PBs(CkjlmK%eSorZ<>Ea<%iI`l_I(2p@O8Ki!sNA}q zu3x{p;ugZ>s4aNZEay`3XSAmMfP^08??ksD;M|#We&zm`!%be_5YQv;vg;4!`F>om zI68u(!)v2A{!qjT|L@V=dwj_=5cD@~{ZqYp{H!a*Q|IfB%L+%U#g0&xS}Zxbq;=IB zVWKBY71@`Dd#k61?=Dd9n`OQvlLTW9NMD#hL)`hV)5H<$&L?6|l(+`hgk@&k992KD zJI)Z4)E_Q@-<8`isd-0S07z8%6}UQc#B0Y3N>+2gOX2eg?^=K`U) znWM4{afIbdo&r3)u4A8bw?v`%wOi+X+TAGDOHTq(URtq!sGSUSp+3XxT8hKc%8Nt> zIh$i0CmHnxy6kXSf+9SQTX;KNUA(+*?@v$7<-#sA%(!Fb&f}hgXmHX@iKB4yOCrKg zUR&uP{|0f3pbq?WFAZBbnj^P6aq6%0l0I0x_T(aZI8=n!aU$$sANKHP&ikhq?~#Lu z07<;w4Z6?t>N^b`j;q^M(D%YszEo!-KIjBk$>6BNK-f_y79uw~L_x)CV$O5b-~Hxz zdGR}6*PaIH6M`s|5m!!tQxfK3g8RBf0&<*RV?K^AgeTK13m&uV4Mi1EjG9i0G|jLw{-Lp2eY#NUm3C*d5mm-<UShG|oM;KI=c6OX8Y~WIRInodZ%*iz#uGe*M^B$*7XNsz-RAB+ftEqNa5=t$@FY z?~*Ml@%w#OdvtQCJ+BhEL4D%YkJLQR(>z?(JkPkl+xP09i(X%?sW_$n8Hy4Rc3l2r zakZw=Kep+}Gxc>{)Q$eT_!V>@RrUBU+lYrzif0 z0z2RhU`r!Pl@a1%m@wXZ9_n{_p(oJM%^NG2hz&+1`mE5T++!C3}L&w-`4H0fzpE)hdm4M zKZ7&~(PS3$VBPB%B6yEzA5~rco69L9W+eh-|y*hd=l3?_ZdE)2WdZl5l=~VZON9!trnxOXRKR zd&&-(4UcJN?z@YbvxKG&+NzUR2krRjsF z4^C6=C-aFvf_}GUeXwel4uax*Gh&l}lY4&mn0^c4*X&!ab@zKx!hVELxGNPsSlz2i z>K;BgdG>1P4}_$ol!I&9;C{cZJ*lWtx+1l`Z9OV!Y81;tdtK5N18{tW{0H-E555ghnx%W7+?TG?e(gCB8ycN$8#R|CdL&-UrTg2S_yk9a3{uwh`EsrQ$ug4%hF0q z{*Iycv1MAkPG*5J$g+jwP$qzf>|4^Prc6pEC`=;#9aoQMmqK1k)HzjPPUqw9sVR zR)j1D%{-YV>?tF@lkP=Z30UMV0?iyKgqMo8eu_U>YPq5JSST&=6u1$~aeukNxTWjk zY}+0f^3>_Klo@aL#g{mZelIBKjdfZ6n(oO`VB@L0q&4p0K$y%jFsz}0uJ(?ui~sJ$ zky2X+(nAFC{7xTcc+~V8lfKm4k^&?GeKxc>9_iS^@Ts_&O`4Q0EAw~P!NH3d49AS8nDm|_mCsTbld6F3y_FXq< z>uoS&+!{CuHxTWKliV+XG;CgcOf(ZJQx77`Vkenxy2Aw=o`;j4g_zwDN7A*gfkI^Y zIbFk>?;6o%UIXQ7(;v@Zs?=&odK;3UnO)d>Zci&D$P({O)9CtuT=K3$C${N9UGi1R9M!@R$!#K|6K_9=U}!c)<@dx+pEq#^-S-jBm34`Kz(#IoQ=bidq@$S)7S zr+2oD#$ib-SHMTQ*WJu-@-Jam^(0~D1KMOuTd)S-td&59x5Gn5*NOgFzcpYvolzbj z{hJ-^{%?-nO!y(x#rN9{+Q9o!>d?5T>|tzS&{^vQt))QkphjsKLCjM-bP<9WQ6i$C zvT!n*pjUmD+n-{kWE`c{GVh`k34ou&vDsL7rht9TLi|gF2GQCPj|LfdvQo*+Q32Kc zJQ$cE9P52_(ca2o;TUz&6g~LqPUxO&_))^nV+26TaosP;&BuD|gmaRc_X;W!&~YGO zG0?2HyyzEkcv1;X1bFFZwsc~H8Vy=7=C*7$KH4^;$$=CsWu0fDV>5L>3vyxR_+Pt9=xX*PBS7u7NF89K?(Q*lcRF6jd4#mzoNVM zw!%llKwnJ-z*~l7LsF|n`Yv6ZCedE94U>v~2ciXEB=&fk*--WP z0Cy+r0>>MY3Q5R(C1i2X^tuI&Xu-nK2L2alXW6QppVoUa`XfT zb=qf*;ciG}?%B;3--x*(onHn=^_s6B72Q5{isHveDaHHuy{jop$C9y~48dz_ zW`8hK5cm?hnlJNf=T+oY{=j1Tho(bJ8BUYVCyzEmc>)646;rtT&f((x@CgkDth}Da;*& zLC&uaj6S2O?Ub4VF%F^gM<*vgAxBA1;`thkEl6pKk)onZ)JJR9r{@D2c|0`1t;HLA zfgPo_4N!}d;+f8N^P4P1*yvji#J{i8;fXo3#e{6)BU78sV*sXu~%DhYfBgk_7jK1l2QTMlV)^jXrS` z0NPz6Ey{8`b#IdqM>tH8=ddV<#nD;G4|6TKu@~hRCne1GgMAB}OX)w;w$&Fy|#-Vi0T#SsC z9*;4T-%an_uDl$bi~QK@`%64C_M)fXK+WgBDj^3yML;}bKue@*rYw*m_^d~?@^xRZ z^t=RP%AGs%mGKIWcXdS9XG_)yf|ok!d$C@eFEDIXe>_w2^-x)3Hi!!4I35IA@1k@3 z64J}!9F=Y`J0)tvym$f3?6h;WCqG6ILkM6Fm!YwJU>-ZZC&q6hN=b9$qA zhcM*n(wIx*3?UJkp?Cm!l_j&V^BzL9vh+hcc6`|Vp)t@bEv62?v)Gj0Rcb%VDnt8xN+rLsvOud z(rGy_#x*!It9vy5=19dGBmC%y`VSX$tk)R7_|N9S3K?zGNy}|^9D*Qv*e{%?`%@&$ zm1<{gzq9RC%iKs7%?#CU2xJDmVEJq~p)28HiPK{g#~UIml6`QA$M~Uz3{CNBe09xd zs4hy5CwPcozsKt_h54HpJOC@k2+#Mc$2@~4a^r*ABRTs4wdgDB=EX#`2xkEPE^8_KCEJVXRUlFAZSf@Ky+fsUu*>Nyvi zZu)PF+_na}^e~wES5}6Ih>8yp$c;W&!2GuBSnQlUBgI# zpa~v|1&88NAT91Lr7guBN{d5_d+-!@FH&eJ-Xbj;DDJdKai_RD$(!rCpZocq@BESD z$e$cLvuD<y*3E~A)e<+j*;8YIO1T&i2ky6M{>5bUc-r=~!{jkRLh5+T% zd-kOcSFjqZfFwH0uYAPZq94O>R`yNEgeUZsIg?($1o#~Z z|6?(kFD0?ZyP(FBsCja7RC4@_;1P-NKSn1oq;Av58sN+4Bl=~=4UmZucU76BOB}!X zD!F&>-u`s)`1s=YMMXsHl;2zD($bp_AUqYL9R!!AZ|0csaq6KC`VUkWk5}c(p}D0_ zBe!RigK40#$hC8ABbO-ca9u)!bocYu7Ih7iB6M;b^M&D*&q+@aMTgTT!n{hl!_ME zq0Oy9%OsGuAHSrg+YAQu?ANl z=o=T&i9eEH9Z2xeO4nQhgEf0mNX$Aw5f52t&%hLJ88=`hKd?R_FU&1D_~ohyJQTz3 z>KC9CR)!9_f%caz7)g>BtJSV_aJ~11lJMu}>T!wNw@Db%)+2*m}GEV5ySGLp|t`NA2i< z?rW;5${rMv4;y$M9X#YiCVavd^wX8(SMb)dTXW5=?#=x`P-;!zzp!ocVzEvz@|(=C zK|%k$HKGQw%B>^1gz3GEDIUFpXm`WP}?fJrz_Q}4H@Dl=J8B6m>MXeVIY9{ zu?aRP!)O+w-;0&oM`xQN;b7D5wjA;xlK)^1mkLYcRJR!0Wcj!Iz@(LmXEk>+;S~ zh~ct@g7pW!&0g;bPD}a&GwXeBsC=l*cPH&9+E)K5tjrnCxynJsDt>Q<$VLB~A1_;P znOM3)^|uSGAE&ph@qk;j;Z(%!QP>JOEE>kahkUHf_9dZP&oh%{BjkkAq-}ynO`o3P zvd&*BL7UL%%;R%2^si0b`_|B#gVUwsj3KUDU60g7%7Nt{3mC{4`g4Kdgdrde*`B6@MDr zUe!9Y&gf02Q%V!hrsU5TEhDm#!4pz7A<7dpAMDd_*Ww_>2yex}qs_J61kCmF!Yc`P z2R0#WrjNw%sKP$Y*vDNo8lqCk<#DJpqtCQP+(R;F_Qvs@yT5Kbq3IYKe;+kz8b2|~^d zjdouX9{x0}DC*D;#s9Uwlyj{7)8)nRduZNe$onnS>g<5khG1D?;z+ z~Mre>4dHO_dZwz z(X0aYA81sqGJ}y4SJ>GhmxnzE{0-Ze6css@zNbLCdLJBwo$bb>KZ*bxn^YDxOv1F_ z;QNap%`7Fx#<9oV2{C~1pMu&cD+`?%fUEL_oXeUww||a;rPSU+@4h7R2CFmLoIPbX zBKgZ(%9!*Z?DfMbWtI}_mwEetYD+;>Yzw~H&jdsPo%&lLg#`p3jyUXlbm{Zt4V|rg0;@554mR+^9eFH4 zCV*>AUFM?8(+9tJ{y~R%AHLKV^y_beioZx5)rWU&u+9c2BhK{Pftd8x@Cn&tjY5V8&d;Cvc>;Al?>H$lkCVTEmngP3K5Zj?g7r_?O^ zEpw7up3oT_t7zhtBo1(hs_aKea2vB36j2D?d;A&n`ZGv{26!>~Ao6plbG`!w_0+_d zIhfrWam(ZFX?)_#wk%L5pk3Ux zKGI+E)=TgQ?`)nBX*_LSk>FM6^wz`QK%s4Vz3+M&PE>@w@OOXw$0MiarV9*J_hdZ$&IQ1;E{oP;gcV8(!D|E~(k(V;~q<1YXSSyafXp2HQ#a_=WX+ z&Dn9bU=d20o!rI!6iD!lMS)VehfJIrc8LB@qrXeV1xwy|rjp&!eap%)mN%8!HMuE; zTO>o9bni$~hwi#mq5^#f_ zRipNmjR822Z#)d6TCtb)xS6IP{C}Vqp3o z=kym+09NnIC%2VKBslS`;IAIUGWZPHy_b*8Je#M9kPDM_x99}g_Q|uHxdGSWrcZn; zGHAx&{+9Fma?4j8Yx=hs!Zk>vTTWg%D&pI$gWaZTjvr!z6Dks78QVex$j_iu$cn2; zJ~=Fq3B+2&!C+_jPcZlsLdZ^q#j?mi>+NHSx!&{DvtMG5cT$u;hu^WUfrw_fW^zV1 z*>6HRdnl98mH-frKnib`s6KF}J?v$ljwOKdj>@!w&L&&3qg*nOu~4FG$lcF|OcQDu zF7q<|QK|(lLQm#{0;b!*xQiK&w9FenI!}hNV<19Rc~6p)3Q25UcBdENCe|@`sY)-i zng0=N{0vBFj)%079t*D7P*w`VC~F|yZ_bNzmh|~Gp|3t3a@}w4PZya%7N~ZwzV?hGk zVgwmT23L5I3TrOv2)UZ&al1R-!ClOp(48sc;(i+dX3|v6|77d)@Px&Q<9f6pBBSUi z$5d{1@UwCnf7epUFVVtK&zfV`VeUC=?b=RkC+LOW@kR;cjG-!mG2-qyu

YagtbdLMy5Hffj~-@LuUyH`%#+FDs{QlB@rzr$u> z85kpA{wsTB!VWG;lJ#5@M&4e6K-LH0Q6;HqUq0Oos_;F%-oO`Rv(6w4x<_quF`A#< zZ!O{b4z@XZ$pDgtHhT7OufTuQQCp)(O7{Nhu3)|C8$wJE)q{h)@vw15)fTDv%W*H` zzA3P>0EMFZN7&t8;|%!g-->@upm(yhu6FwNPyJ$ga@q0Syl-!Hb#Lt4<-z{h^}xu$ zfW6sR7ms?(Bf)PTc6Jp3_Q6}74Y%lcW{baKcQOz1@&Nn)$ILHyukYy^_E0G&4S^f{ zw{2&mSJv^Tw8sxQKkKj7po5425wSRQ)>O_OP@&O#RaFNCSGEh(G zkpvNZw5T9to$_dJwky1=Ybz=$iXa%8g7vx%wG_PQb48tn+JBtPiJPH;luC*AhDvj=k!z$xJjJeuxIeP{=*DWf z$LI*=hdPX9xH#A9ZIlrL-HFl zJjB1YJLh zaESTzt9N(yNlKhfN&j$ryJ+uaumekk;kN7jc&MOs()#S$WEod$8%9=GFtHz<#O~}m z=2VldO=1SiRHb^~HShcH7+};yLXHYf{=(5gYxj*AxNKR72SH84kbp2n{lEs#0X(&}hMjjJ@4J&0j&Yzh~^?gIv{{rC_^MbP|JIG|6O3U*BA19W(x>n;)c8TNy36Bm)G17nn zU<`iEpZ~tvdWbf3?G;I9G?VxEG1JyIpjX=0ef;JnhA~ykR!@6!QAE^?I^QN#wEAnD zCq6nw1yTpwzL{OPojfQgSC34&H#`2kas3`9!&~KZo_R^X_IrE?Rb0>(bu=n=E0o~> zliJYqxU56<=GNkvtEWPBS6BY??0v;;C71H6c&Un)vKuH*Yj8Gzg@Of0Tc!YpMkOZx zeRcvFj}8&qDE*Y6&#XT%Hk!31w!7(@9hZ=#Yqm;SV&mM)E(V1^9$+WzH#0?0MDke@ z@bVPMHV6^9vl{8mwR6Zl70cWaP9*Ev=^&hyn3P3NuiQf!B z$pj%UW{?S#g73WDr{GsrSMTQ96T(+VV-ICF?|ZH;_E5J=73JmSce06r_xIITlxw$W zqWhRS=^tp+p5H+3xu_S^RH;t7qF^x(8ci1}ppuec$SlY{{g;OyhFc<+_D1=!;rfgGyCMUcB>It2zr{bD{>8s%-nPH-4*lk1vc~#`Qo6B!JYV|q- zI8m2xNk5|gR@e2zX;fuaQVntNuh#+tDU?7L_aKRu$F6}v;GYH5veiteARElry8sL( zSR0^xOx-b#9^h5gjxK;0-nIC(pp;rZd|*lULHTKX&1XC|y3P}LhL%3PmxV)3bvY3R zGO&mcR)$2V6Dv`uJn#*D2@oMK_el&WcIrWX2jwM7=jvnR3G-fjTA=FSRA>1*u%KA| zKo0zoE`iUVPYv-c<~&CIeb?rqoq!G9hPi%+TP-l@;lTaIiU=Q2@dm=8lyw%;kia8r z8EXJhv6L^2OG=c>Wr(+)8*h=21tm-M-&0Q>ILgL zDOs>k)jylwcBvAKmW5Sa<&4{$bA=US$oLZ0`zeE+^IVTty&SJs-t0T|gdJUv09G_0 z$cQEgV=#~t(6ra#NgxmG`u4li5*QrZ1W}KuTePm`_BS&BXp~<1NxSm&Q>Ud<8QUiA zq}2&4?_1I~XZgYp*ov%Dp{l)-IWKp=NRZ8KIi~+0No7Awrzo0dGsLzt3f-M_s~N#K z0Ev7dp4DqP$w~u=b`@9k=W!0Po5AA2V~)uB+P>M@@mV_jEc1A5%Mp6vpl<5!;`0n8 z7}JNJS9j-?x2LB|&+f*P>hrt1%maS-NtmG0BI(@B5q| zl%Fp}eZ2BqJN!)0wgjw3J$6MmvRx0}gJ765+@Z*ogn#hR{imwy`DOd+Xh?enQgDY? zs0tm)2NSOk)uKR_!GImg!S8rqJ`NE9CnYy*U#ng<;DwG45w_?4lDoq5+ai@lnA$sM ze}u7tKX!t|pcw63DTKmu4!l=ZbAQYMB$2;@D1fWDYM`e1X6EJ!WwL8NJ>jGtJX@It z7cJlz_bQTIp4_OEz?Z>vl^ORjOU~%xy#3c-Z?);3&plc5yZ0H%ZZ(;jKe;{@@YnDC zfYP`5!I-gdcyvb<>~fbYc$0r9f!t6YT?%fgm;IB{KE1aSDm@AfCi#!UNc>r%+dT~a zS%62&xMOugnRDlu*WSLzfU(DdEOOR%>lAk5_zjH`B@-u7y(o|eBc+yW=g-e9uFwV{QxLB`Q@ z-D(uY@n)9yaJ=tyu)WnMi#}TjPqC-#j^>+2)qE#E>m)V^;WGMuj{(=|md980 zwgVs?9hrQfYzW@U=I`?FUm`~17>)Td&c{MNS};^P&{~`zrZs5;!J~97Jh8n0{Y-^9ZQJNmJYVf`irg!Ys2DID&&IC) z*ORqY?RvgpNbx*B5etw*5ex|xf_ykRA zocU}SrCP`IPdiib8-oxIul8md51DnT{)wc2!-?APP9(qkW*4(w3i#{D2YL^fR4sl& z=S_)~%L5T)M#L*2RH2RtFiwlOQtrt^Ctx4n_ijEFlBbbWz5`fr#72DO;LGn=Txb3% zUL_wrzMw}b)3rH!%#$Hj$&g*AUL%_4YNX;9%{J-{e1boeXL;FitlS-AKhlYDk3aW&r*y^1DrG#{ zBWk|XhR*uGHXogqWv(uGaZ4h+d>r)H`f0)*_g)u*22L-8A%(vbBtyp{-Q0jdA*N+H zyY!Pnc0RXJ8oNw^s+t;RvGEyr^5+)Tvy5a!nBXH(A6-TP<1RRT?n7#+v zciI_#%Vi?z#x*3gLOp77^r}^Btv;~z|E^kA10C=+=zBXFMk5mL2Yvyr`sjpB07Oom zlWMYbu$_+p{MU1UWMW{p%6i&jd20rPUsYEV+X^ec>#v);f z_{a1TP@!g?b}TN=kGQcNengyBL!Pf&ON2a{2PbiaL9IB|rNrN0fqaMy6ssvk?EXB6k&G`JefcL=u}1=;Hu1--%PQFd0EH*JfKNg=8A&+pMVdrm6@;5c_(3DC@0)N2moMF%k&rqPqB2d zkN_(xgrH|E>p%`lx(z%?nC9e=1_hfdrRx16`%{w6o*OjIoFVe2f7QfxMiBBw@=!?g zVUJjCJ|`d}G;Db&*1UQSS9!TNoQ)*i@L0POUL%i-1HoZHu*ZxO0;sG!u!H0%k#E3o zLH3=kg4xq#N-zD3=~411C8*4qw`3Udp~FRFJBu zM)oUm%A$@2X|#a9J_;u8P?3b5Eg#{YJ4Zs{N@ZS`8B%3JtY?09vxn(+Np{Vnr}J?c z`Wi0F6g!v80I~}#%3bssQ#ScxcZ_-zHX)}K365r|?+ZDho*Xevv(3PKJEN=&yXw93 zzt#Xvd}1E981lA9zg~A-s?!$ZJ^;()GUzfQz(rCYuvgB#pHt_LbG^$Ax}gKzI1H5O z7OeMMB}OGw7)kNP0(=51dUnqljNLEz3;xxg|Ml|Jm%)L#K^kFWtfV7HT?tFA`0|O| zfUAw%Ab40{*fTkT@=_9d984JDn<2myEgE51w8b3R;8+ajF4{f)WyhCl-(p9i5OpJ+ zLO1RN-bL@xbEFb_QQ$vR`x0gNNh4wGwey z6GXT`&&Z1-Xr>mTFaS^)nTZ$OrZ|RZSl<^+!Rh`6@TB$#ip9uxApudnGGwi~f!Pj@ z>1k#!!R)Bex2YM1$E}5Jr-?9xI8XbQ(BmYq9qNr5xS=8QXL*qAMD1_aCscex_y|KDO;J_XnLrv~}yVnQ^E*@93WxRDwG)f<($q9+Xdr7`zX6;_AM z2V@6oYL1PKe_tq?8&>w#ZLQBbCkx-zYd>V48gm2xMQan|)OLIM6mWgQ4o`p2*6tP) z4xzCcoOs5XI@r=UvtJ9w)q#Lt=r8z^3J(ZEf$1HMgD0dw{m8KpIbxh^`5I_IEb}3v zySkL8F80-3yiXl@fo~;)$r0>dVfJ75X#88?lrW}ys0Ci^6;Sz>K>nHlnlxU!j?rEi zTXyy{V;Ff_r=_D21)aQx3Xg%K?vJd?EbmVei{6NOOr9s zc##;~5weAZF!Iiqxr{lFr}Wc>>yev*(EJ9jzGAiM}J456# z;?9ym&gd-GWk3VyyVF`fC0QUD-^0fqFF&CE1ubC%cFWNpfIDi`Y_nT;TJpwK=33>} z4ZeI|IcK+mH^c7+huHZ*NXhB3iE#!?LYdT}MFyc-o{--x!1lJA{YG?i3Z~@n-{qZA1hW^Ac&0uXvSSylssnu$RcrU(c;vGf)A&|o*Shx%GG8W#xu}sm*C2@W5C^(elBe%zzT!PAr zzn<5hPPWnv^Vx%g*U-i)0_bGOb?t1~6CQ?ly~I-f(NhLe077M-uHJmhgl=iNUS9MSxb33rd?Zqo>l$aKaruJ@|j*mBs z-3VBJV0)4$t>Qi0X4+J1da;3I%M-ppFD=T(8^I*En%`B?_55DnUEfWsp10~q@;D_W z7%^E$i5ctgHAh^v0O_*cN8=aOjU+w+f8_iw+gVU=t89JD6&63nam zrq~)9WWzmM-!BgOR+)Y87HFR55Xhh3D9_mXr4OGWIsnGrJi z*tlU>nm)h~DE(_7=p9V-^}d?Z(?Wgt#eJz8a!w+z8V0H=~df2^*8&{t@qd1dNp95N1 zc!IZCg_Mmv!7qPqFFI?>k3rZ19}VjVB`E9AS(Ru{i1n!renTabh4}$*=7RR1cigfA zvP$_ufo|qSbr$eBLLRTtV|GpJ#sOdO^G45p#Ytm#vJhTf09W$peR5NFH!{GA47yAq zsWV?WxV+s&P*om5lsq{^eS{F+VoHQ%hk#sjb;Vps1)@21+T`TPojm?fSxDBfs}3J4 zZ)iHC&_8#XO=atkvfJP}+PJxFM=4gG6mM2t4;)LZce{C=#6NS9@F(sxNDApE)~Qdx z74aSk+85ID(8RAEwa`SV@#}ueZpDEmCF#jk@R0xZ?}ZITbl2vZhHJzxd2WT&=hEc1 zsC#Vu%%*;{MRpb~sCJsWjB~=mKkJG2b)btwh^tXD5!b{k_YOyZuq{Mzd7|XE=GBfG zwf&2`{qD2|3(47fF{zhs9$!B_ZasnbiyF;4<}dNd4l;d03ZLf;xfMOo@*MnpLbCF% z=0#fZ`o3x}vd3FZJg8^ktifQNWDw*!ytFNHGDGsM!5GJWYr z*9qA|Gl#56=?0!LZnn21iFtXInr9$^!6O;yE_$2n4Cj>WwJ=0Is-+U#sxmXRNR+)$ z(|d=@$z$QLiOYr%>)sy8o4Zl@qk5g^y_A5$t_I)XhmxzbU#;$uB4zJqa>fweD}jvD?L#iF+*u$1YI%VbDHt;L|gD|n<2CB1#5!? z!^wijW8wH7Q_&>Q%8aBl~&wr}D+chFwdL4A#MAh}u&TUjO15oxk;@L>xCZOMBU#4F;m{zsx z!)8-|Ox~U(-!)Fe8|xsqo)2sSGE4CWZCfs`>MG!26D6ccpWD&qEHg^(%lo0ctesigo&e)Jdeqkz0fH*MYxkJG zj?-AWwmM=Kg+KIg!S*wHzzg9UEopc{a22XEYKQ6WOge1|Gz$zxVJjlU`pTW*HQtK! zrDhAR_24s6w7@Q{v!kzp;|=}}jp@NouyI~^$Gg`9#HQ(kC_=xO8h+IZh;X&l<-=-D zF~XG{)Z0Ml0`57;r7o6yA^i4GjVb@V&`qKlSjHM3$yM+=L?0n^BX=Lp90j>wTUWi- z&u`A(>ZW^3t;du~8Ngn$LYg&~EvO=O@NyY&>HU)3JBDePfzopPxb*sI2H!BPoTm(_ zeLS|vk#epMR==`a9h0C<8&D@Y-gK1S|B*$9up3EPGvv9)Xx`8*p&Dl|`<9Zwl0N4{ zi)U@zxs=kY5KWI9+mX>DyO$(o*X{R>vUeAz8|K|ShBuQ^zkuHX61roa$oLd7(gOiF zjP5LR4k|4Hok=udJ*@ZWUM8SoLT|koZ9s*pj)6b1fg@w{5Ua?IB(?ZNXu+K@LnS_e zvN;sSEg7XXc#Su<*VR0poy3s+OmU3wFxZ9$6dD07e0brym>I`)f+;~ZbZn8w zQY~nxxI$C0l}w`;ZAj~cOSyNUGNQq|q(O{WzOL0XCNFWxI_GO;8*19&YR+oiRXqC#!f!@KQXLUuloE1xy{Ui*5L+6cT@-|Nq6aK8*YtgY zn@w1gAthwrfrH$9&$?vMq$y?efi|kAS=!eip>fL>@oTaZVj8b_tXuddf4e#ANJtF6 zb5P?SPFfdnFqL8ci5=Lpf(1g%lnr;76=o(URQ?cEqqgJ9jV0A zAHbzXmFo&D`trN$>M-;rx~Bw=_T2o9ZRff{*He?#jb;vXzQVf$NtD5qhVDA!6 zU{Qoj}p+n9Hj|%ie7qe~gKJ3jd9;T)B1Uy+KUPv@;gY}26m&Z3Y5>_D#3Il(| z5OxMehGuJCyQsdu9qGH$7l_FVr|dc!Vw>}SANSs8QPBPK7O#IlX-@7M*g&djVzZ(z zbG0)t$A_!UW5`gnMeQVP$hoKPp;ZRVKYZ*l(BkfCed;;>%2skc3@B@tHR+vIJfwSZ zOtfM@H~zBy?;CvNTW#o6^_|HN!}86n(l1rmlLv$<_!Kr1uxLBjz3W?2)Gem z2)8J&K22#LMrJJCWuWI7;i}dBOLw{`s{&M?Uu=6!tKdn<@GWar!CGS6bxJs7YeK6f z@1p5CLUVUrX)|P<-_9a znS*Bm%b`ar46f&GHBC=7b($da_o2&i`Gbr~0-MCAU=gAfDSaH~o&d=;hJLoEX0rVR ztnNp?G9B2go48TUe8xm%;?p+aaPaq>&|26EL%Q4vIBKJ!=f8X~uJDJbHk->ELJzo_KMs8zyB<7H5zO#19#(Tx9 za*{)9r0u3Cc_7tW#eEm(*c9~cQAP>ZXnwl}Oy^{^G-tueop9Q8JHIM5pAI`e z61H0D^z#q~)p{+APG_7igXylg8%RYS<_N;}bv#cPGr|nAaa88LyN(G~<8RBZ*S)Zo z>&7RAn2)-tvjtTH67jEZb&puCvC1L~)~Gi1JTqZ`mo+7^87$)Wpf6xX#z*hSHp8#6 zwq$rDCp-_pd;va8rU#yO$-7F`!J{ScV{65!tWPfH&m|u-{&_W&+^pcamhS%8mvKzC ztM*-4^Q=;VWu%Ecte51l_+fiLD$wHd5AS8Ijj!>7Cm+{^iDHCcI&wo{jWlVO1+UCG z+HuA0k{BMwKO_5l-MRh1)56-t_8|ACdT^rIlhxO8y%)48xzWK9)onrPHXcs;D``8~ z>A9vJwu(&ZJ8vZ&RtnV*Y&|fIUD>Yr>ydAP3OSjPB-MY(%UY8!6Gk0Zjhd=)RG4hq zUe~rWL!YgTu=lcE;%w;p7O4+dY_bC?ZO&l#;R%nr)g~G=Y&gcFhMu-{Jyh}j^J3t^ zZn1KNi>VD_d?fv|4<~n{*~q&;9jvWtdYwzZ(d8n@@^k2~z$PU(4jN%=MR=aGv?JFI zaBg3;>fo?;fTy1Mt3gg1aIR#*U)2mAb=aEl3Xb`CxmUL(_X-LGE4Yi$mOJ<4lbnkk z%Y5`$9#uV|O9k(iqft0C2c_30XPTrwOx>0i&=n zZDoM$E5nYAels=C;3GYNw6_HIK+=3wv!e%lv#x){Tn}hj$7!GzmlO8+Xk&Rs;@Lrd zOhDYVrw48>gc-uujN{OH%BvWEb-hP z6&_mPGml(N1Z?|yVW+#9T}Z(s5}gU#KEYUv!@pejqp!rdIMywh-*BlgnE1qM`m`XE z@=ZK(HYI7|74CdDi<1{}ajQ>SgkVo$LF8&1&zGyyMx^83M;&w7HjNW)D>C?JWE_3Nt`Q*r6 z|M3IW70&6Hff50%%<7S*a^}eNP)}wWoZ!w~kcZ%q9f$N5X_z_mmFPx8V$yelf(j(+ zYAbo0xxDrEh|!*h&3OInLi;UwqVx^Hj|cblgUhU+@)*y_eu-LUi1`s1-rS%)%zj2! zv;aRd93=nv_EsH}D9XZ^dc}cHp4>q8G53dnUfP+VZkHDe{!S%B;y~fj^!4m=^;SHkOU7&)yO@YPk<>&i_0cx<73>H22DN^7s*>YWjJ8)KTZm z+rw#eyua2yS{CzumiV@=lxg?xjfu=hXBFaFrKGh+eZ=3MK?qz<>_#{GSF3Uybb{0l zZZn9R>O^dG1cD3Goe`8+y$u#cD{aipnQTc!gfe`4ipiessfWx%mGWr>#LR6%#=Tu* zEN||tI`45;gf^9kPpyV%-}r9ArMKXxci*lsGwDIAqiGghX`#i_{nsUr7!DaM2zqe^ z?EG|^nB2z-yQJ#eh5)^%zQUJ}0+yN4ce_hd58H@4FoMuzbnaSY=nR@e7v z$Q+ISa7wA2P!%N$TBE`T(eB&L%J*;%3Zw7h0-{~CHf=&&#El5vQwk4sksH<)VDt@5 z8YO!fPa&P)7h>Ho^GwPdL1-V{VThn7QPy(&k1qzBh}x51aE2u2eB~k2sM4cPc?9CC zw3=gvZgMLl9bHqShZ-lpGpjA_GIdb-Ag(H@ZCIOzK&WR`^bq}f5^fl6hvDkDD(}ZhT{=Qe3prHJ$wDh9 zs#qUx8s$8TxSuL*Fniz%xVd4jJ_wiN3LRG-ezQRMX#WGECZVo}RybOn*)y;}Ak3Vl z%I8Rq5#YR$PS3MN40td6co%vnseVnc!wR1H^H#6PE*)Jc$R2GTPO0VQ z=o!Gq+eeCP`#UJIc-aW_BRhP5`9gS1#qkvJHFa z+srKaGoznhC)Q*+zGic3vrCRG6LXwiEgLkPw@!Rz8Q(t=#UL3b7%O6NCIz-#aHm+M zIOno(*3 zP`L+NVhK&hsgvz@7VUHitgA|P@tZr3Q^a-TdvldmawQ>Lh?E3ZA8Ls-NEX}CnFPu? zn8{_t!3D+aAPTpuVW3fXl5aofxoVXE+qoz3`-u`aqM4Q}b1jZsHE->T6k4-B(w2>z zbC%0y>;c}Z)lu|Jo$RdbRL8TRVmhlRcBm*Xfhhvn>E7>L0f`DIEX2CZE*~3IbI(_$ zT{l&y{H4yXK7?Jb!$-6*e4=>dSneyAPUaeGXA)PiU~rw^BUgca^|fU#-V6CFPIKtp z)05_seR$#0noYWhH2eZ*Wl{S5UHe-T)gk@1AhUX~PfX#`b@iT0{lMRgcP86s$?*51 z7-Xnq9cVBl@qqu%C=CB#r*m9Y?pfFaE^amBFZoQak{vF081g>#w{nx9@7RU9e?i*I z;E!ZDb0wd`kFwas{Th_GBt;fy`CXm!+89UL7&O_%s{Tq#NlU@Y+Y&bl=Zt#W z(jIKB_Z}vnYwJRD74Zv)W|J3({l^ZHBAro&C*NSDUYcG3LKZn7 zxAG;Bm`o-pO>nqiFdhcbxnn?Ng8Gy4ZSK~7)E~X|$m<|?O_Gd)kp(-xod0RrHgc%T zA8gHZC_7Z@Pxkr_Zo8Iy^vG7oV$uf~U=>ssR3&99lS08+#u6p5I`TMoGrD;JI$|Yd zHk%K#@8$sXlP@X5I|7P*V}0@Z<4)0UWLE^4%-0{KkmvGE4+|&c@kk*&*<9*pLZWo* z*2v5dmjS|?aqGGLAc4*G2kHkcI#h&Qy#ZD((!>0n`|lpuEbeXhkJK?deC|MIQ}(_Q z$QidISxZSll?3B2un|y?7w#oh5Ak)+Z+DYrY0oGVl_WzkgZ0Q}9VhlDadm zb_6ya&imykR3orccBZMMD{)xb~km5hgV8j+YT{u za5=`895i(sc{+KdvQ4lHMLapAw2P0N%i1a@bfFI#%V(1x>VNydA*_*PwWWXiy6two6Rc*I7o(ZF-3z=ZFQX{>`vE_-^@)+^9P8n<)i!?jl<6!u{}(`GJYy-~w37fKyh<9DE_^fegyo1x{vH=oY?%2@fEkGVy`tc7PRDVF zWq!sGwDL!w05>5sn&l*o37iNziSPq11za!CPs>B@ zP4lSBOxCb^x&8ZZO&Aizb;HPPbk?I*9xU3Q4kbH5=57ypFq5Sb zjDX__7Oiu9^wmp=wRS~`tU-1QWPj`+hNa_`E=FiphF4F!1$fSXyViqQw~2Exxm!yP zn35|Hg*X^?0xm=29)U)^3zk<^XReQ(JX3vNdIqpJf4XL#<>^cd(8z*Y#*2(v#(Ik3 z<*&rECg3UzxgX{3HQNl@3m=f6LpP=!1{wWbJsHq1&{rL}#$kfX0%%&H<_XxJ;O>5o zD4s}4E(@hSt0(=}H0E1eFh|c8@?QP`ecvk|ta!JrCbKWTCHs;a9UVRMud`j*|2$gZ z4*uaSeLxa%POMtYPnygot@<#*SX`Fd_q4!$cfhg9%fpBO^$-(O|htNf;7WEDG6iTRDJYjt1|mjj$^@?Y+-oe zY7Pwe#nUfCU!_Gpng?jS`RtZ*Z$i0gU@+W_RA_=1@E-iy0Q@TOzWRl&rWru~JCPUX zwxy|c!B_rag_$XF;B>>gv!e<>&DydNHK&vw8ArcRH`RMgHB)Ac9&m1XmLEkP&sB3uVP$6LPr zrJ07axxr}aw>xV1ykC8j->%SQgU%?1q}@JlF-WVz$98|x1@$8@6V_kRn1+8$>hG39-8iao6-!% z2OWsyoUzL~fkGR3e-f%8_a7takM-0}TDm@a6dUQBoGoRgf~kF}f!70havTyOf|tc9 zio*+_4tZVoiEYPt_4ueaiOEvG)$D!kxqMl!-iA)%wc;l1vLKQJSwLl5@Kxd_Q}?BW za~=WY{e1XeNysaK-ara6$%n8ScL01>-^A(_aU5-_@zaM!_42obMeey+o zOXXr;JpPqE(oogmKE&a1Z7p~-F34srzrq|O(2rys`PRRo5r*kPnT~{SbQ-#SaZ&$& z6kTUH+ix3HdvB%0j8W8Hi9K3d)T*{tQL9#n+1gu6>{>yUQq|H{OKf7q-fe9O66=qk zwa1(HQ?BdxHP7>$bD#U%=axPqm%du1Kzs({BA~4J_v&#fBuX XB7IpvHb>PW8Qzkn^sqLpXg&M8=7K#tfwaL;NtuOsg{%O6cDj_o7 z7S?a{FBW{mO_KMPEtqutMM9cF{)I)pZlS*TYaEu`rI_;So=YVs^}c6H*17CAhPX$L zFIojWzdYKHBXskq_TG)Q6}?+R3KP4R$QkgRAOYRU-tM%vQ=sX;tXcn!+V0$ z&Z|1ac>ge2lXL2k(+1HlUy(v4W)$Nx|&JdgGe(_7Y>*HIl~6N^k@ zMQg~U7h-GxyM2Q=SM%ql?-M7!Z8mqOn3zF{4IB;QtyAp&_-&nC4`x^u|8M&tz@IxX zvB83h5+2wNUGtIG=n|@l_dp^%qkSkkY;gQ+*BKrd4UoQd+(o`y#GY>w&)@Yy$8ar( z5_4wtYP{L(lH|4(RA)(yT#ONN+h;lORveXn254)Y4hBbchkVPsz?;q$0Fjg$;_9zh zfkt~Dht&Vb8(5z_$;Kn^WLsS47;4VDHH`PwSh>ei1-8q+LzT!XI8e`?t5`Mmu-6drZ%kv1VRYUPf5 zKOA{=^LECN%ei-i{G2&3i0nevq_MIo^d}qX!rg|Et)ExQ6oT&JD=rF2YNi%Z8zrF{ zRR1rt55IL>c*s#4WW03H3m z+x1=s_wvTtI>@8TZkOIeR%FF@@rsU*8DsYhx{xv1Wy0d7fz3Gxwi-l2{T-M%t9*Kn zf*6(mnBvJ%;b(Qjz-NrnQ@Jz94QZum|D@x|XnX=S zsVSU_^@7#Kn4*_$S~Q{|^+I5=h!~h6+}8qEsk(=HG79LPPZTkKORA!zRr6=$XaW&` z`s`uHia@CfOYT0C7LDxaWMYMc7+L5~|2j_$<(V!p>aKM1XV3s54f#IWm1RaXpt((; z05g`p%v)fP$(E6`poA`2AJstwIj+ir8JmX&3#&1lV_th*^5~L%#LI5}hADidvQsXr zGB^NR5YMvDHTC!~UI2fL4I{*(Xb`v`oPLjv@sH|ea;Oa9#(t`i(JlrJH=1A9ZAP3q z19KSG4{qtfxd_wsLtC0CT7J&G)j4(V7pD@<24}@N!YN1sdnWkn_n>V@M#h)-`J`pS zA#EY#20Je16)|dY^(dN}%fjhF+xr1URDB9q>M@2n4T8dmQzpSdHW&0qvCe3yD1O2} zuOC3(u0tfi{ao!QQS@>za+n`)=5kU?%se43RwVl|QZv5?DNcA-s#8mt8`WNl`+O5% zLM7O!kDL;f^M3WCsZkMNv@b9-HzA>)AKLWSFkNnb8ZuhM7zv9m%Q9=4(V4JLSvc|6 zBI2B=V4Do_ty+1zyR<1Vq4kU>p@5j#H>v{--y904dY^b>U~+ZaTm=Uyu(J`5`2M1P zF%LR!^4t-pbUGdGXEo&slZ1_70Es#B`L2GRb#DRu8lwlJ2V$Vx*VSkb*GKAm?M4s; z14*=BDXTrHR(IigO1NmY9tJu12Om{7aqt1m&ZmP0Qkd=4ejPXX5DblDF^IdTChg|J zV1RG78B#YGQOVC?IE4yUV}+Ys;l`zwXINpa!gb@)iLs;3>;2B_bd$ZU(VX~=U=6W! zaRgfuCIdN7jxGWYM)r`aC^Z#aQ2LCsRTfl_^ouBT-{|trar}MqaiK=N7y=_-@LmZi z+6} zC+@u~4u8L1q1nIry7WZkCM#S>xEXl*F~g;B9f6mGMfhL?j7FZz`VSx&L48??j-~;Y~2tI!_3OM8EFk z0{&V%*HgDmBBPZEIUM+Bkk#5Y?@ zsrE#R!B5cePc{D?fI@d!k(#`Ld4N3LocHSJR^Q2?kA@LtJDVhcvY9p&ONL0eYj1pO z{p6}ksp36Z5=Onuj&!FptMKD`*d;tt4hu^alMvHW9Axkpp zv)QC24T||8f%hW{u>F zHm@+QMl=Y(h|OIj{`rW`bQ`BG?0FmyJG|@7x>TQ$-?-Osll95fr<;$S0gv{wXWFjE z{9}u4;069qS#E$IZaNeY$H>5^xYSV=*z~huX}$N3H!U}se_8F7^SO&mjRFGy&Y42n ztuzb{!(FAHXMUIGM66TahP;Sttrv7N+-Y82XM~Tv=fqdxC#AwzFKNODz)|F4Refsg zr*w#ZCq#hJU8Lm{bT_A}BQbnux{&zD4yu*O{VB;3F$6owj-jmEwTQrrCVn`?UiDhWqOXjiG=?lAaR0I zE*~!%Zv12sD~sMaOMOKh9v#sE)(!^`;)+m%%3`O_Al1EqTTm*5GCl?xqllnu&bfYH zs5uk6Whqs4U~3HtnuQ5SJkaFCT@@gukum!xybP)dY~5aig7|{<`@9~i%pcs(?mu3Hd+-^2(X2zCdIlprvt z_{>r*ugklqLyPI06nV87&*~Uap+$qWFU~*5V}c<+ZReAHf#gYC?bX=pll>K6-h^U_ zNq-@gx`w`QQLFy2-1=|9v5?(FQ!(u8AlsWi;2~cad6jsAduG;N%gk@tmd_fwO`)@n zvDe*oF9k2So!N7k{k%Bch{mn5AIb*JU!3nV>9h*mr_xdQGAFuA_Qj>LV?6ZcuV{zP zSM`!o74>m5kMQ=u($>oVkY(l%!#Q9J5_l1fo@l~*e$<_pr7*vKmZR+J*5>+cOAT}} z=5Z<*Qu-0)RgdBJ$Th*O7oBpw0pHP{opDLmQsIZFD-J|x;N|vK5Zp!6m&_9A%U(pL zu3YIZZR^GDMFR)s$Y}uqo%B^&zQ(&DmOgVZQcCS8Hjz=NN51KK?#BR#IUvao7x! zLT3VJo^|L3CI&P*ybh7k6NjaO1N)bHVgd_t{>mFvN}y40pp3X-7+F^a9{HCRepf!> zOKBlLuL!4N^dx9}gS3vUd##Am;C{L{N5y_Y0wGpR&@*#V>`VMRo3yZ4!n86C78{@Z zZD`Av#wyW&dGU{K^=IiyXYHccuaP#1?e2FQ`U>AlEOmV5yhW^mm$mbTO|4TRb46Yr zb*bY_wuS8He0eEG{U+qAxt)7kUpFSPwEw?{zw~Op#Y}^BGGbHx@ah*H-h%)vdn*CJ1C!|7{D3I6nloS3&CnncbVllvJg+T89{Dk3uib}F_6 zkIrO`C)m)B(8f7yYqs9#+Mjf@V#SU<(D`*IC&XqiY!`P^21KKdX z)!Q8GaHaf(fVgQ&%v(5Y*y)--m^Fx9@QDNIQ_)w?rQa@Ahrd09WMl3v8krj6l;5r^ zZ=$5!>+h(6L(E%!yP*-r&-ru8@F1(jE(f~gDZH{9W0yB!m94$%o(iU(S4L$m{;Zxh z6x0ptA*XC^_16Z}*y~jv6i9k^pt=GaW6J&_gol8h$WH;|14_1(Dj=40s`{4@?y=Cv z-L@KH33RUv$2{%U`+?Nbzm7mT20w4!yD?ja$U#l9khqMOrF9wsbr?NSiZL5%Uh;mf z@LEN@K*aH2_0!&u#LJzMMWl}xnQjpN#a7r!h#l_lZ-!Be-efUsnr&UNYh$hIHclo2WX}pcA=b; z`%7bj7)-|WOY0dc>4ktN3-BM4=1ne(zLv!e#za)SGnO~O62!LyH6C0)#t0_DZo`$e z`p21#;KJtO5r0$h5HdVyL%2F%G(~M2TnCl{hbyk4^*aKo>%gA^wYHIG=#H}ftmi#iTMvV3YK7gABo|WX2|(S|ttUax8~64(~YMy5<$;*I2+cfWCFlMoej z4a)0&qHDGZ_yMJ0mjc=x@(^4N&eDKg{QA=N`m8^<^2<{6*4vft2hPH9A~KY&m-AIr zftp!VD4vf2Ty0curN-n{YmKjP74GHGH(CMYyYus2ImSso=iIXHpEMX?m@=%xEIHD2 z8?C9Ut&w&M2HaVqIeqh{IU9-_2MHke646K4v&38#&Kz&)B6U@fh(>yV5rip~a^qs~ z^GNwBi_qX&5sU4}QL7gpBj|bG;J4PJEbwnq8Paj0-OH(8UY}?P~q39rPIwHBWje~ zr6F3R#BSTr$64C{fYjN5$u(Sfng2hp7?ukG0xgz!!v1N@xQ2I8GVGV_#u1!-;=2HD zzQiPRfv@KCJfPlzUxC+#zPm3R|Ksw3lQa4FxjTCMiM7NjG%ud(X#zm2MEj5Ycv|2Y zhs=7R?1@2fabN)t2ur(AE)y!?c1xy4xrDEFIgf-z2&yuP^8Y=1U4mZUy+7c&K!*jd?nz3ZB1~u}Z^?t(^uq9IU?tsg|9biA4VW3m# zM`%3Csp1WZf!RBf=#V+bS~u^o@A70MrMbXn7^INs4o<6J05t}_X*M%2DcyKGWP(>Z zlbueCu~p<^*Mw3!scN1+U9+?QwBz~VnogvpJ+Tin{_eTj_4|PP0Ams{x@dh>@KeNm z>5MUg&MXMEmVdKOD>7c$+z(7&JzKoj0akG{l_lhd&(q-#Y?7V!2)5?P%k@^JKsba zApcZDlp?m~_m-C#G;7m+T1J(rLw}la1Jn3AcK%PeNw2ugEa2cFBB+M0w1?;9I!w*$ ze@SE10uLc#wwIMurKy_bs)sd^j5%baZksI*>XN5egkT*w$uf0yOS%Q}0UuqSVF0C&zkdzzP!e(Hz^WBjH7 zgz)0TV!4Qz$(trH^-5$9WQbnw&~eDr(ocgtnCbBbQE*}6TRc*&Zqq?V!JOjL>Kv!_ zssDs%M11Q8|5#CM1pN4A@d)Sx$qZ zk`~4S5o<#=TiLGm(HpZ|KF~unzV1OW#lSDNAW`)084z|aiS6JhpbDuD%O=$QrWDii ziv<_1_YxPvgHam&TftEHn(vkD!CcfD6NI^Nfnhe7=^a zTszY>C@K8MAqL|pGQJ8YS^?K8w!96>#U58gpq%-$yAj)OvgGnpcwSQ&4954EVxzuj z51OYKF)}b_`d0XT?4^l7#E{c!MJj2rP~ENzTtYBYh|%+vR&J<1WQG}~39!Ck=F0-} zKRxrpon11+vH^Hj`dz2aU+4N~FG=dhM5s9cYJ*_R9n9ah!4z~e%?ABSst`U$etfzR zFWz}45F+Fv-l|qeI5&otjZN0z)*Q)qE4VB*92Y6B1%zkuOu--$@-={ao0dLcE z8Y5u;ogE5A5gyygyqbvK6U#IyZRy8z2fP8hjMY@V!(mHhN$B8Rw!&k0na_sZQqpUq z9JY|RKO*SIQpiS{6}3OU0e##sXug+iaJLZl7vKxgw!EaEVXg{X8J&MHc;Gp2bk>?L zm zeo}wEDW|3E|L>H2!;g2ctVm1Bev^w6iU8aR0Emo;tLLn(ZGJ{jGePJxUR5HO5o#P{ z$eKjvh|jH}_&NUp_VPqP?^bF$Fj1>ZQ`x^e z;_~0kj-bjgLP(oSgQAeGc`9$%jPY(nsyAc|0Sd(51<4mMt&c9jUCnml0_=L+UV(>!yP zc#?XdZ8RdjDzp0B9@)bJqdlR4pb($WhSWa=1O)0rS!?CQD0F!rbjjW$2>;=L3ZFfp zjGRdf!2JBLfWPD*ES^~}P4l7i72PN?m8FX(fyuS@$E@)a;B{d<^r9|AzGGCkT1Alx z+yAfj!Zy^V&pT^+$(P84in|%#+&P$kSAR2E(tGaL>Pu+47@4@#)n05r<-EUbB5)T3tO9@|0!M~-TDZF1^hkb&~WIdaL_}q zqqU(tRb?>&V@O?q7kLE?A?2CVLOz=a~-0+=4K&KwXbo@xDeRt^@Vje4CA5D@#G0?qjaULrVcf~R>SIISaxT}^^DmYBbR@K5d4xC2b%lmS zqMt`rw1i|ucB)f9MZP&NrRv!V3p)bDV#_7aV}$#6C?wPs@_BW%IpqxSr{CXuMZI&>wXJO}i{ae!Y$by&u4}ATerQ!4w@n-_GI`{__bo-m$d6y4 zPYS=@9vzr3LT@|2C@9@VF$f;Xz&sbm2gW`|a%+-`-CB2tiJt|$QKgQqNY30rL@l3F z6@9pzG>~Z968M_N0?XZBNpH_p;>7eX5QTu11*?Vj{=2~2vX)HPL&lzjA7!^H($3F2 z>E(p5>8$LV@ZlB@6BWltRL-{Jb6LwaH}UCHbxY6ltQtLAgD>8yQa^?L)8r*@Bo>{M zt3! zB3WZQ?A0f**iX$rh>e8nCEn`5Pzm-d(KkT34aa7@Y~r=(DJPVCPi!tTmYwg46*hYU zbz($!1xGM#=*64#Uy5IfBg6!u_dabLibfGQRU2$Z#QHX=-tJ$0kcw7)c7NE@bZq{^ zrvjhAa6qC-Rv?Xu(VK!CyeXtH;Hj)uJnN6c&zlufiDa+fO!C@t4FKoPeOYgPnSPT;4Z)N8)jwhMZMj@nw45t736Aj2g}Fk!w}uXO z?#Dh81^N{eXMN^k{(Rm4Fam2UjW%)E4{s+Ez4V(VjXHN~Y4cZKVK*etiO){90>>$5 zsN7&~waw)}6H6)*5pME7C*U1??sm=P{P^eGo_4>dqn7Oej zEP&X?z%h`T%FqwM9Dj2G9cCIW9>t{4=$h5eLMhq1+Mbd6+El z-R3^~x-&yeiWx2^tM9)jT9-@Neo4@$!c#_jmMzfSGiUdQTLsne-$S_Xz)XnaNmf1L z%VICWo`UB~kyhUsXP(Gz$S}%nWI?s60+@$@|0se)sW_sZf_ni5iauD6e=VTKnsvdg z=kJB-j;>r65ANiV7{ca3KVN5Mv#D9 zI?jaS?$?jsXp4XO-KmJN|5Vs3%{+Dp#$%}~tb~_^~$6o}2CfTcx;`HLzsL;G4EV>bQko&sXu&w|JgC5>>bb{9E zPFRdjhn~d@j9R(bKW0bPR?HbURr+M)8mF}r$#|$?(1)kQ_d+e3%>s|LFscA$+(iyq z+*;3sEX*>IO=*mxn?(pVYk^Z%=YdP^M)H0s zMcp*wZmQCNe0Kn?4E8g0GWzDk|3A!ue z-4DyOn0a#yRs0ya6|4g*5u6a{02V}Mjng*b%PBw5Lido%Tb^OCN)e&1f20^fLl)^ z8Vzw0^*FuqmP7cfQpH1}z_TFj@tY?;wF%mk$Udg*}zr{=9>4nXuNOYD-SI^2WY9mMR$9F?Z-F6W4r_>n{gb9jw)zJS0hO9n z68;L9(l(iZp6}i4Ti$d+zrTddVQF``RVggVmx?__+1Z34B+|nO*?Kv#(tO>@=Yo4e z2^;=zpPXVWt`2SKgkhLuo(2w|ySHEh9|#T7V(2cv0r8td7FbWakS^$Yu>*+{G!M!%(;?yShkG+5gOTsK%5_WH=;M^v&ARQI zW>{9?4*CR5zGsJ^BZabUeesb+#DH1h^ot>B6uU*k5fzuq<~1JgMFz{(xUh_zd)m*6 zIQ-D8lIjrQwrtG|r5;yXxFz_XkR1k0%Mj4!rBJh0b}R zFCw(Dl0I8Bw)a);QzF7}wa_3?%!{|Kg>+Z1A-a$D;Z6J9{>QA>tWKoVwy|Q(Vp~mL z^z*FB=jYtO>83$6)%`hfR+O>Zs|P~|)UT(Pa}w|2<@#LFDKzk!$N8 zY4U6Oq{nBA>)Z!J+}fu#l*~l`2mm-L`|{inmc|zVnZKgCXZf2Ir`F`Z3!{${CExv; zn6=GwPkVL&E1VE;t>qB^PPR6;n_lEU!*7O9Bw0fK-d-M1b*tiZ|}Y5pFW-t#X(qO>By z4YFuIK)WYxh`gUsEJ=&zU#7?Fz<#}?T#m!`#!3j7`utPPG+p*ubb9j=@DpAZQ zs>&fm{kIXJxQ0n>61m#gvczGDHlqyJzaWtu_m}EMUj@mdlnFUTkNE3q$2sWoCm$a5 zNMYk1Hz2rez*8HZq=Eq#ZL|QIP~O(Yrb>Pm_ydQtS*gHpkL`oP?7JBa3d<6COv626 zT%j*-dD{OtLv@@bg7e<<1pLB!6z|rIS(z|8wUTf#Je*VVcj*B<4$}r%BAwXa30Cdm z1}&Fn}*SV_F7l9>HS#IMs@)RyPN+Jbs+u`UWJd$(R(D3~z`th>oP7KzO6vSqf8r)^@6 zX@Qnxx7&9JH=N9QJy|o6H-8*{V^aR%EG$h&A#VaW#(o(qBlzRty(b;u@$^$m0Qva5 ztItsoP3g3RdQPY#?Q@5odm9?q$BeJ5Ypsdb=;LiF>pd;?Nt6vz!XxYZ|4-X#1*bTS zQCH3QtU@`iiyauu3=-evm7CO;VF4A z^q;px2(J}Gu#?qVJI|jdaa}RJqht=;?~yeQX?sR{4U{@7*g-Plu|53jU?%&*JGaoK z@;dg>qv&&SJprv7dopUriim%z)TIf)gWL%Ek=~LH4oHhn9C3(j;}$))#RpCu_A$F# zQre%Kke|ep2%(>8I_RLp7O!N)zpF{voK6T zJ`;oaUBFr`VIbjT@Esm7}=h1XP~qV(2oON_yY`RI1~-(38-Fl zN0xtq8k;X8{5$`3zj165I@AX|0eOOY7>+!Vlk`s1${m8s-!IiUJ9YylRta>$jFnK8 zmrvc115P(rOr1PZ!lis)K7T@!*#}g_ay{N8c&6PwN|0jXvst%Pf2r?YblrH*#Kx#Y z;=xzKe8vP@B9TJp0iitD^$Auh-TJlqQ}?`jZY?2_d|EBzSBm1t61U!kixMJON{`7$ z1$p=QkB`m_Gl1lo5zzpP_Zn~pg9_Bu@@*yq33G$)#g!G(&k>0V*jmP$;04M&>DZig z5eZ#tv&S}~7)7>t(0wJHfF}ihMx$m8Q>6u9*3z8xQQ)1<7)8ESRzHrh3zQRUcN$6l z!%rgGZO=&b*WRz{n^@DIhUv3maVb`mV_@nY3AfwgO*TVijXBJkf92iAi0MsO2Pw_f3{HJK8@!@{&NY@`XU9>26z`Dkmp zzLmc#hsj~TqihoOf`?Iw)}`u*-=dx_P$;>J@0b#!4g43Dk-aox<(oABhmEiqeG4*% zCbkL!o@4oL%s_#Pq@1F8f!fSk=jHodk~o;IAP_g~ppHFMs{j1KHc zeIq0BM-ny8UA>BDMNj9iwu91TP;N<1ihIJ%eWNz+Nb(NmxC&G^q*BMMkm#ZUPC!j? z?TR;ti;C*~eF;1IzCGXE!M4d2Jq#b4ymKq?hHGCKowVF<(;tE^!ikm zEVb2Q=qh#*yAW^@Qd*SE^xnd=cuT6lfJGLK{?O~UDDe&DFt>MP7~CNl-G0g232Q*8 zM8@O8rv=ujizV&<(iPpJ`2pT@jj}$Se4$+n{q9B$cnJOmjpq}42ujjTWPA4r)Ycpc z_gV(9Biax$=`~NCHJ;UJXEb5yT=2cvT`&qi1C^t|9=e0&P6_WSp`W2%;F;3~01#n- zu|{H`bJ*n0^FX6GKcnA!|9X{QEheUwzD8W*0Gu4?N)s0l^aruD7lkLm0*`KFonH4i z7SVMDzcDGUZrA?6$`MAv@zjWcR z#^AHgRC zJnc)tig&&>^C|h)M4!^!=S1A^Kp*tFrECmHb#|h?44%>?y|d{JAG)k0FeDYFxNenT ze+QX`-Is|S9tsKrJwg_Dr4v(jk|;I!Tr?Z?8keNI8hb46ezlL|jHjP9{ zS|Nh$_$xQR6lwvT`@6g z)TJ&Sp~1&+$Bq|XiemxRN*gQ}p!fO9AD*5MG@RQQ?rK=*>x?|2gfE>=CRnjUCq8Yl z?=kY5l?k#YJmuIM2~Xlz>JS30-hU?xi*txdp(4rhHAgZBp_VeJ#b!6g+Iz07*TTA> zLRfO0RUvggxK;SP$3Tp2C`bUn1n&}@A*&|tu)8U>p*d61%4T128_K%l7z$*_NH7>U z?im3Np7b=|RM@*cIki+?Jb>nYY$M!4$qimgHkov@_*1?$V18WrpSb?=hP7Ifd=$ZI zS6~QGaq>8UaDPKUJ)&36%YVh=K@4#wi}4492ud@L1Q#dzB-VJ0&uy}AUJ2^5ykvaZ z@)_9$4MZs^EzaeYSNwkb``sAThQLR*_vWo@9Ms$I)Mq%ulZiF9FDEdypDF4%D?=wt z8Ihy>U*Jn61Lp6h`IZen-6jN(O-uREQb^stY%&^9foAwBX5N!Un4hLe4#&KM-nvWk z58%`%ID9uUZav300f5&-37;R~A^5n~FH1PjyTdvca$1N4prCaq859)-jjd~>JYxuM z2CA#>fV4gpwHHN%fx;U<4{_%CcXT(UOSa@GcKAlnCErs%|5lo|Y#%Keoenbh=~MBx zAzQiKf%}p$;-(BKOAr9Ozm2umT}66$|3LOd$WD;0bp1a3P3v$esYm0+14JA+Q^0|6 zfxK2-TBdhxG#Q{V-eu0N6TxUc{7yY0qA7sP#)r*VgyH7>Foi71Cpyk5MuSI$<9X=# z_wfrsE!;i}>a$dy0*yA)dXF`00BumDJaW>nrWRcD#m2|L#-$g>J<{04laG4oB`VA8iYK~qnS~2^ z?Y~=6r>-9r25Qv@Ps||a8hsv>)>EB4*a}Gd1FIF9A0LoRgFTZLN^i+z{n|y6SLSR6 zmS27TJ}(~gx~Mk6>PYWcNPS_kz_rMqj;bA=^S;Qb;8khcSqMr5drecq9!mU^AiDQj zSgdE4sHz7ZV-p&IQMWi_hhzP*y@Ta;QgzkPlr4+q9}2bw+O3|{w!N44>^T4sD3IJ= zz+QCRr&k8EBZY;Y)8Ka{yZ>N$P78ewzI;Nd;CK2}RxR;Ap7h8_a3++cPCG)SwA*Z; z=M<|6((9ym9a|6(-BuyD7=gv40MM;FI{2?NDjyeLmPUsbz8dz=`%i68F?VJqEkDH zHv+`OIkxtFgsD$qQ$QIPL4%w#{up@c)B>q)dMYT7E4Yt+4DFL`1z0yf%WzEvjl1pae?z-9xc58Iz}jq)-|CDVXpC>8yta5)IgTgBMM zDMwm`bUjo%h@_Z1E<}t3qPX~meB>atk#_v@Ott{?V3bRn-LDqFDCQYMgkpy@b+qAC z{PSBwtAN3OLY|#G^RRu9;X1`7kNnmX zQJ#GhI;O*HTYdp`Fqhwi`i7o-DcKo$)DlpV!=V@hg+edjnyGRL7u!PW55q4{zg2Oy z*Yc49skNr$yzc3Eiiy|4DwKwL*em#*CLatr9u_{Id1@T+jSn56k<0;)RYu=MtU|+D zYjL(uBn)Ung=6PLngdWZ63IzcA|RYK7k-he?r>O3I0L3v1CVW^`=rkA@eoX56TVsy zUZe30t2etS%w4yDkO0t>eKz1a;JgdNqTGOZ<}eoQA${9G%GyLkJ8y3yEyTIKCk_;FSEJ2zeqelsZ{_9HQ5t1)FwxZnRS(E^Mt+jBwJ(Pr&O*=0q0+a)fn&BxOeGSwCd`IR+~L`GqGpg1%(QZ$Co##71m^A7n4AhbUxfAA>e-51$^tm+1TLv_o`pT) z>{JDiCS${p&?hsAl9^?{+;mVx5R$h&@c)-+f{{8`g@l#|LSGHV5`N_Z+g#qRStJ6n zQN8NlzCzRbK-^7GQz-|(i>r(K&P$c2;Gmcoj$vo=@E23*>1IGZN4I&&`tH9%gi~| z)A%mUYE|)FJ!0iTUjC1Hw$Jc_Qsd>}`ff79?X$SPDi!vaSIXiMQ#pgse_n~-MJdH6 zSC%Gy%9}!FfLyp6RfR7NZ?gPW5qUAyk!hY^uKP5HbAL8sW6ZLT{STg;a5W&c=mpeY z8f-NF6xT<@6DrDydvCqUzEffq#&jmANv+cAFx0w(bCwL0p&3>-a4&%XH}+|*GIYk= z+I?CgdDhrdVdt1=Q#Gi9y!>V~qdwjhuxqm%6!zGtvc~~X-CqNEgfzx>NQ{4Djr3~> z(bZQMq;Jb6oP^!nfB_W*Pnez2X;1AWE?~shdW^TUT48+i1hSFUmzi(k7M1qoUZTxN zYN4GKtpQ3-H9=qPfeyE8u{N8%8zcbI$vje&& zCN%WIH{T>B$-jv}{7uxuJ`0dLs2Wwd-`9P=N99X}98`i_G%m>>)kIi7RmKo*$JUL? zVdOn$Hxgt=wwUc-yJjGb^Igr6{9Q2#wdZWr(rUr_7CwJP|Bl193ltXbO}dO84TymL zsQdquYYsD69MnG(xtXYG%efd@l8kA3?FkA=o?angT5RdbK#4#-{w7{nVZLK2<-?{f z=|=R#QPcodX)Al@&ro4Bb%C1V^>s2nP>PWB)en$o3g+a=J7ID#W;Qa3G5f!-gvTWL9vS~GU*iw8F`Zhm|>y-PYyCFtjHxI zD9ktLyk>pPJV{(%>%%L7aNEQCS_@hcmtT25sQ>3u+1H~g>TCN%y*3xz72_B;b>$Gu zQec~V$*)xCJoA!yThqSBIe&UdSz&8_xo&yp_ubl+fH&h4%KE-+z`-jj{~g67w7KH@ z13n-%pmKzZl#IG;vsmkh8kM0GN1#g=h=6i%ivMYw4H4G5A(J?1du6djusAk-UTTGr zGfqI%{z1i>6;RlTS=s+%jWg?eujZu%3pb#dylrSAQ${zUy zZ-((G-ER0Gs<>(gBWZKqOrk>7Sl5q}_u{&0Fp9KJPKq6V_AE!i$YoIvNolLaC4ofA zd>W_Z`h{E|{_HLj)A)ZvF#H*`xOR0u$^RLi2V_p&HMlkUO&{=C8`M!RXHY&$<9zjR zh0AzAScr-IG1bE!3+lQN=xYnCeS(;Jl5ni_jVNv526e>SYgqA<`{vrg7iXGBDeM(V z^%%*3`Vb|t&jp}htjqI0{9|J3N^$&%NW8TDnVe=B-e8nwoB%|f^PRH7*aPNY^^((a za#TM6J?6egq0#GUPhWRe@G$CL*p>z1#MKg`OsA4{Z(yGyyM>)C(r%N<2vZ}Q)?EG_RmjmQ`YDa7F0*ax?!T&hu9~9ez8(W7MV9s z_$9WYu=c!T8mpcPFYdZgPriv2+u(;8BdtLa_8bA`axY+MAPKY14lP%Bmix}-=YLF( zD?jsZ2Ybrpq|IoAg>{xxj>x-}IE6qBc&G=-#@dWwBG0tXkKxmGR9`$0rtugVr)I;m;z>(i6 zn)YDid^X{q2ZJu}v)IuDBh__Ni(LOinSzph|7bXx*+wCu#WFALAIX_8ONy#4LL&2k ziD=sK3$+_f2l%fov5rg@xu!Pid}o`midy=*&Nn)d3OaJWqXX=?O-M9z;+(&oF` zpjhZ0O(@0pz~@p_Y7yx|l+5Tlz|{L(l~uQ*kvrUDyVbwbsSFEqqB2A$3x=yEG`uVh z1m86!Ha!DDF}m2t@|Rac&hTXf*Ry2hiEYdJC>=&uTOClRjXR4Q4(Mt_b%gAM4R6&=4$qTbZb&8$&Cef<@iw-tKnN^cG zk(8QpG3NWiYj;FWLOx&4!nM?#M`3S13XHzo&gAX4-$bPq+=5^;D;NQ+N9&HlJcK+rNc zJ%W&##zN&({-zjVhxNlpcENXd8;XcH*({rf*4786R=zf zt)WT@@7Vb!16{7R$NNO9jgRiIaBbW?o+c()3(K}r)6H3U_p^lj;GFVPqr}D-nVuK4 zhR$yM_+s%pl!&CfL@}a~4@tMAmEdl#(7V>Jd5*n=#nNjaLL|6u}{dmhe zAwdYsa>V`dn~C1KCE$M?U3VbV|Nk#!XN0V?LiSAD*?VQricpedojc>~a7Tr+L(V8O z8Hqm5<_^ah7fC`moGW`&?jnBo{r&m=>;1>;{eHfl&&TsIZW467&MJykW{Bt;IWKsk zp`zqm-AP@Q_t>d;WH{)HV%B&ZF0xC;y}!g}F(6X3R`YC18xTRP z;!Beujk4ClE61(C6KY4Q#ubn%+}Bprld=-T0=p#wUfvuFVc&tQ{H5G>r67zEOttYO z^o%3o#PB2gHA|~20^RyrW*L|qwPyQC);Q4wCgf>Ik-^M=D$=dTqNdm<^fMBGCbooM zmv^mhX0G`>PcP=#JdkAQWyOtFo#W*;#DVU{`Zs)#zVk+5W*3R(w}Fei&9RR!wu^;z zb9h%g$*RV^WzG*y8IEgVE&M?RC#PX@PviFoc9E7*l-zI&C68D}~|Dk+d2Cl0>knUqflSK&IOH_)3jc{C-R zU_|kJ12UfYvq*wKSRv44}*+?>d+5E;kQd26PmTh#lBT$)0@}2 zE2WvQl;_omV$$xW>_4v&h-OH#&6qKv&9q-UQdYX3kI6@|(qYPo4BYP5{mLl9VN$w( z;y72%^@`6w8%wBcOF00w6`hAM2jI5~Q7QT|4{t0wbyR^p?v?$XB>FMDgP0WXBP5&G z{9;^){pV*}FX=hsFBZ#(3ouLn*5q^#TA>iV(x2=;x%I5}ak<8#Cr6(9O7iB73}DEb z#x)`2H+05LPj`w?Q&g%#xRJvqyGTNkLc)NbG8Xmp#gYnw3HP+?(qji^P)~nR3Q?Vp zw^n1`7zkc%gJ1bz6+x^}tR)xthLs3c5KV4vB|#l80~Anowy_&iL`%|3xv1-+9M>c7 zB%EGO2ttZ)as^yFMb8HvFh3j^+?{}e_RKQbTtjrh2{7&>4(6<>!oBhPfqo}a zr%PHR@k#%Q3w|&j3uOIH;)2T4twM;9JHd*^U(YSKtD}>Bm6Y5cc*!_i{2W{TJs25nh*Znp^Qj#qW8^U2; z!M(DlTuKX`O=V9d+qBvNFFrt`+YG;6cNL_679Oqmu*^MA=lMB1nbo`V`cn~P8e>06 zrFz1O_+971l@ikJIaN#I%5dS_s{E>r+TZjIfq!p;eFq)!gfcznH;t9~3)jt2`NI!Z zYVAStwt45E>$cCe$+GRV2EWGVcw@=-y1>rP-tP9tV&g7Ueq=D}Jh1psONUwe@6)rC z_iZ7Q)`2+HE!{^u&)WzRc&*=?CG8)DULB;w{^Ay0N~{YV;FT1~tD&V1NxU~N4z^pk zM)C)we43T@{$hr=T6$l1gK60D1Tn_Ulveqw$alpRX#?scaF@UVaDHF`-tmU+#&P*+ zlr8F9HPNw@BPy4@a`z~lf?*klehnRL!AubitX5yYtsjKg0vUaC_-b#>Ctu%U*_ErdevNwZQr+9V9}C(GI?AF zm_uXf+e-$8cRLTwm9-Zigh0!>QgyhNguH15y$X%^@=OwJq1q9wM?&QE}rtduQY2%U%7w#|SFsO`m$cq~mlV3Y4w|tRp zs&znAj*lL`ehhWGp zQ1peQXs`P)t$Y$&m;zH~$2g134KC|}dG{m64=xGgP7WUkh>j?V zFetRHO+<%0V_(%bTq^;$*L(6=zZBCT>jwf@WU@58PfAnJwxpU7%|#=0AhhZr0{DK+ zN?D;c@`XsRrUi}9fm6v~zM@v^g8clHs#Y+yAs`%xF@pa^#Xy5Jx*5ufb#SYm(gUJU z#iI@PvdBOGg5DHxYUoD(8dh8!=L6`;9%U+{T}gwi247mn`o^B)>vP|%&4i1_j;~oP z4dS+s_UG{pm6I)bF?X zy}r}ak+vvul0;fb=|ZzH2RfeDkZ_(-V#LpuSiWe?wOxk~;I6rJa5&`+_(6JwER;+{ z=VMqtiz=W1Vp}6qZnsiWWy0!MZk61k`hwqwVI2pDyW?L_iN>Yy>O#`&jc2!{+<@+H zO8ie;` zNF#^ym7gc}AjYKN3?L)1(jF+g<2)V#a6VQ))#Uk%r0wDc%g;~g&mo4OvN9Y>vtTlLZ?Fw)t z!%b>Y+rq)h_SZT1rpa;TrsHAQfqJafaf|oZ^S-BJnu!->7?0^!+iFXnma(V33M|Vx z`fKyj-KZ#V=7aOW$EK=d`r*{(p|>jHL`?W)%mJ3>UFK9p7+n+UQ*~#4=GV)T*62v& zQfvc7t_fUs0dF#wfjXoBgeX%_SP^iB1S57&xvywZS~|kA-eKr&t>6;&K##H(a%r7a z7GL4Er-U6T-p^cdKp8ZGIwHKqF)%-pq7Vf>;HlF~jxH6K%2y6$Mrb4N}Ox;_05nQwR z3)VV18S8nacjelrc_4ukry8XucJ~kHejDiOWlRpfgLvC){gqgKo~oBs#e)C+jo(L&M?l9# zu+L94xMkue6IQ=Aab29@KhVDhk%F3FlSKKc>*j!J8qBr#HgSJ{ppxmz4y4|fYd7#k zjvZ*DEt%d{t+NAn@Q7Uu?D;D9{Cn6Lp*X;GP(1Ww5@W|s8%gBelb$}DTtF;S7n6`N z8oKqTv}6as@S95`xkBZ&N$GMl-U@F+8v~s)CE~_G%!IOzlzpw@2jR3u*5)4d;0+n} z5NWXyy*}L?&UVF87Vw>%13KfI;(GETDagJY@*bQID)Zn~_OaUmmv;pK4X+l61MEtX zIY3P#KA8zF#iKTyBq*u@ER?b$i;%Z~^A>>{%qQLo4>qBI(u>^L)EeI&&)~NPJ)Y}$ckgla& z6S4-Tv-Em(RTdvj(&VWJsMYGHm9#wog#dMZFlJq-kq!{&b-R}2u}w$_l%S+;uVv^) z0md>U1r4YQS)6cJ<{YU z86ALb5M?SZ?EA*2wXEUE`jxiC+^E1qdCCv39=(4W#5A&nl>-|KFnr1ZTLWFC;yg>C~YXqf!z*x{+`y#(c}NMM|z zkMg60pm(^b0v;E;UAvU%cmq_(0QIkn>!2s%NB@EGgxbVU5JQPrnlFC>jqsFgpldpE z3WE*P!acg6(0L=*)<}^5H88Y5#8xC6FrWlr`$C%A$YEe5Yi98jul??+9ZetoT8bB& zwbAmth*ku80nd^d)rGNpkoE!%j&}efdKe?K%oC0eLNHBUzEE4VngmgO!kt*0vi|3d z)h_M*U-zfLd6bZSSF!Blx0T?>>mSo=V*@ify*`dXa9AwNbj}GD(<~fvb(49s{ zc4^(0encb;<;W%O9-AB$b~kjJMc3U-^M65OUFQ4;^1ER4hISuXQ)Plvxzo95&DZ*r z38(n`9B#63YuZ%r3pd%loq*`DvHj*i2BYuEw2B8d;uFj4fAHwH6fpMA=bXreuz>lY zAAbjw)5{`QjXmICi!Bk#IMb$tZf^I{kDodj;&o}_jusmxnXo#K%E`;OxWaSQZ*l#Q zINjj`7{PKTFMJdG@4=!=$8rMfwyn`VWz0LEnxlhh;G!ZHQ!_@tKF4= zcM!xfO8Cu+OMb<^x!Q;qmc;^a(*l%SpD1RJ=rSMwCpS}%F|w5p)epxg(feN|a3%i& z*;O4f#Lz`UsrAQi#25Nb`9KL*MIJMWb&$QZo+c*26=KCG)Vr*S^i}L}JiAmK-HXTD z2}d`eRzzLp-mA+$q&NIm4P`wY5XW33U*f}*$3AP+ByCjJn8$xTmo40pE2e1+O}TUJ z2fo%~h$yUG7I9A2X0Vr{W=>pG9Z@tuV5{-#rFa6dlM8q(mjJXr+h{wC>)oA5!bP0PF^}|J1HD{rwfbf&o9K^!>+TaR=>5P!9}C`%7a&Jt$+G zK`@zOB%6-|*PGXS^|Sl`B^BhYN*#d}nO~N2*t0bA?6tPd65uMGD5jOsyJ-;;6qd3pbJOSJF3C5{+I=jX~sy}at= zJA36CLD0X2=ijf&oufD~puLBKstg|Mtc(by@$4TArWErV;51rJI?%0B=={n2eE6A`}FSKlRvutBkGS`xF!& zqkt2)6xE-3&Q3!;TyA8e zH2DR0QYGdDbcD8(?D^s9C>3% zaBsApXULjxu~MRxk22d5U@UxyHU#y!Nh=TND)iTV2x zz#LJTM*BfN(78{U76&s^1h7MM9Pl&D2N(sT19uYz@AR`Uy}hfjqg7a054MSraQUUC z3usyZ$ZmNmpZ?O)jsnSb?nV-4yL$=gE2)z4q7EG<-+juI%!%i_x(fz5oW9IXGx?SK zLSSV-KIs!2(I=wvY&J?F1W_g?je~aNa@q4s=rl#8THIhXZ&6Or1 zaSm%~!rUGjAnEjPnn1(}8COJAoLw|w3i8Z9^`5^XsA=r#IJDL!1br+5Z;#YSt(Z(o zm5%&)O0Cgf{nN7$ZngV1rQZraZ})sR=^>55StAg?xFHaK{dJ1rxgkWl9V8;tQYmL* z>bTDgC>NqfvdY|!erKKb=I~)}fpf_%OrWs<{pD_6iw6jczo==FwEEtOtINjQ#<~@O z_%fFs$RIBOS+M7Qf^S$Y3E7$PK2})9j{s!6)VPSZAe91Uk0{IK zeos0--z$d6$u>nJ`=v$npSp0EYjTsr5dfqh8HiQmr!@}`u1|^$W&D0bwoW%v8N4mXEUMu`#w=(f|LJiAv!y?VO69Bn$ zCX;%_TC75}43LJO+Fu>tw=}-TQbcyWU9pWA76k#@tR$9*sp%Yr{B}vrUbv3B33?B4 zK%m;b8If|09>;3&48u=Mkh;?Q^tE$_f(%y^UU&G}!fToPlkplG{t8npQD5og0DT9o zEaZ}JY0g}A;Uonk{phd{s(Ns;1jRTm;tg}JjzOlDBnsGqX<6|UKN_Yrj!;9P^N-pr zes0_!*)7U^2XAQFW4udjK>vZvfmaI_q+C$423JLAh^8-%0+O>2N}TyQls&I9CckHV zZL9Vm^DqmVtA2v|kGAlkQHV53(`++-h%fphxgqxN(n3WRJ0spVR}Z4#?>}oZhkmcf z1DnL4&iykXa4h%j8r8?w1>b(T`A2nHw3fym4hYQWyuDFD`V>V|P5AdtSm8Otksq!~ z{19glIXpf82<2+C?8p??T`OuMcrX$96KM`g@*&X8he&TMR01xImIY2NuAvMTFLR;x zd1D=*iI32>^&H2g%}@Ql5REoExNoC$wXjO@qHka8pWEjrMmv`|EOKOluxhGm4gP4h zBup4)jStC?P~NL_PDxJy;r1SsSAmgIqa%9GF5QWYN8;!0dWRt+Wzxfe(-fOH|Ep9WA2 zofl|4Fu@{@Xe5uWcq16@)^T%yMuI3P~$)nk5xofF1iCw0;N0y65ln76Ke3-f@U zK9by!ohv!eB+7p4P`T4FF-}__{epR8HpGf9{|jk>tnMWX1;0&65n%iUY`)9e%Z&4` z(`ibVxqwV$D;TM>S zwVZ&RIG!DdMcy;tYlR!Rm_of>`T}fDQV$&QuHT5+^SUR0mq2`lZN@woU0^=Qih5^D zEUs#qbf?mWli2e*Wq*GPo3?ok%z^o*a~$%$2MXRoa@_dL3csf$zx3TN{$LmRpZxcp zrlhA~XWsq-etgLm0^yx^b-Xhp@Ly-l&@Cz-yJ9P%0$G0Tltc+OI_$0NoG2PQXqk=C zek*Z5kt5oSYLFK=tkeyai{)X}0_379z-!I=bMOT3DxOOQ1Qd3PM913eLTEqVr{%)te7b z-Gd+WHr;=4dBKwd8pW*r6USV;PCfz8R|?B8kZ*>;7?RfPqB{klr<9MU=&>xhnV97L zFf`r91B4h)S~G6f<1m@@K|YcOS{baVwkq*_}vI9D#Vi z#r9s~!dmsHUVYL~@u3-sQZ*sbqK?d_D3bJ=chb>T>=BfJdG6{}cK)TX>YUWA(a`XzQGxwskz}t1 zlap%T$$7QEx#vaHehuV>+QwKFb%R-#NOsv+G<#ZrYxgtTIX3YV0QoHGcPTlY&8Pnl z`M=U=M4?D3odhqSIG`D2`d>o-WQf1d{M5sAy!*lY4pVi&1>(k;k}cztz!x;U%y~Mp z`J>*8-1A%S>W#k|O>OB`#LkU8J|5n^nJQ7#R&|l#vQ1q&IQINc<9`gqvcF6_Qlzv! z+7)`wHs0y{DXjuA5+yl|9nPOhz{>+K3@o6$dN_=oZZBJzh{&V5aE9R zN9Sgq&1?5v@|A1x?i`$T09!p=4&HHt`V{XNFS;)>y{<4Fihd<_3JKeNejLvG;bVrp zTuAN)rUiRIL_c|+m~lCjF%0Uc7zBJApI|lY?HN{92V4*W6*!p7Eo5%B-jSs#8L?7ftT|me}T-zJt6W)E$qQ~ z&R1v%aJc`i;(N#4a``rhCGaIE2XFG}B2l79Pn37}Hd^Ym{OmLo@b=F{CA(@+<+um% zQH#za;tlmNleK?uN&jS)3P(JmlymRvWEp_2UAsh}-X)590NG{cT+00qJE+M%YYJ%c zSV^JD0HDy;7Qwr#0N^T<5qcN5er-c3DETH>)CySrT?85YQkX?%#Q`R2DSoO*&qj|T z=iGukeP_22t$*_Bw!mX|qS?5h)jm8fpHtnClRE^8U=nUZchHTI>6ksu0L<@DtW8ca z{2MkQnB-fGcHB%Al(=;4S;7WuvJ|p{4adMQdWrax7KI3p%so_@*Q_o7XohE(cu)7b zG-ZG3WG|r7`8THq?gxv7;BqY3d$iL{d~s&G{9j3zQo-`~WydKiJPI-Hv=+E_n%K!~ z1S?9Y+IqDs5+M~?ce^TXjS-sBHu1Jb;A0BcZorGF?y_dH4%E`N#|HPN`;-by9 z1MYCXuonE_|DnVgA-OtI0+FW!r_gweTY|`&`)i`Lnz%`(@&_^nO`g_fKYkJ$>&L6QmHFS@ z8OD9VazzFPIB{9=HpLr-v{}c5o_1fa&^j6?bZjQ zlpXV)@bmNW4>8?@eYBF(#@Dz;;oevenm%Og)5TH-C7MF>%io7r<-C10D%Q`1%!+~@ zgq!3q(cczf9_DP?@mjtQnJRm!yH#+am^7=N)&*D?R|`1)MGVeVzmajfvcc?sU}*sj zEYN_f0#f?9Xw)rta1P`<#q3J?f}hllZhST9(0k+Sj#%$W;zjDejYa6mJqMSa>ocSg zT5`&L+OoI)`Y8;<$08$rDZ4Q(?IJep-t;U=2)RJ2bDj=_8mnHK4n!+jlt)sv^AckK zSCL6ST<2Dil?Qx=*p`_us<mTn_#bNLFS7vqf>Os^vaTpahD7*GF6KqEAP|{+neL+s-5KU3NE03q$BiHeO8!b$2mAD(*e@G6lW=ejoVn zPjp&A$L18a76Bbt%f?(qe!31A%GBREFvpbo>+mi;QE1|}@0=&Xl#-fxNosAV66zZdNX7o7D=)L?hG1{nrE?#t$?TID}7X) z!Rftk?ahJ zBsH_<)zFZQRkw(&yI^Y~-tRMQMHf#z~t>pI-|XUXZM0sfq1$6+m5=fN0Q6!9Rr>7M3|`Or0{SIyzz zyo(G-qfh#^SRsZc8T&R<>Zs11p5F!9PM5|-DE=SGct2o)l+VpjBS70H(?GzHX-_te zdCehL*wl0Ljp&DE775w3ajtJ~3CDSO7_{^AwD_cQ`a$g+ukyi7fR3jdI>TB1Ek@XE zWfFPta1G8Q!6?%r3YGtO<)RH$JJb-Q#^iK2w(<|h(P=!fXm0-qUy}Kgpp`Y$E-9{7 zt0@COzIkJbXgBzt*w;}Nb}f=vvF|KP6GTNthqy*Ri+He+D`;n4TCYHSdqSfOGx!jj zOfbHL{W)gFOOliQKTTKuSB%`j6?z|W)Tx2K%?Lxt;N_Zhig$_QP~ z0n46NK|F03dg~T9Fx?Sc!*NCp5Thd==y@*3O`K}seJ$NvOe=Sk6nX8^`qehWLQO|# zq;;tzj#?M}nRhh4sQMVs4tT5K{*R-&JY{c0)T|kkgou~)lpqpb9&ynT*1(F@%gz?P zu&N=t2I6avepj*I8O%*9*uWvcSRA#{a}eOUB&NKh4G2Q|At_h@VobF#8Cof5v{Io_ z{kg%2a!R&-zrc*K5c|2U7D4ONjQ*!uHsvG^thFyE{Ce71 zID1ip_+veqWR*n(9%)Cj8)qPXCfunS7lIr7N7F0PNNI3tsp6Ws|9M641-YX*H%ua> zQ738de8^y=JML$dcVYNdN__=-f?FQidbJJ}csaBJ?7t2B;e7O2)L!cXQoV3k_<;5R zc5;OZ7E31=@n{yhAR*!SN*(!$e+ir7^2tPM=jDpGhSU>G3F$%zy0qcv&gnnW2>~Lt zIE9fcT(jCtkx!cd3uw7ou-bno$&Ti8bJo6$(Zijj8JxdVLP|M)#2M-lQdR|NA{`#D zYl-Bu0jtkWox#>h6>KOq_iRQ}H3{&hWtPWP;0DWsfpKp1#Q?qQzekfXc^ivhgLYMm z(mEMKg=l#q!yxyu?z4+4(nBP*C@C0afo5IFF~m_g4z0rFwC*Dt>c9E^TVlR)R<7Xx zZ{MmMciG_7V7tdV%kyhQt!>W4b-COt()DuIheK?XSurDTSq^b=ZXfC}GkioXo4*5m znu_$E+uZbNu+D$=Vc78DE4`~OYlBqZ*u#R2uE*l1V!AXrYq*wbCHd>?4jj{dqNW(fBU=HkSKOPt zO^i*Y(0Hm1W^8jT^ipYjJCYDK8`zBD;q&_1^3(Ile~@H<=vWQ@qF*p7zZ8r93p=p1 zyUL+qpENSkauV%=zHQM}URVLWNfM@>ZSEP_wUj4*$fAD~*P7$IK8$#mv^M6SSdOAY zmO@-QEWJWBraG$6M0<&Yf@t%mk1OwG=gfo|P;)#2OeC zg_PNXA{6W|kbeN!a7nni{1q$EY+(R;{gx_t4Bzr*a_SP5XWLV3w8dFD+HRLWhv&iN zr2T*GUk6|R>4)z3QKr&v-7BMZ`vqnB8(Ko`b@<=7cG!{N2VeRd&kWMB8vxf{n1UpA z)q=3W!X|^|lALFv#W8AdEn0z;7;41d;{$%x=rO;|_rD||#N50%_MvjS(&l@qNLFaI zI$@;3My>Z1Bj&fHHb>0A#MzV!x6&?BJ;Rzk$83Xz5rM^cFu?Dburm=Qu*kw{`NG=qhYPv(N-mSB{zG@Ls_+Mu1SS`gr9W0#XOga?a*@VjU@XiZ=e0P zd&k;$YRXV)KYv*HiyKU`K`evDE~+7PV)@Gy!-*XpA+Du`hHn$5+g3zjb0YylBVz6$ z!UHuaC{1H=UAHsX%F|iVr{rzadSwnSNlBM(R1(d-n56mWfws(#?qmBlOLwHUm}|$Y zqxe@)rUT#0Pu`k0nIi?MYxIConRG$90AdWZsr>n2Pxb+4SBoa*OSI` zo=lUB=}7SZtgR%X#O`G!hVK-8o80b>yuniuAi9VLkh+3d>3lPaQnDE_*fh>NqA@H^DnW_ReQ5DHtw zOB{XzFX9iLe1q8pCHAr>9aBMRQX*`ziy`lwtBmYKuWv85uM3LHpyv2v_yME7(jTua zqdEDSmZ=V;#)K5fuezK#Vq3R>3X;Z8;y-K{5YOYh7Yxf4FrO z$R{z<*A!a+ON@~xu$lu+0MGr(%;z8V7#{K z_#>MWmwL<|*)nZef0&Sw$CV(|yXET;=x(In?-JyQ1g!Z0O zo_RW{{~+!xthw!v=C14hv?aD2&J8CX90ik>ctwR7I2(5uuJoBycQf7* z>c8vbLWVkZEJ;irbYS;dW(&jWSjkehJ0f;0wLcc;^_CKl`y?v_&w#f3;ZWg_FvtqX ztK10qQv_Yfx|n~ss843Wu#jT*xnTB(NeHGB`AgNZy7h~lu}qbJj_wwSvGAvP{v2JO zo9v;kc7OYxFN}ZQ(Rb0M<6@k}^GJ9Ln6;0M1~rr*;Y-m^e-VxWN7nyxTYWNH1dEL?M6dlg{D;#Qn(ZTtDzEm?2<5LA_@o^$i zP6M~dHs_qWY@h zYW5lhqHL-a-o3eno90Az`^PUvlMJsoHMaWRK{vc3qu}>MB|T=UKIb>t3D=CJc!CvP zgZ82LDEOrc{A)TEKjmnnd+L1!S8})+Pu(f*X=G4C9f^~*2W=-h&PMczIg1wS*-1RR zqzf7EA#Bm%=2EIzFl(os%`Rp7Uo7&%agK_)P<&o8d2l3_KLs!cM8vV#FM=$Q?Y82a zr4awWZgx+IRlME&D8fqJ{I2MRjD(R-GO7Bz%=}m#xIxal^uvcMD9=2D z{~!tn&Sh+N#m1lRw-x4@7tk~I=6%&?bVlq6Su7go=j$SMt6%=MFJ*Di6t9?(8T^Kg z(8d)h0iJhSX24OLnGcPCCp4trDuz!XTBe`6xvNEM)Y1sBG13D5=% z+EKn#Gq*AF$yL9{+^jk%>&&&g6rCesF31=z$yTb~{X^SB04;V{@b2STVz9bZafB_l zX?0`Z-Sfl!gOB6k`n`5(rhhDbpE*u;sl1*=WM8*-^U#a_cX21BeF-8451onU>OB;x z6@Q34=x7~*Or-Gr@Er?KqoMV+wC(0|R-_+hv!!@adDYXA-E#*IGf@)3w@*#-`)1Lz} zixJyC!52RjUN?no>noc`wqNx&yE1v1UW>>q44Ud6*w6IDbl7IJ$G@`Jf9wHLW_lVo zIo$FPtiyySc~CdFYUf5k?cm4A-wC}Takj1r!|g;5O6So>6#DRY{5=^^5avS}IjLI7FmE8Pm&+1TGnNyhN zG$JOpQdFPY(EW#Zd_5RaiS6zzC=rRaeIiDvi}N-a(1~P%b#Xvm$c6rn>UboRHX@0w zr8I#<(vA}tD9NuCgC91E#?G=z>MFL$=vdHhnC^nX4BvHL_~GYNNcqalf`^k`%sNNr zgR&2(E+Ty28K|=I10@QdHKerD4i9UN->XIJFKPAW1mHue7Vk349NQnR#cN)J{q(x3 z_9UK}UCnxH<1N)IjQ z(kK8vYYGDe=h38B6;RU{c9sqZ_w~N4`*o!oEJ1*_>xgRSzf6c8) zrbD&)I~()#Hqw(Q_U{L_lQ)3pQZMM1R3NG<+PV~P&(!1rn~Af%AliYEYAFiG z;yBu*>Ysav8v`)JaLsd7hE5w=ek>`?FHXspV-A-w^+IC^jX-tSlKlsXP=$rpvuuAg?`7O_-q zLs2$wl{m>XJgEf3^Iy8d(y|KEh*l}IXz(+MdohwfYRoogH0AL0W(@tYANpXnW997M zVP>2H`3`6Ti8$FyA+W8qY^8_QGWV-dI^?~_)DBf)_z05G;qAGRubH9#y7Ns0V#n6$ ziQiz3U(Nv{I`iGXTZto42Jd@K4SM~QMerC$viV_tm?EiuKWh`}+QXts(&Uyxp3D3T z@>-zxf@qL(F|iYID-|rbw>s8NUU7lvHv3Q9d+^&y@j)~ZUHnC z!1{IPloz>Dt6d-*fh0*#-g?4bXxraau4N(ymj7$uRC|Ny=Y=2lb|^w$ZAN(v$zFzQ zaDJd4c-P#EQ8$nBO8EKbJOAFIjqvNn2jOw0R3@5t6|gf#+Q0F}l{$h`rbkcz4D`6~`twzOm8=o}ltOEXL#GUVaw8UG zCS2_jsb)&hza@!|eVyCDN~h4-j|rwmcOTY)H(fn%LdqKF*l{DjM}9R#uEam?0NjA| z^?CL|;aTs+Gt3D5O*!v!-qD}FcVmi<(vZ}O{x7W=NJcfY$SBn(p34uhp0z{NpJE7Z zT(B!VWe@cQkt&uDOYyO!6IqULlR0tH$I)WCc@~HhRWH)wx#S6FjBwHe-BS1BbrHv!Tm9p zYoFp$L)W(^zh*X&0%3=xm6&$I3hfc$?DKRHOs+aCWwFpck8+%7iaEyw=2n`9@XZ5s40c?sDB=RzJ*zns2h|WnE{rzr zR1QKia^LMLk?<}Zv}CMG!iPQ8%kbuhG9*o=q)e_k*-Sa+w+MeRT5eiVWgH~y4qniA zu!^X&odVvXm|wr*O;BVAN8LS(_+v7ezjpVW5aIXfi^6M*;Fixzv#WMSW!>RAwioR_^Z8~~oHa$&XqMf z<=Rn?so(IsN9)s*Y}3p09o9d@2tJ;lCHK2XPV0B4HSmue_fcW zMlj}Agmv8{qt^@2@d=L+LH1$6$+r`#{n?u@$QzO6Y%&M4xsHDwFw9Nq6D*;~xYh!n zbn~Uc&p7;4hOZ7mq+o6I;NHQbmB%}J`pPTp&R^h#>x{GeRJN69H7)DD z(M%lI3VYr^Wwy7(gLNaGRK+Nh#r zu$I_gyuxc+(_wRqIkWIbkYmy;ED!AJ0fqqM>h z@rr>dtvP}kv}vPz^_9T4)6_5hoN)$CJ%G_KPw=(cb7B`r+TsdZX&v|dvU6mVbz4pq z7466`^-`fOb{75lwLf&N9+Ms53Nlc0Jl(bh_F(cV*jzF9C?wi}ghp&>%97J_2B#+E zWNu}+gB)&h{2S%rM+Ds+z8oA|r-X_eM0EHODfVF&Tfd@gDFk9RfZls8XgyL292wGf z2bGCpXXIykIee&lBF8w>FaQELna;#k3q++9j(G zKhaYgPzJ9*WLus9TIrT2o>p?cC1_O#CA^S+amJ{Gk$}jP_uAP+qGp*&5S#=9)>8vqqEmKRh zOx227rQ|!4D)7CdB<4ivKc^ZViOdw?abZid^S_SfZ1+H&kdL$Ht^V^5`6@lvzbPci zZV4QO&+`XB-oKbSnDDT9nvg@lPqMYys1M4qmFfedN94^zA6B-}3>Tu7?+i}J&1?4{D94{n{kL8Cl;;U@7BNZWFGl+O?Vicr8~6O7f27AW zF%`5Cu||YZ^0&Z;%{XcMr8(BFz3gVpj?8Vo-dBgMV0ubD7~GBE<=8^S7U(Aa#Hc~M zRu)FaPLAgAP^JF^CPCT0yfk0q0j@`o(iKJF~+N>6JwdjImD^r; z1kYUnc|?&zk0%O8W}EZ94}X%H^jYr(=tGLIwH=_-cpPCQlE)xB5hzG#Dz~}N5gzIr zC!3Pj*$yK=ZTzfrB5zB~y_ux!2qWhpq5W>(`D_;V<=n%s9emX+fm<@B#s=oL+AulU_K!o;TgN zkyb+59WU}3x9;9y5ueAzkN+q(49P%>m92G9cne&TOo>%*8;Bu{Iyy46k9=}Si z4s$iS=j1zYOrDo;$@}-qN&34i<-^We+rHY(CXNGS2p0gS3~3z3J#f@`Qid~*I)}+O zSPI1F&pA-;*D9Qt2p8^<9YQ%b!pV-jv>ZAo%C(;I&6G#3e%TlvoJhVdJc1i}KM4n{ z$ccb>a_!b2Edn_t5k(6}PAK0PPWaZ``rHqVA5D3wy<-M`-uU^}=jG>}w{IBUB!>H$ zIPJE=a}vkM)gPQ#r`5NG829L5p~V~S_-Qva9N z>b#s&+#?_7=zQ2Aj6%*S*J2F(`y{RG0g_7!S8!b`&z0lI5j-0Bfx7*3@PpbN;=Ac> zyMvqq=h1$?>s(h*cm^BU2IaQ%o~4OqLV)c>zeRxwH&!bMQy0 z;7n(5ZBF>Q^H!zygf(X!D^JilLxzAq?>w=2Ze4f^EKiTT*SF<*YdDA};p;eZytR)a zIS-JMN1a=19{9TO9B#jb?Y!1>J119oX$;8mu_Iqs-jV}%$WP~9mFv&>T8>6uwV#(7 zw@LZAuz^y*Y86{h3OH!Ha9SV@z!G&1Clf=AU!TWcvO4m>0~}jzAWqsM;S@zc znW`M7^L#CVLy$tJ<}m;{c6X5P#D;>nuz`QXgoOGVecAhfBd$C~j;$Oh?;Q}l6+)y= zN8aoIT%qz)ISF}=oJ$xtHk?N&v2qAJIe8{2znzT`GQ_C&Ah=Q5d&^E~Q7Yk?5S&F$ zvxD(#Sw)BjLM8;zuL=!kcY~5gR_U%xPvRvy<|7qNRbr90Yq1F5N!( zIzIaCZ@<1|e*K&)o|c_ui&mK5MXl!9anSu)rPdYot)fy6{A}cBEBTomKw{N77Cp`X z7EYy8?yE6Yij&2nQd#az4LAgh1+}tsURk(z$Q@HeYR-|oBTc6@ko)`yE7$fnk6ghq zm9NeUm2<5sZ>aO$`5iFGF3Ft}6k?R_CUQ+r(^X0x2a-GWceX0%Xe~fyOC4zh4h7t--#lUoql_;)&K%`*AVgQV zO8x)JQ%bgVF~kW@TY@1kKhsv*sIjZfBWOhBmQ?QPw%V|KN2tN^3)m z*a(4r5Z?P%8)B3O4s#Ix)CR(5m)%ME4~O=FXa?6!mb=tlC zI?ShctcnLO&1ROcMEE?<@6TxO2cn%;Z=ND{v z{H>fE5rKT&c=@>-o?GyiYwd$y+dfeLOeX^A z=Ne^XCCdsOm$JT9D`|7CMh-m0d*uyEfP+O4IgTKOo?OQPCXKIZ)wWsr3LdY1J+gkV z92E}KGXpm4eExg8uk3!W<*&$b6@FHEj>@qL55D**4sbN^XyBY(a&mHCq63gy$T4!l z;Zr-0JNf^Y0V*d&DX+y-9CzUT!$nHJbIHJsRgHiAi%r>Fas!VJ@p7L&-pCP!$hel9f;Q&yW?WDtCtLXWer~;3<`r{3;pBk0 z#V6>`=*SVAjNJ`|6LIb30QosQ1)O-~sB;ubsHyy47haI^wKcJ>+{}J%ss@-E_D2L3 zN=~UAZh?E>l;d0cx4-=BAJ{UOPDmIMKl~e435_gB6ph>_!b||?C=~f@4tcZVRAv}0 zh{6*a$w^uJEu6!QoXaN*_p?yBhtd<;xmK=!m{-Y_cUEXT=c#E=I7b*4zIA*#4*?1% zD9<+_-;I1XKO^cj{mQXfEz)mQIDsjJ_8=}uY*FEYj`lMtfpa(4Cj1-b#) z^z7(rt^ZGUQf815laqllX-d$AaKt7Gyy(WY%xbuGoHdftPjUB7KCR7C&Q{JDVsw(7 z(pbjmtvB=ioP&_9(%%2zk3V3H5iNwajL~IxQl=p=>nix|*O$eNp68wZpsGsk&2Yj? zAs@x_W_zhU#Ldn5DwZ>xQa?sc0P*>9uRNE0h!MUQTuCp^%ikv#6>fHAY+*cdRbxvp zg+JqFCZAUwIl4SAIG$xVM!xs|U)s4u%P9wG2q`LCnFJQ@J*NC7BR}x}NAA0yY#gTI zMzJ}6j-~eA(w)bhaEv_ZNM70jowqQ&*4Z)gwR|Hd(v_d@5Jq5i=1+B<7RuN z&vljqC!A6IWg%<2g5~pmNIZ{iu!A!O($Vb^p}O49*CGl1v1T z8X9;?cxZgARrh$QzRSUtBYDxPTNG9}j!zDp5@Q45-}Xtf2O&d@-e((xG!U4i%n+kD zGY8=$TPf$a`&7|irg8A{?Ymif^k$j}tVDWDeLf~N{1=#`e1)^t|8qX2qbnh4I6%{w zxPCS53ie4m$`s|}?5x13?3DJw zvXe4nj6O>j!lil;=qQ-&djR?s;MdRd*3u@>#VEbb(Oy34@?62O^M|`rYKrx-%4-LN zDR11zwHzkr&&!Rbf8WSe;p#bgjR!rGuMWH){%rMb2FfY-4g2`n0j`zr|Nn2DNIj`v zdHw(GTn9e+|8=&4+49(@-&eCm?jJERa!sAA8Fw!a9MQ!9dY_#e@lqJDni=km|jl}DYU8803jJ8+&+@K}%Y9>qb);5F8+%2na&SsbEQ)p$_OpVp;N zt9p*{MWrIHJ2nPPYOs2gm2=7sC%kTbY*{1T5Uy)kquoV0{R@xD_Z@)cJH67!AP<%I zIlgkD!pT*R;7d-fro7d&M_wHHnC{QVR_?f)DMxagIuOTt`eBaU$4O)5c$KTdxpXTh zDWeS`A0^kVT*>!q{?uRm==9WKK{?z|IpxYBJPBKBb$WJsX8k-~=ZWCFBX2pwh3A2m z#sC(cl46zT!y$5>B(aLMog!bwEWB@n(De|`r0eeJ(>u2U(U#%>~hR*1vfLq=+<$zH@iyr0o$de@_)V7|JgH5 zsW8Zu*3po#?Y4ZxaWyL#u}j+V&FeSQg>dJ^+jnlc55m3lAh410$qB2RvJb+tlXBKM z{bs}}Mjy0|l-)@=4TMYdAka;)Z{LGIYWe4!q&yBsuQe=5=a#yaPqm*{VBu9Y@(H~- zpGu;g@gzSD(XAt{dV`^J3OPmPsB;UA9Dl+OeZLw^`R}?`(*(wT7kq8y=m2MSdAv{Y zn3x<}xRaCN5Zenm9H;h^k9uc;3-73wq?E7aF@Vn3a(sD$wH&|msPlO12?xYRayc17 zEu0H?;0g}W%4MjK8CQb+lAjN8NytfH3oqWt&*jbpfM8>=MsPwox5|5NU;fzvfqBa8c~MUC?B22HLUX&ACk^;(m9>>s+el^7Ue~BR3d%HPu&!tIj_?`_$i-MV&8y zADj~I-(R1X+aBrMl4iuJznCaSuHfCDam(>}>A=7In*Tw5`Pf|L7L|W$XhXq*e_sOm zDtz_flfDdRv%P(QF_dq$g`ZcR>%8za94p5gI7d`DVC1l+nDTRY=cX%P7?NW81PGH{h&Mb4tv}5jlC+ zL0%JwxEeVc`F=h6?y1`h`1^dT`g@T&g~yE&#K|G&k)=05PLkWbCrI8zKyu+F^aegm z&K;g3*TKTYxmd+0LyYP&r>tVMY?SuyG6&(!x7Y{aVYWdyxqrWPAVg^(+`W7I4r>_Q z$jPch$C+N-YWP>vgOFxHssG0v8whTVz+~pMB-nd7!;!AH?b5P}(bb#RSvoblAhbyc z*|_-*pP4Dr8DW%FjP5^tkVXqFgeVP}_ul;m6DOF1@SW(ZUug}5pIu^^Q~L;h{fBOi zHjFd+P0KxB4?>*;+=^k`zJ*+bDyKZmIS+GbBAwm8%21+$P_z1Khvm;@q^C+`2xl zoP54N&cL(3OG3yq`Cq|v{`eQ$abH?hl3JbOZ;h~KlOpT0R1t~c2u^wn>KxBVCwAfI zTX+gN0qK?s9C;`_f&-H59ItRZa@*j-iv?O%&MRu3fZ~4Iro(5OgIfkC*t`66R*YbobjMbKr4LPfB2KOPdYaZKAHzLV8)s0PxD$VWT=lp^ z1Duk_7duIuh*Rn~g?OUz3GYVN6ZT``^gW)fTsSo6=$@$o^8uITE4#xL6+CR5z!hq6 zeIuB_`4(AxTTf3LPsKgKZBBiO(XVQT@U9<}=G&aU`4c+WW(|T*Am~zm-&OQgJx5vB z_h^Ff;=}eS*oxzHf?7OT<28?aBZ+f(8mHd4 zNAcO``VJ9f)X5u9l4^6P3U)moEdO&)sr8XF3~^fK63%_DfVv7}!6~>K3r;z%1m7Y9 zmCJnpQu5{5OSvoiUg9PDqd33s(Vmm^-Gz9fB%w_yg-pzP?sgT=Pm~fbxGN)xtM7gN z64%z8B|YAIMbZp?D4zm{kBz&^wuv*7V2}9OSzIqHot!kjiSJ_PUx_E|^NZd){so1u zhthSOZ04JI<_KM<)VQPh{{!OPe}DFGOMQ1So>H9gVdszdE>UaTf^Sm8-NYTWg!7Is zRb}jf`X%F~hI4LzH#NA97JD$c}<%pcGz0etZWVLhP@6py>jZbmEaSCov*UHxC zy{aqt6n6<$<^pAW+V@?OK7mtXOrBx80~G_K#!<4y+tOwI=s5yQk?VW=xZ_%3NrIC2 zYUXNo&N05-!1{o=dt75&9d+IcoGjIu`yC&%)LIjS2XE*E!dHJ)XAnF?@EL@+wBGl} zfBc6Pb&WD75MI+F<(FUa8HDFweBKKJ?)X6nw{Pi2r20$0AAYP;2%a5ie&ACFI^xgq zzuNuaMyT4{>EnwlSGmUMnd^S!+R2GdODwef`KEqCk3sO1ZPGPRVN!6s$q0 zml*woqD~O}BxP=55@yWFH`el0%3`9>2@dR&|xP&-Y#XclKMW0(An zYuIscyY2bLrHu>5jh%tpTwoHpG zhfD%Egioq1wG^Mq*{0Ur#oanRX}50Qx^e5)jT0>;_LC5<*9pQi z*E~tMrZ&g_S)-ir!x6kpfz}rpX|F5VZ=rjf`ud{lb&ay`VWdlpbcK;0gYeu7FTSL8 z5MHC~Rm#52>G##=Ak;<5epDJu5bpk}W(Z&XT=Rn?7b$<3`GMkJea3*Z2tWVMcmCaz ze`fGQ@FgSHp1Vu5*Qyt~WO!R;LeSi0bKG|ZH0}2%Qa^r4Zv5CCIu=j4HyHIEno{HY zrLpJZ%*(|-;A31_oL4?LFvLBGkGQgnTs+p&P$xg7=Po*#`xy5?Vc(hCVekxK<~w!$ z-fGZTPD!I6E2};``~epSbrT?w*Toq&PRyO1XuvoHa&7Va6m8s{8@|5lj`_b2$9m3|E}os^y55H>SR=>! zai0Q6nBolav(}f0Iu+wf_ELQ+_sf?*dhZYT`+t@fE)MS(iEXS2jR|hdOE?4TX*y@vlE>_(4ykS!t09{*LADX#Z{dM zIDh=F*+3gty-(6?{uT!l{|=n-u!LU>8bA@ne1 z&0M(6=?^P@%o7AIF}nNimpFxR^n=nKXMV7a@8qOG!sip7V3&(=cZ}rACe(RTxaPJ9 z+~cmsNn1ztqFx)ELELq2;^SWKkk>N;c89VupK8p!Xt3w)8IR0Nj=2yX|34qQ5}b{2 zvUtu$biKIgxk>#IKDg#0J~aC~T34-*Dk#jHFReP@*b?N}lAcV`}dE@hGKwQ!KCbI}ijk}Lq zyyc4bIEAunrR>==je z&Tl-mH@ZwIo*Z8`?h>w7{Pe!!xAnePX9{-8nBemYTOYGlwvqIcB zFm0Xv*(vUh+GU)ai2I!}!|9OkKK76rr2}5aS@w(b@5dQ8KJEPB%=tXW`|%3+XK`x6 z_!K{-h9~UOM4Y33?R7a{e|~urx;Ish6C{g?#}Sp&ND~gB!Un6ov9mFd7^Pq zHtJ15qdj+4aA)3d%88y2Q68~iU*W~hOaZ6${=4TOXpOS|=6?6xyKldx_}Mq>O^kd7 z;rq6WlwWt~48lvkjnH#1>J~=N-tmLdbOPb#$t_(BRM!;yF$jK2+QKIfuH^V%t-5)5 z>YyrX6x7!n87;0YuJ|;>$)eumR3|1hMYw%(`_^;yHb$Bs=t;`2y!_H@zQpKtUHVif z2;W_wr0fSFy!GbW^%R2ca>^oQ)*u`?KbRN)j`Icz^qt>$a?~|O<3*8)LI>{&i;{*) z+#3z=nbVTQopihe=v3jdc;+Q>%^Xzn8^5>n9K%|wJHwgFfH)J4xX0tgcl?j1b|~`c zLeudQ&qM+o3(k-RFCFJpz}5>6d8h4kZz$DQa*bCrFZfD@q57~I)oC>M5+AlcmiSOK zz=y4C99N<};zh1s!f9GBuI{<&uC45@;{E{cV8pD%xu+vk{0Y_Q97=GFSJj7sQxwBT z>;6GH&1F2YnR`Y(PZM_+2O4J$!UgUw&f3|X`$!g75?6w6?CM>fx!<@G+=1tcew@z} zIK_B^0-hls#L2L@-|fXnn}fb|wp8MQT>(4AKauC;K~7Rg<;+f6-{9uP8Sc$T5`9m^ zgGcz1rVX^~6#rt+Gm4*`_k3mcr~I|wCOk<{TgLZ4`n}mxyL<%taDGS932@CVt_06b zdfd2GwRQI{HqMi>4Cmc(k>}SG)Yae=@!Y+qan&*aU7YQ|8{?2`rUwa?XcrdDCx}ePwXK;~!`JAr`wc0DgRmNSh8{#WF zXAG#%-Qd_d&q2`D`ko>1BxPM;q*DlfQW|TNzx!MDyaBI4@NG`@BxT*?RL@GQrx0%H z>YtOFi+U)(IJvG(Pg3@?kiFFS%K78}b`gS@%a8QBqW5)8B(A&jBIRq>e2tNAbE->> z{2&BPMs!Kj^FD>(Mar6~c!Kb)dO(Ax2MVuI)*|IMe{r`+d3&4Fzdhy>BjyKBQkbng z0Kdy?mmeQHL1>TD6Bqg8|LDdC|M}$c#j}P?D0+^jHV-?m@jkz$c#_W=@a#P}i7Sbd z;EZu!K@#Un8@I((cJJ0roQ5+e*5WZf`%pX+9-E8j|F!)4_+SobT`Df4e7h67c;@H- z-`$f-ajyKyCI9@8U7c)2>d$HrS4kthl&y2nFNhEEq58PG{eTnJbiPk^xBC`X=|xp#;10 z0Eg&Y?K@QljZ@<*;uycbIa9%nhxzZL(DSoxK^1kayNYwzi!;kG#5a5H0k89(19HqI zyNlMidMhceQRD3A&!y_Vbw0B1o1U}umLGc*ceU$Fy`IjOs%>WOkT3VV9#h-%M|g?7 zUa)h>H+YWJcQ&0!f%OkdW@_i$|K9wA3Q~0_Fug zQX<|5xoGi#)bvdYpm$P8b>fSF$<@)|dx&5&+&XE!R;FnqU2RX7Dyzv|!phS*? zN^VZ&6FK(6SIt3*%U~|*kiy*G-E&)^k;ga)V9vE3-!^b()?C>#{_huitGQ(}KcBgZ zQQ)Qo0EOe34|ALGu>H1c6dVg>ez)SA;uH&CHOGI)S&v+06>NlW$^_qpuThW%0tfV_ znxkAhtQOR`RvG3SNwESAhdB0%(*!oeVcdNZ`tLt(iwYlDCY!m$tni05w<+*Y z-3UQRd}40oJamMIowLG`nv+Gz>vAWC3mh;B{D)k{0+=L@mAb?Yk>mZ>JO?2XCGL@o zy5``*Vaf|v)#LdOR%Hf64#_-2m^GdcL52S_g9h4)?`vIB(=Y<5jB6{O{M%>v^vI4b z`|vJe$BI!GWnD!E`L=FK5as4vsef}E)!d$ZnAguG23KBlt6m$NIG3f9iVtiK)D?#X z#(DOSZMQzaQ6e`R;wUA+`q)4W;aO`~E52bp)7tI&w(6Zy8e1P+TF6FFDr{&axM8+b!OIa%UOC0s@rGIU2_a@;)dKFC35cRKmR4ql~;zcaOxG7!hIJ`2G91A zm*O*?g7t8mBhSc7$N$~@hnnNxmU@%|hh**~^5T4BoD@z}k@&=X0;ki&Oqnz&<;9O1;pNw&`V5Y?To14N*XS3eMUHHu0#X(MCYhp1e zLLgv1Cc_;2Ckg}z4|JoD5iUpw8z4H@@bf?Y+fH%&i*Fkw@LFnK^lk2n*k*Ckk3Q=6uOw}%3J^`yeS-MGWR^B z!kfr3NCo(YgF1|vXVzKo#2Xt2I59#TJh1L8<$&zb9~D%$ENa$WxHK+vY8P%31zP5l z)GQTGqZHU9XBQ(DDQln8d{EjyXo3+(DfdedB%FhwGszf1AVT;lE0lkF=_L&z=oDq$ z=d_K{StU#Q;s4CCRvGKF{1bWk!T(pWUW1T~GIL;pq63xAoMkhkbN%>%<}00lfdK@L zLAdbJ1+PKSDg^Ceq$SE%uWAi~9*s2!Ofk|fMyx?#iqS7Tg3zCX@clEdLHN(xX(rL$ zqZ<9kBhZsOslsU&Dc2GgAPGjc4545TFDeF1JW)DPlP=I+PE1KI-HS0%DQ`|pv>6FJGSoiuajzQ;LNhzxMGRVkK{!Pmyp(L2}bx2u?J+5`2>|vp||`n!etewR5)fnaLnQ;G@6t( zwdND}B=A0Wrqmo=dEnfM(-%q|3Ah_e&0Qs9=R@3A&25_nZjhQ3z8F?GvlULs94Q-??f9Buwk(6y`#YXcT^I|)h z(-UI86Ztl_K~A}FeJFQ@cbRv}3wHov-kD>~0}F6!0=WiwmpNg8ZG3#$fp(B#ZY##D zMINQ_ozjGA6}M%WTWqO>=S`p?sVjPh5EaeQnotAUk@1HZ<|^Y{i#OCT?+V8ZZ_Jg= zhq;iszcq2ni3^x#wQvUsHvTw{C6&0$o4}izfBVUbR|e;pps2ZMKFyH?`Bb+og}an^ zJ{18z6}QnCRyfG90=yiTwrM`i9HZADXpJ&cjJyUx4z@=Sv<5+o5LkntHOfpeB0~7- ztCw|B8gqSK!ezgBo^#U9pId%m>D)4F5ID_XnazwCHi-T|X%HWw26#?&Sj|invGhF4 z7g(vReT>wrKH5i>AcWxxtwE4z0O8e_U%m3`Yu7kQnfQPJLC^ZzegxtDf6QwTzVagF zXJ3Qx=+1iD#&rED_5|~t-E^|@?&%gOpF$iUjLYkL$9sXbwdP!r^Fi>_DF>IC%Kik- zm6OfPF~61D{o4JS(+3?hCk9@eouD@SG0J;t2roh-1*2Snd>SXmF$Nf z>)P}Lka!E$Ok#a zx;=@x?IT>E;xqHD1f(fhPGfvY^kJ$YuBBZb>Ku)z=f*gZm#%!^@!cZJho z#pe{bNgO-5=(}mL6;3xpJeAPPs6lk^=St=nhd8&ni{@Q3z?%Wi4NvDR^U13StXRFL zLd^*m%<~xtXq)2RF%>?AqxvJ}ddUDM=Zf5h92dY{N0PQVWr|TAL0||$zP8UnNZXwL zoC!u(U)2c&T7$qD2)eWcf%U^|MSA|crWom?6AUyxi1Q4XWfcAYr=}QTNCzcA)Z%%y zSyDsocB(y$mX?;4vb^EKi<)Ef(nXFz;3(yn2@tMcy~0V#`Jgl}QvN*w!Uz2fqra2% z0mApsz6Rm(gF7GYrJagySBns2BR~*&@6MxBE>gBjnbP98xgc>l*Kpy)00DVDE>^DH zx~SJS@^N0x${%jeWyJ}PUtDH$-A3l2VdRj)H){@XYR(mS5RA^VT5%UEExPopHAmJ4 z)akwWwt>gqYVp`b)qi}>;qNza200B!;5_0mpK_a{!KpOVg^}*eo!hcXT6hcs%uoLB zKX3#EYA&+TE$sFmPNKyrx81inaFL^$!)l&%4+8up1PJE(m@lra%|_de4a}YVXdYc+ zOXQQ9TOzMy!ac(4+9&eKGx6_6ILzE^grfmw@L@6c->2@i<|L+xBjz~_$V9&MmbuGt z83U&>T#7k2+!ta~#nngQPRczbTh1yzn*}~IHz=I+$8*b;raP^yj>^YHv2I~7;nUBO z`yM8hP?E{HU2V+fu3K|#nJWQEFq@-9zHJVM@0hC;csd0jayo#T!Vmz{wGF3>CLDL!8Eii#7hM;fVKW-sw(UmIe-~xNh?{a9(*% zx8T5A<>GU5Av&TEd28Ml&MnqtPFw=#>lzA~6C>m$#)y{(qj)?(S>g9cz5OUfXVb)G zzem|z4ew3Kg+Wu2&7Ol%D2XfC1WAzvQ|2meQV?f~Q5ZpRfIx)6Ny_=4v^0Vsr(8P- z5g`2Z@+D4EzR>&boOt|#oOxyjX^HXk3J}gNF>p})|A7$%m<9~6b89Bj8CB|!Q8=Te z49gNtG13|Y$%PAyRs@=B1)|w92w`9VZPC_575J$@Uwndl8aj?MISCP-8l-t49(m_3V~xIhdV@A z2oS_FN0I81Gt$hV+^6X z-m86>A|0y?aOHF*8_ZeyI3N+Hom7Mjh62y?l4idDby`OQF-J!EbmLE&bCiY*N~qwS z_$5Y^P$H*(JZ2Y%UJ6`P9As`YD(1p>Or@BYF#-DTl$qvb3yA~Nf{gy*IUtb#F7B{o z2ky}f6mz~@wGvlFb0y*;iWa)2=N&lm?Z8o8>fK|prW5a@0dXP^^KCdEab@tP=Q!8G zkvEz1HCF9a!dJD6k=7t+n^V>(OB^7u%jvtG zVx(2dOfh1W@++FzbLHjB{V{2tVx%<)iVx(*YX!o&bI&g+L|D>r!4jL5J|F#mO7#>Y zVh10V(62yH?WMEQm(DD++L@Er&T9cQ;lT@9qkPFr5H!b#H3+XN^0}t?=8=2Q{Yu~lr=Se^&lFUE3Pe5R=H%|wmgpsnH zbTqgr2FfmFx4z;gfrkL0<|xDMEuoM(@=SbGPOdT;C#2jb^R1J40g>}DpP-VFNT7jl z9r4)_$K=#p7aRqv`PSBi51b3WAd!>815F&rg>S7s^CTP4L-X|PGr=u$X)`!aui9|y zaEkDmxsn-GL{-9RSEg3teVH4MA@hm(WJVb-BL>P9SEhbuVujCor0hgKn_w+`CXN~H z%Qep-A|-cP@&QXpGvD0U_*1`{*B-eNrdokiz*C9tCscosHcX?-DmOZ*u>X z%^=@d zp>QeU3vd;VByO+0?JI!<6L0XtRf@bZmu}uf-paPX=N%cG zXKKV-LD!@%ycL&~GJNjt<_$Vgfq6^cWNqTDIVSN&shIBVPd}fo#w7()G%q9Qi=Ul;CDo{-4BoHZ_c8XEu&fTRD4K7%@-N(_-mxBOuQqFXt9Qj@HiYvwF1~AE7iTy?37pDO;H2hr@iuX#y5@uhQsg;`ARPkwq$kbf<)IMgm*WAbn_dVmp!BUH?z*qF~xQLC{OpgOAiBDs#sI83fdy!AEno*u+j#juYmyygj|4c+sw%=FgD;0r-JM)#D zb`+3PY(Ub&!y1H&Ppp$syZn}(`NVb2&CDm}SML7a8Ty6 z%-xA~3z|9g4HzdNiyXr+pY?p(LjZE|xp4o{xRIc^LS?Es@xpZFa~-YbfdXF=@(xP^ zM;r;<_AYQF@a>9QBJT$H&JoDR~Fs-4RaalpH%#j97&5O24!T&!qut=GGO~sx^RYN8j zsqyj|t#n>K%YcN=NMnkTu1haTJcOVS<;u%CDD5ioL4QsfC#C&1pM&s$-ryI1$nn9m zZgYw}evdx>cB7_Bx_OL$Qee`JWlqV?<|8Vb|tCA`}IH=h{0>~ll|2IkbP5snA zmAlfo5j85cv8Vw~BOmM3d^+YW*W)E8JwGwaC?Eg6agJW|NQ$~rH=7n#@glI5svOeD z$)-^Y-2Eeg=gLpFSCi?qH%P%~mA-mS7L5PyIXQ#tcn1W;UGoVE*2pn#)guU|=FU9o zki7sLLF2w?bA7h*#2J*W1+L3xF7t+$t%2Ryel6ZKya|&H0{VxX2NAG(mZcyT8H-Z1Vejakn`6 ziVlboY_W#1@YT#se3`ga;v{Pu+ULkS^WxF$egt1IYx-QQBpX0)&9SQLm^G!a~3fS@Fw$Y#NM^2P3D;AJ#AVF$M8m% zPX}uQ?<{TP4ZO9xZ)~WmK^x~Fs5xa?aGSSqXpR}oBBwQycw?r!$dP?C?1p5$`(jImaX5tM|b`KKnTR`d@BLQ*pzSdA6?=E~(p_PY1b25ELMM zm3A@u0|zO;uL$AY-~N`PlzotLA0b?M<%)j1*HHv7UDhT>{TKpMj1(Q5*Ft3tA86!& z`9){t=Q9)#{C`OmAe8X~W*|wEFm&(}PE*zy2_EWDl%$rLS0e}(w}T%Rc*|&-dCX5ghvoD?a>w7)|7YYBZ?{5Wlm{7$ z8RB>e{F!7rZlW*@c)qH95+DC&xRogsZ=PJ2p)X9CQ?5BC8v>sm$N4VkigF;PK~91d zHccquEPGbI@_{8SOf#zF* zV-%XebM?$;k&wODqIK-Bez!{I8t#S*CL-pJ~5v}PVNTBa|8p(dEiARRgM}f zphuZuDy7*FpB;T$;1e!5Vojk%=3W^*%z>FB#iz&nPAc3uwl6-tXyOnm_g3sm$V)@` z3@$Op7&w>t%oT_D#LW}`RK7fyKAt3G7hf3{dFB8v3W0OGlwstICj99$?8%yGjrSE?lPCiBMa$GFPemJS_SI2aB)d&+Qba||K8pnf_Bfhk5_gP;)vPcix( z0fKii`dii@XbA#C2v=T_i_R1yh7c}Yyl_!7jLzw!(F5e%Ic-7ooNkRI$ls6tKjAZ6wX&;uhS(&GnUS1r&H~Yw9Fc1b}_o72!Y*IwFKf7t(Mjh!nM~FApBfwl=Ch| zc?3ZLf@Vv34Z`=Fq2kW(EIy{0fExgG31DkwTl8ODx)dyqF zvvaHKU)Q{r5xz3Qd0X@G@sfH}!tOR#w1&Sy;49|JN+0X1WRVX)uX!!2RUi2M<;%6UMuB`)a@;ZTm@faWkK1ow(xB)%FBmk$7p9dX|mN`|-anRwVZsA@Do7#)j z90Q#1pV?(6O&p0_*jyzt^GV_s`iGN>3~*9&$Qb8GcsMmJ=7>4o^C*uFx+QYI(+HoG zQmt^qErXntq~?QdX0ZXKVU8AfTtHwx5ua3imbeo0*$@{nM?i@~&9OTp1qE)FIi3FS zdGhP~1VIZQ;}Q=f&6EPExpgwig_HH$q1tuNr|a4$_5>vI9g0ZduAl2<-kCQ&GUqnW zb>Ik$)I3Ww$eYN$|E3o*Sm0!ls}wmjp=~jx{v_^l#nCd?rOY+kz`2IGpTJyL;8+fZ zcae9bV(>QcdDm9F8{!Nw1l}?4297eo8_awnhjHVzoAYVluE^bp&&|d3f#ZwAp5mCA zAub{toFsEp+-%N(VAS(}c& zbm7vA7tbq3U>75;LSX%YKCCi6Bd1?i@&9!VtU)-VrOUDl_~eA=)Ntvn6pck_MB=Qb zE^!WmrWsw-j3&YZ;sc%3rd^C)lduGV5rj0wh{GEcA9xMIA0;e7IK?>#tB<|Hz=H>S zZ{NA|=6kz)yQ{Z9Bx(qYl-EzWNV#4>OA(8+X$cJq-zy=&LE$;SWrRGSedKrd_HW*L z{g=PIas93R-Tph_B=H$`58iO4{oN`2qunIysUw$ch|l-&?*3ul^z~bB9O?@Y^YvZi z=8?;s+Gn05K3(lXKG;q2ky|`CIK2M)FK_L^hZhA{Uwq}rH+GBMEwkeNtd=RJ^0te! z-B+u(l^uTX*tdm;-u%=nelbJ_o>%XsK7W04pQlQXwUUBHuK3Rb{-}OFCw8ktd+fAk zH9HS|_%C~_*=%kdS^LPAC;=RRRGdh~{hK?> z+(6|aZgb5knLD$k$_#2A$*K9o_L{pi%+o$X$y)Ild}2Nu<+I~CIXr{%H?Fzo8QFqH z>g3@@@$8lOwr+u$lT@67Ik$Oe#V2#;n}i8Rzq)(6kwXDK-=aWdhwqr%nGQUk1rRxA zIEqtqVCE);>w8cOx6(Lbh`cM@-OxT~K3W%X`@n&LyZUf@6Q|bD%{y}%wu5|5DkR=D zHE)Obe39dDC+;_dW7%$HGVjcZ5zJZmTXB5uo>LRv^^12q_YZH-BbUJ2$eW%w;!xU) zn5VwXF$CU3-gxfQBBv<5=WT4?np3c4F7ARkCG*@z;0Pr+D%=*9Ec@qu`|;dd&Kx96 z`y7rA;L2QyBydBnEK{tO%%_=?x&4$9YY@Jd{8d8;1PH&-Ny@B2;GDE~*~N$@2=c;p z4#KsotWmylnN`Y~W5lB2i=2b-!tyySBtENE2*|R${Ii^gtR=_M|JPjw2#Ov=m-@|4 z`-0XUEcMF}be~;j6@m^*yTCzd5``mw^O7bQUB0YU5DF2lzIN3oDRWR7BM9$k1mXSn z+2&Nz&oSx`O8fg~4-nGe!QO|23X&)5x3$ITokzEK`*W1vBtY=|qus}+3lOH$GGu^H zM_$eFhU4&=S5u5~{mkDg^ls^dh9B+U$OO55unIBujTFZg-*!*dL;NyI2mXo&6uHV_ zU+gNh`!69j@fWOTUvHl-0&)khgR=}iU6DPv5umi5EAI{eu$>>r!Hv-9`ktNlX_|09t^av$ z`JX3sc|fI=JPqG3S%L%F-#xhg%P7Alt_eJ~T3x87M>`~VDH31ff!ZAKr-(5twfDk< z>P@DD|CaR&-PnJSql36$;qJf#AwykKz4|MDe!na`*mAbAe?#ak zD^+*%5AXXn)KVW9uw}!Hbmo#dYT%gQlguY(c}22KIM|WX4My6V<7DT`{i55RZ@~!x zND`;+#6WzOd1@~tI5VHrd<(v1J~LNJvG9kP&)_75W1YdtjezDVlSK{-9KW^VlnG(n zK5$x^6YWUENzJhbPN9#L0;f^6P(Zdg>%ZoH(riL4JX;n_6}OCVtI;&hYfv~BN(3dV z_^j~RcbgxV`9Ni+5f)TF=7z=VuQ(bq$XzriySJiK6Y_8Vx_d23<1BECHH!e;8wXLh z;!VX>h&{PM;8LV@6>pSfZl_o_^JF(K;X~nz?d?ySH*Qe4QaJX&=jKgmKhK=Y+^rDt z_9;%G;$0JYZchqFRaWz+6Yesf13V~@d9%oIrp?LV!~&VO=D6<-9L>C2d6zhsULt_n5BPr=-cK+Pi^GkU1%N&z-hGByx<_j(O{{!bBi0dMJcwRLbba?LU*`F*uudxUn z$b5cDbCx&>K|7pYWC_A0eW`*IorCZy2QpmCyBH}xU>Boz-_;O;f*ZmE_G9`=5yGiP z5T4xjj;4?EJR|hSkCS%$PF|#}>{KHNc`p}#JefL|dy-1l%;OZJr}<%VALHz79fKDf zBFpt%xMypV>3&dqJ^QQfF$DX@vtw2%WN5bx}lZXb}D}zA|(5e zF(2==S|wnyqs;4szu$xUZQ+h)j(ywd@o!u8mLiSvVmQlnkE@FtDvkg1q#z=TA2&_E zLH4dc{ZRW~7w-0h)eb)@p=Nju0)+Zs{*bV6b${S*lcSdK%J&Yce?qp^Tp@1fP%_j*)K3U+9ic@kc+81X! zcQnjtXC<2|o>k|zz`1Jf??bQ@UPTwVaTH9D_%JmuIyZ*pWsLM6Sux68%CTKs@&+;ZcUb&3c+2SOn_=4m7TR_brP2y?D;)$M;qq43rFP~gunm(8$}3;4>W?{a}eJD-Mhc{8s*>g5yH=Y_OokOSfqTV z-^Qq)Vs!D6{Pq_(N|`|f1qbI?Hy}sF^Z3J4jv%DvonB2!F{gkbUXLKar{OZvKt(oL{fFi@gvutl&Dw03mmN{M(AJ{Kx=-&h;$8wcYi5MLE3dCAuqQ zga14$;h)EU%)Vo1{C6=`N%zXCE7o#rHwTxFkdCQ#gE4^I|1<;$>$mEvH>cAFIMsEm zQo$i#mQkkIf}U*e)G=B0PlKj zjCX?^y$zgfn5Vrt%}vd5K{0o5VBnq*pE;f?a2_~fj&Af$ow2Hiyn3I`HrveXSC!1i!ygim{ct9DPzV7!t zOV8UQ-kJ?#NMwj3=1Aa8Y5xWPWA;L2XSnfr{$7EsR2+0q_B8Pb-jkG0 z;Utu>ngh(u%+(EiEpe%wO{zu8o?(=CF=7eA`|NZ2t`AD{3?o)4GsEcRD=%}JvF?{7 zT0E>{(zI59B?#wOT&#VJ&dA+AduB-vfAIfF>KR6kAQV14M}b{V&-OEuo?AYvp3a?9 zl%TldMZV*OOBdP1=rYS6UcP+gRjpEH4Z<}>5PpNa^Nw~gVvVvQgb)7k3r#U%4Z>Gi zgm9`w%8%FYJlae1jBcY?p1gPG!zTxY}`y zh#pr+PyFZc^Xa|ZVmc+~ru5*g;~siflus`o4Sk2ZUvV9}Ew3^3Ob2V>yXqHaR#lmK zH1s_GqDuKihF`h_M2;a&{wu2HpTC>TW}j{zGXfc;m)zaXUFgvTzAb4%g@H3%(sR(7Wb6{hQOUC4jtrX+{gfjMLw~e zyyjJV1rtrBKVy-kj zE0W3+bAlHw zLSO`;oP+Q|IwutA+Fypu zWRf{$We?%9VmEh7b6W$)=KNUBHx@1#;TB>6bHFf{t?=S>+h9Hmd=mIf_=rn;nqx)F z+$D4W{Q&UE5T^nh8aNHmWQ%-Oq6kxSO3rix14k;JDN3kIQhEPo*4&*rQn*#q$kA=( zdKPX{cof%3*RVXzC!ct>kA40$eW*`!Okm#Mg^QWv{tLpn3-<>D?UmYMZq{>8u}GXy zVpFH9{qq-jh48nYOV1p9EjCtZ$FpS;M}u<_BQPx`bFwCKCE`usZg1pMzTi#bXhN8& z0>m-LPn} zJCxps&*6Y=api^2?>9;c7nU`1b$6d)?thRY`1|m=Ik)>?dz~cdH z815wvJvsYu6mx5a5|VpsD2b~`j1jmKl?Bn1YLW8abCmKoWdy+or7?n_5P=yya>BJB zSeu;c1mjn=ix2_AB~~eG2th79a&GyYRwys&!zQP4^BEC{{=c+=a}Wp;m|cX1EU7i) z2uqS>iRKqEiAi7c(nTVK%a?T&f}TMm2m}b6l;)F^f5SGXTBXcM%72hJKwu5RGmao2 zAMWL2(jKGitv=H6%K!Brk5>06-_DDaSMQuosx2c|Hmt-_ZK)P1SA4&CF{?Hz^<0`^ z*((#!4+e1MSyMMUxw6Q%8%7NF4-O9Y4_{ySg6T27l!&g;r`z-tncx8)3~}NDKDz9L zj&>^UxMRJH1>E|Y*eiO?^fs-2^T#;;w#NquG_Ix?m9HG}g7d2#oLI96PflvRex~Zd z6bofJjGz{V8ghVe3SkXL^ybGRmLK~-Sx){d^5q-hre{Qs|+Ee|)+(tx${ zLw@q&*X;W*a#9L#Zny&h2xW7045qXv?Kz70Dm;8|=C<6`Xu{{8I!tgVzyjW+`&MZu zV>5G$c_zc0EAnofrAa%^qQaZC%B408PJ z%%$0jCkfnGMf3S0*H>4($$UF;i-25a^E4naFT8;le_q~w&*wZ`ett;dc<|!riSu>l zE$v$|aRjWgdF%G~{d}fyHNqrL93d`9(9ueR--kEm^TM}VspfMPshzkwF?R*ZvT!@Wvx+W06|_qckusz@|4Kh z4>3p)RxH63CAL69(=Mml=aeZ%9M*j9;sv%j)zl_7G15M#uUvhNgVOpbMjV8|ISB9m zzMo>G0EaaQe@p?wU!VOXWvw%~{n!zJLj|dipFEKX(cVP_2uwaYrKDfJNov{fUG{q% zoMM#uhN}d&f7Jf&&0@W&O(*vb_FoTC+#kbYhZES2z zW0ceA~*YxyzzFewVay&56G9(v|`d?ZBwqg zrToAj3U}f7`4uNMmwPXO+_S@PgLz(&iNRb3YOGO9m$~DG%}s>~pM6_)>G?J}*K$am zO~sr0na^#cK*xS&a|!Q;2_0^%@_p&%Qoxb>{o4EH%DE!v`6Is{IA0Ec^Nf*if7-7$ z@NorsWkKGLG#z*VTuXed@U$Ol&!^bL*UU}O{x5s)qGQK#rRhp!74OuYy0{JC0LF#D zF-SeYya5TlM|T4TdjwdZ)`;k2iw3^h}Xe*5Kb9E9*B z2H`_F2=5c5%n-smfAP+@FvsO0yncx=02%7qmEb~~Vx(;f*v@QOzxHbsVd+$xDYVQ^ zX)mVzuQ27q4uZBmX#T_COCZcMTGkAsB~3BHIXHXzthzpXUN^!cX>*J;#p#j;5Z-)~ z5CmozF@k`DFa#-o_#^xSPchN}!czq)?|Bx{AN~?oA%vMndw=-5f4BEn8dP{%u@UF} zV)b!#Mj7>tT5#pv2*M1&!I_KeT)l}>d^@bH>wE5G@4c97@Am&Gei>(tm=bSmqq!SF znBjw59TnHab%mZjhBD}D8xVU7yL+YG)A8bxd^+k!|ImK@`V~0{Az>1CoziFNv^{3N zp!#~8CMvu*2*~_xpWJpf|Jz}+(lp=JPd4j%lV`#A)4kYxH@T>f%YERxbYG85ZQA!= zPyPk`^saBb8|#qTg^I;~uKThFu{`L*cF{%`yYT2p2jSWtcRM_%>(Nb|r_RFP3u`{V zpVb*1ZGZUY-Pa%2GiU~{jZHuk$ux1`MO zK2bxK4Ek@MTC4s(^{xhWk^L&kpEvnziurSl6H|D22rio&#Dsh+8VydNa13M9xC0PS zU6TwGF3sG;-1U)fNofwsZkiUZYH*49mi|8CRut}9@;XrA@=^R75bnCOz7b-Jz6$z2 zw_TH*>NMZRZkcLt-l+MYVHf6Ku-K zz~npTQn-IOMFjnk95Gkl$8)_*Z@=%NKCJjUGTl2ZMm+d+im8Z1syTU66-xjyXmOLXc>e zvlFLYWEg-=&z4T4{a<%d7GmPj$p)3km0$>ANj^gB==4cNHJm-AHIg(=aq)ug)}oZP zm9wT8UD8fzEMxQ+8bKIi5VTd=hadg$Bjy<4A+%+To@ys$_Bil1X>t`dC?JkqR_MV$ z{nH=0@aabos@S3xnss=nq^*48(Ok4^SDB{K{EUq!`uA?DZqMV|lPmo*tS>{Z-S&NF z-L#{Frrk~>w+&uwJW>27KPh*;(#`1MNy22dN2B)tA)ju>g*x-;wo&lXDK`$ zH2!H+nz`TX^a-!8>`C`^^3uD$VAj3u(09D8?|2OuYjFK*ke;|nmx~lKLDf_?TY*4P}Uvc=$&i|3$`1r~6{@=}A$5quO+1Fy8MM4cd92FdFu5^OKzLtNQ-1kSJ%E$qJB&oNkHXSEbK+pB@`?+dP zz32XO1b25zkbk_pVXH(19ozFk1aIYJ4&>V4Mbe-*cQuPPgYJg%u8G?v=W=sB&-P4i z!Y7Vv{c2phQ+3TcvH34%jzultYh8h(JBDMxsif0MWH=%!i2)OX_w&vT6BJZ%gZI1zs7ctd2)Xb5iI2CgVaL&oiaS+CR(maBoDMlZ%4FV1VLCTt9 z^ex38T+&v``t4pO`pY;6FQ31twMWm$MPMb;Q`qxLWZ}O^jPeT{Y5(gevLqKl5LW?b zV)=yp3ie4`Qi$>??X1A=YiIR2f95>yft(T@uM&iC>5VtF?CQ7Pb__z>NttaBv{Twg z!%oV~G5W2B5T0TLVbANC{<}8MNRi0@RvRh*p#>@b-GdgS{A?mq=E?8N5-dg!8*pwn z)wVeYJgt|>dG?lr-Y)j-_QGy!iicr#g?$-T(ZSKbsn7Q2tJ72UO>RX0p$U^2egAZR z@rkFivi(^gGpBMjW-j%e&Ux13-cy(_(>))0q;2L$A z&eiap$BSK?`F->^j+I=8=g6-Ig`cngde9(nE+9cJmtltf){k1ljjM4}-(ZG8UL3$* zl_+Z3`??rhp@SPSa5FpXAiR5X?#Qf!J8&DtEFXwh@o_gEXjXiVYkqKv|BBK6U>;{2 zw(jluWrJcbx|?73)s>7^uu&flf+xABSTShfzYCOv9B$X@ST{jFa8x=pmE#C94d|cPI6!J z6-jW2Ifqn*>qdrm%z0wzXlQPUp^d_G^neG0|GIF`m0{A;Zo7EccffXe;V6=Wb{pTR zoL9#>RwAyn=S{>RF(U`AHk~yOF!z23Jr8ff#gRjOk#k?)b0m1eNxs|jJ60aY@9*sF zTPXz_sM#CPLBO&%F~Hup&we}~T_$#sBNU|os{Ju{OLi;6ck zrjvZ`2G}?Szz1{Kd=UrX+TOhV>~dIB+rCBqNPVp-T(>36l&D#&Kj=O-y67xx0SQ`%=DL4i=2{re%T}+*C;aZZYU0wkQRS3zG2~r9`Scv$zz;QY`3}i3dx&BF=_j9iO-?4t5AMKD z+j~rEDX`1oKmlcNrKnkaM_jo%cB?okTqWD~`oKM_9=_8!qMGPApA&1wnh*<#YpD2rWn2bjy{(p8bNrC zi9Rn$F1|#FvW~N7mrk*70l)mS0|If%?0J^<{|h9&FvEz*1bhe;)PQ}MB})=H2W+H# z=G>{%nq+i=RZd^lv?d$`#VEh75rj9}Dn@@jcnIu+;AKvUL0}(*r(Nb0*=U0Y|Ce0_ z760%gNcn++l%Gv(yV{haj0vTZQYEVN+;-fwTtC>R7ypWUGbV`GIpBzH_Ilgt%I(I- zL5;_0fkMJTpl)-~@_27>XCOLBc^RaemCvi7_tQy!CHH`)T%OU^d#%0ew#&DhC*ik* z5BK8($WG0&)J8o4S#K4d2xk zZ@LZr*W+98nZ?&b6)@+Le!|j0`k!rjy(2i+W_{(+EjTqhq0RrxFWFA(YjRPhhv!ODLQLw){?8@Y-R-R;IN-Vf)2 z9If7uAe6y_%v`8r3x5Vqfz*8J2mHz@XZK&jx9FkgoN&&{8=6m(89AB3$lEpI^kQx` ziMb2V0mKjZ&8?nhk=vxn91FqTH!QK4y;_Mc}wA2a24iUx{}9a=3d=?!o|e zDcY=8K4{HtDJQqq?hP=E?aEPfJmUwF@AiB?u}2S>+s-%O;Tc#ynH)q_=T(!dakE9|TEqXYs7-@=8E_2E%M#DyF?+-Bu zn(4275Z=}{2$x=ey$v8pV%w7@gK}nw=07UfeAF6ByjvZf;~x9!rjiqVNP%j!~Y$GH}SppBa^a8HFuYle|lF?#*&H|4b8AxPxNeDMDF z37jAX;m4Bie7iXazj>NvPLW~o;1B;ES0Uwpv>@eYlfgfzGV=+a&8)F}t%GolSt)K7 zA!p3TYDUbJ+yU|P4h76r7Caxp5B)J#emUr{54geJcpxZl5e5|ZTP;j7^LnRDgsy-|LS`tsb!9=NXy!~KA2x`gk|EK=X@2P)it zu6=B6yt41(>{nMtaJ|*@f#N>h1Fh9A=N;x>vHyo5{O^s*r^$S z81>y0BMU6r6~o;eNuHDT3%8i_N$&d4bTMw&air%KYkJk2Wph4ZZRQM=D<`9)fGvDq6*}!R#Tr~=axsCNv{e*j1 zV1mz`8Pc93$?3}+ojH1HoZ?m<&C_G}qV2S^-fZ@D+3K81q(CVhTrfEZNiL~epp_c8 z%=uk-D6=@pr8f^{E3dKEQJazDAYB)2u6r>Zmy_FCre66DpTc*(F!wAMq~l+an|qu< z749F_e&z0N;9tNgo8NDU!~whJVsXN)?YZwtg1BZ0KAh&e+yB|@Aos8 zm3{=bz*UFSDOXp%V@^dp=l(a9xeoI%+np8e_SR5#)den^;N)b>H!0_||P1Sb=eNQ*R(?ajT+siqkHL>|JA*(i-=PJj3V8QYFQ z&~Nmb>d&g8m$Z+v=J&`!c=cj)5cqBX{MplNX12U^=Je8u)AA0MW#})zu%sb@wEtBq zBM9;x}t zr&-u<=%t^B6Sh?R3Z15@r@-{Tf+On(y@7q@ikyU-0-nV_G3jP?!KX_H;b9okWA4i0 zoepjJgxToV?E3EBc6Qv`juVUAZU440@2C9jG7!McyNOJ82=eQ3U(V(|9%Oqyb`Kmu z9l^i$qg)~?=04sPT`5FW<9`$M0D5a#v$o`E~%R>@sMDt8B4E}CPQAH#ti2g0|;%E*ze<2lB3 zaH>kor7~A)PRX1?a9io-O3bsBOSC}T1o6Y_r{dYU zjqoC=4!%3d)6930dGg)VAIm!*!m5r_GB;HDD zH0BMFplMtwe0%6`TRq7^`0~3NK={p1G=hMKzzD)eiue8CgZCvZMtK-OcvC^jufM?v z!ppC|OhCW|HbOXmP79Ihmwq-s)(`^Tf&2r84oNpldild=~vVg%t!9E7J4 z0+QQ$Mt`S`lr_a@Z{sijj=<$-4pLs52PBg_62Vm}u@0)W)j^ovL+ZUA{GavO8}$6J z%w->+>dG9HS^46U2iL4fxvbyT&25aQ$vi_hu?KTLT|aOA`nrwRv17PDHjfwUbna#N z!D7k$dH)+}nNPm$E%W-e5|il7m-Y_AC}~#Lfr8G1>j#4TQo(2GTqK{3+}3B3ypcXmqu<{-}GD7xp{f-6Il+%>xo)(90Y z7@P|@Cpg8vy##VJM-_al3;J zH#7&Bw~slQxr>eUd_d-(uXuqF;Pv7ts8$e{OS2 z|3Ij7P$DG$iaBR#LarZL#pq%8!*)6dbrqvyqmA( z-oy&{R>xg*rM5>ZN0Rp?ct|L`2q^i29LtxF`KQ6H>G{^kN6nTw<>1nzH0M+JR^iCe z9AIu$;UtJvI3vR5Ho(bzZF7n$C%%++!>PXdY)oMUgNe_le;0q34i~IBV&~)lenV8r#YE92}jR?$tm>QK8V}7 zVD4*N^66@I2nvs>HQ^8Jnpd$e;NpbrPS-8TpCj3Ini^-%&TZz;c{%|Te0Sjc!S_jf zE=j%{e3xMaO#3D+2zki2rQ$@)J)(dd;_DRFr#Pz^efPKXebU%T`NJPJ|KI~z-THO@ zFTBht4#I1%zy6wBgtiaDg_pED!I^Uxw3*py4In6}SbHh68}gEtDqTLIfq=08%M2q& zA$WvAyQ{VR)reDmQ7*#C)A$L?XVkYspwFMxSOr4}Y|++&5MEO_gf>%_=Q1pF`o84* zI0$Wuk=&f`cpn6Bl=hVJ&wurYF-G~}7^S=icqSR_BPW)uhSz|yECMrM4Vpb+ujX&$ zquGXXTCS}1wi&nb0lCo+E%fu~M-%%P)9dQNhF@c?H<|rbi#%PsGJhhD7;0xE)=^%h z)6v@Z3Ql2OZwu#>Q;ckB*8p!Wt3Rg??GJ_acBV7jW_^A=Pu}0WE_?OR zT#}1r)gShKmC1Y*>N?kV4gwsNWW9GA#t!mL4uuXsm_JRE{z>~XZP8Rux z(QM()L1?yVbr3wWyexBC7b)6u6`mz0&Rxi2;cn-`7A&I;J&CBzeUU=o!T9sSCls9RgzCTBZWSreC^{ncX@G6rE)7O-!(_j zIHk5b!9Sn1jY#~ls7RTx<8jLao!jOR@of=vY0N2ZOGBoswo!N=1jQ)pH}`M<_}f4F zNbOB%g77^DDZhnWl4;H|LNC3lC5$d!V52k*Ae=pYPLqLJOflOauuIx9g9k6B z{m+O&FSriUp5OwV!$L;OCzoGj7=lSl8bHv%gj|I4r_Y~zsV!q9|3Et_zw!EOZ!*Q` zElquD4#Hozos`)K;iDh2ld^)8zvCcf#~?hN{L>%*iIq)5m~r&1QhfsyS*SdxoE3F4O7DAF&OKUU4_&;P+W%{%6LWG)m=lVC1~zyXHlf%{H( z7vkfrmVCId-Nn)G!lR)%65O!oVd5q?Kq^Oi&N?iBe$l z{rw5PKj*`_O6)P-0dBw$S}YB!jX^maV&b^W=BmLdnyU$Y!C{;m-Uopg1U!UcCuPkr z(hveWr42F4fBla38z2UOWlpt|vKBejUTJLz;jCu=oIbnUO!?*0OFFcZGJ7EtYW!l_ z|1}6fc$j{q&x<;jr`hVPB<9>16xyoE^B~Vn3(% zixqX&*wp|i%cL8-5)U6;uYKpF@HCm-{~}LU>}Xog?`#RpLca^Xfe-cUWh?n-Q+$iW_TFK> zHOW0;CAfEYW$Nj+9sRat1YycSSX;zFC|^&?gS>NwCvv7E}IL z^(n969zq*VO#db#hhh-8)})_Ewb%n4I}VfgzQVmH|1aFQ@mQZ5H`?Txa1df8o#G&1 zEyoCg#~Ez-n>(P`R(;Q@nCrseu;8%dTZ?c^@xle{78Jg9EZ;Kc{8Ko3(na~!;v8*q zGK6~attoD3ZmHbr6!VaKr2wZ|xQi*~E;?PD-=i`i;HQ`WJo9Qpxk6DF2w-ltkwt3j z%w0md_Ss|bTXSx4dC~>x`Pu|WDlf7&Tlx6oPv(<}uuZWvoo6^3?)&y@Rj5siioK~l zV~?V$rFQL>R;d+Y3u@PFt=fA9wf8Dw#NI24So!DoeU9gC@-jK@`?|05JU?gP z@irpg3cHHXfiTi=U-76%yH&&USI0vJ^*#A(JTK$49zYz12X+I4SGsCRzX+oJy>I_0 zc6njXg%>MWtF+gM817#fn-BQSSh?t>+ExGsO;`Cvwz~G(Frw1utC>j7&1f*WO52Hd zpi`Axh33Z6=#evvmkX~(`G#HG!@4UA2qPFq=BiH7ezSBe`i13v)I@xEEX7ylPSpgz z?;m59Pifd^LH>t^1gyUYf7)UN^WRzYHPPDkITHi=&sl#nR)>?NPTu#i?i3#8{z0(u z?Yz&32foOn>#kat5&zClUu2Q-x-AqfYdw^Ka z2!IWQV}+RvxzNDtd^W7)GWHVlsUK>1U1wj(;*B+`-`kN%Jsj~vmEaFaG80$SpM{)1 zQ~8x)RNkHZS+b+W+2GaIwY%J33(@H4Ufgqa*$2`IKM!k}yePn6$gw(WC889IAvl2n-2L!f6QOXqreqZ?5CUrQ3 z3484SV$pSbYQ_KaE-+Mp@qU=u?vVf$Suky*I14vQxi@|AlTjjwX9iZ5QMR=KUu*yC zV3`@+$*I&wot{KU3pi>Ig@y#_KOa+rw5!Ru{o2?Hcn2{YZb-<5x8xRW$S zn6-qu3Opn@)6FXoHu4;yoCaqLrXRokws`kj#^;JYEW)7IS>O_QI0ZHqp0N;w6>NJw zT;k|ZOm9o^qyBP(cDPo6HmtYw!^lm4eIs&KUcbkgy#&p1liNN9ijcqYk!Gv7nUONI zA8VMG2CO~18ed(PaP(7H#&p^${%SEwm-;xSaoNQIDy5?=DD%+ni=7N8AyRiNM5s`3 z9E5zA$HIa;RlQRHo5t9V9aj9qA7!Z8R1s67>H_9_ogBU7DurUpgcRnBj$a@1#gkyT4cT##z0}2v|FMEWLl1BlSzv*?w-h1YdGO2M7f@_Utr(DCS;2Hzz>oc7c55tf z<^1qHe%@ioNudoz4ts`t*g2VskOR);LqqMk`m*7Xb77h09^X#vuw zS-$?wmPTB$gM3NZPX_u1vnO$}>jP8&MSk+=kX3$ion*G*x#)wY%V!J|YzQ^TTt6)0k38d0 z>08+mjG<9cV2Rbx;2M-60YRWIZPM3J^UrhBVIatId0Ng-*o(PH156AnI$tb-Q{Uew zS*>&gYIJqC#IgM;GCrbv{}Q|#zuuy<}VH0oXw%;7ZER26Yz(ijvI=YuQP5v|NI18J4+MbxI%5ymC`itTwrp zSRuLZ-K%FOKUzMkfB5$%$7R|&E@?&Yw4%{1rFRbb6{I`b988CukHvcXMgHHek`AAM z75nqieJsMBAFbDa_!oF%n-qlJS6fMUE7*V1&Xs9-KHPa`?vA$kZF=8n9TwWdhxN`roi&wgv>8#RuW^Lhsr;2LZvMI)+ZTU+D5bouLz|9zO%;- zl%eE-;(u6f-2i%?Byb3u#ET3!K67G)U6xK4TJHq0cJ7VSb4&eb8Gz)zi=yD+UfFGL zuCp@X`%~@xUe>u;oS6beqrJu1({BrlYek1^Ryx=zx56=06LzWI;p-GI|M~8{Vy^3Y zh6cs8vcS;A%<`9b!l=?gJORnz&K4kw+-9b4Z*TPXwLfjh7q~_Yi?q6=HAVfKn7OFF z@t~RH_zk1Jx))<&ya?-@8T&Ycdm+OkfgVMR^p@n?KrwW-(~kIBc~$cXn}g2STuzQY zubjObUg?*V%Et;><+ta@ihbuDfq`_wS9QQ3*QZo`S#WsE7H;)zFX7O#ZJBoqko0b8 zeyL9E!HPdzx083tzRvNO4}trBq@?HL$q67d>PJAzA;J z@4!YdUqWMbhjYt7D&*5-<0=>J?sEiu5g&Zy1zx8Stg)<2RHf zyMAXid;BH|3q!Ib&sD9|IO?BKXvlDup0Q8H)ceQm@hrljEM|Ux3A=`10ntS2F70`Y z0Gg0aCV&i0u+putR$>k)pI80bju5Yi$X*f8mcH=Ls)#P{M4gDDPC8Fg>$A5C8GKh? zORG4UY8iYF+oEf84|1aT`w}ey43%1GEyzyZW+=RSjUoqAD0~)+X=k@5gQvwQd&h0i zF@OIRVob=odBz&z`cbITvj0tcGi?KZkxLyJ%4^3aaKUnf62EM8x7d%15V@5LK3z^> zXEW^Xyd&>xKMYx4@vQTr_$@!QLKZuEW<48WZ`RJ#SQsFG#J;I(X|ud5r1f})pU__@ z&9B8*A|!b|@rDk6nV!NWSg%=hkW&IbA+4eZ4^15TatSYQRN8Tc)?+!#uWV`9HRps3 zI(opi0f0jnbUKEAZW9%Ttez5bs!lXznc2(JTa$7R{6I((Pa*W03ePZ`8_QDAA-|O6 z(jLP!zB2h+(8pqoMc{pRfSuN^wDwf->f7~!0oB=Wl^`k8FD_X(JkauOhcK-ZYJg6{ z0bjnb&e71?9Pi|npefZLJ7Ke^+k48-lRv(*EfceQY1IDsEQlkeO;j%A0+owfh0rZ) z^zlA9k`k-TCrja8J!rC0`i6L(yHSyJAl0sz+8-o4EoG5~@^_F7IgT^GBAUx`f$Me^ zz83re(eLY&O6m??+y&RXhOq43C;a^0Be1k=jAd|v3)Wj=G1ihjWHC%#7tMTp?@t!_ zzf-jO;BX8y6pCOuvoS1xl@lU5wFlSL?U|GlbSoZ*f+;NhH`!!)b6x6XWtnnQM8<|$ z!sv1nLVmaQbSf`kKH}pP;ozOaG9%sfXzQG4wE2>e$GWDek0ki{*Z?3H@$@k14+SnHrZs8;BHwFQ1=y?`VEMRMn62F6D<4=nvJziu zc47Lj3!xW4`#Q<2K9GwM-x(aXj&!#>h;`na^llap-JcTJV<{W0nf$5j{@J8M5(B#V z{z_El+NrX3Y-6!#H-M9g)z3^o$ks4JK5%%h#GXQpr@L z);Vn`o}ns1Y!=Zo7OCS+#@G(SFj|qo%w6>`MIE=}thI+@!yS2axXEKZ#{`)9%tIRm znz_ZedzzFy;T6jW-a_a0r9nOC?gj>9mEKq<*Gm|lppy-xuLrj{dr@C%+Z{*d!&Y7e zLi6Nw_o-^4oTZp_3peyEa(iqgz7sEUn_h&GD8PzWNtJ-YZ2`dyQm+JDTR<{bU;KS) zEn>S}RyHdJTzN9lkDNj$yg+xa4% z;mb$lm)%@ahJHAye{>m#mSpYGiOa+0kxfDgUCid6*=?jX!M{Ph8^K0oVV)i+O_nVg zi_Y>AgoW7D*E}3`d?<-3zLzHJOVbI0flhkizmnSqT{kS)8)67XmH+G%5L`s(zsjo~ zrJEX}lzg_2#k=m-881lMchj)tHBh6WCZ080CMS?Dr~Ev`#O`}*4@1#g;%?wVot!OH<-QJREEbz?7# z!$-$2`-AxL|IXY)+6Ja1nqso&7AH=G=}>o0Nw&pZSYOb;lx3BShJOSMTj=`IO($b? zE&KA5uu*R_@ty1C@zj;}CK95l*@mx`+t-$Ujont{hZB${(KL>R{){GX1;{rp&`PT7*T%25LocMcOP2y5 z0gC77%Gb>)OYRgZZc&N7vb^lfiZ!g}9?97T=mUqw2`TQ&&pEYwrE>c>T^K2*jjKCx zR*#=&m_`}z2LjooFaMv?%O095z zJDwb{Z5JH`MA!hT4?=EywOdHmTFi^sKK8@<${4cXTUS&x!#B~wyuF$){jyVU*u8Mc zgBVC_-Dv0|_J8$W?;sF$8(DmdZ;z#aTJ_6)?ID%>$lOlEI`C9t!A{gLL|jo4%I zG;&RFRjN~_i)4HJFIRhM3; zr-!0msWee6_&ZkXUH_=Ps6OZz`ki?lk}rOt>}}@yA7!;JO=Ol{6|1V@^epfkPS5LC z?>!C!f3rx|;pO}*eHfUsr!Xi@CX?Y%fJd%8nJOxyn(!ZF_3(d?RqOv<=LO-rV7zOmd~Y*wygJa<;P=2VI}HeW`CB;@GOUEFQZi9dqM?@j3Mg7nGOa$`)M z&dkl7iH_}7wTRx%-2Q2RhQwBX=WVOF%x41le751zef6nkWpysHs^Tc<_Rf=h<8LSd z*XQ~9fk3)|6R6tJq)^YoU9$o<#8!{_5diV}H}CTpwS7D0dQ86(nE3Haj-ttJhFA26 z6Uy6+sCNSv?WVbzs+c%NtiiR|a{no9=1J}wJg8snqi}ubTpC>gYPbmU z;SRzlAM1qHxDFKQ+jFoP?UPhg*I*f?Paq$Hi~npkEmhiNwzN@02Ddz;UU~7Xl63me zrHuUS?3I?1Lh@zasI3YxUbQ#UAqZzyv$~uH_4PoY$L{a%%s$4^2;xd5T(3(!^MB>9 zPSu|vDGWAdri%pR<6Ex22-Y)4_e-T)a}X-u2Vq~+Vpv(epN73&?>>hy)TIq|vG`PZ z{0J{f#ZDiK@M!ctJqSbLQ|A7G%~cn0>+mXSK7jKEC+lE6?KTtzTrcT|-@w07VLyO< zVE-S-bbQyoh%Q^Un80w+Xpri)sP7$VEX$71+f8@#-km#gU_nesCji%sSFCp@aKWpyxQ``Sd+~5it9a7lh`S1y+?BCLR({lrCCOP_*4IQf9Qv8b%LTu) zP!u6#Ty^Nk$>X#Z3JQsjpm4O$Pu{w8wz{iJy*x!ip?YAnDkFRp#xo{lo?A)yFv)!z(vx0~vGG*dkX^ z?tz9UtAZ(n8o4W){)*aHSbSpofRYHY(tN7aZqsWbBLw+pEWb=iQou7U zAE!=lA^~XV$Nk;5)q%UH)a3xLf#5hQG$mg`Vns*Wxk3-wuQYrd1D!&WWU)tHWNq0Y zv)ESKoROe2q^K@~kNlPs@FL$)8+S)`I=`<9LL<$Y{UgavLgcWj%=c zhOB1f{B<-8TBU1uA#(3cUIsxjKy%#_%zg4#C%wO%Fz=Pw7w;R1Rq6McgY?T0 z>AdRrthaxZ2fG!pEjiZsShQX@kX?lW@IS_=VG$iKK5{J#f@O`0f1fhlN#0c(a(usf zm+F97AS(vleH@C^J}F} z$rlvt50WqLT$w}T&mXSbSKWndV<&o1x8K&WCTD9b>9p6&CAU85CdUc^?k6X!x=$^2 zt{Y=h%r*x9-EYr)7Ofl|IoKy;C~t@jxe^J0$)I-n4`Za(Oe$uJOOuApmW)mwWNXcQ zaLUv6gPaaBW%qF8dod?d;$JRz2+(2;;Wfz(7Ujx=)LFRa)DZ8w$~)hj+E{x1@jbGv;xU`ogOz^Y&3ctj zNW@n?QrzD;=ziadfY7t-KO{m^Tz_`Q;NVS=-aN%(T^sS zuFo^tU7tpru!fl1eUKjL6ZmY*sJs84ed5Zy@|1zeisL3TgQLm%Qhb4)*U>w08*f(< zTkT+m6!n_HSS{l)A-2-e9+Bf|9D`i)L#_&~@pQ=b$s%Ph}|3ry6U0D?XHzG_XK zzCJb5uL2wP_7c4v8gK)9yi##;tz^F*jy)CFVT3 zsaoZIa5V~BjQ#GOuCHufmAKMK_;5HoV==7++OZ9@Dz62prQZ%NEPs-zy8l@YAu%s5 zrp?&Tj~-qG;F7_G+OSK$`4?za9{@8Hb3?3up*}dG+IW7=dFNeO4zTo9i>9j+!5%vU zveNlV|DP2)RE?r12HaTbg(M#;3gc;V5~&gj{m!bsP%-v`5O`y2&HAJ%Z~^4 zhugPBo_e;A^Xrq&R-ih_X;l)q#uEivhWwTpVxAC#o>Jyxq$PXKPhhz8@~c@8wcL?y;fvQ zJ0}bNWmHkJ@nb4A(7(7o7ZN+3=OOMVhbaCFx4Nu1pVo;N!AU04D&6co*xhhhsbA?h z+Ry8*@|PyEnc26cGY#Bc6^@8QfIJkf{sj$NR4NQP{#&<#o`vDj#4W)c8&3YR#X!G((kSX0 zXyW1C)B*dKIK@q+4PQ>+$?I_x_Oz(HC_YP(Uoe zcd=;|>w>5zJ?81Ymu@}(8l%YTN?KN5#axbV(?9Ae&(|I0c0<1v+?D=>#AkOT8OoHL z2UjZx&nfY$rfkEI_>fd=dCdd`_R{&!`2+l)8Lflmp)xCggw@>Ff=dQ_%c(SaBU{5M zMzd!%@(KHQr%Z!))UuyyCbZ>VC>|+AWk_l12i?uQ-FGLNh$&1m-8Cp>&t_B4FpLo# zRDI`R7^c)(VP{Xu+Ip7?40YjE_c8D7X9x7K*wq_ED~|)GNd5|E2v(hR_B$#Oh~GrG5VR^$uNR;ejU{8=uQfgTw836$7^5vf z9r!)|M+_(ND+S66MU7bHapCUh$wwrz+^r?yT0?wx&s5l{hBBLb6abmF?#g1BVDc04 zTKz1nrB_P@fXfcZvF_O-JtGgN3(b9j6*HMGl}`Xlf^90*q6-HpX_WYJ=$`$$Cd#I{ z7qY+yrW<=qK>NA!rB=%E(!K(MLF)6__xdwSUvI1i6Q6E?KThk&F#cK4oOOXv>H(hbwi=tA+qdAuhn}A^E!=1`v89;628N|x? z654OXzqlznWXR+)sk~D}7e?dMdKPQL+%E_pTwo)wrLu@4U7WvrOv;6+Lq2yu+By0p z=@aitq2PB;Dh;^24+K(Qr7>#@k683CtO0rD`tTAqKEx)yEeZ2*i7f!*?W+v)f)O|J zRrp^YgL9!t;OVWMZT-Xm+SG<#g0zO{=IzlWeLjT7W=-$aGxWh*g;H3J888 zWS!it$_`wbX+b(+vTy#TN?b}6zp~$0HKG(XwidK&2YJaoA11Ur+M|y9;ih5yW_d1A z5YLb{To1|Ga&O=qYd;Nj9TOPfr8zRn9Xp`*{_<{7>}$WFA(3`3l(AiK`Bx7MloyRn zpMfdb%d?ZQDTLfw^0&QTDez5@3xvo+sYu=Sb7EaA2J-p%3BiT3wBKGWZe-fyurIK0 zDILQB{lp;c8>>$y*h++n!ur4Vr92n!eulB`On>b;vzL4+JEm?=)x<8;Q9z_#*{VX* zv!AvM-5OKs zn$kH?=v9~!yx;mM3}o1ukg+byqZq!@RUtr?dTmESDEzZ^lU*cpZI=nSr}*ui$!qDZ zPbsou%yl$)Jt&=%3=p$1O6Ze<*0SWAE4I|-$cfO@1{Gw>R{3xHWSH2MHaHH>S=c5- zdc-}z9l~Jj!hKT-t34aJg9d&@(+MC%QQ_m~K##r@pJLG~1$r4ijk6I@8r2NhU>ti_ z3LB%>)yagp2{;O+wTf$$$?$MnZCLjoR7`p|`!Sq2oHVt;L+?j(kQ<%M?=t4K4JKtf zSzgQstdWovz+4?giA8&2>Ov_)8xpiCI|TR5SqBC1k+_LCj>(=|=Vuw5WoUiJq(2E= z16UZM$3@^0VHX4Mx&mxGg+!*cvGo={NrdI`s&0vCW!Cg)15A><}8PA8mpBpFhD~ z)EfmX_a#591v%5t3aVP;vtmRw?z`VgRW6kuOn=nwp1c#nmhaY4eknZL-iUBFE_H=H z+fPB!?~m3nA?S{*-B$Q~M#EhzwGmXVA`2P=;I+HFN39r@W2q4zMC2tmWI`^2?1is$ z%qBA;ve9+(f^4{6p`Hk)UhU*HZBKjiB^@un5cEY4X*XFQNl5?w2;}2t3>pFP6Oxx~ zhqr%-Vld$p@nRP%{n9nZ=XFEp@UAQ0Y7CD?o!YO~LpQ;-lMF&+KBEf7P^`E-TV#k| zh?A|BZn}={B8VE$a0NofP+T_~Tkd;%ThwG<30|o6&`Z(nu@lBZnU`h2Kw)W+Atz5t z^gedz)^zhC(D_lEr_Z+MNNc7 zS1*oLr-+6C+{m=4rC3x0eKc#rEZ=^^8lO5YUddWNX3yT4=MT!975Pzj`=|+6X6?Q= zY=ZlJ%vI>H^~)43=2OBpC)GtTnmWeCv6^8h2C=iUh$sq|_9V6%Y1#%Q=*bVyCGOwZlMwqL4edM_2cBgHP<$IDN zu%{zKaXlv2ZzcV5wf2{v_Ld6RjrLm-&C#RD@G$WJ7loUx9FWYrsr2q)UJhg24lg0; zH7(+X#^5>q_wxiyo86?oW>+1ZV+|1)!L51kQRskYVSZRmc>00itOzz+Rz_y z`_$!EqxcYbO@vN>uY1bt6yq5pXW=)5biW38O?;&Pe$m^kXj$dj`j*p|#c|1RAT$7L zmVEPu1#%<+Ysby##XhzE$a{TuP@p}k{YT1N_qFczrc6ZBjnvCH&mPy0$SfOHcW@3R ziPY~)QR8&8!m~u^)UVgxt$|}HSuT<*@Z)VxEj6TE*4|BfrH@%*E!dNnTGbP#D#^>d z^+)dl>S*LsTnU9_#$U%rSdbspqg9t#lsWBP>D~E)_(fKXl%Ept`h{bweE`Z=2_D*t zC+hZ2;gq`AUNPUpNrwa5G8AWIa75kfOltywvh-_k)vSmNFC-AX@r~sEH%4=iB!5e} z-`_itxD+PXkfAA*V``*RtTUvQu;Lo$2W#^VQj4)78+sp3goqFr}OG1Pqaw5AB0vT@Os-zOz# zW#iK)zqciLRwXfj*Vrd-WrRI4j&+G-$-os;yfXbzJq%=_IFH(UgLh~(6 z?+Lz?1vc~5xTii@^DmYnj8%RdGM~7|Bc0W|$aFA5%)BwMxLh6UWO-95XNP>9w|BeW zM5K``=a>KQVmV(UzH;~Y^y;091(vdLx6WQ`+)|{L$)sTS6y=jfgT68vE!&so@QHhP zsJgHgZNb-y=M;Ry!zW&cw?4S-4WoY<90K< zRnvkKSaf|%yP8x3VF|NIP+;`J8GWClf5FSmT)w{=L4x+%sxRVim|gzU2Dfe+kt z;pUZpI)sbc6(oCVh!?)i@%^B;koSm>M;dqR^Ko`#L_UaRi7oWpd)X^R?vs_s=?-&8 zqfO16;%y6C-iP3XOs(P9!R**YCVRKvqW@@>bAD;#zU_%W#36V1R5AQGYyXQ)hh&`( zf}vee@|RpL#bV~OrZKqJS!Vm4E%+t)tF&Vh1RBtw;lr_V>|>)xxINO=ZPI7<^Q`DO zGh*!BXQO|p#cLx*ziXDA{C2L+#dSVty{YLr+Ik!2E zM5yau*`|AyON`&1V&L*Gy+__TzEU2nWuAHg#ak=}{+%+# z*LjxmfWiLbWg|=%KObenorB+vU)n`o0%b_Fr`O-vS48)-=tBWdiFb!THZaRHd5_ti zg_!;eAz|DWs*Vkod~X{=xev2!9)9wOkMhESGT))pf6{V-V^h}a*e+vAipNr%D2OTa zAVewX#CAma9eb!)W0G4^v$)SIDxf2gaAR!4?fW-FRh?vD#(_Xo&&eh8=g7|&!%}7W z7O~rTLK4MJM;h|b@8n0U`sAzaF=9~Tggy=2qreF zC60_66F#&l^~aJk|G4f5yn1wx0W`?=(juE$uUxoMcRIPTztcMYot!O_O^!Vl!KHGn zMn5-WB6s*%vk64LwHixfa#xKuE7%V9sD;&RdvCcRIcImn-;~xMXT)JoEWdARp=j_P zmq1`b-TZ$cjwqOX@h-Z#78-Yb&O#*1=ZTJsLwz=_$ZukUaa}Gx(h05Kq-b5;nDucy z^$cQNB6;_PJK!;scY>Z;vE_)<&YUKe5gDm5 zbgL)gY1pJY5!E&lXQ1iKUh;w^i_bTDODgVz25&#au5+6`k)W07N(#=8;_kEBMlj{v zsO_ae0qK&hwYe%<`bM*I9@KHMn+-p=@CnyQAFX;A2g_Sk4Fh-tMMp)XK+b(L@G3U2 zfw@-WjK0&SGX^3OprNT=C+sAuUb!)E>^l=aF}~+Zv%`X0n^e%uvyYy7_k{(-p_w7z3tx&S zHs27%T4uA2nvGeh3^*`Hg7A=bb7mH*`#BPFohLgtWu*e$w|O89Y2iz()&ID*srsw?ai~7@u&4lbR8JkYfROZBt}tE0mG~y@BagHXZ0^)xDlzFM{2e8&|qvE zS?d6sQkQlbTRdzxZNGKNvF@yW1|K^4=5xfoR@>1?jXLKYhrb`%hS(*e^`Q34TN}v7 zhoEJADF)=n@HzfgY7{rQtmf8o*i(&V4)WjCi9b5a)_=!wFFU`W&}M0Ug$mHkKlzqw zv)!Dt=;)(p)6&Kv*Z8jct}Z%EDmSnzN<&AV_($Yt1+o7a#CQc&#duKR8VzL|B68-?=<@-z(o5zYxFf_ZxjN(Nq^NJ;$rKKP*0 z`TX7{qqLkHs9W|9RF@>m2smfH9Up>;YM2nHltWBq3)?Q#oeIi$0S)KYaiU4#5?Urr zEpAs@W_6(xz1fT-x<-V-8^BLVnB4v66MNPPtYxM@!g+o+cP<$AR@ID9uuD2DFRirH zTSddFzb4Lt+B_}|C0~}Zsyl{uDgazCt>JV(JKvMRD|skBf1Q|zg^ZJ)gNKph?zHEy zchVm+*T*xZYz*%~`R~uK8$vP7i9B47hVf8ENQ=z0Mon+HybhfoY>{cbO0~ec;kEZX zsfvVLrE5+-Nl3Vco@ZFGN7)@Jv^FqDL4%3+r#k2D^qjzts_T0~vz}($Jfv>Ztekig z6my3U*SHV-%ZOaZDC!y9uB^lsPyHl=k9~mWzU{kt-PSHoj@)U=23x=8G5^5@taC3h znGl0@B3kM3dR~Jcv}!k=BY?Y&WgZI0KEomkedd{CrChEQ?c$fk8B@HhVGSG)DAI}} zxGQth=FUELW8HHGa<2Qe?m@u%Hhh3{=sVgSABNGSGC1Bk$Mi~WLn0D8j=Pht^@Z)h8qF$y2n@Mgj5itT%-Mh@$t}i{Zf6-Sp1Ca^r#)Ypb2<@Ss(FN5Sr--|1<)cwJ}J1~8MA(6h_Ro*ZpJcNFouJOM0Rf8UER6bOQKyjc`JcC`OW z+1s_bG~|1}Dc?r5?0iQg+otbth z$sYASlQSA(CkwR6S?f6nbQ%>=Q@G-r5W0Jt^r1FAlBQ4SiRCk>+MzmagW0Fv#5lqX zSth1Qh*n=BW&77Or9NHc2zPx3@h{|89}F7KewfRBdNG!C!|v}hjnc%lq}3~V(^r3` zT+)#42rs_79b@+iJTtS5j0MN_7am0z}v z7wm~u5Ljr5KF(SCnH>Bz^517PP@!*6x_NU5jJw5w_S_csk&g%!LjDFnE!zsPwr06ei zg(Q?RE?wiilaO@X5#ObkUgid=|5|sai0}hNn?)|!8)|X6M?_s!d99|FQXh2RKpp_6 z-9Qe&N+deW3fQvw_HYe`{0&f$yCas5?@V-Mni+@=it8KJxpMVmde=J-c3`lTVb1IR z*a-UE5%_i}(2O%!TZTl~zv$+HVbGdHPl=I;H6{CFz(VBJ(o<`LBnr8n63Lf-|1J&} zrH)$NP+R;|n|sEUhovfwa60za{~^;J$!_mHd^c57{>bTm<+$KkPiKBK!Awc=_ebxw zBvj<>E`Qicm@iK})!Zv?Y_9YwH5ptOG*OK?vMUx(6}j$WxQ6D0d@r9|_Bmdbu~Ql(df0-~zTkO)UEO$ziI2Z~~<=N-NMtFjQxmFpv) z9+{rf&>{(`fnIC(L~(e+m-ggYTyjUeJ}@vxZIz6ewjYKKdN{TYzS-9NM<9IckduQV zR{VD-!k%rjm z1TECLKvaq{90BonoO4Pv4-r1G8LLKydqPfxgUuGSc1RpC%rIjFsb8SRreGHydSt`Us_qP?(H|!$| zj#=dttohA* z1Bfpb+=FGS_9x$D=#*{Eaw`ARIHHEM5|Ub<`K_uEEqGNQNOU0UZ$@Iiu3PomZpLr8 zBIz+P$zCn1Ax_l5LwCk^L*pj(AcEja%_IZz;BdOOZb<+Q;FaDiMLsr~i;Sz+n{~N- zIZ>$(G+$}?Ri`2J^Es9v#(3rp}W(y0DP(< zWGywmD6OC%(GfRNM!89$`GD-ypy)pB8{z$o*&o@anma;)cYC=DoQjY!U(w?mRN`>R z;#uK#Z&{yrDT7@Fd#mHRhjW*xCnA*;(*LlbV4Gcz2T^q*jQYdep$J9p^yC)%^+5-Z zZu$;CNwj*3s;1l|-0u+1SPUz5rs`Ge7-LaJS!Ky`PZQ8sT^!BNQqSQc59AO>s zqqgwHWJ>oWH1d6uVUK#>r>bIMr}~6;aLnnm0%U$ zteX~r>HYTugl#rAoEf|nG%I%suT<^2OMgHX1BS#(gCMwO}fInLd-e z(N~-E<$F=R;&(o!uU&P+yB&4~?fjuuw%^XiR_=Gl?k_)QOf@Vg*cn$FAKS%FElP1z zzF{+Ot4LH_*i2s{7PS95vB~J<;u&;=SFfdi*0HpOImoCNv`&D`Ot3U~nk`Ric^w~N zV~wMQhgy3oe>#FDTxBW-FWvNrCpT@vb7rHk(iM2W31t14&Sm3?> zU=;2adPSz}Sf3<CZGWLKf| zWjB3?_lDxNt~ZHSkJUUDohga>Ah|f&-PC-}G&$P%5L4;xN$5{Ws7dSUx4t~U4}ekG zc8Ph^mK!@xkLQaRlM8lyup47=tI*ZZ?ckefZV)@Ps^uzY!+YoVu=^>Vs(&2M3=MCa|KF zWrt@QG5&~ddm&S3OI_52St)UlKLs|$4Wal;h#VG#EPQlbDwvfXxyLS zFlLB9wSP&VZ!)sE^`bknk+jVAZ4+{)R?afhWBFBPg#$z}0{t#-4~?VbDg8OyxY`t& zu!tgN`;bP@pGuOM#`zGqb<@p#FK6!ilwNy)mf?t}FZ5EisJRUZaB{mpq7x$kzr!28 z_JPj24J#vPAt316yTWnRAwspPQUHKCYD@|5^-Dq&dHk)PTO>`<(&w6pITV_TgZD#R zw4_E%>gNMlno*of0_j?M-x_mQl>pU7c=M+a+STS0P9VJewNOY&qoo!E`vS!s@7?~Q zdlWkBq0t6UT=RM5{ejFX-1uVAl~D~QASK>vF!U%;-}3hXctKN8WSeRcncfObz8eOf zE+MgV3On$|#3z@`#@=oE(O`&u0GC#HtkrdvZH&;LE9=ncGu(6`8M4ExAKQg@Wnkj4 z8y#b6|I*0h*9PV20YIgL_Ue1a%1JgkBN2zPoKG>jOc^>0@ydH3Dkfg(0qX3v$bX(= zn9;MHjs8E6+`L3Pm!9W9uU13)rU7NXzp|6-G&0R+1=-#jhFsYgVJFFa&kTJd5mPM4 zHE9Ox(htDCN-FIcLS-AA4GDvv6ToLm{cg(M*OuC(WmAZ^HHzLo+EadGl5oph!(g*f zPMJPj_Af9FCMEXRn@rd@->G;WeVPh>DKRb{{m^9p{ z|0=iGTb?pRw&0A@zvC_E0OMsOz*GvD5qoB78<)jBbd0TA&VqFu3nyJ{`wKFM&p#Au zOL*K4*xo!ggQl;($r(!;h6nvDXC1Z<0>l$`cqg<`j_@D&*%(gh_vR zR75FF+9&SPWji6P^8rSkkPZnSlT`@RjhlCS3W)(*hUNHAlDgTObF>sr3u2=c{t^`vqYhCe>#IKw}+fR}K0+&*U-gKXwl^Z7BzVHS(5kY7I zZX%5dKGWVC#CfY^roU}0J8`2rJdO|5i2GXGYWP#P2(7L=;kNi*94RB&WQ`OtQ^0lW zn%{W~P|R5E@``D5&{ZV-6=^JBnmeTSD%+Q@KygW#dF#a}~@-{sE(ZxE@?_zSmIMsp$H zID+`k6yJdMDUaP*cMzL@^W?@!?4HQ9xz$}$oR5Apld5CyF7?_`en-hpjL*edf~}_o zlwvQX+Zpm*<*PM~Pc9i#2UO!n|E5Vy=#e0Ji%+=?j0-{Ka3$fe>3%ko=D&4+`Bo8< z-Wd2bdq=p}o?#iDLoVOPgzU%nvZT+E{iPt>*Y$KbB943ubAeDC!y-j?`Tn8>qi*zt zUqp~^y(M@V16M}c_G+EI(GXtag!Gk|D?*L7OoQIEo(#9%L7ykCjosXWKhzII{shtV zY0p~apo1FOJ&t9(fbw{SFM0B>kV&4FLC=O8O?K*boo;NYWY=27;8}_D`7P0B+-Uhp*D~+{ znr0i&ATfX=;5Bp#hcamwj1pN2w-N=)>{Bg$RYfvFe~&TI&YnW)nrG@l3id#0`nkCy6WR8 z8WO@SUhB1cWHE*AOI3)mzRQiJxTvsW)w`P<+v?j>`7ZOuUumu@4E6fH(o^5)QQn@? z?wQj+kU8)5P`E9db1`;`_mvq3F55g)5(HD~uj2zYT+?cINg` zSoyuCI<~G}gtq_a%C{U_n7PqEekv`-)0%l=K(nPf^hoh|EPo%KJtI4l^Zv#T)KuNX zfr#sosyLm-6WFHwzNV%{6pCk$B3NWq-^!!H)gJgXw)urs&T0Zk#QmTLkkaXqK4y#T zo%J!HlUIcKubD3qE7#S7Dyc}A=`BCB5rYb)_-N%Z-t-DWN8FT0SFI}etD?`-=&ftl zi2dRm>E*2|P$WeW-NH!U_hl$i5Iha3bwz9{393q!6&~33^iyEoMu8XJ%D}hP;7R=r zawgt=d895vKqN|6fm{ghHu!cv>7NzGNzP7m0*Jim7I}>bfH2j-a#Ynpe6SGPs4VPm z=$or06=S+xAN#4shc(|o41TxMD_5zA%cB)c!P%YX(0i?Ct_7Qk)Q}Atxx5pFHhF@; zY1h%jn{HV*;C{(f=!V#N-itB&KD7H~S2QYV3V}g~kO!cc`3McDZZ(`zi~f{;H@d`y zP_$pEBvB~b9OELFW;ix&GxR-J>{L#cjE}KD_L5CZt;s@48-H4bc~foa&z^(O--ZP6 zrf3=>+L?NEpp-_Fq{h2U_^*!%iAOS(H?@&)vi0ct&vBv-boO5p)#<88;dRE&h-o>% z7LS-#1~wgFe#0`&@v;78DKB78=}p+ld`GE*bW&0>`65sTcNIV$+j-B#FQag^XpEW4 zU&5dRZ~qA~e~=q^p#o&843lQmkZGqwMy5?@U7bq-$vrNGhC!^VeFQmu`RrKS9UbyZ z-gXH3_Zo8<#%Ebb@GbO-7-!esV`pk2hE03Fqj!CYU_uVWSKRwuA;1}T@rk)zT#n)M zH7Y{$+Xo6_v|@7(MRd=A#^aX~h`jKzs4=)dD9^1x5+tHFj`=5Bn2r9~X7Ou#pJ3Ss zbzhyc9)qft&qbMr`#F?T#=VZ-135`6aN^qzMSs*}RC_tRy$%cn{Yf(-O>5{%a_qJr zUd&VK#nJuq#D~B-H0Df>wRIf8{eeb7NEjYgWr~eHL58F;?%+QiFBIaD0!_k?!Xcei z-9*@(+$o$n+>GS}VJSDsb&2F+jQh^@u z1$hw`_6c%z>!dp_)j4Yu*3wLqWxGvv3 zCOYsAX6&<+%O%f(Rt*p$j?f`wi6?oZYpSO+x!V+iM9jlk!`T3hQ(~a=i2*S_Hg(=z z)y+P2|7^DHCU@Thqj)UKlq31=2fm(7>a7LP?Qk`%QsxzT-xpfJ(>t*^lg5r*a}}f* zkhjs)f@qth@8!(RQrW*RQ}f1I5@i`TvqIvrBLRY5)2$oB7*uf zvx9q-CaLi_ZTu^Q^OxMhE7sBNeQdD@ud?ZAv?`Dy?x<0lh?p>AgP>bLUPESCYsW3L zadX2?*L(1*J<~!u(kY>4ovM2?sq8dE8AHzWT{@Dzka;I8RMwJel)ZrZ&_{DjKkXbo zf}FKMi#Wk7;r4&LhmQ;8p#R6wb;h&(e(e?|s8wneu@x<)MnXu@8XZxq+FGqWS|YIp zKdV|hMintytF4x{YVW;w(b_@87Ks%?p8TJeNnU(EpWNqrpL3mauIu`E-|ySH;))kWZ=hx+fR(TNbX`({jSxH);j%jU?~e~jTaV^!-A&;kt@ z6;4Kv>5NVYU0Q$M<9fPu7+5FfSM7l|^L_aF?%$cYdc^nlN~R(CIcZ)Cb%7aT`sMCx zW>*1T6EGV0h%jG2ZIo%$2i=#%Re+gVJ?>S#vv<38Q>MnX_9mz%f^Ev!HSRu2Cb#rP@!rb@AQ z-|ZdA!|1!;aKIrSz~NW6=C=YBmm#gsj0NGYJ3ME%)cNv!DY;}FX)*ehLKhuVNt!vp zp{TV1h=D*Zi60z>JsTSAzdPQB7na$?EZX)U+4<07)%d5P$ZRa>y~DU4YJQKd03wPh z4h{uf5%GwsUe{O{PG@Kkzlpzlm2WEm1J8abY@km*veniyd~VxU?tcH3)0{^q=t^?^JUx8u~%m|rW$#$CswfEZt)Qhr9G-~fHD(Wp|l z+SEYgM=o}NB7b7|2H8NSWU(k|&_cX$_#*R>9;mIdZ=B0o$=iwYC3+wPdXrK>SSC2U z0440I?e;OK$_RH)oeT|-G3I_ws0i`)u-XzjGBtOCm9=Cs#; zV89LJ|G-qwm&5y|3Q_%nXBEML^`_+QxtqeYV{S~&bVoG}QcsNlZKYU)pq#1NB3*md zPDxxGpMXQ56HK+^Z33rxysP23Zyo1{!f*GZ>9D@9NA3iQjtV(R%Qm0Fq-D$BgU^=# zU9DPN4=R*jM$Fbd~mUuB96u)hi1V4r8yF8y6) zv=mqWH<^Vg3i%;&(a6%p+F8Nt)>M&`jJ%BR!JjAee=g_u=d?$&8V))WGHY`qboux$ zXEZOxVD;UPt?5__vNrUZ0_VPd0Es2KABW1r%(N*Zs7Y^G8#*tlHnxKB45V}i^z*&E z{ZJ15PcdtsMgAwKTY2lIw6@IW6smJL4!aS>3CGyQnT-)83rOEA@r*&>4}i?5R_%u5~2)!@^IC=J0#)w z9a)L;;g_WKeM*n@chFiu=RIHa@y|NhKY-jQXh?p@n7ijM7J73d+GJQlFP`5a&8Sa~ z^Fsl}!CAJ#WP0-tQ?*CIZ%a>t$GPh3qJ|Q&|49H{xfdZVy7kH+mc>LOr_ta9p zk5(OPpRP~PKfT0o#)Pj{e5F+5YG9Uo&|_14$0MuVBEfmuCHuF>hHgzSEri5w8DuKy zXBAjiq=hLw+y0*h(1%F4S`0s0PA10g!BGLM8%#w6U5>0_52Hd- zR0JGAmw}=TTDul9)(qN_9NCn7Tt~kr`G&Rro{lL>O@7DB_{lX`;jq|hCYtfC)~TQbsN@s=8PA73&m{v`=m|G?XCqHZZp z?!9Ep*l##H$Le*qb2Pt~e|uFSoLdkd7$(BEv-`x}_G9ZPfu$0a>{iw|F6U1PXezwX zBF&w&$k+XCo{o}C`)zj2dtu73Kb5z7Rs#hd>W*pfnH{Wq_5kD8+tw{bdDyr6hVP*kP~Z0_zi{_GRa6M*@$hN)fx4&`kZ*0B++Ti;eTXIR=lb-x z+H&>P3Tq5pKv*$|rthsSW~Z&aozgs6}?&eMM3k4yh^6by3zRp zeU>!Y<0H!i!iMk!Q>B@p4ZybZZNk|8r9aX6MtxZ{SqndqDWeQfhPPW|a+xe5{}JeQg`rRJ-fa`oE5KnXocX+5BE6toA?sIrK!#%Y za4ajIj7q99)5N_i-r4D4KtEJfP&0wP2D5Z$M3hsT)$$In^o46o|GiNMQ*J??&5jHhfbd`y`|KKtC4Q=;lbl58*S9S_pdWU3`5sk&x4hP6Yzf- zii){0RJ~j+tw-~KwSdQhwy!aMQ7*lnz5Glu%Zn$|x(Uka9^ej)g!0n<#}5l(;HTBW zxvt$VF*|1bd5HLjG^Ap%ke2uD$k}m=YQlfQ`~%;_`kK83097s*npGDmNPG^vBh3L` z`ty;*Zw8xF9I9MnE6bJ-oh2H;2bL^6gyapaAB8V57%z4&ftJJ#Qm#UIGgzRj$S7bt z?t9HEP2Wsi!ZKWdQ1Z~yIZL@O%Od_mA?2S7P4>%%?UubfE-OOxC6Hm;NS}l5Y8#vL z^@WkN|2%>#(Zu<(_e#@GDvE&TiaW0+id{AFX*hLq^Q>oqN`!{fAEDJa;)ihfd7I|} z(6wQ#sNYBQ2V2{GW#fbp!=UbnpnldT)KS^0=vsjiQ#kE5>3jmdWQeqLaAD4 zrFjs8Ngy$HZv}kY5x=8dJ0o!N;!K?c*CEkE?4Czu1cv73ts0I$h?qhq=Hjhh>MTo5 z>j&lbH0E-%-I*INH9tN{z^2?)C#NRi(eVg_r{X>;wOz4VZOz%=&VfV@GD+t&)&Gh| zf7X=LykZaYn-YFe&d^(fW@;lon0yJ(>|qz%7EF7?jz_s$z&*jlz7Qti>UYPrqvQze z*&!ACJt{kX&keg*f_weKZ?}Co?;KjpU310Nxz*1hs_ixC%8=5KM*|dF0B_U>Z8)aj znMao45pa8_H0bO zdc$ubHd}Mnm+-vn?aAVF<=KO+R6jR=JaKY|oz^ZNd=b+bzozC&qPknXWL0emv@xs5 z^j)94RIGT*?Aa#&`j;R#VT)MKI(Zc)olophGwNOowPzb1m8nFlQaYWygOZ6z!jK|_ zN#{W4k*Rhhk~8IR@a#k9xYd|Z0Z;E~HtiOq&%!-UUy<;Ekun+MIED%}` zlx(Oj2Ccd|9#gk+jFYUVGV`Q<{VTj{suw5zD7fK6i&YpySiuEGx{IIGZ2<)>|M{0~ zSXFFDW@BQRs`8cO;O}y{Zpc69CM6JqciNGApE%01bCe{d*Q$3ys9Hy}3RS;BUU^~U z7w%EGC&nJCojsb{v%%?>x4wrq?^+eh|841IdufFSG)$_}EEsOi=EpiHg{4oq?iJ7X z%%*8VL(FQ&YMZ{nh0Q8XrosX%UtGAIcHwVddf!2uKp}CnH(|C1=od!nm8}db|KcWG zhR!avHi+M3l2Y%r2rNVlu<%`mn1aXVd_&7L2}IJs6o2esk#O#mdUEPF>+9W$)=aFa zn+EzYL5C(Hsjo8Ht3=j;#m-tI)B}o%6SdS()TOg+pZ3YQw&nXy(5S?td)Q!5E~E^lSUv7(3e!)N3HxG6jurwYh7Uh` zBen9hi+|A(&YQ^E{GSU?I5($w`J{aPplm(=O$izeudsX@3=p^jXVcw?ECJ#e=wNdF zS8&$PB3e#fR*5(IE1JaalqJ`5LdMBZp8q zp_h?p;!c0OfLi*aLfGk%7S|egR(lF&ThU*&>n}m4Mi?WE@YZT*R(p*tZ6mP4QBQ&6 z{gA4ZEB%@z1;Fzr#M&2d#&q2(O(`v!@0aZ z5|>fYuPP!fy^OfoQ<}#t%($9Ko2m0H$o{po#WcmC>07*R#@+I<3@J2Kq_PA!^ z0WR$#JT{{3D4p9c_w6@|IA@HNQ-nWHu4aNaZ|Kjiqhv?T?sq&Qtx-&^^h~)(uIn5$ zJgrZ&1*QvU2~SPSh#V8rF)V>-0!&0Hi=%ol(P+EjEF{Bkk> zkQ&3q@Rad#4?gj9Xd9veEP!i15P(T!+NY@k(5FWN-(PU)4jJ`pm;CFzULp$V=PCH6 z^L8azIU@PjD$opwT9w0D*7G-pn8m9h%YmKU^8w#jeN&ILBfI8c2)f)iAB!z#69dCa zgpv+jpRVs`iePUsLSp;K z`N;U|mF)H)Qg@n(=#Zb0`H&!Zt8ah%Q)MRK87{8@#kopi(eGV0W*KXEKg3q829=qrF$+RcG z?U%pt!q3#d#^NcWVBW;{GGZlApbfYb$!gHQcZ&~h8vJm&`~JuPD~k-2$gfEOAWrbQiB_OIv|W!5N^Yw1AFBUR+mScA#rn=b z9Ce2->azHcIFm_H$8597>jpPC|Kj#*&EkLE&y>~wW*Umg)H2pasQ^<~|97BEAqyBpk1gyA0<#IYvH;M?4n9i&B&iT1&o}I=?YtvnrK)m0Md%$ybCU*JCB>uIQhtUhe5<@)Qf> zQlgPIcgr=R(fe%pct@dJH!sX1u+V=uEB3N1*wVmf`Zb5w9tVLLCjNv&0m>k=QadTi zkiHx!yyCrbEa3$=!gpc+es+dPrFY}9N1WRh9yUE~hxRY?AOE4PL~jT+529ih#tO*tg?7b;cYbR5E5Q;xB+;Mdf;u&OtYoaQ9k?O0L-CM3}2WZ zFIV;bFX)C857M<-Sx}i+^R;?vkYxtbXJ2$u*P%Kgiow_<%73EBiBcr63dcW)%Evqj;cY|eU0-C zn*Qy4;|cXDuk%84&kZZRohl*qkDD2^9}%_gs7LYlNJx`(7dX)LZ8p(27Dy!dZan=0 z-;T(~%~@GJUIE0sKUeNn=;9u|rrji6KPi0qn184xJUzJop#ID3a1ZTDY96#X?(8|L zr?v@3QC9)FRp7Jn($_GsVW2iZEG)j9smPnXt>PQ&(6Np-@LV{@w~LdO6E1atuW#=+ zj_+?&uwd0nuIK6Fk)?;!-_IRGerWJ?|YFtZsm`-XLhMX-h(Gz zEBfcwC+k!5`(0K@)$$9ZUEBS~T9GI8aU!*__1AIlZ$%t_ZNSG$0PCn4(|u^P$5ibg z>oxM z<+v7NDP+u)T%eJpZh#G3l1hq_p&5iEXxpjDW`S`ASQEt5`ju%BhUWj88Y;pjbjuy4!-tHD_4y%<^8#{Pa zT)?K?>#KIBhFM1@tCXg-UY5e#{b@*^e9f-=B9`k~&OA+P;B?nTZ-RUsXDBV8b$(p} zK-S(uO#3UH9M{IB{p)CRrcnDqq_b@aru z^hsbT&0gi&{JEePL7C1pU~^WbZ?~FIp@!7Ejg47Z(fLlH9LGeues(?VZ<2yNurcrpG`o@Z@0qY2NcfS$GHrsbL%AlMDm43 zRht!#f$%!Mp;xu;cSd!)N1#7Dyb$?XJBLJSetJd<%h-Lp(33#Hb>1p%0No2tz!(R9 z{q`wcoZ-%{x4P*sx^HxL4P~tAO%eX(*2SB{>Z-&IImCEp>vvwWREc31!^!5lem=Vg zpU$1*c8k_}Dy227m!A&EP3@}W`bC-@lLe378FHx2yh?R1N-mS(vpEC9NygenPcQW- zu6QfTm0U`MR6*NA#Jb-w?O7`;&1R4vglY?+PZ3d5{ZN?{GsMURDy}V(@?;dd=ez^0 zf-8VClMU$t1eDew&tWQveT&(aBF1RsRnJV5K<1hPnI~eP&b90TrJzc~e@L2&YX^YN zEFR;~afN|b_I4D3zL?*MxviaP_jc#?@&9(53(Si7=CA(29Zy$`pl+4eK1=pho0T z>ZX{yaB3wn6((v%Lu4b(iESR7!MA+)t916snsQ71GNGWdNrrTIAF8k;IQm+j~?;%9n+fv$4bS7}H#@jr;pOaC3t zbvF!U^abuK(>7JF{k~n>`Cr1r-_kNyC68{R8A7Si^h}{6#y$*0xI`vi&RD)w^7pnC zE))vdOkbd@MPDN~oWHx~@{SRm1UCzCjE*CeuSmW3z?q~6d-o6K>nl9-;YlpJwY}LP z=~S>;QI2ypxoLhM(sKaX>3MLgZ*|(*fGtU2Op7nkt~l}Ic+Vfkd2hUTN_^6G^V(3g z*`!L?Stnnf-M+%ts~6SW{ani7CZ7m#ZAW}uqDHwxQZa9K6}|1}IiJ)_Tc>y*Kx0m8 zcIj8&4{u$GX}Of=LAk37=P$YAzmt(8HTzEg#QA$zUGTe8ulk7c%JN=xhUBjWXU1|VPC?l;4tCINB8FIGd6W5MF*tX7K+q*>DDoL zii(VEMcgPVg&1~n@4Z<)BeudEkf+r7mQD;A-$Y)`u0}9?EL->GD&*U^uk9Akt9_I5 zSI6}4dd*N$y0N2NcM|bzhETzr5pUeWLA=bvX}2^!K%a!j?Z?Ca3Q;_b9)ez{Sm{Nn z>w*W1-TKXbd#$KDzKr(rb_0qCr}uxl;JHl*3T5ONOo&b$tI7<%SuJ!;Va44E@R9fg zmxbLLN z+N##t746=lBCYl4Y;h%o)R$$Jr1w@J{y)1@W^TV9s4lj1?n}+Lot-zImh9Gh1W2e8 zyT1$1dE4HE-iu2t+@L5=E3A{S3&RPM3w;?2 zg0BjKwMn0ch8@^&h1HPCi_so@xd4k=u|mXhf^|ZRdF5GO77-m>j=Wjxn@iIdo-t>6 zmF6A>te9$SxgB|0jPd*dfho`h>Y7{m zW)Ch5L?w27$8=PJ7@Mz#erV$s;^>|Pd*ckqX>_7;+B-Dbv{=B>-9l46pHR%dwm={y zUVEAtnwJ?h$${+el3)3V4b+o_{P$eCm>P-uE~R>h!~GsEP++Yr^HAIH-QtU^z-}4F`N_ad)JNhZ8CL2pFT`X~`!X)y zhrRx@#5ZW}XXK@(!o<7LzU*R(c&-Q(i_E1w)phvRU4C_zoL#%)GGT|*aN``Ai+L+I zMLi3*Yl?*>QT}@&u+#tDChb!pZH7U~8rcuRLNihotMCdW$+fWQl*iZmR1roDzu(ov zQ9>yJ>D}w7$ezGOUkqyOsVE=Apn?3ZwUh~w((;b8)(D8639WMy zn!%!#+Wj-(qBex!KLlF$Bt9=%CbHk)#*u_wL_rk?NM_m(ls z05OS;$BQ`XbK@=^=)m0j74)I;KN!NfXi8eO{jxKdI!3HI*L%^1XuRminU$Xx6fvA_ zFRcwShRi13eq(_9z?{qIcI6A^?t?!lv27EC&ywDQU_oAyyJ3((vXb*k%+NKV3zlrN zZ@!aebAWAVquhs0aw(QQ9JldSaI(e7*-uVEvci`@Wj9bKaW_MP6`wxt7_8v!^*7Li z`&QDUi-Q@JnP$#^6W#-dq%WlRM6ntyn$^XAcKmG8wyfseAW%7Uk>bp&(1`}_;npLw zM2=zFSG70Wm5h!h4JfPux2k*RyC1=R$F*f#dwKC@4O~Fy1w&#rVG_I_M7i?!;9+I7 zME!^5mbj=srP(Je!hQa??Jjhc`wpnK79>Wz>rTXm*Heme|kf z>LQvAk~vh}+88iWo09#nO)1^0n)I2jNH@=Jc(6MX5Y%{KfkTKsrpKY?G2&p8+(ax2 zx5VGa*%0InCPBvu-BFRp5jHWc+I6Sm^oTRX|8#%Me5hUwhhr<23SBG_crKMFngISycH(8TnM= zhGh$_BKTeQikA6F*iXk30MON+;l|8X$6}v}?`_L%{M#Vkz#^2Wyv~&?u45NV8XNXr z9Dh^=54X8pY8+S|6dC~+1}^i#9N8@&K;R2W7Z1B11cQqS%$0CC<-q>(uhjEzaVgnx z?W>ee@wUl?qifoiFpr4LBEFY7F7)ZGd>?GsD<%{`5_7jdCEi^ zT(|H(h~#I;Grxis1%cjO)$aVbFP2k+HEPj`p7GihqOW$nSjcQTvnyvza)@w@HP4+n zO!t__$lFn{#RVtTsn^IrFUm^ujd6#sTENZ!JP=ELm(soFF;=W;ZVx{qW(Gqx*E%>M zP{JdeRUqE)r~CrO3wI67+Y~JkJv{f*MR&+$kuRO}g`x{%k1G?pULHwrxd))w zuk=($5BGYd)^?!f!8ou%`0c+;>KcmHED*sCcY)nsTchb1# z@D*Gja~u5=M)>3D#(MvqoRMrO?!)hy%hxcs>^>h-k!*O;DEuc>O}dPLPr%Vojz7%P z>4rFy@`7eBMhd3e!(PJiG=gvos?upRq;ve1ULg0tCf*cCi%b$;K-bV)FR&%_Ar-@d z{Vt>f!u<0}xc9?lzxvFB+7+-tSu-)lG9!KGf9DtzCr28}g;#$@5dfI`FIbXTp>69^ z(S=hB)>eYoLQ$PbL|Mq{@l;?bg+DZ{S|tt0lqkvJg_s`;ygOgVmc(Q*N&ZOO>4_8! zPqUGL=#k#ea6V2T+eux14CWZX zOk7AevuP1-?TIdlVs+MzRtL>{t0N^%@Z&6A9YlTovMr4Tn^jG4rut$%I-Ajl-mBh? z5qm|os@DyWBm;I$8W9x&bLjV5l`(qdgn3uklJ%RAC{){#TLpQFcq1)9T+>DMe0 z-_Xm;DCSvU8_jMqDe%RlR!u?6?iuZ~9rBf$x?eWf zkCYdxjo?T+@Mhql1u`t0K*|dvm6-oOL|+60^3I9ma_a(0T&?c$Xj16@7IR!$-oOn1 zpjo^K;Y=G!`$ryUI>wr*X@s1t2-NeRU1ut~X9`47_K;OdL8||a&@lVBB{Z0o zHLCsN(WN-+SX}MNte}0Wmd=LAW?}j?2!FgNB{P zpLDa<7FsKhdBcJ8HI`OmS^pUrUh1orH-3>(g?NE?RH09TUSKl~NEh5*kmpUXeLl5<&Tj>X{4S7{j=vWW;QU%!9O z@^qWvou*BQB{tR?EyJ=~86{L?S6hcG!CDHV8oK0W!1(bu7C(d!v;=h^CoHfNPUszNmEy;e1Gtpl1 z3%s_PEAp7JPsG=_^SzM8nLY_DI-FEQltslEY(UspEvtyzfyY(wk(Qso`s#a3Hia(6 zu=epqZ9Y@L>Oai7=ijv65c%BVI>IYHN&UTQv$fh$$6-;Abr)A~J0dq3>A!>SQF&jW zANsRTY!kE9bH4El|zTSruUK-)FQDw={Uo$lj{?i@3@@Y7y)+UqZSiqSsGS8?J0 zc|TJ?AE-@E9*;+carQ1@g;L*F(%sOh$?ojja`4fdJJYN-9>Xf0h5f+^=s)3<1@AzL)k2*NKX{tS-^;K`zV{k~tIMP^OR1(z&Tw z{_uX=&%?{uF~UyvJ8gPoxcO*xBOmI1t{0wb3&nwHc)xp# zX$if&d0oOX!J2RHBbqec@?);Y=!xyUbKQB{9wqDO-I4UotGUL?m| z&TsCTg^qW!*h2yO7A3Bl1(v8DbwsGMP=IHc>o=i#IO(kr+Old}X!vo}ki}TvJEk2b zG`Fq7qm@rmMPDIf;3}rK*6Y>>Z&0kjLc+y7i$u*H-D~nzS#XVMr}UGqNNhO{YQ_zmYah$w_ymtZDjmkyh^%3;#0$SgctK2YxKiL z!L&}Gajtf+S_!l`pjVthpYuJE^Ezkfl3)~Vc)@CHT6Q)&so>8llh%vAW}etFhgH07 z`nXowhaiSxdc}-AHhJyu8Z$5Qg)+g4i!}n%B|Sf8P30o*+gCL;lZ=4i7OtAtCnt_L zU(|+3G3n%NvX)qkimLBRM_UG(pg*4Xu>QravAL@ga(dD-iB|ng3>gV_{3^drMv7t! zED9%PjQrCJG{VHxH<(v(Hz0mNH^b0=+tGyx{9%5o-Ez2fdVztq0RmEEuZ^Vueh}Ym z%o6S2SO?ghH`nrGi>uEj8wneYaceEq$uBoN#Z!ko5a_iP-1^%+nzgXFaiS!p0pX2{ zBEDYJPwYv+%~<4Sc(AJ1{(Sl@p!GsihyrMcasIRc+ZOO3M6Z|x$$g->Q0_CrijTck z=E3gtxu?hw+Ze+1weO6kaT5A2JUcC0sP;3mu}>oXfhLe8x{WDw^7t99E8W-(518fk z>Kl%K2-D>7sDj3=`IHOMJw?#iL@S%JcKU8Lc!$s zLAd)@RB&eYXUx4mDE>N*2N1&08ac+Vb1WH`Cb1snq61e04>ETFo%qC9qHX{JdN_6K z2t9M-_0K+{QfL&Z;_TtKceejGC=h)td8;140XFjJ;)02npa&G~ub71n(DdLqMYQ@% z0AzLno%}nCg(|ebyEKDwPFI$ZrE1uRw+Kd6dof^DNsrj26lx|Mm%s9eYNArELMrb9rc>Eq>_S1W^ zd+*)aO+oX}kT2Vns*OW--@N&&cUtHljG9D-<5R17Y~zGK2kO-(g1yf898xU#+gO)9 zUlO0lu=QFg#;&}^hT{6{T;(l;nxG|?fmg{N$|-i#fbp}?`ja!S)?w-lNzt9jFVjj- z?gYYI8&#$Sua^=t_Id9@7g0^0bid>E9l@qcJ|e)p~Mym*|s`23I|U3lTeL zvxc=yiLwTVUn>W(Jm)t3&HzSO)ucvUdLX?fw7!F@md3{WlAdHLl2f&b2+_9bZDjMi z$(`I3Kn~37YF3sA0}i^ZI9IX*Z}2x0SZhpL7sle|`4rM{@3vOatU-L|94<4nn?^r>?PUJN)XewBDIr;8y(i^md)u#@l75)7Sm$;%6R{b=0$8n3@n~9) ztwfHoPuV6g1V5YpY~moEO*`^Kz49{d-08`<120#OKqfWnZL>}HcN{)dOf2B_*3r(L zui4f0y$Lhrj&Dp zZD4DP0mga30{<~?1j)D3dn%22uuwEA9L_53EV&XrktHKP7t;JBlBksr12uF;N;y72 zf7eDWcRjLgN1Ym0^9Lf}M=NDbCp#f$qQizY-Grpx9+R}&XcR7%t@`$_ZmvQkUaSQS+p-tb|-v1w%ue{Fv8V;A6! z#2K`@RGwCNJ`bAmv)mOm_bBFc{SD6s{3xZH=~F(`H^}^>B~0bT2oPMi?5|(DxV7di z0}nCqb9WXVq`vhSF5~DI+bTJ=;exF!L}l@6qAUJrq6A~kUQ-?v$omHTbRWKx#eU8) z%=8~nR^h;CuXBK&_%bjkm80IZJg?d4 z*~+yf&u}@Fbb?fr#30x4r&O!w6Y!&|Ty)_k4+n6qeMSq(I zS9Gah$Y1P1-`rRzF0zpZwtmB3?mh7x$d8n_T`@HaXssP(uqz$5#9~wpEBK_Wnp1-% z+=VsBASk{nW(&3sO2yc*?b5~&L`gwNf9xiNpTQlaY`?xPM#vptCqDu*FW7|XsuDxgD z{#jJ-9_v(M_dIGV?Ach}Nm#RQy(au?&=Qx*5qar{ag*JbEw`;lw;Mt>XN|psuq-Gv zyUpXTZ!F$a)ISR628AoOyKx0jX5Uv<2i=e^eOq9x>f0$Mv*yC_;RNy?I_vTUwYc=( zFx^xWv~C=DbBVVQV)-KAtgEAcciT?IOYii$q9XWG^JS*2dIO`6?mKoWb;R4!fW6$` zrSgEf&Nc34MjdVj8=Xbof;@M&He}=dXJPeIoM$%1?DLJ($HO9xq(yCG@y6}F29^YZ zS3rXD@)_iON{zKqGQ3*SP%9JE^d&HQA=R%?s;~OM`BHPpcA56k?(EV2ozyF@lNte7 za>dcXUyC{NpGi@Iv=i-dUiVMGH5≈y-(o!8zX{4@iI3ny>XH+r8+sQ?)^P+T@d~ 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

1Z*#)U%h46D3aNb(mI0INad98kiu2Lc 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 h0BE#U;5m7c%0xJ9%%16$-K1i-%~&QlEE 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

fRQ3!d1AhRCxpam+%n|Hfv9x#=hrgC3E(LLwQU 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

FF@H}jYWiKvztGfznl6ESP9G(9muy&H9 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

Dv=-R4O04?ha!k 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

e-7da6(z+9y-aF=Vv<->+>Cq_P2;$qoSf9KZh$ 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Ξow<;Nx+sw#i< zR}a(aaVynU6}8DUMF9h}gt*j`PBwtzBQg?+!5}STDmqmR<}Xv6g9-se7Bry2aJ0wg zj|JS~D=s_6Q_l9KCJ?s-Yjs4f2}%nNGhM>jesK?f0V{r8pGXV{mHc=9XoTNy( zbAh|pllk2_#jf4R*hlGDeSax+N#;E8L?lj6)-=5?w|a#oyuBZjBDsqgqHF8iAaD^ywh561qjDEU3rnD={C6xZmX$s1 zHA!lQSJ;lCX!& zg%a4H*L530dB8V@A1kk=*?J}s8Bl)^c~egc1t6)fIn4_ESw4COJ{t!5- z$2+-YRHCM^0G|?3I**q%80h>(4sX47yYpOmmHH5ayWd)%^H(6Ltx87Gk%B^%SbN8^2LH20R{amE0qW5S%10uAqMTV85!ki#B6z~qT43Lx^W$vj1}@@j z=C(csY%qaa0OJXpyBwK8Akwu}$s|F8lvDQXo*BE|fTp4+*R`ecbE1-^Ze{t0!zYB} zA~6%{@U}JHKYTXvQt}X1ViNd;x6%VSj+vtXP7t_q<^cgll+=9?|3Y>dz|Q?CxE)mm ziIVUdNX`U!;z)D6c0I4I4~#{=!<>3?No~*~)5Lmvnh|JQ_DkR{rd}>fKxyz1n>qt# zkB0HE5HVQa_0QsjO}vfsA10QK6IVr!SB-f=Me?1TK4YmtcZYslD}6Dh<36*rLAuuT<2r>Ih*AC# zSXQpIeozoK2}0wAamWnyMOMj9;WiWt^adfg`8xm+p>Fr7`{+@{76l`6`IG#9jAeCS zz#Dc-3&ZAgqZdL3ZUy$}i`4^p@2|ywU1+F7Sh1pHObSa((AH3P{4#2+tB55>univAf}6pzM`1M{_%b*Ii#c z^xkOAvu|T!nP?=}?Y(?V+p0%ahqulyl?JR1BxbLew8rapjD2sPbAL^!T*V_`(_yjw z`B)ATaLROhwc@sPyd+-zn63}JIxS6pGQ;za7fuS>Om!DlS@CM-}WPr z-j(dwro1p3$bmvnzNbz{thG_%b%DU)BH_NA#qE1wN~Mw)2oAoANrCX&{8(4gDS#0Z zM`pAjK*eHheY9>zFxiEZ5vwBx+^D401KovbYu~{DyAvqJ&RrTKyt0UXd(uaOTw?)3Uk`t4*8+cn5JXj{Trpk^p1qD*Kw zXmH~-h=Xs@Dj9wqY4Ox3BTxIkrDmn(q*emN=UkNdt!@bN}M^&D^Hk5S{_r;MrJ9Ls%J4Qo(l=7d?^I*Ga3%+)q|4pUOQAs0dD z@?OoE*kB|W*V&Zqq&uFO36%oSN|NDjOvXuHy>GhQHp*7&T^yDKZk<14$ej1b=VJiu zqn{!el*E*c@RW@sgUu7f9OMYoNnwMdPJ^}x0s`mpvS+#c0&(LEJsh?i@TS&C7dVOV zmea1h=FT}_`KWJHb%?D@{Hh}vihckF*e&+I27#*75ggP!Ze|HDT#0RVF@(w%7Ced( zdJoudh9Bvbk)c|)kQcsy^T^TA#waJkkRlwUw`!6ASMyP+2bDXdUI}Xq+$|hcC-klW z-xiQM!{-jxwqME5lnX?f4A`EywBatr&IwDi+|J!zWcbFB3Jl#8^NF`PxKZSI0UW(R z_!c%@q5jmt>Q)5(>nDizntIL5m(PFVUO$sRhy$lhCUVuXsU*KWwEEC!U7fzTX!&$@ zIbb#I^<~-j#i+mQLbDMd2GA*CmQ1AI+zeXz&-6WwuuZm%owm#aEr144GrE@09}!@Z zpxhGcyhkksI01DfW)tHaqVrwyFxY-{6y?QFl1bm70lUrCEQP~A3Jj7QLi({P>=#_$ z!vgFD9#od?^+bDzTw?F4de_P>{UE1#k8BAC@`NF`<-?I z7#Q|d<+{C(5wM!TsHLqqW!kAJp zB|p;#!`z)>kEtpM^@OD(N(MBt-G`4cHm$?lHbbt^n*lV}6fit$pHa~4*p0&)oy-gv2 zPyw|tqM%(xAY`>)*_p6nRo^)q4`_;G+MQ^&h|n$IrpgIZ`M#)%G@3>MPk6Z;F}`@svxYb?L75a*86}I9tZBvwG3hox7L~qtEFIN96BFg#qw_`qk zf&F3f_hydDf~flRV>btIW$}Ej?-{&rMQUUI;`+! zr|#S6B3>gf)%_MAMRWuOdn2e)4SS}g6=IJ4YPFo;d4-IwHs?R}oK6^)DjlTK23XL; zpgSM^CBK8)e1t%i!!QP6lJ6;tZkcN^9_aIXXIt;x)e}`$(>O3Y18;%CBIU)+Uv%zK zvGv`0kASk>H&2BfFxd+?CBrZ1%vG^%@Xj@{o(EK{Y`o++Nkcg)mv!RT3WX7EOOz2c zVv*v@YpmM8)~=ar)rV<6bxBPo_d30A9!&{YOPnfV5i!Q6%s$M*LnsOlF1oE*r}r;EQZg`eL`fV%@;x8wTr#o}DF zC)>e{*ogiMQ<{{4FI_@zv9yBNbiu~ItfxBtZ_{(5O)LO$dDs(k2_>nTX8kAqVg+FV zgh~?xabw|#(0lWY`Y+z0mCKZ0%XK&hnDaU7ixUqHE5aEh1}Ktxyg{nRv-GS$PF-`T z33+}&TR5b7DRqjG=3vS$sJT5J0cK@mr$liAD+r|aRK|7J$_2&dwLFlT6q^OUU5w1X zsX#Cz|DaK%!J6yns{pKcQJhU6|0izI8U!c+J1##eb|8w&XQ)ozdk;T=cY>aSafG4% z|3O7_$AMKa8UdPDuNr{4$;nzq9dJz(b2X=e6V}@ugHXgJ@t$5CR}OHJ_s?~#b~3y# zYy}?iCH^p2U#dx0`!^+BI!GP%5hAQu1n*0_0?1IY;N^iiK;Yg_`G;~YgR#o)y0Ic+ z4DO5Z*aRAAeOxYrReRK?h(0cSABH*z69Vepw(Jl$K4A#Lu0uFzUu$JTav})vFFn8c zr>ALWRlR}Axdkrjm(GsiRde@VZOTn9AF|{kg+BipTrh1~XB3@FNY?&qN0PvWBUs}KW{Qz8Ni-WT z%Qt*&Y@|12z;4KRI3Yd{ss>>I%7_IGk9@wKjC6F5p0ki0+=8NZs#17D`z!!(I| zLr=c5P>1FSdj}Vb{LKg|C)w&pii~K-c5YD>7m^TZQ5q=E%rdVI#s}u-*izR9od?%+ zdlGkYuM~HGFG0+){ITdh#wG!I*fJ(LS^gz2Bsd;-=pKO}G_2@;%C;y{z}@^udwJ*1 zG1`2Wc0Q79?)_f}=PH^wWMlKE-HH#4cy%lu8_OKi4eLZ94{c}*q2A5hKk~C#TP#g8 z+@h*{r-hN75dKfo5u?BI`^C`gKvGtp%JKSV--iaioKbNZVq!hH{^I9!Wej=C?`FgL z&2jbY1l92irDL*!Y`;+b?x&aBtq;OItPWQzjxcmnc;_*z0$|5q=g}=U-w2QZ z;_^{(`Ae|rcdq2>)5ScKv5-=0Bo&O>&+wv12P84-N>xlYCr20GDkPi4KF2rS%8Od0 zd<_AaZZdBpbA##W^rO%jx6@dhT|_MYl3AYm$S9hc=1KP`wOo#Xa2ot^hDc2#0q6`8 zE9-x)!lr#{hxlIS$ntN$@%`SD(LiTAM5iz)q>OQ4k*V%^xZ3?RBzPjp?|$%|A0OK5 z;;+7YboilUXPYkXOVC=Ho9TE-DIph{G0LzTHhm}{C^x#m*hJ|};&tPj?*w0h785h4 zamp@=lP)^Z4cesk=5|(uvp3fAWCj*;aWO4T(vWsGdl=V-F9w{sw#kfQ&`_lQVS6Wc zfeuA;-2aKyA!F0#A9hNp6PF7%tzrs}hSw4zz8;Z}=?M;IDqY5a4m*3a65hbi2Z)5d zp@8-NQDnVubN!E)7sq+~4i7&RYhsiG(pEnIiaB5;{8?NSWGN97vkj(v0BbW^6_@f$NN~3`aIT7P`2`Dl2W@(>XYk z%5e_th}E?E1ofu+$k~1~NRyaf?=K89K$6k%~*iDT#Z-c@TZ633LkB?a51 z8w3aUfX>6?K7QzGHTA2bt!QQMy-D80N1NPOGN@8{3=NNl5e9GZvJ57j* z{pq_)#LWJ|AdycgNssV|?W(y(hDC>Yi+@q3FTcj;0U{aE0L~@Aw{PD<^10<3qTQAn zy-CS{96f-QQ*^#63*X40_}{2zK%zR9MeM1^5>*ID5fS7ZIH1}CcDVh8Hh1&7MNi!Y z-$OhZTo{M~MiQ`e4fwOn2f>HE;~mc9&x$m%?d$ix=Oe=M1vj6$}6J8+f`>b+-Gwv^tnfVy$Kd#40ya}#94d<1> z@%aHCS*YzVkQu|vdAJxEhn8W++OUiWH;Yqs^Fcl!1exE-#q0`*{h@lC|CY}A_#LRZ zkx9Nq@N1+c`S2me>J4ta5T1iH9l8Q)S!g~4i;k;2P|hFNhEXe0ymNxo!WS8v^5~A{ z8SO}lD1=0{vNK^*DMy`SS3vRUk=AuL@#wghxKb)>0>Lr zBJKR5B8DO~ABZIo@^P$aRg*FaiA8GT3fbiUz?angkSyZnEq4MUD}IuF z<|!GAaKu9ftKBd%{;rv;5=Fmy62OM2`gaya zN&}A48#3(2@paGz$d9a1)0`vNG>RF$u2P%!zvzCKw@V(7$Fz$8M*wxtY&JGmFHpm| z=DD>9hXo9rzV#@A_ZWAI`KhU|kP?H@!;pE2JEyhcsMHbY zJl}5~Y5Xug5B&FL<%Y7|Ba(9@=6l+%;V=J|ir&uo(#}#4Z-$ov zJbIj!{FIJ{`CSPOz8BvX)|w<$sMIp#^Ed4c@Q^A-;8GR^wJOJ8e`1@t6&L|l=ht`> z{EX7%8L{^`03E(KGZ9@I(ZceETnT9=S|JF&oM&c#6XM8?=cN5XFQnL8G4|4XgDXQB zYs7CrQ`*K4wHt?k9rJOV=-+&9lvw!7>~5%|)S0xg5GgE0Oy0wo!l(nsXdbGSEpFFd z7rE*;!%TCk+k)Aek%rSrE27E9>{lC)-Z@7wy8HA=g_iU0|8q)Rh^bifK_ZoAE+|FP*+b19FLQO^aQ@IaWW8 zoc01$RDb&z4nR~Qtdtmy!Stc*eZ7R2SCFJ%?3V)GC|ueh3Nm6pNcUCNQ_;)XgQS;| z056)wHvK^vNE#geZI`pN^X;X$WNO1=2xXbMNqD58kU{!W0pgF(kIVNmRlp<*!5Gn$ z7DiaZX#j+=fPfsy0^7WOynqo;2X%y9)@MFgj7(roPxd6qPVqtL;t#n_X7_Q;7?&kc z12rA2*;s<6A>88!(F9KF1dr0;kU~+otgNayEVVdHs}l6)l6c zzTEBMhm1{YolHq5t5>W|z?};9S*lcI;~eoMVPlRiPvtr>aHrlW<9{ZZMPAfPcps10 zHR-rWj~~t#aubx#m&RTEhc$LL=Ey>@y>3Ow(rJrQQ}%M6F&R01g1?5r2oV^I#ti`P zAopH$sqrmkO|sNS3wDrI$>Y z-??8?^s$+#4>6^u&v8pdj1Z25PQ7xQ-Uz}_IW8xL=@FSh9h8Kl>zfT0=#@j|i-G6& zuXuqkTav)vwJkx|8|d>zBlt-5ckHkoS!XfBCEjIQY@(Ac|pEG&-?Ct}^XaC@J<9*K7 zGL~1K-W@&oMFx_GgD*3enu6(c> zE`)-U4akHPLl)*7ZBY^vv z$&3V^z0{he^=l!rEf;f1=N z76M~LvwRrMm%@8ucqa}66fqyeh;4+5BUjopjG$Grkedig0*mlcfXh*#>-&Wo7^JtH z3}U&;yCd}Z8rWYMJy499;bhlvnd<@NHQVnY1eJSBr{4_vPco41tbyvh>Uhl`+#C{j!W&gzfQhoi-j7TlU0MjY?n8K~U+tX#85$wHE}AmFnDMmR6Y zs4LUY1p@DjLpQtc)_$^QMww}M7$zbp2w^Ol%a$3lXh+X zO6-kd1bt2pkpX)A9iBx>l6I|F;22#|Ri}PVQk(`TYM79ExeBN;BEA2WS@TobIL(b* z`$DoyFX0=vXrh_@@hq}>!NE)Q|IKD&rK0}iOwne%Onqyf5DoR8IcPG%u+oNgCrms{ z=%=3-(B!SDJjAggU*UV}uqYpQ5jpYc_WVj&^W>d_$&q)t+mgXL-s?$GYVJt5i2KK* z-}x%QJ1N*bu}9d-`U?JOOu5A)$%JpQDc4ULezmh4Rl90&6tztJEeUEIeoGU0K3|~` zzF7|~{-3dLYwiAOiQ)r>0?bFhylrmROAs7lXu-%v$wFKWt6mVu`2jvx27X5{is0~E zbYbVeH*_( zu9i_TdA==VB*MrUrHh?v*_)g&8V+C-Y>!V@e~N$xc7~g(=)SYw${cvX^BA4x29_CI z+(Q(9qpj=bn$tFqOOP1m}7kZTYBfQqylmB(Ej$j z#TZMa!p{gZSMGHMuxRICT@+_TxD-+sI5o>A%FS`A#cTiNP2z7(uOSBO$B@Lp)#D_U z#|Lk@fWBDz<09wj_JIO0&s|q~A3`637LND2xTxpyI_h(Zr-&t}5gZVlfNF=x1 zY_2*5(nCI*E_g8cQA2GZNr$mBrN9E0z$qY?ImDYdplEDOoMLNg!j|yCWDK9$LHt|S zXm4x%{Rlx)JhP0VB~s7lL6j;CsQxuPmZmKwwOIe*{XQ*yD2CkLdG+b@x{#4xcX z>XfhN#yQq#y4)BaX(8A|_N4{WD$i8RTg_qC${8>|@qJekUVfeB7k%7L9Kj5~#+E=F zhwOvI4FQ1kl?nm=9g<;s#`a1=8Gt#Y&H1B135P*=uC3F>10_Rq3b+MiSwgn8Tw8{Y zFIyAG&vKp@i;;(KMhd)}8c*wNoK;{j&xi{1@Qf3(G!l4EMz#G5ORjc{&jN}QB3P$s1SXq~v3u74BaKDR?9v(ob`oT$nV5sGZWlW8i zJIr-lW_WcoRQ$FjNDBuQq%1heY?Uqzj@cG(#@lcv$w5+{kld;-#;lv{oULT2=3+J1 zC}^RvgFp@WDnM@y&{&I-=>LrcTD;^dP%0c#2DaECk@1(`>Bxo1Ig|F!d@c^GMG5dZjXk#wVjM2ZFqGfz$XYrpDp#oiuw> z-|U|QO+CS&#*qQ@bk^N-mWcn%K9?a64qUJm^D9+kn$B}(!YBYw;N7i1b0J`|p}`+u za+CSOp2&jMST^NeuXO1VrY+<~VQg#!1JWQhe;PeMksUVyBX}NT)%V5SMOZQCeMF$* z;iA44?+-IAXJ^?d``;;36~dVs$_DuVcJa2veE3JiFsZK_m#}cUcmh(GCox1vfvx_K zt9*ebMa-LYgy`PE8FDBui8kweenc^0JDF!D@VP^lgO1Hu{sY=DRWRTVqAXFN#gi;u zU=K0;IzNFr>$T_zRkh^JC?)jQ*uKyyR~XIzwbYeC%+(Nx!sTixSk&cuzT?9iO}nRO zm#W|Y1tdRr*tagZY@1E_ARrHPN(gMP83tgT-1};Erpftp*{croWjlB`2#?HCz{j^H z%zO9VYsqpFIrx3cRUx@IH`r8Ie5MvTV$YcF?`0yJ`O}K>aam?<}Sr;pXj`K)w>B6@^PvbOP z6n*6^qNXIUWU*`)ki(hrVIZ_?DuJ33;L5Rs_yb813AhAzn&6I6b&B=7{4Qn*c#(%- zF+|BF=Tc~Y96};wLD*+MqyKx}0^e2eLGsY=7i%8MKH(#MclBxA7Yycg^HqrFNJ9xm z(WX?wW)=>7E3Pqe(KQ;c$;!gx&q+j~3=Q)yBpsc(zRuR<^drWj@{-|=_`WJh6FG+I zCyMBGb_NpJm-RoRz$LH^L4W=743d8_>1d^G$s#k{18~0R`LUJDA9T?Wr+};hh;&&< z`nsk0&N<#3p>Yc1_M6T4kwrQxq?orlHT4SwLhesf@_q^ZKlUVuEaGh8DjXtOp#JAK zA|z0TYB|SY>MrYNiDu9lju9^?Gyb5Qc{W3uWUnvx(b&m3J?YNqR(<&RDkj&gD1P-5 z$k-`z($K2PB06Jm4aq_*0=@62cJZE%>irLcYzBj9yZ?oe+jbDAL1_Pigxe4VKjys8 zAOUH$SN1*Kg)qq0RU#KTlTt{!`pc^x-IQ@wRNytaVTK!m`kd}RD#$KzB51tvU*^pd7XLn!AYdsX-s}?VjqThxodg1_URfsF2RuAISBNGTI<2pvukLQKW})` zlJ^&>i{b?M<(U#0I2*S4;rRDG$8`aHp10z7)w@#6&q;_*5px&r=Q}S{qMSChbni^e zDyQ?4T##pvFbMk)OIucS&N};V+QDp^e@Vs|H$WoF^E^J!FwJVxaRQVuL7<2RBnR;( zL$nVaM*z8fZU>*N&%?bK`P<(hH(wyGub0l(j=N6Zg3N2#nHpe!OZe*;QI@5E2Q8z} zaih6}6DrLWbUTIe%M5aij8gf{7KPatHoB z6DIMCS1hpUGb21c6=f7>U~xjEIWFt_-J}m@+l@s4=?O$B!`wK?dkMYx1p~3e{BvA41b5GBxgh|sCfUIFL`8Z}jNRm@I&LEjkCU)E_XCYjgVDPr7j-~zPy zTVKPEQ-2KGD>-u9L`X0mgd`3kFZO9HcAW%`kAD_|#Uox3&9eI0c-sFL2*>yVk{3G~ z%5fnmXomo{Lm(LJZms@@JpPJ1fexvD5KA`CYd8*Bx9}U`0DBU@zVMnpO$sx~G{N=F z2YF!RBK}rG28CYc|(zu|-BL$#Mh!mrT z_j6ak;kpnuc6c}XW;$$JQ*+rmG(@4@%sjwtiCRCUk8qc<;EvO9oa3AKL}cG$a^`)3 zyOpibQ3UVA*f5bUvo{@uM5aP~T1T*K-pClOSD}BRgH6Dj`W@-w_pM9U7x#00472D6 zLfw-0fC*x+7foKz)AwSa*nLtJoD}sc4LY#?!N-`YKQv&RQ(ZJ-{anm9{kuGTZFKfJ zwE?BeHJ75vE3qljpw+_F>={?+$|ID`-mI8as4beKnXk1 z8lfS>`ctAfm2wLX19Qh2AuUjW9UFRdrp?K~>9^!&0ztzq1@hzYX|eZnijcKk40LpbCT8q6MqgM@I%9X}_uJ0yn+4{9Z+ns)_YO_yk)kJDl&T!Gj=%((y){XJ(( z^2_5z{x)~77}oDB=a5_OZl>z^`dY9Foo4&KM{x&`y=Nl|FZAk_%vw}SWM_oOnBPHc zhg5_f65WxXldCL5fg8HFHGS#KeN0W1Y2rc=a9b4;e2ay;gm!O|;cW48w> z8ppZ95jZlhc$+Ky>U|)5{j|r5e}=>-l&{yh%)7i_q;dRtuT+)Lp}4)85YQO$_U2)a z

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%0D`~Z0LRS#fdepK&7K^Y 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 bF57X5B%B4kkzIfP+cGByH~R)e(9Qn?-U%h$ diff --git a/plugins/register-component/src/components/RegisterComponentForm/RegisterComponentForm.test.tsx b/plugins/register-component/src/components/RegisterComponentForm/RegisterComponentForm.test.tsx deleted file mode 100644 index 499290493f..0000000000 --- a/plugins/register-component/src/components/RegisterComponentForm/RegisterComponentForm.test.tsx +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { act, render, screen } from '@testing-library/react'; -import userEvent from '@testing-library/user-event'; -import React from 'react'; -import { RegisterComponentForm } from './RegisterComponentForm'; - -describe('RegisterComponentForm', () => { - it('should initially render disabled buttons', async () => { - render(); - - expect( - await screen.findByText(/Enter the full path to the catalog-info.yaml/), - ).toBeInTheDocument(); - - expect(screen.getByText('Validate').closest('button')).toBeDisabled(); - expect(screen.getByText('Register').closest('button')).toBeDisabled(); - }); - - it('should enable the submit buttons when the target url is set', async () => { - render(); - - await act(async () => { - await userEvent.type( - await screen.findByLabelText('Entity file URL', { exact: false }), - 'https://example.com/blob/master/component.yaml', - ); - }); - - expect(screen.getByText('Validate').closest('button')).not.toBeDisabled(); - expect(screen.getByText('Register').closest('button')).not.toBeDisabled(); - }); - - it('should show spinner while submitting', async () => { - render(); - - expect(screen.getByTestId('loading-progress')).toBeInTheDocument(); - }); -}); diff --git a/plugins/register-component/src/components/RegisterComponentForm/RegisterComponentForm.tsx b/plugins/register-component/src/components/RegisterComponentForm/RegisterComponentForm.tsx deleted file mode 100644 index 8dceaeafca..0000000000 --- a/plugins/register-component/src/components/RegisterComponentForm/RegisterComponentForm.tsx +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { BackstageTheme } from '@backstage/theme'; -import { - Button, - FormControl, - FormHelperText, - LinearProgress, - TextField, -} from '@material-ui/core'; -import { makeStyles } from '@material-ui/core/styles'; -import React from 'react'; -import { useForm } from 'react-hook-form'; -import { ComponentIdValidators } from '../../util/validate'; - -const useStyles = makeStyles(theme => ({ - form: { - alignItems: 'flex-start', - display: 'flex', - flexFlow: 'column nowrap', - }, - buttonSpacing: { - marginLeft: theme.spacing(1), - }, - buttons: { - marginTop: theme.spacing(2), - }, - select: { - minWidth: 120, - }, -})); - -export type Props = { - onSubmit: (formData: Record) => Promise; - submitting?: boolean; -}; - -export const RegisterComponentForm = ({ onSubmit, submitting }: Props) => { - const { register, handleSubmit, errors, formState } = useForm({ - mode: 'onChange', - }); - const classes = useStyles(); - const hasErrors = !!errors.entityLocation; - const dirty = formState?.isDirty; - - const onSubmitValidate = handleSubmit(data => { - data.mode = 'validate'; - onSubmit(data); - }); - - const onSubmitRegister = handleSubmit(data => { - data.mode = 'register'; - onSubmit(data); - }); - - return submitting ? ( - - ) : ( -

- - - - {errors.entityLocation && ( - - {errors.entityLocation.message} - - )} - - -
- - -
- - ); -}; diff --git a/plugins/register-component/src/components/RegisterComponentForm/index.ts b/plugins/register-component/src/components/RegisterComponentForm/index.ts deleted file mode 100644 index b864bacaad..0000000000 --- a/plugins/register-component/src/components/RegisterComponentForm/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export { RegisterComponentForm } from './RegisterComponentForm'; diff --git a/plugins/register-component/src/components/RegisterComponentPage/RegisterComponentPage.test.tsx b/plugins/register-component/src/components/RegisterComponentPage/RegisterComponentPage.test.tsx deleted file mode 100644 index 2874e77eb6..0000000000 --- a/plugins/register-component/src/components/RegisterComponentPage/RegisterComponentPage.test.tsx +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { catalogApiRef } from '@backstage/plugin-catalog-react'; -import { renderInTestApp } from '@backstage/test-utils'; -import { lightTheme } from '@backstage/theme'; -import { ThemeProvider } from '@material-ui/core'; -import React from 'react'; -import { RegisterComponentPage } from './RegisterComponentPage'; - -import { ApiProvider, ApiRegistry } from '@backstage/core-app-api'; -import { createRouteRef, errorApiRef } from '@backstage/core-plugin-api'; - -const errorApi: jest.Mocked = { - post: jest.fn(), - error$: jest.fn(), -}; - -const catalogApi: jest.Mocked = { - /* eslint-disable-next-line @typescript-eslint/no-unused-vars */ - addLocation: jest.fn(_a => new Promise(() => {})), - getEntities: jest.fn(), - getOriginLocationByEntity: jest.fn(), - getLocationByEntity: jest.fn(), - getLocationById: jest.fn(), - removeLocationById: jest.fn(), - removeEntityByUid: jest.fn(), - getEntityByName: jest.fn(), -}; - -const Wrapper = ({ children }: { children?: React.ReactNode }) => ( - - {children} - -); - -describe('RegisterComponentPage', () => { - it('should render', async () => { - const { getByText } = await renderInTestApp( - - - , - ); - - expect(getByText('Register existing component')).toBeInTheDocument(); - }); -}); diff --git a/plugins/register-component/src/components/RegisterComponentPage/RegisterComponentPage.tsx b/plugins/register-component/src/components/RegisterComponentPage/RegisterComponentPage.tsx deleted file mode 100644 index 27ed7346ea..0000000000 --- a/plugins/register-component/src/components/RegisterComponentPage/RegisterComponentPage.tsx +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { Entity, Location } from '@backstage/catalog-model'; -import { catalogApiRef } from '@backstage/plugin-catalog-react'; -import { Grid, makeStyles } from '@material-ui/core'; -import React, { useState } from 'react'; -import { useMountedState } from 'react-use'; -import { RegisterComponentForm } from '../RegisterComponentForm'; -import { RegisterComponentResultDialog } from '../RegisterComponentResultDialog'; - -import { - Content, - ContentHeader, - Header, - InfoCard, - Page, - SupportButton, -} from '@backstage/core-components'; -import { errorApiRef, RouteRef, useApi } from '@backstage/core-plugin-api'; - -const useStyles = makeStyles(theme => ({ - dialogPaper: { - minHeight: 250, - minWidth: 600, - }, - icon: { - width: 20, - marginRight: theme.spacing(1), - }, - contentText: { - paddingBottom: theme.spacing(2), - }, -})); - -const FormStates = { - Idle: 'idle', - Success: 'success', - Submitting: 'submitting', -} as const; - -type ValuesOf = T extends Record ? V : never; - -export const RegisterComponentPage = ({ - catalogRouteRef, -}: { - catalogRouteRef: RouteRef; -}) => { - const classes = useStyles(); - const catalogApi = useApi(catalogApiRef); - const [formState, setFormState] = useState>( - FormStates.Idle, - ); - const isMounted = useMountedState(); - - const errorApi = useApi(errorApiRef); - - const [result, setResult] = useState<{ - data: { - entities: Entity[]; - location: Location; - } | null; - error: null | Error; - dryRun: boolean; - }>({ - data: null, - error: null, - dryRun: false, - }); - - const handleSubmit = async (formData: Record) => { - setFormState(FormStates.Submitting); - const { entityLocation: target, mode } = formData; - const dryRun = mode === 'validate'; - try { - const data = await catalogApi.addLocation({ target, dryRun }); - - if (!isMounted()) return; - - setResult({ error: null, data, dryRun }); - setFormState(FormStates.Success); - } catch (e) { - errorApi.post(e); - - if (!isMounted()) return; - - setResult({ error: e, data: null, dryRun }); - setFormState(FormStates.Idle); - } - }; - - return ( - -
- - - - Start tracking your component in Backstage. TODO: Add more - information about what this is. - - - - - - - - - - - {formState === FormStates.Success && ( - setFormState(FormStates.Idle)} - classes={{ paper: classes.dialogPaper }} - catalogRouteRef={catalogRouteRef} - /> - )} - - ); -}; diff --git a/plugins/register-component/src/components/RegisterComponentPage/index.ts b/plugins/register-component/src/components/RegisterComponentPage/index.ts deleted file mode 100644 index 982d277451..0000000000 --- a/plugins/register-component/src/components/RegisterComponentPage/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export { RegisterComponentPage } from './RegisterComponentPage'; diff --git a/plugins/register-component/src/components/RegisterComponentResultDialog/RegisterComponentResultDialog.test.tsx b/plugins/register-component/src/components/RegisterComponentResultDialog/RegisterComponentResultDialog.test.tsx deleted file mode 100644 index 0cc36c98bc..0000000000 --- a/plugins/register-component/src/components/RegisterComponentResultDialog/RegisterComponentResultDialog.test.tsx +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { Entity } from '@backstage/catalog-model'; -import { lightTheme } from '@backstage/theme'; -import { ThemeProvider } from '@material-ui/core'; -import { render, screen } from '@testing-library/react'; -import React from 'react'; -import { MemoryRouter } from 'react-router-dom'; -import { RegisterComponentResultDialog } from './RegisterComponentResultDialog'; -import { createRouteRef } from '@backstage/core-plugin-api'; - -const Wrapper = ({ children }: { children?: React.ReactNode }) => ( - - {children} - -); - -describe('RegisterComponentResultDialog', () => { - it('should render', () => { - render( - {}} - entities={[]} - catalogRouteRef={createRouteRef({ - path: '/catalog', - title: 'Software Catalog', - })} - />, - { wrapper: Wrapper }, - ); - - expect(screen.getByText('Registration Result')).toBeInTheDocument(); - }); - - it('should show a list of components if success', async () => { - const entities: Entity[] = [ - { - apiVersion: 'backstage.io/v1alpha1', - kind: 'Component', - metadata: { - name: 'Component1', - }, - spec: { - type: 'website', - }, - }, - { - apiVersion: 'backstage.io/v1alpha1', - kind: 'Component', - metadata: { - name: 'Component2', - }, - spec: { - type: 'service', - }, - }, - ]; - - render( - {}} - entities={entities} - catalogRouteRef={createRouteRef({ - path: '/catalog', - title: 'Software Catalog', - })} - />, - { wrapper: Wrapper }, - ); - - expect( - screen.getByText( - 'The following entities have been successfully created:', - ), - ).toBeInTheDocument(); - expect(screen.getByText('Component1')).toBeInTheDocument(); - expect(screen.getByText('Component2')).toBeInTheDocument(); - }); -}); diff --git a/plugins/register-component/src/components/RegisterComponentResultDialog/RegisterComponentResultDialog.tsx b/plugins/register-component/src/components/RegisterComponentResultDialog/RegisterComponentResultDialog.tsx deleted file mode 100644 index e13f2ac229..0000000000 --- a/plugins/register-component/src/components/RegisterComponentResultDialog/RegisterComponentResultDialog.tsx +++ /dev/null @@ -1,142 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { Entity } from '@backstage/catalog-model'; -import { - entityRoute, - entityRouteParams, -} from '@backstage/plugin-catalog-react'; -import { - Button, - Dialog, - DialogActions, - DialogContent, - DialogContentText, - DialogTitle, - Divider, - Link, - List, - ListItem, -} from '@material-ui/core'; -import React, { useState } from 'react'; -import { generatePath, resolvePath } from 'react-router'; -import { Link as RouterLink } from 'react-router-dom'; - -import { RouteRef } from '@backstage/core-plugin-api'; -import { StructuredMetadataTable } from '@backstage/core-components'; - -type Props = { - onClose: () => void; - classes?: Record; - entities: Entity[]; - dryRun?: boolean; - catalogRouteRef: RouteRef; -}; - -const getEntityCatalogPath = ({ - entity, - catalogRouteRef, -}: { - entity: Entity; - catalogRouteRef: RouteRef; -}) => { - const relativeEntityPathInsideCatalog = generatePath( - entityRoute.path, - entityRouteParams(entity), - ); - - const resolvedAbsolutePath = resolvePath( - relativeEntityPathInsideCatalog, - catalogRouteRef.path, - )?.pathname; - - return resolvedAbsolutePath; -}; - -export const RegisterComponentResultDialog = ({ - onClose, - classes, - entities, - dryRun, - catalogRouteRef, -}: Props) => { - const [open, setOpen] = useState(true); - const handleClose = () => { - setOpen(false); - }; - - return ( - - - {dryRun ? 'Validation Result' : 'Registration Result'} - - - - {dryRun - ? 'The following entities would be created:' - : 'The following entities have been successfully created:'} - - - {entities.map((entity: any, index: number) => { - const entityPath = getEntityCatalogPath({ - entity, - catalogRouteRef, - }); - return ( - - - - {entityPath} - - ), - }} - /> - - {index < entities.length - 1 && } - - ); - })} - - - - {dryRun && ( - - )} - {!dryRun && ( - - )} - - - ); -}; diff --git a/plugins/register-component/src/components/RegisterComponentResultDialog/index.ts b/plugins/register-component/src/components/RegisterComponentResultDialog/index.ts deleted file mode 100644 index 933125fd40..0000000000 --- a/plugins/register-component/src/components/RegisterComponentResultDialog/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export { RegisterComponentResultDialog } from './RegisterComponentResultDialog'; diff --git a/plugins/register-component/src/components/Router.tsx b/plugins/register-component/src/components/Router.tsx deleted file mode 100644 index 88f8d22f38..0000000000 --- a/plugins/register-component/src/components/Router.tsx +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import React from 'react'; -import { Route, Routes } from 'react-router'; -import { RegisterComponentPage } from './RegisterComponentPage'; -import { RouteRef } from '@backstage/core-plugin-api'; - -// As we don't know which path the catalog's router mounted on -// We need to inject this from the app - -/** - * Provides a router for registering a component. - * - * @deprecated The router for this component is deprecated and replaced with the `catalog-import` plugin. - * @see https://github.com/backstage/backstage/tree/master/plugins/catalog-import - */ -export const Router = ({ catalogRouteRef }: { catalogRouteRef: RouteRef }) => ( - - } - /> - -); diff --git a/plugins/register-component/src/index.ts b/plugins/register-component/src/index.ts deleted file mode 100644 index 309893679e..0000000000 --- a/plugins/register-component/src/index.ts +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export { - registerComponentPlugin, - registerComponentPlugin as plugin, - RegisterComponentPage, -} from './plugin'; -export { Router } from './components/Router'; diff --git a/plugins/register-component/src/plugin.test.ts b/plugins/register-component/src/plugin.test.ts deleted file mode 100644 index c09499beda..0000000000 --- a/plugins/register-component/src/plugin.test.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { registerComponentPlugin } from './plugin'; - -describe('register-component', () => { - it('should export plugin', () => { - expect(registerComponentPlugin).toBeDefined(); - }); -}); diff --git a/plugins/register-component/src/plugin.ts b/plugins/register-component/src/plugin.ts deleted file mode 100644 index 61e998c94f..0000000000 --- a/plugins/register-component/src/plugin.ts +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { - createPlugin, - createRoutableExtension, - createRouteRef, -} from '@backstage/core-plugin-api'; - -const rootRouteRef = createRouteRef({ - title: 'Register Component', -}); - -export const registerComponentPlugin = createPlugin({ - id: 'register-component', - routes: { - root: rootRouteRef, - }, -}); - -export const RegisterComponentPage = registerComponentPlugin.provide( - createRoutableExtension({ - component: () => - import('./components/RegisterComponentPage').then( - m => m.RegisterComponentPage, - ), - mountPoint: rootRouteRef, - }), -); diff --git a/plugins/register-component/src/setupTests.ts b/plugins/register-component/src/setupTests.ts deleted file mode 100644 index 963c0f188b..0000000000 --- a/plugins/register-component/src/setupTests.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import '@testing-library/jest-dom'; diff --git a/plugins/register-component/src/util/validate.test.ts b/plugins/register-component/src/util/validate.test.ts deleted file mode 100644 index 576dc9f367..0000000000 --- a/plugins/register-component/src/util/validate.test.ts +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { ComponentIdValidators } from './validate'; - -describe('ComponentIdValidators', () => { - describe('httpsValidator validator', () => { - const errorMessage = 'Must start with https://.'; - test.each([ - [true, 'https://example.com'], - [errorMessage, 'http://example.com'], - [errorMessage, 'example.com'], - [errorMessage, 'www.example.com'], - [errorMessage, ''], - [errorMessage, undefined], - ])('should return %p for %s', (expected: string | boolean, arg: any) => { - expect(ComponentIdValidators.httpsValidator(arg)).toBe(expected); - }); - }); - describe('yamlValidator', () => { - const errorMessage = "Must contain '.yaml'."; - test.each([ - [true, '.yaml'], - [true, 'http://example.com/blob/master/service.yaml'], - [true, 'https://example.yaml'], - [true, 'https://example.com?path=abc.yaml&c=1'], - [errorMessage, 'https://example.com?path=abc_yaml&c=1'], - [errorMessage, '.yml'], - [errorMessage, 'http://example.com/blob/master/service'], - [errorMessage, undefined], - ])('should return %p for %s', (expected: string | boolean, arg: any) => { - expect(ComponentIdValidators.yamlValidator(arg)).toBe(expected); - }); - }); -}); diff --git a/plugins/register-component/src/util/validate.ts b/plugins/register-component/src/util/validate.ts deleted file mode 100644 index 0b3a6f6940..0000000000 --- a/plugins/register-component/src/util/validate.ts +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export const ComponentIdValidators = { - httpsValidator: (value: any) => - (typeof value === 'string' && value.match(/^https:\/\//) !== null) || - 'Must start with https://.', - yamlValidator: (value: any) => - (typeof value === 'string' && value.match(/\.yaml/) !== null) || - "Must contain '.yaml'.", -}; diff --git a/plugins/register-component/tsconfig.json b/plugins/register-component/tsconfig.json deleted file mode 100644 index b663b01fa2..0000000000 --- a/plugins/register-component/tsconfig.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "include": ["src", "dev"], - "compilerOptions": {} -} From 7165670f7eb25f30938aaeb85652f33a40d3e3a5 Mon Sep 17 00:00:00 2001 From: blam Date: Fri, 6 Aug 2021 17:51:04 +0200 Subject: [PATCH 236/712] chore: fix missing link Signed-off-by: blam --- docs/overview/stability-index.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/docs/overview/stability-index.md b/docs/overview/stability-index.md index 2b730024fd..ee2628a893 100644 --- a/docs/overview/stability-index.md +++ b/docs/overview/stability-index.md @@ -312,14 +312,6 @@ configuration. Stability: `1` -### `register-component` [GitHub](https://github.com/backstage/backstage/tree/master/plugins/register-component/) - -A frontend plugin that allows the user to register entity locations in the -catalog. - -Stability: `0`. This plugin is likely to be replaced by a generic entity import -plugin instead. - ### `scaffolder` [GitHub](https://github.com/backstage/backstage/tree/master/plugins/scaffolder/) The frontend scaffolder plugin where one can browse templates and initiate From b08ea0d2ecc95d3ae5458a60b3349ffa0d55590f Mon Sep 17 00:00:00 2001 From: Brian Fletcher Date: Fri, 6 Aug 2021 17:31:05 +0100 Subject: [PATCH 237/712] add ability to specify an external id for assumed role for k8 From the AWS documentation. A cross-account role is usually set up to trust everyone in an account. Therefore, the administrator of the trusting account might send an external ID to the administrator of the trusted account. That way, only someone with the ID can assume the role, rather than everyone in the account. Signed-off-by: Brian Fletcher --- .../AwsIamKubernetesAuthTranslator.ts | 15 +++++++++++---- plugins/kubernetes-backend/src/types/types.ts | 1 + 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/plugins/kubernetes-backend/src/kubernetes-auth-translator/AwsIamKubernetesAuthTranslator.ts b/plugins/kubernetes-backend/src/kubernetes-auth-translator/AwsIamKubernetesAuthTranslator.ts index 101bed32a3..111ed1cf56 100644 --- a/plugins/kubernetes-backend/src/kubernetes-auth-translator/AwsIamKubernetesAuthTranslator.ts +++ b/plugins/kubernetes-backend/src/kubernetes-auth-translator/AwsIamKubernetesAuthTranslator.ts @@ -55,7 +55,10 @@ export class AwsIamKubernetesAuthTranslator }); }; - async getCredentials(assumeRole: string | undefined): Promise { + async getCredentials( + assumeRole?: string, + externalId?: string, + ): Promise { return new Promise(async (resolve, reject) => { const awsCreds = await this.awsGetCredentials(); @@ -73,10 +76,12 @@ export class AwsIamKubernetesAuthTranslator if (!assumeRole) return resolve(creds); try { - const params = { + const params: AWS.STS.Types.AssumeRoleRequest = { RoleArn: assumeRole, RoleSessionName: 'backstage-login', }; + if (externalId) params.ExternalId = externalId; + const assumedRole = await new AWS.STS().assumeRole(params).promise(); if (!assumedRole.Credentials) { @@ -97,9 +102,10 @@ export class AwsIamKubernetesAuthTranslator } async getBearerToken( clusterName: string, - assumeRole: string | undefined, + assumeRole?: string, + externalId?: string, ): Promise { - const credentials = await this.getCredentials(assumeRole); + const credentials = await this.getCredentials(assumeRole, externalId); const request = { host: `sts.amazonaws.com`, @@ -132,6 +138,7 @@ export class AwsIamKubernetesAuthTranslator clusterDetailsWithAuthToken.serviceAccountToken = await this.getBearerToken( clusterDetails.name, clusterDetails.assumeRole, + clusterDetails.externalId, ); return clusterDetailsWithAuthToken; } diff --git a/plugins/kubernetes-backend/src/types/types.ts b/plugins/kubernetes-backend/src/types/types.ts index 6409229968..f4bb019108 100644 --- a/plugins/kubernetes-backend/src/types/types.ts +++ b/plugins/kubernetes-backend/src/types/types.ts @@ -86,4 +86,5 @@ export interface GKEClusterDetails extends ClusterDetails {} export interface ServiceAccountClusterDetails extends ClusterDetails {} export interface AWSClusterDetails extends ClusterDetails { assumeRole?: string; + externalId?: string; } From bbcd92afacb8e0633b93024f37d5d2373995fac3 Mon Sep 17 00:00:00 2001 From: Brian Fletcher Date: Fri, 6 Aug 2021 17:36:15 +0100 Subject: [PATCH 238/712] adds changeset Signed-off-by: Brian Fletcher --- .changeset/four-buttons-design.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/four-buttons-design.md diff --git a/.changeset/four-buttons-design.md b/.changeset/four-buttons-design.md new file mode 100644 index 0000000000..172d011057 --- /dev/null +++ b/.changeset/four-buttons-design.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-kubernetes-backend': patch +--- + +Adds ability to send an ExternalId with the assume role request to AWS From a9c11c699cf6f8ee24ef60be6b0b3ea9de7ad65c Mon Sep 17 00:00:00 2001 From: Brian Fletcher Date: Fri, 6 Aug 2021 19:45:36 +0100 Subject: [PATCH 239/712] adds api-report file to pull request Signed-off-by: Brian Fletcher --- plugins/kubernetes-backend/api-report.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/kubernetes-backend/api-report.md b/plugins/kubernetes-backend/api-report.md index 899f1fff00..f69977f5ad 100644 --- a/plugins/kubernetes-backend/api-report.md +++ b/plugins/kubernetes-backend/api-report.md @@ -16,6 +16,8 @@ import { Logger as Logger_2 } from 'winston'; export interface AWSClusterDetails extends ClusterDetails { // (undocumented) assumeRole?: string; + // (undocumented) + externalId?: string; } // Warning: (ae-missing-release-tag) "ClusterDetails" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) From 55a5dbd547c30514fd9ef9cf59db4f072def752b Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Sat, 7 Aug 2021 13:51:36 +0200 Subject: [PATCH 240/712] core-components: fix route matching in SidebarItem Signed-off-by: Patrik Oldsberg --- .changeset/violet-bobcats-wave.md | 5 ++ .../src/layout/Sidebar/Items.tsx | 59 ++++++++++++++++++- 2 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 .changeset/violet-bobcats-wave.md diff --git a/.changeset/violet-bobcats-wave.md b/.changeset/violet-bobcats-wave.md new file mode 100644 index 0000000000..339d7e0e74 --- /dev/null +++ b/.changeset/violet-bobcats-wave.md @@ -0,0 +1,5 @@ +--- +'@backstage/core-components': patch +--- + +Fix for `SidebarItem` matching the active route too broadly. diff --git a/packages/core-components/src/layout/Sidebar/Items.tsx b/packages/core-components/src/layout/Sidebar/Items.tsx index b930c455b5..1068a877bd 100644 --- a/packages/core-components/src/layout/Sidebar/Items.tsx +++ b/packages/core-components/src/layout/Sidebar/Items.tsx @@ -34,7 +34,12 @@ import React, { useContext, useState, } from 'react'; -import { NavLink, NavLinkProps } from 'react-router-dom'; +import { + Link, + NavLinkProps, + useLocation, + useResolvedPath, +} from 'react-router-dom'; import { sidebarConfig, SidebarContext } from './config'; const useStyles = makeStyles(theme => { @@ -147,6 +152,54 @@ function isButtonItem( return (props as SidebarItemLinkProps).to === undefined; } +// TODO(Rugvip): Remove this once NavLink is updated in react-router-dom. +// This is needed because react-router doesn't handle the path comparison +// properly yet, matching for example /foobar with /foo. +export const WorkaroundNavLink = React.forwardRef< + HTMLAnchorElement, + NavLinkProps +>(function WorkaroundNavLinkWithRef( + { + to, + end, + style, + className, + activeStyle, + caseSensitive, + activeClassName = 'active', + 'aria-current': ariaCurrentProp = 'page', + ...rest + }, + ref, +) { + let { pathname: locationPathname } = useLocation(); + let { pathname: toPathname } = useResolvedPath(to); + + if (!caseSensitive) { + locationPathname = locationPathname.toLowerCase(); + toPathname = toPathname.toLowerCase(); + } + + let isActive = locationPathname === toPathname; + if (!isActive && !end) { + // This is the behavior that is different from the original NavLink + isActive = locationPathname.startsWith(`${toPathname}/`); + } + + const ariaCurrent = isActive ? ariaCurrentProp : undefined; + + return ( + + ); +}); + export const SidebarItem = forwardRef((props, ref) => { const { icon: Icon, @@ -211,7 +264,7 @@ export const SidebarItem = forwardRef((props, ref) => { } return ( - ((props, ref) => { {...navLinkProps} > {content} - + ); }); From 9f8f8dd6b43e259ee0201001ee8f0c7174127907 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Sat, 7 Aug 2021 13:54:35 +0200 Subject: [PATCH 241/712] app,create-app: remove / prefixes in sidebar items Signed-off-by: Patrik Oldsberg --- .changeset/sharp-donkeys-push.md | 12 ++++++++++++ packages/app/src/components/Root/Root.tsx | 2 +- .../packages/app/src/components/Root/Root.tsx | 2 +- plugins/catalog/README.md | 2 +- 4 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 .changeset/sharp-donkeys-push.md diff --git a/.changeset/sharp-donkeys-push.md b/.changeset/sharp-donkeys-push.md new file mode 100644 index 0000000000..fd6304118e --- /dev/null +++ b/.changeset/sharp-donkeys-push.md @@ -0,0 +1,12 @@ +--- +'@backstage/create-app': patch +--- + +Removed the `/` prefix in the catalog `SidebarItem` element, as it is no longer needed. + +To apply this change to an existing app, remove the `/` prefix from the catalog and any other sidebar items in `packages/app/src/components/Root/Root.ts`: + +```diff +- ++ +``` diff --git a/packages/app/src/components/Root/Root.tsx b/packages/app/src/components/Root/Root.tsx index 48141e4f53..7a666a020a 100644 --- a/packages/app/src/components/Root/Root.tsx +++ b/packages/app/src/components/Root/Root.tsx @@ -82,7 +82,7 @@ export const Root = ({ children }: PropsWithChildren<{}>) => ( {/* Global nav, not org-specific */} - + diff --git a/packages/create-app/templates/default-app/packages/app/src/components/Root/Root.tsx b/packages/create-app/templates/default-app/packages/app/src/components/Root/Root.tsx index d8665a2f9b..198e7ec2b1 100644 --- a/packages/create-app/templates/default-app/packages/app/src/components/Root/Root.tsx +++ b/packages/create-app/templates/default-app/packages/app/src/components/Root/Root.tsx @@ -77,7 +77,7 @@ export const Root = ({ children }: PropsWithChildren<{}>) => ( {/* Global nav, not org-specific */} - + diff --git a/plugins/catalog/README.md b/plugins/catalog/README.md index 8527c8da7c..ef7b0a2863 100644 --- a/plugins/catalog/README.md +++ b/plugins/catalog/README.md @@ -80,7 +80,7 @@ sidebar: export const Root = ({ children }: PropsWithChildren<{}>) => ( -+ ++ ... ``` From 3626576230b280b97141b5b6498c1723f67cab16 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Sat, 7 Aug 2021 14:07:41 +0200 Subject: [PATCH 242/712] core-app-api: add support for serving the app on a base path Signed-off-by: Patrik Oldsberg --- .changeset/late-frogs-yell.md | 5 ++++ packages/core-app-api/src/app/App.tsx | 28 +++++++++++------- .../src/routing/RouteResolver.test.ts | 29 ++++++++++++++++++- .../core-app-api/src/routing/RouteResolver.ts | 17 ++++++----- .../src/routing/RoutingProvider.test.tsx | 6 ++-- .../src/routing/RoutingProvider.tsx | 3 ++ 6 files changed, 68 insertions(+), 20 deletions(-) create mode 100644 .changeset/late-frogs-yell.md diff --git a/.changeset/late-frogs-yell.md b/.changeset/late-frogs-yell.md new file mode 100644 index 0000000000..b3e45785e3 --- /dev/null +++ b/.changeset/late-frogs-yell.md @@ -0,0 +1,5 @@ +--- +'@backstage/core-app-api': patch +--- + +Add support for serving the app with a base path other than `/`, which is enabled by including the path in `app.baseUrl`. diff --git a/packages/core-app-api/src/app/App.tsx b/packages/core-app-api/src/app/App.tsx index a95554709a..f9fe3fd26e 100644 --- a/packages/core-app-api/src/app/App.tsx +++ b/packages/core-app-api/src/app/App.tsx @@ -107,6 +107,20 @@ export function generateBoundRoutes(bindRoutes: AppOptions['bindRoutes']) { return result; } +/** + * Get the app base path from the configured app baseUrl. + * + * The returned path does not have a trailing slash. + */ +function getBasePath(configApi: Config) { + let { pathname } = new URL( + configApi.getOptionalString('app.baseUrl') ?? '/', + 'http://dummy.dev', // baseUrl can be specified as just a path + ); + pathname = pathname.replace(/\/*$/, ''); + return pathname; +} + type FullAppOptions = { apis: Iterable; icons: NonNullable; @@ -302,6 +316,7 @@ export class PrivateAppImpl implements BackstageApp { routeParents={routeParents} routeObjects={routeObjects} routeBindings={generateBoundRoutes(this.bindRoutes)} + basePath={getBasePath(loadedConfig.api)} > {children} @@ -339,14 +354,7 @@ export class PrivateAppImpl implements BackstageApp { const AppRouter = ({ children }: PropsWithChildren<{}>) => { const configApi = useApi(configApiRef); - - let { pathname } = new URL( - configApi.getOptionalString('app.baseUrl') ?? '/', - 'http://dummy.dev', // baseUrl can be specified as just a path - ); - if (pathname.endsWith('/')) { - pathname = pathname.replace(/\/$/, ''); - } + const mountPath = `${getBasePath(configApi)}/*`; // If the app hasn't configured a sign-in page, we just continue as guest. if (!SignInPageComponent) { @@ -361,7 +369,7 @@ export class PrivateAppImpl implements BackstageApp { return ( - {children}} /> + {children}} /> ); @@ -371,7 +379,7 @@ export class PrivateAppImpl implements BackstageApp { - {children}} /> + {children}} /> diff --git a/packages/core-app-api/src/routing/RouteResolver.test.ts b/packages/core-app-api/src/routing/RouteResolver.test.ts index b47a18ecce..1b7eb10003 100644 --- a/packages/core-app-api/src/routing/RouteResolver.test.ts +++ b/packages/core-app-api/src/routing/RouteResolver.test.ts @@ -65,7 +65,7 @@ const externalRef4 = createExternalRouteRef({ describe('RouteResolver', () => { it('should not resolve anything with an empty resolver', () => { - const r = new RouteResolver(new Map(), new Map(), [], new Map()); + const r = new RouteResolver(new Map(), new Map(), [], new Map(), ''); expect(r.resolve(ref1, '/')?.()).toBe(undefined); expect(r.resolve(ref2, '/')?.({ x: '1x' })).toBe(undefined); @@ -85,6 +85,7 @@ describe('RouteResolver', () => { new Map(), [{ routeRefs: new Set([ref1]), path: '/my-route', ...rest }], new Map(), + '', ); expect(r.resolve(ref1, '/')?.()).toBe('/my-route'); @@ -99,6 +100,29 @@ describe('RouteResolver', () => { expect(r.resolve(externalRef4, '/')?.({ x: '6x' })).toBe(undefined); }); + it('should resolve an absolute route and an app base path', () => { + const r = new RouteResolver( + new Map([[ref1, '/my-route']]), + new Map(), + [{ routeRefs: new Set([ref1]), path: '/my-route', ...rest }], + new Map(), + '/base', + ); + + expect(r.resolve(ref1, '/')?.()).toBe('/base/my-route'); + expect(r.resolve(ref2, '/')?.({ x: '1x' })).toBe(undefined); + expect(r.resolve(subRef1, '/')?.()).toBe('/base/my-route/foo'); + expect(r.resolve(subRef2, '/')?.({ a: '2a' })).toBe( + '/base/my-route/foo/2a', + ); + expect(r.resolve(subRef3, '/')?.({ x: '3x' })).toBe(undefined); + expect(r.resolve(subRef4, '/')?.({ x: '4x', a: '4a' })).toBe(undefined); + expect(r.resolve(externalRef1, '/')?.()).toBe(undefined); + expect(r.resolve(externalRef2, '/')?.()).toBe(undefined); + expect(r.resolve(externalRef3, '/')?.({ x: '5x' })).toBe(undefined); + expect(r.resolve(externalRef4, '/')?.({ x: '6x' })).toBe(undefined); + }); + it('should resolve an absolute route with a param and with a parent', () => { const r = new RouteResolver( new Map([ @@ -122,6 +146,7 @@ describe('RouteResolver', () => { [externalRef3, ref2], [externalRef4, subRef3], ]), + '', ); expect(r.resolve(ref1, '/')?.()).toBe('/my-route'); @@ -179,6 +204,7 @@ describe('RouteResolver', () => { }, ], new Map(), + '', ); expect(r.resolve(ref2, '/')?.({ x: 'x' })).toBe('/root/x'); @@ -232,6 +258,7 @@ describe('RouteResolver', () => { [externalRef3, ref2], [externalRef4, subRef3], ]), + '', ); const l = '/my-grandparent/my-y/my-parent/my-x'; diff --git a/packages/core-app-api/src/routing/RouteResolver.ts b/packages/core-app-api/src/routing/RouteResolver.ts index e09da28df8..b5be5f893e 100644 --- a/packages/core-app-api/src/routing/RouteResolver.ts +++ b/packages/core-app-api/src/routing/RouteResolver.ts @@ -187,6 +187,7 @@ export class RouteResolver { ExternalRouteRef, RouteRef | SubRouteRef >, + private readonly appBasePath: string, // base path without a trailing slash ) {} resolve( @@ -209,13 +210,15 @@ export class RouteResolver { // Next we figure out the base path, which is the combination of the common parent path // between our current location and our target location, as well as the additional path // that is the difference between the parent path and the base of our target location. - const basePath = resolveBasePath( - targetRef, - sourceLocation, - this.routePaths, - this.routeParents, - this.routeObjects, - ); + const basePath = + this.appBasePath + + resolveBasePath( + targetRef, + sourceLocation, + this.routePaths, + this.routeParents, + this.routeObjects, + ); const routeFunc: RouteFunc = (...[params]) => { return basePath + generatePath(targetPath, params); diff --git a/packages/core-app-api/src/routing/RoutingProvider.test.tsx b/packages/core-app-api/src/routing/RoutingProvider.test.tsx index 499b81a743..c5a070ac68 100644 --- a/packages/core-app-api/src/routing/RoutingProvider.test.tsx +++ b/packages/core-app-api/src/routing/RoutingProvider.test.tsx @@ -152,6 +152,7 @@ function withRoutingProvider( routeParents={routeParents} routeObjects={routeObjects} routeBindings={new Map(routeBindings)} + basePath="" > {root} @@ -367,6 +368,7 @@ describe('v1 consumer', () => { routeParents={new Map()} routeObjects={[]} routeBindings={new Map()} + basePath="/base" children={children} /> ), @@ -375,8 +377,8 @@ describe('v1 consumer', () => { expect(renderedHook.result.current).toBe(undefined); renderedHook.rerender({ routeRef: routeRef2 }); - expect(renderedHook.result.current?.()).toBe('/foo'); + expect(renderedHook.result.current?.()).toBe('/base/foo'); renderedHook.rerender({ routeRef: routeRef3 }); - expect(renderedHook.result.current?.({ x: 'my-x' })).toBe('/bar/my-x'); + expect(renderedHook.result.current?.({ x: 'my-x' })).toBe('/base/bar/my-x'); }); }); diff --git a/packages/core-app-api/src/routing/RoutingProvider.tsx b/packages/core-app-api/src/routing/RoutingProvider.tsx index ea8e8f76f8..2192f5df26 100644 --- a/packages/core-app-api/src/routing/RoutingProvider.tsx +++ b/packages/core-app-api/src/routing/RoutingProvider.tsx @@ -38,6 +38,7 @@ type ProviderProps = { routeParents: Map; routeObjects: BackstageRouteObject[]; routeBindings: Map; + basePath?: string; children: ReactNode; }; @@ -46,6 +47,7 @@ export const RoutingProvider = ({ routeParents, routeObjects, routeBindings, + basePath = '', children, }: ProviderProps) => { const resolver = new RouteResolver( @@ -53,6 +55,7 @@ export const RoutingProvider = ({ routeParents, routeObjects, routeBindings, + basePath, ); const versionedValue = createVersionedValueMap({ 1: resolver }); From 362ea5a7286d7db7bf5d57d21cc1c16b3ccf4a26 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Sat, 7 Aug 2021 14:12:07 +0200 Subject: [PATCH 243/712] app,create-app: fix index path redirect Signed-off-by: Patrik Oldsberg --- .changeset/neat-meals-arrive.md | 12 ++++++++++++ .../software-catalog/catalog-customization.md | 2 +- packages/app/src/App.tsx | 2 +- .../templates/default-app/packages/app/src/App.tsx | 2 +- 4 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 .changeset/neat-meals-arrive.md diff --git a/.changeset/neat-meals-arrive.md b/.changeset/neat-meals-arrive.md new file mode 100644 index 0000000000..292d98de26 --- /dev/null +++ b/.changeset/neat-meals-arrive.md @@ -0,0 +1,12 @@ +--- +'@backstage/create-app': patch +--- + +Updated the index page redirect to work with apps served on a different base path than `/`. + +To apply this change to an existing app, remove the `/` prefix from the target route in the `Navigate` element in `packages/app/src/App.tsx`: + +```diff +- ++ +``` diff --git a/docs/features/software-catalog/catalog-customization.md b/docs/features/software-catalog/catalog-customization.md index 8d209cc8f0..07258a55cb 100644 --- a/docs/features/software-catalog/catalog-customization.md +++ b/docs/features/software-catalog/catalog-customization.md @@ -187,7 +187,7 @@ new `CustomCatalogIndexPage`. # packages/app/src/App.tsx const routes = ( - + - } /> + } /> ``` diff --git a/packages/app/src/App.tsx b/packages/app/src/App.tsx index de62971f96..13bdcbd2e6 100644 --- a/packages/app/src/App.tsx +++ b/packages/app/src/App.tsx @@ -98,7 +98,7 @@ const AppRouter = app.getRouter(); const routes = ( - + } /> - + } /> Date: Sat, 7 Aug 2021 14:23:50 +0000 Subject: [PATCH 244/712] chore(deps): bump color from 3.1.3 to 4.0.1 Bumps [color](https://github.com/Qix-/color) from 3.1.3 to 4.0.1. - [Release notes](https://github.com/Qix-/color/releases) - [Commits](https://github.com/Qix-/color/compare/3.1.3...4.0.1) --- updated-dependencies: - dependency-name: color dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- plugins/tech-radar/package.json | 2 +- yarn.lock | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/plugins/tech-radar/package.json b/plugins/tech-radar/package.json index d61d244ff3..0866099e18 100644 --- a/plugins/tech-radar/package.json +++ b/plugins/tech-radar/package.json @@ -36,7 +36,7 @@ "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", - "color": "^3.1.2", + "color": "^4.0.1", "d3-force": "^2.0.1", "prop-types": "^15.7.2", "react": "^16.13.1", diff --git a/yarn.lock b/yarn.lock index 9660983a75..d1bfa78689 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10501,10 +10501,10 @@ color-name@^1.0.0, color-name@^1.1.4, color-name@~1.1.4: resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -color-string@^1.5.2, color-string@^1.5.4: - version "1.5.4" - resolved "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz#dd51cd25cfee953d138fe4002372cc3d0e504cb6" - integrity sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw== +color-string@^1.5.2, color-string@^1.5.4, color-string@^1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz#c3915f61fe267672cb7e1e064c9d692219f6c312" + integrity sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA== dependencies: color-name "^1.0.0" simple-swizzle "^0.2.2" @@ -10517,7 +10517,7 @@ color@3.0.x: color-convert "^1.9.1" color-string "^1.5.2" -color@^3.0.0, color@^3.1.2: +color@^3.0.0: version "3.1.3" resolved "https://registry.npmjs.org/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== @@ -10525,6 +10525,14 @@ color@^3.0.0, color@^3.1.2: color-convert "^1.9.1" color-string "^1.5.4" +color@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/color/-/color-4.0.1.tgz#21df44cd10245a91b1ccf5ba031609b0e10e7d67" + integrity sha512-rpZjOKN5O7naJxkH2Rx1sZzzBgaiWECc6BYXjeCE6kF0kcASJYbUq02u7JqIHwCb/j3NhV+QhRL2683aICeGZA== + dependencies: + color-convert "^2.0.1" + color-string "^1.6.0" + colorette@1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" From 759f15a14a7db08f048679cd42d7a1e2b502c7d1 Mon Sep 17 00:00:00 2001 From: Camila Belo Date: Sat, 7 Aug 2021 21:53:09 +0200 Subject: [PATCH 245/712] test(techdocs-common): refactor storage files mock Signed-off-by: Camila Belo --- .../__mocks__/@azure/storage-blob.ts | 53 ++------ .../__mocks__/@google-cloud/storage.ts | 58 +++------ packages/techdocs-common/__mocks__/aws-sdk.ts | 60 +++------ packages/techdocs-common/src/setupTests.ts | 61 +++++++++ .../src/stages/publish/awsS3.test.ts | 84 +++++------- .../stages/publish/azureBlobStorage.test.ts | 122 +++++++----------- .../src/stages/publish/googleStorage.test.ts | 86 ++++++------ 7 files changed, 229 insertions(+), 295 deletions(-) create mode 100644 packages/techdocs-common/src/setupTests.ts diff --git a/packages/techdocs-common/__mocks__/@azure/storage-blob.ts b/packages/techdocs-common/__mocks__/@azure/storage-blob.ts index 73c5873832..80c60acce7 100644 --- a/packages/techdocs-common/__mocks__/@azure/storage-blob.ts +++ b/packages/techdocs-common/__mocks__/@azure/storage-blob.ts @@ -18,29 +18,8 @@ import type { ContainerGetPropertiesResponse, } from '@azure/storage-blob'; import { EventEmitter } from 'events'; -import fs from 'fs-extra'; -import os from 'os'; -import path from 'path'; -const rootDir = os.platform() === 'win32' ? 'C:\\rootDir' : '/rootDir'; - -/** - * @param sourceFile Relative path to entity root dir. Contains either / or \ as file separator - * depending upon the OS. - */ -const checkFileExists = async (sourceFile: string): Promise => { - // sourceFile will always have / as file separator irrespective of OS since Azure expects /. - // Normalize sourceFile to OS specific path before checking if file exists. - const relativeFilePath = sourceFile.split(path.posix.sep).join(path.sep); - const filePath = path.join(rootDir, sourceFile); - - try { - await fs.access(filePath, fs.constants.F_OK); - return true; - } catch (err) { - return false; - } -}; +const storage = new (global as any).StorageFilesMock(); export class BlockBlobClient { private readonly blobName; @@ -50,9 +29,7 @@ export class BlockBlobClient { } uploadFile(source: string): Promise { - if (!fs.existsSync(source)) { - return Promise.reject(new Error(`The file ${source} does not exist`)); - } + storage.writeFile(this.blobName, source); return Promise.resolve({ _response: { request: { @@ -65,20 +42,19 @@ export class BlockBlobClient { } exists() { - return checkFileExists(this.blobName); + return storage.fileExists(this.blobName); } download() { - const filePath = path.join(rootDir, this.blobName); const emitter = new EventEmitter(); setTimeout(() => { - if (fs.existsSync(filePath)) { - emitter.emit('data', fs.readFileSync(filePath)); + if (storage.fileExists(this.blobName)) { + emitter.emit('data', storage.readFile(this.blobName)); emitter.emit('end'); } else { emitter.emit( 'error', - new Error(`The file ${filePath} does not exist !`), + new Error(`The file ${this.blobName} does not exist!`), ); } }, 0); @@ -89,7 +65,7 @@ export class BlockBlobClient { } class BlockBlobClientFailUpload extends BlockBlobClient { - uploadFile(source: string): Promise { + uploadFile(): Promise { return Promise.resolve({ _response: { request: { @@ -103,12 +79,6 @@ class BlockBlobClientFailUpload extends BlockBlobClient { } export class ContainerClient { - private readonly containerName; - - constructor(containerName: string) { - this.containerName = containerName; - } - getProperties(): Promise { return Promise.resolve({ _response: { @@ -153,18 +123,19 @@ export class BlobServiceClient { private readonly credential; constructor(url: string, credential?: StorageSharedKeyCredential) { + storage.emptyFiles(); this.url = url; this.credential = credential; } getContainerClient(containerName: string) { if (containerName === 'bad_container') { - return new ContainerClientFailGetProperties(containerName); + return new ContainerClientFailGetProperties(); } - if (this.credential.accountName === 'failupload') { - return new ContainerClientFailUpload(containerName); + if (this.credential.accountName === 'bad_account_credentials') { + return new ContainerClientFailUpload(); } - return new ContainerClient(containerName); + return new ContainerClient(); } } diff --git a/packages/techdocs-common/__mocks__/@google-cloud/storage.ts b/packages/techdocs-common/__mocks__/@google-cloud/storage.ts index 18fe62af14..efc2454d08 100644 --- a/packages/techdocs-common/__mocks__/@google-cloud/storage.ts +++ b/packages/techdocs-common/__mocks__/@google-cloud/storage.ts @@ -14,42 +14,19 @@ * limitations under the License. */ import { Readable } from 'stream'; -import fs from 'fs-extra'; -import os from 'os'; -import path from 'path'; -type storageOptions = { - keyFilename?: string; -}; - -const rootDir = os.platform() === 'win32' ? 'C:\\rootDir' : '/rootDir'; -/** - * @param sourceFile Absolute path. Contains either / or \ as file separator depending upon the OS. - */ -const checkFileExists = async (sourceFile: string): Promise => { - // sourceFile will always have / as file separator irrespective of OS since GCS expects /. - // Normalize sourceFile to OS specific path before checking if file exists. - const filePath = sourceFile.split(path.posix.sep).join(path.sep); - - try { - await fs.access(filePath, fs.constants.F_OK); - return true; - } catch (err) { - return false; - } -}; +const storage = new (global as any).StorageFilesMock(); class GCSFile { - private readonly localFilePath: string; + private readonly path: string; - constructor(private readonly destinationFilePath: string) { - this.destinationFilePath = destinationFilePath; - this.localFilePath = path.join(rootDir, this.destinationFilePath); + constructor(path: string) { + this.path = path; } exists() { return new Promise(async (resolve, reject) => { - if (await checkFileExists(this.localFilePath)) { + if (storage.fileExists(this.path)) { resolve([true]); } else { reject(); @@ -62,19 +39,20 @@ class GCSFile { readable._read = () => {}; process.nextTick(() => { - if (fs.existsSync(this.localFilePath)) { + if (storage.fileExists(this.path)) { if (readable.eventNames().includes('pipe')) { readable.emit('pipe'); } - readable.emit('data', fs.readFileSync(this.localFilePath)); + readable.emit('data', storage.readFile(this.path)); readable.emit('end'); } else { readable.emit( 'error', - new Error(`The file ${this.localFilePath} does not exist !`), + new Error(`The file ${this.path} does not exist!`), ); } }); + return readable; } } @@ -87,20 +65,16 @@ class Bucket { } async getMetadata() { - if (this.bucketName === 'errorBucket') { + if (this.bucketName === 'bad_bucket_name') { throw Error('Bucket does not exist'); } - return ''; } upload(source: string, { destination }) { - return new Promise(async (resolve, reject) => { - if (await checkFileExists(source)) { - resolve({ source, destination }); - } else { - reject(`Source file ${source} does not exist.`); - } + return new Promise(async resolve => { + storage.writeFile(destination, source); + resolve(null); }); } @@ -110,10 +84,8 @@ class Bucket { } export class Storage { - private readonly keyFilename; - - constructor(options: storageOptions) { - this.keyFilename = options.keyFilename; + constructor() { + storage.emptyFiles(); } bucket(bucketName) { diff --git a/packages/techdocs-common/__mocks__/aws-sdk.ts b/packages/techdocs-common/__mocks__/aws-sdk.ts index 763fad0bda..36c864bfe7 100644 --- a/packages/techdocs-common/__mocks__/aws-sdk.ts +++ b/packages/techdocs-common/__mocks__/aws-sdk.ts @@ -13,39 +13,22 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import type { S3 as S3Types } from 'aws-sdk'; import { EventEmitter } from 'events'; -import fs from 'fs-extra'; -import os from 'os'; -import path from 'path'; +import { ReadStream } from 'fs'; export { Credentials } from 'aws-sdk'; -const rootDir = os.platform() === 'win32' ? 'C:\\rootDir' : '/rootDir'; - -/** - * @param Key Relative path to entity root dir. Contains either / or \ as file separator - * depending upon the OS. - */ -const checkFileExists = async (Key: string): Promise => { - // Key will always have / as file separator irrespective of OS since S3 expects /. - // Normalize Key to OS specific path before checking if file exists. - const relativeFilePath = Key.split(path.posix.sep).join(path.sep); - const filePath = path.join(rootDir, Key); - - try { - await fs.access(filePath, fs.constants.F_OK); - return true; - } catch (err) { - return false; - } -}; +const storage = new (global as any).StorageFilesMock(); export class S3 { + constructor() { + storage.emptyFiles(); + } + headObject({ Key }: { Key: string }) { return { promise: async () => { - if (!(await checkFileExists(Key))) { + if (!storage.fileExists(Key)) { throw new Error('File does not exist'); } }, @@ -53,20 +36,16 @@ export class S3 { } getObject({ Key }: { Key: string }) { - const filePath = path.join(rootDir, Key); return { - promise: async () => await checkFileExists(filePath), + promise: async () => storage.fileExists(Key), createReadStream: () => { const emitter = new EventEmitter(); process.nextTick(() => { - if (fs.existsSync(filePath)) { - emitter.emit('data', Buffer.from(fs.readFileSync(filePath))); + if (storage.fileExists(Key)) { + emitter.emit('data', Buffer.from(storage.readFile(Key))); emitter.emit('end'); } else { - emitter.emit( - 'error', - new Error(`The file ${filePath} does not exist !`), - ); + emitter.emit('error', new Error(`The file ${Key} does not exist!`)); } }); return emitter; @@ -85,15 +64,18 @@ export class S3 { }; } - upload({ Key }: { Key: string }) { + upload({ Key, Body }: { Key: string; Body: ReadStream }) { return { promise: () => - new Promise(async (resolve, reject) => { - if (!(await checkFileExists(Key))) { - reject(`The file ${Key} does not exist`); - } else { - resolve(''); - } + new Promise(async resolve => { + const chunks = []; + Body.on('data', chunk => { + chunks.push(chunk); + }); + Body.once('end', () => { + storage.writeFile(Key, Buffer.concat(chunks)); + resolve(null); + }); }), }; } diff --git a/packages/techdocs-common/src/setupTests.ts b/packages/techdocs-common/src/setupTests.ts new file mode 100644 index 0000000000..996a8d35dd --- /dev/null +++ b/packages/techdocs-common/src/setupTests.ts @@ -0,0 +1,61 @@ +/* + * Copyright 2020 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import os from 'os'; +import path from 'path'; +import fs from 'fs-extra'; + +const rootDir = os.platform() === 'win32' ? 'C:\\rootDir' : '/rootDir'; + +const encoding = 'utf8'; + +export class StorageFilesMock { + private files: Record; + + constructor() { + this.files = {}; + } + + public emptyFiles() { + this.files = {}; + } + + public fileExists(targetPath: string): boolean { + const filePath = path.join(rootDir, targetPath); + const posixPath = filePath.split(path.posix.sep).join(path.sep); + return this.files[posixPath] !== undefined; + } + + public readFile(targetPath: string): Buffer { + const filePath = path.join(rootDir, targetPath); + return Buffer.from(this.files[filePath] ?? '', encoding); + } + + public writeFile(targetPath: string, sourcePath: string): void; + public writeFile(targetPath: string, sourceBuffer: Buffer): void; + public writeFile(targetPath: string, source: string | Buffer): void { + const filePath = path.join(rootDir, targetPath); + if (typeof source === 'string') { + this.files[filePath] = fs.readFileSync(source).toString(encoding); + } else { + this.files[filePath] = source.toString(encoding); + } + } +} + +const _global = global as any; +_global.rootDir = rootDir; +_global.StorageFilesMock = StorageFilesMock; diff --git a/packages/techdocs-common/src/stages/publish/awsS3.test.ts b/packages/techdocs-common/src/stages/publish/awsS3.test.ts index 715786e3f9..d77d643291 100644 --- a/packages/techdocs-common/src/stages/publish/awsS3.test.ts +++ b/packages/techdocs-common/src/stages/publish/awsS3.test.ts @@ -20,13 +20,13 @@ import { ConfigReader } from '@backstage/config'; import express from 'express'; import request from 'supertest'; import mockFs from 'mock-fs'; -import os from 'os'; import path from 'path'; +import fs from 'fs-extra'; import { AwsS3Publish } from './awsS3'; // NOTE: /packages/techdocs-common/__mocks__ is being used to mock aws-sdk client library -const rootDir = os.platform() === 'win32' ? 'C:\\rootDir' : '/rootDir'; +const rootDir = (global as any).rootDir; const getEntityRootDir = (entity: Entity) => { const { @@ -46,7 +46,7 @@ const createPublisherFromConfig = ({ bucketName?: string; legacyUseCaseSensitiveTripletPaths?: boolean; } = {}) => { - const mockConfig = new ConfigReader({ + const config = new ConfigReader({ techdocs: { requestUrl: 'http://localhost:7000', publisher: { @@ -63,7 +63,7 @@ const createPublisherFromConfig = ({ }, }); - return AwsS3Publish.fromConfig(mockConfig, logger); + return AwsS3Publish.fromConfig(config, logger); }; describe('AwsS3Publish', () => { @@ -72,7 +72,6 @@ describe('AwsS3Publish', () => { kind: 'Component', metadata: { name: 'backstage', - namespace: 'default', annotations: {}, }, @@ -90,18 +89,7 @@ describe('AwsS3Publish', () => { etag: 'etag', }; - const localRootDir = getEntityRootDir(entity); - const storageRootDir = getEntityRootDir({ - ...entity, - kind: entity.kind.toLowerCase(), - }); - const storageSingleQuoteDir = getEntityRootDir({ - metadata: { - namespace: 'storage', - name: 'quote', - }, - kind: 'single', - } as Entity); + const directory = getEntityRootDir(entity); const files = { 'index.html': '', @@ -110,9 +98,6 @@ describe('AwsS3Publish', () => { assets: { 'main.css': '', }, - attachments: { - 'image.png': Buffer.from([2, 3, 5, 3, 5, 3, 5, 9, 1]), - }, html: { 'unsafe.html': '', }, @@ -127,14 +112,7 @@ describe('AwsS3Publish', () => { beforeAll(() => { mockFs({ - [localRootDir]: files, - [storageRootDir]: files, - [storageSingleQuoteDir]: { - 'techdocs_metadata.json': files['techdocs_metadata.json'].replace( - /"/g, - "'", - ), - }, + [directory]: files, }); }); @@ -163,24 +141,14 @@ describe('AwsS3Publish', () => { describe('publish', () => { it('should publish a directory', async () => { const publisher = createPublisherFromConfig(); - expect( - await publisher.publish({ - entity, - directory: localRootDir, - }), - ).toBeUndefined(); + expect(await publisher.publish({ entity, directory })).toBeUndefined(); }); it('should publish a directory as well when legacy casing is used', async () => { const publisher = createPublisherFromConfig({ legacyUseCaseSensitiveTripletPaths: true, }); - expect( - await publisher.publish({ - entity, - directory: localRootDir, - }), - ).toBeUndefined(); + expect(await publisher.publish({ entity, directory })).toBeUndefined(); }); it('should fail to publish a directory', async () => { @@ -214,6 +182,7 @@ describe('AwsS3Publish', () => { describe('hasDocsBeenGenerated', () => { it('should return true if docs has been generated', async () => { const publisher = createPublisherFromConfig(); + await publisher.publish({ entity, directory }); expect(await publisher.hasDocsBeenGenerated(entity)).toBe(true); }); @@ -221,6 +190,7 @@ describe('AwsS3Publish', () => { const publisher = createPublisherFromConfig({ legacyUseCaseSensitiveTripletPaths: true, }); + await publisher.publish({ entity, directory }); expect(await publisher.hasDocsBeenGenerated(entity)).toBe(true); }); @@ -241,6 +211,7 @@ describe('AwsS3Publish', () => { describe('fetchTechDocsMetadata', () => { it('should return tech docs metadata', async () => { const publisher = createPublisherFromConfig(); + await publisher.publish({ entity, directory }); expect(await publisher.fetchTechDocsMetadata(entityName)).toStrictEqual( techdocsMetadata, ); @@ -250,20 +221,32 @@ describe('AwsS3Publish', () => { const publisher = createPublisherFromConfig({ legacyUseCaseSensitiveTripletPaths: true, }); + await publisher.publish({ entity, directory }); expect(await publisher.fetchTechDocsMetadata(entityName)).toStrictEqual( techdocsMetadata, ); }); it('should return tech docs metadata when json encoded with single quotes', async () => { + const techdocsMetadataPath = path.join( + directory, + 'techdocs_metadata.json', + ); + const techdocsMetadataContent = files['techdocs_metadata.json']; + + fs.writeFileSync( + techdocsMetadataPath, + techdocsMetadataContent.replace(/"/g, "'"), + ); + const publisher = createPublisherFromConfig(); - expect( - await publisher.fetchTechDocsMetadata({ - namespace: 'storage', - kind: 'single', - name: 'quote', - }), - ).toStrictEqual(techdocsMetadata); + await publisher.publish({ entity, directory }); + + expect(await publisher.fetchTechDocsMetadata(entityName)).toStrictEqual( + techdocsMetadata, + ); + + fs.writeFileSync(techdocsMetadataPath, techdocsMetadataContent); }); it('should return an error if the techdocs_metadata.json file is not present', async () => { @@ -276,7 +259,6 @@ describe('AwsS3Publish', () => { }; const techDocsMetadaFilePath = path.join( - rootDir, ...Object.values(invalidEntityName), 'techdocs_metadata.json', ); @@ -284,7 +266,7 @@ describe('AwsS3Publish', () => { const fails = publisher.fetchTechDocsMetadata(invalidEntityName); await expect(fails).rejects.toMatchObject({ - message: `TechDocs metadata fetch failed, The file ${techDocsMetadaFilePath} does not exist !`, + message: `TechDocs metadata fetch failed, The file ${techDocsMetadaFilePath} does not exist!`, }); }); }); @@ -294,8 +276,9 @@ describe('AwsS3Publish', () => { let app: express.Express; - beforeEach(() => { + beforeEach(async () => { const publisher = createPublisherFromConfig(); + await publisher.publish({ entity, directory }); app = express().use(publisher.docsRouter()); }); @@ -317,6 +300,7 @@ describe('AwsS3Publish', () => { const publisher = createPublisherFromConfig({ legacyUseCaseSensitiveTripletPaths: true, }); + await publisher.publish({ entity, directory }); app = express().use(publisher.docsRouter()); // Ensures leading slash is trimmed and encoded path is decoded. const pngResponse = await request(app).get( diff --git a/packages/techdocs-common/src/stages/publish/azureBlobStorage.test.ts b/packages/techdocs-common/src/stages/publish/azureBlobStorage.test.ts index 78cc7c0c79..dd658440d6 100644 --- a/packages/techdocs-common/src/stages/publish/azureBlobStorage.test.ts +++ b/packages/techdocs-common/src/stages/publish/azureBlobStorage.test.ts @@ -20,13 +20,13 @@ import { ConfigReader } from '@backstage/config'; import express from 'express'; import request from 'supertest'; import mockFs from 'mock-fs'; -import os from 'os'; import path from 'path'; +import fs from 'fs-extra'; import { AzureBlobStoragePublish } from './azureBlobStorage'; // NOTE: /packages/techdocs-common/__mocks__ is being used to mock Azure client library -const rootDir = os.platform() === 'win32' ? 'C:\\rootDir' : '/rootDir'; +const rootDir = (global as any).rootDir; const getEntityRootDir = (entity: Entity) => { const { @@ -38,7 +38,6 @@ const getEntityRootDir = (entity: Entity) => { }; const logger = getVoidLogger(); -jest.spyOn(logger, 'info').mockReturnValue(logger); jest.spyOn(logger, 'error').mockReturnValue(logger); const createPublisherFromConfig = ({ @@ -50,7 +49,7 @@ const createPublisherFromConfig = ({ containerName?: string; legacyUseCaseSensitiveTripletPaths?: boolean; } = {}) => { - const mockConfig = new ConfigReader({ + const config = new ConfigReader({ techdocs: { requestUrl: 'http://localhost:7000', publisher: { @@ -67,10 +66,10 @@ const createPublisherFromConfig = ({ }, }); - return AzureBlobStoragePublish.fromConfig(mockConfig, logger); + return AzureBlobStoragePublish.fromConfig(config, logger); }; -describe('publishing with valid credentials', () => { +describe('AzureBlobStoragePublish', () => { const entity = { apiVersion: '1', kind: 'Component', @@ -93,21 +92,9 @@ describe('publishing with valid credentials', () => { etag: 'etag', }; - const localRootDir = getEntityRootDir(entity); - const storageRootDir = getEntityRootDir({ - ...entity, - kind: entity.kind.toLowerCase(), - }); - const storageSingleQuoteDir = getEntityRootDir({ - metadata: { - namespace: 'storage', - name: 'quote', - }, - kind: 'single', - } as Entity); + const directory = getEntityRootDir(entity); beforeEach(() => { - (logger.info as jest.Mock).mockClear(); (logger.error as jest.Mock).mockClear(); }); @@ -118,9 +105,6 @@ describe('publishing with valid credentials', () => { assets: { 'main.css': '', }, - attachments: { - 'image.png': Buffer.from([2, 3, 5, 3, 5, 3, 5, 9, 1]), - }, html: { 'unsafe.html': '', }, @@ -135,14 +119,7 @@ describe('publishing with valid credentials', () => { beforeAll(async () => { mockFs({ - [localRootDir]: files, - [storageRootDir]: files, - [storageSingleQuoteDir]: { - 'techdocs_metadata.json': files['techdocs_metadata.json'].replace( - /"/g, - "'", - ), - }, + [directory]: files, }); }); @@ -178,24 +155,14 @@ describe('publishing with valid credentials', () => { describe('publish', () => { it('should publish a directory', async () => { const publisher = createPublisherFromConfig(); - expect( - await publisher.publish({ - entity, - directory: localRootDir, - }), - ).toBeUndefined(); + expect(await publisher.publish({ entity, directory })).toBeUndefined(); }); it('should publish a directory as well when legacy casing is used', async () => { const publisher = createPublisherFromConfig({ legacyUseCaseSensitiveTripletPaths: true, }); - expect( - await publisher.publish({ - entity, - directory: localRootDir, - }), - ).toBeUndefined(); + expect(await publisher.publish({ entity, directory })).toBeUndefined(); }); it('should fail to publish a directory', async () => { @@ -229,15 +196,12 @@ describe('publishing with valid credentials', () => { it('reports an error when bad account credentials', async () => { const publisher = createPublisherFromConfig({ - accountName: 'failupload', + accountName: 'bad_account_credentials', }); let error; try { - await publisher.publish({ - entity, - directory: localRootDir, - }); + await publisher.publish({ entity, directory }); } catch (e) { error = e; } @@ -249,7 +213,7 @@ describe('publishing with valid credentials', () => { expect(logger.error).toHaveBeenCalledWith( expect.stringContaining( `Unable to upload file(s) to Azure Blob Storage. Error: Upload failed for ${path.join( - localRootDir, + directory, '404.html', )} with status code 500`, ), @@ -258,15 +222,17 @@ describe('publishing with valid credentials', () => { }); describe('hasDocsBeenGenerated', () => { - it('should return true if docs has been generated', async () => { + it('should check expected file', async () => { const publisher = createPublisherFromConfig(); + await publisher.publish({ entity, directory }); expect(await publisher.hasDocsBeenGenerated(entity)).toBe(true); }); - it('should return true if docs has been generated even if the legacy case is enabled', async () => { + it('should check expected file when legacy case flag is passed', async () => { const publisher = createPublisherFromConfig({ legacyUseCaseSensitiveTripletPaths: true, }); + await publisher.publish({ entity, directory }); expect(await publisher.hasDocsBeenGenerated(entity)).toBe(true); }); @@ -287,6 +253,7 @@ describe('publishing with valid credentials', () => { describe('fetchTechDocsMetadata', () => { it('should return tech docs metadata', async () => { const publisher = createPublisherFromConfig(); + await publisher.publish({ entity, directory }); expect(await publisher.fetchTechDocsMetadata(entityName)).toStrictEqual( techdocsMetadata, ); @@ -296,46 +263,53 @@ describe('publishing with valid credentials', () => { const publisher = createPublisherFromConfig({ legacyUseCaseSensitiveTripletPaths: true, }); + await publisher.publish({ entity, directory }); expect(await publisher.fetchTechDocsMetadata(entityName)).toStrictEqual( techdocsMetadata, ); }); it('should return tech docs metadata when json encoded with single quotes', async () => { + const techdocsMetadataPath = path.join( + directory, + 'techdocs_metadata.json', + ); + const techdocsMetadataContent = files['techdocs_metadata.json']; + + fs.writeFileSync( + techdocsMetadataPath, + techdocsMetadataContent.replace(/"/g, "'"), + ); + const publisher = createPublisherFromConfig(); - expect( - await publisher.fetchTechDocsMetadata({ - namespace: 'storage', - kind: 'single', - name: 'quote', - }), - ).toStrictEqual(techdocsMetadata); + await publisher.publish({ entity, directory }); + + expect(await publisher.fetchTechDocsMetadata(entityName)).toStrictEqual( + techdocsMetadata, + ); + + fs.writeFileSync(techdocsMetadataPath, techdocsMetadataContent); }); it('should return an error if the techdocs_metadata.json file is not present', async () => { const publisher = createPublisherFromConfig(); + const invalidEntityName = { namespace: 'invalid', kind: 'triplet', name: 'path', }; - let error; - try { - await publisher.fetchTechDocsMetadata(invalidEntityName); - } catch (e) { - error = e; - } - - expect(error).toEqual( - new Error( - `TechDocs metadata fetch failed, The file ${path.join( - rootDir, - ...Object.values(invalidEntityName), - 'techdocs_metadata.json', - )} does not exist !`, - ), + const techDocsMetadaFilePath = path.join( + ...Object.values(invalidEntityName), + 'techdocs_metadata.json', ); + + const fails = publisher.fetchTechDocsMetadata(invalidEntityName); + + await expect(fails).rejects.toMatchObject({ + message: `TechDocs metadata fetch failed, The file ${techDocsMetadaFilePath} does not exist!`, + }); }); }); @@ -344,8 +318,9 @@ describe('publishing with valid credentials', () => { let app: express.Express; - beforeEach(() => { + beforeEach(async () => { const publisher = createPublisherFromConfig(); + await publisher.publish({ entity, directory }); app = express().use(publisher.docsRouter()); }); @@ -367,6 +342,7 @@ describe('publishing with valid credentials', () => { const publisher = createPublisherFromConfig({ legacyUseCaseSensitiveTripletPaths: true, }); + await publisher.publish({ entity, directory }); app = express().use(publisher.docsRouter()); // Ensures leading slash is trimmed and encoded path is decoded. const pngResponse = await request(app).get( diff --git a/packages/techdocs-common/src/stages/publish/googleStorage.test.ts b/packages/techdocs-common/src/stages/publish/googleStorage.test.ts index ce08e2f2ce..57fde767ba 100644 --- a/packages/techdocs-common/src/stages/publish/googleStorage.test.ts +++ b/packages/techdocs-common/src/stages/publish/googleStorage.test.ts @@ -20,13 +20,13 @@ import { ConfigReader } from '@backstage/config'; import express from 'express'; import request from 'supertest'; import mockFs from 'mock-fs'; -import os from 'os'; import path from 'path'; +import fs from 'fs-extra'; import { GoogleGCSPublish } from './googleStorage'; // NOTE: /packages/techdocs-common/__mocks__ is being used to mock Google Cloud Storage client library -const rootDir = os.platform() === 'win32' ? 'C:\\rootDir' : '/rootDir'; +const rootDir = (global as any).rootDir; const getEntityRootDir = (entity: Entity) => { const { @@ -38,7 +38,6 @@ const getEntityRootDir = (entity: Entity) => { }; const logger = getVoidLogger(); -jest.spyOn(logger, 'info').mockReturnValue(logger); const createPublisherFromConfig = ({ bucketName = 'bucketName', @@ -47,7 +46,7 @@ const createPublisherFromConfig = ({ bucketName?: string; legacyUseCaseSensitiveTripletPaths?: boolean; } = {}) => { - const mockConfig = new ConfigReader({ + const config = new ConfigReader({ techdocs: { requestUrl: 'http://localhost:7000', publisher: { @@ -61,7 +60,7 @@ const createPublisherFromConfig = ({ }, }); - return GoogleGCSPublish.fromConfig(mockConfig, logger); + return GoogleGCSPublish.fromConfig(config, logger); }; describe('GoogleGCSPublish', () => { @@ -87,18 +86,7 @@ describe('GoogleGCSPublish', () => { etag: 'etag', }; - const localRootDir = getEntityRootDir(entity); - const storageRootDir = getEntityRootDir({ - ...entity, - kind: entity.kind.toLowerCase(), - }); - const storageSingleQuoteDir = getEntityRootDir({ - metadata: { - namespace: 'storage', - name: 'quote', - }, - kind: 'single', - } as Entity); + const directory = getEntityRootDir(entity); const files = { 'index.html': '', @@ -121,14 +109,7 @@ describe('GoogleGCSPublish', () => { beforeAll(() => { mockFs({ - [localRootDir]: files, - [storageRootDir]: files, - [storageSingleQuoteDir]: { - 'techdocs_metadata.json': files['techdocs_metadata.json'].replace( - /"/g, - "'", - ), - }, + [directory]: files, }); }); @@ -146,7 +127,7 @@ describe('GoogleGCSPublish', () => { it('should reject incorrect config', async () => { const publisher = createPublisherFromConfig({ - bucketName: 'errorBucket', + bucketName: 'bad_bucket_name', }); expect(await publisher.getReadiness()).toEqual({ isAvailable: false, @@ -157,24 +138,14 @@ describe('GoogleGCSPublish', () => { describe('publish', () => { it('should publish a directory', async () => { const publisher = createPublisherFromConfig(); - expect( - await publisher.publish({ - entity, - directory: localRootDir, - }), - ).toBeUndefined(); + expect(await publisher.publish({ entity, directory })).toBeUndefined(); }); it('should publish a directory as well when legacy casing is used', async () => { const publisher = createPublisherFromConfig({ legacyUseCaseSensitiveTripletPaths: true, }); - expect( - await publisher.publish({ - entity, - directory: localRootDir, - }), - ).toBeUndefined(); + expect(await publisher.publish({ entity, directory })).toBeUndefined(); }); it('should fail to publish a directory', async () => { @@ -210,6 +181,7 @@ describe('GoogleGCSPublish', () => { describe('hasDocsBeenGenerated', () => { it('should return true if docs has been generated', async () => { const publisher = createPublisherFromConfig(); + await publisher.publish({ entity, directory }); expect(await publisher.hasDocsBeenGenerated(entity)).toBe(true); }); @@ -217,6 +189,7 @@ describe('GoogleGCSPublish', () => { const publisher = createPublisherFromConfig({ legacyUseCaseSensitiveTripletPaths: true, }); + await publisher.publish({ entity, directory }); expect(await publisher.hasDocsBeenGenerated(entity)).toBe(true); }); @@ -237,6 +210,7 @@ describe('GoogleGCSPublish', () => { describe('fetchTechDocsMetadata', () => { it('should return tech docs metadata', async () => { const publisher = createPublisherFromConfig(); + await publisher.publish({ entity, directory }); expect(await publisher.fetchTechDocsMetadata(entityName)).toStrictEqual( techdocsMetadata, ); @@ -246,20 +220,32 @@ describe('GoogleGCSPublish', () => { const publisher = createPublisherFromConfig({ legacyUseCaseSensitiveTripletPaths: true, }); + await publisher.publish({ entity, directory }); expect(await publisher.fetchTechDocsMetadata(entityName)).toStrictEqual( techdocsMetadata, ); }); it('should return tech docs metadata when json encoded with single quotes', async () => { + const techdocsMetadataPath = path.join( + directory, + 'techdocs_metadata.json', + ); + const techdocsMetadataContent = files['techdocs_metadata.json']; + + fs.writeFileSync( + techdocsMetadataPath, + techdocsMetadataContent.replace(/"/g, "'"), + ); + const publisher = createPublisherFromConfig(); - expect( - await publisher.fetchTechDocsMetadata({ - namespace: 'storage', - kind: 'single', - name: 'quote', - }), - ).toStrictEqual(techdocsMetadata); + await publisher.publish({ entity, directory }); + + expect(await publisher.fetchTechDocsMetadata(entityName)).toStrictEqual( + techdocsMetadata, + ); + + fs.writeFileSync(techdocsMetadataPath, techdocsMetadataContent); }); it('should return an error if the techdocs_metadata.json file is not present', async () => { @@ -272,7 +258,6 @@ describe('GoogleGCSPublish', () => { }; const techDocsMetadaFilePath = path.join( - rootDir, ...Object.values(invalidEntityName), 'techdocs_metadata.json', ); @@ -280,7 +265,7 @@ describe('GoogleGCSPublish', () => { const fails = publisher.fetchTechDocsMetadata(invalidEntityName); await expect(fails).rejects.toMatchObject({ - message: `The file ${techDocsMetadaFilePath} does not exist !`, + message: `The file ${techDocsMetadaFilePath} does not exist!`, }); }); }); @@ -288,10 +273,11 @@ describe('GoogleGCSPublish', () => { describe('docsRouter', () => { const entityTripletPath = `${entity.metadata.namespace}/${entity.kind}/${entity.metadata.name}`; - let app: express.Express; + let app: Express.Application; - beforeEach(() => { + beforeEach(async () => { const publisher = createPublisherFromConfig(); + await publisher.publish({ entity, directory }); app = express().use(publisher.docsRouter()); }); @@ -313,7 +299,9 @@ describe('GoogleGCSPublish', () => { const publisher = createPublisherFromConfig({ legacyUseCaseSensitiveTripletPaths: true, }); + await publisher.publish({ entity, directory }); app = express().use(publisher.docsRouter()); + // Ensures leading slash is trimmed and encoded path is decoded. const pngResponse = await request(app).get( `/${entityTripletPath}/img/with%20spaces.png`, From 54d93fc84a46022b08e9b3c9105b5a13419811cd Mon Sep 17 00:00:00 2001 From: Himanshu Mishra Date: Sun, 8 Aug 2021 12:08:58 +0200 Subject: [PATCH 246/712] storybook: upgrade @storybook/react Reported by SNYK Signed-off-by: Himanshu Mishra --- packages/storybook/package.json | 2 +- yarn.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/storybook/package.json b/packages/storybook/package.json index c464755e55..736afbb8d8 100644 --- a/packages/storybook/package.json +++ b/packages/storybook/package.json @@ -18,7 +18,7 @@ "@storybook/addon-links": "^6.1.11", "@storybook/addon-storysource": "^6.1.11", "@storybook/addons": "^6.1.11", - "@storybook/react": "^6.1.11", + "@storybook/react": "^6.3.6", "storybook-dark-mode": "^1.0.3" } } diff --git a/yarn.lock b/yarn.lock index 9660983a75..1789bb182b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5893,7 +5893,7 @@ react-docgen-typescript "^2.0.0" tslib "^2.0.0" -"@storybook/react@^6.1.11": +"@storybook/react@^6.3.6": version "6.3.6" resolved "https://registry.npmjs.org/@storybook/react/-/react-6.3.6.tgz#593bc0743ad22ed5e6e072e6157c20c704864fc3" integrity sha512-2c30XTe7WzKnvgHBGOp1dzBVlhcbc3oEX0SIeVE9ZYkLvRPF+J1jG948a26iqOCOgRAW13Bele37mG1gbl4tiw== From 467b758a7ae820a71b5e5a64c90666d88bc7a083 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Aug 2021 04:33:49 +0000 Subject: [PATCH 247/712] chore(deps-dev): bump prettier from 2.2.1 to 2.3.2 Bumps [prettier](https://github.com/prettier/prettier) from 2.2.1 to 2.3.2. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/2.2.1...2.3.2) --- updated-dependencies: - dependency-name: prettier dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- yarn.lock | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/yarn.lock b/yarn.lock index 1789bb182b..c50e3c4d20 100644 --- a/yarn.lock +++ b/yarn.lock @@ -21955,7 +21955,12 @@ prettier@^1.19.1: resolved "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== -prettier@^2.2.1, prettier@~2.2.1: +prettier@^2.2.1: + version "2.3.2" + resolved "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz#ef280a05ec253712e486233db5c6f23441e7342d" + integrity sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ== + +prettier@~2.2.1: version "2.2.1" resolved "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== From 9181e8c6e029af12619eeeb97b6451f87730ef8d Mon Sep 17 00:00:00 2001 From: Camila Belo Date: Mon, 9 Aug 2021 09:27:34 +0200 Subject: [PATCH 248/712] tests(techdocs-common): add globals and types for mocked files Signed-off-by: Camila Belo --- .../__mocks__/@azure/storage-blob.ts | 4 ++-- .../__mocks__/@google-cloud/storage.ts | 2 +- packages/techdocs-common/__mocks__/aws-sdk.ts | 2 +- .../techdocs-common/__mocks__/globals.d.ts | 22 +++++++++++++++++ packages/techdocs-common/__mocks__/types.d.ts | 24 +++++++++++++++++++ packages/techdocs-common/src/globals.d.ts | 22 +++++++++++++++++ packages/techdocs-common/src/setupTests.ts | 11 ++++----- .../src/stages/publish/awsS3.test.ts | 2 +- .../stages/publish/azureBlobStorage.test.ts | 2 +- .../src/stages/publish/googleStorage.test.ts | 2 +- packages/techdocs-common/src/types.d.ts | 24 +++++++++++++++++++ 11 files changed, 104 insertions(+), 13 deletions(-) create mode 100644 packages/techdocs-common/__mocks__/globals.d.ts create mode 100644 packages/techdocs-common/__mocks__/types.d.ts create mode 100644 packages/techdocs-common/src/globals.d.ts create mode 100644 packages/techdocs-common/src/types.d.ts diff --git a/packages/techdocs-common/__mocks__/@azure/storage-blob.ts b/packages/techdocs-common/__mocks__/@azure/storage-blob.ts index 80c60acce7..b901f5f5a7 100644 --- a/packages/techdocs-common/__mocks__/@azure/storage-blob.ts +++ b/packages/techdocs-common/__mocks__/@azure/storage-blob.ts @@ -13,13 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import type { +import { BlobUploadCommonResponse, ContainerGetPropertiesResponse, } from '@azure/storage-blob'; import { EventEmitter } from 'events'; -const storage = new (global as any).StorageFilesMock(); +const storage = global.storageFilesMock; export class BlockBlobClient { private readonly blobName; diff --git a/packages/techdocs-common/__mocks__/@google-cloud/storage.ts b/packages/techdocs-common/__mocks__/@google-cloud/storage.ts index efc2454d08..856f09c4df 100644 --- a/packages/techdocs-common/__mocks__/@google-cloud/storage.ts +++ b/packages/techdocs-common/__mocks__/@google-cloud/storage.ts @@ -15,7 +15,7 @@ */ import { Readable } from 'stream'; -const storage = new (global as any).StorageFilesMock(); +const storage = global.storageFilesMock; class GCSFile { private readonly path: string; diff --git a/packages/techdocs-common/__mocks__/aws-sdk.ts b/packages/techdocs-common/__mocks__/aws-sdk.ts index 36c864bfe7..6251fe8357 100644 --- a/packages/techdocs-common/__mocks__/aws-sdk.ts +++ b/packages/techdocs-common/__mocks__/aws-sdk.ts @@ -18,7 +18,7 @@ import { ReadStream } from 'fs'; export { Credentials } from 'aws-sdk'; -const storage = new (global as any).StorageFilesMock(); +const storage = global.storageFilesMock; export class S3 { constructor() { diff --git a/packages/techdocs-common/__mocks__/globals.d.ts b/packages/techdocs-common/__mocks__/globals.d.ts new file mode 100644 index 0000000000..ad293d2ebe --- /dev/null +++ b/packages/techdocs-common/__mocks__/globals.d.ts @@ -0,0 +1,22 @@ +/* + * Copyright 2020 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +declare module NodeJS { + interface Global { + rootDir: string; + storageFilesMock: IStorageFilesMock; + } +} diff --git a/packages/techdocs-common/__mocks__/types.d.ts b/packages/techdocs-common/__mocks__/types.d.ts new file mode 100644 index 0000000000..e085b95851 --- /dev/null +++ b/packages/techdocs-common/__mocks__/types.d.ts @@ -0,0 +1,24 @@ +/* + * Copyright 2020 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +interface IStorageFilesMock { + emptyFiles(): void; + fileExists(targetPath: string): boolean; + readFile(targetPath: string): Buffer; + writeFile(targetPath: string, sourcePath: string): void; + writeFile(targetPath: string, sourceBuffer: Buffer): void; + writeFile(targetPath: string, source: string | Buffer): void; +} diff --git a/packages/techdocs-common/src/globals.d.ts b/packages/techdocs-common/src/globals.d.ts new file mode 100644 index 0000000000..ad293d2ebe --- /dev/null +++ b/packages/techdocs-common/src/globals.d.ts @@ -0,0 +1,22 @@ +/* + * Copyright 2020 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +declare module NodeJS { + interface Global { + rootDir: string; + storageFilesMock: IStorageFilesMock; + } +} diff --git a/packages/techdocs-common/src/setupTests.ts b/packages/techdocs-common/src/setupTests.ts index 996a8d35dd..9a13e57633 100644 --- a/packages/techdocs-common/src/setupTests.ts +++ b/packages/techdocs-common/src/setupTests.ts @@ -18,18 +18,18 @@ import os from 'os'; import path from 'path'; import fs from 'fs-extra'; -const rootDir = os.platform() === 'win32' ? 'C:\\rootDir' : '/rootDir'; +const rootDir: string = os.platform() === 'win32' ? 'C:\\rootDir' : '/rootDir'; const encoding = 'utf8'; -export class StorageFilesMock { +class StorageFilesMock implements IStorageFilesMock { private files: Record; constructor() { this.files = {}; } - public emptyFiles() { + public emptyFiles(): void { this.files = {}; } @@ -56,6 +56,5 @@ export class StorageFilesMock { } } -const _global = global as any; -_global.rootDir = rootDir; -_global.StorageFilesMock = StorageFilesMock; +global.rootDir = rootDir; +global.storageFilesMock = new StorageFilesMock(); diff --git a/packages/techdocs-common/src/stages/publish/awsS3.test.ts b/packages/techdocs-common/src/stages/publish/awsS3.test.ts index d77d643291..62ec80d634 100644 --- a/packages/techdocs-common/src/stages/publish/awsS3.test.ts +++ b/packages/techdocs-common/src/stages/publish/awsS3.test.ts @@ -26,7 +26,7 @@ import { AwsS3Publish } from './awsS3'; // NOTE: /packages/techdocs-common/__mocks__ is being used to mock aws-sdk client library -const rootDir = (global as any).rootDir; +const rootDir = global.rootDir; const getEntityRootDir = (entity: Entity) => { const { diff --git a/packages/techdocs-common/src/stages/publish/azureBlobStorage.test.ts b/packages/techdocs-common/src/stages/publish/azureBlobStorage.test.ts index dd658440d6..c32ec310d0 100644 --- a/packages/techdocs-common/src/stages/publish/azureBlobStorage.test.ts +++ b/packages/techdocs-common/src/stages/publish/azureBlobStorage.test.ts @@ -26,7 +26,7 @@ import { AzureBlobStoragePublish } from './azureBlobStorage'; // NOTE: /packages/techdocs-common/__mocks__ is being used to mock Azure client library -const rootDir = (global as any).rootDir; +const rootDir = global.rootDir; const getEntityRootDir = (entity: Entity) => { const { diff --git a/packages/techdocs-common/src/stages/publish/googleStorage.test.ts b/packages/techdocs-common/src/stages/publish/googleStorage.test.ts index 57fde767ba..fe93ef909b 100644 --- a/packages/techdocs-common/src/stages/publish/googleStorage.test.ts +++ b/packages/techdocs-common/src/stages/publish/googleStorage.test.ts @@ -26,7 +26,7 @@ import { GoogleGCSPublish } from './googleStorage'; // NOTE: /packages/techdocs-common/__mocks__ is being used to mock Google Cloud Storage client library -const rootDir = (global as any).rootDir; +const rootDir = global.rootDir; const getEntityRootDir = (entity: Entity) => { const { diff --git a/packages/techdocs-common/src/types.d.ts b/packages/techdocs-common/src/types.d.ts new file mode 100644 index 0000000000..e085b95851 --- /dev/null +++ b/packages/techdocs-common/src/types.d.ts @@ -0,0 +1,24 @@ +/* + * Copyright 2020 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +interface IStorageFilesMock { + emptyFiles(): void; + fileExists(targetPath: string): boolean; + readFile(targetPath: string): Buffer; + writeFile(targetPath: string, sourcePath: string): void; + writeFile(targetPath: string, sourceBuffer: Buffer): void; + writeFile(targetPath: string, source: string | Buffer): void; +} From 5072d05d12dcfe21a5392c017a3a1c76cb1c8d90 Mon Sep 17 00:00:00 2001 From: Brian Fletcher Date: Mon, 9 Aug 2021 09:20:06 +0100 Subject: [PATCH 249/712] use existing parseUrl function to get host and org Signed-off-by: Brian Fletcher --- .../ingestion/processors/GithubDiscoveryProcessor.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/plugins/catalog-backend/src/ingestion/processors/GithubDiscoveryProcessor.ts b/plugins/catalog-backend/src/ingestion/processors/GithubDiscoveryProcessor.ts index e28e56941b..b444c23924 100644 --- a/plugins/catalog-backend/src/ingestion/processors/GithubDiscoveryProcessor.ts +++ b/plugins/catalog-backend/src/ingestion/processors/GithubDiscoveryProcessor.ts @@ -25,7 +25,6 @@ import { Logger } from 'winston'; import { getOrganizationRepositories } from './github'; import * as results from './results'; import { CatalogProcessor, CatalogProcessorEmit } from './types'; -import parseGitUrl from 'git-url-parse'; /** * Extracts repositories out of a GitHub org. @@ -65,15 +64,17 @@ export class GithubDiscoveryProcessor implements CatalogProcessor { ); } + const { org, repoSearchPath, catalogPath, host } = parseUrl( + location.target, + ); + // Building the org url here so that the github creds provider doesn't need to know // about how to handle the wild card which is special for this processor. - const { source, organization } = parseGitUrl(location.target); - const orgUrl = `https://${source}/${organization}`; + const orgUrl = `https://${host}/${org}`; const { headers } = await GithubCredentialsProvider.create( gitHubConfig, ).getCredentials({ url: orgUrl }); - const { org, repoSearchPath, catalogPath } = parseUrl(location.target); const client = graphql.defaults({ baseUrl: gitHubConfig.apiBaseUrl, @@ -119,7 +120,7 @@ export class GithubDiscoveryProcessor implements CatalogProcessor { export function parseUrl( urlString: string, -): { org: string; repoSearchPath: RegExp; catalogPath: string } { +): { org: string; repoSearchPath: RegExp; catalogPath: string; host: string } { const url = new URL(urlString); const path = url.pathname.substr(1).split('/'); @@ -129,6 +130,7 @@ export function parseUrl( org: decodeURIComponent(path[0]), repoSearchPath: escapeRegExp(decodeURIComponent(path[1])), catalogPath: `/${decodeURIComponent(path.slice(2).join('/'))}`, + host: url.host, }; } From c772d9a84eab20ebb6553b15a07fb9af4f7f3bff Mon Sep 17 00:00:00 2001 From: Camila Belo Date: Mon, 9 Aug 2021 10:23:18 +0200 Subject: [PATCH 250/712] docs(techdocs-common): Add changeset file for next release Signed-off-by: Camila Belo --- .changeset/techdocs-all-done.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .changeset/techdocs-all-done.md diff --git a/.changeset/techdocs-all-done.md b/.changeset/techdocs-all-done.md new file mode 100644 index 0000000000..2696b40df7 --- /dev/null +++ b/.changeset/techdocs-all-done.md @@ -0,0 +1,7 @@ +--- +'@backstage/plugin-techdocs': patch +--- + +This is the third and final step of migrating cloud storage entities to lowercase ([see](https://github.com/backstage/backstage/issues/4367#issuecomment-876461002)). + +Updates GCS, AWS S3 and Azure Blob Storage Provider to lowercase entity triplet paths before reading and writing to it cloud storage. From 57dd0fae8edd34afaa1f924d72ac40ccf683c9fd Mon Sep 17 00:00:00 2001 From: Brian Fletcher Date: Mon, 9 Aug 2021 10:40:14 +0100 Subject: [PATCH 251/712] fix discovery processor test Signed-off-by: Brian Fletcher --- .../src/ingestion/processors/GithubDiscoveryProcessor.test.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/catalog-backend/src/ingestion/processors/GithubDiscoveryProcessor.test.ts b/plugins/catalog-backend/src/ingestion/processors/GithubDiscoveryProcessor.test.ts index 467e9c1ea2..d4d80453ce 100644 --- a/plugins/catalog-backend/src/ingestion/processors/GithubDiscoveryProcessor.test.ts +++ b/plugins/catalog-backend/src/ingestion/processors/GithubDiscoveryProcessor.test.ts @@ -32,6 +32,7 @@ describe('GithubDiscoveryProcessor', () => { parseUrl('https://github.com/foo/proj/blob/master/catalog.yaml'), ).toEqual({ org: 'foo', + host: 'github.com', repoSearchPath: /^proj$/, catalogPath: '/blob/master/catalog.yaml', }); @@ -39,6 +40,7 @@ describe('GithubDiscoveryProcessor', () => { parseUrl('https://github.com/foo/proj*/blob/master/catalog.yaml'), ).toEqual({ org: 'foo', + host: 'github.com', repoSearchPath: /^proj.*$/, catalogPath: '/blob/master/catalog.yaml', }); From 923491eece9bd571aceb9d44f119db2fdd98c782 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Mon, 9 Aug 2021 11:42:22 +0200 Subject: [PATCH 252/712] run prettier formatting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Adelöw --- .imgbotconfig | 4 +- docs/auth/add-auth-provider.md | 4 +- docs/integrations/bitbucket/discovery.md | 12 ++-- .../src/cache/CacheManager.test.ts | 8 +-- .../src/database/DatabaseManager.ts | 4 +- .../src/database/connectors/mysql.ts | 2 +- .../src/reading/AzureUrlReader.test.ts | 12 ++-- .../src/reading/AzureUrlReader.ts | 2 +- .../src/reading/BitbucketUrlReader.ts | 11 +-- .../src/reading/GithubUrlReader.test.ts | 4 +- .../src/reading/GithubUrlReader.ts | 18 ++--- .../src/reading/GitlabUrlReader.test.ts | 18 ++--- .../src/reading/GitlabUrlReader.ts | 2 +- .../src/reading/tree/TarArchiveResponse.ts | 2 +- packages/backend-common/src/scm/git.test.ts | 18 ++--- .../src/service/lib/ServiceBuilderImpl.ts | 10 +-- .../src/util/DockerContainerRunner.ts | 23 +++--- .../backend-test-utils/src/database/types.ts | 58 ++++++++------- packages/catalog-model/api-report.md | 10 +-- .../policies/SchemaValidEntityPolicy.test.ts | 2 +- packages/catalog-model/src/entity/ref.ts | 4 +- .../src/kinds/ApiEntityV1alpha1.ts | 5 +- .../src/kinds/ComponentEntityV1alpha1.ts | 5 +- .../src/kinds/DomainEntityV1alpha1.ts | 5 +- .../src/kinds/GroupEntityV1alpha1.ts | 5 +- .../src/kinds/LocationEntityV1alpha1.ts | 5 +- .../src/kinds/ResourceEntityV1alpha1.ts | 5 +- .../src/kinds/SystemEntityV1alpha1.ts | 5 +- .../src/kinds/TemplateEntityV1beta2.ts | 5 +- .../src/kinds/UserEntityV1alpha1.ts | 5 +- .../catalog-model/src/location/helpers.ts | 14 ++-- .../entityEnvelopeSchemaValidator.ts | 2 +- packages/cli/src/commands/versions/lint.ts | 8 +-- packages/cli/src/lib/bundler/optimization.ts | 4 +- packages/cli/src/lib/versioning/Lockfile.ts | 6 +- packages/cli/src/types.d.ts | 7 +- .../src/lib/transform/include.test.ts | 26 ++++--- .../src/lib/transform/substitution.test.ts | 10 +-- packages/config/src/reader.test.ts | 12 ++-- packages/core-app-api/api-report.md | 18 +++-- .../LocalStorageFeatureFlags.test.tsx | 3 +- .../implementations/auth/oauth2/OAuth2.ts | 3 +- .../src/apis/system/ApiProvider.test.tsx | 7 +- packages/core-app-api/src/app/App.tsx | 58 +++++++-------- .../core-app-api/src/app/AppContext.test.tsx | 7 +- packages/core-app-api/src/app/createApp.tsx | 2 +- packages/core-app-api/src/app/types.ts | 6 +- .../src/extensions/extensions.tsx | 6 +- .../DefaultAuthConnector.test.ts | 6 +- .../lib/AuthConnector/DefaultAuthConnector.ts | 3 +- .../core-app-api/src/lib/loginPopup.test.ts | 3 +- packages/core-app-api/src/lib/subjects.ts | 6 +- .../core-app-api/src/lib/versionedValues.ts | 2 +- .../src/routing/FlatRoutes.test.tsx | 4 +- .../src/routing/RoutingProvider.test.tsx | 7 +- packages/core-app-api/src/routing/types.ts | 2 +- .../DependencyGraph/DefaultNode.tsx | 6 +- .../DependencyGraph/DependencyGraph.tsx | 6 +- .../src/components/DependencyGraph/Edge.tsx | 6 +- .../src/components/DependencyGraph/Node.tsx | 6 +- .../FeatureDiscovery/lib/useShowCallout.ts | 14 ++-- .../StructuredMetadataTable/MetadataTable.tsx | 20 +++--- .../StructuredMetadataTable.tsx | 20 +++--- .../components/TabbedLayout/RoutedTabs.tsx | 8 ++- .../src/components/Table/Table.tsx | 7 +- .../src/hooks/useSupportConfig.ts | 3 +- .../ErrorBoundary/ErrorBoundary.test.tsx | 20 +++--- .../src/layout/Sidebar/Intro.tsx | 6 +- packages/core-plugin-api/api-report.md | 32 ++++----- .../src/apis/system/helpers.ts | 4 +- .../core-plugin-api/src/apis/system/types.ts | 2 +- packages/core-plugin-api/src/app/useApp.tsx | 5 +- .../src/extensions/extensions.tsx | 10 +-- .../src/lib/versionedValues.ts | 4 +- .../core-plugin-api/src/plugin/Plugin.tsx | 7 +- packages/core-plugin-api/src/plugin/types.ts | 4 +- .../src/routing/ExternalRouteRef.ts | 7 +- .../core-plugin-api/src/routing/RouteRef.ts | 5 +- .../src/routing/SubRouteRef.ts | 9 +-- packages/core-plugin-api/src/routing/types.ts | 7 +- .../src/routing/useRouteRef.tsx | 5 +- packages/dev-utils/src/devApp/render.tsx | 2 +- .../docgen/src/docgen/ApiDocGenerator.test.ts | 3 +- packages/docgen/src/docgen/ApiDocGenerator.ts | 11 ++- packages/docgen/src/docgen/TypeLocator.ts | 4 +- .../src/docgen/TypescriptHighlighter.ts | 7 +- packages/e2e-test/src/commands/run.ts | 11 +-- packages/e2e-test/src/lib/helpers.ts | 3 +- .../src/api/ScmIntegrationsApi.ts | 7 +- .../src/azure/AzureIntegration.test.ts | 9 +-- packages/integration/src/azure/core.test.ts | 12 ++-- packages/integration/src/azure/core.ts | 18 ++--- .../src/github/GitHubIntegration.test.ts | 6 +- .../github/GithubCredentialsProvider.test.ts | 4 +- .../src/github/GithubCredentialsProvider.ts | 7 +- packages/integration/src/gitlab/core.test.ts | 15 ++-- packages/integration/src/gitlab/core.ts | 9 +-- packages/integration/src/helpers.test.ts | 30 +++----- .../src/stages/publish/googleStorage.ts | 5 +- .../test-utils/src/testUtils/appWrappers.tsx | 2 +- plugins/api-docs/dev/index.tsx | 16 ++--- .../AsyncApiDefinitionWidget.tsx | 25 ++++--- .../OpenApiDefinitionWidget.tsx | 37 +++++----- plugins/app-backend/src/lib/config.test.ts | 2 +- plugins/app-backend/src/service/router.ts | 3 +- plugins/auth-backend/api-report.md | 4 +- .../auth-backend/src/identity/TokenFactory.ts | 2 +- .../src/lib/flow/authFlowHelpers.test.ts | 28 ++++---- .../src/lib/oauth/OAuthAdapter.test.ts | 48 ++++++------- .../src/lib/oauth/helpers.test.ts | 16 ++--- plugins/auth-backend/src/lib/oauth/types.ts | 4 +- .../passport/PassportStrategyHelper.test.ts | 2 +- .../lib/passport/PassportStrategyHelper.ts | 2 +- .../src/providers/aws-alb/provider.test.ts | 12 ++-- .../src/providers/github/provider.test.ts | 12 ++-- .../src/providers/gitlab/provider.test.ts | 4 +- .../src/providers/google/provider.test.ts | 9 +-- .../src/providers/microsoft/provider.test.ts | 9 +-- .../src/providers/microsoft/provider.ts | 26 ++++--- .../src/providers/oidc/provider.test.ts | 4 +- .../BadgeBuilder/DefaultBadgeBuilder.test.ts | 2 +- .../src/components/EntityBadgesDialog.tsx | 6 +- .../src/ldap/read.test.ts | 32 +-------- .../catalog-backend-module-msgraph/README.md | 8 ++- .../src/microsoftGraph/client.test.ts | 7 +- .../src/microsoftGraph/read.test.ts | 12 ++-- .../src/microsoftGraph/read.ts | 24 +++---- plugins/catalog-backend/CHANGELOG.md | 13 ++-- plugins/catalog-backend/api-report.md | 7 +- .../src/catalog/DatabaseLocationsCatalog.ts | 8 +-- .../src/database/CommonDatabase.ts | 7 +- .../AnnotateLocationEntityProcessor.ts | 5 +- ...sOrganizationCloudAccountProcessor.test.ts | 9 +-- .../AwsOrganizationCloudAccountProcessor.ts | 7 +- .../BitbucketDiscoveryProcessor.test.ts | 19 ++--- .../processors/BitbucketDiscoveryProcessor.ts | 8 ++- .../GithubDiscoveryProcessor.test.ts | 7 +- .../processors/GithubDiscoveryProcessor.ts | 13 ++-- .../GithubMultiOrgReaderProcessor.ts | 15 ++-- .../processors/GithubOrgReaderProcessor.ts | 10 ++- .../LocationEntityProcessor.test.ts | 2 +- .../bitbucket/BitbucketRepositoryParser.ts | 27 ++++--- .../src/ingestion/processors/github/github.ts | 2 +- .../src/ingestion/processors/util/parse.ts | 14 ++-- .../next/ConfigLocationEntityProvider.test.ts | 4 +- .../DefaultCatalogProcessingEngine.test.ts | 8 +-- .../src/next/NextEntitiesCatalog.ts | 7 +- .../catalog-backend/src/next/NextRouter.ts | 9 +-- .../DefaultProcessingDatabase.test.ts | 4 +- .../DefaultCatalogProcessingOrchestrator.ts | 3 +- .../src/search/DefaultCatalogCollator.ts | 30 ++++---- .../parseEntityTransformParams.test.ts | 6 +- .../src/service/router.test.ts | 4 +- .../src/service/standaloneServer.ts | 7 +- plugins/catalog-backend/src/service/util.ts | 2 +- plugins/catalog-graphql/src/graphql/types.ts | 32 ++++----- plugins/catalog-import/api-report.md | 2 +- .../src/api/CatalogImportClient.test.ts | 10 +-- .../src/components/ImportComponentPage.tsx | 3 +- .../src/components/ImportStepper/defaults.tsx | 7 +- .../StepInitAnalyzeUrl.test.tsx | 2 +- .../PreparePullRequestForm.tsx | 11 +-- plugins/catalog-react/api-report.md | 6 +- .../EntityLifecyclePicker.tsx | 8 +-- .../EntityOwnerPicker/EntityOwnerPicker.tsx | 8 +-- .../src/components/EntityTable/columns.tsx | 2 +- .../EntityTagPicker/EntityTagPicker.tsx | 8 +-- .../EntityTypePicker.test.tsx | 8 +-- .../EntityTypePicker/EntityTypePicker.tsx | 8 +-- .../UserListPicker/UserListPicker.tsx | 13 ++-- plugins/catalog-react/src/hooks/useEntity.ts | 7 +- .../src/hooks/useEntityListProvider.tsx | 4 +- .../src/hooks/useEntityOwnership.test.tsx | 4 +- .../src/hooks/useEntityOwnership.ts | 7 +- .../src/hooks/useEntityTypeFilter.tsx | 6 +- .../src/hooks/useRelatedEntities.ts | 6 +- .../SystemDiagramCard/SystemDiagramCard.tsx | 6 +- .../useUnregisterEntityDialogState.test.tsx | 2 +- .../BuildWithStepsPage/BuildWithStepsPage.tsx | 2 +- .../circleci/src/state/useBuildWithSteps.ts | 7 +- plugins/circleci/src/state/useBuilds.ts | 32 +++++---- .../cloudbuild/src/api/CloudbuildClient.ts | 3 +- .../WorkflowRunDetails/useWorkflowRunJobs.ts | 19 ++--- .../src/components/useWorkflowRuns.ts | 9 ++- .../src/service/converter/cobertura.ts | 4 +- .../src/service/router.ts | 8 +-- plugins/config-schema/dev/index.tsx | 2 +- plugins/cost-insights/api-report.md | 2 +- .../AlertInsights/AlertInsights.tsx | 8 +-- .../src/components/BarChart/BarChartSteps.tsx | 12 ++-- .../components/CostInsightsPage/selector.tsx | 33 ++++----- .../components/CostInsightsTabs/selector.ts | 36 +++++----- .../CostOverviewCard/CostOverviewCard.tsx | 5 +- .../ProductInsights/ProductInsights.test.tsx | 3 +- .../ProductInsights/ProductInsights.tsx | 7 +- .../ProductInsightsCard.tsx | 7 +- .../ProductInsightsCard/selector.ts | 41 +++++------ .../UnlabeledDataflowAlertCard.test.tsx | 7 +- .../cost-insights/src/hooks/useFilters.tsx | 5 +- .../src/hooks/useLastCompleteBillingDate.tsx | 5 +- plugins/cost-insights/src/plugin.ts | 38 +++++----- .../cost-insights/src/testUtils/loading.ts | 12 ++-- .../cost-insights/src/testUtils/providers.tsx | 18 +++-- plugins/cost-insights/src/types/Alert.ts | 2 +- plugins/cost-insights/src/utils/alerts.tsx | 39 +++++----- .../src/utils/formatters.test.ts | 6 +- .../DomainExplorerContent.tsx | 6 +- .../GroupsExplorerContent/GroupsDiagram.tsx | 6 +- .../ToolExplorerContent.tsx | 6 +- plugins/fossa/dev/index.tsx | 4 +- .../ProjectDetailsPage/ProjectDetailsPage.tsx | 6 +- .../src/api/GitReleaseClient.ts | 29 +++----- .../CreateReleaseCandidate.tsx | 20 +++--- .../hooks/useCreateReleaseCandidate.ts | 8 +-- .../src/features/Patch/PatchBody.tsx | 19 ++--- .../src/features/Patch/hooks/usePatch.ts | 8 +-- .../features/PromoteRc/hooks/usePromoteRc.ts | 8 +-- .../features/Stats/Info/InDepth/InDepth.tsx | 8 +-- .../Stats/Info/hooks/useGetReleaseTimes.tsx | 21 +++--- .../src/features/Stats/helpers/getTagDates.ts | 28 ++++---- .../src/helpers/tagParts/getCalverTagParts.ts | 3 +- .../useVersioningStrategyMatchesRepoTags.ts | 5 +- .../git-release-manager/src/types/helpers.ts | 5 +- .../WorkflowRunsTable/WorkflowRunsTable.tsx | 16 ++--- .../src/components/useWorkflowRuns.ts | 9 ++- plugins/github-actions/src/plugin.ts | 19 ++--- .../src/components/GithubDeploymentsCard.tsx | 7 +- plugins/graphiql/src/index.ts | 3 +- .../src/lib/storage/StorageBucket.test.ts | 2 +- .../src/components/ILertCard/ILertCard.tsx | 12 ++-- .../Incident/IncidentActionsMenu.tsx | 6 +- .../OnCallSchedulesPage.tsx | 6 +- plugins/ilert/src/hooks/useAlertSource.ts | 25 +++---- plugins/ilert/src/hooks/useAssignIncident.ts | 6 +- plugins/ilert/src/hooks/useUptimeMonitors.ts | 14 ++-- .../src/service/jenkinsApi.test.ts | 6 +- .../jenkins-backend/src/service/jenkinsApi.ts | 4 +- .../src/service/jenkinsInfoProvider.test.ts | 4 +- .../src/service/jenkinsInfoProvider.ts | 5 +- plugins/jenkins-backend/src/service/router.ts | 9 +-- .../src/components/useBuildWithSteps.ts | 7 +- plugins/jenkins/src/components/useBuilds.ts | 6 +- .../AwsIamKubernetesAuthTranslator.ts | 19 ++--- .../GoogleKubernetesAuthTranslator.ts | 3 +- .../KubernetesAuthTranslatorGenerator.test.ts | 15 ++-- .../ServiceAccountKubernetesAuthTranslator.ts | 3 +- .../src/service/KubernetesFanOutHandler.ts | 12 ++-- .../src/service/KubernetesFetcher.ts | 38 +++++----- .../kubernetes-backend/src/service/router.ts | 5 +- .../ArgoRollouts/Rollout.test.tsx | 8 +-- .../src/hooks/useKubernetesObjects.test.ts | 22 +++--- .../src/hooks/useKubernetesObjects.ts | 9 +-- .../KubernetesAuthProviders.ts | 5 +- .../ServiceAccountKubernetesAuthProvider.ts | 3 +- .../src/kubernetes-auth-provider/types.ts | 7 +- .../components/AuditList/AuditListTable.tsx | 5 +- .../src/components/AuditView/index.test.tsx | 5 +- .../src/components/AuditView/index.tsx | 6 +- .../Cards/LastLighthouseAuditCard.test.tsx | 4 +- .../src/components/CreateAudit/index.test.tsx | 5 +- .../src/hooks/useWebsiteForEntity.ts | 7 +- .../Group/MembersList/MembersListCard.tsx | 6 +- .../Escalation/EscalationPolicy.tsx | 6 +- .../src/components/PagerDutyCard/index.tsx | 6 +- .../TriggerDialog/TriggerDialog.test.tsx | 5 +- plugins/rollbar-backend/api-report.md | 4 +- .../RollbarProject/RollbarProject.tsx | 5 +- plugins/rollbar/src/hooks/useCatalogEntity.ts | 6 +- plugins/scaffolder-backend/api-report.md | 2 +- .../actions/builtin/catalog/register.test.ts | 2 +- .../actions/builtin/catalog/register.ts | 6 +- .../actions/builtin/createBuiltinActions.ts | 9 +-- .../actions/builtin/debug/log.test.ts | 4 +- .../actions/builtin/fetch/plain.test.ts | 6 +- .../actions/builtin/fetch/template.test.ts | 6 +- .../actions/builtin/publish/azure.test.ts | 12 ++-- .../actions/builtin/publish/bitbucket.test.ts | 13 ++-- .../actions/builtin/publish/github.test.ts | 10 ++- .../builtin/publish/githubPullRequest.ts | 5 +- .../actions/builtin/publish/gitlab.test.ts | 10 ++- .../src/scaffolder/tasks/DatabaseTaskStore.ts | 6 +- .../src/scaffolder/tasks/types.ts | 4 +- plugins/scaffolder/api-report.md | 8 +-- .../components/ActionsPage/ActionsPage.tsx | 4 +- .../FavouriteTemplate/FavouriteTemplate.tsx | 8 +-- .../components/MultistepJsonForm/schema.ts | 7 +- .../TemplatePage/TemplatePage.test.tsx | 24 +++---- .../TemplateTypePicker.test.tsx | 8 +-- .../TemplateTypePicker/TemplateTypePicker.tsx | 9 +-- .../fields/EntityPicker/EntityPicker.test.tsx | 8 +-- .../fields/OwnerPicker/OwnerPicker.test.tsx | 8 +-- .../fields/RepoUrlPicker/validation.test.ts | 4 +- .../database/DatabaseDocumentStore.test.ts | 40 +++++------ .../LegacySearchPage/LegacySearchResult.tsx | 6 +- .../src/components/EntitySplunkOnCallCard.tsx | 6 +- .../Escalation/EscalationPolicy.tsx | 6 +- .../components/Incident/IncidentListItem.tsx | 20 +++--- .../components/RadarLegend/RadarLegend.tsx | 9 +-- .../src/search/DefaultTechDocsCollator.ts | 72 +++++++++---------- plugins/techdocs/src/client.test.ts | 13 ++-- .../DocsResultListItem.test.tsx | 3 +- .../home/components/TechDocsCustomHome.tsx | 6 +- .../src/reader/components/Reader.test.tsx | 16 ++--- .../reader/components/TechDocsNotFound.tsx | 5 +- .../reader/components/TechDocsPage.test.tsx | 16 ++--- .../OverviewComponent/OverviewComponent.tsx | 9 +-- .../OverviewTrendsComponent.tsx | 14 ++-- .../StatusCellComponent.tsx | 9 +-- .../StatusMatrixComponent.tsx | 9 +-- scripts/api-extractor.ts | 46 ++++++------ scripts/verify-links.js | 5 +- 311 files changed, 1449 insertions(+), 1667 deletions(-) diff --git a/.imgbotconfig b/.imgbotconfig index f337e087dc..2f4af2ed5e 100644 --- a/.imgbotconfig +++ b/.imgbotconfig @@ -1,5 +1,3 @@ { - "ignoredFiles": [ - "docs/assets/**/*.svg" - ] + "ignoredFiles": ["docs/assets/**/*.svg"] } diff --git a/docs/auth/add-auth-provider.md b/docs/auth/add-auth-provider.md index 56586cbfc6..472a6a0abc 100644 --- a/docs/auth/add-auth-provider.md +++ b/docs/auth/add-auth-provider.md @@ -244,9 +244,7 @@ export interface OAuthProviderHandlers { req: express.Request, options: Record, ): Promise; - handler( - req: express.Request, - ): Promise<{ + handler(req: express.Request): Promise<{ response: AuthResponse; refreshToken?: string; }>; diff --git a/docs/integrations/bitbucket/discovery.md b/docs/integrations/bitbucket/discovery.md index 1538806e39..708acd8db2 100644 --- a/docs/integrations/bitbucket/discovery.md +++ b/docs/integrations/bitbucket/discovery.md @@ -56,13 +56,11 @@ matching repository is processed. repository. ```typescript -const customRepositoryParser: BitbucketRepositoryParser = async function* customRepositoryParser({ - client, - repository, -}) { - // Custom logic for interpret the matching repository. - // See defaultRepositoryParser for an example -}; +const customRepositoryParser: BitbucketRepositoryParser = + async function* customRepositoryParser({ client, repository }) { + // Custom logic for interpret the matching repository. + // See defaultRepositoryParser for an example + }; const processor = BitbucketDiscoveryProcessor.fromConfig(env.config, { parser: customRepositoryParser, diff --git a/packages/backend-common/src/cache/CacheManager.test.ts b/packages/backend-common/src/cache/CacheManager.test.ts index b55b63f469..fb73687f54 100644 --- a/packages/backend-common/src/cache/CacheManager.test.ts +++ b/packages/backend-common/src/cache/CacheManager.test.ts @@ -104,7 +104,7 @@ describe('CacheManager', () => { manager.forPlugin(plugin2Id).getClient({ defaultTtl: expectedTtl }); const client = DefaultCacheClient as jest.Mock; - const cache = (Keyv as unknown) as jest.Mock; + const cache = Keyv as unknown as jest.Mock; expect(cache).toHaveBeenCalledTimes(2); expect(client).toHaveBeenCalledTimes(2); @@ -124,7 +124,7 @@ describe('CacheManager', () => { const expectedNamespace = 'test-plugin'; manager.forPlugin(expectedNamespace).getClient(); - const cache = (Keyv as unknown) as jest.Mock; + const cache = Keyv as unknown as jest.Mock; const mockCalls = cache.mock.calls.splice(-1); const callArgs = mockCalls[0]; expect(callArgs[0].store).toBeInstanceOf(NoStore); @@ -138,7 +138,7 @@ describe('CacheManager', () => { .forPlugin(expectedNamespace) .getClient({ defaultTtl: expectedTtl }); - const cache = (Keyv as unknown) as jest.Mock; + const cache = Keyv as unknown as jest.Mock; const mockCalls = cache.mock.calls.splice(-1); const callArgs = mockCalls[0]; expect(callArgs[0]).toMatchObject({ @@ -162,7 +162,7 @@ describe('CacheManager', () => { const expectedTtl = 3600; manager.forPlugin('test').getClient({ defaultTtl: expectedTtl }); - const cache = (Keyv as unknown) as jest.Mock; + const cache = Keyv as unknown as jest.Mock; const mockCacheCalls = cache.mock.calls.splice(-1); expect(mockCacheCalls[0][0]).toMatchObject({ ttl: expectedTtl, diff --git a/packages/backend-common/src/database/DatabaseManager.ts b/packages/backend-common/src/database/DatabaseManager.ts index f3a3f218b0..2d60104bcb 100644 --- a/packages/backend-common/src/database/DatabaseManager.ts +++ b/packages/backend-common/src/database/DatabaseManager.ts @@ -110,9 +110,7 @@ export class DatabaseManager { * @returns Object with client type returned as `client` and boolean representing whether * or not the client was overridden as `overridden` */ - private getClientType( - pluginId: string, - ): { + private getClientType(pluginId: string): { client: string; overridden: boolean; } { diff --git a/packages/backend-common/src/database/connectors/mysql.ts b/packages/backend-common/src/database/connectors/mysql.ts index f2f2298559..94dce508c7 100644 --- a/packages/backend-common/src/database/connectors/mysql.ts +++ b/packages/backend-common/src/database/connectors/mysql.ts @@ -149,7 +149,7 @@ export async function ensureMysqlDatabaseExists( ) { const admin = createMysqlDatabaseClient(dbConfig, { connection: { - database: (null as unknown) as string, + database: null as unknown as string, }, }); diff --git a/packages/backend-common/src/reading/AzureUrlReader.test.ts b/packages/backend-common/src/reading/AzureUrlReader.test.ts index 2b7c21d4ab..c7c8853929 100644 --- a/packages/backend-common/src/reading/AzureUrlReader.test.ts +++ b/packages/backend-common/src/reading/AzureUrlReader.test.ts @@ -78,21 +78,17 @@ describe('AzureUrlReader', () => { it.each([ { - url: - 'https://dev.azure.com/org-name/project-name/_git/repo-name?path=my-template.yaml&version=GBmaster', + url: 'https://dev.azure.com/org-name/project-name/_git/repo-name?path=my-template.yaml&version=GBmaster', config: createConfig(), response: expect.objectContaining({ - url: - 'https://dev.azure.com/org-name/project-name/_apis/git/repositories/repo-name/items?path=my-template.yaml&version=master', + url: 'https://dev.azure.com/org-name/project-name/_apis/git/repositories/repo-name/items?path=my-template.yaml&version=master', }), }, { - url: - 'https://dev.azure.com/org-name/project-name/_git/repo-name?path=my-template.yaml', + url: 'https://dev.azure.com/org-name/project-name/_git/repo-name?path=my-template.yaml', config: createConfig(), response: expect.objectContaining({ - url: - 'https://dev.azure.com/org-name/project-name/_apis/git/repositories/repo-name/items?path=my-template.yaml', + url: 'https://dev.azure.com/org-name/project-name/_apis/git/repositories/repo-name/items?path=my-template.yaml', }), }, { diff --git a/packages/backend-common/src/reading/AzureUrlReader.ts b/packages/backend-common/src/reading/AzureUrlReader.ts index bc22854d4e..d2c056508d 100644 --- a/packages/backend-common/src/reading/AzureUrlReader.ts +++ b/packages/backend-common/src/reading/AzureUrlReader.ts @@ -129,7 +129,7 @@ export class AzureUrlReader implements UrlReader { } return await this.deps.treeResponseFactory.fromZipArchive({ - stream: (archiveAzureResponse.body as unknown) as Readable, + stream: archiveAzureResponse.body as unknown as Readable, etag: commitSha, filter: options?.filter, }); diff --git a/packages/backend-common/src/reading/BitbucketUrlReader.ts b/packages/backend-common/src/reading/BitbucketUrlReader.ts index 2849bc3cd9..2a979a464f 100644 --- a/packages/backend-common/src/reading/BitbucketUrlReader.ts +++ b/packages/backend-common/src/reading/BitbucketUrlReader.ts @@ -60,13 +60,8 @@ export class BitbucketUrlReader implements UrlReader { private readonly integration: BitbucketIntegration, private readonly deps: { treeResponseFactory: ReadTreeResponseFactory }, ) { - const { - host, - apiBaseUrl, - token, - username, - appPassword, - } = integration.config; + const { host, apiBaseUrl, token, username, appPassword } = + integration.config; if (!apiBaseUrl) { throw new Error( @@ -138,7 +133,7 @@ export class BitbucketUrlReader implements UrlReader { } return await this.deps.treeResponseFactory.fromTarArchive({ - stream: (archiveBitbucketResponse.body as unknown) as Readable, + stream: archiveBitbucketResponse.body as unknown as Readable, subpath: filepath, etag: lastCommitShortHash, filter: options?.filter, diff --git a/packages/backend-common/src/reading/GithubUrlReader.test.ts b/packages/backend-common/src/reading/GithubUrlReader.test.ts index c8002cd3ce..f9717a862a 100644 --- a/packages/backend-common/src/reading/GithubUrlReader.test.ts +++ b/packages/backend-common/src/reading/GithubUrlReader.test.ts @@ -41,9 +41,9 @@ const treeResponseFactory = DefaultReadTreeResponseFactory.create({ config: new ConfigReader({}), }); -const mockCredentialsProvider = ({ +const mockCredentialsProvider = { getCredentials: jest.fn().mockResolvedValue({ headers: {} }), -} as unknown) as GithubCredentialsProvider; +} as unknown as GithubCredentialsProvider; const githubProcessor = new GithubUrlReader( new GitHubIntegration( diff --git a/packages/backend-common/src/reading/GithubUrlReader.ts b/packages/backend-common/src/reading/GithubUrlReader.ts index bccddc6838..930c544287 100644 --- a/packages/backend-common/src/reading/GithubUrlReader.ts +++ b/packages/backend-common/src/reading/GithubUrlReader.ts @@ -39,10 +39,14 @@ import { ReadUrlResponse, } from './types'; -export type GhRepoResponse = RestEndpointMethodTypes['repos']['get']['response']['data']; -export type GhBranchResponse = RestEndpointMethodTypes['repos']['getBranch']['response']['data']; -export type GhTreeResponse = RestEndpointMethodTypes['git']['getTree']['response']['data']; -export type GhBlobResponse = RestEndpointMethodTypes['git']['getBlob']['response']['data']; +export type GhRepoResponse = + RestEndpointMethodTypes['repos']['get']['response']['data']; +export type GhBranchResponse = + RestEndpointMethodTypes['repos']['getBranch']['response']['data']; +export type GhTreeResponse = + RestEndpointMethodTypes['git']['getTree']['response']['data']; +export type GhBlobResponse = + RestEndpointMethodTypes['git']['getBlob']['response']['data']; /** * A processor that adds the ability to read files from GitHub v3 APIs, such as @@ -195,7 +199,7 @@ export class GithubUrlReader implements UrlReader { return await this.deps.treeResponseFactory.fromTarArchive({ // TODO(Rugvip): Underlying implementation of fetch will be node-fetch, we probably want // to stick to using that in exclusively backend code. - stream: (archive.body as unknown) as Readable, + stream: archive.body as unknown as Readable, subpath, etag: sha, filter: options?.filter, @@ -258,9 +262,7 @@ export class GithubUrlReader implements UrlReader { })); } - private async getRepoDetails( - url: string, - ): Promise<{ + private async getRepoDetails(url: string): Promise<{ repo: GhRepoResponse; branch: GhBranchResponse; }> { diff --git a/packages/backend-common/src/reading/GitlabUrlReader.test.ts b/packages/backend-common/src/reading/GitlabUrlReader.test.ts index 945444d8ed..51b211e698 100644 --- a/packages/backend-common/src/reading/GitlabUrlReader.test.ts +++ b/packages/backend-common/src/reading/GitlabUrlReader.test.ts @@ -108,36 +108,30 @@ describe('GitlabUrlReader', () => { it.each([ // Project URLs { - url: - 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/my/path/to/file.yaml', + url: 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/my/path/to/file.yaml', config: createConfig(), response: expect.objectContaining({ - url: - 'https://gitlab.com/api/v4/projects/12345/repository/files/my%2Fpath%2Fto%2Ffile.yaml/raw?ref=branch', + url: 'https://gitlab.com/api/v4/projects/12345/repository/files/my%2Fpath%2Fto%2Ffile.yaml/raw?ref=branch', headers: expect.objectContaining({ 'private-token': '', }), }), }, { - url: - 'https://gitlab.example.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/my/path/to/file.yaml', + url: 'https://gitlab.example.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/my/path/to/file.yaml', config: createConfig('0123456789'), response: expect.objectContaining({ - url: - 'https://gitlab.example.com/api/v4/projects/12345/repository/files/my%2Fpath%2Fto%2Ffile.yaml/raw?ref=branch', + url: 'https://gitlab.example.com/api/v4/projects/12345/repository/files/my%2Fpath%2Fto%2Ffile.yaml/raw?ref=branch', headers: expect.objectContaining({ 'private-token': '0123456789', }), }), }, { - url: - 'https://gitlab.com/groupA/teams/teamA/repoA/-/blob/branch/my/path/to/file.yaml', // Repo not in subgroup + url: 'https://gitlab.com/groupA/teams/teamA/repoA/-/blob/branch/my/path/to/file.yaml', // Repo not in subgroup config: createConfig(), response: expect.objectContaining({ - url: - 'https://gitlab.com/api/v4/projects/12345/repository/files/my%2Fpath%2Fto%2Ffile.yaml/raw?ref=branch', + url: 'https://gitlab.com/api/v4/projects/12345/repository/files/my%2Fpath%2Fto%2Ffile.yaml/raw?ref=branch', }), }, diff --git a/packages/backend-common/src/reading/GitlabUrlReader.ts b/packages/backend-common/src/reading/GitlabUrlReader.ts index 6c272471e2..27c31c7673 100644 --- a/packages/backend-common/src/reading/GitlabUrlReader.ts +++ b/packages/backend-common/src/reading/GitlabUrlReader.ts @@ -170,7 +170,7 @@ export class GitlabUrlReader implements UrlReader { } return await this.deps.treeResponseFactory.fromTarArchive({ - stream: (archiveGitLabResponse.body as unknown) as Readable, + stream: archiveGitLabResponse.body as unknown as Readable, subpath: filepath, etag: commitSha, filter: options?.filter, diff --git a/packages/backend-common/src/reading/tree/TarArchiveResponse.ts b/packages/backend-common/src/reading/tree/TarArchiveResponse.ts index a81add58f7..173f6a886a 100644 --- a/packages/backend-common/src/reading/tree/TarArchiveResponse.ts +++ b/packages/backend-common/src/reading/tree/TarArchiveResponse.ts @@ -28,7 +28,7 @@ import { import { stripFirstDirectoryFromPath } from './util'; // Tar types for `Parse` is not a proper constructor, but it should be -const TarParseStream = (Parse as unknown) as { new (): ParseStream }; +const TarParseStream = Parse as unknown as { new (): ParseStream }; const pipeline = promisify(pipelineCb); diff --git a/packages/backend-common/src/scm/git.test.ts b/packages/backend-common/src/scm/git.test.ts index 0b70edc45d..abbafc375d 100644 --- a/packages/backend-common/src/scm/git.test.ts +++ b/packages/backend-common/src/scm/git.test.ts @@ -123,9 +123,9 @@ describe('Git', () => { await git.clone({ url, dir }); - const { onAuth } = ((isomorphic.clone as unknown) as jest.Mock< - typeof isomorphic['clone'] - >).mock.calls[0][0]!; + const { onAuth } = ( + isomorphic.clone as unknown as jest.Mock + ).mock.calls[0][0]!; expect(onAuth()).toEqual(auth); }); @@ -190,9 +190,9 @@ describe('Git', () => { await git.fetch({ remote, dir }); - const { onAuth } = ((isomorphic.fetch as unknown) as jest.Mock< - typeof isomorphic['fetch'] - >).mock.calls[0][0]!; + const { onAuth } = ( + isomorphic.fetch as unknown as jest.Mock + ).mock.calls[0][0]!; expect(onAuth()).toEqual(auth); }); @@ -279,9 +279,9 @@ describe('Git', () => { await git.push({ remote, dir }); - const { onAuth } = ((isomorphic.push as unknown) as jest.Mock< - typeof isomorphic['push'] - >).mock.calls[0][0]!; + const { onAuth } = ( + isomorphic.push as unknown as jest.Mock + ).mock.calls[0][0]!; expect(onAuth()).toEqual(auth); }); diff --git a/packages/backend-common/src/service/lib/ServiceBuilderImpl.ts b/packages/backend-common/src/service/lib/ServiceBuilderImpl.ts index 7a3ebfed70..ed16c9c9a7 100644 --- a/packages/backend-common/src/service/lib/ServiceBuilderImpl.ts +++ b/packages/backend-common/src/service/lib/ServiceBuilderImpl.ts @@ -154,14 +154,8 @@ export class ServiceBuilderImpl implements ServiceBuilder { async start(): Promise { const app = express(); - const { - port, - host, - logger, - corsOptions, - httpsSettings, - helmetOptions, - } = this.getOptions(); + const { port, host, logger, corsOptions, httpsSettings, helmetOptions } = + this.getOptions(); app.use(helmet(helmetOptions)); if (corsOptions) { diff --git a/packages/backend-common/src/util/DockerContainerRunner.ts b/packages/backend-common/src/util/DockerContainerRunner.ts index 8dbc5335c9..33a4874151 100644 --- a/packages/backend-common/src/util/DockerContainerRunner.ts +++ b/packages/backend-common/src/util/DockerContainerRunner.ts @@ -92,18 +92,17 @@ export class DockerContainerRunner implements ContainerRunner { Env.push(`${key}=${value}`); } - const [ - { Error: error, StatusCode: statusCode }, - ] = await this.dockerClient.run(imageName, args, logStream, { - Volumes, - HostConfig: { - Binds, - }, - ...(workingDir ? { WorkingDir: workingDir } : {}), - Entrypoint: command, - Env, - ...userOptions, - } as Docker.ContainerCreateOptions); + const [{ Error: error, StatusCode: statusCode }] = + await this.dockerClient.run(imageName, args, logStream, { + Volumes, + HostConfig: { + Binds, + }, + ...(workingDir ? { WorkingDir: workingDir } : {}), + Entrypoint: command, + Env, + ...userOptions, + } as Docker.ContainerCreateOptions); if (error) { throw new Error( diff --git a/packages/backend-test-utils/src/database/types.ts b/packages/backend-test-utils/src/database/types.ts index b5516a19c0..514a3a85e8 100644 --- a/packages/backend-test-utils/src/database/types.ts +++ b/packages/backend-test-utils/src/database/types.ts @@ -38,33 +38,31 @@ export type Instance = { databaseManager: DatabaseManager; connections: Array; }; -export const allDatabases: Record< - TestDatabaseId, - TestDatabaseProperties -> = Object.freeze({ - POSTGRES_13: { - name: 'Postgres 13.x', - driver: 'pg', - dockerImageName: 'postgres:13', - connectionStringEnvironmentVariableName: - 'BACKSTAGE_TEST_DATABASE_POSTGRES13_CONNECTION_STRING', - }, - POSTGRES_9: { - name: 'Postgres 9.x', - driver: 'pg', - dockerImageName: 'postgres:9', - connectionStringEnvironmentVariableName: - 'BACKSTAGE_TEST_DATABASE_POSTGRES9_CONNECTION_STRING', - }, - MYSQL_8: { - name: 'MySQL 8.x', - driver: 'mysql2', - dockerImageName: 'mysql:8', - connectionStringEnvironmentVariableName: - 'BACKSTAGE_TEST_DATABASE_MYSQL8_CONNECTION_STRING', - }, - SQLITE_3: { - name: 'SQLite 3.x', - driver: 'sqlite3', - }, -}); +export const allDatabases: Record = + Object.freeze({ + POSTGRES_13: { + name: 'Postgres 13.x', + driver: 'pg', + dockerImageName: 'postgres:13', + connectionStringEnvironmentVariableName: + 'BACKSTAGE_TEST_DATABASE_POSTGRES13_CONNECTION_STRING', + }, + POSTGRES_9: { + name: 'Postgres 9.x', + driver: 'pg', + dockerImageName: 'postgres:9', + connectionStringEnvironmentVariableName: + 'BACKSTAGE_TEST_DATABASE_POSTGRES9_CONNECTION_STRING', + }, + MYSQL_8: { + name: 'MySQL 8.x', + driver: 'mysql2', + dockerImageName: 'mysql:8', + connectionStringEnvironmentVariableName: + 'BACKSTAGE_TEST_DATABASE_MYSQL8_CONNECTION_STRING', + }, + SQLITE_3: { + name: 'SQLite 3.x', + driver: 'sqlite3', + }, + }); diff --git a/packages/catalog-model/api-report.md b/packages/catalog-model/api-report.md index 437a0be02b..13041d9e32 100644 --- a/packages/catalog-model/api-report.md +++ b/packages/catalog-model/api-report.md @@ -190,7 +190,7 @@ export type EntityEnvelope = { // // @public export function entityEnvelopeSchemaValidator< - T extends EntityEnvelope = EntityEnvelope + T extends EntityEnvelope = EntityEnvelope, >(schema?: unknown): (data: unknown) => T; // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen @@ -333,9 +333,7 @@ export function getEntityName(entity: Entity): EntityName; // Warning: (ae-missing-release-tag) "getEntitySourceLocation" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public -export function getEntitySourceLocation( - entity: Entity, -): { +export function getEntitySourceLocation(entity: Entity): { type: string; target: string; }; @@ -542,9 +540,7 @@ export function parseEntityRef( // Warning: (ae-missing-release-tag) "parseLocationReference" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public -export function parseLocationReference( - ref: string, -): { +export function parseLocationReference(ref: string): { type: string; target: string; }; diff --git a/packages/catalog-model/src/entity/policies/SchemaValidEntityPolicy.test.ts b/packages/catalog-model/src/entity/policies/SchemaValidEntityPolicy.test.ts index 21539aaba4..c263689446 100644 --- a/packages/catalog-model/src/entity/policies/SchemaValidEntityPolicy.test.ts +++ b/packages/catalog-model/src/entity/policies/SchemaValidEntityPolicy.test.ts @@ -58,7 +58,7 @@ describe('SchemaValidEntityPolicy', () => { // it('rejects wrong root type', async () => { - await expect(policy.enforce((7 as unknown) as Entity)).rejects.toThrow( + await expect(policy.enforce(7 as unknown as Entity)).rejects.toThrow( /object/, ); }); diff --git a/packages/catalog-model/src/entity/ref.ts b/packages/catalog-model/src/entity/ref.ts index 91d8547c6b..e2d9c5b203 100644 --- a/packages/catalog-model/src/entity/ref.ts +++ b/packages/catalog-model/src/entity/ref.ts @@ -18,9 +18,7 @@ import { EntityName, EntityRef } from '../types'; import { ENTITY_DEFAULT_NAMESPACE } from './constants'; import { Entity } from './Entity'; -function parseRefString( - ref: string, -): { +function parseRefString(ref: string): { kind?: string; namespace?: string; name: string; diff --git a/packages/catalog-model/src/kinds/ApiEntityV1alpha1.ts b/packages/catalog-model/src/kinds/ApiEntityV1alpha1.ts index 737037e6b2..2bcd9c7040 100644 --- a/packages/catalog-model/src/kinds/ApiEntityV1alpha1.ts +++ b/packages/catalog-model/src/kinds/ApiEntityV1alpha1.ts @@ -30,6 +30,5 @@ export interface ApiEntityV1alpha1 extends Entity { }; } -export const apiEntityV1alpha1Validator = ajvCompiledJsonSchemaValidator( - schema, -); +export const apiEntityV1alpha1Validator = + ajvCompiledJsonSchemaValidator(schema); diff --git a/packages/catalog-model/src/kinds/ComponentEntityV1alpha1.ts b/packages/catalog-model/src/kinds/ComponentEntityV1alpha1.ts index 4e08d4cce9..5312d87a35 100644 --- a/packages/catalog-model/src/kinds/ComponentEntityV1alpha1.ts +++ b/packages/catalog-model/src/kinds/ComponentEntityV1alpha1.ts @@ -33,6 +33,5 @@ export interface ComponentEntityV1alpha1 extends Entity { }; } -export const componentEntityV1alpha1Validator = ajvCompiledJsonSchemaValidator( - schema, -); +export const componentEntityV1alpha1Validator = + ajvCompiledJsonSchemaValidator(schema); diff --git a/packages/catalog-model/src/kinds/DomainEntityV1alpha1.ts b/packages/catalog-model/src/kinds/DomainEntityV1alpha1.ts index c2f39de321..c832f35ee0 100644 --- a/packages/catalog-model/src/kinds/DomainEntityV1alpha1.ts +++ b/packages/catalog-model/src/kinds/DomainEntityV1alpha1.ts @@ -26,6 +26,5 @@ export interface DomainEntityV1alpha1 extends Entity { }; } -export const domainEntityV1alpha1Validator = ajvCompiledJsonSchemaValidator( - schema, -); +export const domainEntityV1alpha1Validator = + ajvCompiledJsonSchemaValidator(schema); diff --git a/packages/catalog-model/src/kinds/GroupEntityV1alpha1.ts b/packages/catalog-model/src/kinds/GroupEntityV1alpha1.ts index 28f1503223..263ba311ad 100644 --- a/packages/catalog-model/src/kinds/GroupEntityV1alpha1.ts +++ b/packages/catalog-model/src/kinds/GroupEntityV1alpha1.ts @@ -34,6 +34,5 @@ export interface GroupEntityV1alpha1 extends Entity { }; } -export const groupEntityV1alpha1Validator = ajvCompiledJsonSchemaValidator( - schema, -); +export const groupEntityV1alpha1Validator = + ajvCompiledJsonSchemaValidator(schema); diff --git a/packages/catalog-model/src/kinds/LocationEntityV1alpha1.ts b/packages/catalog-model/src/kinds/LocationEntityV1alpha1.ts index 4a37340bee..44f04b2c39 100644 --- a/packages/catalog-model/src/kinds/LocationEntityV1alpha1.ts +++ b/packages/catalog-model/src/kinds/LocationEntityV1alpha1.ts @@ -28,6 +28,5 @@ export interface LocationEntityV1alpha1 extends Entity { }; } -export const locationEntityV1alpha1Validator = ajvCompiledJsonSchemaValidator( - schema, -); +export const locationEntityV1alpha1Validator = + ajvCompiledJsonSchemaValidator(schema); diff --git a/packages/catalog-model/src/kinds/ResourceEntityV1alpha1.ts b/packages/catalog-model/src/kinds/ResourceEntityV1alpha1.ts index c8f96b87e3..211164f4c1 100644 --- a/packages/catalog-model/src/kinds/ResourceEntityV1alpha1.ts +++ b/packages/catalog-model/src/kinds/ResourceEntityV1alpha1.ts @@ -29,6 +29,5 @@ export interface ResourceEntityV1alpha1 extends Entity { }; } -export const resourceEntityV1alpha1Validator = ajvCompiledJsonSchemaValidator( - schema, -); +export const resourceEntityV1alpha1Validator = + ajvCompiledJsonSchemaValidator(schema); diff --git a/packages/catalog-model/src/kinds/SystemEntityV1alpha1.ts b/packages/catalog-model/src/kinds/SystemEntityV1alpha1.ts index 7c719566ad..129e3fea50 100644 --- a/packages/catalog-model/src/kinds/SystemEntityV1alpha1.ts +++ b/packages/catalog-model/src/kinds/SystemEntityV1alpha1.ts @@ -27,6 +27,5 @@ export interface SystemEntityV1alpha1 extends Entity { }; } -export const systemEntityV1alpha1Validator = ajvCompiledJsonSchemaValidator( - schema, -); +export const systemEntityV1alpha1Validator = + ajvCompiledJsonSchemaValidator(schema); diff --git a/packages/catalog-model/src/kinds/TemplateEntityV1beta2.ts b/packages/catalog-model/src/kinds/TemplateEntityV1beta2.ts index 2710fe1275..577e5ec9e2 100644 --- a/packages/catalog-model/src/kinds/TemplateEntityV1beta2.ts +++ b/packages/catalog-model/src/kinds/TemplateEntityV1beta2.ts @@ -40,6 +40,5 @@ export interface TemplateEntityV1beta2 extends Entity { }; } -export const templateEntityV1beta2Validator = ajvCompiledJsonSchemaValidator( - schema, -); +export const templateEntityV1beta2Validator = + ajvCompiledJsonSchemaValidator(schema); diff --git a/packages/catalog-model/src/kinds/UserEntityV1alpha1.ts b/packages/catalog-model/src/kinds/UserEntityV1alpha1.ts index 267a9f07fd..65ebdb3262 100644 --- a/packages/catalog-model/src/kinds/UserEntityV1alpha1.ts +++ b/packages/catalog-model/src/kinds/UserEntityV1alpha1.ts @@ -31,6 +31,5 @@ export interface UserEntityV1alpha1 extends Entity { }; } -export const userEntityV1alpha1Validator = ajvCompiledJsonSchemaValidator( - schema, -); +export const userEntityV1alpha1Validator = + ajvCompiledJsonSchemaValidator(schema); diff --git a/packages/catalog-model/src/location/helpers.ts b/packages/catalog-model/src/location/helpers.ts index 431ee71218..91209e7a2a 100644 --- a/packages/catalog-model/src/location/helpers.ts +++ b/packages/catalog-model/src/location/helpers.ts @@ -26,9 +26,10 @@ import { LOCATION_ANNOTATION, SOURCE_LOCATION_ANNOTATION } from './annotation'; * @param ref A string-form location reference, e.g. 'url:https://host' * @returns A location reference, e.g. { type: 'url', target: 'https://host' } */ -export function parseLocationReference( - ref: string, -): { type: string; target: string } { +export function parseLocationReference(ref: string): { + type: string; + target: string; +} { if (typeof ref !== 'string') { throw new TypeError( `Unable to parse location reference '${ref}', unexpected argument ${typeof ref}`, @@ -91,9 +92,10 @@ export function stringifyLocationReference(ref: { * using the UrlReader from @backstage/backend-common. If it is not of type 'url', the caller * needs to have explicit handling of each location type or signal that it is not supported. */ -export function getEntitySourceLocation( - entity: Entity, -): { type: string; target: string } { +export function getEntitySourceLocation(entity: Entity): { + type: string; + target: string; +} { const locationRef = entity.metadata?.annotations?.[SOURCE_LOCATION_ANNOTATION] ?? entity.metadata?.annotations?.[LOCATION_ANNOTATION]; diff --git a/packages/catalog-model/src/validation/entityEnvelopeSchemaValidator.ts b/packages/catalog-model/src/validation/entityEnvelopeSchemaValidator.ts index 2fe74ea2a4..aa865bcf1c 100644 --- a/packages/catalog-model/src/validation/entityEnvelopeSchemaValidator.ts +++ b/packages/catalog-model/src/validation/entityEnvelopeSchemaValidator.ts @@ -41,7 +41,7 @@ import { compileAjvSchema, throwAjvError } from './ajv'; * @see https://github.com/backstage/backstage/tree/master/packages/catalog-model/src/schema */ export function entityEnvelopeSchemaValidator< - T extends EntityEnvelope = EntityEnvelope + T extends EntityEnvelope = EntityEnvelope, >(schema?: unknown): (data: unknown) => T { const validate = compileAjvSchema( schema ? (schema as Schema) : entityEnvelopeSchema, diff --git a/packages/cli/src/commands/versions/lint.ts b/packages/cli/src/commands/versions/lint.ts index 68d0766217..c542da6dfb 100644 --- a/packages/cli/src/commands/versions/lint.ts +++ b/packages/cli/src/commands/versions/lint.ts @@ -55,11 +55,9 @@ export default async (cmd: Command) => { lockfile.replaceVersions(result.newVersions); await lockfile.save(); } else { - const [ - newVersionsForbidden, - newVersionsAllowed, - ] = partition(result.newVersions, ({ name }) => - forbiddenDuplicatesFilter(name), + const [newVersionsForbidden, newVersionsAllowed] = partition( + result.newVersions, + ({ name }) => forbiddenDuplicatesFilter(name), ); if (newVersionsForbidden.length && !fix) { success = false; diff --git a/packages/cli/src/lib/bundler/optimization.ts b/packages/cli/src/lib/bundler/optimization.ts index 4d77f2cc73..b8164d263d 100644 --- a/packages/cli/src/lib/bundler/optimization.ts +++ b/packages/cli/src/lib/bundler/optimization.ts @@ -30,9 +30,9 @@ export const optimization = ( ...(!isParallelDefault(options.parallel) ? { minimizer: [ - (new TerserPlugin({ + new TerserPlugin({ parallel: options.parallel, - }) as unknown) as WebpackPluginInstance, + }) as unknown as WebpackPluginInstance, ], } : {}), diff --git a/packages/cli/src/lib/versioning/Lockfile.ts b/packages/cli/src/lib/versioning/Lockfile.ts index 7b23652c33..d3517e3c83 100644 --- a/packages/cli/src/lib/versioning/Lockfile.ts +++ b/packages/cli/src/lib/versioning/Lockfile.ts @@ -137,9 +137,9 @@ export class Lockfile { } // Find all versions currently in use - const versions = Array.from( - new Set(entries.map(e => e.version)), - ).sort((v1, v2) => semver.rcompare(v1, v2)); + const versions = Array.from(new Set(entries.map(e => e.version))).sort( + (v1, v2) => semver.rcompare(v1, v2), + ); // If we're not using at least 2 different versions we're done if (versions.length < 2) { diff --git a/packages/cli/src/types.d.ts b/packages/cli/src/types.d.ts index d3ef72646b..db5e508ec2 100644 --- a/packages/cli/src/types.d.ts +++ b/packages/cli/src/types.d.ts @@ -30,9 +30,7 @@ declare module '@svgr/rollup' { declare module '@rollup/plugin-yaml'; declare module 'react-dev-utils/formatWebpackMessages' { - export default function ( - stats: any, - ): { + export default function (stats: any): { errors: string[]; warnings: string[]; }; @@ -46,7 +44,8 @@ declare module 'react-dev-utils/ModuleScopePlugin' { import webpack = require('webpack'); export default class ModuleScopePlugin - implements webpack.WebpackPluginInstance { + implements webpack.WebpackPluginInstance + { constructor( appSrc: string | ReadonlyArray, allowedFiles?: ReadonlyArray, diff --git a/packages/config-loader/src/lib/transform/include.test.ts b/packages/config-loader/src/lib/transform/include.test.ts index 44bf07ab4d..91df723621 100644 --- a/packages/config-loader/src/lib/transform/include.test.ts +++ b/packages/config-loader/src/lib/transform/include.test.ts @@ -24,9 +24,11 @@ const substituteMe = '${MY_SUBSTITUTION}'; const mySubstitution = 'fooSubstitution'; const env = jest.fn(async (name: string) => { - return ({ - SECRET: 'my-secret', - } as { [name: string]: string })[name]; + return ( + { + SECRET: 'my-secret', + } as { [name: string]: string } + )[name]; }); const substitute: TransformFunc = async value => { @@ -44,14 +46,16 @@ const substitute: TransformFunc = async value => { }; const readFile = jest.fn(async (path: string) => { - const content = ({ - [resolvePath(root, 'my-secret')]: 'secret', - [resolvePath(root, 'my-data.json')]: '{"a":{"b":{"c":42}}}', - [resolvePath(root, 'my-data.yaml')]: 'some:\n yaml:\n key: 7', - [resolvePath(root, 'my-data.yml')]: 'different: { key: hello }', - [resolvePath(root, 'invalid.yaml')]: 'foo: [}', - [resolvePath(root, `${mySubstitution}/my-data.json`)]: '{"foo":"bar"}', - } as { [key: string]: string })[path]; + const content = ( + { + [resolvePath(root, 'my-secret')]: 'secret', + [resolvePath(root, 'my-data.json')]: '{"a":{"b":{"c":42}}}', + [resolvePath(root, 'my-data.yaml')]: 'some:\n yaml:\n key: 7', + [resolvePath(root, 'my-data.yml')]: 'different: { key: hello }', + [resolvePath(root, 'invalid.yaml')]: 'foo: [}', + [resolvePath(root, `${mySubstitution}/my-data.json`)]: '{"foo":"bar"}', + } as { [key: string]: string } + )[path]; if (!content) { throw new Error('File not found!'); diff --git a/packages/config-loader/src/lib/transform/substitution.test.ts b/packages/config-loader/src/lib/transform/substitution.test.ts index dc6ed47597..b03c39c174 100644 --- a/packages/config-loader/src/lib/transform/substitution.test.ts +++ b/packages/config-loader/src/lib/transform/substitution.test.ts @@ -17,10 +17,12 @@ import { createSubstitutionTransform } from './substitution'; const env = jest.fn(async (name: string) => { - return ({ - SECRET: 'my-secret', - TOKEN: 'my-token', - } as { [name: string]: string })[name]; + return ( + { + SECRET: 'my-secret', + TOKEN: 'my-token', + } as { [name: string]: string } + )[name]; }); const substituteTransform = createSubstitutionTransform(env); diff --git a/packages/config/src/reader.test.ts b/packages/config/src/reader.test.ts index ed0ca7febe..2f846fe159 100644 --- a/packages/config/src/reader.test.ts +++ b/packages/config/src/reader.test.ts @@ -64,9 +64,9 @@ function expectValidValues(config: ConfigReader) { strings: ['string1', 'string2'], }); expect(config.getConfig('nested').getString('string')).toBe('string'); - expect( - config.getOptionalConfig('nested')!.getStringArray('strings'), - ).toEqual(['string1', 'string2']); + expect(config.getOptionalConfig('nested')!.getStringArray('strings')).toEqual( + ['string1', 'string2'], + ); expect(config.getOptional('missing')).toBe(undefined); expect(config.getOptionalConfig('missing')).toBe(undefined); expect(config.getOptionalConfigArray('missing')).toBe(undefined); @@ -234,9 +234,9 @@ describe('ConfigReader', () => { expect(withLogCollector(() => config.getOptional('a'))).toMatchObject({ warn: [], }); - expect( - withLogCollector(() => config.getOptionalString('a')), - ).toMatchObject({ warn: [] }); + expect(withLogCollector(() => config.getOptionalString('a'))).toMatchObject( + { warn: [] }, + ); expect( withLogCollector(() => config.getOptionalConfigArray('b')), ).toMatchObject({ warn: [] }); diff --git a/packages/core-app-api/api-report.md b/packages/core-app-api/api-report.md index a7a3845dd7..e2c6b3a939 100644 --- a/packages/core-app-api/api-report.md +++ b/packages/core-app-api/api-report.md @@ -68,9 +68,7 @@ export class AlertApiForwarder implements AlertApi { // // @public (undocumented) export type ApiFactoryHolder = { - get( - api: ApiRef, - ): + get(api: ApiRef): | ApiFactory< T, T, @@ -86,9 +84,7 @@ export type ApiFactoryHolder = { // @public export class ApiFactoryRegistry implements ApiFactoryHolder { // (undocumented) - get( - api: ApiRef, - ): + get(api: ApiRef): | ApiFactory< T, T, @@ -105,7 +101,7 @@ export class ApiFactoryRegistry implements ApiFactoryHolder { Impl extends Api, Deps extends { [name in string]: unknown; - } + }, >(scope: ApiFactoryScope, factory: ApiFactory): boolean; } @@ -211,7 +207,7 @@ export type AppOptions = { export type AppRouteBinder = < ExternalRoutes extends { [name: string]: ExternalRouteRef; - } + }, >( externalRoutes: ExternalRoutes, targetRoutes: PartialKeys< @@ -469,7 +465,8 @@ export class OAuth2 OpenIdConnectApi, ProfileInfoApi, BackstageIdentityApi, - SessionApi { + SessionApi +{ // Warning: (ae-forgotten-export) The symbol "Options" needs to be exported by the entry point index.d.ts constructor(options: Options); // Warning: (ae-forgotten-export) The symbol "CreateOptions" needs to be exported by the entry point index.d.ts @@ -561,7 +558,8 @@ export class OneLoginAuth { // // @public (undocumented) export class SamlAuth - implements ProfileInfoApi, BackstageIdentityApi, SessionApi { + implements ProfileInfoApi, BackstageIdentityApi, SessionApi +{ // Warning: (ae-forgotten-export) The symbol "SamlSession" needs to be exported by the entry point index.d.ts constructor(sessionManager: SessionManager); // Warning: (ae-forgotten-export) The symbol "AuthApiCreateOptions" needs to be exported by the entry point index.d.ts diff --git a/packages/core-app-api/src/apis/implementations/FeatureFlagsApi/LocalStorageFeatureFlags.test.tsx b/packages/core-app-api/src/apis/implementations/FeatureFlagsApi/LocalStorageFeatureFlags.test.tsx index afc25b2e8c..1193592e96 100644 --- a/packages/core-app-api/src/apis/implementations/FeatureFlagsApi/LocalStorageFeatureFlags.test.tsx +++ b/packages/core-app-api/src/apis/implementations/FeatureFlagsApi/LocalStorageFeatureFlags.test.tsx @@ -194,8 +194,7 @@ describe('FeatureFlags', () => { it('throws an error if length is greater than 150 characters', () => { expect(() => featureFlags.registerFlag({ - name: - 'loremipsumdolorsitametconsecteturadipiscingelitnuncvitaeportaexaullamcorperturpismaurisutmattisnequemorbisediaculisauguevivamuspulvinarcursuseratblandithendreritquisqueuttinciduntmagnavestibulumblanditaugueat', + name: 'loremipsumdolorsitametconsecteturadipiscingelitnuncvitaeportaexaullamcorperturpismaurisutmattisnequemorbisediaculisauguevivamuspulvinarcursuseratblandithendreritquisqueuttinciduntmagnavestibulumblanditaugueat', pluginId: 'plugin-three', }), ).toThrow(/not exceed 150 characters/i); diff --git a/packages/core-app-api/src/apis/implementations/auth/oauth2/OAuth2.ts b/packages/core-app-api/src/apis/implementations/auth/oauth2/OAuth2.ts index 8c27e0aa63..24db8d2560 100644 --- a/packages/core-app-api/src/apis/implementations/auth/oauth2/OAuth2.ts +++ b/packages/core-app-api/src/apis/implementations/auth/oauth2/OAuth2.ts @@ -65,7 +65,8 @@ class OAuth2 OpenIdConnectApi, ProfileInfoApi, BackstageIdentityApi, - SessionApi { + SessionApi +{ static create({ discoveryApi, environment = 'development', diff --git a/packages/core-app-api/src/apis/system/ApiProvider.test.tsx b/packages/core-app-api/src/apis/system/ApiProvider.test.tsx index 5afb39a2ec..b94aea6b67 100644 --- a/packages/core-app-api/src/apis/system/ApiProvider.test.tsx +++ b/packages/core-app-api/src/apis/system/ApiProvider.test.tsx @@ -185,9 +185,10 @@ describe('ApiProvider', () => { }); describe('v1 consumer', () => { - const ApiContext = getGlobalSingleton< - Context> - >('api-context'); + const ApiContext = + getGlobalSingleton>>( + 'api-context', + ); function useMockApiV1(apiRef: ApiRef): T { const impl = useContext(ApiContext)?.atVersion(1)?.get(apiRef); diff --git a/packages/core-app-api/src/app/App.tsx b/packages/core-app-api/src/app/App.tsx index a95554709a..013e8e6a8a 100644 --- a/packages/core-app-api/src/app/App.tsx +++ b/packages/core-app-api/src/app/App.tsx @@ -216,37 +216,33 @@ export class PrivateAppImpl implements BackstageApp { [], ); - const { - routePaths, - routeParents, - routeObjects, - featureFlags, - } = useMemo(() => { - const result = traverseElementTree({ - root: children, - discoverers: [childDiscoverer, routeElementDiscoverer], - collectors: { - routePaths: routePathCollector, - routeParents: routeParentCollector, - routeObjects: routeObjectCollector, - collectedPlugins: pluginCollector, - featureFlags: featureFlagCollector, - }, - }); + const { routePaths, routeParents, routeObjects, featureFlags } = + useMemo(() => { + const result = traverseElementTree({ + root: children, + discoverers: [childDiscoverer, routeElementDiscoverer], + collectors: { + routePaths: routePathCollector, + routeParents: routeParentCollector, + routeObjects: routeObjectCollector, + collectedPlugins: pluginCollector, + featureFlags: featureFlagCollector, + }, + }); - validateRoutes(result.routePaths, result.routeParents); + validateRoutes(result.routePaths, result.routeParents); - // TODO(Rugvip): Restructure the public API so that we can get an immediate view of - // the app, rather than having to wait for the provider to render. - // For now we need to push the additional plugins we find during - // collection and then make sure we initialize things afterwards. - result.collectedPlugins.forEach(plugin => this.plugins.add(plugin)); - this.verifyPlugins(this.plugins); + // TODO(Rugvip): Restructure the public API so that we can get an immediate view of + // the app, rather than having to wait for the provider to render. + // For now we need to push the additional plugins we find during + // collection and then make sure we initialize things afterwards. + result.collectedPlugins.forEach(plugin => this.plugins.add(plugin)); + this.verifyPlugins(this.plugins); - // Initialize APIs once all plugins are available - this.getApiHolder(); - return result; - }, [children]); + // Initialize APIs once all plugins are available + this.getApiHolder(); + return result; + }, [children]); const loadedConfig = useConfigLoader( this.configLoader, @@ -314,10 +310,8 @@ export class PrivateAppImpl implements BackstageApp { } getRouter(): ComponentType<{}> { - const { - Router: RouterComponent, - SignInPage: SignInPageComponent, - } = this.components; + const { Router: RouterComponent, SignInPage: SignInPageComponent } = + this.components; // This wraps the sign-in page and waits for sign-in to be completed before rendering the app const SignInPageWrapper = ({ diff --git a/packages/core-app-api/src/app/AppContext.test.tsx b/packages/core-app-api/src/app/AppContext.test.tsx index d87bf7d228..6ce164b9f0 100644 --- a/packages/core-app-api/src/app/AppContext.test.tsx +++ b/packages/core-app-api/src/app/AppContext.test.tsx @@ -22,9 +22,10 @@ import { AppContext as AppContextV1 } from './types'; import { AppContextProvider } from './AppContext'; describe('v1 consumer', () => { - const AppContext = getGlobalSingleton< - Context> - >('app-context'); + const AppContext = + getGlobalSingleton>>( + 'app-context', + ); function useMockAppV1(): AppContextV1 { const impl = useContext(AppContext)?.atVersion(1); diff --git a/packages/core-app-api/src/app/createApp.tsx b/packages/core-app-api/src/app/createApp.tsx index b7c49939e2..1d74f93add 100644 --- a/packages/core-app-api/src/app/createApp.tsx +++ b/packages/core-app-api/src/app/createApp.tsx @@ -60,7 +60,7 @@ export const defaultConfigLoader: AppConfigLoader = async ( if (!Array.isArray(appConfig)) { throw new Error('Static configuration has invalid format'); } - const configs = (appConfig.slice() as unknown) as AppConfig[]; + const configs = appConfig.slice() as unknown as AppConfig[]; // Avoiding this string also being replaced at runtime if ( diff --git a/packages/core-app-api/src/app/types.ts b/packages/core-app-api/src/app/types.ts index 836f1b7fb0..30ce45abe9 100644 --- a/packages/core-app-api/src/app/types.ts +++ b/packages/core-app-api/src/app/types.ts @@ -105,14 +105,14 @@ type KeysWithType = { */ type PartialKeys< Map extends { [name in string]: any }, - Keys extends keyof Map + Keys extends keyof Map, > = Partial> & Required>; /** * Creates a map of target routes with matching parameters based on a map of external routes. */ type TargetRouteMap< - ExternalRoutes extends { [name: string]: ExternalRouteRef } + ExternalRoutes extends { [name: string]: ExternalRouteRef }, > = { [name in keyof ExternalRoutes]: ExternalRoutes[name] extends ExternalRouteRef< infer Params, @@ -123,7 +123,7 @@ type TargetRouteMap< }; export type AppRouteBinder = < - ExternalRoutes extends { [name: string]: ExternalRouteRef } + ExternalRoutes extends { [name: string]: ExternalRouteRef }, >( externalRoutes: ExternalRoutes, targetRoutes: PartialKeys< diff --git a/packages/core-app-api/src/extensions/extensions.tsx b/packages/core-app-api/src/extensions/extensions.tsx index 063f34c659..199430c619 100644 --- a/packages/core-app-api/src/extensions/extensions.tsx +++ b/packages/core-app-api/src/extensions/extensions.tsx @@ -28,7 +28,7 @@ const ERROR_MESSAGE = 'Import this from @backstage/core-plugin-api'; /** @deprecated Import from @backstage/core-plugin-api instead */ export function createRoutableExtension< - T extends (props: any) => JSX.Element | null + T extends (props: any) => JSX.Element | null, >(_options: { component: () => Promise; mountPoint: RouteRef; @@ -38,14 +38,14 @@ export function createRoutableExtension< /** @deprecated Import from @backstage/core-plugin-api instead */ export function createComponentExtension< - T extends (props: any) => JSX.Element | null + T extends (props: any) => JSX.Element | null, >(_options: { component: ComponentLoader }): Extension { throw new Error(ERROR_MESSAGE); } /** @deprecated Import from @backstage/core-plugin-api instead */ export function createReactExtension< - T extends (props: any) => JSX.Element | null + T extends (props: any) => JSX.Element | null, >(_options: { component: ComponentLoader; data?: Record; diff --git a/packages/core-app-api/src/lib/AuthConnector/DefaultAuthConnector.test.ts b/packages/core-app-api/src/lib/AuthConnector/DefaultAuthConnector.test.ts index 524a0c5709..ce5df9fc91 100644 --- a/packages/core-app-api/src/lib/AuthConnector/DefaultAuthConnector.test.ts +++ b/packages/core-app-api/src/lib/AuthConnector/DefaultAuthConnector.test.ts @@ -126,8 +126,7 @@ describe('DefaultAuthConnector', () => { expect(popupSpy).toBeCalledTimes(1); expect(popupSpy.mock.calls[0][0]).toMatchObject({ - url: - 'http://my-host/api/auth/my-provider/start?scope=a%20b&env=production', + url: 'http://my-host/api/auth/my-provider/start?scope=a%20b&env=production', }); await expect(sessionPromise).resolves.toEqual({ @@ -175,8 +174,7 @@ describe('DefaultAuthConnector', () => { expect(popupSpy).toBeCalledTimes(1); expect(popupSpy.mock.calls[0][0]).toMatchObject({ - url: - 'http://my-host/api/auth/my-provider/start?scope=-ab-&env=production', + url: 'http://my-host/api/auth/my-provider/start?scope=-ab-&env=production', }); }); }); diff --git a/packages/core-app-api/src/lib/AuthConnector/DefaultAuthConnector.ts b/packages/core-app-api/src/lib/AuthConnector/DefaultAuthConnector.ts index 81da04010c..d707acdc9b 100644 --- a/packages/core-app-api/src/lib/AuthConnector/DefaultAuthConnector.ts +++ b/packages/core-app-api/src/lib/AuthConnector/DefaultAuthConnector.ts @@ -61,7 +61,8 @@ function defaultJoinScopes(scopes: Set) { * via the OAuthRequestApi. */ export class DefaultAuthConnector - implements AuthConnector { + implements AuthConnector +{ private readonly discoveryApi: DiscoveryApi; private readonly environment: string; private readonly provider: AuthProvider & { id: string }; diff --git a/packages/core-app-api/src/lib/loginPopup.test.ts b/packages/core-app-api/src/lib/loginPopup.test.ts index 1eb7c3f8b9..db4d9eb8eb 100644 --- a/packages/core-app-api/src/lib/loginPopup.test.ts +++ b/packages/core-app-api/src/lib/loginPopup.test.ts @@ -30,8 +30,7 @@ describe('showLoginPopup', () => { const removeEventListenerSpy = jest.spyOn(window, 'removeEventListener'); const payloadPromise = showLoginPopup({ - url: - 'my-origin/api/backend/auth/start?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fa%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fb', + url: 'my-origin/api/backend/auth/start?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fa%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fb', name: 'test-popup', origin: 'my-origin', }); diff --git a/packages/core-app-api/src/lib/subjects.ts b/packages/core-app-api/src/lib/subjects.ts index 0391050bda..e122da819b 100644 --- a/packages/core-app-api/src/lib/subjects.ts +++ b/packages/core-app-api/src/lib/subjects.ts @@ -29,7 +29,8 @@ import ObservableImpl from 'zen-observable'; * See http://reactivex.io/documentation/subject.html */ export class PublishSubject - implements Observable, ZenObservable.SubscriptionObserver { + implements Observable, ZenObservable.SubscriptionObserver +{ private isClosed = false; private terminatingError?: Error; @@ -121,7 +122,8 @@ export class PublishSubject * See http://reactivex.io/documentation/subject.html */ export class BehaviorSubject - implements Observable, ZenObservable.SubscriptionObserver { + implements Observable, ZenObservable.SubscriptionObserver +{ private isClosed = false; private currentValue: T; private terminatingError?: Error; diff --git a/packages/core-app-api/src/lib/versionedValues.ts b/packages/core-app-api/src/lib/versionedValues.ts index 3d0a4a41ae..3b3064fc7e 100644 --- a/packages/core-app-api/src/lib/versionedValues.ts +++ b/packages/core-app-api/src/lib/versionedValues.ts @@ -29,7 +29,7 @@ export type VersionedValue = { * Creates a container for a map of versioned values that implements VersionedValue. */ export function createVersionedValueMap< - Versions extends { [version: number]: any } + Versions extends { [version: number]: any }, >(versions: Versions): VersionedValue { Object.freeze(versions); return { diff --git a/packages/core-app-api/src/routing/FlatRoutes.test.tsx b/packages/core-app-api/src/routing/FlatRoutes.test.tsx index d5201a6f57..0df296cc59 100644 --- a/packages/core-app-api/src/routing/FlatRoutes.test.tsx +++ b/packages/core-app-api/src/routing/FlatRoutes.test.tsx @@ -37,11 +37,11 @@ function makeRouteRenderer(node: ReactNode) { ({ NotFoundErrorPage: () => <>Not Found, }), - } as unknown) as AppContext + } as unknown as AppContext } > diff --git a/packages/core-app-api/src/routing/RoutingProvider.test.tsx b/packages/core-app-api/src/routing/RoutingProvider.test.tsx index 499b81a743..1b21dad5a6 100644 --- a/packages/core-app-api/src/routing/RoutingProvider.test.tsx +++ b/packages/core-app-api/src/routing/RoutingProvider.test.tsx @@ -330,9 +330,10 @@ describe('discovery', () => { }); describe('v1 consumer', () => { - const RoutingContext = getGlobalSingleton< - Context> - >('routing-context'); + const RoutingContext = + getGlobalSingleton>>( + 'routing-context', + ); function useMockRouteRefV1( routeRef: AnyRouteRef, diff --git a/packages/core-app-api/src/routing/types.ts b/packages/core-app-api/src/routing/types.ts index 6561a0da70..a12e914aba 100644 --- a/packages/core-app-api/src/routing/types.ts +++ b/packages/core-app-api/src/routing/types.ts @@ -75,7 +75,7 @@ export function isSubRouteRef( export function isExternalRouteRef< Params extends AnyParams, - Optional extends boolean + Optional extends boolean, >( routeRef: | RouteRef diff --git a/packages/core-components/src/components/DependencyGraph/DefaultNode.tsx b/packages/core-components/src/components/DependencyGraph/DefaultNode.tsx index c93651e3e0..69269d687d 100644 --- a/packages/core-components/src/components/DependencyGraph/DefaultNode.tsx +++ b/packages/core-components/src/components/DependencyGraph/DefaultNode.tsx @@ -38,10 +38,8 @@ export function DefaultNode({ node: { id } }: RenderNodeProps) { React.useLayoutEffect(() => { // set the width to the length of the ID if (idRef.current) { - let { - height: renderedHeight, - width: renderedWidth, - } = idRef.current.getBBox(); + let { height: renderedHeight, width: renderedWidth } = + idRef.current.getBBox(); renderedHeight = Math.round(renderedHeight); renderedWidth = Math.round(renderedWidth); diff --git a/packages/core-components/src/components/DependencyGraph/DependencyGraph.tsx b/packages/core-components/src/components/DependencyGraph/DependencyGraph.tsx index 89f7421d2a..bf018b13c8 100644 --- a/packages/core-components/src/components/DependencyGraph/DependencyGraph.tsx +++ b/packages/core-components/src/components/DependencyGraph/DependencyGraph.tsx @@ -132,10 +132,8 @@ export function DependencyGraph({ container.call(zoom); - const { - width: newContainerWidth, - height: newContainerHeight, - } = node.getBoundingClientRect(); + const { width: newContainerWidth, height: newContainerHeight } = + node.getBoundingClientRect(); if (containerWidth !== newContainerWidth) { setContainerWidth(newContainerWidth); } diff --git a/packages/core-components/src/components/DependencyGraph/Edge.tsx b/packages/core-components/src/components/DependencyGraph/Edge.tsx index 4e4c5ca5f7..e0f19d3536 100644 --- a/packages/core-components/src/components/DependencyGraph/Edge.tsx +++ b/packages/core-components/src/components/DependencyGraph/Edge.tsx @@ -71,10 +71,8 @@ export function Edge({ React.useLayoutEffect(() => { // set the label width to the actual rendered width to properly layout graph if (labelRef.current) { - let { - height: renderedHeight, - width: renderedWidth, - } = labelRef.current.getBBox(); + let { height: renderedHeight, width: renderedWidth } = + labelRef.current.getBBox(); renderedHeight = Math.round(renderedHeight); renderedWidth = Math.round(renderedWidth); diff --git a/packages/core-components/src/components/DependencyGraph/Node.tsx b/packages/core-components/src/components/DependencyGraph/Node.tsx index d9e8cbfb78..a5e1a62f09 100644 --- a/packages/core-components/src/components/DependencyGraph/Node.tsx +++ b/packages/core-components/src/components/DependencyGraph/Node.tsx @@ -46,10 +46,8 @@ export function Node({ React.useLayoutEffect(() => { // set the node width to the actual rendered width to properly layout graph if (nodeRef.current) { - let { - height: renderedHeight, - width: renderedWidth, - } = nodeRef.current.getBBox(); + let { height: renderedHeight, width: renderedWidth } = + nodeRef.current.getBBox(); renderedHeight = Math.round(renderedHeight); renderedWidth = Math.round(renderedWidth); diff --git a/packages/core-components/src/components/FeatureDiscovery/lib/useShowCallout.ts b/packages/core-components/src/components/FeatureDiscovery/lib/useShowCallout.ts index 617f1324ed..a507d210a7 100644 --- a/packages/core-components/src/components/FeatureDiscovery/lib/useShowCallout.ts +++ b/packages/core-components/src/components/FeatureDiscovery/lib/useShowCallout.ts @@ -38,9 +38,10 @@ function useCalloutStates(): { return { states, setState }; } -function useCalloutHasBeenSeen( - featureId: string, -): { seen: boolean | undefined; markSeen: () => void } { +function useCalloutHasBeenSeen(featureId: string): { + seen: boolean | undefined; + markSeen: () => void; +} { const { states, setState } = useCalloutStates(); const markSeen = useCallback(() => { @@ -50,9 +51,10 @@ function useCalloutHasBeenSeen( return { seen: states[featureId] === true, markSeen }; } -export function useShowCallout( - featureId: string, -): { show: boolean; hide: () => void } { +export function useShowCallout(featureId: string): { + show: boolean; + hide: () => void; +} { const { seen, markSeen } = useCalloutHasBeenSeen(featureId); return { show: seen === false, hide: markSeen }; } diff --git a/packages/core-components/src/components/StructuredMetadataTable/MetadataTable.tsx b/packages/core-components/src/components/StructuredMetadataTable/MetadataTable.tsx index b7790e38da..5740ba9500 100644 --- a/packages/core-components/src/components/StructuredMetadataTable/MetadataTable.tsx +++ b/packages/core-components/src/components/StructuredMetadataTable/MetadataTable.tsx @@ -96,14 +96,14 @@ interface StyleProps extends WithStyles { children?: React.ReactNode; } -export const MetadataList = withStyles( - listStyles, -)(({ classes, children }: StyleProps) => ( -
    {children}
-)); +export const MetadataList = withStyles(listStyles)( + ({ classes, children }: StyleProps) => ( +
    {children}
+ ), +); -export const MetadataListItem = withStyles( - listItemStyles, -)(({ classes, children }: StyleProps) => ( -
  • {children}
  • -)); +export const MetadataListItem = withStyles(listItemStyles)( + ({ classes, children }: StyleProps) => ( +
  • {children}
  • + ), +); diff --git a/packages/core-components/src/components/StructuredMetadataTable/StructuredMetadataTable.tsx b/packages/core-components/src/components/StructuredMetadataTable/StructuredMetadataTable.tsx index af56cb5b89..9b08123d1b 100644 --- a/packages/core-components/src/components/StructuredMetadataTable/StructuredMetadataTable.tsx +++ b/packages/core-components/src/components/StructuredMetadataTable/StructuredMetadataTable.tsx @@ -44,16 +44,16 @@ interface StyleProps extends WithStyles { children?: React.ReactNode; } // Sub Components -const StyledList = withStyles( - listStyle, -)(({ classes, children }: StyleProps) => ( - {children} -)); -const StyledNestedList = withStyles( - nestedListStyle, -)(({ classes, children }: StyleProps) => ( - {children} -)); +const StyledList = withStyles(listStyle)( + ({ classes, children }: StyleProps) => ( + {children} + ), +); +const StyledNestedList = withStyles(nestedListStyle)( + ({ classes, children }: StyleProps) => ( + {children} + ), +); function renderList(list: Array, nested?: boolean) { const values = list.map((item: any, index: number) => ( diff --git a/packages/core-components/src/components/TabbedLayout/RoutedTabs.tsx b/packages/core-components/src/components/TabbedLayout/RoutedTabs.tsx index 531262544c..52a2c29e2d 100644 --- a/packages/core-components/src/components/TabbedLayout/RoutedTabs.tsx +++ b/packages/core-components/src/components/TabbedLayout/RoutedTabs.tsx @@ -20,9 +20,11 @@ import { Content } from '../../layout/Content'; import { HeaderTabs } from '../../layout/HeaderTabs'; import { SubRoute } from './types'; -export function useSelectedSubRoute( - subRoutes: SubRoute[], -): { index: number; route: SubRoute; element: JSX.Element } { +export function useSelectedSubRoute(subRoutes: SubRoute[]): { + index: number; + route: SubRoute; + element: JSX.Element; +} { const params = useParams(); const routes = subRoutes.map(({ path, children }) => ({ diff --git a/packages/core-components/src/components/Table/Table.tsx b/packages/core-components/src/components/Table/Table.tsx index 6e049d1b6a..22d8bff014 100644 --- a/packages/core-components/src/components/Table/Table.tsx +++ b/packages/core-components/src/components/Table/Table.tsx @@ -285,9 +285,10 @@ export function Table({ const [filtersOpen, setFiltersOpen] = useState( calculatedInitialState.filtersOpen, ); - const toggleFilters = useCallback(() => setFiltersOpen(v => !v), [ - setFiltersOpen, - ]); + const toggleFilters = useCallback( + () => setFiltersOpen(v => !v), + [setFiltersOpen], + ); const [selectedFiltersLength, setSelectedFiltersLength] = useState(0); const [tableData, setTableData] = useState(data as any[]); const [selectedFilters, setSelectedFilters] = useState( diff --git a/packages/core-components/src/hooks/useSupportConfig.ts b/packages/core-components/src/hooks/useSupportConfig.ts index 5bab9a3c6b..5d64e38f3d 100644 --- a/packages/core-components/src/hooks/useSupportConfig.ts +++ b/packages/core-components/src/hooks/useSupportConfig.ts @@ -42,8 +42,7 @@ const DEFAULT_SUPPORT_CONFIG: SupportConfig = { { // TODO: Update to dedicated support page on backstage.io/docs title: 'Add `app.support` config key', - url: - 'https://github.com/andrewthauer/backstage/blob/master/app-config.yaml', + url: 'https://github.com/andrewthauer/backstage/blob/master/app-config.yaml', }, ], }, diff --git a/packages/core-components/src/layout/ErrorBoundary/ErrorBoundary.test.tsx b/packages/core-components/src/layout/ErrorBoundary/ErrorBoundary.test.tsx index f8adb81a2a..a1c45bff4d 100644 --- a/packages/core-components/src/layout/ErrorBoundary/ErrorBoundary.test.tsx +++ b/packages/core-components/src/layout/ErrorBoundary/ErrorBoundary.test.tsx @@ -42,18 +42,14 @@ describe('', () => { it('should render error boundary with and without error', async () => { const { error } = await withLogCollector(['error'], async () => { const apis = ApiRegistry.with(errorApiRef, new MockErrorApi()); - const { - rerender, - queryByRole, - getByRole, - getByText, - } = await renderInTestApp( - - - - - , - ); + const { rerender, queryByRole, getByRole, getByText } = + await renderInTestApp( + + + + + , + ); expect(queryByRole('alert')).not.toBeInTheDocument(); expect(getByText(/working component/i)).toBeInTheDocument(); diff --git a/packages/core-components/src/layout/Sidebar/Intro.tsx b/packages/core-components/src/layout/Sidebar/Intro.tsx index 1d46239865..14c5d9e25a 100644 --- a/packages/core-components/src/layout/Sidebar/Intro.tsx +++ b/packages/core-components/src/layout/Sidebar/Intro.tsx @@ -133,10 +133,8 @@ export const SidebarIntro = () => { starredItemsDismissed: false, recentlyViewedItemsDismissed: false, }; - const [ - dismissedIntro, - setDismissedIntro, - ] = useLocalStorage(SIDEBAR_INTRO_LOCAL_STORAGE); + const [dismissedIntro, setDismissedIntro] = + useLocalStorage(SIDEBAR_INTRO_LOCAL_STORAGE); const { starredItemsDismissed, recentlyViewedItemsDismissed } = dismissedIntro ?? {}; diff --git a/packages/core-plugin-api/api-report.md b/packages/core-plugin-api/api-report.md index da9fec915c..b87e4511d2 100644 --- a/packages/core-plugin-api/api-report.md +++ b/packages/core-plugin-api/api-report.md @@ -58,7 +58,7 @@ export type ApiFactory< Impl extends Api, Deps extends { [name in string]: unknown; - } + }, > = { api: ApiRef; deps: TypesToApiRefs; @@ -86,7 +86,7 @@ export type ApiRef = { export type ApiRefsToTypes< T extends { [key in string]: ApiRef; - } + }, > = { [key in keyof T]: ApiRefType; }; @@ -216,7 +216,7 @@ export type BackstageIdentityApi = { // @public (undocumented) export type BackstagePlugin< Routes extends AnyRoutes = {}, - ExternalRoutes extends AnyExternalRoutes = {} + ExternalRoutes extends AnyExternalRoutes = {}, > = { getId(): string; output(): PluginOutput[]; @@ -253,7 +253,7 @@ export function createApiFactory< Impl extends Api, Deps extends { [name in string]: unknown; - } + }, >(factory: ApiFactory): ApiFactory; // @public (undocumented) @@ -272,7 +272,7 @@ export function createApiRef(config: ApiRefConfig): ApiRef; // // @public (undocumented) export function createComponentExtension< - T extends (props: any) => JSX.Element | null + T extends (props: any) => JSX.Element | null, >(options: { component: ComponentLoader }): Extension; // Warning: (ae-forgotten-export) The symbol "OptionalParams" needs to be exported by the entry point index.d.ts @@ -284,7 +284,7 @@ export function createExternalRouteRef< [param in ParamKey]: string; }, Optional extends boolean = false, - ParamKey extends string = never + ParamKey extends string = never, >(options: { id: string; params?: ParamKey[]; @@ -296,7 +296,7 @@ export function createExternalRouteRef< // @public (undocumented) export function createPlugin< Routes extends AnyRoutes = {}, - ExternalRoutes extends AnyExternalRoutes = {} + ExternalRoutes extends AnyExternalRoutes = {}, >( config: PluginConfig, ): BackstagePlugin; @@ -305,7 +305,7 @@ export function createPlugin< // // @public (undocumented) export function createReactExtension< - T extends (props: any) => JSX.Element | null + T extends (props: any) => JSX.Element | null, >(options: { component: ComponentLoader; data?: Record; @@ -315,7 +315,7 @@ export function createReactExtension< // // @public (undocumented) export function createRoutableExtension< - T extends (props: any) => JSX.Element | null + T extends (props: any) => JSX.Element | null, >(options: { component: () => Promise; mountPoint: RouteRef }): Extension; // Warning: (ae-missing-release-tag) "createRouteRef" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) @@ -325,7 +325,7 @@ export function createRouteRef< Params extends { [param in ParamKey]: string; }, - ParamKey extends string = never + ParamKey extends string = never, >(config: { id?: string; params?: ParamKey[]; @@ -342,7 +342,7 @@ export function createRouteRef< // @public (undocumented) export function createSubRouteRef< Path extends string, - ParentParams extends AnyParams = never + ParentParams extends AnyParams = never, >(config: { id: string; path: Path; @@ -369,7 +369,7 @@ export interface ElementCollection { getElements< Props extends { [name: string]: unknown; - } + }, >(): Array>; selectByComponentData(query: { key: string; @@ -421,7 +421,7 @@ export type Extension = { // @public (undocumented) export type ExternalRouteRef< Params extends AnyParams = any, - Optional extends boolean = any + Optional extends boolean = any, > = { readonly [routeRefType]: 'external'; params: ParamKeys; @@ -667,7 +667,7 @@ export type PendingAuthRequest = { // @public (undocumented) export type PluginConfig< Routes extends AnyRoutes, - ExternalRoutes extends AnyExternalRoutes + ExternalRoutes extends AnyExternalRoutes, > = { id: string; apis?: Iterable; @@ -885,9 +885,7 @@ export function useRouteRefParams( // Warning: (ae-missing-release-tag) "withApis" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -export function withApis( - apis: TypesToApiRefs, -):

    ( +export function withApis(apis: TypesToApiRefs):

    ( WrappedComponent: React_2.ComponentType

    , ) => { (props: React_2.PropsWithChildren>): JSX.Element; diff --git a/packages/core-plugin-api/src/apis/system/helpers.ts b/packages/core-plugin-api/src/apis/system/helpers.ts index 8e84dd6c09..547d583482 100644 --- a/packages/core-plugin-api/src/apis/system/helpers.ts +++ b/packages/core-plugin-api/src/apis/system/helpers.ts @@ -24,7 +24,7 @@ import { ApiRef, ApiFactory, TypesToApiRefs } from './types'; export function createApiFactory< Api, Impl extends Api, - Deps extends { [name in string]: unknown } + Deps extends { [name in string]: unknown }, >(factory: ApiFactory): ApiFactory; export function createApiFactory( api: ApiRef, @@ -33,7 +33,7 @@ export function createApiFactory( export function createApiFactory< Api, Impl extends Api, - Deps extends { [name in string]: unknown } + Deps extends { [name in string]: unknown }, >( factory: ApiFactory | ApiRef, instance?: Impl, diff --git a/packages/core-plugin-api/src/apis/system/types.ts b/packages/core-plugin-api/src/apis/system/types.ts index e805b6f255..a97d29fdaa 100644 --- a/packages/core-plugin-api/src/apis/system/types.ts +++ b/packages/core-plugin-api/src/apis/system/types.ts @@ -36,7 +36,7 @@ export type ApiHolder = { export type ApiFactory< Api, Impl extends Api, - Deps extends { [name in string]: unknown } + Deps extends { [name in string]: unknown }, > = { api: ApiRef; deps: TypesToApiRefs; diff --git a/packages/core-plugin-api/src/app/useApp.tsx b/packages/core-plugin-api/src/app/useApp.tsx index 1d17fb2d0f..aa323db4e2 100644 --- a/packages/core-plugin-api/src/app/useApp.tsx +++ b/packages/core-plugin-api/src/app/useApp.tsx @@ -18,9 +18,8 @@ import { useVersionedContext } from '../lib/versionedValues'; import { AppContext as AppContextV1 } from './types'; export const useApp = (): AppContextV1 => { - const versionedContext = useVersionedContext<{ 1: AppContextV1 }>( - 'app-context', - ); + const versionedContext = + useVersionedContext<{ 1: AppContextV1 }>('app-context'); const appContext = versionedContext.atVersion(1); if (!appContext) { throw new Error('AppContext v1 not available'); diff --git a/packages/core-plugin-api/src/extensions/extensions.tsx b/packages/core-plugin-api/src/extensions/extensions.tsx index 5142dccc55..73b927afc8 100644 --- a/packages/core-plugin-api/src/extensions/extensions.tsx +++ b/packages/core-plugin-api/src/extensions/extensions.tsx @@ -33,7 +33,7 @@ type ComponentLoader = // ComponentType inserts children as an optional prop whether the inner component accepts it or not, // making it impossible to make the usage of children type safe. export function createRoutableExtension< - T extends (props: any) => JSX.Element | null + T extends (props: any) => JSX.Element | null, >(options: { component: () => Promise; mountPoint: RouteRef; @@ -91,7 +91,7 @@ export function createRoutableExtension< // ComponentType inserts children as an optional prop whether the inner component accepts it or not, // making it impossible to make the usage of children type safe. export function createComponentExtension< - T extends (props: any) => JSX.Element | null + T extends (props: any) => JSX.Element | null, >(options: { component: ComponentLoader }): Extension { const { component } = options; return createReactExtension({ component }); @@ -101,7 +101,7 @@ export function createComponentExtension< // ComponentType inserts children as an optional prop whether the inner component accepts it or not, // making it impossible to make the usage of children type safe. export function createReactExtension< - T extends (props: any) => JSX.Element | null + T extends (props: any) => JSX.Element | null, >(options: { component: ComponentLoader; data?: Record; @@ -111,9 +111,9 @@ export function createReactExtension< let Component: T; if ('lazy' in options.component) { const lazyLoader = options.component.lazy; - Component = (lazy(() => + Component = lazy(() => lazyLoader().then(component => ({ default: component })), - ) as unknown) as T; + ) as unknown as T; } else { Component = options.component.sync; } diff --git a/packages/core-plugin-api/src/lib/versionedValues.ts b/packages/core-plugin-api/src/lib/versionedValues.ts index a7b7d8e3b7..7686842ecd 100644 --- a/packages/core-plugin-api/src/lib/versionedValues.ts +++ b/packages/core-plugin-api/src/lib/versionedValues.ts @@ -32,7 +32,7 @@ export type VersionedValue = { * Creates a container for a map of versioned values that implements VersionedValue. */ export function createVersionedValueMap< - Versions extends { [version: number]: any } + Versions extends { [version: number]: any }, >(versions: Versions): VersionedValue { Object.freeze(versions); return { @@ -43,7 +43,7 @@ export function createVersionedValueMap< } export function useVersionedContext< - Versions extends { [version in number]: any } + Versions extends { [version in number]: any }, >(key: string): VersionedValue { const versionedValue = useContext( getGlobalSingleton>>(key), diff --git a/packages/core-plugin-api/src/plugin/Plugin.tsx b/packages/core-plugin-api/src/plugin/Plugin.tsx index abf4bfa35c..53a53b76d0 100644 --- a/packages/core-plugin-api/src/plugin/Plugin.tsx +++ b/packages/core-plugin-api/src/plugin/Plugin.tsx @@ -26,8 +26,9 @@ import { AnyApiFactory } from '../apis'; export class PluginImpl< Routes extends AnyRoutes, - ExternalRoutes extends AnyExternalRoutes -> implements BackstagePlugin { + ExternalRoutes extends AnyExternalRoutes, +> implements BackstagePlugin +{ private storedOutput?: PluginOutput[]; constructor(private readonly config: PluginConfig) {} @@ -81,7 +82,7 @@ export class PluginImpl< export function createPlugin< Routes extends AnyRoutes = {}, - ExternalRoutes extends AnyExternalRoutes = {} + ExternalRoutes extends AnyExternalRoutes = {}, >( config: PluginConfig, ): BackstagePlugin { diff --git a/packages/core-plugin-api/src/plugin/types.ts b/packages/core-plugin-api/src/plugin/types.ts index 23ff4594a5..b3e1043efd 100644 --- a/packages/core-plugin-api/src/plugin/types.ts +++ b/packages/core-plugin-api/src/plugin/types.ts @@ -42,7 +42,7 @@ export type AnyExternalRoutes = { [name: string]: ExternalRouteRef }; export type BackstagePlugin< Routes extends AnyRoutes = {}, - ExternalRoutes extends AnyExternalRoutes = {} + ExternalRoutes extends AnyExternalRoutes = {}, > = { getId(): string; output(): PluginOutput[]; @@ -54,7 +54,7 @@ export type BackstagePlugin< export type PluginConfig< Routes extends AnyRoutes, - ExternalRoutes extends AnyExternalRoutes + ExternalRoutes extends AnyExternalRoutes, > = { id: string; apis?: Iterable; diff --git a/packages/core-plugin-api/src/routing/ExternalRouteRef.ts b/packages/core-plugin-api/src/routing/ExternalRouteRef.ts index 348c78220f..401e34773c 100644 --- a/packages/core-plugin-api/src/routing/ExternalRouteRef.ts +++ b/packages/core-plugin-api/src/routing/ExternalRouteRef.ts @@ -24,8 +24,9 @@ import { export class ExternalRouteRefImpl< Params extends AnyParams, - Optional extends boolean -> implements ExternalRouteRef { + Optional extends boolean, +> implements ExternalRouteRef +{ readonly [routeRefType] = 'external'; constructor( @@ -42,7 +43,7 @@ export class ExternalRouteRefImpl< export function createExternalRouteRef< Params extends { [param in ParamKey]: string }, Optional extends boolean = false, - ParamKey extends string = never + ParamKey extends string = never, >(options: { /** * An identifier for this route, used to identify it in error messages diff --git a/packages/core-plugin-api/src/routing/RouteRef.ts b/packages/core-plugin-api/src/routing/RouteRef.ts index 0239b57c25..31dd9ef518 100644 --- a/packages/core-plugin-api/src/routing/RouteRef.ts +++ b/packages/core-plugin-api/src/routing/RouteRef.ts @@ -32,7 +32,8 @@ export type RouteRefConfig = { }; export class RouteRefImpl - implements RouteRef { + implements RouteRef +{ readonly [routeRefType] = 'absolute'; constructor( @@ -70,7 +71,7 @@ export function createRouteRef< // ParamKey is here to make sure the Params type properly has its keys narrowed down // to only the elements of params. Defaulting to never makes sure we end up with // Param = {} if the params array is empty. - ParamKey extends string = never + ParamKey extends string = never, >(config: { /** The id of the route ref, used to identify it when printed */ id?: string; diff --git a/packages/core-plugin-api/src/routing/SubRouteRef.ts b/packages/core-plugin-api/src/routing/SubRouteRef.ts index f7e5cf0bc5..6b329dfd42 100644 --- a/packages/core-plugin-api/src/routing/SubRouteRef.ts +++ b/packages/core-plugin-api/src/routing/SubRouteRef.ts @@ -27,7 +27,8 @@ import { const PARAM_PATTERN = /^\w+$/; export class SubRouteRefImpl - implements SubRouteRef { + implements SubRouteRef +{ readonly [routeRefType] = 'sub'; constructor( @@ -55,7 +56,7 @@ type PathParams = { [name in ParamNames]: string }; */ type MergeParams< P1 extends { [param in string]: string }, - P2 extends AnyParams + P2 extends AnyParams, > = (P1[keyof P1] extends never ? {} : P1) & (P2 extends undefined ? {} : P2); /** @@ -64,14 +65,14 @@ type MergeParams< */ type MakeSubRouteRef< Params extends { [param in string]: string }, - ParentParams extends AnyParams + ParentParams extends AnyParams, > = keyof Params & keyof ParentParams extends never ? SubRouteRef>> : never; export function createSubRouteRef< Path extends string, - ParentParams extends AnyParams = never + ParentParams extends AnyParams = never, >(config: { id: string; path: Path; diff --git a/packages/core-plugin-api/src/routing/types.ts b/packages/core-plugin-api/src/routing/types.ts index 9ea1e3ff0d..5afcc72265 100644 --- a/packages/core-plugin-api/src/routing/types.ts +++ b/packages/core-plugin-api/src/routing/types.ts @@ -21,9 +21,8 @@ export type AnyParams = { [param in string]: string } | undefined; export type ParamKeys = keyof Params extends never ? [] : (keyof Params)[]; -export type OptionalParams< - Params extends { [param in string]: string } -> = Params[keyof Params] extends never ? undefined : Params; +export type OptionalParams = + Params[keyof Params] extends never ? undefined : Params; // The extra TS magic here is to require a single params argument if the RouteRef // had at least one param defined, but require 0 arguments if there are no params defined. @@ -65,7 +64,7 @@ export type SubRouteRef = { export type ExternalRouteRef< Params extends AnyParams = any, - Optional extends boolean = any + Optional extends boolean = any, > = { readonly [routeRefType]: 'external'; diff --git a/packages/core-plugin-api/src/routing/useRouteRef.tsx b/packages/core-plugin-api/src/routing/useRouteRef.tsx index 4447759b99..ed261489a4 100644 --- a/packages/core-plugin-api/src/routing/useRouteRef.tsx +++ b/packages/core-plugin-api/src/routing/useRouteRef.tsx @@ -48,9 +48,8 @@ export function useRouteRef( | ExternalRouteRef, ): RouteFunc | undefined { const sourceLocation = useLocation(); - const versionedContext = useVersionedContext<{ 1: RouteResolver }>( - 'routing-context', - ); + const versionedContext = + useVersionedContext<{ 1: RouteResolver }>('routing-context'); const resolver = versionedContext.atVersion(1); const routeFunc = useMemo( () => resolver && resolver.resolve(routeRef, sourceLocation), diff --git a/packages/dev-utils/src/devApp/render.tsx b/packages/dev-utils/src/devApp/render.tsx index e6338cd467..661a93e8b0 100644 --- a/packages/dev-utils/src/devApp/render.tsx +++ b/packages/dev-utils/src/devApp/render.tsx @@ -96,7 +96,7 @@ class DevAppBuilder { registerApi< Api, Impl extends Api, - Deps extends { [name in string]: unknown } + Deps extends { [name in string]: unknown }, >(factory: ApiFactory): DevAppBuilder { this.apis.push(factory); return this; diff --git a/packages/docgen/src/docgen/ApiDocGenerator.test.ts b/packages/docgen/src/docgen/ApiDocGenerator.test.ts index 2d6598b925..ea053b1ef4 100644 --- a/packages/docgen/src/docgen/ApiDocGenerator.test.ts +++ b/packages/docgen/src/docgen/ApiDocGenerator.test.ts @@ -186,8 +186,7 @@ describe('ApiDocGenerator', () => { type: 'method', name: 'z', path: 'MyApiType.z', - text: - 'z(a: Promise): Array', + text: 'z(a: Promise): Array', docs: ['Multiple', 'JsDoc', 'Comments'], links: [ { diff --git a/packages/docgen/src/docgen/ApiDocGenerator.ts b/packages/docgen/src/docgen/ApiDocGenerator.ts index 3199b2ddf3..32216745a2 100644 --- a/packages/docgen/src/docgen/ApiDocGenerator.ts +++ b/packages/docgen/src/docgen/ApiDocGenerator.ts @@ -127,9 +127,9 @@ export default class ApiDocGenerator { ); const docs = this.getNodeDocs(declaration); - const membersAndTypes = Array.from( - interfaceMembers.values(), - ).flatMap(fieldSymbol => this.getMemberInfo(name, fieldSymbol)); + const membersAndTypes = Array.from(interfaceMembers.values()).flatMap( + fieldSymbol => this.getMemberInfo(name, fieldSymbol), + ); const members = membersAndTypes.map(t => t.member); const dependentTypes = this.flattenTypes( @@ -174,9 +174,8 @@ export default class ApiDocGenerator { ): { member: FieldInfo; dependentTypes: TypeInfo[] } { const declaration = symbol.valueDeclaration; - const { links, infos: dependentTypes } = this.findAllTypeReferences( - declaration, - ); + const { links, infos: dependentTypes } = + this.findAllTypeReferences(declaration); let type: FieldInfo['type'] = 'prop'; if ( diff --git a/packages/docgen/src/docgen/TypeLocator.ts b/packages/docgen/src/docgen/TypeLocator.ts index 984724e667..30d240da3d 100644 --- a/packages/docgen/src/docgen/TypeLocator.ts +++ b/packages/docgen/src/docgen/TypeLocator.ts @@ -92,9 +92,7 @@ export default class TypeLocator { return result as { [key in T]: ExportedInstance[] }; } - private getExportedConstructorDeclaration( - node: ts.Node, - ): + private getExportedConstructorDeclaration(node: ts.Node): | { constructorType: ts.Type; args: ts.Expression[]; diff --git a/packages/docgen/src/docgen/TypescriptHighlighter.ts b/packages/docgen/src/docgen/TypescriptHighlighter.ts index a48e17ba66..ab70ea8110 100644 --- a/packages/docgen/src/docgen/TypescriptHighlighter.ts +++ b/packages/docgen/src/docgen/TypescriptHighlighter.ts @@ -78,9 +78,10 @@ export default class TypescriptHighlighter implements Highlighter { // Order here is important, e.g. comments must be first to avoid string literals inside comments being highlighted return TypescriptHighlighter.highlighters - .reduce((parts, highlighter) => parts.flatMap(painter(...highlighter)), [ - { text: fullText }, - ]) + .reduce( + (parts, highlighter) => parts.flatMap(painter(...highlighter)), + [{ text: fullText }], + ) .map(({ text }) => text) .join(''); } diff --git a/packages/e2e-test/src/commands/run.ts b/packages/e2e-test/src/commands/run.ts index 94bb1dd7f5..dde93341ef 100644 --- a/packages/e2e-test/src/commands/run.ts +++ b/packages/e2e-test/src/commands/run.ts @@ -403,14 +403,9 @@ async function testBackendStart(appDir: string, isPostgres: boolean) { if (isPostgres) { print('Dropping old DBs'); await Promise.all( - [ - 'catalog', - 'scaffolder', - 'auth', - 'identity', - 'proxy', - 'techdocs', - ].map(name => dropDB(`backstage_plugin_${name}`)), + ['catalog', 'scaffolder', 'auth', 'identity', 'proxy', 'techdocs'].map( + name => dropDB(`backstage_plugin_${name}`), + ), ); print('Created DBs'); } diff --git a/packages/e2e-test/src/lib/helpers.ts b/packages/e2e-test/src/lib/helpers.ts index 2485e46b31..d0e6de2cff 100644 --- a/packages/e2e-test/src/lib/helpers.ts +++ b/packages/e2e-test/src/lib/helpers.ts @@ -24,7 +24,8 @@ import { promisify } from 'util'; const execFile = promisify(execFileCb); -const EXPECTED_LOAD_ERRORS = /ECONNREFUSED|ECONNRESET|did not get to load all resources/; +const EXPECTED_LOAD_ERRORS = + /ECONNREFUSED|ECONNRESET|did not get to load all resources/; export function spawnPiped(cmd: string[], options?: SpawnOptions) { function pipeWithPrefix(stream: NodeJS.WriteStream, prefix = '') { diff --git a/packages/integration-react/src/api/ScmIntegrationsApi.ts b/packages/integration-react/src/api/ScmIntegrationsApi.ts index 982989540a..6bf2ba8a6d 100644 --- a/packages/integration-react/src/api/ScmIntegrationsApi.ts +++ b/packages/integration-react/src/api/ScmIntegrationsApi.ts @@ -27,9 +27,8 @@ export class ScmIntegrationsApi { } } -export const scmIntegrationsApiRef: ApiRef = createApiRef( - { +export const scmIntegrationsApiRef: ApiRef = + createApiRef({ id: 'integration.scmintegrations', description: 'All of the registered SCM integrations of your config', - }, -); + }); diff --git a/packages/integration/src/azure/AzureIntegration.test.ts b/packages/integration/src/azure/AzureIntegration.test.ts index 654ce47836..80cc68047f 100644 --- a/packages/integration/src/azure/AzureIntegration.test.ts +++ b/packages/integration/src/azure/AzureIntegration.test.ts @@ -51,8 +51,7 @@ describe('AzureIntegration', () => { expect( integration.resolveUrl({ url: '../a.yaml', - base: - 'https://dev.azure.com/organization/project/_git/repository?path=%2Ffolder%2Fcatalog-info.yaml', + base: 'https://dev.azure.com/organization/project/_git/repository?path=%2Ffolder%2Fcatalog-info.yaml', }), ).toBe( 'https://dev.azure.com/organization/project/_git/repository?path=%2Fa.yaml', @@ -61,8 +60,7 @@ describe('AzureIntegration', () => { expect( integration.resolveUrl({ url: '/a.yaml', - base: - 'https://dev.azure.com/organization/project/_git/repository?path=%2Ffolder%2Fcatalog-info.yaml', + base: 'https://dev.azure.com/organization/project/_git/repository?path=%2Ffolder%2Fcatalog-info.yaml', lineNumber: 14, }), ).toBe( @@ -81,8 +79,7 @@ describe('AzureIntegration', () => { expect( integration.resolveUrl({ url: 'https://absolute.com/path', - base: - 'https://dev.azure.com/organization/project/_git/repository?path=%2Fcatalog-info.yaml', + base: 'https://dev.azure.com/organization/project/_git/repository?path=%2Fcatalog-info.yaml', }), ).toBe('https://absolute.com/path'); }); diff --git a/packages/integration/src/azure/core.test.ts b/packages/integration/src/azure/core.test.ts index ab5a4bc700..9937008b61 100644 --- a/packages/integration/src/azure/core.test.ts +++ b/packages/integration/src/azure/core.test.ts @@ -43,26 +43,22 @@ describe('azure core', () => { describe('getAzureFileFetchUrl', () => { it.each([ { - url: - 'https://dev.azure.com/org-name/project-name/_git/repo-name?path=my-template.yaml&version=GBmaster', + url: 'https://dev.azure.com/org-name/project-name/_git/repo-name?path=my-template.yaml&version=GBmaster', result: 'https://dev.azure.com/org-name/project-name/_apis/git/repositories/repo-name/items?path=my-template.yaml&version=master', }, { - url: - 'https://dev.azure.com/org-name/project-name/_git/repo-name?path=my-template.yaml', + url: 'https://dev.azure.com/org-name/project-name/_git/repo-name?path=my-template.yaml', result: 'https://dev.azure.com/org-name/project-name/_apis/git/repositories/repo-name/items?path=my-template.yaml', }, { - url: - 'https://api.com/org-name/project-name/_git/repo-name?path=my-template.yaml', + url: 'https://api.com/org-name/project-name/_git/repo-name?path=my-template.yaml', result: 'https://api.com/org-name/project-name/_apis/git/repositories/repo-name/items?path=my-template.yaml', }, { - url: - 'https://api.com/org-name/project-name/_git/repo-name?path=my-template.yaml&version=GBmaster', + url: 'https://api.com/org-name/project-name/_git/repo-name?path=my-template.yaml&version=GBmaster', result: 'https://api.com/org-name/project-name/_apis/git/repositories/repo-name/items?path=my-template.yaml&version=master', }, diff --git a/packages/integration/src/azure/core.ts b/packages/integration/src/azure/core.ts index 5aacc09700..18de5aa1d2 100644 --- a/packages/integration/src/azure/core.ts +++ b/packages/integration/src/azure/core.ts @@ -31,13 +31,8 @@ export function getAzureFileFetchUrl(url: string): string { try { const parsedUrl = new URL(url); - const [ - empty, - userOrOrg, - project, - srcKeyword, - repoName, - ] = parsedUrl.pathname.split('/'); + const [empty, userOrOrg, project, srcKeyword, repoName] = + parsedUrl.pathname.split('/'); const path = parsedUrl.searchParams.get('path') || ''; const ref = parsedUrl.searchParams.get('version')?.substr(2); @@ -117,13 +112,8 @@ export function getAzureCommitsUrl(url: string): string { try { const parsedUrl = new URL(url); - const [ - empty, - userOrOrg, - project, - srcKeyword, - repoName, - ] = parsedUrl.pathname.split('/'); + const [empty, userOrOrg, project, srcKeyword, repoName] = + parsedUrl.pathname.split('/'); // Remove the "GB" from "GBmain" for example. const ref = parsedUrl.searchParams.get('version')?.substr(2); diff --git a/packages/integration/src/github/GitHubIntegration.test.ts b/packages/integration/src/github/GitHubIntegration.test.ts index 416618e53b..efc1de782e 100644 --- a/packages/integration/src/github/GitHubIntegration.test.ts +++ b/packages/integration/src/github/GitHubIntegration.test.ts @@ -56,8 +56,7 @@ describe('GitHubIntegration', () => { expect( integration.resolveUrl({ url: '../a.yaml', - base: - 'https://github.com/backstage/backstage/blob/master/test/README.md', + base: 'https://github.com/backstage/backstage/blob/master/test/README.md', lineNumber: 17, }), ).toBe('https://github.com/backstage/backstage/tree/master/a.yaml#L17'); @@ -65,8 +64,7 @@ describe('GitHubIntegration', () => { expect( integration.resolveUrl({ url: './', - base: - 'https://github.com/backstage/backstage/blob/master/test/README.md', + base: 'https://github.com/backstage/backstage/blob/master/test/README.md', }), ).toBe('https://github.com/backstage/backstage/tree/master/test/'); }); diff --git a/packages/integration/src/github/GithubCredentialsProvider.test.ts b/packages/integration/src/github/GithubCredentialsProvider.test.ts index 47678ddb89..f698c01bdb 100644 --- a/packages/integration/src/github/GithubCredentialsProvider.test.ts +++ b/packages/integration/src/github/GithubCredentialsProvider.test.ts @@ -232,9 +232,9 @@ describe('GithubCredentialsProvider tests', () => { ], token: 'hardcoded_token', }); - octokit.apps.listInstallations.mockResolvedValue(({ + octokit.apps.listInstallations.mockResolvedValue({ data: [], - } as unknown) as RestEndpointMethodTypes['apps']['listInstallations']['response']); + } as unknown as RestEndpointMethodTypes['apps']['listInstallations']['response']); await expect( githubProvider.getCredentials({ diff --git a/packages/integration/src/github/GithubCredentialsProvider.ts b/packages/integration/src/github/GithubCredentialsProvider.ts index ba30900358..1de19693b5 100644 --- a/packages/integration/src/github/GithubCredentialsProvider.ts +++ b/packages/integration/src/github/GithubCredentialsProvider.ts @@ -85,11 +85,8 @@ class GithubAppManager { owner: string, repo?: string, ): Promise<{ accessToken: string }> { - const { - installationId, - suspended, - repositorySelection, - } = await this.getInstallationData(owner); + const { installationId, suspended, repositorySelection } = + await this.getInstallationData(owner); if (suspended) { throw new Error( `The GitHub application for ${[owner, repo] diff --git a/packages/integration/src/gitlab/core.test.ts b/packages/integration/src/gitlab/core.test.ts index 574403d70b..f07d65e02a 100644 --- a/packages/integration/src/gitlab/core.test.ts +++ b/packages/integration/src/gitlab/core.test.ts @@ -52,37 +52,32 @@ describe('gitlab core', () => { // Project URLs { config: configWithNoToken, - url: - 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/my/path/to/file.yaml', + url: 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/my/path/to/file.yaml', result: 'https://gitlab.com/api/v4/projects/12345/repository/files/my%2Fpath%2Fto%2Ffile.yaml/raw?ref=branch', }, { config: configWithNoToken, // Works with non URI encoded link - url: - 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/my/path/to/file with spaces.yaml', + url: 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/my/path/to/file with spaces.yaml', result: 'https://gitlab.com/api/v4/projects/12345/repository/files/my%2Fpath%2Fto%2Ffile%20with%20spaces.yaml/raw?ref=branch', }, { config: configWithNoToken, - url: - 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/my/path%20with%20spaces/to/file.yaml', + url: 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/my/path%20with%20spaces/to/file.yaml', result: 'https://gitlab.com/api/v4/projects/12345/repository/files/my%2Fpath%20with%20spaces%2Fto%2Ffile.yaml/raw?ref=branch', }, { config: configWithToken, - url: - 'https://gitlab.example.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/my/path%20with%20spaces/to/file.yaml', + url: 'https://gitlab.example.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/my/path%20with%20spaces/to/file.yaml', result: 'https://gitlab.example.com/api/v4/projects/12345/repository/files/my%2Fpath%20with%20spaces%2Fto%2Ffile.yaml/raw?ref=branch', }, { config: configWithNoToken, - url: - 'https://gitlab.com/groupA/teams/teamA/repoA/-/blob/branch/my/path%20with%20spaces/to/file.yaml', // Repo not in subgroup + url: 'https://gitlab.com/groupA/teams/teamA/repoA/-/blob/branch/my/path%20with%20spaces/to/file.yaml', // Repo not in subgroup result: 'https://gitlab.com/api/v4/projects/12345/repository/files/my%2Fpath%20with%20spaces%2Fto%2Ffile.yaml/raw?ref=branch', }, diff --git a/packages/integration/src/gitlab/core.ts b/packages/integration/src/gitlab/core.ts index 9b7b928059..83ab29c62e 100644 --- a/packages/integration/src/gitlab/core.ts +++ b/packages/integration/src/gitlab/core.ts @@ -68,13 +68,8 @@ export function buildRawUrl(target: string): URL { try { const url = new URL(target); - const [ - empty, - userOrOrg, - repoName, - blobKeyword, - ...restOfPath - ] = url.pathname.split('/'); + const [empty, userOrOrg, repoName, blobKeyword, ...restOfPath] = + url.pathname.split('/'); if ( empty !== '' || diff --git a/packages/integration/src/helpers.test.ts b/packages/integration/src/helpers.test.ts index 90102ce6aa..13e8694c73 100644 --- a/packages/integration/src/helpers.test.ts +++ b/packages/integration/src/helpers.test.ts @@ -57,8 +57,7 @@ describe('defaultScmResolveUrl', () => { expect( defaultScmResolveUrl({ url: './b.yaml', - base: - 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/folder/a.yaml', + base: 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/folder/a.yaml', }), ).toBe( 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/folder/b.yaml', @@ -67,8 +66,7 @@ describe('defaultScmResolveUrl', () => { expect( defaultScmResolveUrl({ url: './b.yaml', - base: - 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/folder/a.yaml?at=master', + base: 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/folder/a.yaml?at=master', }), ).toBe( 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/folder/b.yaml?at=master', @@ -77,8 +75,7 @@ describe('defaultScmResolveUrl', () => { expect( defaultScmResolveUrl({ url: 'b.yaml', - base: - 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/folder/a.yaml', + base: 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/folder/a.yaml', }), ).toBe( 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/folder/b.yaml', @@ -89,8 +86,7 @@ describe('defaultScmResolveUrl', () => { expect( defaultScmResolveUrl({ url: '/other/b.yaml', - base: - 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/folder/a.yaml', + base: 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/folder/a.yaml', }), ).toBe( 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/other/b.yaml', @@ -99,8 +95,7 @@ describe('defaultScmResolveUrl', () => { expect( defaultScmResolveUrl({ url: '/other/b.yaml', - base: - 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/folder/a.yaml?at=master', + base: 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/folder/a.yaml?at=master', }), ).toBe( 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/other/b.yaml?at=master', @@ -111,8 +106,7 @@ describe('defaultScmResolveUrl', () => { expect( defaultScmResolveUrl({ url: './b.yaml', - base: - 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/folder/a.yaml?at=master', + base: 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/folder/a.yaml?at=master', lineNumber: 11, }), ).toBe( @@ -122,8 +116,7 @@ describe('defaultScmResolveUrl', () => { expect( defaultScmResolveUrl({ url: 'b.yaml', - base: - 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/folder/a.yaml', + base: 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/folder/a.yaml', lineNumber: 12, }), ).toBe( @@ -133,8 +126,7 @@ describe('defaultScmResolveUrl', () => { expect( defaultScmResolveUrl({ url: '/other/b.yaml', - base: - 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/folder/a.yaml', + base: 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/folder/a.yaml', lineNumber: 13, }), ).toBe( @@ -144,8 +136,7 @@ describe('defaultScmResolveUrl', () => { expect( defaultScmResolveUrl({ url: '/other/b.yaml', - base: - 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/folder/a.yaml?at=master', + base: 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/folder/a.yaml?at=master', lineNumber: 14, }), ).toBe( @@ -157,8 +148,7 @@ describe('defaultScmResolveUrl', () => { expect( defaultScmResolveUrl({ url: 'https://b.com/b.yaml', - base: - 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/folder/a.yaml?at=master', + base: 'https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/folder/a.yaml?at=master', }), ).toBe('https://b.com/b.yaml'); }); diff --git a/packages/techdocs-common/src/stages/publish/googleStorage.ts b/packages/techdocs-common/src/stages/publish/googleStorage.ts index 9def24722a..cbf76cd3d7 100644 --- a/packages/techdocs-common/src/stages/publish/googleStorage.ts +++ b/packages/techdocs-common/src/stages/publish/googleStorage.ts @@ -176,9 +176,8 @@ export class GoogleGCSPublish implements PublisherBase { fileStreamChunks.push(chunk); }) .on('end', () => { - const techdocsMetadataJson = Buffer.concat(fileStreamChunks).toString( - 'utf-8', - ); + const techdocsMetadataJson = + Buffer.concat(fileStreamChunks).toString('utf-8'); resolve(JSON5.parse(techdocsMetadataJson)); }); }); diff --git a/packages/test-utils/src/testUtils/appWrappers.tsx b/packages/test-utils/src/testUtils/appWrappers.tsx index b884efd00d..09c9e5d0bf 100644 --- a/packages/test-utils/src/testUtils/appWrappers.tsx +++ b/packages/test-utils/src/testUtils/appWrappers.tsx @@ -92,7 +92,7 @@ export function wrapInTestApp( apis: mockApis, // Bit of a hack to make sure that the default config loader isn't used // as that would force every single test to wait for config loading. - configLoader: (false as unknown) as undefined, + configLoader: false as unknown as undefined, components: { Progress, BootErrorPage, diff --git a/plugins/api-docs/dev/index.tsx b/plugins/api-docs/dev/index.tsx index bbbfe4a516..e60647e7b9 100644 --- a/plugins/api-docs/dev/index.tsx +++ b/plugins/api-docs/dev/index.tsx @@ -30,19 +30,19 @@ import openapiApiEntity from './openapi-example-api.yaml'; import otherApiEntity from './other-example-api.yaml'; import { Content, Header, Page } from '@backstage/core-components'; -const mockEntities = ([ +const mockEntities = [ openapiApiEntity, asyncapiApiEntity, graphqlApiEntity, otherApiEntity, -] as unknown) as Entity[]; +] as unknown as Entity[]; createDevApp() .registerApi({ api: catalogApiRef, deps: {}, factory: () => - (({ + ({ async getEntities() { return { items: mockEntities.slice(), @@ -51,7 +51,7 @@ createDevApp() async getEntityByName(name: string) { return mockEntities.find(e => e.metadata.name === name); }, - } as unknown) as typeof catalogApiRef.T), + } as unknown as typeof catalogApiRef.T), }) .registerApi({ api: apiDocsConfigRef, @@ -72,7 +72,7 @@ createDevApp()

    - + @@ -85,7 +85,7 @@ createDevApp()
    - + @@ -98,7 +98,7 @@ createDevApp()
    - + @@ -111,7 +111,7 @@ createDevApp()
    - + diff --git a/plugins/api-docs/src/components/AsyncApiDefinitionWidget/AsyncApiDefinitionWidget.tsx b/plugins/api-docs/src/components/AsyncApiDefinitionWidget/AsyncApiDefinitionWidget.tsx index 0b8462ed6e..f32b5d01b5 100644 --- a/plugins/api-docs/src/components/AsyncApiDefinitionWidget/AsyncApiDefinitionWidget.tsx +++ b/plugins/api-docs/src/components/AsyncApiDefinitionWidget/AsyncApiDefinitionWidget.tsx @@ -88,13 +88,15 @@ const useStyles = makeStyles(theme => ({ '& .asyncapi__enum': { color: theme.palette.secondary.main, }, - '& .asyncapi__info, .asyncapi__channel, .asyncapi__channels > div, .asyncapi__schema, .asyncapi__channel-operations-list .asyncapi__messages-list-item .asyncapi__message, .asyncapi__message, .asyncapi__server, .asyncapi__servers > div, .asyncapi__messages > div, .asyncapi__schemas > div': { - 'background-color': 'inherit', - }, - '& .asyncapi__channel-parameters-header, .asyncapi__channel-operations-header, .asyncapi__channel-operation-oneOf-subscribe-header, .asyncapi__channel-operation-oneOf-publish-header, .asyncapi__channel-operation-message-header, .asyncapi__message-header, .asyncapi__message-header-title, .asyncapi__message-header-title > h3, .asyncapi__bindings, .asyncapi__bindings-header, .asyncapi__bindings-header > h4': { - 'background-color': 'inherit', - color: theme.palette.text.primary, - }, + '& .asyncapi__info, .asyncapi__channel, .asyncapi__channels > div, .asyncapi__schema, .asyncapi__channel-operations-list .asyncapi__messages-list-item .asyncapi__message, .asyncapi__message, .asyncapi__server, .asyncapi__servers > div, .asyncapi__messages > div, .asyncapi__schemas > div': + { + 'background-color': 'inherit', + }, + '& .asyncapi__channel-parameters-header, .asyncapi__channel-operations-header, .asyncapi__channel-operation-oneOf-subscribe-header, .asyncapi__channel-operation-oneOf-publish-header, .asyncapi__channel-operation-message-header, .asyncapi__message-header, .asyncapi__message-header-title, .asyncapi__message-header-title > h3, .asyncapi__bindings, .asyncapi__bindings-header, .asyncapi__bindings-header > h4': + { + 'background-color': 'inherit', + color: theme.palette.text.primary, + }, '& .asyncapi__additional-properties-notice': { color: theme.palette.text.hint, }, @@ -104,10 +106,11 @@ const useStyles = makeStyles(theme => ({ '& .asyncapi__schema-example-header-title': { color: theme.palette.text.secondary, }, - '& .asyncapi__message-headers-header, .asyncapi__message-payload-header, .asyncapi__server-variables-header, .asyncapi__server-security-header': { - 'background-color': 'inherit', - color: theme.palette.text.secondary, - }, + '& .asyncapi__message-headers-header, .asyncapi__message-payload-header, .asyncapi__server-variables-header, .asyncapi__server-security-header': + { + 'background-color': 'inherit', + color: theme.palette.text.secondary, + }, '& .asyncapi__table-header': { background: theme.palette.background.default, }, diff --git a/plugins/api-docs/src/components/OpenApiDefinitionWidget/OpenApiDefinitionWidget.tsx b/plugins/api-docs/src/components/OpenApiDefinitionWidget/OpenApiDefinitionWidget.tsx index 206294f931..4c22d29bc2 100644 --- a/plugins/api-docs/src/components/OpenApiDefinitionWidget/OpenApiDefinitionWidget.tsx +++ b/plugins/api-docs/src/components/OpenApiDefinitionWidget/OpenApiDefinitionWidget.tsx @@ -30,22 +30,26 @@ const useStyles = makeStyles(theme => ({ '& .scheme-container': { 'background-color': theme.palette.background.default, }, - '& .opblock-tag, .opblock-tag small, table thead tr td, table thead tr th': { - color: theme.palette.text.primary, - 'border-color': theme.palette.divider, - }, + '& .opblock-tag, .opblock-tag small, table thead tr td, table thead tr th': + { + color: theme.palette.text.primary, + 'border-color': theme.palette.divider, + }, '& section.models, section.models.is-open h4': { 'border-color': theme.palette.divider, }, - '& .opblock .opblock-summary-description, .parameter__type, table.headers td, .model-title, .model .property.primitive, section h3': { - color: theme.palette.text.secondary, - }, - '& .opblock .opblock-summary-operation-id, .opblock .opblock-summary-path, .opblock .opblock-summary-path__deprecated, .opblock .opblock-section-header h4, .parameter__name, .response-col_status, .response-col_links, .responses-inner h4, .swagger-ui .responses-inner h5, .opblock-section-header .btn, .tab li, .info li, .info p, .info table, section.models h4, .info .title, table.model tr.description, .property-row': { - color: theme.palette.text.primary, - }, - '& .opblock .opblock-section-header, .model-box, section.models .model-container': { - background: theme.palette.background.default, - }, + '& .opblock .opblock-summary-description, .parameter__type, table.headers td, .model-title, .model .property.primitive, section h3': + { + color: theme.palette.text.secondary, + }, + '& .opblock .opblock-summary-operation-id, .opblock .opblock-summary-path, .opblock .opblock-summary-path__deprecated, .opblock .opblock-section-header h4, .parameter__name, .response-col_status, .response-col_links, .responses-inner h4, .swagger-ui .responses-inner h5, .opblock-section-header .btn, .tab li, .info li, .info p, .info table, section.models h4, .info .title, table.model tr.description, .property-row': + { + color: theme.palette.text.primary, + }, + '& .opblock .opblock-section-header, .model-box, section.models .model-container': + { + background: theme.palette.background.default, + }, '& .prop-format, .parameter__in': { color: theme.palette.text.disabled, }, @@ -53,9 +57,10 @@ const useStyles = makeStyles(theme => ({ color: theme.palette.text.primary, 'border-color': theme.palette.divider, }, - '& .opblock-description-wrapper p, .opblock-external-docs-wrapper p, .opblock-title_normal p, .response-control-media-type__accept-message, .opblock .opblock-section-header>label, .scheme-container .schemes>label, .info .base-url, .model': { - color: theme.palette.text.hint, - }, + '& .opblock-description-wrapper p, .opblock-external-docs-wrapper p, .opblock-title_normal p, .response-control-media-type__accept-message, .opblock .opblock-section-header>label, .scheme-container .schemes>label, .info .base-url, .model': + { + color: theme.palette.text.hint, + }, '& .parameter__name.required:after': { color: theme.palette.warning.dark, }, diff --git a/plugins/app-backend/src/lib/config.test.ts b/plugins/app-backend/src/lib/config.test.ts index 1d5739e711..f36052116a 100644 --- a/plugins/app-backend/src/lib/config.test.ts +++ b/plugins/app-backend/src/lib/config.test.ts @@ -22,7 +22,7 @@ import { injectConfig } from './config'; jest.mock('fs-extra'); const fsMock = fs as jest.Mocked; -const readFileMock = (fsMock.readFile as unknown) as jest.MockedFunction< +const readFileMock = fsMock.readFile as unknown as jest.MockedFunction< (name: string) => Promise >; diff --git a/plugins/app-backend/src/service/router.ts b/plugins/app-backend/src/service/router.ts index 681b6335fe..297029dffc 100644 --- a/plugins/app-backend/src/service/router.ts +++ b/plugins/app-backend/src/service/router.ts @@ -104,8 +104,7 @@ export async function createRouter( // The Cache-Control header instructs the browser to not cache html files since it might // link to static assets from recently deployed versions. if ( - ((express.static.mime as unknown) as Mime).lookup(path) === - 'text/html' + (express.static.mime as unknown as Mime).lookup(path) === 'text/html' ) { res.setHeader('Cache-Control', 'no-store, max-age=0'); } diff --git a/plugins/auth-backend/api-report.md b/plugins/auth-backend/api-report.md index 1ada822262..9fb9e29a4a 100644 --- a/plugins/auth-backend/api-report.md +++ b/plugins/auth-backend/api-report.md @@ -223,9 +223,7 @@ export class OAuthEnvironmentHandler implements AuthProviderRouteHandlers { export interface OAuthHandlers { // Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen // Warning: (tsdoc-param-tag-with-invalid-type) The @param block should not include a JSDoc-style '{type}' - handler( - req: express.Request, - ): Promise<{ + handler(req: express.Request): Promise<{ response: AuthResponse; refreshToken?: string; }>; diff --git a/plugins/auth-backend/src/identity/TokenFactory.ts b/plugins/auth-backend/src/identity/TokenFactory.ts index ae7c674a58..041a292d44 100644 --- a/plugins/auth-backend/src/identity/TokenFactory.ts +++ b/plugins/auth-backend/src/identity/TokenFactory.ts @@ -150,7 +150,7 @@ export class TokenFactory implements TokenIssuer { // the new one. This also needs to be implemented cross-service though, meaning new services // that boot up need to be able to grab an existing key to use for signing. this.logger.info(`Created new signing key ${key.kid}`); - await this.keyStore.addKey((key.toJWK(false) as unknown) as AnyJWK); + await this.keyStore.addKey(key.toJWK(false) as unknown as AnyJWK); // At this point we are allowed to start using the new key return key as JSONWebKey; diff --git a/plugins/auth-backend/src/lib/flow/authFlowHelpers.test.ts b/plugins/auth-backend/src/lib/flow/authFlowHelpers.test.ts index 5446fbd437..117f1b86e4 100644 --- a/plugins/auth-backend/src/lib/flow/authFlowHelpers.test.ts +++ b/plugins/auth-backend/src/lib/flow/authFlowHelpers.test.ts @@ -32,10 +32,10 @@ describe('oauth helpers', () => { describe('postMessageResponse', () => { const appOrigin = 'http://localhost:3000'; it('should post a message back with payload success', () => { - const mockResponse = ({ + const mockResponse = { end: jest.fn().mockReturnThis(), setHeader: jest.fn().mockReturnThis(), - } as unknown) as express.Response; + } as unknown as express.Response; const data: WebMessageResponse = { type: 'authorization_response', @@ -64,10 +64,10 @@ describe('oauth helpers', () => { }); it('should post a message back with payload error', () => { - const mockResponse = ({ + const mockResponse = { end: jest.fn().mockReturnThis(), setHeader: jest.fn().mockReturnThis(), - } as unknown) as express.Response; + } as unknown as express.Response; const data: WebMessageResponse = { type: 'authorization_response', @@ -84,13 +84,13 @@ describe('oauth helpers', () => { it('should call postMessage twice but only one of them with target *', () => { let responseBody = ''; - const mockResponse = ({ + const mockResponse = { end: jest.fn(body => { responseBody = body; return this; }), setHeader: jest.fn().mockReturnThis(), - } as unknown) as express.Response; + } as unknown as express.Response; const data: WebMessageResponse = { type: 'authorization_response', @@ -128,10 +128,10 @@ describe('oauth helpers', () => { }); it('handles single quotes and unicode chars safely', () => { - const mockResponse = ({ + const mockResponse = { end: jest.fn().mockReturnThis(), setHeader: jest.fn().mockReturnThis(), - } as unknown) as express.Response; + } as unknown as express.Response; const data: WebMessageResponse = { type: 'authorization_response', @@ -164,23 +164,23 @@ describe('oauth helpers', () => { describe('ensuresXRequestedWith', () => { it('should return false if no header present', () => { - const mockRequest = ({ + const mockRequest = { header: () => jest.fn(), - } as unknown) as express.Request; + } as unknown as express.Request; expect(ensuresXRequestedWith(mockRequest)).toBe(false); }); it('should return false if header present with incorrect value', () => { - const mockRequest = ({ + const mockRequest = { header: () => 'INVALID', - } as unknown) as express.Request; + } as unknown as express.Request; expect(ensuresXRequestedWith(mockRequest)).toBe(false); }); it('should return true if header present with correct value', () => { - const mockRequest = ({ + const mockRequest = { header: () => 'XMLHttpRequest', - } as unknown) as express.Request; + } as unknown as express.Request; expect(ensuresXRequestedWith(mockRequest)).toBe(true); }); }); diff --git a/plugins/auth-backend/src/lib/oauth/OAuthAdapter.test.ts b/plugins/auth-backend/src/lib/oauth/OAuthAdapter.test.ts index 147cf5216f..0b35ea7bc8 100644 --- a/plugins/auth-backend/src/lib/oauth/OAuthAdapter.test.ts +++ b/plugins/auth-backend/src/lib/oauth/OAuthAdapter.test.ts @@ -71,19 +71,19 @@ describe('OAuthAdapter', () => { providerInstance, oAuthProviderOptions, ); - const mockRequest = ({ + const mockRequest = { query: { scope: 'user', env: 'development', }, - } as unknown) as express.Request; + } as unknown as express.Request; - const mockResponse = ({ + const mockResponse = { cookie: jest.fn().mockReturnThis(), end: jest.fn().mockReturnThis(), setHeader: jest.fn().mockReturnThis(), statusCode: jest.fn().mockReturnThis(), - } as unknown) as express.Response; + } as unknown as express.Response; await oauthProvider.start(mockRequest, mockResponse); // nonce cookie checks @@ -108,20 +108,20 @@ describe('OAuthAdapter', () => { }); const state = { nonce: 'nonce', env: 'development' }; - const mockRequest = ({ + const mockRequest = { cookies: { 'test-provider-nonce': 'nonce', }, query: { state: encodeState(state), }, - } as unknown) as express.Request; + } as unknown as express.Request; - const mockResponse = ({ + const mockResponse = { cookie: jest.fn().mockReturnThis(), setHeader: jest.fn().mockReturnThis(), end: jest.fn().mockReturnThis(), - } as unknown) as express.Response; + } as unknown as express.Response; await oauthProvider.frameHandler(mockRequest, mockResponse); expect(mockResponse.cookie).toHaveBeenCalledTimes(1); @@ -141,20 +141,20 @@ describe('OAuthAdapter', () => { disableRefresh: true, }); - const mockRequest = ({ + const mockRequest = { cookies: { 'test-provider-nonce': 'nonce', }, query: { state: 'nonce', }, - } as unknown) as express.Request; + } as unknown as express.Request; - const mockResponse = ({ + const mockResponse = { cookie: jest.fn().mockReturnThis(), setHeader: jest.fn().mockReturnThis(), end: jest.fn().mockReturnThis(), - } as unknown) as express.Response; + } as unknown as express.Response; await oauthProvider.frameHandler(mockRequest, mockResponse); expect(mockResponse.cookie).toHaveBeenCalledTimes(0); @@ -166,15 +166,15 @@ describe('OAuthAdapter', () => { disableRefresh: false, }); - const mockRequest = ({ + const mockRequest = { header: () => 'XMLHttpRequest', - } as unknown) as express.Request; + } as unknown as express.Request; - const mockResponse = ({ + const mockResponse = { cookie: jest.fn().mockReturnThis(), send: jest.fn().mockReturnThis(), status: jest.fn().mockReturnThis(), - } as unknown) as express.Response; + } as unknown as express.Response; await oauthProvider.logout(mockRequest, mockResponse); expect(mockResponse.cookie).toHaveBeenCalledTimes(1); @@ -192,18 +192,18 @@ describe('OAuthAdapter', () => { disableRefresh: false, }); - const mockRequest = ({ + const mockRequest = { header: () => 'XMLHttpRequest', cookies: { 'test-provider-refresh-token': 'token', }, query: {}, - } as unknown) as express.Request; + } as unknown as express.Request; - const mockResponse = ({ + const mockResponse = { json: jest.fn().mockReturnThis(), status: jest.fn().mockReturnThis(), - } as unknown) as express.Response; + } as unknown as express.Response; await oauthProvider.refresh(mockRequest, mockResponse); expect(mockResponse.json).toHaveBeenCalledTimes(1); @@ -222,18 +222,18 @@ describe('OAuthAdapter', () => { disableRefresh: true, }); - const mockRequest = ({ + const mockRequest = { header: () => 'XMLHttpRequest', cookies: { 'test-provider-refresh-token': 'token', }, query: {}, - } as unknown) as express.Request; + } as unknown as express.Request; - const mockResponse = ({ + const mockResponse = { send: jest.fn().mockReturnThis(), status: jest.fn().mockReturnThis(), - } as unknown) as express.Response; + } as unknown as express.Response; await oauthProvider.refresh(mockRequest, mockResponse); expect(mockResponse.send).toHaveBeenCalledTimes(1); diff --git a/plugins/auth-backend/src/lib/oauth/helpers.test.ts b/plugins/auth-backend/src/lib/oauth/helpers.test.ts index 3ef8d74c13..00161ff8cf 100644 --- a/plugins/auth-backend/src/lib/oauth/helpers.test.ts +++ b/plugins/auth-backend/src/lib/oauth/helpers.test.ts @@ -21,24 +21,24 @@ describe('OAuthProvider Utils', () => { describe('verifyNonce', () => { it('should throw error if cookie nonce missing', () => { const state = { nonce: 'NONCE', env: 'development' }; - const mockRequest = ({ + const mockRequest = { cookies: {}, query: { state: encodeState(state), }, - } as unknown) as express.Request; + } as unknown as express.Request; expect(() => { verifyNonce(mockRequest, 'providera'); }).toThrowError('Auth response is missing cookie nonce'); }); it('should throw error if state nonce missing', () => { - const mockRequest = ({ + const mockRequest = { cookies: { 'providera-nonce': 'NONCE', }, query: {}, - } as unknown) as express.Request; + } as unknown as express.Request; expect(() => { verifyNonce(mockRequest, 'providera'); }).toThrowError('Invalid state passed via request'); @@ -46,14 +46,14 @@ describe('OAuthProvider Utils', () => { it('should throw error if nonce mismatch', () => { const state = { nonce: 'NONCEB', env: 'development' }; - const mockRequest = ({ + const mockRequest = { cookies: { 'providera-nonce': 'NONCEA', }, query: { state: encodeState(state), }, - } as unknown) as express.Request; + } as unknown as express.Request; expect(() => { verifyNonce(mockRequest, 'providera'); }).toThrowError('Invalid nonce'); @@ -61,14 +61,14 @@ describe('OAuthProvider Utils', () => { it('should not throw any error if nonce matches', () => { const state = { nonce: 'NONCE', env: 'development' }; - const mockRequest = ({ + const mockRequest = { cookies: { 'providera-nonce': 'NONCE', }, query: { state: encodeState(state), }, - } as unknown) as express.Request; + } as unknown as express.Request; expect(() => { verifyNonce(mockRequest, 'providera'); }).not.toThrow(); diff --git a/plugins/auth-backend/src/lib/oauth/types.ts b/plugins/auth-backend/src/lib/oauth/types.ts index 1c11f8291e..c5ece2b921 100644 --- a/plugins/auth-backend/src/lib/oauth/types.ts +++ b/plugins/auth-backend/src/lib/oauth/types.ts @@ -106,9 +106,7 @@ export interface OAuthHandlers { * Handles the redirect from the auth provider when the user has signed in. * @param {express.Request} req */ - handler( - req: express.Request, - ): Promise<{ + handler(req: express.Request): Promise<{ response: AuthResponse; refreshToken?: string; }>; diff --git a/plugins/auth-backend/src/lib/passport/PassportStrategyHelper.test.ts b/plugins/auth-backend/src/lib/passport/PassportStrategyHelper.test.ts index 48878e9fa6..f7cb500d92 100644 --- a/plugins/auth-backend/src/lib/passport/PassportStrategyHelper.test.ts +++ b/plugins/auth-backend/src/lib/passport/PassportStrategyHelper.test.ts @@ -23,7 +23,7 @@ import { executeRefreshTokenStrategy, } from './PassportStrategyHelper'; -const mockRequest = ({} as unknown) as express.Request; +const mockRequest = {} as unknown as express.Request; describe('PassportStrategyHelper', () => { class MyCustomRedirectStrategy extends passport.Strategy { diff --git a/plugins/auth-backend/src/lib/passport/PassportStrategyHelper.ts b/plugins/auth-backend/src/lib/passport/PassportStrategyHelper.ts index 313b4a79bd..a0c07943c1 100644 --- a/plugins/auth-backend/src/lib/passport/PassportStrategyHelper.ts +++ b/plugins/auth-backend/src/lib/passport/PassportStrategyHelper.ts @@ -195,7 +195,7 @@ export const executeFetchUserProfileStrategy = async ( accessToken: string, ): Promise => { return new Promise((resolve, reject) => { - const anyStrategy = (providerStrategy as unknown) as ProviderStrategy; + const anyStrategy = providerStrategy as unknown as ProviderStrategy; anyStrategy.userProfile( accessToken, (error: Error, rawProfile: passport.Profile) => { diff --git a/plugins/auth-backend/src/providers/aws-alb/provider.test.ts b/plugins/auth-backend/src/providers/aws-alb/provider.test.ts index 3785e11d39..a1606e18f2 100644 --- a/plugins/auth-backend/src/providers/aws-alb/provider.test.ts +++ b/plugins/auth-backend/src/providers/aws-alb/provider.test.ts @@ -79,22 +79,22 @@ describe('AwsALBAuthProvider', () => { getEntityByName: jest.fn(), }; - const mockRequest = ({ + const mockRequest = { header: jest.fn(() => { return 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImZvbyIsImlzcyI6ImZvbyJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.T2BNS4G-6RoiFnXc8Q8TiwdWzTpNitY8jcsGM3N3-Yo'; }), - } as unknown) as express.Request; - const mockRequestWithoutJwt = ({ + } as unknown as express.Request; + const mockRequestWithoutJwt = { header: jest.fn(() => { return undefined; }), - } as unknown) as express.Request; - const mockResponse = ({ + } as unknown as express.Request; + const mockResponse = { end: jest.fn(), header: () => jest.fn(), json: jest.fn().mockReturnThis(), status: jest.fn(), - } as unknown) as express.Response; + } as unknown as express.Response; describe('should transform to type OAuthResponse', () => { it('when JWT is valid and identity is resolved successfully', async () => { diff --git a/plugins/auth-backend/src/providers/github/provider.test.ts b/plugins/auth-backend/src/providers/github/provider.test.ts index 4e53ce4026..c1270a71dc 100644 --- a/plugins/auth-backend/src/providers/github/provider.test.ts +++ b/plugins/auth-backend/src/providers/github/provider.test.ts @@ -19,10 +19,10 @@ import { GithubAuthProvider } from './provider'; import * as helpers from '../../lib/passport/PassportStrategyHelper'; import { OAuthResult } from '../../lib/oauth'; -const mockFrameHandler = (jest.spyOn( +const mockFrameHandler = jest.spyOn( helpers, 'executeFrameHandlerStrategy', -) as unknown) as jest.MockedFunction< +) as unknown as jest.MockedFunction< () => Promise<{ result: Omit & { params: { scope: string } }; }> @@ -87,7 +87,7 @@ describe('GithubAuthProvider', () => { it('when "email" is missing, it should be able to create the profile without it', async () => { const accessToken = '19xasczxcm9n7gacn9jdgm19me'; - const fullProfile = ({ + const fullProfile = { id: 'uid-123', username: 'jimmymarkum', provider: 'github', @@ -99,7 +99,7 @@ describe('GithubAuthProvider', () => { 'https://a1cf74336522e87f135f-2f21ace9a6cf0052456644b80fa06d4f.ssl.cf2.rackcdn.com/images/characters_opt/p-mystic-river-sean-penn.jpg', }, ], - } as unknown) as PassportProfile; + } as unknown as PassportProfile; const params = { scope: 'read:scope', @@ -131,7 +131,7 @@ describe('GithubAuthProvider', () => { it('when "displayName" is missing, it should be able to create the profile and map "displayName" with "username"', async () => { const accessToken = '19xasczxcm9n7gacn9jdgm19me'; - const fullProfile = ({ + const fullProfile = { id: 'uid-123', username: 'jimmymarkum', provider: 'github', @@ -143,7 +143,7 @@ describe('GithubAuthProvider', () => { 'https://a1cf74336522e87f135f-2f21ace9a6cf0052456644b80fa06d4f.ssl.cf2.rackcdn.com/images/characters_opt/p-mystic-river-sean-penn.jpg', }, ], - } as unknown) as PassportProfile; + } as unknown as PassportProfile; const params = { scope: 'read:scope', diff --git a/plugins/auth-backend/src/providers/gitlab/provider.test.ts b/plugins/auth-backend/src/providers/gitlab/provider.test.ts index 2277515cc9..511a3dbc54 100644 --- a/plugins/auth-backend/src/providers/gitlab/provider.test.ts +++ b/plugins/auth-backend/src/providers/gitlab/provider.test.ts @@ -18,10 +18,10 @@ import { GitlabAuthProvider } from './provider'; import * as helpers from '../../lib/passport/PassportStrategyHelper'; import { OAuthResult } from '../../lib/oauth'; -const mockFrameHandler = (jest.spyOn( +const mockFrameHandler = jest.spyOn( helpers, 'executeFrameHandlerStrategy', -) as unknown) as jest.MockedFunction<() => Promise<{ result: OAuthResult }>>; +) as unknown as jest.MockedFunction<() => Promise<{ result: OAuthResult }>>; describe('GitlabAuthProvider', () => { it('should transform to type OAuthResponse', async () => { diff --git a/plugins/auth-backend/src/providers/google/provider.test.ts b/plugins/auth-backend/src/providers/google/provider.test.ts index 68279dc2dd..a69a7b0485 100644 --- a/plugins/auth-backend/src/providers/google/provider.test.ts +++ b/plugins/auth-backend/src/providers/google/provider.test.ts @@ -21,10 +21,10 @@ import { getVoidLogger } from '@backstage/backend-common'; import { TokenIssuer } from '../../identity/types'; import { CatalogIdentityClient } from '../../lib/catalog'; -const mockFrameHandler = (jest.spyOn( +const mockFrameHandler = jest.spyOn( helpers, 'executeFrameHandlerStrategy', -) as unknown) as jest.MockedFunction< +) as unknown as jest.MockedFunction< () => Promise<{ result: OAuthResult; privateInfo: any }> >; @@ -40,8 +40,9 @@ describe('createGoogleProvider', () => { const provider = new GoogleAuthProvider({ logger: getVoidLogger(), - catalogIdentityClient: (catalogIdentityClient as unknown) as CatalogIdentityClient, - tokenIssuer: (tokenIssuer as unknown) as TokenIssuer, + catalogIdentityClient: + catalogIdentityClient as unknown as CatalogIdentityClient, + tokenIssuer: tokenIssuer as unknown as TokenIssuer, authHandler: async ({ fullProfile }) => ({ profile: { email: fullProfile.emails![0]!.value, diff --git a/plugins/auth-backend/src/providers/microsoft/provider.test.ts b/plugins/auth-backend/src/providers/microsoft/provider.test.ts index c979bed582..429e6691b6 100644 --- a/plugins/auth-backend/src/providers/microsoft/provider.test.ts +++ b/plugins/auth-backend/src/providers/microsoft/provider.test.ts @@ -21,10 +21,10 @@ import { getVoidLogger } from '@backstage/backend-common'; import { TokenIssuer } from '../../identity/types'; import { CatalogIdentityClient } from '../../lib/catalog'; -const mockFrameHandler = (jest.spyOn( +const mockFrameHandler = jest.spyOn( helpers, 'executeFrameHandlerStrategy', -) as unknown) as jest.MockedFunction< +) as unknown as jest.MockedFunction< () => Promise<{ result: OAuthResult; privateInfo: any }> >; @@ -40,8 +40,9 @@ describe('createMicrosoftProvider', () => { const provider = new MicrosoftAuthProvider({ logger: getVoidLogger(), - catalogIdentityClient: (catalogIdentityClient as unknown) as CatalogIdentityClient, - tokenIssuer: (tokenIssuer as unknown) as TokenIssuer, + catalogIdentityClient: + catalogIdentityClient as unknown as CatalogIdentityClient, + tokenIssuer: tokenIssuer as unknown as TokenIssuer, authHandler: async ({ fullProfile }) => ({ profile: { email: fullProfile.emails![0]!.value, diff --git a/plugins/auth-backend/src/providers/microsoft/provider.ts b/plugins/auth-backend/src/providers/microsoft/provider.ts index 633844a351..26009474be 100644 --- a/plugins/auth-backend/src/providers/microsoft/provider.ts +++ b/plugins/auth-backend/src/providers/microsoft/provider.ts @@ -220,24 +220,22 @@ export const microsoftEmailSignInResolver: SignInResolver = async ( return { id: entity.metadata.name, entity, token }; }; -export const microsoftDefaultSignInResolver: SignInResolver = async ( - info, - ctx, -) => { - const { profile } = info; +export const microsoftDefaultSignInResolver: SignInResolver = + async (info, ctx) => { + const { profile } = info; - if (!profile.email) { - throw new Error('Profile contained no email'); - } + if (!profile.email) { + throw new Error('Profile contained no email'); + } - const userId = profile.email.split('@')[0]; + const userId = profile.email.split('@')[0]; - const token = await ctx.tokenIssuer.issueToken({ - claims: { sub: userId, ent: [`user:default/${userId}`] }, - }); + const token = await ctx.tokenIssuer.issueToken({ + claims: { sub: userId, ent: [`user:default/${userId}`] }, + }); - return { id: userId, token }; -}; + return { id: userId, token }; + }; export type MicrosoftProviderOptions = { /** diff --git a/plugins/auth-backend/src/providers/oidc/provider.test.ts b/plugins/auth-backend/src/providers/oidc/provider.test.ts index 8ad0adb34e..c302c44082 100644 --- a/plugins/auth-backend/src/providers/oidc/provider.test.ts +++ b/plugins/auth-backend/src/providers/oidc/provider.test.ts @@ -70,7 +70,7 @@ describe('OidcAuthProvider', () => { rest.get('https://oidc.test/.well-known/openid-configuration', handler), ); const provider = new OidcAuthProvider(clientMetadata); - const { strategy } = ((await (provider as any).implementation) as any) as { + const { strategy } = (await (provider as any).implementation) as any as { strategy: { _client: ClientMetadata; _issuer: IssuerMetadata; @@ -138,7 +138,7 @@ describe('OidcAuthProvider', () => { const req = { method: 'GET', url: 'https://oidc.test/?code=test2', - session: ({ 'oidc:oidc.test': 'test' } as any) as Session, + session: { 'oidc:oidc.test': 'test' } as any as Session, } as express.Request; await provider.handler(req); expect(requestSequence).toEqual([0, 1, 2].map(i => requests[i].url)); diff --git a/plugins/badges-backend/src/lib/BadgeBuilder/DefaultBadgeBuilder.test.ts b/plugins/badges-backend/src/lib/BadgeBuilder/DefaultBadgeBuilder.test.ts index e26d4a406b..039c8b9b77 100644 --- a/plugins/badges-backend/src/lib/BadgeBuilder/DefaultBadgeBuilder.test.ts +++ b/plugins/badges-backend/src/lib/BadgeBuilder/DefaultBadgeBuilder.test.ts @@ -42,7 +42,7 @@ describe('DefaultBadgeBuilder', () => { createBadge: () => badge, }, failbadge: { - createBadge: () => (undefined as unknown) as Badge, // force a bad return value.. + createBadge: () => undefined as unknown as Badge, // force a bad return value.. }, invalidbadge: { createBadge: () => ({ style: 'wrong' as BadgeStyle, ...badge }), diff --git a/plugins/badges/src/components/EntityBadgesDialog.tsx b/plugins/badges/src/components/EntityBadgesDialog.tsx index a1840e75c0..75caca2d9d 100644 --- a/plugins/badges/src/components/EntityBadgesDialog.tsx +++ b/plugins/badges/src/components/EntityBadgesDialog.tsx @@ -48,7 +48,11 @@ export const EntityBadgesDialog = ({ open, onClose }: Props) => { const fullScreen = useMediaQuery(theme.breakpoints.down('sm')); const badgesApi = useApi(badgesApiRef); - const { value: badges, loading, error } = useAsync(async () => { + const { + value: badges, + loading, + error, + } = useAsync(async () => { if (open && entity) { return await badgesApi.getEntityBadgeSpecs(entity); } diff --git a/plugins/catalog-backend-module-ldap/src/ldap/read.test.ts b/plugins/catalog-backend-module-ldap/src/ldap/read.test.ts index b357b6b408..49afd65c30 100644 --- a/plugins/catalog-backend-module-ldap/src/ldap/read.test.ts +++ b/plugins/catalog-backend-module-ldap/src/ldap/read.test.ts @@ -140,21 +140,7 @@ describe('readLdapUsers', () => { distinguishedName: ['dn-value'], objectGUID: [ Buffer.from([ - 68, - 2, - 125, - 190, - 209, - 0, - 94, - 73, - 133, - 33, - 230, - 174, - 234, - 195, - 160, + 68, 2, 125, 190, 209, 0, 94, 73, 133, 33, 230, 174, 234, 195, 160, 152, ]), ], @@ -286,21 +272,7 @@ describe('readLdapGroups', () => { distinguishedName: ['dn-value'], objectGUID: [ Buffer.from([ - 68, - 2, - 125, - 190, - 209, - 0, - 94, - 73, - 133, - 33, - 230, - 174, - 234, - 195, - 160, + 68, 2, 125, 190, 209, 0, 94, 73, 133, 33, 230, 174, 234, 195, 160, 152, ]), ], diff --git a/plugins/catalog-backend-module-msgraph/README.md b/plugins/catalog-backend-module-msgraph/README.md index df141901aa..5dedb800f1 100644 --- a/plugins/catalog-backend-module-msgraph/README.md +++ b/plugins/catalog-backend-module-msgraph/README.md @@ -89,9 +89,11 @@ export async function myGroupTransformer( groupPhoto?: string, ): Promise { if ( - ((group as unknown) as { - creationOptions: string[]; - }).creationOptions.includes('ProvisionGroupHomepage') + ( + group as unknown as { + creationOptions: string[]; + } + ).creationOptions.includes('ProvisionGroupHomepage') ) { return undefined; } diff --git a/plugins/catalog-backend-module-msgraph/src/microsoftGraph/client.test.ts b/plugins/catalog-backend-module-msgraph/src/microsoftGraph/client.test.ts index 2b5e72033b..cefa4a52ce 100644 --- a/plugins/catalog-backend-module-msgraph/src/microsoftGraph/client.test.ts +++ b/plugins/catalog-backend-module-msgraph/src/microsoftGraph/client.test.ts @@ -21,9 +21,10 @@ import { setupServer } from 'msw/node'; import { MicrosoftGraphClient } from './client'; describe('MicrosoftGraphClient', () => { - const confidentialClientApplication: jest.Mocked = { - acquireTokenByClientCredential: jest.fn(), - } as any; + const confidentialClientApplication: jest.Mocked = + { + acquireTokenByClientCredential: jest.fn(), + } as any; let client: MicrosoftGraphClient; const worker = setupServer(); diff --git a/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.test.ts b/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.test.ts index 929d01e128..68f7e216ea 100644 --- a/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.test.ts +++ b/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.test.ts @@ -202,14 +202,10 @@ describe('read microsoft graph', () => { 'data:image/jpeg;base64,...', ); - const { - groups, - groupMember, - groupMemberOf, - rootGroup, - } = await readMicrosoftGraphGroups(client, 'tenantid', { - groupFilter: 'securityEnabled eq false', - }); + const { groups, groupMember, groupMemberOf, rootGroup } = + await readMicrosoftGraphGroups(client, 'tenantid', { + groupFilter: 'securityEnabled eq false', + }); const expectedRootGroup = group({ metadata: { diff --git a/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.ts b/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.ts index a9e2465ad7..62513b0e10 100644 --- a/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.ts +++ b/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.ts @@ -318,14 +318,12 @@ export function resolveRelations( // Make sure every group (except root) has at least one parent. If the parent is missing, add the root. if (rootGroup) { - const tenantId = rootGroup.metadata.annotations![ - MICROSOFT_GRAPH_TENANT_ID_ANNOTATION - ]; + const tenantId = + rootGroup.metadata.annotations![MICROSOFT_GRAPH_TENANT_ID_ANNOTATION]; groups.forEach(group => { - const groupId = group.metadata.annotations![ - MICROSOFT_GRAPH_GROUP_ID_ANNOTATION - ]; + const groupId = + group.metadata.annotations![MICROSOFT_GRAPH_GROUP_ID_ANNOTATION]; if (!groupId) { return; @@ -392,15 +390,11 @@ export async function readMicrosoftGraphOrg( userFilter: options.userFilter, logger: options.logger, }); - const { - groups, - rootGroup, - groupMember, - groupMemberOf, - } = await readMicrosoftGraphGroups(client, tenantId, { - groupFilter: options?.groupFilter, - transformer: options?.groupTransformer, - }); + const { groups, rootGroup, groupMember, groupMemberOf } = + await readMicrosoftGraphGroups(client, tenantId, { + groupFilter: options?.groupFilter, + transformer: options?.groupTransformer, + }); resolveRelations(rootGroup, groups, users, groupMember, groupMemberOf); users.sort((a, b) => a.metadata.name.localeCompare(b.metadata.name)); diff --git a/plugins/catalog-backend/CHANGELOG.md b/plugins/catalog-backend/CHANGELOG.md index 07799cfad4..3849fec510 100644 --- a/plugins/catalog-backend/CHANGELOG.md +++ b/plugins/catalog-backend/CHANGELOG.md @@ -442,13 +442,11 @@ and lets the other processors take care of further processing. ```typescript - const customRepositoryParser: BitbucketRepositoryParser = async function* customRepositoryParser({ - client, - repository, - }) { - // Custom logic for interpret the matching repository. - // See defaultRepositoryParser for an example - }; + const customRepositoryParser: BitbucketRepositoryParser = + async function* customRepositoryParser({ client, repository }) { + // Custom logic for interpret the matching repository. + // See defaultRepositoryParser for an example + }; const processor = BitbucketDiscoveryProcessor.fromConfig(env.config, { parser: customRepositoryParser, @@ -920,7 +918,6 @@ spec: type: website --- - ``` This behaves now the same way as Kubernetes handles multiple documents in a single YAML file. diff --git a/plugins/catalog-backend/api-report.md b/plugins/catalog-backend/api-report.md index b6f2df602a..7286855d4e 100644 --- a/plugins/catalog-backend/api-report.md +++ b/plugins/catalog-backend/api-report.md @@ -88,9 +88,7 @@ export class AwsOrganizationCloudAccountProcessor implements CatalogProcessor { logger: Logger_2; }); // (undocumented) - extractInformationFromArn( - arn: string, - ): { + extractInformationFromArn(arn: string): { accountId: string; organizationId: string; }; @@ -596,7 +594,8 @@ export class DefaultCatalogCollator implements DocumentCollator { // // @public (undocumented) export class DefaultCatalogProcessingOrchestrator - implements CatalogProcessingOrchestrator { + implements CatalogProcessingOrchestrator +{ constructor(options: { processors: CatalogProcessor[]; integrations: ScmIntegrationRegistry; diff --git a/plugins/catalog-backend/src/catalog/DatabaseLocationsCatalog.ts b/plugins/catalog-backend/src/catalog/DatabaseLocationsCatalog.ts index fff34d1d78..e81c72a3da 100644 --- a/plugins/catalog-backend/src/catalog/DatabaseLocationsCatalog.ts +++ b/plugins/catalog-backend/src/catalog/DatabaseLocationsCatalog.ts @@ -52,12 +52,8 @@ export class DatabaseLocationsCatalog implements LocationsCatalog { } async location(id: string): Promise { - const { - message, - status, - timestamp, - ...data - } = await this.database.location(id); + const { message, status, timestamp, ...data } = + await this.database.location(id); return { currentStatus: { message, diff --git a/plugins/catalog-backend/src/database/CommonDatabase.ts b/plugins/catalog-backend/src/database/CommonDatabase.ts index 272ac08c4c..79cad3bd23 100644 --- a/plugins/catalog-backend/src/database/CommonDatabase.ts +++ b/plugins/catalog-backend/src/database/CommonDatabase.ts @@ -556,9 +556,10 @@ export class CommonDatabase implements Database { } } -function parsePagination( - input?: EntityPagination, -): { limit?: number; offset?: number } { +function parsePagination(input?: EntityPagination): { + limit?: number; + offset?: number; +} { if (!input) { return {}; } diff --git a/plugins/catalog-backend/src/ingestion/processors/AnnotateLocationEntityProcessor.ts b/plugins/catalog-backend/src/ingestion/processors/AnnotateLocationEntityProcessor.ts index 5a0c8b8418..54079e13ff 100644 --- a/plugins/catalog-backend/src/ingestion/processors/AnnotateLocationEntityProcessor.ts +++ b/plugins/catalog-backend/src/ingestion/processors/AnnotateLocationEntityProcessor.ts @@ -71,9 +71,8 @@ export class AnnotateLocationEntityProcessor implements CatalogProcessor { annotations: pickBy( { [LOCATION_ANNOTATION]: stringifyLocationReference(location), - [ORIGIN_LOCATION_ANNOTATION]: stringifyLocationReference( - originLocation, - ), + [ORIGIN_LOCATION_ANNOTATION]: + stringifyLocationReference(originLocation), [VIEW_URL_ANNOTATION]: viewUrl, [EDIT_URL_ANNOTATION]: editUrl, [SOURCE_LOCATION_ANNOTATION]: sourceLocation, diff --git a/plugins/catalog-backend/src/ingestion/processors/AwsOrganizationCloudAccountProcessor.test.ts b/plugins/catalog-backend/src/ingestion/processors/AwsOrganizationCloudAccountProcessor.test.ts index a3b1dfbfcb..88b033c33f 100644 --- a/plugins/catalog-backend/src/ingestion/processors/AwsOrganizationCloudAccountProcessor.test.ts +++ b/plugins/catalog-backend/src/ingestion/processors/AwsOrganizationCloudAccountProcessor.test.ts @@ -37,8 +37,7 @@ describe('AwsOrganizationCloudAccountProcessor', () => { return { Accounts: [ { - Arn: - 'arn:aws:organizations::192594491037:account/o-1vl18kc5a3/957140518395', + Arn: 'arn:aws:organizations::192594491037:account/o-1vl18kc5a3/957140518395', Name: 'testaccount', }, ], @@ -83,13 +82,11 @@ describe('AwsOrganizationCloudAccountProcessor', () => { return { Accounts: [ { - Arn: - 'arn:aws:organizations::192594491037:account/o-1vl18kc5a3/957140518395', + Arn: 'arn:aws:organizations::192594491037:account/o-1vl18kc5a3/957140518395', Name: 'testaccount', }, { - Arn: - 'arn:aws:organizations::192594491037:account/o-zzzzzzzzz/957140518395', + Arn: 'arn:aws:organizations::192594491037:account/o-zzzzzzzzz/957140518395', Name: 'testaccount2', }, ], diff --git a/plugins/catalog-backend/src/ingestion/processors/AwsOrganizationCloudAccountProcessor.ts b/plugins/catalog-backend/src/ingestion/processors/AwsOrganizationCloudAccountProcessor.ts index beb179a0d2..655f99d14a 100644 --- a/plugins/catalog-backend/src/ingestion/processors/AwsOrganizationCloudAccountProcessor.ts +++ b/plugins/catalog-backend/src/ingestion/processors/AwsOrganizationCloudAccountProcessor.ts @@ -89,9 +89,10 @@ export class AwsOrganizationCloudAccountProcessor implements CatalogProcessor { .replace(/[^a-zA-Z0-9\-]/g, '-'); } - extractInformationFromArn( - arn: string, - ): { accountId: string; organizationId: string } { + extractInformationFromArn(arn: string): { + accountId: string; + organizationId: string; + } { const parts = arn.split('/'); return { diff --git a/plugins/catalog-backend/src/ingestion/processors/BitbucketDiscoveryProcessor.test.ts b/plugins/catalog-backend/src/ingestion/processors/BitbucketDiscoveryProcessor.test.ts index e2b295e7ff..c067958093 100644 --- a/plugins/catalog-backend/src/ingestion/processors/BitbucketDiscoveryProcessor.test.ts +++ b/plugins/catalog-backend/src/ingestion/processors/BitbucketDiscoveryProcessor.test.ts @@ -256,15 +256,16 @@ describe('BitbucketDiscoveryProcessor', () => { }); describe('Custom repository parser', () => { - const customRepositoryParser: BitbucketRepositoryParser = async function* customRepositoryParser({}) { - yield results.location( - { - type: 'custom-location-type', - target: 'custom-target', - }, - true, - ); - }; + const customRepositoryParser: BitbucketRepositoryParser = + async function* customRepositoryParser({}) { + yield results.location( + { + type: 'custom-location-type', + target: 'custom-target', + }, + true, + ); + }; const processor = BitbucketDiscoveryProcessor.fromConfig( new ConfigReader({ diff --git a/plugins/catalog-backend/src/ingestion/processors/BitbucketDiscoveryProcessor.ts b/plugins/catalog-backend/src/ingestion/processors/BitbucketDiscoveryProcessor.ts index 9d53b7e5b5..3b535881d9 100644 --- a/plugins/catalog-backend/src/ingestion/processors/BitbucketDiscoveryProcessor.ts +++ b/plugins/catalog-backend/src/ingestion/processors/BitbucketDiscoveryProcessor.ts @@ -136,9 +136,11 @@ export async function readBitbucketOrg( return result; } -function parseUrl( - urlString: string, -): { projectSearchPath: RegExp; repoSearchPath: RegExp; catalogPath: string } { +function parseUrl(urlString: string): { + projectSearchPath: RegExp; + repoSearchPath: RegExp; + catalogPath: string; +} { const url = new URL(urlString); const path = url.pathname.substr(1).split('/'); diff --git a/plugins/catalog-backend/src/ingestion/processors/GithubDiscoveryProcessor.test.ts b/plugins/catalog-backend/src/ingestion/processors/GithubDiscoveryProcessor.test.ts index 467e9c1ea2..711c6fb27d 100644 --- a/plugins/catalog-backend/src/ingestion/processors/GithubDiscoveryProcessor.test.ts +++ b/plugins/catalog-backend/src/ingestion/processors/GithubDiscoveryProcessor.test.ts @@ -21,9 +21,10 @@ import { getOrganizationRepositories } from './github'; import { ConfigReader } from '@backstage/config'; jest.mock('./github'); -const mockGetOrganizationRepositories = getOrganizationRepositories as jest.MockedFunction< - typeof getOrganizationRepositories ->; +const mockGetOrganizationRepositories = + getOrganizationRepositories as jest.MockedFunction< + typeof getOrganizationRepositories + >; describe('GithubDiscoveryProcessor', () => { describe('parseUrl', () => { diff --git a/plugins/catalog-backend/src/ingestion/processors/GithubDiscoveryProcessor.ts b/plugins/catalog-backend/src/ingestion/processors/GithubDiscoveryProcessor.ts index 2219e02406..d3064f9c39 100644 --- a/plugins/catalog-backend/src/ingestion/processors/GithubDiscoveryProcessor.ts +++ b/plugins/catalog-backend/src/ingestion/processors/GithubDiscoveryProcessor.ts @@ -56,8 +56,9 @@ export class GithubDiscoveryProcessor implements CatalogProcessor { return false; } - const gitHubConfig = this.integrations.github.byUrl(location.target) - ?.config; + const gitHubConfig = this.integrations.github.byUrl( + location.target, + )?.config; if (!gitHubConfig) { throw new Error( `There is no GitHub integration that matches ${location.target}. Please add a configuration entry for it under integrations.github`, @@ -110,9 +111,11 @@ export class GithubDiscoveryProcessor implements CatalogProcessor { * Helpers */ -export function parseUrl( - urlString: string, -): { org: string; repoSearchPath: RegExp; catalogPath: string } { +export function parseUrl(urlString: string): { + org: string; + repoSearchPath: RegExp; + catalogPath: string; +} { const url = new URL(urlString); const path = url.pathname.substr(1).split('/'); diff --git a/plugins/catalog-backend/src/ingestion/processors/GithubMultiOrgReaderProcessor.ts b/plugins/catalog-backend/src/ingestion/processors/GithubMultiOrgReaderProcessor.ts index 5223acba4a..ebfcaf5b5d 100644 --- a/plugins/catalog-backend/src/ingestion/processors/GithubMultiOrgReaderProcessor.ts +++ b/plugins/catalog-backend/src/ingestion/processors/GithubMultiOrgReaderProcessor.ts @@ -75,8 +75,9 @@ export class GithubMultiOrgReaderProcessor implements CatalogProcessor { return false; } - const gitHubConfig = this.integrations.github.byUrl(location.target) - ?.config; + const gitHubConfig = this.integrations.github.byUrl( + location.target, + )?.config; if (!gitHubConfig) { throw new Error( `There is no GitHub integration that matches ${location.target}. Please add a configuration entry for it under integrations.github`, @@ -93,12 +94,10 @@ export class GithubMultiOrgReaderProcessor implements CatalogProcessor { for (const orgConfig of orgsToProcess) { try { - const { - headers, - type: tokenType, - } = await credentialsProvider.getCredentials({ - url: `${baseUrl}/${orgConfig.name}`, - }); + const { headers, type: tokenType } = + await credentialsProvider.getCredentials({ + url: `${baseUrl}/${orgConfig.name}`, + }); const client = graphql.defaults({ baseUrl: gitHubConfig.apiBaseUrl, headers, diff --git a/plugins/catalog-backend/src/ingestion/processors/GithubOrgReaderProcessor.ts b/plugins/catalog-backend/src/ingestion/processors/GithubOrgReaderProcessor.ts index 364042f74d..3a82ff6516 100644 --- a/plugins/catalog-backend/src/ingestion/processors/GithubOrgReaderProcessor.ts +++ b/plugins/catalog-backend/src/ingestion/processors/GithubOrgReaderProcessor.ts @@ -113,12 +113,10 @@ export class GithubOrgReaderProcessor implements CatalogProcessor { } const credentialsProvider = GithubCredentialsProvider.create(gitHubConfig); - const { - headers, - type: tokenType, - } = await credentialsProvider.getCredentials({ - url: orgUrl, - }); + const { headers, type: tokenType } = + await credentialsProvider.getCredentials({ + url: orgUrl, + }); const client = graphql.defaults({ baseUrl: gitHubConfig.apiBaseUrl, diff --git a/plugins/catalog-backend/src/ingestion/processors/LocationEntityProcessor.test.ts b/plugins/catalog-backend/src/ingestion/processors/LocationEntityProcessor.test.ts index b018542fcc..c4551e30f8 100644 --- a/plugins/catalog-backend/src/ingestion/processors/LocationEntityProcessor.test.ts +++ b/plugins/catalog-backend/src/ingestion/processors/LocationEntityProcessor.test.ts @@ -26,7 +26,7 @@ import { toAbsoluteUrl } from './LocationEntityProcessor'; describe('LocationEntityProcessor', () => { describe('toAbsoluteUrl', () => { it('handles files', () => { - const integrations = ({} as unknown) as ScmIntegrationRegistry; + const integrations = {} as unknown as ScmIntegrationRegistry; const base: LocationSpec = { type: 'file', target: `some${path.sep}path${path.sep}catalog-info.yaml`, diff --git a/plugins/catalog-backend/src/ingestion/processors/bitbucket/BitbucketRepositoryParser.ts b/plugins/catalog-backend/src/ingestion/processors/bitbucket/BitbucketRepositoryParser.ts index 6f33646c54..27f07d58a2 100644 --- a/plugins/catalog-backend/src/ingestion/processors/bitbucket/BitbucketRepositoryParser.ts +++ b/plugins/catalog-backend/src/ingestion/processors/bitbucket/BitbucketRepositoryParser.ts @@ -24,17 +24,16 @@ export type BitbucketRepositoryParser = (options: { logger: Logger; }) => AsyncIterable; -export const defaultRepositoryParser: BitbucketRepositoryParser = async function* defaultRepositoryParser({ - target, -}) { - yield results.location( - { - type: 'url', - target: target, - }, - // Not all locations may actually exist, since the user defined them as a wildcard pattern. - // Thus, we emit them as optional and let the downstream processor find them while not outputting - // an error if it couldn't. - true, - ); -}; +export const defaultRepositoryParser: BitbucketRepositoryParser = + async function* defaultRepositoryParser({ target }) { + yield results.location( + { + type: 'url', + target: target, + }, + // Not all locations may actually exist, since the user defined them as a wildcard pattern. + // Thus, we emit them as optional and let the downstream processor find them while not outputting + // an error if it couldn't. + true, + ); + }; diff --git a/plugins/catalog-backend/src/ingestion/processors/github/github.ts b/plugins/catalog-backend/src/ingestion/processors/github/github.ts index 7e1ef136eb..70479110c2 100644 --- a/plugins/catalog-backend/src/ingestion/processors/github/github.ts +++ b/plugins/catalog-backend/src/ingestion/processors/github/github.ts @@ -330,7 +330,7 @@ export async function queryWithPaging< GraphqlType, OutputType, Variables extends {}, - Response = QueryResponse + Response = QueryResponse, >( client: typeof graphql, query: string, diff --git a/plugins/catalog-backend/src/ingestion/processors/util/parse.ts b/plugins/catalog-backend/src/ingestion/processors/util/parse.ts index e93b2a0200..c9c6c79311 100644 --- a/plugins/catalog-backend/src/ingestion/processors/util/parse.ts +++ b/plugins/catalog-backend/src/ingestion/processors/util/parse.ts @@ -58,11 +58,9 @@ export function* parseEntityYaml( } } -export const defaultEntityDataParser: CatalogProcessorParser = async function* defaultEntityDataParser({ - data, - location, -}) { - for (const e of parseEntityYaml(data, location)) { - yield e; - } -}; +export const defaultEntityDataParser: CatalogProcessorParser = + async function* defaultEntityDataParser({ data, location }) { + for (const e of parseEntityYaml(data, location)) { + yield e; + } + }; diff --git a/plugins/catalog-backend/src/next/ConfigLocationEntityProvider.test.ts b/plugins/catalog-backend/src/next/ConfigLocationEntityProvider.test.ts index d177b1aa32..32ce28dc1b 100644 --- a/plugins/catalog-backend/src/next/ConfigLocationEntityProvider.test.ts +++ b/plugins/catalog-backend/src/next/ConfigLocationEntityProvider.test.ts @@ -31,9 +31,9 @@ describe('ConfigLocationEntityProvider', () => { }, }); - const mockConnection = ({ + const mockConnection = { applyMutation: jest.fn(), - } as unknown) as EntityProviderConnection; + } as unknown as EntityProviderConnection; const locationProvider = new ConfigLocationEntityProvider(mockConfig); await locationProvider.connect(mockConnection); diff --git a/plugins/catalog-backend/src/next/DefaultCatalogProcessingEngine.test.ts b/plugins/catalog-backend/src/next/DefaultCatalogProcessingEngine.test.ts index b87635db85..5f3bab63e7 100644 --- a/plugins/catalog-backend/src/next/DefaultCatalogProcessingEngine.test.ts +++ b/plugins/catalog-backend/src/next/DefaultCatalogProcessingEngine.test.ts @@ -22,17 +22,17 @@ import { CatalogProcessingOrchestrator } from './processing/types'; import { Stitcher } from './stitching/Stitcher'; describe('DefaultCatalogProcessingEngine', () => { - const db = ({ + const db = { transaction: jest.fn(), getProcessableEntities: jest.fn(), updateProcessedEntity: jest.fn(), - } as unknown) as jest.Mocked; + } as unknown as jest.Mocked; const orchestrator: jest.Mocked = { process: jest.fn(), }; - const stitcher = ({ + const stitcher = { stitch: jest.fn(), - } as unknown) as jest.Mocked; + } as unknown as jest.Mocked; beforeEach(() => { jest.resetAllMocks(); diff --git a/plugins/catalog-backend/src/next/NextEntitiesCatalog.ts b/plugins/catalog-backend/src/next/NextEntitiesCatalog.ts index 7cc99210c9..e9772b4aa3 100644 --- a/plugins/catalog-backend/src/next/NextEntitiesCatalog.ts +++ b/plugins/catalog-backend/src/next/NextEntitiesCatalog.ts @@ -28,9 +28,10 @@ import { DbSearchRow, } from './database/tables'; -function parsePagination( - input?: EntityPagination, -): { limit?: number; offset?: number } { +function parsePagination(input?: EntityPagination): { + limit?: number; + offset?: number; +} { if (!input) { return {}; } diff --git a/plugins/catalog-backend/src/next/NextRouter.ts b/plugins/catalog-backend/src/next/NextRouter.ts index eb9e5247ed..849d2ee36d 100644 --- a/plugins/catalog-backend/src/next/NextRouter.ts +++ b/plugins/catalog-backend/src/next/NextRouter.ts @@ -47,13 +47,8 @@ export interface RouterOptions { export async function createNextRouter( options: RouterOptions, ): Promise { - const { - entitiesCatalog, - locationAnalyzer, - locationService, - config, - logger, - } = options; + const { entitiesCatalog, locationAnalyzer, locationService, config, logger } = + options; const router = Router(); router.use(express.json()); diff --git a/plugins/catalog-backend/src/next/database/DefaultProcessingDatabase.test.ts b/plugins/catalog-backend/src/next/database/DefaultProcessingDatabase.test.ts index e449e5580c..6a0626afc4 100644 --- a/plugins/catalog-backend/src/next/database/DefaultProcessingDatabase.test.ts +++ b/plugins/catalog-backend/src/next/database/DefaultProcessingDatabase.test.ts @@ -79,10 +79,10 @@ describe('Default Processing Database', () => { 'updates refresh state with varying location keys, %p', async databaseId => { const mockWarn = jest.fn(); - const { db } = await createDatabase(databaseId, ({ + const { db } = await createDatabase(databaseId, { debug: jest.fn(), warn: mockWarn, - } as unknown) as Logger); + } as unknown as Logger); await db.transaction(async tx => { const knexTx = tx as Knex.Transaction; diff --git a/plugins/catalog-backend/src/next/processing/DefaultCatalogProcessingOrchestrator.ts b/plugins/catalog-backend/src/next/processing/DefaultCatalogProcessingOrchestrator.ts index bb23b6afb3..d7f51807a3 100644 --- a/plugins/catalog-backend/src/next/processing/DefaultCatalogProcessingOrchestrator.ts +++ b/plugins/catalog-backend/src/next/processing/DefaultCatalogProcessingOrchestrator.ts @@ -54,7 +54,8 @@ type Context = { }; export class DefaultCatalogProcessingOrchestrator - implements CatalogProcessingOrchestrator { + implements CatalogProcessingOrchestrator +{ constructor( private readonly options: { processors: CatalogProcessor[]; diff --git a/plugins/catalog-backend/src/search/DefaultCatalogCollator.ts b/plugins/catalog-backend/src/search/DefaultCatalogCollator.ts index 7ab91560b1..1f9c68e549 100644 --- a/plugins/catalog-backend/src/search/DefaultCatalogCollator.ts +++ b/plugins/catalog-backend/src/search/DefaultCatalogCollator.ts @@ -59,23 +59,21 @@ export class DefaultCatalogCollator implements DocumentCollator { const baseUrl = await this.discovery.getBaseUrl('catalog'); const res = await fetch(`${baseUrl}/entities`); const entities: Entity[] = await res.json(); - return entities.map( - (entity: Entity): CatalogEntityDocument => { - return { - title: entity.metadata.name, - location: this.applyArgsToFormat(this.locationTemplate, { - namespace: entity.metadata.namespace || 'default', - kind: entity.kind, - name: entity.metadata.name, - }), - text: entity.metadata.description || '', - componentType: entity.spec?.type?.toString() || 'other', + return entities.map((entity: Entity): CatalogEntityDocument => { + return { + title: entity.metadata.name, + location: this.applyArgsToFormat(this.locationTemplate, { namespace: entity.metadata.namespace || 'default', kind: entity.kind, - lifecycle: (entity.spec?.lifecycle as string) || '', - owner: (entity.spec?.owner as string) || '', - }; - }, - ); + name: entity.metadata.name, + }), + text: entity.metadata.description || '', + componentType: entity.spec?.type?.toString() || 'other', + namespace: entity.metadata.namespace || 'default', + kind: entity.kind, + lifecycle: (entity.spec?.lifecycle as string) || '', + owner: (entity.spec?.owner as string) || '', + }; + }); } } diff --git a/plugins/catalog-backend/src/service/request/parseEntityTransformParams.test.ts b/plugins/catalog-backend/src/service/request/parseEntityTransformParams.test.ts index 9f867e241f..1d5d41fc03 100644 --- a/plugins/catalog-backend/src/service/request/parseEntityTransformParams.test.ts +++ b/plugins/catalog-backend/src/service/request/parseEntityTransformParams.test.ts @@ -60,8 +60,8 @@ describe('parseEntityTransformParams', () => { expect( parseEntityTransformParams({ fields: 'kind,metadata.name' })!(entity), ).toEqual({ kind: 'k', metadata: { name: 'n' } }); - expect( - parseEntityTransformParams({ fields: 'metadata' })!(entity), - ).toEqual({ metadata: { name: 'n', tags: ['t1', 't2'] } }); + expect(parseEntityTransformParams({ fields: 'metadata' })!(entity)).toEqual( + { metadata: { name: 'n', tags: ['t1', 't2'] } }, + ); }); }); diff --git a/plugins/catalog-backend/src/service/router.test.ts b/plugins/catalog-backend/src/service/router.test.ts index c4631c6c2c..8e8b91d013 100644 --- a/plugins/catalog-backend/src/service/router.test.ts +++ b/plugins/catalog-backend/src/service/router.test.ts @@ -291,10 +291,10 @@ describe('createRouter readonly disabled', () => { describe('POST /locations', () => { it('rejects malformed locations', async () => { - const spec = ({ + const spec = { typez: 'b', target: 'c', - } as unknown) as LocationSpec; + } as unknown as LocationSpec; const response = await request(app).post('/locations').send(spec); diff --git a/plugins/catalog-backend/src/service/standaloneServer.ts b/plugins/catalog-backend/src/service/standaloneServer.ts index ab8d40d74c..7e0bacde32 100644 --- a/plugins/catalog-backend/src/service/standaloneServer.ts +++ b/plugins/catalog-backend/src/service/standaloneServer.ts @@ -49,11 +49,8 @@ export async function startStandaloneServer( config, reader, }); - const { - entitiesCatalog, - locationsCatalog, - higherOrderOperation, - } = await builder.build(); + const { entitiesCatalog, locationsCatalog, higherOrderOperation } = + await builder.build(); logger.debug('Starting application server...'); const router = await createRouter({ diff --git a/plugins/catalog-backend/src/service/util.ts b/plugins/catalog-backend/src/service/util.ts index 7902458900..d2f9fa0a4c 100644 --- a/plugins/catalog-backend/src/service/util.ts +++ b/plugins/catalog-backend/src/service/util.ts @@ -52,7 +52,7 @@ export async function validateRequestBody( throw new InputError(`Malformed request: ${e}`); } - return (body as unknown) as T; + return body as unknown as T; } export function disallowReadonlyMode(readonly: boolean) { diff --git a/plugins/catalog-graphql/src/graphql/types.ts b/plugins/catalog-graphql/src/graphql/types.ts index dbcf30152f..71e40181d4 100644 --- a/plugins/catalog-graphql/src/graphql/types.ts +++ b/plugins/catalog-graphql/src/graphql/types.ts @@ -219,7 +219,7 @@ export interface SubscriptionSubscriberObject< TKey extends string, TParent, TContext, - TArgs + TArgs, > { subscribe: SubscriptionSubscribeFn< { [key in TKey]: TResult }, @@ -245,7 +245,7 @@ export type SubscriptionObject< TKey extends string, TParent, TContext, - TArgs + TArgs, > = | SubscriptionSubscriberObject | SubscriptionResolverObject; @@ -255,7 +255,7 @@ export type SubscriptionResolver< TKey extends string, TParent = {}, TContext = {}, - TArgs = {} + TArgs = {}, > = | (( ...args: any[] @@ -279,7 +279,7 @@ export type DirectiveResolverFn< TResult = {}, TParent = {}, TContext = {}, - TArgs = {} + TArgs = {}, > = ( next: NextResolverFn, parent: TParent, @@ -364,7 +364,7 @@ export interface JsonObjectScalarConfig export type EntityMetadataResolvers< ContextType = ModuleContext, - ParentType = ResolversParentTypes['EntityMetadata'] + ParentType = ResolversParentTypes['EntityMetadata'], > = ResolversObject<{ __resolveType: TypeResolveFn< 'DefaultEntityMetadata' | 'ComponentMetadata' | 'TemplateMetadata', @@ -393,7 +393,7 @@ export type EntityMetadataResolvers< export type DefaultEntityMetadataResolvers< ContextType = ModuleContext, - ParentType = ResolversParentTypes['DefaultEntityMetadata'] + ParentType = ResolversParentTypes['DefaultEntityMetadata'], > = ResolversObject<{ name?: Resolver; annotations?: Resolver; @@ -418,7 +418,7 @@ export type DefaultEntityMetadataResolvers< export type ComponentMetadataResolvers< ContextType = ModuleContext, - ParentType = ResolversParentTypes['ComponentMetadata'] + ParentType = ResolversParentTypes['ComponentMetadata'], > = ResolversObject<{ name?: Resolver; annotations?: Resolver; @@ -448,7 +448,7 @@ export type ComponentMetadataResolvers< export type TemplateMetadataResolvers< ContextType = ModuleContext, - ParentType = ResolversParentTypes['TemplateMetadata'] + ParentType = ResolversParentTypes['TemplateMetadata'], > = ResolversObject<{ name?: Resolver; annotations?: Resolver; @@ -478,7 +478,7 @@ export type TemplateMetadataResolvers< export type TemplateEntitySpecResolvers< ContextType = ModuleContext, - ParentType = ResolversParentTypes['TemplateEntitySpec'] + ParentType = ResolversParentTypes['TemplateEntitySpec'], > = ResolversObject<{ type?: Resolver; path?: Resolver, ParentType, ContextType>; @@ -489,7 +489,7 @@ export type TemplateEntitySpecResolvers< export type ComponentEntitySpecResolvers< ContextType = ModuleContext, - ParentType = ResolversParentTypes['ComponentEntitySpec'] + ParentType = ResolversParentTypes['ComponentEntitySpec'], > = ResolversObject<{ title?: Resolver; lifecycle?: Resolver; @@ -499,7 +499,7 @@ export type ComponentEntitySpecResolvers< export type LocationEntitySpecResolvers< ContextType = ModuleContext, - ParentType = ResolversParentTypes['LocationEntitySpec'] + ParentType = ResolversParentTypes['LocationEntitySpec'], > = ResolversObject<{ type?: Resolver; target?: Resolver, ParentType, ContextType>; @@ -509,7 +509,7 @@ export type LocationEntitySpecResolvers< export type DefaultEntitySpecResolvers< ContextType = ModuleContext, - ParentType = ResolversParentTypes['DefaultEntitySpec'] + ParentType = ResolversParentTypes['DefaultEntitySpec'], > = ResolversObject<{ raw?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; @@ -517,7 +517,7 @@ export type DefaultEntitySpecResolvers< export type EntitySpecResolvers< ContextType = ModuleContext, - ParentType = ResolversParentTypes['EntitySpec'] + ParentType = ResolversParentTypes['EntitySpec'], > = ResolversObject<{ __resolveType: TypeResolveFn< | 'DefaultEntitySpec' @@ -531,7 +531,7 @@ export type EntitySpecResolvers< export type CatalogEntityResolvers< ContextType = ModuleContext, - ParentType = ResolversParentTypes['CatalogEntity'] + ParentType = ResolversParentTypes['CatalogEntity'], > = ResolversObject<{ apiVersion?: Resolver; kind?: Resolver; @@ -546,7 +546,7 @@ export type CatalogEntityResolvers< export type CatalogQueryResolvers< ContextType = ModuleContext, - ParentType = ResolversParentTypes['CatalogQuery'] + ParentType = ResolversParentTypes['CatalogQuery'], > = ResolversObject<{ list?: Resolver< Array, @@ -558,7 +558,7 @@ export type CatalogQueryResolvers< export type QueryResolvers< ContextType = ModuleContext, - ParentType = ResolversParentTypes['Query'] + ParentType = ResolversParentTypes['Query'], > = ResolversObject<{ catalog?: Resolver; }>; diff --git a/plugins/catalog-import/api-report.md b/plugins/catalog-import/api-report.md index ac4360f463..708ee84fd0 100644 --- a/plugins/catalog-import/api-report.md +++ b/plugins/catalog-import/api-report.md @@ -178,7 +178,7 @@ export const ImportStepper: ({ // // @public export const PreparePullRequestForm: < - TFieldValues extends Record + TFieldValues extends Record, >({ defaultValues, onSubmit, diff --git a/plugins/catalog-import/src/api/CatalogImportClient.test.ts b/plugins/catalog-import/src/api/CatalogImportClient.test.ts index e2c3f2dc47..bae363d700 100644 --- a/plugins/catalog-import/src/api/CatalogImportClient.test.ts +++ b/plugins/catalog-import/src/api/CatalogImportClient.test.ts @@ -192,7 +192,7 @@ describe('CatalogImportClient', () => { }); it('should find locations from github', async () => { - ((new Octokit().search.code as any) as jest.Mock).mockResolvedValueOnce({ + (new Octokit().search.code as any as jest.Mock).mockResolvedValueOnce({ data: { total_count: 2, items: [ @@ -248,7 +248,7 @@ describe('CatalogImportClient', () => { }); it('should find repository from github', async () => { - ((new Octokit().search.code as any) as jest.Mock).mockResolvedValueOnce({ + (new Octokit().search.code as any as jest.Mock).mockResolvedValueOnce({ data: { total_count: 0, items: [] }, }); @@ -312,7 +312,7 @@ describe('CatalogImportClient', () => { }); expect( - ((new Octokit().git.createRef as any) as jest.Mock).mock.calls[0][0], + (new Octokit().git.createRef as any as jest.Mock).mock.calls[0][0], ).toEqual({ owner: 'backstage', repo: 'backstage', @@ -320,7 +320,7 @@ describe('CatalogImportClient', () => { sha: 'any', }); expect( - ((new Octokit().repos.createOrUpdateFileContents as any) as jest.Mock) + (new Octokit().repos.createOrUpdateFileContents as any as jest.Mock) .mock.calls[0][0], ).toEqual({ owner: 'backstage', @@ -331,7 +331,7 @@ describe('CatalogImportClient', () => { branch: 'backstage-integration', }); expect( - ((new Octokit().pulls.create as any) as jest.Mock).mock.calls[0][0], + (new Octokit().pulls.create as any as jest.Mock).mock.calls[0][0], ).toEqual({ owner: 'backstage', repo: 'backstage', diff --git a/plugins/catalog-import/src/components/ImportComponentPage.tsx b/plugins/catalog-import/src/components/ImportComponentPage.tsx index f4ca144165..bf53af134f 100644 --- a/plugins/catalog-import/src/components/ImportComponentPage.tsx +++ b/plugins/catalog-import/src/components/ImportComponentPage.tsx @@ -53,8 +53,7 @@ export const ImportComponentPage = (opts: StepperProviderOpts) => { title="Register an existing component" deepLink={{ title: 'Learn more about the Software Catalog', - link: - 'https://backstage.io/docs/features/software-catalog/software-catalog-overview', + link: 'https://backstage.io/docs/features/software-catalog/software-catalog-overview', }} > diff --git a/plugins/catalog-import/src/components/ImportStepper/defaults.tsx b/plugins/catalog-import/src/components/ImportStepper/defaults.tsx index 51524dae26..054fd99895 100644 --- a/plugins/catalog-import/src/components/ImportStepper/defaults.tsx +++ b/plugins/catalog-import/src/components/ImportStepper/defaults.tsx @@ -39,9 +39,10 @@ import { ConfigApi } from '@backstage/core-plugin-api'; export type StepperProviderOpts = { pullRequest?: { disable?: boolean; - preparePullRequest?: ( - apis: StepperApis, - ) => { title?: string; body?: string }; + preparePullRequest?: (apis: StepperApis) => { + title?: string; + body?: string; + }; }; }; diff --git a/plugins/catalog-import/src/components/StepInitAnalyzeUrl/StepInitAnalyzeUrl.test.tsx b/plugins/catalog-import/src/components/StepInitAnalyzeUrl/StepInitAnalyzeUrl.test.tsx index 69f58751b8..9cc9532a3d 100644 --- a/plugins/catalog-import/src/components/StepInitAnalyzeUrl/StepInitAnalyzeUrl.test.tsx +++ b/plugins/catalog-import/src/components/StepInitAnalyzeUrl/StepInitAnalyzeUrl.test.tsx @@ -382,7 +382,7 @@ describe('', () => { ); catalogImportApi.analyzeUrl.mockReturnValueOnce( - Promise.resolve(({ type: 'unknown' } as any) as AnalyzeResult), + Promise.resolve({ type: 'unknown' } as any as AnalyzeResult), ); await act(async () => { diff --git a/plugins/catalog-import/src/components/StepPrepareCreatePullRequest/PreparePullRequestForm.tsx b/plugins/catalog-import/src/components/StepPrepareCreatePullRequest/PreparePullRequestForm.tsx index dea3b4bac9..ab3241add4 100644 --- a/plugins/catalog-import/src/components/StepPrepareCreatePullRequest/PreparePullRequestForm.tsx +++ b/plugins/catalog-import/src/components/StepPrepareCreatePullRequest/PreparePullRequestForm.tsx @@ -49,19 +49,14 @@ type Props> = Pick< * @param render render the form elements */ export const PreparePullRequestForm = < - TFieldValues extends Record + TFieldValues extends Record, >({ defaultValues, onSubmit, render, }: Props) => { - const { - handleSubmit, - watch, - control, - register, - errors, - } = useForm({ mode: 'onTouched', defaultValues }); + const { handleSubmit, watch, control, register, errors } = + useForm({ mode: 'onTouched', defaultValues }); return (
    diff --git a/plugins/catalog-react/api-report.md b/plugins/catalog-react/api-report.md index a8175c8ec2..8471a80fe5 100644 --- a/plugins/catalog-react/api-report.md +++ b/plugins/catalog-react/api-report.md @@ -516,9 +516,7 @@ export const entityRoute: RouteRef<{ // Warning: (ae-missing-release-tag) "entityRouteParams" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -export function entityRouteParams( - entity: Entity, -): { +export function entityRouteParams(entity: Entity): { readonly kind: string; readonly namespace: string; readonly name: string; @@ -721,7 +719,7 @@ export const useEntityFromUrl: () => EntityLoadingStatus; // // @public (undocumented) export function useEntityListProvider< - EntityFilters extends DefaultEntityFilters = DefaultEntityFilters + EntityFilters extends DefaultEntityFilters = DefaultEntityFilters, >(): EntityListContextProps; // Warning: (ae-missing-release-tag) "useEntityOwnership" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) diff --git a/plugins/catalog-react/src/components/EntityLifecyclePicker/EntityLifecyclePicker.tsx b/plugins/catalog-react/src/components/EntityLifecyclePicker/EntityLifecyclePicker.tsx index e92918f551..398f619f3f 100644 --- a/plugins/catalog-react/src/components/EntityLifecyclePicker/EntityLifecyclePicker.tsx +++ b/plugins/catalog-react/src/components/EntityLifecyclePicker/EntityLifecyclePicker.tsx @@ -34,12 +34,8 @@ const icon = ; const checkedIcon = ; export const EntityLifecyclePicker = () => { - const { - updateFilters, - backendEntities, - filters, - queryParameters, - } = useEntityListProvider(); + const { updateFilters, backendEntities, filters, queryParameters } = + useEntityListProvider(); const queryParamLifecycles = [queryParameters.lifecycles] .flat() diff --git a/plugins/catalog-react/src/components/EntityOwnerPicker/EntityOwnerPicker.tsx b/plugins/catalog-react/src/components/EntityOwnerPicker/EntityOwnerPicker.tsx index eb2f274423..896cbc926b 100644 --- a/plugins/catalog-react/src/components/EntityOwnerPicker/EntityOwnerPicker.tsx +++ b/plugins/catalog-react/src/components/EntityOwnerPicker/EntityOwnerPicker.tsx @@ -36,12 +36,8 @@ const icon = ; const checkedIcon = ; export const EntityOwnerPicker = () => { - const { - updateFilters, - backendEntities, - filters, - queryParameters, - } = useEntityListProvider(); + const { updateFilters, backendEntities, filters, queryParameters } = + useEntityListProvider(); const queryParamOwners = [queryParameters.owners] .flat() diff --git a/plugins/catalog-react/src/components/EntityTable/columns.tsx b/plugins/catalog-react/src/components/EntityTable/columns.tsx index 37b1c383c7..27bf8854b6 100644 --- a/plugins/catalog-react/src/components/EntityTable/columns.tsx +++ b/plugins/catalog-react/src/components/EntityTable/columns.tsx @@ -134,7 +134,7 @@ export function createSystemColumn(): TableColumn { } export function createMetadataDescriptionColumn< - T extends Entity + T extends Entity, >(): TableColumn { return { title: 'Description', diff --git a/plugins/catalog-react/src/components/EntityTagPicker/EntityTagPicker.tsx b/plugins/catalog-react/src/components/EntityTagPicker/EntityTagPicker.tsx index 7171bb5ab1..78a2911946 100644 --- a/plugins/catalog-react/src/components/EntityTagPicker/EntityTagPicker.tsx +++ b/plugins/catalog-react/src/components/EntityTagPicker/EntityTagPicker.tsx @@ -34,12 +34,8 @@ const icon = ; const checkedIcon = ; export const EntityTagPicker = () => { - const { - updateFilters, - backendEntities, - filters, - queryParameters, - } = useEntityListProvider(); + const { updateFilters, backendEntities, filters, queryParameters } = + useEntityListProvider(); const queryParamTags = [queryParameters.tags] .flat() diff --git a/plugins/catalog-react/src/components/EntityTypePicker/EntityTypePicker.test.tsx b/plugins/catalog-react/src/components/EntityTypePicker/EntityTypePicker.test.tsx index fccf985f4f..903a7ba4eb 100644 --- a/plugins/catalog-react/src/components/EntityTypePicker/EntityTypePicker.test.tsx +++ b/plugins/catalog-react/src/components/EntityTypePicker/EntityTypePicker.test.tsx @@ -63,17 +63,17 @@ const entities: Entity[] = [ const apis = ApiRegistry.from([ [ catalogApiRef, - ({ + { getEntities: jest .fn() .mockImplementation(() => Promise.resolve({ items: entities })), - } as unknown) as CatalogApi, + } as unknown as CatalogApi, ], [ alertApiRef, - ({ + { post: jest.fn(), - } as unknown) as AlertApi, + } as unknown as AlertApi, ], ]); diff --git a/plugins/catalog-react/src/components/EntityTypePicker/EntityTypePicker.tsx b/plugins/catalog-react/src/components/EntityTypePicker/EntityTypePicker.tsx index 88538d1f65..ef6b30f863 100644 --- a/plugins/catalog-react/src/components/EntityTypePicker/EntityTypePicker.tsx +++ b/plugins/catalog-react/src/components/EntityTypePicker/EntityTypePicker.tsx @@ -24,12 +24,8 @@ import { Select } from '@backstage/core-components'; export const EntityTypePicker = () => { const alertApi = useApi(alertApiRef); - const { - error, - availableTypes, - selectedTypes, - setSelectedTypes, - } = useEntityTypeFilter(); + const { error, availableTypes, selectedTypes, setSelectedTypes } = + useEntityTypeFilter(); useEffect(() => { if (error) { diff --git a/plugins/catalog-react/src/components/UserListPicker/UserListPicker.tsx b/plugins/catalog-react/src/components/UserListPicker/UserListPicker.tsx index 0e764507fe..bfc55142a6 100644 --- a/plugins/catalog-react/src/components/UserListPicker/UserListPicker.tsx +++ b/plugins/catalog-react/src/components/UserListPicker/UserListPicker.tsx @@ -129,12 +129,8 @@ export const UserListPicker = ({ })) .filter(({ items }) => !!items.length); - const { - filters, - updateFilters, - backendEntities, - queryParameters, - } = useEntityListProvider(); + const { filters, updateFilters, backendEntities, queryParameters } = + useEntityListProvider(); const { isStarredEntity } = useStarredEntities(); const { isOwnedEntity } = useEntityOwnership(); @@ -166,9 +162,8 @@ export const UserListPicker = ({ // To show proper counts for each section, apply all other frontend filters _except_ the user // filter that's controlled by this picker. - const [entitiesWithoutUserFilter, setEntitiesWithoutUserFilter] = useState( - backendEntities, - ); + const [entitiesWithoutUserFilter, setEntitiesWithoutUserFilter] = + useState(backendEntities); useEffect(() => { const filterFn = reduceEntityFilters( compact(Object.values({ ...filters, user: undefined })), diff --git a/plugins/catalog-react/src/hooks/useEntity.ts b/plugins/catalog-react/src/hooks/useEntity.ts index 6fe25fb115..a7e6a09ae7 100644 --- a/plugins/catalog-react/src/hooks/useEntity.ts +++ b/plugins/catalog-react/src/hooks/useEntity.ts @@ -41,7 +41,12 @@ export const useEntityFromUrl = (): EntityLoadingStatus => { const errorApi = useApi(errorApiRef); const catalogApi = useApi(catalogApiRef); - const { value: entity, error, loading, retry: refresh } = useAsyncRetry( + const { + value: entity, + error, + loading, + retry: refresh, + } = useAsyncRetry( () => catalogApi.getEntityByName({ kind, namespace, name }), [catalogApi, kind, namespace, name], ); diff --git a/plugins/catalog-react/src/hooks/useEntityListProvider.tsx b/plugins/catalog-react/src/hooks/useEntityListProvider.tsx index 2506b55d6d..54d2fdcd47 100644 --- a/plugins/catalog-react/src/hooks/useEntityListProvider.tsx +++ b/plugins/catalog-react/src/hooks/useEntityListProvider.tsx @@ -51,7 +51,7 @@ export type DefaultEntityFilters = { }; export type EntityListContextProps< - EntityFilters extends DefaultEntityFilters = DefaultEntityFilters + EntityFilters extends DefaultEntityFilters = DefaultEntityFilters, > = { /** * The currently registered filters, adhering to the shape of DefaultEntityFilters or an extension @@ -215,7 +215,7 @@ export const EntityListProvider = ({ }; export function useEntityListProvider< - EntityFilters extends DefaultEntityFilters = DefaultEntityFilters + EntityFilters extends DefaultEntityFilters = DefaultEntityFilters, >(): EntityListContextProps { const context = useContext(EntityListContext); if (!context) diff --git a/plugins/catalog-react/src/hooks/useEntityOwnership.test.tsx b/plugins/catalog-react/src/hooks/useEntityOwnership.test.tsx index f617565e81..4edad98c12 100644 --- a/plugins/catalog-react/src/hooks/useEntityOwnership.test.tsx +++ b/plugins/catalog-react/src/hooks/useEntityOwnership.test.tsx @@ -46,8 +46,8 @@ describe('useEntityOwnership', () => { getEntityByName: jest.fn(), }; - const identityApi = (mockIdentityApi as unknown) as IdentityApi; - const catalogApi = (mockCatalogApi as unknown) as CatalogApi; + const identityApi = mockIdentityApi as unknown as IdentityApi; + const catalogApi = mockCatalogApi as unknown as CatalogApi; const Wrapper = ({ children }: { children?: React.ReactNode }) => ( { const myOwnerRefs = new Set(refs ?? []); return (entity: Entity | EntityName) => { - const entityOwnerRefs = ('metadata' in entity - ? getEntityRelations(entity, RELATION_OWNED_BY) - : [entity] + const entityOwnerRefs = ( + 'metadata' in entity + ? getEntityRelations(entity, RELATION_OWNED_BY) + : [entity] ).map(stringifyEntityRef); for (const ref of entityOwnerRefs) { if (myOwnerRefs.has(ref)) { diff --git a/plugins/catalog-react/src/hooks/useEntityTypeFilter.tsx b/plugins/catalog-react/src/hooks/useEntityTypeFilter.tsx index 5fa6b0f1a2..5a8ed6775a 100644 --- a/plugins/catalog-react/src/hooks/useEntityTypeFilter.tsx +++ b/plugins/catalog-react/src/hooks/useEntityTypeFilter.tsx @@ -53,7 +53,11 @@ export function useEntityTypeFilter(): EntityTypeReturn { // Load all valid spec.type values straight from the catalogApi, paying attention to only the // kind filter for a complete list. - const { error, loading, value: entities } = useAsync(async () => { + const { + error, + loading, + value: entities, + } = useAsync(async () => { if (kind) { const items = await catalogApi .getEntities({ diff --git a/plugins/catalog-react/src/hooks/useRelatedEntities.ts b/plugins/catalog-react/src/hooks/useRelatedEntities.ts index 83ed2baa58..6d6553c9e2 100644 --- a/plugins/catalog-react/src/hooks/useRelatedEntities.ts +++ b/plugins/catalog-react/src/hooks/useRelatedEntities.ts @@ -30,7 +30,11 @@ export function useRelatedEntities( error: Error | undefined; } { const catalogApi = useApi(catalogApiRef); - const { loading, value: entities, error } = useAsync(async () => { + const { + loading, + value: entities, + error, + } = useAsync(async () => { const relations = entity.relations && entity.relations.filter( diff --git a/plugins/catalog/src/components/SystemDiagramCard/SystemDiagramCard.tsx b/plugins/catalog/src/components/SystemDiagramCard/SystemDiagramCard.tsx index 272ad8a6d6..b3326abaab 100644 --- a/plugins/catalog/src/components/SystemDiagramCard/SystemDiagramCard.tsx +++ b/plugins/catalog/src/components/SystemDiagramCard/SystemDiagramCard.tsx @@ -158,7 +158,11 @@ export function SystemDiagramCard() { const systemEdges = new Array<{ from: string; to: string; label: string }>(); const catalogApi = useApi(catalogApiRef); - const { loading, error, value: catalogResponse } = useAsync(() => { + const { + loading, + error, + value: catalogResponse, + } = useAsync(() => { return catalogApi.getEntities({ filter: { kind: ['Component', 'API', 'Resource', 'System', 'Domain'], diff --git a/plugins/catalog/src/components/UnregisterEntityDialog/useUnregisterEntityDialogState.test.tsx b/plugins/catalog/src/components/UnregisterEntityDialog/useUnregisterEntityDialogState.test.tsx index 52b04020a9..6cc2f4b23b 100644 --- a/plugins/catalog/src/components/UnregisterEntityDialog/useUnregisterEntityDialogState.test.tsx +++ b/plugins/catalog/src/components/UnregisterEntityDialog/useUnregisterEntityDialogState.test.tsx @@ -47,7 +47,7 @@ describe('useUnregisterEntityDialogState', () => { removeLocationById: jest.fn(), removeEntityByUid: jest.fn(), }; - const catalogApi = (catalogApiMock as Partial) as CatalogApi; + const catalogApi = catalogApiMock as Partial as CatalogApi; const Wrapper = ({ children }: { children?: React.ReactNode }) => ( diff --git a/plugins/circleci/src/components/BuildWithStepsPage/BuildWithStepsPage.tsx b/plugins/circleci/src/components/BuildWithStepsPage/BuildWithStepsPage.tsx index 3cdc0eea7a..137833ee0b 100644 --- a/plugins/circleci/src/components/BuildWithStepsPage/BuildWithStepsPage.tsx +++ b/plugins/circleci/src/components/BuildWithStepsPage/BuildWithStepsPage.tsx @@ -35,7 +35,7 @@ import { Link, } from '@backstage/core-components'; -const IconLink = (IconButton as any) as typeof MaterialLink; +const IconLink = IconButton as any as typeof MaterialLink; const BuildName = ({ build }: { build?: BuildWithSteps }) => ( diff --git a/plugins/circleci/src/state/useBuildWithSteps.ts b/plugins/circleci/src/state/useBuildWithSteps.ts index c5b5bb1dee..eb3c0c1506 100644 --- a/plugins/circleci/src/state/useBuildWithSteps.ts +++ b/plugins/circleci/src/state/useBuildWithSteps.ts @@ -62,9 +62,10 @@ export function useBuildWithSteps(buildId: number) { } }; - const { loading, value, retry } = useAsyncRetry(() => getBuildWithSteps(), [ - getBuildWithSteps, - ]); + const { loading, value, retry } = useAsyncRetry( + () => getBuildWithSteps(), + [getBuildWithSteps], + ); const { startPolling, stopPolling } = useAsyncPolling( getBuildWithSteps, diff --git a/plugins/circleci/src/state/useBuilds.ts b/plugins/circleci/src/state/useBuilds.ts index 9feb16d253..a9869644a3 100644 --- a/plugins/circleci/src/state/useBuilds.ts +++ b/plugins/circleci/src/state/useBuilds.ts @@ -26,21 +26,23 @@ import { errorApiRef, useApi } from '@backstage/core-plugin-api'; const makeReadableStatus = (status: string | undefined) => { if (!status) return ''; - return ({ - retried: 'Retried', - canceled: 'Canceled', - infrastructure_fail: 'Infra fail', - timedout: 'Timedout', - not_run: 'Not run', - running: 'Running', - failed: 'Failed', - queued: 'Queued', - scheduled: 'Scheduled', - not_running: 'Not running', - no_tests: 'No tests', - fixed: 'Fixed', - success: 'Success', - } as Record)[status]; + return ( + { + retried: 'Retried', + canceled: 'Canceled', + infrastructure_fail: 'Infra fail', + timedout: 'Timedout', + not_run: 'Not run', + running: 'Running', + failed: 'Failed', + queued: 'Queued', + scheduled: 'Scheduled', + not_running: 'Not running', + no_tests: 'No tests', + fixed: 'Fixed', + success: 'Success', + } as Record + )[status]; }; const mapWorkflowDetails = (buildData: BuildSummary) => { diff --git a/plugins/cloudbuild/src/api/CloudbuildClient.ts b/plugins/cloudbuild/src/api/CloudbuildClient.ts index ce9dfb700c..cbd47e84e9 100644 --- a/plugins/cloudbuild/src/api/CloudbuildClient.ts +++ b/plugins/cloudbuild/src/api/CloudbuildClient.ts @@ -60,7 +60,8 @@ export class CloudbuildClient implements CloudbuildApi { }, ); - const builds: ActionsListWorkflowRunsForRepoResponseData = await workflowRuns.json(); + const builds: ActionsListWorkflowRunsForRepoResponseData = + await workflowRuns.json(); return builds; } diff --git a/plugins/cloudbuild/src/components/WorkflowRunDetails/useWorkflowRunJobs.ts b/plugins/cloudbuild/src/components/WorkflowRunDetails/useWorkflowRunJobs.ts index 9bd1ea2c82..0450d3d613 100644 --- a/plugins/cloudbuild/src/components/WorkflowRunDetails/useWorkflowRunJobs.ts +++ b/plugins/cloudbuild/src/components/WorkflowRunDetails/useWorkflowRunJobs.ts @@ -17,15 +17,16 @@ import { useAsync } from 'react-use'; import { ActionsListWorkflowRunsForRepoResponseData } from '../../api/types'; export const useWorkflowRunJobs = (jobsUrl?: string) => { - const jobs = useAsync(async (): Promise => { - if (jobsUrl === undefined) { - return { - builds: [], - }; - } + const jobs = + useAsync(async (): Promise => { + if (jobsUrl === undefined) { + return { + builds: [], + }; + } - const data = await fetch(jobsUrl).then(d => d.json()); - return data; - }, [jobsUrl]); + const data = await fetch(jobsUrl).then(d => d.json()); + return data; + }, [jobsUrl]); return jobs; }; diff --git a/plugins/cloudbuild/src/components/useWorkflowRuns.ts b/plugins/cloudbuild/src/components/useWorkflowRuns.ts index b1efeecbbe..3c4810d4f6 100644 --- a/plugins/cloudbuild/src/components/useWorkflowRuns.ts +++ b/plugins/cloudbuild/src/components/useWorkflowRuns.ts @@ -41,9 +41,12 @@ export function useWorkflowRuns({ projectId }: { projectId: string }) { const [page, setPage] = useState(0); const [pageSize, setPageSize] = useState(5); - const { loading, value: runs, retry, error } = useAsyncRetry< - WorkflowRun[] - >(async () => { + const { + loading, + value: runs, + retry, + error, + } = useAsyncRetry(async () => { return api .listWorkflowRuns({ projectId, diff --git a/plugins/code-coverage-backend/src/service/converter/cobertura.ts b/plugins/code-coverage-backend/src/service/converter/cobertura.ts index 429e645cf2..12893a397d 100644 --- a/plugins/code-coverage-backend/src/service/converter/cobertura.ts +++ b/plugins/code-coverage-backend/src/service/converter/cobertura.ts @@ -117,8 +117,8 @@ export class Cobertura implements Converter { const lines = [classLines, methodLines].flat().filter(Boolean); const lineHits = lines.map(l => { return { - number: parseInt((l.$.number as unknown) as string, 10), - hits: parseInt((l.$.hits as unknown) as string, 10), + number: parseInt(l.$.number as unknown as string, 10), + hits: parseInt(l.$.hits as unknown as string, 10), 'condition-coverage': l.$['condition-coverage'], branch: l.$.branch, }; diff --git a/plugins/code-coverage-backend/src/service/router.ts b/plugins/code-coverage-backend/src/service/router.ts index f28ff5e0d5..5f136cc8e9 100644 --- a/plugins/code-coverage-backend/src/service/router.ts +++ b/plugins/code-coverage-backend/src/service/router.ts @@ -189,12 +189,8 @@ export const makeRouter = async ( throw new InputError(`Unsupported coverage type '${coverageType}`); } - const { - sourceLocation, - vcs, - scmFiles, - body, - } = await utils.processCoveragePayload(entityLookup, req); + const { sourceLocation, vcs, scmFiles, body } = + await utils.processCoveragePayload(entityLookup, req); const files = converter.convert(body, scmFiles); if (!files || files.length === 0) { diff --git a/plugins/config-schema/dev/index.tsx b/plugins/config-schema/dev/index.tsx index ef31dc10ee..135449d808 100644 --- a/plugins/config-schema/dev/index.tsx +++ b/plugins/config-schema/dev/index.tsx @@ -31,7 +31,7 @@ createDevApp() factory: () => ({ schema$: () => new Observable(sub => - sub.next({ schema: (exampleSchema as unknown) as Schema }), + sub.next({ schema: exampleSchema as unknown as Schema }), ), }), }) diff --git a/plugins/cost-insights/api-report.md b/plugins/cost-insights/api-report.md index 541c2af9e0..61ee64859c 100644 --- a/plugins/cost-insights/api-report.md +++ b/plugins/cost-insights/api-report.md @@ -100,7 +100,7 @@ export enum AlertDismissReason { // @public (undocumented) export type AlertForm< A extends Alert = any, - Data = any + Data = any, > = ForwardRefExoticComponent< AlertFormProps & RefAttributes >; diff --git a/plugins/cost-insights/src/components/AlertInsights/AlertInsights.tsx b/plugins/cost-insights/src/components/AlertInsights/AlertInsights.tsx index 01711e5328..2daacda85e 100644 --- a/plugins/cost-insights/src/components/AlertInsights/AlertInsights.tsx +++ b/plugins/cost-insights/src/components/AlertInsights/AlertInsights.tsx @@ -41,10 +41,10 @@ import { ScrollAnchor } from '../../utils/scroll'; type MapLoadingtoAlerts = (isLoading: boolean) => void; -const mapLoadingToAlerts: MapLoadingToProps = ({ - dispatch, -}) => (isLoading: boolean) => - dispatch({ [DefaultLoadingAction.CostInsightsAlerts]: isLoading }); +const mapLoadingToAlerts: MapLoadingToProps = + ({ dispatch }) => + (isLoading: boolean) => + dispatch({ [DefaultLoadingAction.CostInsightsAlerts]: isLoading }); type AlertInsightsProps = { group: string; diff --git a/plugins/cost-insights/src/components/BarChart/BarChartSteps.tsx b/plugins/cost-insights/src/components/BarChart/BarChartSteps.tsx index 682cd2a485..556154d046 100644 --- a/plugins/cost-insights/src/components/BarChart/BarChartSteps.tsx +++ b/plugins/cost-insights/src/components/BarChart/BarChartSteps.tsx @@ -30,12 +30,12 @@ export const BarChartSteps = ({ onClick, }: BarChartStepsProps) => { const classes = useStyles(); - const handleOnClick = (index: number) => ( - event: React.MouseEvent, - ) => { - event.preventDefault(); - onClick(index); - }; + const handleOnClick = + (index: number) => + (event: React.MouseEvent) => { + event.preventDefault(); + onClick(index); + }; return (
    diff --git a/plugins/cost-insights/src/components/CostInsightsPage/selector.tsx b/plugins/cost-insights/src/components/CostInsightsPage/selector.tsx index caafd6ad42..d9591dbdd6 100644 --- a/plugins/cost-insights/src/components/CostInsightsPage/selector.tsx +++ b/plugins/cost-insights/src/components/CostInsightsPage/selector.tsx @@ -31,21 +31,18 @@ type CostInsightsPageLoadingProps = { dispatchReset: (loadingActions: string[]) => void; }; -export const mapLoadingToProps: MapLoadingToProps = ({ - state, - actions, - dispatch, -}) => ({ - loadingActions: actions, - loadingGroups: state[DefaultLoadingAction.UserGroups], - loadingBillingDate: state[DefaultLoadingAction.LastCompleteBillingDate], - loadingInitial: state[DefaultLoadingAction.CostInsightsInitial], - dispatchInitial: (isLoading: boolean) => - dispatch({ [DefaultLoadingAction.CostInsightsInitial]: isLoading }), - dispatchInsights: (isLoading: boolean) => - dispatch({ [DefaultLoadingAction.CostInsightsPage]: isLoading }), - dispatchNone: (loadingActions: string[]) => - dispatch(getResetState(loadingActions)), - dispatchReset: (loadingActions: string[]) => - dispatch(getResetStateWithoutInitial(loadingActions)), -}); +export const mapLoadingToProps: MapLoadingToProps = + ({ state, actions, dispatch }) => ({ + loadingActions: actions, + loadingGroups: state[DefaultLoadingAction.UserGroups], + loadingBillingDate: state[DefaultLoadingAction.LastCompleteBillingDate], + loadingInitial: state[DefaultLoadingAction.CostInsightsInitial], + dispatchInitial: (isLoading: boolean) => + dispatch({ [DefaultLoadingAction.CostInsightsInitial]: isLoading }), + dispatchInsights: (isLoading: boolean) => + dispatch({ [DefaultLoadingAction.CostInsightsPage]: isLoading }), + dispatchNone: (loadingActions: string[]) => + dispatch(getResetState(loadingActions)), + dispatchReset: (loadingActions: string[]) => + dispatch(getResetStateWithoutInitial(loadingActions)), + }); diff --git a/plugins/cost-insights/src/components/CostInsightsTabs/selector.ts b/plugins/cost-insights/src/components/CostInsightsTabs/selector.ts index c212c0bb73..59b1c9549c 100644 --- a/plugins/cost-insights/src/components/CostInsightsTabs/selector.ts +++ b/plugins/cost-insights/src/components/CostInsightsTabs/selector.ts @@ -28,24 +28,20 @@ type CostInsightsTabsLoadingProps = { dispatchReset: (loadingActions: string[]) => void; }; -export const mapFiltersToProps: MapFiltersToProps = ({ - pageFilters, - setPageFilters, -}) => ({ - ...pageFilters, - setGroup: (group: Group) => - setPageFilters({ - ...pageFilters, - group: group.id, - project: null, - }), -}); +export const mapFiltersToProps: MapFiltersToProps = + ({ pageFilters, setPageFilters }) => ({ + ...pageFilters, + setGroup: (group: Group) => + setPageFilters({ + ...pageFilters, + group: group.id, + project: null, + }), + }); -export const mapLoadingToProps: MapLoadingToProps = ({ - actions, - dispatch, -}) => ({ - loadingActions: actions, - dispatchReset: (loadingActions: string[]) => - dispatch(getResetStateWithoutInitial(loadingActions)), -}); +export const mapLoadingToProps: MapLoadingToProps = + ({ actions, dispatch }) => ({ + loadingActions: actions, + dispatchReset: (loadingActions: string[]) => + dispatch(getResetStateWithoutInitial(loadingActions)), + }); diff --git a/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewCard.tsx b/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewCard.tsx index a5cd9e524e..1a4bb4ba6e 100644 --- a/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewCard.tsx +++ b/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewCard.tsx @@ -51,9 +51,8 @@ export const CostOverviewCard = ({ const styles = useOverviewTabsStyles(theme); const config = useConfig(); const [tabIndex, setTabIndex] = useState(0); - const { setDuration, setProject, setMetric, ...filters } = useFilters( - mapFiltersToProps, - ); + const { setDuration, setProject, setMetric, ...filters } = + useFilters(mapFiltersToProps); // Reset tabIndex if breakdowns available change useEffect(() => { diff --git a/plugins/cost-insights/src/components/ProductInsights/ProductInsights.test.tsx b/plugins/cost-insights/src/components/ProductInsights/ProductInsights.test.tsx index f90f30d2eb..7253febd71 100644 --- a/plugins/cost-insights/src/components/ProductInsights/ProductInsights.test.tsx +++ b/plugins/cost-insights/src/components/ProductInsights/ProductInsights.test.tsx @@ -170,7 +170,8 @@ describe('', () => { } it('should render each product panel', async () => { - const noComputeEngineCostsRgx = /There are no Compute Engine costs within this time frame for your team's projects./; + const noComputeEngineCostsRgx = + /There are no Compute Engine costs within this time frame for your team's projects./; const { getByText } = await renderInContext( void; -const mapLoadingToProps: MapLoadingToProps = ({ dispatch }) => ( - isLoading: boolean, -) => dispatch({ [DefaultLoadingAction.CostInsightsProducts]: isLoading }); +const mapLoadingToProps: MapLoadingToProps = + ({ dispatch }) => + (isLoading: boolean) => + dispatch({ [DefaultLoadingAction.CostInsightsProducts]: isLoading }); type ProductInsightsProps = { group: string; diff --git a/plugins/cost-insights/src/components/ProductInsightsCard/ProductInsightsCard.tsx b/plugins/cost-insights/src/components/ProductInsightsCard/ProductInsightsCard.tsx index a75141a7a3..2b4ee4b0db 100644 --- a/plugins/cost-insights/src/components/ProductInsightsCard/ProductInsightsCard.tsx +++ b/plugins/cost-insights/src/components/ProductInsightsCard/ProductInsightsCard.tsx @@ -49,9 +49,10 @@ export type ProductInsightsCardProps = { onSelectAsync: (product: Product, duration: Duration) => Promise; }; -const mapLoadingToProps: MapLoadingToProps = ({ dispatch }) => ( - isLoading: boolean, -) => dispatch({ [DefaultLoadingAction.CostInsightsProducts]: isLoading }); +const mapLoadingToProps: MapLoadingToProps = + ({ dispatch }) => + (isLoading: boolean) => + dispatch({ [DefaultLoadingAction.CostInsightsProducts]: isLoading }); export const ProductInsightsCard = ({ initialState, diff --git a/plugins/cost-insights/src/components/ProductInsightsCard/selector.ts b/plugins/cost-insights/src/components/ProductInsightsCard/selector.ts index c4ca0630c9..8d60253c3b 100644 --- a/plugins/cost-insights/src/components/ProductInsightsCard/selector.ts +++ b/plugins/cost-insights/src/components/ProductInsightsCard/selector.ts @@ -29,29 +29,22 @@ type ProductInsightsCardLoadingProps = { dispatchLoading: (isLoading: boolean) => void; }; -export const mapFiltersToProps = ( - product: string, -): MapFiltersToProps => ({ - pageFilters, - productFilters, - setProductFilters, -}) => ({ - ...pageFilters, - product: findAlways(productFilters, p => p.productType === product), - setProduct: (duration: Duration) => - setProductFilters( - productFilters.map(period => - period.productType === product ? { ...period, duration } : period, +export const mapFiltersToProps = + (product: string): MapFiltersToProps => + ({ pageFilters, productFilters, setProductFilters }) => ({ + ...pageFilters, + product: findAlways(productFilters, p => p.productType === product), + setProduct: (duration: Duration) => + setProductFilters( + productFilters.map(period => + period.productType === product ? { ...period, duration } : period, + ), ), - ), -}); + }); -export const mapLoadingToProps = ( - product: string, -): MapLoadingToProps => ({ - state, - dispatch, -}) => ({ - loadingProduct: state[product], - dispatchLoading: (isLoading: boolean) => dispatch({ [product]: isLoading }), -}); +export const mapLoadingToProps = + (product: string): MapLoadingToProps => + ({ state, dispatch }) => ({ + loadingProduct: state[product], + dispatchLoading: (isLoading: boolean) => dispatch({ [product]: isLoading }), + }); diff --git a/plugins/cost-insights/src/components/UnlabeledDataflowAlertCard/UnlabeledDataflowAlertCard.test.tsx b/plugins/cost-insights/src/components/UnlabeledDataflowAlertCard/UnlabeledDataflowAlertCard.test.tsx index 367af46112..5c226d4cb3 100644 --- a/plugins/cost-insights/src/components/UnlabeledDataflowAlertCard/UnlabeledDataflowAlertCard.test.tsx +++ b/plugins/cost-insights/src/components/UnlabeledDataflowAlertCard/UnlabeledDataflowAlertCard.test.tsx @@ -22,14 +22,13 @@ import { } from '../../testUtils'; import { renderInTestApp } from '@backstage/test-utils'; -const MockUnlabeledDataflowAlertMultipleProjects = createMockUnlabeledDataflowData( - data => ({ +const MockUnlabeledDataflowAlertMultipleProjects = + createMockUnlabeledDataflowData(data => ({ ...data, projects: [...Array(10)].map(() => createMockUnlabeledDataflowAlertProject(), ), - }), -); + })); const MockUnlabeledDataflowAlertSingleProject = createMockUnlabeledDataflowData( data => ({ diff --git a/plugins/cost-insights/src/hooks/useFilters.tsx b/plugins/cost-insights/src/hooks/useFilters.tsx index 959b280b69..abe7a132cc 100644 --- a/plugins/cost-insights/src/hooks/useFilters.tsx +++ b/plugins/cost-insights/src/hooks/useFilters.tsx @@ -54,9 +54,8 @@ export const FilterProvider = ({ children }: PropsWithChildren<{}>) => { const groups = useGroups(); const [error, setError] = useState>(null); const [pageFilters, setPageFilters] = useState>(null); - const [productFilters, setProductFilters] = useState>( - null, - ); + const [productFilters, setProductFilters] = + useState>(null); useEffect(() => { async function setPageFiltersFromLocation() { diff --git a/plugins/cost-insights/src/hooks/useLastCompleteBillingDate.tsx b/plugins/cost-insights/src/hooks/useLastCompleteBillingDate.tsx index 471debbaac..d8236ed61a 100644 --- a/plugins/cost-insights/src/hooks/useLastCompleteBillingDate.tsx +++ b/plugins/cost-insights/src/hooks/useLastCompleteBillingDate.tsx @@ -59,9 +59,8 @@ export const BillingDateProvider = ({ children }: PropsWithChildren<{}>) => { const [error, setError] = useState>(null); const { dispatchLoadingBillingDate } = useLoading(mapLoadingToProps); - const [lastCompleteBillingDate, setLastCompeteBillingDate] = useState< - Maybe - >(null); + const [lastCompleteBillingDate, setLastCompeteBillingDate] = + useState>(null); useEffect(() => { dispatchLoadingBillingDate(true); diff --git a/plugins/cost-insights/src/plugin.ts b/plugins/cost-insights/src/plugin.ts index 17a512ae9c..08910dcbca 100644 --- a/plugins/cost-insights/src/plugin.ts +++ b/plugins/cost-insights/src/plugin.ts @@ -55,22 +55,24 @@ export const CostInsightsPage = costInsightsPlugin.provide( }), ); -export const CostInsightsProjectGrowthInstructionsPage = costInsightsPlugin.provide( - createRoutableExtension({ - component: () => - import('./components/ProjectGrowthInstructionsPage').then( - m => m.ProjectGrowthInstructionsPage, - ), - mountPoint: projectGrowthAlertRef, - }), -); +export const CostInsightsProjectGrowthInstructionsPage = + costInsightsPlugin.provide( + createRoutableExtension({ + component: () => + import('./components/ProjectGrowthInstructionsPage').then( + m => m.ProjectGrowthInstructionsPage, + ), + mountPoint: projectGrowthAlertRef, + }), + ); -export const CostInsightsLabelDataflowInstructionsPage = costInsightsPlugin.provide( - createRoutableExtension({ - component: () => - import('./components/LabelDataflowInstructionsPage').then( - m => m.LabelDataflowInstructionsPage, - ), - mountPoint: unlabeledDataflowAlertRef, - }), -); +export const CostInsightsLabelDataflowInstructionsPage = + costInsightsPlugin.provide( + createRoutableExtension({ + component: () => + import('./components/LabelDataflowInstructionsPage').then( + m => m.LabelDataflowInstructionsPage, + ), + mountPoint: unlabeledDataflowAlertRef, + }), + ); diff --git a/plugins/cost-insights/src/testUtils/loading.ts b/plugins/cost-insights/src/testUtils/loading.ts index 576415b61e..48997dc877 100644 --- a/plugins/cost-insights/src/testUtils/loading.ts +++ b/plugins/cost-insights/src/testUtils/loading.ts @@ -19,11 +19,13 @@ import { getDefaultState as getDefaultLoadingState, } from '../utils/loading'; -export const MockDefaultLoadingActions = ([ - DefaultLoadingAction.UserGroups, - DefaultLoadingAction.CostInsightsInitial, - DefaultLoadingAction.CostInsightsPage, -] as string[]).concat(MockProducts.map(product => product.kind)); +export const MockDefaultLoadingActions = ( + [ + DefaultLoadingAction.UserGroups, + DefaultLoadingAction.CostInsightsInitial, + DefaultLoadingAction.CostInsightsPage, + ] as string[] +).concat(MockProducts.map(product => product.kind)); export const mockDefaultLoadingState = getDefaultLoadingState( MockDefaultLoadingActions, diff --git a/plugins/cost-insights/src/testUtils/providers.tsx b/plugins/cost-insights/src/testUtils/providers.tsx index ee92909141..75450c0bb7 100644 --- a/plugins/cost-insights/src/testUtils/providers.tsx +++ b/plugins/cost-insights/src/testUtils/providers.tsx @@ -37,7 +37,8 @@ type PartialPropsWithChildren = PropsWithChildren>; export const MockGroups: Group[] = [{ id: 'tech' }, { id: 'mock-group' }]; -export type MockFilterProviderProps = PartialPropsWithChildren; +export type MockFilterProviderProps = + PartialPropsWithChildren; export const MockFilterProvider = ({ children, @@ -61,7 +62,8 @@ export const MockFilterProvider = ({ ); }; -export type MockLoadingProviderProps = PartialPropsWithChildren; +export type MockLoadingProviderProps = + PartialPropsWithChildren; export const MockLoadingProvider = ({ children, @@ -79,7 +81,8 @@ export const MockLoadingProvider = ({ ); }; -export type MockConfigProviderProps = PartialPropsWithChildren; +export type MockConfigProviderProps = + PartialPropsWithChildren; export const MockConfigProvider = ({ children, @@ -99,7 +102,8 @@ export const MockConfigProvider = ({ ); }; -export type MockCurrencyProviderProps = PartialPropsWithChildren; +export type MockCurrencyProviderProps = + PartialPropsWithChildren; export const MockCurrencyProvider = ({ children, @@ -120,7 +124,8 @@ export const MockCurrencyProvider = ({ ); }; -export type MockBillingDateProviderProps = PartialPropsWithChildren; +export type MockBillingDateProviderProps = + PartialPropsWithChildren; export const MockBillingDateProvider = ({ children, @@ -150,7 +155,8 @@ export const MockScrollProvider = ({ children }: MockScrollProviderProps) => { ); }; -export type MockGroupsProviderProps = PartialPropsWithChildren; +export type MockGroupsProviderProps = + PartialPropsWithChildren; export const MockGroupsProvider = ({ children, diff --git a/plugins/cost-insights/src/types/Alert.ts b/plugins/cost-insights/src/types/Alert.ts index 2ea9b30103..2f220be0e6 100644 --- a/plugins/cost-insights/src/types/Alert.ts +++ b/plugins/cost-insights/src/types/Alert.ts @@ -50,7 +50,7 @@ export type Alert = { export type AlertForm< A extends Alert = any, - Data = any + Data = any, > = ForwardRefExoticComponent< AlertFormProps & RefAttributes >; diff --git a/plugins/cost-insights/src/utils/alerts.tsx b/plugins/cost-insights/src/utils/alerts.tsx index 25680b5507..2039a5b617 100644 --- a/plugins/cost-insights/src/utils/alerts.tsx +++ b/plugins/cost-insights/src/utils/alerts.tsx @@ -30,29 +30,30 @@ export const isStatusSnoozed = createStatusHandler(AlertStatus.Snoozed); export const isStatusAccepted = createStatusHandler(AlertStatus.Accepted); export const isStatusDismissed = createStatusHandler(AlertStatus.Dismissed); -const createAlertEventHandler = ( - onEvent: 'onSnoozed' | 'onAccepted' | 'onDismissed', -) => (alert: Maybe): boolean => hasProperty(alert, onEvent); +const createAlertEventHandler = + (onEvent: 'onSnoozed' | 'onAccepted' | 'onDismissed') => + (alert: Maybe): boolean => + hasProperty(alert, onEvent); export const isSnoozeEnabled = createAlertEventHandler('onSnoozed'); export const isAcceptEnabled = createAlertEventHandler('onAccepted'); export const isDismissEnabled = createAlertEventHandler('onDismissed'); -const createFormEnabledHandler = ( - Form: 'SnoozeForm' | 'AcceptForm' | 'DismissForm', -) => (alert: Maybe): boolean => { - if (!alert) return false; - if (alert[Form] === null) return false; - switch (Form) { - case 'SnoozeForm': - return isSnoozeEnabled(alert); - case 'AcceptForm': - return isAcceptEnabled(alert); - case 'DismissForm': - return isDismissEnabled(alert); - default: - return false; - } -}; +const createFormEnabledHandler = + (Form: 'SnoozeForm' | 'AcceptForm' | 'DismissForm') => + (alert: Maybe): boolean => { + if (!alert) return false; + if (alert[Form] === null) return false; + switch (Form) { + case 'SnoozeForm': + return isSnoozeEnabled(alert); + case 'AcceptForm': + return isAcceptEnabled(alert); + case 'DismissForm': + return isDismissEnabled(alert); + default: + return false; + } + }; export const isSnoozeFormEnabled = createFormEnabledHandler('SnoozeForm'); export const isAcceptFormEnabled = createFormEnabledHandler('AcceptForm'); export const isDismissFormEnabled = createFormEnabledHandler('DismissForm'); diff --git a/plugins/cost-insights/src/utils/formatters.test.ts b/plugins/cost-insights/src/utils/formatters.test.ts index fbddcd1cb0..9fe17f277f 100644 --- a/plugins/cost-insights/src/utils/formatters.test.ts +++ b/plugins/cost-insights/src/utils/formatters.test.ts @@ -36,11 +36,7 @@ describe('date formatters', () => { it('Correctly formats values to two significant digits', () => { const values = [ - 0.00000040925, - 0.21, - 0.0000004, - 0.4139877878, - 0.00000234566, + 0.00000040925, 0.21, 0.0000004, 0.4139877878, 0.00000234566, ]; const formattedValues = values.map(val => lengthyCurrencyFormatter.format(val), diff --git a/plugins/explore/src/components/DomainExplorerContent/DomainExplorerContent.tsx b/plugins/explore/src/components/DomainExplorerContent/DomainExplorerContent.tsx index ca1a0a1a20..781d21bd91 100644 --- a/plugins/explore/src/components/DomainExplorerContent/DomainExplorerContent.tsx +++ b/plugins/explore/src/components/DomainExplorerContent/DomainExplorerContent.tsx @@ -34,7 +34,11 @@ import { useApi } from '@backstage/core-plugin-api'; const Body = () => { const catalogApi = useApi(catalogApiRef); - const { value: entities, loading, error } = useAsync(async () => { + const { + value: entities, + loading, + error, + } = useAsync(async () => { const response = await catalogApi.getEntities({ filter: { kind: 'domain' }, }); diff --git a/plugins/explore/src/components/GroupsExplorerContent/GroupsDiagram.tsx b/plugins/explore/src/components/GroupsExplorerContent/GroupsDiagram.tsx index ce09f0d268..71492c3520 100644 --- a/plugins/explore/src/components/GroupsExplorerContent/GroupsDiagram.tsx +++ b/plugins/explore/src/components/GroupsExplorerContent/GroupsDiagram.tsx @@ -119,7 +119,11 @@ export function GroupsDiagram() { const catalogApi = useApi(catalogApiRef); const organizationName = configApi.getOptionalString('organization.name') ?? 'Backstage'; - const { loading, error, value: catalogResponse } = useAsync(() => { + const { + loading, + error, + value: catalogResponse, + } = useAsync(() => { return catalogApi.getEntities({ filter: { kind: ['Group'], diff --git a/plugins/explore/src/components/ToolExplorerContent/ToolExplorerContent.tsx b/plugins/explore/src/components/ToolExplorerContent/ToolExplorerContent.tsx index afeeb28f6e..ec532f3004 100644 --- a/plugins/explore/src/components/ToolExplorerContent/ToolExplorerContent.tsx +++ b/plugins/explore/src/components/ToolExplorerContent/ToolExplorerContent.tsx @@ -33,7 +33,11 @@ import { useApi } from '@backstage/core-plugin-api'; const Body = () => { const exploreToolsConfigApi = useApi(exploreToolsConfigRef); - const { value: tools, loading, error } = useAsync(async () => { + const { + value: tools, + loading, + error, + } = useAsync(async () => { return await exploreToolsConfigApi.getTools(); }, [exploreToolsConfigApi]); diff --git a/plugins/fossa/dev/index.tsx b/plugins/fossa/dev/index.tsx index 83fa209c31..018d3e3acb 100644 --- a/plugins/fossa/dev/index.tsx +++ b/plugins/fossa/dev/index.tsx @@ -135,7 +135,7 @@ createDevApp() api: catalogApiRef, deps: {}, factory: () => - (({ + ({ getEntities: async () => { await new Promise(r => setTimeout(r, 1000)); @@ -148,7 +148,7 @@ createDevApp() ], }; }, - } as Partial) as any), + } as Partial as any), }) .addPage({ title: 'Entity Content', diff --git a/plugins/gcp-projects/src/components/ProjectDetailsPage/ProjectDetailsPage.tsx b/plugins/gcp-projects/src/components/ProjectDetailsPage/ProjectDetailsPage.tsx index 0acc191e8a..f5da97b7eb 100644 --- a/plugins/gcp-projects/src/components/ProjectDetailsPage/ProjectDetailsPage.tsx +++ b/plugins/gcp-projects/src/components/ProjectDetailsPage/ProjectDetailsPage.tsx @@ -59,7 +59,11 @@ const DetailsPage = () => { const api = useApi(gcpApiRef); const classes = useStyles(); - const { loading, error, value: details } = useAsync( + const { + loading, + error, + value: details, + } = useAsync( async () => api.getProject( decodeURIComponent(location.search.split('projectId=')[1]), diff --git a/plugins/git-release-manager/src/api/GitReleaseClient.ts b/plugins/git-release-manager/src/api/GitReleaseClient.ts index b0f1a163a9..948c77b47a 100644 --- a/plugins/git-release-manager/src/api/GitReleaseClient.ts +++ b/plugins/git-release-manager/src/api/GitReleaseClient.ts @@ -37,9 +37,8 @@ export class GitReleaseClient implements GitReleaseApi { }) { this.githubAuthApi = githubAuthApi; - const gitHubIntegrations = ScmIntegrations.fromConfig( - configApi, - ).github.list(); + const gitHubIntegrations = + ScmIntegrations.fromConfig(configApi).github.list(); const { host, apiBaseUrl } = this.getGithubIntegrationConfig({ gitHubIntegrations, }); @@ -555,15 +554,11 @@ export interface GitReleaseApi { owners: string[]; }>; - getRepositories: (args: { - owner: OwnerRepo['owner']; - }) => Promise<{ + getRepositories: (args: { owner: OwnerRepo['owner'] }) => Promise<{ repositories: string[]; }>; - getUser: ( - args: OwnerRepo, - ) => Promise<{ + getUser: (args: OwnerRepo) => Promise<{ user: { username: string; email?: string; @@ -589,9 +584,7 @@ export interface GitReleaseApi { }[]; }>; - getLatestRelease: ( - args: OwnerRepo, - ) => Promise<{ + getLatestRelease: (args: OwnerRepo) => Promise<{ latestRelease: { targetCommitish: string; tagName: string; @@ -602,9 +595,7 @@ export interface GitReleaseApi { } | null; }>; - getRepository: ( - args: OwnerRepo, - ) => Promise<{ + getRepository: (args: OwnerRepo) => Promise<{ repository: { pushPermissions: boolean | undefined; defaultBranch: string; @@ -765,9 +756,7 @@ export interface GitReleaseApi { /** * Get all tags in descending order */ - getAllTags: ( - args: OwnerRepo, - ) => Promise<{ + getAllTags: (args: OwnerRepo) => Promise<{ tags: Array<{ tagName: string; tagSha: string; @@ -775,9 +764,7 @@ export interface GitReleaseApi { }>; }>; - getAllReleases: ( - args: OwnerRepo, - ) => Promise<{ + getAllReleases: (args: OwnerRepo) => Promise<{ releases: Array<{ id: number; name: string | null; diff --git a/plugins/git-release-manager/src/features/CreateReleaseCandidate/CreateReleaseCandidate.tsx b/plugins/git-release-manager/src/features/CreateReleaseCandidate/CreateReleaseCandidate.tsx index 7f24241e66..6400f63b40 100644 --- a/plugins/git-release-manager/src/features/CreateReleaseCandidate/CreateReleaseCandidate.tsx +++ b/plugins/git-release-manager/src/features/CreateReleaseCandidate/CreateReleaseCandidate.tsx @@ -80,18 +80,14 @@ export const CreateReleaseCandidate = ({ ); }, [semverBumpLevel, setReleaseCandidateGitInfo, latestRelease, project]); - const { - progress, - responseSteps, - run, - runInvoked, - } = useCreateReleaseCandidate({ - defaultBranch, - latestRelease, - releaseCandidateGitInfo, - project, - onSuccess, - }); + const { progress, responseSteps, run, runInvoked } = + useCreateReleaseCandidate({ + defaultBranch, + latestRelease, + releaseCandidateGitInfo, + project, + onSuccess, + }); if (responseSteps.length > 0) { return ( { // FIXME: Performance improvement opportunity: Convert to object lookup - const commitExistsOnReleaseBranch = !!gitDataResponse.value?.recentCommitsOnReleaseBranch.find( - releaseBranchCommit => - releaseBranchCommit.sha === commit.sha || - // The selected patch commit's sha is included in the commit message, - // which means it's part of a previous patch - releaseBranchCommit.commit.message.includes( - getPatchCommitSuffix({ commitSha: commit.sha }), - ), - ); + const commitExistsOnReleaseBranch = + !!gitDataResponse.value?.recentCommitsOnReleaseBranch.find( + releaseBranchCommit => + releaseBranchCommit.sha === commit.sha || + // The selected patch commit's sha is included in the commit message, + // which means it's part of a previous patch + releaseBranchCommit.commit.message.includes( + getPatchCommitSuffix({ commitSha: commit.sha }), + ), + ); const hasNoParent = !commit.firstParentSha; return ( diff --git a/plugins/git-release-manager/src/features/Patch/hooks/usePatch.ts b/plugins/git-release-manager/src/features/Patch/hooks/usePatch.ts index a2cbb7aefb..338fa2a2d1 100644 --- a/plugins/git-release-manager/src/features/Patch/hooks/usePatch.ts +++ b/plugins/git-release-manager/src/features/Patch/hooks/usePatch.ts @@ -54,12 +54,8 @@ export function usePatch({ }: UsePatch): CardHook { const pluginApiClient = useApi(gitReleaseManagerApiRef); const { user } = useUserContext(); - const { - responseSteps, - addStepToResponseSteps, - asyncCatcher, - abortIfError, - } = useResponseSteps(); + const { responseSteps, addStepToResponseSteps, asyncCatcher, abortIfError } = + useResponseSteps(); const releaseBranchName = latestRelease.targetCommitish; diff --git a/plugins/git-release-manager/src/features/PromoteRc/hooks/usePromoteRc.ts b/plugins/git-release-manager/src/features/PromoteRc/hooks/usePromoteRc.ts index f3a87d3c74..232bc0b744 100644 --- a/plugins/git-release-manager/src/features/PromoteRc/hooks/usePromoteRc.ts +++ b/plugins/git-release-manager/src/features/PromoteRc/hooks/usePromoteRc.ts @@ -45,12 +45,8 @@ export function usePromoteRc({ const pluginApiClient = useApi(gitReleaseManagerApiRef); const { user } = useUserContext(); const { project } = useProjectContext(); - const { - responseSteps, - addStepToResponseSteps, - asyncCatcher, - abortIfError, - } = useResponseSteps(); + const { responseSteps, addStepToResponseSteps, asyncCatcher, abortIfError } = + useResponseSteps(); /** * (1) Fetch most recent release branch commit diff --git a/plugins/git-release-manager/src/features/Stats/Info/InDepth/InDepth.tsx b/plugins/git-release-manager/src/features/Stats/Info/InDepth/InDepth.tsx index 8d3862ab1e..b55b0a79b2 100644 --- a/plugins/git-release-manager/src/features/Stats/Info/InDepth/InDepth.tsx +++ b/plugins/git-release-manager/src/features/Stats/Info/InDepth/InDepth.tsx @@ -31,12 +31,8 @@ import { useReleaseStatsContext } from '../../contexts/ReleaseStatsContext'; export function InDepth() { const { releaseStats } = useReleaseStatsContext(); - const { - averageReleaseTime, - progress, - releaseCommitPairs, - run, - } = useGetReleaseTimes(); + const { averageReleaseTime, progress, releaseCommitPairs, run } = + useGetReleaseTimes(); const skipped = Object.keys(releaseStats.releases).length - releaseCommitPairs.length; diff --git a/plugins/git-release-manager/src/features/Stats/Info/hooks/useGetReleaseTimes.tsx b/plugins/git-release-manager/src/features/Stats/Info/hooks/useGetReleaseTimes.tsx index 8707fc0920..35cb3bc411 100644 --- a/plugins/git-release-manager/src/features/Stats/Info/hooks/useGetReleaseTimes.tsx +++ b/plugins/git-release-manager/src/features/Stats/Info/hooks/useGetReleaseTimes.tsx @@ -80,19 +80,16 @@ export function useGetReleaseTimes() { }, [averageReleaseTime.length, releaseCommitPairs.length]); async function getAndSetReleaseTime({ pairIndex }: { pairIndex: number }) { - const { baseVersion, startCommit, endCommit } = releaseCommitPairs[ - pairIndex - ]; + const { baseVersion, startCommit, endCommit } = + releaseCommitPairs[pairIndex]; - const { - startDate: startCommitCreatedAt, - endDate: endCommitCreatedAt, - } = await getTagDates({ - pluginApiClient, - project, - startTag: startCommit, - endTag: endCommit, - }); + const { startDate: startCommitCreatedAt, endDate: endCommitCreatedAt } = + await getTagDates({ + pluginApiClient, + project, + startTag: startCommit, + endTag: endCommit, + }); const releaseTime: ReleaseTime = { version: baseVersion, diff --git a/plugins/git-release-manager/src/features/Stats/helpers/getTagDates.ts b/plugins/git-release-manager/src/features/Stats/helpers/getTagDates.ts index ef274be259..38d1d51604 100644 --- a/plugins/git-release-manager/src/features/Stats/helpers/getTagDates.ts +++ b/plugins/git-release-manager/src/features/Stats/helpers/getTagDates.ts @@ -65,21 +65,19 @@ export const getTagDates = async ({ } if (startTag.tagType === 'tag' && endTag.tagType === 'tag') { - const [ - { tag: startTagResponse }, - { tag: endTagResponse }, - ] = await Promise.all([ - pluginApiClient.getTag({ - owner: project.owner, - repo: project.repo, - tagSha: startTag.tagSha, - }), - pluginApiClient.getTag({ - owner: project.owner, - repo: project.repo, - tagSha: endTag.tagSha, - }), - ]); + const [{ tag: startTagResponse }, { tag: endTagResponse }] = + await Promise.all([ + pluginApiClient.getTag({ + owner: project.owner, + repo: project.repo, + tagSha: startTag.tagSha, + }), + pluginApiClient.getTag({ + owner: project.owner, + repo: project.repo, + tagSha: endTag.tagSha, + }), + ]); return { startDate: startTagResponse.date, diff --git a/plugins/git-release-manager/src/helpers/tagParts/getCalverTagParts.ts b/plugins/git-release-manager/src/helpers/tagParts/getCalverTagParts.ts index 776d1d15dd..9f007938ed 100644 --- a/plugins/git-release-manager/src/helpers/tagParts/getCalverTagParts.ts +++ b/plugins/git-release-manager/src/helpers/tagParts/getCalverTagParts.ts @@ -22,7 +22,8 @@ export type CalverTagParts = { patch: number; }; -export const calverRegexp = /(rc|version)-([0-9]{4}\.[0-9]{2}\.[0-9]{2})_([0-9]+)/; +export const calverRegexp = + /(rc|version)-([0-9]{4}\.[0-9]{2}\.[0-9]{2})_([0-9]+)/; export function getCalverTagParts(tag: string) { const match = tag.match(calverRegexp); diff --git a/plugins/git-release-manager/src/hooks/useVersioningStrategyMatchesRepoTags.ts b/plugins/git-release-manager/src/hooks/useVersioningStrategyMatchesRepoTags.ts index 5d1e7670be..1a40712c8c 100644 --- a/plugins/git-release-manager/src/hooks/useVersioningStrategyMatchesRepoTags.ts +++ b/plugins/git-release-manager/src/hooks/useVersioningStrategyMatchesRepoTags.ts @@ -28,9 +28,8 @@ export const useVersioningStrategyMatchesRepoTags = ({ latestReleaseTagName?: string; repositoryName?: string; }) => { - const [versioningStrategyMatches, setVersioningStrategyMatches] = useState( - false, - ); + const [versioningStrategyMatches, setVersioningStrategyMatches] = + useState(false); useEffect(() => { setVersioningStrategyMatches(false); diff --git a/plugins/git-release-manager/src/types/helpers.ts b/plugins/git-release-manager/src/types/helpers.ts index b6cadecdf5..17110b7e7c 100644 --- a/plugins/git-release-manager/src/types/helpers.ts +++ b/plugins/git-release-manager/src/types/helpers.ts @@ -18,8 +18,7 @@ export type UnboxPromise> = T extends Promise ? U : never; -export type UnboxReturnedPromise< - T extends (...args: any) => Promise -> = UnboxPromise>; +export type UnboxReturnedPromise Promise> = + UnboxPromise>; export type UnboxArray = T extends (infer U)[] ? U : T; diff --git a/plugins/github-actions/src/components/WorkflowRunsTable/WorkflowRunsTable.tsx b/plugins/github-actions/src/components/WorkflowRunsTable/WorkflowRunsTable.tsx index 8f1aff780d..51f26bf5d7 100644 --- a/plugins/github-actions/src/components/WorkflowRunsTable/WorkflowRunsTable.tsx +++ b/plugins/github-actions/src/components/WorkflowRunsTable/WorkflowRunsTable.tsx @@ -159,15 +159,13 @@ export const WorkflowRunsTable = ({ config.getOptionalConfigArray('integrations.github') ?? [], )[0].host; const [owner, repo] = (projectName ?? '/').split('/'); - const [ - { runs, ...tableProps }, - { retry, setPage, setPageSize }, - ] = useWorkflowRuns({ - hostname, - owner, - repo, - branch, - }); + const [{ runs, ...tableProps }, { retry, setPage, setPageSize }] = + useWorkflowRuns({ + hostname, + owner, + repo, + branch, + }); const githubHost = hostname || 'github.com'; diff --git a/plugins/github-actions/src/components/useWorkflowRuns.ts b/plugins/github-actions/src/components/useWorkflowRuns.ts index 4610db07e9..eb343601bd 100644 --- a/plugins/github-actions/src/components/useWorkflowRuns.ts +++ b/plugins/github-actions/src/components/useWorkflowRuns.ts @@ -57,9 +57,12 @@ export function useWorkflowRuns({ const [page, setPage] = useState(0); const [pageSize, setPageSize] = useState(initialPageSize); - const { loading, value: runs, retry, error } = useAsyncRetry< - WorkflowRun[] - >(async () => { + const { + loading, + value: runs, + retry, + error, + } = useAsyncRetry(async () => { // GitHub API pagination count starts from 1 const workflowRunsData = await api.listWorkflowRuns({ hostname, diff --git a/plugins/github-actions/src/plugin.ts b/plugins/github-actions/src/plugin.ts index 89333e52d5..6d5b3ce0a6 100644 --- a/plugins/github-actions/src/plugin.ts +++ b/plugins/github-actions/src/plugin.ts @@ -56,14 +56,17 @@ export const EntityLatestGithubActionRunCard = githubActionsPlugin.provide( }), ); -export const EntityLatestGithubActionsForBranchCard = githubActionsPlugin.provide( - createComponentExtension({ - component: { - lazy: () => - import('./components/Cards').then(m => m.LatestWorkflowsForBranchCard), - }, - }), -); +export const EntityLatestGithubActionsForBranchCard = + githubActionsPlugin.provide( + createComponentExtension({ + component: { + lazy: () => + import('./components/Cards').then( + m => m.LatestWorkflowsForBranchCard, + ), + }, + }), + ); export const EntityRecentGithubActionsRunsCard = githubActionsPlugin.provide( createComponentExtension({ diff --git a/plugins/github-deployments/src/components/GithubDeploymentsCard.tsx b/plugins/github-deployments/src/components/GithubDeploymentsCard.tsx index 19cc9ac6e8..c01cd98a45 100644 --- a/plugins/github-deployments/src/components/GithubDeploymentsCard.tsx +++ b/plugins/github-deployments/src/components/GithubDeploymentsCard.tsx @@ -50,7 +50,12 @@ const GithubDeploymentsComponent = ({ const api = useApi(githubDeploymentsApiRef); const [owner, repo] = projectSlug.split('/'); - const { loading, value, error, retry: reload } = useAsyncRetry( + const { + loading, + value, + error, + retry: reload, + } = useAsyncRetry( async () => await api.listDeployments({ host, diff --git a/plugins/graphiql/src/index.ts b/plugins/graphiql/src/index.ts index 8efb4461d7..e4d8a32a05 100644 --- a/plugins/graphiql/src/index.ts +++ b/plugins/graphiql/src/index.ts @@ -25,4 +25,5 @@ export { export { GraphiQLPage as Router } from './components'; export * from './lib/api'; export * from './route-refs'; -export const GraphiQLIcon: IconComponent = GraphiQLIconComponent as IconComponent; +export const GraphiQLIcon: IconComponent = + GraphiQLIconComponent as IconComponent; diff --git a/plugins/graphiql/src/lib/storage/StorageBucket.test.ts b/plugins/graphiql/src/lib/storage/StorageBucket.test.ts index 16c5df0f8a..efc196727d 100644 --- a/plugins/graphiql/src/lib/storage/StorageBucket.test.ts +++ b/plugins/graphiql/src/lib/storage/StorageBucket.test.ts @@ -42,7 +42,7 @@ describe('StorageBucket', () => { removeItem: jest.fn(), }; const bucket = StorageBucket.forStorage( - (mockStorage as unknown) as Storage, + mockStorage as unknown as Storage, 'my-bucket', ); diff --git a/plugins/ilert/src/components/ILertCard/ILertCard.tsx b/plugins/ilert/src/components/ILertCard/ILertCard.tsx index 8581c717b4..a014c265c2 100644 --- a/plugins/ilert/src/components/ILertCard/ILertCard.tsx +++ b/plugins/ilert/src/components/ILertCard/ILertCard.tsx @@ -69,14 +69,10 @@ export const ILertCard = () => { }, ] = useIncidents(false, true, alertSource); - const [ - isNewIncidentModalOpened, - setIsNewIncidentModalOpened, - ] = React.useState(false); - const [ - isMaintenanceModalOpened, - setIsMaintenanceModalOpened, - ] = React.useState(false); + const [isNewIncidentModalOpened, setIsNewIncidentModalOpened] = + React.useState(false); + const [isMaintenanceModalOpened, setIsMaintenanceModalOpened] = + React.useState(false); if (error) { if (error instanceof AuthenticationError) { diff --git a/plugins/ilert/src/components/Incident/IncidentActionsMenu.tsx b/plugins/ilert/src/components/Incident/IncidentActionsMenu.tsx index 8d167819d4..46ebc03ba3 100644 --- a/plugins/ilert/src/components/Incident/IncidentActionsMenu.tsx +++ b/plugins/ilert/src/components/Incident/IncidentActionsMenu.tsx @@ -44,10 +44,8 @@ export const IncidentActionsMenu = ({ const [anchorEl, setAnchorEl] = React.useState(null); const callback = onIncidentChanged || ((_: Incident): void => {}); const setProcessing = setIsLoading || ((_: boolean): void => {}); - const [ - isAssignIncidentModalOpened, - setIsAssignIncidentModalOpened, - ] = React.useState(false); + const [isAssignIncidentModalOpened, setIsAssignIncidentModalOpened] = + React.useState(false); const [{ incidentActions, isLoading }] = useIncidentActions( incident, diff --git a/plugins/ilert/src/components/OnCallSchedulesPage/OnCallSchedulesPage.tsx b/plugins/ilert/src/components/OnCallSchedulesPage/OnCallSchedulesPage.tsx index 2cde7a0bf2..0e6bb28e36 100644 --- a/plugins/ilert/src/components/OnCallSchedulesPage/OnCallSchedulesPage.tsx +++ b/plugins/ilert/src/components/OnCallSchedulesPage/OnCallSchedulesPage.tsx @@ -26,10 +26,8 @@ import { } from '@backstage/core-components'; export const OnCallSchedulesPage = () => { - const [ - { onCallSchedules, isLoading, error }, - { refetchOnCallSchedules }, - ] = useOnCallSchedules(); + const [{ onCallSchedules, isLoading, error }, { refetchOnCallSchedules }] = + useOnCallSchedules(); if (error) { if (error instanceof AuthenticationError) { diff --git a/plugins/ilert/src/hooks/useAlertSource.ts b/plugins/ilert/src/hooks/useAlertSource.ts index c26aecff6a..4e74b9e857 100644 --- a/plugins/ilert/src/hooks/useAlertSource.ts +++ b/plugins/ilert/src/hooks/useAlertSource.ts @@ -28,13 +28,10 @@ export const useAlertSource = (integrationKey: string) => { null, ); const [isAlertSourceLoading, setIsAlertSourceLoading] = React.useState(false); - const [ - uptimeMonitor, - setUptimeMonitor, - ] = React.useState(null); - const [isUptimeMonitorLoading, setIsUptimeMonitorLoading] = React.useState( - false, - ); + const [uptimeMonitor, setUptimeMonitor] = + React.useState(null); + const [isUptimeMonitorLoading, setIsUptimeMonitorLoading] = + React.useState(false); const fetchAlertSourceCall = async () => { try { @@ -54,10 +51,10 @@ export const useAlertSource = (integrationKey: string) => { } }; - const { - error: alertSourceError, - retry: alertSourceRetry, - } = useAsyncRetry(fetchAlertSourceCall, [integrationKey]); + const { error: alertSourceError, retry: alertSourceRetry } = useAsyncRetry( + fetchAlertSourceCall, + [integrationKey], + ); const fetchUptimeMonitorCall = async () => { try { @@ -77,10 +74,8 @@ export const useAlertSource = (integrationKey: string) => { } }; - const { - error: uptimeMonitorError, - retry: uptimeMonitorRetry, - } = useAsyncRetry(fetchUptimeMonitorCall, [alertSource]); + const { error: uptimeMonitorError, retry: uptimeMonitorRetry } = + useAsyncRetry(fetchUptimeMonitorCall, [alertSource]); const retry = () => { alertSourceRetry(); diff --git a/plugins/ilert/src/hooks/useAssignIncident.ts b/plugins/ilert/src/hooks/useAssignIncident.ts index d43f6dca6d..2b6935fc8c 100644 --- a/plugins/ilert/src/hooks/useAssignIncident.ts +++ b/plugins/ilert/src/hooks/useAssignIncident.ts @@ -27,10 +27,8 @@ export const useAssignIncident = (incident: Incident | null, open: boolean) => { const [incidentRespondersList, setIncidentRespondersList] = React.useState< IncidentResponder[] >([]); - const [ - incidentResponder, - setIncidentResponder, - ] = React.useState(null); + const [incidentResponder, setIncidentResponder] = + React.useState(null); const [isLoading, setIsLoading] = React.useState(false); const { error, retry } = useAsyncRetry(async () => { diff --git a/plugins/ilert/src/hooks/useUptimeMonitors.ts b/plugins/ilert/src/hooks/useUptimeMonitors.ts index 6efaf86be8..fc4707c2a4 100644 --- a/plugins/ilert/src/hooks/useUptimeMonitors.ts +++ b/plugins/ilert/src/hooks/useUptimeMonitors.ts @@ -50,15 +50,13 @@ export const useUptimeMonitors = () => { const onUptimeMonitorChanged = (newUptimeMonitor: UptimeMonitor) => { setUptimeMonitorsList( - uptimeMonitorsList.map( - (uptimeMonitor: UptimeMonitor): UptimeMonitor => { - if (newUptimeMonitor.id === uptimeMonitor.id) { - return newUptimeMonitor; - } + uptimeMonitorsList.map((uptimeMonitor: UptimeMonitor): UptimeMonitor => { + if (newUptimeMonitor.id === uptimeMonitor.id) { + return newUptimeMonitor; + } - return uptimeMonitor; - }, - ), + return uptimeMonitor; + }), ); }; diff --git a/plugins/jenkins-backend/src/service/jenkinsApi.test.ts b/plugins/jenkins-backend/src/service/jenkinsApi.test.ts index 380a65f895..d1c4705225 100644 --- a/plugins/jenkins-backend/src/service/jenkinsApi.test.ts +++ b/plugins/jenkins-backend/src/service/jenkinsApi.test.ts @@ -92,8 +92,7 @@ describe('JenkinsApi', () => { result: 'success', displayName: '#7', fullDisplayName: 'Example jobName » Example Build #7', - url: - 'https://jenkins.example.com/job/example-jobName/job/exampleBuild', + url: 'https://jenkins.example.com/job/example-jobName/job/exampleBuild', number: 7, status: 'success', source: {}, @@ -280,8 +279,7 @@ describe('JenkinsApi', () => { result: 'success', displayName: '#7', fullDisplayName: 'Example jobName » Example Build #7', - url: - 'https://jenkins.example.com/job/example-jobName/job/exampleBuild/7/', + url: 'https://jenkins.example.com/job/example-jobName/job/exampleBuild/7/', number: 7, }, }; diff --git a/plugins/jenkins-backend/src/service/jenkinsApi.ts b/plugins/jenkins-backend/src/service/jenkinsApi.ts index 7df5c5db1d..fac8c95564 100644 --- a/plugins/jenkins-backend/src/service/jenkinsApi.ts +++ b/plugins/jenkins-backend/src/service/jenkinsApi.ts @@ -255,9 +255,7 @@ export class JenkinsApiImpl { return scmInfo; } - private getTestReport( - build: JenkinsBuild, - ): { + private getTestReport(build: JenkinsBuild): { total: number; passed: number; skipped: number; diff --git a/plugins/jenkins-backend/src/service/jenkinsInfoProvider.test.ts b/plugins/jenkins-backend/src/service/jenkinsInfoProvider.test.ts index 7c4761a19a..7d1615ac27 100644 --- a/plugins/jenkins-backend/src/service/jenkinsInfoProvider.test.ts +++ b/plugins/jenkins-backend/src/service/jenkinsInfoProvider.test.ts @@ -20,9 +20,9 @@ import { ConfigReader } from '@backstage/config'; import { Entity, EntityName } from '@backstage/catalog-model'; describe('DefaultJenkinsInfoProvider', () => { - const mockCatalog: jest.Mocked = ({ + const mockCatalog: jest.Mocked = { getEntityByName: jest.fn(), - } as any) as jest.Mocked; + } as any as jest.Mocked; const entityRef: EntityName = { kind: 'Component', diff --git a/plugins/jenkins-backend/src/service/jenkinsInfoProvider.ts b/plugins/jenkins-backend/src/service/jenkinsInfoProvider.ts index 1f316aa6bc..50875cde99 100644 --- a/plugins/jenkins-backend/src/service/jenkinsInfoProvider.ts +++ b/plugins/jenkins-backend/src/service/jenkinsInfoProvider.ts @@ -82,9 +82,8 @@ export class DefaultJenkinsInfoProvider implements JenkinsInfoProvider { } // lookup `[jenkinsName#]jobFullName` from entity annotation - const jenkinsAndJobName = DefaultJenkinsInfoProvider.getEntityAnnotationValue( - entity, - ); + const jenkinsAndJobName = + DefaultJenkinsInfoProvider.getEntityAnnotationValue(entity); if (!jenkinsAndJobName) { throw new Error( `Couldn't find jenkins annotation (${ diff --git a/plugins/jenkins-backend/src/service/router.ts b/plugins/jenkins-backend/src/service/router.ts index cd250aea31..273086b5ff 100644 --- a/plugins/jenkins-backend/src/service/router.ts +++ b/plugins/jenkins-backend/src/service/router.ts @@ -75,13 +75,8 @@ export async function createRouter( router.get( '/v1/entity/:namespace/:kind/:name/job/:jobFullName/:buildNumber', async (request, response) => { - const { - namespace, - kind, - name, - jobFullName, - buildNumber, - } = request.params; + const { namespace, kind, name, jobFullName, buildNumber } = + request.params; const jenkinsInfo = await jenkinsInfoProvider.getInstance({ entityRef: { diff --git a/plugins/jenkins/src/components/useBuildWithSteps.ts b/plugins/jenkins/src/components/useBuildWithSteps.ts index c73a116aae..64b3bf2535 100644 --- a/plugins/jenkins/src/components/useBuildWithSteps.ts +++ b/plugins/jenkins/src/components/useBuildWithSteps.ts @@ -49,9 +49,10 @@ export function useBuildWithSteps({ } }, [buildNumber, jobFullName, entity, api, errorApi]); - const { loading, value, retry } = useAsyncRetry(() => getBuildWithSteps(), [ - getBuildWithSteps, - ]); + const { loading, value, retry } = useAsyncRetry( + () => getBuildWithSteps(), + [getBuildWithSteps], + ); const { startPolling, stopPolling } = useAsyncPolling( getBuildWithSteps, diff --git a/plugins/jenkins/src/components/useBuilds.ts b/plugins/jenkins/src/components/useBuilds.ts index 820cb099a1..b0959671e1 100644 --- a/plugins/jenkins/src/components/useBuilds.ts +++ b/plugins/jenkins/src/components/useBuilds.ts @@ -53,7 +53,11 @@ export function useBuilds({ branch }: { branch?: string } = {}) { } }; - const { loading, value: projects, retry } = useAsyncRetry(async () => { + const { + loading, + value: projects, + retry, + } = useAsyncRetry(async () => { try { const build = await api.getProjects({ entity: getEntityName(entity), diff --git a/plugins/kubernetes-backend/src/kubernetes-auth-translator/AwsIamKubernetesAuthTranslator.ts b/plugins/kubernetes-backend/src/kubernetes-auth-translator/AwsIamKubernetesAuthTranslator.ts index 101bed32a3..9d582d50d4 100644 --- a/plugins/kubernetes-backend/src/kubernetes-auth-translator/AwsIamKubernetesAuthTranslator.ts +++ b/plugins/kubernetes-backend/src/kubernetes-auth-translator/AwsIamKubernetesAuthTranslator.ts @@ -21,11 +21,13 @@ import { KubernetesAuthTranslator } from './types'; const base64 = (str: string) => Buffer.from(str.toString(), 'binary').toString('base64'); const prepend = (prep: string) => (str: string) => prep + str; -const replace = (search: string | RegExp, substitution: string) => ( - str: string, -) => str.replace(search, substitution); -const pipe = (fns: ReadonlyArray) => (thing: string): string => - fns.reduce((val, fn) => fn(val), thing); +const replace = + (search: string | RegExp, substitution: string) => (str: string) => + str.replace(search, substitution); +const pipe = + (fns: ReadonlyArray) => + (thing: string): string => + fns.reduce((val, fn) => fn(val), thing); const removePadding = replace(/=+$/, ''); const makeUrlSafe = pipe([replace('+', '-'), replace('/', '_')]); @@ -36,11 +38,12 @@ type SigningCreds = { }; export class AwsIamKubernetesAuthTranslator - implements KubernetesAuthTranslator { + implements KubernetesAuthTranslator +{ validCredentials(creds: SigningCreds): boolean { - return ((creds?.accessKeyId && + return (creds?.accessKeyId && creds?.secretAccessKey && - creds?.sessionToken) as unknown) as boolean; + creds?.sessionToken) as unknown as boolean; } awsGetCredentials = async (): Promise => { diff --git a/plugins/kubernetes-backend/src/kubernetes-auth-translator/GoogleKubernetesAuthTranslator.ts b/plugins/kubernetes-backend/src/kubernetes-auth-translator/GoogleKubernetesAuthTranslator.ts index eacba4d3e1..8c74945ec7 100644 --- a/plugins/kubernetes-backend/src/kubernetes-auth-translator/GoogleKubernetesAuthTranslator.ts +++ b/plugins/kubernetes-backend/src/kubernetes-auth-translator/GoogleKubernetesAuthTranslator.ts @@ -19,7 +19,8 @@ import { GKEClusterDetails } from '../types/types'; import { KubernetesRequestBody } from '@backstage/plugin-kubernetes-common'; export class GoogleKubernetesAuthTranslator - implements KubernetesAuthTranslator { + implements KubernetesAuthTranslator +{ async decorateClusterDetailsWithAuth( clusterDetails: GKEClusterDetails, requestBody: KubernetesRequestBody, diff --git a/plugins/kubernetes-backend/src/kubernetes-auth-translator/KubernetesAuthTranslatorGenerator.test.ts b/plugins/kubernetes-backend/src/kubernetes-auth-translator/KubernetesAuthTranslatorGenerator.test.ts index 2d900b0bd1..33592b1c41 100644 --- a/plugins/kubernetes-backend/src/kubernetes-auth-translator/KubernetesAuthTranslatorGenerator.test.ts +++ b/plugins/kubernetes-backend/src/kubernetes-auth-translator/KubernetesAuthTranslatorGenerator.test.ts @@ -24,23 +24,20 @@ describe('getKubernetesAuthTranslatorInstance', () => { const sut = KubernetesAuthTranslatorGenerator; it('can return an auth translator for google auth', () => { - const authTranslator: KubernetesAuthTranslator = sut.getKubernetesAuthTranslatorInstance( - 'google', - ); + const authTranslator: KubernetesAuthTranslator = + sut.getKubernetesAuthTranslatorInstance('google'); expect(authTranslator instanceof GoogleKubernetesAuthTranslator).toBe(true); }); it('can return an auth translator for aws auth', () => { - const authTranslator: KubernetesAuthTranslator = sut.getKubernetesAuthTranslatorInstance( - 'aws', - ); + const authTranslator: KubernetesAuthTranslator = + sut.getKubernetesAuthTranslatorInstance('aws'); expect(authTranslator instanceof AwsIamKubernetesAuthTranslator).toBe(true); }); it('can return an auth translator for serviceAccount auth', () => { - const authTranslator: KubernetesAuthTranslator = sut.getKubernetesAuthTranslatorInstance( - 'serviceAccount', - ); + const authTranslator: KubernetesAuthTranslator = + sut.getKubernetesAuthTranslatorInstance('serviceAccount'); expect( authTranslator instanceof ServiceAccountKubernetesAuthTranslator, ).toBe(true); diff --git a/plugins/kubernetes-backend/src/kubernetes-auth-translator/ServiceAccountKubernetesAuthTranslator.ts b/plugins/kubernetes-backend/src/kubernetes-auth-translator/ServiceAccountKubernetesAuthTranslator.ts index 1c3add3c0d..6e5b8b9558 100644 --- a/plugins/kubernetes-backend/src/kubernetes-auth-translator/ServiceAccountKubernetesAuthTranslator.ts +++ b/plugins/kubernetes-backend/src/kubernetes-auth-translator/ServiceAccountKubernetesAuthTranslator.ts @@ -19,7 +19,8 @@ import { ServiceAccountClusterDetails } from '../types/types'; import { KubernetesRequestBody } from '@backstage/plugin-kubernetes-common'; export class ServiceAccountKubernetesAuthTranslator - implements KubernetesAuthTranslator { + implements KubernetesAuthTranslator +{ async decorateClusterDetailsWithAuth( clusterDetails: ServiceAccountClusterDetails, // To ignore TS6133 linting error where it detects 'requestBody' is declared but its value is never read. diff --git a/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts b/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts index 0931d775d3..fb1876733d 100644 --- a/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts +++ b/plugins/kubernetes-backend/src/service/KubernetesFanOutHandler.ts @@ -71,15 +71,15 @@ export class KubernetesFanOutHandler { 'backstage.io/kubernetes-id' ] || requestBody.entity?.metadata?.name; - const clusterDetails: ClusterDetails[] = await this.serviceLocator.getClustersByServiceId( - entityName, - ); + const clusterDetails: ClusterDetails[] = + await this.serviceLocator.getClustersByServiceId(entityName); // Execute all of these async actions simultaneously/without blocking sequentially as no common object is modified by them const promises: Promise[] = clusterDetails.map(cd => { - const kubernetesAuthTranslator: KubernetesAuthTranslator = KubernetesAuthTranslatorGenerator.getKubernetesAuthTranslatorInstance( - cd.authProvider, - ); + const kubernetesAuthTranslator: KubernetesAuthTranslator = + KubernetesAuthTranslatorGenerator.getKubernetesAuthTranslatorInstance( + cd.authProvider, + ); return kubernetesAuthTranslator.decorateClusterDetailsWithAuth( cd, requestBody, diff --git a/plugins/kubernetes-backend/src/service/KubernetesFetcher.ts b/plugins/kubernetes-backend/src/service/KubernetesFetcher.ts index 76c3b0aac0..e17b47e17a 100644 --- a/plugins/kubernetes-backend/src/service/KubernetesFetcher.ts +++ b/plugins/kubernetes-backend/src/service/KubernetesFetcher.ts @@ -167,10 +167,9 @@ export class KubernetesClientBasedFetcher implements KubernetesFetcher { labelSelector, ).then(r => ({ type: type, resources: r })); case 'services': - return this.fetchServicesForService( - clusterDetails, - labelSelector, - ).then(r => ({ type: type, resources: r })); + return this.fetchServicesForService(clusterDetails, labelSelector).then( + r => ({ type: type, resources: r }), + ); case 'horizontalpodautoscalers': return this.fetchHorizontalPodAutoscalersForService( clusterDetails, @@ -192,9 +191,8 @@ export class KubernetesClientBasedFetcher implements KubernetesFetcher { customResource: CustomResource, labelSelector: string, ): Promise { - const customObjects = this.kubernetesClientProvider.getCustomObjectsClient( - clusterDetails, - ); + const customObjects = + this.kubernetesClientProvider.getCustomObjectsClient(clusterDetails); return customObjects .listClusterCustomObject( @@ -217,18 +215,20 @@ export class KubernetesClientBasedFetcher implements KubernetesFetcher { client: Clients, ) => Promise<{ body: { items: Array }; response: http.IncomingMessage }>, ): Promise> { - const core = this.kubernetesClientProvider.getCoreClientByClusterDetails( - clusterDetails, - ); - const apps = this.kubernetesClientProvider.getAppsClientByClusterDetails( - clusterDetails, - ); - const autoscaling = this.kubernetesClientProvider.getAutoscalingClientByClusterDetails( - clusterDetails, - ); - const networkingBeta1 = this.kubernetesClientProvider.getNetworkingBeta1Client( - clusterDetails, - ); + const core = + this.kubernetesClientProvider.getCoreClientByClusterDetails( + clusterDetails, + ); + const apps = + this.kubernetesClientProvider.getAppsClientByClusterDetails( + clusterDetails, + ); + const autoscaling = + this.kubernetesClientProvider.getAutoscalingClientByClusterDetails( + clusterDetails, + ); + const networkingBeta1 = + this.kubernetesClientProvider.getNetworkingBeta1Client(clusterDetails); this.logger.debug(`calling cluster=${clusterDetails.name}`); return fn({ core, apps, autoscaling, networkingBeta1 }).then(({ body }) => { diff --git a/plugins/kubernetes-backend/src/service/router.ts b/plugins/kubernetes-backend/src/service/router.ts index 8a1f2fe627..4792ae708f 100644 --- a/plugins/kubernetes-backend/src/service/router.ts +++ b/plugins/kubernetes-backend/src/service/router.ts @@ -71,9 +71,8 @@ export const makeRouter = ( const serviceId = req.params.serviceId; const requestBody: KubernetesRequestBody = req.body; try { - const response = await kubernetesFanOutHandler.getKubernetesObjectsByEntity( - requestBody, - ); + const response = + await kubernetesFanOutHandler.getKubernetesObjectsByEntity(requestBody); res.json(response); } catch (e) { logger.error( diff --git a/plugins/kubernetes/src/components/CustomResources/ArgoRollouts/Rollout.test.tsx b/plugins/kubernetes/src/components/CustomResources/ArgoRollouts/Rollout.test.tsx index 15e8237d3b..f3e1d47479 100644 --- a/plugins/kubernetes/src/components/CustomResources/ArgoRollouts/Rollout.test.tsx +++ b/plugins/kubernetes/src/components/CustomResources/ArgoRollouts/Rollout.test.tsx @@ -58,10 +58,10 @@ describe('Rollout', () => { it('should render Paused Rollout with pause text', async () => { const wrapper = kubernetesProviders(groupedResources, new Set([])); - (pausedRollout.status.pauseConditions[0] - .startTime as any) = DateTime.local() - // millis * secs * mins = 45 mins - .minus(Duration.fromMillis(1000 * 60 * 45)); + (pausedRollout.status.pauseConditions[0].startTime as any) = + DateTime.local() + // millis * secs * mins = 45 mins + .minus(Duration.fromMillis(1000 * 60 * 45)); const { getByText } = render( wrapper( diff --git a/plugins/kubernetes/src/hooks/useKubernetesObjects.test.ts b/plugins/kubernetes/src/hooks/useKubernetesObjects.test.ts index 0acbef8af3..1d46eb14ea 100644 --- a/plugins/kubernetes/src/hooks/useKubernetesObjects.test.ts +++ b/plugins/kubernetes/src/hooks/useKubernetesObjects.test.ts @@ -94,12 +94,10 @@ describe('useKubernetesObjects', () => { it('should return objects', async () => { (useApi as any).mockReturnValue({ getClusters: mockGetClusters.mockResolvedValue(getClustersResponse), - getObjectsByEntity: mockGetObjectsByEntity.mockResolvedValue( - mockResponse, - ), - decorateRequestBodyForAuth: mockDecorateRequestBodyForAuth.mockResolvedValue( - entityWithAuthToken, - ), + getObjectsByEntity: + mockGetObjectsByEntity.mockResolvedValue(mockResponse), + decorateRequestBodyForAuth: + mockDecorateRequestBodyForAuth.mockResolvedValue(entityWithAuthToken), }); const { result, waitForNextUpdate } = renderHook(() => useKubernetesObjects(entity), @@ -118,9 +116,8 @@ describe('useKubernetesObjects', () => { getObjectsByEntity: mockGetObjectsByEntity.mockRejectedValue({ message: 'some error', }), - decorateRequestBodyForAuth: mockDecorateRequestBodyForAuth.mockResolvedValue( - entityWithAuthToken, - ), + decorateRequestBodyForAuth: + mockDecorateRequestBodyForAuth.mockResolvedValue(entityWithAuthToken), }); const { result, waitForNextUpdate } = renderHook(() => useKubernetesObjects(entity), @@ -157,9 +154,10 @@ describe('useKubernetesObjects', () => { it('should return error when decorateRequestBodyForAuth throws', async () => { (useApi as any).mockReturnValue({ getClusters: mockGetClusters.mockResolvedValue(getClustersResponse), - decorateRequestBodyForAuth: mockDecorateRequestBodyForAuth.mockRejectedValue( - { message: 'some-error' }, - ), + decorateRequestBodyForAuth: + mockDecorateRequestBodyForAuth.mockRejectedValue({ + message: 'some-error', + }), getObjectsByEntity: mockGetObjectsByEntity, }); const { result, waitForNextUpdate } = renderHook(() => diff --git a/plugins/kubernetes/src/hooks/useKubernetesObjects.ts b/plugins/kubernetes/src/hooks/useKubernetesObjects.ts index 0c4fbdef54..4f19816296 100644 --- a/plugins/kubernetes/src/hooks/useKubernetesObjects.ts +++ b/plugins/kubernetes/src/hooks/useKubernetesObjects.ts @@ -59,10 +59,11 @@ export const useKubernetesObjects = (entity: Entity): KubernetesObjects => { for (const authProviderStr of authProviders) { // Multiple asyncs done sequentially instead of all at once to prevent same requestBody from being modified simultaneously try { - requestBody = await kubernetesAuthProvidersApi.decorateRequestBodyForAuth( - authProviderStr, - requestBody, - ); + requestBody = + await kubernetesAuthProvidersApi.decorateRequestBodyForAuth( + authProviderStr, + requestBody, + ); } catch (e) { setError(e.message); return; diff --git a/plugins/kubernetes/src/kubernetes-auth-provider/KubernetesAuthProviders.ts b/plugins/kubernetes/src/kubernetes-auth-provider/KubernetesAuthProviders.ts index 118d5904a4..dfe0d746d1 100644 --- a/plugins/kubernetes/src/kubernetes-auth-provider/KubernetesAuthProviders.ts +++ b/plugins/kubernetes/src/kubernetes-auth-provider/KubernetesAuthProviders.ts @@ -44,9 +44,8 @@ export class KubernetesAuthProviders implements KubernetesAuthProvidersApi { authProvider: string, requestBody: KubernetesRequestBody, ): Promise { - const kubernetesAuthProvider: - | KubernetesAuthProvider - | undefined = this.kubernetesAuthProviderMap.get(authProvider); + const kubernetesAuthProvider: KubernetesAuthProvider | undefined = + this.kubernetesAuthProviderMap.get(authProvider); if (kubernetesAuthProvider) { return await kubernetesAuthProvider.decorateRequestBodyForAuth( requestBody, diff --git a/plugins/kubernetes/src/kubernetes-auth-provider/ServiceAccountKubernetesAuthProvider.ts b/plugins/kubernetes/src/kubernetes-auth-provider/ServiceAccountKubernetesAuthProvider.ts index 8f766152a0..5671112ac8 100644 --- a/plugins/kubernetes/src/kubernetes-auth-provider/ServiceAccountKubernetesAuthProvider.ts +++ b/plugins/kubernetes/src/kubernetes-auth-provider/ServiceAccountKubernetesAuthProvider.ts @@ -18,7 +18,8 @@ import { KubernetesAuthProvider } from './types'; import { KubernetesRequestBody } from '@backstage/plugin-kubernetes-common'; export class ServiceAccountKubernetesAuthProvider - implements KubernetesAuthProvider { + implements KubernetesAuthProvider +{ async decorateRequestBodyForAuth( requestBody: KubernetesRequestBody, ): Promise { diff --git a/plugins/kubernetes/src/kubernetes-auth-provider/types.ts b/plugins/kubernetes/src/kubernetes-auth-provider/types.ts index fb6f773d84..3c5564e7cc 100644 --- a/plugins/kubernetes/src/kubernetes-auth-provider/types.ts +++ b/plugins/kubernetes/src/kubernetes-auth-provider/types.ts @@ -23,13 +23,12 @@ export interface KubernetesAuthProvider { ): Promise; } -export const kubernetesAuthProvidersApiRef = createApiRef( - { +export const kubernetesAuthProvidersApiRef = + createApiRef({ id: 'plugin.kubernetes-auth-providers.service', description: 'Used by the Kubernetes plugin to fetch KubernetesAuthProviders', - }, -); + }); export interface KubernetesAuthProvidersApi { decorateRequestBodyForAuth( diff --git a/plugins/lighthouse/src/components/AuditList/AuditListTable.tsx b/plugins/lighthouse/src/components/AuditList/AuditListTable.tsx index ef9ec34a6a..10f29f3fd5 100644 --- a/plugins/lighthouse/src/components/AuditList/AuditListTable.tsx +++ b/plugins/lighthouse/src/components/AuditList/AuditListTable.tsx @@ -69,9 +69,8 @@ export const AuditListTable = ({ items }: { items: Website[] }) => { const auditStatus = response.lastAudit.status; if (auditStatus === 'COMPLETED' || auditStatus === 'FAILED') { const newWebsiteData = websiteState.slice(0); - newWebsiteData[ - newWebsiteData.findIndex(w => w.url === response.url) - ] = response; + newWebsiteData[newWebsiteData.findIndex(w => w.url === response.url)] = + response; setWebsiteState(newWebsiteData); } }); diff --git a/plugins/lighthouse/src/components/AuditView/index.test.tsx b/plugins/lighthouse/src/components/AuditView/index.test.tsx index 0614f5f183..8a8146199d 100644 --- a/plugins/lighthouse/src/components/AuditView/index.test.tsx +++ b/plugins/lighthouse/src/components/AuditView/index.test.tsx @@ -37,9 +37,8 @@ import * as data from '../../__fixtures__/website-response.json'; import AuditView from './index'; import { ApiProvider, ApiRegistry } from '@backstage/core-app-api'; -const { useParams }: { useParams: jest.Mock } = jest.requireMock( - 'react-router-dom', -); +const { useParams }: { useParams: jest.Mock } = + jest.requireMock('react-router-dom'); const websiteResponse = data as Website; describe('AuditView', () => { diff --git a/plugins/lighthouse/src/components/AuditView/index.tsx b/plugins/lighthouse/src/components/AuditView/index.tsx index 7f9e7e7113..30f7b61eb9 100644 --- a/plugins/lighthouse/src/components/AuditView/index.tsx +++ b/plugins/lighthouse/src/components/AuditView/index.tsx @@ -123,7 +123,11 @@ export const AuditViewContent = () => { const classes = useStyles(); const navigate = useNavigate(); - const { loading, error, value: nextValue } = useAsync( + const { + loading, + error, + value: nextValue, + } = useAsync( async () => await lighthouseApi.getWebsiteForAuditId(params.id), [params.id], ); diff --git a/plugins/lighthouse/src/components/Cards/LastLighthouseAuditCard.test.tsx b/plugins/lighthouse/src/components/Cards/LastLighthouseAuditCard.test.tsx index 48eec99b0a..9a9ac7781e 100644 --- a/plugins/lighthouse/src/components/Cards/LastLighthouseAuditCard.test.tsx +++ b/plugins/lighthouse/src/components/Cards/LastLighthouseAuditCard.test.tsx @@ -93,7 +93,9 @@ describe('', () => { describe('where a category score is not a number', () => { beforeEach(() => { entityWebsite = { ...entityWebsite }; - (entityWebsite.lastAudit as AuditCompleted).categories.accessibility.score = NaN; + ( + entityWebsite.lastAudit as AuditCompleted + ).categories.accessibility.score = NaN; }); afterEach(() => { diff --git a/plugins/lighthouse/src/components/CreateAudit/index.test.tsx b/plugins/lighthouse/src/components/CreateAudit/index.test.tsx index 6bdf6d779f..ca078c7e84 100644 --- a/plugins/lighthouse/src/components/CreateAudit/index.test.tsx +++ b/plugins/lighthouse/src/components/CreateAudit/index.test.tsx @@ -35,9 +35,8 @@ import CreateAudit from './index'; import { ApiProvider, ApiRegistry } from '@backstage/core-app-api'; import { ErrorApi, errorApiRef } from '@backstage/core-plugin-api'; -const { useNavigate }: { useNavigate: jest.Mock } = jest.requireMock( - 'react-router-dom', -); +const { useNavigate }: { useNavigate: jest.Mock } = + jest.requireMock('react-router-dom'); const createAuditResponse = data as Audit; // TODO add act() to these tests without breaking them! diff --git a/plugins/lighthouse/src/hooks/useWebsiteForEntity.ts b/plugins/lighthouse/src/hooks/useWebsiteForEntity.ts index dc6695eccc..1ea1e3f8e4 100644 --- a/plugins/lighthouse/src/hooks/useWebsiteForEntity.ts +++ b/plugins/lighthouse/src/hooks/useWebsiteForEntity.ts @@ -27,9 +27,10 @@ export const useWebsiteForEntity = () => { entity.metadata.annotations?.[LIGHTHOUSE_WEBSITE_URL_ANNOTATION] ?? ''; const lighthouseApi = useApi(lighthouseApiRef); const errorApi = useApi(errorApiRef); - const response = useAsync(() => lighthouseApi.getWebsiteByUrl(websiteUrl), [ - websiteUrl, - ]); + const response = useAsync( + () => lighthouseApi.getWebsiteByUrl(websiteUrl), + [websiteUrl], + ); if (response.error) { errorApi.post(response.error); } diff --git a/plugins/org/src/components/Cards/Group/MembersList/MembersListCard.tsx b/plugins/org/src/components/Cards/Group/MembersList/MembersListCard.tsx index 31b5c3f5c0..862fc51aa7 100644 --- a/plugins/org/src/components/Cards/Group/MembersList/MembersListCard.tsx +++ b/plugins/org/src/components/Cards/Group/MembersList/MembersListCard.tsx @@ -128,7 +128,11 @@ export const MembersListCard = (_props: { }; const pageSize = 50; - const { loading, error, value: members } = useAsync(async () => { + const { + loading, + error, + value: members, + } = useAsync(async () => { const membersList = await catalogApi.getEntities({ filter: { kind: 'User' }, }); diff --git a/plugins/pagerduty/src/components/Escalation/EscalationPolicy.tsx b/plugins/pagerduty/src/components/Escalation/EscalationPolicy.tsx index 7dc3c3d118..9cbdddca17 100644 --- a/plugins/pagerduty/src/components/Escalation/EscalationPolicy.tsx +++ b/plugins/pagerduty/src/components/Escalation/EscalationPolicy.tsx @@ -32,7 +32,11 @@ type Props = { export const EscalationPolicy = ({ policyId }: Props) => { const api = useApi(pagerDutyApiRef); - const { value: users, loading, error } = useAsync(async () => { + const { + value: users, + loading, + error, + } = useAsync(async () => { const oncalls = await api.getOnCallByPolicyId(policyId); const usersItem = oncalls .sort((a, b) => a.escalation_level - b.escalation_level) diff --git a/plugins/pagerduty/src/components/PagerDutyCard/index.tsx b/plugins/pagerduty/src/components/PagerDutyCard/index.tsx index 7d370d9b87..5c0c18135e 100644 --- a/plugins/pagerduty/src/components/PagerDutyCard/index.tsx +++ b/plugins/pagerduty/src/components/PagerDutyCard/index.tsx @@ -55,7 +55,11 @@ export const PagerDutyCard = () => { setRefreshIncidents(x => !x); }, []); - const { value: service, loading, error } = useAsync(async () => { + const { + value: service, + loading, + error, + } = useAsync(async () => { const services = await api.getServiceByIntegrationKey( integrationKey as string, ); diff --git a/plugins/pagerduty/src/components/TriggerDialog/TriggerDialog.test.tsx b/plugins/pagerduty/src/components/TriggerDialog/TriggerDialog.test.tsx index 3e873d704c..444e820b98 100644 --- a/plugins/pagerduty/src/components/TriggerDialog/TriggerDialog.test.tsx +++ b/plugins/pagerduty/src/components/TriggerDialog/TriggerDialog.test.tsx @@ -92,9 +92,8 @@ describe('TriggerDialog', () => { }); expect(mockTriggerAlarmFn).toHaveBeenCalled(); expect(mockTriggerAlarmFn).toHaveBeenCalledWith({ - integrationKey: entity!.metadata!.annotations![ - 'pagerduty.com/integration-key' - ], + integrationKey: + entity!.metadata!.annotations!['pagerduty.com/integration-key'], source: window.location.toString(), description, userName: 'guest@example.com', diff --git a/plugins/rollbar-backend/api-report.md b/plugins/rollbar-backend/api-report.md index ecac80237f..6ac27447d8 100644 --- a/plugins/rollbar-backend/api-report.md +++ b/plugins/rollbar-backend/api-report.md @@ -15,9 +15,7 @@ export function createRouter(options: RouterOptions): Promise; // Warning: (ae-missing-release-tag) "getRequestHeaders" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -export function getRequestHeaders( - token: string, -): { +export function getRequestHeaders(token: string): { headers: { 'X-Rollbar-Access-Token': string; }; diff --git a/plugins/rollbar/src/components/RollbarProject/RollbarProject.tsx b/plugins/rollbar/src/components/RollbarProject/RollbarProject.tsx index edb2afc0ca..ef7cc155b1 100644 --- a/plugins/rollbar/src/components/RollbarProject/RollbarProject.tsx +++ b/plugins/rollbar/src/components/RollbarProject/RollbarProject.tsx @@ -24,9 +24,8 @@ type Props = { }; export const RollbarProject = ({ entity }: Props) => { - const { items, organization, project, loading, error } = useTopActiveItems( - entity, - ); + const { items, organization, project, loading, error } = + useTopActiveItems(entity); return ( catalogApi.getEntityByName({ kind: 'Component', namespace, name }), [catalogApi, namespace, name], ); diff --git a/plugins/scaffolder-backend/api-report.md b/plugins/scaffolder-backend/api-report.md index baf85bce63..f763904fe7 100644 --- a/plugins/scaffolder-backend/api-report.md +++ b/plugins/scaffolder-backend/api-report.md @@ -171,7 +171,7 @@ export function createRouter(options: RouterOptions): Promise; export const createTemplateAction: < Input extends Partial<{ [name: string]: JsonValue | Partial | undefined; - }> + }>, >( templateAction: TemplateAction, ) => TemplateAction; diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/catalog/register.test.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/catalog/register.test.ts index fff2b28ff0..68e2450ca0 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/catalog/register.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/catalog/register.test.ts @@ -39,7 +39,7 @@ describe('catalog:register', () => { const action = createCatalogRegisterAction({ integrations, - catalogClient: (catalogClient as unknown) as CatalogApi, + catalogClient: catalogClient as unknown as CatalogApi, }); const mockContext = { diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/catalog/register.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/catalog/register.ts index 72b86cbf79..70170b8b90 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/catalog/register.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/catalog/register.ts @@ -76,10 +76,8 @@ export function createCatalogRegisterAction(options: { if ('catalogInfoUrl' in input) { catalogInfoUrl = input.catalogInfoUrl; } else { - const { - repoContentsUrl, - catalogInfoPath = '/catalog-info.yaml', - } = input; + const { repoContentsUrl, catalogInfoPath = '/catalog-info.yaml' } = + input; const integration = integrations.byUrl(repoContentsUrl); if (!integration) { throw new InputError( diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/createBuiltinActions.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/createBuiltinActions.ts index b3d1460270..5a16ef9a55 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/createBuiltinActions.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/createBuiltinActions.ts @@ -46,13 +46,8 @@ export const createBuiltinActions = (options: { containerRunner: ContainerRunner; config: Config; }) => { - const { - reader, - integrations, - containerRunner, - catalogClient, - config, - } = options; + const { reader, integrations, containerRunner, catalogClient, config } = + options; return [ createFetchPlainAction({ diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/debug/log.test.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/debug/log.test.ts index efcd1507ef..38c50afecc 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/debug/log.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/debug/log.test.ts @@ -22,9 +22,9 @@ import { createDebugLogAction } from './log'; import { join } from 'path'; describe('debug:log', () => { - const logStream = ({ + const logStream = { write: jest.fn(), - } as jest.Mocked>) as jest.Mocked; + } as jest.Mocked> as jest.Mocked; const mockTmpDir = os.tmpdir(); const mockContext = { diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/plain.test.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/plain.test.ts index 1a4428e3f0..0ef095bf79 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/plain.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/plain.test.ts @@ -56,8 +56,7 @@ describe('fetch:plain', () => { action.handler({ ...mockContext, input: { - url: - 'https://github.com/backstage/community/tree/main/backstage-community-sessions/assets', + url: 'https://github.com/backstage/community/tree/main/backstage-community-sessions/assets', targetPath: '/foobar', }, }), @@ -70,8 +69,7 @@ describe('fetch:plain', () => { await action.handler({ ...mockContext, input: { - url: - 'https://github.com/backstage/community/tree/main/backstage-community-sessions/assets', + url: 'https://github.com/backstage/community/tree/main/backstage-community-sessions/assets', targetPath: 'lol', }, }); diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.test.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.test.ts index bd2beae47a..aa13141f55 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.test.ts @@ -75,8 +75,8 @@ describe('fetch:template', () => { mockFs(); action = createFetchTemplateAction({ - reader: (Symbol('UrlReader') as unknown) as UrlReader, - integrations: (Symbol('Integrations') as unknown) as ScmIntegrations, + reader: Symbol('UrlReader') as unknown as UrlReader, + integrations: Symbol('Integrations') as unknown as ScmIntegrations, }); }); @@ -100,7 +100,7 @@ describe('fetch:template', () => { it('throws if copyWithoutRender parameter is not an array', async () => { await expect(() => action.handler( - mockContext({ copyWithoutRender: ('abc' as unknown) as string[] }), + mockContext({ copyWithoutRender: 'abc' as unknown as string[] }), ), ).rejects.toThrowError(/copyWithoutRender must be an array/i); }); diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/azure.test.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/azure.test.ts index a242863ac7..0af8b7b975 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/azure.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/azure.test.ts @@ -58,7 +58,7 @@ describe('publish:azure', () => { getGitApi: jest.fn().mockReturnValue(mockGitClient), }; - ((WebApi as unknown) as jest.Mock).mockImplementation(() => mockGitApi); + (WebApi as unknown as jest.Mock).mockImplementation(() => mockGitApi); beforeEach(() => { jest.restoreAllMocks(); @@ -209,9 +209,8 @@ describe('publish:azure', () => { }, }); - const customAuthorIntegrations = ScmIntegrations.fromConfig( - customAuthorConfig, - ); + const customAuthorIntegrations = + ScmIntegrations.fromConfig(customAuthorConfig); const customAuthorAction = createPublishAzureAction({ integrations: customAuthorIntegrations, config: customAuthorConfig, @@ -246,9 +245,8 @@ describe('publish:azure', () => { }, }); - const customAuthorIntegrations = ScmIntegrations.fromConfig( - customAuthorConfig, - ); + const customAuthorIntegrations = + ScmIntegrations.fromConfig(customAuthorConfig); const customAuthorAction = createPublishAzureAction({ integrations: customAuthorIntegrations, config: customAuthorConfig, diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/bitbucket.test.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/bitbucket.test.ts index ebdd28260c..180b6cc579 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/bitbucket.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/bitbucket.test.ts @@ -149,8 +149,7 @@ describe('publish:bitbucket', () => { links: { self: [ { - href: - 'https://bitbucket.mycompany.com/projects/project/repos/repo', + href: 'https://bitbucket.mycompany.com/projects/project/repos/repo', }, ], clone: [ @@ -363,9 +362,8 @@ describe('publish:bitbucket', () => { }, }); - const customAuthorIntegrations = ScmIntegrations.fromConfig( - customAuthorConfig, - ); + const customAuthorIntegrations = + ScmIntegrations.fromConfig(customAuthorConfig); const customAuthorAction = createPublishBitbucketAction({ integrations: customAuthorIntegrations, config: customAuthorConfig, @@ -430,9 +428,8 @@ describe('publish:bitbucket', () => { }, }); - const customAuthorIntegrations = ScmIntegrations.fromConfig( - customAuthorConfig, - ); + const customAuthorIntegrations = + ScmIntegrations.fromConfig(customAuthorConfig); const customAuthorAction = createPublishBitbucketAction({ integrations: customAuthorIntegrations, config: customAuthorConfig, diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/github.test.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/github.test.ts index 173e44848b..5e948b52b1 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/github.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/github.test.ts @@ -229,9 +229,8 @@ describe('publish:github', () => { }, }); - const customAuthorIntegrations = ScmIntegrations.fromConfig( - customAuthorConfig, - ); + const customAuthorIntegrations = + ScmIntegrations.fromConfig(customAuthorConfig); const customAuthorAction = createPublishGithubAction({ integrations: customAuthorIntegrations, config: customAuthorConfig, @@ -273,9 +272,8 @@ describe('publish:github', () => { }, }); - const customAuthorIntegrations = ScmIntegrations.fromConfig( - customAuthorConfig, - ); + const customAuthorIntegrations = + ScmIntegrations.fromConfig(customAuthorConfig); const customAuthorAction = createPublishGithubAction({ integrations: customAuthorIntegrations, config: customAuthorConfig, diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/githubPullRequest.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/githubPullRequest.ts index 1c46e80d03..408ec243e7 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/githubPullRequest.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/githubPullRequest.ts @@ -73,9 +73,8 @@ export const defaultClientFactory = async ({ throw new InputError(`No integration for host ${host}`); } - const credentialsProvider = GithubCredentialsProvider.create( - integrationConfig, - ); + const credentialsProvider = + GithubCredentialsProvider.create(integrationConfig); if (!credentialsProvider) { throw new InputError( diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/gitlab.test.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/gitlab.test.ts index d76f838797..2cd27da359 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/gitlab.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/gitlab.test.ts @@ -194,9 +194,8 @@ describe('publish:gitlab', () => { }, }); - const customAuthorIntegrations = ScmIntegrations.fromConfig( - customAuthorConfig, - ); + const customAuthorIntegrations = + ScmIntegrations.fromConfig(customAuthorConfig); const customAuthorAction = createPublishGitlabAction({ integrations: customAuthorIntegrations, config: customAuthorConfig, @@ -239,9 +238,8 @@ describe('publish:gitlab', () => { }, }); - const customAuthorIntegrations = ScmIntegrations.fromConfig( - customAuthorConfig, - ); + const customAuthorIntegrations = + ScmIntegrations.fromConfig(customAuthorConfig); const customAuthorAction = createPublishGitlabAction({ integrations: customAuthorIntegrations, config: customAuthorConfig, diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/DatabaseTaskStore.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/DatabaseTaskStore.ts index b48941e3d4..09cba596b1 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/DatabaseTaskStore.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/DatabaseTaskStore.ts @@ -153,11 +153,7 @@ export class DatabaseTaskStore implements TaskStore { } } - async listStaleTasks({ - timeoutS, - }: { - timeoutS: number; - }): Promise<{ + async listStaleTasks({ timeoutS }: { timeoutS: number }): Promise<{ tasks: { taskId: string }[]; }> { const rawRows = await this.db('tasks') diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/types.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/types.ts index e61d989bc3..3b1805f117 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/types.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/types.ts @@ -112,9 +112,7 @@ export interface TaskStore { eventBody: JsonObject; }): Promise; heartbeatTask(taskId: string): Promise; - listStaleTasks(options: { - timeoutS: number; - }): Promise<{ + listStaleTasks(options: { timeoutS: number }): Promise<{ tasks: { taskId: string }[]; }>; diff --git a/plugins/scaffolder/api-report.md b/plugins/scaffolder/api-report.md index 1be7e8fec8..690cba285b 100644 --- a/plugins/scaffolder/api-report.md +++ b/plugins/scaffolder/api-report.md @@ -72,9 +72,7 @@ export const RepoUrlPickerFieldExtension: () => null; // @public (undocumented) export interface ScaffolderApi { // (undocumented) - getIntegrationsList(options: { - allowedHosts: string[]; - }): Promise< + getIntegrationsList(options: { allowedHosts: string[] }): Promise< { type: string; title: string; @@ -125,9 +123,7 @@ export class ScaffolderClient implements ScaffolderApi { scmIntegrationsApi: ScmIntegrationRegistry; }); // (undocumented) - getIntegrationsList(options: { - allowedHosts: string[]; - }): Promise< + getIntegrationsList(options: { allowedHosts: string[] }): Promise< { type: string; title: string; diff --git a/plugins/scaffolder/src/components/ActionsPage/ActionsPage.tsx b/plugins/scaffolder/src/components/ActionsPage/ActionsPage.tsx index 78960c8297..caddadfd2e 100644 --- a/plugins/scaffolder/src/components/ActionsPage/ActionsPage.tsx +++ b/plugins/scaffolder/src/components/ActionsPage/ActionsPage.tsx @@ -95,7 +95,7 @@ export const ActionsPage = () => { return Object.entries(properties).map(entry => { const [key] = entry; - const props = (entry[1] as unknown) as JSONSchema; + const props = entry[1] as unknown as JSONSchema; const codeClassname = classNames(classes.code, { [classes.codeRequired]: input.required?.includes(key), }); @@ -145,7 +145,7 @@ export const ActionsPage = () => { <> {name} {input.map((i, index) => ( -
    {renderTable((i as unknown) as JSONSchema)}
    +
    {renderTable(i as unknown as JSONSchema)}
    ))} ); diff --git a/plugins/scaffolder/src/components/FavouriteTemplate/FavouriteTemplate.tsx b/plugins/scaffolder/src/components/FavouriteTemplate/FavouriteTemplate.tsx index 3b8c165697..d158315130 100644 --- a/plugins/scaffolder/src/components/FavouriteTemplate/FavouriteTemplate.tsx +++ b/plugins/scaffolder/src/components/FavouriteTemplate/FavouriteTemplate.tsx @@ -57,10 +57,10 @@ export const favouriteTemplateIcon = (isStarred: boolean) => export const FavouriteTemplate = (props: Props) => { const classes = useStyles(); const { toggleStarredEntity, isStarredEntity } = useStarredEntities(); - const isStarred = useMemo(() => isStarredEntity(props.entity), [ - isStarredEntity, - props.entity, - ]); + const isStarred = useMemo( + () => isStarredEntity(props.entity), + [isStarredEntity, props.entity], + ); return ( ['schema']; uiSchema: FormProps['uiSchema'] } { +export function transformSchemaToProps(inputSchema: JsonObject): { + schema: FormProps['schema']; + uiSchema: FormProps['uiSchema']; +} { inputSchema.type = inputSchema.type || 'object'; const schema = JSON.parse(JSON.stringify(inputSchema)); delete schema.title; // Rendered separately diff --git a/plugins/scaffolder/src/components/TemplatePage/TemplatePage.test.tsx b/plugins/scaffolder/src/components/TemplatePage/TemplatePage.test.tsx index 51e1ee5fbc..e42bcbdbdc 100644 --- a/plugins/scaffolder/src/components/TemplatePage/TemplatePage.test.tsx +++ b/plugins/scaffolder/src/components/TemplatePage/TemplatePage.test.tsx @@ -161,21 +161,17 @@ describe('TemplatePage', () => { ], }); - const { - findByText, - findByLabelText, - findAllByRole, - findByRole, - } = await renderInTestApp( - - - , - { - mountedRoutes: { - '/create/actions': rootRouteRef, + const { findByText, findByLabelText, findAllByRole, findByRole } = + await renderInTestApp( + + + , + { + mountedRoutes: { + '/create/actions': rootRouteRef, + }, }, - }, - ); + ); expect(await findByText('Fill in some steps')).toBeInTheDocument(); diff --git a/plugins/scaffolder/src/components/TemplateTypePicker/TemplateTypePicker.test.tsx b/plugins/scaffolder/src/components/TemplateTypePicker/TemplateTypePicker.test.tsx index baeefc7d99..ba448dd22e 100644 --- a/plugins/scaffolder/src/components/TemplateTypePicker/TemplateTypePicker.test.tsx +++ b/plugins/scaffolder/src/components/TemplateTypePicker/TemplateTypePicker.test.tsx @@ -65,17 +65,17 @@ const entities: Entity[] = [ const apis = ApiRegistry.from([ [ catalogApiRef, - ({ + { getEntities: jest .fn() .mockImplementation(() => Promise.resolve({ items: entities })), - } as unknown) as CatalogApi, + } as unknown as CatalogApi, ], [ alertApiRef, - ({ + { post: jest.fn(), - } as unknown) as AlertApi, + } as unknown as AlertApi, ], ]); diff --git a/plugins/scaffolder/src/components/TemplateTypePicker/TemplateTypePicker.tsx b/plugins/scaffolder/src/components/TemplateTypePicker/TemplateTypePicker.tsx index b547af6143..7151446f4f 100644 --- a/plugins/scaffolder/src/components/TemplateTypePicker/TemplateTypePicker.tsx +++ b/plugins/scaffolder/src/components/TemplateTypePicker/TemplateTypePicker.tsx @@ -38,13 +38,8 @@ const useStyles = makeStyles(theme => ({ export const TemplateTypePicker = () => { const classes = useStyles(); const alertApi = useApi(alertApiRef); - const { - error, - loading, - availableTypes, - selectedTypes, - setSelectedTypes, - } = useEntityTypeFilter(); + const { error, loading, availableTypes, selectedTypes, setSelectedTypes } = + useEntityTypeFilter(); if (loading) return ; diff --git a/plugins/scaffolder/src/components/fields/EntityPicker/EntityPicker.test.tsx b/plugins/scaffolder/src/components/fields/EntityPicker/EntityPicker.test.tsx index 380a5e810e..f293969dff 100644 --- a/plugins/scaffolder/src/components/fields/EntityPicker/EntityPicker.test.tsx +++ b/plugins/scaffolder/src/components/fields/EntityPicker/EntityPicker.test.tsx @@ -69,14 +69,14 @@ describe('', () => { describe('without allowedKinds', () => { beforeEach(() => { uiSchema = { 'ui:options': {} }; - props = ({ + props = { onChange, schema, required, uiSchema, rawErrors, formData, - } as unknown) as FieldProps; + } as unknown as FieldProps; catalogApi.getEntities.mockResolvedValue({ items: entities }); }); @@ -109,14 +109,14 @@ describe('', () => { describe('with allowedKinds', () => { beforeEach(() => { uiSchema = { 'ui:options': { allowedKinds: ['User'] } }; - props = ({ + props = { onChange, schema, required, uiSchema, rawErrors, formData, - } as unknown) as FieldProps; + } as unknown as FieldProps; catalogApi.getEntities.mockResolvedValue({ items: entities }); }); diff --git a/plugins/scaffolder/src/components/fields/OwnerPicker/OwnerPicker.test.tsx b/plugins/scaffolder/src/components/fields/OwnerPicker/OwnerPicker.test.tsx index 5e47f9f0f9..18d6fd7e5c 100644 --- a/plugins/scaffolder/src/components/fields/OwnerPicker/OwnerPicker.test.tsx +++ b/plugins/scaffolder/src/components/fields/OwnerPicker/OwnerPicker.test.tsx @@ -66,14 +66,14 @@ describe('', () => { describe('without allowedKinds', () => { beforeEach(() => { uiSchema = { 'ui:options': {} }; - props = ({ + props = { onChange, schema, required, uiSchema, rawErrors, formData, - } as unknown) as FieldProps; + } as unknown as FieldProps; catalogApi.getEntities.mockResolvedValue({ items: entities }); }); @@ -96,14 +96,14 @@ describe('', () => { describe('with allowedKinds', () => { beforeEach(() => { uiSchema = { 'ui:options': { allowedKinds: ['User'] } }; - props = ({ + props = { onChange, schema, required, uiSchema, rawErrors, formData, - } as unknown) as FieldProps; + } as unknown as FieldProps; catalogApi.getEntities.mockResolvedValue({ items: entities }); }); diff --git a/plugins/scaffolder/src/components/fields/RepoUrlPicker/validation.test.ts b/plugins/scaffolder/src/components/fields/RepoUrlPicker/validation.test.ts index 1ea66e7df9..d47285bf56 100644 --- a/plugins/scaffolder/src/components/fields/RepoUrlPicker/validation.test.ts +++ b/plugins/scaffolder/src/components/fields/RepoUrlPicker/validation.test.ts @@ -19,9 +19,9 @@ import { FieldValidation } from '@rjsf/core'; describe('RepoPicker Validation', () => { const fieldValidator = () => - (({ + ({ addError: jest.fn(), - } as unknown) as FieldValidation); + } as unknown as FieldValidation); it('validates when no repo', () => { const mockFieldValidation = fieldValidator(); diff --git a/plugins/search-backend-module-pg/src/database/DatabaseDocumentStore.test.ts b/plugins/search-backend-module-pg/src/database/DatabaseDocumentStore.test.ts index 6f5075f112..b860faca6a 100644 --- a/plugins/search-backend-module-pg/src/database/DatabaseDocumentStore.test.ts +++ b/plugins/search-backend-module-pg/src/database/DatabaseDocumentStore.test.ts @@ -297,18 +297,18 @@ describe('DatabaseDocumentStore', () => { await store.transaction(async tx => { await store.prepareInsert(tx); await store.insertDocuments(tx, 'my-type', [ - ({ + { title: 'Lorem Ipsum', text: 'Hello World', myField: 'this', location: 'LOCATION-1', - } as unknown) as IndexableDocument, - ({ + } as unknown as IndexableDocument, + { title: 'Dolor sit amet', text: 'Hello World', myField: 'that', location: 'LOCATION-1', - } as unknown) as IndexableDocument, + } as unknown as IndexableDocument, { title: 'Hello World', text: 'Around the world', @@ -349,18 +349,18 @@ describe('DatabaseDocumentStore', () => { await store.transaction(async tx => { await store.prepareInsert(tx); await store.insertDocuments(tx, 'my-type', [ - ({ + { title: 'Lorem Ipsum', text: 'Hello World', myField: 'this', location: 'LOCATION-1', - } as unknown) as IndexableDocument, - ({ + } as unknown as IndexableDocument, + { title: 'Dolor sit amet', text: 'Hello World', myField: 'that', location: 'LOCATION-1', - } as unknown) as IndexableDocument, + } as unknown as IndexableDocument, { title: 'Hello World', text: 'Around the world', @@ -411,20 +411,20 @@ describe('DatabaseDocumentStore', () => { await store.transaction(async tx => { await store.prepareInsert(tx); await store.insertDocuments(tx, 'my-type', [ - ({ + { title: 'Lorem Ipsum', text: 'Hello World', myField: 'this', otherField: 'another', location: 'LOCATION-1', - } as unknown) as IndexableDocument, - ({ + } as unknown as IndexableDocument, + { title: 'Dolor sit amet', text: 'Hello World', myField: 'this', otherField: 'unknown', location: 'LOCATION-1', - } as unknown) as IndexableDocument, + } as unknown as IndexableDocument, ]); await store.completeInsert(tx, 'my-type'); }); @@ -461,18 +461,18 @@ describe('DatabaseDocumentStore', () => { await store.transaction(async tx => { await store.prepareInsert(tx); await store.insertDocuments(tx, 'my-type', [ - ({ + { title: 'Lorem Ipsum', text: 'Hello World', myField: 'this', location: 'LOCATION-1', - } as unknown) as IndexableDocument, - ({ + } as unknown as IndexableDocument, + { title: 'Dolor sit amet', text: 'Hello World', myField: 'this', location: 'LOCATION-1', - } as unknown) as IndexableDocument, + } as unknown as IndexableDocument, ]); await store.completeInsert(tx, 'my-type'); }); @@ -485,22 +485,22 @@ describe('DatabaseDocumentStore', () => { expect(rows).toEqual([ { - document: ({ + document: { title: 'Lorem Ipsum', text: 'Hello World', myField: 'this', location: 'LOCATION-1', - } as unknown) as IndexableDocument, + } as unknown as IndexableDocument, rank: expect.any(Number), type: 'my-type', }, { - document: ({ + document: { title: 'Dolor sit amet', text: 'Hello World', myField: 'this', location: 'LOCATION-1', - } as unknown) as IndexableDocument, + } as unknown as IndexableDocument, rank: expect.any(Number), type: 'my-type', }, diff --git a/plugins/search/src/components/LegacySearchPage/LegacySearchResult.tsx b/plugins/search/src/components/LegacySearchPage/LegacySearchResult.tsx index 95148c1a76..5efce583fd 100644 --- a/plugins/search/src/components/LegacySearchPage/LegacySearchResult.tsx +++ b/plugins/search/src/components/LegacySearchPage/LegacySearchResult.tsx @@ -138,7 +138,11 @@ export const SearchResult = ({ searchQuery }: SearchResultProps) => { const [filteredResults, setFilteredResults] = useState([]); - const { loading, error, value: results } = useAsync(async () => { + const { + loading, + error, + value: results, + } = useAsync(async () => { const entities = await catalogApi.getEntities(); return entities.items.map((entity: Entity) => ({ name: entity.metadata.name, diff --git a/plugins/splunk-on-call/src/components/EntitySplunkOnCallCard.tsx b/plugins/splunk-on-call/src/components/EntitySplunkOnCallCard.tsx index 98a706d67f..5a645f0559 100644 --- a/plugins/splunk-on-call/src/components/EntitySplunkOnCallCard.tsx +++ b/plugins/splunk-on-call/src/components/EntitySplunkOnCallCard.tsx @@ -92,7 +92,11 @@ export const EntitySplunkOnCallCard = () => { setShowDialog(x => !x); }, []); - const { value: usersAndTeam, loading, error } = useAsync(async () => { + const { + value: usersAndTeam, + loading, + error, + } = useAsync(async () => { const allUsers = await api.getUsers(); const usersHashMap = allUsers.reduce( (map: Record, obj: User) => { diff --git a/plugins/splunk-on-call/src/components/Escalation/EscalationPolicy.tsx b/plugins/splunk-on-call/src/components/Escalation/EscalationPolicy.tsx index 53b37b0a7a..066fa954ad 100644 --- a/plugins/splunk-on-call/src/components/Escalation/EscalationPolicy.tsx +++ b/plugins/splunk-on-call/src/components/Escalation/EscalationPolicy.tsx @@ -56,7 +56,11 @@ export const EscalationPolicy = ({ users, team }: Props) => { const classes = useStyles(); const api = useApi(splunkOnCallApiRef); - const { value: userNames, loading, error } = useAsync(async () => { + const { + value: userNames, + loading, + error, + } = useAsync(async () => { const oncalls = await api.getOnCallUsers(); const teamUsernames = oncalls .filter(oncall => oncall.team?.name === team) diff --git a/plugins/splunk-on-call/src/components/Incident/IncidentListItem.tsx b/plugins/splunk-on-call/src/components/Incident/IncidentListItem.tsx index fac8f5e2f7..21bc7c35d2 100644 --- a/plugins/splunk-on-call/src/components/Incident/IncidentListItem.tsx +++ b/plugins/splunk-on-call/src/components/Incident/IncidentListItem.tsx @@ -160,17 +160,15 @@ export const IncidentListItem = ({ return incident.monitorName; }; - const [ - { value: resolveValue, error: resolveError }, - handleResolveIncident, - ] = useAsyncFn( - async ({ incidentId, incidentType }: TriggerAlarmRequest) => - await api.incidentAction({ - routingKey: team, - incidentType, - incidentId, - }), - ); + const [{ value: resolveValue, error: resolveError }, handleResolveIncident] = + useAsyncFn( + async ({ incidentId, incidentType }: TriggerAlarmRequest) => + await api.incidentAction({ + routingKey: team, + incidentType, + incidentId, + }), + ); const [ { value: acknowledgeValue, error: acknowledgeError }, diff --git a/plugins/tech-radar/src/components/RadarLegend/RadarLegend.tsx b/plugins/tech-radar/src/components/RadarLegend/RadarLegend.tsx index ca55eb0c9d..b9bc6a59a6 100644 --- a/plugins/tech-radar/src/components/RadarLegend/RadarLegend.tsx +++ b/plugins/tech-radar/src/components/RadarLegend/RadarLegend.tsx @@ -271,13 +271,8 @@ const RadarLegend = (props: Props): JSX.Element => { return segments; }; - const { - quadrants, - rings, - entries, - onEntryMouseEnter, - onEntryMouseLeave, - } = props; + const { quadrants, rings, entries, onEntryMouseEnter, onEntryMouseLeave } = + props; const segments: Segments = setupSegments(entries); diff --git a/plugins/techdocs-backend/src/search/DefaultTechDocsCollator.ts b/plugins/techdocs-backend/src/search/DefaultTechDocsCollator.ts index 7c176da9fb..0368553ea4 100644 --- a/plugins/techdocs-backend/src/search/DefaultTechDocsCollator.ts +++ b/plugins/techdocs-backend/src/search/DefaultTechDocsCollator.ts @@ -85,46 +85,44 @@ export class DefaultTechDocsCollator implements DocumentCollator { const docPromises = entities.items .filter(it => it.metadata?.annotations?.['backstage.io/techdocs-ref']) .map((entity: Entity) => - limit( - async (): Promise => { - const entityInfo = { - kind: entity.kind, - namespace: entity.metadata.namespace || 'default', - name: entity.metadata.name, - }; + limit(async (): Promise => { + const entityInfo = { + kind: entity.kind, + namespace: entity.metadata.namespace || 'default', + name: entity.metadata.name, + }; - try { - const searchIndexResponse = await fetch( - DefaultTechDocsCollator.constructDocsIndexUrl( - techDocsBaseUrl, - entityInfo, - ), - ); - const searchIndex = await searchIndexResponse.json(); + try { + const searchIndexResponse = await fetch( + DefaultTechDocsCollator.constructDocsIndexUrl( + techDocsBaseUrl, + entityInfo, + ), + ); + const searchIndex = await searchIndexResponse.json(); - return searchIndex.docs.map((doc: MkSearchIndexDoc) => ({ - title: unescape(doc.title), - text: unescape(doc.text || ''), - location: this.applyArgsToFormat(this.locationTemplate, { - ...entityInfo, - path: doc.location, - }), + return searchIndex.docs.map((doc: MkSearchIndexDoc) => ({ + title: unescape(doc.title), + text: unescape(doc.text || ''), + location: this.applyArgsToFormat(this.locationTemplate, { ...entityInfo, - componentType: entity.spec?.type?.toString() || 'other', - lifecycle: (entity.spec?.lifecycle as string) || '', - owner: - entity.relations?.find(r => r.type === RELATION_OWNED_BY) - ?.target?.name || '', - })); - } catch (e) { - this.logger.warn( - `Failed to retrieve tech docs search index for entity ${entityInfo.namespace}/${entityInfo.kind}/${entityInfo.name}`, - e, - ); - return []; - } - }, - ), + path: doc.location, + }), + ...entityInfo, + componentType: entity.spec?.type?.toString() || 'other', + lifecycle: (entity.spec?.lifecycle as string) || '', + owner: + entity.relations?.find(r => r.type === RELATION_OWNED_BY) + ?.target?.name || '', + })); + } catch (e) { + this.logger.warn( + `Failed to retrieve tech docs search index for entity ${entityInfo.namespace}/${entityInfo.kind}/${entityInfo.name}`, + e, + ); + return []; + } + }), ); return (await Promise.all(docPromises)).flat(); } diff --git a/plugins/techdocs/src/client.test.ts b/plugins/techdocs/src/client.test.ts index 982c9496b2..aa57c97c65 100644 --- a/plugins/techdocs/src/client.test.ts +++ b/plugins/techdocs/src/client.test.ts @@ -21,9 +21,8 @@ import { NotFoundError } from '@backstage/errors'; import EventSource from 'eventsource'; import { TechDocsStorageClient } from './client'; -const MockedEventSource: jest.MockedClass< - typeof EventSource -> = EventSource as any; +const MockedEventSource: jest.MockedClass = + EventSource as any; jest.mock('eventsource'); @@ -91,9 +90,7 @@ describe('TechDocsStorageClient', () => { await storageApi.syncEntityDocs(mockEntity); - expect( - MockedEventSource, - ).toBeCalledWith( + expect(MockedEventSource).toBeCalledWith( 'http://backstage:9191/api/techdocs/sync/default/Component/test-component', { withCredentials: true, headers: {} }, ); @@ -119,9 +116,7 @@ describe('TechDocsStorageClient', () => { await storageApi.syncEntityDocs(mockEntity); - expect( - MockedEventSource, - ).toBeCalledWith( + expect(MockedEventSource).toBeCalledWith( 'http://backstage:9191/api/techdocs/sync/default/Component/test-component', { withCredentials: true, headers: { Authorization: 'Bearer token' } }, ); diff --git a/plugins/techdocs/src/components/DocsResultListItem/DocsResultListItem.test.tsx b/plugins/techdocs/src/components/DocsResultListItem/DocsResultListItem.test.tsx index 41de2fefe4..b87b4a4162 100644 --- a/plugins/techdocs/src/components/DocsResultListItem/DocsResultListItem.test.tsx +++ b/plugins/techdocs/src/components/DocsResultListItem/DocsResultListItem.test.tsx @@ -26,8 +26,7 @@ jest.mock('react-text-truncate', () => { const validResult = { location: 'https://backstage.io/docs', title: 'Documentation', - text: - 'Backstage is an open-source developer portal that puts the developer experience first.', + text: 'Backstage is an open-source developer portal that puts the developer experience first.', kind: 'library', namespace: '', name: 'Backstage', diff --git a/plugins/techdocs/src/home/components/TechDocsCustomHome.tsx b/plugins/techdocs/src/home/components/TechDocsCustomHome.tsx index 649d69ed8a..e2623fe81f 100644 --- a/plugins/techdocs/src/home/components/TechDocsCustomHome.tsx +++ b/plugins/techdocs/src/home/components/TechDocsCustomHome.tsx @@ -124,7 +124,11 @@ export const TechDocsCustomHome = ({ const catalogApi: CatalogApi = useApi(catalogApiRef); const configApi: ConfigApi = useApi(configApiRef); - const { value: entities, loading, error } = useAsync(async () => { + const { + value: entities, + loading, + error, + } = useAsync(async () => { const response = await catalogApi.getEntities({ filter: { 'metadata.annotations.backstage.io/techdocs-ref': CATALOG_FILTER_EXISTS, diff --git a/plugins/techdocs/src/reader/components/Reader.test.tsx b/plugins/techdocs/src/reader/components/Reader.test.tsx index 7824754231..2dc2773048 100644 --- a/plugins/techdocs/src/reader/components/Reader.test.tsx +++ b/plugins/techdocs/src/reader/components/Reader.test.tsx @@ -34,9 +34,8 @@ jest.mock('react-router-dom', () => { }; }); -const { useParams }: { useParams: jest.Mock } = jest.requireMock( - 'react-router-dom', -); +const { useParams }: { useParams: jest.Mock } = + jest.requireMock('react-router-dom'); describe('', () => { it('should render Reader content', async () => { @@ -44,11 +43,12 @@ describe('', () => { entityId: 'Component::backstage', }); - const scmIntegrationsApi: ScmIntegrationsApi = ScmIntegrationsApi.fromConfig( - new ConfigReader({ - integrations: {}, - }), - ); + const scmIntegrationsApi: ScmIntegrationsApi = + ScmIntegrationsApi.fromConfig( + new ConfigReader({ + integrations: {}, + }), + ); const techdocsStorageApi: Partial = {}; const apiRegistry = ApiRegistry.from([ diff --git a/plugins/techdocs/src/reader/components/TechDocsNotFound.tsx b/plugins/techdocs/src/reader/components/TechDocsNotFound.tsx index 430b8e6c05..4bc7d4fa59 100644 --- a/plugins/techdocs/src/reader/components/TechDocsNotFound.tsx +++ b/plugins/techdocs/src/reader/components/TechDocsNotFound.tsx @@ -23,9 +23,8 @@ type Props = { }; export const TechDocsNotFound = ({ errorMessage }: Props) => { - const techdocsBuilder = useApi(configApiRef).getOptionalString( - 'techdocs.builder', - ); + const techdocsBuilder = + useApi(configApiRef).getOptionalString('techdocs.builder'); let additionalInfo = ''; if (techdocsBuilder !== 'local') { diff --git a/plugins/techdocs/src/reader/components/TechDocsPage.test.tsx b/plugins/techdocs/src/reader/components/TechDocsPage.test.tsx index 1d80683d63..53b8590eb5 100644 --- a/plugins/techdocs/src/reader/components/TechDocsPage.test.tsx +++ b/plugins/techdocs/src/reader/components/TechDocsPage.test.tsx @@ -45,9 +45,8 @@ jest.mock('./TechDocsPageHeader', () => { }; }); -const { useParams }: { useParams: jest.Mock } = jest.requireMock( - 'react-router-dom', -); +const { useParams }: { useParams: jest.Mock } = + jest.requireMock('react-router-dom'); describe('', () => { it('should render techdocs page', async () => { @@ -55,11 +54,12 @@ describe('', () => { entityId: 'Component::backstage', }); - const scmIntegrationsApi: ScmIntegrationsApi = ScmIntegrationsApi.fromConfig( - new ConfigReader({ - integrations: {}, - }), - ); + const scmIntegrationsApi: ScmIntegrationsApi = + ScmIntegrationsApi.fromConfig( + new ConfigReader({ + integrations: {}, + }), + ); const techdocsApi: Partial = { getEntityMetadata: () => Promise.resolve({ diff --git a/plugins/xcmetrics/src/components/OverviewComponent/OverviewComponent.tsx b/plugins/xcmetrics/src/components/OverviewComponent/OverviewComponent.tsx index 6fa3abda2e..b293c2a99c 100644 --- a/plugins/xcmetrics/src/components/OverviewComponent/OverviewComponent.tsx +++ b/plugins/xcmetrics/src/components/OverviewComponent/OverviewComponent.tsx @@ -33,10 +33,11 @@ import { overviewColumns } from '../BuildTableColumns'; export const OverviewComponent = () => { const client = useApi(xcmetricsApiRef); - const { value: builds, loading, error } = useAsync( - async () => client.getBuilds(), - [], - ); + const { + value: builds, + loading, + error, + } = useAsync(async () => client.getBuilds(), []); if (loading) { return ; diff --git a/plugins/xcmetrics/src/components/OverviewTrendsComponent/OverviewTrendsComponent.tsx b/plugins/xcmetrics/src/components/OverviewTrendsComponent/OverviewTrendsComponent.tsx index 2c4a04d582..52ac632cc3 100644 --- a/plugins/xcmetrics/src/components/OverviewTrendsComponent/OverviewTrendsComponent.tsx +++ b/plugins/xcmetrics/src/components/OverviewTrendsComponent/OverviewTrendsComponent.tsx @@ -54,12 +54,14 @@ export const OverviewTrendsComponent = () => { const theme = useTheme(); const classes = useStyles(); const client = useApi(xcmetricsApiRef); - const buildCountsResult = useAsync(async () => client.getBuildCounts(days), [ - days, - ]); - const buildTimesResult = useAsync(async () => client.getBuildTimes(days), [ - days, - ]); + const buildCountsResult = useAsync( + async () => client.getBuildCounts(days), + [days], + ); + const buildTimesResult = useAsync( + async () => client.getBuildTimes(days), + [days], + ); if (buildCountsResult.loading && buildTimesResult.loading) { return ; diff --git a/plugins/xcmetrics/src/components/StatusCellComponent/StatusCellComponent.tsx b/plugins/xcmetrics/src/components/StatusCellComponent/StatusCellComponent.tsx index b0537c53b7..1ecc324683 100644 --- a/plugins/xcmetrics/src/components/StatusCellComponent/StatusCellComponent.tsx +++ b/plugins/xcmetrics/src/components/StatusCellComponent/StatusCellComponent.tsx @@ -28,10 +28,11 @@ interface TooltipContentProps { const TooltipContent = ({ buildId }: TooltipContentProps) => { const client = useApi(xcmetricsApiRef); - const { value: build, loading, error } = useAsync( - async () => client.getBuild(buildId), - [], - ); + const { + value: build, + loading, + error, + } = useAsync(async () => client.getBuild(buildId), []); if (error) { return
    {error.message}
    ; diff --git a/plugins/xcmetrics/src/components/StatusMatrixComponent/StatusMatrixComponent.tsx b/plugins/xcmetrics/src/components/StatusMatrixComponent/StatusMatrixComponent.tsx index 3a6c7e1618..503c0b7ed4 100644 --- a/plugins/xcmetrics/src/components/StatusMatrixComponent/StatusMatrixComponent.tsx +++ b/plugins/xcmetrics/src/components/StatusMatrixComponent/StatusMatrixComponent.tsx @@ -48,10 +48,11 @@ export const StatusMatrixComponent = () => { const classes = useStyles(); const [measureRef, { width: rootWidth }] = useMeasure(); const client = useApi(xcmetricsApiRef); - const { value: builds, loading, error } = useAsync( - async () => client.getBuildStatuses(300), - [], - ); + const { + value: builds, + loading, + error, + } = useAsync(async () => client.getBuildStatuses(300), []); if (error) { return {error.message}; diff --git a/scripts/api-extractor.ts b/scripts/api-extractor.ts index 21c61599a4..ab5f063fb4 100644 --- a/scripts/api-extractor.ts +++ b/scripts/api-extractor.ts @@ -50,17 +50,16 @@ const { } = require('@rushstack/node-core-library/lib/PackageJsonLookup'); const old = PackageJsonLookup.prototype.tryGetPackageJsonFilePathFor; -PackageJsonLookup.prototype.tryGetPackageJsonFilePathFor = function tryGetPackageJsonFilePathForPatch( - path: string, -) { - if ( - path.includes('@material-ui') && - !dirname(path).endsWith('@material-ui') - ) { - return undefined; - } - return old.call(this, path); -}; +PackageJsonLookup.prototype.tryGetPackageJsonFilePathFor = + function tryGetPackageJsonFilePathForPatch(path: string) { + if ( + path.includes('@material-ui') && + !dirname(path).endsWith('@material-ui') + ) { + return undefined; + } + return old.call(this, path); + }; /** * Another monkey patch where we apply prettier to the API reports. This has to be patched into @@ -73,15 +72,14 @@ const { const originalGenerateReviewFileContent = ApiReportGenerator.generateReviewFileContent; -ApiReportGenerator.generateReviewFileContent = function decoratedGenerateReviewFileContent( - ...args -) { - const content = originalGenerateReviewFileContent.apply(this, args); - return prettier.format(content, { - ...require('@spotify/prettier-config'), - parser: 'markdown', - }); -}; +ApiReportGenerator.generateReviewFileContent = + function decoratedGenerateReviewFileContent(...args) { + const content = originalGenerateReviewFileContent.apply(this, args); + return prettier.format(content, { + ...require('@spotify/prettier-config'), + parser: 'markdown', + }); + }; const PACKAGE_ROOTS = ['packages', 'plugins']; @@ -218,9 +216,11 @@ async function runApiExtraction({ // The `packageFolder` needs to point to the location within `dist-types` in order for relative // paths to be logged. Unfortunately the `prepare` method above derives it from the `packageJsonFullPath`, // which needs to point to the actual file, so we override `packageFolder` afterwards. - (extractorConfig as { - packageFolder: string; - }).packageFolder = packageFolder; + ( + extractorConfig as { + packageFolder: string; + } + ).packageFolder = packageFolder; if (!compilerState) { compilerState = CompilerState.create(extractorConfig, { diff --git a/scripts/verify-links.js b/scripts/verify-links.js index d62aa75526..25bdaa2ac3 100755 --- a/scripts/verify-links.js +++ b/scripts/verify-links.js @@ -139,9 +139,8 @@ async function findExternalDocsLinks(dir) { const match = content.match(/---(?:\r|\n|.)*^id: (.*)$/m); // Both docs with an id and without should remove trailing /index - const realPath = (match - ? joinPath(dirname(url), match[1]) - : url.replace(/\.md$/, '') + const realPath = ( + match ? joinPath(dirname(url), match[1]) : url.replace(/\.md$/, '') ).replace(/\/index$/, ''); paths.set(url, realPath); From 2f4f15846d6fe91a2a1dcbaaad0907929d074e36 Mon Sep 17 00:00:00 2001 From: Camila Belo Date: Mon, 9 Aug 2021 11:38:33 +0200 Subject: [PATCH 253/712] docs(techdocs-common): add case sentitive migration steps Co-authored-by: Eric Peterson Signed-off-by: Camila Belo --- .changeset/techdocs-all-done.md | 18 +++++-- docs/features/techdocs/configuration.md | 8 +++ docs/features/techdocs/how-to-guides.md | 70 +++++++++++++++++++++++++ plugins/techdocs-backend/config.d.ts | 7 ++- 4 files changed, 99 insertions(+), 4 deletions(-) diff --git a/.changeset/techdocs-all-done.md b/.changeset/techdocs-all-done.md index 2696b40df7..6d2146e2a5 100644 --- a/.changeset/techdocs-all-done.md +++ b/.changeset/techdocs-all-done.md @@ -1,7 +1,19 @@ --- -'@backstage/plugin-techdocs': patch +'@backstage/plugin-techdocs': minor +'@backstage/plugin-techdocs-backend': minor +'@backstage/techdocs-common': minor --- +TechDocs sites can now be accessed using paths containing entity triplets of +any case (e.g. `/docs/namespace/KIND/name` or `/docs/namespace/kind/name`). + +If you do not use an external storage provider for serving TechDocs, this is a +transparent change and no action is required from you. + +If you _do_ use an external storage provider for serving TechDocs (e.g. Google +Cloud Storage, AWS S3, or Azure Blob Storage), you must run a migration command +against your storage provider before updating to this version. + +[A migration guide is available here](#todo). + This is the third and final step of migrating cloud storage entities to lowercase ([see](https://github.com/backstage/backstage/issues/4367#issuecomment-876461002)). - -Updates GCS, AWS S3 and Azure Blob Storage Provider to lowercase entity triplet paths before reading and writing to it cloud storage. diff --git a/docs/features/techdocs/configuration.md b/docs/features/techdocs/configuration.md index 4bb6857106..46cbc2a8a2 100644 --- a/docs/features/techdocs/configuration.md +++ b/docs/features/techdocs/configuration.md @@ -113,6 +113,14 @@ techdocs: # https://docs.microsoft.com/en-us/azure/storage/common/storage-auth?toc=/azure/storage/blobs/toc.json accountKey: ${TECHDOCS_AZURE_BLOB_STORAGE_ACCOUNT_KEY} + # (Optional and not recommended) Prior to version [0.x.y] of TechDocs, docs + # sites could only be accessed over paths with case-sensitive entity triplets + # e.g. (namespace/Kind/name). If you are upgrading from an older version of + # TechDocs and are unable to perform the necessary migration of files in your + # external storage, you can set this value to `true` to temporarily revert to + # the old, case-sensitive entity triplet behavior. + legacyUseCaseSensitiveTripletPaths: false + # (Optional and Legacy) TechDocs makes API calls to techdocs-backend using this URL. e.g. get docs of an entity, get metadata, etc. # You don't have to specify this anymore. diff --git a/docs/features/techdocs/how-to-guides.md b/docs/features/techdocs/how-to-guides.md index e1533498d7..4962b9b107 100644 --- a/docs/features/techdocs/how-to-guides.md +++ b/docs/features/techdocs/how-to-guides.md @@ -184,3 +184,73 @@ annotation ) as an 'entities' attribute. For a reference to the React structure of the default home page, please refer to `plugins/techdocs/src/home/components/TechDocsCustomHome.tsx`. + +## How to migrate from TechDocs Alpha to Beta + +> This guide only applies to the "recommended" TechDocs deployment method (where +> an external storage provider and external CI/CD is used). If you use the +> "basic" or "out-of-the-box" setup, you can stop here! No action needed. + +The beta version of TechDocs (v0.x.y) made a breaking change to the way TechDocs +content was accessed and stored, allowing pages to be accessed with +case-insensitive entity triplet paths (e.g. `/docs/namespace/kind/name` whereas +in prior versions, they could only be accessed at `/docs/namespace/Kind/name`). +In order to enable this change, documentation has be stored in an external +storage provider using an object key whose entity triplet is lower-cased. + +New installations of TechDocs since the beta version will work fine with no +action, but for those who were running TechDocs prior to this version, a +migration will need to be performed so that all existing content in your storage +bucket matches this lower-case entity triplet expectation. + +1. **Ensure you have the right permissions on your storage provider**: In order + to migrate files in your storage provider, the `techdocs-cli` needs to be + able to read/copy/rename/move/delete files. The exact instructions vary by + storage provider, but check the [using cloud storage][using-cloud-storage] + page for details. + +2. **Run a non-destructive migration of files**: Ensure you have the latest + version of `techdocs-cli` installed. Then run the following command, using + the details relevant for your provider / configuration. This will copy all + files from, e.g. `namespace/Kind/name/index.html` to + `namespace/kind/name/index.html`, without removing the original files. + +```sh +techdocs-cli migrate --publisher-type --storage-name --verbose +``` + +3. **Deploy the updated versions of the TechDocs plugins**: Once the migration + above has been run, you can deploy the beta versions of the TechDocs backend + and frontend plugins to your Backstage instance. + +4. **Verify that your TechDocs sites are still loading/accessible**: Try + accessing a TechDocs site using different entity-triplet case variants, e.g. + `/docs/namespace/KIND/name` or `/docs/namespace/kind/name`. Your TechDocs + site should load regardless of the URL path casing you use. + +5. **Clean up the old objects from storage**: Once you've verified that your + TechDocs site is accessible, you can clean up your storage bucket by + re-running the `migrate` command on the TechDocs CLI, but with an additional + `removeOriginal` flag passed: + +```sh +techdocs-cli migrate --publisher-type --storage-name --removeOriginal --verbose +``` + +6. **Update your CI/CD pipelines to use the beta version of the TechDocs CLI**: + Finally, you can update all of your CI/CD pipelines to use at least v0.x.y of + the TechDocs CLI, ensuring that all sites are published to the new, + lower-cased entity triplet paths going forward. + +If you encounter problems running this migration, please [report the +issue][beta-migrate-bug]. You can temporarily revert to pre-beta storage +expectations with a configuration change: + +```yaml +techdocs: + legacyUseCaseSensitiveTripletPaths: true +``` + +[beta-migrate-bug]: +https://github.com/backstage/backstage/issues/new?assignees=&labels=bug&template=bug_template.md&title=[TechDocs]%20Unable%20to%20run%20beta%20migration +[using-cloud-storage]: ./using-cloud-storage.md diff --git a/plugins/techdocs-backend/config.d.ts b/plugins/techdocs-backend/config.d.ts index 537daa815f..2f1efa0037 100644 --- a/plugins/techdocs-backend/config.d.ts +++ b/plugins/techdocs-backend/config.d.ts @@ -248,7 +248,12 @@ export interface Config { storageUrl?: string; /** - * (Optional) + * (Optional and not recommended) Prior to version [0.x.y] of TechDocs, docs + * sites could only be accessed over paths with case-sensitive entity triplets + * e.g. (namespace/Kind/name). If you are upgrading from an older version of + * TechDocs and are unable to perform the necessary migration of files in your + * external storage, you can set this value to `true` to temporarily revert to + * the old, case-sensitive entity triplet behavior. */ legacyUseCaseSensitiveTripletPaths?: boolean; }; From efabbe3f02f17378ba85560969b2d0fcb466e945 Mon Sep 17 00:00:00 2001 From: Philipp Hugenroth Date: Mon, 9 Aug 2021 13:37:11 +0200 Subject: [PATCH 254/712] Adjust workflows to ignore errors & autoformat ADOPTERS.md using prettier Signed-off-by: Philipp Hugenroth --- .github/workflows/ci.yml | 2 +- .github/workflows/prettify.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7f013d10f8..8361654038 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -109,7 +109,7 @@ jobs: run: node scripts/verify-links.js - name: prettier - run: yarn prettier:check + run: yarn prettier:check '!ADOPTERS.md' - name: lock run: yarn lock:check diff --git a/.github/workflows/prettify.yml b/.github/workflows/prettify.yml index 36d3275f66..fbf2519513 100644 --- a/.github/workflows/prettify.yml +++ b/.github/workflows/prettify.yml @@ -46,8 +46,8 @@ jobs: - name: Run Prettier on docs uses: creyD/prettier_action@v3.1 with: - # Modifies commit only if prettier autofixed a Markdown file - prettier_options: --config docs/prettier.config.js --write docs/**/*.md + # Modifies commit only if prettier autofixed the ADOPTERS.md + prettier_options: --config docs/prettier.config.js --write ADOPTERS.md only_changed: true commit_message: 'Autofix documentation Markdown files using Prettier' env: From ce53b8564a94e5180c25fc408b4e2fc8c6ae2e2e Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Mon, 9 Aug 2021 14:17:42 +0200 Subject: [PATCH 255/712] Remove vacation notice from README Signed-off-by: Patrik Oldsberg --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 7dc548c53f..1078631926 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,6 @@ # [Backstage](https://backstage.io) -_During the month of July the majority of the maintainers will be on summer vacation 🏖️ Development will continue as usual, but expect a slower pace for discussions and PR reviews. Why not take this opportunity to [build a plugin](https://backstage.io/docs/plugins/)?_ - [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![CNCF Status](https://img.shields.io/badge/cncf%20status-sandbox-blue.svg)](https://www.cncf.io/projects) [![Main CI Build](https://github.com/backstage/backstage/workflows/Main%20Master%20Build/badge.svg)](https://github.com/backstage/backstage/actions?query=workflow%3A%22Main+Master+Build%22) From c2d6c8054db8de6fe33847b9869307cadf22b54f Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Mon, 9 Aug 2021 14:38:33 +0200 Subject: [PATCH 256/712] Publish should not be blocked on inability to list Signed-off-by: Eric Peterson --- .../techdocs-common/src/stages/publish/awsS3.ts | 17 ++++++++++++----- .../src/stages/publish/azureBlobStorage.ts | 12 ++++++------ .../src/stages/publish/googleStorage.ts | 13 ++++++++++--- 3 files changed, 28 insertions(+), 14 deletions(-) diff --git a/packages/techdocs-common/src/stages/publish/awsS3.ts b/packages/techdocs-common/src/stages/publish/awsS3.ts index 3ba5ffe4e3..02d4f7226f 100644 --- a/packages/techdocs-common/src/stages/publish/awsS3.ts +++ b/packages/techdocs-common/src/stages/publish/awsS3.ts @@ -178,11 +178,18 @@ export class AwsS3Publish implements PublisherBase { * Directory structure used in the bucket is - entityNamespace/entityKind/entityName/index.html */ async publish({ entity, directory }: PublishRequest): Promise { - // First, retrieve a list of all individual files in currently existing - const remoteFolder = getCloudPathForLocalPath(entity); - const existingFiles = await this.getAllObjectsFromBucket({ - prefix: remoteFolder, - }); + // First, try to retrieve a list of all individual files currently existing + let existingFiles: string[] = []; + try { + const remoteFolder = getCloudPathForLocalPath(entity); + existingFiles = await this.getAllObjectsFromBucket({ + prefix: remoteFolder, + }); + } catch (e) { + this.logger.error( + `Unable to list files for Entity ${entity.metadata.name}: ${e.message}`, + ); + } // Then, merge new files into the same folder let absoluteFilesToUpload; diff --git a/packages/techdocs-common/src/stages/publish/azureBlobStorage.ts b/packages/techdocs-common/src/stages/publish/azureBlobStorage.ts index 4fbe071d1c..f1c62f0819 100644 --- a/packages/techdocs-common/src/stages/publish/azureBlobStorage.ts +++ b/packages/techdocs-common/src/stages/publish/azureBlobStorage.ts @@ -137,18 +137,18 @@ export class AzureBlobStoragePublish implements PublisherBase { * Directory structure used in the container is - entityNamespace/entityKind/entityName/index.html */ async publish({ entity, directory }: PublishRequest): Promise { - // First, retrieve a list of all individual files in currently existing + // First, try to retrieve a list of all individual files currently existing const remoteFolder = getCloudPathForLocalPath(entity); - let existingFiles: string[]; + let existingFiles: string[] = []; try { existingFiles = await this.getAllBlobsFromContainer({ prefix: remoteFolder, maxPageSize: BATCH_CONCURRENCY, }); } catch (e) { - const errorMessage = `Unable to list file(s) to Azure. ${e}`; - this.logger.error(errorMessage); - throw new Error(errorMessage); + this.logger.error( + `Unable to list files for Entity ${entity.metadata.name}: ${e.message}`, + ); } // Then, merge new files into the same folder @@ -395,7 +395,7 @@ export class AzureBlobStoragePublish implements PublisherBase { let response = (await iterator.next()).value; do { - for (const blob of response.segment.blobItems) { + for (const blob of response?.segment?.blobItems ?? []) { blobs.push(blob.name); } iterator = container diff --git a/packages/techdocs-common/src/stages/publish/googleStorage.ts b/packages/techdocs-common/src/stages/publish/googleStorage.ts index 24f84f0136..9d8566f0b3 100644 --- a/packages/techdocs-common/src/stages/publish/googleStorage.ts +++ b/packages/techdocs-common/src/stages/publish/googleStorage.ts @@ -117,9 +117,16 @@ export class GoogleGCSPublish implements PublisherBase { async publish({ entity, directory }: PublishRequest): Promise { const bucket = this.storageClient.bucket(this.bucketName); - // First, retrieve a list of all individual files in currently existing - const remoteFolder = getCloudPathForLocalPath(entity); - const existingFiles = await this.getFilesForFolder(remoteFolder); + // First, try to retrieve a list of all individual files currently existing + let existingFiles: string[] = []; + try { + const remoteFolder = getCloudPathForLocalPath(entity); + existingFiles = await this.getFilesForFolder(remoteFolder); + } catch (e) { + this.logger.error( + `Unable to list files for Entity ${entity.metadata.name}: ${e.message}`, + ); + } // Then, merge new files into the same folder let absoluteFilesToUpload; From 135e6ba84e0662fa77394a1d1a2a2a7f89891724 Mon Sep 17 00:00:00 2001 From: Philipp Hugenroth Date: Mon, 9 Aug 2021 15:51:56 +0200 Subject: [PATCH 257/712] Adjust colors for Tabs in dark mode Signed-off-by: Philipp Hugenroth --- .../core-components/src/layout/HeaderTabs/HeaderTabs.tsx | 8 +++++++- .../core-components/src/layout/TabbedCard/TabbedCard.tsx | 6 ++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/core-components/src/layout/HeaderTabs/HeaderTabs.tsx b/packages/core-components/src/layout/HeaderTabs/HeaderTabs.tsx index 1b300df5a2..20742114c9 100644 --- a/packages/core-components/src/layout/HeaderTabs/HeaderTabs.tsx +++ b/packages/core-components/src/layout/HeaderTabs/HeaderTabs.tsx @@ -36,6 +36,12 @@ const useStyles = makeStyles(theme => ({ selected: { color: theme.palette.text.primary, }, + tabRoot: { + '&:hover': { + backgroundColor: theme.palette.background.default, + color: theme.palette.text.primary, + }, + }, })); export type Tab = { @@ -89,7 +95,7 @@ export const HeaderTabs = ({ key={tab.id} value={index} className={styles.defaultTab} - classes={{ selected: styles.selected }} + classes={{ selected: styles.selected, root: styles.tabRoot }} /> ))} diff --git a/packages/core-components/src/layout/TabbedCard/TabbedCard.tsx b/packages/core-components/src/layout/TabbedCard/TabbedCard.tsx index 41b39984a5..c9f2a477ef 100644 --- a/packages/core-components/src/layout/TabbedCard/TabbedCard.tsx +++ b/packages/core-components/src/layout/TabbedCard/TabbedCard.tsx @@ -98,6 +98,7 @@ const TabbedCard = ({ {title && } ({ margin: theme.spacing(0, 2, 0, 0), padding: theme.spacing(0.5, 0, 0.5, 0), textTransform: 'none', + '&:hover': { + opacity: 1, + backgroundColor: 'transparent', + color: theme.palette.text.primary, + }, }, selected: { fontWeight: 'bold', From 7e16ee33de7f55ef99010ffcc42668ea8a196439 Mon Sep 17 00:00:00 2001 From: Christine Yi Date: Mon, 9 Aug 2021 10:21:00 -0400 Subject: [PATCH 258/712] bump dependencies Signed-off-by: Christine Yi --- plugins/firehydrant/package.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/plugins/firehydrant/package.json b/plugins/firehydrant/package.json index f4d2a3a8a3..08773dc972 100644 --- a/plugins/firehydrant/package.json +++ b/plugins/firehydrant/package.json @@ -20,11 +20,11 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-plugin-api": "^0.1.3", - "@backstage/core-components": "^0.1.5", + "@backstage/core-plugin-api": "^0.1.4", + "@backstage/core-components": "^0.2.0", "@backstage/plugin-catalog-react": "^0.2.6", - "@backstage/theme": "^0.2.8", - "@material-ui/core": "^4.11.0", + "@backstage/theme": "^0.2.9", + "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.45", "moment": "^2.29.1", @@ -33,17 +33,17 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.3", - "@backstage/core-app-api": "^0.1.4", - "@backstage/dev-utils": "^0.2.1", - "@backstage/test-utils": "^0.1.14", + "@backstage/cli": "^0.7.6", + "@backstage/core-app-api": "^0.1.6", + "@backstage/dev-utils": "^0.2.4", + "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^13.1.8", "@types/jest": "^26.0.7", "@types/node": "^14.14.32", "cross-fetch": "^3.0.6", - "msw": "^0.21.2" + "msw": "^0.29.0" }, "files": [ "dist" From c9bab6d5963c2a7857d88f2d343b372cd75866fb Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Mon, 9 Aug 2021 16:55:32 +0200 Subject: [PATCH 259/712] auth-backend: read and encode the entire state object in encodeState and readState Signed-off-by: Patrik Oldsberg --- plugins/auth-backend/src/lib/oauth/helpers.ts | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/plugins/auth-backend/src/lib/oauth/helpers.ts b/plugins/auth-backend/src/lib/oauth/helpers.ts index df84d421bd..ead9acae27 100644 --- a/plugins/auth-backend/src/lib/oauth/helpers.ts +++ b/plugins/auth-backend/src/lib/oauth/helpers.ts @@ -29,18 +29,14 @@ export const readState = (stateString: string): OAuthState => { ) { throw Error(`Invalid state passed via request`); } - return { - nonce: state.nonce, - env: state.env, - }; + + return state as OAuthState; }; export const encodeState = (state: OAuthState): string => { - const searchParams = new URLSearchParams(); - searchParams.append('nonce', state.nonce); - searchParams.append('env', state.env); + const stateString = new URLSearchParams(state).toString(); - return Buffer.from(searchParams.toString(), 'utf-8').toString('hex'); + return Buffer.from(stateString, 'utf-8').toString('hex'); }; export const verifyNonce = (req: express.Request, providerId: string) => { From 3067f0a0c2dcd208f150be59710c20e4aa0840bd Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Mon, 9 Aug 2021 18:37:31 +0200 Subject: [PATCH 260/712] Note OpenStack Swift caveat. Signed-off-by: Eric Peterson --- .changeset/techdocs-all-done.md | 11 ++++++----- docs/features/techdocs/README.md | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.changeset/techdocs-all-done.md b/.changeset/techdocs-all-done.md index 6d2146e2a5..c4c1b5ed83 100644 --- a/.changeset/techdocs-all-done.md +++ b/.changeset/techdocs-all-done.md @@ -10,10 +10,11 @@ any case (e.g. `/docs/namespace/KIND/name` or `/docs/namespace/kind/name`). If you do not use an external storage provider for serving TechDocs, this is a transparent change and no action is required from you. -If you _do_ use an external storage provider for serving TechDocs (e.g. Google -Cloud Storage, AWS S3, or Azure Blob Storage), you must run a migration command -against your storage provider before updating to this version. +If you _do_ use an external storage provider for serving TechDocs (one of\* GCS, +AWS S3, or Azure Blob Storage), you must run a migration command against your +storage provider before updating. -[A migration guide is available here](#todo). +[A migration guide is available here](https://backstage.io/docs/features/techdocs/how-to-guides#how-to-migrate-from-techdocs-alpha-to-beta). -This is the third and final step of migrating cloud storage entities to lowercase ([see](https://github.com/backstage/backstage/issues/4367#issuecomment-876461002)). +- (\*) We're seeking help from the community to bring OpenStack Swift support + [to feature parity](https://github.com/backstage/backstage/issues/6763) with the above. diff --git a/docs/features/techdocs/README.md b/docs/features/techdocs/README.md index 6732b3ab18..b845691ac8 100644 --- a/docs/features/techdocs/README.md +++ b/docs/features/techdocs/README.md @@ -54,7 +54,7 @@ providers are used. | Google Cloud Storage (GCS) | Yes ✅ | | Amazon Web Services (AWS) S3 | Yes ✅ | | Azure Blob Storage | Yes ✅ | -| OpenStack Swift | Yes ✅ | +| OpenStack Swift | Community ✅ | [Reach out to us](#feedback) if you want to request more platforms. From 055f8791b5c1311a3a948d00a4ca82cfb3d6f899 Mon Sep 17 00:00:00 2001 From: Christine Yi Date: Mon, 9 Aug 2021 16:06:35 -0400 Subject: [PATCH 261/712] bump dependencies Signed-off-by: Christine Yi --- plugins/firehydrant/package.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/firehydrant/package.json b/plugins/firehydrant/package.json index 08773dc972..f2f2dfe84b 100644 --- a/plugins/firehydrant/package.json +++ b/plugins/firehydrant/package.json @@ -20,9 +20,9 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/core-plugin-api": "^0.1.4", - "@backstage/core-components": "^0.2.0", - "@backstage/plugin-catalog-react": "^0.2.6", + "@backstage/core-components": "^0.3.0", + "@backstage/core-plugin-api": "^0.1.5", + "@backstage/plugin-catalog-react": "^0.4.1", "@backstage/theme": "^0.2.9", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -33,9 +33,9 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.7.6", - "@backstage/core-app-api": "^0.1.6", - "@backstage/dev-utils": "^0.2.4", + "@backstage/cli": "^0.7.7", + "@backstage/core-app-api": "^0.1.7", + "@backstage/dev-utils": "^0.2.5", "@backstage/test-utils": "^0.1.16", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^11.2.5", From 84422ec82d16c98dc35c947a793a54bfb2df8044 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Aug 2021 04:11:54 +0000 Subject: [PATCH 262/712] chore(deps-dev): bump @types/react-lazylog from 4.5.0 to 4.5.1 Bumps [@types/react-lazylog](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-lazylog) from 4.5.0 to 4.5.1. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-lazylog) --- updated-dependencies: - dependency-name: "@types/react-lazylog" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 49a7a58059..ba4e4585e6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7198,9 +7198,9 @@ "@types/react" "*" "@types/react-lazylog@^4.5.0": - version "4.5.0" - resolved "https://registry.npmjs.org/@types/react-lazylog/-/react-lazylog-4.5.0.tgz#1677ac520f29ada2e95b8cd5f8ec54b897227278" - integrity sha512-yg0IhKtDRGqUUtXJwi9Y/sSmgX/gmVP0vu0cr5uAECmJnRQbAgsGoVUntQGtwH0Z7Y2iiTh+QW5LkOFsmtIisg== + version "4.5.1" + resolved "https://registry.npmjs.org/@types/react-lazylog/-/react-lazylog-4.5.1.tgz#babb5d814f7035b5434518769975e12f299356a8" + integrity sha512-g4yeosa1zYhu2BUJmuu2H2o0dsdRj0o8Omw3pBiVHdLHJaeYIyArvyMRR3bI/MxZxG4EaiRl8AOQ6zeM8P46jA== dependencies: "@types/react" "*" immutable ">=3.8.2" From 40ea43e57eeb3a8d0575b3261bbec61bc5505cec Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Aug 2021 04:13:16 +0000 Subject: [PATCH 263/712] chore(deps-dev): bump @types/json-schema-merge-allof from 0.6.0 to 0.6.1 Bumps [@types/json-schema-merge-allof](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/json-schema-merge-allof) from 0.6.0 to 0.6.1. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/json-schema-merge-allof) --- updated-dependencies: - dependency-name: "@types/json-schema-merge-allof" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/yarn.lock b/yarn.lock index 49a7a58059..ef19134536 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6831,27 +6831,17 @@ recast "^0.20.3" "@types/json-schema-merge-allof@^0.6.0": - version "0.6.0" - resolved "https://registry.npmjs.org/@types/json-schema-merge-allof/-/json-schema-merge-allof-0.6.0.tgz#0f587d8a3bcb41a55ef2e91d3ba96430c9bc1813" - integrity sha512-v6iCEk4Sxy1twlCTtrRxMqSHX0vuLJ7Ql4hiIUZRMOswxtlUeybIfYaZIj7pX747RBczG2YtBm4Fn6sqKzeY2Q== + version "0.6.1" + resolved "https://registry.npmjs.org/@types/json-schema-merge-allof/-/json-schema-merge-allof-0.6.1.tgz#c476c2aeed04d8a14882ff872de9ddeca5608e0b" + integrity sha512-tBVtkCCbA1oF8vQ2cp2yuGLp0T2f0AZ2dAic64ZftoWQnKqrTYY/+PuiqPKX1XaxoR43ll/EkYcHnJbdbHUS2g== dependencies: "@types/json-schema" "*" -"@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6", "@types/json-schema@^7.0.7": - version "7.0.7" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" - integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== - -"@types/json-schema@^7.0.4": +"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.8": version "7.0.9" resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== -"@types/json-schema@^7.0.8": - version "7.0.8" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.8.tgz#edf1bf1dbf4e04413ca8e5b17b3b7d7d54b59818" - integrity sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg== - "@types/json-stable-stringify@^1.0.32": version "1.0.32" resolved "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.32.tgz#121f6917c4389db3923640b2e68de5fa64dda88e" From edf5faf1c2324275680f6b5ab72d9bcec61649a2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Aug 2021 04:16:29 +0000 Subject: [PATCH 264/712] chore(deps-dev): bump @storybook/addon-storysource from 6.3.6 to 6.3.7 Bumps [@storybook/addon-storysource](https://github.com/storybookjs/storybook/tree/HEAD/addons/storysource) from 6.3.6 to 6.3.7. - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v6.3.7/addons/storysource) --- updated-dependencies: - dependency-name: "@storybook/addon-storysource" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 163 ++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 146 insertions(+), 17 deletions(-) diff --git a/yarn.lock b/yarn.lock index 49a7a58059..132ba2c16d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5448,17 +5448,17 @@ ts-dedent "^2.0.0" "@storybook/addon-storysource@^6.1.11": - version "6.3.6" - resolved "https://registry.npmjs.org/@storybook/addon-storysource/-/addon-storysource-6.3.6.tgz#3ecacd39690675ffcba0d40ca235090fc2bf5574" - integrity sha512-BNNuy/6Vb7NzeCDbt+bCL1dC/XQOalzKHW6FplO0pR0eMSi6EmJJnU9V+5rFAUtG5zxGeCx2h7TrrFecouM2BA== + version "6.3.7" + resolved "https://registry.npmjs.org/@storybook/addon-storysource/-/addon-storysource-6.3.7.tgz#7818f2402e19453747274d2c1e8e0a99f24fc2ab" + integrity sha512-cb1F47aD/c5TQDMmYwuKz608YeLWYSYQXGtCdijzjznYVSMJ4eAFnd38AiF2Ax1EM79BEMqzqH1SrveibAaQlA== dependencies: - "@storybook/addons" "6.3.6" - "@storybook/api" "6.3.6" - "@storybook/client-logger" "6.3.6" - "@storybook/components" "6.3.6" - "@storybook/router" "6.3.6" - "@storybook/source-loader" "6.3.6" - "@storybook/theming" "6.3.6" + "@storybook/addons" "6.3.7" + "@storybook/api" "6.3.7" + "@storybook/client-logger" "6.3.7" + "@storybook/components" "6.3.7" + "@storybook/router" "6.3.7" + "@storybook/source-loader" "6.3.7" + "@storybook/theming" "6.3.7" core-js "^3.8.2" estraverse "^5.2.0" loader-utils "^2.0.0" @@ -5467,7 +5467,7 @@ react-syntax-highlighter "^13.5.3" regenerator-runtime "^0.13.7" -"@storybook/addons@6.3.6", "@storybook/addons@^6.1.11": +"@storybook/addons@6.3.6": version "6.3.6" resolved "https://registry.npmjs.org/@storybook/addons/-/addons-6.3.6.tgz#330fd722bdae8abefeb029583e89e51e62c20b60" integrity sha512-tVV0vqaEEN9Md4bgScwfrnZYkN8iKZarpkIOFheLev+PHjSp8lgWMK5SNWDlbBYqfQfzrz9xbs+F07bMjfx9jQ== @@ -5482,6 +5482,21 @@ global "^4.4.0" regenerator-runtime "^0.13.7" +"@storybook/addons@6.3.7", "@storybook/addons@^6.1.11": + version "6.3.7" + resolved "https://registry.npmjs.org/@storybook/addons/-/addons-6.3.7.tgz#7c6b8d11b65f67b1884f6140437fe996dc39537a" + integrity sha512-9stVjTcc52bqqh7YQex/LpSjJ4e2Czm4/ZYDjIiNy0p4OZEx+yLhL5mZzMWh2NQd6vv+pHASBSxf2IeaR5511A== + dependencies: + "@storybook/api" "6.3.7" + "@storybook/channels" "6.3.7" + "@storybook/client-logger" "6.3.7" + "@storybook/core-events" "6.3.7" + "@storybook/router" "6.3.7" + "@storybook/theming" "6.3.7" + core-js "^3.8.2" + global "^4.4.0" + regenerator-runtime "^0.13.7" + "@storybook/api@6.3.6": version "6.3.6" resolved "https://registry.npmjs.org/@storybook/api/-/api-6.3.6.tgz#b110688ae0a970c9443d47b87616a09456f3708e" @@ -5508,6 +5523,32 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" +"@storybook/api@6.3.7": + version "6.3.7" + resolved "https://registry.npmjs.org/@storybook/api/-/api-6.3.7.tgz#88b8a51422cd0739c91bde0b1d65fb6d8a8485d0" + integrity sha512-57al8mxmE9agXZGo8syRQ8UhvGnDC9zkuwkBPXchESYYVkm3Mc54RTvdAOYDiy85VS4JxiGOywHayCaRwgUddQ== + dependencies: + "@reach/router" "^1.3.4" + "@storybook/channels" "6.3.7" + "@storybook/client-logger" "6.3.7" + "@storybook/core-events" "6.3.7" + "@storybook/csf" "0.0.1" + "@storybook/router" "6.3.7" + "@storybook/semver" "^7.3.2" + "@storybook/theming" "6.3.7" + "@types/reach__router" "^1.3.7" + core-js "^3.8.2" + fast-deep-equal "^3.1.3" + global "^4.4.0" + lodash "^4.17.20" + memoizerific "^1.11.3" + qs "^6.10.0" + regenerator-runtime "^0.13.7" + store2 "^2.12.0" + telejson "^5.3.2" + ts-dedent "^2.0.0" + util-deprecate "^1.0.2" + "@storybook/builder-webpack4@6.3.6": version "6.3.6" resolved "https://registry.npmjs.org/@storybook/builder-webpack4/-/builder-webpack4-6.3.6.tgz#fe444abfc178e005ea077e2bcfd6ae7509522908" @@ -5606,6 +5647,15 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" +"@storybook/channels@6.3.7": + version "6.3.7" + resolved "https://registry.npmjs.org/@storybook/channels/-/channels-6.3.7.tgz#85ed5925522b802d959810f78d37aacde7fea66e" + integrity sha512-aErXO+SRO8MPp2wOkT2n9d0fby+8yM35tq1tI633B4eQsM74EykbXPv7EamrYPqp1AI4BdiloyEpr0hmr2zlvg== + dependencies: + core-js "^3.8.2" + ts-dedent "^2.0.0" + util-deprecate "^1.0.2" + "@storybook/client-api@6.3.6": version "6.3.6" resolved "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.3.6.tgz#4826ce366ae109f608da6ade24b29efeb9b7f7dd" @@ -5638,6 +5688,14 @@ core-js "^3.8.2" global "^4.4.0" +"@storybook/client-logger@6.3.7": + version "6.3.7" + resolved "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.3.7.tgz#ff17b7494e7e9e23089b0d5c5364c371c726bdd1" + integrity sha512-BQRErHE3nIEuUJN/3S3dO1LzxAknOgrFeZLd4UVcH/fvjtS1F4EkhcbH+jNyUWvcWGv66PZYN0oFPEn/g3Savg== + dependencies: + core-js "^3.8.2" + global "^4.4.0" + "@storybook/components@6.3.6": version "6.3.6" resolved "https://registry.npmjs.org/@storybook/components/-/components-6.3.6.tgz#bc2fa1dbe59f42b5b2aeb9f84424072835d4ce8b" @@ -5668,6 +5726,36 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" +"@storybook/components@6.3.7": + version "6.3.7" + resolved "https://registry.npmjs.org/@storybook/components/-/components-6.3.7.tgz#42b1ca6d24e388e02eab82aa9ed3365db2266ecc" + integrity sha512-O7LIg9Z18G0AJqXX7Shcj0uHqwXlSA5UkHgaz9A7mqqqJNl6m6FwwTWcxR1acUfYVNkO+czgpqZHNrOF6rky1A== + dependencies: + "@popperjs/core" "^2.6.0" + "@storybook/client-logger" "6.3.7" + "@storybook/csf" "0.0.1" + "@storybook/theming" "6.3.7" + "@types/color-convert" "^2.0.0" + "@types/overlayscrollbars" "^1.12.0" + "@types/react-syntax-highlighter" "11.0.5" + color-convert "^2.0.1" + core-js "^3.8.2" + fast-deep-equal "^3.1.3" + global "^4.4.0" + lodash "^4.17.20" + markdown-to-jsx "^7.1.3" + memoizerific "^1.11.3" + overlayscrollbars "^1.13.1" + polished "^4.0.5" + prop-types "^15.7.2" + react-colorful "^5.1.2" + react-popper-tooltip "^3.1.1" + react-syntax-highlighter "^13.5.3" + react-textarea-autosize "^8.3.0" + regenerator-runtime "^0.13.7" + ts-dedent "^2.0.0" + util-deprecate "^1.0.2" + "@storybook/core-client@6.3.6": version "6.3.6" resolved "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.3.6.tgz#7def721aa15d4faaff574780d30b92055db7261c" @@ -5752,6 +5840,13 @@ dependencies: core-js "^3.8.2" +"@storybook/core-events@6.3.7": + version "6.3.7" + resolved "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.3.7.tgz#c5bc7cae7dc295de73b6b9f671ecbe582582e9bd" + integrity sha512-l5Hlhe+C/dqxjobemZ6DWBhTOhQoFF3F1Y4kjFGE7pGZl/mas4M72I5I/FUcYCmbk2fbLfZX8hzKkUqS1hdyLA== + dependencies: + core-js "^3.8.2" + "@storybook/core-server@6.3.6": version "6.3.6" resolved "https://registry.npmjs.org/@storybook/core-server/-/core-server-6.3.6.tgz#43c1415573c3b72ec6b9ae48d68e1bb446722f7c" @@ -5938,6 +6033,22 @@ qs "^6.10.0" ts-dedent "^2.0.0" +"@storybook/router@6.3.7": + version "6.3.7" + resolved "https://registry.npmjs.org/@storybook/router/-/router-6.3.7.tgz#1714a99a58a7b9f08b6fcfe2b678dad6ca896736" + integrity sha512-6tthN8op7H0NoYoE1SkQFJKC42pC4tGaoPn7kEql8XGeUJnxPtVFjrnywlTrRnKuxZKIvbilQBAwDml97XH23Q== + dependencies: + "@reach/router" "^1.3.4" + "@storybook/client-logger" "6.3.7" + "@types/reach__router" "^1.3.7" + core-js "^3.8.2" + fast-deep-equal "^3.1.3" + global "^4.4.0" + lodash "^4.17.20" + memoizerific "^1.11.3" + qs "^6.10.0" + ts-dedent "^2.0.0" + "@storybook/semver@^7.3.2": version "7.3.2" resolved "https://registry.npmjs.org/@storybook/semver/-/semver-7.3.2.tgz#f3b9c44a1c9a0b933c04e66d0048fcf2fa10dac0" @@ -5946,13 +6057,13 @@ core-js "^3.6.5" find-up "^4.1.0" -"@storybook/source-loader@6.3.6": - version "6.3.6" - resolved "https://registry.npmjs.org/@storybook/source-loader/-/source-loader-6.3.6.tgz#2d3d01919baad7a40f67d1150c74e41dea5f1d4c" - integrity sha512-om3iS3a+D287FzBrbXB/IXB6Z5Ql2yc4dFKTy6FPe5v4N3U0p5puWOKUYWWbTX1JbcpRj0IXXo7952G68tcC1g== +"@storybook/source-loader@6.3.7": + version "6.3.7" + resolved "https://registry.npmjs.org/@storybook/source-loader/-/source-loader-6.3.7.tgz#cc348305df3c2d8d716c0bab7830c9f537b859ff" + integrity sha512-0xQTq90jwx7W7MJn/idEBCGPOyxi/3No5j+5YdfJsSGJRuMFH3jt6pGgdeZ4XA01cmmIX6bZ+fB9al6yAzs91w== dependencies: - "@storybook/addons" "6.3.6" - "@storybook/client-logger" "6.3.6" + "@storybook/addons" "6.3.7" + "@storybook/client-logger" "6.3.7" "@storybook/csf" "0.0.1" core-js "^3.8.2" estraverse "^5.2.0" @@ -5980,6 +6091,24 @@ resolve-from "^5.0.0" ts-dedent "^2.0.0" +"@storybook/theming@6.3.7": + version "6.3.7" + resolved "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.7.tgz#6daf9a21b26ed607f3c28a82acd90c0248e76d8b" + integrity sha512-GXBdw18JJd5jLLcRonAZWvGGdwEXByxF1IFNDSOYCcpHWsMgTk4XoLjceu9MpXET04pVX51LbVPLCvMdggoohg== + dependencies: + "@emotion/core" "^10.1.1" + "@emotion/is-prop-valid" "^0.8.6" + "@emotion/styled" "^10.0.27" + "@storybook/client-logger" "6.3.7" + core-js "^3.8.2" + deep-object-diff "^1.1.0" + emotion-theming "^10.0.27" + global "^4.4.0" + memoizerific "^1.11.3" + polished "^4.0.5" + resolve-from "^5.0.0" + ts-dedent "^2.0.0" + "@storybook/ui@6.3.6": version "6.3.6" resolved "https://registry.npmjs.org/@storybook/ui/-/ui-6.3.6.tgz#a9ed8265e34bb8ef9f0dd08f40170b3dcf8a8931" From 8a3e465910a3f41450a1a1bf6aafd418462c53e5 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Mon, 9 Aug 2021 19:12:43 +0200 Subject: [PATCH 265/712] techdocs: switch to xhr-based event source polyfill Signed-off-by: Patrik Oldsberg --- .changeset/pink-pugs-relate.md | 5 ++++ plugins/techdocs/package.json | 3 +-- plugins/techdocs/src/client.test.ts | 25 ++++++++--------- plugins/techdocs/src/client.ts | 5 ++-- .../techdocs/src/event-source-polyfill.d.ts | 27 +++++++++++++++++++ yarn.lock | 17 ++++-------- 6 files changed, 54 insertions(+), 28 deletions(-) create mode 100644 .changeset/pink-pugs-relate.md create mode 100644 plugins/techdocs/src/event-source-polyfill.d.ts diff --git a/.changeset/pink-pugs-relate.md b/.changeset/pink-pugs-relate.md new file mode 100644 index 0000000000..e9de00901e --- /dev/null +++ b/.changeset/pink-pugs-relate.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-techdocs': patch +--- + +Switch `EventSource` implementation with header support from a Node.js API-based one to an XHR-based one. diff --git a/plugins/techdocs/package.json b/plugins/techdocs/package.json index b853ae04f7..7051109c2e 100644 --- a/plugins/techdocs/package.json +++ b/plugins/techdocs/package.json @@ -45,7 +45,7 @@ "@material-ui/lab": "4.0.0-alpha.45", "@material-ui/styles": "^4.10.0", "dompurify": "^2.2.9", - "eventsource": "^1.1.0", + "event-source-polyfill": "^1.0.25", "react": "^16.13.1", "react-dom": "^16.13.1", "react-lazylog": "^4.5.2", @@ -65,7 +65,6 @@ "@testing-library/react-hooks": "^3.4.2", "@testing-library/user-event": "^13.1.8", "@types/dompurify": "^2.2.2", - "@types/eventsource": "^1.1.5", "@types/jest": "^26.0.7", "@types/node": "^14.14.32", "@types/react": "*", diff --git a/plugins/techdocs/src/client.test.ts b/plugins/techdocs/src/client.test.ts index aa57c97c65..7624f250d9 100644 --- a/plugins/techdocs/src/client.test.ts +++ b/plugins/techdocs/src/client.test.ts @@ -18,13 +18,14 @@ import { Config } from '@backstage/config'; import { UrlPatternDiscovery } from '@backstage/core-app-api'; import { IdentityApi } from '@backstage/core-plugin-api'; import { NotFoundError } from '@backstage/errors'; -import EventSource from 'eventsource'; +import { EventSourcePolyfill } from 'event-source-polyfill'; import { TechDocsStorageClient } from './client'; -const MockedEventSource: jest.MockedClass = - EventSource as any; +const MockedEventSource = EventSourcePolyfill as jest.MockedClass< + typeof EventSourcePolyfill +>; -jest.mock('eventsource'); +jest.mock('event-source-polyfill'); const mockEntity = { kind: 'Component', @@ -82,7 +83,7 @@ describe('TechDocsStorageClient', () => { MockedEventSource.prototype.addEventListener.mockImplementation( (type, fn) => { - if (type === 'finish') { + if (type === 'finish' && typeof fn === 'function') { fn({ data: '{"updated": false}' } as any); } }, @@ -106,7 +107,7 @@ describe('TechDocsStorageClient', () => { MockedEventSource.prototype.addEventListener.mockImplementation( (type, fn) => { - if (type === 'finish') { + if (type === 'finish' && typeof fn === 'function') { fn({ data: '{"updated": false}' } as any); } }, @@ -132,7 +133,7 @@ describe('TechDocsStorageClient', () => { MockedEventSource.prototype.addEventListener.mockImplementation( (type, fn) => { - if (type === 'finish') { + if (type === 'finish' && typeof fn === 'function') { fn({ data: '{"updated": false}' } as any); } }, @@ -153,7 +154,7 @@ describe('TechDocsStorageClient', () => { MockedEventSource.prototype.addEventListener.mockImplementation( (type, fn) => { - if (type === 'finish') { + if (type === 'finish' && typeof fn === 'function') { fn({ data: '{"updated": true}' } as any); } }, @@ -174,11 +175,11 @@ describe('TechDocsStorageClient', () => { MockedEventSource.prototype.addEventListener.mockImplementation( (type, fn) => { - if (type === 'log') { + if (type === 'log' && typeof fn === 'function') { fn({ data: '"A log message"' } as any); } - if (type === 'finish') { + if (type === 'finish' && typeof fn === 'function') { fn({ data: '{"updated": false}' } as any); } }, @@ -210,7 +211,7 @@ describe('TechDocsStorageClient', () => { const instance = MockedEventSource.mock .instances[0] as jest.Mocked; - instance.onerror({ + instance.onerror?.({ status: 404, message: 'Some not found warning', } as any); @@ -236,7 +237,7 @@ describe('TechDocsStorageClient', () => { const instance = MockedEventSource.mock .instances[0] as jest.Mocked; - instance.onerror({ + instance.onerror?.({ type: 'error', data: 'Some other error', } as any); diff --git a/plugins/techdocs/src/client.ts b/plugins/techdocs/src/client.ts index f867ce4011..8a3ad59c03 100644 --- a/plugins/techdocs/src/client.ts +++ b/plugins/techdocs/src/client.ts @@ -18,7 +18,7 @@ import { EntityName } from '@backstage/catalog-model'; import { Config } from '@backstage/config'; import { DiscoveryApi, IdentityApi } from '@backstage/core-plugin-api'; import { NotFoundError, ResponseError } from '@backstage/errors'; -import EventSource from 'eventsource'; +import { EventSourcePolyfill } from 'event-source-polyfill'; import { SyncResult, TechDocsApi, TechDocsStorageApi } from './api'; import { TechDocsEntityMetadata, TechDocsMetadata } from './types'; @@ -214,7 +214,8 @@ export class TechDocsStorageClient implements TechDocsStorageApi { const token = await this.identityApi.getIdToken(); return new Promise((resolve, reject) => { - const source = new EventSource(url, { + // Polyfill is used to add support for custom headers and auth + const source = new EventSourcePolyfill(url, { withCredentials: true, headers: token ? { Authorization: `Bearer ${token}` } : {}, }); diff --git a/plugins/techdocs/src/event-source-polyfill.d.ts b/plugins/techdocs/src/event-source-polyfill.d.ts new file mode 100644 index 0000000000..8e298bde38 --- /dev/null +++ b/plugins/techdocs/src/event-source-polyfill.d.ts @@ -0,0 +1,27 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +declare module 'event-source-polyfill' { + export class EventSourcePolyfill extends EventSource { + constructor( + url: string, + options?: { + withCredentials?: boolean; + headers?: HeadersInit; + }, + ); + } +} diff --git a/yarn.lock b/yarn.lock index 49a7a58059..fc89cd4476 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6574,11 +6574,6 @@ resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== -"@types/eventsource@^1.1.5": - version "1.1.5" - resolved "https://registry.npmjs.org/@types/eventsource/-/eventsource-1.1.5.tgz#408e9b45efb176c8bea672ab58c81e7ab00d24bc" - integrity sha512-BA9q9uC2PAMkUS7DunHTxWZZaVpeNzDG8lkBxcKwzKJClfDQ4Z59/Csx7HSH/SIqFN2JWh0tAKAM6k/wRR0OZg== - "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18", "@types/express-serve-static-core@^4.17.21": version "4.17.24" resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz#ea41f93bf7e0d59cd5a76665068ed6aab6815c07" @@ -13219,6 +13214,11 @@ event-emitter@^0.3.5: d "1" es5-ext "~0.10.14" +event-source-polyfill@^1.0.25: + version "1.0.25" + resolved "https://registry.npmjs.org/event-source-polyfill/-/event-source-polyfill-1.0.25.tgz#d8bb7f99cb6f8119c2baf086d9f6ee0514b6d9c8" + integrity sha512-hQxu6sN1Eq4JjoI7ITdQeGGUN193A2ra83qC0Ltm9I2UJVAten3OFVN6k5RX4YWeCS0BoC8xg/5czOCIHVosQg== + event-stream@=3.3.4: version "3.3.4" resolved "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" @@ -13279,13 +13279,6 @@ eventsource@^1.0.5: dependencies: original "^1.0.0" -eventsource@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz#00e8ca7c92109e94b0ddf32dac677d841028cfaf" - integrity sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg== - dependencies: - original "^1.0.0" - evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" From add5ee5d97ac949929d4790665bdeef5ddf40bb3 Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Tue, 10 Aug 2021 12:30:34 +0200 Subject: [PATCH 266/712] Use lower-case links within techdocs plugin; allow legacy behavior with config. Signed-off-by: Eric Peterson --- plugins/techdocs/config.d.ts | 7 ++ .../src/home/components/DocsCardGrid.test.tsx | 65 +++++++++++++++- .../src/home/components/DocsCardGrid.tsx | 16 +++- .../src/home/components/DocsTable.test.tsx | 76 ++++++++++++++++++- .../src/home/components/DocsTable.tsx | 13 +++- 5 files changed, 168 insertions(+), 9 deletions(-) diff --git a/plugins/techdocs/config.d.ts b/plugins/techdocs/config.d.ts index ebc2aa2fd7..d6bf21b10b 100644 --- a/plugins/techdocs/config.d.ts +++ b/plugins/techdocs/config.d.ts @@ -26,6 +26,13 @@ export interface Config { */ builder: 'local' | 'external'; + /** + * Allows fallback to case-sensitive triplets in case of migration issues. + * @visibility frontend + * @see https://backstage.io/docs/features/techdocs/how-to-guides#how-to-migrate-from-techdocs-alpha-to-beta + */ + legacyUseCaseSensitiveTripletPaths?: boolean; + /** * @example http://localhost:7000/api/techdocs * @visibility frontend diff --git a/plugins/techdocs/src/home/components/DocsCardGrid.test.tsx b/plugins/techdocs/src/home/components/DocsCardGrid.test.tsx index f9831e2fa4..4adada48fa 100644 --- a/plugins/techdocs/src/home/components/DocsCardGrid.test.tsx +++ b/plugins/techdocs/src/home/components/DocsCardGrid.test.tsx @@ -17,11 +17,35 @@ import { wrapInTestApp } from '@backstage/test-utils'; import { render } from '@testing-library/react'; import React from 'react'; +import { configApiRef } from '@backstage/core-plugin-api'; import { DocsCardGrid } from './DocsCardGrid'; +// Hacky way to mock a specific boolean config value. +const getOptionalBooleanMock = jest.fn().mockReturnValue(false); +jest.mock('@backstage/core-plugin-api', () => ({ + ...jest.requireActual('@backstage/core-plugin-api'), + useApi: (apiRef: any) => { + const actualUseApi = jest.requireActual( + '@backstage/core-plugin-api', + ).useApi; + const actualApi = actualUseApi(apiRef); + if (apiRef === configApiRef) { + const configReader = actualApi; + configReader.getOptionalBoolean = getOptionalBooleanMock; + return configReader; + } + + return actualApi; + }, +})); + describe('Entity Docs Card Grid', () => { + beforeEach(() => { + jest.resetAllMocks(); + }); + it('should render all entities passed ot it', async () => { - const { findByText } = render( + const { findByText, findAllByRole } = render( wrapInTestApp( { ); expect(await findByText('testName')).toBeInTheDocument(); expect(await findByText('testName2')).toBeInTheDocument(); + const [button1, button2] = await findAllByRole('button'); + expect(button1.getAttribute('href')).toContain( + '/default/testkind/testname', + ); + expect(button2.getAttribute('href')).toContain( + '/default/testkind2/testname2', + ); + }); + + it('should fall back to case-sensitive links when configured', async () => { + getOptionalBooleanMock.mockReturnValue(true); + + const { findByRole } = render( + wrapInTestApp( + , + ), + ); + + const button = await findByRole('button'); + expect(getOptionalBooleanMock).toHaveBeenCalledWith( + 'techdocs.legacyUseCaseSensitiveTripletPaths', + ); + expect(button.getAttribute('href')).toContain( + '/SomeNamespace/TestKind/testName', + ); }); }); diff --git a/plugins/techdocs/src/home/components/DocsCardGrid.tsx b/plugins/techdocs/src/home/components/DocsCardGrid.tsx index 500debaf2d..8b7e114b09 100644 --- a/plugins/techdocs/src/home/components/DocsCardGrid.tsx +++ b/plugins/techdocs/src/home/components/DocsCardGrid.tsx @@ -18,6 +18,7 @@ import React from 'react'; import { generatePath } from 'react-router-dom'; import { Entity } from '@backstage/catalog-model'; +import { useApi, configApiRef } from '@backstage/core-plugin-api'; import { Card, CardActions, CardContent, CardMedia } from '@material-ui/core'; import { rootDocsRouteRef } from '../../routes'; @@ -32,6 +33,13 @@ export const DocsCardGrid = ({ }: { entities: Entity[] | undefined; }) => { + // Lower-case entity triplets by default, but allow override. + const toLowerMaybe = useApi(configApiRef).getOptionalBoolean( + 'techdocs.legacyUseCaseSensitiveTripletPaths', + ) + ? (str: string) => str + : (str: string) => str.toLocaleLowerCase(); + if (!entities) return null; return ( @@ -46,9 +54,11 @@ export const DocsCardGrid = ({
    From 9dd49cfd3b298584c408e233918f6f93047992c3 Mon Sep 17 00:00:00 2001 From: Niklas Granander Date: Thu, 12 Aug 2021 11:56:34 +0200 Subject: [PATCH 313/712] Match styles of Select for date picker Signed-off-by: Niklas Granander --- .../DatePickerComponent.tsx | 37 ++++++++++++------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/plugins/xcmetrics/src/components/DatePickerComponent/DatePickerComponent.tsx b/plugins/xcmetrics/src/components/DatePickerComponent/DatePickerComponent.tsx index c6cc2eded5..854fbbd87f 100644 --- a/plugins/xcmetrics/src/components/DatePickerComponent/DatePickerComponent.tsx +++ b/plugins/xcmetrics/src/components/DatePickerComponent/DatePickerComponent.tsx @@ -18,6 +18,7 @@ import { createStyles, InputBase, InputProps, + makeStyles, Theme, Typography, withStyles, @@ -50,6 +51,13 @@ const BootstrapInput = withStyles((theme: Theme) => }), )(InputBase); +const useStyles = makeStyles({ + root: { + display: 'flex', + flexDirection: 'column', + }, +}); + interface DatePickerProps { label: string; onDateChange?: (date: string) => void; @@ -59,16 +67,19 @@ export const DatePickerComponent = ({ label, onDateChange, ...inputProps -}: InputProps & DatePickerProps) => ( - <> - {label} -
    - onDateChange?.(event.target.value)} - {...inputProps} - /> - -); +}: InputProps & DatePickerProps) => { + const classes = useStyles(); + + return ( +
    + {label} + onDateChange?.(event.target.value)} + {...inputProps} + /> +
    + ); +}; From b28636108ffa9ca68a97bb56b1e68976d911e865 Mon Sep 17 00:00:00 2001 From: Oliver Sand Date: Thu, 12 Aug 2021 12:36:27 +0200 Subject: [PATCH 314/712] Make tests independent from each other Signed-off-by: Oliver Sand --- .../src/api/CatalogImportClient.test.ts | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/plugins/catalog-import/src/api/CatalogImportClient.test.ts b/plugins/catalog-import/src/api/CatalogImportClient.test.ts index bae363d700..eb6f754a0a 100644 --- a/plugins/catalog-import/src/api/CatalogImportClient.test.ts +++ b/plugins/catalog-import/src/api/CatalogImportClient.test.ts @@ -17,7 +17,7 @@ const octokit = { repos: { get: () => Promise.resolve({ data: { default_branch: 'main' } }), - createOrUpdateFileContents: jest.fn().mockImplementation(async () => {}), + createOrUpdateFileContents: jest.fn(async () => {}), }, search: { code: jest.fn(), @@ -26,10 +26,10 @@ const octokit = { getRef: async () => ({ data: { object: { sha: 'any' } }, }), - createRef: jest.fn().mockImplementation(async () => {}), + createRef: jest.fn(async () => {}), }, pulls: { - create: jest.fn().mockImplementation(async () => ({ + create: jest.fn(async () => ({ data: { html_url: 'http://pull/request/0', }, @@ -46,6 +46,8 @@ jest.doMock('@octokit/rest', () => { return { Octokit }; }); +import { ConfigReader, UrlPatternDiscovery } from '@backstage/core-app-api'; +import { OAuthApi } from '@backstage/core-plugin-api'; import { ScmIntegrations } from '@backstage/integration'; import { catalogApiRef } from '@backstage/plugin-catalog-react'; import { msw } from '@backstage/test-utils'; @@ -54,9 +56,6 @@ import { rest } from 'msw'; import { setupServer } from 'msw/node'; import { CatalogImportClient } from './CatalogImportClient'; -import { ConfigReader, UrlPatternDiscovery } from '@backstage/core-app-api'; -import { OAuthApi } from '@backstage/core-plugin-api'; - describe('CatalogImportClient', () => { const server = setupServer(); msw.setupDefaultHandlers(server); @@ -119,6 +118,11 @@ describe('CatalogImportClient', () => { }); }); + afterEach(() => { + jest.restoreAllMocks(); + jest.clearAllMocks(); + }); + describe('analyzeUrl', () => { it('should add yaml location', async () => { catalogApi.addLocation.mockResolvedValueOnce({ From ced85b598e92416ff78d4efc0906f6532f091d34 Mon Sep 17 00:00:00 2001 From: Oliver Sand Date: Thu, 12 Aug 2021 12:41:17 +0200 Subject: [PATCH 315/712] Fix catalog import not detecting yaml files correctly if query parameters are used Signed-off-by: Oliver Sand --- .changeset/funny-pants-unite.md | 5 ++ .../src/api/CatalogImportClient.test.ts | 47 +++++++++++++++++++ .../src/api/CatalogImportClient.ts | 21 ++++----- 3 files changed, 62 insertions(+), 11 deletions(-) create mode 100644 .changeset/funny-pants-unite.md diff --git a/.changeset/funny-pants-unite.md b/.changeset/funny-pants-unite.md new file mode 100644 index 0000000000..349cf54b8f --- /dev/null +++ b/.changeset/funny-pants-unite.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-import': patch +--- + +Fix importing yaml files from URLs with trailing query parameters. diff --git a/plugins/catalog-import/src/api/CatalogImportClient.test.ts b/plugins/catalog-import/src/api/CatalogImportClient.test.ts index eb6f754a0a..44f33dc660 100644 --- a/plugins/catalog-import/src/api/CatalogImportClient.test.ts +++ b/plugins/catalog-import/src/api/CatalogImportClient.test.ts @@ -171,6 +171,53 @@ describe('CatalogImportClient', () => { }); }); + it('should add yaml location, if url includes query parameters', async () => { + catalogApi.addLocation.mockResolvedValueOnce({ + location: { + id: 'id-0', + type: 'url', + target: 'http://example.com/folder/catalog-info.yaml?branch=test', + }, + entities: [ + { + apiVersion: '1', + kind: 'Component', + metadata: { + name: 'my-entity', + namespace: 'my-namespace', + }, + }, + ], + }); + + await expect( + catalogImportClient.analyzeUrl( + 'http://example.com/folder/catalog-info.yaml?branch=test', + ), + ).resolves.toEqual({ + locations: [ + { + entities: [ + { + kind: 'Component', + name: 'my-entity', + namespace: 'my-namespace', + }, + ], + target: 'http://example.com/folder/catalog-info.yaml?branch=test', + }, + ], + type: 'locations', + }); + + expect(catalogApi.addLocation).toBeCalledTimes(1); + expect(catalogApi.addLocation.mock.calls[0][0]).toEqual({ + type: 'url', + target: 'http://example.com/folder/catalog-info.yaml?branch=test', + dryRun: true, + }); + }); + it('should reject for integrations that are not github ones', async () => { await expect( catalogImportClient.analyzeUrl( diff --git a/plugins/catalog-import/src/api/CatalogImportClient.ts b/plugins/catalog-import/src/api/CatalogImportClient.ts index aa29c95247..dd727a64a7 100644 --- a/plugins/catalog-import/src/api/CatalogImportClient.ts +++ b/plugins/catalog-import/src/api/CatalogImportClient.ts @@ -16,20 +16,20 @@ import { CatalogApi } from '@backstage/catalog-client'; import { EntityName } from '@backstage/catalog-model'; -import { - GitHubIntegrationConfig, - ScmIntegrationRegistry, -} from '@backstage/integration'; -import { Base64 } from 'js-base64'; -import { Octokit } from '@octokit/rest'; -import { PartialEntity } from '../types'; -import { AnalyzeResult, CatalogImportApi } from './CatalogImportApi'; -import { getGithubIntegrationConfig } from './GitHub'; import { DiscoveryApi, IdentityApi, OAuthApi, } from '@backstage/core-plugin-api'; +import { + GitHubIntegrationConfig, + ScmIntegrationRegistry, +} from '@backstage/integration'; +import { Octokit } from '@octokit/rest'; +import { Base64 } from 'js-base64'; +import { PartialEntity } from '../types'; +import { AnalyzeResult, CatalogImportApi } from './CatalogImportApi'; +import { getGithubIntegrationConfig } from './GitHub'; export class CatalogImportClient implements CatalogImportApi { private readonly discoveryApi: DiscoveryApi; @@ -53,7 +53,7 @@ export class CatalogImportClient implements CatalogImportApi { } async analyzeUrl(url: string): Promise { - if (url.match(/\.ya?ml$/)) { + if (new URL(url).pathname.match(/\.ya?ml$/)) { const location = await this.catalogApi.addLocation({ type: 'url', target: url, @@ -340,7 +340,6 @@ export class CatalogImportClient implements CatalogImportApi { ), ); }); - return { link: pullRequestResponse.data.html_url, location: `https://${githubIntegrationConfig.host}/${owner}/${repo}/blob/${repoData.data.default_branch}/${fileName}`, From fb796eb0e79b29f3bb2a5b8f78502a4199077b7b Mon Sep 17 00:00:00 2001 From: Oliver Sand Date: Thu, 12 Aug 2021 13:21:23 +0200 Subject: [PATCH 316/712] restore whitespace Signed-off-by: Oliver Sand --- plugins/catalog-import/src/api/CatalogImportClient.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/catalog-import/src/api/CatalogImportClient.ts b/plugins/catalog-import/src/api/CatalogImportClient.ts index dd727a64a7..d7a2028330 100644 --- a/plugins/catalog-import/src/api/CatalogImportClient.ts +++ b/plugins/catalog-import/src/api/CatalogImportClient.ts @@ -340,6 +340,7 @@ export class CatalogImportClient implements CatalogImportApi { ), ); }); + return { link: pullRequestResponse.data.html_url, location: `https://${githubIntegrationConfig.host}/${owner}/${repo}/blob/${repoData.data.default_branch}/${fileName}`, From efbb82dd3006d42258338487138e2566591f2f01 Mon Sep 17 00:00:00 2001 From: Oliver Sand Date: Thu, 12 Aug 2021 14:23:50 +0200 Subject: [PATCH 317/712] Extract `JenkinsConfig` to make writing a custom `JenkinsInfoProvider` easier Signed-off-by: Oliver Sand --- .changeset/long-rats-flow.md | 5 + plugins/jenkins-backend/api-report.md | 25 ++ plugins/jenkins-backend/src/service/index.ts | 13 +- .../src/service/jenkinsInfoProvider.test.ts | 143 ++++++++- .../src/service/jenkinsInfoProvider.ts | 286 +++++++++--------- 5 files changed, 330 insertions(+), 142 deletions(-) create mode 100644 .changeset/long-rats-flow.md diff --git a/.changeset/long-rats-flow.md b/.changeset/long-rats-flow.md new file mode 100644 index 0000000000..61673f8bf9 --- /dev/null +++ b/.changeset/long-rats-flow.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-jenkins-backend': patch +--- + +Extract `JenkinsConfig` to make writing a custom `JenkinsInfoProvider` easier. diff --git a/plugins/jenkins-backend/api-report.md b/plugins/jenkins-backend/api-report.md index b94931e000..01114e74d6 100644 --- a/plugins/jenkins-backend/api-report.md +++ b/plugins/jenkins-backend/api-report.md @@ -34,6 +34,17 @@ export class DefaultJenkinsInfoProvider implements JenkinsInfoProvider { static readonly OLD_JENKINS_ANNOTATION = 'jenkins.io/github-folder'; } +// Warning: (ae-missing-release-tag) "JenkinsConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public +export class JenkinsConfig { + constructor(instances: JenkinsInstanceConfig[]); + static fromConfig(config: Config): JenkinsConfig; + getInstanceConfig(jenkinsName?: string): JenkinsInstanceConfig; + // (undocumented) + readonly instances: JenkinsInstanceConfig[]; +} + // Warning: (ae-missing-release-tag) "JenkinsInfo" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) @@ -57,6 +68,20 @@ export interface JenkinsInfoProvider { }): Promise; } +// Warning: (ae-missing-release-tag) "JenkinsInstanceConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface JenkinsInstanceConfig { + // (undocumented) + apiKey: string; + // (undocumented) + baseUrl: string; + // (undocumented) + name: string; + // (undocumented) + username: string; +} + // Warning: (ae-missing-release-tag) "RouterOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) diff --git a/plugins/jenkins-backend/src/service/index.ts b/plugins/jenkins-backend/src/service/index.ts index 329092e881..af9986c492 100644 --- a/plugins/jenkins-backend/src/service/index.ts +++ b/plugins/jenkins-backend/src/service/index.ts @@ -14,7 +14,14 @@ * limitations under the License. */ -export type { RouterOptions } from './router'; +export { + DefaultJenkinsInfoProvider, + JenkinsConfig, +} from './jenkinsInfoProvider'; +export type { + JenkinsInfo, + JenkinsInfoProvider, + JenkinsInstanceConfig, +} from './jenkinsInfoProvider'; export { createRouter } from './router'; -export type { JenkinsInfo, JenkinsInfoProvider } from './jenkinsInfoProvider'; -export { DefaultJenkinsInfoProvider } from './jenkinsInfoProvider'; +export type { RouterOptions } from './router'; diff --git a/plugins/jenkins-backend/src/service/jenkinsInfoProvider.test.ts b/plugins/jenkins-backend/src/service/jenkinsInfoProvider.test.ts index 7d1615ac27..08439297a7 100644 --- a/plugins/jenkins-backend/src/service/jenkinsInfoProvider.test.ts +++ b/plugins/jenkins-backend/src/service/jenkinsInfoProvider.test.ts @@ -14,10 +14,149 @@ * limitations under the License. */ -import { DefaultJenkinsInfoProvider, JenkinsInfo } from './jenkinsInfoProvider'; import { CatalogClient } from '@backstage/catalog-client'; -import { ConfigReader } from '@backstage/config'; import { Entity, EntityName } from '@backstage/catalog-model'; +import { ConfigReader } from '@backstage/config'; +import { + DefaultJenkinsInfoProvider, + JenkinsConfig, + JenkinsInfo, +} from './jenkinsInfoProvider'; + +describe('JenkinsConfig', () => { + it('Reads simple config and annotation', async () => { + const config = JenkinsConfig.fromConfig( + new ConfigReader({ + jenkins: { + baseUrl: 'https://jenkins.example.com', + username: 'backstage - bot', + apiKey: '123456789abcdef0123456789abcedf012', + }, + }), + ); + + expect(config.instances).toEqual([ + { + name: 'default', + baseUrl: 'https://jenkins.example.com', + username: 'backstage - bot', + apiKey: '123456789abcdef0123456789abcedf012', + }, + ]); + }); + + it('Reads named default config and annotation', async () => { + const config = JenkinsConfig.fromConfig( + new ConfigReader({ + jenkins: { + instances: [ + { + name: 'default', + baseUrl: 'https://jenkins.example.com', + username: 'backstage - bot', + apiKey: '123456789abcdef0123456789abcedf012', + }, + ], + }, + }), + ); + + expect(config.instances).toEqual([ + { + name: 'default', + baseUrl: 'https://jenkins.example.com', + username: 'backstage - bot', + apiKey: '123456789abcdef0123456789abcedf012', + }, + ]); + }); + + it('Parses named default config (amongst named other configs)', async () => { + const config = JenkinsConfig.fromConfig( + new ConfigReader({ + jenkins: { + instances: [ + { + name: 'default', + baseUrl: 'https://jenkins.example.com', + username: 'backstage - bot', + apiKey: '123456789abcdef0123456789abcedf012', + }, + { + name: 'other', + baseUrl: 'https://jenkins-other.example.com', + username: 'backstage - bot', + apiKey: '123456789abcdef0123456789abcedf012', + }, + ], + }, + }), + ); + + expect(config.instances).toEqual([ + { + name: 'default', + baseUrl: 'https://jenkins.example.com', + username: 'backstage - bot', + apiKey: '123456789abcdef0123456789abcedf012', + }, + { + name: 'other', + baseUrl: 'https://jenkins-other.example.com', + username: 'backstage - bot', + apiKey: '123456789abcdef0123456789abcedf012', + }, + ]); + }); + + it('Gets default Jenkins instance', async () => { + const config = new JenkinsConfig([ + { + name: 'default', + baseUrl: 'https://jenkins.example.com', + username: 'backstage - bot', + apiKey: '123456789abcdef0123456789abcedf012', + }, + { + name: 'other', + baseUrl: 'https://jenkins-other.example.com', + username: 'backstage - bot', + apiKey: '123456789abcdef0123456789abcedf012', + }, + ]); + + expect(config.getInstanceConfig()).toEqual({ + name: 'default', + baseUrl: 'https://jenkins.example.com', + username: 'backstage - bot', + apiKey: '123456789abcdef0123456789abcedf012', + }); + }); + + it('Gets named Jenkins instance', async () => { + const config = new JenkinsConfig([ + { + name: 'default', + baseUrl: 'https://jenkins.example.com', + username: 'backstage - bot', + apiKey: '123456789abcdef0123456789abcedf012', + }, + { + name: 'other', + baseUrl: 'https://jenkins-other.example.com', + username: 'backstage - bot', + apiKey: '123456789abcdef0123456789abcedf012', + }, + ]); + + expect(config.getInstanceConfig('other')).toEqual({ + name: 'other', + baseUrl: 'https://jenkins-other.example.com', + username: 'backstage - bot', + apiKey: '123456789abcdef0123456789abcedf012', + }); + }); +}); describe('DefaultJenkinsInfoProvider', () => { const mockCatalog: jest.Mocked = { diff --git a/plugins/jenkins-backend/src/service/jenkinsInfoProvider.ts b/plugins/jenkins-backend/src/service/jenkinsInfoProvider.ts index 50875cde99..1a992e73f1 100644 --- a/plugins/jenkins-backend/src/service/jenkinsInfoProvider.ts +++ b/plugins/jenkins-backend/src/service/jenkinsInfoProvider.ts @@ -13,12 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import { CatalogClient } from '@backstage/catalog-client'; import { Entity, EntityName, stringifyEntityRef, } from '@backstage/catalog-model'; -import { CatalogClient } from '@backstage/catalog-client'; import { Config } from '@backstage/config'; export interface JenkinsInfoProvider { @@ -40,145 +40,28 @@ export interface JenkinsInfo { jobFullName: string; // TODO: make this an array } +export interface JenkinsInstanceConfig { + name: string; + baseUrl: string; + username: string; + apiKey: string; +} + /** - * Use default config and annotations, build using fromConfig static function. - * - * This will fallback through various deprecated config and annotation schemes. + * Holds multiple Jenkins configurations. */ -export class DefaultJenkinsInfoProvider implements JenkinsInfoProvider { - static readonly OLD_JENKINS_ANNOTATION = 'jenkins.io/github-folder'; - static readonly NEW_JENKINS_ANNOTATION = 'jenkins.io/job-full-name'; +export class JenkinsConfig { + constructor(public readonly instances: JenkinsInstanceConfig[]) {} - private constructor( - private readonly config: { - name: string; - baseUrl: string; - username: string; - apiKey: string; - }[], - private readonly catalog: CatalogClient, - ) {} - - static fromConfig(options: { - config: Config; - catalog: CatalogClient; - }): DefaultJenkinsInfoProvider { - return new DefaultJenkinsInfoProvider( - this.loadConfig(options.config), - options.catalog, - ); - } - - async getInstance(opt: { - entityRef: EntityName; - jobFullName?: string; - }): Promise { - // load entity - const entity = await this.catalog.getEntityByName(opt.entityRef); - if (!entity) { - throw new Error( - `Couldn't find entity with name: ${stringifyEntityRef(opt.entityRef)}`, - ); - } - - // lookup `[jenkinsName#]jobFullName` from entity annotation - const jenkinsAndJobName = - DefaultJenkinsInfoProvider.getEntityAnnotationValue(entity); - if (!jenkinsAndJobName) { - throw new Error( - `Couldn't find jenkins annotation (${ - DefaultJenkinsInfoProvider.NEW_JENKINS_ANNOTATION - }) on entity with name: ${stringifyEntityRef(opt.entityRef)}`, - ); - } - - let jobFullName; - let jenkinsName: string | undefined; - const splitIndex = jenkinsAndJobName.indexOf(':'); - if (splitIndex === -1) { - // no jenkinsName specified, use default - jobFullName = jenkinsAndJobName; - } else { - // There is a jenkinsName specified - jenkinsName = jenkinsAndJobName.substring(0, splitIndex); - jobFullName = jenkinsAndJobName.substring( - splitIndex + 1, - jenkinsAndJobName.length, - ); - } - - // lookup baseURL + creds from config - const instanceConfig = DefaultJenkinsInfoProvider.getInstanceConfig( - jenkinsName, - this.config, - ); - - const creds = Buffer.from( - `${instanceConfig.username}:${instanceConfig.apiKey}`, - 'binary', - ).toString('base64'); - - return { - baseUrl: instanceConfig.baseUrl, - headers: { - Authorization: `Basic ${creds}`, - }, - jobFullName, - }; - } - - private static getEntityAnnotationValue(entity: Entity) { - return ( - entity.metadata.annotations?.[ - DefaultJenkinsInfoProvider.OLD_JENKINS_ANNOTATION - ] || - entity.metadata.annotations?.[ - DefaultJenkinsInfoProvider.NEW_JENKINS_ANNOTATION - ] - ); - } - - private static getInstanceConfig( - jenkinsName: string | undefined, - config: { - name: string; - baseUrl: string; - username: string; - apiKey: string; - }[], - ): { name: string; baseUrl: string; username: string; apiKey: string } { + /** + * Read all Jenkins instance configurations. + * @param config - Root configuration + * @returns A JenkinsConfig that contains all configured Jenkins instances. + */ + static fromConfig(config: Config): JenkinsConfig { const DEFAULT_JENKINS_NAME = 'default'; - if (!jenkinsName || jenkinsName === DEFAULT_JENKINS_NAME) { - // no name provided, use default - const instanceConfig = config.find(c => c.name === DEFAULT_JENKINS_NAME); - - if (!instanceConfig) { - throw new Error( - `Couldn't find a default jenkins instance in the config. Either configure an instance with name ${DEFAULT_JENKINS_NAME} or add a prefix to your annotation value.`, - ); - } - - return instanceConfig; - } - - // A name is provided, look it up. - const instanceConfig = config.find(c => c.name === jenkinsName); - - if (!instanceConfig) { - throw new Error( - `Couldn't find a jenkins instance in the config with name ${jenkinsName}`, - ); - } - return instanceConfig; - } - - private static loadConfig( - rootConfig: Config, - ): { name: string; baseUrl: string; username: string; apiKey: string }[] { - const DEFAULT_JENKINS_NAME = 'default'; - - const jenkinsConfig = rootConfig.getConfig('jenkins'); + const jenkinsConfig = config.getConfig('jenkins'); // load all named instance config const namedInstanceConfig = @@ -223,9 +106,138 @@ export class DefaultJenkinsInfoProvider implements JenkinsInfoProvider { apiKey: string; }[]; - return [...namedInstanceConfig, ...unnamedInstanceConfig]; + return new JenkinsConfig([ + ...namedInstanceConfig, + ...unnamedInstanceConfig, + ]); } - return namedInstanceConfig; + return new JenkinsConfig(namedInstanceConfig); + } + + /** + * Gets a Jenkins instance configuration by name, or the default one if no + * name is provided. + * @param jenkinsName - Optional name of the Jenkins instance. + * @returns The requested Jenkins instance. + */ + getInstanceConfig(jenkinsName?: string): JenkinsInstanceConfig { + const DEFAULT_JENKINS_NAME = 'default'; + + if (!jenkinsName || jenkinsName === DEFAULT_JENKINS_NAME) { + // no name provided, use default + const instanceConfig = this.instances.find( + c => c.name === DEFAULT_JENKINS_NAME, + ); + + if (!instanceConfig) { + throw new Error( + `Couldn't find a default jenkins instance in the config. Either configure an instance with name ${DEFAULT_JENKINS_NAME} or add a prefix to your annotation value.`, + ); + } + + return instanceConfig; + } + + // A name is provided, look it up. + const instanceConfig = this.instances.find(c => c.name === jenkinsName); + + if (!instanceConfig) { + throw new Error( + `Couldn't find a jenkins instance in the config with name ${jenkinsName}`, + ); + } + return instanceConfig; + } +} + +/** + * Use default config and annotations, build using fromConfig static function. + * + * This will fallback through various deprecated config and annotation schemes. + */ +export class DefaultJenkinsInfoProvider implements JenkinsInfoProvider { + static readonly OLD_JENKINS_ANNOTATION = 'jenkins.io/github-folder'; + static readonly NEW_JENKINS_ANNOTATION = 'jenkins.io/job-full-name'; + + private constructor( + private readonly config: JenkinsConfig, + private readonly catalog: CatalogClient, + ) {} + + static fromConfig(options: { + config: Config; + catalog: CatalogClient; + }): DefaultJenkinsInfoProvider { + return new DefaultJenkinsInfoProvider( + JenkinsConfig.fromConfig(options.config), + options.catalog, + ); + } + + async getInstance(opt: { + entityRef: EntityName; + jobFullName?: string; + }): Promise { + // load entity + const entity = await this.catalog.getEntityByName(opt.entityRef); + if (!entity) { + throw new Error( + `Couldn't find entity with name: ${stringifyEntityRef(opt.entityRef)}`, + ); + } + + // lookup `[jenkinsName#]jobFullName` from entity annotation + const jenkinsAndJobName = + DefaultJenkinsInfoProvider.getEntityAnnotationValue(entity); + if (!jenkinsAndJobName) { + throw new Error( + `Couldn't find jenkins annotation (${ + DefaultJenkinsInfoProvider.NEW_JENKINS_ANNOTATION + }) on entity with name: ${stringifyEntityRef(opt.entityRef)}`, + ); + } + + let jobFullName; + let jenkinsName: string | undefined; + const splitIndex = jenkinsAndJobName.indexOf(':'); + if (splitIndex === -1) { + // no jenkinsName specified, use default + jobFullName = jenkinsAndJobName; + } else { + // There is a jenkinsName specified + jenkinsName = jenkinsAndJobName.substring(0, splitIndex); + jobFullName = jenkinsAndJobName.substring( + splitIndex + 1, + jenkinsAndJobName.length, + ); + } + + // lookup baseURL + creds from config + const instanceConfig = this.config.getInstanceConfig(jenkinsName); + + const creds = Buffer.from( + `${instanceConfig.username}:${instanceConfig.apiKey}`, + 'binary', + ).toString('base64'); + + return { + baseUrl: instanceConfig.baseUrl, + headers: { + Authorization: `Basic ${creds}`, + }, + jobFullName, + }; + } + + private static getEntityAnnotationValue(entity: Entity) { + return ( + entity.metadata.annotations?.[ + DefaultJenkinsInfoProvider.OLD_JENKINS_ANNOTATION + ] || + entity.metadata.annotations?.[ + DefaultJenkinsInfoProvider.NEW_JENKINS_ANNOTATION + ] + ); } } From 787bc082622e9f2ff379e98bb8a3263299d0a5cc Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Thu, 12 Aug 2021 14:25:40 +0200 Subject: [PATCH 318/712] Finish TechDocs migration to composability API. Signed-off-by: Eric Peterson --- .changeset/catalog-compose-my-techdocs.md | 9 ++ .../create-incerteza-desafinado-tomara.md | 28 ++++ .changeset/techdocs-jobim-gilberto-moraes.md | 9 ++ packages/app/src/App.tsx | 2 + .../default-app/packages/app/src/App.tsx | 2 + plugins/catalog/api-report.md | 10 +- .../components/AboutCard/AboutCard.test.tsx | 135 ++++++++++++++++++ .../src/components/AboutCard/AboutCard.tsx | 19 ++- plugins/catalog/src/plugin.ts | 3 +- plugins/catalog/src/routes.ts | 6 + plugins/techdocs/api-report.md | 7 +- plugins/techdocs/src/Router.tsx | 14 +- .../components/DefaultTechDocsHome.test.tsx | 6 + .../src/home/components/DocsCardGrid.test.tsx | 17 ++- .../src/home/components/DocsCardGrid.tsx | 7 +- .../src/home/components/DocsTable.test.tsx | 27 +++- .../src/home/components/DocsTable.tsx | 7 +- .../components/LegacyTechDocsHome.test.tsx | 6 + .../components/TechDocsCustomHome.test.tsx | 6 + plugins/techdocs/src/plugin.ts | 1 + plugins/techdocs/src/routes.ts | 7 +- 21 files changed, 293 insertions(+), 35 deletions(-) create mode 100644 .changeset/catalog-compose-my-techdocs.md create mode 100644 .changeset/create-incerteza-desafinado-tomara.md create mode 100644 .changeset/techdocs-jobim-gilberto-moraes.md diff --git a/.changeset/catalog-compose-my-techdocs.md b/.changeset/catalog-compose-my-techdocs.md new file mode 100644 index 0000000000..6340c87a89 --- /dev/null +++ b/.changeset/catalog-compose-my-techdocs.md @@ -0,0 +1,9 @@ +--- +'@backstage/plugin-catalog': patch +--- + +The entity `` now uses an external route ref to link to TechDocs +sites. This external route must now be bound in order for the "View TechDocs" +link to continue working. See the [create-app changelog][cacl] for details. + +[cacl]: https://github.com/backstage/backstage/blob/master/packages/create-app/CHANGELOG.md diff --git a/.changeset/create-incerteza-desafinado-tomara.md b/.changeset/create-incerteza-desafinado-tomara.md new file mode 100644 index 0000000000..87e82d6b7a --- /dev/null +++ b/.changeset/create-incerteza-desafinado-tomara.md @@ -0,0 +1,28 @@ +--- +'@backstage/create-app': patch +--- + +Wire up TechDocs, which now relies on the composability API for routing. + +First, ensure you've mounted ``. If you already updated +to use the composable `` (see below), no action is +necessary. Otherwise, update your `App.tsx` so that `` is +mounted: + +```diff + } /> ++ } ++ /> +``` + +Next, ensure links from the Catalog Entity Page to its TechDocs site are bound: + +```diff + bindRoutes({ bind }) { + bind(catalogPlugin.externalRoutes, { + createComponent: scaffolderPlugin.routes.root, ++ viewTechDoc: techdocsPlugin.routes.docRoot, + }); +``` diff --git a/.changeset/techdocs-jobim-gilberto-moraes.md b/.changeset/techdocs-jobim-gilberto-moraes.md new file mode 100644 index 0000000000..e5d23dd16a --- /dev/null +++ b/.changeset/techdocs-jobim-gilberto-moraes.md @@ -0,0 +1,9 @@ +--- +'@backstage/plugin-techdocs': minor +--- + +The TechDocs plugin has completed the migration to the Composability API. In +order to update to this version, please ensure you've made all necessary +changes to your `App.tsx` file as outlined in the [create-app changelog][cacl]. + +[cacl]: https://github.com/backstage/backstage/blob/master/packages/create-app/CHANGELOG.md diff --git a/packages/app/src/App.tsx b/packages/app/src/App.tsx index 1132368a91..df4013202e 100644 --- a/packages/app/src/App.tsx +++ b/packages/app/src/App.tsx @@ -55,6 +55,7 @@ import { TechRadarPage } from '@backstage/plugin-tech-radar'; import { DefaultTechDocsHome, TechDocsIndexPage, + techdocsPlugin, TechDocsReaderPage, } from '@backstage/plugin-techdocs'; import { UserSettingsPage } from '@backstage/plugin-user-settings'; @@ -93,6 +94,7 @@ const app = createApp({ bindRoutes({ bind }) { bind(catalogPlugin.externalRoutes, { createComponent: scaffolderPlugin.routes.root, + viewTechDoc: techdocsPlugin.routes.docRoot, }); bind(apiDocsPlugin.externalRoutes, { createComponent: scaffolderPlugin.routes.root, diff --git a/packages/create-app/templates/default-app/packages/app/src/App.tsx b/packages/create-app/templates/default-app/packages/app/src/App.tsx index 57491c9222..288351ccdf 100644 --- a/packages/create-app/templates/default-app/packages/app/src/App.tsx +++ b/packages/create-app/templates/default-app/packages/app/src/App.tsx @@ -16,6 +16,7 @@ import { TechRadarPage } from '@backstage/plugin-tech-radar'; import { DefaultTechDocsHome, TechDocsIndexPage, + techdocsPlugin, TechDocsReaderPage, } from '@backstage/plugin-techdocs'; import { UserSettingsPage } from '@backstage/plugin-user-settings'; @@ -31,6 +32,7 @@ const app = createApp({ bindRoutes({ bind }) { bind(catalogPlugin.externalRoutes, { createComponent: scaffolderPlugin.routes.root, + viewTechDoc: techdocsPlugin.routes.docRoot, }); bind(apiDocsPlugin.externalRoutes, { createComponent: scaffolderPlugin.routes.root, diff --git a/plugins/catalog/api-report.md b/plugins/catalog/api-report.md index 63ff79ea0f..ec2aeafd00 100644 --- a/plugins/catalog/api-report.md +++ b/plugins/catalog/api-report.md @@ -128,6 +128,14 @@ const catalogPlugin: BackstagePlugin< }, { createComponent: ExternalRouteRef; + viewTechDoc: ExternalRouteRef< + { + name: string; + kind: string; + namespace: string; + }, + true + >; } >; export { catalogPlugin }; @@ -399,7 +407,7 @@ export const Router: ({ // src/components/EntityLayout/EntityLayout.d.ts:43:5 - (ae-forgotten-export) The symbol "EntityLayoutProps" needs to be exported by the entry point index.d.ts // src/components/EntityLayout/EntityLayout.d.ts:44:5 - (ae-forgotten-export) The symbol "SubRoute" needs to be exported by the entry point index.d.ts // src/components/EntityPageLayout/EntityPageLayout.d.ts:17:5 - (ae-forgotten-export) The symbol "EntityPageLayoutProps" needs to be exported by the entry point index.d.ts -// src/plugin.d.ts:17:5 - (ae-forgotten-export) The symbol "ColumnBreakpoints" needs to be exported by the entry point index.d.ts +// src/plugin.d.ts:22:5 - (ae-forgotten-export) The symbol "ColumnBreakpoints" needs to be exported by the entry point index.d.ts // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/catalog/src/components/AboutCard/AboutCard.test.tsx b/plugins/catalog/src/components/AboutCard/AboutCard.test.tsx index 70b9781ec8..539cce7da3 100644 --- a/plugins/catalog/src/components/AboutCard/AboutCard.test.tsx +++ b/plugins/catalog/src/components/AboutCard/AboutCard.test.tsx @@ -29,6 +29,7 @@ import { ApiRegistry, ConfigReader, } from '@backstage/core-app-api'; +import { viewTechDocRouteRef } from '../../routes'; describe('', () => { it('renders info', async () => { @@ -203,4 +204,138 @@ describe('', () => { ); expect(getByText('View Source').closest('a')).not.toHaveAttribute('href'); }); + + it('renders techdocs link', async () => { + const entity = { + apiVersion: 'v1', + kind: 'Component', + metadata: { + name: 'software', + annotations: { + 'backstage.io/techdocs-ref': './', + }, + }, + spec: { + owner: 'guest', + type: 'service', + lifecycle: 'production', + }, + }; + const apis = ApiRegistry.with( + scmIntegrationsApiRef, + ScmIntegrationsApi.fromConfig( + new ConfigReader({ + integrations: { + github: [ + { + host: 'github.com', + token: '...', + }, + ], + }, + }), + ), + ); + + const { getByText } = await renderInTestApp( + + + + + , + { + mountedRoutes: { + '/docs/:namespace/:kind/:name': viewTechDocRouteRef, + }, + }, + ); + + expect(getByText('View TechDocs').closest('a')).toHaveAttribute( + 'href', + '/docs/default/Component/software', + ); + }); + + it('renders disabled techdocs link when no docs exist', async () => { + const entity = { + apiVersion: 'v1', + kind: 'Component', + metadata: { + name: 'software', + }, + spec: { + owner: 'guest', + type: 'service', + lifecycle: 'production', + }, + }; + const apis = ApiRegistry.with( + scmIntegrationsApiRef, + ScmIntegrationsApi.fromConfig( + new ConfigReader({ + integrations: { + github: [ + { + host: 'github.com', + token: '...', + }, + ], + }, + }), + ), + ); + + const { getByText } = await renderInTestApp( + + + + + , + ); + + expect(getByText('View TechDocs').closest('a')).not.toHaveAttribute('href'); + }); + + it('renders disbaled techdocs link when route is not bound', async () => { + const entity = { + apiVersion: 'v1', + kind: 'Component', + metadata: { + name: 'software', + annotations: { + 'backstage.io/techdocs-ref': './', + }, + }, + spec: { + owner: 'guest', + type: 'service', + lifecycle: 'production', + }, + }; + const apis = ApiRegistry.with( + scmIntegrationsApiRef, + ScmIntegrationsApi.fromConfig( + new ConfigReader({ + integrations: { + github: [ + { + host: 'github.com', + token: '...', + }, + ], + }, + }), + ), + ); + + const { getByText } = await renderInTestApp( + + + + + , + ); + + expect(getByText('View TechDocs').closest('a')).not.toHaveAttribute('href'); + }); }); diff --git a/plugins/catalog/src/components/AboutCard/AboutCard.tsx b/plugins/catalog/src/components/AboutCard/AboutCard.tsx index d6227f9344..113ebe47bd 100644 --- a/plugins/catalog/src/components/AboutCard/AboutCard.tsx +++ b/plugins/catalog/src/components/AboutCard/AboutCard.tsx @@ -49,7 +49,8 @@ import { IconLinkVerticalProps, InfoCardVariants, } from '@backstage/core-components'; -import { useApi } from '@backstage/core-plugin-api'; +import { useApi, useRouteRef } from '@backstage/core-plugin-api'; +import { viewTechDocRouteRef } from '../../routes'; const useStyles = makeStyles({ gridItemCard: { @@ -81,6 +82,8 @@ export function AboutCard({ variant }: AboutCardProps) { const classes = useStyles(); const { entity } = useEntity(); const scmIntegrationsApi = useApi(scmIntegrationsApiRef); + const viewTechdocLink = useRouteRef(viewTechDocRouteRef); + const entitySourceLocation = getEntitySourceLocation( entity, scmIntegrationsApi, @@ -105,11 +108,17 @@ export function AboutCard({ variant }: AboutCardProps) { }; const viewInTechDocs: IconLinkVerticalProps = { label: 'View TechDocs', - disabled: !entity.metadata.annotations?.['backstage.io/techdocs-ref'], + disabled: + !entity.metadata.annotations?.['backstage.io/techdocs-ref'] || + !viewTechdocLink, icon: , - href: `/docs/${entity.metadata.namespace || ENTITY_DEFAULT_NAMESPACE}/${ - entity.kind - }/${entity.metadata.name}`, + href: + viewTechdocLink && + viewTechdocLink({ + namespace: entity.metadata.namespace || ENTITY_DEFAULT_NAMESPACE, + kind: entity.kind, + name: entity.metadata.name, + }), }; const viewApi: IconLinkVerticalProps = { title: hasApis ? '' : 'No APIs available', diff --git a/plugins/catalog/src/plugin.ts b/plugins/catalog/src/plugin.ts index c375e76239..c83716b32d 100644 --- a/plugins/catalog/src/plugin.ts +++ b/plugins/catalog/src/plugin.ts @@ -21,7 +21,7 @@ import { entityRouteRef, } from '@backstage/plugin-catalog-react'; import { CatalogClientWrapper } from './CatalogClientWrapper'; -import { createComponentRouteRef } from './routes'; +import { createComponentRouteRef, viewTechDocRouteRef } from './routes'; import { createApiFactory, createComponentExtension, @@ -50,6 +50,7 @@ export const catalogPlugin = createPlugin({ }, externalRoutes: { createComponent: createComponentRouteRef, + viewTechDoc: viewTechDocRouteRef, }, }); diff --git a/plugins/catalog/src/routes.ts b/plugins/catalog/src/routes.ts index d1ee3e520a..63d9ccfb87 100644 --- a/plugins/catalog/src/routes.ts +++ b/plugins/catalog/src/routes.ts @@ -20,3 +20,9 @@ export const createComponentRouteRef = createExternalRouteRef({ id: 'create-component', optional: true, }); + +export const viewTechDocRouteRef = createExternalRouteRef({ + id: 'view-techdoc', + optional: true, + params: ['namespace', 'kind', 'name'], +}); diff --git a/plugins/techdocs/api-report.md b/plugins/techdocs/api-report.md index af12b42ad2..1533f9de49 100644 --- a/plugins/techdocs/api-report.md +++ b/plugins/techdocs/api-report.md @@ -271,6 +271,11 @@ export const TechDocsPicker: () => null; const techdocsPlugin: BackstagePlugin< { root: RouteRef; + docRoot: RouteRef<{ + name: string; + kind: string; + namespace: string; + }>; entityContent: RouteRef; }, {} @@ -374,7 +379,7 @@ export class TechDocsStorageClient implements TechDocsStorageApi { // // src/home/components/EntityListDocsTable.d.ts:11:5 - (ae-forgotten-export) The symbol "columnFactories" needs to be exported by the entry point index.d.ts // src/home/components/EntityListDocsTable.d.ts:12:5 - (ae-forgotten-export) The symbol "actionFactories" needs to be exported by the entry point index.d.ts -// src/plugin.d.ts:24:5 - (ae-forgotten-export) The symbol "TabsConfig" needs to be exported by the entry point index.d.ts +// src/plugin.d.ts:29:5 - (ae-forgotten-export) The symbol "TabsConfig" needs to be exported by the entry point index.d.ts // (No @packageDocumentation comment for this package) ``` diff --git a/plugins/techdocs/src/Router.tsx b/plugins/techdocs/src/Router.tsx index 3fb109e790..45b0dc756c 100644 --- a/plugins/techdocs/src/Router.tsx +++ b/plugins/techdocs/src/Router.tsx @@ -18,11 +18,6 @@ import React from 'react'; import { Entity } from '@backstage/catalog-model'; import { useEntity } from '@backstage/plugin-catalog-react'; import { Route, Routes } from 'react-router-dom'; -import { - rootRouteRef, - rootDocsRouteRef, - rootCatalogDocsRouteRef, -} from './routes'; import { TechDocsIndexPage } from './home/components/TechDocsIndexPage'; import { TechDocsPage as TechDocsReaderPage } from './reader/components/TechDocsPage'; import { EntityPageDocs } from './EntityPageDocs'; @@ -33,9 +28,9 @@ const TECHDOCS_ANNOTATION = 'backstage.io/techdocs-ref'; export const Router = () => { return ( - } /> + } /> } /> @@ -58,10 +53,7 @@ export const EmbeddedDocsRouter = (_props: Props) => { return ( - } - /> + } /> ); }; diff --git a/plugins/techdocs/src/home/components/DefaultTechDocsHome.test.tsx b/plugins/techdocs/src/home/components/DefaultTechDocsHome.test.tsx index 0b1d6e8db2..48ea67585b 100644 --- a/plugins/techdocs/src/home/components/DefaultTechDocsHome.test.tsx +++ b/plugins/techdocs/src/home/components/DefaultTechDocsHome.test.tsx @@ -30,6 +30,7 @@ import { configApiRef, storageApiRef, } from '@backstage/core-plugin-api'; +import { rootDocsRouteRef } from '../../routes'; jest.mock('@backstage/plugin-catalog-react', () => { const actual = jest.requireActual('@backstage/plugin-catalog-react'); @@ -73,6 +74,11 @@ describe('TechDocs Home', () => { , + { + mountedRoutes: { + '/docs/:namespace/:kind/:name/*': rootDocsRouteRef, + }, + }, ); // Header diff --git a/plugins/techdocs/src/home/components/DocsCardGrid.test.tsx b/plugins/techdocs/src/home/components/DocsCardGrid.test.tsx index 4adada48fa..8b0e31326c 100644 --- a/plugins/techdocs/src/home/components/DocsCardGrid.test.tsx +++ b/plugins/techdocs/src/home/components/DocsCardGrid.test.tsx @@ -19,6 +19,7 @@ import { render } from '@testing-library/react'; import React from 'react'; import { configApiRef } from '@backstage/core-plugin-api'; import { DocsCardGrid } from './DocsCardGrid'; +import { rootDocsRouteRef } from '../../routes'; // Hacky way to mock a specific boolean config value. const getOptionalBooleanMock = jest.fn().mockReturnValue(false); @@ -71,16 +72,21 @@ describe('Entity Docs Card Grid', () => { }, ]} />, + { + mountedRoutes: { + '/docs/:namespace/:kind/:name/*': rootDocsRouteRef, + }, + }, ), ); expect(await findByText('testName')).toBeInTheDocument(); expect(await findByText('testName2')).toBeInTheDocument(); const [button1, button2] = await findAllByRole('button'); expect(button1.getAttribute('href')).toContain( - '/default/testkind/testname', + '/docs/default/testkind/testname', ); expect(button2.getAttribute('href')).toContain( - '/default/testkind2/testname2', + '/docs/default/testkind2/testname2', ); }); @@ -104,6 +110,11 @@ describe('Entity Docs Card Grid', () => { }, ]} />, + { + mountedRoutes: { + '/techdocs/:namespace/:kind/:name/*': rootDocsRouteRef, + }, + }, ), ); @@ -112,7 +123,7 @@ describe('Entity Docs Card Grid', () => { 'techdocs.legacyUseCaseSensitiveTripletPaths', ); expect(button.getAttribute('href')).toContain( - '/SomeNamespace/TestKind/testName', + '/techdocs/SomeNamespace/TestKind/testName', ); }); }); diff --git a/plugins/techdocs/src/home/components/DocsCardGrid.tsx b/plugins/techdocs/src/home/components/DocsCardGrid.tsx index 8b7e114b09..c8b856032f 100644 --- a/plugins/techdocs/src/home/components/DocsCardGrid.tsx +++ b/plugins/techdocs/src/home/components/DocsCardGrid.tsx @@ -15,10 +15,9 @@ */ import React from 'react'; -import { generatePath } from 'react-router-dom'; import { Entity } from '@backstage/catalog-model'; -import { useApi, configApiRef } from '@backstage/core-plugin-api'; +import { configApiRef, useApi, useRouteRef } from '@backstage/core-plugin-api'; import { Card, CardActions, CardContent, CardMedia } from '@material-ui/core'; import { rootDocsRouteRef } from '../../routes'; @@ -33,6 +32,8 @@ export const DocsCardGrid = ({ }: { entities: Entity[] | undefined; }) => { + const getRouteToReaderPageFor = useRouteRef(rootDocsRouteRef); + // Lower-case entity triplets by default, but allow override. const toLowerMaybe = useApi(configApiRef).getOptionalBoolean( 'techdocs.legacyUseCaseSensitiveTripletPaths', @@ -53,7 +54,7 @@ export const DocsCardGrid = ({ {entity.metadata.description} + + + ); +}; diff --git a/plugins/home/src/components/index.ts b/plugins/home/src/components/index.ts new file mode 100644 index 0000000000..aae0cbe26d --- /dev/null +++ b/plugins/home/src/components/index.ts @@ -0,0 +1,18 @@ +/* + * Copyright 2020 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { HomepageCompositionRoot } from './HomepageCompositionRoot'; +export { SettingsModal } from './SettingsModal'; diff --git a/plugins/home/src/extensions.tsx b/plugins/home/src/extensions.tsx new file mode 100644 index 0000000000..93fe4ceb4f --- /dev/null +++ b/plugins/home/src/extensions.tsx @@ -0,0 +1,123 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import React, { Suspense } from 'react'; +import { IconButton } from '@material-ui/core'; +import SettingsIcon from '@material-ui/icons/Settings'; +import { InfoCard } from '@backstage/core-components'; +import { SettingsModal } from './components'; +import { createReactExtension, useApp } from '@backstage/core-plugin-api'; + +export type ComponentRenderer = { + Renderer?: (props: RendererProps) => JSX.Element; +}; + +type ComponentParts = { + Content: () => JSX.Element; + Actions?: () => JSX.Element; + Settings?: () => JSX.Element; + ContextProvider?: (props: any) => JSX.Element; +}; + +type RendererProps = { title: string } & ComponentParts; + +export function createCardExtension({ + title, + components, +}: { + title: string; + components: () => Promise; +}) { + return createReactExtension({ + component: { + lazy: () => + components().then(({ Content, Actions, Settings, ContextProvider }) => { + const CardExtension = ({ + Renderer, + title: overrideTitle, + ...childProps + }: ComponentRenderer & { title?: string } & T) => { + const app = useApp(); + const { Progress } = app.getComponents(); + const [settingsOpen, setSettingsOpen] = React.useState(false); + + if (Renderer) { + return ( + }> + + + ); + } + + const cardProps = { + title: overrideTitle ?? title, + ...(Settings + ? { + action: ( + setSettingsOpen(true)}> + Settings + + ), + } + : {}), + ...(Actions + ? { + actions: , + } + : {}), + }; + + const innerContent = ( + + {Settings && ( + setSettingsOpen(false)} + > + + + )} + + + ); + + return ( + }> + {ContextProvider ? ( + + {innerContent} + + ) : ( + innerContent + )} + + ); + }; + return CardExtension; + }), + }, + }); +} diff --git a/plugins/home/src/homePageComponents/RandomJoke/Actions.tsx b/plugins/home/src/homePageComponents/RandomJoke/Actions.tsx new file mode 100644 index 0000000000..cebb0400ab --- /dev/null +++ b/plugins/home/src/homePageComponents/RandomJoke/Actions.tsx @@ -0,0 +1,29 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import React from 'react'; + +import { Button } from '@material-ui/core'; +import { useRandomJoke } from './Context'; + +export const Actions = () => { + const { rerollJoke } = useRandomJoke(); + return ( + + ); +}; diff --git a/plugins/home/src/homePageComponents/RandomJoke/Content.tsx b/plugins/home/src/homePageComponents/RandomJoke/Content.tsx new file mode 100644 index 0000000000..231e32356a --- /dev/null +++ b/plugins/home/src/homePageComponents/RandomJoke/Content.tsx @@ -0,0 +1,31 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import React from 'react'; +import { useRandomJoke } from './Context'; + +export const Content = () => { + const { joke, loading } = useRandomJoke(); + + if (loading) return

    Loading...

    ; + + return ( +
    +

    {joke.setup}

    +

    {joke.punchline}

    +
    + ); +}; diff --git a/plugins/home/src/homePageComponents/RandomJoke/Context.tsx b/plugins/home/src/homePageComponents/RandomJoke/Context.tsx new file mode 100644 index 0000000000..5c2790d8a5 --- /dev/null +++ b/plugins/home/src/homePageComponents/RandomJoke/Context.tsx @@ -0,0 +1,99 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import React, { createContext } from 'react'; + +export type JokeType = 'any' | 'programming'; + +type Joke = { + setup: string; + punchline: string; +}; + +type RandomJokeContextValue = { + loading: boolean; + joke: Joke; + type: JokeType; + rerollJoke: Function; + handleChangeType: Function; +}; + +const Context = createContext(undefined); + +const getNewJoke = (type: string): Promise => + fetch( + `https://official-joke-api.appspot.com/jokes${ + type !== 'any' ? `/${type}` : '' + }/random`, + ) + .then(res => res.json()) + .then(data => (Array.isArray(data) ? data[0] : data)); + +export const ContextProvider = ({ + children, + defaultCategory, +}: { + children: JSX.Element; + defaultCategory?: JokeType; +}) => { + const [loading, setLoading] = React.useState(true); + const [joke, setJoke] = React.useState({ + setup: '', + punchline: '', + }); + const [type, setType] = React.useState( + defaultCategory || ('programming' as JokeType), + ); + + const rerollJoke = React.useCallback(() => { + setLoading(true); + getNewJoke(type).then(newJoke => setJoke(newJoke)); + }, [type]); + + const handleChangeType = (newType: JokeType) => { + setType(newType); + }; + + React.useEffect(() => { + setLoading(false); + }, [joke]); + + React.useEffect(() => { + rerollJoke(); + }, [rerollJoke]); + + const value: RandomJokeContextValue = { + loading, + joke, + type, + rerollJoke, + handleChangeType, + }; + + return {children}; +}; + +export const useRandomJoke = () => { + const value = React.useContext(Context); + + if (value === undefined) { + throw new Error('useRandomJoke must be used within a RandomJokeProvider'); + } + + return value; +}; + +export default Context; diff --git a/plugins/home/src/homePageComponents/RandomJoke/Settings.tsx b/plugins/home/src/homePageComponents/RandomJoke/Settings.tsx new file mode 100644 index 0000000000..ee5de69dc6 --- /dev/null +++ b/plugins/home/src/homePageComponents/RandomJoke/Settings.tsx @@ -0,0 +1,48 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { + FormControl, + FormLabel, + RadioGroup, + FormControlLabel, + Radio, +} from '@material-ui/core'; +import React from 'react'; +import { useRandomJoke, JokeType } from './Context'; + +export const Settings = () => { + const { type, handleChangeType } = useRandomJoke(); + const JOKE_TYPES: JokeType[] = ['any' as JokeType, 'programming' as JokeType]; + return ( + + Joke Type + handleChangeType(e.target.value)} + > + {JOKE_TYPES.map(t => ( + } + label={`${t.slice(0, 1).toUpperCase()}${t.slice(1)}`} + /> + ))} + + + ); +}; diff --git a/plugins/home/src/homePageComponents/RandomJoke/index.ts b/plugins/home/src/homePageComponents/RandomJoke/index.ts new file mode 100644 index 0000000000..aafbc17a2e --- /dev/null +++ b/plugins/home/src/homePageComponents/RandomJoke/index.ts @@ -0,0 +1,20 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { Actions } from './Actions'; +export { Content } from './Content'; +export { Settings } from './Settings'; +export { ContextProvider } from './Context'; diff --git a/plugins/home/src/index.ts b/plugins/home/src/index.ts new file mode 100644 index 0000000000..812e1b2495 --- /dev/null +++ b/plugins/home/src/index.ts @@ -0,0 +1,26 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { + homePlugin, + HomepageCompositionRoot, + RandomJokeHomePageComponent, + ComponentAccordion, + ComponentTabs, + ComponentTab, +} from './plugin'; +export { SettingsModal } from './components'; +export { createCardExtension } from './extensions'; diff --git a/plugins/home/src/plugin.test.ts b/plugins/home/src/plugin.test.ts new file mode 100644 index 0000000000..920a9076f4 --- /dev/null +++ b/plugins/home/src/plugin.test.ts @@ -0,0 +1,22 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { homePlugin } from './plugin'; + +describe('home', () => { + it('should export plugin', () => { + expect(homePlugin).toBeDefined(); + }); +}); diff --git a/plugins/home/src/plugin.ts b/plugins/home/src/plugin.ts new file mode 100644 index 0000000000..5600d2d315 --- /dev/null +++ b/plugins/home/src/plugin.ts @@ -0,0 +1,68 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { + createComponentExtension, + createPlugin, + createRoutableExtension, +} from '@backstage/core-plugin-api'; +import { createCardExtension } from './extensions'; + +import { rootRouteRef } from './routes'; + +export const homePlugin = createPlugin({ + id: 'home', + routes: { + root: rootRouteRef, + }, +}); + +export const HomepageCompositionRoot = homePlugin.provide( + createRoutableExtension({ + component: () => + import('./components').then(m => m.HomepageCompositionRoot), + mountPoint: rootRouteRef, + }), +); + +export const ComponentAccordion = homePlugin.provide( + createComponentExtension({ + component: { + lazy: () => + import('./componentRenderers').then(m => m.ComponentAccordion), + }, + }), +); +export const ComponentTabs = homePlugin.provide( + createComponentExtension({ + component: { + lazy: () => import('./componentRenderers').then(m => m.ComponentTabs), + }, + }), +); +export const ComponentTab = homePlugin.provide( + createComponentExtension({ + component: { + lazy: () => import('./componentRenderers').then(m => m.ComponentTab), + }, + }), +); + +export const RandomJokeHomePageComponent = homePlugin.provide( + createCardExtension<{ defaultCategory?: 'any' | 'programming' }>({ + title: 'Random Joke', + components: () => import('./homePageComponents/RandomJoke'), + }), +); diff --git a/plugins/home/src/routes.ts b/plugins/home/src/routes.ts new file mode 100644 index 0000000000..2c641d8433 --- /dev/null +++ b/plugins/home/src/routes.ts @@ -0,0 +1,20 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { createRouteRef } from '@backstage/core-plugin-api'; + +export const rootRouteRef = createRouteRef({ + title: 'home', +}); diff --git a/plugins/home/src/setupTests.ts b/plugins/home/src/setupTests.ts new file mode 100644 index 0000000000..fc6dbd98f8 --- /dev/null +++ b/plugins/home/src/setupTests.ts @@ -0,0 +1,17 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import '@testing-library/jest-dom'; +import 'cross-fetch/polyfill'; From ba01a6bcdfc918d53c2494482bb44a70f6cb4aa2 Mon Sep 17 00:00:00 2001 From: Johan Haals Date: Tue, 17 Aug 2021 14:59:07 +0200 Subject: [PATCH 418/712] Parse date correctly, drop math.Floor Signed-off-by: Johan Haals --- .../DefaultProcessingDatabase.test.ts | 19 ++++++++++++++++--- plugins/catalog-backend/src/next/refresh.ts | 2 +- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/plugins/catalog-backend/src/next/database/DefaultProcessingDatabase.test.ts b/plugins/catalog-backend/src/next/database/DefaultProcessingDatabase.test.ts index 09647b980c..df9c08ad6c 100644 --- a/plugins/catalog-backend/src/next/database/DefaultProcessingDatabase.test.ts +++ b/plugins/catalog-backend/src/next/database/DefaultProcessingDatabase.test.ts @@ -66,6 +66,21 @@ describe('Default Processing Database', () => { await db('refresh_state').insert(ref); }; + const parseDate = (date: string | Date): DateTime => { + const parsedDate = + typeof date === 'string' + ? DateTime.fromSQL(date, { zone: 'UTC' }) + : DateTime.fromJSDate(date); + + if (!parsedDate.isValid) { + throw new Error( + `Failed to parse date, reason: ${parsedDate.invalidReason}, explanation: ${parsedDate.invalidExplanation}`, + ); + } + + return parsedDate; + }; + describe('addUprocessedEntities', () => { function mockEntity(name: string, type: string): Entity { return { @@ -995,9 +1010,7 @@ describe('Default Processing Database', () => { const result = await knex('refresh_state') .where('entity_ref', 'location:default/new-root') .select(); - const nextUpdate = DateTime.fromSQL(result[0].next_update_at, { - zone: 'utc', - }); + const nextUpdate = parseDate(result[0].next_update_at); expect(nextUpdate.diff(now, 'seconds').seconds).toBeGreaterThanOrEqual( 100, ); diff --git a/plugins/catalog-backend/src/next/refresh.ts b/plugins/catalog-backend/src/next/refresh.ts index caec7e9548..aae992f391 100644 --- a/plugins/catalog-backend/src/next/refresh.ts +++ b/plugins/catalog-backend/src/next/refresh.ts @@ -29,6 +29,6 @@ export function createRandomRefreshInterval(options: { }): RefreshIntervalFunction { const { minSeconds, maxSeconds } = options; return () => { - return Math.floor(Math.random() * (maxSeconds - minSeconds) + minSeconds); + return Math.random() * (maxSeconds - minSeconds) + minSeconds; }; } From 1136ac88b604946f522a6e08333f5e271580384b Mon Sep 17 00:00:00 2001 From: Roy Jacobs Date: Tue, 17 Aug 2021 15:03:51 +0200 Subject: [PATCH 419/712] First part of GitLabDiscoveryProcessor (no target parsing yet) Signed-off-by: Roy Jacobs --- .../GitLabDiscoveryProcessor.test.ts | 252 ++++++++++++++++++ .../processors/GitLabDiscoveryProcessor.ts | 129 +++++++++ .../src/ingestion/processors/gitlab/client.ts | 94 +++++++ .../src/ingestion/processors/gitlab/index.ts | 18 ++ .../src/ingestion/processors/gitlab/types.ts | 23 ++ .../src/ingestion/processors/index.ts | 1 + .../src/next/NextCatalogBuilder.ts | 2 + .../src/service/CatalogBuilder.ts | 2 + 8 files changed, 521 insertions(+) create mode 100644 plugins/catalog-backend/src/ingestion/processors/GitLabDiscoveryProcessor.test.ts create mode 100644 plugins/catalog-backend/src/ingestion/processors/GitLabDiscoveryProcessor.ts create mode 100644 plugins/catalog-backend/src/ingestion/processors/gitlab/client.ts create mode 100644 plugins/catalog-backend/src/ingestion/processors/gitlab/index.ts create mode 100644 plugins/catalog-backend/src/ingestion/processors/gitlab/types.ts diff --git a/plugins/catalog-backend/src/ingestion/processors/GitLabDiscoveryProcessor.test.ts b/plugins/catalog-backend/src/ingestion/processors/GitLabDiscoveryProcessor.test.ts new file mode 100644 index 0000000000..5eb5c51869 --- /dev/null +++ b/plugins/catalog-backend/src/ingestion/processors/GitLabDiscoveryProcessor.test.ts @@ -0,0 +1,252 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ConfigReader } from '@backstage/config'; +import { getVoidLogger } from '@backstage/backend-common'; +import { LocationSpec } from '@backstage/catalog-model'; +import { + GitLabDiscoveryProcessor, +} from './GitLabDiscoveryProcessor'; +import { setupServer } from 'msw/node'; +import { rest } from 'msw'; +import { GitLabProject } from "./gitlab"; + +const server = setupServer(); + +function setupFakeGitLab( + callback: (request: { + page: number; + }) => { data: GitLabProject[]; nextPage?: number }, +) { + server.use( + rest.get('https://gitlab.fake/api/v4/projects', (req, res, ctx) => { + if (req.headers.get('private-token') !== 'test-token') { + return res(ctx.status(401), ctx.json({})); + } + const page = req.url.searchParams.get('page'); + const response = callback({ + page: parseInt(page!, 10), + }); + + // Filter the fake results based on the `last_activity_after` parameter + const last_activity_after = req.url.searchParams.get( + 'last_activity_after', + ); + const filteredData = response.data.filter( + v => + !last_activity_after || + Date.parse(v.last_activity_at) >= Date.parse(last_activity_after), + ); + + return res( + ctx.set('x-next-page', response.nextPage?.toString() ?? ''), + ctx.json(filteredData), + ); + }), + ); +} + +function getConfig(): any { + return { + backend: { + cache: { store: 'memory' }, + }, + integrations: { + gitlab: [ + { + host: 'gitlab.fake', + apiBaseUrl: 'https://gitlab.fake/api/v4', + token: 'test-token', + }, + ], + }, + }; +} + +function getProcessor(config?: any): GitLabDiscoveryProcessor { + return GitLabDiscoveryProcessor.fromConfig( + new ConfigReader(config || getConfig()), + { + logger: getVoidLogger(), + }, + ); +} + +describe('GitlabDiscoveryProcessor', () => { + beforeAll(() => { + server.listen(); + jest.useFakeTimers('modern'); + jest.setSystemTime(new Date('2001-01-01T12:34:56Z')); + }); + afterEach(() => server.resetHandlers()); + afterAll(() => { + server.close(); + jest.useRealTimers(); + }); + + const location: LocationSpec = { + type: 'gitlab-discovery', + target: 'https://gitlab.fake/north-star', + }; + + describe('handles repositories', () => { + it('pages through all repositories', async () => { + const processor = getProcessor(); + setupFakeGitLab(request => { + switch (request.page) { + case 1: + return { + data: [ + { + id: 1, + archived: false, + default_branch: 'main', + last_activity_at: '2021-08-05T11:03:05.774Z', + web_url: 'https://gitlab.fake/1', + }, + ], + nextPage: 2, + }; + case 2: + return { + data: [ + { + id: 2, + archived: false, + default_branch: 'master', + last_activity_at: '2021-08-05T11:03:05.774Z', + web_url: 'https://gitlab.fake/2', + }, + { + id: 3, + archived: true, // ARCHIVED + default_branch: 'master', + last_activity_at: '2021-08-05T11:03:05.774Z', + web_url: 'https://gitlab.fake/3', + }, + ], + }; + default: + throw new Error('Invalid request'); + } + }); + + const result: any[] = []; + await processor.readLocation(location, false, e => { + result.push(e); + }); + expect(result).toEqual([ + { + type: 'location', + location: { + type: 'url', + target: 'https://gitlab.fake/1/-/blob/main/catalog-info.yaml', + }, + optional: true, + }, + { + type: 'location', + location: { + type: 'url', + target: 'https://gitlab.fake/2/-/blob/master/catalog-info.yaml', + }, + optional: true, + }, + ]); + }); + + it('uses the previous scan timestamp to filter', async () => { + const processor = getProcessor(); + setupFakeGitLab(request => { + switch (request.page) { + case 1: + return { + data: [ + { + id: 1, + archived: false, + default_branch: 'main', + last_activity_at: '2000-01-01T00:00:00Z', + web_url: 'https://gitlab.fake/1', + }, + { + id: 2, + archived: false, + default_branch: 'main', + last_activity_at: '2002-01-01T00:00:00Z', + web_url: 'https://gitlab.fake/2', + }, + ], + }; + default: + throw new Error('Invalid request'); + } + }); + + const result: any[] = []; + + // First scan should find all repos, since no last activity was cached + await processor.readLocation(location, false, e => { + result.push(e); + }); + expect(result).toHaveLength(2); + + // Second scan should have used the mocked Date to set the last scanned time to 2001 + // This should result in only the second repo being scanned, since that has a timestamp of 2002 + const result2: any[] = []; + await processor.readLocation(location, false, e => { + result2.push(e); + }); + expect(result2).toHaveLength(1); + }); + }); + + describe('handles failure', () => { + it('invalid token', async () => { + // Setup an empty fake gitlab, since we don't care about actual results + setupFakeGitLab(_ => { + return { + data: [], + }; + }); + + const config = getConfig(); + config.integrations.gitlab[0].token = 'invalid'; + await expect( + getProcessor(config).readLocation(location, false, _ => {}), + ).rejects.toThrow(/Unauthorized/); + }); + + it('missing integration', async () => { + const config = getConfig(); + delete config.integrations; + await expect( + getProcessor(config).readLocation(location, false, _ => {}), + ).rejects.toThrow(/no GitLab integration/); + }); + + it('location type', async () => { + const incorrectLocation: LocationSpec = { + type: 'something-that-is-not-gitlab-discovery', + target: 'https://gitlab.fake/north-star', + }; + + await expect( + getProcessor().readLocation(incorrectLocation, false, _ => {}), + ).resolves.toBeFalsy(); + }); + }); +}); diff --git a/plugins/catalog-backend/src/ingestion/processors/GitLabDiscoveryProcessor.ts b/plugins/catalog-backend/src/ingestion/processors/GitLabDiscoveryProcessor.ts new file mode 100644 index 0000000000..b3cce6e711 --- /dev/null +++ b/plugins/catalog-backend/src/ingestion/processors/GitLabDiscoveryProcessor.ts @@ -0,0 +1,129 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { LocationSpec } from '@backstage/catalog-model'; +import { Config } from '@backstage/config'; +import { + ScmIntegrations, +} from '@backstage/integration'; +import { Logger } from 'winston'; +import * as results from './results'; +import { CatalogProcessor, CatalogProcessorEmit } from './types'; +import { GitLabClient, GitLabProject, paginated } from "./gitlab"; +import { CacheClient, CacheManager, PluginCacheManager } from "@backstage/backend-common"; + +/** + * Extracts repositories out of a GitLab org. + */ +export class GitLabDiscoveryProcessor implements CatalogProcessor { + private readonly integrations: ScmIntegrations; + private readonly logger: Logger; + private readonly cache: CacheClient; + + static fromConfig(config: Config, options: { logger: Logger }) { + const integrations = ScmIntegrations.fromConfig(config); + const pluginCache = CacheManager.fromConfig(config).forPlugin( + 'gitlab-discovery', + ); + + return new GitLabDiscoveryProcessor({ + ...options, + integrations, + pluginCache, + }); + } + + private constructor(options: { + integrations: ScmIntegrations; + pluginCache: PluginCacheManager; + logger: Logger; + }) { + this.integrations = options.integrations; + this.cache = options.pluginCache.getClient(); + this.logger = options.logger; + } + + async readLocation( + location: LocationSpec, + _optional: boolean, + emit: CatalogProcessorEmit, + ): Promise { + if (location.type !== 'gitlab-discovery') { + return false; + } + + const integration = this.integrations.gitlab.byUrl(location.target); + if (!integration) { + throw new Error( + `There is no GitLab integration that matches ${location.target}. Please add a configuration entry for it under integrations.gitlab`, + ); + } + + const client = new GitLabClient({ + config: integration.config, + logger: this.logger, + }); + const startTimestamp = Date.now(); + this.logger.info(`Reading GitLab projects from ${location.target}`); + + const projects = paginated(options => client.listProjects(options), { + last_activity_after: await this.updateLastActivity(), + page: 1, + }); + + const result: Result = { + scanned: 0, + matches: [], + }; + for await (const project of projects) { + result.scanned++; + if (!project.archived) { + result.matches.push(project); + } + } + + for (const project of result.matches) { + emit( + results.location( + { + type: 'url', + // The format expected by the GitLabUrlReader: https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/filepath + target: `${project.web_url}/-/blob/${project.default_branch}/catalog-info.yaml`, + }, + true, + ), + ); + } + + const duration = ((Date.now() - startTimestamp) / 1000).toFixed(1); + this.logger.debug( + `Read ${result.scanned} GitLab repositories in ${duration} seconds`, + ); + + return true; + } + + async updateLastActivity(): Promise { + const lastActivity = await this.cache.get('last-activity'); + await this.cache.set('last-activity', new Date().toISOString()); + return lastActivity as string | undefined; + } +} + +type Result = { + scanned: number; + matches: GitLabProject[]; +}; diff --git a/plugins/catalog-backend/src/ingestion/processors/gitlab/client.ts b/plugins/catalog-backend/src/ingestion/processors/gitlab/client.ts new file mode 100644 index 0000000000..fb7763dd1c --- /dev/null +++ b/plugins/catalog-backend/src/ingestion/processors/gitlab/client.ts @@ -0,0 +1,94 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import fetch from 'cross-fetch'; +import { + getGitLabRequestOptions, + GitLabIntegrationConfig, +} from '@backstage/integration'; +import { Logger } from 'winston'; + +export class GitLabClient { + private readonly config: GitLabIntegrationConfig; + private readonly logger: Logger; + + constructor(options: { config: GitLabIntegrationConfig; logger: Logger }) { + this.config = options.config; + this.logger = options.logger; + } + + async listProjects(options?: ListOptions): Promise> { + return this.pagedRequest(`${this.config.apiBaseUrl}/projects`, options); + } + + private async pagedRequest( + endpoint: string, + options?: ListOptions, + ): Promise> { + const request = new URL(endpoint); + for (const key in options) { + if (options[key]) { + request.searchParams.append(key, options[key]!.toString()); + } + } + + this.logger.debug(`Fetching: ${request.toString()}`); + const response = await fetch( + request.toString(), + getGitLabRequestOptions(this.config), + ); + if (!response.ok) { + throw new Error( + `Unexpected response when fetching ${request.toString()}. Expected 200 but got ${ + response.status + } - ${response.statusText}`, + ); + } + return response.json().then(items => { + const nextPage = response.headers.get('x-next-page'); + + return { + items, + nextPage: nextPage ? Number(nextPage) : null, + } as PagedResponse; + }); + } +} + +export type ListOptions = { + [key: string]: string | number | undefined; + per_page?: number | undefined; + page?: number | undefined; +}; + +export type PagedResponse = { + items: T[]; + nextPage?: number; +}; + +export async function* paginated( + request: (options: ListOptions) => Promise>, + options: ListOptions, +) { + let res; + do { + res = await request(options); + options.page = res.nextPage; + for (const item of res.items) { + yield item; + } + } while (res.nextPage); +} diff --git a/plugins/catalog-backend/src/ingestion/processors/gitlab/index.ts b/plugins/catalog-backend/src/ingestion/processors/gitlab/index.ts new file mode 100644 index 0000000000..a6c6419d21 --- /dev/null +++ b/plugins/catalog-backend/src/ingestion/processors/gitlab/index.ts @@ -0,0 +1,18 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { GitLabClient, paginated } from './client'; +export type { GitLabProject } from "./types"; diff --git a/plugins/catalog-backend/src/ingestion/processors/gitlab/types.ts b/plugins/catalog-backend/src/ingestion/processors/gitlab/types.ts new file mode 100644 index 0000000000..a66411ddc8 --- /dev/null +++ b/plugins/catalog-backend/src/ingestion/processors/gitlab/types.ts @@ -0,0 +1,23 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export type GitLabProject = { + id: number; + default_branch: string; + archived: boolean; + last_activity_at: string; + web_url: string; +}; diff --git a/plugins/catalog-backend/src/ingestion/processors/index.ts b/plugins/catalog-backend/src/ingestion/processors/index.ts index 6a44ea0a8f..fe4d374829 100644 --- a/plugins/catalog-backend/src/ingestion/processors/index.ts +++ b/plugins/catalog-backend/src/ingestion/processors/index.ts @@ -26,6 +26,7 @@ export { FileReaderProcessor } from './FileReaderProcessor'; export { GithubDiscoveryProcessor } from './GithubDiscoveryProcessor'; export { GithubOrgReaderProcessor } from './GithubOrgReaderProcessor'; export { GithubMultiOrgReaderProcessor } from './GithubMultiOrgReaderProcessor'; +export { GitLabDiscoveryProcessor } from './GitLabDiscoveryProcessor'; export { LocationEntityProcessor } from './LocationEntityProcessor'; export { PlaceholderProcessor } from './PlaceholderProcessor'; export type { PlaceholderResolver } from './PlaceholderProcessor'; diff --git a/plugins/catalog-backend/src/next/NextCatalogBuilder.ts b/plugins/catalog-backend/src/next/NextCatalogBuilder.ts index fb12077508..88fcc27055 100644 --- a/plugins/catalog-backend/src/next/NextCatalogBuilder.ts +++ b/plugins/catalog-backend/src/next/NextCatalogBuilder.ts @@ -50,6 +50,7 @@ import { FileReaderProcessor, GithubDiscoveryProcessor, GithubOrgReaderProcessor, + GitLabDiscoveryProcessor, PlaceholderProcessor, PlaceholderResolver, UrlReaderProcessor, @@ -372,6 +373,7 @@ export class NextCatalogBuilder { BitbucketDiscoveryProcessor.fromConfig(config, { logger }), GithubDiscoveryProcessor.fromConfig(config, { logger }), GithubOrgReaderProcessor.fromConfig(config, { logger }), + GitLabDiscoveryProcessor.fromConfig(config, { logger }), new UrlReaderProcessor({ reader, logger }), CodeOwnersProcessor.fromConfig(config, { logger, reader }), new AnnotateLocationEntityProcessor({ integrations }), diff --git a/plugins/catalog-backend/src/service/CatalogBuilder.ts b/plugins/catalog-backend/src/service/CatalogBuilder.ts index 76b4af7450..70c1890fbf 100644 --- a/plugins/catalog-backend/src/service/CatalogBuilder.ts +++ b/plugins/catalog-backend/src/service/CatalogBuilder.ts @@ -46,6 +46,7 @@ import { FileReaderProcessor, GithubDiscoveryProcessor, GithubOrgReaderProcessor, + GitLabDiscoveryProcessor, HigherOrderOperation, HigherOrderOperations, LocationEntityProcessor, @@ -316,6 +317,7 @@ export class CatalogBuilder { BitbucketDiscoveryProcessor.fromConfig(config, { logger }), GithubDiscoveryProcessor.fromConfig(config, { logger }), GithubOrgReaderProcessor.fromConfig(config, { logger }), + GitLabDiscoveryProcessor.fromConfig(config, { logger }), new UrlReaderProcessor({ reader, logger }), CodeOwnersProcessor.fromConfig(config, { logger, reader }), new LocationEntityProcessor({ integrations }), From a487f61564c3ccdc6938f8990fb1313b367dd827 Mon Sep 17 00:00:00 2001 From: Roy Jacobs Date: Tue, 17 Aug 2021 16:24:07 +0200 Subject: [PATCH 420/712] Parse URLs and allow filtering based on group/subgroup Signed-off-by: Roy Jacobs --- .../GitLabDiscoveryProcessor.test.ts | 160 +++++++++++++++--- .../processors/GitLabDiscoveryProcessor.ts | 71 ++++++-- .../src/ingestion/processors/gitlab/client.ts | 15 +- 3 files changed, 210 insertions(+), 36 deletions(-) diff --git a/plugins/catalog-backend/src/ingestion/processors/GitLabDiscoveryProcessor.test.ts b/plugins/catalog-backend/src/ingestion/processors/GitLabDiscoveryProcessor.test.ts index 5eb5c51869..a0e44d7648 100644 --- a/plugins/catalog-backend/src/ingestion/processors/GitLabDiscoveryProcessor.test.ts +++ b/plugins/catalog-backend/src/ingestion/processors/GitLabDiscoveryProcessor.test.ts @@ -17,28 +17,47 @@ import { ConfigReader } from '@backstage/config'; import { getVoidLogger } from '@backstage/backend-common'; import { LocationSpec } from '@backstage/catalog-model'; -import { - GitLabDiscoveryProcessor, -} from './GitLabDiscoveryProcessor'; +import { GitLabDiscoveryProcessor, parseUrl } from './GitLabDiscoveryProcessor'; import { setupServer } from 'msw/node'; import { rest } from 'msw'; -import { GitLabProject } from "./gitlab"; +import { GitLabProject } from './gitlab'; const server = setupServer(); -function setupFakeGitLab( - callback: (request: { - page: number; - }) => { data: GitLabProject[]; nextPage?: number }, +const PROJECTS_URL = 'https://gitlab.fake/api/v4/projects'; +const GROUP_PROJECTS_URL = + 'https://gitlab.fake/api/v4/groups/group%2Fsubgroup/projects'; + +const PROJECT_LOCATION: LocationSpec = { + type: 'gitlab-discovery', + target: 'https://gitlab.fake/blob/*/catalog-info.yaml', +}; +const PROJECT_LOCATION_MASTER_BRANCH: LocationSpec = { + type: 'gitlab-discovery', + target: 'https://gitlab.fake/blob/master/catalog-info.yaml', +}; +const GROUP_LOCATION: LocationSpec = { + type: 'gitlab-discovery', + target: 'https://gitlab.fake/group/subgroup/blob/*/catalog-info.yaml', +}; + +function setupFakeServer( + url: string, + callback: (request: { page: number; include_subgroups: boolean }) => { + data: GitLabProject[]; + nextPage?: number; + }, ) { server.use( - rest.get('https://gitlab.fake/api/v4/projects', (req, res, ctx) => { + rest.get(url, (req, res, ctx) => { if (req.headers.get('private-token') !== 'test-token') { return res(ctx.status(401), ctx.json({})); } const page = req.url.searchParams.get('page'); + const include_subgroups = req.url.searchParams.get('include_subgroups'); const response = callback({ page: parseInt(page!, 10), + include_subgroups: include_subgroups === 'true', }); // Filter the fake results based on the `last_activity_after` parameter @@ -97,15 +116,43 @@ describe('GitlabDiscoveryProcessor', () => { jest.useRealTimers(); }); - const location: LocationSpec = { - type: 'gitlab-discovery', - target: 'https://gitlab.fake/north-star', - }; + describe('parseUrl', () => { + it('parses well formed URLs', () => { + expect( + parseUrl('https://gitlab.com/group/subgroup/blob/master/catalog.yaml'), + ).toEqual({ + group: 'group/subgroup', + host: 'gitlab.com', + branch: 'master', + catalogPath: 'catalog.yaml', + }); + expect( + parseUrl('https://gitlab.com/blob/*/subfolder/catalog.yaml'), + ).toEqual({ + group: undefined, + host: 'gitlab.com', + branch: '*', + catalogPath: 'subfolder/catalog.yaml', + }); + }); + + it('throws on incorrectly formed URLs', () => { + expect(() => parseUrl('https://gitlab.com')).toThrow(); + expect(() => parseUrl('https://gitlab.com//')).toThrow(); + expect(() => parseUrl('https://gitlab.com/foo')).toThrow(); + expect(() => parseUrl('https://gitlab.com//foo')).toThrow(); + expect(() => parseUrl('https://gitlab.com/org/teams')).toThrow(); + expect(() => parseUrl('https://gitlab.com/org//teams')).toThrow(); + expect(() => + parseUrl('https://gitlab.com/org//teams/blob/catalog.yaml'), + ).toThrow(); + }); + }); describe('handles repositories', () => { it('pages through all repositories', async () => { const processor = getProcessor(); - setupFakeGitLab(request => { + setupFakeServer(PROJECTS_URL, request => { switch (request.page) { case 1: return { @@ -145,7 +192,7 @@ describe('GitlabDiscoveryProcessor', () => { }); const result: any[] = []; - await processor.readLocation(location, false, e => { + await processor.readLocation(PROJECT_LOCATION, false, e => { result.push(e); }); expect(result).toEqual([ @@ -168,9 +215,78 @@ describe('GitlabDiscoveryProcessor', () => { ]); }); + it('can force a branch name', async () => { + const processor = getProcessor(); + setupFakeServer(PROJECTS_URL, request => { + switch (request.page) { + case 1: + return { + data: [ + { + id: 1, + archived: false, + default_branch: 'main', + last_activity_at: '2021-08-05T11:03:05.774Z', + web_url: 'https://gitlab.fake/1', + }, + ], + }; + default: + throw new Error('Invalid request'); + } + }); + + const result: any[] = []; + await processor.readLocation(PROJECT_LOCATION_MASTER_BRANCH, false, e => { + result.push(e); + }); + expect(result).toEqual([ + { + type: 'location', + location: { + type: 'url', + target: 'https://gitlab.fake/1/-/blob/master/catalog-info.yaml', + }, + optional: true, + }, + ]); + }); + + it('can filter based on group', async () => { + const processor = getProcessor(); + setupFakeServer(GROUP_PROJECTS_URL, request => { + if (!request.include_subgroups) { + throw new Error('include_subgroups should be set'); + } + switch (request.page) { + case 1: + return { + data: [ + { + id: 1, + archived: false, + default_branch: 'main', + last_activity_at: '2021-08-05T11:03:05.774Z', + web_url: 'https://gitlab.fake/1', + }, + ], + }; + default: + throw new Error('Invalid request'); + } + }); + + const result: any[] = []; + await processor.readLocation(GROUP_LOCATION, false, e => { + result.push(e); + }); + // If everything was set up correctly, we should have received the fake repo specified above + expect(result).toHaveLength(1); + }); + it('uses the previous scan timestamp to filter', async () => { const processor = getProcessor(); - setupFakeGitLab(request => { + setupFakeServer(PROJECTS_URL, request => { switch (request.page) { case 1: return { @@ -199,7 +315,7 @@ describe('GitlabDiscoveryProcessor', () => { const result: any[] = []; // First scan should find all repos, since no last activity was cached - await processor.readLocation(location, false, e => { + await processor.readLocation(PROJECT_LOCATION, false, e => { result.push(e); }); expect(result).toHaveLength(2); @@ -207,7 +323,7 @@ describe('GitlabDiscoveryProcessor', () => { // Second scan should have used the mocked Date to set the last scanned time to 2001 // This should result in only the second repo being scanned, since that has a timestamp of 2002 const result2: any[] = []; - await processor.readLocation(location, false, e => { + await processor.readLocation(PROJECT_LOCATION, false, e => { result2.push(e); }); expect(result2).toHaveLength(1); @@ -217,7 +333,7 @@ describe('GitlabDiscoveryProcessor', () => { describe('handles failure', () => { it('invalid token', async () => { // Setup an empty fake gitlab, since we don't care about actual results - setupFakeGitLab(_ => { + setupFakeServer(PROJECTS_URL, _ => { return { data: [], }; @@ -226,7 +342,7 @@ describe('GitlabDiscoveryProcessor', () => { const config = getConfig(); config.integrations.gitlab[0].token = 'invalid'; await expect( - getProcessor(config).readLocation(location, false, _ => {}), + getProcessor(config).readLocation(PROJECT_LOCATION, false, _ => {}), ).rejects.toThrow(/Unauthorized/); }); @@ -234,14 +350,14 @@ describe('GitlabDiscoveryProcessor', () => { const config = getConfig(); delete config.integrations; await expect( - getProcessor(config).readLocation(location, false, _ => {}), + getProcessor(config).readLocation(PROJECT_LOCATION, false, _ => {}), ).rejects.toThrow(/no GitLab integration/); }); it('location type', async () => { const incorrectLocation: LocationSpec = { type: 'something-that-is-not-gitlab-discovery', - target: 'https://gitlab.fake/north-star', + target: 'https://gitlab.fake/oh-dear', }; await expect( diff --git a/plugins/catalog-backend/src/ingestion/processors/GitLabDiscoveryProcessor.ts b/plugins/catalog-backend/src/ingestion/processors/GitLabDiscoveryProcessor.ts index b3cce6e711..5603a1aa7f 100644 --- a/plugins/catalog-backend/src/ingestion/processors/GitLabDiscoveryProcessor.ts +++ b/plugins/catalog-backend/src/ingestion/processors/GitLabDiscoveryProcessor.ts @@ -16,17 +16,19 @@ import { LocationSpec } from '@backstage/catalog-model'; import { Config } from '@backstage/config'; -import { - ScmIntegrations, -} from '@backstage/integration'; +import { ScmIntegrations } from '@backstage/integration'; import { Logger } from 'winston'; import * as results from './results'; import { CatalogProcessor, CatalogProcessorEmit } from './types'; -import { GitLabClient, GitLabProject, paginated } from "./gitlab"; -import { CacheClient, CacheManager, PluginCacheManager } from "@backstage/backend-common"; +import { GitLabClient, GitLabProject, paginated } from './gitlab'; +import { + CacheClient, + CacheManager, + PluginCacheManager, +} from '@backstage/backend-common'; /** - * Extracts repositories out of a GitLab org. + * Extracts repositories out of an GitLab instance. */ export class GitLabDiscoveryProcessor implements CatalogProcessor { private readonly integrations: ScmIntegrations; @@ -35,9 +37,8 @@ export class GitLabDiscoveryProcessor implements CatalogProcessor { static fromConfig(config: Config, options: { logger: Logger }) { const integrations = ScmIntegrations.fromConfig(config); - const pluginCache = CacheManager.fromConfig(config).forPlugin( - 'gitlab-discovery', - ); + const pluginCache = + CacheManager.fromConfig(config).forPlugin('gitlab-discovery'); return new GitLabDiscoveryProcessor({ ...options, @@ -65,10 +66,12 @@ export class GitLabDiscoveryProcessor implements CatalogProcessor { return false; } - const integration = this.integrations.gitlab.byUrl(location.target); + const { group, host, branch, catalogPath } = parseUrl(location.target); + + const integration = this.integrations.gitlab.byUrl(`https://${host}`); if (!integration) { throw new Error( - `There is no GitLab integration that matches ${location.target}. Please add a configuration entry for it under integrations.gitlab`, + `There is no GitLab integration that matches ${host}. Please add a configuration entry for it under integrations.gitlab`, ); } @@ -80,6 +83,7 @@ export class GitLabDiscoveryProcessor implements CatalogProcessor { this.logger.info(`Reading GitLab projects from ${location.target}`); const projects = paginated(options => client.listProjects(options), { + group, last_activity_after: await this.updateLastActivity(), page: 1, }); @@ -96,12 +100,19 @@ export class GitLabDiscoveryProcessor implements CatalogProcessor { } for (const project of result.matches) { + const project_branch = branch === '*' ? project.default_branch : branch; + emit( results.location( { type: 'url', - // The format expected by the GitLabUrlReader: https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/filepath - target: `${project.web_url}/-/blob/${project.default_branch}/catalog-info.yaml`, + // The format expected by the GitLabUrlReader: + // https://gitlab.com/groupA/teams/teamA/subgroupA/repoA/-/blob/branch/filepath + // + // This unfortunately will trigger another API call in `getGitLabFileFetchUrl` to get the project ID. + // The alternative is using the `buildRawUrl` function, which does not support subgroups, so providing a raw + // URL here won't work either. + target: `${project.web_url}/-/blob/${project_branch}/${catalogPath}`, }, true, ), @@ -127,3 +138,37 @@ type Result = { scanned: number; matches: GitLabProject[]; }; + +/* + * Helpers + */ + +export function parseUrl(urlString: string): { + group?: string; + host: string; + branch: string; + catalogPath: string; +} { + const url = new URL(urlString); + const path = url.pathname.substr(1).split('/'); + + // (/group/subgroup)/blob/branch|*/filepath + const blobIndex = path.findIndex(p => p === 'blob'); + if (blobIndex !== -1 && path.length > blobIndex + 2) { + const group = + blobIndex > 0 ? path.slice(0, blobIndex).join('/') : undefined; + + return { + group, + host: url.host, + branch: decodeURIComponent(path[blobIndex + 1]), + catalogPath: decodeURIComponent(path.slice(blobIndex + 2).join('/')), + }; + } + + throw new Error(`Failed to parse ${urlString}`); +} + +export function escapeRegExp(str: string): RegExp { + return new RegExp(`^${str.replace(/\*/g, '.*')}$`); +} diff --git a/plugins/catalog-backend/src/ingestion/processors/gitlab/client.ts b/plugins/catalog-backend/src/ingestion/processors/gitlab/client.ts index fb7763dd1c..8781e071f7 100644 --- a/plugins/catalog-backend/src/ingestion/processors/gitlab/client.ts +++ b/plugins/catalog-backend/src/ingestion/processors/gitlab/client.ts @@ -31,6 +31,18 @@ export class GitLabClient { } async listProjects(options?: ListOptions): Promise> { + if (options?.group) { + return this.pagedRequest( + `${this.config.apiBaseUrl}/groups/${encodeURIComponent( + options?.group, + )}/projects`, + { + ...options, + include_subgroups: true, + }, + ); + } + return this.pagedRequest(`${this.config.apiBaseUrl}/projects`, options); } @@ -69,7 +81,8 @@ export class GitLabClient { } export type ListOptions = { - [key: string]: string | number | undefined; + [key: string]: string | number | boolean | undefined; + group?: string; per_page?: number | undefined; page?: number | undefined; }; From 29f6c7541a4f10dd3844924c7ed97a586be05359 Mon Sep 17 00:00:00 2001 From: Roy Jacobs Date: Tue, 17 Aug 2021 16:28:36 +0200 Subject: [PATCH 421/712] Add documentation for GitLab discovery Signed-off-by: Roy Jacobs --- docs/integrations/gitlab/discovery.md | 36 +++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 docs/integrations/gitlab/discovery.md diff --git a/docs/integrations/gitlab/discovery.md b/docs/integrations/gitlab/discovery.md new file mode 100644 index 0000000000..ade575b74d --- /dev/null +++ b/docs/integrations/gitlab/discovery.md @@ -0,0 +1,36 @@ +--- +id: discovery +title: GitLab Discovery +sidebar_label: Discovery +# prettier-ignore +description: Automatically discovering catalog entities from repositories in GitLab +--- + +The GitLab integration has a special discovery processor for discovering catalog +entities from GitLab. The processor will crawl the GitLab instance and register +entities matching the configured path. This can be useful as an alternative to +static locations or manually adding things to the catalog. + +To use the discovery processor, you'll need a GitLab integration +[set up](locations.md) with a `token`. Then you can add a location target to the +catalog configuration: + +```yaml +catalog: + locations: + - type: gitlab-discovery + target: https://gitlab.com/group/subgroup/blob/main/catalog-info.yaml +``` + +Note the `gitlab-discovery` type, as this is not a regular `url` processor. + +The target is composed of three parts: + +- The base URL, `https://gitlab.com` in this case +- The group path, `group/subgroup` in this case. This is optional: If you omit + this path the processor will scan the entire GitLab instance instead. +- The path within each repository to find the catalog YAML file. This will + usually be `/blob/main/catalog-info.yaml`, `/blob/master/catalog-info.yaml` or + a similar variation for catalog files stored in the root directory of each + repository. If you want to use the repository's default branch use the `*` + wildcard, e.g.: `/blob/*/catalog-info.yaml` From 96785dce38ba99b317677decb24585a9e5c22bef Mon Sep 17 00:00:00 2001 From: Roy Jacobs Date: Tue, 17 Aug 2021 16:31:57 +0200 Subject: [PATCH 422/712] Add changeset for GitLab discovery Signed-off-by: Roy Jacobs --- .changeset/lucky-gifts-help.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/lucky-gifts-help.md diff --git a/.changeset/lucky-gifts-help.md b/.changeset/lucky-gifts-help.md new file mode 100644 index 0000000000..1bc100d824 --- /dev/null +++ b/.changeset/lucky-gifts-help.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend': minor +--- + +Added GitLabDiscoveryProcessor, which allows catalog discovery from a GitLab instance From 017f2f6c7e2a2bbf37f48776da976b53e9cca1e3 Mon Sep 17 00:00:00 2001 From: Roy Jacobs Date: Tue, 17 Aug 2021 16:44:33 +0200 Subject: [PATCH 423/712] Forgot to run 'Prettier' Signed-off-by: Roy Jacobs --- .../catalog-backend/src/ingestion/processors/gitlab/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/catalog-backend/src/ingestion/processors/gitlab/index.ts b/plugins/catalog-backend/src/ingestion/processors/gitlab/index.ts index a6c6419d21..1df3d2cb84 100644 --- a/plugins/catalog-backend/src/ingestion/processors/gitlab/index.ts +++ b/plugins/catalog-backend/src/ingestion/processors/gitlab/index.ts @@ -15,4 +15,4 @@ */ export { GitLabClient, paginated } from './client'; -export type { GitLabProject } from "./types"; +export type { GitLabProject } from './types'; From a6ae6115d3b23e6688fcc7081d25a7ce8b8a2ae3 Mon Sep 17 00:00:00 2001 From: Roy Jacobs Date: Tue, 17 Aug 2021 17:08:21 +0200 Subject: [PATCH 424/712] Update api-report.md Signed-off-by: Roy Jacobs --- plugins/catalog-backend/api-report.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/plugins/catalog-backend/api-report.md b/plugins/catalog-backend/api-report.md index 7286855d4e..0c7b08d94c 100644 --- a/plugins/catalog-backend/api-report.md +++ b/plugins/catalog-backend/api-report.md @@ -771,6 +771,27 @@ export class GithubOrgReaderProcessor implements CatalogProcessor { ): Promise; } +// Warning: (ae-missing-release-tag) "GitLabDiscoveryProcessor" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public +export class GitLabDiscoveryProcessor implements CatalogProcessor { + // (undocumented) + static fromConfig( + config: Config, + options: { + logger: Logger_2; + }, + ): GitLabDiscoveryProcessor; + // (undocumented) + readLocation( + location: LocationSpec, + _optional: boolean, + emit: CatalogProcessorEmit, + ): Promise; + // (undocumented) + updateLastActivity(): Promise; +} + // Warning: (ae-missing-release-tag) "HigherOrderOperation" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) From 879a98ca3b36970450f61e33d6c49feafb0e6cdb Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Tue, 17 Aug 2021 17:22:57 +0200 Subject: [PATCH 425/712] auth-backend: fix origin filter tests on windows Signed-off-by: Patrik Oldsberg --- plugins/auth-backend/src/service/router.test.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/auth-backend/src/service/router.test.ts b/plugins/auth-backend/src/service/router.test.ts index ca8a14f4e6..f0f5134848 100644 --- a/plugins/auth-backend/src/service/router.test.ts +++ b/plugins/auth-backend/src/service/router.test.ts @@ -28,19 +28,19 @@ describe('Auth origin filtering', () => { const config = defaultConfig(); config.getOptionalString = getOptionalString; it('Will explode, invalid origin', () => { - const origin = 'https://test\\.example.net'; + const origin = 'https://test.example.net'; expect(createOriginFilter(config)(origin)).toBeFalsy(); }); it('Will explode, invalid origin domain', () => { - const origin = 'https://test-1234\\.examplee.net'; + const origin = 'https://test-1234.examplee.net'; expect(createOriginFilter(config)(origin)).toBeFalsy(); }); it("Won't explode, valid origin with numbers", () => { - const origin = 'https://test-1234\\.example.net'; + const origin = 'https://test-1234.example.net'; expect(createOriginFilter(config)(origin)).toBeTruthy(); }); it("Won't explode, valid origin with chars and numbers", () => { - const origin = 'https://test-test1234\\.example.net'; + const origin = 'https://test-test1234.example.net'; expect(createOriginFilter(config)(origin)).toBeTruthy(); }); }); From 24d0e1ea1253f8f828741d2405cddc589d9d02f6 Mon Sep 17 00:00:00 2001 From: Oliver Sand Date: Tue, 17 Aug 2021 17:32:21 +0200 Subject: [PATCH 426/712] Set field id in scaffolder Signed-off-by: Oliver Sand --- .changeset/fifty-taxis-deny.md | 5 +++++ .../src/components/fields/EntityPicker/EntityPicker.tsx | 4 +++- .../components/fields/TextValuePicker/TextValuePicker.tsx | 8 ++++++-- 3 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 .changeset/fifty-taxis-deny.md diff --git a/.changeset/fifty-taxis-deny.md b/.changeset/fifty-taxis-deny.md new file mode 100644 index 0000000000..63100635d1 --- /dev/null +++ b/.changeset/fifty-taxis-deny.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder': patch +--- + +Set `id` in ``. diff --git a/plugins/scaffolder/src/components/fields/EntityPicker/EntityPicker.tsx b/plugins/scaffolder/src/components/fields/EntityPicker/EntityPicker.tsx index 04693a94cd..fca40d822f 100644 --- a/plugins/scaffolder/src/components/fields/EntityPicker/EntityPicker.tsx +++ b/plugins/scaffolder/src/components/fields/EntityPicker/EntityPicker.tsx @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import { useApi } from '@backstage/core-plugin-api'; import { catalogApiRef, formatEntityRefTitle, @@ -23,7 +24,6 @@ import Autocomplete from '@material-ui/lab/Autocomplete'; import { FieldProps } from '@rjsf/core'; import React from 'react'; import { useAsync } from 'react-use'; -import { useApi } from '@backstage/core-plugin-api'; export const EntityPicker = ({ onChange, @@ -32,6 +32,7 @@ export const EntityPicker = ({ uiSchema, rawErrors, formData, + idSchema, }: FieldProps) => { const allowedKinds = uiSchema['ui:options']?.allowedKinds as string[]; const defaultKind = uiSchema['ui:options']?.defaultKind as string | undefined; @@ -58,6 +59,7 @@ export const EntityPicker = ({ error={rawErrors?.length > 0 && !formData} > ) => ( Date: Tue, 17 Aug 2021 18:13:33 +0200 Subject: [PATCH 427/712] Update API report Signed-off-by: Oliver Sand --- plugins/scaffolder/api-report.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/scaffolder/api-report.md b/plugins/scaffolder/api-report.md index 4df2a0808c..b005610f04 100644 --- a/plugins/scaffolder/api-report.md +++ b/plugins/scaffolder/api-report.md @@ -66,6 +66,7 @@ export const EntityPicker: ({ uiSchema, rawErrors, formData, + idSchema, }: FieldProps) => JSX.Element; // Warning: (ae-missing-release-tag) "EntityPickerFieldExtension" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) @@ -229,6 +230,8 @@ export const TextValuePicker: ({ rawErrors, formData, uiSchema: { 'ui:autofocus': autoFocus }, + idSchema, + placeholder, }: FieldProps) => JSX.Element; // (No @packageDocumentation comment for this package) From 77cdc5a842f85cfd661c4d2f6233d6a5e6230acf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Tue, 17 Aug 2021 19:40:06 +0200 Subject: [PATCH 428/712] Support passing a UserTransformer through the processor to the reader MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Adelöw --- .changeset/shy-pets-join.md | 5 +++ .../api-report.md | 3 ++ .../src/microsoftGraph/read.test.ts | 42 +++++++++++++++++++ .../src/microsoftGraph/read.ts | 2 + .../MicrosoftGraphOrgReaderProcessor.ts | 11 ++++- 5 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 .changeset/shy-pets-join.md diff --git a/.changeset/shy-pets-join.md b/.changeset/shy-pets-join.md new file mode 100644 index 0000000000..ba39dfd4f4 --- /dev/null +++ b/.changeset/shy-pets-join.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend-module-msgraph': patch +--- + +Pass along a `UserTransformer` to the read step diff --git a/plugins/catalog-backend-module-msgraph/api-report.md b/plugins/catalog-backend-module-msgraph/api-report.md index 91f8180e94..f614bdca36 100644 --- a/plugins/catalog-backend-module-msgraph/api-report.md +++ b/plugins/catalog-backend-module-msgraph/api-report.md @@ -111,6 +111,7 @@ export class MicrosoftGraphOrgReaderProcessor implements CatalogProcessor { constructor(options: { providers: MicrosoftGraphProviderConfig[]; logger: Logger_2; + userTransformer?: UserTransformer; groupTransformer?: GroupTransformer; }); // (undocumented) @@ -118,6 +119,7 @@ export class MicrosoftGraphOrgReaderProcessor implements CatalogProcessor { config: Config, options: { logger: Logger_2; + userTransformer?: UserTransformer; groupTransformer?: GroupTransformer; }, ): MicrosoftGraphOrgReaderProcessor; @@ -170,6 +172,7 @@ export function readMicrosoftGraphOrg( options: { userFilter?: string; groupFilter?: string; + userTransformer?: UserTransformer; groupTransformer?: GroupTransformer; logger: Logger_2; }, diff --git a/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.test.ts b/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.test.ts index 68f7e216ea..82279b76c6 100644 --- a/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.test.ts +++ b/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.test.ts @@ -114,6 +114,48 @@ describe('read microsoft graph', () => { expect(client.getUserPhotoWithSizeLimit).toBeCalledTimes(1); expect(client.getUserPhotoWithSizeLimit).toBeCalledWith('userid', 120); }); + + it('should read users with custom transformer', async () => { + async function* getExampleUsers() { + yield { + id: 'userid', + displayName: 'User Name', + mail: 'user.name@example.com', + }; + } + + client.getUsers.mockImplementation(getExampleUsers); + client.getUserPhotoWithSizeLimit.mockResolvedValue( + 'data:image/jpeg;base64,...', + ); + + const { users } = await readMicrosoftGraphUsers(client, { + userFilter: 'accountEnabled eq true', + transformer: async () => ({ + apiVersion: 'backstage.io/v1alpha1', + kind: 'User', + metadata: { name: 'x' }, + spec: { memberOf: [] }, + }), + logger: getVoidLogger(), + }); + + expect(users).toEqual([ + { + apiVersion: 'backstage.io/v1alpha1', + kind: 'User', + metadata: { name: 'x' }, + spec: { memberOf: [] }, + }, + ]); + + expect(client.getUsers).toBeCalledTimes(1); + expect(client.getUsers).toBeCalledWith({ + filter: 'accountEnabled eq true', + }); + expect(client.getUserPhotoWithSizeLimit).toBeCalledTimes(1); + expect(client.getUserPhotoWithSizeLimit).toBeCalledWith('userid', 120); + }); }); describe('readMicrosoftGraphOrganization', () => { diff --git a/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.ts b/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.ts index 62513b0e10..6fbd2cb0de 100644 --- a/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.ts +++ b/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.ts @@ -382,12 +382,14 @@ export async function readMicrosoftGraphOrg( options: { userFilter?: string; groupFilter?: string; + userTransformer?: UserTransformer; groupTransformer?: GroupTransformer; logger: Logger; }, ): Promise<{ users: UserEntity[]; groups: GroupEntity[] }> { const { users } = await readMicrosoftGraphUsers(client, { userFilter: options.userFilter, + transformer: options.userTransformer, logger: options.logger, }); const { groups, rootGroup, groupMember, groupMemberOf } = diff --git a/plugins/catalog-backend-module-msgraph/src/processors/MicrosoftGraphOrgReaderProcessor.ts b/plugins/catalog-backend-module-msgraph/src/processors/MicrosoftGraphOrgReaderProcessor.ts index 88240db618..1495bce93c 100644 --- a/plugins/catalog-backend-module-msgraph/src/processors/MicrosoftGraphOrgReaderProcessor.ts +++ b/plugins/catalog-backend-module-msgraph/src/processors/MicrosoftGraphOrgReaderProcessor.ts @@ -28,6 +28,7 @@ import { MicrosoftGraphProviderConfig, readMicrosoftGraphConfig, readMicrosoftGraphOrg, + UserTransformer, } from '../microsoftGraph'; /** @@ -36,11 +37,16 @@ import { export class MicrosoftGraphOrgReaderProcessor implements CatalogProcessor { private readonly providers: MicrosoftGraphProviderConfig[]; private readonly logger: Logger; + private readonly userTransformer?: UserTransformer; private readonly groupTransformer?: GroupTransformer; static fromConfig( config: Config, - options: { logger: Logger; groupTransformer?: GroupTransformer }, + options: { + logger: Logger; + userTransformer?: UserTransformer; + groupTransformer?: GroupTransformer; + }, ) { const c = config.getOptionalConfig('catalog.processors.microsoftGraphOrg'); return new MicrosoftGraphOrgReaderProcessor({ @@ -52,10 +58,12 @@ export class MicrosoftGraphOrgReaderProcessor implements CatalogProcessor { constructor(options: { providers: MicrosoftGraphProviderConfig[]; logger: Logger; + userTransformer?: UserTransformer; groupTransformer?: GroupTransformer; }) { this.providers = options.providers; this.logger = options.logger; + this.userTransformer = options.userTransformer; this.groupTransformer = options.groupTransformer; } @@ -89,6 +97,7 @@ export class MicrosoftGraphOrgReaderProcessor implements CatalogProcessor { { userFilter: provider.userFilter, groupFilter: provider.groupFilter, + userTransformer: this.userTransformer, groupTransformer: this.groupTransformer, logger: this.logger, }, From 9f9b808f963ecd1ec572ef00515bd58173d1aaf3 Mon Sep 17 00:00:00 2001 From: Oliver Sand Date: Tue, 17 Aug 2021 23:28:24 +0200 Subject: [PATCH 429/712] Review comments Signed-off-by: Oliver Sand --- .../src/components/fields/EntityPicker/EntityPicker.tsx | 2 +- .../src/components/fields/TextValuePicker/TextValuePicker.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/scaffolder/src/components/fields/EntityPicker/EntityPicker.tsx b/plugins/scaffolder/src/components/fields/EntityPicker/EntityPicker.tsx index fca40d822f..a8ef524a13 100644 --- a/plugins/scaffolder/src/components/fields/EntityPicker/EntityPicker.tsx +++ b/plugins/scaffolder/src/components/fields/EntityPicker/EntityPicker.tsx @@ -59,7 +59,7 @@ export const EntityPicker = ({ error={rawErrors?.length > 0 && !formData} > ) => ( Date: Tue, 17 Aug 2021 17:19:45 -0400 Subject: [PATCH 430/712] chore(UnregisterEntityDialog): migrate to catalog-react Signed-off-by: Phil Kuang --- .changeset/seven-glasses-sit.md | 6 ++++++ plugins/catalog-react/api-report.md | 11 +++++++++++ .../UnregisterEntityDialog.test.tsx | 2 +- .../UnregisterEntityDialog.tsx | 4 ++-- .../components/UnregisterEntityDialog/index.ts | 17 +++++++++++++++++ .../useUnregisterEntityDialogState.test.tsx | 3 ++- .../useUnregisterEntityDialogState.ts | 2 +- plugins/catalog-react/src/components/index.ts | 1 + .../components/EntityLayout/EntityLayout.tsx | 2 +- .../EntityPageLayout/EntityPageLayout.tsx | 2 +- 10 files changed, 43 insertions(+), 7 deletions(-) create mode 100644 .changeset/seven-glasses-sit.md rename plugins/{catalog => catalog-react}/src/components/UnregisterEntityDialog/UnregisterEntityDialog.test.tsx (99%) rename plugins/{catalog => catalog-react}/src/components/UnregisterEntityDialog/UnregisterEntityDialog.tsx (98%) create mode 100644 plugins/catalog-react/src/components/UnregisterEntityDialog/index.ts rename plugins/{catalog => catalog-react}/src/components/UnregisterEntityDialog/useUnregisterEntityDialogState.test.tsx (98%) rename plugins/{catalog => catalog-react}/src/components/UnregisterEntityDialog/useUnregisterEntityDialogState.ts (98%) diff --git a/.changeset/seven-glasses-sit.md b/.changeset/seven-glasses-sit.md new file mode 100644 index 0000000000..349c972641 --- /dev/null +++ b/.changeset/seven-glasses-sit.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-catalog': patch +'@backstage/plugin-catalog-react': patch +--- + +Migrate and export `UnregisterEntityDialog` component from `catalog-react` package diff --git a/plugins/catalog-react/api-report.md b/plugins/catalog-react/api-report.md index 57bb5360c2..c5f3226874 100644 --- a/plugins/catalog-react/api-report.md +++ b/plugins/catalog-react/api-report.md @@ -715,6 +715,17 @@ export function reduceEntityFilters( // @public (undocumented) export const rootRoute: RouteRef; +// Warning: (ae-forgotten-export) The symbol "Props" needs to be exported by the entry point index.d.ts +// Warning: (ae-missing-release-tag) "UnregisterEntityDialog" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export const UnregisterEntityDialog: ({ + open, + onConfirm, + onClose, + entity, +}: Props_3) => JSX.Element; + // Warning: (ae-missing-release-tag) "useEntity" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public diff --git a/plugins/catalog/src/components/UnregisterEntityDialog/UnregisterEntityDialog.test.tsx b/plugins/catalog-react/src/components/UnregisterEntityDialog/UnregisterEntityDialog.test.tsx similarity index 99% rename from plugins/catalog/src/components/UnregisterEntityDialog/UnregisterEntityDialog.test.tsx rename to plugins/catalog-react/src/components/UnregisterEntityDialog/UnregisterEntityDialog.test.tsx index 55ee42f253..339323c1bf 100644 --- a/plugins/catalog/src/components/UnregisterEntityDialog/UnregisterEntityDialog.test.tsx +++ b/plugins/catalog-react/src/components/UnregisterEntityDialog/UnregisterEntityDialog.test.tsx @@ -21,7 +21,7 @@ import React from 'react'; import { UnregisterEntityDialog } from './UnregisterEntityDialog'; import { ORIGIN_LOCATION_ANNOTATION } from '@backstage/catalog-model'; import { CatalogClient } from '@backstage/catalog-client'; -import { catalogApiRef } from '@backstage/plugin-catalog-react'; +import { catalogApiRef } from '../../api'; import { screen, waitFor } from '@testing-library/react'; import { renderInTestApp } from '@backstage/test-utils'; import * as state from './useUnregisterEntityDialogState'; diff --git a/plugins/catalog/src/components/UnregisterEntityDialog/UnregisterEntityDialog.tsx b/plugins/catalog-react/src/components/UnregisterEntityDialog/UnregisterEntityDialog.tsx similarity index 98% rename from plugins/catalog/src/components/UnregisterEntityDialog/UnregisterEntityDialog.tsx rename to plugins/catalog-react/src/components/UnregisterEntityDialog/UnregisterEntityDialog.tsx index abec90bad1..1f1f01ff48 100644 --- a/plugins/catalog/src/components/UnregisterEntityDialog/UnregisterEntityDialog.tsx +++ b/plugins/catalog-react/src/components/UnregisterEntityDialog/UnregisterEntityDialog.tsx @@ -1,5 +1,5 @@ /* - * Copyright 2020 The Backstage Authors + * Copyright 2021 The Backstage Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,7 +15,7 @@ */ import { Entity } from '@backstage/catalog-model'; -import { EntityRefLink } from '@backstage/plugin-catalog-react'; +import { EntityRefLink } from '../EntityRefLink'; import { Box, Button, diff --git a/plugins/catalog-react/src/components/UnregisterEntityDialog/index.ts b/plugins/catalog-react/src/components/UnregisterEntityDialog/index.ts new file mode 100644 index 0000000000..8fc750e706 --- /dev/null +++ b/plugins/catalog-react/src/components/UnregisterEntityDialog/index.ts @@ -0,0 +1,17 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { UnregisterEntityDialog } from './UnregisterEntityDialog'; diff --git a/plugins/catalog/src/components/UnregisterEntityDialog/useUnregisterEntityDialogState.test.tsx b/plugins/catalog-react/src/components/UnregisterEntityDialog/useUnregisterEntityDialogState.test.tsx similarity index 98% rename from plugins/catalog/src/components/UnregisterEntityDialog/useUnregisterEntityDialogState.test.tsx rename to plugins/catalog-react/src/components/UnregisterEntityDialog/useUnregisterEntityDialogState.test.tsx index 6cc2f4b23b..8b4f436aed 100644 --- a/plugins/catalog/src/components/UnregisterEntityDialog/useUnregisterEntityDialogState.test.tsx +++ b/plugins/catalog-react/src/components/UnregisterEntityDialog/useUnregisterEntityDialogState.test.tsx @@ -19,7 +19,8 @@ import { Location, ORIGIN_LOCATION_ANNOTATION, } from '@backstage/catalog-model'; -import { CatalogApi, catalogApiRef } from '@backstage/plugin-catalog-react'; +import { CatalogApi } from '@backstage/catalog-client'; +import { catalogApiRef } from '../../api'; import { act, renderHook, diff --git a/plugins/catalog/src/components/UnregisterEntityDialog/useUnregisterEntityDialogState.ts b/plugins/catalog-react/src/components/UnregisterEntityDialog/useUnregisterEntityDialogState.ts similarity index 98% rename from plugins/catalog/src/components/UnregisterEntityDialog/useUnregisterEntityDialogState.ts rename to plugins/catalog-react/src/components/UnregisterEntityDialog/useUnregisterEntityDialogState.ts index 9b2e68cc5d..ae0a323d36 100644 --- a/plugins/catalog/src/components/UnregisterEntityDialog/useUnregisterEntityDialogState.ts +++ b/plugins/catalog-react/src/components/UnregisterEntityDialog/useUnregisterEntityDialogState.ts @@ -20,7 +20,7 @@ import { getEntityName, ORIGIN_LOCATION_ANNOTATION, } from '@backstage/catalog-model'; -import { catalogApiRef } from '@backstage/plugin-catalog-react'; +import { catalogApiRef } from '../../api'; import { useCallback } from 'react'; import { useAsync } from 'react-use'; import { useApi } from '@backstage/core-plugin-api'; diff --git a/plugins/catalog-react/src/components/index.ts b/plugins/catalog-react/src/components/index.ts index 2664af8ef9..434514c4ed 100644 --- a/plugins/catalog-react/src/components/index.ts +++ b/plugins/catalog-react/src/components/index.ts @@ -23,4 +23,5 @@ export * from './EntityTable'; export * from './EntityTagPicker'; export * from './EntityTypePicker'; export * from './FavoriteEntity'; +export * from './UnregisterEntityDialog'; export * from './UserListPicker'; diff --git a/plugins/catalog/src/components/EntityLayout/EntityLayout.tsx b/plugins/catalog/src/components/EntityLayout/EntityLayout.tsx index eabcbe4993..4eec0d5341 100644 --- a/plugins/catalog/src/components/EntityLayout/EntityLayout.tsx +++ b/plugins/catalog/src/components/EntityLayout/EntityLayout.tsx @@ -39,6 +39,7 @@ import { EntityRefLinks, FavoriteEntity, getEntityRelations, + UnregisterEntityDialog, useEntityCompoundName, } from '@backstage/plugin-catalog-react'; import { Box, TabProps } from '@material-ui/core'; @@ -46,7 +47,6 @@ import { Alert } from '@material-ui/lab'; import React, { useContext, useState } from 'react'; import { useNavigate } from 'react-router'; import { EntityContextMenu } from '../EntityContextMenu/EntityContextMenu'; -import { UnregisterEntityDialog } from '../UnregisterEntityDialog/UnregisterEntityDialog'; type SubRoute = { path: string; diff --git a/plugins/catalog/src/components/EntityPageLayout/EntityPageLayout.tsx b/plugins/catalog/src/components/EntityPageLayout/EntityPageLayout.tsx index 088a9f2c53..c371d6245e 100644 --- a/plugins/catalog/src/components/EntityPageLayout/EntityPageLayout.tsx +++ b/plugins/catalog/src/components/EntityPageLayout/EntityPageLayout.tsx @@ -23,13 +23,13 @@ import { EntityRefLinks, FavoriteEntity, getEntityRelations, + UnregisterEntityDialog, useEntityCompoundName, } from '@backstage/plugin-catalog-react'; import { Box } from '@material-ui/core'; import React, { useContext, useState } from 'react'; import { useNavigate } from 'react-router'; import { EntityContextMenu } from '../EntityContextMenu/EntityContextMenu'; -import { UnregisterEntityDialog } from '../UnregisterEntityDialog/UnregisterEntityDialog'; import { Tabbed } from './Tabbed'; import { From 603094c8369bce8e1943f1d5618a33aaebdd5ebf Mon Sep 17 00:00:00 2001 From: Sathish Kumar Date: Tue, 17 Aug 2021 14:55:47 -0500 Subject: [PATCH 431/712] Adding Backstage Plugin for Gitlab Signed-off-by: Sathish Kumar --- microsite/data/gitlab.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 microsite/data/gitlab.yaml diff --git a/microsite/data/gitlab.yaml b/microsite/data/gitlab.yaml new file mode 100644 index 0000000000..d88f001c07 --- /dev/null +++ b/microsite/data/gitlab.yaml @@ -0,0 +1,12 @@ +--- +title: Gitlab +author: Loblaw +authorUrl: https://github.com/loblaw-sre/backstage-plugin-gitlab +category: CI/CD +description: View Gitlab pipelines, merge requests, languages and contributors. +documentation: https://github.com/loblaw-sre/backstage-plugin-gitlab +iconUrl: https://about.gitlab.com/images/icons/logos/slp-logo.svg +npmPackageName: '@loblaw/backstage-plugin-gitlab' +tags: + - ci + - cd From 83700022a0654facb622b2a41ec6e52d73368dbd Mon Sep 17 00:00:00 2001 From: Sathish Kumar Date: Tue, 17 Aug 2021 19:27:37 -0500 Subject: [PATCH 432/712] Updated the file path for the plugin Signed-off-by: Sathish Kumar --- microsite/data/{ => plugins}/gitlab.yaml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename microsite/data/{ => plugins}/gitlab.yaml (100%) diff --git a/microsite/data/gitlab.yaml b/microsite/data/plugins/gitlab.yaml similarity index 100% rename from microsite/data/gitlab.yaml rename to microsite/data/plugins/gitlab.yaml From 550101a2849e091c4d302209c0e6301f473e60de Mon Sep 17 00:00:00 2001 From: Tim Hansen Date: Tue, 17 Aug 2021 19:03:29 -0600 Subject: [PATCH 433/712] GitLab logo, name tweak Signed-off-by: Tim Hansen --- microsite/data/plugins/gitlab.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/microsite/data/plugins/gitlab.yaml b/microsite/data/plugins/gitlab.yaml index d88f001c07..7a5493c7f4 100644 --- a/microsite/data/plugins/gitlab.yaml +++ b/microsite/data/plugins/gitlab.yaml @@ -1,11 +1,11 @@ --- -title: Gitlab +title: GitLab author: Loblaw authorUrl: https://github.com/loblaw-sre/backstage-plugin-gitlab category: CI/CD -description: View Gitlab pipelines, merge requests, languages and contributors. +description: View GitLab pipelines, merge requests, languages and contributors. documentation: https://github.com/loblaw-sre/backstage-plugin-gitlab -iconUrl: https://about.gitlab.com/images/icons/logos/slp-logo.svg +iconUrl: https://about.gitlab.com/images/press/logo/png/gitlab-icon-rgb.png npmPackageName: '@loblaw/backstage-plugin-gitlab' tags: - ci From cd44f1d602bf58f32771c190a22d22da9445a6c6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Aug 2021 04:07:43 +0000 Subject: [PATCH 434/712] chore(deps): bump dompurify from 2.3.0 to 2.3.1 Bumps [dompurify](https://github.com/cure53/DOMPurify) from 2.3.0 to 2.3.1. - [Release notes](https://github.com/cure53/DOMPurify/releases) - [Commits](https://github.com/cure53/DOMPurify/compare/2.3.0...2.3.1) --- updated-dependencies: - dependency-name: dompurify dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/yarn.lock b/yarn.lock index 4d15795a5f..a201aab185 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12425,15 +12425,10 @@ domhandler@^4.0.0: dependencies: domelementtype "^2.1.0" -dompurify@^2.0.12, dompurify@^2.1.1, dompurify@^2.2.8: - version "2.2.8" - resolved "https://registry.npmjs.org/dompurify/-/dompurify-2.2.8.tgz#ce88e395f6d00b6dc53f80d6b2a6fdf5446873c6" - integrity sha512-9H0UL59EkDLgY3dUFjLV6IEUaHm5qp3mxSqWw7Yyx4Zhk2Jn2cmLe+CNPP3xy13zl8Bqg+0NehQzkdMoVhGRww== - -dompurify@^2.2.9: - version "2.3.0" - resolved "https://registry.npmjs.org/dompurify/-/dompurify-2.3.0.tgz#07bb39515e491588e5756b1d3e8375b5964814e2" - integrity sha512-VV5C6Kr53YVHGOBKO/F86OYX6/iLTw2yVSI721gKetxpHCK/V5TaLEf9ODjRgl1KLSWRMY6cUhAbv/c+IUnwQw== +dompurify@^2.0.12, dompurify@^2.1.1, dompurify@^2.2.8, dompurify@^2.2.9: + version "2.3.1" + resolved "https://registry.npmjs.org/dompurify/-/dompurify-2.3.1.tgz#a47059ca21fd1212d3c8f71fdea6943b8bfbdf6a" + integrity sha512-xGWt+NHAQS+4tpgbOAI08yxW0Pr256Gu/FNE2frZVTbgrBUn8M7tz7/ktS/LZ2MHeGqz6topj0/xY+y8R5FBFw== domutils@1.5.1: version "1.5.1" From 15b41477bd3c5d511720e44e2c1779214ea45dc3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Aug 2021 04:12:04 +0000 Subject: [PATCH 435/712] chore(deps): bump graphiql from 1.4.0 to 1.4.2 Bumps [graphiql](https://github.com/graphql/graphiql) from 1.4.0 to 1.4.2. - [Release notes](https://github.com/graphql/graphiql/releases) - [Changelog](https://github.com/graphql/graphiql/blob/main/CHANGELOG.md) - [Commits](https://github.com/graphql/graphiql/commits/graphiql@1.4.2) --- updated-dependencies: - dependency-name: graphiql dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 44 +++++++++++++++++++++++++------------------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/yarn.lock b/yarn.lock index 4d15795a5f..682a83563c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3073,14 +3073,15 @@ stream-events "^1.0.1" xdg-basedir "^4.0.0" -"@graphiql/toolkit@^0.1.0": - version "0.1.1" - resolved "https://registry.npmjs.org/@graphiql/toolkit/-/toolkit-0.1.1.tgz#a7da3ba460ceae27bcdc8f03831ca4f88f90f3d7" - integrity sha512-cvsuaPkOA6/TZOdqEdvzqr7i+or2STTpSsteyDkrUXrwftRnH9ZfiUwnHPyf0AC2cKMwpP/Dny/UTS6CLC8ZNQ== +"@graphiql/toolkit@^0.2.0": + version "0.2.2" + resolved "https://registry.npmjs.org/@graphiql/toolkit/-/toolkit-0.2.2.tgz#193d570afcf686c9ee61c92054c1782b9f3c1255" + integrity sha512-kDgYhqnS4p4LqSo1KvLd3tbX8Hhdj0ZrgQuGsosjjEnahiPYmmylxUL1p9lj6348OsypcTlCncGpEjeb9S3TiQ== dependencies: - "@n1ru4l/push-pull-async-iterable-iterator" "^2.0.1" - graphql-ws "^4.1.0" - meros "^1.1.2" + "@n1ru4l/push-pull-async-iterable-iterator" "^2.1.4" + graphql-ws "^4.3.2" + meros "^1.1.4" + optionalDependencies: subscriptions-transport-ws "^0.9.18" "@graphql-codegen/cli@^1.21.3": @@ -4740,10 +4741,10 @@ strict-event-emitter "^0.2.0" xmldom "^0.6.0" -"@n1ru4l/push-pull-async-iterable-iterator@^2.0.1": - version "2.1.2" - resolved "https://registry.npmjs.org/@n1ru4l/push-pull-async-iterable-iterator/-/push-pull-async-iterable-iterator-2.1.2.tgz#e486bf86c4c29e78601694a26f31c2dec0c08d9b" - integrity sha512-KwZGeX2XK7Xj9ksWwei5923QnqIGoEuLlh3O46OW9vc8hQxjzmMTKCgJMVZ5ne5xaWFQYDT2dMpbUhq6hEOhxA== +"@n1ru4l/push-pull-async-iterable-iterator@^2.1.4": + version "2.1.4" + resolved "https://registry.npmjs.org/@n1ru4l/push-pull-async-iterable-iterator/-/push-pull-async-iterable-iterator-2.1.4.tgz#a90225474352f9f159bff979905f707b9c6bcf04" + integrity sha512-qLIvoOUJ+zritv+BlzcBMePKNjKQzH9Rb2i9W98YXxf/M62Lye8qH0peyiU8yJ1tL0kfulWi31BoK10E6BKJeA== "@nodelib/fs.scandir@2.1.3": version "2.1.3" @@ -12528,7 +12529,7 @@ downshift@^6.0.15: prop-types "^15.7.2" react-is "^17.0.2" -dset@^3.0.0: +dset@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/dset/-/dset-3.1.0.tgz#23feb6df93816ea452566308b1374d6e869b0d7b" integrity sha512-7xTQ5DzyE59Nn+7ZgXDXjKAGSGmXZHqttMVVz1r4QNfmGpyj+cm2YtI3II0c/+4zS4a9yq2mBhgdeq2QnpcYlw== @@ -14893,15 +14894,15 @@ grapheme-splitter@^1.0.4: integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== graphiql@^1.0.0-alpha.10: - version "1.4.0" - resolved "https://registry.npmjs.org/graphiql/-/graphiql-1.4.0.tgz#8b17c988720a9da5ea3ebf7ff9d86939b462655e" - integrity sha512-E/Xzfu3YnifdINrK6dKHD1G0qnWkYYK2gHQ//vApUadMb4I4lZQ399ZKt5nqM5kzrATf5FDUTuSpnkaeSoARkQ== + version "1.4.2" + resolved "https://registry.npmjs.org/graphiql/-/graphiql-1.4.2.tgz#a1dc1a4d8d35f60c90d6d8a9eb62a99756e9fd9b" + integrity sha512-TQDuuU/ZqTWV1yQDpVEiKskg0IYA+Wck37DYrrFzLlpgZWRbWiyab1PyHKiRep7J540CgScBg6C/gGCymKyO3g== dependencies: - "@graphiql/toolkit" "^0.1.0" + "@graphiql/toolkit" "^0.2.0" codemirror "^5.54.0" codemirror-graphql "^1.0.0" copy-to-clipboard "^3.2.0" - dset "^3.0.0" + dset "^3.1.0" entities "^2.0.0" graphql-language-service "^3.1.2" markdown-it "^10.0.0" @@ -15030,7 +15031,12 @@ graphql-type-json@^0.3.2: resolved "https://registry.npmjs.org/graphql-type-json/-/graphql-type-json-0.3.2.tgz#f53a851dbfe07bd1c8157d24150064baab41e115" integrity sha512-J+vjof74oMlCWXSvt0DOf2APEdZOCdubEvGDUAlqH//VBYcOYsGgRW7Xzorr44LvkjiuvecWc8fChxuZZbChtg== -graphql-ws@^4.1.0, graphql-ws@^4.4.1: +graphql-ws@^4.3.2: + version "4.9.0" + resolved "https://registry.npmjs.org/graphql-ws/-/graphql-ws-4.9.0.tgz#5cfd8bb490b35e86583d8322f5d5d099c26e365c" + integrity sha512-sHkK9+lUm20/BGawNEWNtVAeJzhZeBg21VmvmLoT5NdGVeZWv5PdIhkcayQIAgjSyyQ17WMKmbDijIPG2On+Ag== + +graphql-ws@^4.4.1: version "4.7.0" resolved "https://registry.npmjs.org/graphql-ws/-/graphql-ws-4.7.0.tgz#b323fbf35a3736eed85dac24c0054d6d10c93e62" integrity sha512-Md8SsmC9ZlsogFPd3Ot8HbIAAqsHh8Xoq7j4AmcIat1Bh6k91tjVyQvA0Au1/BolXSYq+RDvib6rATU2Hcf1Xw== @@ -19183,7 +19189,7 @@ merge@^2.1.0: resolved "https://registry.npmjs.org/merge/-/merge-2.1.1.tgz#59ef4bf7e0b3e879186436e8481c06a6c162ca98" integrity sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w== -meros@1.1.4, meros@^1.1.2: +meros@1.1.4, meros@^1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/meros/-/meros-1.1.4.tgz#c17994d3133db8b23807f62bec7f0cb276cfd948" integrity sha512-E9ZXfK9iQfG9s73ars9qvvvbSIkJZF5yOo9j4tcwM5tN8mUKfj/EKN5PzOr3ZH0y5wL7dLAHw3RVEfpQV9Q7VQ== From be498d22feb04cf97ed2a29c4a6a36eccfcd062d Mon Sep 17 00:00:00 2001 From: Oliver Sand Date: Wed, 18 Aug 2021 09:05:14 +0200 Subject: [PATCH 436/712] Pass along a `OrganizationTransformer` to the read step Follow up to #6855 Signed-off-by: Oliver Sand --- .changeset/violet-fishes-look.md | 5 +++++ .../api-report.md | 3 +++ .../src/microsoftGraph/read.ts | 18 +++++++++++++----- .../MicrosoftGraphOrgReaderProcessor.ts | 6 ++++++ 4 files changed, 27 insertions(+), 5 deletions(-) create mode 100644 .changeset/violet-fishes-look.md diff --git a/.changeset/violet-fishes-look.md b/.changeset/violet-fishes-look.md new file mode 100644 index 0000000000..f526638a59 --- /dev/null +++ b/.changeset/violet-fishes-look.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend-module-msgraph': patch +--- + +Pass along a `OrganizationTransformer` to the read step diff --git a/plugins/catalog-backend-module-msgraph/api-report.md b/plugins/catalog-backend-module-msgraph/api-report.md index f614bdca36..7a10ad2995 100644 --- a/plugins/catalog-backend-module-msgraph/api-report.md +++ b/plugins/catalog-backend-module-msgraph/api-report.md @@ -113,6 +113,7 @@ export class MicrosoftGraphOrgReaderProcessor implements CatalogProcessor { logger: Logger_2; userTransformer?: UserTransformer; groupTransformer?: GroupTransformer; + organizationTransformer?: OrganizationTransformer; }); // (undocumented) static fromConfig( @@ -121,6 +122,7 @@ export class MicrosoftGraphOrgReaderProcessor implements CatalogProcessor { logger: Logger_2; userTransformer?: UserTransformer; groupTransformer?: GroupTransformer; + organizationTransformer?: OrganizationTransformer; }, ): MicrosoftGraphOrgReaderProcessor; // (undocumented) @@ -174,6 +176,7 @@ export function readMicrosoftGraphOrg( groupFilter?: string; userTransformer?: UserTransformer; groupTransformer?: GroupTransformer; + organizationTransformer?: OrganizationTransformer; logger: Logger_2; }, ): Promise<{ diff --git a/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.ts b/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.ts index 6fbd2cb0de..096cf8a479 100644 --- a/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.ts +++ b/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.ts @@ -20,6 +20,7 @@ import { } from '@backstage/catalog-model'; import * as MicrosoftGraph from '@microsoft/microsoft-graph-types'; import limiterFactory from 'p-limit'; +import { Logger } from 'winston'; import { MicrosoftGraphClient } from './client'; import { MICROSOFT_GRAPH_GROUP_ID_ANNOTATION, @@ -33,7 +34,6 @@ import { OrganizationTransformer, UserTransformer, } from './types'; -import { Logger } from 'winston'; export async function defaultUserTransformer( user: MicrosoftGraph.User, @@ -212,7 +212,11 @@ export async function defaultGroupTransformer( export async function readMicrosoftGraphGroups( client: MicrosoftGraphClient, tenantId: string, - options?: { groupFilter?: string; transformer?: GroupTransformer }, + options?: { + groupFilter?: string; + groupTransformer?: GroupTransformer; + organizationTransformer?: OrganizationTransformer; + }, ): Promise<{ groups: GroupEntity[]; // With all relations empty rootGroup: GroupEntity | undefined; // With all relations empty @@ -224,13 +228,15 @@ export async function readMicrosoftGraphGroups( const groupMemberOf: Map> = new Map(); const limiter = limiterFactory(10); - const { rootGroup } = await readMicrosoftGraphOrganization(client, tenantId); + const { rootGroup } = await readMicrosoftGraphOrganization(client, tenantId, { + transformer: options?.organizationTransformer, + }); if (rootGroup) { groupMember.set(rootGroup.metadata.name, new Set()); groups.push(rootGroup); } - const transformer = options?.transformer ?? defaultGroupTransformer; + const transformer = options?.groupTransformer ?? defaultGroupTransformer; const promises: Promise[] = []; for await (const group of client.getGroups({ @@ -384,6 +390,7 @@ export async function readMicrosoftGraphOrg( groupFilter?: string; userTransformer?: UserTransformer; groupTransformer?: GroupTransformer; + organizationTransformer?: OrganizationTransformer; logger: Logger; }, ): Promise<{ users: UserEntity[]; groups: GroupEntity[] }> { @@ -395,7 +402,8 @@ export async function readMicrosoftGraphOrg( const { groups, rootGroup, groupMember, groupMemberOf } = await readMicrosoftGraphGroups(client, tenantId, { groupFilter: options?.groupFilter, - transformer: options?.groupTransformer, + groupTransformer: options?.groupTransformer, + organizationTransformer: options?.organizationTransformer, }); resolveRelations(rootGroup, groups, users, groupMember, groupMemberOf); diff --git a/plugins/catalog-backend-module-msgraph/src/processors/MicrosoftGraphOrgReaderProcessor.ts b/plugins/catalog-backend-module-msgraph/src/processors/MicrosoftGraphOrgReaderProcessor.ts index 1495bce93c..161cc8799f 100644 --- a/plugins/catalog-backend-module-msgraph/src/processors/MicrosoftGraphOrgReaderProcessor.ts +++ b/plugins/catalog-backend-module-msgraph/src/processors/MicrosoftGraphOrgReaderProcessor.ts @@ -26,6 +26,7 @@ import { GroupTransformer, MicrosoftGraphClient, MicrosoftGraphProviderConfig, + OrganizationTransformer, readMicrosoftGraphConfig, readMicrosoftGraphOrg, UserTransformer, @@ -39,6 +40,7 @@ export class MicrosoftGraphOrgReaderProcessor implements CatalogProcessor { private readonly logger: Logger; private readonly userTransformer?: UserTransformer; private readonly groupTransformer?: GroupTransformer; + private readonly organizationTransformer?: OrganizationTransformer; static fromConfig( config: Config, @@ -46,6 +48,7 @@ export class MicrosoftGraphOrgReaderProcessor implements CatalogProcessor { logger: Logger; userTransformer?: UserTransformer; groupTransformer?: GroupTransformer; + organizationTransformer?: OrganizationTransformer; }, ) { const c = config.getOptionalConfig('catalog.processors.microsoftGraphOrg'); @@ -60,11 +63,13 @@ export class MicrosoftGraphOrgReaderProcessor implements CatalogProcessor { logger: Logger; userTransformer?: UserTransformer; groupTransformer?: GroupTransformer; + organizationTransformer?: OrganizationTransformer; }) { this.providers = options.providers; this.logger = options.logger; this.userTransformer = options.userTransformer; this.groupTransformer = options.groupTransformer; + this.organizationTransformer = options.organizationTransformer; } async readLocation( @@ -99,6 +104,7 @@ export class MicrosoftGraphOrgReaderProcessor implements CatalogProcessor { groupFilter: provider.groupFilter, userTransformer: this.userTransformer, groupTransformer: this.groupTransformer, + organizationTransformer: this.organizationTransformer, logger: this.logger, }, ); From db83840a65cb93a9c6061ef83dfcd4dcdb911798 Mon Sep 17 00:00:00 2001 From: Johan Haals Date: Wed, 18 Aug 2021 11:06:01 +0200 Subject: [PATCH 437/712] Update .changeset/early-ducks-stare.md Signed-off-by: Johan Haals Co-authored-by: Patrik Oldsberg --- .changeset/early-ducks-stare.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/early-ducks-stare.md b/.changeset/early-ducks-stare.md index 58b1525e25..1fd44f2755 100644 --- a/.changeset/early-ducks-stare.md +++ b/.changeset/early-ducks-stare.md @@ -1,5 +1,5 @@ --- -'@backstage/plugin-catalog-backend': minor +'@backstage/plugin-catalog-backend': patch --- Updates the `DefaultProcessingDatabase` to accept a refresh interval function instead of a fixed refresh interval in seconds which used to default to 100s. The catalog now ships with a default refresh interval function that schedules entities for refresh every 100-150 seconds, this should From ee99798da7aa2c257737af1c3c95dceaa5eb3c4b Mon Sep 17 00:00:00 2001 From: Oliver Sand Date: Wed, 18 Aug 2021 11:19:25 +0200 Subject: [PATCH 438/712] Correct version requirements on postgres from 11 to 12 (#6863) Signed-off-by: Oliver Sand --- .changeset/quiet-hornets-yawn.md | 6 ++++++ docs/features/search/search-engines.md | 2 +- plugins/search-backend-module-pg/README.md | 2 +- .../src/database/DatabaseDocumentStore.ts | 8 ++++---- 4 files changed, 12 insertions(+), 6 deletions(-) create mode 100644 .changeset/quiet-hornets-yawn.md diff --git a/.changeset/quiet-hornets-yawn.md b/.changeset/quiet-hornets-yawn.md new file mode 100644 index 0000000000..35a0a7706d --- /dev/null +++ b/.changeset/quiet-hornets-yawn.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-search-backend-module-pg': patch +--- + +Correct version requirements on postgres from 11 to 12. Postgres 12 is required +due the use of generated columns. diff --git a/docs/features/search/search-engines.md b/docs/features/search/search-engines.md index 69a223b29e..a0302ce279 100644 --- a/docs/features/search/search-engines.md +++ b/docs/features/search/search-engines.md @@ -43,7 +43,7 @@ provides decent results and performs well with ten thousands of indexed documents. The connection to postgres is established via the database manager also used by other plugins. -> **Important**: The search plugin requires at least Postgres 11! +> **Important**: The search plugin requires at least Postgres 12! To use the `PgSearchEngine`, make sure that you have a Postgres database configured and make the following changes to your backend: diff --git a/plugins/search-backend-module-pg/README.md b/plugins/search-backend-module-pg/README.md index fb9dbccc4a..d3f98132aa 100644 --- a/plugins/search-backend-module-pg/README.md +++ b/plugins/search-backend-module-pg/README.md @@ -8,7 +8,7 @@ well with ten thousands of indexed documents. The connection to postgres is established via the database manager also used by other plugins. -> **Important**: The search plugin requires at least Postgres 11! +> **Important**: The search plugin requires at least Postgres 12! ## Getting started diff --git a/plugins/search-backend-module-pg/src/database/DatabaseDocumentStore.ts b/plugins/search-backend-module-pg/src/database/DatabaseDocumentStore.ts index ecaa3e2f0f..77f15746a6 100644 --- a/plugins/search-backend-module-pg/src/database/DatabaseDocumentStore.ts +++ b/plugins/search-backend-module-pg/src/database/DatabaseDocumentStore.ts @@ -34,18 +34,18 @@ export class DatabaseDocumentStore implements DatabaseStore { try { const majorVersion = await queryPostgresMajorVersion(knex); - if (majorVersion < 11) { + if (majorVersion < 12) { // We are using some features (like generated columns) that aren't // available in older postgres versions. throw new Error( - `The PgSearchEngine requires at least postgres version 11 (but is running on ${majorVersion})`, + `The PgSearchEngine requires at least postgres version 12 (but is running on ${majorVersion})`, ); } } catch { // Actually both mysql and sqlite have a full text search, too. We could // implement them separately or add them here. throw new Error( - 'The PgSearchEngine is only supported when using a postgres database (>=11.x)', + 'The PgSearchEngine is only supported when using a postgres database (>=12.x)', ); } @@ -59,7 +59,7 @@ export class DatabaseDocumentStore implements DatabaseStore { try { const majorVersion = await queryPostgresMajorVersion(knex); - return majorVersion >= 11; + return majorVersion >= 12; } catch { return false; } From 500abf47ebd30b0f7af80a5b18109c5f3ea162ff Mon Sep 17 00:00:00 2001 From: Himanshu Mishra Date: Wed, 18 Aug 2021 13:35:52 +0200 Subject: [PATCH 439/712] marketplace: add firehyrant plugin Signed-off-by: Himanshu Mishra --- microsite/data/plugins/firehyrant.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 microsite/data/plugins/firehyrant.yaml diff --git a/microsite/data/plugins/firehyrant.yaml b/microsite/data/plugins/firehyrant.yaml new file mode 100644 index 0000000000..5faad64d37 --- /dev/null +++ b/microsite/data/plugins/firehyrant.yaml @@ -0,0 +1,9 @@ +--- +title: FireHydrant +author: FireHyrant +authorUrl: https://firehydrant.io/ +category: Incident Management +description: The FireHydrant plugin brings incident management to Backstage, and it displays service incidents information such as active incidents and incident analytics. +documentation: https://github.com/backstage/backstage/blob/master/plugins/firehydrant/README.md +iconUrl: https://raw.githubusercontent.com/backstage/backstage/master/plugins/firehydrant/doc/firehydrant_logo.png +npmPackageName: '@backstage/plugin-firehyrant' From d041655a7d2b60977033e41acccabac0fe696c01 Mon Sep 17 00:00:00 2001 From: Vincenzo Scamporlino Date: Wed, 18 Aug 2021 09:13:27 +0200 Subject: [PATCH 440/712] copy-text-button: use Clipboard API Co-authored-by: Himanshu Mishra Signed-off-by: Vincenzo Scamporlino --- .changeset/nervous-mails-peel.md | 5 ++ .../CodeSnippet/CodeSnippet.test.tsx | 17 ----- .../components/CodeSnippet/CodeSnippet.tsx | 2 +- .../CopyTextButton/CopyTextButton.test.tsx | 12 +++- .../CopyTextButton/CopyTextButton.tsx | 24 ++----- .../PlainApiDefinitionWidget.test.tsx | 5 +- .../PlainApiDefinitionWidget.test.tsx.snap | 62 +++++++++++++++++++ .../components/EntityBadgesDialog.test.tsx | 2 +- 8 files changed, 86 insertions(+), 43 deletions(-) create mode 100644 .changeset/nervous-mails-peel.md create mode 100644 plugins/api-docs/src/components/PlainApiDefinitionWidget/__snapshots__/PlainApiDefinitionWidget.test.tsx.snap diff --git a/.changeset/nervous-mails-peel.md b/.changeset/nervous-mails-peel.md new file mode 100644 index 0000000000..530fa9023a --- /dev/null +++ b/.changeset/nervous-mails-peel.md @@ -0,0 +1,5 @@ +--- +'@backstage/core-components': patch +--- + +Fix accessibility issue in ``. The component doesn't render anymore an hidden `textarea` containing the text to be copied. diff --git a/packages/core-components/src/components/CodeSnippet/CodeSnippet.test.tsx b/packages/core-components/src/components/CodeSnippet/CodeSnippet.test.tsx index 298a8d5780..a4ffd3462b 100644 --- a/packages/core-components/src/components/CodeSnippet/CodeSnippet.test.tsx +++ b/packages/core-components/src/components/CodeSnippet/CodeSnippet.test.tsx @@ -15,8 +15,6 @@ */ import React from 'react'; -import { fireEvent } from '@testing-library/react'; -import { act } from 'react-dom/test-utils'; import { renderInTestApp } from '@backstage/test-utils'; import { CodeSnippet } from './CodeSnippet'; @@ -56,19 +54,4 @@ describe('', () => { expect(getByText('2')).toBeInTheDocument(); expect(getByText('3')).toBeInTheDocument(); }); - - it('copy code using button', async () => { - jest.useFakeTimers(); - document.execCommand = jest.fn(); - const { getByTitle } = await renderInTestApp( - , - ); - const button = getByTitle('Text copied to clipboard'); - fireEvent.click(button); - act(() => { - jest.runAllTimers(); - }); - expect(document.execCommand).toHaveBeenCalled(); - jest.useRealTimers(); - }); }); diff --git a/packages/core-components/src/components/CodeSnippet/CodeSnippet.tsx b/packages/core-components/src/components/CodeSnippet/CodeSnippet.tsx index a3badaad07..613dff80a9 100644 --- a/packages/core-components/src/components/CodeSnippet/CodeSnippet.tsx +++ b/packages/core-components/src/components/CodeSnippet/CodeSnippet.tsx @@ -42,7 +42,7 @@ export const CodeSnippet = ({ const mode = theme.palette.type === 'dark' ? dark : docco; const highlightColor = theme.palette.type === 'dark' ? '#256bf3' : '#e6ffed'; return ( -
    +
    { const PopperJS = jest.requireActual('popper.js'); @@ -51,14 +55,16 @@ const apiRegistry = ApiRegistry.from([ ], ]); +jest.mock('copy-to-clipboard', () => jest.fn()); + describe('', () => { it('renders without exploding', async () => { - const { getByDisplayValue } = await renderInTestApp( + const { getByTestId } = await renderInTestApp( , ); - getByDisplayValue('mockText'); + expect(getByTestId('copy-button')).toBeInTheDocument(); }); it('displays tooltip on click', async () => { @@ -74,7 +80,7 @@ describe('', () => { act(() => { jest.runAllTimers(); }); - expect(document.execCommand).toHaveBeenCalled(); + expect(copy).toHaveBeenCalledWith('mockText'); rendered.getByText('mockTooltip'); jest.useRealTimers(); }); diff --git a/packages/core-components/src/components/CopyTextButton/CopyTextButton.tsx b/packages/core-components/src/components/CopyTextButton/CopyTextButton.tsx index b5bc516d1a..b7120f6ad3 100644 --- a/packages/core-components/src/components/CopyTextButton/CopyTextButton.tsx +++ b/packages/core-components/src/components/CopyTextButton/CopyTextButton.tsx @@ -14,11 +14,11 @@ * limitations under the License. */ -import { errorApiRef, useApi } from '@backstage/core-plugin-api'; import { IconButton, Tooltip } from '@material-ui/core'; import CopyIcon from '@material-ui/icons/FileCopy'; import PropTypes from 'prop-types'; -import React, { MouseEventHandler, useRef, useState } from 'react'; +import React, { MouseEventHandler, useState } from 'react'; +import { useCopyToClipboard } from 'react-use'; /** * Copy text button with visual feedback in the form of @@ -51,31 +51,17 @@ export const CopyTextButton = (props: Props) => { ...defaultProps, ...props, }; - const errorApi = useApi(errorApiRef); - const inputRef = useRef(null); const [open, setOpen] = useState(false); + const [, copyToClipboard] = useCopyToClipboard(); const handleCopyClick: MouseEventHandler = e => { e.stopPropagation(); setOpen(true); - - try { - if (inputRef.current) { - inputRef.current.select(); - document.execCommand('copy'); - } - } catch (error) { - errorApi.post(error); - } + copyToClipboard(text); }; return ( <> -