From 21235d058dd1302f360cff9630656af6f5e1f053 Mon Sep 17 00:00:00 2001 From: Shailesh Parmar Date: Mon, 25 Nov 2024 10:21:31 +0530 Subject: [PATCH 01/36] playwright: fixed failing incident manager test (#18756) --- .../CommonEntitySummaryInfo.tsx | 6 ++- .../ui/src/utils/EntityUtils.interface.ts | 3 ++ .../resources/ui/src/utils/EntityUtils.tsx | 49 +++++++++++-------- 3 files changed, 36 insertions(+), 22 deletions(-) diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/CommonEntitySummaryInfo/CommonEntitySummaryInfo.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/CommonEntitySummaryInfo/CommonEntitySummaryInfo.tsx index de4466a7e112..3461d72a8bb5 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/CommonEntitySummaryInfo/CommonEntitySummaryInfo.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/CommonEntitySummaryInfo/CommonEntitySummaryInfo.tsx @@ -54,7 +54,11 @@ function CommonEntitySummaryInfo({ component={Typography.Link} data-testid={`${info.name}-value`} target={info.isExternal ? '_blank' : '_self'} - to={{ pathname: info.url }}> + to={ + info.linkProps + ? info.linkProps + : { pathname: info.url } + }> {info.value} {info.isExternal ? ( ; dataTestId?: string; } diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/EntityUtils.tsx b/openmetadata-ui/src/main/resources/ui/src/utils/EntityUtils.tsx index f9574bc4bcc7..7b868bef14e3 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/EntityUtils.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/utils/EntityUtils.tsx @@ -22,12 +22,14 @@ import { startCase, } from 'lodash'; import { Bucket, EntityDetailUnion } from 'Models'; +import QueryString from 'qs'; import React, { Fragment } from 'react'; import { Link } from 'react-router-dom'; import { OwnerLabel } from '../components/common/OwnerLabel/OwnerLabel.component'; import QueryCount from '../components/common/QueryCount/QueryCount.component'; import { TitleLink } from '../components/common/TitleBreadcrumb/TitleBreadcrumb.interface'; import { DataAssetsWithoutServiceField } from '../components/DataAssets/DataAssetsHeader/DataAssetsHeader.interface'; +import { TableProfilerTab } from '../components/Database/Profiler/ProfilerDashboard/profilerDashboard.interface'; import { QueryVoteType } from '../components/Database/TableQueries/TableQueries.interface'; import { LeafNodes, @@ -298,7 +300,7 @@ const getTableOverview = ( domain, } = getTableFieldsFromTableDetails(tableDetails); - const overview = [ + const overview: BasicEntityOverviewInfo[] = [ ...getCommonOverview({ owners, domain }), { name: i18next.t('label.type'), @@ -385,11 +387,16 @@ const getTableOverview = ( name: i18next.t('label.incident-plural'), value: additionalInfo?.incidentCount ?? 0, isLink: true, - url: getEntityDetailsPath( - EntityType.TABLE, - fullyQualifiedName ?? '', - EntityTabs.INCIDENTS - ), + linkProps: { + pathname: getEntityDetailsPath( + EntityType.TABLE, + fullyQualifiedName ?? '', + EntityTabs.PROFILER + ), + search: QueryString.stringify({ + activeTab: TableProfilerTab.INCIDENTS, + }), + }, visible: [ DRAWER_NAVIGATION_OPTIONS.lineage, DRAWER_NAVIGATION_OPTIONS.explore, @@ -411,7 +418,7 @@ const getTopicOverview = (topicDetails: Topic) => { messageSchema, } = topicDetails; - const overview = [ + const overview: BasicEntityOverviewInfo[] = [ ...getCommonOverview({ domain }, false), { name: i18next.t('label.partition-plural'), @@ -478,7 +485,7 @@ const getPipelineOverview = (pipelineDetails: Pipeline) => { const tier = getTierTags(tags ?? []); const serviceDisplayName = getEntityName(service); - const overview = [ + const overview: BasicEntityOverviewInfo[] = [ ...getCommonOverview({ owners, domain }), { name: `${i18next.t('label.pipeline')} ${i18next.t( @@ -522,7 +529,7 @@ const getDashboardOverview = (dashboardDetails: Dashboard) => { const tier = getTierTags(tags ?? []); const serviceDisplayName = getEntityName(service); - const overview = [ + const overview: BasicEntityOverviewInfo[] = [ ...getCommonOverview({ owners, domain }), { name: `${i18next.t('label.dashboard')} ${i18next.t( @@ -575,7 +582,7 @@ export const getSearchIndexOverview = ( const { owners, tags, service, domain } = searchIndexDetails; const tier = getTierTags(tags ?? []); - const overview = [ + const overview: BasicEntityOverviewInfo[] = [ ...getCommonOverview({ owners, domain }), { name: i18next.t('label.tier'), @@ -604,7 +611,7 @@ const getMlModelOverview = (mlModelDetails: Mlmodel) => { const { algorithm, target, server, dashboard, owners, domain } = mlModelDetails; - const overview = [ + const overview: BasicEntityOverviewInfo[] = [ ...getCommonOverview({ owners, domain }), { name: i18next.t('label.algorithm'), @@ -665,7 +672,7 @@ const getContainerOverview = (containerDetails: Container) => { DRAWER_NAVIGATION_OPTIONS.explore, ]; - const overview = [ + const overview: BasicEntityOverviewInfo[] = [ ...getCommonOverview({ owners, domain }), { name: i18next.t('label.object-plural'), @@ -705,7 +712,7 @@ const getChartOverview = (chartDetails: Chart) => { } = chartDetails; const serviceDisplayName = getEntityName(service); - const overview = [ + const overview: BasicEntityOverviewInfo[] = [ ...getCommonOverview({ owners, domain }), { name: `${i18next.t('label.chart')} ${i18next.t('label.url-uppercase')}`, @@ -767,7 +774,7 @@ const getDataModelOverview = (dataModelDetails: DashboardDataModel) => { } = dataModelDetails; const tier = getTierTags(tags ?? []); - const overview = [ + const overview: BasicEntityOverviewInfo[] = [ ...getCommonOverview({ owners, domain }), { name: `${i18next.t('label.data-model')} ${i18next.t( @@ -837,7 +844,7 @@ const getStoredProcedureOverview = ( const tier = getTierTags(tags ?? []); - const overview = [ + const overview: BasicEntityOverviewInfo[] = [ ...getCommonOverview({ owners, domain }), { name: i18next.t('label.service'), @@ -911,7 +918,7 @@ const getDatabaseOverview = (databaseDetails: Database) => { const tier = getTierTags(tags ?? []); - const overview = [ + const overview: BasicEntityOverviewInfo[] = [ { name: i18next.t('label.owner-plural'), value: , @@ -952,7 +959,7 @@ const getDatabaseSchemaOverview = (databaseSchemaDetails: DatabaseSchema) => { const tier = getTierTags(tags ?? []); - const overview = [ + const overview: BasicEntityOverviewInfo[] = [ { name: i18next.t('label.owner-plural'), value: , @@ -1001,7 +1008,7 @@ const getEntityServiceOverview = (serviceDetails: EntityServiceUnion) => { const tier = getTierTags(tags ?? []); - const overview = [ + const overview: BasicEntityOverviewInfo[] = [ { name: i18next.t('label.owner-plural'), value: , @@ -1032,7 +1039,7 @@ const getApiCollectionOverview = (apiCollection: APICollection) => { const { service, domain } = apiCollection; - const overview = [ + const overview: BasicEntityOverviewInfo[] = [ ...getCommonOverview({ domain }, false), { name: i18next.t('label.endpoint-url'), @@ -1062,7 +1069,7 @@ const getApiEndpointOverview = (apiEndpoint: APIEndpoint) => { } const { domain, service, apiCollection } = apiEndpoint; - const overview = [ + const overview: BasicEntityOverviewInfo[] = [ ...getCommonOverview({ domain }, false), { name: i18next.t('label.endpoint-url'), @@ -1119,7 +1126,7 @@ const getMetricOverview = (metric: Metric) => { return []; } - const overview = [ + const overview: BasicEntityOverviewInfo[] = [ ...getCommonOverview({ domain: metric.domain }, false), { name: i18next.t('label.metric-type'), From a2dd211c6e36e87e8c4416c4af3049af027e7862 Mon Sep 17 00:00:00 2001 From: Ashish Gupta Date: Mon, 25 Nov 2024 11:48:45 +0530 Subject: [PATCH 02/36] modify some test id in table constraints (#18747) --- .../TableConstraints/TableConstraints.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/TableDetailsPageV1/TableConstraints/TableConstraints.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/TableDetailsPageV1/TableConstraints/TableConstraints.tsx index e07400904f8f..1eadeb9573f5 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/TableDetailsPageV1/TableConstraints/TableConstraints.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/TableDetailsPageV1/TableConstraints/TableConstraints.tsx @@ -147,8 +147,10 @@ const TableConstraints: FC = ({ - {columns?.join(', ')} -
+ + {columns?.join(', ')} + +
{map(referredColumns, (referredColumn) => ( Date: Mon, 25 Nov 2024 12:57:48 +0530 Subject: [PATCH 03/36] minor: add whats new for 5.1.12 (#18743) --- .../Modals/WhatsNewModal/whatsNewData.ts | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Modals/WhatsNewModal/whatsNewData.ts b/openmetadata-ui/src/main/resources/ui/src/components/Modals/WhatsNewModal/whatsNewData.ts index 68cc80082ac5..b08fe6faa6b3 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Modals/WhatsNewModal/whatsNewData.ts +++ b/openmetadata-ui/src/main/resources/ui/src/components/Modals/WhatsNewModal/whatsNewData.ts @@ -17,7 +17,7 @@ import incidentManagerSampleData from '../../../assets/img/incidentManagerSample import profilerConfigPage from '../../../assets/img/profilerConfigPage.png'; import collateIcon from '../../../assets/svg/ic-collate.svg'; -export const COOKIE_VERSION = 'VERSION_1_5_11'; // To be changed with each release. +export const COOKIE_VERSION = 'VERSION_1_5_12'; // To be changed with each release. // for youtube video make isImage = false and path = {video embed id} // embed:- youtube video => share => click on embed and take {url with id} from it @@ -1144,6 +1144,27 @@ To continue pursuing this objective, the application was completely refactored t - **Improvement**: Mask SQL Queries in Usage & Lineage Workflow. - **Fix**: Sample data overlapping issue. - **Fix**: Checkmark saves wrong custom property field +`, + }, + }, + { + id: 54, + version: 'v1.5.12', + description: 'Released on 25th November 2024.', + features: [], + changeLogs: { + Improvements: `- **Improvement**: Added async apis for csv import. +- **Improvement**: Teams api to update and remove users. +- **Improvement**: Skip domain check for bots and admin +- **Improvement**: MYSQL lineage and usage. +- **Minor**: Added Lineage Field back to SearchLineage. +- **Fix**: Database is missing from the search dropdown +- **Fix**: Bad Representation of owners. +- **Fix**: The Daily Active Users Summary Card in Data Insights. +- **Fix**: The processing of URL Encoded Assets in Data Insights. +- **Fix**: Column Level Lineage export. +- **Fix**: Store procedure yielding by adding Try/Except. +- **Fix**: Lineage export when there is no column / pipeline edge. `, }, }, From 76bd8d8886bb8a563e7aabcce572b84affbf1ff6 Mon Sep 17 00:00:00 2001 From: sonika-shah <58761340+sonika-shah@users.noreply.github.com> Date: Mon, 25 Nov 2024 13:58:18 +0530 Subject: [PATCH 04/36] fix java checkstyle (#18768) --- .../java/org/openmetadata/service/resources/EntityResource.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/resources/EntityResource.java b/openmetadata-service/src/main/java/org/openmetadata/service/resources/EntityResource.java index d4443fb4efce..5606685d22c2 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/resources/EntityResource.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/resources/EntityResource.java @@ -484,7 +484,7 @@ public Response importCsvInternalAsync( jobId, securityContext, e.getMessage()); } }); - CSVImportResponse response = new CSVImportResponse(jobId, "Import initiated successfully."); + CSVImportResponse response = new CSVImportResponse(jobId, "Import is in progress."); return Response.ok().entity(response).type(MediaType.APPLICATION_JSON).build(); } From 7c2b1c8a9111e56a54ca6a735b8e2dc8c667d406 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Mu=C3=B1oz=20Vera?= Date: Mon, 25 Nov 2024 10:12:40 +0100 Subject: [PATCH 05/36] feat(ci): GEN-2128 add auto cherry pick workflow (#18748) * GEN-2128 adding auto cherry-pick workflow * GEN-2128 enhance message when cherry-pick fails --- .../auto-cherry-pick-labeled-prs.yaml | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 .github/workflows/auto-cherry-pick-labeled-prs.yaml diff --git a/.github/workflows/auto-cherry-pick-labeled-prs.yaml b/.github/workflows/auto-cherry-pick-labeled-prs.yaml new file mode 100644 index 000000000000..d3c8529fea42 --- /dev/null +++ b/.github/workflows/auto-cherry-pick-labeled-prs.yaml @@ -0,0 +1,76 @@ +--- +name: Cherry-pick labeled PRs to OpenMetadata release branch on merge +# yamllint disable-line rule:comments +run-name: OpenMetadata release cherry-pick PR #${{ github.event.pull_request.number }} + +# yamllint disable-line rule:truthy +on: + pull_request: + types: [closed] + branches: + - main +permissions: + contents: write + pull-requests: write +env: + CURRENT_RELEASE_ENDPOINT: ${{ vars.CURRENT_RELEASE_ENDPOINT }} # Endpoint that returns the current release version in json format +jobs: + cherry_pick_to_release_branch: + if: github.event.pull_request.merged == true && + contains(github.event.pull_request.labels.*.name, 'To release') + runs-on: ubuntu-latest # Running it on ubuntu-latest on purpose (we're not using all the free minutes) + steps: + - name: Checkout main branch + uses: actions/checkout@v4 + with: + ref: main + fetch-depth: 0 + - name: Get the release version + id: get_release_version + run: | + CURRENT_RELEASE=$(curl -s $CURRENT_RELEASE_ENDPOINT | jq -r .om_branch) + echo "CURRENT_RELEASE=${CURRENT_RELEASE}" >> $GITHUB_ENV + - name: Cherry-pick changes from PR + id: cherry_pick + continue-on-error: true + run: | + git config --global user.email "release-bot@open-metadata.org" + git config --global user.name "OpenMetadata Release Bot" + git fetch origin ${CURRENT_RELEASE} + git checkout ${CURRENT_RELEASE} + git cherry-pick -x ${{ github.event.pull_request.merge_commit_sha }} + - name: Push changes to release branch + id: push_changes + continue-on-error: true + if: steps.cherry_pick.outcome == 'success' + run: | + git push origin ${CURRENT_RELEASE} + - name: Post a comment on failure + if: steps.cherry_pick.outcome != 'success' || steps.push_changes.outcome != 'success' + uses: actions/github-script@v7 + with: + script: | + const prNumber = context.payload.pull_request.number; + const releaseVersion = process.env.CURRENT_RELEASE; + const workflowRunUrl = `${process.env.GITHUB_SERVER_URL}/${process.env.GITHUB_REPOSITORY}/actions/runs/${process.env.GITHUB_RUN_ID}`; + github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: prNumber, + body: `Failed to cherry-pick changes to the ${releaseVersion} branch. + Please cherry-pick the changes manually. + You can find more details [here](${workflowRunUrl}).` + }) + - name: Post a comment on success + if: steps.cherry_pick.outcome == 'success' && steps.push_changes.outcome == 'success' + uses: actions/github-script@v7 + with: + script: | + const prNumber = context.payload.pull_request.number; + const releaseVersion = process.env.CURRENT_RELEASE; + github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: prNumber, + body: `Changes have been cherry-picked to the ${releaseVersion} branch.` + }) From 8bef9e6f7a83a85d5f604e99a0c49081bc2c5507 Mon Sep 17 00:00:00 2001 From: Chirag Madlani <12962843+chirag-madlani@users.noreply.github.com> Date: Mon, 25 Nov 2024 14:45:02 +0530 Subject: [PATCH 06/36] fix(ui): GEN-1690 sso token refresh issue for OIDC (#18668) * fix(ui): sso token refresh issue for OIDC * cleanup code * combine refresh requests to one --- .../AppAuthenticators/OidcAuthenticator.tsx | 39 +++++------ .../AuthProviders/AuthProvider.interface.ts | 5 +- .../Auth/AuthProviders/AuthProvider.tsx | 68 ++++++------------- .../Auth/TokenService/TokenServiceUtil.ts | 26 ++++--- .../ui/src/utils/AuthProvider.util.ts | 1 + 5 files changed, 61 insertions(+), 78 deletions(-) diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Auth/AppAuthenticators/OidcAuthenticator.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Auth/AppAuthenticators/OidcAuthenticator.tsx index 2470750d32b4..290e89cdd2c1 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Auth/AppAuthenticators/OidcAuthenticator.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Auth/AppAuthenticators/OidcAuthenticator.tsx @@ -12,7 +12,7 @@ */ import { isEmpty } from 'lodash'; -import { UserManager, WebStorageStateStore } from 'oidc-client'; +import { User, UserManager, WebStorageStateStore } from 'oidc-client'; import React, { ComponentType, forwardRef, @@ -97,10 +97,22 @@ const OidcAuthenticator = forwardRef( // Performs silent signIn and returns with IDToken const signInSilently = async () => { - const user = await userManager.signinSilent(); + // For OIDC token will be coming as silent-callback as an IFram hence not returning new token here + await userManager.signinSilent(); + }; + + const handleSilentSignInSuccess = (user: User) => { + // On success update token in store and update axios interceptors setOidcToken(user.id_token); + updateAxiosInterceptors(); + }; + + const handleSilentSignInFailure = (error: unknown) => { + // eslint-disable-next-line no-console + console.error(error); - return user.id_token; + onLogoutSuccess(); + history.push(ROUTES.SIGNIN); }; useImperativeHandle(ref, () => ({ @@ -154,22 +166,11 @@ const OidcAuthenticator = forwardRef( ( - <> - { - // eslint-disable-next-line no-console - console.error(error); - - onLogoutSuccess(); - history.push(ROUTES.SIGNIN); - }} - onSuccess={(user) => { - setOidcToken(user.id_token); - updateAxiosInterceptors(); - }} - /> - + )} /> diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Auth/AuthProviders/AuthProvider.interface.ts b/openmetadata-ui/src/main/resources/ui/src/components/Auth/AuthProviders/AuthProvider.interface.ts index 29c591b94a03..b49cd8bd99ea 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Auth/AuthProviders/AuthProvider.interface.ts +++ b/openmetadata-ui/src/main/resources/ui/src/components/Auth/AuthProviders/AuthProvider.interface.ts @@ -39,7 +39,10 @@ export type OidcUser = { export interface AuthenticatorRef { invokeLogin: () => void; invokeLogout: () => void; - renewIdToken: () => Promise | Promise; + renewIdToken: () => + | Promise + | Promise + | Promise; } export enum JWT_PRINCIPAL_CLAIMS { diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Auth/AuthProviders/AuthProvider.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Auth/AuthProviders/AuthProvider.tsx index ab99a54361f2..207ac9c71ae2 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Auth/AuthProviders/AuthProvider.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Auth/AuthProviders/AuthProvider.tsx @@ -25,7 +25,7 @@ import { InternalAxiosRequestConfig, } from 'axios'; import { CookieStorage } from 'cookie-storage'; -import { isEmpty, isNil, isNumber } from 'lodash'; +import { debounce, isEmpty, isNil, isNumber } from 'lodash'; import Qs from 'qs'; import React, { ComponentType, @@ -72,6 +72,7 @@ import { isProtectedRoute, prepareUserProfileFromClaims, } from '../../../utils/AuthProvider.util'; +import { getOidcToken } from '../../../utils/LocalStorageUtils'; import { getPathNameFromWindowLocation } from '../../../utils/RouterUtils'; import { escapeESReservedCharacters } from '../../../utils/StringsUtils'; import { showErrorToast, showInfoToast } from '../../../utils/ToastUtils'; @@ -131,7 +132,6 @@ export const AuthProvider = ({ setJwtPrincipalClaimsMapping, removeRefreshToken, removeOidcToken, - getOidcToken, getRefreshToken, isApplicationLoading, setApplicationLoading, @@ -179,6 +179,9 @@ export const AuthProvider = ({ removeRefreshToken(); setApplicationLoading(false); + + // Upon logout, redirect to the login page + history.push(ROUTES.SIGNIN); }, [timeoutId]); useEffect(() => { @@ -265,39 +268,6 @@ export const AuthProvider = ({ } }; - /** - * Renew Id Token handler for all the SSOs. - * This method will be called when the id token is about to expire. - */ - const renewIdToken = async () => { - try { - if (!tokenService.current?.isTokenUpdateInProgress()) { - await tokenService.current?.refreshToken(); - } else { - // wait for renewal to complete - const wait = new Promise((resolve) => { - setTimeout(() => { - return resolve(true); - }, 500); - }); - await wait; - - // should have updated token after renewal - return getOidcToken(); - } - } catch (error) { - // eslint-disable-next-line no-console - console.error( - `Error while refreshing token: `, - (error as AxiosError).message - ); - - throw error; - } - - return getOidcToken(); - }; - /** * This method will try to signIn silently when token is about to expire * if it's not succeed then it will proceed for logout @@ -311,10 +281,10 @@ export const AuthProvider = ({ return; } - try { - // Try to renew token - const newToken = await renewIdToken(); - + if (!tokenService.current?.isTokenUpdateInProgress()) { + // For OIDC we won't be getting newToken immediately hence not updating token here + const newToken = await tokenService.current?.refreshToken(); + // Start expiry timer on successful silent signIn if (newToken) { // Start expiry timer on successful silent signIn // eslint-disable-next-line @typescript-eslint/no-use-before-define @@ -325,13 +295,9 @@ export const AuthProvider = ({ await getLoggedInUserDetails(); failedLoggedInUserRequest = null; } - } else { - // reset user details if silent signIn fails - resetUserDetails(forceLogout); + } else if (forceLogout) { + resetUserDetails(true); } - } catch (error) { - // reset user details if silent signIn fails - resetUserDetails(forceLogout); } }; @@ -550,6 +516,7 @@ export const AuthProvider = ({ // eslint-disable-next-line @typescript-eslint/no-explicit-any config: InternalAxiosRequestConfig ) { + // Need to read token from local storage as it might have been updated with refresh const token: string = getOidcToken() || ''; if (token) { if (config.headers) { @@ -580,7 +547,8 @@ export const AuthProvider = ({ failedLoggedInUserRequest = true; } handleStoreProtectedRedirectPath(); - trySilentSignIn(true); + // try silent signIn if token is about to expire + debounce(() => trySilentSignIn(true), 100); } } @@ -611,9 +579,11 @@ export const AuthProvider = ({ } else { // get the user details if token is present and route is not auth callback and saml callback if ( - ![ROUTES.AUTH_CALLBACK, ROUTES.SAML_CALLBACK].includes( - location.pathname - ) + ![ + ROUTES.AUTH_CALLBACK, + ROUTES.SAML_CALLBACK, + ROUTES.SILENT_CALLBACK, + ].includes(location.pathname) ) { getLoggedInUserDetails(); } diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/Auth/TokenService/TokenServiceUtil.ts b/openmetadata-ui/src/main/resources/ui/src/utils/Auth/TokenService/TokenServiceUtil.ts index 25c2b850b558..7174f6c9c15f 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/Auth/TokenService/TokenServiceUtil.ts +++ b/openmetadata-ui/src/main/resources/ui/src/utils/Auth/TokenService/TokenServiceUtil.ts @@ -10,19 +10,23 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import { AxiosError } from 'axios'; import { useApplicationStore } from '../../../hooks/useApplicationStore'; import { AccessTokenResponse } from '../../../rest/auth-API'; import { extractDetailsFromToken } from '../../AuthProvider.util'; import { getOidcToken } from '../../LocalStorageUtils'; +type RenewTokenCallback = () => + | Promise + | Promise + | Promise; + class TokenService { channel: BroadcastChannel; - renewToken: () => Promise | Promise; + renewToken: RenewTokenCallback; tokeUpdateInProgress: boolean; - constructor( - renewToken: () => Promise | Promise - ) { + constructor(renewToken: RenewTokenCallback) { this.channel = new BroadcastChannel('auth_channel'); this.renewToken = renewToken; this.channel.onmessage = this.handleTokenUpdate.bind(this); @@ -50,9 +54,10 @@ class TokenService { // Refresh the token if it is expired async refreshToken() { const token = getOidcToken(); - const { isExpired } = extractDetailsFromToken(token); + const { isExpired, timeoutExpiry } = extractDetailsFromToken(token); - if (isExpired) { + // If token is expired or timeoutExpiry is less than 0 then try to silent signIn + if (isExpired || timeoutExpiry <= 0) { // Logic to refresh the token const newToken = await this.fetchNewToken(); // To update all the tabs on updating channel token @@ -66,14 +71,17 @@ class TokenService { // Call renewal method according to the provider async fetchNewToken() { - let response: string | AccessTokenResponse | null = null; + let response: string | AccessTokenResponse | null | void = null; if (typeof this.renewToken === 'function') { try { this.tokeUpdateInProgress = true; response = await this.renewToken(); - this.tokeUpdateInProgress = false; } catch (error) { - useApplicationStore.getState().onLogoutHandler(); + // Silent Frame window timeout error since it doesn't affect refresh token process + if ((error as AxiosError).message !== 'Frame window timed out') { + // Perform logout for any error + useApplicationStore.getState().onLogoutHandler(); + } // Do nothing } finally { this.tokeUpdateInProgress = false; diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/AuthProvider.util.ts b/openmetadata-ui/src/main/resources/ui/src/utils/AuthProvider.util.ts index 520d260a20b6..c4c5877febfc 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/AuthProvider.util.ts +++ b/openmetadata-ui/src/main/resources/ui/src/utils/AuthProvider.util.ts @@ -340,6 +340,7 @@ export const extractDetailsFromToken = (token: string) => { return { exp, isExpired: false, + timeoutExpiry: 0, }; } const threshouldMillis = EXPIRY_THRESHOLD_MILLES; From 4b9e2140785cb889e7f6631bc3e3758bf497b8a3 Mon Sep 17 00:00:00 2001 From: Mayur Singal <39544459+ulixius9@users.noreply.github.com> Date: Mon, 25 Nov 2024 15:01:59 +0530 Subject: [PATCH 07/36] MINOR: Fix StackTraceError validation error - Superset (#18740) --- .../metadata/ingestion/source/dashboard/superset/db_source.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ingestion/src/metadata/ingestion/source/dashboard/superset/db_source.py b/ingestion/src/metadata/ingestion/source/dashboard/superset/db_source.py index 636641b61f8e..a9a2e9ef8454 100644 --- a/ingestion/src/metadata/ingestion/source/dashboard/superset/db_source.py +++ b/ingestion/src/metadata/ingestion/source/dashboard/superset/db_source.py @@ -201,7 +201,7 @@ def yield_dashboard_chart( except Exception as exc: yield Either( left=StackTraceError( - name=chart_json.id, + name=str(chart_json.id), error=f"Error yielding Chart [{chart_json.id} - {chart_json.slice_name}]: {exc}", stackTrace=traceback.format_exc(), ) From 40a70357e84ff06670188dd4d3582366f29e4675 Mon Sep 17 00:00:00 2001 From: Mayur Singal <39544459+ulixius9@users.noreply.github.com> Date: Mon, 25 Nov 2024 15:27:53 +0530 Subject: [PATCH 08/36] MINOR: Add UDF support for SP - backend (#18767) --- .../jdbi3/StoredProcedureRepository.java | 6 ++ .../databases/StoredProcedureResource.java | 1 + .../api/data/createStoredProcedure.json | 4 ++ .../schema/entity/data/storedProcedure.json | 55 ++++++++++++++----- 4 files changed, 52 insertions(+), 14 deletions(-) diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/StoredProcedureRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/StoredProcedureRepository.java index 61156802f654..9a879a27dcea 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/StoredProcedureRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/StoredProcedureRepository.java @@ -138,6 +138,12 @@ public void entitySpecificUpdate() { original.getStoredProcedureCode(), updated.getStoredProcedureCode()); } + if (updated.getStoredProcedureType() != null) { + recordChange( + "storedProcedureType", + original.getStoredProcedureType(), + updated.getStoredProcedureType()); + } recordChange("sourceUrl", original.getSourceUrl(), updated.getSourceUrl()); recordChange("sourceHash", original.getSourceHash(), updated.getSourceHash()); } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/resources/databases/StoredProcedureResource.java b/openmetadata-service/src/main/java/org/openmetadata/service/resources/databases/StoredProcedureResource.java index e5b1b8e7ef19..84626a53062b 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/resources/databases/StoredProcedureResource.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/resources/databases/StoredProcedureResource.java @@ -533,6 +533,7 @@ private StoredProcedure getStoredProcedure(CreateStoredProcedure create, String .copy(new StoredProcedure(), create, user) .withDatabaseSchema(getEntityReference(Entity.DATABASE_SCHEMA, create.getDatabaseSchema())) .withStoredProcedureCode(create.getStoredProcedureCode()) + .withStoredProcedureType(create.getStoredProcedureType()) .withSourceUrl(create.getSourceUrl()) .withSourceHash(create.getSourceHash()); } diff --git a/openmetadata-spec/src/main/resources/json/schema/api/data/createStoredProcedure.json b/openmetadata-spec/src/main/resources/json/schema/api/data/createStoredProcedure.json index 6caf3a3ae8b6..75cd4ba5f26c 100644 --- a/openmetadata-spec/src/main/resources/json/schema/api/data/createStoredProcedure.json +++ b/openmetadata-spec/src/main/resources/json/schema/api/data/createStoredProcedure.json @@ -38,6 +38,10 @@ "description": "SQL Query definition.", "$ref": "../../entity/data/storedProcedure.json#/definitions/storedProcedureCode" }, + "storedProcedureType": { + "description": "Type of the Stored Procedure.", + "$ref": "../../entity/data/storedProcedure.json#/definitions/storedProcedureType" + }, "databaseSchema": { "description": "Link to the database schema fully qualified name where this stored procedure is hosted in", "$ref": "../../type/basic.json#/definitions/fullyQualifiedEntityName" diff --git a/openmetadata-spec/src/main/resources/json/schema/entity/data/storedProcedure.json b/openmetadata-spec/src/main/resources/json/schema/entity/data/storedProcedure.json index 0fb8aa1bae12..25133d8bc052 100644 --- a/openmetadata-spec/src/main/resources/json/schema/entity/data/storedProcedure.json +++ b/openmetadata-spec/src/main/resources/json/schema/entity/data/storedProcedure.json @@ -8,6 +8,24 @@ "javaType": "org.openmetadata.schema.entity.data.StoredProcedure", "javaInterfaces": ["org.openmetadata.schema.EntityInterface"], "definitions": { + "storedProcedureType": { + "javaType": "org.openmetadata.schema.type.StoredProcedureType", + "description": "This schema defines the type of the type of Procedures", + "type": "string", + "default": "StoredProcedure", + "enum": [ + "StoredProcedure", + "UDF" + ], + "javaEnums": [ + { + "name": "StoredProcedure" + }, + { + "name": "UDF" + } + ] + }, "storedProcedureCode": { "properties": { "language": { @@ -76,14 +94,19 @@ "description": "Metadata version of the Stored Procedure.", "$ref": "../../type/entityHistory.json#/definitions/entityVersion" }, - "dataProducts" : { + "dataProducts": { "description": "List of data products this entity is part of.", - "$ref" : "../../type/entityReferenceList.json" + "$ref": "../../type/entityReferenceList.json" }, "updatedAt": { "description": "Last update time corresponding to the new version of the entity in Unix epoch time milliseconds.", "$ref": "../../type/basic.json#/definitions/timestamp" }, + "storedProcedureType": { + "description": "Type of the Stored Procedure.", + "$ref": "#/definitions/storedProcedureType", + "default": "StoredProcedure" + }, "updatedBy": { "description": "User who made the query.", "type": "string" @@ -104,14 +127,14 @@ "description": "Reference to Database that contains this stored procedure.", "$ref": "../../type/entityReference.json" }, - "service": { - "description": "Link to Database service this table is hosted in.", - "$ref": "../../type/entityReference.json" - }, - "serviceType": { - "description": "Service type this table is hosted in.", - "$ref": "../services/databaseService.json#/definitions/databaseServiceType" - }, + "service": { + "description": "Link to Database service this table is hosted in.", + "$ref": "../../type/entityReference.json" + }, + "serviceType": { + "description": "Service type this table is hosted in.", + "$ref": "../services/databaseService.json#/definitions/databaseServiceType" + }, "deleted": { "description": "When `true` indicates the entity has been soft deleted.", "type": "boolean", @@ -126,7 +149,7 @@ "description": "Followers of this Stored Procedure.", "$ref": "../../type/entityReferenceList.json" }, - "votes" : { + "votes": { "description": "Votes on the entity.", "$ref": "../../type/votes.json" }, @@ -150,7 +173,7 @@ "description": "Source URL of database schema.", "$ref": "../../type/basic.json#/definitions/sourceUrl" }, - "domain" : { + "domain": { "description": "Domain the Stored Procedure belongs to. When not set, the Stored Procedure inherits the domain from the database schemna it belongs to.", "$ref": "../../type/entityReference.json" }, @@ -168,6 +191,10 @@ "maxLength": 32 } }, - "required": ["id","name","storedProcedureCode"], + "required": [ + "id", + "name", + "storedProcedureCode" + ], "additionalProperties": false -} +} \ No newline at end of file From f9a304c386a74a30290b4c7beea894d35aad51a3 Mon Sep 17 00:00:00 2001 From: Sachin Chaurasiya Date: Mon, 25 Nov 2024 17:26:20 +0530 Subject: [PATCH 09/36] minor: update whats new for 1.5.12 (#18773) --- .../ui/src/components/Modals/WhatsNewModal/whatsNewData.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Modals/WhatsNewModal/whatsNewData.ts b/openmetadata-ui/src/main/resources/ui/src/components/Modals/WhatsNewModal/whatsNewData.ts index b08fe6faa6b3..8cf0ab8cddff 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Modals/WhatsNewModal/whatsNewData.ts +++ b/openmetadata-ui/src/main/resources/ui/src/components/Modals/WhatsNewModal/whatsNewData.ts @@ -1154,7 +1154,6 @@ To continue pursuing this objective, the application was completely refactored t features: [], changeLogs: { Improvements: `- **Improvement**: Added async apis for csv import. -- **Improvement**: Teams api to update and remove users. - **Improvement**: Skip domain check for bots and admin - **Improvement**: MYSQL lineage and usage. - **Minor**: Added Lineage Field back to SearchLineage. From 151c1bbdb372f5c220b50686bc38fe13e8de1878 Mon Sep 17 00:00:00 2001 From: Shailesh Parmar Date: Mon, 25 Nov 2024 17:41:25 +0530 Subject: [PATCH 10/36] GEN-1224: fixed Profiler is not displaying correct time for table profile (#18766) * GEN-1224: fixed Profiler is not displaying correct time for table profile * added unit test --- .../TableProfiler/TableProfilerProvider.tsx | 2 +- .../ui/src/utils/TableProfilerUtils.ts | 24 ++++++++++++++----- .../src/utils/date-time/DateTimeUtils.test.ts | 4 ++++ .../ui/src/utils/date-time/DateTimeUtils.ts | 2 ++ 4 files changed, 25 insertions(+), 7 deletions(-) diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Database/Profiler/TableProfiler/TableProfilerProvider.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Database/Profiler/TableProfiler/TableProfilerProvider.tsx index f7b50bf0afac..5611085bd5c3 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Database/Profiler/TableProfiler/TableProfilerProvider.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Database/Profiler/TableProfiler/TableProfilerProvider.tsx @@ -155,7 +155,7 @@ export const TableProfilerProvider = ({ value: profile?.createDateTime ? DateTime.fromJSDate(new Date(profile?.createDateTime)) .toUTC() - .toFormat('MMM dd, yyyy HH:mm') + .toLocaleString(DateTime.DATE_MED) : '--', }, ]; diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/TableProfilerUtils.ts b/openmetadata-ui/src/main/resources/ui/src/utils/TableProfilerUtils.ts index 0a715f4be344..b02b18c09ee5 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/TableProfilerUtils.ts +++ b/openmetadata-ui/src/main/resources/ui/src/utils/TableProfilerUtils.ts @@ -16,7 +16,10 @@ import { MetricChartType } from '../components/Database/Profiler/ProfilerDashboa import { SystemProfile } from '../generated/api/data/createTableProfile'; import { Table, TableProfile } from '../generated/entity/data/table'; import { CustomMetric } from '../generated/tests/customMetric'; -import { customFormatDateTime } from './date-time/DateTimeUtils'; +import { + customFormatDateTime, + DATE_TIME_12_HOUR_FORMAT, +} from './date-time/DateTimeUtils'; import { isHasKey } from './ObjectUtils'; import { CalculateColumnProfilerMetricsInterface, @@ -31,7 +34,10 @@ export const calculateRowCountMetrics = ( const rowCountMetricData: MetricChartType['data'] = []; updateProfilerData.forEach((data) => { - const timestamp = customFormatDateTime(data.timestamp, 'MMM dd, hh:mm'); + const timestamp = customFormatDateTime( + data.timestamp, + DATE_TIME_12_HOUR_FORMAT + ); rowCountMetricData.push({ name: timestamp, @@ -58,7 +64,10 @@ export const calculateSystemMetrics = ( const operationDateMetrics: MetricChartType['data'] = []; updateProfilerData.forEach((data) => { - const timestamp = customFormatDateTime(data.timestamp, 'MMM dd, hh:mm'); + const timestamp = customFormatDateTime( + data.timestamp, + DATE_TIME_12_HOUR_FORMAT + ); operationMetrics.push({ name: timestamp, @@ -94,7 +103,7 @@ export const calculateSystemMetrics = ( ...item, stackId: stackId, latestValue: operation?.timestamp - ? customFormatDateTime(operation?.timestamp, 'MMM dd, hh:mm') + ? customFormatDateTime(operation?.timestamp, DATE_TIME_12_HOUR_FORMAT) : '--', }; }); @@ -125,7 +134,10 @@ export const calculateCustomMetrics = ( }, {} as Record); updateProfilerData.forEach((data) => { - const timestamp = customFormatDateTime(data.timestamp, 'MMM dd, hh:mm'); + const timestamp = customFormatDateTime( + data.timestamp, + DATE_TIME_12_HOUR_FORMAT + ); data?.customMetrics?.forEach((metric) => { if (!isUndefined(metric.name)) { const updatedMetric = { @@ -167,7 +179,7 @@ export const calculateColumnProfilerMetrics = ({ const quartileMetricData: MetricChartType['data'] = []; updateProfilerData.forEach((col) => { const { timestamp, sum } = col; - const name = customFormatDateTime(timestamp, 'MMM dd, hh:mm'); + const name = customFormatDateTime(timestamp, DATE_TIME_12_HOUR_FORMAT); const defaultData = { name, timestamp }; if ( diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/date-time/DateTimeUtils.test.ts b/openmetadata-ui/src/main/resources/ui/src/utils/date-time/DateTimeUtils.test.ts index 917e0cf8a30c..2a694342137d 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/date-time/DateTimeUtils.test.ts +++ b/openmetadata-ui/src/main/resources/ui/src/utils/date-time/DateTimeUtils.test.ts @@ -15,6 +15,7 @@ import { calculateInterval, convertMillisecondsToHumanReadableFormat, customFormatDateTime, + DATE_TIME_12_HOUR_FORMAT, formatDate, formatDateTime, formatDateTimeLong, @@ -58,6 +59,9 @@ describe('DateTimeUtils tests', () => { it(`customFormatDateTime should formate date and time both`, () => { expect(customFormatDateTime(0, 'yyyy/MM/dd')).toBe(`1970/01/01`); + expect(customFormatDateTime(0, DATE_TIME_12_HOUR_FORMAT)).toBe( + `Jan 01, 1970, 12:00 AM` + ); }); }); diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/date-time/DateTimeUtils.ts b/openmetadata-ui/src/main/resources/ui/src/utils/date-time/DateTimeUtils.ts index 2a42ce1fb05a..991badc7c213 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/date-time/DateTimeUtils.ts +++ b/openmetadata-ui/src/main/resources/ui/src/utils/date-time/DateTimeUtils.ts @@ -13,6 +13,8 @@ import { capitalize, isNil, toInteger, toNumber } from 'lodash'; import { DateTime, Duration } from 'luxon'; +export const DATE_TIME_12_HOUR_FORMAT = 'MMM dd, yyyy, hh:mm a'; // e.g. Jan 01, 12:00 AM + /** * @param date EPOCH millis * @returns Formatted date for valid input. Format: MMM DD, YYYY, HH:MM AM/PM From e6cc1ac48c9ddca5f27d4e4edede7f79e8041792 Mon Sep 17 00:00:00 2001 From: Shailesh Parmar Date: Mon, 25 Nov 2024 17:41:46 +0530 Subject: [PATCH 11/36] GEN-2073: Not able to copy full logs from log viewer (#18771) --- .../ConnectionStepCard/ConnectionStepCard.tsx | 24 ++++++++++++++++++- .../connection-step-card.less | 1 + 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/openmetadata-ui/src/main/resources/ui/src/components/common/TestConnection/ConnectionStepCard/ConnectionStepCard.tsx b/openmetadata-ui/src/main/resources/ui/src/components/common/TestConnection/ConnectionStepCard/ConnectionStepCard.tsx index a050ee48a610..256ad2e42322 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/common/TestConnection/ConnectionStepCard/ConnectionStepCard.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/common/TestConnection/ConnectionStepCard/ConnectionStepCard.tsx @@ -12,7 +12,7 @@ */ import { InfoCircleOutlined } from '@ant-design/icons'; import Icon from '@ant-design/icons/lib/components/Icon'; -import { Collapse, Divider, Space, Tooltip, Typography } from 'antd'; +import { Button, Collapse, Divider, Space, Tooltip, Typography } from 'antd'; import classNames from 'classnames'; import { isUndefined } from 'lodash'; import React from 'react'; @@ -20,9 +20,11 @@ import { useTranslation } from 'react-i18next'; import { LazyLog } from 'react-lazylog'; import { ReactComponent as AttentionIcon } from '../../../../assets/svg/attention.svg'; import { ReactComponent as FailIcon } from '../../../../assets/svg/fail-badge.svg'; +import { ReactComponent as CopyIcon } from '../../../../assets/svg/icon-copy.svg'; import { ReactComponent as SuccessIcon } from '../../../../assets/svg/success-badge.svg'; import { TestConnectionStepResult } from '../../../../generated/entity/automations/workflow'; import { TestConnectionStep } from '../../../../generated/entity/services/connections/testConnectionDefinition'; +import { useClipboard } from '../../../../hooks/useClipBoard'; import { requiredField } from '../../../../utils/CommonUtils'; import './connection-step-card.less'; @@ -53,6 +55,16 @@ const ConnectionStepCard = ({ testConnectionStepResult?.errorLog ?? t('label.no-entity', { entity: t('label.log-plural') }); + const { onCopyToClipBoard } = useClipboard(logs ?? ''); + + const handleCopyToClipBoard = ( + event: React.MouseEvent + ) => { + event.preventDefault(); + event.stopPropagation(); + onCopyToClipBoard(); + }; + return (
+ - ); - } else if (isExternalApp && index === 0) { - return ( - + <> + + {/* For status running or activewitherror and supportsInterrupt is true, show stop button */} + {(record.status === Status.Running || + record.status === Status.ActiveError) && + Boolean(appData?.supportsInterrupt) && ( + + )} + ); } else { return NO_DATA_PLACEHOLDER; @@ -347,47 +355,62 @@ const AppRunsHistory = forwardRef( }, [socket]); return ( - - - ( - - ), - showExpandColumn: false, - rowExpandable: (record) => !showLogAction(record), - expandedRowKeys, + <> + + +
( + + ), + showExpandColumn: false, + rowExpandable: (record) => !showLogAction(record), + expandedRowKeys, + }} + loading={isLoading} + locale={{ + emptyText: , + }} + pagination={false} + rowKey="id" + size="small" + /> + + + {showPagination && paginationVisible && ( + + )} + + + {isStopModalOpen && ( + { + setIsStopModalOpen(false); }} - loading={isLoading} - locale={{ - emptyText: , + onStopWorkflowsUpdate={() => { + fetchAppHistory(); }} - pagination={false} - rowKey="id" - size="small" /> - - - {showPagination && paginationVisible && ( - - )} - - + )} + ); } ); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Settings/Applications/AppRunsHistory/AppRunsHistory.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Settings/Applications/AppRunsHistory/AppRunsHistory.test.tsx index 9b4223c9ed15..b8f49f1a728e 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Settings/Applications/AppRunsHistory/AppRunsHistory.test.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Settings/Applications/AppRunsHistory/AppRunsHistory.test.tsx @@ -142,6 +142,15 @@ const mockProps2 = { }, }; +const mockProps3 = { + ...mockProps1, + appData: { + ...mockProps1.appData, + supportsInterrupt: true, + status: Status.Running, + }, +}; + describe('AppRunsHistory component', () => { it('should contain all necessary elements based on mockProps1', async () => { render(); @@ -160,6 +169,11 @@ describe('AppRunsHistory component', () => { expect(screen.queryByText('--')).not.toBeInTheDocument(); expect(screen.getByText('NextPrevious')).toBeInTheDocument(); + + // Verify Stop button is not present as initial status is success + const stopButton = screen.queryByTestId('stop-button'); + + expect(stopButton).not.toBeInTheDocument(); }); it('should show the error toast if fail in fetching app history', async () => { @@ -247,4 +261,32 @@ describe('AppRunsHistory component', () => { expect(screen.getByText('--')).toBeInTheDocument(); }); + + it('should render the stop button when conditions are met', async () => { + const mockRunRecordWithStopButton = { + ...mockApplicationData, + status: Status.Running, // Ensures Stop button condition is met + supportsInterrupt: true, + }; + mockGetApplicationRuns.mockReturnValueOnce({ + data: [mockRunRecordWithStopButton], + paging: { + offset: 0, + total: 1, + }, + }); + + render(); + await waitForElementToBeRemoved(() => screen.getByText('TableLoader')); + + const stopButton = screen.getByTestId('stop-button'); + + expect(stopButton).toBeInTheDocument(); + + act(() => { + userEvent.click(stopButton); + }); + + expect(screen.getByTestId('stop-modal')).toBeInTheDocument(); + }); }); diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json index 3caf8e881da0..0947405042b0 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json @@ -1172,6 +1172,7 @@ "status": "Status", "stay-up-to-date": "Bleiben Sie auf dem neuesten Stand", "step": "Step", + "stop": "Stopp", "stop-re-index-all": "Stoppen Sie die erneute Indexierung aller", "stopped": "Gestoppt", "storage": "Speicher", @@ -1430,6 +1431,7 @@ "appearance-configuration-message": "Customize OpenMetadata with your company logo, monogram, favicon and brand color.", "application-action-successfully": "Application {{action}} successfully", "application-disabled-message": "Application is currently disabled. Click on the ellipsis menu in header to enable it.", + "application-stop": "Anwendung wird gestoppt", "application-to-improve-data": "Improve your data using Applications for MetaPilot, Data Insights, and Search Indexing", "are-you-sure": "Sind Sie sicher?", "are-you-sure-action-property": "Are you sure you want to {{action}} {{propertyName}}?", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json index 06af07357ed0..4fb3b3902bdf 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json @@ -1172,6 +1172,7 @@ "status": "Status", "stay-up-to-date": "Stay Up-to-date", "step": "Step", + "stop": "Stop", "stop-re-index-all": "Stop Re-Index", "stopped": "Stopped", "storage": "Storage", @@ -1430,6 +1431,7 @@ "appearance-configuration-message": "Customize OpenMetadata with your company logo, monogram, favicon and brand color.", "application-action-successfully": "Application {{action}} successfully", "application-disabled-message": "Application is currently disabled. Click on the ellipsis menu in header to enable it.", + "application-stop": "Application stop is in progresss", "application-to-improve-data": "Improve your data using Applications for MetaPilot, Data Insights, and Search Indexing", "are-you-sure": "Are you sure?", "are-you-sure-action-property": "Are you sure you want to {{action}} {{propertyName}}?", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json index f0cd74033900..bb70c637c9b5 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json @@ -1172,6 +1172,7 @@ "status": "Estado", "stay-up-to-date": "Manténgase Actualizado", "step": "Paso", + "stop": "Detener", "stop-re-index-all": "Parar el reindexado", "stopped": "Parado", "storage": "Almacenamiento", @@ -1430,6 +1431,7 @@ "appearance-configuration-message": "Customize OpenMetadata with your company logo, monogram, favicon and brand color.", "application-action-successfully": "Aplicación {{action}} exitosamente", "application-disabled-message": "La aplicación está actualmente deshabilitada. Haz clic en el menú de puntos suspensivos en la cabecera para habilitarla.", + "application-stop": "La detención de la aplicación está en progreso", "application-to-improve-data": "Mejora tus datos utilizando Aplicaciones para MetaPilot, Data Insights y Indexación de Búsqueda", "are-you-sure": "¿Estás seguro?", "are-you-sure-action-property": "¿Estás seguro de que quieres {{action}} {{propertyName}}?", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json index 10a561e223cd..128903d07991 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json @@ -1172,6 +1172,7 @@ "status": "Statut", "stay-up-to-date": "Rester à Jour", "step": "Step", + "stop": "Arrêter", "stop-re-index-all": "Arrêter la Ré-indexation de Tout", "stopped": "Arrêté", "storage": "Stockage", @@ -1430,6 +1431,7 @@ "appearance-configuration-message": "Personnalisez OpenMetadata avec votre logo d'entreprise, monogramme, favicon et couleur de marque.", "application-action-successfully": "Application {{action}} avec succès", "application-disabled-message": "Application actuellement désactivée. Cliques sur l'ellipse dans l'en-tête pour l'activer.", + "application-stop": "L'arrêt de l'application est en cours", "application-to-improve-data": "Améliorez vous données en utilisant les Applications pour MetaPilot, les Data Insights, et l'indexation de recherche.", "are-you-sure": "Êtes-vous sûr?", "are-you-sure-action-property": "Êtes-vous sûr de vouloir {{action}} {{propertyName}}?", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json index 29119f1ee0fa..d666b6b877d4 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json @@ -1172,6 +1172,7 @@ "status": "Estado", "stay-up-to-date": "Mantente ao día", "step": "Paso", + "stop": "Parar", "stop-re-index-all": "Deteñer reindexación", "stopped": "Detido", "storage": "Almacenamento", @@ -1430,6 +1431,7 @@ "appearance-configuration-message": "Personaliza OpenMetadata co logotipo da túa empresa, monograma, favicon e cor da marca.", "application-action-successfully": "A aplicación {{action}} correctamente", "application-disabled-message": "A aplicación está desactivada actualmente. Fai clic no menú de puntos suspensivos no encabezado para activala.", + "application-stop": "A parada da aplicación está en progreso", "application-to-improve-data": "Mellora os teus datos usando aplicacións para MetaPilot, Perspectivas de Datos, e Indexación de Busca", "are-you-sure": "Estás seguro?", "are-you-sure-action-property": "Estás seguro de que queres {{action}} {{propertyName}}?", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/he-he.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/he-he.json index fccd116f4696..d9b3df7c2933 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/he-he.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/he-he.json @@ -1172,6 +1172,7 @@ "status": "סטטוס", "stay-up-to-date": "הישאר מעודכן", "step": "Step", + "stop": "עצור", "stop-re-index-all": "עצור Re-Index", "stopped": "נעצר", "storage": "אחסון", @@ -1430,6 +1431,7 @@ "appearance-configuration-message": "Customize OpenMetadata with your company logo, monogram, favicon and brand color.", "application-action-successfully": "האפליקציה {{action}} בהצלחה", "application-disabled-message": "האפליקציה מושבתת כרגע. לחץ על תפריט הנקודות התלתול בכותרת כדי להפעיל אותה.", + "application-stop": "עצירת היישום מתבצעת", "application-to-improve-data": "Improve your data using Applications for MetaPilot, Data Insights, and Search Indexing", "are-you-sure": "האם אתה בטוח?", "are-you-sure-action-property": "האם אתה בטוח שברצונך {{action}} {{propertyName}}?", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json index 8d1affd39da1..0c35b6a388c1 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json @@ -1172,6 +1172,7 @@ "status": "ステータス", "stay-up-to-date": "最新を維持", "step": "Step", + "stop": "停止", "stop-re-index-all": "Stop Re-Index", "stopped": "Stopped", "storage": "Storage", @@ -1430,6 +1431,7 @@ "appearance-configuration-message": "Customize OpenMetadata with your company logo, monogram, favicon and brand color.", "application-action-successfully": "Application {{action}} successfully", "application-disabled-message": "Application is currently disabled. Click on the ellipsis menu in header to enable it.", + "application-stop": "アプリケーションの停止が進行中です", "application-to-improve-data": "Improve your data using Applications for MetaPilot, Data Insights, and Search Indexing", "are-you-sure": "よろしいですか?", "are-you-sure-action-property": "Are you sure you want to {{action}} {{propertyName}}?", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/nl-nl.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/nl-nl.json index 01da1e07e785..278af4f3ddb2 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/nl-nl.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/nl-nl.json @@ -1172,6 +1172,7 @@ "status": "Status", "stay-up-to-date": "Blijf Up-to-date", "step": "Step", + "stop": "Stop", "stop-re-index-all": "Stop herindexeren", "stopped": "Gestopt", "storage": "Storage", @@ -1430,6 +1431,7 @@ "appearance-configuration-message": "Customize OpenMetadata with your company logo, monogram, favicon and brand color.", "application-action-successfully": "Applicatie {{action}} succesvol", "application-disabled-message": "De applicatie is momenteel uitgeschakeld. Klik op het ellipsismenu bovenin om het in te schakelen.", + "application-stop": "Het stoppen van de applicatie is aan de gang", "application-to-improve-data": "Verbeter je gegevens met behulp van toepassingen voor MetaPilot, data-inzichten en zoekindexering", "are-you-sure": "Weet u het zeker?", "are-you-sure-action-property": "Weet u zeker dat u {{action}} {{propertyName}} wilt?", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pr-pr.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pr-pr.json index 599bfc642470..2f6b7ff582ac 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pr-pr.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pr-pr.json @@ -1172,6 +1172,7 @@ "status": "وضعیت", "stay-up-to-date": "در جریان بمانید", "step": "مرحله", + "stop": "توقف", "stop-re-index-all": "متوقف کردن دوباره ایندکس", "stopped": "متوقف شد", "storage": "ذخیره‌سازی", @@ -1430,6 +1431,7 @@ "appearance-configuration-message": "OpenMetadata را با لوگوی شرکت، مونوگرام، favicon و رنگ برند خود سفارشی کنید.", "application-action-successfully": "برنامه {{action}} با موفقیت انجام شد.", "application-disabled-message": "برنامه در حال حاضر غیرفعال است. برای فعال‌سازی آن روی منوی سه‌نقطه در سربرگ کلیک کنید.", + "application-stop": "توقف برنامه در حال انجام است", "application-to-improve-data": "داده‌های خود را با استفاده از برنامه‌ها برای MetaPilot، بینش داده و ایندکس جستجو بهبود دهید.", "are-you-sure": "آیا مطمئن هستید؟", "are-you-sure-action-property": "آیا مطمئن هستید که می‌خواهید {{action}} {{propertyName}}؟", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json index 9aebad742e6b..19e6dec16c93 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json @@ -1172,6 +1172,7 @@ "status": "Status", "stay-up-to-date": "Mantenha-se Atualizado", "step": "Step", + "stop": "Parar", "stop-re-index-all": "Parar Reindexação", "stopped": "Parado", "storage": "Armazenamento", @@ -1430,6 +1431,7 @@ "appearance-configuration-message": "Customize OpenMetadata with your company logo, monogram, favicon and brand color.", "application-action-successfully": "Aplicativo {{action}} com sucesso", "application-disabled-message": "O aplicativo está atualmente desativado. Clique no menu de reticências no cabeçalho para ativá-lo.", + "application-stop": "A parada do aplicativo está em andamento", "application-to-improve-data": "Aprimore seus dados utilizando Aplicações como MetaPilot, Data Insights e Indexação de Pesquisa", "are-you-sure": "Você tem certeza?", "are-you-sure-action-property": "Você tem certeza que deseja {{action}} {{propertyName}}?", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-pt.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-pt.json index 783b72168879..6cce74819a4d 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-pt.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-pt.json @@ -1172,6 +1172,7 @@ "status": "Status", "stay-up-to-date": "Mantenha-se Atualizado", "step": "Step", + "stop": "Parar", "stop-re-index-all": "Parar Reindexação", "stopped": "Parado", "storage": "Armazenamento", @@ -1430,6 +1431,7 @@ "appearance-configuration-message": "Customize OpenMetadata with your company logo, monogram, favicon and brand color.", "application-action-successfully": "Aplicativo {{action}} com sucesso", "application-disabled-message": "O aplicativo está atualmente desativado. Clique no menu de reticências no cabeçalho para ativá-lo.", + "application-stop": "A paragem da aplicação está em progresso", "application-to-improve-data": "Aprimore seus dados utilizando Aplicações como MetaPilot, Data Insights e Indexação de Pesquisa", "are-you-sure": "Você tem certeza?", "are-you-sure-action-property": "Você tem certeza que deseja {{action}} {{propertyName}}?", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json index 7b355e170bab..3d3c8d342572 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json @@ -1172,6 +1172,7 @@ "status": "Статус", "stay-up-to-date": "Будьте в курсе последних событий", "step": "Step", + "stop": "Остановить", "stop-re-index-all": "Остановить ре-индексирование", "stopped": "Остановлено", "storage": "Хранилище", @@ -1430,6 +1431,7 @@ "appearance-configuration-message": "Customize OpenMetadata with your company logo, monogram, favicon and brand color.", "application-action-successfully": "Application {{action}} successfully", "application-disabled-message": "Application is currently disabled. Click on the ellipsis menu in header to enable it.", + "application-stop": "Остановка приложения выполняется", "application-to-improve-data": "Improve your data using Applications for MetaPilot, Data Insights, and Search Indexing", "are-you-sure": "Вы уверены?", "are-you-sure-action-property": "Are you sure you want to {{action}} {{propertyName}}?", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/th-th.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/th-th.json index e12a3621fbe2..e58f19d6ddf5 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/th-th.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/th-th.json @@ -1172,6 +1172,7 @@ "status": "สถานะ", "stay-up-to-date": "อัปเดตอยู่เสมอ", "step": "ขั้นตอน", + "stop": "หยุด", "stop-re-index-all": "หยุดการสร้างดัชนีใหม่ทั้งหมด", "stopped": "หยุดแล้ว", "storage": "ที่จัดเก็บ", @@ -1430,6 +1431,7 @@ "appearance-configuration-message": "ปรับแต่ง OpenMetadata ด้วยโลโก้ของบริษัท, ตัวอักษร, favicon และสีแบรนด์", "application-action-successfully": "แอปพลิเคชัน {{action}} สำเร็จ", "application-disabled-message": "แอปพลิเคชันถูกปิดการใช้งานในขณะนี้ คลิกที่เมนูสามจุดในหัวข้อเพื่อเปิดใช้งาน", + "application-stop": "การหยุดแอปพลิเคชันกำลังดำเนินการ", "application-to-improve-data": "ปรับปรุงข้อมูลของคุณโดยใช้แอปพลิเคชันสำหรับ MetaPilot, ข้อมูลเชิงลึก, และการจัดทำดัชนีการค้นหา", "are-you-sure": "คุณแน่ใจหรือไม่?", "are-you-sure-action-property": "คุณแน่ใจหรือไม่ว่าต้องการ {{action}} {{propertyName}}?", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json index 85a332f607c2..03457edf96d1 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json @@ -1172,6 +1172,7 @@ "status": "状态", "stay-up-to-date": "保持最新", "step": "步骤", + "stop": "停止", "stop-re-index-all": "停止重新索引", "stopped": "已停止", "storage": "存储", @@ -1430,6 +1431,7 @@ "appearance-configuration-message": "用您公司的徽标、字母图案、图标和品牌颜色自定义 OpenMetadata", "application-action-successfully": "应用{{action}}成功", "application-disabled-message": "应用程序目前处于禁用状态, 点击标题中的省略号菜单即可启用", + "application-stop": "应用程序停止进行中", "application-to-improve-data": "使用 MetaPilot、数据洞察和搜索索引应用改进数据", "are-you-sure": "您确定吗?", "are-you-sure-action-property": "您确定要{{action}} {{propertyName}}?", diff --git a/openmetadata-ui/src/main/resources/ui/src/rest/applicationAPI.ts b/openmetadata-ui/src/main/resources/ui/src/rest/applicationAPI.ts index 4b84e71786a0..1a2f5d636edb 100644 --- a/openmetadata-ui/src/main/resources/ui/src/rest/applicationAPI.ts +++ b/openmetadata-ui/src/main/resources/ui/src/rest/applicationAPI.ts @@ -135,3 +135,7 @@ export const restoreApp = async (id: string) => { return response.data; }; + +export const stopApp = async (name: string) => { + return await APIClient.post(`${BASE_URL}/stop/${getEncodedFqn(name)}`); +}; From 678d87f4b947079b73d085aed2edd248d78d150f Mon Sep 17 00:00:00 2001 From: Chirag Madlani <12962843+chirag-madlani@users.noreply.github.com> Date: Tue, 26 Nov 2024 12:08:33 +0530 Subject: [PATCH 19/36] chore(ui): restore users tab for teams page (#18531) * chore(ui): restore users tab for teams page * remove unwanted seprator * restict add and join user, to team page other than Group types * minor textual change --------- Co-authored-by: Ashish Gupta --- .../Team/TeamDetails/TeamDetailsV1.tsx | 19 +++++++++++++++++-- .../Team/TeamDetails/TeamDetailsV1.utils.tsx | 7 ++++++- .../TeamsInfo.component.tsx | 1 - .../TeamDetails/UserTab/UserTab.component.tsx | 14 +++++++++++++- .../ui/src/locale/languages/de-de.json | 1 + .../ui/src/locale/languages/en-us.json | 1 + .../ui/src/locale/languages/es-es.json | 1 + .../ui/src/locale/languages/fr-fr.json | 1 + .../ui/src/locale/languages/gl-es.json | 1 + .../ui/src/locale/languages/he-he.json | 1 + .../ui/src/locale/languages/ja-jp.json | 1 + .../ui/src/locale/languages/nl-nl.json | 1 + .../ui/src/locale/languages/pr-pr.json | 1 + .../ui/src/locale/languages/pt-br.json | 1 + .../ui/src/locale/languages/pt-pt.json | 1 + .../ui/src/locale/languages/ru-ru.json | 1 + .../ui/src/locale/languages/th-th.json | 1 + .../ui/src/locale/languages/zh-cn.json | 1 + 18 files changed, 50 insertions(+), 5 deletions(-) diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Settings/Team/TeamDetails/TeamDetailsV1.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Settings/Team/TeamDetails/TeamDetailsV1.tsx index 8f75580baeed..ba4dee350f5e 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Settings/Team/TeamDetails/TeamDetailsV1.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Settings/Team/TeamDetails/TeamDetailsV1.tsx @@ -917,6 +917,7 @@ const TeamDetailsV1 = ({ () => !isOrganization && !isUndefined(currentUser) && + isGroupType && (isAlreadyJoinedTeam ? ( welcome screen image Date: Tue, 26 Nov 2024 13:37:51 +0530 Subject: [PATCH 21/36] Docs: Custom Metrics Image update (#18788) Co-authored-by: Rounak Dhillon --- .../workflows/profiler/custom-metric4.png | Bin 363917 -> 366672 bytes .../workflows/profiler/custom-metric4.png | Bin 363917 -> 366672 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/openmetadata-docs/images/v1.5/features/ingestion/workflows/profiler/custom-metric4.png b/openmetadata-docs/images/v1.5/features/ingestion/workflows/profiler/custom-metric4.png index 66d3b597699c133f5181f8a1fd3646d5c09c9f8d..d51283a633090f5a6e9510ca9872053bfe96bc2c 100644 GIT binary patch literal 366672 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

(R*>OI~5B-`$sY!&J~P{jC{Qs-r!&LN1L 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

jypzbNHV>H!x^af(p)g`aaEnUrFK{q}B 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 literal 363917 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 z zfO9AaD8-<;(a=MajM(hP6tI)w*K`@m6E{<$HlqvWeNw0Y7%>+a1CjS(AV3?8_H%lU zGg;K0KOuby`v;s=;{CS*6U6mHqBH#_sAn=$acJO|)X`X{A(E0)e?e2T4rdzbyzas8 zZV+8v-Y9N$m@+eR{jE!1B`#ST1Vqw-=>oV4LKNn?5+k%zb@lbcpNx(;y=CJ1N6f*% z^-+DXhR(8Qol`Wb5rp($?pk-n=8pb1K+rDfEyQ~*t0n1l&}qKsd&43+wFMbf9xA>{ zZA*ImBt%tB{|ukAIVJV_@?-L@Jb^MZdre;*cv|{-r}tVJrP;R!q-YTtT-oMwGPwNZ zQhJLuyp+)4f|=7XTG9e5jTZq)(K#I*zpn8n#q~OfYhh;o_W9m4zb0v0-R?8Y!6mAA zF9pyUhl1E>_z{-#8a0#|fBEeyikiwX`gfx)LcP#4d5sKQGRu>JT-Gj-2Vm3jdv^}n zuuKl`i?1NDUrn$^s?~AFxeyKox(RX|SMjdB9I0!t85JiqO<$i-4U zz>;egf5*x6BaDGL;N*MTE@gOe0C**Q8sP|eyQ zJLJ{eP9F|a#MBOn30_0G$5E@Plb)U{;-_|JMrpWQeO7e`X0(0>C6=q|C4<;wytxnT z(vQHkTC3K%`gS38uQ`+WGAt^trB(l)K$T#z=OoiM09JS*%v9||3&^bEPRna90WbrVDz0K1=w2_-h7GSldkOQHA0 zmybCII=WzLeicjf~O%Y-W$GS}xY3B#o&S*gudHjm_0C-fPlkak)>@A=VWE_XWfF^h;$7& z>@aVD%|&Ok^?qp){FP)OCwgaL9Wn4EP%~Ox=67TfPKJpJ&nJ>3;kVAny#EGEM`N?H zX1Bh#ld^K6klmiKd=bkqA-=?90V0Y7wMk&aD_H0l*FrCHg<-7NVzhnC*%9(NKt2Rr z`yY$R>RuC)0V9QE7mx6YaS2%%1ZQ8%ksYn%~cFWLRZW22KI3DThr#ZMG7DbHF>&BxEnbuH_NJkCea}b|Y zqx-~fB$_pHEx{^qoM~&fh}Rbk;WSIq$@IG+oieo9<~Gzya0QR?RG(MEd~$jNx{Gk_jd31QsJ(WjY{zm*kDTzp@i)a6Nf; z%@?wbW0q3+Cb{`0>05Mor!N(JIdzM@O3h37{Jq)SI*OIX1Md zS>R|DP`K%qbg1jxUjAZLwNJLHT9?!&&Ybrjs;3%M+7uCZZSccrU56AY3FTcd zcoEQAMP?~u#`{JbFzRgMf$(kdHq!`?SryIE13t&K$vzeT774}XUtiqj{c)HzV3i9< z`Y8?U2peV450~|Zox7jBX%>R+)E4XT-VeO@-fQuJ6T#F2FWjH&I3SwGX6(yEm}!vT zQuW4-^T8$%wmUDQ^U<}*5Xt5C3s28NG>cKHqWJSd!@UT5bjZ$luXMLQDT(X6Z^2cc2vH47U6#A-nt5`6_VQ@|%CZ zI>(c&o~Bd2Zkbu`@aj?;tm|+VP@_M*;do$~uwdFt0LB0Lkgn27W@HqIk4eh7-S}Ra zLyaS{dOPdZ-m8*Y`UUsC`qkMlh$LwpKV>dBASmki;~TaPZFqE=MqUkn&0NrR#I|b3 z&w~jp#ahw08nIe@=+EN_C@Gy6xJ7Dt@UCNP8@b<5|b| zhip!KEC+NXX@oF>A~stxMGg!tY*-}15qcq{`KKX15S+}Lk{k@LNbxfz=`*mSLvNFu zHe^D?G#IM^VT16Ga12gHV?@++fIG#p?gn4*ilCDAO@Nz_5}5fi{fH7$?y%w$D=m>M zK^6$04x_)q&5Fa`9D$o4Y(eK@tquhCm)D=nqH9q54I23+GFm`=z&`l^QC6t0Qh&am zN9_5pJ55|yUk`M;jg#FStNw4K2V^B5x@)DGiIq>FQ(-YVKyuo#t;}geb2Yw?mGx)9 zJ8Nl#-vKg4>9LyDQBtZ>DlmZF2tp*#SOfTOpw)?=E`QH0tc^niNC6={*Fg4;xHj}{ z;VfgGkZdCW^O&XO8#4j1^Y95_!y1X0v2IE8q1w#YK5AO&Mia9!H2Zdb_CKvrv&`~z z0@HE(Cn5YAsNPFW0X7{w)nNA8PU-bOixsML)84%CCHyuHZC3{W2)f$*uM}}bViEGr z>gA)uv~vbyw3AX92dL7fK99w^{&fvK?WT@O)a@f_@mocpeS<}YlEXuV(+q~({C4}; z9o`xA#d>%Jm%lNHv1Wf9&cGbHydZk` zFjg#!{IbQ)WCMemsHK)DrRL6VJH?#9>QOA2_)wA$d{e@qhW>DT->NY){1Z_7%D-Nx z+#h1bi_OSTryEM>`IUNK={K`KE?-QHQR$c_9^zigri7gz3Jsr%zOWK~hGDe(KJjQe zpEnieXRLVKbc5e`L5=@JQceMLKxEg&} z?e^WHc=E(FNk_Y8*eyh|$I%8xC!}2}%^+JBp(b;z4{uyHD z#e&jaD4xmRV@=Qr$Kf&bZzvI~={A*kE{UuH$sm~KrkafdEj7*?iiqan$%l^lIDpUs zs4`H^A+S~xRtqu>!wy4q10=#5nkin`QvZxJrGxU7$kk+K7!$+>Tf7Wt>9C8H^cuj; z`Tqg-h!r2M@L)@LEdIUnrs#$+I&F|#1e1sQv70cKI1NQG-J=|UNx&DNNjKGQJEeCy zrz3vk7}k9VAvFr*NkzXA#1GglrOz~4LxFe{G$>Co6cE)Ll)1KTsq$){|J^o-CyO{3 z!3PnYAMy*&F$Ji|vOgkHy>4u~Yt0!hXp+wS1fPchci0`lU;0z`p5n0S>RvRNvfG`+^YX0UC)CCnAagE+on}1mepNzFA zz5LPsXrVdPEtAsAxv5Uq&?D5WUw_LBD?6;rLh=59lYt}H6~arckJta~%CcjhK3;py zNaLD^+M`SlpP%yT>H6PZbs~@3B~9UuiUUFeCsUTO^3%Y9y8j4eYis9{u(!}6$7Ks3 zg6J&Un>V6wb`6wViqh&(Hf^bs4B=0X{g{3i^jd=7Iqw7YT+Jhu0+5(NmA=MqZi;AF zB=CM*d~b~q=)v&@wBP?gD+rnC#BgE?*(VNp&K)EZ!8gGm3Edm5Z~HqQUy^sqxHCBc z$0OW$AZgbC86qA+C>3fvm#4EjycS8{JUfe=2dKB9?#B+dxONW&3-jTIgeaAywU8i3 zE32ISPfnR=n;9D31og#V9Z_xqEFv08RN|7vK?3Fq{C+nPC*hpw4cdgK6Q>jrIrZAE z%-BlcXp>o)s{!0$h^ZP!2AEXHG>DdJw5wnbM5&}fM#k^U1J;!cfS$=}4m>s3$3et9 zpgf3}721A8I%CR3#sP`^qLh7s;BM67Bb}PDwO=6fB2n3oPQQbm6LT#tSs@%PH3MXM zJUPrEKi?oeUhHdu7UHn8Vp=! zL141?jr8~@8SrB%AQDuKQuZ4!(oN(-OhIjvO>|$tE^1-SK*-J@e~PJwy7~l!4b$Xz zCq)FhF>ur<<<~V5WZ*2E1Nl^mm`#GJKmcql>ei9Ux|INTpkE+IyLRnb>A-zCcG4}t zdj>=q^jdC1#nUF{1Dib-Dk~SI{hx9qcEao?c^=XzvWyY)Ehv^G&4YN*N$S312aw@a zV?N~;kFfPJ_b3)M(m(rrIHu3WFsxE~`6zqJpLVK<)*e`zde<~-W%hjT`cIr@{ z$=^brbt{crby2y>3v$hUn%Caz{OlfP*HG5`_n{yU#{c^<-4Y#>_xsNKl;k%r-@kSU z(Q!0a{ovLJAyd>(X?OHK zb1JeX^y9~mP+8zeuzmF=7-b-}Z7gf)g9{xbg}!nGal>!$0`?cIB#1!3M^~Lal`KS5 zj|JU_&Jq#?*c)Q)U15+!s`WQIqvf0BCPtWsvGgSb)nNkr+|ImzoLf>9?sHiys=C4T@lZuCqK`W zx}JUOSgf{JQ_7h|)AZ9KGU3d2N0-N+$UoOsefd2>SB&S_e=%qO{l|g&+k2_Mq!nEe z+7kJX-_+gdjYUo+K}CC(57rne4LHXvcHfAtTKMhXswWVt$+`&9D0n)1%+FYYfw=RC z-bNram7GL;gsmRYXwhM32GX;g64(alM*(m~D&kgMlYA5(RvPS~>CpGvyu!l`f)?GPH2LXU1-1v;`f@2SAI zR{_9C(rrn959JC-0o!sfokRZ_z0)#xaZ{i#f4!LZ@+IXQ=N^tLqB~)h z1<^;`U&Ch4;vF}G#Pyg-k0OEcK*;9mLi0Z}0g`O(%2>gYm_GK_0lZlE ziNqMgQ}EkQ-4mKKLWvPQ#`B|Y$aqAK`Z;Y0_aJAGJ2=;bl^;}?rAHvj-C(hY33BUc zxUsNnokxvrRTr;%tYj|>0ve{V%cO4+APM(zw~sVX=7KU8GXSuY=g zxIEvvata!A(m6Q4KbzMn{86Wq@3^ma^k<5$i&}lYIxL|>fuT(0n<946&&?`7>Z0+Z zF$-(lQ^Hp?%lK7F?V`z>vxQgAJ(NB$*?gJ*n9Aw<+w6&>0Ll zZMyMPFg3;FzY$LZ?r6Kn3ox3V3*(DEO`BM9ug0{@BqG#9OAP4;81Tua02CauaF=M% z-yZo>6;qnV1d8#EmQ+J+_C+YL7puA!w~*LTXmg|%M$^AHHd=Wvf($?!Bafh98Khc{ z*1S&;7aa_g4bUwQKYz)17IB#b@zz~MU6 z_D^M^m;nmR*4-LcFVXvF638IgKycX3^G zsHj)BlpNnq2|BFSf*wdNwr(_*w#~T*+`kX}<`Do*nw5r<88C8Qok+K8DidZM`IxkOmr~mK=@7hhfY_i;1mmITqA$nye7laP@ z)s~JFoQOc^?4IR`yATVclPuQ1C4w+`muh%;)y|z#qvucv|DCILuTkbD?0K0e?l7-q)QKRMXRQZ>uJIc45(XM<0I{ z(L3baGsn64J1qXXP|&Xd&)sw9b7Hu-dFQl`hIaJzcbBYiZ4>a=5p2?Jw~*4(HgB90 zYi|B0PwZB)dQt0FF4wn{H9LNJ%Ux%H-eO=7_Xbk!mieM%r&%uP%Q0>+rWlW4{M)i| zZK!seR^)=8|CaDoYQM=I;gz)x7m-C%OTur4w!Lg z^3uGdlpbV~5MlooO3NJaGpow>CcnPV6%BbdfzUTsxtX0@fHnUAeV`G^ZBWct<#<&2 zu>9wa+bw!qFVI6obX>O7`jFva6oZa;z$~b=Pf-s{gj1fZ2c{Ws7zC+@V#%I$F3n_pWGy0o)Q)j(=c{?a5XyZax^?1d|AEe&J zEdua|I2*4Vg$ti|Q{ZQ$F*^QLUyNPxLP9y0aEZwwB?(3+Gc2S9l}XAj5Ggw-I1~oN zO%+?-mETT@eUksU)+O??^o7J|Sb5RtXeR!dG58XPAp0T=n+jmnbFm|jERTl#5(%6^ zaH3z7#IDC)xITz}Vi%Ii;bj*qm{Wq0Z8mKC=(?vI2hXmXt=%beHdQ<~W=Vxk;OxeR zUr(}>-pR~AH;9;UQKRRQx>d=DRuARQ4#zqFWD>FwgUdzYV%)Vuu>Oy1<%1DvdN4My zTF0RP{+BQbhOw-zn{IsPdso09@MmMh&NbTy1CN!x`;>6Tr{VCX&1dODT@77+}Po`Xt4&%asydI~*>LSN!^vrNVxf z8vEc2c1s4!V_UZ*e=~GB5!HNzDKDsrcEa6U_391j(9x34%VSoWSDaTG)34L|-~CfD z`mV!x!mF#V#*fBolcLmC$3h;NM|VONSO@le8c*mhKD=JvHIC=@_T$w1{`ddxW!Bc>NvAcYi%f3La2Ae%loxj8{~TE^px?;E~IyG71N;vdBHBkj)miXMH$xS~&c z|4U0&gwH3p*Y;f*$$dK_sJDIJZ7m%DEoeItTwRE?19W65qdK@pQQ_cwP5<$LeLStF z#|XYtFUxSA9%F? z7Nwfk?6=8!h65KX-x3BG(*#~<EvIX$8S!;M2SA@h-f!JcMnsXux>5xe@4Cxf?AE znosD9{b4!Bh+WZqeqX0e#njbFj#vALhOw+GzI|a& z>jf=-#-yC(I>ETZuk4!n2E&7`ZPphH{bOLiqPj`%d~Yp|1J zcD!oU^tzgYUJREf`j_l;m-6mghNBllG?>?F1+L*g>HgmMk!3jW0N6oDMp$Dbnypa2 zyeO}4-(Y-%jepTjBWqzEjB*4@fZ*F2So~j-~#pSc9$~(c$Qtx?NDAG zqHEHRDm*0}tmkp-dZ2=rdpA?wB)t^t`F1vS-OUGe+~{XZ&D*l1y&F&YHNG%1h*UUn zAW87f)DzlHrvK+g`TR_!>2SpSvy1(jJU&%cu9g}eC^DNXYHE-Qd=&j4qzPr1KtaqA zFbLs@(0kh1ZP#n!5fFGTCiPf3ZlLHSIzy~6#~N6&CMtJ4ANF-SEJY?<0*v8@?w_OH z_u1C>wIvx(;U_d?F3r0Foyr-Wx4PMfE>KB=qjSzh?*)ygh*B&{30ZN0o|cJsXy+ZT z*OoXZH;xv3hNzo7bTTqgplR@>#}QP9Xmqj{hA2}1T!*x}X6d9+}p|)iNT!%KV-AU)SYcR?=Kx+WOI!`%ts0$+x4? zf1Ona3QjScP>>)0-b43N?-py8f^S>jo?-Lmyt+@BUn1|t?L8FzLHOn0$>%+BY=dDp z=XfjIcX_+1m2}9K7>pk}kRkZLN5g*(iJkz^r7ch_qOL*&Ix$@%gT;pB5Xf+Ib04c0 z!E!|s1{EKF4+$rin2|m3T-yCBQqxfJu^*$s>J=J!DDLn^Vckp*v^FF*)o~v;Zjhd) zIw$v9!x2QI5&#slGCJL9tOq^f`f})~o0N`Urz@F2B9U949X22qLNjM<5 zs1P?5&hyvc>kugd<`PgjJtJfOgc}Bu=g*&KQ_(`n3RrmxSO#oD)uznl&rU?AMwm3!-I@gFvY(v8je<4}wx=3WmeIKYK+krY75JAmd}q^< z(IaDV73p5Lg8yRaG#&oAzt*bzz8c_E>j=QaVM$Km%Zl%{wu z7C~XX62h_|JqBbb8QIt0e<`aC&jxld^jwuh*X7uRy-bK4gCHMXtEaPUn4VEeg>vIv zQagw{2Hg_Il}pTc1qhzmP+46CKUwYWoZH)L+}xkcc$L|6e--A@UpvXCXwGD_q9?}u z+K4x{R`rT%-yMd{i&vT$!x!BzJviUsC+se{QWy76m{*yl{I6|?rbVgdG~>&K=W-i_ z7hU^lLgbwV{!x1R)cf*L)+(8U9@Hl|QtjMAsiq>|?OU^9_yy-)FZciS6aTqsY#H&^ z{2M$#?7KG>#GC>5Woqlc#Au1u#JndUIgQqDUfF@dojMgJEw^L5^5-eeo5l=Wh@!vlOd5q$wB%Zn(!X3YI6 z{sDw42LDr%0cilu-hDmAbtbN z7XW-9=c5`|fHn`$4a9_qk|k<3h^*J(w1Mtf&ee79T)W4<&W$Pj8MY1GaC|v`2JXmzaFROwElyFgu9;O?GrFfFu#D^XR&N z0yRV-`sTL7-#Rhf{_3r;r<9>h6bSlWOfdzCTh&{+1c3P>tccbZTHoF*VuVl; zDucMbNPS>5;NNyZAiG%YVjfZ}Z9W+=%Fyf*e~l9aCG3u=xzAQ0U-PQ#0RZIX(+@yr zSZ7nLw_ZA{6-a2CfwI$LVU|!am5cIy@?0A=)N4FI1BG^Oa-jb`RT*NhJeOPqeH zrVc1MLWAb1JSHwAhl-M^mrx3XGP|XEXl%uhrLd0Nw(l3lovD6ur?ncIDpDLvMuse^ zLUPW=*7rJfv94UZ_hG^2<6g3KA|ET*^lLW-Xt(t6`yUN{|6|;kY%?1_)LZeo&bq1M zb){vX9J>sM+4UnXX1qt6Po{1D>auceSUp}Se$rk}W4~&Nq-HzS!H+{nlEbyC8Y%PD z)WKre6r08Bz3T^-!cK{(Z4zG<#eH>tcw=F8Ti(>{P|Ka6r7y!ad8spfH`}Y%d=i>^ z(_&KK)3)_$-=POj=(k61>@yI%)^Fap*~)D2v-+-YQnkZ899)YdU#{CqXe@R*&bF~k zS5ZD08BM;E&~n)FuP>kadlAX)h)%Fk2#r=lw|<$_DabxK^A^Abdh8{T)D5 z&}1X>Qt?n4?1s-Pwruh7hBHPq_71%V)O{o5*WK8Fu`?hTxz2^fOA~Pn$!bJ2!JKyY z#dTAv&mvw9i5VF;R+kPeux-Efq>3DGeau@;!Iri;Ff>XmE7L%L;RaMUq7bAuHmckr z=T?Hp8?7>22xi>M;5dkG7HGr$xM!$9a7frHF(5_ADEn(T1z-ludZ?`uGeLxhBnFv4 z^i7HIzqb4h6XX`S&@d;Y)`6oXd?NP8!DL08B`E9`BWjFR?Dct1e>MFU0U}0o&jMgy zcu{CFtQ=o(k|@x8w^eTI zmMtn9pJiQXPE%i(xtzLB;yU%nqM1?04e7b<838Q1os+)Xn}$qwzCMz+v0QO#sDa@W z7k!}_6IKPmW%U?1z}r#f2h<0n)aTLHhQRQR4OEDvq0{3J{#Rh-7?_!LAlZGdu>GtM znc=Q+v)|azKK$Z_g98)5E_D|qDzWQ*&b;PJtEP0!P(n-6jH^N=E(iuW{z$m1qax&` z5U?>n>8(gFy^mjPuZVUj4YSijH?gc<_1vtTP7Cox7uxPO>MS4IxBXURd(=>YNkYC+ z+wje7E%lDkf(4h2%bNGjt}A&s^1A(_WTA=F#-a21r>S*^4);l)W0*|1yFJaWU!77* zYS#*w`)c+tQ{Uoq85m8pY!n9gu)yL1H_q?tyC=dL4E&c9Q{!G8f1tw){qr$9Ogx~U3}ibrHD?p^#koSxm2{X18hy=&`M~)Q zEMTBPf7G1qI420Ad??F-EZ3ssSf-8&LC%9g^>~fED!6Z!X>s?`!c@*%hU;g-(u=~Q z)(L)8)pL~1q-~$S++)yA@^NTc!J~1@S?dIO>yK#6Awl& zjl=J6)5f#!vGRWBWJ5P;S$N#LWbl@^XXR$^w+=z9|NOeZSYk#O2ou4VO4v)D50eem zN0Lq5Gh65yuO~I_6H{D$iod4Vb%Oj7=25aqF`JDFlr!;t*H!4B>0mYiG{7)8^sNcD z$+Q8HkSm;EEZAxrQUdx>a2QH9qhO7lge>v&xpU=7eGE4MSz%@IKA6HY%AmR}Y+>KC zRacwE7R~d@ZEJ^{-n5g#huhWLETm|819>;J-b+s?JkqyuO@m$kk6fESoWiJX#w*X0 zL`=J5+H3i>2hG%4F0K*D)?Bjp7V8rgOh1|PVU{(C`Uk7q!~f^2w5fJ;&-dttyXPY% zH1$TW)N@n9_=o-mcl(YjS8tGzN(OI zdvWGrn<tSN78ZNLkK3HsgSQkf|15v2}RqQ04An znN;`EyXl;#=FZIui{iiB7rgV=*E%hVw>&@W@O-6Bz|bT+rJY>$!TG(h+3Q`osicTx zmREa9=`}l_wNna*tD^=THK&?uR97qnvq;aj*KE2!A*nraxER07dFzK&Sx&hbGjl1@N42h& zyM5UuK(ZnT!lADPMG{m@9!iCSqY2R|S5tS1ka(W9OPdr%$OH`xus9B|bjTDYv>o+e8)_@tt9gol zZC_veLC4{vJgwmy^B$h@+i_#9TOss-09Q@qI=5Zyw+)=uu7|(J=7M@fQtQI6-*>k4 z-jVI^pJtsIU7nXYP91Q4YxV7U3s0|YFU7JvtEU|N<0|K3)Hl7e?XUxDEz}(lUx8i% z)OS#$-qxH3g8*$DQ;C+5kq7v6u}s4=;*Z<2;tA;tv~;yVGK|up1j2^YHY9&}C{r1AyrSg$aVHt&cu3hn9@Zh=Sl9swg@pLdsr;SC=OZ zi+amP-=o-ldh^KPthc0|vkcb;vQt%8b9I69V%7IuUOTwuPL!$Vjx9#7^H!kEZ;V*+ zan#kZS+zf&OrmnGrO~i!ib%g)XZg6aSJwmhccsCK6yv!Y9IpRxbM-hGm6eqtEe77B zm+NPLJrydi{_c_MM(O>}%9$31wP--F;gh5l|-} zcrkYuYuU`>Urs=S2%05$AW;^LOX^-7@IfHZN0kh|3)o$T8?fcs_dMpiSeh*u=)vA>v1<;WBC??-tRiu`^RSi*JtFAStgd}oNV+&Pc>Z3w z%a^(R142W=)d03)t1TKoO{~+K&fLIGYfR%?I`g$T5dN9_)^qnLG&49qxGP51l5YOC zmz+kigToc=7@4T6j!4z?teQi0EdQh1u`I1CkP@W zyqP?}1PB6Q&?+O!tQWFM1RHz44%f>0Q_}6<&$za0IN!9L82uDFl&tx(a5%M)QsY*D{56OzZ0dh4 zx-;9|0+Thz-Ys5OC%om_(l@u3vl=nhDpPTJ6PrVuhxvjSLkrSkXf+PeyJIF!)1!b0 zw&2W=6cgbo<}LwWeD(PUbESfR*1#?Z-(XM;A9lyioqI#8;r;RPkwZhhz6kg@C8n<$ zj3Ur2LV*~i5`dQoMN58ujQB!(+7(cjI)L43YHE^hzza_fG)p5r#xO7{D5%BV>kxv| z1cV8pKDb-I=Uz+3n-h>Gz`hYr5il*xwh(g2hD<&j!62FN9uhr}=l|)$SC94&veQM` z^b$E^t6zCX(-a)F&QBNbONw81y*-tr?hI#(Ig{O+-&h}D9bKCd55Az?{^ghDmX~*# zrR%=rxH_((q#Azz{*P7BO3x{f3_S(GIv9!ZK z>VnT9_E_~=j+ph9qn0K9wpktLEE^`aSQ@bOOo~-wkx;(0F5xRr;tbU}6}A~2asW81 zch=xJ6rrG#qDz=D6&l-kN|{Tkr!()hG8Z2-lA)UcbRQzSLn7ATaR-BiT+~4cLqkI- z1H-^z$q4*l()g#SN!WNmQy0T?crheM*vF6@EV_=9l`nJJITC!i=ze(ThJhhTjt{k~;>e) zbFr1W$6-h~d^*KE`788b@w$IK@KI*DTE>L%klg&^N8@KwDOfNR#C|WnO&3@<9 zR&UF1>38e7`&iX!Ty79XC5C*F7-V)ulSB z-aSfN&%K^1blYy0!N@4B?INl)pPN(M{!m!|qx;qtJM*}*n#EoAbAj#O?}Z(v7ReT6 zG$f4=D(z4ChqL?3?IoohqN{5;qpsaKxl`@zi_V65H|_N@Y6;_|hGzYntqPQcUpX4x zVtkn}LnSNF_s(OX)DXe5af5^2l1xNR?(Y@+{h$GQy4laYUQ7p68lBZcXs0R`*Q4hHPewE)3MD60)$XeQ? zvfQ$HCs-}+I~+Kd`@&IknbY0-fn+IH8ogVrfrCuo4cDE#V%jkO#be&8@$TT$xA67 z_Yc!A)7ZGPZ>p|2!>ui{x>m97K6#Upi8QWz#s7WXne>Iz?t2!Ju3irlDw+5q$==QF z`+V2lfSdxOMZtg%{F&DuzX~dvP&2yGk#4w7`0y)Nsp|zwjI6=@q_J!Yemy@k_t!&w=k=KcKmT7}nydpW{(6jm ze!6MR-#@uLN}>7tCn{R~UH|xry;l4mKb`;o#T)wK6G6D3MZ~*Bn{M^Dj=n0LqdO%V zkB6Rl`ekOtyrJG7dRtcU*PNz4S!VFGo;{6p!&}ysZq?^^?xO4+lxVJV9Yf5Oblhzg zPyfBdXaBwa4ue$ZDc#-Bx(X0k{r4i~Uq3Jq`fk8_r{tvy=6~E2&BRerQnQ4l%#+iX z=*+CG1#Rg5{6{XnmX40hC}pQ9nz@3s+$g;neGv=k_EHE!yn-6Ak)VaN)@m?Vkf+Sh z8nvPGdaEC(7swtWYR6|or&}}S2xk3^tgOfUvJ@{1{<#J5TP7wQC~sLv2S9FT2(!UO z_BkQ_9-`$*Wh|Tiy4I)|^h7fCKO8tvf zTuR=>Lf((ygxh}U+L9u9Y6Jo%k`6=J+1bzSw=9|$i~aR_`2LMn=E-@d2Y(w?OP!F{ zVXqq-3O9EMRWZXVZC!5UR3H3pt@&d6WVY(4NRh07=f8CRkY9I02 z{%u_}qX zgiOu#+T_3Q=eK1^T<#c6m8|18yL~%00~;jN)r=`zKhSopTNWbqxB)(qbq&2ytsTEN z4+p2r6Wog}Tfpvz1^12!jXr9%oQi7d$c9t>Q**eUz{p2PWU!_WMMHDtLp?f# z9hEBP`#VyMcj6Y{7K%_yH(04#s!y3Id+Y3Yum}8sc*8SKvFgqZuH%2iU-@ePW90;r4`t?()0Kz?+KAt-z*H3PNS;b04}}lSF+A8)%kNp(&TGR@ zMU|1x#`=WcQ;VV7Ycw=Me|AK;e37%?UuPzLP9ez2U*h*C$iM)>e(E67GAb8mp*GvU zeouVo^7z{X@Zt#yyhk6_J`B8)IMSD z8)7Vz*7wo+Nw>D%*4M_5Uu`$Ol#;#>S|#iL3W{EOuHSYac>LPLo{3UwVO0L)P}$S{ zhTUwBzE@P{RNvPa@#Lg23;gOe=0Mf<@OHvPv!P6ueS-;VS7aHhy6Z;fkCI6!qMq?p zZq_u;S!>PF_HI{H$4K#!L+)y2n%tLJQ!nf6xf;pQ+o7#NE1h-Mwsn&cxgz}EN5-E& zl^!`C<~So4t=RX1SwmCTEcl#4xd%tBcKTW6hMb|Ly4>mJ_Jylmq82?{5BBLqk{)kJ zooU=YR>x#|;Qi9mdIJGq&Qeu3V)lra!J%p2|2m&aE$|k0gY~lR6LDJ=Y?5148ow2; zH;bfC?mTz7H*&(WLSN-#Ohabo3yNIK8E1Fz&u#3J*3&)uleM*-AG8!4mh`_iH4%D8 zP&7b67YW0KY_|W#XIr+|c^ydMsm?iDsmbco?YtCf*mCCe{-=f)jBb@D?Z4dDa;@x0 z=z%1xi!-ywXs@fT19u5+?5V|)h6Z|6XHarm{y#%AR#x)`4FOkMJC|Bj z?O(Yr@FclhukV~RaJ^b?7n5odS(x`fmss@b7k!P>Ebclg3=dqj7@kKy(rFcO!Q=@% z7Pt+Vyjo4R@XFE_^1dPU0f2!4iM^CJ^#<@1XetW^8IuGcDt^gLKk%zj8nYFql9@?Y zIJbT3;)~Q@uF0?(LuFK8VnA2B%X}cvFx$G2_Z`>zI)028(7fn#@0}3F{V7kvkeE<# zRk84wKCAO}V3_Tnb}(BUu)=#PKdXOkk=-CY6El}8W&>CMlNkZ+TTfLg5Y}J>xkL>w zQOCb?;#NZ6q}oz$+FwEIKfhOt+@AzgG?~j?KKdh|UQkunG&c4`ou#~sb?YOdCj;75 zOdWl-8ft1{B8 zY79P%jF=I+aT*#?^3j;bM72W)4?KcMR2i@|GqyyN&?0M#JRiXI>Yc+bZv?WLmzYa3ypXzSSOnL6LjLkgT}H^vTl zBecjcdJYH_6sIsEgAQi)U>vCr$O8*hW00E>B%;7=00#NT88#|gjBjBoq|{4*1qyFk zTCVl=m!T&P^*7|Y1h;HyY3V5%!~bP&qTWbee0YkIxWKQ!%V~NK{JSFOHkg56(8fYu zlX!9k;1>f+U3i@n2BZ}^mrZ3AW0t+xrda^3&ru+^ z(A2lK1YhwOV5-o*d>$O!1?5~|QHSiGVIcHp=@T5DKxhE{7ya2W?^;4~Mn-9GFDI}j zC^`&7IORqlJ24On!oyDUOewb|xP#eQVWhV$Xx3u@mBzcof_!w#{G5|7_p%C2pN%@5zxczP3`e`xX_hSH_2y9|CB39j} zTf6u62O;J(Y4Y?�jj^#q78~!T+#(^Gl3}CnbGoX<@?Mg5)J_dUGWq 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

2U!lg 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

&Eb=ZUA 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

+ {alertRecentEvents?.map((typedEvent) => { @@ -172,7 +175,9 @@ function AlertRecentEventsTab({ alertDetails }: AlertRecentEventsTabProps) { return ( + @@ -211,23 +216,31 @@ function AlertRecentEventsTab({ alertDetails }: AlertRecentEventsTabProps) { } key={`${changeEventData.id}-${changeEventData.timestamp}`}> - + {Object.entries(changeEventDataToDisplay).map( ([key, value]) => isUndefined(value) ? null : ( - + - + {`${getLabelsForEventDetails( key as keyof AlertEventDetailsToDisplay )}:`} - + {value} @@ -326,7 +339,9 @@ function AlertRecentEventsTab({ alertDetails }: AlertRecentEventsTabProps) { data-testid="filter-button" icon={}> {filter !== AlertRecentEventFilters.ALL && ( - {` : ${getAlertEventsFilterLabels( + {` : ${getAlertEventsFilterLabels( filter as AlertRecentEventFilters )}`} )} diff --git a/openmetadata-ui/src/main/resources/ui/src/mocks/Alerts.mock.ts b/openmetadata-ui/src/main/resources/ui/src/mocks/Alerts.mock.ts index 0da9827e446c..a02008ec0d3b 100644 --- a/openmetadata-ui/src/main/resources/ui/src/mocks/Alerts.mock.ts +++ b/openmetadata-ui/src/main/resources/ui/src/mocks/Alerts.mock.ts @@ -11,6 +11,7 @@ * limitations under the License. */ +import { PagingResponse } from 'Models'; import { EventType, Status, @@ -306,3 +307,10 @@ export const mockAlertEventDiagnosticCounts = { successfulEventsCount: 9, failedEventsCount: 1, }; + +export const MOCK_TYPED_EVENT_LIST_RESPONSE: PagingResponse = { + data: MOCK_ALERT_RECENT_EVENTS, + paging: { + offset: 0, + }, +}; diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/AddNotificationPage/AddNotificationPage.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/AddNotificationPage/AddNotificationPage.tsx index 1cbd53638c93..3a5524edc642 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/AddNotificationPage/AddNotificationPage.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/AddNotificationPage/AddNotificationPage.tsx @@ -75,7 +75,8 @@ const AddNotificationPage = () => { const [form] = useForm(); const history = useHistory(); const { fqn } = useFqn(); - const { setInlineAlertDetails, inlineAlertDetails } = useApplicationStore(); + const { setInlineAlertDetails, inlineAlertDetails, currentUser } = + useApplicationStore(); const { getResourceLimit } = useLimitStore(); const [loadingCount, setLoadingCount] = useState(0); @@ -166,6 +167,7 @@ const AddNotificationPage = () => { data, fqn, initialData, + currentUser, createAlertAPI: createNotificationAlert, updateAlertAPI: updateNotificationAlert, afterSaveAction: async (fqn: string) => { @@ -180,7 +182,7 @@ const AddNotificationPage = () => { setIsButtonLoading(false); } }, - [fqn, history, initialData] + [fqn, history, initialData, currentUser] ); const [selectedTrigger] = diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/AddObservabilityPage/AddObservabilityPage.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/AddObservabilityPage/AddObservabilityPage.tsx index 6e1cf2f4a831..aa48c36fc632 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/AddObservabilityPage/AddObservabilityPage.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/AddObservabilityPage/AddObservabilityPage.tsx @@ -61,7 +61,8 @@ function AddObservabilityPage() { const history = useHistory(); const [form] = useForm(); const { fqn } = useFqn(); - const { setInlineAlertDetails, inlineAlertDetails } = useApplicationStore(); + const { setInlineAlertDetails, inlineAlertDetails, currentUser } = + useApplicationStore(); const [filterResources, setFilterResources] = useState< FilterResourceDescriptor[] @@ -143,6 +144,7 @@ function AddObservabilityPage() { data, fqn, initialData, + currentUser, createAlertAPI: createObservabilityAlert, updateAlertAPI: updateObservabilityAlert, afterSaveAction: async (fqn: string) => { @@ -157,7 +159,7 @@ function AddObservabilityPage() { setSaving(false); } }, - [fqn, history, initialData] + [fqn, history, initialData, currentUser] ); const [selectedTrigger] = diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/AlertDetailsPage/AlertDetailsPage.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/AlertDetailsPage/AlertDetailsPage.tsx index 89035f6398f8..835039f85638 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/AlertDetailsPage/AlertDetailsPage.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/AlertDetailsPage/AlertDetailsPage.tsx @@ -11,16 +11,7 @@ * limitations under the License. */ -import { - Button, - Col, - Row, - Skeleton, - Space, - Tabs, - Tooltip, - Typography, -} from 'antd'; +import { Button, Col, Row, Skeleton, Space, Tabs, Tooltip } from 'antd'; import { AxiosError } from 'axios'; import { compare } from 'fast-json-patch'; import { isUndefined, omitBy } from 'lodash'; @@ -32,11 +23,11 @@ import { ReactComponent as DeleteIcon } from '../../assets/svg/ic-delete.svg'; import AlertConfigDetails from '../../components/Alerts/AlertDetails/AlertConfigDetails/AlertConfigDetails'; import AlertRecentEventsTab from '../../components/Alerts/AlertDetails/AlertRecentEventsTab/AlertRecentEventsTab'; import DeleteWidgetModal from '../../components/common/DeleteWidget/DeleteWidgetModal'; +import DescriptionV1 from '../../components/common/EntityDescription/DescriptionV1'; import ErrorPlaceHolder from '../../components/common/ErrorWithPlaceholder/ErrorPlaceHolder'; import Loader from '../../components/common/Loader/Loader'; import { OwnerLabel } from '../../components/common/OwnerLabel/OwnerLabel.component'; import ResizablePanels from '../../components/common/ResizablePanels/ResizablePanels'; -import RichTextEditorPreviewer from '../../components/common/RichTextEditor/RichTextEditorPreviewer'; import TitleBreadcrumb from '../../components/common/TitleBreadcrumb/TitleBreadcrumb.component'; import EntityHeaderTitle from '../../components/Entity/EntityHeaderTitle/EntityHeaderTitle.component'; import { ROUTES } from '../../constants/constants'; @@ -93,6 +84,8 @@ function AlertDetailsPage({ const [ownerLoading, setOwnerLoading] = useState(false); const [alertEventCountsLoading, setAlertEventCountsLoading] = useState(false); const [showDeleteModal, setShowDeleteModal] = useState(false); + const [showDescriptionModal, setShowDescriptionModal] = + useState(false); const [alertPermission, setAlertPermission] = useState( DEFAULT_ENTITY_PERMISSION ); @@ -100,6 +93,7 @@ function AlertDetailsPage({ const { viewPermission, editOwnersPermission, + editDescriptionPermission, editPermission, deletePermission, } = useMemo( @@ -108,11 +102,21 @@ function AlertDetailsPage({ editPermission: alertPermission.EditAll, editOwnersPermission: alertPermission.EditAll || alertPermission.EditOwners, + editDescriptionPermission: + alertPermission.EditAll || alertPermission.EditDescription, deletePermission: alertPermission.Delete, }), [alertPermission] ); + const onDescriptionEdit = useCallback(() => { + setShowDescriptionModal(true); + }, []); + + const onCancel = useCallback(() => { + setShowDescriptionModal(false); + }, []); + const fetchResourcePermission = useCallback(async () => { try { if (fqn) { @@ -235,6 +239,28 @@ function AlertDetailsPage({ [fqn, history, alertDetails] ); + const onDescriptionUpdate = useCallback( + async (description: string) => { + try { + const jsonPatch = compare(omitBy(alertDetails, isUndefined), { + ...alertDetails, + description, + }); + + const updatedAlert = await (isNotificationAlert + ? updateNotificationAlert(alertDetails?.id ?? '', jsonPatch) + : updateObservabilityAlert(alertDetails?.id ?? '', jsonPatch)); + + setAlertDetails(updatedAlert); + } catch (error) { + showErrorToast(error as AxiosError); + } finally { + setShowDescriptionModal(false); + } + }, + [fqn, history, alertDetails] + ); + const tabItems = useMemo( () => [ { @@ -352,54 +378,54 @@ function AlertDetailsPage({ - {editPermission && ( - - - {`${t( - 'label.description' - )} :`} - - - )} + + + ({ + Link: jest + .fn() + .mockImplementation( + ({ children, ...props }: { children: React.ReactNode }) => ( +

{children}

+ ) + ), + useHistory: jest.fn().mockImplementation(() => ({ + push: mockPush, + })), +})); jest.mock('../../rest/alertsAPI', () => ({ getAllAlerts: jest.fn().mockImplementation(() => @@ -85,12 +101,43 @@ jest.mock( } ); +jest.mock('../../components/common/DeleteWidget/DeleteWidgetModal', () => { + return jest + .fn() + .mockImplementation(({ visible }) => + visible ?

DeleteWidgetModal

: null + ); +}); + jest.mock('../../hoc/LimitWrapper', () => { return jest .fn() .mockImplementation(({ children }) => <>LimitWrapper{children}); }); +jest.mock('../../context/PermissionProvider/PermissionProvider', () => ({ + usePermissionProvider: jest.fn().mockReturnValue({ + getEntityPermissionByFqn: jest.fn().mockReturnValue({ + Create: true, + Delete: true, + ViewAll: true, + EditAll: true, + EditDescription: true, + EditDisplayName: true, + EditCustomFields: true, + }), + getResourcePermission: jest.fn().mockReturnValue({ + Create: true, + Delete: true, + ViewAll: true, + EditAll: true, + EditDescription: true, + EditDisplayName: true, + EditCustomFields: true, + }), + }), +})); + describe('Notification Alerts Page Tests', () => { it('Title should be rendered', async () => { await act(async () => { @@ -139,7 +186,7 @@ describe('Notification Alerts Page Tests', () => { }); it('Table should render no data', async () => { - (getAllAlerts as jest.Mock).mockImplementation(() => + (getAllAlerts as jest.Mock).mockImplementationOnce(() => Promise.resolve({ data: [], paging: { total: 1 }, @@ -168,4 +215,88 @@ describe('Notification Alerts Page Tests', () => { {} ); }); + + it('should render edit and delete buttons for alerts with permissions', async () => { + await act(async () => { + render(, { + wrapper: MemoryRouter, + }); + }); + + const editButton = await screen.findByTestId('alert-edit-alert-test'); + const deleteButton = await screen.findByTestId('alert-delete-alert-test'); + + expect(editButton).toBeInTheDocument(); + expect(deleteButton).toBeInTheDocument(); + }); + + it('should open delete modal on delete button click', async () => { + await act(async () => { + render(, { + wrapper: MemoryRouter, + }); + }); + + const deleteButton = await screen.findByTestId('alert-delete-alert-test'); + + await act(async () => { + userEvent.click(deleteButton); + }); + + const deleteModal = await screen.findByText('DeleteWidgetModal'); + + expect(deleteModal).toBeInTheDocument(); + }); + + it('should navigate to add notification page on add button click', async () => { + await act(async () => { + render(, { + wrapper: MemoryRouter, + }); + }); + + const addButton = await screen.findByText(/label.add-entity/); + fireEvent.click(addButton); + + expect(mockPush).toHaveBeenCalledWith( + ROUTES.SETTINGS + '/notifications/add-notification' + ); + }); + + it('should not render edit and delete buttons for alerts without permissions', async () => { + (usePermissionProvider as jest.Mock).mockImplementation(() => ({ + getEntityPermissionByFqn: jest.fn().mockImplementation(() => ({ + Create: false, + Delete: false, + ViewAll: true, + EditAll: false, + EditDescription: false, + EditDisplayName: false, + EditCustomFields: false, + })), + getResourcePermission: jest.fn().mockImplementation(() => ({ + Create: false, + Delete: false, + ViewAll: true, + EditAll: false, + EditDescription: false, + EditDisplayName: false, + EditCustomFields: false, + })), + })); + + await act(async () => { + render(, { + wrapper: MemoryRouter, + }); + }); + + const addButton = screen.queryByText(/label.add-entity/); + const editButton = screen.queryByTestId('alert-edit-alert-test'); + const deleteButton = screen.queryByTestId('alert-delete-alert-test'); + + expect(addButton).not.toBeInTheDocument(); + expect(editButton).not.toBeInTheDocument(); + expect(deleteButton).not.toBeInTheDocument(); + }); }); diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/NotificationListPage/NotificationListPage.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/NotificationListPage/NotificationListPage.tsx index 1b7cb29ca247..c0547857265c 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/NotificationListPage/NotificationListPage.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/NotificationListPage/NotificationListPage.tsx @@ -10,7 +10,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { Button, Col, Row, Tooltip, Typography } from 'antd'; +import { Button, Col, Row, Skeleton, Tooltip, Typography } from 'antd'; import { AxiosError } from 'axios'; import { isEmpty, isUndefined } from 'lodash'; import React, { useCallback, useEffect, useMemo, useState } from 'react'; @@ -27,6 +27,7 @@ import TitleBreadcrumb from '../../components/common/TitleBreadcrumb/TitleBreadc import { TitleBreadcrumbProps } from '../../components/common/TitleBreadcrumb/TitleBreadcrumb.interface'; import PageHeader from '../../components/PageHeader/PageHeader.component'; import PageLayoutV1 from '../../components/PageLayoutV1/PageLayoutV1'; +import { NO_DATA_PLACEHOLDER } from '../../constants/constants'; import { ALERTS_DOCS } from '../../constants/docs.constants'; import { GlobalSettingOptions, @@ -34,6 +35,11 @@ import { } from '../../constants/GlobalSettings.constants'; import { PAGE_HEADERS } from '../../constants/PageHeaders.constant'; import { useLimitStore } from '../../context/LimitsProvider/useLimitsStore'; +import { usePermissionProvider } from '../../context/PermissionProvider/PermissionProvider'; +import { + OperationPermission, + ResourceEntity, +} from '../../context/PermissionProvider/PermissionProvider.interface'; import { ERROR_PLACEHOLDER_TYPE } from '../../enums/common.enum'; import { EntityType } from '../../enums/entity.enum'; import { @@ -70,6 +76,61 @@ const NotificationListPage = () => { paging, } = usePaging(); const { getResourceLimit } = useLimitStore(); + const { getEntityPermissionByFqn, getResourcePermission } = + usePermissionProvider(); + const [alertPermissions, setAlertPermissions] = useState< + { + id: string; + edit: boolean; + delete: boolean; + }[] + >(); + const [alertResourcePermission, setAlertResourcePermission] = + useState(); + + const fetchAlertPermissionByFqn = async (alertDetails: EventSubscription) => { + const permission = await getEntityPermissionByFqn( + ResourceEntity.EVENT_SUBSCRIPTION, + alertDetails.fullyQualifiedName ?? '' + ); + + const editPermission = permission.EditAll; + const deletePermission = permission.Delete; + + return { + id: alertDetails.id, + edit: editPermission, + delete: deletePermission, + }; + }; + + const fetchAlertResourcePermission = async () => { + try { + setLoadingCount((count) => count + 1); + const permission = await getResourcePermission( + ResourceEntity.EVENT_SUBSCRIPTION + ); + + setAlertResourcePermission(permission); + } catch { + // Error + } finally { + setLoadingCount((count) => count - 1); + } + }; + + const fetchAllAlertsPermission = async (alerts: EventSubscription[]) => { + try { + setLoadingCount((count) => count + 1); + const response = alerts.map((alert) => fetchAlertPermissionByFqn(alert)); + + setAlertPermissions(await Promise.all(response)); + } catch { + // Error + } finally { + setLoadingCount((count) => count - 1); + } + }; const breadcrumbs: TitleBreadcrumbProps['titleLinks'] = useMemo( () => @@ -99,6 +160,7 @@ const NotificationListPage = () => { } handlePagingChange(paging); + fetchAllAlertsPermission(data); } catch (error) { showErrorToast( t('server.entity-fetch-error', { entity: t('label.alert-plural') }) @@ -110,6 +172,10 @@ const NotificationListPage = () => { [pageSize] ); + useEffect(() => { + fetchAlertResourcePermission(); + }, []); + useEffect(() => { fetchAlerts(); }, [pageSize]); @@ -181,38 +247,60 @@ const NotificationListPage = () => { { title: t('label.action-plural'), dataIndex: 'fullyQualifiedName', - width: 120, + width: 90, key: 'fullyQualifiedName', - render: (id: string, record: EventSubscription) => { + render: (fullyQualifiedName: string, record: EventSubscription) => { + const alertPermission = alertPermissions?.find( + (alert) => alert.id === record.id + ); + if (loadingCount > 0) { + return ; + } + + if ( + isUndefined(alertPermission) || + (!alertPermission.edit && !alertPermission.delete) + ) { + return ( + + {NO_DATA_PLACEHOLDER} + + ); + } + return (
- - + {alertPermission.edit && ( + + +
); }, }, ], - [handleAlertDelete] + [alertPermissions, loadingCount] ); return ( @@ -224,21 +312,24 @@ const NotificationListPage = () => {
diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/ObservabilityAlertsPage/ObservabilityAlertsPage.test.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/ObservabilityAlertsPage/ObservabilityAlertsPage.test.tsx index f4ff7a4c9aca..296a7c189124 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/ObservabilityAlertsPage/ObservabilityAlertsPage.test.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/ObservabilityAlertsPage/ObservabilityAlertsPage.test.tsx @@ -10,9 +10,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { act, render, screen } from '@testing-library/react'; +import { act, fireEvent, render, screen } from '@testing-library/react'; import React from 'react'; import { MemoryRouter } from 'react-router-dom'; +import { usePermissionProvider } from '../../context/PermissionProvider/PermissionProvider'; import LimitWrapper from '../../hoc/LimitWrapper'; import { getAllAlerts } from '../../rest/alertsAPI'; import ObservabilityAlertsPage from './ObservabilityAlertsPage'; @@ -48,6 +49,20 @@ const MOCK_DATA = [ provider: 'user', }, ]; +const mockPush = jest.fn(); + +jest.mock('react-router-dom', () => ({ + Link: jest + .fn() + .mockImplementation( + ({ children, ...props }: { children: React.ReactNode }) => ( +

{children}

+ ) + ), + useHistory: jest.fn().mockImplementation(() => ({ + push: mockPush, + })), +})); jest.mock('../../rest/alertsAPI', () => ({ getAllAlerts: jest.fn().mockImplementation(() => @@ -57,6 +72,15 @@ jest.mock('../../rest/alertsAPI', () => ({ }) ), })); + +jest.mock('../../components/common/DeleteWidget/DeleteWidgetModal', () => { + return jest + .fn() + .mockImplementation(({ visible }) => + visible ?

DeleteWidgetModal

: null + ); +}); + jest.mock('../../components/PageLayoutV1/PageLayoutV1', () => { return jest.fn().mockImplementation(({ children }) =>
{children}
); }); @@ -67,6 +91,29 @@ jest.mock('../../hoc/LimitWrapper', () => { .mockImplementation(({ children }) => <>LimitWrapper{children}); }); +jest.mock('../../context/PermissionProvider/PermissionProvider', () => ({ + usePermissionProvider: jest.fn().mockReturnValue({ + getEntityPermissionByFqn: jest.fn().mockReturnValue({ + Create: true, + Delete: true, + ViewAll: true, + EditAll: true, + EditDescription: true, + EditDisplayName: true, + EditCustomFields: true, + }), + getResourcePermission: jest.fn().mockReturnValue({ + Create: true, + Delete: true, + ViewAll: true, + EditAll: true, + EditDescription: true, + EditDisplayName: true, + EditCustomFields: true, + }), + }), +})); + describe('Observability Alerts Page Tests', () => { it('Title should be rendered', async () => { await act(async () => { @@ -113,7 +160,7 @@ describe('Observability Alerts Page Tests', () => { }); it('Table should render no data', async () => { - (getAllAlerts as jest.Mock).mockImplementation(() => + (getAllAlerts as jest.Mock).mockImplementationOnce(() => Promise.resolve({ data: [], paging: { total: 1 }, @@ -144,4 +191,83 @@ describe('Observability Alerts Page Tests', () => { {} ); }); + + it('should render edit and delete buttons for alerts with permissions', async () => { + await act(async () => { + render(, { + wrapper: MemoryRouter, + }); + }); + + const editButton = await screen.findByTestId('alert-edit-alert-test'); + const deleteButton = await screen.findByTestId('alert-delete-alert-test'); + + expect(editButton).toBeInTheDocument(); + expect(deleteButton).toBeInTheDocument(); + }); + + it('should open delete modal on delete button click', async () => { + await act(async () => { + render(, { + wrapper: MemoryRouter, + }); + }); + const deleteButton = await screen.findByTestId('alert-delete-alert-test'); + + fireEvent.click(deleteButton); + + const deleteModal = await screen.findByText('DeleteWidgetModal'); + + expect(deleteModal).toBeInTheDocument(); + }); + + it('should navigate to add observability alert page on add button click', async () => { + await act(async () => { + render(, { + wrapper: MemoryRouter, + }); + }); + + const addButton = await screen.findByText(/label.add-entity/); + fireEvent.click(addButton); + + expect(mockPush).toHaveBeenCalledWith('/observability/alerts/add'); + }); + + it('should not render add, edit and delete buttons for alerts without permissions', async () => { + (usePermissionProvider as jest.Mock).mockImplementation(() => ({ + getEntityPermissionByFqn: jest.fn().mockImplementation(() => ({ + Create: false, + Delete: false, + ViewAll: true, + EditAll: false, + EditDescription: false, + EditDisplayName: false, + EditCustomFields: false, + })), + getResourcePermission: jest.fn().mockImplementation(() => ({ + Create: false, + Delete: false, + ViewAll: true, + EditAll: false, + EditDescription: false, + EditDisplayName: false, + EditCustomFields: false, + })), + })); + + await act(async () => { + render(, { + wrapper: MemoryRouter, + }); + }); + + const addButton = screen.queryByText(/label.add-entity/); + const editButton = screen.queryByTestId('alert-edit-alert-test'); + const deleteButton = screen.queryByTestId('alert-delete-alert-test'); + + expect(addButton).not.toBeInTheDocument(); + expect(editButton).not.toBeInTheDocument(); + expect(deleteButton).not.toBeInTheDocument(); + }); }); diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/ObservabilityAlertsPage/ObservabilityAlertsPage.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/ObservabilityAlertsPage/ObservabilityAlertsPage.tsx index 92f13624ee6a..d82a29e3c1f5 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/ObservabilityAlertsPage/ObservabilityAlertsPage.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/ObservabilityAlertsPage/ObservabilityAlertsPage.tsx @@ -10,9 +10,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { Button, Col, Row, Tooltip, Typography } from 'antd'; +import { Button, Col, Row, Skeleton, Tooltip, Typography } from 'antd'; import { AxiosError } from 'axios'; -import { isEmpty } from 'lodash'; +import { isEmpty, isUndefined } from 'lodash'; import React, { useCallback, useEffect, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Link, useHistory } from 'react-router-dom'; @@ -25,9 +25,14 @@ import { PagingHandlerParams } from '../../components/common/NextPrevious/NextPr import Table from '../../components/common/Table/Table'; import PageHeader from '../../components/PageHeader/PageHeader.component'; import PageLayoutV1 from '../../components/PageLayoutV1/PageLayoutV1'; -import { ROUTES } from '../../constants/constants'; +import { NO_DATA_PLACEHOLDER, ROUTES } from '../../constants/constants'; import { ALERTS_DOCS } from '../../constants/docs.constants'; import { useLimitStore } from '../../context/LimitsProvider/useLimitsStore'; +import { usePermissionProvider } from '../../context/PermissionProvider/PermissionProvider'; +import { + OperationPermission, + ResourceEntity, +} from '../../context/PermissionProvider/PermissionProvider.interface'; import { ERROR_PLACEHOLDER_TYPE } from '../../enums/common.enum'; import { EntityType } from '../../enums/entity.enum'; import { @@ -50,6 +55,7 @@ const ObservabilityAlertsPage = () => { const { t } = useTranslation(); const history = useHistory(); const [loading, setLoading] = useState(true); + const [loadingCount, setLoadingCount] = useState(0); const [alerts, setAlerts] = useState([]); const [selectedAlert, setSelectedAlert] = useState(); const { @@ -62,6 +68,61 @@ const ObservabilityAlertsPage = () => { paging, } = usePaging(); const { getResourceLimit } = useLimitStore(); + const { getEntityPermissionByFqn, getResourcePermission } = + usePermissionProvider(); + const [alertPermissions, setAlertPermissions] = useState< + { + id: string; + edit: boolean; + delete: boolean; + }[] + >(); + const [alertResourcePermission, setAlertResourcePermission] = + useState(); + + const fetchAlertResourcePermission = async () => { + try { + setLoadingCount((count) => count + 1); + const permission = await getResourcePermission( + ResourceEntity.EVENT_SUBSCRIPTION + ); + + setAlertResourcePermission(permission); + } catch { + // Error + } finally { + setLoadingCount((count) => count - 1); + } + }; + + const fetchAlertPermissionByFqn = async (alertDetails: EventSubscription) => { + const permission = await getEntityPermissionByFqn( + ResourceEntity.EVENT_SUBSCRIPTION, + alertDetails.fullyQualifiedName ?? '' + ); + + const editPermission = permission.EditAll; + const deletePermission = permission.Delete; + + return { + id: alertDetails.id, + edit: editPermission, + delete: deletePermission, + }; + }; + + const fetchAllAlertsPermission = async (alerts: EventSubscription[]) => { + try { + setLoadingCount((count) => count + 1); + const response = alerts.map((alert) => fetchAlertPermissionByFqn(alert)); + + setAlertPermissions(await Promise.all(response)); + } catch { + // Error + } finally { + setLoadingCount((count) => count - 1); + } + }; const fetchAlerts = useCallback( async (params?: Partial) => { @@ -73,9 +134,13 @@ const ObservabilityAlertsPage = () => { limit: pageSize, alertType: AlertType.Observability, }); + const alertsList = data.filter( + (d) => d.provider !== ProviderType.System + ); - setAlerts(data.filter((d) => d.provider !== ProviderType.System)); + setAlerts(alertsList); handlePagingChange(paging); + fetchAllAlertsPermission(alertsList); } catch (error) { showErrorToast( t('server.entity-fetch-error', { entity: t('label.alert-plural') }) @@ -87,6 +152,10 @@ const ObservabilityAlertsPage = () => { [pageSize] ); + useEffect(() => { + fetchAlertResourcePermission(); + }, []); + useEffect(() => { fetchAlerts(); }, [pageSize]); @@ -158,37 +227,59 @@ const ObservabilityAlertsPage = () => { { title: t('label.action-plural'), dataIndex: 'fullyQualifiedName', - width: 120, + width: 90, key: 'fullyQualifiedName', render: (fqn: string, record: EventSubscription) => { + const alertPermission = alertPermissions?.find( + (alert) => alert.id === record.id + ); + if (loadingCount > 0) { + return ; + } + + if ( + isUndefined(alertPermission) || + (!alertPermission.edit && !alertPermission.delete) + ) { + return ( + + {NO_DATA_PLACEHOLDER} + + ); + } + return ( -
- - +
+ {alertPermission.edit && ( + + +
); }, }, ], - [handleAlertDelete] + [alertPermissions, loadingCount] ); const pageHeaderData = useMemo( @@ -205,14 +296,17 @@ const ObservabilityAlertsPage = () => {
diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/Alerts/AlertsUtil.tsx b/openmetadata-ui/src/main/resources/ui/src/utils/Alerts/AlertsUtil.tsx index 57418219bc1f..d617a198ff6e 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/Alerts/AlertsUtil.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/utils/Alerts/AlertsUtil.tsx @@ -73,9 +73,11 @@ import { import { PAGE_SIZE_LARGE } from '../../constants/constants'; import { OPEN_METADATA } from '../../constants/Services.constant'; import { AlertRecentEventFilters } from '../../enums/Alerts.enum'; +import { EntityType } from '../../enums/entity.enum'; import { SearchIndex } from '../../enums/search.enum'; import { StatusType } from '../../generated/entity/data/pipeline'; import { PipelineState } from '../../generated/entity/services/ingestionPipelines/ingestionPipeline'; +import { User } from '../../generated/entity/teams/user'; import { CreateEventSubscription } from '../../generated/events/api/createEventSubscription'; import { EventsRecord } from '../../generated/events/api/eventsRecord'; import { @@ -1046,6 +1048,7 @@ export const handleAlertSave = async ({ updateAlertAPI, afterSaveAction, setInlineAlertDetails, + currentUser, }: { initialData?: EventSubscription; data: ModifiedCreateEventSubscription; @@ -1056,6 +1059,7 @@ export const handleAlertSave = async ({ afterSaveAction: (fqn: string) => Promise; setInlineAlertDetails: (alertDetails?: InlineAlertProps | undefined) => void; fqn?: string; + currentUser?: User; }) => { try { const destinations = data.destinations?.map((d) => { @@ -1110,6 +1114,16 @@ export const handleAlertSave = async ({ destinations, name: alertName, displayName: alertDisplayName, + ...(currentUser?.id + ? { + owners: [ + { + id: currentUser.id, + type: EntityType.USER, + }, + ], + } + : {}), }); } @@ -1326,18 +1340,21 @@ export const getAlertExtraInfo = ( return ( <> Date: Tue, 26 Nov 2024 18:11:37 +0530 Subject: [PATCH 25/36] Sort assets in search indexing app (#18791) --- .../resources/ui/src/utils/ApplicationUtils.test.ts | 13 +++++++------ .../resources/ui/src/utils/ApplicationUtils.tsx | 4 +++- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/ApplicationUtils.test.ts b/openmetadata-ui/src/main/resources/ui/src/utils/ApplicationUtils.test.ts index e01114a1a5a2..5c8783345462 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/ApplicationUtils.test.ts +++ b/openmetadata-ui/src/main/resources/ui/src/utils/ApplicationUtils.test.ts @@ -22,11 +22,12 @@ describe('ApplicationUtils tests', () => { it('getEntityStatsData should return stats data in array', () => { const resultData = getEntityStatsData(MOCK_APPLICATION_ENTITY_STATS); - expect(resultData).toEqual( - MOCK_APPLICATION_ENTITY_STATS_DATA.map((data) => ({ - ...data, - name: upperFirst(data.name), - })) - ); + const sortedMockData = MOCK_APPLICATION_ENTITY_STATS_DATA.map((data) => ({ + ...data, + name: upperFirst(data.name), + })).sort((a, b) => a.name.localeCompare(b.name)); + + // Verify the result matches the sorted mock data + expect(resultData).toEqual(sortedMockData); }); }); diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/ApplicationUtils.tsx b/openmetadata-ui/src/main/resources/ui/src/utils/ApplicationUtils.tsx index 089cf46d136d..7336d3533e64 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/ApplicationUtils.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/utils/ApplicationUtils.tsx @@ -60,7 +60,7 @@ export const getStatusFromPipelineState = (status: PipelineState) => { export const getEntityStatsData = (data: EntityStats): EntityStatsData[] => { const filteredRow = ['failedRecords', 'totalRecords', 'successRecords']; - return Object.keys(data).reduce((acc, key) => { + const result = Object.keys(data).reduce((acc, key) => { if (filteredRow.includes(key)) { return acc; } @@ -73,4 +73,6 @@ export const getEntityStatsData = (data: EntityStats): EntityStatsData[] => { }, ]; }, [] as EntityStatsData[]); + + return result.sort((a, b) => a.name.localeCompare(b.name)); }; From 490bbf62419011791fb38991a17bf62e433dabe4 Mon Sep 17 00:00:00 2001 From: Ashish Gupta Date: Tue, 26 Nov 2024 19:07:46 +0530 Subject: [PATCH 26/36] fix: tag page issue around disabled badge and Certification data in ES (#18697) * fix tag page issue around disabled badge and other * reset the unwanted code * modify playwright test for consumer and steward * modify tag es query to check the prefix in fqn * fix query and sonar issue * fix the asset not coming in Tier and Certification page tab * fix the playwright failure --- .../ui/playwright/e2e/Pages/Tag.spec.ts | 379 +++++++++--------- .../main/resources/ui/playwright/utils/tag.ts | 68 ++++ .../tabs/AssetsTabs.component.tsx | 3 +- .../AsyncSelectList/AsyncSelectList.tsx | 52 ++- .../ui/src/constants/Tag.constants.ts | 19 + .../ui/src/pages/TagPage/TagPage.tsx | 19 +- .../ui/src/utils/TagClassBase.test.ts | 3 +- .../resources/ui/src/utils/TagClassBase.ts | 3 +- .../resources/ui/src/utils/TagsUtils.test.tsx | 29 +- .../main/resources/ui/src/utils/TagsUtils.tsx | 10 + 10 files changed, 354 insertions(+), 231 deletions(-) diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Tag.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Tag.spec.ts index 5f0345321891..90c8189fff5c 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Tag.spec.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Tag.spec.ts @@ -10,242 +10,245 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { expect, test } from '@playwright/test'; +import { expect, Page, test as base } from '@playwright/test'; +import { DATA_STEWARD_RULES } from '../../constant/permission'; +import { PolicyClass } from '../../support/access-control/PoliciesClass'; +import { RolesClass } from '../../support/access-control/RolesClass'; import { ClassificationClass } from '../../support/tag/ClassificationClass'; import { TagClass } from '../../support/tag/TagClass'; -import { - createNewPage, - getApiContext, - redirectToHomePage, -} from '../../utils/common'; +import { UserClass } from '../../support/user/UserClass'; +import { performAdminLogin } from '../../utils/admin'; +import { redirectToHomePage } from '../../utils/common'; import { addAssetsToTag, checkAssetsCount, + editTagPageDescription, removeAssetsFromTag, setupAssetsForTag, + verifyTagPageUI, } from '../../utils/tag'; -test.use({ storageState: 'playwright/.auth/admin.json' }); +const adminUser = new UserClass(); +const dataConsumerUser = new UserClass(); +const dataStewardUser = new UserClass(); +const policy = new PolicyClass(); +const role = new RolesClass(); +const classification = new ClassificationClass({ + provider: 'system', + mutuallyExclusive: true, +}); +const tag = new TagClass({ + classification: classification.data.name, +}); + +const test = base.extend<{ + adminPage: Page; + dataConsumerPage: Page; + dataStewardPage: Page; +}>({ + adminPage: async ({ browser }, use) => { + const adminPage = await browser.newPage(); + await adminUser.login(adminPage); + await use(adminPage); + await adminPage.close(); + }, + dataConsumerPage: async ({ browser }, use) => { + const page = await browser.newPage(); + await dataConsumerUser.login(page); + await use(page); + await page.close(); + }, + dataStewardPage: async ({ browser }, use) => { + const page = await browser.newPage(); + await dataStewardUser.login(page); + await use(page); + await page.close(); + }, +}); -test.describe('Tag page', () => { +base.beforeAll('Setup pre-requests', async ({ browser }) => { + const { apiContext, afterAction } = await performAdminLogin(browser); + await adminUser.create(apiContext); + await adminUser.setAdminRole(apiContext); + await dataConsumerUser.create(apiContext); + await dataStewardUser.create(apiContext); + await dataStewardUser.setDataStewardRole(apiContext); + await policy.create(apiContext, DATA_STEWARD_RULES); + await role.create(apiContext, [policy.responseData.name]); + await classification.create(apiContext); + await tag.create(apiContext); + await afterAction(); +}); + +base.afterAll('Cleanup', async ({ browser }) => { + const { apiContext, afterAction } = await performAdminLogin(browser); + await adminUser.delete(apiContext); + await dataConsumerUser.delete(apiContext); + await dataStewardUser.delete(apiContext); + await policy.delete(apiContext); + await role.delete(apiContext); + await classification.delete(apiContext); + await tag.delete(apiContext); + await afterAction(); +}); + +test.describe('Tag Page with Admin Roles', () => { test.slow(true); - const classification = new ClassificationClass({ - provider: 'system', - mutuallyExclusive: true, + test('Verify Tag UI', async ({ adminPage }) => { + await verifyTagPageUI(adminPage, classification.data.name, tag); }); - test.beforeAll(async ({ browser }) => { - const { apiContext, afterAction } = await createNewPage(browser); - await classification.create(apiContext); - await afterAction(); - }); + test('Rename Tag name', async ({ adminPage }) => { + await redirectToHomePage(adminPage); + const res = adminPage.waitForResponse(`/api/v1/tags/name/*`); + await tag.visitPage(adminPage); + await res; + await adminPage.getByTestId('manage-button').click(); - test.afterAll(async ({ browser }) => { - const { apiContext, afterAction } = await createNewPage(browser); - await classification.delete(apiContext); - await afterAction(); - }); + await expect( + adminPage.locator('.ant-dropdown-placement-bottomRight') + ).toBeVisible(); - test('Verify Tag UI', async ({ page }) => { - await redirectToHomePage(page); - const { apiContext, afterAction } = await getApiContext(page); - const tag = new TagClass({ - classification: classification.data.name, - }); - try { - await tag.create(apiContext); - const res = page.waitForResponse(`/api/v1/tags/name/*`); - await tag.visitPage(page); - await res; + await adminPage.getByRole('menuitem', { name: 'Rename' }).click(); - await expect(page.getByText(tag.data.name)).toBeVisible(); - await expect(page.getByText(tag.data.description)).toBeVisible(); + await expect(adminPage.getByRole('dialog')).toBeVisible(); - const classificationTable = page.waitForResponse( - `/api/v1/classifications/name/*` - ); - await page.getByRole('link', { name: classification.data.name }).click(); - classificationTable; + await adminPage + .getByPlaceholder('Enter display name') + .fill('TestDisplayName'); - await page.getByTestId(tag.data.name).click(); - await res; + const updateName = adminPage.waitForResponse(`/api/v1/tags/*`); + await adminPage.getByTestId('save-button').click(); + updateName; - const classificationPage = page.waitForResponse( - `/api/v1/classifications*` - ); - await page.getByRole('link', { name: 'Classifications' }).click(); - await classificationPage; - } finally { - await tag.delete(apiContext); - await afterAction(); - } + await expect(adminPage.getByText('TestDisplayName')).toBeVisible(); }); - test('Rename Tag name', async ({ page }) => { - await redirectToHomePage(page); - const { apiContext, afterAction } = await getApiContext(page); - const tag = new TagClass({ - classification: classification.data.name, - }); - try { - await tag.create(apiContext); - const res = page.waitForResponse(`/api/v1/tags/name/*`); - await tag.visitPage(page); - await res; - await page.getByTestId('manage-button').click(); + test('Restyle Tag', async ({ adminPage }) => { + await redirectToHomePage(adminPage); + const res = adminPage.waitForResponse(`/api/v1/tags/name/*`); + await tag.visitPage(adminPage); + await res; + await adminPage.getByTestId('manage-button').click(); - await expect( - page.locator('.ant-dropdown-placement-bottomRight') - ).toBeVisible(); + await expect( + adminPage.locator('.ant-dropdown-placement-bottomRight') + ).toBeVisible(); - await page.getByRole('menuitem', { name: 'Rename' }).click(); + await adminPage.getByRole('menuitem', { name: 'Style' }).click(); - await expect(page.getByRole('dialog')).toBeVisible(); + await expect(adminPage.getByRole('dialog')).toBeVisible(); - await page.getByPlaceholder('Enter display name').fill('TestDisplayName'); + await adminPage.getByTestId('color-color-input').fill('#6366f1'); - const updateName = page.waitForResponse(`/api/v1/tags/*`); - await page.getByTestId('save-button').click(); - updateName; + const updateColor = adminPage.waitForResponse(`/api/v1/tags/*`); + await adminPage.locator('button[type="submit"]').click(); + updateColor; - await expect(page.getByText('TestDisplayName')).toBeVisible(); - } finally { - await tag.delete(apiContext); - await afterAction(); - } + await adminPage.waitForLoadState('networkidle'); + + await expect(adminPage.getByText(tag.data.name)).toBeVisible(); }); - test('Restyle Tag', async ({ page }) => { - await redirectToHomePage(page); - const { apiContext, afterAction } = await getApiContext(page); - const tag = new TagClass({ - classification: classification.data.name, - }); - try { - await tag.create(apiContext); - const res = page.waitForResponse(`/api/v1/tags/name/*`); - await tag.visitPage(page); - await res; - await page.getByTestId('manage-button').click(); + test('Edit Tag Description', async ({ adminPage }) => { + await redirectToHomePage(adminPage); + const res = adminPage.waitForResponse(`/api/v1/tags/name/*`); + await tag.visitPage(adminPage); + await res; + await adminPage.getByTestId('edit-description').click(); - await expect( - page.locator('.ant-dropdown-placement-bottomRight') - ).toBeVisible(); + await expect(adminPage.getByRole('dialog')).toBeVisible(); - await page.getByRole('menuitem', { name: 'Style' }).click(); + await adminPage.locator('.toastui-editor-pseudo-clipboard').clear(); + await adminPage + .locator('.toastui-editor-pseudo-clipboard') + .fill(`This is updated test description for tag ${tag.data.name}.`); - await expect(page.getByRole('dialog')).toBeVisible(); + const editDescription = adminPage.waitForResponse(`/api/v1/tags/*`); + await adminPage.getByTestId('save').click(); + await editDescription; - await page.getByTestId('color-color-input').fill('#6366f1'); + await expect(adminPage.getByTestId('viewer-container')).toContainText( + `This is updated test description for tag ${tag.data.name}.` + ); + }); - const updateColor = page.waitForResponse(`/api/v1/tags/*`); - await page.locator('button[type="submit"]').click(); - updateColor; + test('Delete a Tag', async ({ adminPage }) => { + await redirectToHomePage(adminPage); + const res = adminPage.waitForResponse(`/api/v1/tags/name/*`); + await tag.visitPage(adminPage); + await res; + await adminPage.getByTestId('manage-button').click(); - await expect(page.getByText(tag.data.name)).toBeVisible(); - } finally { - await tag.delete(apiContext); - await afterAction(); - } - }); + await expect( + adminPage.locator('.ant-dropdown-placement-bottomRight') + ).toBeVisible(); - test('Edit Tag Description', async ({ page }) => { - await redirectToHomePage(page); - const { apiContext, afterAction } = await getApiContext(page); - const tag = new TagClass({ - classification: classification.data.name, - }); - try { - await tag.create(apiContext); - const res = page.waitForResponse(`/api/v1/tags/name/*`); - await tag.visitPage(page); - await res; - await page.getByTestId('edit-description').click(); - - await expect(page.getByRole('dialog')).toBeVisible(); - - await page.locator('.toastui-editor-pseudo-clipboard').clear(); - await page - .locator('.toastui-editor-pseudo-clipboard') - .fill(`This is updated test description for tag ${tag.data.name}.`); - - const editDescription = page.waitForResponse(`/api/v1/tags/*`); - await page.getByTestId('save').click(); - await editDescription; - - await expect(page.getByTestId('viewer-container')).toContainText( - `This is updated test description for tag ${tag.data.name}.` - ); - } finally { - await tag.delete(apiContext); - await afterAction(); - } + await adminPage.getByRole('menuitem', { name: 'Delete' }).click(); + + await expect(adminPage.getByRole('dialog')).toBeVisible(); + + await adminPage.getByTestId('confirmation-text-input').fill('DELETE'); + + const deleteTag = adminPage.waitForResponse(`/api/v1/tags/*`); + await adminPage.getByTestId('confirm-button').click(); + deleteTag; + + await expect( + adminPage.getByText(classification.data.description) + ).toBeVisible(); }); - test('Delete a Tag', async ({ page }) => { - await redirectToHomePage(page); - const { apiContext, afterAction } = await getApiContext(page); - const tag = new TagClass({ - classification: classification.data.name, + test('Add and Remove Assets', async ({ adminPage }) => { + await redirectToHomePage(adminPage); + const { assets } = await setupAssetsForTag(adminPage); + + await test.step('Add Asset', async () => { + const res = adminPage.waitForResponse(`/api/v1/tags/name/*`); + await tag.visitPage(adminPage); + await res; + await addAssetsToTag(adminPage, assets); }); - try { - await tag.create(apiContext); - const res = page.waitForResponse(`/api/v1/tags/name/*`); - await tag.visitPage(page); + + await test.step('Delete Asset', async () => { + const res = adminPage.waitForResponse(`/api/v1/tags/name/*`); + await tag.visitPage(adminPage); await res; - await page.getByTestId('manage-button').click(); - await expect( - page.locator('.ant-dropdown-placement-bottomRight') - ).toBeVisible(); + await removeAssetsFromTag(adminPage, assets); + await checkAssetsCount(adminPage, 0); + }); + }); +}); - await page.getByRole('menuitem', { name: 'Delete' }).click(); +test.describe('Tag Page with Data Consumer Roles', () => { + test.slow(true); - await expect(page.getByRole('dialog')).toBeVisible(); + test('Verify Tag UI for Data Consumer', async ({ dataConsumerPage }) => { + await verifyTagPageUI( + dataConsumerPage, + classification.data.name, + tag, + true + ); + }); - await page.getByTestId('confirmation-text-input').fill('DELETE'); + test('Edit Tag Description or Data Consumer', async ({ + dataConsumerPage, + }) => { + await editTagPageDescription(dataConsumerPage, tag); + }); +}); - const deleteTag = page.waitForResponse(`/api/v1/tags/*`); - await page.getByTestId('confirm-button').click(); - deleteTag; +test.describe('Tag Page with Data Steward Roles', () => { + test.slow(true); - await expect( - page.getByText(classification.data.description) - ).toBeVisible(); - } finally { - await afterAction(); - } + test('Verify Tag UI for Data Steward', async ({ dataStewardPage }) => { + await verifyTagPageUI(dataStewardPage, classification.data.name, tag, true); }); - test('Add and Remove Assets', async ({ page }) => { - await redirectToHomePage(page); - const { apiContext, afterAction } = await getApiContext(page); - const tag = new TagClass({ - classification: classification.data.name, - }); - const { assets } = await setupAssetsForTag(page); - try { - await tag.create(apiContext); - const res = page.waitForResponse(`/api/v1/tags/name/*`); - await tag.visitPage(page); - await res; - - await test.step('Add Asset', async () => { - await addAssetsToTag(page, assets); - - await expect( - page.locator('[role="dialog"].ant-modal') - ).not.toBeVisible(); - }); - - await test.step('Delete Asset', async () => { - await removeAssetsFromTag(page, assets); - await checkAssetsCount(page, 0); - }); - } finally { - await tag.delete(apiContext); - await afterAction(); - } + test('Edit Tag Description for Data Steward', async ({ dataStewardPage }) => { + await editTagPageDescription(dataStewardPage, tag); }); }); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/utils/tag.ts b/openmetadata-ui/src/main/resources/ui/playwright/utils/tag.ts index d88aeb599305..536542f315ac 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/utils/tag.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/utils/tag.ts @@ -17,6 +17,7 @@ import { DashboardClass } from '../support/entity/DashboardClass'; import { EntityClass } from '../support/entity/EntityClass'; import { TableClass } from '../support/entity/TableClass'; import { TopicClass } from '../support/entity/TopicClass'; +import { TagClass } from '../support/tag/TagClass'; import { getApiContext, NAME_MIN_MAX_LENGTH_VALIDATION_ERROR, @@ -83,6 +84,7 @@ export const removeAssetsFromTag = async ( page: Page, assets: EntityClass[] ) => { + await page.getByTestId('assets').click(); for (const asset of assets) { const fqn = get(asset, 'entityResponseData.fullyQualifiedName'); await page.locator(`[data-testid="table-data-card_${fqn}"] input`).check(); @@ -227,3 +229,69 @@ export const addTagToTableColumn = async ( ) ).toBeVisible(); }; + +export const verifyTagPageUI = async ( + page: Page, + classificationName: string, + tag: TagClass, + limitedAccess = false +) => { + await redirectToHomePage(page); + const res = page.waitForResponse(`/api/v1/tags/name/*`); + await tag.visitPage(page); + await res; + + await expect(page.getByTestId('entity-header-name')).toContainText( + tag.data.name + ); + await expect(page.getByText(tag.data.description)).toBeVisible(); + + if (limitedAccess) { + await expect( + page.getByTestId('data-classification-add-button') + ).not.toBeVisible(); + await expect(page.getByTestId('manage-button')).not.toBeVisible(); + await expect(page.getByTestId('add-domain')).not.toBeVisible(); + + // Asset tab should show no data placeholder and not add asset button + await page.getByTestId('assets').click(); + + await expect(page.getByTestId('no-data-placeholder')).toBeVisible(); + } + + const classificationTable = page.waitForResponse( + `/api/v1/classifications/name/*` + ); + await page.getByRole('link', { name: classificationName }).click(); + classificationTable; + + await page.getByTestId(tag.data.name).click(); + await res; + + const classificationPage = page.waitForResponse(`/api/v1/classifications*`); + await page.getByRole('link', { name: 'Classifications' }).click(); + await classificationPage; +}; + +export const editTagPageDescription = async (page: Page, tag: TagClass) => { + await redirectToHomePage(page); + const res = page.waitForResponse(`/api/v1/tags/name/*`); + await tag.visitPage(page); + await res; + await page.getByTestId('edit-description').click(); + + await expect(page.getByRole('dialog')).toBeVisible(); + + await page.locator('.toastui-editor-pseudo-clipboard').clear(); + await page + .locator('.toastui-editor-pseudo-clipboard') + .fill(`This is updated test description for tag ${tag.data.name}.`); + + const editDescription = page.waitForResponse(`/api/v1/tags/*`); + await page.getByTestId('save').click(); + await editDescription; + + await expect(page.getByTestId('viewer-container')).toContainText( + `This is updated test description for tag ${tag.data.name}.` + ); +}; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Glossary/GlossaryTerms/tabs/AssetsTabs.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Glossary/GlossaryTerms/tabs/AssetsTabs.component.tsx index eacc9417c362..579be93c4fd4 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Glossary/GlossaryTerms/tabs/AssetsTabs.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Glossary/GlossaryTerms/tabs/AssetsTabs.component.tsx @@ -89,6 +89,7 @@ import { escapeESReservedCharacters, getEncodedFqn, } from '../../../../utils/StringsUtils'; +import { getTagAssetsQueryFilter } from '../../../../utils/TagsUtils'; import { showErrorToast } from '../../../../utils/ToastUtils'; import ErrorPlaceHolder from '../../../common/ErrorWithPlaceholder/ErrorPlaceHolder'; import { ManageButtonItemLabel } from '../../../common/ManageButtonContentItem/ManageButtonContentItem.component'; @@ -215,7 +216,7 @@ const AssetsTabs = forwardRef( return queryFilter ?? ''; default: - return `(tags.tagFQN:"${encodedFqn}")`; + return getTagAssetsQueryFilter(encodedFqn); } }, [type, fqn, entityFqn]); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/common/AsyncSelectList/AsyncSelectList.tsx b/openmetadata-ui/src/main/resources/ui/src/components/common/AsyncSelectList/AsyncSelectList.tsx index 29a04a7a475c..c10ba5908001 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/common/AsyncSelectList/AsyncSelectList.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/common/AsyncSelectList/AsyncSelectList.tsx @@ -122,36 +122,30 @@ const AsyncSelectList: FC = ({ ); const tagOptions = useMemo(() => { - const newTags = options - .filter((tag) => !tag.label?.startsWith(`Tier${FQN_SEPARATOR_CHAR}`)) // To filter out Tier tags - .map((tag) => { - const displayName = tag.data?.displayName; - const parts = Fqn.split(tag.label); - const lastPartOfTag = isEmpty(displayName) - ? parts.slice(-1).join(FQN_SEPARATOR_CHAR) - : displayName; - parts.pop(); + const newTags = options.map((tag) => { + const displayName = tag.data?.displayName; + const parts = Fqn.split(tag.label); + const lastPartOfTag = isEmpty(displayName) + ? parts.slice(-1).join(FQN_SEPARATOR_CHAR) + : displayName; + parts.pop(); - return { - label: tag.label, - displayName: ( - - - {parts.join(FQN_SEPARATOR_CHAR)} - - - {lastPartOfTag} - - - ), - value: tag.value, - data: tag.data, - }; - }); + return { + label: tag.label, + displayName: ( + + + {parts.join(FQN_SEPARATOR_CHAR)} + + + {lastPartOfTag} + + + ), + value: tag.value, + data: tag.data, + }; + }); return newTags; }, [options]); diff --git a/openmetadata-ui/src/main/resources/ui/src/constants/Tag.constants.ts b/openmetadata-ui/src/main/resources/ui/src/constants/Tag.constants.ts index 5d80bc7ea275..6ea8ba1e8eb6 100644 --- a/openmetadata-ui/src/main/resources/ui/src/constants/Tag.constants.ts +++ b/openmetadata-ui/src/main/resources/ui/src/constants/Tag.constants.ts @@ -32,3 +32,22 @@ export enum TAG_START_WITH { PLUS = '+', SOURCE_ICON = 'source_icon', } + +export const queryFilterToRemoveSomeClassification = { + query: { + bool: { + must_not: [ + { + prefix: { + fullyQualifiedName: 'Certification.', + }, + }, + { + prefix: { + fullyQualifiedName: 'Tier.', + }, + }, + ], + }, + }, +}; diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/TagPage/TagPage.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/TagPage/TagPage.tsx index 467d5d6e26a1..626a3e782eb3 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/TagPage/TagPage.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/TagPage/TagPage.tsx @@ -78,7 +78,6 @@ import { SearchIndex } from '../../enums/search.enum'; import { ProviderType, Tag } from '../../generated/entity/classification/tag'; import { Style } from '../../generated/type/tagLabel'; import { useFqn } from '../../hooks/useFqn'; -import { MOCK_TAG_PERMISSIONS } from '../../mocks/Tags.mock'; import { searchData } from '../../rest/miscAPI'; import { deleteTag, getTagByFqn, patchTag } from '../../rest/tagAPI'; import { getEntityDeleteMessage } from '../../utils/CommonUtils'; @@ -92,7 +91,10 @@ import { escapeESReservedCharacters, getEncodedFqn, } from '../../utils/StringsUtils'; -import { getQueryFilterToExcludeTerms } from '../../utils/TagsUtils'; +import { + getQueryFilterToExcludeTerms, + getTagAssetsQueryFilter, +} from '../../utils/TagsUtils'; import { showErrorToast, showSuccessToast } from '../../utils/ToastUtils'; import './tag-page.less'; import { TagTabs } from './TagPage.inteface'; @@ -149,13 +151,10 @@ const TagPage = () => { const isEditable = !tagItem.disabled && !tagItem.deleted; return { - editTagsPermission: - isEditable && (tagPermissions.EditTags || tagPermissions.EditAll), + editTagsPermission: isEditable && tagPermissions.EditAll, editDescriptionPermission: isEditable && - (tagPermissions.EditDescription || - tagPermissions.EditAll || - tagPermissions.EditTags), + (tagPermissions.EditDescription || tagPermissions.EditAll), }; } @@ -317,7 +316,7 @@ const TagPage = () => { '', 1, 0, - `(tags.tagFQN:"${encodedFqn}")`, + getTagAssetsQueryFilter(encodedFqn), '', '', SearchIndex.ALL @@ -478,7 +477,7 @@ const TagPage = () => { assetCount={assetCount} entityFqn={tagItem?.fullyQualifiedName ?? ''} isSummaryPanelOpen={Boolean(previewAsset)} - permissions={MOCK_TAG_PERMISSIONS} + permissions={tagPermissions} ref={assetTabRef} type={AssetsOfEntity.TAG} onAddAsset={() => setAssetModalVisible(true)} @@ -573,7 +572,7 @@ const TagPage = () => { { filters: 'disabled:false', pageNumber: page, pageSize: 10, // Assuming PAGE_SIZE is 10 - queryFilter: {}, + queryFilter: queryFilterToRemoveSomeClassification, searchIndex: SearchIndex.TAG, }); }); diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/TagClassBase.ts b/openmetadata-ui/src/main/resources/ui/src/utils/TagClassBase.ts index 554b6317e93b..decb520cc99d 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/TagClassBase.ts +++ b/openmetadata-ui/src/main/resources/ui/src/utils/TagClassBase.ts @@ -11,6 +11,7 @@ * limitations under the License. */ import { PAGE_SIZE } from '../constants/constants'; +import { queryFilterToRemoveSomeClassification } from '../constants/Tag.constants'; import { SearchIndex } from '../enums/search.enum'; import { searchQuery } from '../rest/searchAPI'; import { escapeESReservedCharacters, getEncodedFqn } from './StringsUtils'; @@ -24,7 +25,7 @@ class TagClassBase { filters: 'disabled:false', pageNumber: page, pageSize: PAGE_SIZE, - queryFilter: {}, + queryFilter: queryFilterToRemoveSomeClassification, searchIndex: SearchIndex.TAG, }); diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/TagsUtils.test.tsx b/openmetadata-ui/src/main/resources/ui/src/utils/TagsUtils.test.tsx index 421d49e8cdc6..f9cb82e3f13c 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/TagsUtils.test.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/utils/TagsUtils.test.tsx @@ -11,7 +11,11 @@ * limitations under the License. */ import { render } from '@testing-library/react'; -import { getDeleteIcon, getUsageCountLink } from './TagsUtils'; +import { + getDeleteIcon, + getTagAssetsQueryFilter, + getUsageCountLink, +} from './TagsUtils'; describe('getDeleteIcon', () => { it('renders CheckOutlined icon when deleteTagId matches id and status is "success"', () => { @@ -82,3 +86,26 @@ describe('getUsageCountLink', () => { ); }); }); + +describe('getTagAssetsQueryFilter', () => { + it('returns query filter for tagFQN starting with "Tier"', () => { + const tagFQN = 'Tier.Tier1'; + const result = getTagAssetsQueryFilter(tagFQN); + + expect(result).toBe(`(tier.tagFQN:"${tagFQN}")`); + }); + + it('returns query filter for tagFQN starting with "Certification"', () => { + const tagFQN = 'Certification.Gold'; + const result = getTagAssetsQueryFilter(tagFQN); + + expect(result).toBe(`(certification.tagLabel.tagFQN:"${tagFQN}")`); + }); + + it('returns common query filter for tagFQN starting with any name expect "Tier and Certification"', () => { + const tagFQN = 'ClassificationTag.Gold'; + const result = getTagAssetsQueryFilter(tagFQN); + + expect(result).toBe(`(tags.tagFQN:"${tagFQN}")`); + }); +}); diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/TagsUtils.tsx b/openmetadata-ui/src/main/resources/ui/src/utils/TagsUtils.tsx index 2a54c6ad35ad..93dc8a9790ce 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/TagsUtils.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/utils/TagsUtils.tsx @@ -353,3 +353,13 @@ export const getQueryFilterToExcludeTerms = (fqn: string) => ({ }, }, }); + +export const getTagAssetsQueryFilter = (fqn: string) => { + if (fqn.includes('Tier.')) { + return `(tier.tagFQN:"${fqn}")`; + } else if (fqn.includes('Certification.')) { + return `(certification.tagLabel.tagFQN:"${fqn}")`; + } else { + return `(tags.tagFQN:"${fqn}")`; + } +}; From de3d7c40db2e52933866e8e9741ad1622c9a8282 Mon Sep 17 00:00:00 2001 From: Shailesh Parmar Date: Tue, 26 Nov 2024 20:49:36 +0530 Subject: [PATCH 27/36] GEN-2031: fix Add profiler configuration button in Data Quality tab (#18798) --- .../QualityTab/QualityTab.component.tsx | 34 +++++++++++++++++-- .../QualityTab/QualityTab.test.tsx | 20 +++++++++++ 2 files changed, 52 insertions(+), 2 deletions(-) diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Database/Profiler/TableProfiler/QualityTab/QualityTab.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Database/Profiler/TableProfiler/QualityTab/QualityTab.component.tsx index 4cb10b0ae923..464c3c98fe29 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Database/Profiler/TableProfiler/QualityTab/QualityTab.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Database/Profiler/TableProfiler/QualityTab/QualityTab.component.tsx @@ -11,11 +11,22 @@ * limitations under the License. */ import { DownOutlined } from '@ant-design/icons'; -import { Button, Col, Dropdown, Form, Row, Select, Space, Tabs } from 'antd'; +import { + Button, + Col, + Dropdown, + Form, + Row, + Select, + Space, + Tabs, + Tooltip, +} from 'antd'; import { isEmpty } from 'lodash'; import React, { useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { useHistory } from 'react-router-dom'; +import { ReactComponent as SettingIcon } from '../../../../../assets/svg/ic-settings-primery.svg'; import { getEntityDetailsPath, INITIAL_PAGING_VALUE, @@ -64,6 +75,7 @@ export const QualityTab = () => { testCasePaging, table, testCaseSummary, + onSettingButtonClick, } = useTableProfiler(); const { getResourceLimit } = useLimitStore(); @@ -76,7 +88,12 @@ export const QualityTab = () => { showPagination, } = testCasePaging; - const editTest = permissions.EditAll || permissions.EditTests; + const { editTest, editDataProfile } = useMemo(() => { + return { + editTest: permissions?.EditAll || permissions?.EditTests, + editDataProfile: permissions?.EditAll || permissions?.EditDataProfile, + }; + }, [permissions]); const { fqn: datasetFQN } = useFqn(); const history = useHistory(); const { t } = useTranslation(); @@ -293,6 +310,19 @@ export const QualityTab = () => { )} + + {editDataProfile && ( + + + + )} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Database/Profiler/TableProfiler/QualityTab/QualityTab.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Database/Profiler/TableProfiler/QualityTab/QualityTab.test.tsx index f88e571fb727..1ff14abad5ce 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Database/Profiler/TableProfiler/QualityTab/QualityTab.test.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Database/Profiler/TableProfiler/QualityTab/QualityTab.test.tsx @@ -35,6 +35,7 @@ const mockTable = { const mockPush = jest.fn(); const mockUseTableProfiler = { tableProfiler: MOCK_TABLE, + onSettingButtonClick: jest.fn(), permissions: { EditAll: true, EditDataProfile: true, @@ -136,6 +137,9 @@ describe('QualityTab', () => { 'message.page-sub-header-for-data-quality' ); expect(await screen.findByTestId('mock-searchbar')).toBeInTheDocument(); + expect( + await screen.findByTestId('profiler-setting-btn') + ).toBeInTheDocument(); expect( await screen.findByText('label.test-case-plural') ).toBeInTheDocument(); @@ -262,4 +266,20 @@ describe('QualityTab', () => { expect(await screen.findByText('label.success')).toBeInTheDocument(); expect(await screen.findByText('label.aborted')).toBeInTheDocument(); }); + + it('should call onSettingButtonClick', async () => { + await act(async () => { + render(); + }); + + const profilerSettingBtn = await screen.findByTestId( + 'profiler-setting-btn' + ); + + await act(async () => { + fireEvent.click(profilerSettingBtn); + }); + + expect(mockUseTableProfiler.onSettingButtonClick).toHaveBeenCalled(); + }); }); From 943d606fb908f8313807cef48eb23ab19ebba530 Mon Sep 17 00:00:00 2001 From: Karan Hotchandani <33024356+karanh37@users.noreply.github.com> Date: Tue, 26 Nov 2024 20:56:55 +0530 Subject: [PATCH 28/36] Workflow UI changes (#18790) * minor workflow changes * fix json logic fixes for extension field * fix tests --- .../AdvanceSearchProvider.component.tsx | 9 +- .../Steps/ScheduleInterval.interface.ts | 6 + .../AddIngestion/Steps/ScheduleInterval.tsx | 3 +- .../QueryBuilderWidget/QueryBuilderWidget.tsx | 5 +- .../src/constants/AdvancedSearch.constants.ts | 8 + .../ui/src/enums/AdvancedSearch.enum.ts | 1 + .../ui/src/utils/JSONLogicSearchClassBase.ts | 17 +- .../ui/src/utils/QueryBuilderUtils.tsx | 145 +++++++++++++----- 8 files changed, 137 insertions(+), 57 deletions(-) diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Explore/AdvanceSearchProvider/AdvanceSearchProvider.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Explore/AdvanceSearchProvider/AdvanceSearchProvider.component.tsx index 53c2e18f7be6..9f612e84c287 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Explore/AdvanceSearchProvider/AdvanceSearchProvider.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Explore/AdvanceSearchProvider/AdvanceSearchProvider.component.tsx @@ -21,6 +21,7 @@ import React, { } from 'react'; import { Config, + Field, FieldGroup, ImmutableTree, JsonTree, @@ -28,7 +29,10 @@ import { ValueField, } from 'react-awesome-query-builder'; import { useHistory, useParams } from 'react-router-dom'; -import { emptyJsonTree } from '../../../constants/AdvancedSearch.constants'; +import { + emptyJsonTree, + TEXT_FIELD_OPERATORS, +} from '../../../constants/AdvancedSearch.constants'; import { SearchIndex } from '../../../enums/search.enum'; import useCustomLocation from '../../../hooks/useCustomLocation/useCustomLocation'; import { TabsInfoData } from '../../../pages/ExplorePage/ExplorePage.interface'; @@ -214,7 +218,7 @@ export const AdvanceSearchProvider = ({ }, [history, location.pathname]); const fetchCustomPropertyType = async () => { - const subfields: Record = {}; + const subfields: Record = {}; try { const res = await getAllCustomProperties(); @@ -226,6 +230,7 @@ export const AdvanceSearchProvider = ({ subfields[field.name] = { type: 'text', valueSources: ['value'], + operators: TEXT_FIELD_OPERATORS, }; } }); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Settings/Services/AddIngestion/Steps/ScheduleInterval.interface.ts b/openmetadata-ui/src/main/resources/ui/src/components/Settings/Services/AddIngestion/Steps/ScheduleInterval.interface.ts index dbfbc53f6ba8..8a893a814d90 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Settings/Services/AddIngestion/Steps/ScheduleInterval.interface.ts +++ b/openmetadata-ui/src/main/resources/ui/src/components/Settings/Services/AddIngestion/Steps/ScheduleInterval.interface.ts @@ -13,6 +13,7 @@ import { LoadingState } from 'Models'; import { ReactNode } from 'react'; +import { SchedularOptions } from '../../../../../enums/Schedular.enum'; export type ScheduleIntervalProps = { status: LoadingState; @@ -34,6 +35,11 @@ export type ScheduleIntervalProps = { }; topChildren?: ReactNode; showActionButtons?: boolean; + schedularOptions?: { + title: string; + description: string; + value: SchedularOptions; + }[]; }; export interface WorkflowExtraConfig { diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Settings/Services/AddIngestion/Steps/ScheduleInterval.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Settings/Services/AddIngestion/Steps/ScheduleInterval.tsx index a854a5b9da78..61c883551519 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Settings/Services/AddIngestion/Steps/ScheduleInterval.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Settings/Services/AddIngestion/Steps/ScheduleInterval.tsx @@ -79,6 +79,7 @@ const ScheduleInterval = ({ defaultSchedule, topChildren, showActionButtons = true, + schedularOptions = SCHEDULAR_OPTIONS, }: ScheduleIntervalProps) => { const { t } = useTranslation(); // Since includePeriodOptions can limit the schedule options @@ -224,7 +225,7 @@ const ScheduleInterval = ({ className="schedular-card-container" data-testid="schedular-card-container" value={selectedSchedular}> - {SCHEDULAR_OPTIONS.map(({ description, title, value }) => ( + {schedularOptions.map(({ description, title, value }) => ( = ({ const updatedQ = { query: query, }; - const parsedTree = getJsonTreeFromQueryFilter(updatedQ) as JsonTree; + const parsedTree = getJsonTreeFromQueryFilter( + updatedQ, + config.fields + ) as JsonTree; if (Object.keys(parsedTree).length > 0) { const tree1 = QbUtils.checkTree( diff --git a/openmetadata-ui/src/main/resources/ui/src/constants/AdvancedSearch.constants.ts b/openmetadata-ui/src/main/resources/ui/src/constants/AdvancedSearch.constants.ts index ba729e26fcec..6d93765a0270 100644 --- a/openmetadata-ui/src/main/resources/ui/src/constants/AdvancedSearch.constants.ts +++ b/openmetadata-ui/src/main/resources/ui/src/constants/AdvancedSearch.constants.ts @@ -291,6 +291,14 @@ export const LINEAGE_DROPDOWN_ITEMS = [ }, ]; +export const TEXT_FIELD_OPERATORS = [ + 'equal', + 'not_equal', + 'like', + 'not_like', + 'is_null', + 'is_not_null', +]; /** * Generates a query builder tree with a group containing an empty rule */ diff --git a/openmetadata-ui/src/main/resources/ui/src/enums/AdvancedSearch.enum.ts b/openmetadata-ui/src/main/resources/ui/src/enums/AdvancedSearch.enum.ts index 3906c0da638f..355f7d8894f9 100644 --- a/openmetadata-ui/src/main/resources/ui/src/enums/AdvancedSearch.enum.ts +++ b/openmetadata-ui/src/main/resources/ui/src/enums/AdvancedSearch.enum.ts @@ -82,4 +82,5 @@ export enum EntityReferenceFields { TAG = 'tags.tagFQN', TIER = 'tier.tagFQN', TABLE_TYPE = 'tableType', + EXTENSION = 'extension', } diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/JSONLogicSearchClassBase.ts b/openmetadata-ui/src/main/resources/ui/src/utils/JSONLogicSearchClassBase.ts index 1d68f486ae89..25bc69ed366a 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/JSONLogicSearchClassBase.ts +++ b/openmetadata-ui/src/main/resources/ui/src/utils/JSONLogicSearchClassBase.ts @@ -20,6 +20,7 @@ import { SelectFieldSettings, } from 'react-awesome-query-builder'; import AntdConfig from 'react-awesome-query-builder/lib/config/antd'; +import { TEXT_FIELD_OPERATORS } from '../constants/AdvancedSearch.constants'; import { PAGE_SIZE_BASE } from '../constants/constants'; import { EntityFields, @@ -287,16 +288,7 @@ class JSONLogicSearchClassBase { label: t('label.description'), type: 'text', mainWidgetProps: this.mainWidgetProps, - operators: [ - 'equal', - 'not_equal', - 'like', - 'not_like', - 'starts_with', - 'ends_with', - 'is_null', - 'is_not_null', - ], + operators: TEXT_FIELD_OPERATORS, }, [EntityReferenceFields.TAG]: { label: t('label.tag-plural'), @@ -313,11 +305,12 @@ class JSONLogicSearchClassBase { }, }, - extension: { + [EntityReferenceFields.EXTENSION]: { label: t('label.custom-property-plural'), - type: '!group', + type: '!struct', mainWidgetProps: this.mainWidgetProps, subfields: {}, + operators: TEXT_FIELD_OPERATORS, }, }; }; diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/QueryBuilderUtils.tsx b/openmetadata-ui/src/main/resources/ui/src/utils/QueryBuilderUtils.tsx index f7b7c25a2cad..de07b53e9149 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/QueryBuilderUtils.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/utils/QueryBuilderUtils.tsx @@ -15,7 +15,12 @@ import { Button } from 'antd'; import { t } from 'i18next'; import { isUndefined } from 'lodash'; import React from 'react'; -import { Fields, RenderSettings } from 'react-awesome-query-builder'; +import { + FieldGroup, + Fields, + RenderSettings, +} from 'react-awesome-query-builder'; +import { EntityReferenceFields } from '../enums/AdvancedSearch.enum'; import { EsBoolQuery, EsExistsQuery, @@ -26,6 +31,34 @@ import { } from '../pages/ExplorePage/ExplorePage.interface'; import { generateUUID } from './StringsUtils'; +export const JSONLOGIC_FIELDS_TO_IGNORE_SPLIT = [ + EntityReferenceFields.EXTENSION, +]; + +const resolveFieldType = ( + fields: Fields, + field: string +): string | undefined => { + // Split the field into parts (e.g., "extension.expert") + const fieldParts = field.split('.'); + let currentField = fields[fieldParts[0]]; + + // If the top-level field doesn't exist, return undefined + if (!currentField) { + return undefined; + } + + // Traverse nested subfields if there are more parts + for (let i = 1; i < fieldParts.length; i++) { + if (!(currentField as FieldGroup)?.subfields?.[fieldParts[i]]) { + return undefined; // Subfield not found + } + currentField = (currentField as FieldGroup).subfields[fieldParts[i]]; + } + + return currentField?.type; +}; + export const getSelectEqualsNotEqualsProperties = ( parentPath: Array, field: string, @@ -33,6 +66,12 @@ export const getSelectEqualsNotEqualsProperties = ( operator: string ) => { const id = generateUUID(); + const isEqualNotEqualOp = ['equal', 'not_equal'].includes(operator); + const valueType = isEqualNotEqualOp + ? ['text'] + : Array.isArray(value) + ? ['multiselect'] + : ['select']; return { [id]: { @@ -43,20 +82,12 @@ export const getSelectEqualsNotEqualsProperties = ( value: [value], valueSrc: ['value'], operatorOptions: null, - valueType: Array.isArray(value) ? ['multiselect'] : ['select'], - asyncListValues: Array.isArray(value) - ? value.map((valueItem) => ({ - key: valueItem, - value: valueItem, - children: valueItem, - })) - : [ - { - key: value, - value, - children: value, - }, - ], + valueType: valueType, + asyncListValues: isEqualNotEqualOp + ? undefined + : Array.isArray(value) + ? value.map((item) => ({ key: item, value: item, children: item })) + : [{ key: value, value, children: value }], }, id, path: [...parentPath, id], @@ -177,7 +208,8 @@ export const getEqualFieldProperties = ( export const getJsonTreePropertyFromQueryFilter = ( parentPath: Array, - queryFilter: QueryFieldInterface[] + queryFilter: QueryFieldInterface[], + fields?: Fields ) => { const convertedObj = queryFilter.reduce( (acc, curr: QueryFieldInterface): Record => { @@ -187,27 +219,34 @@ export const getJsonTreePropertyFromQueryFilter = ( ...getEqualFieldProperties(parentPath, curr.term?.deleted as boolean), }; } else if (!isUndefined(curr.term)) { + const [field, value] = Object.entries(curr.term)[0]; + const fieldType = fields ? resolveFieldType(fields, field) : ''; + const op = fieldType === 'text' ? 'equal' : 'select_equals'; + return { ...acc, ...getSelectEqualsNotEqualsProperties( parentPath, - Object.keys(curr.term)[0], - Object.values(curr.term)[0] as string, - 'select_equals' + field, + value as string, + op ), }; } else if ( !isUndefined((curr.bool?.must_not as QueryFieldInterface)?.term) ) { const value = Object.values((curr.bool?.must_not as EsTerm)?.term)[0]; + const key = Object.keys((curr.bool?.must_not as EsTerm)?.term)[0]; + const fieldType = fields ? resolveFieldType(fields, key) : ''; + const op = fieldType === 'text' ? 'not_equal' : 'select_not_equals'; return { ...acc, ...getSelectEqualsNotEqualsProperties( parentPath, - Object.keys((curr.bool?.must_not as EsTerm)?.term)[0], + key, value as string, - Array.isArray(value) ? 'select_not_any_in' : 'select_not_equals' + Array.isArray(value) ? 'select_not_any_in' : op ), }; } else if ( @@ -292,7 +331,8 @@ export const getJsonTreePropertyFromQueryFilter = ( }; export const getJsonTreeFromQueryFilter = ( - queryFilter: QueryFilterInterface + queryFilter: QueryFilterInterface, + fields?: Fields ) => { try { const id1 = generateUUID(); @@ -309,7 +349,8 @@ export const getJsonTreeFromQueryFilter = ( children1: getJsonTreePropertyFromQueryFilter( [id1, id2], (mustFilters?.[0]?.bool as EsBoolQuery) - .must as QueryFieldInterface[] + .must as QueryFieldInterface[], + fields ), id: id2, path: [id1, id2], @@ -437,36 +478,41 @@ export const elasticsearchToJsonLogic = ( if (query.term) { const termQuery = query.term; - const field = Object.keys(termQuery)[0]; - const value = termQuery[field]; + const [field, value] = Object.entries(termQuery)[0]; const op = Array.isArray(value) ? 'in' : '=='; + if (field.includes('.')) { const [parentField, childField] = field.split('.'); - return { - some: [ - { var: parentField }, - { - [op]: [{ var: childField }, value], - }, - ], - }; + return JSONLOGIC_FIELDS_TO_IGNORE_SPLIT.includes( + parentField as EntityReferenceFields + ) + ? { '==': [{ var: field }, value] } + : { + some: [ + { var: parentField }, + { [op]: [{ var: childField }, value] }, + ], + }; } - return { - '==': [{ var: field }, value], - }; + return { '==': [{ var: field }, value] }; } if (query.exists) { - const existsQuery = query.exists; - const field = existsQuery.field; + const { field } = query.exists; if (field.includes('.')) { const [parentField] = field.split('.'); return { - '!!': { var: parentField }, + '!!': { + var: JSONLOGIC_FIELDS_TO_IGNORE_SPLIT.includes( + parentField as EntityReferenceFields + ) + ? field + : parentField, + }, }; } @@ -478,13 +524,22 @@ export const elasticsearchToJsonLogic = ( if (query.wildcard) { const wildcardQuery = query.wildcard; const field = Object.keys(wildcardQuery)[0]; - // const value = field.value; const value = wildcardQuery[field].value; if (field.includes('.')) { // use in operator for wildcards const [parentField, childField] = field.split('.'); + if ( + JSONLOGIC_FIELDS_TO_IGNORE_SPLIT.includes( + parentField as EntityReferenceFields + ) + ) { + return { + in: [{ var: field }, value], + }; + } + return { some: [ { var: parentField }, @@ -556,7 +611,15 @@ export const jsonLogicToElasticsearch = ( if (logic['==']) { const [field, value] = logic['==']; const fieldVar = parentField ? `${parentField}.${field.var}` : field.var; - if (typeof field === 'object' && field.var && field.var.includes('.')) { + const [parentKey] = field.var.split('.'); + if ( + typeof field === 'object' && + field.var && + field.var.includes('.') && + !JSONLOGIC_FIELDS_TO_IGNORE_SPLIT.includes( + parentKey as EntityReferenceFields + ) + ) { return { bool: { must: [ From 68abc1a821f2460c02d804a061f61fd9b6b6123a Mon Sep 17 00:00:00 2001 From: Teddy Date: Tue, 26 Nov 2024 16:34:46 +0100 Subject: [PATCH 29/36] fix: minor observability bugs (#18795) --- .../TestCaseResolutionStatusRepository.java | 6 --- .../service/jdbi3/TestSuiteRepository.java | 46 ++++++++++++------- .../TestCaseResolutionStatusResource.java | 6 --- 3 files changed, 29 insertions(+), 29 deletions(-) diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/TestCaseResolutionStatusRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/TestCaseResolutionStatusRepository.java index 564fecc64807..7fb596d0b5a9 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/TestCaseResolutionStatusRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/TestCaseResolutionStatusRepository.java @@ -401,12 +401,6 @@ public void inferIncidentSeverity(TestCaseResolutionStatus incident) { incident.setSeverity(severity); } - public void deleteTestCaseFailedSamples(TestCaseResolutionStatus entity) { - TestCaseRepository testCaseRepository = - (TestCaseRepository) Entity.getEntityRepository(Entity.TEST_CASE); - testCaseRepository.deleteTestCaseFailedRowsSample(entity.getTestCaseReference().getId()); - } - public static String addOriginEntityFQNJoin(ListFilter filter, String condition) { // if originEntityFQN is present, we need to join with test_case table if (filter.getQueryParam("originEntityFQN") != null) { diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/TestSuiteRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/TestSuiteRepository.java index 8d80bbfc237d..291c55cb077a 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/TestSuiteRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/TestSuiteRepository.java @@ -15,7 +15,6 @@ import java.io.IOException; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; @@ -228,39 +227,52 @@ public DataQualityReport getDataQualityReport(String q, String aggQuery, String } public TestSummary getTestSummary(List testCaseResults) { - Map> summaries = + record ProcessedTestCaseResults(String entityLink, String status) {} + + List processedTestCaseResults = testCaseResults.stream() + .map( + result -> { + TestCase testCase = + Entity.getEntityByName(TEST_CASE, result.getTestCaseName(), "", ALL); + MessageParser.EntityLink entityLink = + MessageParser.EntityLink.parse(testCase.getEntityLink()); + String linkString = + entityLink.getFieldName() == null ? "table" : entityLink.getLinkString(); + return new ProcessedTestCaseResults(linkString, result.getStatus().toString()); + }) + .toList(); + + Map> summaries = + processedTestCaseResults.stream() .collect( Collectors.groupingBy( - result -> { - TestCase testCase = - Entity.getEntityByName(TEST_CASE, result.getTestCaseName(), "", ALL); - MessageParser.EntityLink entityLink = - MessageParser.EntityLink.parse(testCase.getEntityLink()); - return entityLink.getFieldName() == null - ? "table" - : entityLink.getLinkString(); - }, + ProcessedTestCaseResults::entityLink, Collectors.groupingBy( - result -> result.getStatus().toString(), + ProcessedTestCaseResults::status, Collectors.collectingAndThen(Collectors.counting(), Long::intValue)))); - Map testSummaryMap = summaries.getOrDefault("table", new HashMap<>()); - TestSummary testSummary = createTestSummary(testSummaryMap); - testSummary.setTotal(testCaseResults.size()); + Map testSummaryMap = + processedTestCaseResults.stream() + .collect( + Collectors.groupingBy( + result -> result.status, + Collectors.collectingAndThen(Collectors.counting(), Long::intValue))); List columnTestSummaryDefinitions = summaries.entrySet().stream() .filter(entry -> !entry.getKey().equals("table")) .map( entry -> { - Map columnSummaryMap = entry.getValue(); ColumnTestSummaryDefinition columnTestSummaryDefinition = - createColumnSummary(columnSummaryMap); + createColumnSummary(entry.getValue()); columnTestSummaryDefinition.setEntityLink(entry.getKey()); return columnTestSummaryDefinition; }) .toList(); + + TestSummary testSummary = createTestSummary(testSummaryMap); + testSummary.setTotal(testCaseResults.size()); testSummary.setColumnTestSummary(columnTestSummaryDefinitions); return testSummary; } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/resources/dqtests/TestCaseResolutionStatusResource.java b/openmetadata-service/src/main/java/org/openmetadata/service/resources/dqtests/TestCaseResolutionStatusResource.java index e807d3d0ce52..4a12f5eff632 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/resources/dqtests/TestCaseResolutionStatusResource.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/resources/dqtests/TestCaseResolutionStatusResource.java @@ -282,12 +282,6 @@ public Response patch( authorizer.authorize(securityContext, operationContext, resourceContext); RestUtil.PatchResponse response = repository.patch(id, patch, securityContext.getUserPrincipal().getName()); - if (response - .entity() - .getTestCaseResolutionStatusType() - .equals(TestCaseResolutionStatusTypes.Resolved)) { - repository.deleteTestCaseFailedSamples(response.entity()); - } return response.toResponse(); } From 3e7808ba78c1adc0615189278b6e1e728464b411 Mon Sep 17 00:00:00 2001 From: Imri Paran Date: Tue, 26 Nov 2024 16:40:32 +0100 Subject: [PATCH 30/36] fixed either annotation (#18778) * fixed either annotation * added back Entity * using `typing_extensions.Annotated` for compatibility with python3.8 * removed bound T for Either --- ingestion/src/metadata/ingestion/api/models.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/ingestion/src/metadata/ingestion/api/models.py b/ingestion/src/metadata/ingestion/api/models.py index 6a576978efb6..3410b787af1b 100644 --- a/ingestion/src/metadata/ingestion/api/models.py +++ b/ingestion/src/metadata/ingestion/api/models.py @@ -14,20 +14,24 @@ from typing import Generic, Optional, TypeVar from pydantic import BaseModel, Field +from typing_extensions import Annotated from metadata.generated.schema.entity.services.ingestionPipelines.status import ( StackTraceError, ) -# Entities are instances of BaseModel Entity = BaseModel + T = TypeVar("T") class Either(BaseModel, Generic[T]): """Any execution should return us Either an Entity of an error for us to handle""" - left: Optional[StackTraceError] = Field( - None, description="Error encountered during execution" - ) - right: Optional[T] = Field(None, description="Correct instance of an Entity") + left: Annotated[ + Optional[StackTraceError], + Field(description="Error encountered during execution", default=None), + ] + right: Annotated[ + Optional[T], Field(description="Correct instance of an Entity", default=None) + ] From 2e9efe5b828e5d1b03cc96c047fce745ae1d15a6 Mon Sep 17 00:00:00 2001 From: Imri Paran Date: Tue, 26 Nov 2024 16:42:18 +0100 Subject: [PATCH 31/36] MINOR: fix: use importer as module (#18793) * fix: use importer as module to allow monkeypatching in collate * Update i_validator_builder.py --- .../metadata/data_quality/builders/i_validator_builder.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ingestion/src/metadata/data_quality/builders/i_validator_builder.py b/ingestion/src/metadata/data_quality/builders/i_validator_builder.py index d24df9034178..66cececad6fa 100644 --- a/ingestion/src/metadata/data_quality/builders/i_validator_builder.py +++ b/ingestion/src/metadata/data_quality/builders/i_validator_builder.py @@ -25,7 +25,7 @@ from metadata.generated.schema.tests.testCase import TestCase, TestCaseParameterValue from metadata.generated.schema.type.basic import Timestamp from metadata.profiler.processor.runner import QueryRunner -from metadata.utils.importer import import_test_case_class +from metadata.utils import importer if TYPE_CHECKING: from pandas import DataFrame @@ -59,7 +59,8 @@ def __init__( """ self._test_case = test_case self.runner = runner - self.validator_cls: Type[BaseTestValidator] = import_test_case_class( + # TODO this will be removed on https://github.com/open-metadata/OpenMetadata/pull/18716 + self.validator_cls: Type[BaseTestValidator] = importer.import_test_case_class( entity_type, self._get_source_type(), self.test_case.testDefinition.fullyQualifiedName, # type: ignore From 8cade39bade38fcdb0affe3c5ba24aaa63f258f1 Mon Sep 17 00:00:00 2001 From: IceS2 Date: Tue, 26 Nov 2024 17:04:59 +0100 Subject: [PATCH 32/36] MINOR: Increase visibility on flowable process (#18792) * Add annotation to turn delete_recursive test into the last one to be executed * Improve Fetching Entities by only fetching the FQN * Cut back default batchsize to 500 * implement logging for flowable process * Implement Error Handling Flow * Remove testing code * Checking if User is Reviewer when resolving glossary task --- .../MainWorkflowTerminationListener.java | 34 ++++++++---- .../governance/workflows/Workflow.java | 2 + .../workflows/WorkflowFailureListener.java | 33 ++++++++++++ .../governance/workflows/WorkflowHandler.java | 15 ++++++ ...flowInstanceExecutionIdSetterListener.java | 23 +++++++- .../workflows/WorkflowInstanceListener.java | 36 +++++++++---- .../WorkflowInstanceStageListener.java | 26 +++++---- .../workflows/elements/NodeInterface.java | 23 ++++++++ .../CheckEntityAttributesTask.java | 9 ++++ .../SetEntityCertificationTask.java | 9 ++++ .../SetGlossaryTermStatusTask.java | 9 ++++ .../impl/CheckEntityAttributesImpl.java | 23 ++++++-- .../impl/SetEntityCertificationImpl.java | 39 +++++++++----- .../impl/SetGlossaryTermStatusImpl.java | 31 ++++++++--- .../elements/nodes/endEvent/EndEvent.java | 7 +++ .../nodes/userTask/UserApprovalTask.java | 8 +++ .../userTask/impl/CreateApprovalTaskImpl.java | 41 +++++++++----- .../impl/SetApprovalAssigneesImpl.java | 54 ++++++++++++------- .../userTask/impl/SetCandidateUsersImpl.java | 27 ++++++++-- .../triggers/EventBasedEntityTrigger.java | 26 +++++++++ .../triggers/PeriodicBatchEntityTrigger.java | 6 +++ .../workflows/flowable/MainWorkflow.java | 25 ++++++++- .../service/jdbi3/FeedRepository.java | 3 ++ .../service/jdbi3/GlossaryTermRepository.java | 6 ++- .../jdbi3/WorkflowInstanceRepository.java | 9 +++- .../WorkflowInstanceStateRepository.java | 6 +++ .../workflows/workflowInstance.json | 4 ++ .../workflows/workflowInstanceState.json | 4 ++ 28 files changed, 442 insertions(+), 96 deletions(-) create mode 100644 openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/WorkflowFailureListener.java diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/MainWorkflowTerminationListener.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/MainWorkflowTerminationListener.java index 9af9538935f5..f5e075d97e4d 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/MainWorkflowTerminationListener.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/MainWorkflowTerminationListener.java @@ -1,30 +1,42 @@ package org.openmetadata.service.governance.workflows; import static org.openmetadata.service.governance.workflows.Workflow.STAGE_INSTANCE_STATE_ID_VARIABLE; +import static org.openmetadata.service.governance.workflows.WorkflowHandler.getProcessDefinitionKeyFromId; import java.util.UUID; +import lombok.extern.slf4j.Slf4j; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.JavaDelegate; import org.openmetadata.service.Entity; import org.openmetadata.service.jdbi3.WorkflowInstanceRepository; import org.openmetadata.service.jdbi3.WorkflowInstanceStateRepository; +@Slf4j public class MainWorkflowTerminationListener implements JavaDelegate { @Override public void execute(DelegateExecution execution) { - WorkflowInstanceStateRepository workflowInstanceStateRepository = - (WorkflowInstanceStateRepository) - Entity.getEntityTimeSeriesRepository(Entity.WORKFLOW_INSTANCE_STATE); + try { + WorkflowInstanceStateRepository workflowInstanceStateRepository = + (WorkflowInstanceStateRepository) + Entity.getEntityTimeSeriesRepository(Entity.WORKFLOW_INSTANCE_STATE); - UUID workflowInstanceStateId = (UUID) execution.getVariable(STAGE_INSTANCE_STATE_ID_VARIABLE); - workflowInstanceStateRepository.updateStage( - workflowInstanceStateId, System.currentTimeMillis(), execution.getVariables()); + UUID workflowInstanceStateId = (UUID) execution.getVariable(STAGE_INSTANCE_STATE_ID_VARIABLE); + workflowInstanceStateRepository.updateStage( + workflowInstanceStateId, System.currentTimeMillis(), execution.getVariables()); - WorkflowInstanceRepository workflowInstanceRepository = - (WorkflowInstanceRepository) Entity.getEntityTimeSeriesRepository(Entity.WORKFLOW_INSTANCE); + WorkflowInstanceRepository workflowInstanceRepository = + (WorkflowInstanceRepository) + Entity.getEntityTimeSeriesRepository(Entity.WORKFLOW_INSTANCE); - UUID workflowInstanceId = UUID.fromString(execution.getProcessInstanceBusinessKey()); - workflowInstanceRepository.updateWorkflowInstance( - workflowInstanceId, System.currentTimeMillis()); + UUID workflowInstanceId = UUID.fromString(execution.getProcessInstanceBusinessKey()); + workflowInstanceRepository.updateWorkflowInstance( + workflowInstanceId, System.currentTimeMillis(), execution.getVariables()); + } catch (Exception exc) { + LOG.error( + String.format( + "[%s] Failed due to: %s ", + getProcessDefinitionKeyFromId(execution.getProcessDefinitionId()), exc.getMessage()), + exc); + } } } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/Workflow.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/Workflow.java index 013d7ef43a72..3b9b437e3611 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/Workflow.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/Workflow.java @@ -13,6 +13,8 @@ public class Workflow { public static final String STAGE_INSTANCE_STATE_ID_VARIABLE = "stageInstanceStateId"; public static final String WORKFLOW_INSTANCE_EXECUTION_ID_VARIABLE = "workflowInstanceExecutionId"; + public static final String WORKFLOW_RUNTIME_EXCEPTION = "workflowRuntimeException"; + public static final String EXCEPTION_VARIABLE = "exception"; private final TriggerWorkflow triggerWorkflow; private final MainWorkflow mainWorkflow; diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/WorkflowFailureListener.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/WorkflowFailureListener.java new file mode 100644 index 000000000000..ad197d0f7e3a --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/WorkflowFailureListener.java @@ -0,0 +1,33 @@ +package org.openmetadata.service.governance.workflows; + +import lombok.extern.slf4j.Slf4j; +import org.flowable.common.engine.api.delegate.event.FlowableEngineEventType; +import org.flowable.common.engine.api.delegate.event.FlowableEvent; +import org.flowable.common.engine.api.delegate.event.FlowableEventListener; + +@Slf4j +public class WorkflowFailureListener implements FlowableEventListener { + + @Override + public void onEvent(FlowableEvent event) { + if (FlowableEngineEventType.JOB_EXECUTION_FAILURE.equals(event.getType())) { + LOG.error("Workflow Failed: " + event); + } + } + + @Override + public boolean isFailOnException() { + // Return true if the listener should fail the operation on an exception + return false; + } + + @Override + public boolean isFireOnTransactionLifecycleEvent() { + return false; + } + + @Override + public String getOnTransaction() { + return null; + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/WorkflowHandler.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/WorkflowHandler.java index 48174ddbd1be..ae3ecab0ac34 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/WorkflowHandler.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/WorkflowHandler.java @@ -50,6 +50,9 @@ private WorkflowHandler(OpenMetadataApplicationConfig config) { .setJdbcDriver(config.getDataSourceFactory().getDriverClass()) .setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_FALSE); + // Add Global Failure Listener + processEngineConfiguration.setEventListeners(List.of(new WorkflowFailureListener())); + if (ConnectionType.MYSQL.label.equals(config.getDataSourceFactory().getDriverClass())) { processEngineConfiguration.setDatabaseType(ProcessEngineConfiguration.DATABASE_TYPE_MYSQL); } else { @@ -256,4 +259,16 @@ public void resumeWorkflow(String workflowName) { repositoryService.activateProcessDefinitionByKey( getTriggerWorkflowId(workflowName), true, null); } + + public void terminateWorkflow(String workflowName) { + runtimeService + .createProcessInstanceQuery() + .processDefinitionKey(getTriggerWorkflowId(workflowName)) + .list() + .forEach( + instance -> { + runtimeService.deleteProcessInstance( + instance.getId(), "Terminating all instances due to user request."); + }); + } } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/WorkflowInstanceExecutionIdSetterListener.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/WorkflowInstanceExecutionIdSetterListener.java index 6cda1b8c408b..9651615cd781 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/WorkflowInstanceExecutionIdSetterListener.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/WorkflowInstanceExecutionIdSetterListener.java @@ -1,15 +1,34 @@ package org.openmetadata.service.governance.workflows; +import static org.openmetadata.service.governance.workflows.Workflow.RELATED_ENTITY_VARIABLE; import static org.openmetadata.service.governance.workflows.Workflow.WORKFLOW_INSTANCE_EXECUTION_ID_VARIABLE; +import static org.openmetadata.service.governance.workflows.WorkflowHandler.getProcessDefinitionKeyFromId; import java.util.UUID; +import lombok.extern.slf4j.Slf4j; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.JavaDelegate; +@Slf4j public class WorkflowInstanceExecutionIdSetterListener implements JavaDelegate { @Override public void execute(DelegateExecution execution) { - UUID workflowInstanceExecutionId = UUID.randomUUID(); - execution.setVariable(WORKFLOW_INSTANCE_EXECUTION_ID_VARIABLE, workflowInstanceExecutionId); + try { + String workflowName = getProcessDefinitionKeyFromId(execution.getProcessDefinitionId()); + String relatedEntity = (String) execution.getVariable(RELATED_ENTITY_VARIABLE); + LOG.debug( + String.format( + "New Execution for Workflow '%s'. Related Entity: '%s'", + workflowName, relatedEntity)); + + UUID workflowInstanceExecutionId = UUID.randomUUID(); + execution.setVariable(WORKFLOW_INSTANCE_EXECUTION_ID_VARIABLE, workflowInstanceExecutionId); + } catch (Exception exc) { + LOG.error( + String.format( + "[%s] Failed due to: %s ", + getProcessDefinitionKeyFromId(execution.getProcessDefinitionId()), exc.getMessage()), + exc); + } } } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/WorkflowInstanceListener.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/WorkflowInstanceListener.java index b6b1c0069ac3..261afe62ab83 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/WorkflowInstanceListener.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/WorkflowInstanceListener.java @@ -13,16 +13,25 @@ public class WorkflowInstanceListener implements JavaDelegate { @Override public void execute(DelegateExecution execution) { - WorkflowInstanceRepository workflowInstanceRepository = - (WorkflowInstanceRepository) Entity.getEntityTimeSeriesRepository(Entity.WORKFLOW_INSTANCE); + try { + WorkflowInstanceRepository workflowInstanceRepository = + (WorkflowInstanceRepository) + Entity.getEntityTimeSeriesRepository(Entity.WORKFLOW_INSTANCE); - switch (execution.getEventName()) { - case "start" -> addWorkflowInstance(execution, workflowInstanceRepository); - case "end" -> updateWorkflowInstance(execution, workflowInstanceRepository); - default -> LOG.debug( + switch (execution.getEventName()) { + case "start" -> addWorkflowInstance(execution, workflowInstanceRepository); + case "end" -> updateWorkflowInstance(execution, workflowInstanceRepository); + default -> LOG.debug( + String.format( + "WorkflowStageUpdaterListener does not support listening for the event: '%s'", + execution.getEventName())); + } + } catch (Exception exc) { + LOG.error( String.format( - "WorkflowStageUpdaterListener does not support listening for the event: '%s'", - execution.getEventName())); + "[%s] Failed due to: %s ", + getProcessDefinitionKeyFromId(execution.getProcessDefinitionId()), exc.getMessage()), + exc); } } @@ -45,13 +54,22 @@ private void addWorkflowInstance( workflowInstanceId, System.currentTimeMillis(), execution.getVariables()); + LOG.debug( + String.format( + "Workflow '%s' Triggered. Instance: '%s'", workflowDefinitionName, workflowInstanceId)); } private void updateWorkflowInstance( DelegateExecution execution, WorkflowInstanceRepository workflowInstanceRepository) { + String workflowDefinitionName = + getMainWorkflowDefinitionNameFromTrigger( + getProcessDefinitionKeyFromId(execution.getProcessDefinitionId())); UUID workflowInstanceId = UUID.fromString(execution.getProcessInstanceBusinessKey()); workflowInstanceRepository.updateWorkflowInstance( - workflowInstanceId, System.currentTimeMillis()); + workflowInstanceId, System.currentTimeMillis(), execution.getVariables()); + LOG.debug( + String.format( + "Workflow '%s' Finished. Instance: '%s'", workflowDefinitionName, workflowInstanceId)); } private String getMainWorkflowDefinitionNameFromTrigger(String triggerWorkflowDefinitionName) { diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/WorkflowInstanceStageListener.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/WorkflowInstanceStageListener.java index 3dd81d4d558d..3730a42537b0 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/WorkflowInstanceStageListener.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/WorkflowInstanceStageListener.java @@ -16,17 +16,25 @@ public class WorkflowInstanceStageListener implements JavaDelegate { @Override public void execute(DelegateExecution execution) { - WorkflowInstanceStateRepository workflowInstanceStateRepository = - (WorkflowInstanceStateRepository) - Entity.getEntityTimeSeriesRepository(Entity.WORKFLOW_INSTANCE_STATE); + try { + WorkflowInstanceStateRepository workflowInstanceStateRepository = + (WorkflowInstanceStateRepository) + Entity.getEntityTimeSeriesRepository(Entity.WORKFLOW_INSTANCE_STATE); - switch (execution.getEventName()) { - case "start" -> addNewStage(execution, workflowInstanceStateRepository); - case "end" -> updateStage(execution, workflowInstanceStateRepository); - default -> LOG.debug( + switch (execution.getEventName()) { + case "start" -> addNewStage(execution, workflowInstanceStateRepository); + case "end" -> updateStage(execution, workflowInstanceStateRepository); + default -> LOG.debug( + String.format( + "WorkflowStageUpdaterListener does not support listening for the event: '%s'", + execution.getEventName())); + } + } catch (Exception exc) { + LOG.error( String.format( - "WorkflowStageUpdaterListener does not support listening for the event: '%s'", - execution.getEventName())); + "[%s] Failed due to: %s ", + getProcessDefinitionKeyFromId(execution.getProcessDefinitionId()), exc.getMessage()), + exc); } } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/NodeInterface.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/NodeInterface.java index d2c2fbcaef3a..536ee685b9c5 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/NodeInterface.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/NodeInterface.java @@ -1,9 +1,15 @@ package org.openmetadata.service.governance.workflows.elements; +import static org.openmetadata.service.governance.workflows.Workflow.WORKFLOW_RUNTIME_EXCEPTION; +import static org.openmetadata.service.governance.workflows.Workflow.getFlowableElementId; + import java.util.ArrayList; import java.util.List; +import org.flowable.bpmn.model.Activity; +import org.flowable.bpmn.model.BoundaryEvent; import org.flowable.bpmn.model.BpmnModel; import org.flowable.bpmn.model.EndEvent; +import org.flowable.bpmn.model.ErrorEventDefinition; import org.flowable.bpmn.model.FlowNode; import org.flowable.bpmn.model.FlowableListener; import org.flowable.bpmn.model.Process; @@ -16,6 +22,10 @@ public interface NodeInterface { void addToWorkflow(BpmnModel model, Process process); + default BoundaryEvent getRuntimeExceptionBoundaryEvent() { + return null; + } + default void attachWorkflowInstanceStageListeners(FlowNode flowableNode) { List events = List.of("start", "end"); attachWorkflowInstanceStageListeners(flowableNode, events); @@ -59,4 +69,17 @@ default void attachMainWorkflowTerminationListener(EndEvent endEvent) { .build(); endEvent.getExecutionListeners().add(listener); } + + default BoundaryEvent getRuntimeExceptionBoundaryEvent(Activity activity) { + ErrorEventDefinition runtimeExceptionDefinition = new ErrorEventDefinition(); + runtimeExceptionDefinition.setErrorCode(WORKFLOW_RUNTIME_EXCEPTION); + + BoundaryEvent runtimeExceptionBoundaryEvent = new BoundaryEvent(); + runtimeExceptionBoundaryEvent.setId( + getFlowableElementId(activity.getId(), "runtimeExceptionBoundaryEvent")); + runtimeExceptionBoundaryEvent.addEventDefinition(runtimeExceptionDefinition); + + runtimeExceptionBoundaryEvent.setAttachedToRef(activity); + return runtimeExceptionBoundaryEvent; + } } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/CheckEntityAttributesTask.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/CheckEntityAttributesTask.java index 6b379923b355..e4a650797021 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/CheckEntityAttributesTask.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/CheckEntityAttributesTask.java @@ -2,6 +2,7 @@ import static org.openmetadata.service.governance.workflows.Workflow.getFlowableElementId; +import org.flowable.bpmn.model.BoundaryEvent; import org.flowable.bpmn.model.BpmnModel; import org.flowable.bpmn.model.EndEvent; import org.flowable.bpmn.model.FieldExtension; @@ -21,6 +22,7 @@ public class CheckEntityAttributesTask implements NodeInterface { private final SubProcess subProcess; + private final BoundaryEvent runtimeExceptionBoundaryEvent; public CheckEntityAttributesTask(CheckEntityAttributesTaskDefinition nodeDefinition) { String subProcessId = nodeDefinition.getName(); @@ -45,9 +47,15 @@ public CheckEntityAttributesTask(CheckEntityAttributesTaskDefinition nodeDefinit attachWorkflowInstanceStageListeners(subProcess); + this.runtimeExceptionBoundaryEvent = getRuntimeExceptionBoundaryEvent(subProcess); this.subProcess = subProcess; } + @Override + public BoundaryEvent getRuntimeExceptionBoundaryEvent() { + return runtimeExceptionBoundaryEvent; + } + private ServiceTask getCheckEntityAttributesServiceTask(String subProcessId, String rules) { FieldExtension rulesExpr = new FieldExtensionBuilder().fieldName("rulesExpr").fieldValue(rules).build(); @@ -63,5 +71,6 @@ private ServiceTask getCheckEntityAttributesServiceTask(String subProcessId, Str public void addToWorkflow(BpmnModel model, Process process) { process.addFlowElement(subProcess); + process.addFlowElement(runtimeExceptionBoundaryEvent); } } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/SetEntityCertificationTask.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/SetEntityCertificationTask.java index 4c8c0d1538e3..c9f0c972a5c4 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/SetEntityCertificationTask.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/SetEntityCertificationTask.java @@ -3,6 +3,7 @@ import static org.openmetadata.service.governance.workflows.Workflow.getFlowableElementId; import java.util.Optional; +import org.flowable.bpmn.model.BoundaryEvent; import org.flowable.bpmn.model.BpmnModel; import org.flowable.bpmn.model.EndEvent; import org.flowable.bpmn.model.FieldExtension; @@ -23,6 +24,7 @@ public class SetEntityCertificationTask implements NodeInterface { private final SubProcess subProcess; + private final BoundaryEvent runtimeExceptionBoundaryEvent; public SetEntityCertificationTask(SetEntityCertificationTaskDefinition nodeDefinition) { String subProcessId = nodeDefinition.getName(); @@ -50,9 +52,15 @@ public SetEntityCertificationTask(SetEntityCertificationTaskDefinition nodeDefin attachWorkflowInstanceStageListeners(subProcess); + this.runtimeExceptionBoundaryEvent = getRuntimeExceptionBoundaryEvent(subProcess); this.subProcess = subProcess; } + @Override + public BoundaryEvent getRuntimeExceptionBoundaryEvent() { + return runtimeExceptionBoundaryEvent; + } + private ServiceTask getSetEntityCertificationServiceTask( String subProcessId, CertificationConfiguration.CertificationEnum certification) { FieldExtension certificationExpr = @@ -75,5 +83,6 @@ private ServiceTask getSetEntityCertificationServiceTask( public void addToWorkflow(BpmnModel model, Process process) { process.addFlowElement(subProcess); + process.addFlowElement(runtimeExceptionBoundaryEvent); } } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/SetGlossaryTermStatusTask.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/SetGlossaryTermStatusTask.java index f1d1362b103c..55872a21546d 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/SetGlossaryTermStatusTask.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/SetGlossaryTermStatusTask.java @@ -2,6 +2,7 @@ import static org.openmetadata.service.governance.workflows.Workflow.getFlowableElementId; +import org.flowable.bpmn.model.BoundaryEvent; import org.flowable.bpmn.model.BpmnModel; import org.flowable.bpmn.model.EndEvent; import org.flowable.bpmn.model.FieldExtension; @@ -21,6 +22,7 @@ public class SetGlossaryTermStatusTask implements NodeInterface { private final SubProcess subProcess; + private final BoundaryEvent runtimeExceptionBoundaryEvent; public SetGlossaryTermStatusTask(SetGlossaryTermStatusTaskDefinition nodeDefinition) { String subProcessId = nodeDefinition.getName(); @@ -46,9 +48,15 @@ public SetGlossaryTermStatusTask(SetGlossaryTermStatusTaskDefinition nodeDefinit attachWorkflowInstanceStageListeners(subProcess); + this.runtimeExceptionBoundaryEvent = getRuntimeExceptionBoundaryEvent(subProcess); this.subProcess = subProcess; } + @Override + public BoundaryEvent getRuntimeExceptionBoundaryEvent() { + return runtimeExceptionBoundaryEvent; + } + private ServiceTask getSetGlossaryTermStatusServiceTask(String subProcessId, String status) { FieldExtension statusExpr = new FieldExtensionBuilder().fieldName("statusExpr").fieldValue(status).build(); @@ -64,5 +72,6 @@ private ServiceTask getSetGlossaryTermStatusServiceTask(String subProcessId, Str public void addToWorkflow(BpmnModel model, Process process) { process.addFlowElement(subProcess); + process.addFlowElement(runtimeExceptionBoundaryEvent); } } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/impl/CheckEntityAttributesImpl.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/impl/CheckEntityAttributesImpl.java index 404b6cdf9cad..7723107f45fd 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/impl/CheckEntityAttributesImpl.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/impl/CheckEntityAttributesImpl.java @@ -1,11 +1,16 @@ package org.openmetadata.service.governance.workflows.elements.nodes.automatedTask.impl; +import static org.openmetadata.service.governance.workflows.Workflow.EXCEPTION_VARIABLE; import static org.openmetadata.service.governance.workflows.Workflow.RELATED_ENTITY_VARIABLE; import static org.openmetadata.service.governance.workflows.Workflow.RESULT_VARIABLE; +import static org.openmetadata.service.governance.workflows.Workflow.WORKFLOW_RUNTIME_EXCEPTION; +import static org.openmetadata.service.governance.workflows.WorkflowHandler.getProcessDefinitionKeyFromId; import io.github.jamsesso.jsonlogic.JsonLogic; import io.github.jamsesso.jsonlogic.JsonLogicException; +import lombok.extern.slf4j.Slf4j; import org.flowable.common.engine.api.delegate.Expression; +import org.flowable.engine.delegate.BpmnError; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.JavaDelegate; import org.openmetadata.schema.EntityInterface; @@ -14,15 +19,25 @@ import org.openmetadata.service.resources.feeds.MessageParser; import org.openmetadata.service.util.JsonUtils; +@Slf4j public class CheckEntityAttributesImpl implements JavaDelegate { private Expression rulesExpr; @Override public void execute(DelegateExecution execution) { - String rules = (String) rulesExpr.getValue(execution); - MessageParser.EntityLink entityLink = - MessageParser.EntityLink.parse((String) execution.getVariable(RELATED_ENTITY_VARIABLE)); - execution.setVariable(RESULT_VARIABLE, checkAttributes(entityLink, rules)); + try { + String rules = (String) rulesExpr.getValue(execution); + MessageParser.EntityLink entityLink = + MessageParser.EntityLink.parse((String) execution.getVariable(RELATED_ENTITY_VARIABLE)); + execution.setVariable(RESULT_VARIABLE, checkAttributes(entityLink, rules)); + } catch (Exception exc) { + LOG.error( + String.format( + "[%s] Failure: ", getProcessDefinitionKeyFromId(execution.getProcessDefinitionId())), + exc); + execution.setVariable(EXCEPTION_VARIABLE, exc.toString()); + throw new BpmnError(WORKFLOW_RUNTIME_EXCEPTION, exc.getMessage()); + } } private Boolean checkAttributes(MessageParser.EntityLink entityLink, String rules) { diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/impl/SetEntityCertificationImpl.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/impl/SetEntityCertificationImpl.java index 62a6e0509b89..857605f3beee 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/impl/SetEntityCertificationImpl.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/impl/SetEntityCertificationImpl.java @@ -1,11 +1,16 @@ package org.openmetadata.service.governance.workflows.elements.nodes.automatedTask.impl; +import static org.openmetadata.service.governance.workflows.Workflow.EXCEPTION_VARIABLE; import static org.openmetadata.service.governance.workflows.Workflow.RELATED_ENTITY_VARIABLE; import static org.openmetadata.service.governance.workflows.Workflow.RESOLVED_BY_VARIABLE; +import static org.openmetadata.service.governance.workflows.Workflow.WORKFLOW_RUNTIME_EXCEPTION; +import static org.openmetadata.service.governance.workflows.WorkflowHandler.getProcessDefinitionKeyFromId; import java.util.Optional; import javax.json.JsonPatch; +import lombok.extern.slf4j.Slf4j; import org.flowable.common.engine.api.delegate.Expression; +import org.flowable.engine.delegate.BpmnError; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.JavaDelegate; import org.openmetadata.schema.EntityInterface; @@ -18,25 +23,35 @@ import org.openmetadata.service.util.EntityUtil; import org.openmetadata.service.util.JsonUtils; +@Slf4j public class SetEntityCertificationImpl implements JavaDelegate { private Expression certificationExpr; @Override public void execute(DelegateExecution execution) { - MessageParser.EntityLink entityLink = - MessageParser.EntityLink.parse((String) execution.getVariable(RELATED_ENTITY_VARIABLE)); - String entityType = entityLink.getEntityType(); - EntityInterface entity = Entity.getEntity(entityLink, "*", Include.ALL); + try { + MessageParser.EntityLink entityLink = + MessageParser.EntityLink.parse((String) execution.getVariable(RELATED_ENTITY_VARIABLE)); + String entityType = entityLink.getEntityType(); + EntityInterface entity = Entity.getEntity(entityLink, "*", Include.ALL); - String certification = - Optional.ofNullable(certificationExpr) - .map(certificationExpr -> (String) certificationExpr.getValue(execution)) - .orElse(null); - String user = - Optional.ofNullable((String) execution.getVariable(RESOLVED_BY_VARIABLE)) - .orElse(entity.getUpdatedBy()); + String certification = + Optional.ofNullable(certificationExpr) + .map(certificationExpr -> (String) certificationExpr.getValue(execution)) + .orElse(null); + String user = + Optional.ofNullable((String) execution.getVariable(RESOLVED_BY_VARIABLE)) + .orElse(entity.getUpdatedBy()); - setStatus(entity, entityType, user, certification); + setStatus(entity, entityType, user, certification); + } catch (Exception exc) { + LOG.error( + String.format( + "[%s] Failure: ", getProcessDefinitionKeyFromId(execution.getProcessDefinitionId())), + exc); + execution.setVariable(EXCEPTION_VARIABLE, exc.toString()); + throw new BpmnError(WORKFLOW_RUNTIME_EXCEPTION, exc.getMessage()); + } } private void setStatus( diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/impl/SetGlossaryTermStatusImpl.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/impl/SetGlossaryTermStatusImpl.java index 70e126d7e9af..6d2d4060cfd4 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/impl/SetGlossaryTermStatusImpl.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/impl/SetGlossaryTermStatusImpl.java @@ -1,12 +1,17 @@ package org.openmetadata.service.governance.workflows.elements.nodes.automatedTask.impl; +import static org.openmetadata.service.governance.workflows.Workflow.EXCEPTION_VARIABLE; import static org.openmetadata.service.governance.workflows.Workflow.RELATED_ENTITY_VARIABLE; import static org.openmetadata.service.governance.workflows.Workflow.RESOLVED_BY_VARIABLE; +import static org.openmetadata.service.governance.workflows.Workflow.WORKFLOW_RUNTIME_EXCEPTION; +import static org.openmetadata.service.governance.workflows.WorkflowHandler.getProcessDefinitionKeyFromId; import java.util.Objects; import java.util.Optional; import javax.json.JsonPatch; +import lombok.extern.slf4j.Slf4j; import org.flowable.common.engine.api.delegate.Expression; +import org.flowable.engine.delegate.BpmnError; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.JavaDelegate; import org.openmetadata.schema.entity.data.GlossaryTerm; @@ -16,21 +21,31 @@ import org.openmetadata.service.resources.feeds.MessageParser; import org.openmetadata.service.util.JsonUtils; +@Slf4j public class SetGlossaryTermStatusImpl implements JavaDelegate { private Expression statusExpr; @Override public void execute(DelegateExecution execution) { - MessageParser.EntityLink entityLink = - MessageParser.EntityLink.parse((String) execution.getVariable(RELATED_ENTITY_VARIABLE)); - GlossaryTerm glossaryTerm = Entity.getEntity(entityLink, "*", Include.ALL); + try { + MessageParser.EntityLink entityLink = + MessageParser.EntityLink.parse((String) execution.getVariable(RELATED_ENTITY_VARIABLE)); + GlossaryTerm glossaryTerm = Entity.getEntity(entityLink, "*", Include.ALL); - String status = (String) statusExpr.getValue(execution); - String user = - Optional.ofNullable((String) execution.getVariable(RESOLVED_BY_VARIABLE)) - .orElse(glossaryTerm.getUpdatedBy()); + String status = (String) statusExpr.getValue(execution); + String user = + Optional.ofNullable((String) execution.getVariable(RESOLVED_BY_VARIABLE)) + .orElse(glossaryTerm.getUpdatedBy()); - setStatus(glossaryTerm, user, status); + setStatus(glossaryTerm, user, status); + } catch (Exception exc) { + LOG.error( + String.format( + "[%s] Failure: ", getProcessDefinitionKeyFromId(execution.getProcessDefinitionId())), + exc); + execution.setVariable(EXCEPTION_VARIABLE, exc.toString()); + throw new BpmnError(WORKFLOW_RUNTIME_EXCEPTION, exc.getMessage()); + } } private void setStatus(GlossaryTerm glossaryTerm, String user, String status) { diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/endEvent/EndEvent.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/endEvent/EndEvent.java index 29389e3d745b..377142d31c91 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/endEvent/EndEvent.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/endEvent/EndEvent.java @@ -1,14 +1,21 @@ package org.openmetadata.service.governance.workflows.elements.nodes.endEvent; +import lombok.Getter; import org.flowable.bpmn.model.BpmnModel; import org.flowable.bpmn.model.Process; import org.openmetadata.schema.governance.workflows.elements.nodes.endEvent.EndEventDefinition; import org.openmetadata.service.governance.workflows.elements.NodeInterface; import org.openmetadata.service.governance.workflows.flowable.builders.EndEventBuilder; +@Getter public class EndEvent implements NodeInterface { private final org.flowable.bpmn.model.EndEvent endEvent; + public EndEvent(String id) { + this.endEvent = new EndEventBuilder().id(id).build(); + attachWorkflowInstanceStageListeners(endEvent); + } + public EndEvent(EndEventDefinition nodeDefinition) { this.endEvent = new EndEventBuilder().id(nodeDefinition.getName()).build(); attachWorkflowInstanceStageListeners(endEvent); diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/userTask/UserApprovalTask.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/userTask/UserApprovalTask.java index 3a653d6800bb..464cf57c96aa 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/userTask/UserApprovalTask.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/userTask/UserApprovalTask.java @@ -34,6 +34,7 @@ public class UserApprovalTask implements NodeInterface { private final SubProcess subProcess; + private final BoundaryEvent runtimeExceptionBoundaryEvent; private final List messages = new ArrayList<>(); public UserApprovalTask(UserApprovalTaskDefinition nodeDefinition) { @@ -92,9 +93,15 @@ public UserApprovalTask(UserApprovalTaskDefinition nodeDefinition) { attachWorkflowInstanceStageListeners(subProcess); + this.runtimeExceptionBoundaryEvent = getRuntimeExceptionBoundaryEvent(subProcess); this.subProcess = subProcess; } + @Override + public BoundaryEvent getRuntimeExceptionBoundaryEvent() { + return runtimeExceptionBoundaryEvent; + } + private ServiceTask getSetAssigneesVariableServiceTask( String subProcessId, FieldExtension assigneesExpr, FieldExtension assigneesVarNameExpr) { ServiceTask serviceTask = @@ -146,6 +153,7 @@ private BoundaryEvent getTerminationEvent() { public void addToWorkflow(BpmnModel model, Process process) { process.addFlowElement(subProcess); + process.addFlowElement(runtimeExceptionBoundaryEvent); for (Message message : messages) { model.addMessage(message); } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/userTask/impl/CreateApprovalTaskImpl.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/userTask/impl/CreateApprovalTaskImpl.java index bd8df6612fc1..58b3c922d679 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/userTask/impl/CreateApprovalTaskImpl.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/userTask/impl/CreateApprovalTaskImpl.java @@ -1,12 +1,17 @@ package org.openmetadata.service.governance.workflows.elements.nodes.userTask.impl; +import static org.openmetadata.service.governance.workflows.Workflow.EXCEPTION_VARIABLE; import static org.openmetadata.service.governance.workflows.Workflow.RELATED_ENTITY_VARIABLE; import static org.openmetadata.service.governance.workflows.Workflow.STAGE_INSTANCE_STATE_ID_VARIABLE; +import static org.openmetadata.service.governance.workflows.Workflow.WORKFLOW_RUNTIME_EXCEPTION; +import static org.openmetadata.service.governance.workflows.WorkflowHandler.getProcessDefinitionKeyFromId; import java.util.ArrayList; import java.util.List; import java.util.Set; import java.util.UUID; +import lombok.extern.slf4j.Slf4j; +import org.flowable.engine.delegate.BpmnError; import org.flowable.engine.delegate.TaskListener; import org.flowable.identitylink.api.IdentityLink; import org.flowable.task.service.delegate.DelegateTask; @@ -27,23 +32,35 @@ import org.openmetadata.service.resources.feeds.MessageParser; import org.openmetadata.service.util.WebsocketNotificationHandler; +@Slf4j public class CreateApprovalTaskImpl implements TaskListener { @Override public void notify(DelegateTask delegateTask) { - List assignees = getAssignees(delegateTask); - MessageParser.EntityLink entityLink = - MessageParser.EntityLink.parse((String) delegateTask.getVariable(RELATED_ENTITY_VARIABLE)); - GlossaryTerm entity = Entity.getEntity(entityLink, "*", Include.ALL); + try { + List assignees = getAssignees(delegateTask); + MessageParser.EntityLink entityLink = + MessageParser.EntityLink.parse( + (String) delegateTask.getVariable(RELATED_ENTITY_VARIABLE)); + GlossaryTerm entity = Entity.getEntity(entityLink, "*", Include.ALL); - Thread task = createApprovalTask(entity, assignees); - WorkflowHandler.getInstance().setCustomTaskId(delegateTask.getId(), task.getId()); + Thread task = createApprovalTask(entity, assignees); + WorkflowHandler.getInstance().setCustomTaskId(delegateTask.getId(), task.getId()); - UUID workflowInstanceStateId = - (UUID) delegateTask.getVariable(STAGE_INSTANCE_STATE_ID_VARIABLE); - WorkflowInstanceStateRepository workflowInstanceStateRepository = - (WorkflowInstanceStateRepository) - Entity.getEntityTimeSeriesRepository(Entity.WORKFLOW_INSTANCE_STATE); - workflowInstanceStateRepository.updateStageWithTask(task.getId(), workflowInstanceStateId); + UUID workflowInstanceStateId = + (UUID) delegateTask.getVariable(STAGE_INSTANCE_STATE_ID_VARIABLE); + WorkflowInstanceStateRepository workflowInstanceStateRepository = + (WorkflowInstanceStateRepository) + Entity.getEntityTimeSeriesRepository(Entity.WORKFLOW_INSTANCE_STATE); + workflowInstanceStateRepository.updateStageWithTask(task.getId(), workflowInstanceStateId); + } catch (Exception exc) { + LOG.error( + String.format( + "[%s] Failure: ", + getProcessDefinitionKeyFromId(delegateTask.getProcessDefinitionId())), + exc); + delegateTask.setVariable(EXCEPTION_VARIABLE, exc.toString()); + throw new BpmnError(WORKFLOW_RUNTIME_EXCEPTION, exc.getMessage()); + } } private List getAssignees(DelegateTask delegateTask) { diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/userTask/impl/SetApprovalAssigneesImpl.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/userTask/impl/SetApprovalAssigneesImpl.java index c6fadbcb4f09..f3a2ed0585d2 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/userTask/impl/SetApprovalAssigneesImpl.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/userTask/impl/SetApprovalAssigneesImpl.java @@ -1,12 +1,17 @@ package org.openmetadata.service.governance.workflows.elements.nodes.userTask.impl; +import static org.openmetadata.service.governance.workflows.Workflow.EXCEPTION_VARIABLE; import static org.openmetadata.service.governance.workflows.Workflow.RELATED_ENTITY_VARIABLE; +import static org.openmetadata.service.governance.workflows.Workflow.WORKFLOW_RUNTIME_EXCEPTION; +import static org.openmetadata.service.governance.workflows.WorkflowHandler.getProcessDefinitionKeyFromId; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Optional; +import lombok.extern.slf4j.Slf4j; import org.flowable.common.engine.api.delegate.Expression; +import org.flowable.engine.delegate.BpmnError; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.JavaDelegate; import org.openmetadata.schema.EntityInterface; @@ -16,33 +21,44 @@ import org.openmetadata.service.resources.feeds.MessageParser; import org.openmetadata.service.util.JsonUtils; +@Slf4j public class SetApprovalAssigneesImpl implements JavaDelegate { private Expression assigneesExpr; private Expression assigneesVarNameExpr; @Override public void execute(DelegateExecution execution) { - Map assigneesConfig = - JsonUtils.readOrConvertValue(assigneesExpr.getValue(execution), Map.class); - Boolean addReviewers = (Boolean) assigneesConfig.get("addReviewers"); - Optional> oExtraAssignees = - Optional.ofNullable( - JsonUtils.readOrConvertValue(assigneesConfig.get("extraAssignees"), List.class)); - - List assignees = new ArrayList<>(); - - if (addReviewers) { - MessageParser.EntityLink entityLink = - MessageParser.EntityLink.parse((String) execution.getVariable(RELATED_ENTITY_VARIABLE)); - EntityInterface entity = Entity.getEntity(entityLink, "*", Include.ALL); - assignees.addAll(getEntityLinkStringFromEntityReference(entity.getReviewers())); - } + try { + Map assigneesConfig = + JsonUtils.readOrConvertValue(assigneesExpr.getValue(execution), Map.class); + Boolean addReviewers = (Boolean) assigneesConfig.get("addReviewers"); + Optional> oExtraAssignees = + Optional.ofNullable( + JsonUtils.readOrConvertValue(assigneesConfig.get("extraAssignees"), List.class)); + + List assignees = new ArrayList<>(); - oExtraAssignees.ifPresent( - extraAssignees -> assignees.addAll(getEntityLinkStringFromEntityReference(extraAssignees))); + if (addReviewers) { + MessageParser.EntityLink entityLink = + MessageParser.EntityLink.parse((String) execution.getVariable(RELATED_ENTITY_VARIABLE)); + EntityInterface entity = Entity.getEntity(entityLink, "*", Include.ALL); + assignees.addAll(getEntityLinkStringFromEntityReference(entity.getReviewers())); + } - execution.setVariableLocal( - assigneesVarNameExpr.getValue(execution).toString(), JsonUtils.pojoToJson(assignees)); + oExtraAssignees.ifPresent( + extraAssignees -> + assignees.addAll(getEntityLinkStringFromEntityReference(extraAssignees))); + + execution.setVariableLocal( + assigneesVarNameExpr.getValue(execution).toString(), JsonUtils.pojoToJson(assignees)); + } catch (Exception exc) { + LOG.error( + String.format( + "[%s] Failure: ", getProcessDefinitionKeyFromId(execution.getProcessDefinitionId())), + exc); + execution.setVariable(EXCEPTION_VARIABLE, exc.toString()); + throw new BpmnError(WORKFLOW_RUNTIME_EXCEPTION, exc.getMessage()); + } } private List getEntityLinkStringFromEntityReference(List assignees) { diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/userTask/impl/SetCandidateUsersImpl.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/userTask/impl/SetCandidateUsersImpl.java index cdd423c38517..ee3234593f38 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/userTask/impl/SetCandidateUsersImpl.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/userTask/impl/SetCandidateUsersImpl.java @@ -1,20 +1,37 @@ package org.openmetadata.service.governance.workflows.elements.nodes.userTask.impl; +import static org.openmetadata.service.governance.workflows.Workflow.EXCEPTION_VARIABLE; +import static org.openmetadata.service.governance.workflows.Workflow.WORKFLOW_RUNTIME_EXCEPTION; +import static org.openmetadata.service.governance.workflows.WorkflowHandler.getProcessDefinitionKeyFromId; + import java.util.List; +import lombok.extern.slf4j.Slf4j; import org.flowable.common.engine.api.delegate.Expression; +import org.flowable.engine.delegate.BpmnError; import org.flowable.engine.delegate.TaskListener; import org.flowable.task.service.delegate.DelegateTask; import org.openmetadata.service.util.JsonUtils; +@Slf4j public class SetCandidateUsersImpl implements TaskListener { private Expression assigneesVarNameExpr; @Override public void notify(DelegateTask delegateTask) { - List assignees = - JsonUtils.readOrConvertValue( - delegateTask.getVariable(assigneesVarNameExpr.getValue(delegateTask).toString()), - List.class); - delegateTask.addCandidateUsers(assignees); + try { + List assignees = + JsonUtils.readOrConvertValue( + delegateTask.getVariable(assigneesVarNameExpr.getValue(delegateTask).toString()), + List.class); + delegateTask.addCandidateUsers(assignees); + } catch (Exception exc) { + LOG.error( + String.format( + "[%s] Failure: ", + getProcessDefinitionKeyFromId(delegateTask.getProcessDefinitionId())), + exc); + delegateTask.setVariable(EXCEPTION_VARIABLE, exc.toString()); + throw new BpmnError(WORKFLOW_RUNTIME_EXCEPTION, exc.getMessage()); + } } } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/triggers/EventBasedEntityTrigger.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/triggers/EventBasedEntityTrigger.java index 9f4a8ce47f83..f8761bf96656 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/triggers/EventBasedEntityTrigger.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/triggers/EventBasedEntityTrigger.java @@ -1,15 +1,19 @@ package org.openmetadata.service.governance.workflows.elements.triggers; +import static org.openmetadata.service.governance.workflows.Workflow.EXCEPTION_VARIABLE; import static org.openmetadata.service.governance.workflows.Workflow.RELATED_ENTITY_VARIABLE; +import static org.openmetadata.service.governance.workflows.Workflow.WORKFLOW_RUNTIME_EXCEPTION; import static org.openmetadata.service.governance.workflows.Workflow.getFlowableElementId; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; import lombok.Getter; +import org.flowable.bpmn.model.BoundaryEvent; import org.flowable.bpmn.model.BpmnModel; import org.flowable.bpmn.model.CallActivity; import org.flowable.bpmn.model.EndEvent; +import org.flowable.bpmn.model.ErrorEventDefinition; import org.flowable.bpmn.model.FieldExtension; import org.flowable.bpmn.model.IOParameter; import org.flowable.bpmn.model.Process; @@ -55,6 +59,21 @@ public EventBasedEntityTrigger( CallActivity workflowTrigger = getWorkflowTrigger(triggerWorkflowId, mainWorkflowName); process.addFlowElement(workflowTrigger); + ErrorEventDefinition runtimeExceptionDefinition = new ErrorEventDefinition(); + runtimeExceptionDefinition.setErrorCode(WORKFLOW_RUNTIME_EXCEPTION); + + BoundaryEvent runtimeExceptionBoundaryEvent = new BoundaryEvent(); + runtimeExceptionBoundaryEvent.setId( + getFlowableElementId(workflowTrigger.getId(), "runtimeExceptionBoundaryEvent")); + runtimeExceptionBoundaryEvent.addEventDefinition(runtimeExceptionDefinition); + + runtimeExceptionBoundaryEvent.setAttachedToRef(workflowTrigger); + process.addFlowElement(runtimeExceptionBoundaryEvent); + + EndEvent errorEndEvent = + new EndEventBuilder().id(getFlowableElementId(triggerWorkflowId, "errorEndEvent")).build(); + process.addFlowElement(errorEndEvent); + EndEvent endEvent = new EndEventBuilder().id(getFlowableElementId(triggerWorkflowId, "endEvent")).build(); process.addFlowElement(endEvent); @@ -77,6 +96,8 @@ public EventBasedEntityTrigger( process.addFlowElement(filterNotPassed); // WorkflowTrigger -> End process.addFlowElement(new SequenceFlow(workflowTrigger.getId(), endEvent.getId())); + process.addFlowElement( + new SequenceFlow(runtimeExceptionBoundaryEvent.getId(), errorEndEvent.getId())); this.process = process; this.triggerWorkflowId = triggerWorkflowId; @@ -126,7 +147,12 @@ private CallActivity getWorkflowTrigger(String triggerWorkflowId, String mainWor inputParameter.setSource(RELATED_ENTITY_VARIABLE); inputParameter.setTarget(RELATED_ENTITY_VARIABLE); + IOParameter outputParameter = new IOParameter(); + outputParameter.setSource(EXCEPTION_VARIABLE); + outputParameter.setTarget(EXCEPTION_VARIABLE); + workflowTrigger.setInParameters(List.of(inputParameter)); + workflowTrigger.setOutParameters(List.of(outputParameter)); return workflowTrigger; } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/triggers/PeriodicBatchEntityTrigger.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/triggers/PeriodicBatchEntityTrigger.java index 849357510356..3a9eb500e804 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/triggers/PeriodicBatchEntityTrigger.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/triggers/PeriodicBatchEntityTrigger.java @@ -1,5 +1,6 @@ package org.openmetadata.service.governance.workflows.elements.triggers; +import static org.openmetadata.service.governance.workflows.Workflow.EXCEPTION_VARIABLE; import static org.openmetadata.service.governance.workflows.Workflow.RELATED_ENTITY_VARIABLE; import static org.openmetadata.service.governance.workflows.Workflow.getFlowableElementId; @@ -121,7 +122,12 @@ private CallActivity getWorkflowTriggerCallActivity( inputParameter.setSource(RELATED_ENTITY_VARIABLE); inputParameter.setTarget(RELATED_ENTITY_VARIABLE); + IOParameter outputParameter = new IOParameter(); + outputParameter.setSource(EXCEPTION_VARIABLE); + outputParameter.setTarget(EXCEPTION_VARIABLE); + workflowTrigger.setInParameters(List.of(inputParameter)); + workflowTrigger.setOutParameters(List.of(outputParameter)); workflowTrigger.setLoopCharacteristics(multiInstance); return workflowTrigger; diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/flowable/MainWorkflow.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/flowable/MainWorkflow.java index e6d44cc29e15..4fc00c29b660 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/flowable/MainWorkflow.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/flowable/MainWorkflow.java @@ -1,22 +1,28 @@ package org.openmetadata.service.governance.workflows.flowable; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Optional; import lombok.Getter; +import org.flowable.bpmn.model.BoundaryEvent; import org.flowable.bpmn.model.BpmnModel; import org.flowable.bpmn.model.Process; +import org.flowable.bpmn.model.SequenceFlow; import org.openmetadata.schema.governance.workflows.WorkflowDefinition; import org.openmetadata.schema.governance.workflows.elements.EdgeDefinition; import org.openmetadata.schema.governance.workflows.elements.WorkflowNodeDefinitionInterface; import org.openmetadata.service.governance.workflows.elements.Edge; import org.openmetadata.service.governance.workflows.elements.NodeFactory; +import org.openmetadata.service.governance.workflows.elements.NodeInterface; +import org.openmetadata.service.governance.workflows.elements.nodes.endEvent.EndEvent; import org.openmetadata.service.util.JsonUtils; @Getter public class MainWorkflow { private final BpmnModel model; private final String workflowName; + private final List runtimeExceptionBoundaryEvents = new ArrayList<>(); public MainWorkflow(WorkflowDefinition workflowDefinition) { BpmnModel model = new BpmnModel(); @@ -33,8 +39,12 @@ public MainWorkflow(WorkflowDefinition workflowDefinition) { // Add Nodes for (Object nodeDefinitionObj : (List) workflowDefinition.getNodes()) { - NodeFactory.createNode(JsonUtils.readOrConvertValue(nodeDefinitionObj, Map.class)) - .addToWorkflow(model, process); + NodeInterface node = + NodeFactory.createNode(JsonUtils.readOrConvertValue(nodeDefinitionObj, Map.class)); + node.addToWorkflow(model, process); + + Optional.ofNullable(node.getRuntimeExceptionBoundaryEvent()) + .ifPresent(runtimeExceptionBoundaryEvents::add); } // Add Edges @@ -43,7 +53,18 @@ public MainWorkflow(WorkflowDefinition workflowDefinition) { edge.addToWorkflow(model, process); } + // Configure Exception Flow + configureRuntimeExceptionFlow(process); + this.model = model; this.workflowName = workflowName; } + + private void configureRuntimeExceptionFlow(Process process) { + EndEvent errorEndEvent = new EndEvent("Error"); + process.addFlowElement(errorEndEvent.getEndEvent()); + for (BoundaryEvent event : runtimeExceptionBoundaryEvents) { + process.addFlowElement(new SequenceFlow(event.getId(), errorEndEvent.getEndEvent().getId())); + } + } } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/FeedRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/FeedRepository.java index acf8de971d99..17103ba77a0c 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/FeedRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/FeedRepository.java @@ -197,6 +197,9 @@ private String getFields() { if (repository.supportsTags) { fieldList.add("tags"); } + if (repository.supportsReviewers) { + fieldList.add("reviewers"); + } return String.join(",", fieldList.toArray(new String[0])); } } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/GlossaryTermRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/GlossaryTermRepository.java index 000dcda39d94..4e01a8cb9448 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/GlossaryTermRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/GlossaryTermRepository.java @@ -598,6 +598,9 @@ public static class ApprovalTaskWorkflow extends TaskWorkflow { @Override public EntityInterface performTask(String user, ResolveTask resolveTask) { // TODO: Resolve this outside + GlossaryTerm glossaryTerm = (GlossaryTerm) threadContext.getAboutEntity(); + checkUpdatedByReviewer(glossaryTerm, user); + UUID taskId = threadContext.getThread().getId(); Map variables = new HashMap<>(); variables.put(RESULT_VARIABLE, resolveTask.getNewValue().equalsIgnoreCase("approved")); @@ -607,7 +610,6 @@ public EntityInterface performTask(String user, ResolveTask resolveTask) { // TODO: performTask returns the updated Entity and the flow applies the new value. // This should be changed with the new Governance Workflows. - GlossaryTerm glossaryTerm = (GlossaryTerm) threadContext.getAboutEntity(); // glossaryTerm.setStatus(Status.APPROVED); return glossaryTerm; } @@ -652,7 +654,7 @@ private void validateHierarchy(GlossaryTerm term) { } } - private void checkUpdatedByReviewer(GlossaryTerm term, String updatedBy) { + public static void checkUpdatedByReviewer(GlossaryTerm term, String updatedBy) { // Only list of allowed reviewers can change the status from DRAFT to APPROVED List reviewers = term.getReviewers(); if (!nullOrEmpty(reviewers)) { diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/WorkflowInstanceRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/WorkflowInstanceRepository.java index 07d314eca3a6..33c71f7c643a 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/WorkflowInstanceRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/WorkflowInstanceRepository.java @@ -1,5 +1,7 @@ package org.openmetadata.service.jdbi3; +import static org.openmetadata.service.governance.workflows.Workflow.EXCEPTION_VARIABLE; + import java.util.Map; import java.util.UUID; import org.openmetadata.schema.governance.workflows.WorkflowInstance; @@ -41,12 +43,17 @@ public void addNewWorkflowInstance( workflowDefinitionName); } - public void updateWorkflowInstance(UUID workflowInstanceId, Long endedAt) { + public void updateWorkflowInstance( + UUID workflowInstanceId, Long endedAt, Map variables) { WorkflowInstance workflowInstance = JsonUtils.readValue(timeSeriesDao.getById(workflowInstanceId), WorkflowInstance.class); workflowInstance.setEndedAt(endedAt); + if (variables.containsKey(EXCEPTION_VARIABLE)) { + workflowInstance.setException(true); + } + getTimeSeriesDao().update(JsonUtils.pojoToJson(workflowInstance), workflowInstanceId); } } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/WorkflowInstanceStateRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/WorkflowInstanceStateRepository.java index c578a7db9020..bcea6ac0b621 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/WorkflowInstanceStateRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/WorkflowInstanceStateRepository.java @@ -1,5 +1,7 @@ package org.openmetadata.service.jdbi3; +import static org.openmetadata.service.governance.workflows.Workflow.EXCEPTION_VARIABLE; + import java.util.Map; import java.util.UUID; import org.openmetadata.schema.governance.workflows.Stage; @@ -61,6 +63,10 @@ public void updateStage( stage.setEndedAt(endedAt); stage.setVariables(variables); + if (variables.containsKey(EXCEPTION_VARIABLE)) { + workflowInstanceState.setException(true); + } + workflowInstanceState.setStage(stage); getTimeSeriesDao().update(JsonUtils.pojoToJson(workflowInstanceState), workflowInstanceStateId); diff --git a/openmetadata-spec/src/main/resources/json/schema/governance/workflows/workflowInstance.json b/openmetadata-spec/src/main/resources/json/schema/governance/workflows/workflowInstance.json index 81beb132d155..c63feb258fa2 100644 --- a/openmetadata-spec/src/main/resources/json/schema/governance/workflows/workflowInstance.json +++ b/openmetadata-spec/src/main/resources/json/schema/governance/workflows/workflowInstance.json @@ -30,6 +30,10 @@ "timestamp": { "description": "Timestamp on which the workflow instance state was created.", "$ref": "../../type/basic.json#/definitions/timestamp" + }, + "exception": { + "description": "If the Workflow Instance has errors, 'True'. Else, 'False'.", + "type": "boolean" } }, "required": [], diff --git a/openmetadata-spec/src/main/resources/json/schema/governance/workflows/workflowInstanceState.json b/openmetadata-spec/src/main/resources/json/schema/governance/workflows/workflowInstanceState.json index 01ed9dc19a19..fb11362f3b72 100644 --- a/openmetadata-spec/src/main/resources/json/schema/governance/workflows/workflowInstanceState.json +++ b/openmetadata-spec/src/main/resources/json/schema/governance/workflows/workflowInstanceState.json @@ -54,6 +54,10 @@ "timestamp": { "description": "Timestamp on which the workflow instance state was created.", "$ref": "../../type/basic.json#/definitions/timestamp" + }, + "exception": { + "description": "If the Workflow Instance has errors, 'True'. Else, 'False'.", + "type": "boolean" } }, "required": [], From c5171139c3aeae9eb86179f124358f22b443eaa4 Mon Sep 17 00:00:00 2001 From: Imri Paran Date: Tue, 26 Nov 2024 18:28:22 +0100 Subject: [PATCH 33/36] chore: added data diff to base requirements (#18789) --- ingestion/setup.py | 1 + .../runtime_param_setter/param_setter_factory.py | 13 +++---------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/ingestion/setup.py b/ingestion/setup.py index df5f3a7e1fcb..ff54d8406ba7 100644 --- a/ingestion/setup.py +++ b/ingestion/setup.py @@ -142,6 +142,7 @@ "typing-inspect", "packaging", # For version parsing "shapely", + "collate-data-diff", } plugins: Dict[str, Set[str]] = { diff --git a/ingestion/src/metadata/data_quality/validations/runtime_param_setter/param_setter_factory.py b/ingestion/src/metadata/data_quality/validations/runtime_param_setter/param_setter_factory.py index f66fcbfcebda..be1a0abc2915 100644 --- a/ingestion/src/metadata/data_quality/validations/runtime_param_setter/param_setter_factory.py +++ b/ingestion/src/metadata/data_quality/validations/runtime_param_setter/param_setter_factory.py @@ -22,20 +22,13 @@ from metadata.data_quality.validations.runtime_param_setter.table_diff_params_setter import ( TableDiffParamsSetter, ) +from metadata.data_quality.validations.table.sqlalchemy.tableDiff import ( + TableDiffValidator, +) from metadata.generated.schema.entity.data.table import Table from metadata.ingestion.ometa.ometa_api import OpenMetadata from metadata.sampler.sqlalchemy.sampler import SQASampler -# We want to use the explicit class name here but the packages might not exist -try: - from metadata.data_quality.validations.table.sqlalchemy.tableDiff import ( - TableDiffValidator, - ) -except ImportError: - - class TableDiffValidator: - pass - def removesuffix(s: str, suffix: str) -> str: """A custom implementation of removesuffix for python versions < 3.9 From b3e52e88312bf11b353f066fc3ef8b5034a6feae Mon Sep 17 00:00:00 2001 From: Kenil Shah <32725411+Kenil27@users.noreply.github.com> Date: Wed, 27 Nov 2024 00:29:31 +0530 Subject: [PATCH 34/36] fix: show duration based on current time if endTime is not there (#18799) --- .../AppRunsHistory/AppRunsHistory.component.tsx | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Settings/Applications/AppRunsHistory/AppRunsHistory.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Settings/Applications/AppRunsHistory/AppRunsHistory.component.tsx index 7a9b049d3a26..fe54986735a5 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Settings/Applications/AppRunsHistory/AppRunsHistory.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Settings/Applications/AppRunsHistory/AppRunsHistory.component.tsx @@ -192,11 +192,9 @@ const AppRunsHistory = forwardRef( dataIndex: 'executionTime', key: 'executionTime', render: (_, record: AppRunRecordWithId) => { - if (record.startTime && record.endTime) { - const ms = getIntervalInMilliseconds( - record.startTime, - record.endTime - ); + if (record.startTime) { + const endTime = record.endTime || Date.now(); // Use current time in epoch milliseconds if endTime is not present + const ms = getIntervalInMilliseconds(record.startTime, endTime); return formatDuration(ms); } else { From e32f9cf8623cbe96cce8d0cc6c063b489c3f9590 Mon Sep 17 00:00:00 2001 From: Sweta Agarwalla <105535990+sweta1308@users.noreply.github.com> Date: Wed, 27 Nov 2024 00:35:23 +0530 Subject: [PATCH 35/36] Add alert bar component (#17230) * add alert bar component * updated as per comments * updated as per comments * updated alert bar component * remove styles attributes * update styles * add alert store and use alert in page layout * update component to have reset method * refactor: update reset calling method * update reset method name * updated as per feedbacks * refcator: update CrossIcon component usage * chore: remove condition for CrossIcon * update animation for opening alert bar. * add autoCloseTimer to alert banner * remove cross icon component * add cross icon svg * update to fix the height issue * fix height glitch issue when alert appears * update the alert notification tests * update alert transition issue * revert the changes for height issue * add alert in mydata * update alert animation issue * update alert position in page layout * update as per feedbacks * fix tests failure * update test for toast * remove dummy alert bar * made alert fixed to top * fix check failing issue * fix activity feed playwright test issue * update test * fix test issues * update page layout * fix sonar cloud failure * fix sonar cloud failure * fix test issues * resolve sonar issue * update lineage spec * update as per comments * update domain page css * fix sonar issue * fix sonar cloud issue * remove react-toastify * fix sonar error * yarn install command run * update yarn lock * revert yarn lock changes * update yarn lock * revert yarn * revert yarn changes * remove toastify instance * update message type * fix sonar issue * add alert bar in Alert details page * create mock for page layout --------- Co-authored-by: Sachin Chaurasiya Co-authored-by: Ashish Gupta Co-authored-by: Chirag Madlani <12962843+chirag-madlani@users.noreply.github.com> --- .../src/main/resources/ui/package.json | 1 - .../e2e/Features/ActivityFeed.spec.ts | 18 +- .../e2e/Features/TeamsDragAndDrop.spec.ts | 9 +- .../e2e/Flow/ApiServiceRest.spec.ts | 13 +- .../ui/playwright/e2e/Pages/Domains.spec.ts | 6 +- .../ui/playwright/e2e/Pages/Glossary.spec.ts | 3 +- .../ui/playwright/e2e/Pages/Policies.spec.ts | 12 +- .../ui/playwright/e2e/Pages/Roles.spec.ts | 14 +- .../ui/playwright/e2e/Pages/TestCases.spec.ts | 19 +- .../VersionPages/EntityVersionPages.spec.ts | 12 +- .../ServiceEntityVersionPage.spec.ts | 12 +- .../resources/ui/playwright/utils/common.ts | 13 +- .../ui/playwright/utils/customMetric.ts | 6 +- .../resources/ui/playwright/utils/entity.ts | 21 +- .../resources/ui/playwright/utils/lineage.ts | 6 +- .../resources/ui/playwright/utils/user.ts | 9 +- .../src/main/resources/ui/src/App.tsx | 4 - .../resources/ui/src/assets/svg/ic-cross.svg | 3 + .../resources/ui/src/assets/svg/ic-error.svg | 12 + .../ui/src/assets/svg/ic-info-tag.svg | 12 + .../ui/src/assets/svg/ic-success.svg | 10 + .../ui/src/assets/svg/ic-warning-tag.svg | 12 + .../AlertBar/AlertBar.interface.ts} | 17 +- .../ui/src/components/AlertBar/AlertBar.tsx | 43 +++ .../components/AlertBar/alert-bar.style.less | 85 ++++++ .../AppAuthenticators/MsalAuthenticator.tsx | 4 +- .../Domain/DomainPage.component.tsx | 47 ++-- .../ui/src/components/Domain/domain.less | 3 + .../components/PageLayoutV1/PageLayoutV1.tsx | 50 ++-- .../resources/ui/src/hooks/useAlertStore.ts | 45 +++ .../ui/src/locale/languages/de-de.json | 1 + .../ui/src/locale/languages/en-us.json | 1 + .../ui/src/locale/languages/es-es.json | 1 + .../ui/src/locale/languages/fr-fr.json | 1 + .../ui/src/locale/languages/gl-es.json | 1 + .../ui/src/locale/languages/he-he.json | 1 + .../ui/src/locale/languages/ja-jp.json | 1 + .../ui/src/locale/languages/nl-nl.json | 1 + .../ui/src/locale/languages/pr-pr.json | 1 + .../ui/src/locale/languages/pt-br.json | 1 + .../ui/src/locale/languages/pt-pt.json | 1 + .../ui/src/locale/languages/ru-ru.json | 1 + .../ui/src/locale/languages/th-th.json | 1 + .../ui/src/locale/languages/zh-cn.json | 1 + .../AlertDetailsPage.test.tsx | 9 + .../AlertDetailsPage/AlertDetailsPage.tsx | 263 +++++++++--------- .../DataQuality/DataQualityPage.test.tsx | 4 + .../src/pages/DataQuality/DataQualityPage.tsx | 141 +++++----- .../GlossaryPage/GlossaryPage.component.tsx | 41 +-- .../GlossaryPage/GlossaryPage.test.tsx | 9 + .../LineageConfigPage/LineageConfigPage.tsx | 241 ++++++++-------- .../Persona/PersonaListPage/PersonaPage.tsx | 128 +++++---- .../ui/src/styles/layout/page-layout.less | 14 + .../resources/ui/src/styles/variables.less | 4 + .../main/resources/ui/src/utils/ToastUtils.ts | 83 ++++-- .../src/main/resources/ui/yarn.lock | 7 - 56 files changed, 902 insertions(+), 577 deletions(-) create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-cross.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-error.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-info-tag.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-success.svg create mode 100644 openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-warning-tag.svg rename openmetadata-ui/src/main/resources/ui/src/{constants/Toasts.constants.ts => components/AlertBar/AlertBar.interface.ts} (72%) create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/AlertBar/AlertBar.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/AlertBar/alert-bar.style.less create mode 100644 openmetadata-ui/src/main/resources/ui/src/hooks/useAlertStore.ts diff --git a/openmetadata-ui/src/main/resources/ui/package.json b/openmetadata-ui/src/main/resources/ui/package.json index 0fedb0dfe368..2e83bc6e9c79 100644 --- a/openmetadata-ui/src/main/resources/ui/package.json +++ b/openmetadata-ui/src/main/resources/ui/package.json @@ -120,7 +120,6 @@ "react-quill-new": "^3.3.2", "react-reflex": "^4.0.12", "react-router-dom": "^5.2.0", - "react-toastify": "^8.2.0", "reactflow": "^11.10.2", "reactjs-localstorage": "^1.0.1", "recharts": "2.10.3", diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/ActivityFeed.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/ActivityFeed.spec.ts index 57578ef22eaa..467bf511d006 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/ActivityFeed.spec.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/ActivityFeed.spec.ts @@ -363,13 +363,15 @@ test.describe('Activity feed', () => { await page.getByText('OK').click(); await resolveTask; - await toastNotification(page, /Task resolved successfully/); + await toastNotification(page, /Task resolved successfully/, 'success'); // Task 1 - Resolved the task + const resolveTask2 = page.waitForResponse('/api/v1/feed/tasks/*/resolve'); await page.getByText('Accept Suggestion').click(); + await resolveTask2; - await toastNotification(page, /Task resolved successfully/); + await toastNotification(page, /Task resolved successfully/, 'success'); await checkTaskCount(page, 0, 2); }); @@ -412,7 +414,11 @@ test.describe('Activity feed', () => { await page.getByRole('menuitem', { name: 'close' }).click(); - await toastNotification(page, 'Task cannot be closed without a comment.'); + await toastNotification( + page, + 'Task cannot be closed without a comment.', + 'error' + ); // Close the task from the Button.Group, with comment is added. await page.fill( @@ -671,7 +677,8 @@ base.describe('Activity feed with Data Consumer User', () => { // await toastNotification(page1, 'Task closed successfully.'); await toastNotification( page1, - 'An exception with message [Cannot invoke "java.util.List.stream()" because "owners" is null] was thrown while processing request.' + 'An exception with message [Cannot invoke "java.util.List.stream()" because "owners" is null] was thrown while processing request.', + 'error' ); // TODO: Ashish - Enable them once issue is resolved from Backend https://github.com/open-metadata/OpenMetadata/issues/17059 @@ -984,7 +991,8 @@ base.describe('Activity feed with Data Consumer User', () => { await toastNotification( page2, // eslint-disable-next-line max-len - `Principal: CatalogPrincipal{name='${viewAllUser.responseData.name}'} operation EditDescription denied by role ${viewAllRoles.responseData.name}, policy ${viewAllPolicy.responseData.name}, rule editNotAllowed` + `Principal: CatalogPrincipal{name='${viewAllUser.responseData.name}'} operation EditDescription denied by role ${viewAllRoles.responseData.name}, policy ${viewAllPolicy.responseData.name}, rule editNotAllowed`, + 'error' ); await afterActionUser2(); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/TeamsDragAndDrop.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/TeamsDragAndDrop.spec.ts index a91ddc482b01..eaa13dbc0f3b 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/TeamsDragAndDrop.spec.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/TeamsDragAndDrop.spec.ts @@ -118,7 +118,8 @@ test.describe('Teams drag and drop should work properly', () => { await dragAndDropElement(page, team, teamNameGroup); await toastNotification( page, - `You cannot move to this team as Team Type ${TEAM_TYPE_BY_NAME[team]} can't be Group children` + `You cannot move to this team as Team Type ${TEAM_TYPE_BY_NAME[team]} can't be Group children`, + 'error' ); } }); @@ -132,7 +133,8 @@ test.describe('Teams drag and drop should work properly', () => { await dragAndDropElement(page, team, teamNameDepartment); await toastNotification( page, - `You cannot move to this team as Team Type ${TEAM_TYPE_BY_NAME[team]} can't be Department children` + `You cannot move to this team as Team Type ${TEAM_TYPE_BY_NAME[team]} can't be Department children`, + 'error' ); } }); @@ -143,7 +145,8 @@ test.describe('Teams drag and drop should work properly', () => { await dragAndDropElement(page, teamNameBusiness, teamNameDivision); await toastNotification( page, - "You cannot move to this team as Team Type BusinessUnit can't be Division children" + "You cannot move to this team as Team Type BusinessUnit can't be Division children", + 'error' ); }); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/ApiServiceRest.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/ApiServiceRest.spec.ts index d9b46f3d5148..22c9cd195f5b 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/ApiServiceRest.spec.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/ApiServiceRest.spec.ts @@ -12,7 +12,12 @@ */ import { expect, test } from '@playwright/test'; import { GlobalSettingOptions } from '../../constant/settings'; -import { descriptionBox, redirectToHomePage, uuid } from '../../utils/common'; +import { + descriptionBox, + redirectToHomePage, + toastNotification, + uuid, +} from '../../utils/common'; import { settingClick } from '../../utils/sidebar'; const apiServiceConfig = { @@ -89,10 +94,6 @@ test.describe('API service', () => { await deleteResponse; - await expect(page.locator('.Toastify__toast-body')).toHaveText( - /deleted successfully!/ - ); - - await page.click('.Toastify__close-button'); + await toastNotification(page, /deleted successfully!/); }); }); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Domains.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Domains.spec.ts index ef6d563b7d0a..622514a95520 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Domains.spec.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Domains.spec.ts @@ -84,7 +84,11 @@ test.describe('Domains', () => { await deleteRes; await expect( - page.getByText(`"${domain.data.displayName}" deleted`) + page.getByText( + `"${ + domain.data.displayName ?? domain.data.name + }" deleted successfully!` + ) ).toBeVisible(); }); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Glossary.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Glossary.spec.ts index f5c5fe15000f..84c13afb08cf 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Glossary.spec.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Glossary.spec.ts @@ -378,7 +378,8 @@ test.describe('Glossary tests', () => { await toastNotification( page, - /mutually exclusive and can't be assigned together/ + /mutually exclusive and can't be assigned together/, + 'error' ); // Add non mutually exclusive tags diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Policies.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Policies.spec.ts index 5ae25ec71fef..038c637ee8ef 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Policies.spec.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Policies.spec.ts @@ -25,7 +25,11 @@ import { UPDATED_RULE_NAME, } from '../../constant/permission'; import { GlobalSettingOptions } from '../../constant/settings'; -import { descriptionBox, redirectToHomePage } from '../../utils/common'; +import { + descriptionBox, + redirectToHomePage, + toastNotification, +} from '../../utils/common'; import { validateFormNameFieldInput } from '../../utils/form'; import { settingClick } from '../../utils/sidebar'; @@ -258,8 +262,10 @@ test.describe('Policy page should work properly', () => { await page.locator('[data-testid="delete-rule"]').click(); // Validate the error message - await expect(page.locator('.Toastify__toast-body')).toContainText( - ERROR_MESSAGE_VALIDATION.lastRuleCannotBeRemoved + await toastNotification( + page, + ERROR_MESSAGE_VALIDATION.lastRuleCannotBeRemoved, + 'error' ); }); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Roles.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Roles.spec.ts index ce8df8423644..911747d396ad 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Roles.spec.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Roles.spec.ts @@ -12,7 +12,12 @@ */ import { expect, test } from '@playwright/test'; import { GlobalSettingOptions } from '../../constant/settings'; -import { descriptionBox, redirectToHomePage, uuid } from '../../utils/common'; +import { + descriptionBox, + redirectToHomePage, + toastNotification, + uuid, +} from '../../utils/common'; import { removePolicyFromRole } from '../../utils/roles'; import { settingClick } from '../../utils/sidebar'; @@ -201,9 +206,12 @@ test('Roles page should work properly', async ({ page }) => { // Removing the last policy and validating the error message await removePolicyFromRole(page, policies.dataConsumerPolicy, roleName); - await expect(page.locator('.Toastify__toast-body')).toContainText( - errorMessageValidation.lastPolicyCannotBeRemoved + await toastNotification( + page, + errorMessageValidation.lastPolicyCannotBeRemoved, + 'error' ); + await expect(page.locator('.ant-table-row')).toContainText( policies.dataConsumerPolicy ); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/TestCases.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/TestCases.spec.ts index 56bef624f085..76887b2056b9 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/TestCases.spec.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/TestCases.spec.ts @@ -16,6 +16,7 @@ import { descriptionBox, getApiContext, redirectToHomePage, + toastNotification, } from '../../utils/common'; import { deleteTestCase, visitDataQualityTab } from '../../utils/testCases'; @@ -133,11 +134,7 @@ test('Table difference test case', async ({ page }) => { await page.getByTitle('name', { exact: true }).click(); await page.getByRole('button', { name: 'Submit' }).click(); - await expect(page.getByRole('alert')).toContainText( - 'Test case updated successfully.' - ); - - await page.getByLabel('close', { exact: true }).click(); + await toastNotification(page, 'Test case updated successfully.'); }); await test.step('Delete', async () => { @@ -233,11 +230,7 @@ test('Custom SQL Query', async ({ page }) => { await page.getByPlaceholder('Enter a Threshold').fill('244'); await page.getByRole('button', { name: 'Submit' }).click(); - await expect(page.getByRole('alert')).toContainText( - 'Test case updated successfully.' - ); - - await page.getByLabel('close', { exact: true }).click(); + await toastNotification(page, 'Test case updated successfully.'); }); await test.step('Delete', async () => { @@ -334,11 +327,7 @@ test('Column Values To Be Not Null', async ({ page }) => { await page.keyboard.type(' update'); await page.getByRole('button', { name: 'Submit' }).click(); - await expect(page.getByRole('alert')).toContainText( - 'Test case updated successfully.' - ); - - await page.getByLabel('close', { exact: true }).click(); + await toastNotification(page, 'Test case updated successfully.'); }); await test.step('Delete', async () => { diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/VersionPages/EntityVersionPages.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/VersionPages/EntityVersionPages.spec.ts index 6b8ae01172a2..0f820128d263 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/e2e/VersionPages/EntityVersionPages.spec.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/VersionPages/EntityVersionPages.spec.ts @@ -22,7 +22,11 @@ import { SearchIndexClass } from '../../support/entity/SearchIndexClass'; import { StoredProcedureClass } from '../../support/entity/StoredProcedureClass'; import { TableClass } from '../../support/entity/TableClass'; import { TopicClass } from '../../support/entity/TopicClass'; -import { createNewPage, redirectToHomePage } from '../../utils/common'; +import { + createNewPage, + redirectToHomePage, + toastNotification, +} from '../../utils/common'; import { addMultiOwner, assignTier } from '../../utils/entity'; const entities = [ @@ -233,11 +237,7 @@ entities.forEach((EntityClass) => { await deleteResponse; - await expect(page.locator('.Toastify__toast-body')).toHaveText( - /deleted successfully!/ - ); - - await page.click('.Toastify__close-button'); + await toastNotification(page, /deleted successfully!/); await page.reload(); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/VersionPages/ServiceEntityVersionPage.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/VersionPages/ServiceEntityVersionPage.spec.ts index d083c18c1ecc..f79a1a683071 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/e2e/VersionPages/ServiceEntityVersionPage.spec.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/VersionPages/ServiceEntityVersionPage.spec.ts @@ -23,7 +23,11 @@ import { MlmodelServiceClass } from '../../support/entity/service/MlmodelService import { PipelineServiceClass } from '../../support/entity/service/PipelineServiceClass'; import { SearchIndexServiceClass } from '../../support/entity/service/SearchIndexServiceClass'; import { StorageServiceClass } from '../../support/entity/service/StorageServiceClass'; -import { createNewPage, redirectToHomePage } from '../../utils/common'; +import { + createNewPage, + redirectToHomePage, + toastNotification, +} from '../../utils/common'; import { addMultiOwner, assignTier } from '../../utils/entity'; const entities = [ @@ -198,11 +202,7 @@ entities.forEach((EntityClass) => { await deleteResponse; - await expect(page.locator('.Toastify__toast-body')).toHaveText( - /deleted successfully!/ - ); - - await page.click('.Toastify__close-button'); + await toastNotification(page, /deleted successfully!/); await page.reload(); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/utils/common.ts b/openmetadata-ui/src/main/resources/ui/playwright/utils/common.ts index f2b7ffc39d9c..c38ea012a884 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/utils/common.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/utils/common.ts @@ -113,15 +113,14 @@ export const getEntityTypeSearchIndexMapping = (entityType: string) => { export const toastNotification = async ( page: Page, - message: string | RegExp + message: string | RegExp, + type: 'info' | 'success' | 'warning' | 'error' = 'success' ) => { - await expect(page.getByRole('alert').first()).toHaveText(message); + await expect(page.locator(`.alert-container.${type}`)).toHaveText(message); - await page - .locator('.Toastify__toast') - .getByLabel('close', { exact: true }) - .first() - .click(); + await expect(page.locator('.ant-alert-icon')).toBeVisible(); + + await expect(page.locator('.alert-container button')).toBeVisible(); }; export const clickOutside = async (page: Page) => { diff --git a/openmetadata-ui/src/main/resources/ui/playwright/utils/customMetric.ts b/openmetadata-ui/src/main/resources/ui/playwright/utils/customMetric.ts index aec19a4749a9..e8cda5d48f75 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/utils/customMetric.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/utils/customMetric.ts @@ -16,6 +16,7 @@ import { NAME_MAX_LENGTH_VALIDATION_ERROR, NAME_VALIDATION_ERROR, } from '../constant/common'; +import { toastNotification } from './common'; type CustomMetricDetails = { page: Page; @@ -118,12 +119,11 @@ export const createCustomMetric = async ({ await page.click('[data-testid="submit-button"]'); await createMetricResponse; - await expect(page.locator('.Toastify__toast-body')).toHaveText( + await toastNotification( + page, new RegExp(`${metric.name} created successfully.`) ); - await page.locator('.Toastify__close-button').click(); - // verify the created custom metric await expect(page).toHaveURL(/profiler/); await expect( diff --git a/openmetadata-ui/src/main/resources/ui/playwright/utils/entity.ts b/openmetadata-ui/src/main/resources/ui/playwright/utils/entity.ts index 42b2d3db4e15..93358e01247c 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/utils/entity.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/utils/entity.ts @@ -24,7 +24,7 @@ import { } from '../constant/delete'; import { ES_RESERVED_CHARACTERS } from '../constant/entity'; import { EntityTypeEndpoint } from '../support/entity/Entity.interface'; -import { clickOutside, redirectToHomePage } from './common'; +import { clickOutside, redirectToHomePage, toastNotification } from './common'; export const visitEntityPage = async (data: { page: Page; @@ -789,7 +789,6 @@ const announcementForm = async ( ); await page.click('#announcement-submit'); await announcementSubmit; - await page.click('.Toastify__close-button'); }; export const createAnnouncement = async ( @@ -1179,11 +1178,7 @@ export const restoreEntity = async (page: Page) => { await page.click('[data-testid="restore-button"]'); await page.click('button:has-text("Restore")'); - await expect(page.locator('.Toastify__toast-body')).toHaveText( - /restored successfully/ - ); - - await page.click('.Toastify__close-button'); + await toastNotification(page, /restored successfully/); const exists = await page .locator('[data-testid="deleted-badge"]') @@ -1222,11 +1217,7 @@ export const softDeleteEntity = async ( await deleteResponse; - await expect(page.locator('.Toastify__toast-body')).toHaveText( - /deleted successfully!/ - ); - - await page.click('.Toastify__close-button'); + await toastNotification(page, /deleted successfully!/); await page.reload(); @@ -1291,11 +1282,7 @@ export const hardDeleteEntity = async ( await page.click('[data-testid="confirm-button"]'); await deleteResponse; - await expect(page.locator('.Toastify__toast-body')).toHaveText( - /deleted successfully!/ - ); - - await page.click('.Toastify__close-button'); + await toastNotification(page, /deleted successfully!/); }; export const checkDataAssetWidget = async ( diff --git a/openmetadata-ui/src/main/resources/ui/playwright/utils/lineage.ts b/openmetadata-ui/src/main/resources/ui/playwright/utils/lineage.ts index a41c7a16793a..9d09e344818d 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/utils/lineage.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/utils/lineage.ts @@ -63,9 +63,9 @@ export const LINEAGE_CSV_HEADERS = [ export const verifyColumnLayerInactive = async (page: Page) => { await page.click('[data-testid="lineage-layer-btn"]'); // Open Layer popover - await page.waitForSelector( - '[data-testid="lineage-layer-column-btn"]:not(.active)' - ); + + await expect(page.getByTestId('lineage-layer-column-btn')).not.toBeFocused; + await page.click('[data-testid="lineage-layer-btn"]'); // Close Layer popover }; diff --git a/openmetadata-ui/src/main/resources/ui/playwright/utils/user.ts b/openmetadata-ui/src/main/resources/ui/playwright/utils/user.ts index cc119a639cfe..ab96c291514a 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/utils/user.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/utils/user.ts @@ -138,11 +138,7 @@ export const softDeleteUserProfilePage = async ( await deleteResponse; - await expect(page.locator('.Toastify__toast-body')).toHaveText( - /deleted successfully!/ - ); - - await page.click('.Toastify__close-button'); + await toastNotification(page, /deleted successfully!/); await deletedUserChecks(page); }; @@ -719,7 +715,8 @@ const resetPasswordModal = async ( page, isOldPasswordCorrect ? 'Password updated successfully.' - : 'Old Password is not correct' + : 'Old Password is not correct', + isOldPasswordCorrect ? 'success' : 'error' ); }; diff --git a/openmetadata-ui/src/main/resources/ui/src/App.tsx b/openmetadata-ui/src/main/resources/ui/src/App.tsx index cbcc1eaef496..a8edf6289a81 100644 --- a/openmetadata-ui/src/main/resources/ui/src/App.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/App.tsx @@ -16,15 +16,12 @@ import React, { FC, useEffect } from 'react'; import { HelmetProvider } from 'react-helmet-async'; import { I18nextProvider } from 'react-i18next'; import { Router } from 'react-router-dom'; -import { ToastContainer } from 'react-toastify'; -import 'react-toastify/dist/ReactToastify.min.css'; import AppRouter from './components/AppRouter/AppRouter'; import { AuthProvider } from './components/Auth/AuthProviders/AuthProvider'; import ErrorBoundary from './components/common/ErrorBoundary/ErrorBoundary'; import { EntityExportModalProvider } from './components/Entity/EntityExportModalProvider/EntityExportModalProvider.component'; import ApplicationsProvider from './components/Settings/Applications/ApplicationsProvider/ApplicationsProvider'; import WebAnalyticsProvider from './components/WebAnalytics/WebAnalyticsProvider'; -import { TOAST_OPTIONS } from './constants/Toasts.constants'; import AntDConfigProvider from './context/AntDConfigProvider/AntDConfigProvider'; import PermissionProvider from './context/PermissionProvider/PermissionProvider'; import TourProvider from './context/TourProvider/TourProvider'; @@ -98,7 +95,6 @@ const App: FC = () => { - ); diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-cross.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-cross.svg new file mode 100644 index 000000000000..4edb4b8312eb --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-cross.svg @@ -0,0 +1,3 @@ + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-error.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-error.svg new file mode 100644 index 000000000000..b321359d7d38 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-error.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-info-tag.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-info-tag.svg new file mode 100644 index 000000000000..0874efa5b7d6 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-info-tag.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-success.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-success.svg new file mode 100644 index 000000000000..53c6a0b63ecd --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-success.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-warning-tag.svg b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-warning-tag.svg new file mode 100644 index 000000000000..00f5761b5e5b --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/assets/svg/ic-warning-tag.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/openmetadata-ui/src/main/resources/ui/src/constants/Toasts.constants.ts b/openmetadata-ui/src/main/resources/ui/src/components/AlertBar/AlertBar.interface.ts similarity index 72% rename from openmetadata-ui/src/main/resources/ui/src/constants/Toasts.constants.ts rename to openmetadata-ui/src/main/resources/ui/src/components/AlertBar/AlertBar.interface.ts index 33a2e24018d6..269daa647ba4 100644 --- a/openmetadata-ui/src/main/resources/ui/src/constants/Toasts.constants.ts +++ b/openmetadata-ui/src/main/resources/ui/src/components/AlertBar/AlertBar.interface.ts @@ -1,5 +1,7 @@ +import { AlertProps } from 'antd'; + /* - * Copyright 2022 Collate. + * Copyright 2024 Collate. * 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 @@ -10,12 +12,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - -import { ToastOptions } from 'react-toastify'; - -export const TOAST_OPTIONS: ToastOptions = { - autoClose: false, - hideProgressBar: true, - draggable: false, - closeOnClick: false, -}; +export interface AlertBarProps { + type: AlertProps['type']; + message: string | JSX.Element; +} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/AlertBar/AlertBar.tsx b/openmetadata-ui/src/main/resources/ui/src/components/AlertBar/AlertBar.tsx new file mode 100644 index 000000000000..6ffb58766394 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/AlertBar/AlertBar.tsx @@ -0,0 +1,43 @@ +/* + * Copyright 2024 Collate. + * 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 { Alert } from 'antd'; +import classNames from 'classnames'; +import React, { useMemo } from 'react'; +import { ReactComponent as CrossIcon } from '../../assets/svg/ic-cross.svg'; +import { useAlertStore } from '../../hooks/useAlertStore'; +import { getIconAndClassName } from '../../utils/ToastUtils'; +import './alert-bar.style.less'; +import { AlertBarProps } from './AlertBar.interface'; + +const AlertBar = ({ type, message }: AlertBarProps): JSX.Element => { + const { resetAlert, animationClass } = useAlertStore(); + + const { icon: AlertIcon, className } = useMemo(() => { + return getIconAndClassName(type); + }, [type]); + + return ( + } + description={message} + icon={AlertIcon && } + type={type} + /> + ); +}; + +export default AlertBar; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/AlertBar/alert-bar.style.less b/openmetadata-ui/src/main/resources/ui/src/components/AlertBar/alert-bar.style.less new file mode 100644 index 000000000000..c139ba7cbe2d --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/AlertBar/alert-bar.style.less @@ -0,0 +1,85 @@ +/* + * Copyright 2024 Collate. + * 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 (reference) url('../../styles/variables.less'); + +@keyframes resize-show-animation { + from { + height: 0; + padding: 0 20px; + } + to { + height: 64px; + padding: 20px; + } +} + +@keyframes resize-hide-animation { + from { + height: 64px; + padding: 20px; + } + to { + height: 0; + padding: 0 20px; + } +} + +.alert-container { + overflow-y: scroll; + backdrop-filter: blur(500px); + + &.show-alert { + animation: resize-show-animation 1.2s ease-in-out forwards; + position: fixed; + top: 64px; + z-index: 20; + width: 96%; + } + + &.hide-alert { + animation: resize-hide-animation 1.2s ease-in-out forwards; + } + + &.info { + background-color: @info-bg-color; + color: @info-color; + border: none; + border-radius: 0px; + } + + &.success { + background-color: @success-bg-color; + color: @success-color; + border: none; + border-radius: 0px; + } + + &.warning { + background-color: @warning-bg-color; + color: @warning-color; + border: none; + border-radius: 0px; + } + + &.error { + background-color: @error-bg-color; + color: @error-color; + border: none; + border-radius: 0px; + } + + .ant-alert-description { + font-size: 16px; + } +} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Auth/AppAuthenticators/MsalAuthenticator.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Auth/AppAuthenticators/MsalAuthenticator.tsx index dfc9efb7579e..c3687226679e 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Auth/AppAuthenticators/MsalAuthenticator.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Auth/AppAuthenticators/MsalAuthenticator.tsx @@ -24,13 +24,13 @@ import React, { useEffect, useImperativeHandle, } from 'react'; -import { toast } from 'react-toastify'; import { msalLoginRequest, parseMSALResponse, } from '../../../utils/AuthProvider.util'; import { getPopupSettingLink } from '../../../utils/BrowserUtils'; import { Transi18next } from '../../../utils/CommonUtils'; +import { showErrorToast } from '../../../utils/ToastUtils'; import Loader from '../../common/Loader/Loader'; import { AuthenticatorRef, @@ -96,7 +96,7 @@ const MsalAuthenticator = forwardRef( // eslint-disable-next-line no-console console.error(e); if (e?.message?.includes('popup_window_error')) { - toast.error( + showErrorToast( { } }, [rootDomains, domainFqn]); - if (domainLoading) { - return ; - } - if (!(viewBasicDomainPermission || viewAllDomainPermission)) { return ( { ); } - if (isEmpty(rootDomains)) { - return ( - - {t('message.domains-not-configured')} - - ); - } - - return ( + const pageContent = isEmpty(rootDomains) ? ( + + {t('message.domains-not-configured')} + + ) : ( { }} /> ); + + return ( + + {domainLoading ? : pageContent} + + ); }; export default DomainPage; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Domain/domain.less b/openmetadata-ui/src/main/resources/ui/src/components/Domain/domain.less index 81bcd468dadc..a0fe86d6b5e3 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Domain/domain.less +++ b/openmetadata-ui/src/main/resources/ui/src/components/Domain/domain.less @@ -15,6 +15,9 @@ height: @domain-page-height; overflow-y: auto; } +.domain-page { + margin-top: -12px; +} .domain-details-page-tabs { .ant-tabs-nav { diff --git a/openmetadata-ui/src/main/resources/ui/src/components/PageLayoutV1/PageLayoutV1.tsx b/openmetadata-ui/src/main/resources/ui/src/components/PageLayoutV1/PageLayoutV1.tsx index 3d03682e20e7..f5e8ebdacbbe 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/PageLayoutV1/PageLayoutV1.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/PageLayoutV1/PageLayoutV1.tsx @@ -21,6 +21,8 @@ import React, { ReactNode, useMemo, } from 'react'; +import { useAlertStore } from '../../hooks/useAlertStore'; +import AlertBar from '../AlertBar/AlertBar'; import DocumentTitle from '../common/DocumentTitle/DocumentTitle'; import './../../styles/layout/page-layout.less'; @@ -60,6 +62,8 @@ const PageLayoutV1: FC = ({ mainContainerClassName = '', pageContainerStyle = {}, }: PageLayoutProp) => { + const { alert } = useAlertStore(); + const contentWidth = useMemo(() => { if (leftPanel && rightPanel) { return `calc(100% - ${leftPanelWidth + rightPanelWidth}px)`; @@ -99,27 +103,35 @@ const PageLayoutV1: FC = ({ {leftPanel} )} - - {children} - - {rightPanel && ( + - {rightPanel} + className={classNames( + 'page-layout-v1-center p-t-sm page-layout-v1-vertical-scroll', + { + 'flex justify-center': center, + }, + mainContainerClassName + )} + flex={contentWidth} + offset={center ? 3 : 0} + span={center ? 18 : 24}> +
+ {alert && } +
+ {children} +
+
- )} + {rightPanel && ( +
+ {rightPanel} + + )} + ); diff --git a/openmetadata-ui/src/main/resources/ui/src/hooks/useAlertStore.ts b/openmetadata-ui/src/main/resources/ui/src/hooks/useAlertStore.ts new file mode 100644 index 000000000000..654af5fbaa16 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/hooks/useAlertStore.ts @@ -0,0 +1,45 @@ +/* + * Copyright 2024 Collate. + * 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 { AlertProps } from 'antd'; +import { create } from 'zustand'; + +type AlertType = { + type: AlertProps['type']; + message: string | JSX.Element; +}; + +interface AlertStore { + alert: AlertType | undefined; + animationClass: string; + addAlert: (alert: AlertType, timer?: number) => void; + resetAlert: () => void; +} + +export const useAlertStore = create()((set) => ({ + alert: undefined, + animationClass: '', + addAlert: (alert: AlertType, timer?: number) => { + set({ alert, animationClass: 'show-alert' }); + + const autoCloseTimer = timer ?? (alert.type === 'error' ? Infinity : 5000); + + if (autoCloseTimer !== Infinity) { + setTimeout(() => { + set({ animationClass: 'hide-alert', alert: undefined }); + }, autoCloseTimer); + } + }, + resetAlert: () => { + set({ alert: undefined }); + }, +})); diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json index 85cf04099d79..075c327fd969 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json @@ -56,6 +56,7 @@ "aggregate": "Aggregate", "airflow-config-plural": "Airflow-Konfigurationen", "alert": "Warnung", + "alert-details": "Alert Details", "alert-lowercase": "warnung", "alert-lowercase-plural": "warnungen", "alert-plural": "Warnungen", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json index fdfa36d08b6d..e55e0e28aa0b 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json @@ -56,6 +56,7 @@ "aggregate": "Aggregate", "airflow-config-plural": "airflow configs", "alert": "Alert", + "alert-details": "Alert Details", "alert-lowercase": "alert", "alert-lowercase-plural": "alerts", "alert-plural": "Alerts", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json index a2fdc0bee08e..adce69ecd72a 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json @@ -56,6 +56,7 @@ "aggregate": "Agregar", "airflow-config-plural": "Configuraciones de airflow", "alert": "Alerta", + "alert-details": "Alert Details", "alert-lowercase": "alerta", "alert-lowercase-plural": "alertas", "alert-plural": "Alertas", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json index ad1bef37299d..51f87d2283b5 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json @@ -56,6 +56,7 @@ "aggregate": "Aggregate", "airflow-config-plural": "Configurations Airflow", "alert": "Alerte", + "alert-details": "Alert Details", "alert-lowercase": "alerte", "alert-lowercase-plural": "alertes", "alert-plural": "Alertes", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json index 8f8c615b9186..5c24cc04e4d7 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json @@ -56,6 +56,7 @@ "aggregate": "Agrupar", "airflow-config-plural": "configuracións de Airflow", "alert": "Alerta", + "alert-details": "Alert Details", "alert-lowercase": "alerta", "alert-lowercase-plural": "alertas", "alert-plural": "Alertas", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/he-he.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/he-he.json index e285dae6015c..f0e13a3ee9ab 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/he-he.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/he-he.json @@ -56,6 +56,7 @@ "aggregate": "כלול", "airflow-config-plural": "תצורות airflow", "alert": "התראה", + "alert-details": "Alert Details", "alert-lowercase": "התראה", "alert-lowercase-plural": "התראות", "alert-plural": "התראות", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json index 21faa5081ff0..b2b02f7b9c81 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json @@ -56,6 +56,7 @@ "aggregate": "Aggregate", "airflow-config-plural": "Airflowの設定", "alert": "アラート", + "alert-details": "Alert Details", "alert-lowercase": "alert", "alert-lowercase-plural": "alerts", "alert-plural": "アラート", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/nl-nl.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/nl-nl.json index 99e3526bef55..67fdab03b92d 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/nl-nl.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/nl-nl.json @@ -56,6 +56,7 @@ "aggregate": "Agregaat", "airflow-config-plural": "Airflowconfiguraties", "alert": "Alert", + "alert-details": "Alert Details", "alert-lowercase": "alert", "alert-lowercase-plural": "alerts", "alert-plural": "Alerts", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pr-pr.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pr-pr.json index 4f066ed79242..5595dac56027 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pr-pr.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pr-pr.json @@ -56,6 +56,7 @@ "aggregate": "تجمیع", "airflow-config-plural": "پیکربندی‌های ایر‌فلو", "alert": "هشدار", + "alert-details": "Alert Details", "alert-lowercase": "هشدار", "alert-lowercase-plural": "هشدارها", "alert-plural": "هشدارها", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json index 35eeb26e151e..5afc59b10c71 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json @@ -56,6 +56,7 @@ "aggregate": "Agregado", "airflow-config-plural": "configs do airflow", "alert": "Alerta", + "alert-details": "Alert Details", "alert-lowercase": "alerta", "alert-lowercase-plural": "alertas", "alert-plural": "Alertas", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-pt.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-pt.json index 368cf104a0f8..531e4268c432 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-pt.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-pt.json @@ -56,6 +56,7 @@ "aggregate": "Agregado", "airflow-config-plural": "configs do airflow", "alert": "Alerta", + "alert-details": "Alert Details", "alert-lowercase": "alerta", "alert-lowercase-plural": "alertas", "alert-plural": "Alertas", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json index 08c47b5b1ba0..cee404982cd6 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json @@ -56,6 +56,7 @@ "aggregate": "Aggregate", "airflow-config-plural": "конфиги airflow", "alert": "Предупреждение", + "alert-details": "Alert Details", "alert-lowercase": "предупреждение", "alert-lowercase-plural": "предупреждения", "alert-plural": "Предупреждения", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/th-th.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/th-th.json index 3b73d4541b22..6a2db111906f 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/th-th.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/th-th.json @@ -56,6 +56,7 @@ "aggregate": "รวม", "airflow-config-plural": "การกำหนดค่าของ airflow", "alert": "การแจ้งเตือน", + "alert-details": "Alert Details", "alert-lowercase": "การแจ้งเตือน", "alert-lowercase-plural": "การแจ้งเตือนหลายอย่าง", "alert-plural": "การแจ้งเตือนหลายอย่าง", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json index a348666620d8..09d93a1eec58 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json @@ -56,6 +56,7 @@ "aggregate": "聚合", "airflow-config-plural": "Airflow 配置", "alert": "提醒", + "alert-details": "Alert Details", "alert-lowercase": "提醒", "alert-lowercase-plural": "提醒", "alert-plural": "提醒", diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/AlertDetailsPage/AlertDetailsPage.test.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/AlertDetailsPage/AlertDetailsPage.test.tsx index 93fdfcb03fa5..9212c33ff41c 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/AlertDetailsPage/AlertDetailsPage.test.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/AlertDetailsPage/AlertDetailsPage.test.tsx @@ -43,6 +43,15 @@ jest.mock('react-router-dom', () => ({ }), })); +jest.mock('../../components/PageLayoutV1/PageLayoutV1', () => { + return jest.fn(({ children, pageTitle }) => ( +
+

{pageTitle}

+
{children}
+
+ )); +}); + jest.mock('../../rest/observabilityAPI', () => ({ getObservabilityAlertByFQN: jest .fn() diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/AlertDetailsPage/AlertDetailsPage.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/AlertDetailsPage/AlertDetailsPage.tsx index 835039f85638..7790f10af805 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/AlertDetailsPage/AlertDetailsPage.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/AlertDetailsPage/AlertDetailsPage.tsx @@ -30,6 +30,7 @@ import { OwnerLabel } from '../../components/common/OwnerLabel/OwnerLabel.compon import ResizablePanels from '../../components/common/ResizablePanels/ResizablePanels'; import TitleBreadcrumb from '../../components/common/TitleBreadcrumb/TitleBreadcrumb.component'; import EntityHeaderTitle from '../../components/Entity/EntityHeaderTitle/EntityHeaderTitle.component'; +import PageLayoutV1 from '../../components/PageLayoutV1/PageLayoutV1'; import { ROUTES } from '../../constants/constants'; import { GlobalSettingsMenuCategory } from '../../constants/GlobalSettings.constants'; import { usePermissionProvider } from '../../context/PermissionProvider/PermissionProvider'; @@ -327,136 +328,140 @@ function AlertDetailsPage({ } return ( - - ) : ( -
- -
- - - - - - - - - - - -
- {ownerLoading ? ( - - ) : ( - + + + ) : ( +
+ +
+ + + + + + + + + + + +
+ {ownerLoading ? ( + + ) : ( + + )} + {extraInfo} +
+ + + +
+ + {editPermission && + alertDetails?.provider !== ProviderType.System && ( + + - - {editPermission && - alertDetails?.provider !== ProviderType.System && ( - - - - - - - - - - - - ), - minWidth: 700, - flex: 0.7, - }} - pageTitle={t('label.entity-detail-plural', { entity: t('label.alert') })} - secondPanel={{ - children: <>, - minWidth: 0, - className: 'content-resizable-panel-container', - }} - /> + {deletePermission && + alertDetails?.provider !== ProviderType.System && ( + + + + + + + + + + + + ), + minWidth: 700, + flex: 0.7, + }} + pageTitle={t('label.entity-detail-plural', { + entity: t('label.alert'), + })} + secondPanel={{ + children: <>, + minWidth: 0, + className: 'content-resizable-panel-container', + }} + /> + ); } diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/DataQuality/DataQualityPage.test.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/DataQuality/DataQualityPage.test.tsx index ce6f706cb070..318bc94530cc 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/DataQuality/DataQualityPage.test.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/DataQuality/DataQualityPage.test.tsx @@ -63,6 +63,10 @@ jest.mock('../../components/common/ResizablePanels/ResizableLeftPanels', () => { )); }); +jest.mock('../../components/PageLayoutV1/PageLayoutV1', () => { + return jest.fn().mockImplementation(({ children }) =>
{children}
); +}); + jest.mock('react-router-dom', () => { return { ...jest.requireActual('react-router-dom'), diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/DataQuality/DataQualityPage.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/DataQuality/DataQualityPage.tsx index 40e5719231db..811345939365 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/DataQuality/DataQualityPage.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/DataQuality/DataQualityPage.tsx @@ -24,6 +24,7 @@ import { import LeftPanelCard from '../../components/common/LeftPanelCard/LeftPanelCard'; import ResizableLeftPanels from '../../components/common/ResizablePanels/ResizableLeftPanels'; import TabsLabel from '../../components/common/TabsLabel/TabsLabel.component'; +import PageLayoutV1 from '../../components/PageLayoutV1/PageLayoutV1'; import { ROUTES } from '../../constants/constants'; import { getDataQualityPagePath } from '../../utils/RouterUtils'; import './data-quality-page.less'; @@ -68,76 +69,78 @@ const DataQualityPage = () => { }; return ( - - - - ), - }} - pageTitle="Quality" - secondPanel={{ - children: ( - - -
- - {t('label.data-quality')} - - - {t('message.page-sub-header-for-data-quality')} - - - - - {tabDetailsComponent.map((tab) => ( - - ))} + + + + + ), + }} + pageTitle="Quality" + secondPanel={{ + children: ( + + + + + {t('label.data-quality')} + + + {t('message.page-sub-header-for-data-quality')} + + + + + {tabDetailsComponent.map((tab) => ( + + ))} - - - - - - - - ), - className: 'content-resizable-panel-container p-t-sm', - minWidth: 800, - flex: 0.87, - }} - /> + + + + + + + + ), + className: 'content-resizable-panel-container p-t-sm', + minWidth: 800, + flex: 0.87, + }} + /> + ); }; diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/Glossary/GlossaryPage/GlossaryPage.component.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/Glossary/GlossaryPage/GlossaryPage.component.tsx index 2839a2b47274..a565feae5e9b 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/Glossary/GlossaryPage/GlossaryPage.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/Glossary/GlossaryPage/GlossaryPage.component.tsx @@ -29,6 +29,7 @@ import { ModifiedGlossary, useGlossaryStore, } from '../../../components/Glossary/useGlossary.store'; +import PageLayoutV1 from '../../../components/PageLayoutV1/PageLayoutV1'; import { FQN_SEPARATOR_CHAR } from '../../../constants/char.constants'; import { PAGE_SIZE_LARGE, ROUTES } from '../../../constants/constants'; import { GLOSSARIES_DOCS } from '../../../constants/docs.constants'; @@ -348,24 +349,6 @@ const GlossaryPage = () => { return ; } - if (glossaries.length === 0 && !isLoading) { - return ( - - ); - } - const glossaryElement = (
{isRightPanelLoading ? ( @@ -433,7 +416,27 @@ const GlossaryPage = () => { /> ); - return <>{resizableLayout}; + return ( + + {glossaries.length === 0 && !isLoading ? ( + + ) : ( + resizableLayout + )} + + ); }; export default GlossaryPage; diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/Glossary/GlossaryPage/GlossaryPage.test.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/Glossary/GlossaryPage/GlossaryPage.test.tsx index 8c1b0f7e52f6..b542c7cd88bf 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/Glossary/GlossaryPage/GlossaryPage.test.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/Glossary/GlossaryPage/GlossaryPage.test.tsx @@ -46,6 +46,15 @@ jest.mock('../../../context/PermissionProvider/PermissionProvider', () => { }; }); +jest.mock('../../../components/PageLayoutV1/PageLayoutV1', () => { + return jest.fn(({ children, pageTitle }) => ( +
+

{pageTitle}

+
{children}
+
+ )); +}); + jest.mock('../../../components/Glossary/GlossaryV1.component', () => { return jest.fn().mockImplementation((props) => (
diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/LineageConfigPage/LineageConfigPage.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/LineageConfigPage/LineageConfigPage.tsx index 9eaca4e7bd7c..8b65c053a9a7 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/LineageConfigPage/LineageConfigPage.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/LineageConfigPage/LineageConfigPage.tsx @@ -26,6 +26,7 @@ import ResizablePanels from '../../components/common/ResizablePanels/ResizablePa import ServiceDocPanel from '../../components/common/ServiceDocPanel/ServiceDocPanel'; import TitleBreadcrumb from '../../components/common/TitleBreadcrumb/TitleBreadcrumb.component'; import { TitleBreadcrumbProps } from '../../components/common/TitleBreadcrumb/TitleBreadcrumb.interface'; +import PageLayoutV1 from '../../components/PageLayoutV1/PageLayoutV1'; import { GlobalSettingsMenuCategory } from '../../constants/GlobalSettings.constants'; import { OPEN_METADATA } from '../../constants/service-guide.constant'; import { @@ -116,128 +117,130 @@ const LineageConfigPage = () => { } return ( - - -
- - + + + + + + - - - {t('label.lineage')} - - - -
- - - +
+ + {t('label.lineage')} + + + + + + + - - - + + + - - - - - - - - - - - - - - ), - minWidth: 700, - flex: 0.7, - }} - pageTitle={t('label.lineage-config')} - secondPanel={{ - className: 'service-doc-panel content-resizable-panel-container', - minWidth: 400, - flex: 0.3, - children: ( - - ), - }} - /> + + + + + + + + + + + + + + ), + minWidth: 700, + flex: 0.7, + }} + pageTitle={t('label.lineage-config')} + secondPanel={{ + className: 'service-doc-panel content-resizable-panel-container', + minWidth: 400, + flex: 0.3, + children: ( + + ), + }} + /> + ); }; diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/Persona/PersonaListPage/PersonaPage.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/Persona/PersonaListPage/PersonaPage.tsx index f9d90a85db96..62bf50f8208b 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/Persona/PersonaListPage/PersonaPage.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/Persona/PersonaListPage/PersonaPage.tsx @@ -120,75 +120,73 @@ export const PersonaPage = () => { } }; - if (isEmpty(persona) && !isLoading) { - return ( - <> - {errorPlaceHolder} - {Boolean(addEditPersona) && ( - - )} - - ); - } - return ( - - - - - - - - - - - - - - {isLoading - ? [1, 2, 3].map((key) => ( - - - - - - )) - : persona?.map((persona) => ( - - - - ))} - - {showPagination && ( - - + {errorPlaceHolder} + {Boolean(addEditPersona) && ( + + )} + + ) : ( + + + + + + - )} - {Boolean(addEditPersona) && ( - - )} - + + + + + + + {isLoading + ? [1, 2, 3].map((key) => ( + + + + + + )) + : persona?.map((persona) => ( + + + + ))} + + {showPagination && ( + + + + )} + {Boolean(addEditPersona) && ( + + )} + + )} ); }; diff --git a/openmetadata-ui/src/main/resources/ui/src/styles/layout/page-layout.less b/openmetadata-ui/src/main/resources/ui/src/styles/layout/page-layout.less index 4d2cea492ece..acd866f1333e 100644 --- a/openmetadata-ui/src/main/resources/ui/src/styles/layout/page-layout.less +++ b/openmetadata-ui/src/main/resources/ui/src/styles/layout/page-layout.less @@ -20,6 +20,20 @@ overflow-x: hidden; } +.alert-page-container { + position: relative; +} + +.page-content { + position: relative; + top: 0; + transition: top 1s ease-in-out; +} + +.page-content-shifted { + top: 64px; +} + .page-layout-v1-left-panel { border: @global-border; border-radius: @border-radius-base; diff --git a/openmetadata-ui/src/main/resources/ui/src/styles/variables.less b/openmetadata-ui/src/main/resources/ui/src/styles/variables.less index e1f685b0f902..211e4b10122d 100644 --- a/openmetadata-ui/src/main/resources/ui/src/styles/variables.less +++ b/openmetadata-ui/src/main/resources/ui/src/styles/variables.less @@ -110,6 +110,10 @@ @team-avatar-bg: #0950c51a; @om-navbar-height: ~'var(--ant-navbar-height)'; @sidebar-width: 60px; +@error-bg-color: rgb(from @error-color r g b / 0.1); +@success-bg-color: rgb(from @success-color r g b / 0.1); +@warning-bg-color: rgb(from @warning-color r g b / 0.1); +@info-bg-color: rgb(from @info-color r g b / 0.1); // Sizing @page-height: calc(100vh - @om-navbar-height); diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/ToastUtils.ts b/openmetadata-ui/src/main/resources/ui/src/utils/ToastUtils.ts index 38dddaffc89c..697072f5c49a 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/ToastUtils.ts +++ b/openmetadata-ui/src/main/resources/ui/src/utils/ToastUtils.ts @@ -11,14 +11,53 @@ * limitations under the License. */ +import { AlertProps } from 'antd'; import { AxiosError } from 'axios'; import { isEmpty, isString } from 'lodash'; import React from 'react'; -import { toast } from 'react-toastify'; +import { ReactComponent as ErrorIcon } from '../assets/svg/ic-error.svg'; +import { ReactComponent as InfoIcon } from '../assets/svg/ic-info-tag.svg'; +import { ReactComponent as SuccessIcon } from '../assets/svg/ic-success.svg'; +import { ReactComponent as WarningIcon } from '../assets/svg/ic-warning-tag.svg'; import { ClientErrors } from '../enums/Axios.enum'; +import { useAlertStore } from '../hooks/useAlertStore'; import i18n from './i18next/LocalUtil'; import { getErrorText } from './StringsUtils'; +export const getIconAndClassName = (type: AlertProps['type']) => { + switch (type) { + case 'info': + return { + icon: InfoIcon, + className: 'info', + }; + + case 'success': + return { + icon: SuccessIcon, + className: 'success', + }; + + case 'warning': + return { + icon: WarningIcon, + className: 'warning', + }; + + case 'error': + return { + icon: ErrorIcon, + className: 'error', + }; + + default: + return { + icon: null, + className: '', + }; + } +}; + export const hashCode = (str: string) => { let hash = 0, i, @@ -42,15 +81,18 @@ export const hashCode = (str: string) => { * @param autoCloseTimer Set the delay in ms to close the toast automatically. */ export const showErrorToast = ( - error: AxiosError | string, + error: AxiosError | string | JSX.Element, fallbackText?: string, autoCloseTimer?: number, - callback?: (value: React.SetStateAction) => void + callback?: (value: React.SetStateAction) => void ) => { - let errorMessage; - if (isString(error)) { + let errorMessage: string | JSX.Element; + + if (React.isValidElement(error)) { + errorMessage = error; + } else if (isString(error)) { errorMessage = error.toString(); - } else { + } else if ('config' in error && 'response' in error) { const method = error.config?.method?.toUpperCase(); const fallback = fallbackText && fallbackText.length > 0 @@ -69,12 +111,15 @@ export const showErrorToast = ( ) { return; } + } else { + errorMessage = fallbackText ?? i18n.t('server.unexpected-error'); } + callback && callback(errorMessage); - toast.error(errorMessage, { - toastId: hashCode(errorMessage), - autoClose: autoCloseTimer, - }); + + useAlertStore + .getState() + .addAlert({ type: 'error', message: errorMessage }, autoCloseTimer); }; /** @@ -83,9 +128,9 @@ export const showErrorToast = ( * @param autoCloseTimer Set the delay in ms to close the toast automatically. `Default: 5000` */ export const showSuccessToast = (message: string, autoCloseTimer = 5000) => { - toast.success(message, { - autoClose: autoCloseTimer, - }); + useAlertStore + .getState() + .addAlert({ type: 'success', message }, autoCloseTimer); }; /** @@ -94,15 +139,5 @@ export const showSuccessToast = (message: string, autoCloseTimer = 5000) => { * @param autoCloseTimer Set the delay in ms to close the toast automatically. `Default: 5000` */ export const showInfoToast = (message: string, autoCloseTimer = 5000) => { - toast.info(message, { - autoClose: autoCloseTimer, - }); -}; - -/** - * Clear all the toast messages. - */ -export const clearAllToasts = () => { - toast.clearWaitingQueue(); - toast.dismiss(); + useAlertStore.getState().addAlert({ type: 'info', message }, autoCloseTimer); }; diff --git a/openmetadata-ui/src/main/resources/ui/yarn.lock b/openmetadata-ui/src/main/resources/ui/yarn.lock index a228037516d6..6ff20d4a5c7d 100644 --- a/openmetadata-ui/src/main/resources/ui/yarn.lock +++ b/openmetadata-ui/src/main/resources/ui/yarn.lock @@ -12497,13 +12497,6 @@ react-test-renderer@^16.14.0: react-is "^16.8.6" scheduler "^0.19.1" -react-toastify@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/react-toastify/-/react-toastify-8.2.0.tgz#ef7d56bdfdc6272ca6b228368ab564721c3a3244" - integrity sha512-Pg2Ju7NngAamarFvLwqrFomJ57u/Ay6i6zfLurt/qPynWkAkOthu6vxfqYpJCyNhHRhR4hu7+bySSeWWJu6PAg== - dependencies: - clsx "^1.1.1" - react-transition-group@2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.9.0.tgz#df9cdb025796211151a436c69a8f3b97b5b07c8d" From 9f1be47b37df26efc7ba6317436a9753ed47035a Mon Sep 17 00:00:00 2001 From: Shrushti Polekar Date: Wed, 27 Nov 2024 01:26:57 +0530 Subject: [PATCH 36/36] Feat: Support for Emoji Option in Feed Editor (#18772) --- .../ActivityFeed/FeedEditor/FeedEditor.tsx | 6 +- .../ActivityFeed/FeedEditor/feed-editor.less | 17 + .../ActivityFeed/FeedEditor/quill-emoji.css | 4189 +++++++++++++++++ .../ui/src/constants/Feeds.constants.ts | 2 +- .../main/resources/ui/webpack.config.dev.js | 1 + .../main/resources/ui/webpack.config.prod.js | 1 + 6 files changed, 4213 insertions(+), 3 deletions(-) create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/FeedEditor/quill-emoji.css diff --git a/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/FeedEditor/FeedEditor.tsx b/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/FeedEditor/FeedEditor.tsx index 3f0b50625d5c..81e91ad53930 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/FeedEditor/FeedEditor.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/FeedEditor/FeedEditor.tsx @@ -12,6 +12,7 @@ */ /* eslint-disable @typescript-eslint/ban-ts-comment */ +import { TextAreaEmoji } from '@windmillcode/quill-emoji'; import classNames from 'classnames'; import { debounce, isNil } from 'lodash'; import { Parchment } from 'quill'; @@ -52,9 +53,11 @@ import searchClassBase from '../../../utils/SearchClassBase'; import { editorRef } from '../../common/RichTextEditor/RichTextEditor.interface'; import './feed-editor.less'; import { FeedEditorProp, MentionSuggestionsItem } from './FeedEditor.interface'; +import './quill-emoji.css'; Quill.register('modules/markdownOptions', QuillMarkdown); Quill.register(LinkBlot as unknown as Parchment.RegistryDefinition); +Quill.register('modules/emoji-textarea', TextAreaEmoji, true); const Delta = Quill.import('delta'); // eslint-disable-next-line @typescript-eslint/no-explicit-any const strikethrough = (_node: any, delta: typeof Delta) => { @@ -172,7 +175,6 @@ export const FeedEditor = forwardRef( }, [userProfilePics] ); - /** * Prepare modules for editor */ @@ -185,7 +187,7 @@ export const FeedEditor = forwardRef( insertRef: insertRef, }, }, - 'emoji-toolbar': false, + 'emoji-textarea': true, mention: { allowedChars: MENTION_ALLOWED_CHARS, mentionDenotationChars: MENTION_DENOTATION_CHARS, diff --git a/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/FeedEditor/feed-editor.less b/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/FeedEditor/feed-editor.less index 35dc95cb02e3..10f0835a4112 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/FeedEditor/feed-editor.less +++ b/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/FeedEditor/feed-editor.less @@ -1001,6 +1001,9 @@ border-color: rgb(221, 227, 234); border-top-left-radius: 6px; border-top-right-radius: 6px; + display: flex; + padding: 16px 8px; + align-items: center; } .ql-container.ql-snow { border-color: rgb(221, 227, 234); @@ -1111,3 +1114,17 @@ button.ql-emoji { text-align: right; } } + +#om-quill-editor { + #tab-panel { + padding-top: 8px; + gap: 6px; + } + .emoji-tab.filter-flags { + display: none; + } + #tab-toolbar ul { + display: flex; + gap: 4px; + } +} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/FeedEditor/quill-emoji.css b/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/FeedEditor/quill-emoji.css new file mode 100644 index 000000000000..427a7b429ed6 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/FeedEditor/quill-emoji.css @@ -0,0 +1,4189 @@ +/* + * Copyright 2024 Collate. + * 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. + */ +#quill-editor { + position: relative; +} +.mention { + color: #0366d6; +} +.completions { + background: #fff; + border-radius: 2px; + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.25); + list-style: none; +} +.completions, +.completions > li { + margin: 0; + padding: 0; +} +.completions > li > button { + background: none; + border: none; + box-sizing: border-box; + display: block; + height: 2em; + margin: 0; + padding: 0.25em 0.5em; + text-align: left; + width: 100%; +} +.completions > li > button:hover { + background: #ddd; +} +.completions > li > button:focus { + background: #ddd; + outline: none; +} +.completions > li > button > .matched { + color: #000; + font-weight: 700; +} +.completions > li > button > * { + vertical-align: middle; +} +.emoji_completions { + background: #fff; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 3px; + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.12); + list-style: none; + margin: 0; + padding: 6px; +} +.emoji_completions li { + display: inline-block; + margin: 2px 0; + padding: 0; +} +.emoji_completions li:not(:last-of-type) { + margin-right: 3px; +} +.emoji_completions > li > button { + background: #efefef; + border: none; + border-radius: 3px; + box-sizing: border-box; + display: block; + margin: 0; + padding: 3px 2px 6px; + text-align: left; + width: 100%; +} +.emoji_completions > li > button:hover { + background: #2d9ee0; + color: #fff; +} +.emoji_completions > li > button:focus { + background: #2d9ee0; + color: #fff; + outline: none; +} +.emoji_completions > li > button.emoji-active { + background: red; + background: #2d9ee0; + color: #fff; + outline: none; +} +.emoji_completions > li > button > .matched { + font-weight: 700; +} +.emoji_completions > li > button > *, +.ico { + vertical-align: middle; +} +.ico { + font-size: 18px; + line-height: 0; + margin-right: 5px; +} +#emoji-palette { + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 3px; + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.12); + max-width: 250px; + position: absolute; + z-index: 999; +} +.bem { + cursor: pointer; + display: inline-block; + font-size: 24px; + margin: 2px; + text-align: center; + width: 34px; +} +#tab-filters { + margin: 20px auto 0; + width: 210px; +} +.emoji-tab { + cursor: pointer; + display: inline-table; + height: 100%; + min-height: 30px; + text-align: center; + width: 30px; +} +#tab-toolbar { + background-color: #f7f7f7; + border-bottom: 1px solid rgba(0, 0, 0, 0.15); + padding: 4px 4px 0; +} +#tab-toolbar ul { + margin: 0; + padding: 0; +} +#tab-toolbar .active { + border-bottom: 3px solid #2ab27b; +} +#tab-panel { + background: #fff; + display: flex; + flex-wrap: wrap; + justify-content: center; + max-height: 220px; + overflow-y: scroll; + padding: 2px; +} +#quill-editor x-contain, +contain { + background: #fb8; + display: block; +} +#quill-editor table { + border-collapse: collapse; + width: 100%; +} +#quill-editor table td { + border: 1px solid #000; + height: 25px; + padding: 5px; +} +.ql-picker.ql-table .ql-picker-label:before, +button.ql-table:after { + content: 'TABLE'; +} +button.ql-contain:after { + content: 'WRAP'; +} +button.ql-table[value='append-row']:after { + content: 'ROWS+'; +} +button.ql-table[value='append-col']:after { + content: 'COLS+'; +} +.ql-contain, +.ql-table { + margin-right: -15px; + width: auto !important; +} +#emoji-close-div { + height: 100%; + left: 0; + position: fixed; + top: 0; + width: 100%; +} +.textarea-emoji-control { + height: 25px; + right: 4px; + top: 10px; + width: 25px; +} +#textarea-emoji { + border: 1px solid #66afe9; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 3px; + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.12); + max-width: 250px; + position: absolute; + right: 0; + z-index: 999; +} +.ql-editor { + padding-right: 26px; +} +.i-activity { + background: url('data:image/svg+xml;utf8,'); +} +.i-activity, +.i-flags { + content: ''; + height: 25px; + margin: auto; + width: 25px; +} +.i-flags { + background: url('data:image/svg+xml;utf8,'); +} +.i-food { + background: url('data:image/svg+xml;utf8,'); +} +.i-food, +.i-nature { + content: ''; + height: 25px; + margin: auto; + width: 25px; +} +.i-nature { + background: url('data:image/svg+xml;utf8,'); +} +.i-objects { + background: url('data:image/svg+xml;utf8,'); +} +.i-objects, +.i-people { + content: ''; + height: 25px; + margin: auto; + width: 25px; +} +.i-people { + background: url('data:image/svg+xml;utf8,'); +} +.i-symbols { + background: url('data:image/svg+xml;utf8,'); +} +.i-symbols, +.i-travel { + content: ''; + height: 25px; + margin: auto; + width: 25px; +} +.i-travel { + background: url('data:image/svg+xml;utf8,'); +} +.button-emoji { + margin-bottom: -5px; +} +.ql-emojiblot { + display: inline-block; + vertical-align: text-top; +} +/* .ap { + background-image: url(1e7b63404cd2fb8e6525b2fd4ee4d286.png); + background-repeat: no-repeat; + background-size: 820px; + box-sizing: border-box; + display: inline-flex; + font-size: 20px; + height: 20px; + line-height: 1; + margin-top: -3px; + overflow: hidden; + text-indent: -999px; + width: 20px; +} */ +.ap-copyright { + background-position: 0 0; +} +.ap-registered { + background-position: 0 -20px; +} +.ap-bangbang { + background-position: 0 -40px; +} +.ap-interrobang { + background-position: 0 -60px; +} +.ap-tm { + background-position: 0 -80px; +} +.ap-information_source { + background-position: 0 -100px; +} +.ap-left_right_arrow { + background-position: 0 -120px; +} +.ap-arrow_up_down { + background-position: 0 -140px; +} +.ap-arrow_upper_left { + background-position: 0 -160px; +} +.ap-arrow_upper_right { + background-position: 0 -180px; +} +.ap-arrow_lower_right { + background-position: 0 -200px; +} +.ap-arrow_lower_left { + background-position: 0 -220px; +} +.ap-leftwards_arrow_with_hook { + background-position: 0 -240px; +} +.ap-arrow_right_hook { + background-position: 0 -260px; +} +.ap-watch { + background-position: 0 -280px; +} +.ap-hourglass { + background-position: 0 -300px; +} +.ap-keyboard { + background-position: 0 -320px; +} +.ap-fast_forward { + background-position: 0 -360px; +} +.ap-rewind { + background-position: 0 -380px; +} +.ap-arrow_double_up { + background-position: 0 -400px; +} +.ap-arrow_double_down { + background-position: 0 -420px; +} +.ap-black_right_pointing_double_triangle_with_vertical_bar { + background-position: 0 -440px; +} +.ap-black_left_pointing_double_triangle_with_vertical_bar { + background-position: 0 -460px; +} +.ap-black_right_pointing_triangle_with_double_vertical_bar { + background-position: 0 -480px; +} +.ap-alarm_clock { + background-position: 0 -500px; +} +.ap-stopwatch { + background-position: 0 -520px; +} +.ap-timer_clock { + background-position: 0 -540px; +} +.ap-hourglass_flowing_sand { + background-position: 0 -560px; +} +.ap-double_vertical_bar { + background-position: 0 -580px; +} +.ap-black_square_for_stop { + background-position: 0 -600px; +} +.ap-black_circle_for_record { + background-position: 0 -620px; +} +.ap-m { + background-position: 0 -640px; +} +.ap-black_small_square { + background-position: 0 -660px; +} +.ap-white_small_square { + background-position: 0 -680px; +} +.ap-arrow_forward { + background-position: 0 -700px; +} +.ap-arrow_backward { + background-position: 0 -720px; +} +.ap-white_medium_square { + background-position: 0 -740px; +} +.ap-black_medium_square { + background-position: 0 -760px; +} +.ap-white_medium_small_square { + background-position: 0 -780px; +} +.ap-black_medium_small_square { + background-position: 0 -800px; +} +.ap-sunny { + background-position: -20px 0; +} +.ap-cloud { + background-position: -20px -20px; +} +.ap-umbrella { + background-position: -20px -40px; +} +.ap-snowman { + background-position: -20px -60px; +} +.ap-comet { + background-position: -20px -80px; +} +.ap-phone, +.ap-telephone { + background-position: -20px -100px; +} +.ap-ballot_box_with_check { + background-position: -20px -120px; +} +.ap-umbrella_with_rain_drops { + background-position: -20px -140px; +} +.ap-coffee { + background-position: -20px -160px; +} +.ap-shamrock { + background-position: -20px -180px; +} +.ap-point_up { + background-position: -20px -200px; +} +.ap-skull_and_crossbones { + background-position: -20px -320px; +} +.ap-radioactive_sign { + background-position: -20px -340px; +} +.ap-biohazard_sign { + background-position: -20px -360px; +} +.ap-orthodox_cross { + background-position: -20px -380px; +} +.ap-star_and_crescent { + background-position: -20px -400px; +} +.ap-peace_symbol { + background-position: -20px -420px; +} +.ap-yin_yang { + background-position: -20px -440px; +} +.ap-wheel_of_dharma { + background-position: -20px -460px; +} +.ap-white_frowning_face { + background-position: -20px -480px; +} +.ap-relaxed { + background-position: -20px -500px; +} +.ap-aries { + background-position: -20px -520px; +} +.ap-taurus { + background-position: -20px -540px; +} +.ap-gemini { + background-position: -20px -560px; +} +.ap-cancer { + background-position: -20px -580px; +} +.ap-leo { + background-position: -20px -600px; +} +.ap-virgo { + background-position: -20px -620px; +} +.ap-libra { + background-position: -20px -640px; +} +.ap-scorpius { + background-position: -20px -660px; +} +.ap-sagittarius { + background-position: -20px -680px; +} +.ap-capricorn { + background-position: -20px -700px; +} +.ap-aquarius { + background-position: -20px -720px; +} +.ap-pisces { + background-position: -20px -740px; +} +.ap-spades { + background-position: -20px -760px; +} +.ap-clubs { + background-position: -20px -780px; +} +.ap-hearts { + background-position: -20px -800px; +} +.ap-diamonds { + background-position: -40px 0; +} +.ap-hotsprings { + background-position: -40px -20px; +} +.ap-recycle { + background-position: -40px -40px; +} +.ap-wheelchair { + background-position: -40px -60px; +} +.ap-hammer_and_pick { + background-position: -40px -80px; +} +.ap-anchor { + background-position: -40px -100px; +} +.ap-crossed_swords { + background-position: -40px -120px; +} +.ap-scales { + background-position: -40px -140px; +} +.ap-alembic { + background-position: -40px -160px; +} +.ap-gear { + background-position: -40px -180px; +} +.ap-atom_symbol { + background-position: -40px -200px; +} +.ap-fleur_de_lis { + background-position: -40px -220px; +} +.ap-warning { + background-position: -40px -240px; +} +.ap-zap { + background-position: -40px -260px; +} +.ap-white_circle { + background-position: -40px -280px; +} +.ap-black_circle { + background-position: -40px -300px; +} +.ap-coffin { + background-position: -40px -320px; +} +.ap-funeral_urn { + background-position: -40px -340px; +} +.ap-soccer { + background-position: -40px -360px; +} +.ap-baseball { + background-position: -40px -380px; +} +.ap-snowman_without_snow { + background-position: -40px -400px; +} +.ap-partly_sunny { + background-position: -40px -420px; +} +.ap-thunder_cloud_and_rain { + background-position: -40px -440px; +} +.ap-ophiuchus { + background-position: -40px -460px; +} +.ap-pick { + background-position: -40px -480px; +} +.ap-helmet_with_white_cross { + background-position: -40px -500px; +} +.ap-chains { + background-position: -40px -520px; +} +.ap-no_entry { + background-position: -40px -540px; +} +.ap-shinto_shrine { + background-position: -40px -560px; +} +.ap-church { + background-position: -40px -580px; +} +.ap-mountain { + background-position: -40px -600px; +} +.ap-beach_umbrella, +.ap-umbrella_on_ground { + background-position: -40px -620px; +} +.ap-fountain { + background-position: -40px -640px; +} +.ap-golf { + background-position: -40px -660px; +} +.ap-ferry { + background-position: -40px -680px; +} +.ap-boat { + background-position: -40px -700px; +} +.ap-skier { + background-position: -40px -720px; +} +.ap-ice_skate { + background-position: -40px -740px; +} +.ap-person_with_ball { + background-position: -40px -760px; +} +.ap-tent { + background-position: -60px -60px; +} +.ap-fuelpump { + background-position: -60px -80px; +} +.ap-scissors { + background-position: -60px -100px; +} +.ap-white_check_mark { + background-position: -60px -120px; +} +.ap-airplane { + background-position: -60px -140px; +} +.ap-email { + background-position: -60px -160px; +} +.ap-fist { + background-position: -60px -180px; +} +.ap-hand { + background-position: -60px -300px; +} +.ap-v { + background-position: -60px -420px; +} +.ap-writing_hand { + background-position: -60px -540px; +} +.ap-pencil2 { + background-position: -60px -660px; +} +.ap-black_nib { + background-position: -60px -680px; +} +.ap-heavy_check_mark { + background-position: -60px -700px; +} +.ap-heavy_multiplication_x { + background-position: -60px -720px; +} +.ap-latin_cross { + background-position: -60px -740px; +} +.ap-star_of_david { + background-position: -60px -760px; +} +.ap-sparkles { + background-position: -60px -780px; +} +.ap-eight_spoked_asterisk { + background-position: -60px -800px; +} +.ap-eight_pointed_black_star { + background-position: -80px 0; +} +.ap-snowflake { + background-position: -80px -20px; +} +.ap-sparkle { + background-position: -80px -40px; +} +.ap-x { + background-position: -80px -60px; +} +.ap-negative_squared_cross_mark { + background-position: -80px -80px; +} +.ap-question { + background-position: -80px -100px; +} +.ap-grey_question { + background-position: -80px -120px; +} +.ap-grey_exclamation { + background-position: -80px -140px; +} +.ap-exclamation { + background-position: -80px -160px; +} +.ap-heavy_heart_exclamation_mark_ornament { + background-position: -80px -180px; +} +.ap-heart { + background-position: -80px -200px; +} +.ap-heavy_plus_sign { + background-position: -80px -220px; +} +.ap-heavy_minus_sign { + background-position: -80px -240px; +} +.ap-heavy_division_sign { + background-position: -80px -260px; +} +.ap-arrow_right { + background-position: -80px -280px; +} +.ap-curly_loop { + background-position: -80px -300px; +} +.ap-loop { + background-position: -80px -320px; +} +.ap-arrow_heading_up { + background-position: -80px -340px; +} +.ap-arrow_heading_down { + background-position: -80px -360px; +} +.ap-arrow_left { + background-position: -80px -380px; +} +.ap-arrow_up { + background-position: -80px -400px; +} +.ap-arrow_down { + background-position: -80px -420px; +} +.ap-black_large_square { + background-position: -80px -440px; +} +.ap-white_large_square { + background-position: -80px -460px; +} +.ap-star { + background-position: -80px -480px; +} +.ap-o { + background-position: -80px -500px; +} +.ap-wavy_dash { + background-position: -80px -520px; +} +.ap-part_alternation_mark { + background-position: -80px -540px; +} +.ap-congratulations { + background-position: -80px -560px; +} +.ap-secret { + background-position: -80px -580px; +} +.ap-mahjong { + background-position: -80px -600px; +} +.ap-black_joker { + background-position: -80px -620px; +} +.ap-a { + background-position: -80px -640px; +} +.ap-b { + background-position: -80px -660px; +} +.ap-o2 { + background-position: -80px -680px; +} +.ap-parking { + background-position: -80px -700px; +} +.ap-ab { + background-position: -80px -720px; +} +.ap-cl { + background-position: -80px -740px; +} +.ap-cool { + background-position: -80px -760px; +} +.ap-free { + background-position: -80px -780px; +} +.ap-id { + background-position: -80px -800px; +} +.ap-new { + background-position: -100px 0; +} +.ap-ng { + background-position: -100px -20px; +} +.ap-ok { + background-position: -100px -40px; +} +.ap-sos { + background-position: -100px -60px; +} +.ap-up { + background-position: -100px -80px; +} +.ap-vs { + background-position: -100px -100px; +} +.ap-koko { + background-position: -100px -120px; +} +.ap-sa { + background-position: -100px -140px; +} +.ap-u7121 { + background-position: -100px -160px; +} +.ap-u6307 { + background-position: -100px -180px; +} +.ap-u7981 { + background-position: -100px -200px; +} +.ap-u7a7a { + background-position: -100px -220px; +} +.ap-u5408 { + background-position: -100px -240px; +} +.ap-u6e80 { + background-position: -100px -260px; +} +.ap-u6709 { + background-position: -100px -280px; +} +.ap-u6708 { + background-position: -100px -300px; +} +.ap-u7533 { + background-position: -100px -320px; +} +.ap-u5272 { + background-position: -100px -340px; +} +.ap-u55b6 { + background-position: -100px -360px; +} +.ap-ideograph_advantage { + background-position: -100px -380px; +} +.ap-accept { + background-position: -100px -400px; +} +.ap-cyclone { + background-position: -100px -420px; +} +.ap-foggy { + background-position: -100px -440px; +} +.ap-closed_umbrella { + background-position: -100px -460px; +} +.ap-night_with_stars { + background-position: -100px -480px; +} +.ap-sunrise_over_mountains { + background-position: -100px -500px; +} +.ap-sunrise { + background-position: -100px -520px; +} +.ap-city_sunset { + background-position: -100px -540px; +} +.ap-city_sunrise { + background-position: -100px -560px; +} +.ap-rainbow { + background-position: -100px -580px; +} +.ap-bridge_at_night { + background-position: -100px -600px; +} +.ap-ocean { + background-position: -100px -620px; +} +.ap-volcano { + background-position: -100px -640px; +} +.ap-milky_way { + background-position: -100px -660px; +} +.ap-earth_africa { + background-position: -100px -680px; +} +.ap-earth_americas { + background-position: -100px -700px; +} +.ap-earth_asia { + background-position: -100px -720px; +} +.ap-globe_with_meridians { + background-position: -100px -740px; +} +.ap-new_moon { + background-position: -100px -760px; +} +.ap-waxing_crescent_moon { + background-position: -100px -780px; +} +.ap-first_quarter_moon { + background-position: -100px -800px; +} +.ap-moon { + background-position: -120px 0; +} +.ap-full_moon { + background-position: -120px -20px; +} +.ap-waning_gibbous_moon { + background-position: -120px -40px; +} +.ap-last_quarter_moon { + background-position: -120px -60px; +} +.ap-waning_crescent_moon { + background-position: -120px -80px; +} +.ap-crescent_moon { + background-position: -120px -100px; +} +.ap-new_moon_with_face { + background-position: -120px -120px; +} +.ap-first_quarter_moon_with_face { + background-position: -120px -140px; +} +.ap-last_quarter_moon_with_face { + background-position: -120px -160px; +} +.ap-full_moon_with_face { + background-position: -120px -180px; +} +.ap-sun_with_face { + background-position: -120px -200px; +} +.ap-star2 { + background-position: -120px -220px; +} +.ap-stars { + background-position: -120px -240px; +} +.ap-thermometer { + background-position: -120px -260px; +} +.ap-mostly_sunny { + background-position: -120px -280px; +} +.ap-barely_sunny { + background-position: -120px -300px; +} +.ap-partly_sunny_rain { + background-position: -120px -320px; +} +.ap-rain_cloud { + background-position: -120px -340px; +} +.ap-snow_cloud { + background-position: -120px -360px; +} +.ap-lightning { + background-position: -120px -380px; +} +.ap-tornado { + background-position: -120px -400px; +} +.ap-fog { + background-position: -120px -420px; +} +.ap-wind_blowing_face { + background-position: -120px -440px; +} +.ap-hotdog { + background-position: -120px -460px; +} +.ap-taco { + background-position: -120px -480px; +} +.ap-burrito { + background-position: -120px -500px; +} +.ap-chestnut { + background-position: -120px -520px; +} +.ap-seedling { + background-position: -120px -540px; +} +.ap-evergreen_tree { + background-position: -120px -560px; +} +.ap-deciduous_tree { + background-position: -120px -580px; +} +.ap-palm_tree { + background-position: -120px -600px; +} +.ap-cactus { + background-position: -120px -620px; +} +.ap-hot_pepper { + background-position: -120px -640px; +} +.ap-tulip { + background-position: -120px -660px; +} +.ap-cherry_blossom { + background-position: -120px -680px; +} +.ap-rose { + background-position: -120px -700px; +} +.ap-hibiscus { + background-position: -120px -720px; +} +.ap-sunflower { + background-position: -120px -740px; +} +.ap-blossom { + background-position: -120px -760px; +} +.ap-corn { + background-position: -120px -780px; +} +.ap-ear_of_rice { + background-position: -120px -800px; +} +.ap-herb { + background-position: -140px 0; +} +.ap-four_leaf_clover { + background-position: -140px -20px; +} +.ap-maple_leaf { + background-position: -140px -40px; +} +.ap-fallen_leaf { + background-position: -140px -60px; +} +.ap-leaves { + background-position: -140px -80px; +} +.ap-mushroom { + background-position: -140px -100px; +} +.ap-tomato { + background-position: -140px -120px; +} +.ap-eggplant { + background-position: -140px -140px; +} +.ap-grapes { + background-position: -140px -160px; +} +.ap-melon { + background-position: -140px -180px; +} +.ap-watermelon { + background-position: -140px -200px; +} +.ap-tangerine { + background-position: -140px -220px; +} +.ap-lemon { + background-position: -140px -240px; +} +.ap-banana { + background-position: -140px -260px; +} +.ap-pineapple { + background-position: -140px -280px; +} +.ap-apple { + background-position: -140px -300px; +} +.ap-green_apple { + background-position: -140px -320px; +} +.ap-pear { + background-position: -140px -340px; +} +.ap-peach { + background-position: -140px -360px; +} +.ap-cherries { + background-position: -140px -380px; +} +.ap-strawberry { + background-position: -140px -400px; +} +.ap-hamburger { + background-position: -140px -420px; +} +.ap-pizza { + background-position: -140px -440px; +} +.ap-meat_on_bone { + background-position: -140px -460px; +} +.ap-poultry_leg { + background-position: -140px -480px; +} +.ap-rice_cracker { + background-position: -140px -500px; +} +.ap-rice_ball { + background-position: -140px -520px; +} +.ap-rice { + background-position: -140px -540px; +} +.ap-curry { + background-position: -140px -560px; +} +.ap-ramen { + background-position: -140px -580px; +} +.ap-spaghetti { + background-position: -140px -600px; +} +.ap-bread { + background-position: -140px -620px; +} +.ap-fries { + background-position: -140px -640px; +} +.ap-sweet_potato { + background-position: -140px -660px; +} +.ap-dango { + background-position: -140px -680px; +} +.ap-oden { + background-position: -140px -700px; +} +.ap-sushi { + background-position: -140px -720px; +} +.ap-fried_shrimp { + background-position: -140px -740px; +} +.ap-fish_cake { + background-position: -140px -760px; +} +.ap-icecream { + background-position: -140px -780px; +} +.ap-shaved_ice { + background-position: -140px -800px; +} +.ap-ice_cream { + background-position: -160px 0; +} +.ap-doughnut { + background-position: -160px -20px; +} +.ap-cookie { + background-position: -160px -40px; +} +.ap-chocolate_bar { + background-position: -160px -60px; +} +.ap-candy { + background-position: -160px -80px; +} +.ap-lollipop { + background-position: -160px -100px; +} +.ap-custard { + background-position: -160px -120px; +} +.ap-honey_pot { + background-position: -160px -140px; +} +.ap-cake { + background-position: -160px -160px; +} +.ap-bento { + background-position: -160px -180px; +} +.ap-stew { + background-position: -160px -200px; +} +.ap-egg { + background-position: -160px -220px; +} +.ap-fork_and_knife { + background-position: -160px -240px; +} +.ap-tea { + background-position: -160px -260px; +} +.ap-sake { + background-position: -160px -280px; +} +.ap-wine_glass { + background-position: -160px -300px; +} +.ap-cocktail { + background-position: -160px -320px; +} +.ap-tropical_drink { + background-position: -160px -340px; +} +.ap-beer { + background-position: -160px -360px; +} +.ap-beers { + background-position: -160px -380px; +} +.ap-baby_bottle { + background-position: -160px -400px; +} +.ap-knife_fork_plate { + background-position: -160px -420px; +} +.ap-champagne { + background-position: -160px -440px; +} +.ap-popcorn { + background-position: -160px -460px; +} +.ap-ribbon { + background-position: -160px -480px; +} +.ap-gift { + background-position: -160px -500px; +} +.ap-birthday { + background-position: -160px -520px; +} +.ap-jack_o_lantern { + background-position: -160px -540px; +} +.ap-christmas_tree { + background-position: -160px -560px; +} +.ap-santa { + background-position: -160px -580px; +} +.ap-fireworks { + background-position: -160px -700px; +} +.ap-sparkler { + background-position: -160px -720px; +} +.ap-balloon { + background-position: -160px -740px; +} +.ap-tada { + background-position: -160px -760px; +} +.ap-confetti_ball { + background-position: -160px -780px; +} +.ap-tanabata_tree { + background-position: -160px -800px; +} +.ap-crossed_flags { + background-position: -180px 0; +} +.ap-bamboo { + background-position: -180px -20px; +} +.ap-dolls { + background-position: -180px -40px; +} +.ap-flags { + background-position: -180px -60px; +} +.ap-wind_chime { + background-position: -180px -80px; +} +.ap-rice_scene { + background-position: -180px -100px; +} +.ap-school_satchel { + background-position: -180px -120px; +} +.ap-mortar_board { + background-position: -180px -140px; +} +.ap-medal { + background-position: -180px -160px; +} +.ap-reminder_ribbon { + background-position: -180px -180px; +} +.ap-studio_microphone { + background-position: -180px -200px; +} +.ap-level_slider { + background-position: -180px -220px; +} +.ap-control_knobs { + background-position: -180px -240px; +} +.ap-film_frames { + background-position: -180px -260px; +} +.ap-admission_tickets { + background-position: -180px -280px; +} +.ap-carousel_horse { + background-position: -180px -300px; +} +.ap-ferris_wheel { + background-position: -180px -320px; +} +.ap-roller_coaster { + background-position: -180px -340px; +} +.ap-fishing_pole_and_fish { + background-position: -180px -360px; +} +.ap-microphone { + background-position: -180px -380px; +} +.ap-movie_camera { + background-position: -180px -400px; +} +.ap-cinema { + background-position: -180px -420px; +} +.ap-headphones { + background-position: -180px -440px; +} +.ap-art { + background-position: -180px -460px; +} +.ap-tophat { + background-position: -180px -480px; +} +.ap-circus_tent { + background-position: -180px -500px; +} +.ap-ticket { + background-position: -180px -520px; +} +.ap-clapper { + background-position: -180px -540px; +} +.ap-performing_arts { + background-position: -180px -560px; +} +.ap-video_game { + background-position: -180px -580px; +} +.ap-dart { + background-position: -180px -600px; +} +.ap-slot_machine { + background-position: -180px -620px; +} +.ap-8ball { + background-position: -180px -640px; +} +.ap-game_die { + background-position: -180px -660px; +} +.ap-bowling { + background-position: -180px -680px; +} +.ap-flower_playing_cards { + background-position: -180px -700px; +} +.ap-musical_note { + background-position: -180px -720px; +} +.ap-notes { + background-position: -180px -740px; +} +.ap-saxophone { + background-position: -180px -760px; +} +.ap-guitar { + background-position: -180px -780px; +} +.ap-musical_keyboard { + background-position: -180px -800px; +} +.ap-trumpet { + background-position: -200px 0; +} +.ap-violin { + background-position: -200px -20px; +} +.ap-musical_score { + background-position: -200px -40px; +} +.ap-running_shirt_with_sash { + background-position: -200px -60px; +} +.ap-tennis { + background-position: -200px -80px; +} +.ap-ski { + background-position: -200px -100px; +} +.ap-basketball { + background-position: -200px -120px; +} +.ap-checkered_flag { + background-position: -200px -140px; +} +.ap-snowboarder { + background-position: -200px -160px; +} +.ap-runner { + background-position: -200px -180px; +} +.ap-surfer { + background-position: -200px -300px; +} +.ap-sports_medal { + background-position: -200px -420px; +} +.ap-trophy { + background-position: -200px -440px; +} +.ap-horse_racing { + background-position: -200px -460px; +} +.ap-football { + background-position: -200px -480px; +} +.ap-rugby_football { + background-position: -200px -500px; +} +.ap-swimmer { + background-position: -200px -520px; +} +.ap-weight_lifter { + background-position: -200px -640px; +} +.ap-golfer { + background-position: -200px -760px; +} +.ap-racing_motorcycle { + background-position: -200px -780px; +} +.ap-racing_car { + background-position: -200px -800px; +} +.ap-cricket_bat_and_ball { + background-position: -220px 0; +} +.ap-volleyball { + background-position: -220px -20px; +} +.ap-field_hockey_stick_and_ball { + background-position: -220px -40px; +} +.ap-ice_hockey_stick_and_puck { + background-position: -220px -60px; +} +.ap-table_tennis_paddle_and_ball { + background-position: -220px -80px; +} +.ap-snow_capped_mountain { + background-position: -220px -100px; +} +.ap-camping { + background-position: -220px -120px; +} +.ap-beach_with_umbrella { + background-position: -220px -140px; +} +.ap-building_construction { + background-position: -220px -160px; +} +.ap-house_buildings { + background-position: -220px -180px; +} +.ap-cityscape { + background-position: -220px -200px; +} +.ap-derelict_house_building { + background-position: -220px -220px; +} +.ap-classical_building { + background-position: -220px -240px; +} +.ap-desert { + background-position: -220px -260px; +} +.ap-desert_island { + background-position: -220px -280px; +} +.ap-national_park { + background-position: -220px -300px; +} +.ap-stadium { + background-position: -220px -320px; +} +.ap-house { + background-position: -220px -340px; +} +.ap-house_with_garden { + background-position: -220px -360px; +} +.ap-office { + background-position: -220px -380px; +} +.ap-post_office { + background-position: -220px -400px; +} +.ap-european_post_office { + background-position: -220px -420px; +} +.ap-hospital { + background-position: -220px -440px; +} +.ap-bank { + background-position: -220px -460px; +} +.ap-atm { + background-position: -220px -480px; +} +.ap-hotel { + background-position: -220px -500px; +} +.ap-love_hotel { + background-position: -220px -520px; +} +.ap-convenience_store { + background-position: -220px -540px; +} +.ap-school { + background-position: -220px -560px; +} +.ap-department_store { + background-position: -220px -580px; +} +.ap-factory { + background-position: -220px -600px; +} +.ap-izakaya_lantern { + background-position: -220px -620px; +} +.ap-japanese_castle { + background-position: -220px -640px; +} +.ap-european_castle { + background-position: -220px -660px; +} +.ap-waving_white_flag { + background-position: -220px -680px; +} +.ap-waving_black_flag { + background-position: -220px -700px; +} +.ap-rosette { + background-position: -220px -720px; +} +.ap-label { + background-position: -220px -740px; +} +.ap-badminton_racquet_and_shuttlecock { + background-position: -220px -760px; +} +.ap-bow_and_arrow { + background-position: -220px -780px; +} +.ap-amphora { + background-position: -220px -800px; +} +.ap-skin-tone-2 { + background-position: -240px 0; +} +.ap-skin-tone-3 { + background-position: -240px -20px; +} +.ap-skin-tone-4 { + background-position: -240px -40px; +} +.ap-skin-tone-5 { + background-position: -240px -60px; +} +.ap-skin-tone-6 { + background-position: -240px -80px; +} +.ap-rat { + background-position: -240px -100px; +} +.ap-mouse2 { + background-position: -240px -120px; +} +.ap-ox { + background-position: -240px -140px; +} +.ap-water_buffalo { + background-position: -240px -160px; +} +.ap-cow2 { + background-position: -240px -180px; +} +.ap-tiger2 { + background-position: -240px -200px; +} +.ap-leopard { + background-position: -240px -220px; +} +.ap-rabbit2 { + background-position: -240px -240px; +} +.ap-cat2 { + background-position: -240px -260px; +} +.ap-dragon { + background-position: -240px -280px; +} +.ap-crocodile { + background-position: -240px -300px; +} +.ap-whale2 { + background-position: -240px -320px; +} +.ap-snail { + background-position: -240px -340px; +} +.ap-snake { + background-position: -240px -360px; +} +.ap-racehorse { + background-position: -240px -380px; +} +.ap-ram { + background-position: -240px -400px; +} +.ap-goat { + background-position: -240px -420px; +} +.ap-sheep { + background-position: -240px -440px; +} +.ap-monkey { + background-position: -240px -460px; +} +.ap-rooster { + background-position: -240px -480px; +} +.ap-chicken { + background-position: -240px -500px; +} +.ap-dog2 { + background-position: -240px -520px; +} +.ap-pig2 { + background-position: -240px -540px; +} +.ap-boar { + background-position: -240px -560px; +} +.ap-elephant { + background-position: -240px -580px; +} +.ap-octopus { + background-position: -240px -600px; +} +.ap-shell { + background-position: -240px -620px; +} +.ap-bug { + background-position: -240px -640px; +} +.ap-ant { + background-position: -240px -660px; +} +.ap-bee { + background-position: -240px -680px; +} +.ap-beetle { + background-position: -240px -700px; +} +.ap-fish { + background-position: -240px -720px; +} +.ap-tropical_fish { + background-position: -240px -740px; +} +.ap-blowfish { + background-position: -240px -760px; +} +.ap-turtle { + background-position: -240px -780px; +} +.ap-hatching_chick { + background-position: -240px -800px; +} +.ap-baby_chick { + background-position: -260px 0; +} +.ap-hatched_chick { + background-position: -260px -20px; +} +.ap-bird { + background-position: -260px -40px; +} +.ap-penguin { + background-position: -260px -60px; +} +.ap-koala { + background-position: -260px -80px; +} +.ap-poodle { + background-position: -260px -100px; +} +.ap-dromedary_camel { + background-position: -260px -120px; +} +.ap-camel { + background-position: -260px -140px; +} +.ap-dolphin { + background-position: -260px -160px; +} +.ap-mouse { + background-position: -260px -180px; +} +.ap-cow { + background-position: -260px -200px; +} +.ap-tiger { + background-position: -260px -220px; +} +.ap-rabbit { + background-position: -260px -240px; +} +.ap-cat { + background-position: -260px -260px; +} +.ap-dragon_face { + background-position: -260px -280px; +} +.ap-whale { + background-position: -260px -300px; +} +.ap-horse { + background-position: -260px -320px; +} +.ap-monkey_face { + background-position: -260px -340px; +} +.ap-dog { + background-position: -260px -360px; +} +.ap-pig { + background-position: -260px -380px; +} +.ap-frog { + background-position: -260px -400px; +} +.ap-hamster { + background-position: -260px -420px; +} +.ap-wolf { + background-position: -260px -440px; +} +.ap-bear { + background-position: -260px -460px; +} +.ap-panda_face { + background-position: -260px -480px; +} +.ap-pig_nose { + background-position: -260px -500px; +} +.ap-feet { + background-position: -260px -520px; +} +.ap-chipmunk { + background-position: -260px -540px; +} +.ap-eyes { + background-position: -260px -560px; +} +.ap-eye { + background-position: -260px -580px; +} +.ap-ear { + background-position: -260px -600px; +} +.ap-nose { + background-position: -260px -720px; +} +.ap-lips { + background-position: -280px -20px; +} +.ap-tongue { + background-position: -280px -40px; +} +.ap-point_up_2 { + background-position: -280px -60px; +} +.ap-point_down { + background-position: -280px -180px; +} +.ap-point_left { + background-position: -280px -300px; +} +.ap-point_right { + background-position: -280px -420px; +} +.ap-facepunch { + background-position: -280px -540px; +} +.ap-wave { + background-position: -280px -660px; +} +.ap-ok_hand { + background-position: -280px -780px; +} +.ap-thumbsup { + background-position: -300px -80px; +} +.ap--1, +.ap-thumbsdown { + background-position: -300px -200px; +} +.ap-clap { + background-position: -300px -320px; +} +.ap-open_hands { + background-position: -300px -440px; +} +.ap-crown { + background-position: -300px -560px; +} +.ap-womans_hat { + background-position: -300px -580px; +} +.ap-eyeglasses { + background-position: -300px -600px; +} +.ap-necktie { + background-position: -300px -620px; +} +.ap-shirt { + background-position: -300px -640px; +} +.ap-jeans { + background-position: -300px -660px; +} +.ap-dress { + background-position: -300px -680px; +} +.ap-kimono { + background-position: -300px -700px; +} +.ap-bikini { + background-position: -300px -720px; +} +.ap-womans_clothes { + background-position: -300px -740px; +} +.ap-purse { + background-position: -300px -760px; +} +.ap-handbag { + background-position: -300px -780px; +} +.ap-pouch { + background-position: -300px -800px; +} +.ap-mans_shoe { + background-position: -320px 0; +} +.ap-athletic_shoe { + background-position: -320px -20px; +} +.ap-high_heel { + background-position: -320px -40px; +} +.ap-sandal { + background-position: -320px -60px; +} +.ap-boot { + background-position: -320px -80px; +} +.ap-footprints { + background-position: -320px -100px; +} +.ap-bust_in_silhouette { + background-position: -320px -120px; +} +.ap-busts_in_silhouette { + background-position: -320px -140px; +} +.ap-boy { + background-position: -320px -160px; +} +.ap-girl { + background-position: -320px -280px; +} +.ap-man { + background-position: -320px -400px; +} +.ap-woman { + background-position: -320px -520px; +} +.ap-family { + background-position: -320px -640px; +} +.ap-couple { + background-position: -320px -660px; +} +.ap-two_men_holding_hands { + background-position: -320px -680px; +} +.ap-two_women_holding_hands { + background-position: -320px -700px; +} +.ap-cop { + background-position: -320px -720px; +} +.ap-dancers { + background-position: -340px -20px; +} +.ap-bride_with_veil { + background-position: -340px -40px; +} +.ap-person_with_blond_hair { + background-position: -340px -160px; +} +.ap-man_with_gua_pi_mao { + background-position: -340px -280px; +} +.ap-man_with_turban { + background-position: -340px -400px; +} +.ap-older_man { + background-position: -340px -520px; +} +.ap-older_woman { + background-position: -340px -640px; +} +.ap-baby { + background-position: -340px -760px; +} +.ap-construction_worker { + background-position: -360px -60px; +} +.ap-princess { + background-position: -360px -180px; +} +.ap-japanese_ogre { + background-position: -360px -300px; +} +.ap-japanese_goblin { + background-position: -360px -320px; +} +.ap-ghost { + background-position: -360px -340px; +} +.ap-angel { + background-position: -360px -360px; +} +.ap-alien { + background-position: -360px -480px; +} +.ap-space_invader { + background-position: -360px -500px; +} +.ap-imp { + background-position: -360px -520px; +} +.ap-skull { + background-position: -360px -540px; +} +.ap-information_desk_person { + background-position: -360px -560px; +} +.ap-guardsman { + background-position: -360px -680px; +} +.ap-dancer { + background-position: -360px -800px; +} +.ap-lipstick { + background-position: -380px -100px; +} +.ap-nail_care { + background-position: -380px -120px; +} +.ap-massage { + background-position: -380px -240px; +} +.ap-haircut { + background-position: -380px -360px; +} +.ap-barber { + background-position: -380px -480px; +} +.ap-syringe { + background-position: -380px -500px; +} +.ap-pill { + background-position: -380px -520px; +} +.ap-kiss { + background-position: -380px -540px; +} +.ap-love_letter { + background-position: -380px -560px; +} +.ap-ring { + background-position: -380px -580px; +} +.ap-gem { + background-position: -380px -600px; +} +.ap-couplekiss { + background-position: -380px -620px; +} +.ap-bouquet { + background-position: -380px -640px; +} +.ap-couple_with_heart { + background-position: -380px -660px; +} +.ap-wedding { + background-position: -380px -680px; +} +.ap-heartbeat { + background-position: -380px -700px; +} +.ap-broken_heart { + background-position: -380px -720px; +} +.ap-two_hearts { + background-position: -380px -740px; +} +.ap-sparkling_heart { + background-position: -380px -760px; +} +.ap-heartpulse { + background-position: -380px -780px; +} +.ap-cupid { + background-position: -380px -800px; +} +.ap-blue_heart { + background-position: -400px 0; +} +.ap-green_heart { + background-position: -400px -20px; +} +.ap-yellow_heart { + background-position: -400px -40px; +} +.ap-purple_heart { + background-position: -400px -60px; +} +.ap-gift_heart { + background-position: -400px -80px; +} +.ap-revolving_hearts { + background-position: -400px -100px; +} +.ap-heart_decoration { + background-position: -400px -120px; +} +.ap-diamond_shape_with_a_dot_inside { + background-position: -400px -140px; +} +.ap-bulb { + background-position: -400px -160px; +} +.ap-anger { + background-position: -400px -180px; +} +.ap-bomb { + background-position: -400px -200px; +} +.ap-zzz { + background-position: -400px -220px; +} +.ap-boom { + background-position: -400px -240px; +} +.ap-sweat_drops { + background-position: -400px -260px; +} +.ap-droplet { + background-position: -400px -280px; +} +.ap-dash { + background-position: -400px -300px; +} +.ap-hankey { + background-position: -400px -320px; +} +.ap-muscle { + background-position: -400px -340px; +} +.ap-dizzy { + background-position: -400px -460px; +} +.ap-speech_balloon { + background-position: -400px -480px; +} +.ap-thought_balloon { + background-position: -400px -500px; +} +.ap-white_flower { + background-position: -400px -520px; +} +.ap-100 { + background-position: -400px -540px; +} +.ap-moneybag { + background-position: -400px -560px; +} +.ap-currency_exchange { + background-position: -400px -580px; +} +.ap-heavy_dollar_sign { + background-position: -400px -600px; +} +.ap-credit_card { + background-position: -400px -620px; +} +.ap-yen { + background-position: -400px -640px; +} +.ap-dollar { + background-position: -400px -660px; +} +.ap-euro { + background-position: -400px -680px; +} +.ap-pound { + background-position: -400px -700px; +} +.ap-money_with_wings { + background-position: -400px -720px; +} +.ap-chart { + background-position: -400px -740px; +} +.ap-seat { + background-position: -400px -760px; +} +.ap-computer { + background-position: -400px -780px; +} +.ap-briefcase { + background-position: -400px -800px; +} +.ap-minidisc { + background-position: -420px 0; +} +.ap-floppy_disk { + background-position: -420px -20px; +} +.ap-cd { + background-position: -420px -40px; +} +.ap-dvd { + background-position: -420px -60px; +} +.ap-file_folder { + background-position: -420px -80px; +} +.ap-open_file_folder { + background-position: -420px -100px; +} +.ap-page_with_curl { + background-position: -420px -120px; +} +.ap-page_facing_up { + background-position: -420px -140px; +} +.ap-date { + background-position: -420px -160px; +} +.ap-calendar { + background-position: -420px -180px; +} +.ap-card_index { + background-position: -420px -200px; +} +.ap-chart_with_upwards_trend { + background-position: -420px -220px; +} +.ap-chart_with_downwards_trend { + background-position: -420px -240px; +} +.ap-bar_chart { + background-position: -420px -260px; +} +.ap-clipboard { + background-position: -420px -280px; +} +.ap-pushpin { + background-position: -420px -300px; +} +.ap-round_pushpin { + background-position: -420px -320px; +} +.ap-paperclip { + background-position: -420px -340px; +} +.ap-straight_ruler { + background-position: -420px -360px; +} +.ap-triangular_ruler { + background-position: -420px -380px; +} +.ap-bookmark_tabs { + background-position: -420px -400px; +} +.ap-ledger { + background-position: -420px -420px; +} +.ap-notebook { + background-position: -420px -440px; +} +.ap-notebook_with_decorative_cover { + background-position: -420px -460px; +} +.ap-closed_book { + background-position: -420px -480px; +} +.ap-book { + background-position: -420px -500px; +} +.ap-green_book { + background-position: -420px -520px; +} +.ap-blue_book { + background-position: -420px -540px; +} +.ap-orange_book { + background-position: -420px -560px; +} +.ap-books { + background-position: -420px -580px; +} +.ap-name_badge { + background-position: -420px -600px; +} +.ap-scroll { + background-position: -420px -620px; +} +.ap-memo { + background-position: -420px -640px; +} +.ap-telephone_receiver { + background-position: -420px -660px; +} +.ap-pager { + background-position: -420px -680px; +} +.ap-fax { + background-position: -420px -700px; +} +.ap-satellite_antenna { + background-position: -420px -720px; +} +.ap-loudspeaker { + background-position: -420px -740px; +} +.ap-mega { + background-position: -420px -760px; +} +.ap-outbox_tray { + background-position: -420px -780px; +} +.ap-inbox_tray { + background-position: -420px -800px; +} +.ap-package { + background-position: -440px 0; +} +.ap-e-mail { + background-position: -440px -20px; +} +.ap-incoming_envelope { + background-position: -440px -40px; +} +.ap-envelope_with_arrow { + background-position: -440px -60px; +} +.ap-mailbox_closed { + background-position: -440px -80px; +} +.ap-mailbox { + background-position: -440px -100px; +} +.ap-mailbox_with_mail { + background-position: -440px -120px; +} +.ap-mailbox_with_no_mail { + background-position: -440px -140px; +} +.ap-postbox { + background-position: -440px -160px; +} +.ap-postal_horn { + background-position: -440px -180px; +} +.ap-newspaper { + background-position: -440px -200px; +} +.ap-iphone { + background-position: -440px -220px; +} +.ap-calling { + background-position: -440px -240px; +} +.ap-vibration_mode { + background-position: -440px -260px; +} +.ap-mobile_phone_off { + background-position: -440px -280px; +} +.ap-no_mobile_phones { + background-position: -440px -300px; +} +.ap-signal_strength { + background-position: -440px -320px; +} +.ap-camera { + background-position: -440px -340px; +} +.ap-camera_with_flash { + background-position: -440px -360px; +} +.ap-video_camera { + background-position: -440px -380px; +} +.ap-tv { + background-position: -440px -400px; +} +.ap-radio { + background-position: -440px -420px; +} +.ap-vhs { + background-position: -440px -440px; +} +.ap-film_projector { + background-position: -440px -460px; +} +.ap-prayer_beads { + background-position: -440px -480px; +} +.ap-twisted_rightwards_arrows { + background-position: -440px -500px; +} +.ap-repeat { + background-position: -440px -520px; +} +.ap-repeat_one { + background-position: -440px -540px; +} +.ap-arrows_clockwise { + background-position: -440px -560px; +} +.ap-arrows_counterclockwise { + background-position: -440px -580px; +} +.ap-low_brightness { + background-position: -440px -600px; +} +.ap-high_brightness { + background-position: -440px -620px; +} +.ap-mute { + background-position: -440px -640px; +} +.ap-speaker { + background-position: -440px -660px; +} +.ap-sound { + background-position: -440px -680px; +} +.ap-loud_sound { + background-position: -440px -700px; +} +.ap-battery { + background-position: -440px -720px; +} +.ap-electric_plug { + background-position: -440px -740px; +} +.ap-mag { + background-position: -440px -760px; +} +.ap-mag_right { + background-position: -440px -780px; +} +.ap-lock_with_ink_pen { + background-position: -440px -800px; +} +.ap-closed_lock_with_key { + background-position: -460px 0; +} +.ap-key { + background-position: -460px -20px; +} +.ap-lock { + background-position: -460px -40px; +} +.ap-unlock { + background-position: -460px -60px; +} +.ap-bell { + background-position: -460px -80px; +} +.ap-no_bell { + background-position: -460px -100px; +} +.ap-bookmark { + background-position: -460px -120px; +} +.ap-link { + background-position: -460px -140px; +} +.ap-radio_button { + background-position: -460px -160px; +} +.ap-back { + background-position: -460px -180px; +} +.ap-end { + background-position: -460px -200px; +} +.ap-on { + background-position: -460px -220px; +} +.ap-soon { + background-position: -460px -240px; +} +.ap-top { + background-position: -460px -260px; +} +.ap-underage { + background-position: -460px -280px; +} +.ap-keycap_ten { + background-position: -460px -300px; +} +.ap-capital_abcd { + background-position: -460px -320px; +} +.ap-abcd { + background-position: -460px -340px; +} +.ap-1234 { + background-position: -460px -360px; +} +.ap-symbols { + background-position: -460px -380px; +} +.ap-abc { + background-position: -460px -400px; +} +.ap-fire { + background-position: -460px -420px; +} +.ap-flashlight { + background-position: -460px -440px; +} +.ap-wrench { + background-position: -460px -460px; +} +.ap-hammer { + background-position: -460px -480px; +} +.ap-nut_and_bolt { + background-position: -460px -500px; +} +.ap-hocho { + background-position: -460px -520px; +} +.ap-gun { + background-position: -460px -540px; +} +.ap-microscope { + background-position: -460px -560px; +} +.ap-telescope { + background-position: -460px -580px; +} +.ap-crystal_ball { + background-position: -460px -600px; +} +.ap-six_pointed_star { + background-position: -460px -620px; +} +.ap-beginner { + background-position: -460px -640px; +} +.ap-trident { + background-position: -460px -660px; +} +.ap-black_square_button { + background-position: -460px -680px; +} +.ap-white_square_button { + background-position: -460px -700px; +} +.ap-red_circle { + background-position: -460px -720px; +} +.ap-large_blue_circle { + background-position: -460px -740px; +} +.ap-large_orange_diamond { + background-position: -460px -760px; +} +.ap-large_blue_diamond { + background-position: -460px -780px; +} +.ap-small_orange_diamond { + background-position: -460px -800px; +} +.ap-small_blue_diamond { + background-position: -480px 0; +} +.ap-small_red_triangle { + background-position: -480px -20px; +} +.ap-small_red_triangle_down { + background-position: -480px -40px; +} +.ap-arrow_up_small { + background-position: -480px -60px; +} +.ap-arrow_down_small { + background-position: -480px -80px; +} +.ap-om_symbol { + background-position: -480px -100px; +} +.ap-dove_of_peace { + background-position: -480px -120px; +} +.ap-kaaba { + background-position: -480px -140px; +} +.ap-mosque { + background-position: -480px -160px; +} +.ap-synagogue { + background-position: -480px -180px; +} +.ap-menorah_with_nine_branches { + background-position: -480px -200px; +} +.ap-clock1 { + background-position: -480px -220px; +} +.ap-clock2 { + background-position: -480px -240px; +} +.ap-clock3 { + background-position: -480px -260px; +} +.ap-clock4 { + background-position: -480px -280px; +} +.ap-clock5 { + background-position: -480px -300px; +} +.ap-clock6 { + background-position: -480px -320px; +} +.ap-clock7 { + background-position: -480px -340px; +} +.ap-clock8 { + background-position: -480px -360px; +} +.ap-clock9 { + background-position: -480px -380px; +} +.ap-clock10 { + background-position: -480px -400px; +} +.ap-clock11 { + background-position: -480px -420px; +} +.ap-clock12 { + background-position: -480px -440px; +} +.ap-clock130 { + background-position: -480px -460px; +} +.ap-clock230 { + background-position: -480px -480px; +} +.ap-clock330 { + background-position: -480px -500px; +} +.ap-clock430 { + background-position: -480px -520px; +} +.ap-clock530 { + background-position: -480px -540px; +} +.ap-clock630 { + background-position: -480px -560px; +} +.ap-clock730 { + background-position: -480px -580px; +} +.ap-clock830 { + background-position: -480px -600px; +} +.ap-clock930 { + background-position: -480px -620px; +} +.ap-clock1030 { + background-position: -480px -640px; +} +.ap-clock1130 { + background-position: -480px -660px; +} +.ap-clock1230 { + background-position: -480px -680px; +} +.ap-candle { + background-position: -480px -700px; +} +.ap-mantelpiece_clock { + background-position: -480px -720px; +} +.ap-hole { + background-position: -480px -740px; +} +.ap-man_in_business_suit_levitating { + background-position: -480px -760px; +} +.ap-sleuth_or_spy { + background-position: -480px -780px; +} +.ap-dark_sunglasses { + background-position: -500px -80px; +} +.ap-spider { + background-position: -500px -100px; +} +.ap-spider_web { + background-position: -500px -120px; +} +.ap-joystick { + background-position: -500px -140px; +} +.ap-linked_paperclips { + background-position: -500px -160px; +} +.ap-lower_left_ballpoint_pen { + background-position: -500px -180px; +} +.ap-lower_left_fountain_pen { + background-position: -500px -200px; +} +.ap-lower_left_paintbrush { + background-position: -500px -220px; +} +.ap-lower_left_crayon { + background-position: -500px -240px; +} +.ap-raised_hand_with_fingers_splayed { + background-position: -500px -260px; +} +.ap-middle_finger { + background-position: -500px -380px; +} +.ap-spock-hand { + background-position: -500px -500px; +} +.ap-desktop_computer { + background-position: -500px -620px; +} +.ap-printer { + background-position: -500px -640px; +} +.ap-three_button_mouse { + background-position: -500px -660px; +} +.ap-trackball { + background-position: -500px -680px; +} +.ap-frame_with_picture { + background-position: -500px -700px; +} +.ap-card_index_dividers { + background-position: -500px -720px; +} +.ap-card_file_box { + background-position: -500px -740px; +} +.ap-file_cabinet { + background-position: -500px -760px; +} +.ap-wastebasket { + background-position: -500px -780px; +} +.ap-spiral_note_pad { + background-position: -500px -800px; +} +.ap-spiral_calendar_pad { + background-position: -520px 0; +} +.ap-compression { + background-position: -520px -20px; +} +.ap-old_key { + background-position: -520px -40px; +} +.ap-rolled_up_newspaper { + background-position: -520px -60px; +} +.ap-dagger_knife { + background-position: -520px -80px; +} +.ap-speaking_head_in_silhouette { + background-position: -520px -100px; +} +.ap-left_speech_bubble { + background-position: -520px -120px; +} +.ap-right_anger_bubble { + background-position: -520px -140px; +} +.ap-ballot_box_with_ballot { + background-position: -520px -160px; +} +.ap-world_map { + background-position: -520px -180px; +} +.ap-mount_fuji { + background-position: -520px -200px; +} +.ap-tokyo_tower { + background-position: -520px -220px; +} +.ap-statue_of_liberty { + background-position: -520px -240px; +} +.ap-japan { + background-position: -520px -260px; +} +.ap-moyai { + background-position: -520px -280px; +} +.ap-grinning { + background-position: -520px -300px; +} +.ap-grin { + background-position: -520px -320px; +} +.ap-joy { + background-position: -520px -340px; +} +.ap-smiley { + background-position: -520px -360px; +} +.ap-smile { + background-position: -520px -380px; +} +.ap-sweat_smile { + background-position: -520px -400px; +} +.ap-laughing { + background-position: -520px -420px; +} +.ap-innocent { + background-position: -520px -440px; +} +.ap-smiling_imp { + background-position: -520px -460px; +} +.ap-wink { + background-position: -520px -480px; +} +.ap-blush { + background-position: -520px -500px; +} +.ap-yum { + background-position: -520px -520px; +} +.ap-relieved { + background-position: -520px -540px; +} +.ap-heart_eyes { + background-position: -520px -560px; +} +.ap-sunglasses { + background-position: -520px -580px; +} +.ap-smirk { + background-position: -520px -600px; +} +.ap-neutral_face { + background-position: -520px -620px; +} +.ap-expressionless { + background-position: -520px -640px; +} +.ap-unamused { + background-position: -520px -660px; +} +.ap-sweat { + background-position: -520px -680px; +} +.ap-pensive { + background-position: -520px -700px; +} +.ap-confused { + background-position: -520px -720px; +} +.ap-confounded { + background-position: -520px -740px; +} +.ap-kissing { + background-position: -520px -760px; +} +.ap-kissing_heart { + background-position: -520px -780px; +} +.ap-kissing_smiling_eyes { + background-position: -520px -800px; +} +.ap-kissing_closed_eyes { + background-position: -540px 0; +} +.ap-stuck_out_tongue { + background-position: -540px -20px; +} +.ap-stuck_out_tongue_winking_eye { + background-position: -540px -40px; +} +.ap-stuck_out_tongue_closed_eyes { + background-position: -540px -60px; +} +.ap-disappointed { + background-position: -540px -80px; +} +.ap-worried { + background-position: -540px -100px; +} +.ap-angry { + background-position: -540px -120px; +} +.ap-rage { + background-position: -540px -140px; +} +.ap-cry { + background-position: -540px -160px; +} +.ap-persevere { + background-position: -540px -180px; +} +.ap-triumph { + background-position: -540px -200px; +} +.ap-disappointed_relieved { + background-position: -540px -220px; +} +.ap-frowning { + background-position: -540px -240px; +} +.ap-anguished { + background-position: -540px -260px; +} +.ap-fearful { + background-position: -540px -280px; +} +.ap-weary { + background-position: -540px -300px; +} +.ap-sleepy { + background-position: -540px -320px; +} +.ap-tired_face { + background-position: -540px -340px; +} +.ap-grimacing { + background-position: -540px -360px; +} +.ap-sob { + background-position: -540px -380px; +} +.ap-open_mouth { + background-position: -540px -400px; +} +.ap-hushed { + background-position: -540px -420px; +} +.ap-cold_sweat { + background-position: -540px -440px; +} +.ap-scream { + background-position: -540px -460px; +} +.ap-astonished { + background-position: -540px -480px; +} +.ap-flushed { + background-position: -540px -500px; +} +.ap-sleeping { + background-position: -540px -520px; +} +.ap-dizzy_face { + background-position: -540px -540px; +} +.ap-no_mouth { + background-position: -540px -560px; +} +.ap-mask { + background-position: -540px -580px; +} +.ap-smile_cat { + background-position: -540px -600px; +} +.ap-joy_cat { + background-position: -540px -620px; +} +.ap-smiley_cat { + background-position: -540px -640px; +} +.ap-heart_eyes_cat { + background-position: -540px -660px; +} +.ap-smirk_cat { + background-position: -540px -680px; +} +.ap-kissing_cat { + background-position: -540px -700px; +} +.ap-pouting_cat { + background-position: -540px -720px; +} +.ap-crying_cat_face { + background-position: -540px -740px; +} +.ap-scream_cat { + background-position: -540px -760px; +} +.ap-slightly_frowning_face { + background-position: -540px -780px; +} +.ap-slightly_smiling_face { + background-position: -540px -800px; +} +.ap-upside_down_face { + background-position: -560px 0; +} +.ap-face_with_rolling_eyes { + background-position: -560px -20px; +} +.ap-no_good { + background-position: -560px -40px; +} +.ap-ok_woman { + background-position: -560px -160px; +} +.ap-bow { + background-position: -560px -280px; +} +.ap-see_no_evil { + background-position: -560px -400px; +} +.ap-hear_no_evil { + background-position: -560px -420px; +} +.ap-speak_no_evil { + background-position: -560px -440px; +} +.ap-raising_hand { + background-position: -560px -460px; +} +.ap-raised_hands { + background-position: -560px -580px; +} +.ap-person_frowning { + background-position: -560px -700px; +} +.ap-person_with_pouting_face { + background-position: -580px 0; +} +.ap-pray { + background-position: -580px -120px; +} +.ap-rocket { + background-position: -580px -240px; +} +.ap-helicopter { + background-position: -580px -260px; +} +.ap-steam_locomotive { + background-position: -580px -280px; +} +.ap-railway_car { + background-position: -580px -300px; +} +.ap-bullettrain_side { + background-position: -580px -320px; +} +.ap-bullettrain_front { + background-position: -580px -340px; +} +.ap-train2 { + background-position: -580px -360px; +} +.ap-metro { + background-position: -580px -380px; +} +.ap-light_rail { + background-position: -580px -400px; +} +.ap-station { + background-position: -580px -420px; +} +.ap-tram { + background-position: -580px -440px; +} +.ap-train { + background-position: -580px -460px; +} +.ap-bus { + background-position: -580px -480px; +} +.ap-oncoming_bus { + background-position: -580px -500px; +} +.ap-trolleybus { + background-position: -580px -520px; +} +.ap-busstop { + background-position: -580px -540px; +} +.ap-minibus { + background-position: -580px -560px; +} +.ap-ambulance { + background-position: -580px -580px; +} +.ap-fire_engine { + background-position: -580px -600px; +} +.ap-police_car { + background-position: -580px -620px; +} +.ap-oncoming_police_car { + background-position: -580px -640px; +} +.ap-taxi { + background-position: -580px -660px; +} +.ap-oncoming_taxi { + background-position: -580px -680px; +} +.ap-car { + background-position: -580px -700px; +} +.ap-oncoming_automobile { + background-position: -580px -720px; +} +.ap-blue_car { + background-position: -580px -740px; +} +.ap-truck { + background-position: -580px -760px; +} +.ap-articulated_lorry { + background-position: -580px -780px; +} +.ap-tractor { + background-position: -580px -800px; +} +.ap-monorail { + background-position: -600px 0; +} +.ap-mountain_railway { + background-position: -600px -20px; +} +.ap-suspension_railway { + background-position: -600px -40px; +} +.ap-mountain_cableway { + background-position: -600px -60px; +} +.ap-aerial_tramway { + background-position: -600px -80px; +} +.ap-ship { + background-position: -600px -100px; +} +.ap-rowboat { + background-position: -600px -120px; +} +.ap-speedboat { + background-position: -600px -240px; +} +.ap-traffic_light { + background-position: -600px -260px; +} +.ap-vertical_traffic_light { + background-position: -600px -280px; +} +.ap-construction { + background-position: -600px -300px; +} +.ap-rotating_light { + background-position: -600px -320px; +} +.ap-triangular_flag_on_post { + background-position: -600px -340px; +} +.ap-door { + background-position: -600px -360px; +} +.ap-no_entry_sign { + background-position: -600px -380px; +} +.ap-smoking { + background-position: -600px -400px; +} +.ap-no_smoking { + background-position: -600px -420px; +} +.ap-put_litter_in_its_place { + background-position: -600px -440px; +} +.ap-do_not_litter { + background-position: -600px -460px; +} +.ap-potable_water { + background-position: -600px -480px; +} +.ap-non-potable_water { + background-position: -600px -500px; +} +.ap-bike { + background-position: -600px -520px; +} +.ap-no_bicycles { + background-position: -600px -540px; +} +.ap-bicyclist { + background-position: -600px -560px; +} +.ap-mountain_bicyclist { + background-position: -600px -680px; +} +.ap-walking { + background-position: -600px -800px; +} +.ap-no_pedestrians { + background-position: -620px -100px; +} +.ap-children_crossing { + background-position: -620px -120px; +} +.ap-mens { + background-position: -620px -140px; +} +.ap-womens { + background-position: -620px -160px; +} +.ap-restroom { + background-position: -620px -180px; +} +.ap-baby_symbol { + background-position: -620px -200px; +} +.ap-toilet { + background-position: -620px -220px; +} +.ap-wc { + background-position: -620px -240px; +} +.ap-shower { + background-position: -620px -260px; +} +.ap-bath { + background-position: -620px -280px; +} +.ap-bathtub { + background-position: -620px -400px; +} +.ap-passport_control { + background-position: -620px -420px; +} +.ap-customs { + background-position: -620px -440px; +} +.ap-baggage_claim { + background-position: -620px -460px; +} +.ap-left_luggage { + background-position: -620px -480px; +} +.ap-couch_and_lamp { + background-position: -620px -500px; +} +.ap-sleeping_accommodation { + background-position: -620px -520px; +} +.ap-shopping_bags { + background-position: -620px -540px; +} +.ap-bellhop_bell { + background-position: -620px -560px; +} +.ap-bed { + background-position: -620px -580px; +} +.ap-place_of_worship { + background-position: -620px -600px; +} +.ap-hammer_and_wrench { + background-position: -620px -620px; +} +.ap-shield { + background-position: -620px -640px; +} +.ap-oil_drum { + background-position: -620px -660px; +} +.ap-motorway { + background-position: -620px -680px; +} +.ap-railway_track { + background-position: -620px -700px; +} +.ap-motor_boat { + background-position: -620px -720px; +} +.ap-small_airplane { + background-position: -620px -740px; +} +.ap-airplane_departure { + background-position: -620px -760px; +} +.ap-airplane_arriving { + background-position: -620px -780px; +} +.ap-satellite { + background-position: -620px -800px; +} +.ap-passenger_ship { + background-position: -640px 0; +} +.ap-zipper_mouth_face { + background-position: -640px -20px; +} +.ap-money_mouth_face { + background-position: -640px -40px; +} +.ap-face_with_thermometer { + background-position: -640px -60px; +} +.ap-nerd_face { + background-position: -640px -80px; +} +.ap-thinking_face { + background-position: -640px -100px; +} +.ap-face_with_head_bandage { + background-position: -640px -120px; +} +.ap-robot_face { + background-position: -640px -140px; +} +.ap-hugging_face { + background-position: -640px -160px; +} +.ap-the_horns { + background-position: -640px -180px; +} +.ap-crab { + background-position: -640px -300px; +} +.ap-lion_face { + background-position: -640px -320px; +} +.ap-scorpion { + background-position: -640px -340px; +} +.ap-turkey { + background-position: -640px -360px; +} +.ap-unicorn_face { + background-position: -640px -380px; +} +.ap-cheese_wedge { + background-position: -640px -400px; +} +.ap-hash { + background-position: -640px -420px; +} +.ap-keycap_star { + background-position: -640px -440px; +} +.ap-zero { + background-position: -640px -460px; +} +.ap-one { + background-position: -640px -480px; +} +.ap-two { + background-position: -640px -500px; +} +.ap-three { + background-position: -640px -520px; +} +.ap-four { + background-position: -640px -540px; +} +.ap-five { + background-position: -640px -560px; +} +.ap-six { + background-position: -640px -580px; +} +.ap-seven { + background-position: -640px -600px; +} +.ap-eight { + background-position: -640px -620px; +} +.ap-nine { + background-position: -640px -640px; +} +.ap-flag-ac { + background-position: -640px -660px; +} +.ap-flag-ad { + background-position: -640px -680px; +} +.ap-flag-ae { + background-position: -640px -700px; +} +.ap-flag-af { + background-position: -640px -720px; +} +.ap-flag-ag { + background-position: -640px -740px; +} +.ap-flag-ai { + background-position: -640px -760px; +} +.ap-flag-al { + background-position: -640px -780px; +} +.ap-flag-am { + background-position: -640px -800px; +} +.ap-flag-ao { + background-position: -660px 0; +} +.ap-flag-aq { + background-position: -660px -20px; +} +.ap-flag-ar { + background-position: -660px -40px; +} +.ap-flag-as { + background-position: -660px -60px; +} +.ap-flag-at { + background-position: -660px -80px; +} +.ap-flag-au { + background-position: -660px -100px; +} +.ap-flag-aw { + background-position: -660px -120px; +} +.ap-flag-ax { + background-position: -660px -140px; +} +.ap-flag-az { + background-position: -660px -160px; +} +.ap-flag-ba { + background-position: -660px -180px; +} +.ap-flag-bb { + background-position: -660px -200px; +} +.ap-flag-bd { + background-position: -660px -220px; +} +.ap-flag-be { + background-position: -660px -240px; +} +.ap-flag-bf { + background-position: -660px -260px; +} +.ap-flag-bg { + background-position: -660px -280px; +} +.ap-flag-bh { + background-position: -660px -300px; +} +.ap-flag-bi { + background-position: -660px -320px; +} +.ap-flag-bj { + background-position: -660px -340px; +} +.ap-flag-bl { + background-position: -660px -360px; +} +.ap-flag-bm { + background-position: -660px -380px; +} +.ap-flag-bn { + background-position: -660px -400px; +} +.ap-flag-bo { + background-position: -660px -420px; +} +.ap-flag-bq { + background-position: -660px -440px; +} +.ap-flag-br { + background-position: -660px -460px; +} +.ap-flag-bs { + background-position: -660px -480px; +} +.ap-flag-bt { + background-position: -660px -500px; +} +.ap-flag-bv { + background-position: -660px -520px; +} +.ap-flag-bw { + background-position: -660px -540px; +} +.ap-flag-by { + background-position: -660px -560px; +} +.ap-flag-bz { + background-position: -660px -580px; +} +.ap-flag-ca { + background-position: -660px -600px; +} +.ap-flag-cc { + background-position: -660px -620px; +} +.ap-flag-cd { + background-position: -660px -640px; +} +.ap-flag-cf { + background-position: -660px -660px; +} +.ap-flag-cg { + background-position: -660px -680px; +} +.ap-flag-ch { + background-position: -660px -700px; +} +.ap-flag-ci { + background-position: -660px -720px; +} +.ap-flag-ck { + background-position: -660px -740px; +} +.ap-flag-cl { + background-position: -660px -760px; +} +.ap-flag-cm { + background-position: -660px -780px; +} +.ap-flag-cn { + background-position: -660px -800px; +} +.ap-flag-co { + background-position: -680px 0; +} +.ap-flag-cp { + background-position: -680px -20px; +} +.ap-flag-cr { + background-position: -680px -40px; +} +.ap-flag-cu { + background-position: -680px -60px; +} +.ap-flag-cv { + background-position: -680px -80px; +} +.ap-flag-cw { + background-position: -680px -100px; +} +.ap-flag-cx { + background-position: -680px -120px; +} +.ap-flag-cy { + background-position: -680px -140px; +} +.ap-flag-cz { + background-position: -680px -160px; +} +.ap-flag-de { + background-position: -680px -180px; +} +.ap-flag-dg { + background-position: -680px -200px; +} +.ap-flag-dj { + background-position: -680px -220px; +} +.ap-flag-dk { + background-position: -680px -240px; +} +.ap-flag-dm { + background-position: -680px -260px; +} +.ap-flag-do { + background-position: -680px -280px; +} +.ap-flag-dz { + background-position: -680px -300px; +} +.ap-flag-ea { + background-position: -680px -320px; +} +.ap-flag-ec { + background-position: -680px -340px; +} +.ap-flag-ee { + background-position: -680px -360px; +} +.ap-flag-eg { + background-position: -680px -380px; +} +.ap-flag-eh { + background-position: -680px -400px; +} +.ap-flag-er { + background-position: -680px -420px; +} +.ap-flag-es { + background-position: -680px -440px; +} +.ap-flag-et { + background-position: -680px -460px; +} +.ap-flag-eu { + background-position: -680px -480px; +} +.ap-flag-fi { + background-position: -680px -500px; +} +.ap-flag-fj { + background-position: -680px -520px; +} +.ap-flag-fk { + background-position: -680px -540px; +} +.ap-flag-fm { + background-position: -680px -560px; +} +.ap-flag-fo { + background-position: -680px -580px; +} +.ap-flag-fr { + background-position: -680px -600px; +} +.ap-flag-ga { + background-position: -680px -620px; +} +.ap-flag-gb { + background-position: -680px -640px; +} +.ap-flag-gd { + background-position: -680px -660px; +} +.ap-flag-ge { + background-position: -680px -680px; +} +.ap-flag-gf { + background-position: -680px -700px; +} +.ap-flag-gg { + background-position: -680px -720px; +} +.ap-flag-gh { + background-position: -680px -740px; +} +.ap-flag-gi { + background-position: -680px -760px; +} +.ap-flag-gl { + background-position: -680px -780px; +} +.ap-flag-gm { + background-position: -680px -800px; +} +.ap-flag-gn { + background-position: -700px 0; +} +.ap-flag-gp { + background-position: -700px -20px; +} +.ap-flag-gq { + background-position: -700px -40px; +} +.ap-flag-gr { + background-position: -700px -60px; +} +.ap-flag-gs { + background-position: -700px -80px; +} +.ap-flag-gt { + background-position: -700px -100px; +} +.ap-flag-gu { + background-position: -700px -120px; +} +.ap-flag-gw { + background-position: -700px -140px; +} +.ap-flag-gy { + background-position: -700px -160px; +} +.ap-flag-hk { + background-position: -700px -180px; +} +.ap-flag-hm { + background-position: -700px -200px; +} +.ap-flag-hn { + background-position: -700px -220px; +} +.ap-flag-hr { + background-position: -700px -240px; +} +.ap-flag-ht { + background-position: -700px -260px; +} +.ap-flag-hu { + background-position: -700px -280px; +} +.ap-flag-ic { + background-position: -700px -300px; +} +.ap-flag-id { + background-position: -700px -320px; +} +.ap-flag-ie { + background-position: -700px -340px; +} +.ap-flag-il { + background-position: -700px -360px; +} +.ap-flag-im { + background-position: -700px -380px; +} +.ap-flag-in { + background-position: -700px -400px; +} +.ap-flag-io { + background-position: -700px -420px; +} +.ap-flag-iq { + background-position: -700px -440px; +} +.ap-flag-ir { + background-position: -700px -460px; +} +.ap-flag-is { + background-position: -700px -480px; +} +.ap-flag-it { + background-position: -700px -500px; +} +.ap-flag-je { + background-position: -700px -520px; +} +.ap-flag-jm { + background-position: -700px -540px; +} +.ap-flag-jo { + background-position: -700px -560px; +} +.ap-flag-jp { + background-position: -700px -580px; +} +.ap-flag-ke { + background-position: -700px -600px; +} +.ap-flag-kg { + background-position: -700px -620px; +} +.ap-flag-kh { + background-position: -700px -640px; +} +.ap-flag-ki { + background-position: -700px -660px; +} +.ap-flag-km { + background-position: -700px -680px; +} +.ap-flag-kn { + background-position: -700px -700px; +} +.ap-flag-kp { + background-position: -700px -720px; +} +.ap-flag-kr { + background-position: -700px -740px; +} +.ap-flag-kw { + background-position: -700px -760px; +} +.ap-flag-ky { + background-position: -700px -780px; +} +.ap-flag-kz { + background-position: -700px -800px; +} +.ap-flag-la { + background-position: -720px 0; +} +.ap-flag-lb { + background-position: -720px -20px; +} +.ap-flag-lc { + background-position: -720px -40px; +} +.ap-flag-li { + background-position: -720px -60px; +} +.ap-flag-lk { + background-position: -720px -80px; +} +.ap-flag-lr { + background-position: -720px -100px; +} +.ap-flag-ls { + background-position: -720px -120px; +} +.ap-flag-lt { + background-position: -720px -140px; +} +.ap-flag-lu { + background-position: -720px -160px; +} +.ap-flag-lv { + background-position: -720px -180px; +} +.ap-flag-ly { + background-position: -720px -200px; +} +.ap-flag-ma { + background-position: -720px -220px; +} +.ap-flag-mc { + background-position: -720px -240px; +} +.ap-flag-md { + background-position: -720px -260px; +} +.ap-flag-me { + background-position: -720px -280px; +} +.ap-flag-mf { + background-position: -720px -300px; +} +.ap-flag-mg { + background-position: -720px -320px; +} +.ap-flag-mh { + background-position: -720px -340px; +} +.ap-flag-mk { + background-position: -720px -360px; +} +.ap-flag-ml { + background-position: -720px -380px; +} +.ap-flag-mm { + background-position: -720px -400px; +} +.ap-flag-mn { + background-position: -720px -420px; +} +.ap-flag-mo { + background-position: -720px -440px; +} +.ap-flag-mp { + background-position: -720px -460px; +} +.ap-flag-mq { + background-position: -720px -480px; +} +.ap-flag-mr { + background-position: -720px -500px; +} +.ap-flag-ms { + background-position: -720px -520px; +} +.ap-flag-mt { + background-position: -720px -540px; +} +.ap-flag-mu { + background-position: -720px -560px; +} +.ap-flag-mv { + background-position: -720px -580px; +} +.ap-flag-mw { + background-position: -720px -600px; +} +.ap-flag-mx { + background-position: -720px -620px; +} +.ap-flag-my { + background-position: -720px -640px; +} +.ap-flag-mz { + background-position: -720px -660px; +} +.ap-flag-na { + background-position: -720px -680px; +} +.ap-flag-nc { + background-position: -720px -700px; +} +.ap-flag-ne { + background-position: -720px -720px; +} +.ap-flag-nf { + background-position: -720px -740px; +} +.ap-flag-ng { + background-position: -720px -760px; +} +.ap-flag-ni { + background-position: -720px -780px; +} +.ap-flag-nl { + background-position: -720px -800px; +} +.ap-flag-no { + background-position: -740px 0; +} +.ap-flag-np { + background-position: -740px -20px; +} +.ap-flag-nr { + background-position: -740px -40px; +} +.ap-flag-nu { + background-position: -740px -60px; +} +.ap-flag-nz { + background-position: -740px -80px; +} +.ap-flag-om { + background-position: -740px -100px; +} +.ap-flag-pa { + background-position: -740px -120px; +} +.ap-flag-pe { + background-position: -740px -140px; +} +.ap-flag-pf { + background-position: -740px -160px; +} +.ap-flag-pg { + background-position: -740px -180px; +} +.ap-flag-ph { + background-position: -740px -200px; +} +.ap-flag-pk { + background-position: -740px -220px; +} +.ap-flag-pl { + background-position: -740px -240px; +} +.ap-flag-pm { + background-position: -740px -260px; +} +.ap-flag-pn { + background-position: -740px -280px; +} +.ap-flag-pr { + background-position: -740px -300px; +} +.ap-flag-ps { + background-position: -740px -320px; +} +.ap-flag-pt { + background-position: -740px -340px; +} +.ap-flag-pw { + background-position: -740px -360px; +} +.ap-flag-py { + background-position: -740px -380px; +} +.ap-flag-qa { + background-position: -740px -400px; +} +.ap-flag-re { + background-position: -740px -420px; +} +.ap-flag-ro { + background-position: -740px -440px; +} +.ap-flag-rs { + background-position: -740px -460px; +} +.ap-flag-ru { + background-position: -740px -480px; +} +.ap-flag-rw { + background-position: -740px -500px; +} +.ap-flag-sa { + background-position: -740px -520px; +} +.ap-flag-sb { + background-position: -740px -540px; +} +.ap-flag-sc { + background-position: -740px -560px; +} +.ap-flag-sd { + background-position: -740px -580px; +} +.ap-flag-se { + background-position: -740px -600px; +} +.ap-flag-sg { + background-position: -740px -620px; +} +.ap-flag-sh { + background-position: -740px -640px; +} +.ap-flag-si { + background-position: -740px -660px; +} +.ap-flag-sj { + background-position: -740px -680px; +} +.ap-flag-sk { + background-position: -740px -700px; +} +.ap-flag-sl { + background-position: -740px -720px; +} +.ap-flag-sm { + background-position: -740px -740px; +} +.ap-flag-sn { + background-position: -740px -760px; +} +.ap-flag-so { + background-position: -740px -780px; +} +.ap-flag-sr { + background-position: -740px -800px; +} +.ap-flag-ss { + background-position: -760px 0; +} +.ap-flag-st { + background-position: -760px -20px; +} +.ap-flag-sv { + background-position: -760px -40px; +} +.ap-flag-sx { + background-position: -760px -60px; +} +.ap-flag-sy { + background-position: -760px -80px; +} +.ap-flag-sz { + background-position: -760px -100px; +} +.ap-flag-ta { + background-position: -760px -120px; +} +.ap-flag-tc { + background-position: -760px -140px; +} +.ap-flag-td { + background-position: -760px -160px; +} +.ap-flag-tf { + background-position: -760px -180px; +} +.ap-flag-tg { + background-position: -760px -200px; +} +.ap-flag-th { + background-position: -760px -220px; +} +.ap-flag-tj { + background-position: -760px -240px; +} +.ap-flag-tk { + background-position: -760px -260px; +} +.ap-flag-tl { + background-position: -760px -280px; +} +.ap-flag-tm { + background-position: -760px -300px; +} +.ap-flag-tn { + background-position: -760px -320px; +} +.ap-flag-to { + background-position: -760px -340px; +} +.ap-flag-tr { + background-position: -760px -360px; +} +.ap-flag-tt { + background-position: -760px -380px; +} +.ap-flag-tv { + background-position: -760px -400px; +} +.ap-flag-tw { + background-position: -760px -420px; +} +.ap-flag-tz { + background-position: -760px -440px; +} +.ap-flag-ua { + background-position: -760px -460px; +} +.ap-flag-ug { + background-position: -760px -480px; +} +.ap-flag-um { + background-position: -760px -500px; +} +.ap-flag-us { + background-position: -760px -520px; +} +.ap-flag-uy { + background-position: -760px -540px; +} +.ap-flag-uz { + background-position: -760px -560px; +} +.ap-flag-va { + background-position: -760px -580px; +} +.ap-flag-vc { + background-position: -760px -600px; +} +.ap-flag-ve { + background-position: -760px -620px; +} +.ap-flag-vg { + background-position: -760px -640px; +} +.ap-flag-vi { + background-position: -760px -660px; +} +.ap-flag-vn { + background-position: -760px -680px; +} +.ap-flag-vu { + background-position: -760px -700px; +} +.ap-flag-wf { + background-position: -760px -720px; +} +.ap-flag-ws { + background-position: -760px -740px; +} +.ap-flag-xk { + background-position: -760px -760px; +} +.ap-flag-ye { + background-position: -760px -780px; +} +.ap-flag-yt { + background-position: -760px -800px; +} +.ap-flag-za { + background-position: -780px 0; +} +.ap-flag-zm { + background-position: -780px -20px; +} +.ap-flag-zw { + background-position: -780px -40px; +} +.ap-man-man-boy { + background-position: -780px -60px; +} +.ap-man-man-boy-boy { + background-position: -780px -80px; +} +.ap-man-man-girl { + background-position: -780px -100px; +} +.ap-man-man-girl-boy { + background-position: -780px -120px; +} +.ap-man-man-girl-girl { + background-position: -780px -140px; +} +.ap-man-woman-boy-boy { + background-position: -780px -160px; +} +.ap-man-woman-girl { + background-position: -780px -180px; +} +.ap-man-woman-girl-boy { + background-position: -780px -200px; +} +.ap-man-woman-girl-girl { + background-position: -780px -220px; +} +.ap-man-heart-man { + background-position: -780px -240px; +} +.ap-man-kiss-man { + background-position: -780px -260px; +} +.ap-woman-woman-boy { + background-position: -780px -280px; +} +.ap-woman-woman-boy-boy { + background-position: -780px -300px; +} +.ap-woman-woman-girl { + background-position: -780px -320px; +} +.ap-woman-woman-girl-boy { + background-position: -780px -340px; +} +.ap-woman-woman-girl-girl { + background-position: -780px -360px; +} +.ap-woman-heart-woman { + background-position: -780px -380px; +} +.ap-woman-kiss-woman { + background-position: -780px -400px; +} diff --git a/openmetadata-ui/src/main/resources/ui/src/constants/Feeds.constants.ts b/openmetadata-ui/src/main/resources/ui/src/constants/Feeds.constants.ts index 63d66e81e2c5..fb3789adb511 100644 --- a/openmetadata-ui/src/main/resources/ui/src/constants/Feeds.constants.ts +++ b/openmetadata-ui/src/main/resources/ui/src/constants/Feeds.constants.ts @@ -46,7 +46,7 @@ export const TOOLBAR_ITEMS = [ ['blockquote', 'code-block'], [{ list: 'ordered' }, { list: 'bullet' }], ['link'], - ['insertMention', 'insertRef', 'emoji'], + ['insertMention', 'insertRef'], ]; export enum TaskOperation { diff --git a/openmetadata-ui/src/main/resources/ui/webpack.config.dev.js b/openmetadata-ui/src/main/resources/ui/webpack.config.dev.js index 178b65174629..8a117de94324 100644 --- a/openmetadata-ui/src/main/resources/ui/webpack.config.dev.js +++ b/openmetadata-ui/src/main/resources/ui/webpack.config.dev.js @@ -116,6 +116,7 @@ module.exports = { }, alias: { process: 'process/browser', + Quill: path.resolve(__dirname, 'node_modules/quill'), // Alias for the 'quill' library in node_modules }, }, diff --git a/openmetadata-ui/src/main/resources/ui/webpack.config.prod.js b/openmetadata-ui/src/main/resources/ui/webpack.config.prod.js index 6f41247a27ae..e7d96fa21110 100644 --- a/openmetadata-ui/src/main/resources/ui/webpack.config.prod.js +++ b/openmetadata-ui/src/main/resources/ui/webpack.config.prod.js @@ -115,6 +115,7 @@ module.exports = { }, alias: { process: 'process/browser', + Quill: path.resolve(__dirname, 'node_modules/quill'), // Alias for the 'quill' library in node_modules }, },
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
$ZI?aL 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
KoTslX-mkd*vS&TO*lY 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Ð@#fPHM28BfJz8>p$6LwnJkEBptnZn1d%w{1XiVbu3a885_qSGD4mYLcBOfdQl6E@3&=B6xt$NJKL^n8E2B6V@O>-fTK&70vfqh9T1_X?h--y{9_VN1kzE*@`@X6ea_`lsIW z{e^S;^5i$#FLU*jC;KH<8!l-=N+h&s>@p)p4Zvd&0a%2v4Bp@G;C7A*g12v`i{}A^;f>E?65mrWK@2-# zGXzp1x1BrX($7a23pQ;dM~syT93L*)3a}BN>@Q&bW<8W_B(h|y`HTJclW$IXs$E+v z+QZZ;;mEMo72~ zquFHnw{D5odCvYX$zKk=kjtB&*@+6>QNMY}IA+SCqarn$)l5a4)m*D+tuNqtsr`sD z9l3nk_klL&u;|$O!RntgGjfxrtN0b#E0d zy@IG*-$)*LA1bb{^kli~@XF8AU+8R>xw5*KHXOYX#@O-gk%2+6@feAA?|R?mCrtS+ zshXRbExUW8mF#GC4eVWGarR*pd6>F*rbA_YUvspvvLg*EeN#F~uHgpefN0ggV{|J| zI9j~YHHAOMQZNin*BE;0o|@F$E#1lYW07lf;WG8_*6m&U*!!GT?cWcKh#2qoh@@gI z9#m*eywN`&z1}lIf0rfswM+`E#qsFP{QsIl#U?%}y}BNImHN*$|2S zClD+7Fsy;u6T)<28;bcBpb=~#Mt+k<@uMxom`i)%(N8niJKeS*dbocl`HLduTkUOMYJvS7*zX zxx{qVrix!y+g8gZDI*0^oqU_+cW$}cxp_xTId7nYy!Kc2#$U(WRme*Ps|U-yd4!r% zw!1_$89osj5%^(c_focSb5UJ}Hmk&EwG~69n!{ah1Zv9_U%dEEHuQ0k{=%}?JyM02 zM%jmw*cp{aGRhSSh3~1TuPX{m8l9c+`Cq*!lf z$bvR?y{j_KPCbKkg;l-a1Q*NtZV#3m>h`$Sz5RV=MedtK1|A*vO;7q^UTC9f{)zkX z(8K080jFL!%f#;v5%Odd^qKjxk54c(R|J2yHzV4yWQsg#Zi{D={Wepf%XPJtyTm@b zi~aN{rHMotdz@}?+w9~%d3&`Z0+wW!Qw)ROUR=^!C;z!7jGr9mM;=!zC{xp1 z*ZIXfIaA2h`YuyLK;#=zu{Wfp7}*-v6Z#KkrDl8&Rh{UMaAyA*6~{myLEN6-O>l>> zB9g!`jwR?RdJTtRN+t3H5)&!3h{YW7vrW&PutN|c1(q1VVu6)LaN){eyiv( z%u^5?J>ln(7Fql;@Taz@#@Uk6dABxBCX=(g9!Gv3%ab2 zZ_*9*2as--{gmK+JMM~24>P^eDaHJ6yH;DQKMhw?ZWW6Oim37me;61lO43O$X<0J$ zW{1JGZB6{`R+WKQ1aDj!^|)~Ar@Y>)u`Ih^LYYO!gHpfHRi_5J&m3}OQDGx@`&LaC z86KI~FetamJru`J8fv&p>&PMBh-h7RnC2ZDOMWIliQw05{AO@7Fu;CKQM}%+Mfaz8 zASO8d>$aSAs{P#FWxhXq3suFr{OEv?Z)x}F^0IEV7urx(-;+_@YxQ7in4vMlOLm zHv7QM;PcYTeb-w|F2-y-)5JMf?e#ud=Y9R^1oH!Z16Ly!KDOu^C7xba^!`4lrm}6- z|B^ED7WzDdrav7a-cv&QU0Yj=?G8gu6Q&A~Q42Z<6nYLDB3^oa*`MDn6E8RA$fQM9 z@g~-H!ApOo50V8j0zkadgi<_It73QVzhCJo^`{Et!*(A>H}O>;HsLRO?RCcWKBeZh zBW7dFL84>wUL{F_&VKo+Lv3n#S3LIVTHd5q3cRlnGJJTXEIHxoIk!t(`)-{nx+~MW zPWRo*#>1kwJn8zWos+Mncy^jB6u2B7D>IAFX7TmdCY@6r{h{eFRj%F7y!6J14^0&* zl;IQukBarg%oQW8`xT7FQmWEAR%o9cqij1HbhpuKjCqR`4UOkRqq>Of{^okwoVJMk z<#Dm)*=NOxJQWOr)YFaYH;QHl3#lp|s5RbMS7oD#$fZ~Oe1h!Ez~SiEm!kq@P8+K$ z$OIN|p1t%czfg>6Y)I#j!@h+#Us*36ihkpEvUlw=#TAx^Ve|F47 z;I>L=`D-2e;#G+$Z)u*ufRZO0dXqQ(Tz8-vC^r>R)u7wwvU@>>xns)qKU5~W(3fz> zD9VHpShP!#DN77|0W%Nu6hB7Pj@iPb20(NJ&pNMKY!fzQyf<_*zjy4t^Rc(iQ4=8a z&Kk86QC6)<8k-Qn0R-`~>W8DS^nXu-l!e^6g~MH+2BR6b z>acUj2dckQ?HL=^5D7jIRVy`lt(`L?lQk!yub`kq`bjuVQ&L1wJ-jxo;wAUYniw7$ zZ1KDCUMbWgi@tfF=3{y>hcnLti)Xm3l5&6@OS51?Nk)?t>2t9oT*gWd41RxztZ_ET z;@saZC*OQp;D)-OS4LQrwN{;10bQa}@_}-x=G=~#XS~X{k;v-3_v21idM(MjHLu2l zfkC>{ikHNkn)%q900U*cnhWXo9%+kFhO>ztj8;8TE!`P$WYZae83)1G49ye{O~M&86l(8{A#Nhb4X$=rF%Yp0bp+}z;;;8?-T-M8c5*}$VWn}^ zT~tQxfofk?r3_C*1q22KAtBM(s%dt;k>w@>{rYEiMkSTCMjJtq7+T_wRU@~gtls;N z8IhIn6~h5-j$MiRCr?Mxm z>mQG}@$KSKRvy^IB=e_YQ`p$n3m9ORCLdQR$*D74_a!(O8u1Eq5$VM5*|e zOv!hY8J60ru9~Wi*^`4+s}izYf*(x359;J)Hnf{=TbmbzOpt(tj7AaToTBdh0u* zVBL6xl_;3LVUdedhqnluv6y{#A~VMz9UBr#=N%(XmRPG`RB_67Yn59HGiZQ<{glx=%81yeAD^FIFFZ5tyqX!+Xs~{PoU2 zqxO~X!4HyqT!t_4iG-%;jopyXh{$g#@!Oh?$ks(n8Yd`-KIGpHnXj`^lh@tTRHtv z)#sn(ODGg;A;YfcdTTn-+Imiy}+rV|KLn2u+|*u{qPwQ@LAQ zzLOLvxzvbEc*W+)e9X{7h-LO6~cm8s)7eNvvyI(#YtI$znjUYg8Co>*LhzrsZOC_m2;nSW_AbXl#fU4D~+qWoG_xzJAG2gun;Xd0%9rg)Z@30>> z2tJ`oGBQ0|o1qDD$vTZmnDZit%X^pSJHnSr$Qp_mBQ{M$?$r-AR&()F`f-MVI^AF& zbNjObTXM%y5}jd#TlIbXK|zg=y|TT-Dpk{W=vKBQC^5V>ikW(_Xnl=up35}ReslUf zPlU%%5_a6FX75oPdJ}WzqT77y3zf1B(UzD>uf!uT;u}t@xe*95+bJvU3D9;6?tycPfq1JJ}xXOWM(PdL$7!ZJwrU+->Ge~ zjPoNKy1vEI_0Od=lOr60Ui_B9X7h^-Ql?3kBEuXe4$$3ZOe;JHh+2lu0b=w|g>g)Yl3SdqQ`_*_VCS2 zgqrypN9IuXnb>cQ%?|nbs`JT2p?9`zLb7ImAb(Ip>XXFv*F8=Cz&q|9J*uLv61qhh z4XJjY7f!y`SsX3ZjqiGzzb2b>@cTMjgPW=PaW>WNgc~NTyB9hO`_`AVOEyht?QHD% zL`Cs;IjFCs&iVSk(LEhrz8@GQU&VViOX5I0te+cKZ`JVY_;yd7G`XI~Z8IR(=)Z>i zE)Pm%q|anf{nd4je`l*&R*~Vp6DK$G$VCZW`OX&JaBX4#b-xNb=Rt<8r5U3anxh1- ze$U+VC`8P||6Q9`|EZu?13S6`=rk2RhNO)({5m%5sr@`>fcM7Em$c<|rpMejmb!#L z$S-sasCo+VE$>NA@SSEdryk4Ee!35F<$f`HSrtY!>u22W=d>Me)HI*E_G#QXK1Ijy zqJ5$`tBGu2ld{0Rl=U$>kQgc+3}{AEr^81kR--G0b&g*Uv1>HD_a#P^=f?@|5K`lp zv>pak93p$qOseiWK>Iz%SSMys^?gHrna<2B^N-rK!(t-KPIsadIa!s*zI@f#=i)jn z8MtrRv7*lHT?*CI>+&Bi*(?FP>1}u0jgMazLz7F}Y7Al~k`-?O%6^)4dtCRP$Tuwv zi*M_K)|I2*w6H1w?z-*$8vqVn z{7*RL|EW$-*+Z1$+$)u+Z+bhB@2^~JS}=FwG7rAaE_LSjsY@c>+Q~;7O8lZ3m-dFa z&Yg~epuI4kAM{0!oVs#h!k_#_5`$te&BJETrDI0gFYaj?T^U$-)xj+H&ca5x+jF0; zWOPuTTCYQVQ4KXk#Die}zU&NbhfH0rjF$(0D>K|lHpzACKiRcn?(U&0*0nP9R(7gO zmS)pKQ!`=l!^Tss9#`@3GzJHWb_AJZv`$@kSw*^Mb)tEpmSThkknZHQvl6wrXTu!5&C$=o?VeFS+ zLwmsB$%^x|Gj-Ad7j2e;b!YBm%~ZF3W-3-2+m&g4GN)Vpv;LBxm7_B%A|6|WpJ}TlApcmyOp%lHt zE>Zc(?GsWIQ%+8AEYmkqukIwd+OBn;wY0^8r4@&z4)0<>05e0>l~%T`kFDuX4Gsy) zHI5!%I4JsgSRypwy?1d@lmF3hQ=O(GY*j|C{Y=Zjv}81*OfsQOd7sg9 zya_7v^U}DWHRpFzMs=rFo!WygS*a%~vDBe?j6n7N`mB=(U*~V4HGB${aeNF zJ144SSb_^riQp2+ZwL>6S!VSUj`PjHV@;R%av?!>$Fjhg*h-Cf3e zV@UFzRNbe}w*qT^YV*R5h9!MawGL7J1j3IQ`+87=}J;~`GE7FAT`ai;3N zs8C|Fy(VBm=LPZq&|;vmH+c_3nmrmG{QTucvW|gOvf*lpuS)Z>&w*I<3#XUg*ND58 zn%b-7xuPN|FF$yj4RhnH`97XrzUKX{aAo=RG1>^>-IOaqX}O|lZ!llBrMCJ_tKAAN zuu`j^&`2=TeDWcMFZD~XNYAf(e(G0q4Rsl?cB6TT?^FnIdw!gqD3Cvk&?jbjQ?H>l z)m?TqF@4`d?q@nO)oHRxy_T{``@~{9hs51y@Dt^m;5%PPPKZ?;C=PU3* zP!}VWbl0uuXI@!oodj^SaXT+uPHwr@kK=7Bibouy#so8Fx?^$@zp49U$mHeaC@dZR z?zqCQt1|PSDKEciYCbM$h^u!i8)N1;;1o4|JdOC2)AlWhj*-M%oiib|?wXj6YEUN9 zwu1o^M{elgNK$Juh{4X^u9G&Z}YLe z+vr@A*n>+;oKFdpNz?N!8Z_qhINnk;<%yPG_I8~Xu!+AWm8^kFYTVh4G(NtANm7YL zh#u*^r5EIjR8tcrQP1$&e8kynGp@|cHI`33-4f9_mq9cAuQ$E&6S3FEa!Ar*2 z&#S$UZ^#Zwj$iAqJu6f1vY61fw6*;8IPzj-YTZTdG;srB#I7YvhP(#O=gNe;2^aL+ z$u9Qity119Z7t%MK$>$MO2(?^n{TW%x!$1jzR!JW4qvAcZ>_4DV{Wz#bKWQ@*J7ED zv@U3vqga*J-nss@K(1qFiJV{m?N9mxmuE)(WU}T++zv6OmFhh%=3iJ+LLSg#Y2;mx zl==LL8snon#_s$AI-+v-j3V-)R`z`@w(&1t^6(^IAN?USF<^)1pH^xIVMp%kqU{cY zYokupn`tDObHd_ynDfk{37Etbv(C4OPx95bO#*8VMvwP5ZJ#f%Ctj%4_&V!&PZk6{G|L&!E!7wMkC;4#F}(t zr^o;I^~o*2R6e`4{Pn?q`MJgwZ-n6Q7xEvH2BSA-O09o-qMZ2TeIGOaANP*fSe%Rs zp8NY_L;2(9`Ll;-!ddX>lr$&jj~-dx@A9?ZzmQ!?Q#StmkEe!evtzEdk>%hM2gmsh3zNTexR;7gg6Y*J8`aff z9cQ~SJ9 zF!{HeXtoUDV>0@e?iHE%%&~Vl>q+_9)X$EeGHIQB?d+Vk=>1+`$=W>LhQ+wLOFN_S z>$^=&q|Jf(_nua`@I<)Fg+|2P$|b@|P`2JSUhGxoC|pTQfzeDE6G|~(nN5uCWcPd# zE6CpHp5c1yd%wjCo~~0{$07DVU22EToY={P$hMCXF0GSWvJZ>be-mtQUL&KEZ*MTW z&3(A(YcJhNwS%V_{H*DuaB{6#RpnPa#waO2$<2E{dYy&_s==$v{-yg#{~fu%{yUQ< zXQFMH!Bbqd5kTxqBNC&V{``!l{AwU$N4QaBqQ}@w-elg(1C92PGtVd7ABHQ~x^$vs zQWtJGU5(D?5N)udobDd}=!jb~1~gIY~_wMgpJ#D~MuyA5a0uZP0 zzp3jpsVUPhSl`(oy;LFK^UC!oi@bcQlm6bvkJ1N=YkVy33iCS}l6s6@^Q;=X_tOgb zzbE*;>v>MGJ7k?ZC)-|mVrotcXs(5Y&G(2su8)>R*h;Q7<;BU}HGjR0;g6qNtgd+knemDJjx_TR}8Vp!ZcS^{8YQdv__Sux8L)gd%u+De)tqxW1Zpn zgSw_!=kt^GFF)0;$T3y)>x)uYtH|%ZWXYKMXl4`_C&7ylzjCupV>zH!=I;ysKfjf4 z(-yImJ`Gdt>`0@^NGc`W_&&$RaP)>DLA{;#q&e|v;ri3>)5}sPKb0$oi|9jAZ^n7- zKL`j3F3Bim_vel3VAvM;n)}_~%abV!3w!T?r*3~TdfH?C%YB#*&W1ERZj`_9f)iv8 z78IN`5%#m1k%|Hd))BAIvez84;~v@i?V* z3}sx?*Zo=<;5x2)0hn zUaX{(2)A=?hPby1hGy$@8y|SuMwpje49x#bcfsq8%T4yNL5I1^@tWAVT)rfs#8NS8 z;5f8zIdPKZ9OacMQ@o&Ok-m{K_~WC6(W7X?=1{JV?kS#)l|6dzvEuO|LKjuX1|CvaXIWNwwSBC_#ncz_66zoBz$BL9A5 zo#UpZ>+>uBdiuriMxsWUpE3%cevyt*NtjU6HBdbh>8_e!TM;CBSrWN<@<#KdXL|g^ zq*;K)UBwu=_|bRnxf1pTCuVFrXV>{n@~hH~RUTg&_bM^DNk`Um%1#>c9Ja?wmb~@1 za{?3Hho-#8IeWeP&(vH|(* z*E@z-`L5?1WVeXr!8nvs+Xsm)ZH@`8 z-6qEUA`Rw!@At_n2of^ncWCGNy{|;Y#K`ap#%@?C z-gZv*7fhmhj4v^(xv2j?8so&tW`H{eJ&`DoA zd{fGS=*x^o2@}gkyBmH@Nou=nDbgEJrD3gFNi~&Fe2CSYFeX1&-yn9jij3D=U%U)Q z`(xAgK4qIt(cOkx58beRnYTsH+gcvfIVLX6=2G)&jST2C*WWT;q7y!g%35SDCzy~6 zQ@a}cln{hJh`h9Qs5 zO`3eZJHC^*-F?Ue;i_i8ml3&L&71r^Ox1-#R(RmYL2JUL6yv*R1BK`UC8@6C@f*|q zTZ1*XkgE}@d(R#l%>6n*>loTt^W*YO)7yLY=w#dY*yQ$>@^r{Ady3_}?m2Y=bRgJm*jK&s!C4SZ@ zEi9z-*xce^SvO_7ZTL~f^#;w{P4};bO*MVjC*3lm(%0yw-IOl=?QYQj>H$V#)S}`L zm8w~~aX|3q`#5#tPxnN>MLaCVx-VazZM^D)kd_&+{3muwe~~gsDnP)13GwK6}pSG*-yvF_3$jh?gFz z?7)3cKWe*@7${!QX>OC-;8RZu7jvW~^gPAx>-eC&&((^35-@+XnB~M>)K*V3-=jq< zj<%ucdqR_m%NWne&l$y5p8oKI>M!p@tqPy${Hh(fH^^fB1kLH6-o`eh3z!-)85ErF ziA=uxAaFS(0%vavjyE?&#FL?I)rfM=%i@y#@~*3$x8vI(K#!8|Y%HJo$&`3XF5DJ9 z`~i7XNTfA6X~5jhdh0wQDQ|&ojLiB4mo8VkI9nTw%oA5+2X9#a)_#dH-q=6tk>6{f z932!#z^^q!=Y*QlZ#w&pXl_E*n;M|c&tZ92xu~}ANHg8+yKi@8rwtBUat%;3;0@@({8sku`yt{#w6+PIJNNms*%P8`mwi# zW_(1R^lhJ1t~2V+KBz06DW4SXp0g6lWOuj+qC=26WPUAUV`H2;a_>L|3*+A1GY92( z+~88)$*0cCI^jv&0%x1-Zc)`yEcEP=j-b<&rCM+CweKrvMB-{3u4ly)t6fppVvdcP zAzIrdTG?uKiNEVdcC3DK(7=~+^SZ9yB6HbTZ9z*Z`IoQR%`{ILU1T0tZM}T+W?t`w zMFY##(#< zjxbu0nX~n^Z;<)AD9t+0P0%~y&eP6oE?G3RRgzS33{JUH>hIV++Giobb~qlZt#N9w z{kI$ZLrGFlwb5Ew^HP%M>}kDWvl&z0;?ddzJks0{+ zg(UVxxGte>A>)1eoP0ug?JM1ORxU#QO*czPlat5sF_MQ4^wn7`At9_y#(|rM4PSfvU^cEzd7XYMU3=ZIBaBp&I)tj&TrI&^HKYq` z9l^shaAj?s9G8fns8@OO%dPP)Qf`T#Z&EBC%Xk;vl;WK)uy9Tgc2D-jM?c34LRn{5 zXFi_mZbL%f_3)s;sAgi<<4wy;6|Q4lH64a&%XIv>r5U9-O(N`UqzQpT?Bp+B_7dNke-^bYkR)t*$C3*8l~kRh#wDgs^VZ>q-K<>K3%0G* z|G1U*pSi{p^so9MIkvqEPhIrzTiV69dypb;lbIGe3K(qvIB(`_6POs{$G)Md(sNtZ zip1fz+4hJ^IL078(aM@@r}12`G{$b&lX7b^zfJX-?nmDbA3v^;egCyUcxsUeza)oA zYr#Rgy)s)fW;*&fGw!1VkAqN?#`L{&AVMZR%3>`X@i%XgBlbxLnLBhD1G_$xYS5m4 z$KF;GetkcO$sNqq(?V@r`Ha#c&UGtV50`PsbUJ>FlVag_{L*IZY*h!RNWzF$Q;L^2 zqFZyXMO#V=c`<$dxfYq()>;qOpa?%#U>9}K^MGR69kMm;=QD6nkvp)=+8oKqRn({U z$=CD@RM!e7JG+cYc?j+!mWo!iC#JV&nr`d|;j!QmIOR6-6Z7F1}GC;r@v;Pqn=lO1+ zDD)*>v>un%TL0~y?LVsUnYO1%ZmM`eEvyb~dU|~2*6sVGnHNJirEKg7G@9<+HHsl> z!#EG(6RLa2k!LfThr@mog=-EA0;kN2V6P%S>u^whN(fVarqWO}iRbi#)G1ckYMb{Xwq!>? zgxti|V?>U5aW6@d5A;R^+=Mc?Ci6*8CEUx&(dXftDR4`hR+*!&VyeZcUr>Zj*)W?a@E)$zxHgnH9+w zZ2ALJO7a7wboAB>NBL57GCuW=GV;Uh%bou;7d%KKbtE0O2)6G z*BlY`J@T$6S*ahqH~ex=)@0r(n-! zAsNmS=|S=5yHAmDby8SSH->|9k@FXBW~)geCigikx{l90ba+}x@~(2?rb^kg3LYgX{hEvv9S^Y3~ zlo=I{V*Dj~%T^aBhFIT|m1_wnn*0p&KNMB85+l2OM42wX zVI=8>@R9Y{+qCB^vpB5S)(9BC@Y%AiTB$^NOx&6?qWgvU5Mm;Kqe81xUX(L^BWz#G zYBnaWt;o1-D?h%do5a@d-dx4}UF*lOmm+UZlQa^i{B);rOw#vce_ZRLTuWZ<@t}TI z_e4Z;TQ9%R>weg}eI*`R-2l)02Se4a;@9W@95ysG&(bVfOlpa{^Q1{`Ri!IrIQG_N zrm7}L0%N_?hMVksMU?&P<9&J0w=>RmTdH7+C005<&_0=#>)^7{%s8`(!T0~6^thMX zT?0XIJ5fGC%3~wRi$Q6wR@EW+l0Wkm8RQm>a83#rnGDt za!U4`k0xw!+|DT99DQqebJUEC9>CR7>z>ib3<*-+trx@(%F!nOCd?nZRIbk?c=qdc z0^fu@6YEi5$kk=^$~GyHE$-2TjwA={Lq6VU6N*;O`-zLS305sX7Q!6|i=5;0%8k+z zYX%1q?i}gHGDUf2XVFG!c|zx@BpZ?M#iAKKIxG*K_$alz-qm5Yd`WwMEnp^20k2m^+icNHIHr%iS)HD0 z;CvRwq%vx>M|sq^m8R6ki&K*I=WoP+l;jxrvGXP>mN?L8r$rEbDNn6+6UGZyeTm4n$Nf zcglKI*{2MndlD7)QWA-kr5=idS9C14tJZRKA`R*NlZ_oB{x*H#E%1|!CXaVnxCGbCrH*P z(sXdD%GlfR^<+dVNYEg1Qj&z6pCqmgtM};4DCH0zNq!K`>KYr*i#EzN_869@Vc9vd zOU^rWk`95R7dPM>?c^M9;kX~0InbIXxJX@~5tE&Mw8UrI_wb=Y_;!Yx z1O;VAp24m+F0QHhkhW4NQZg`f?RJQrgOK9suyeJXjJTS4PBluiAg zU)f>==*OMByz{Tp-qW=*X8TWvlXaA^9Y%RKj!NW;^ggBRD-G^1Htp`~eC8$OX8f$w ziea&3Gg2!S_7@7Vw%l5Ivlv-Eqf#x<``X&Kad;J0YpVIk=vo2h&5F#vBaDTI@Cp2YyDYi<4v{-1E)S3=GjR#R1B20r3Vm47S|^H(#zASZ z83h{jR5%~9-Sq`}X)Njw&SJ&!c>pZ?e_^yer;oaSWevgM3@cJbkz z`ByYj5^Pvmdbz_mD^bi?f{wkGd?U8<{LDK|3d!B<#FI+Bf-dxYU#a_Bw^6C$;Vc!y zjA}|v!9bIc%yOo*m+^;r@3iIU607%0apKxya;-}f)%et^Ns>Cdy^AIH2-xt$!m7G` zGSk(4+ysk+<$LLNP6nWw1JHPX>C(@U1^tP0aRCFT7D;bX3 z$4_B!HI-AHj8n--+)f9Np>2?YbW6?94=3Z~D_esdP)5#V_d5dN{FS}Wg&Xi z@mgWXHp?%hS>pWdjhK5B*wsn<2-H?52$wp^s0HmlWxDAnnX{~Eo$C&Fom7rVlMH)g z8gpX|gN!7Qz(XV?_kz9Y*qnx~0r1avt%A`F%aL~C>OmC8F0EwnGTZ{7YxAqdF<d#n;e6pIZn;WUOoSB_8(7HReS#ow(*;nDF zt{O6iNbgvV^ofy)m)eQa=1u9buQ@yEYam|Kt_Yb~Xe~M0%QqEE>d`*^`Pe&3aS5>Y zOMX$ecKX|%xg88<3fZVDTH;)YEYx_>SWcX?=JU3W8=-g(`Jy+w+qJMV_LEux=85CJ z(~Ngf_m2USdHRcw2jm^m8`UD`dqv{RYN8o-Qq{^w>yvzIvIy|SN=3y|BC^77Ern$N z@LFvxKEG}%p{}KYXlZHb&}#KJP)&2F%;5=E%u&L>P~V|-onf}$+B{U#r)-4dZw(k19TrghpiI@1zivvXgZJPS^RxlK#?B5qpK@RD=$ka z>-yi6H9&LD%^Y_YD$7fvE=KAEcjd)6_F7K_qwC0}i z_Ay(p9i=8$t#J^{@6}QHUM9-30$IqXD!lrEu9JwmI!_>S0W=3+OirdG;BP`_V?q(n z8~!(pDs=rAHLRMSK6DFN(smJ#=VvA7|9oJoRJFXVPI;Ihho^Q(?&pSvHjxoff2x*~ z2K;y+6xs8UMMzRRla~hn^>d(E=JEs&yeL+{^Oj5v`^LJmSXYA@x{vqebIcVPo+lB& zxc}0#o+M1+367xhgClr-N987W+23Boy&6v}3G{JuelJHvu~MqM#KUVXYA%IQj?doi z!PKx8OPFsZq@0fnqmm1w`cd$-iO@NLW~Aks$1jJ6ng$8;KejbYW9UI~ zG{3ncd+kENVOp{0@0>UhW-HyvdstITI40Al;GDoRoK&G?>HfDVxKol$8+j5xU;f$h zy8PrmYJsSYj6OC&okWD){i@qONm~Ni*z3lsX#!nQW3*7d|M^wNubZP8rn)6yB@x@t4WG5hPSmtGXS|(HCCM2$;ZdYrk^M@Yi5c}|Nb58sTpz;`$rsPnURUg!hlj>9;( zxW;1oy!NR_9_3oJRH;Sjh2X9qVQv)t*G!jaATJd1p%mIAM;bJr8ii(Qf@$q;7fYbtwD)Q&gpKt=w z;lXeU>qL!>jP3#O0lCM0<$os>H>B3ENSKc=2CVBp*VYQdZOk2jPy(!I3>6(7rm2}( z8(49JVKjD8m-|BbB0ogxbT{@WQSfhr_+uQqO{XSR^gd((D zn7V|H%>knV!DgNAT`gDxg4b*um~_*?cu85Uu;5|BM;)$lbD40O4gxyRlp`WjfnI7- zTScV>7}MK(qgKW`Iy$BudiiB|tG9tg0%UHF897EQ7!`$(KSQ)<<%_KR#m(tv+nJV7 za6Mt(-rhES@j_Br8B7#rBg{ujnBZRHmLCxeg?f$tVE;VU7Xv1QK(jRf9$QL#M+cMU zWZ6r7%gLJf{QP{le}87XOSm@Oq*j)eaaHsA^Kck0@MNF?e^H=udAI{l1p=SZt5{70B;Fg^ubR6^>*L{i$b*VzS=PX?-v_j%%DOoP_K|7gI4C|0I<{tv+r1lH(=yt z1V|_6<(yI*u+>NLNu5tNo5lW|+-PWw8InaF0MZ7`GB7Hrfk*mO%WZc6T#xo@21!Xs zP?IX03MeMdr@IJLYLL(P04qhK(t!ye$S@;X0r!4;B3*+S^$npA(pz)L?JmF+e1w$- z@U#g8(f<|`8k*BrJUAl|McKee9?~9AlICjOoKj_EWJqKvNQU8IdUJ4aFjnW+D$u8b zi@wAf|43~X{9Ihj39-{-A@MJP6U}KuarW798@v$(Q0^qd+TpU!(o$}gstpmq#j^46 ze1xH-Iy5#%0vKGuR^cxPLVg1Yzafz;m+km0;upoz`vzmRc9I9NiU;yj9WoWNUOPRw5{UWbTG+KK zymfP~LWvICE>6Knth3?Urr#*8z58`+-|&9Evdg`8(%81l$wO#T{a(>+A|gmi*iMp8(Z7Zs3_l|p`ln-spPy` z9ag}A;z)$)l#c3hX&-Fnni3nRK2}j7yzo$EPW9hDpW88`nTdyu%?;EmLzKd9V7=4E z22XnQ=(}O%udZM$TwLE)gNhX%F*%)ll{*r>)XjAM=T##qByKR?YNKw>$i#$S{O@8n zJOHvRU{eN|BIiO4i9j(Nta~6)cm^O9Wzl=G#&!Tq{5v4#d_gg2?G3w=02=_95J_-G zrPFUxQ&Ye5^HW_j?Roaelo+sco5RM5sQ&|aDJpcr_5b8U=3Jl)r*{$B0AFba0@vG> z74x^gzUXLRLuL(VIg=QlxH!@=hfxdc-JAb1r^eCRZj5xbwmt-OALs;GZEX~^iqPkr zqGD3!5cnC5tM>6VV?5!lcEf08X{NG@_;5;Du|aFS&84QI z8tcwIE4`bC2mn9{>hu6c2#^@hzLa$1iFwzi?0>ESz6PypPUAuM52UPE)Cr>Dagw6`QMYzM$ObJOzzYCvj z;sT^k&()O_wP3osd~=rpZ3GmaCh+F`M2iVQH#9CzfTjoujN6BDc$Z&$W@j_{?ETxN zT$Y}OS5~7weE5`_dJ!TwiaHEa&*rJV#K))i42+GZfi)yzZoXn8GjG<&iVa@vC?{tf z9kk5M&T=8}ms?tT(NYiyn(`Ms^7XhS2HJtE5TJ@u($X%$6o6!bvS4Dog#~jPVn2X4 zUjr|$9cz`u#|v@<_?%#dhK5R2+|xt=N(cfoT2z}i7?{9F)U7&*Dk{QUprohA1Todp z)+VZ?bPHC9ZsD+{${jUDMMxLPFrT<$aljeIr>ZOG$NGLsc{ve?wRp#8cw%q8y(!?y zkOy0S{1AEg@SME7JhS>`I}~Zg6~qb;(7J$S0p3%g;o)z>!fwD5V8q13E~NMQ>9F$T zwX`npCRbLH6fo+)dPVG`%Q*ewf1AO7`N2}NEsQTHB%~QU^I#c)o=jTi19k}z7|_sq zdU`HnVZ|cE09^xc8Aw|&mjInU1Xng!uC^5fg0GoL%%#flV0gug{00pEuQM{}X#LN} zcEBHNbO@E@@XE&5WDf>@T0aP*5)XR|B)N_&aeWsH7*X77jH{%mg^DK@ZL6uM2pB3j zbwjHTfKUINmiBGY?i-9rQqnoA>fKv6Zr*&^Oy>A0I~yCE)L>+Q%g*DmMhZ2@ydaAv z00cYy^&6~Ev;S?s$wEnLl&7nkf|4aA1euzY@oSfd^)dpI>!Kg4PIr)60 zWmHitE6>|fX3G#FhP8iXyp-rGJM_eQ>Ena zUqhcdlX}(ykOhFSg_O)QjFGR#d#t#`YTQ#~<`@0AYh1 z=!vM)!`=x&ASfsaC?`URxPX0bjNvr9g>5DC^y#PE+^e9a#bsokNK1FV9v@CmOS1+> zCSV`#-oJkx>V|j0!CINCWz-PUL6J>?ji`vc{Eg(~fhd(9p#OlF~4HgUVI<8Tiwt)96#HY7)IoO~A;h?-`A_kD+=jY3iX z8=Ad7fuo5yhX#PPCLrkf92_`ZevKv(cIUS}vEO{62YF^D^RODAJpc#c?}0p?gh3a7 z_N?(X^5DtL%uG82@emL?)~fflP)N<8LStM=F&hB5!-qO=C||#sy0Q?Gg=%CHEhfh^ zU}myLKZWnFDva#Oq{Qz?86J zqbp_MD`nYtPC)$XU|>GajCZ$Vt#xHy5l;+)0fe)x0lxLNjO<-n=P?TSum)KlHCyYX*osKQf1sv-lLAU$Ja zf#9(Vc>(I#I@Um5eLxBK^!2>~nRv3KT>CoB6c*k$6r2O5I|xLOe4rFbd2KE@fX_+5 zMd%ki5)nE7NKRvGZC=}T^CILdK?o0&aBQILu^}{Lgtrz=IYB^fzU@JJdU^^R-)~b> zcZ859wx3f|DY&^EC*ZyqIb~&E$SkOg42AA{Lm~*f&^fQ$TOEA~;4R8~_l)G~Pl2h3 z!s4RrC)wE9H;*TgXJKOKu;78?RhJ;>a!29@;4>%h(9mGid4F;O#t4d^35R}igs6QC zV=i=dpdZKc@;qdHkPc8x(9+ZY1~UM4DL(Y?fPef3ge7DgDD#2dcoA@-A{rWFab2pwZk=#Hwm?ZA=v2VW zTCYV4p@tgL4)h2<6%^b6kql;IjqF_l=x9z*Jwnp>`sGwk5g%G>sB;75ZqMjw01&ZY z+~5o)LAC*~>k|iuyi|OnLiH^OC*U#KB;#@P z91?;y+gIT>qr%?~|6$?b_l1P6ruUWW?0aY;HUUmUhAL+u!U2?q;~7?t2goaELLGp? z`6j>-u^}N;|8nWVy!3{Uocu8$=-Z99tIqocn8x@(vW8p>a~r6o-JA`qQx26VBWn2Y zMa9KGy$Q5X2pssMC=EJF7=b)Ny%k_Xf`F1!zrL^El^}>3xBh+w6APGE3u|jlFopo! zmH7l25+Zb5Aqz<6-=#xJNy#mMnDaPqQ9%z;B!2Js=m-qk--29qg^cdpd|krC9)%Y|-=lfBYfF}N@>TZsV;fE<^Ag9YgZ(=7o^08p=ihLTvU zgl}~TL5=cwoC%=4m98#R%glrhK}}s&UX4GR$l%!q$NrL0aPqP@l$_?1U`FA z2;L~}xU7nblVZJF11r=#kS~&Hqi|Ny30`kOQn>ckS>HI%xmv4g>jwjbC}1XYLqeRg z_O`i!cE8VR)D()xeN$!P?0XE_axz^yGCNVOnXpp~i%WJiGP)tTj0Uy{Rv zVe^8*qCL7cnHB<4UhNs*iUWU%)nqUbS?}DtcggDk8i044=Hnf^fejD1P)d+2_wV0_ zEL-*KjL|1|8H5QOi;wPGX{RzLD_~@8Y&PH4hxv~Z@8Ibe78WK85vn4jdAc6V(0x!; zJ6P%<#~W5lCxfA0gOjFXXNL#tg$E$*or%IBwI{PIPD>f-Fc|MPHmp&V1i+1{K_2@8 zTKF97CIC|y2Avl)5+ozf&!0c@9&__IGYBG8W71GQ!O%wIwq6_K1&K5bIRQ2EzBM#J zP2~f0uW3lvCZLA!^;pXQ{uD2`|4Wj~G>YfoEprI))AyE&Fy%1Q>sM+)}Cgz)_0le`HoO_cC3vZHe znb!ekB5-U><9kz+NEj6qgn&uB3kQQ@Bteb70YHjhG{T2hVD4WdBMSn-4!XtL{}Loi zIW;x^vNE1`$(O@h@i2R}11c)`P`f@*-adwQzxz(gZ35_DYYbnf_D=- z?5H9K8u|^HidpYtW3e7y%XLeEn%D9iXm=;r;&{0=BLSfgMsd26fBg{<#cX7P{!+yK z{xR~L=&@a&>F*fj+u#Lr7tM3nyb01XtDqo`qT+lY!EYSlWnA3Eo0qO)VZCYi>De{^ z1{x~5NvFV=17VJ;*(oS=CC;~kW(T>2YMDd3JRf@Tkf4(RF%3yD=_QoMFbSYTQV;f? znNTCZvcCf}1C?qrgOO4IaZdX52@PPb4Y=A{4pb8yo8ZIfzPe85s{vP3d3@3boSU1WSa8 zB#J>QkO-Tro-BqrNF$T*9Rl8Um=eIz)qxhTt&kbSaQFtX2r&azq$nVsg^pL)A);sx z&|Q19(*ZI7`Yj;)A#+nnh(P6Vmy+`E^o$8Ohv&WO;`-DtJoNl6x&vwwGc(^CI(JG) z7!?vJW$lt^qd7nwhdO+yZ6R}^@&RMp5bTtNC0_bJsYu%cd$sQw0rsWqmoJDQL7&5` z{7x}Ugf;LRj5#eWZCUQsUx;t>+Z5L>*XiZAU+LGzRgDBJr6;625WoCuW$3UwiZ!8) zCx!}bATJ-fxe20#3_m|4IDgQQ)X`mfAh)2Ya+iIhTEiWMiJQT`r>H;2wZ&pi?H;dz%wv1x(jMk z;obf-=&-*9a&Fh*F{FwM@X83h$F+(V&!2#wI36vd!6u97}Mx+JFFyL=vInJ%F%U%eJCP*P!wQdWGm zWYn@!kH?}ThSQpd6u@_|{|o9-E3&(W)*rG+wZS{Nu+O|SH((-Ymkdz|36Vn`M;?L! z0Sn5y?Ix_(p0MMm1=YHd5i2`8v=VQTRrT4EJqaPl@$S6%(348yt6I)Ge}54G6{AeD zK_@_0$vLl7g%P?H+Fw;bGQg&H5?H3gD+B1g(!5L#Pb^y{|2zyKkkuZ5)jI6%-6~En zyALA_QWpBHfW(CJ2^}~M8&`m-!Utn)0~%Yc?xgP{JKKeds~{s`HbbZ56R1&;r9hOO zP-^c0Rbfo3oi8MCtKdTKnT)u-4p}=AK#k2cJ{8iMLTy&gl!6Ricye2 z9+y4yFD>$TVk;xXSa7Z(2~}nuL+z{@x!FWwHPyya3!4m27e-)XN)D8jsOT|7C6qXT zR^oXy7*{9QBMSZSp~xWV6dnjo5k1(OC}5<7^?-_`Nz4D#0m*qRK6{I1l+@H0W70aV zSZY2+*uz?HU$%5l;U&EaKLP>Ro3B8N1-f4l^ru7?Ucy$U@`@~ME(Lt~Li@492y`r{ zed_2oJ?NtVd0k2fs?@h2BxS7y+1R$i;zzu&;t!3{ZQwu%v6%@+Lf*YAGjAEUENw7g zgR<{SCZ?hy0a?|}3+JFT!nGfP*$Xia(i)V@BGS^*3nL=1+>%pL2(Y0=h@IF)u=FS~ zH1wt7!|tLY4%lGzm3A%bsnW8deWwbQ@7&y6TQCB;3=`}7EULO#*T-EmGf^#-fq?;3 z=K!>yN2>_$l*mQ}q-f~m^8j3to`FG5Rn-qfkCjIEe_Dsohw4Tcs2Wl9Dni2sc4a_> zia~!)G2SM{lo&$P%enSw!$X(Ha(K`UZ+D)k*RhsJbcD@jhqbXQ5@D$R9<=LM0F>71 zfBv8AXd%`+}o+F09zTA8G*=Ab63LP!d)aoJr+`BiNyFsc%qeqDi+ueB{` zRJnu9L%JCSsCIRz9A^j2(@ES|aX412t?gT^nmO`YSnhyUUvTiRH@HG|lV^LSyka7t z-G5gKqSxNa<_BkHCQXunpgZXDIC}$Y;slt)H8UBM+-)mWmV@gd0h+FCUGgVat3Ku~ z2dMR}bnTE-<7#SZLQF&1r{}7?y{y6Wa^ZA;vKa=+{^G3FjF$GYtI<5P7f^#PCwC4l zX+1G3b@?dHxOB{n@*h()d3pQ4JAKaP{f_R)&H1r}21MZcO?}swO+%#jbx7A3u7!P- zP#Vp-v6?w*QTigwB1>_=gI2zCAJd)0%et71J#&NQZCgJqKP~ObcFywhKh> z8)RgH^E{w@QN-lkSNST8`zr@R&$0&eSP6k-4Y08>+ffKN=(r` zI;`T*h=9G9eH?B;h(jgY+S*!gz~(l;9T*UR+7F13Yy?eq5LwJ+_m!6a%$&Di6 z8FN&?j~|i~Pz4iZy@Kgb0My<{CUu`469XL`PtcOkH-JlU6y2jVnF(OOyMBIq6VS*0 zu<1ebk``hTWKz$J^`hp@abAlfRYRz1iq)P$zu|GpW@yfh8Ec*oiaKliZv54+Li-k> z%)AuPxFtTvN)pm6>f*w$ocI68dlSE&x9AtYohWlV~ap+Q6=6)97S zBuP@+BbqP|}98OGXMBsBGt~uO^37hmhgfQGaNSK?oV)RdTqoOPd38a<tKlQe_GQ-p~pG(Ze?W0qs{P1`7?IWi%+tE>_ue{#5+qZqekuC;J z-%izZZqc@7i-fvQ0|ftrR0FY9fGlT%&`-dNijIC!S`C!Pb^$w8G;?k}Gz1Uu+=@%k z&m+c-D@(BU@bDNpY0}CLA7}V4v6-HGC4Wv}`oh(#PaXV`IBbmfk<+K8co`}Z#P1e~ zd9#XtoL}Y&^Z=rAtuna4A#9^(J8w_VISvlW>;jM_uzB>TQKzlz$yC`K`g{eck2s^a@ESs|;Sk#*Sm9~e z&Wz{J?}B^nFiUw`g1T$r*i5%=YcqJl1W%ZSN~-;|>4EwA8ihd zh-SaDXV1EBYjm7N@hgl8m~`CA%eMy~h`YCbFm54IpU8A@OT&INLVDDGiB9L{HsRif`WpRjRfs!yMM^R{$1dX%JmAa+F=ikqap1e*4yb^-`u_Jfeml0o6kXu z;2z7_Gq+xBDpoP*!={9s?Ni;|-C+X{K|{eaUA%Jt;)~7Hp64%KJjhS*k=LJIs5fYu z)j|AsFW$a={PykXZ?PFAA7?cc&JwkQx5-6uB`zHQDGQ~iX=kR2O9XpQc$3#umM5;? z#3UjV2WT%T$+qw9iw8<@YfEi z_nwb!g+jg-L`V3_&tHItS8k?mf10> zvAsHSwS0PLprbk%j6)%}=K7+NS5D)3mt=U25j|x*Ts9>ii?pqH-|t}yegrq*%CC#B zeY<*MZK5o@m8;>u<+}``Xr60iG#n!R>ntcx%yc^T|6{G!Q} zGn^xYtYZK-Zu)w7-?@`XXWt*y)s`P0cRwaQO_d`j*sI4+pPpoBZ2IYa`&tkyIT`Mw za^6L5YKO{r?%FkrH+yZBq<`J;%knHfB~NJX;F1JsW&QKJDMHg_heXXKOQ^_`puG29 zdiKTE=+8$4H1}Gx@vz8@qr(SYblL~Q(Lms z>4|mv%+OvxL1gUUeo|7WE9<8!DgEIPcv~-Aw|K_DKO!z)4oXZ61jzPlqYJdgWn@uV zFdw*opVUAmIXmGEuEYnGZ4b=h6W$kxnRsG3-T%p33Kh6VnD!(dab0R+!{UvbHt}JL z5}WH2Z`)N;LJoU!xkE;=xE~O1RUGUo+uqFs3Z2dTkZq+TEdne`MpRVPr=0CJHYcHi zoJxz`c}RFJsBcU@mz3Pgw|J_QN!Yj9xl=qQ_$~+vw^6S^jPOin?%liRx_f4?jtG+X zF@-*;)Tpvk?w;8;B>djJ1MTXFAtHVhSIw7>$t>mGqorBnvE1Fie_z+*Dxo{crK>dz z87YhV+*X%wkRVmDmq2aM3{l*jL&ezauUymdzbE1U{mHfBQO{0gUAuHyv36}Lj|viy z3_*?EYBmK9{NQFqKi55~=P|6f@iDpZo^Vf{a^dv?nFUJH#vC1DALQ9o^Y;(7+<5lx z@E*Q|HH3&!U0sda)$+}HzvRO6i8viH)HuhJCr>7Jj~eohCF{3gYj?GX%xL>6W7Y+x zY5D#I8T)RTXXH0N+Y>UQB%A`}s&>7<&5`u9G$Y6+Y;4PTScr7bH!Gezb!sKN;=_&0 zW4n5A;S+xWUw+%ZY6SU&&k_aE(xXR@lXW9yWxrk+)ac5_B6-vXHrEZ}fNySb1e=3?e*GoewwhsEZiqu;Qh9yW<{N8x3F>(Sr2vG>UeQ?^JU(m)r0}y# zLchJo18wuJxy$g8Bcr!vPl46~Di;aJS6UqB>Ca0vPdfnx8 zp5v2CUl(x-NCaBaCvF+H{u!El+VN0yb{S}di?^GO5iLpMN9}X( zRD72x6s@sl>c=?(RZtf;l7VQ4S?mJegB9xiMSN zzfGS#nl``L#^=DgTlntA*1RoW?%kUsICl);i#g97TDOeeUR+g2W&J4M0;HaN>A3e!&3nQP5|3q?R?jPnwvS9ffNV+&Ni9ZOM`a!7E5ixA)Xfp-zG!u;!dCw0ibH zW5ET_;fsB~77l7YJ$vwMP(SA43B(HFZpbX{H(&rRhBFlMBpQ41gA$!)!Jm1I>y~Jd zuZkV`KxSzXhI66nB6psEf=DskXlQtlW#EL&;aYmYl3>UUjf_A6t|rTfZ@`TwdAsfe ztP0bHRB(N$$tkQ(t*@JtD1~&b7VB8~Zq&;$N9)?Bx}OnMFHnxV-!^c*_^ehFd)Y^#42huCsIkp(0n-lD-dlhC!a@%#L^Vw7?Ol>S z+f2tqr4zZa4T%>TgcF0wd^$BA)sw)QD3hR>_#f}KO0eXk$L5e|$L4;g9|?_(nsChg zB*caq<#H+s*XBfJUh^Jy=V_oo;@w@X7e`-jF#@%~9FI;n<^8K$Bt}Mh<~5ev%B_n( zO=pIEZ>xVzX(LMy%PNa-YyC+QM0{6E$!z*}>5k6JE@@4Q)nBsmk`~9%e%sW*N{QiT zCk=cPcs2Xa@AZTrZ*}MNVw4s^dr5$f=0k$=8S!@M!L5o!>sKCr5r75l&1 zGMVE@mIiFGo8U&Hw`R)sk=IkYaBeOKWXhQ=Tq)o_EZB5zJb(c{soL{Y>U_{9Rs(E9 zmETgwJC$1autXUlnnX;%h6XtwPK-B1XjyaB2TdQSa*(YO9$xP0KWT#3!;Krb6I^}5 zVr*i3Cx<=w>)f!{Cp%E>Xqxe`Ztb7v=4uk%R;^maGwe0~|_*DF@D3x`g|0Inn zgH)PqI5FQsY4esX1!#=`e>i`T{j1lnF`6t?Q%jlKTd(NjN2*^T(-v03MygWCQ6(MK zDH_Audhue;s#V_K-tpvVg9?p^Fn{*karNrH*gk_oLl@e2Nq_QWBT_C86}RTmyb4_4 zr_g^XJI`NPg0C(a2$;o1d~kxuXJYZ;Mo5$Dn+-rt1ZN)dMdgU#ix+dM*a%bEZxpH= zZ)8Q{)SfVF+s2>;ZV(Q-9b{g=dL=F#?ogJ8Ir9i1Qs4#{%2_5-rQ27B z>)}K@g?b47Vpq20^T&U^->Ir&8yD3f)SFNE7sT4GyQR86HIDA_C~;Tym>V~4e6Ow+ zwFv$U$+lp5@A_TrW9#s55-aaD!r9V0(VLR`kMQu2u&~7?0Ru4PrWp$l#D(~HY3xyj z()`1YojPS*H|eX+qaj;xB5tiLW3bO?_YB@!F+W|7TRU>_T1?Wj?MA0X#*tNa&fBj z>n%m>U5X!t2@}pc7--tQ9XEdb$l=3{-c*@H>Iea!_KN63KSLwxVZu&Mdq3^j_p`0` z-MwNR&_&c@UbNxR07oCs$ZqWsP8WmKNttvx93r{zcC_s{Bw!s?01TX~eBE^aWBd2- zw|Dswc#`<c5Ib_l$uu@A) zvC#H)*-n9AzU+)!@!6M8Pcc2s;)8^C*s83Xa0)>|Ly@Jhu6uuz%z6F#;cA0DJJO#g z5W$E!4F!D@T|cieShGf*?F@Qi!!G#ZMHqw1!12$S9UT#|?vCHvw>nML2F>2EMpP~o zU}ASv+R1#5F<-;KG>-NKW^Rhfw!Ez;J>ABYipn+b5UG?#FH>{#b|FVLP}V%9sPKON z(+psTn9>zf!09msdI(CwWYNcMewO_3;m%x5TToNqPe#Vr(6DtxW-3iem#$ug1e8QT zd%YzX_PF3QK%ZujUeFb1V|E{Qa}%B}!2$7M*{X@F_UTho17awn$JQ)|Z3I$&N}HOe zb)+2*uhH`IkC1{vUH$vF3~BP;X=C%WzHZI`!J+>Tkt*vhmA#&qot=trfz1O!)6`Va z+@z*ac%CC7xGmsI;CHP6b_g+%<#_ark*PeMw<3^7@yrc9@+FR}v6-1DBxSoC9CQz;H@ZpsZcApZm z?`wT7i)i{Y!Z=>0ckhSD`Z_nZypDgQws^5HlN80@yt7h6TJbU#r`a6-6^NKQ|$txVMtyC&4+t&g@#Vb zN1cMR*0iztzH-p#-l{o)sYUk-D@Qre&hvfOOw6fE8~^NQ9Bsc~P9{pVnuZ2&>^KV< zeAkp`s;;mmc*V@GRrCHTki|X;8tbH{)`2qbX!|cqQ`6H0Q*|yZ%nd}_LIH?I>N1CP zJsW5go%I$o^wDm&Y2oHEh@MnB0bP3sp}kXwo{sc*vH4^0sdWXoizyUUM>DqWG`5@X z=Z`G85EO(R2c`D_SoA~nE*y|o$Ttx8%dZ(}hgODlUj;xv*>ZT=k zfhtaL@FlPn-N1lGDTzxeTIGO=krBT9^Sx}Ke8mAUH7yyo=a?R_k7k=c;{#Wgf2!Vf z+p_Rb)S6ZrX?rNqCuy6!EV0qj(mL+%KXCa6GUM|SnQceecNuX3kyB!X7_v zkymh>HaXXphbfj8FHSw1TSt7gRFdwVUGx3>yelIrM`0j1?&Vc=x4vuFu4BW#+|`<} zfQW)iJbL?}zI|)1c5404Yez&)`yiw6@Sz{hdoNk62N<9l3YbP6g9u6Bqtu}&fpQ9L z{9=N*=OxnAnKLuCj?xrisEW34mn<{wCUz711un#n-kyLzTSlBb*-LoQ_*95(%l3bU zG=zZU8wBls*xfz&)~(aDfMJUN;qp@hDgavH!B!DL^!Ge4j-Ia^!8q{Vt@ zhxu2{JU!;F8`-CQS@MGiIaPif{qwJzDhizxq_m!8CxMd;D+?at6Ts)%>Ml`yG^t_B zjhAoUJOWW;RJp4a`Hrq@W1EwSYe)6E4?+Jl^6FK0ngpkHQV($(T`s-J&Q59L{QV2> zZMmVM_2QEt=PdiVFW}sLk}LQh4&XmqI(H|isg zrlN~M`iNn}4#d3Q*t8p}Vx~ufD zgc%K2S6nKO8#+fps^QJ~%DSU7vQ@fPH6@YKgtQ~-W(nlvjJIzWVJ?EY!=u`2rT!0V zYinJQ$IMOx*Z(PVt6t@F({7cTb{Ye#Y$LZ&TR8mTG{`o+c}{rDzpaMdPA&vjUcTi< zf47JC-`^3OE484fkIw=sA4&@M1#>rU916^$tK$s(y~r-ugS`S`d9})?RBHHpy!`z& z;R7Vd^9YYoR7x5nGWHyJz+MoEQvX#8@Cglr+S4C~z5dhHvcb`5o=a^U_Da~IiWyE< zwHLGTkq0h6Jp(nGpt|XyEY9$%Pv%ERMsmd;0sQVgANTQ8Uo#W_ny){hf@G z2SrxhCELE(tQcLMiE}b{`|2j`OImzB|nEKueMFVl5ZevUq8D}Gc}UmH>%w|XWm97_I6 zRL>u`$^QGYt^djLwK6B3C)gE`iEy)GWn()U+vvL=IWlzIICr8q;GcNsp=>uCimJh2 z6}`s=58b?djI%QSG>lfEQuX*3xV#jJy~DkY>qd5M&+(S6CMTZy=w5=D=F5={0%r_B~yax-VBaryXW;FxG#`NR`0x1(P8r!2Uw6 zN^s~Gk=bcB?GN}eF|t23wtk?30C0AeQvhl}(G3Ek_SH3$iz{ckX^rVkRc-d}x>|={ zdcvwz!DmAO;C;rgQ?4jBM2H2Qky)1=QKjET6jB#28ZLM-*TiHbNxcB0z>}>MKBCT= za>n~v?R0&-jg;ldp z`1-0jIwt&nsg{UO0WCbnUB}BU8Y7TYOmGOrWNRW2gNf*+R0%g#UXgF1(_sjsL;mJh z?O{b^uZz9mYO+7YknWAsU|rD(F+AseR#po7Z95uZbQ$Zx$A=YTpJN)P&=6*MwublJ zgnR4HojbP|(Q{#I@f1ZT%x1+g>3jJg!qW;}hx)-M;gJiv2U&WkYI$_Y=g%KL+&e(T zD!RcgDbI~dNlTj_k=awSt@pVfcZfhdci6&J>*|?ifa!AZ*s;QvL^L>Aa3D9%*1GDG zCYDG}9YZCAz6Zc3f>NOM_ef4+xu62iM@6mh4TYDSIkR!?jx$c$ctxWzOHhzP?!thN z_Rnv@yBp1Gw||kg645)vF@{}E?<@1@c; zT3Qb<{r8^`g4#JM9ILM0on78&dnf+lLnlnITsJ?sE4QSt)Ykr$mzAU`EifL`!f}Zr ziL=d{nlxd;9I7waYcW?uy^|Q?+=i;R;0e(0T>L z4IapP3k!vy)IC~SCwsg#h%!`rP>XF+xhBV2cwwM^M)krkdln6Fl7hl)EV)==;&PWj z2%*pqm6Cim&EUqGwEb;5iGyt5)Oh3NkVZW29NoXnDHq`u;C_O;wLoJ%4z72-X3bHA z^Xs15ICkt1z(#3`vV8CBtTgW0D*}(B6Bh3O!gGG)$8=>#}6K~Mgl}{ z8yy&dIYUit19=__N##NB-P22KrjsRvvjFmES^2Qj9iNXUo`D@Nh` zxrCExdrb6(q_%uFh$$yw&l%KS6zi^g7hD)JZJIA$2~P|i6O2jZU@-(Mb{VOfjvML? zHBC)+Y&5-&%qgk=Il1_4R_@A`!sY z4blJYio9Q^xjWA|BBP|1ULfHU>f&;MLZ3$U!k@JjdLRtK2{H%m*p(MUhl%Gr!5m(c z`a*F7 z6c4l)?=nIuma*upE4_9<8^ORM{K|k$5z|-#8sZ#l;_^hdd-pCb-U_oc+B6mx6bLE? z4A6a3mf4gexR|E<&XDdRZ;&848{h@6LU^G#n{vjThQ(xJ1MtrG>{(eUNvP$yOP8jf zEq;q{W8J!E9INT2(|)R8{M<;d3Sw_TrQON<#{kp1sTdF!o`~mDl>@>glfV%3d<^p&@L{OcFOo^M`vRrawtCE$hQiHDJlO0H43Ug zVNE?o-Jr0rt#9^lnmYB7TMvUNryu)$hJT=VGXFh?fBnhMMrP~gW{TEbdV@y(`cgt0 zOkPyPy1Kdz^@+_hehn#bY4wXcbp3pp4U05IG=(}N5lJgq2oFYjR^1E?HiH^Iw8I&r zf_{Rz3YMwlj|lCs7h7(yfdn7CB(#wJg)`O(tTJ6~&Y&+`CQa@{L4>tokIu@h4$Yv6 zE)}dttv#NP-F?&W5hGTxrW}4;O&w80@t%$9bwsIrhPRK;H(I}rqGNhcqqn6oJ+C4# z@(y}kM5fo-vrnO}?6DD{ZY9(_v^zxQ$!1@SQiOqqGKj?Z7fMooep)CZG@a6nDQrce z@ilOK(5O}+;Wq&M#?g@o;f~+D0x9}Tj`r=@Gl|~gTWDnlj&;LjJc<)C>*L@WFXz+~ zJ0??ASifIL!3^Dt0G2esJibz=c=SKlUOW$(XPY{ebrO%oHT2Ayt0OqKPPHyh=O7B8 z;6)EJA`F!7U%UWx4qJ$=DF(ZYl9L0G1yMUpbL1llE(6&{IDsHDMh$$pZOQyKKTd~_{%3)+|U5Iicjq>-W>6_kXP!VO{S1IX#YYpVV_SlS)NqG6g$<>46%IZ zP|Tg-EuT1bDjC!}$S$W%r#@ecotld2rU}5FB%1Q@yAQj0*ux_Y$8i`|>`~C*jM(+JSC%0MQKve*Txq`^vIEhN=BnbVe5>2EZ9G`7 z&~3ngFq`93eKmxj;^KPX-e7uE`L4`TEQu#Alr(5Xg=v0bw>?IX(nhmj_-Ww0GUp2% z0=x+?RlUpm>kczBIZI1Rq#h_1;hl&t$Lcm_6Y>SaMy?c_^9Ww3y5falqvaei5Q$W{a;N`&@d# z@8~Q^I&pqg?s>vO`F^QmqJi$EmdlRl^BF2;^bO5O!Lv&90}}<(jFUD-u2<~ON1OEQ z#=pj{pK6<%cdP%>LLPWk?P*_@H%>|twFo)ULs3z>ee1oKwikE=?Y2{repFF|xkA)l zlRqFhVpBwA3NCE8FkQa;Xp9%_TZ4b{;;aXDbmkBIU6D+{Ro6Mc2h47&$}=u%UikHX zZjEcNMNVZC)uo=Vt4!UvGE$Ka+*_Mri!s2}|83l(qWr-_CyU-??^t zwR^^Y$9PFd%=`b}Kh*tu2ve5z%9`Bd${J6@t5Z&x^{iNbH0G_`x<#rtpFKBRZDxS^{FL$LZ{v-`5xpnJ3Hn3=KJTmI=)-Jh|)Z!?) z#Xg2=#masAeLpy4$cUw8p-X2)^g9%pUgw`zV|(mlSbD|o->#?qPdByhkpEnU`%llk z>lH5S{I^S0=yT9^-E_6n@n)Gwoul|5ndL;{!qVH#?V;;}3vbP)Rt$n!WVgcbFPb~I z6?!S<@FuB8{a20uhhzP(|FkORD#YGKx_u};@KB0W_v%%zO1rZ6f}Zoca7X+D#?#~yyPnl{w4 zeSJ+?VTN1ZzY{lJ4W{nkBxbk^&IX2sBq=Nk%`lwU&+4{xilMN2@@}BVM)+#Do+ zdKYAKSc2!^Q>oqE9zHIzBAAmTX!l&TRp%H}))=?xd*;kAZ*|Wlq4*q_&BHT7ZN(&V zL%!-5t^(nV6>fxW+sZW0H)dt&A}%eZQl#00EhOgX%?d~{bWJYg+0m`HF2Z)44}Ge? z{~Ei9%YG*K7 zPca8BbfJP9= zNNdcF46J>RUcT%x<;=K5)BGx424o}K-(48^#PUbm{O8F2-~ZQb!#&MMqO;6|y_tuF zQ(T3;{I`+_@Z2C(SHr84u&s^N}e?REofA(y4`4uUo+EP=AGmoWDPzP8ZC{?IqH$`WC8&W=C z*1`+RgIy$lpLc>TDxb;k4!N+cUb@9J^qVArPxiI;PQj)^wFJBC)%4EINc=)UXrhbdE zcawV@ZcS$4OT z?g~YLg}RFac2V#OFmpDd@v zh`&vZ5+p2!7X&Um>raRwV$2DqRcsVrU#(mU5>EIgqw6zYu1_It?gLR)IsIa<1?>8B zG%Z}_9UjE#$wRU&omt&WLX6fTY>OqO=Z3nyD!lwdQvoGF60rQnz-i_B z#s#CAU^&|HndRigNi(b(~#NHci|>5eiriCDFI~cKD3Y^2neSl!*YlCYHZZ) zLk$dG`B)6|sLY_0sWdsh98N1=VkHv_&nz1?Z>Z zGDyflw`Q=f22+lcvFZ~etj^;d~R2!eLMv!(cwGXSL1|w@V6VHU%A__0zwF{ zz$#q3JYK9eY^(&E1kTIX2&cwQsZq>GSf}m&dqN#LG%D(EU`8axqIM0#Iw_CMHuOwd z6lCIu=p_w1;~E!7kaJJ_`v-HJFcKVB4^DWUn>4UXJN&qU>}2*Iw$f)X$Q0zPtOTSO zcHVe8b%{FSphAF&Q3FV4hv(7FR>V?0D7569ASVhJTbgkTd^#q?M+*5W;1{VCR|P{M zXF8b=7%%{#@UBUVZ)i@mq$NIQuBeeNf+S5_vzZ+bVmc8v7zw8$zN!nBgH6=JjJjWO z=~dKJbvBX(qc(`M!aXBmdq~KqPH{O-0UM-nC0OL`sj*~}@U$4P^9fE0UlwTwtRU-^ z;-DF`$!|o7jUO*ZezaZO$dMNg_W1hpIM@+k3_{bpe7R$WU}aOGHf`&HzAf6F7$o-sU!rV}4aB1_ZzEetAUD8NLTM>ZnF6;=v-==keLU1u z;pH6P>yHcnm?W1waaz$HriL4(Zhqsj_O{_S7h# z8wX>_TZGDV0P6enRkQCq<$1a$0CXbQ1vwTw#h9kl6|NObj zu{LRt=pSKJ6bEzOh2?+^A=ul)>mX4QrafM6Zr*kp@#%q z0oYPelON^OSZcsnWd#Z5Ol^c0BIhj!pUR)wv}MZ?cJzCPDorvv{z}{UAM=LZV}u<$ zoH>C^wg7DEywM?HU%Iq`<{4qvg7CmjhT7J!Ah7<+7diSk^ASvVpA3T%(@uC)k8O(r z{r!s|f`pNQ$pKEAs`A>GHGf_>tKegbmoUoTzCDfaudVcOIy);p-vXkaVc31?(=cXR zajuO`OfU{47RAC@^FW0glr4~u&@|xE>VJDUP3C`N8X^pfNc3Q+#xU+ith8fb+dTr} z^5vct`?u@%@i9UHCs6XF2yB>L0m!U1Cyys3`~yS)pr{yqeKYsx>TLHNr@Xx<%$k*s zDM(GWhXf(P3Ry>Z0650>O?Acgz+H~>6OWoY2SJh1W5Ge7XX~-;+eEruAeJChQ1T>` zkfhj+h~KwMa0|6?87S9+lvHi|W{}8b@<{0Ub6m%nV9iJlaMXY9qp{1oK zdA4XqUA;rXjMzu+#bz+>+hYa|oN zLvG$=MSW%@RQzjzn<&=4*g{E61K_Ed@CZ{+jc5B)0U|3gK!JXt(;=oK`z^)!^;vyAETnUMbRXXaw~)3T52_#xii(^S%*kPJMw;KN(f_vHVpeQ6&^~LVTjw+tHWfUGlRdud zEpz8Y3#*vV3FSa+4~76oGJ?ev#U%PAB1#p_tiJ5;0H-EsP_`y2OOE1IfOr_JCQ=t;(^<;&d7q zBpRP@1a`7sPiaKJ5sW9jCgiyzRXpV)v$C1>dT4UqwSQZZq0Ngyipzh6Hhbor!gGr8 zcUHH3Chvs)M&1_!8IFRy`u8=pOg&sYxZ7iwTh_m*8J0tgT@*75*&;j&ovP=Kq=$_g z_nS>w%m*s0l=wJxe9q?)iD#F5UlLlib;p(F_yJY#%6=H>r{-JaSk~4*%5DR=6d@Aq zxQRfuUg6f4t&CTnG;^lAsUNYA=VYmraC_FOz&z!R(OEt>hEUn&{zz**mVpqI+X5j{ z1BglDmTrOK79X|DJyKH)aWP=s_4 z+J!;$&rE^+AO@JVa~Jc6-_;qg0QvXZ@ZLg9X$;Z;9q~^fIyOjM%rNCKDQH&R%zQ#Q z*ts(W!}lAd6xO5}$s{bJC&3{R(vz_G$n}XUye;TAWEo-{K)u`HdD}Za8E^95y7(DQ z;tVqFP5(vR-FT9Dz6DTy(Fm`YJI~y=HyUUOcdUY>poaYXem?Qz%~0>Au1ivXOWy(l zFYg3{IqeT4y;4MDI%!K=TYpv?WX4ys=~<4!}XJMM)_I&)@s^L86L zxOe}dFHXB1#ISJ2&?`5sJit0(R;|&(C-XfQ?@y4K@w5qKY_+WzgzvqnnTqD!72FrKKE%pq!MZHJFUlLNlg1L~K@k!ayA1QDKPBdV<-! zq1|y+CVam`%on&-a2XJuY{yGjLn3z5&U1L)e%14L3Dm@yOy%1fNVB{Jy~-UJ2>5GA zU`!$}85EQ2rykscn1Kv7{%Z41?6Dh#pK`@$(Y1Ddt_v_|Jp;XXpO%1XhLKq$g%10T zcjgO^%Ytn}b9NruU;%IhSM+h@!wYQEXWW{3IG=-890q5B{BX82RD3W0K{OU^xtNn;xN0do7qzzX3sWuUtZca(tI zBd?^_Jbvmw;}oa{HcU`vE?ozW2uwGa;8Pll>Md~Y%aZStlNt|gI632mNwlt6c0vJO zwg>d`dKl@FZ!6!dHOKkjl-8w|x~vGF4q-g+t6;|A)r35FXu~y=bQ#gAH@Yo`58S$ImmlCXBR6-?!>zoEUFAleYcim$ zmf;B)Pj3CGbgYoGlSY!=^E$k7YHDfqMya;prQCcJ9ycK=N)9RXJ~SmAxJ6W{42UH8 zQ>uStXksuGkWc2Qe>-YZ7yADwI`#(*SXZxh#uWrX0{4PBAMYeD_3-94infOvJy%?M zAe!@N>Z9bN5;K_ap1jIHLMJgpmm-6B3lj|M&i)Xsa~LKt*ilkt|1{(I!hZl8pxy*< zr;(YrErNe4CU*RIdB17Hya!=Hx`miSig6Bgh$%O@o5= zuefCMx_-B^3@1&rM^kosX^a?OI@@6R@_S@%n2uteTQRkaEZx?o86(&OnDms6iBXQc zjfPT#X5`qfe&?G?K_QrK#DHHM?vE)tKx*yy>1lz$lL+Ilm*&JwdI@X=GSABamTq)_?$y(!&cb==eC7#xi7_Gr5#xZhs)T znV+_i-bmq#pjQzN!HCtxHA6)ODl|9U^KZ}EstRzN{bYx}UZ&`2C4h0HN&W0agQ}T4 zWF9+}5S1M*oMze7R_&4$o}6!hFM)D0Gy zJ5u*Gig_sk$|y0c^Mc_)Xb}UW{WI<*y9Mn<&|DMjU$btpcp(Y z>REBXvZvs1%jbZJ$$m7AO8v6E-R+$2Wu(hBF+QOIyN+OE12#w8`O%;6-9WDxge_a1 zEo(DflfPkh&qgvO547^_CXdR`7d$rlt(IvU#V|P#ny}9Znw-$aO+%C!*S4Ku4aArU z;p_%Eu3EZQG=9QE7}EMCNww>o8bOu|v$y`)!5&?m`|o;0+KZ|tC&L&XKVc*J}K zMLFXy$v`*Cumd}btwy7$T~>%Q0s~3Kcb1b1(h8rNhxHcq%=**Q+rc*&c=_9}$5+ok zPso`PVv2ap(vclJ3@7S#k!{y<-`1TyYwVOsaS|P!TOKQ1Cf7%_9FoO_zQOYsGc%!? z>?k$Znng80e~k3lGP6+-GHUzH~8# zmL0SJwzdzX)x{-?U56XPkS__#GXHDC zLqvDm;|Q4`7F^CvG$EuIA|VP=71dDK&Gz40Z+~Gfl?CmwIY>H!*E1MxDesQ% zTx&tNCnpn=3~6Jcjs2X%(qv09n8#UlAJWUHUa=*`EHp=SjCX9oWT5FU_JSvSi&;ZD zcXmxi0bJd=)XDNGqcj}BJ}V3i(glx8%+rzU(Y`ga(KgW_Ofz^iEjI!zi6Q9146!fu z(Km{Po46S|jTh9U00i{?YmLF-VmW^xEtC|&*Q|?|Fyed3bpJ;Rk^nNWN(k0H5sz)A zr-9jFFp6&coNirnw^i3`oKm4DF%PN)IfmA>WJ>}QM_f9YX^{t2&(EIjk8^Q9#aGz- z3`I@4&(wx`3X?olw1~HnIv0sr*pI3>{Vy=*&Zvl=ivs1Vv2H?F5;Y@CNkNyij<9;n z)jCwD#NPKib4Hh?AX*NC$H5yW$!vC7dYn~c6cvFC~-tIbMkGhvz-Xt7;CT=4CFzdfh%Drr&TaPb5mEZuz%MFFdo7Ec7$|ONM@Y zGlQwykvfu$*1E9c?aj22fe!a+j1;epJG5wfIZ>710boKiqUpC#iE>josD+ZilrT|* zaFj;XIRtRYj0Yu0&&(ZlS?P|CfWl~{EmXRGF@R4Ht@uED$4WN?!TPLyzpZ(vg|rK5 z65s&^i@a8PsL9-$5}&7abK8j&S(U(wn|W0)`+LA%xIN@iP{)4d=N+E<-mVo+9w8}4 zI987>sH{D8tTg775`ngtNhr!=$zMbsrRGg=utjB z)m(;y%nD996Rab5BDIK0M(NmrZP~mQ9KL{~Af}IuZT`p*;*VmQmW)Tn`}fBRm6(lc zb#1y=%2#G4Uvp}9P z{~=aBu`bPgk!+7l|G>33UThfg=EH)wH#OnE$@IheyGPNukm|_P&GOcnJ0iE8A?97u z3ep;ruhb>HG^o|t-=5<~V_XZS5E=niU9w86pZz>rTs`Xgc-y1t#ba$-M_jqm`mW_! ztG5*|6E!pF^}|@tU|+%aA})Osq9Z1NYgASMOs?!>A5wy+dJbD?2QHzGEkG?bE_&ik zjOe#p`?jTzkvRP;m(F|`Z(k)k5vh~d=|L|(>o>an(8hE45t)f9L6jtLSChvNwMym# zo?muOM{Z;G6ok-UBR%5Gs!mSn@mqR+oLT+w)A{hy0;MkOd9x{QM!I6fW$LyEJy!{A zw_%UUph%rB;d&3^d`QvCQC|vQ5~MnZNBaPxF|?_Zp#mvTsIi8<1>?jKZxQq7vA3$5zw0WbL4LOG7h+ zccP=Sd}-_PlhPF=VWg2HOdwLIRz;APk{TSCUKlIy80cX)^d3`}g*_evdC29<>O(5x zPBUP@bJ6idvc|C|b&V)j#SMMfg-9Ht=<=z)+T2@yXpC;84t@Zxol6~=&wg&4HTE|U z9Fx{}fa@-08GI*HPGh`B_3B7khoif>EpM`Yi20s^NnR;JhSWc$dR`%;=<%w*4;ibH z%-nw}4Pk$dmFMAWjS|em6CR)?9WJQ_#%tmeKx6YqpSxM+#y_LqD>VW={6%C&$uzCGF6+4RO2mnk)(M!c;@ccZjKvfwg{& zgYy1u*+tI#)BAp1(O1_a**dHKLzTP4!;RfR7j+J+<5kWGdP7I<5GLu86&%}y9l%|x z8$g1ue9@lXW4e8^?a;eMp zIpbN}lcl&l&@7wzWj*kmkLu<3dO)w=EmrcAmD1VJ!1#9#HB%>E$8Ch!T}Zj`fuL5} z;K>cvXxd_~1achjyI03H@&l(>e7M_!t}_g9h$q6*eND8;R4O4@izJ4KKtalBoz!qr z?9!Mem$WvLa*`A%H#>fD`zOSEtS?-_vD>HJ8r0F*IQHV$9M9*Dm$U?{#LMAh;f9u9 z=#E;E$RUV%r@BJ7f#v2WP5tB;l>*X)b<-Nd7{PUz#YKk#%nl?kpF-HzsNiW=;1h7I zvN9+^@J4(_LW(_coK2N16n;ZW7>yAJ3Y9oDj0!_aA^fgY+A2PR?V)YiAFJ%8lZW(o zA9L+@W1uZ}D~KCGj?I-nl@xWws$El7!A+MRRdvcjjURvKdk-GuXxkf8B`-){ZpU0M zhUc}*+ySFb>jTs27Q;ZYoIuY}y?&|>nV6)2i;ku(1Xoe7BPlXZ#RaabtK-*JP}fIc zKv#@Lpa8}=s4SH~b%DPY)dA%=B`B=63CW8r&hZBe$I6G7LZ}dRKGAhI1eT*?IgjD7 zeyENdk%FJ4^JeO|!6SYL9Y-|1?7IxlH$ihGn_uy`~w!7w8N(&Z=n?4pm z!3%R0T@4_6*a`VK##wsLiin69NlnANIeaYYd=qtY(d>i`QY?3*j%;8$5I?2Js;F~^ zUyrI&_RZ1W>QaX$l zLh=}G8)hr*;-HdF3j@Rf{2?VHOIplzHb(2$OQc4P@>Zt=C+ee3Tm(-8p(mNYR~C$e zv#Q;l_o?MGm6RUCW@++n(Z5VMw90iKy>M)lzLEYlsX){TNJ|VzoppRks9Nv}=9TYf zNE^#JaNs~O3Mg~O1WoHVa+moCk5{jf>q82P$gKBXqWC*N_I1ZM7bQn&U+0jJv)OS< z?X15k=Cx+MitE~bHR&=VI@%=S&ZG5x4osWd{^AnTb85>~y}G@WJ>Kc^qTtKDs%>7J zd0%rgW&Z9LVGDwmXM`xOdZ*fJMeuM%#m*y#x9!;eK1^+~LUv-@q`dkv$rs_@94e-koo}3QLUxFZ$0qJJ(79>WPis~6^tg97vBfUC zsx2-F*mC2D&2)E|1P&U93i5u4{}OSJ8-?Tk^kOk%7`|^mi#p6#BZx~I*a4A3&SznnGi$-E=cWy>#7+oF ze_Nm~@m%rhv)A2z+v~XlxynqcEhk1g*>{4wMyTTT3Z*VQkIS#e9PB2sSM~f}WMTV? z7mA$^ZJ3=|-60~9>1-A0+!CUwiQkh0i4Ukhd<7Tlz*f)2!vV3w)eR7+k&H?e2hb*bY88TUlnIT%ROb zi8g@yc6}ZqI-^2LJ#t+mw{_LabnaFV@_Y@iquAd$XcQ0x%tZL+GbA8S;m(vyVxWIF zRc2E51}D|*>@DoEex_#GZ7mvSWNKu!{r$*(-p=K2+%TFwMNu=%cA7+p()C0@x{#pe zvBt7$-|iczx{mI!-+kL^1*awlqRSxF_R!u1fL3vd6wIe9gFIvalk>vW5uP`TzxmBwRG}5s;@y%6)$&3bZf~_ zD#ns-{7(nW6N*Fj$ZkDkgWi@zA3}%Lq404FU}-kFj^*jWrKX3||aReB^&B zy*Lt{O;~O?7I4Otbi!3CZcGura`>vBx2!3j_9BR)IINi`b`?QZPlhoDGJNI<_Mq2ywHt)KF?JoB4(J4>ZJ;n zF-{LC8`zFp`pi29F)19Gw!5!JTcIk6+V|~Ece)qpQ?2Mfb)uxWz|P0$-VXgg#0-)4 zx;~y7BPz?xod!TYpz|{K>j7(E@>Fw#*if#ev4uMqihS@tzk+UG4(_EHG2}@aIBUuQ( z(V?pf*dy!=csMVtxFjyGtaE4z`AHR0$zc+dQCaXFi0cI{rO8}ZtHia?ejPU%Eb8}e>_sq zJeKt`T41>MV7G3nvom+_`A()9@ewJ{$1C3&ulDk2hcB)6He{Lm*4gNDdgpS6NA>!4 zQ=5N@mkRfYf~IxOH12<8@7sNeOeVlm>Fo#YZ)6lcVQ8wbdbty|aTEFOBJZ#ebHQ3^pYT{l4JT zyBG~ZBdz|qHoyKmsF_^pt=>kpJ$9+hep5Ex|Jl>iC@Z@&IWpqM_^|pZ*CR%Cq$U*C zkrCz!P(WD(Tbs_AJ6>?vtLWDw0zcru2@Z^`ZF<>HH2Vy5Q`kCbH#Srj#Zh@o8I>6T<0J|@(MBKlBY$Bto9ZDWX8p- z`ESjhLJPzGSx8U9uXH@M=&QTALn{CQPs&z*z;8KAeBp&5AwK)&2B`&i7T+FrBuH#U zJ$a`~Gs?oMrIo!>&JpTDOovK$;m$2Oxw%~z77rB70hqs>%Nlyk-zT@!(VyV|0KrP6 zX55zRne@e}5|>%2o_{_r-CDXGJ!*FKWigfXXpA1-g|)^IB7p>$wDak?ejuhTwUD0MY1J# zku#p+faq}s0cFjMndtm$g+8y-x~eVi?qf_qZ{Sf9B7%8+oX0AqF#Lr~n>q-qx*K@1({>yqbL7X_(pxF1^*N{&WKC2a*Hx*J_rYUpAZH zO4131U21ze)9b#@rMbDexa8e}{o-eAhedc&6cw{MBTA0l2_?t8OFK7}!{x(&VV4ZW zI`Ng@7te2A%nN>(_&E!<GI8;PKp@Q^{mzvMPh6 z3}5E{2zxyS6W>8`pWJP|XEWZz`pz3V;p+KD&JYvk3%UBTjm4gQJ9h7`Kk58qxSD7y zV@#?$IFKg{j1sAkihAY5w*MPWy0I{)k;5m%iiI8E$s!_i#yX=Wvo{K&ni_077rKbGt@vvJqB|VUH+74;Wbf9C)Mt$6| z`Np;Z#9&e$*A$6??ldug|3hrvi%i?P{ScaTEyS2fZk3|y0BOg}q@WkpUv8X|#Np& zA0-<2_rtEuPM1qXn{ITx1=;kYDFkSY;ZxLP1rwhgcXA^$|7wKoL^PH2}*f)JF^&|6DDm ztIDOew3ykNW@cjQ9e-~iTu0~qea#|XZ^68z3Kr}33q>nQ2Yg-lpzpn#+kVwdBXWjs znciUtW0~OhxxD)FW!w0>)!O8=(%9p&rYrP6ICp!$M|!PAy?uuv@#(94j2J&LIxbNl z`@w22PwvqUJhd%b+>pQl9nt$8KTbSjVWX;uZc^6EtX45twW{K$WA3;it@*EjXbQsu zwDg1v#pYk8A1k~Yb!D{ucC+k5RDuHH1(&D)LkW4I)vr@o%*~tliteTkA+5uPb;BvK zBm8UAicG~_Kt0TFC3fp6+S!vNNzdyZgsmzOd;nbiKjuPRAFf1UsDa5tn}6!WQbe3#FcsvnC}K; zY&oPgZV)#Bgt%gqn}X(3Ds*d!4NzPQPxbPZ3x6>#No2N40UOpiydPlwr9Ss+!qn-< z4scV1Win~we*Ra@ybjLY#2eNcBi?h76_q3~lwJ3J%O?HIiCQ04a`|;_5sb5T|H*Zbg%qR#bclb?=9g;c`>MGtjX5Z}fD>`i$nA|U>)tnJt zb5sH`Bfh@_3g>r>p0s6{eO;p?Kk#%&hYUsjRgc35V-zk1Fb;38K$=`6|MTfC@Wmm~ zXZU(c^|54h$|9?NA*K`ybgBd`8#TC(8#E*EnBPloDXeL~k7EoKyIcQ9GQ(3UZnxRX z98U`+NzIISlcq=3aBh^N2fMAC2^FCriA|=31lsGC8}Dvyoib(05~YX%am^m%z9O1b zH>va&ut1?aChsbytJjJ@)+&0X@DuIR30eDbX`0Xf-@F+c$~=E2{Pk9CF9Ho+QWDqj z4`LPV2Z9N+cCIP;ZLhmy37*BZ z*l=rb<5I_OJ!#)jwZ=rY-7q)T9CS_K`@4{H)?W;&E@HJGc| zzdFI3dt~z6r@j|As1wbklPkk_ld|Y#*;V!bvG*oWHST@ic!t9-tUK;WLCGF+?-jqh2ivD;}VEoIrh86%au+*C~aLL#%onkw8ua z3Gy{i63>;JL0iZJqsbfmQSMWF!wRjM|w}W zpBenZfnp@_orDMGDxmz}IWX;vv|%WcVGs;Ypd?1Ht8~Y1ga-2Rq*Bjh^>`Gb_h(R- zCMJex6|v^G+GuJ+}h48>XLQiwxy7b^%Rl<^h_S!}AmuT9)$m+@I zdYS`prE9xnBO0Uc0ZSqWx>nqTQ!`;;U_c7E2fkLSG(+k?qhlpE!zvG9MPGU@YXN!K zpFckw&cyj-YWl3%NA^0@47tD(%QiaGXs3%3vWoO3U+qG;tq{;7qi^(lczB0CIu_pJo&`^)hK)1Gr* z*x9t8&N0g|y~ntb1w*@m=JTayg7+E&|L|TSYOlI(`D-&`qFX#Y0phDD7I{$x^ zf=f?;?ZnpF*magRI*=1>iB}*HrVJsvCf?V80f6!9ryKI@UN+*)+Lh#C#BK51!tpQX~VeG@|`l!QkC86}Y5_mBa#v-ow%obYm!g0sY| z1*xJOYD#GOu3`g|3MD_lZ62dgNamT@(yb(5AS5hQKZW)-0sckMI8^p1l~7m-{tC4- z6_@U%UNZ}Q*0sl_e;}gxD4|?6*sZAUWd#Bsti=!_^x9QocOGDrk5Z}a};YRg3v{#24J*dEK1)_a+BI#Ix z!>&{sylnDudjxMs)QgI+TL^W(jP7c!HMi{i5CnXUaJN@%&&%kOYtX%dZX(Lsb5MK& zOL(P)o(q0SD`r4@jBJj?R0+hyrfPe{7t0RT%h z1Xj#9s{@fFA-jJr9E*4$LR~=Pz9vs_&IAsEC|t-r4Ue}gtm;8nGa$_iW-v5*JO z)QP0`S1pi_p>>byC=*6m^UyH_f^d5t) zat=zZJ%x-1YWk+M{F_Ag78iv2M#8*U*)70{Lr=>J6=3SlpFhBE4C5$Hw{zG;K91mp zq1LpK`bg1HyD0x}7~bbp*JIXN*}doaPcCdc5D2 z3GQhNIPys6${h8uFTi#IT#er1%~WjXqyDm^OZmC3q|w0KbwVv_H?V~F4x1G0EI6?f z*C&nyY~ke#vW#Te;3VtZf1@q*;->flI$+|+1>vPtU?KuLOk!n=(!t9Uuwpp@W%{fJ z2RA9XBXBxEJ53d=U>p;NDM%pq0viOsA2>xs`J0HuP)0*w0tBsywn(K&T|NVM)p0!nH2*q3MNl1TghCdt1OM!IeTpaJHh% zQWXFUU18VbiY783>88`1EH2Z=U)*KP~sL?M595Ki+O2U zGiU&|61wuiXvq*|;&<<6Db7O7oCO7obS?w?44v8)#~+V5xw$>%a$gIQ61t3J*MLs? z)#7D96%(^TgxMzN+>&d^VSLCSW!mkmq1%;mz39 z>K0}-nnPF%K;SK$8}Wkx2mzZ-0xp+^95A6!>BT2SS!~<7m2`mqQ~H~7!%VE^bN?7r8tOi22bN{ zOv3H~-QeXZ&FT~in1iQQJD^+YweM4=*V^<=AW#B~bq2CB2xC$x?}2I|ustwF37YBc z+kG}R$!UDRVYGt~KzP>70h&1-CE_rECe8f4@ZlI@Bc!U(qa(a0tU`cHv1uWF*=^U! ziN{c>yl?TpZgM$Fh%EMj$c#w95SVG805ZBOem|xBI|DNw60=ALQkzuaAG_8E!kzah z?;v3Y=G9l{r(EM`?K`O1L8)x%HF@kl@P|iejt&Kd0tr-<`0*#~A^?z-8t22GErxGL z;Gvi;6HY(%k)ZUesHhaALDQ}NsDTHZ4Rd3c-R|DUv*aVDRjtjo-{8(h#2A3yg$NvG z*gi~qvIzj@q7X^4OTf%=i{O_5pLr7E_b5D>e>C!h*anFf|RDyuO0B`>c ziwY;4_3t6oj0zWI3%78FBiRF#yB{l>I-&v8#GXBzAVawH5VxM;|B;Q8ifkz+jBD4gL-xQE8a4Ot?~`mpPK*<= za{4&t4$!nDVh2t&Q7aBbN+=ALpqGP&xyln9X?S4J<3(&%f||e8idyRJ+Yo;tAa&B? zDrpUerN*O2kF;|+x~IWY{hP}X+D4c-B%mf_rCAp?G`ka~5;8-;*wB-OAThochoaa? zlXXpq2p`17Da9sIA*=^-3IR5g`mCW47*WR{ng@32G(_9RAn-t#4v1smw%_h$fS(@$ zzzilo#5!a6umfc?`%7wfT8P#y&^U4hEh2s{vI4ODAp8Ws7s$9+bz~z_LM>}_tSbS0 zkT=sAz(x=Z_am)TZ|EIjjsS~AO5S9c@Yy(+Fs`nkKqGHi^Hk3#d<*sr^H_&16Q<}S zX(HN$S8xmgC3kOI-42Y zAAUC~`<(%qJ0Mqa;CphNzjOOGV4grJ0VR)g6ekX(Af`bz_7_}IVeP$H;@z zCzKX&^JcwZ3u8U-lsKHs&bj>-Y-lFJoun0qrwIWb*|BmTY%;Yupt^FbxF&CHZ7sNB zJ`|I#9!{$=`&Cv}cGDY~NU*Cg!|6dakaz_cJ7@T54|GMtk`Tyk1q%>cJv2k7Az8xI z_JMpc80?2BcC|az)zo@td-Trc*UyoP;2y`^hnX!6`P^35sLbVW|NdjR_(9#(}C5kwnLB-OtgCOILxQ{hU^!1SDk z;}!C9nUh8-NH8GQj)NMdY5E8_=Vx{!$lP~?6B6&DNyjnDi1nbPimjWJ5x!BmA!2mg z%x(@*?VPIV_oyoMuq~N680gD-pFonL{sOI8(>_iH%LzZ`8SmUvpN>g$Ut= zJy;(gK||9NBwC0RPAI$GE^Q0GG<4zFdQ?Vn9Ki<%MSOr%8!Txfc6PfDPJHX@oP8Vb zU8F@}uR19j-2QNXI^vY0#}FKp-BgYO&kD^2X}lYu$yMMqH*da7S~}=|Y_E^6?&{%N zuLlA^Q`6lc2Pj5i50Rl?@hvqz2>>-p!jO#E&lfPAxNjoSJglW9(VP(vfd}l$)zV8P zS1&|?ndqs3EQ8>a1MUf^RUec$@F1ofIKm>2z%?gj*=+DVu$iEeQ@T4IgdWlqfU<;@)2_=5BR~j2;U>am6PRlv zO>jhA{lU{_SdJ1q+3oz6saj5;uLyEq6TZIL_rRO_`bU(&+0e~|Mw+ceLrS}Y*~a9U z7~DEiyp&}e*?K*XLM5RU4@^`kHcTwebk-=$;*un0C@M3-5U|6Y5F0C)7d*(#)vvRs z&ozTgJH&24!a(E%GzMwn5e*vLI;Ip_lBC2-4?D_fRN%Gozsw8#@x=wpZ~D`fkc>Cl zV<42(0Ms(#(_d3$ue3>}cnDX|8dHtt1i}y3iCq+)xbu|iVK)*5g>nQsmX{g-$QstqrqAt%J@a{yULmLM4gy;2=_7N8o{rxMC&47hY8A>bKNa%C7Y}r6}_R^1QwW_A#>b5;m`1IDl?j>3d_a4P#== z?y(?b(c7CS8Z@ls9Zp&@@EKoMbjkywMYu7bHGw`N;slVSqmjy0+$#p6G4Qj{Q;VqX zg0Mqna9KhH$CHj(KG_Sc)smk@AuSiz$*^S+RRM^u zfn&Y0E<{;y#p~OBZrc$)=^72rK8W)N<-l;9PliHXh+k1-!{Wpd3DpPm=%)Mo`)VMp z*39AU=_15YqF95C25pmavq;PKJ?1Zu7~1<1%Rj(RGB72$7EQ zKQNks-5nawXf2$%?lN*F2n7J7z}QxCUgM{{!@-LHlm$v?&kTM$a`Wm9=IPmOu!EK7 z_!VI=h%hs!e`D*T;m_-P06Hi{JYF=|LY=XmOo~1aubR^ZATd-_gj<+n&pmzm%dNU6 zLn{|P>CQNtNvl_OsYLLM^Ed=L#~#KcaYyol{vL=icmlwx3k4B_VNy{6CAGH@u22L- z3Kvc7wT*F4YHXl5l70LJ%YCrfzV0Z65?tgGi{itA8DDS}?_ypw&O@ws67^R@BO`PX z6eU922-FhAj=z6mzI{BGllCtQWAC3q*d+;j z3~-!$RA5t{-$0ZBfau=6jO5eELpaJ!IN>9NbA=-%FJJBR#?6}v0i)dH1%%+NQ<>VB zzsOQ%qjrZ$z_X~y7!}^h^41B z>U{viqwQ5b)YZ{(9HWKxkL1I)gsu;j|9Sq!$Y-YUZmSp`9)>NSBz+vjPw4m|R253g zYUs|2IU`dSPxpb_8gyx-7+;dptB8Y`a+FP4mP6yi7=`1O;RLVvtj<~AZKVC0NS@9avi7mFw_3YWXm&1WcEhmZv4C`!Mk zOI2}LU}Zt)Gs`RsYXm{jH87aHP+cHpM-0IT>M&&fLa_va0eECYF^^E))z!-i693H* zGRjOu`hD0VK7^G6{x@o%IKf+R@`iTBOWU@IIKib3WJ>WvxA?)>B;H1-P;>dg90hG_ z#KBln2&-`p;F$%MM6xV}f-E~6RX_d;13FN+K-&d^T7(-63_*tkfjLbC?`uvQ1C=Z+V}qH2G^h|I_7Z>*h1`eI zJs9c8?Pfrz9YUYAG_aRZ8$vK^vG;Qo`g4FIiG6X92z?i0ncu>r8e64+Ee#Wtqz=ed z$P<%gRmy_#hfX6YZh)&V!u_=QRB?1w*n_-) zK=Is9krx6WWG7!z`>&oxeQ}Xn<|54{&dU&H1UeyHLK;Rn@|nH?K5QDsqNxOMc^hg=)gxN5$3{S51i;MOGq_Kyr&XlM-t2#BO-P4ecG44hy^rKK+o1Yhqi zV8p?;2Fv~%wSbhKP;mr%33~+Xy%?m4vEP!WJF1qcbTpKVP;W)2p3%V4G)k`{VIAb{ zLF-xTiNgc_qNsROpYN;=3k-s!JPL{M$%StGVr08epFkZ3`wddE&?FBL?pE@+0Jo^M zGfA)01a}9%fiY>+V#8Ore}=FiEO%ikj6!EmiHm>u7D%042P58e*a3J@?7Bu^;K78# z@QVjg{y^IgdADcr@KZb&(m6qz3{8bLveBTAna7rOfCs`Q(I81oa0Ij9W1`QR*CJg9 zZ4z4HwtwA&>dlRlHP4R?zYn=Il<;87TwZ_E+Fmy-DY%(5YoLC$dLimJR?#uWzz@R- z*gE4)*C0X>4(uZ_F(0fYCqnQ~-LL@eMMnW7LloVFQA)+agzF1tDIr5428x?&kIEgw zZt`c$tL=%Xgi^;O<*=effekQjPK}0yLcRD7XWIxRTPH;FeV0VY`y`6R8fN5W^FofQv^B zfZ%BI44ZP038VglO&$9dKxMsF>>(>c_J`L2c6|V9$fo?=dnz@qx~m55MzD9!-MMO( zTtmt|kc?@^K#Wq@%;Eu>!5Igm=k7oqo8-Tc)fZ>1!E6?%p1Z>0jkD}Z-HOkBO zfj$(i5UYbdNpDAa6oumxL{pLB4WZQ zBsvDj4mm53f#CTW2n8Lc3}(KH`!>7AcLtZDq&|QqH5FLcYOF5k27YU!+(L{uckbMj z-yWfAn460OA%>Dqotq;INE7e}qnR~1*k3@Cf_WCA?3ujV-g;moA{}V(-uME5dap!K zNf-7<4guwXgQT#F3^+i+^js54ig8adOHdm=$m^eH_&)RQT@DoC!_o%XJ8?{_oJphG>cj{S0-T;l=oKyGQe$$QvHVY~h z%2=CN)x^dNy;5{w01+i}UghQY;?`muw`||u3jd#~51XXdF2Z$@qNA2J)UJU|2uAhX zBz75+hI80+P2JG>K?KhXyLM!1y@$+#C)M~O>M>x0?)zeUtAcG2a zqNBUp7zwS`dlwv8h*K?O(XgtcW6q+*A=tbVf{3Knj+(eDgkKO0pjC?%d_Ow+V61_M z-J4phe0LT(NQA>SESNO|IjAu?aFDDcHb*c3YQ`{Q8mw(gJ~snt05J((NU1~aOoSW0 zIK*r*PKZ&(DfbK?1T;F)Ek%iHHa|K-~kJ^xCB8% zK+>d8k5tHb0N4IAA3i(ddLYL%6c{(D0808w8=94G@DIiPY= zs{~=D8*3_y4GdN4cA|lTn6B0y%`)sn2iN~Xf+(VVbrfD;jdV2nrs(klM>tXA zAUO&m)vTyy&WSB!%Kvo-7z!N(&mIg(g5uZOlT8e9Ko09A?IxIU7d~}$d~IrW3W69Y z2jfUUGX`5#Wyjm;DyklEZ$#XTAkjMM31hC`yNoNn|(R| z8B*G7FHd{~#{Uypr+>1|RAbdfU1d=4BJV~`B9q?J?yiO75ALPtdcp=WPIra|^>TFA zO9;DaY8FFCq6GEt_QdMpOXxEIuG5T$O07dM4tH?23-(>FOM=t`e0Wd}MyNxQX=IJVWU6g9fWj*D=kK}^D4 zI7fmgC!mvlVh_05gp+`e$9yGT-00_WUo-R1!mfrLJ0xT^6k+laGwC8G?x}P9H>Xt% zr`JA$ABJjtmC#!boOYxGfDYLlIxSpWiCTAB6z>JL1u+Ck%iz{4|B?Yh+%to`k7t_B z>_&$gV%PI$&4A$(dKxh?V$$l!LMB-JU=3rgOoJ>aq*m6iUg&>-M`-$}^HXS6MpM3~ z*U=qzY5q2`1L~+8;UqZ>DWE|^srMrR4iG_mWLN-8PTy1YWk%XWyYJ1=keH>*k%3837KLTuk{mJq9bz;+v}DW*LhHJK@-j289S`Ap%AmoJi5DQ^oD#@X>M7 zD3LX|f3MJBHbdHr2sR_QMyP~Ujp4*GfEh-*dJi5L7jzlN_~5@!qI^#J{3y;5)f@!Q z&^t!9b~yW)!TQacH=nFW?N>}^&7LEi7zOx+)TRaTwqw&BK-oAMSV^=l4d#An)kK9|ClDq6mk|R0Mi4L;?uGMd|KY|E6WK zXF0T_(ybcZ1S*C-0{p_FZ+>3$9y(5h#{};uCeee&IsNPEg*Lzgj*lg<@1TS|u!!Be z2pMim=BrB@t01tA3T#ymB)301d?Mm2kjA=)us;_d8$;5a z2HpfnVn5PuCbP$%$~07dz8V2K9As97og(*IzY0M-06i;zf3V0KG=8i*IJU%R3B^TM z`Gl80a4NWjFtJP{O-gd!|12`4;CMQGA-h38a1P`?VYKWu8uX+_4#quSCn zA`_)a(x`+t7hEjS{DcpB*mZNh7c#3X?X3HBu>Ye{0tgPGGXw;F{{E=1g>=O?qyk`r zhk=VkI})*Xk7ES@cgAQ?Flv=sx6Dc49 zUZW9s9^v&vq%T8LT%DgQ0x>#Lj1SdPFE8AT3aeCL2p7M4wJ}uL{2p2?N?4Ex5I%fZ zNH`JSfLMTqJc!%poC=T&A-kf@+T3@yvI7AcmYqq}Aca!3_qWEj8~ziqQ2uWT)u{2K z36ngQXeq*t+IjL&b`&X6=*Hf5m(>Rg@@0pung5~(ypis8RHJ2b0POf7e?U>%ZB?~^ zd*3`{+uhEyGGbzwU!!E9!DxKTSv2cG%(!-(I+jvQj7;Lv`Idp@CU1E+{MIJD`+RMz+#t|Kk`bYJG3&y| zTgI~FU_koFDYqx868(H$|AUO=iRbRvTYu&5P@%?MIZC-} z&@n9pSA<0BHLOx?A3i=moYr=G?K{S|QrVQtLURb1+dH|V!MWtr1lEWs4`Y8ooP6ue zIKK-)U7|k#Pqw=(_gHLd79R57KB3QJztmd5Z&3d3j#)#YfZw0|cH6%$-MxR-M8)u- zHbmApEY#6P#==4M7e=4kmr<6dcjsIlVlWsO{^w|%S9ZMVutik@0n4ll(_rlUo0QG<(WTq7XbgG<*xb67t?U z4z2fw+25rDRIFCnt)10d$fn;vc;M!&x#69%=V$KqZkoSedHstk&7o(S7jQ0If5iK+ zw#lBGe~9p0U$t7&Kd2^uhjID&l&lx`mr;ETO&5-rqRrJ9Hd&hpW?(TSHkrFu|ROz|*nOkfLLjQbkC@-$T9fP6uKT8z!fUA3*pRzg!t z3v!<1{}FQ`6bgna+zynqHBs#csPyz+HV$O?3{+UAv)hBa8xJAdXE*^A12*^2@NhEn zLj)U4WcW2WM*LE=;zWW=ap9bDzHp@s-y#&MTzOhFIVs5(rxtEFs(TSGkJ*VLlVs1& z->;P;H@4j5e$D9z{3R)MHVK~8pv-tx3PmgKozs4C4V&B(EO%MxjU0u+PXiNn2FcN1 z^FInU_w9yd^%n1%ArkLbi!!YxLDL7|}1#Pd|ICp#h}HbXxN zR|j|lsFJ%XJ4A5#F)=rdg2J~P<&;~vaA7~9eT=vv%2`4|EhPfEuOSzV!qL#sP(M-| zOoOO$lNNNQ#igZ7QQ5qMHaj>^B+YRhW4U{W-(KT_H$oPFB@R!Z^3Fc+gTOb&|~9Zm78h0T~#Q77Iz>Q-;{-soT4BDUsBZbU}FP|4%hc+#Dj%KbDAA{^firAlG1N{+dWJKjt4m+=a)0i9~9yWa{DGL(s6Wu+I+PLQvf8xZ78# z1i=5yAETyu3u8cT9w@xv;NT2Yp#TWHh3tZLyiC^G*?BCO9uqSjHTd_qaCqFukT&+5 zLg%@#uu${ZF~?7bdZVJER{9j;^1*U*{WMTksWUNT1OU+8-OXlk77Da7^mzyL@kKBT zQuhuoYA*B{0JY8t5KFQYAkZO$eoj4PAZStpikOEuF#*fIfEz-#0x@V5e1ae50)U3P z4i*Rgo_ISEoNRIpQ&sE*6mUW%9mabmUo5*j@Lnr$>tqlC21rg!?0unJFW|i~qI?VH zJ^I=zr^|9*1>G9*2oi+CWh1#Qx;;aY`sc$g3G7KRF<61&TZ}82K;NNM-VZ}8+G9mt z|C(CVI58nauq9m1cLn*`Bl9lX1?vLdEfS$+{6xt6`zwzMkKV`dDB=;{z5BLOeGev3 zs#d#9aZY>}J|0y~6izea$-ef?;7oi**vwN}wa`+oCc{LeU4if6cVNAB!sHu(UDPQz zH&%AUk59+%DjD(-JGXVCl7lN+jr<%HNjqJtLpBedjbc_q8Mac0Tt`)o)~VE}ls!rD zK>w0}$ed7Xv_VdIE6Y6wn=i0th}CNRH~jtCc|j&3+@|SuxM0M|7-1t#nX{2BBw2V$ zv7IWZ!qQ8ztyF(go~K!-|NT}D<{|9gh!fN6q?TD+oU_WePGh6<`DE9n)dfU8f=_wB$~IccJ|-@=IJ%XR&?o< z$H7}M*<@7l|EFJg5O<4*SD$q4kKcZgdp2v~#}iBDZ}8_7U742`;xNt~S8h#N?3x}K z#Wndc{kEih^3C%s{=f5&qo&dmgCSHuyr%H%i!_U!G@D0V@J34s16hZ>*cBp5<#xJV zE0zA77*xkdEpwgfWsICcx5mYbcV0i)OuKPu4u68?z}(qz|5J-I}R$> z{J}BJwYSQX{WI12;KDuD#oMQ?Ue7p@Z@sbQ#>~b0_Gg{e;uZHhaCT+c^PrCI80W6i zdzV8xI)Zk}{kk$^l*MsjL+ppKLCJIpsh-N0d#oTzad3?7=gGHMmiN`q8}jxoThE7)dv~S?9Q3>I6DsuFEa+H5#hXF(S(i6YSB+Z~ z=xMd&QGnM=y-#EE`GC7C$oifVY@D;Y$52XW*>0hgxA~{9Gj>*Z6Swpb>&3NhgQ3!E zmon$9ZU}LEy!3X@%m>=*SZ5$p^!In&Ung)0v~a(#Nxn<`o z@6%REcO3f4$}M=efZu+pfKK#C!ArmNo_)@xy>~Lyo0ea1XSP*Zla!ABhzHDe8gn1;*ds&U3Kh_ZLJp!%s$( z%f-t|H-6+w&!XppXLqxeL#^M%EL#5F!#wF@mw=s9hrLqhtUZj-ZZ$6}y;!G@&ZRxl zGS32KE8E___ECPP-*|vov&wC}^JwwWAo-zrzbw@`7URUq+STZu&=f1XtC;4xF}Eid ziZp-Ue1(tL@8n`6&g^{Vp%*t=;-E0jaxOh8dt_Hc7q>y64l_Px7P*_gST{XA@0(e# zv$k1uZ;&4;h+HyVid`()zKFi2J~u6Fq_WzXS-BTUy1n%LGgggroEPimtQ@_d;q1EL zzua#A^NHJC_?BVrmCM>woQv=MU}l)AIK1X{BTcfz*CSh}zv6_FmG)2LwrfY2u4SV& zSKVh=ZI{#2zCPTYpzf8Mb=2B^NAuyVm#&+yzE++yK6aw`iiWx6Q2KPn(v=~>uSRS9 z#p(QK&WiVsSsP|>^S}SotNPYPkA7on)OGvYrn4WH_f38Zeg%KtbHhVf^C$1K6A2#| z>30mQTld!WjnY@K${tmxro;2%2iNlFRi8O&@de6s}xJ3*o;_ozE;^#hQJ`%_;I@>#AKnRwBPwQza?AUG3UZXL+Im z7Q}}JmE5-c$^A)fZ(CXcOT%jaI77WfbwGUo=F1lb8#8szb|_~%6s_m*DKlmc`CEiZ z)`hsam@S!Xs|MvOY}rQ?&H0XshGdYfyX zVOd5{+$y6P%PsfEKN7vU`0vS$>p1!P+gwvy+f=VuAV9V33!sKHjjE(MjhV>Z0Mat@FW^PRN5{6u8DFMJ@|&00OVSt_MQ z%uk!=y0<2AMH$PC1y#JX%y;SX3UJ;wzwy;{YOuiVEth^Dbx>+KGjzDXSG`F+;6SiX zPS%IS#CLCail(b6eF_NPRdwB-c``IFBjf4tc#&ekCgBJwvw&U{7;}EKY)07O8BMAV0rxyZn>3!k^q*bgkFO$r)!%scbQ z-}mxUS&KIXRG&v%Pljg&rC2TDALi!1bYaN)! zwwRJCV(*#B2M_t!KF?8NtUP0DZL75MUi!*fmAp{1C#JF-p;Cekwd|2Sn-{%KyFY^u)9%12mnSoye#no<^pWB5;lTQsgI@x#sr;5va_5)zr_CD$o_|iCA+mLGFl%_( z(zlZD{@`$0!Mru)?P1^FuE=#xT_)r_?qP6=QmtfKZmRK!v*aR0t_vQgrWw~A-|~XG zLZl5sk=3nMFJ36@$~I2>IpwjS_0Qyp{p(l7h~UI7kt9T!$=m_!(yz?1v|D-Hj77u-%R}_^>59wGm9=F{<@G5ST;J%CxvRdTM><=3^EGuUHU~teuc)cmB|-1qt<6 zAN5o?=2oa=kLXD+$&?jdwOcrASqwUbl7TkyOHHg?{Bs`PavW7RjNooinf^h`%yGbe zb;fYVN%6{wkNoRP?k5e&eh=4FtX7|zR@m40`itV}YQ4g<%@SVC5|InT_sm`Lv-QK> z`=-tH-u-pDj^niKReBstmcNMPJ0LxDICZZMUjT%97ti%NT2ZiP)O>SVwQ&9hIj_2h zb2rBFcDLKO-go=@#bS{@OC2dpUf95M*MOx1Rq@F(#R-j#Wuw8mwTw>Y;1Q}rg00ga zv-^{K&es0H8I-U!-Q&eNoW+X*gI}xEOEz|nWjmyn_RuUmc$psU&7xMiwZ)gyd$!Y6 z)a3LeblQt-gZ3=LtxUWO7OiqEN72i3KfTvBsE2=kf0C^f~2(Gp?B_A4*-7Q)ayzZK{MJz2eO@-R>Nj|WV z=_Z+;#t4y+I-tti9-r<+f4;>^-*lky9D8GN;z9TER9<1F#gc!ec!}v=$OYcp+~E^< zN_;gOIBT@pIj~F8;mT;81ywe_LHDVw;F0@uzY>Q`9i1Ng?Jcshs%>A(C1^bYs#14j z^j%|K*91reiZPgj^1<;cqIELumT9B(*=`@S>JCzPG{hJ>$9k;IZF`0?+~nMCQ;Lf( z@?B#;o&NnPcuK2GJaSu;nAbtA64hyA%x-E#{RmIJeq+bLxLX&4I#h2PM2#069TKJ( z-pn-7+_;wiP0!I+GHG9n%0;aL*=3PzJ4cny(gjn>81-I((3I&(KPBa z{o8!j_K{_G`TNIS9w}=uNlqK>2=2MFl2bEmhmBd%D<6$J*@F7g;Z}3L-wlUU_dYyX zsawXu8&BQp)IC+AvP|@mpj=Xd$402Z&jm(y}s{q41e2+fRa^iI~qD|T9pHjRG+d8fBjs| zH}ZH;h8vsF@Z)O$XCUJiSdh5Y`cntr=CJs+qYeHSHf~FnQ#bZ+DQ_g@+=-V|&?|wl z$?0IC2AOexy$lq|Bm3(m$U7w;T(NXY?tIm2A_e{N(*^sclpIb@%`A6LNwo8Be@lA5 zzxO}-+LrGd(mz#{A0zRd%v#QF$_pr}SprHcpAJ8T+P0-$P!|xBvU~W$FL=i)&|p%N`c_phJ&tcV@gl4-j48 z533|+I1K%MgmWdp*z;#?EwNT>?63terqV>j{S0-YTMmc?un>Ot8!Ua^eX#nT?Rf6@ z{dNVLAfP7quDTlF5I;kEdr^>w?JP$lyRJme7^SPq6ce)5uHGY6bHA_IlQ#YZK7XMev@pSj=eQhoU0LBP9;LdnV=mPkFC!1h3^ z(i$4O1n|Lf_pr49SZvc+6evu@HzRV!yc93=JW&lXatcWm_`;6tOS(*MCFdOfIb6Y0};~z@vy(vJfStI zaP6wNhT7U!gbYq3wuFU+#ckRYLDRkXy>Sk~e*k`n1|4A>_KY6G1$fHNH`k`*Jke`m zdT?oe;I~PCXk+-Oh{k(`*`Z2jj@BQ$lQS?2jljhlzF#PC;J`kBy<1_H+O3@o`Wm1m zz}ib$<%}A`Xhd3^EfN zXuKf7wspIGvChanL$5`kT~hq){h*{97yTWmmhqkLvoShn;SZi>ehbH-AuR zW@vNllvBhj4Rbje%{31m`sFg3EscFdHl`u9&dYz~^kxCBm!sDNzz%I~?F@LOW;R&D zm)^Ri$k)XTz%TINZv_Pf0gVHFmd()HI_O8htI#=wr~xhqfZ*ORY3HYUV6g^#gKN0w zvi(EwxtS(c$5*+Q>#A1xPW*h-hjkKBgz-Oy&7Ux>2kG}MnKfv54?BS9b zEb9~#x+#?H)_q#kuW;e6{&#)$<88K^^WToXOg$cNMVbAcG_RRYo?6M1k!_kyusDEL zVK~6LpWTHGq7v|}p5gtK{eUJx(Z#O?fFo1U;WB@dRIP|P%-j!MVpVpbgcbxZLD^b! z&085jWq)2vq0lqd;WHOqE_Dy}$Wk@7NH3$cONa|sy>fKvx%}y1h3PJ9`?S!dfp;{s zRoe>GgQ(IU4h)R9;ytSqGlv$Le%q9#Zs4(l5{xab!?s&;E4vy)h`A0ik4yQ-{q!%k zIoR9#@xV(Y)5;_lK)5>kgLp6nzkHcfqd^J4N`l4g=0$IOZ{ zf~8$pX@Fi6_LXd{)x={aifn;ASdNh2d(&fMh|6=|xIc!k&{^(P3^jHY#k;exTBq)j z&=&t_FXgp8*IH$KZjgJK39~^srhXP(_?B$iq|L8nrB*$y@FP2Pxn$V0_iJ3{F7#cn z^AFDjF}>5b9__NsE(%|Di$44F<&I3&&$?>5cB*#e6ko-k0=zHA7Tr(#^Q=><(kISY z1;Ukbe+0a^pLb%(Whoz94I5f{Mu|&LPuRCQQ}3&=%U|Qvw*hXoie^3mF9QGZbyJgp zpFlWEEAAGLOZj-Uw9k-#3uN3F;jDHW5b~ee#$ja=C{lpJR__x%xZI zu$ounV+@DDi)U+KNrJ1Z6AK@@T5(3Cq1lt0iyEWbnrT_1to^jdeNJKx2@Uo#be?q< zcKvmcQBH3<+b*PUb85fw6?4Y(LTTtWyp<#2kzPVOOc%)Zh`j)iMGbf0#mIjHY7xC$z3?D*Ul$@cl{d3% zyNy2`-g=?6<*a1JK%?c_l*}Mm^-=+q1uak41qdCRKn$Hp{8k!u+#aPuEdv|I@6B%bU1o>@OWlZ`1=q|Z(cPNhjW_1^byP!>A8Rmcg092GO#Q5TTi zxaHJcrf$LtJTJX6Z58~+p;z+a#Xex}Zv$nCy$8@bam=jZ<&u5XW~t=3L+FLMr@vA= zw(4s~T}a-m~6kNeb@$&DJubkAmx{X#@8g zN_!2&{UZXhC1c)VZZ|RHz8xhpn5$*@elP%!?(o=kX^Zzp#4KPCmVwlZ*lz$a(@lj) z2;7ROs;a{M&=sQKIZh?5*4XH6Iw~T`!G~}Hp`M~2cuP2&`S1azBHWFy?6CQrIa3uQ zr!1!6*5RoXH~V$(iQ`KxIA<5~Zir;(6;PLRmaKoj?dLgMe8;v(s4JWo z-uql+vDJa3U+j;Im0E}XNt+QR9`Z?&wQWj8_0H6=Z7SH|;naB0Y-#}bKlIj{5o>!r z>Khx|L4=Qv;WN?%8xNTxWDAa{kYwun%QI>v9VLm&moJA^adGhYgjUSQFRbQUYRq9-B(fc# zln|=C8MJk<2*n|Rk=vNyv}@8OFk8t5ks{2YLjn5hW;MC=Slqg-Yq4}r$*eVx1d~3` zJpPBs&$AZ<@9OFLx`F$BqDjU2hrD}!3Rkg00bo4ciCXgKrfxI_w4u61#M9E7Q#NME-eG0{B$fH#Wlur6s10${e zig7UZY~b*RdF(;C%f2OW^4yB*2@xzV2e*K!?OdpOg(Q5cS8cbq9-S%_k>(q#? zy6A*2!U}>6{8(%75UgtP2KTM2CSBpSI((E$$ZlV7V5yl6?q|+SaF&s?>p|@R#>uTv z@V+8pg^KpQhq*>2w;-s!r8w#_1o7N5Gc$#xrCIsf?A-Q&5HM@?Ymqqrc;&rHZHZ)I z=|ER${B5m5q#qHNcXZs1TZ4+O=2s^$H=UsErse2iVNhDUi#xR@VmSG z*^C)XNTH^|40;n0yaSVvv~(ciD^MT8-UL&oQgnHQG2qr2A^1M%c7GI$LY3ji%TwhR z^8xE6jMkvhpy1)*VF?vSd{WfmE%zfMe}y8FVzk;=TMm}76vQ&xX;fNX-fuFlBRAsX z<6(ZX9!0W4%)bzv_*iD__~#0DKbWgXqDt)4+q4Je32SKGLD}LIl$1=(%@4tf5CVaI zJRm;?-M(EkGU7<8Aka=fg(6LW!mp&RfeCbLbTXZAB#_w`$--PE^$c)hGayimSs4hG zkOxnnN@Fp@rdLI^Kx5!1n8TI zLypbZ*AC9P7a^S$sTD`Y1N`#F233A8Rc-BH$OE=OZxmuV?MrwkKf>JmDO8?dQ48Xd z^cb4}-fm=IuzsDaJF~48N=7K=hDg})L5l65jm^N4s7YJBXYRukeSWTF%Z5xyAVoz) zY{I~2z_bVop#4yTQsWDNaNX8ejf66=b{}IrVeb|R{g%k1rWwtXZlZV5n7IO@IO>x- zlrJF8@R)p}ot+V$1WbvdVQv7GJJgJ@`ZSv+>+$| z@h1Gf?Tt4-9Sa(T<5mb8p&Ox2mM6?-abzi~sK64l4LtDZ*w{ljVW3Er?7<$#b8Wp& zio@Sud2{+)#L*BbA7@1^vfQSJTh<7KXqv%Ts`yUoEhG#jyA zec2Co>@u^gigD6)#Wc$vsx^mUlQrfuXv1GG_r&YxhVcYp_as{)`cijKRS&{%K@gfE6e4Df&h9>S_cU%%Qy5;LFdB9O{#xU2NzGx590 z@-?g0G*QpsR6*!Oc<`7`5MZU*(4+&=iDcbNWcPGKol2_j#Zo8qPjKx*yLJV@FQ*0O zc3n5u{{3N|_ElVgL%Fy<@=@SpLk9W~3YY`XPJrybxzfNQ>92>O>Ogid(peIB=++^Y zRE|yO*w)s6e-KA)O=jQ_f+Ywm^rttH3C;iVF6zc%w702c%jRB0trmWQ@okgF#?x?y0t2VQD29b}R_pEvaLz>^Li|kA zZV|PyJP#~jMSXpJh-&)tKtLy> z3pzds22m8pB>7UGAq;I{b9XfOL}fAfojo{Xu&f)bjUj|a%G%>BMlxiO>ZarmL#f@7 ztaIniVNK&vHx8|WAzOfgQR>acs;U6V?kAfLR-6{KL2CdX#fq#Lhl+0Jx;bX4S~!=; zcCB58=dKo8MRt9i9gS_GlLj><)=q#PSkmf|-J};=rJnE!&01F&v5cp$ECtV;1{jP-q{LUyZL7a@dr=C<(aOrgfFr-=GfHic6ru z18AVXL?8;?G9vJSz_zoMrN3Q3Ac1ShAHq!{5H2ghsV%lq;_n;fuy`1!z`#6;R^vmP z^f1QVAIh>5=maDhJ#)u$2O%Y9gmya)_YOK;Y5)F0iOC_+UENfQsqARv6a5{5syhOS zr{pPo88SDrJL43~VGY%hvlYWgCMEnIaq|@o4NuFX!`MDQb(8Lze(5OUX0lh z&P(MP^$zPCev!MnaU<`Z;2MqeJJ&v~TCwk!3!jEk>XvbJeOj}rbfkKYe$>|=A3=T} znMyn_n%Z9pnv#mIpW2!+oSJ)2!IT(ujLJ#iXe; zlR8l}71bydXL15t0c}y9X7NZpmOYd}h#Kgfryf<6z;o+T{<-JIobCt>UL9UkP!^8 z?s|D2=tODLwlu+F$z zYOLzK1RuBVz*afk>c~@^nhmB=zCgwR4`DC$?ncvB-%5tNjKYSofa*D#2$K#3Al zc9hmP`dWjOY2 z3{t!V1szyP?OFfJdwW+DX#iBYN+`asY9K^AT425X*&Cmk+m2vkaU7fqiAqk?H)EXly8<8<*->j*aTwsd<_a(2{|t$7hEU~K>!`qF+AGxg9xb7L?rWgcYXcp z$fNMj>w9~M3n;UoJ)t zcgR;ksfZ}s!Y&IbABzQPE(X@4j-H@ALCbFK-Wh~N3D70PM#OaFG8r{ZS-w|YCh@#OXtr*{pAFd zm7$#Pjba0YcVP=y_vYi;yKt~Uzz!wV47!YR)Y9P6p|@Jlwu2Ow;n}mk`Ii@w;N=Z0 z1x@d8&ix6t^CfwC9LSzA?bLr~WawOn8W8=-t zTar&n>(O+#i9N=*+H)^ss{i@M1ke1B#I68?zI(O%z4*@t1vUqb3gZe&UNa#;I{(<10ihzJvkr<%5B{G zHoY~laSFsV3i9)Xf$ta|F;Kz7=0dJtKLg!^kb;!}nMeSB5H?mGSO7EuGH8JA#3UpJ zV8$TcpIAZzhFuT{32ofeauvKXF=tnXwFwwlO-(HkvdM7zfYBNaNHkFtog#kNwsWoI zV64=DwKYfeE`D@$G}<@-MX)ETeT4%Susz4^$`EVgXW)@!Rj+y?{eD@fN;mZ7Ut8`U zlU{ii02y2`BqhW^Isl^8F)mSLgk;JWNbCYv-vmHC2wA`&`HO!5IzyBi9^`+3G#ofK z1L~lj-ykf0p4&dRG+!nCl8j2iQ+T7;{o8ks6t|0J( z;`IkrC@^`^sVEj;icss=J}~hhkqCCOd4>grT%PL_!?uv_N-i#T>f)`P3cLZ`LvStN zY-a5CN#nzRt(_Yw{vgpW_xJlx=L^up+5m#y0#;B8)S491QL@1N6pdD6#Gj)R z5{%(|fvrbbBakj$)hif4NwfkC{^?L^B3+f}2mlf|RaCj?K$aRT2Rk31B*gg7VKgad+KeM`$=piG32+7PJg*rmIs!Ek|J29*}b%0f_P0|G~kB8QJ4!HYV#g9dLqb_KuZTd zP|U7uSh4N#JzssfyZE37!Sk-watzGKgacob5!>|UK4V`QxGw03hl8S8(GLQG!&cmB zkKRqfq3;RA08&k0(*t@`IB7ivSA2xepM7T8wg?wBz3B{uxPl3}2cAIG2D%}r(*(jU zu%__jB|!02iEjNz$4#JVr>D7d2Qmw26E=vhK8(M8YtR4sRsy&{l(G+W#sdCjGx1C6U2ohIxN!xJ7L3kk@`AdeUpz9(d>Oe=?E@M)Qr zW-I&w@D5TEk$)Y`$=}6?Morm~Ippr(!t?u}wH?<28N^1A+e9g_bI8D_qp%GmvKwKV zVq_$^Z4RaG1u0jMk)#Msb5S2RoqHTh19bYZn{6O{4HE6!F|`vnK#~|mRt!-sB$Y2f zL<>a8u!hi^4_Fd(dO%(}Z{jJzFGr#(mGsM{{64n0uT|@S!T;&14#eGMpz{ZnDNqmw z5su<_Va+q3*Iv&d16`da78Y3-cP4Ci4?%tc3V86a44j-IfzBFC7VLd+Z@`JIrlBzj zX*@{4Cz9NiP3wYALw%@zf!G*6devG50r~~VVWIX5=y8sYj$%!0OQr~?D1efu#Srev z!ao9oD4XjZOf*vGn>v%E5j&aY*R~1U=BtLWu^g9hRs~h z53r~p5)AD5W2?DNqn?q!FfPbqfqGlM>#h~B8E=EF$K4^e_{0L8HN7=Z3F?L)F?XkfdO^!Or7mGfr-b;1ULOv4;}DoUpY zK+simAN=Z^iz%$-30ygFW7kgf zUwv`9>IkzxAR7bM_NHy_3~&oA*Cy!!V_5Ol@+UNFY7R>z-vxG z;tjAg^poBMR|s9nb*VYWuo*#eN;2h|kFdVT)svUPN%zy0zQDtGs?hxiRLLk%q{Re2 zy_g)}!`-N69xGb-z0Pg&nWhX=8i-0ZxR-p7yPC!eh3lw2g zRr@d!;(qzjqtzdLMgPE&pa1ifes&#!lHi568GCrdgJ8+4CL<_>kv6C^M4HKgQ?PP5 zaZEM+>9WHlQ=Xf~)=XV>1^faQ2!>!-Vadw0p6Kg8gWU?A1qeR%SoVU)K4>wqb8^-b z>AHQct2+<>3YB|n=QD7bQ+8z#5rV0+EYo3%`XF}~R$>joKUPYCaB~LKbrCWef(c{A zLnmQX5H9*wVb+4=7`!WfPyh)(2DV&SA2W&5+~&DWfcWiTOM!~~p3~Ae=rD+W=)fZ1 zppQTwu!scr22lcxJSF~&XuaW7T9tqj4@v_Y?in^2P))1p>Uy>+Ui)RRti%2n`96a_ z0Z?^+#6be}EHALe$`w;WAhiVHLj8>0>qlu&Gp}a}k};1-eVDFf02bP=Oqz!*$0^jW zabyQPW1v1U3Zeik1H1x|wr*;jXdz#hE+RTUeipQJQS{{y0NX;BIJlycnLUtc1EJlp zrdN;BO31?C3)Iy=FK&ajDAHC&cdU789Uc+jg|V$lg>?9xrY8l6s?i12GjtK?D9?j~ zgTe(6!RdJHt?tK2U+m%lwR6%|mwONo0BI|9eb+#z0k}xiSOu6;5a;3!0_0Rw#0d}u z_87QbM&u_@c>o}ahC<+X@#7cW{`Q1JDgP5enb(*VfezdLXB-be&J!p`WPN@8T4F$W zFx`=o;sY2L?j0^J?)fxCdq!+c5W1W(F*hG-=LJR4PoUEaSPK;?0Xkx16XuEo)fYfk zN5hVBsZfhYg~4N>@C}U$dG>RUQ1UN!fRnJur;s`D@sL=63KH1h(X|=0E)Ix!VX(;$ zqE%Gpz|u0i6>bg=W|ACYq3o7@83~d_3#*u@IrxIS!GhgomDOljyfPE{tkh|0H|Rh z_v)G98%OZ_FM&P|Bx^z02#^cp))|>`V8cORi3XpbnREM>`C?A^-wpQ?rO6Ix{Pj%< z;NM3b6m(-yTLQNTfEMNjBSBXNaw8dSQYqH}t&XF_(csB)k0QJQ25T{?I)d!YXOMjY zElW6HAOiu18)~;whK5tVd2Mi#QNACgrWF0|-As1L=wzeN2`i8(YdU#*QiHrUgp(lP z3?Vh}L{|=8fa%58Agf|`xMK;vi!f06-d9rJ&)wblp70pYhSl z3pEP8F`wn1A4SpkVsR1%inT)90<15v^+Ra)HsN^5Sd{v;T?!P z%i%#n(GRj+5QKmcPH^V>J1@4}6=C)d4*7N5`yR;1U;+B2K=la$CQ`iP9NJh5DCz6m zCaTPJ1QKIY(42!hBLxHSFkmDpzqnW&vP3BTbySdE7}~cu1H9qmkepA3r3Od%?A)ac z?b(FJg#|hY3a3{+Pw&Cb2mA+|;myzw1bVBrYH&2*q|6DO@_HaC1M9z_zVt}}%Dq4( z%MO&jL8S-OkRZSSU&Q0Gbr%YN*-lH$QO(2E?s0IhHhXImW~zs2pj!Z~0O377$`Du9 z>z-^70V0M}-OS8m*d%K%Rb=;^f}kR5nQ;iT&vR{_C+v{KKUxpzTU8=%9py+U4+Mq4)w(zAxAjRB4itndjEEmkTL@ zASDk9p(u+6;)D>3=fg3DTY&fqsK>$Dz;{AO3vmHN@Xjk^3crj=wZQ*I$>I>8qXyV^ zE5>Hv7(<590%4V>23f+&{n=*y8dD$uD>MIT0{{VlfIJ`>un~}hu;v9%tVb-qz53wR7r1_q21S`q*ux(r zLcuA4CJLNH5hw{2H4E}%FNX#P%QFxHgt`S8yaH&$l7uYIa>-aKB<|plL2daf#PZOp zHaq(Sn}Yud?hX&@xVATmrf zRk(`}z8jJg_Ost(EIpt8+V9T${~HB9grz|M5qJ}%*oulQhi;EPDX<0n1({2*C8E@M z698hVu3m13i~E)4lco^?>^!##K`ty4AYyCHz#g;P(7gtVB`?5tKr#o6NLx?Y$(5fW zR-gT)V@ASe-<4I!3#u{rf|L)8G-@$P2qvIHx^;xVC^bk)E$uX}`+|dj@DT7KtT<%x zY|6CSib|SiKu_o@=0zyF(nK}GjoVa=z;Ooz4&&L)A-nLgAZK;tAp{wUtehMJ;){?X z%k2wrAVp>=l>x1WC;7y*}U!M1v0oFsw!9XSeo&dm^ zyz=sZmM5SWeeIVP0|P_a}G1ey_QF9GB`r>45vjw?t-trbw~Rab)YN1*mujg9^i8 z;}tYLSFmp1=Qd?EJ)Jr%xB?+}2ig`gp{P0qS`8r-gj!OMkv?;WT;#nmGpqC^*Jb`Vu0sH=dNNidX8 zfJz>QPp8YYec)e~1Z8u7{s;~2K0WG#goHvFnmy`-FyLQ5QT{V^bf4Zxols1kLjct) za$+?|A$84+JDPC)c@%|eDL3z-OK;h>~Q}>4tDFmH9OJ&|6h8` z+QrLKGh4;h(-X-{f$b-cFXoN+N4axNv50Tb)59YK6a!j}VV^_c3|cl@I6*hS*3Rx4 zbirahLPy=}uUCz1ce#mYl};n5po1nG2;(X%L(T6)Mg{_b*qb_lwn`p8zH5KB8m%pB z;4On2K)ARBfJBz6s;aHKJ2^8mbKItLe4`$Vzg5ZMysLU-y-U@}itQiQcEbbyg4(_# z)`~y`zTU~9XPuB`OBu2!XiVTL9mz-m4H{U71|CeQ$r&ma}~c%&%Ua;To{&n~>5 zZ}z(Wm~#24gToIH%Q%4IJic#|R$mWjfhB>qn>MuDMNRQQlFLrJr2E6qQ}_3?`S~B4 zsQi!}p@Sbc$$9NWLGJyV5t~LOA`ftS8tC$VgkI+m#oj+#(0;vnwk$t;6neEXA?jHK zhiFG80X-l+@U|j=x}4nH&Be3R+ zz&I3Y^x~+=#s9vd6_*rn)=u5V`d}*9`1vtNZZ{*_$m-FKi*%t4QA>4h(YcGyk?HRklLentRYQuc6x=`cPMdQD&encX5 zp}7>2-LP*WrovmK&j0t0(D1cr3EiiK&wRi0STPxV_BS0GhSy4$_n{lW(@L)DGJzZW(DlmwZgqRpIF^V8wdMmxGOdUu?#NwcG z{hwE~b-dEO?*S)wQ|??_7Fvj_-*pFdY8h$i2XCOBnF1ZScUT9{!IKcBrh3ReaWXxf z47KOm4?$s43`@o!jev0HsH?=Lo$TKb;#PGE%H3}a zqg?3RqKG8Z-*%XAgu$OjO&zitSE z?kSLSNKr_Su>t)S^>svLo#MaiTT>V}FW2PoF|hX8NgO(7^cBwe>*|q(x1MCuJTV>V z^zT(3GD{CIc__B;yQV(&(U3*1@j)U1hDBB77kSIuRAOZ@-$@-Y4-Sq}a|8TS1X^;q zdc^Ppzn}2ZY>1~_bbD7hZ*JS&xib?|%=8q!+Uz*k;p1lQGq(6{9lVa&$Du6K0_Vlq z8We_KyFE;bsYZKNfRB0*nwNLw86NRo*o}Ogo}aH!?7oV`ylxoY@+6QCc6m1B>ZhIK zJLe0bh4)QU@-0*7Q@?#I3h(^=S`(h{75#WqAUwkXhna1KFC7hompeSJf7=r$5u)<27SP4$v(+0H1q_oyXavYBX49#xGO4W0&Ariekh?)XeEskG*1|h9Ejt=RcKVbg zwlp#`i}j^6NwwDJi#(~Oa{G0rzOXQC7%A{m zsKQ^l;*|N`saRX*k~Mis48#h$uu8U_=)!trTHa~WXFY0!<7q9S^m0efx6C)>xEv@|Yk&S8lIpPvH*= z`Z>+6ymjA{kWs79`FDZ5+NF3uhV>Hh+~YmUxcCa@=TGi8=DKW%n2woAFf$-ekrBD6 z!tR4}^FmM03dH&UxPQ1SqfMEvLib^oFpb(r^h%y52@$q)^?Aj zZr>f@-~(~xkQC)W3(NGUTa$Kku5NS$JgBqC)-W=cE%-1O$(s>^yN}xS_B~HsO{h;Ob5H+9vFbKjeecHBS9zb#UkDa| zYB+Z0`8`^NK#&p^?g($l7tiO|QNtUGsei;4qm*Knu@N1Wtl$hyLJ^mYzr~QW2|6|8 zF%C?N98Ss#iyz-g7oVJD+EZ`{3;4=}p@+Hc|Gg0%-n%$W0+q zxApUTL8N)1M0 zV7(;`G@u0U8&STDEu?y}sBtFZbtzEa>6MI^N9G$UC991Xuz`=CmAzS~fcAqPU`0ci{=dI~F zldl$fm#Iw>UW83i-6p~h4d!!uoGGQKv1#R5GnTM{c*ARo|Y~w%dl-Y8AaZzCw2xAiSRN;_M`$1#=M(H-W9ujpSlc#n);A7HqNH zl>)@=_weNLR6lZ>_50ygj!>?JrU{Ia(~TN4v-E3pm}AbRQjd~jJG-)sXIe7tGA~f# zU8ub$awe_ugO6a3AVFu<$MVz97ya~BTB>9GpI#Js6Y{=VbW_E%CX|mqmEW7IUJ!?6 zp7c?$FBt{q!~UHB<-N8bUw-%AxjAh?!wa?2dN$$j8;J$ugAkq^)2af3ehcK)#kIE! zl6B*WG50%oLsebQiDUQ*U#5A!GVi5`7f|ANj>6IbVHeokyX1HveDjw`Wogo_y3_e0 zD&a#&aRSPKLQwInQ?VuF)9ghC@z0-u{s5?LzyG+`weO~fgccSx3um7{x7^RqsmnI+ zWPeL?#kqic{6mxf`g1CBMGGlYjjq^ZWv-U_?JK>H@G;XGg&zg`l}1iJ9n^~LA~9YL z5K zKV?gAMlfP;r;uEDdp#JDokl!+dZ>6IpS51Vo}d^%V|Qm|$i1+!UxBE37NUi70AJnbnV5)M>g?Ci8*Z|B9B0ED<55IzXk^*_nzr-jVz)4b1Qs_x6i~Rc`wFPH%q>`Cydg2f ztYY^y^rl+H_C4BrD{=L@$5V4#PM`WVJw6U;gs-mSezJuRWz8`sSJA_k96Jo-2)dO; zT76mybKAWF9E{3g@=wUl_tbeVer_c~<5TPY2iIiWwK@c^vtDN$W8$a}I1=KSvMm+5 zMXJc(p`c|-rBCm>iMu@I%YATGX9a6bxE*~ZPLt|A=ZF2UDpsAvD~KXyy>INpijVCR zCk(VEL+AouXje-7b)Nm1{->+!T6ZuBF(Yy&SJ2}YUc4{cG8k+2tH0_=r8T<3{sC7u zVS7JqQ_#Z%QP`oc>TFx|V#2L%-?rA(`;2kJO&Wg6l<`ofMnaY6(K{2ybMEnr3_FXk zX?IlAjI_k&l{UawPmKq38om^rEHC-%|8CekXRYWU zMEbpPRU$V*60G@{Dq_9dm-J?DV*S#vLW_6`!`(N=PfR|yvr@dq!P0y~cu1e^Be}0i zO{&_Q(UMzo^O%Y<*vCk#o`{4zzJF3KJ{seLDhY`c$LS&>e%DV#knGApOu^R%{EB8q zJ6o|ar8@I-as+++-FgL_ikM#J7mAsDQzbThkv#I_aG-Ciuzo+*^OjLe7aLSQ-@w9S zXm9QKb?og158t(oP-A|rY{bVVni&SkunKapB z3p2mo?vBl5&Weh@fWyhl-!)-xz%kuz@<1~twOiXG6yr=~H+j1N`MQm_h@nCk=Q07a z!Al%J;gj@{xt3?I4#H=3EuWU94Zbf=-qT8TudON6m(tkm!VcxWbXE()Op+t}acoBN zY?62|WsTnlDw^k21Cv$pb87V-Mg7snKi-Cv<~B^0#F1x&)tjeF>zr(+S`V(drL`5j z6O4SGR$Rf~Io+;i_WDzxCB<9LrLQLOrn}Bh?~W5`2UKKOtYqZL-ETyE?U;CFi&Nci zvVQ5Fw#FbJpld3G{62Ep%9_>Sf=jPDWB=I#v+yA|l#|n7&>6<)*!cM|@6&`OLCp}_Mc*_{V_E-HgXW4#X;!jSic5L- zhcK{(1GogK5y4ZN!Kvx~jc!}r(e@~u7;MZdq#oQW3WSG7-b;!)tXqp_Cen1BtsCv@ zMeG=!IxU(0QYGX~q(@)n$oniFnlC79Hra~VU%#at*M)~IQh*y1P3?~c;||ZI9!trjM26eErOtlHSJc*7OWT zg5~v=m5mfCW078E{$V})PoHTDObkTSrEQ-Ew}cz>u;XrYARaXMjAa)hvg%W*omsEz zPTt*7*7$xAn<(|>=mHK8C&{=^>zC<(*8~1@eC~o|82ehmEvpu`dluO+*&}?WtdyFl z#D9q8Rp_2`S{tmvB{NGWW@$7Q3?z4?S#`V7X1&T`292#2yCGp~E+(R5|o z>t|j=c7(2Uk(Zjl9g>k>d8igp#T(e^V{ATq!hIKC-w09EIM*YX@FE+L+%elh7+31P zKBy2v9U&iHZ}H?@t!_NS+U)%r^N}+xrkAqua~xTtbMe(&oIN$ZDah%*-3#K*V63D%cbgG?B^TD4Xi#U*x}!KaC7|>|?Y@7gxJdD1j-K1G zFSLWWRBz*-T9q_g=mk(cG49}GAbY~}$|_QKEZG?G;f@|1M|dL#vd5xJBUPSZOobLK z)@+JZ0!9~=vABpJ$(4bKt|+ZbHId;4uHuS>n)~si+J^Ema)q)aByR{^^J6z&XxI*E z&%{O+&d%tF=n5Jbae;+Ew03>KolB#}w=qtsua-1l@nA-_4Hd+WsJEC`v4k@}Qt4OD zAsTsaaQJkFJ|eVhvHO1vbvbN^WAir^;V@gBrBMhe9!r^1ITkX(mVM z;zoE|YNYEX1-U7Q6Ydhj7M*_=jQBV@asQpzca8l)JKOsBxAnz^^{zM1__>~|uI^Hg zcCoWfNU>%vOD(H@Rgx{Lp)B74()`J&L_lOP0k}l#F?5Dh;#^#UAF&;k<+P4yZ-5@bLKe z#zN-xUl!%m6OTD+|zX)`*`g)p=ENLaIw54yW;PqZ7S2CY@WlFNU(Ib z0AYV4(Us=Cx!HckWi$Y2;ROfJB+10eGW|`(xN^SMt9q)?O1zF4avJ1zkR{2G3ZT4q zkB|+IxU-l#VEm}=+j0z%_$%AM#`zfRXMu+Oo3*nuwlZP{%hd&=vxbYCd56c!ghS07 z$OUX3KC-m|lE8+t6N>A^?}GOnLqmy3RxcV{+;L|Lw#_wn%I19k#wm-T;$Wyq z7FOpmoBdxzL&X(>Jp4N4Ny)6$QQSh?LTP0`5X%_CD%idBDdqd*mXhe9gQ&^)+Wi{5 zwny16K|;e58)GZ#6{YH(zWLE#0`*v|{d=8x9BoH7n`09AKPj1uZ(2K*tJMsNoEa0E zTd#Er?Y-6lQ1oeE{}NNl*Ls4GqA%ys6fGLfo_|zx6y#`ENqv}uTbR(NmhrGGU?<(5 zRmk9BYTV@qjU24z%Z3qU^;~x>#9me%6r(>F2ng49Q|TJ5zsDILx<+05$#}0h>_WBY zpyuY={dN`t;lXEDRy#`(=ZP;|xpa-2=K>4xGXrM-*gEkc&mXUrO5&0Ti2_MV4F(po z(*=hX(WO=sr#X)K{`x~AZ3ZnI{9JZQ!q8JY*_yo1J?9S5lAg`CkDt4#lV{C9w-H(< zouJ_+6O!_^G^!1qL11)CD^BEw;I6X^BU$!d0~gVyy#eQhzKbF{TUZLEu0jLj`p zKIVU9q}@4gc2KAKX>hqJd+feklhz%Hc#=6oVTIXu+_+7@d=8@{Q&uLhw6yG$_xT&*{_`|dv#OOgzeY-_u3NR3tYjAM zAvmUow<1J+nVC)L^I65H*xtUwY`Sz&f}RV+BaIg=2J;D5w=Y#XP>lzlczu|nlDH#W zZC_sV?lG6Ai)&C@w_3Q?Uq3up&tVYsTe?5)X&}eaNcUM-YgRb);xf;@fmYvxg`YU* zp&e*rl`nF6`sU?ay;#xV=Y=00hhQl7km4iO#CV@I%!{m|IOS8QXctgJk3$IH}L8L+6h}?bo*}`ptiCi(J z9NWV8yy<(rOi_MuZ<|-os|64wY>JbNwAKOS>38EN+2~OF`nvj6g&D&r>1Bi`e==*% zo^*tav)l3|9j=mvXJ;v_ZTGu|3`%=rD;PfEbEh1*4Jy~os)R(ZV;MT1d)((yS&CKh zjS=9U?6S>#94i?qrt|vqwtF|JJe~4ujP&-7ms!meNz;jb?ZLb}hF0#efPK9yD`Rep z*9LWS)fsXYH-fDp@uP##rz+HiPA?!sfEJoXyO8EQ28`zNF9{p}vyl^AbWLnN%H~io z33lpc-57hvy(KMH**?+bhi!T)m-C3eOdeWh`>O|(YGZN$ZmF<~6={JyW%k)S4I&{pe#4OkA9a&9 z$~7MI@L7E>4w~K8=iww|o6+?cK7cs7Ls-;OSW!2BgS{%YW0ii;siR80(p@TsMqi}O z;e~M`TaxO#LOrjf>$ML?uNK_M`|MX(^xV}90LO*OF3L3*-TU@2v->+!)P@8we3Mv9IrHH6s2Q&4!b!u9r&e0>=hIz=)^aC zF%)r2RC7;ie2t+Ekt&QL*)ZT<1|$Bsgf9!7hsL0Wycw-R&U=3BmXugHo=3ImXWMix z^RSZHIWZ)26|Fdu{(2;PN*b}Q)yiL%t_>s0a`x{OZ=)|Tr-r{TFOP)^^BRy*K+y6X zX53_%qNd`;j%LdfWdE^7zwrZ;v4l!jrEs*Hj{VCgb=(fSkjT4vl2RbV!v;gIul5n$l3#Yy1*`Cad#+)0kvhg`0%&NN=Yz#QY_td^7Q10%PxEj=>A7zq# zxcWs_aA)7tuT284KG97iy+MP+L^n!7sg5Jy6}urWWvI^*ovufXDP;(@pF^wmP$%y6 zD#b330B$~`<+{xWaIfO@5BLI-KYWxnTX;i}Mw9q-kVS)~JE~Qi65ZHp<8w031o~7L zt*WhccFWki%^%F7N9E0F{5d9SGwR3XU2|2hy{?SeB&rm!R~S{8lbuEOzTSK{Ln!mG z#V6f=_oDDh#^urvW;0YrQ{GfU_f{dyHInU})U43z%nQaVl>4+K&Jkt0Gsh5u<6Fs& z|LP^J&H~Qet^n^~u7N%DWmTQG)TMUGNee91VA z7eCQQH(|7%RIp1q+@f6Y873;Yug$4ooBB@ZWsofF%8L%PW-(FeO0b#7<&zC};! z1-E=?Y5n$WCNn&QR#4M?J%W*G?67}oX4ESg3x}I;DYNjS^ba4&*}u*c(TI#LfH$aU z9B6vgaIM9flV@1lumDjhXiD!CVfrY0!%f)9i}yMd(^U0!Au|_*Ix!e2Prr-4B@O*3 zYpM{UVInfD0@tu-SI}&)Ehx0O^>WDONZw^zCpH7?)=52g z+qilw2O}y{RsPXQHZ2x1a_s$eb;@7^)iR%Z+!6*{UO6vO0XBah!Byhg9Javl3On<@ zs^>?_YHv#J=+{=;1(p=VmiP%b2qfqWO-`8k6$jBg(LD*#B*E?;aCjtM*-5&l6(#E| zY^(dOs$FO{VLg!OtcP3g)SgM*@(f{5lT>JeU0|j_(7tbhB9(w5F6Zs~m$&G(oA21V zM${i0avie^TJKys`VlnSq2hO-l-DM9QGC;v`|#{ZS?%0cxtdnCz{suoCRX(NLy`KI z?E5ux@478oH0qWojh??&uT9T;#mfBtc9BcM->4)DS?|2iLhOawEVlJY$D{=Pm-<1{ z0lGk=fKqB4MjD_Gko{_S*xk}d1~iPohn+R9$~TS#}j>Re(hxhs2@4llrZ+2IOxZD7?I z$feCkvskp406Y_XfuTs%cu^!I=!HeI+EFuC)S;OQIxlIrmgROc@|)(cu=eNPi;Dck zWm|6Oh)6SkoZM0PCYeu5BcdQ0>HWNGs1le(3q4g$;e{AfoD_8E)k7$6B4eFbwB z`{Geg(^*Ks#wrH9$R_?Sp%u+m*+aRuE?T!!IQ#NRTyIeIG+EK@*ui8PwlkENen&kI zLmR>yil71#=c^$0U11Ze)WXJdU(HM3Be(oo%gtbH#rO#y3*F#z^ zo~x4ks*N2-a=PfINm%X5MxZXKld8!|)~6paAqabxIypVrGBIrhR=oR-$rCA~UMw%F z)MbYF+_iE44vXHkka&${EsuVON$9bqPXjQT;|vY*FuObnGwm}#Sd^HVi7`}M2FxI) zR#womIl+_3Oj_36Qk_cLLTulxT>$$w@3qC&YVGFo(2r&O-|p+hRReYth93T21I5W2 zdiOJ7qxGRFWTm--vzu64jHXpNxlOzz8qFN1`no|2FD6?)ziMsrpQ=5R^ekDK%nQb` zZ8M4OkZIp0<*I7Eu?V-*BZlmai|VDv4QP4T@HYxJDTFNj0w9RGZ(3jdw%%PmuH@pm z(d!JpJ4BR=#pr>|B|LS7lhY=3yRxpOB>C7|b66U*B$D`{-S>voO<&tFtxy)|sg})_ zELenK`k)?oIEAl3hU({f+0RNi%eb|+RXmm^maK4#idpaH^aDQ z?`^J`D~=B}13kIzBNninVJ!Efl%9$M3NN$6 ze)lc>DT?neAd;QDAKWsxXt^NOw`(5w%Z?>Uk~XUpCo^)aiRu?yMAKFA}KiHaF|@UXCb4lWv?3CQdLCAd7H#I_{*@y=X2YH1JTW`qXwL7A@h^yXN#`1w6e8) z$Yx4U;7x z=OzPA5fVXjgXbQF_-wU`!?Fxs6B{lstSV79JE?PW&b|X_fUiC={_S2DB^m0;c>}$J zu}hRS!n4*G7_cGkaCv?^^6+D41xV$@QrVkel+Fh_Bu0Tpmj4A1^W0WU9kt+Yd zLc7BIeVLNByu4R#mmBUD8xsI>I#oPCTMZ9cQ)#PUQ&RJ?E zsjcyBv?#G$G!H4Ph^t!`YTaT&VVX~CJ2AoMSD4u@#l>h(FjPPo_AJTGCxTK7VL^K<|yb(V9 zXdQ(mXj0V*e+@^ zY3j8E#l*8qC<+Gbq2j#dz}$GA5br6T5+h@v08Pxw3Q}WmDu_dQ(qX%eeH0(3l8Vac zQfii|g9Cn}Eli7WSJ3`z;e`DcYjE_r?uL{_HbnXbTl|=(~|zooeWF5$Y`A z#*nnJJv<1SI>427!R-?4C$VD{TjG0XUL|&M^4EDo=h|@V2aWiqs`}Pz?Jg#I@AZgxF>e>YXGm3ftM!TG9D)k7Mf}#> z4sxLFSHaDnbiV7=h0&$HPuGW#uQ$4(e&>0+fCD=Hc!1_|>~M4!HF=^>e6}7tG5r1e z_s?OLv;c^yeB2>n(hTE}Fptxhy-eC8zF-7*T9+;U_mcmD*s)+4{gr9mmkxX_K!{KV1Q+|` z-Z+Ta7-IyC>O{YNTSr_AgIl?k8|X0VuhZXHY)Rq1B@fhVv_KtJ&b0i;+5hJ{=nXMD zII*Y3wgSBV{$MSv z<{*0vLsV1F6wnWgF|^vB=M7A!i@ou2wm3Nr;?^iAxNgdEdi=D&jdGOXPoD}uXfjDG zQtEhHUTou&a-Y__GK=Bo1=MBFcj0&I&@vau=UB5VO#puEsmN$Q5yxV$Eln{QoE-mngRP+xB`p+u*(-+{L8z;?{ zAHjVJ^Dp# zedCONAtfzapaUVQcj(va1~MUbLPZ}@IDc5OSt!^jFmb}y#Zq^9>gL-&y8ZlbOSYdb zkrjQ|Hd(K>@f=WMkMt~JL2hriZVn$|qOAp3?T+cJ)KqCmDGweQnxwbnaydLMTbZ7Wx-B$jddWY zlX9c~r#G8-#!NnhuxD)5Io#c2P`C6HInv<~SRpf8Oihf3Em(?p3M2=y2VelexIPCFnnV4o_W(m-{Z4 zP&eq~wuMic^!?kxThnH?{h{OeQYYS$l=xA~l>3B->+0C4F!YhHk<2>pQ2Zu4^wOq& zdZ%iq{dU{P!W_Z=ZgQ$A@xfur0QEOsGuNKQi(Yq!1AngwPx;$m>6MpDZLKN>!XB;L zQjbQsZISP2=K@onyrp?@4(YqC7suB zk)@4epVxJ^2w@Y!j8T(Hq)@)+q_ZBTm3G1#{KJd?aJaNTng+U@^* zN}QIa%64KKWxYq$qoYN3ZdY$S-P5_3>{)MfDqBb?&?)31r!sl)0)f`vuuL)B>|PpW z|GOLb)6!j5hnMsFLXK>jeXX|D;SYCtkr!@kGq~>F`?k73q8Rdk-uOokABlOD5ZZm2 z(SKBC$fRCSBr63SFAds>FVZe9V~r`M?ag7Xm^WKIscG=^q@P{X~ii?Vraf_OmE^kXc&ELPT zd_*CBn7h>!)a!Z{t&lBb3P!+ub8~a`V^!QE|2btdf15NLvZg+)h#~Xc{+8edkd3#Tej>sORDZYJpsHscrYOweAjQb)na{I)* zW%Fnb2Te|ud3VB=%+ERAuX%<|E4PouTJHBUnWQ<1$*r%h?XWUC?>q@@4oDXX}5 zNNl!he-e*Yqouuqv@gZc6+X1KwtlVfq3xf2%Yv(TbUKu!tE{}VdkEx$ z6qJ;Awx7M==t(@eYE3P?gjSXDuob_M=n27Xmb%p18R|@n3c#m6etKsR#S> z(-R(qXj$fDJsi=AjW^Dc^Uz+tI&qx(`Iu&L=I6(sRP6xCW62Qe8+yzLaBy(E65R@`1} z?Q$yj2>awdp-Cn^SZAUV5E}$>%QFsnG<_V-0oEp z19oR*%;vtEDmWT@_Qu0CgFOFm1-H`^f%t@ksr`N4YPbDsFkEZ%d)@SW8@_$oYKr6- zFpPS+Dswn=aXxP8j;fcZKhD|io~pjS?d|0*P1NEwH%pOW`yt%ifUpuzOdiuNhpe;c zT$%TQx3&B+U}E_upQ=r_x`|sTfewyZc#D>7rVZz~X3G|mkO{-Vz+`pyH2Zv9Qc|+FziAx)__{9A1GVw@ zlai5Ps%2@@ZSD&v(R0MlA0DFFXxbxD3kr|bsX`m}F~ZsT<&52RcnDwqG4AXv;vOlo zukQ5?_Vs?dUTUqu?I6=N?lIyVo70mfSOWVAxH#cbm6Qn#?grcqFd)RK{<(4B zk6o)JOo=!*>DKuJnchVKu9$xT!AdK5ys%< z;T${NYXivh>xIX*J#HsjE#Rb{W-7Zpc3z`iM)9#pS6^<^2FEAZvm;C;` z8p>1>wUDm`B}vaGdCh!vrYN2t8Xmbl;w(*QKwl`ilI?hhK@Tf|gj3 zm;XUqxI<<~rDUauQ*hz1WUgwEjMI|>S)3r%BGKsgqeZ(brC7>cRS|O~t(>TMIgh4s zsCRq0X+X&LE#A(YO%Wqq5$VB%q3~m>)M?#&T-~B4Qo-XVYn=(6^Vb^MSS^vuq{0c@uUNhJN-&S(P?s_D z?`3pPqcfGX)CciCMn3dM%6cKC`UU5dPKNRJ?a5X(hEl3CH81UU0gWU@ZyWA3W%>VG zSx+fL!}*h&VR@P%c#84$OJ+0frtdXt{P#WUbynNFoOtmS|1IDdN-#} z-`D4K|K1(rzJJ~y&8Vb`8dbY?ecxJh%{kZFgsUjaV4xDA!oa{_$jM5+gMmTghJisO zLq-Iip;s`xhJis>w3Lugk&}?1P;s;~vjmyKz{rMw(L~Zx8^X`heMgCaEGa6#t%Mba zBPx%~^68u^OkNf)2**TRr8++nwL)LADzA)!wWS5FX10ns()cLy*)vo9SF>MuC_k~@ z{fT=O8-!BUU|2^7hyJ z5gvhxRE6H)$7WXvFF9x6pkj4j``C%kk}Jy!0}~#=tHeOCA%4dUor+N@voNbM>inI4e!1DNJ92*gP?XADFtlZkZuI`ueJ}|{l7iDU=i`|3 z-BEmc{>zMBB8>}0ZP}>TW+{z>b85YbTBK`N@pWOcVfC=04%JmF2H~lx5ue?^2w72o zb}|};!CiAW&CptgA*bFz3K9b$JG9WyQ+an4vFno*)cHdthWk9)c*8CzDsYD2O^`q_ zLq!AVqh3P#1Doi_ncmu+nDY0P5&P~j^5m1FcqfSG9D@NPO_E`ySV$X@xKtF=pLoTy zNQt>WB)t1P6#cR;j?p-=T1)g5u3W(V`x`CGmRAgBUA}G=-t4aXT16=Y9G}>>Ob3EX z9D{}Mk8kfot3L=)q0sxP$k1eC3BQa~!NV$vAf=C_IjLqMn@NB`2TKOlTz_VizfpeK!}ehrV@=@mbotn`36dDxe{dO?Ya0AOva*lz7TG2!G{`#0wdWh-n)n<$ z+hCw;3Hh7P*>y)}fx2Q!nv3LDA-gJs=4*&uux|cm_V$Lnwag!z;eDBFdx(ne8<9J_ z#Nl1>=uzbf#ZK~P(aB4VidXpy@W(k#wCj4Pr* zOlEIdm1kE^j4_55nyXfLsK(;@!wVi>UByn3ITiEkH0b5WFR6(Fzj$5vd^9dL!_77r zd8pmKIu|Ks#H9|db+Ltn^(P>c$W&)!X6VDH`1+|=HqK1kue=DFJB`-8MuJ(ExxKmZ zy&VW9d-j{a?OLAqJi6AX_iZE*j5#I>UXAyQP-ZrSYe-J-QZZ(fKVOyq2`@a)?`L8xznlL4@xVQx}{Dh1mmO>wygY;||CQeuoHHR!te8fiz97+EXX?!Z$?^XpQ zb0O-~ofM&;*T3@>U^E8{ine^#{4Rqh@k^C-3b|ffCLfd-7?SI-P4fmmGXy^;a(vT* zP$&FQY;Syh``J0se2lP+7ssbkBgGLsr>@zT1d)C5)y|3`;Qol}cjY)`{Y0xy9Rc+w zOS4EBVVw5(hcKG<$Yil-$ClT6-h>7*nyW6?a(Ac?Fh|{;I2H&J0YcpgUDS#cAF+yX zBajP&GJ^tx)a=<@u$FPcCFv&8wx3@a<8VasMm9w?g*PR;N6kumOYYOg$==X-#q%)6 z_t9_0MaUA%ddbSjCCiZ(Tz%xKL77V>kyNHr_#V9R?$q`a`_%MQ?UX)(u0MWFF1!Gl zk&}^`L4YATF*5P_5Bjh8ztVPtl>ZjDETBl~LtgOte$gC!;jO(FRrdGF8 zqhEzoZgVQW*%pt!f2*ol!lt=W=&N|2bYo2vZ6Lv(4!7>M?urN(l)`)QW~BTvr+|}p;LufFoY6JoYt;`{*6N? zPN!LCxX#r&b8>fz&QjMB$qKEWz|w9;IQKrxpJRkjFXU78=juR*h>2W@sp{#~osT<- z+jr%YUnld+zU}3u=LkqNieFXP3gDXPaCnT6Ku{sR5EsZGwlp;_wIp>?ObMxjN1s4@ zoTslRRl9L}yXVZg@NVrn{6+1B=FZIC3TGF_K6)NT5iy9H*K}Oyoq55GZ1?xIxLcWJ zZb^&-bQ5%QLR%gX$3E9jMhx3xV5bvr#1)` zlKYJ|tA1$FYYP>H6j2tTPTCZGE6N@z2d{xq!Ix=EoW*Ii;7RaI8c+I_R*F_sV~UNc ziNiv?@leA^ot~Y?z-i`}`uBOijLSUBl&yuVvt0aLqA&D`)1oWEZ_?${%Nitg8*Ca5 z=oS=QOESy!i}Zt+q`an0kBch4cuL0~}Wl=}?gWp`$KWdtp_0bN*Lab0ZQYTO8)b6(-z z9GrXosNVeOaA|LFEdU+9!@TKS_jKH{kA3z5wi~t|_M88_|B3&m|5e~f!0Q030M7vZ zK=WthXp})g!R4sU-JEME?!VfyRIbMPa_M`gdX0O3^pb@v1P}KR59Y5+3|12Q@$|eF z$5ACmq4J2craF?+mQjklVM%*Q`a&Q3p2kdZWIu(oI%<}&y47T506O?BtQFS|w=&F5 zIfuT0MxDM*0bN!vb5_{sJctjMm4=WeJb@@)ZU|*aAi;|sQCW|tn!2B>kYV$NW>1cj zE;Aj(&S!qQ%6QIr$B6U}r8K;>RZZlK8v5mK`HjK+Kph#ZW|hIQ-Zs4+^FEG8q()>` zkyml0^3llgs8+(nmz{L&v^f??#Be`bt$0nt$M)fvk>xK-$q6a7Jjog9XIVt&^DA6`g6;6>SV4Lp>ntAfWJC}iRn!VpX_#B8XRS|?Xs>Zj;-?Eul5Mqa>b11I zJNils>Nd_^ch{VW#6YX}2Rk-*hIKWYzRkA9H@&Mlyx2K1Z{fXb^&SlZR7Gq<4fT}_`+GE$Xs02`pDb;?5}P_`>*DprpX^Qz1}PS8nU|D z-CYW4)tt)Vib$&vV)SCYCpmVK_$G1C&_2>md)p=4-(lWa@ZjjCiSwxU?LwxgZ0H1|MdI~O8dIS|;%_s~!_R9CuIb-4OMrbGsxbVoqPzV0gJ zTJ*cf?XXw z-RBR7H@DpyjngfWhXll|9(q|gUhasm%W&9WOag3KJHs_zbDQHPY1IF z@P%@P7=5fx>slt8YfG6+_I}oekMU-UU3M{vFX{@98Drj7>Y8`K_xf zU<{bc1DGz<-AOf=usm3-E!gpDlhEDY+7*wBrLQF2xo3&4X<2wM?$Y!46MVO>j`11Z z>vtVr8nTT9QX7?4Cjs(8*;Gr;Oi2lb33!YQg8)ke^9*qulmQ&XW;JXw?FP_E2kNO$0U}LZ`FZ&;2lpt@R-1V4F9+X9>b?MKf_?H zgn18GZ`_ZsTSZlZ-EUCcN2GwzI)LM4$H8=I zVEjx>6|b7uRY3p!w^l-^_>%q`>(b8PmV{~Ny(CgtW3*XS^ z;undgdE~1aWHfDgJtff{yHL#^~XfD!$D7uNvW> zki-7(ZlXFUz=3{d0S781Ei?Q7a3J|V4ixj>1O3liA^P7n`aeeLf7j^$oXP)PqyMf^ z#?SvBL#-%29H-fcy;`xdi^$_$?d`>k;Zg>lQ%%87R%|TT|KaAZLor@ssxVWeMEvO2 z{fxlbW})F*uvO`EDhjy&d{eSaHy^@STu=|#GzW&Xbu z*i&3B=LsqOV&%+JdUe!)J0t&itZU=b+rxB5^44$>?_Ijb^TKp~pZHr#$d&CtdG=!Y zT<6Veo%)QidYfO%^>&jJE*3L$E>@iddo?O` zUucwoQNL>Z=Ov(ki>B);x8^h-b)GDK>!wzucmiEr&@~RHCCY4k{qJjSA^YL zr$={m=5++I$WAo>$tfEK?u)A8_rue+bEDSHo2}(X8oLduncE&GaHAUU{#YGX?4 zTmp%)xs)v{{0CFUzi#b#Im+GEx<2KD&j<2J`hc3*4)z@^t_9S}a<2r)lS_wb|Rn;dL_SNi$z^A-(B?XY%*jJdvh0o*G9dJ4*ta zr}S^}|Ho%q&>_6Ca%y!wSd3R-om15LW)|_c@-1qK?0pT6wB2Z(X$}{OVp9sC{ZTk9 zKHT!ni);-DA)|0db?&FY9T!A?qM5!)f6`1*QvYg`!4^IzNYmj`Yb!pBPMBQ8(@XM3 z)z$uU+UCH(bw1pb_3}(TfkeJcEZnI2KSJ|g7RX{5A*92j*~?=Qo(sb$kPLqD(wa7Y4D$Zwd9&c@|f76&JFn+^oV9GL6U)fDbkPFrMW^&AU+s32H{bPbaG?eCr5 zt~_>_?G{8Nh5$ibxLTt3Kb#gL4twVcDs%ZbURfpoQxN>?O;ifSo71%1Yx@FiQFFyl zeZn!41r#2`+(J4d-0h<44mGZ|XxPHOJK9V(bX^~ebz87$%-kE#m8dn%4Kb%@cY-Kh zU9ZQsPJh#F{njx5qu%Nllb85`&1;0T;3`6~v#O(A87}?YOsBvksA0lRi8wQpkyCD8 zq5(qMb6DcvpR1a8&b5E0$XdR&~WWH@ZY#Gk#*5&LW%$kB6k|$u-*6`=j+wDeBW@M!b0DTUt-i|8fNZ}C z6?^`D;s3D-qU$Jse7AvG^}kn<9opmF>(C`?JH4L;#7(_Afs3BQmzD0shs|4LJU%z) zh?@--6Fn@=8}Sw9V_6ltjkXvunqGt5NaXujeh*MZt}OR8l*Xxd3Z@O|JwJf+-o3fl zOD^5rtL!|SZ?H+9i_wK{=f^Ihv9*2Xl6y*`AIz2e8akG=K!HmyxBOY>$~amm<*u%wJ9XC9;TXS4HcMfCcG7PSn;{aT$!o2)|_ega_g)RsaK%* z(gUFhFl(XtmS;9kXT*v3k?OND9CsI`k<-nM=F?`D{(Uq5iF|VZSdxOiMCHHA&zxp# z_mhO%B@;XS)Ce=X)&W)9-c8q13*Cq7L6H`@1iJpDIRM5Qmp%8IImZMiS(<(aR9iB; z9CzFvI+O zw(O)Iki+Kgm8Gu==M}OG;znoM=9!z+oNC7a*&^wgxLWaBS+eiNumvblhcHm5ov3AE zKomINWKGpHWJ`m<*XR{(js{bwshs95m7NdsGS$9!Cxe_*VNLDBtY4y$vl!dZnV~^o zXhdQaA9?P)!16{g80U?7X9>UsMy0%@C@>H}pCo!9Z_dr`xd8~x4sG}!V3H5}kFNtR zo%yBl*Kz|ei;mRS)A|B8Dm>PgY|wb_q4jS%4X&Y=9n((`Su-Po$8G3!P;Wb_#ABlZ zAu#k_y}3F%@_m4s`|Xbk964Kmt4}g~JQ*Zk%8wOJ<1@cna=Xeir(*29oVSj#=x*+- zW9z)DxdrT(gN~bB=BG?*93Zl8;+oN$blIPs*x~`rvh%p?s&{sDBN8`}33-0}0o_P= zyU1MGw$@0X{Smtn%)M}Zfkf`jt~RE`J=e$5e*QDn3G{5@2*?DJblcm5MmIE;Iu)}8 z4Fk^|T5{~PgI^lD;BUakxiZuiWJ*4J0E({9#}B)21(I~E7_%V&EV`Hs#$4=Kcyce= z_l`6d;&5N>&rL45t@xyR_rB;GxmxzBT#=d!o2s1yPJiv$9=Y#zZu%R`cxrwgAH`*W z9lJb{Y)rvpQOFdj>ufhmRTo_9!B)24GJwYBzFwPOG+nJL+Z%2#7wqo2j+ecTns+9P zZ|`P1H{un{Mk94|mEQ_O3vPc0VtQw8`_29&IGC?L>$#2QS>{dX$9*dpw>mlsaxoUU z@HhkWEcIfF?9a?Kj`Hs{3H#hs?MB~r-HcyaYWu(`Y0SP7bGqxNHgXaqCw<{xr1(dW z+x}=zX+M18y?O0_%eg;)9Vhum?SYIhSmpmM%HP4w2>N`!-Mx*Cr?ZRSN!o786YxIU zropZ#jTcI+na32{2X(&`zJDbNh3Q3p(+^UrT1e_#JpV7u76M9Mv1 z4JAJW$hLXwE(_9gl5Io`qK*EkBna?kSAl~%H9Au9WzJFFUc1nqWgvj&BaQg%zf*?t zHso`E{Ep=|XPRv4YUnsb`-B6jHoAoDA3hQMs`0tMm}ym!j2w46{@s1JQ=Hwfagl^v z%@`>A1K7ewk;`I{`=LyrRHQnqx&q17LV#_K(^tM><#(P4ykO>_Wv{}Q2hOx_1Hg=m zWc0Wzpk6|PdoG?&+1QV+JU+Nxg^Jwe8rhXOJjFl4%GBC|z`s^2-bv-){3Dm;$16aDINX{^jqYbxan|4HKo=9=(PQYT3Y zKF0U2Bqtjaakt`tc6i8I*kdL57n}UUn@8p zQ;C@T!s33L!rpDu0fnUANcDG4VNCE(#I2)C8>w$w2nFfcvJ=={fbQ5 zrvW#9+OqYa!AbIhJF*Pdht;Sy&Z=dYj{47nv=!P8Fq6g0%=F@%xoz255KSGP|2g&_ z&_R4o1V7F`EPk)Nq4-;!`8B3C`bub0*yELaJO}R zo3iOeyj7^DF0CRoVxI8h$h$qP9whS>Vgg+X>^;2dygRM%x;hm8d34x%bm;arOK|R> zc1(EG8H+`y&R$@@DsaIfKl%^)aVGN$6z9jnmLwMpMvljp8p{$|s0YpcL`&)Y-u0v* zCDqI|8Mz0!8e5DS?h%Ok*OpqP zAytG~k`)8|F1s55H}dEl&E{G0o+Neu?Vnom1C6yQXTf7DQz)BNzokjj(C3%X!}WTM z>`&E5T9Pj$={Cgpd|g)%=+O4Avh9X~qSC zrNtGnWy$}b!+btI)`r_$?q51O-bem>rTQuJ0m4?hm`LvDC^B~4FLTaljz&n4)@fti zcpPw`pFaH!=f(TI3x%mLDqO(Z*NoY*=a>d3X&Ivoet6Mv*s?c&n5Lb!^0p&4Z3pMQ z9|^;u;zglMMK&8~BloQjLuu^$3RVEvQTd0JG+mcK2N)aovVfF1% z=ZdNwXC5N(BIu!8=WXV}se(5aQ0%JGIZUL@{0f0!8L}*c;)fOa0AL8cxjXWEbkenL zE~L)ml-}4NwriUJ#EF&f!UM&IFeJrfu|zc=lxzsW<<9m#9kM-Yzp8M1PE4s8w6$Tq zIILZ)G7I{GS}BtkmhJe1(N%Vsh*o8?#|$McveOFiak4T;@%(k@KNyMw=FUYHQyY*f z1fz=Pe-T!HvN|qg3Ze(IpI4>?Z)6rix|(&jVm$i6^#+|5t@8Evz-ca=h?G*=R?zy_ zLhk|EH6JKX5BH1u(+7VG!)xbo=>fcjCs9fLlTb~C4XEic$hK`Nlz+k=U`QRGjfu2A zAxpj0mwl-ros!z!@ivqw=(h4zU+WCF0?n8?UANN{vnSnYJ7`W%=-hP#e0hK9hN4 z0vZ##I#&(WHUx;!qD|uxgj%AOl&i1P?|#pavvnBY&@UC8Kh_%hLILEv2g;sVo-{R8 z2SCd8Dh=AbU(e%7GlcZgrGt#Mr*uzSLrNCNy^qDr{4%OiS41ScibhHtNI@+-MX6zP zk{~)qPK{B1xml8f@SNrn%{p2~9I2XFNnUJFUH@)@gozZ(WvZ1q7R_(sk zU)a`iq%5B2b0$Qipt8t2aZfn0gr|d#=#8AP3H+6@{ZX+gjEN_furRQUUS&T~FN1M^ zl>k`3)IXVpdSF)~quOF_DB13{p7?RHlD9^*XJPZm6DIM*Zda?;CNpbS0QzR4cfNx9 z$@pygoA8DS)N#~ts|VmI z=b#NOla5qf8$d8;R}mGcSaCh(%CU^j0PH--$96i5V6NCE^W3H!9(ZB^1|>?Q*do;2 z1BmD^e`BecB+x0HuFPq#0IYopgJ-eps|0&giU&~Te2FI<8J=GX1d0GSeSY<(=R>(( z4(5*Fk>tAp7Zae4sefz@2%p=XLUSJq=s3oxC_G4 zMILViWTqg83Vn~<F>GIW*BX{4aW2c5A#5i%eW(1BGq~FwVTJjaon>|sCvL#$5 zLj)q6>zU4n&0rWHf(u2$Vr`o@lbn`X-LAxA9M%UsjJg1BeH4rv#vFD%;K!La#UWHL z6>_^7^M7DXld9lmfhE*EA(6UjpY!=!_cr7 zU3aHSXRWyQ&K^!;{jRk?D$ZsgNLPe4%8e>nrshJ~;RII_NvBA1$j z(>BK#C1*!akiUepM~!VXZ)Kgi+yG>?O(m582TJBU!ZCPlPFwr!_$Q^YK4`Ye=n(LN zuJ&?|FC*DH?898aVd(9E#91(#-UP_~LG}IS&{ zgwV})zV8hA!!gpMHWpcIMd$fXg_spKGax|x;gQU)wQuY_0M>ggY(%cw%Ch1(E!P97 zLP|UIR6{LaG4-X=xmi`!DR&}S!rzG{>>mJ7TB*26 z57&?D{&;`oQ^%PeLmVeMQ=zXv7(+^W#gvB`CF}AMd$sC`mN>k{t%4z6QQ}$J@QDaZ z!&ahb`~0UfCTfC=g}wzCFAjrbUgcwuegeaCg7;h_UVUNM28sh)_}Ow%zoaoZRsqD` z6X^v+7P;F-oJ`9zd@YJJ#RWcO3JZwe)GMl5DN6`%r$h}(Hm!Y@%u$<>pCjNLi`dC< z>gnbv$+-P=bqX#i1o<+6gdgwDmJo?SpND*NgYkddcz>rU(G5pU_o${?;M{!Dwp$ra zF@WKd%=+N*0+L|klc2$_W8yr?Qex_PzaILu+^%L z_#+j6ED_g_NPlcj>b?Q@ig$)lM`!o9S66#?;SpY(NC7W`S_Pe|9Z}N5<$ZwCVk)0$ z*8$ZFeNIXgHqME%s}Uo7V{rvgz#DzQlx}bR9e~!;i!tpXmY{7ul4m1w*tEWA5-SA3 zG{?nW@OXtOa%V5Hhq0Gi)%??C&Fv+XE2y&l(oqksW}Z&P1ppY;G;0oV&L!fAwBEyt zqAqP9xajLx;dZD#z?1yK=RSM(D^IDs<_A;EBQ&a1Fbvc^g%7A+$My|}!ChL#6KQ~i zw50;!FLLuZS)_FK+|}3l7@y8?dVM)X(Sc{fhUkg{Tho0nj$CuI4uJ4spU3+}@`H0E zyYVeAw7QIo@Zt0l7=Yn;Ow&|ZO%_F4FSXRi%Bn?MTi=}T#PGjM){8@~(dY;eXr{-m zHVK>cDC0hu#=D_C@X5LSSK|~BXoQOjZrt$yAub zWz`C2w?H}6isv^(keB!Xc$>m4v^^YozpytCfTg?`%LFLxuagx(^q4(*9kp*go~Pjkw&5x3CQ;m7?j@9L!c@YGi6e$3FkG#gv- z6q~8(_vRZ;z34Ptj4~|V6f_8j7r5Xby4YQ=ERYKBfdEQu+6E~3&o;BwXQRUKSHI3p zz7;tz#Hu^kj$gTyB<5yTpS_!qA#WyiTb#%q9S(VN03`y&KM741Q@}_^4cB5kahZ1e zR7b|_qbtCQ>J%9ur&_~ZnnkDNHQwZ107A7r>C>A{9By21u&-a=FIvHn?bkQd$yH;*wcc4<5cPAd9WZO1(gsXt8Bwv*KZH1q#eUJxl!D0d0CE*9JN;pUSnlpjsE z>vsyb-+MNQ1Q*0I^Na{swj5`?E7z=9WS@7e&NH*-6i29iGIc1$%R^G1{CTT!%~UFt zY?!qw;9O>p1Oa(QswVFgixW<0sILxV+yfUm3u@*Fq-3jE-&$RM81s8rPjMt%l?1fa zYf~*x7O5O{1mscwY`^M$CV^JT(%njL;1t(Ta*!xnD#Oz}9O(G7{@}aWzBfY{0PBq1 zIZd5vb~0}S=AqoX4?>7-x2a!;n!Js=IEK0b{^vESp8IO>1(oZ-%vUI>)QF({?=Hn& zV1qd65tt{!#=v}@XVE4xuIu#eWaEruyASDlyGgpBrP&c|?nk$IOXe_W$((UTvh|dbiv+d<3V7e8^l%;9d69R+0nJ35&f6-F?{Z1m)MrOLbnV*f zZ-KhsKI&gG)Rqy37|6YV782Es+Xi~_1g1t5kTXKDOCJE*bGCPB4*2Y@8G)%E=3}Ii zap{$v(`_2G&D>Z}(vMp9SjnF)F#TaAjUg<=u)Y;IcyrYSkNMFxSz=ai2cWtcJEL^9 z@3@ROgHW+~5<2h^MwJRjak!oOze`eN0;WlRT8|k*bz7me^hec>myk$SB6@=u0kh2l zA8ke>PGgAMvd5r|MbVMHF;-zJ+mWR01EADjmn7@j@-;qLaSipa-F~FXOM)H%BV)12 zVO`KML!tgb+M5A1;DN9Fb|5ib64D<&pl)U+i3o6@O=cX@Hb!I%2hn*$|2B@KDbSZRZ3s5tY!X#Ss~XqsA#LepO!E#P{z|`_oH>ji zbhEDNBoT;5PS4-;<%7cW+#QrHnm_u`dzOF}0vnoVfNs6}&}n62RVwP$(aK6E$@iO@ zVb(o&I&2tbtC0_F0D^opL*H`e=rQYPU2uxs?klpaCV25}5f&b?2~+sGE4F{_t!Q7Q z(A{zGgQ=v#;Oi(R#f_~eHQZVEvdAbi)x(4JY-y!DDF_@THhDE-A9b-aIoSEV2Q;W^ zGIH|?{`qmI&%V|l2sepBpYa=O+@$rWqxE)S<-rU*StE_2{(crcA-1^j7;Y=Jn4Vhl zeElCi%d$mc_Nnqx_<*)m`g-!w!SSoJtej z@<6pm4QNVbE0sh=$$as<4+Wh39-)L+_{rFrX|P$qi?h{JYeHhC1XZZ>Mdx!I?W@c# z0=?FZiH_zD3*tcjmw7ipvu43C_RNv_UgsN{#p)GcvqA~b!(zH(4XM6TSYhVVCT1zR zIF(=cma>w5Vf~kuqRKFWBZ_cl6vn0Q7KE(&(? zwzynd-))}0YY0asCjK@zA5}%@&pEA?Teqpb{qxB=Bam0#k;-vKNKrzAMc`b<{soo< zOJ?-Oicuh&wL}s*mmAuda~W>)^OX*U+0h@Kz=vN7J#&0 z!v!K@oOWBtDv8WF?+uM=d@WM`6n0khBFuUiFkkf8aE<`n+R6WU_Db|SQS?JP3)`V# z-p?m@!M1UUiCS_*BNozt2}?2IohtQ-@R|EgU%>h?+$hii&I)e=fv&x8?#{+Yw_bPL zPV3suQHp4|15VQnE-@81wLGIVVHlk08L}ibSF-pNs5zO_jyXRmna$U+(`)}5GxNKC zm03ZDUH7a0jjO#c3#V@17JCj_nv~IA?eLGR@Hy@KIX!HJ2zmwG-gO?CU4C&gUEqpw zBxY??7>XzrP>E3$blew_U}P>?Rhg;xVv~n!i3-Uy2bpOquA<`IduWU0y9s z$GF}G)Z`?u<8CC*Tdh)BBhCwy;C9d?YhSzf5jV9c*?o74uf--7cY+`7UY~+M+j;0o z>!>d#l=Ma|0pTkvh?}XN$(~huyv^84(_yvVp|0>=%P7qa(DGAZaA{4J7BDVGtS*o+ELxf{dGI`#=_c#2gP>(utvH zGEsscEPI*;9{n>!GHTb)gh8nA9#37GR{MrQrS6D?Y;uxU&BB1!s8tUP5+v{H(mO=)6ujK`ev#M5TK@9 zu0%QPeutO{>v|IBq55M`lJRpSn@zn3Cm#pat5gT{;h~06kK*i+G%xU>*RY|&U&I^(kG~$AL1YJsv^kl;p_F)hIhphbRh-{lYX>V5-aiM6E%RfYts3_k*Y9 z-4ftO#iv7Mvppb$N3Ap}LD2l3d2AoTVSGXYKm0Y$yO?&bt5M{^<6s@?XaM+Z zp-qJ396jmpHM9$xDJ`ZClpNo}hHak#-AIR!UxelvaUKp)$Y+2*X9Urz_@eJR*WV6w z@SdN%>`~S>MWz_9wE%kya|{HWcsLEwCiCVcreTyvHhBa3(bKTyz~q&GHBBD;io+nO zFVEO)Sw#!e8Da2arl_W?;H$w?%Ta}O2Xn{+ExR4mrdLDbjB3rovZJe`AC8?(#~+XT8GHDkq(f*$8hegKtZuN_^&G z$(I=HWw0eeEi6SF44&Emvc$z?AZkcGg2SUD{T%2;`W->~#k2UlJ53g+2Ld9oxpAZ2 z0sT3&Ex?dyPBT_DKCTeNw&Q><_J(Q!B%NrMRhi3DKlSdRRm9{5A*t5$EHm5um4b_M;Op zH+Vg;40M00*ZTe-{l;=s@(<^eZ|`@);?Kfw^EQLFsDoZneGcdjO5%5k3$= zyRu-=YIJJG-(kkBT=3OB4Ga_`531P+4fbe186YO?uFb?{&7Z*?B+@lY@%!o0+5r`l zM%V))a{{df+pZF@<~?dx(^h>qLj9&JsPD-$slGU$6UUh228V8~iRO@dTsn}NavoA1 zhU;D79EjDCwVR6Og4DBBDwWZY&d-`Xu~CQBwh6ey=;9%!`(b=u(R*ft2p@1q5S3nMB< zjxh4LO@LO|&a*;npnWEq67(5!Wj)L5Fx8TxL-Gy>0jsL}a2szPSq_^W3!Uao0N00+ z&sTskbA2Wug0klS)Vx5#6;sh*6xjGI@znN9W_*s#BYeXf`3K$)Cz#On(8!aCy&pL~ zTJzfU+a{JokPvaf3?P{0(;21y)P%UI!kvBGrmmwv?XP#GUia)H-rMo02Yb6?@<4*eGs5hvHc3l1Y+7vb&^1WG=0=%} z8n5q7uWpleEpZHCa{gg3aynz@S-@~pC&(ee`d3YT<>(~&;+k~3p9$Yr4Ys#G1Zp2k zJa36=RV|G;$5_l_Ma|=fk&`6fECEZvgL_x{(ufnvNi6^Jvt4nf>*+*xZw(>&X0RkK zwbQFZDUqyX$p&-jWW9kaR)bgTbK$m#Wq`bKp@QQYO9b5@#+XF4TN%8R!B}Qj{+y%QFW$~86JU6g5$uQ+>|=TOqG+uo_2<9RHG!Ur@1dNJCqFS zOHie>VknUclFLHpPLT=*--&jwO3>g%HDZ9}dVj;)^p*&0N+U5U&MLNJsh&ww+nr4K zX7u4hlUhvl1cKYbx?)MK;cfEC>gJ+^CEmnzhqEn*^@2;_MIJ1Q>w``9i-o2*>%^hK zTOoT!!jdG)RG^|5Ub7Fu>|8{ALHBy*u9#|MGeq}N3;Tm~Ylb9N$j;R&vr)6jzMJ!_ zgQz~H_ewf9+2rD8g$$FY@+}3v_%EU??OyifE~9^)d<2+QuAc;-rtc#0+E5 zPaFaJO?IP=c3O8Vqxy~jdV`+zs!!L$q05-)gG{tFIc10bo_#QVMzbG_VTEQMVKAF4 z-cL5Yt+vlbYu582$XN{zHnV4eKIp7HihrGh-K6`h&=o1_zTfnA>C}a4wZnzVC`s#` z5$9G+2`+B!eyht7qWHSr=8brOh}`5H<5X-5j^#YM>RDJ^KJk9z`dm_QQaVd4%`Fzz zyrMop?WlR#C&c1!5}Bf*_dj-sncnMviA64mgMptL`5IhFBtj%izyD;Eu}z)5=I=-c zxdQWV(4|#Tuaub7mgC;fY`*NogA&)?()x+&-U5K9TdV7Lf6+VnqegiSDEF7bBnCL< z4V>N~l0P{+O&S9J&_6YsFAh1e=^k$NjIr-jB%e#QeWIL_V2>{o>A9v$`Z`t9pbUM2F$BcJo`H<6a|AIci;v{w8s(a9}#zal3cI zMcmq%u!!e#RjNUWP?@$-ZSL2C?@jTh+P6RI>(YVx;E1i!L8T%DOev~{snn>~Z%X(A zV?|enFYU)q8;A!8un`lnDo@SWdRjpEPyR^~OQrZ_Dj-%1?o!?w8`VL?pH0Y}jwKc0 z^qBd+X#?69%i3T9G0B={$-%kZ@4}LilF3qnie!>BkTW_w+|y^Dx0{h^n#r(u7DPX7 zT4TGGCj1I!dvLv1c^>1F$4;q7gQ0xMYgGFS)`&rwhh#CsJS2s%`1yszZ@Jri)d0qX z7Twe^F$u9ElysIc+ocu{Bu}m92XsHGP$C^1RkFpST%Sft1j2jRwvEVgb6%)2ZU)({ z^hUC6(0Q7E2)GPVwSmHlI)8XY-dVN3?V0ixNEr_bkooUG-{Q>aM}R=T`iep2c#1*l z5cVDFFbu5&_wD9Z&Fv0#VH+=OUziMPC$)^QA2qq`$y`6KV)`A=(76$SteI~6pIq=yeEFTQ}={lXfz)Wz<{qQrHnElJ#3@-%L=60Gc-C;_v3WqHC#BSf^ z#pq>)#q}^SHibDZk6J9veLzm?E&e*u?}rBKFKx~A4iIC9xNRS}d+dL0+4|#Pf2aK| z^*O4k84q9Dq2bQ)i}j#Q>YL2MSk&}hR|;2d|AxY``d4*}deDspHX|otaehGct1!Uk z(E(QCjxEp#_;KCNf{ECEB1BP#d>`bRQ5X*Egpz(@^3;U8MfQ56ldU~d@~#Ft(l^>T zHh#@X$cR`dCJ0Q;Pu`y=!{;*rD!)HSI@R2p*;kT5a_sRy^I;k(`9l=KVVgzv@Nw$u zt)x~AFA+JDFLx0`>{;ZxIZYK>NN04-vBc_G|Jz_g3_mvGD-c`H=Oo|$!N}N`E5rfG zdcqx`i@{2TrIVx8#y-sUouYKlm6tosbSz;g0oUV?qx-gyx4m0LsA?yJYi!aP7OFch zHR-Bg9#5R8U(&0<`Zjro7`}WY321#9tiNTzW>mF(`H|94nBRaOE_hMRsFV(5cK68v z@vi2n_cFoR>%7_$1g4DsQGTZF*n>iU?dAOaGi9pzZ{X`Bp$G@3a2wVgR5e^fp?acS zQSGNcm{TeE_P3k@9SHKigp8%J$3kkzP`{j^ME8abH(%q$BlQReg;_Re4vOrPd924r za8tv z9MzSyIvPHiP14%~rN5bE*o-b@Ln|W;Yl|gDg{0A&PrQl{mDS-#e29-EQ+Nc`H&932 zDrhs33;#t?NPtevx!nK$B5WrIV4Wx1Cqomo#ZM-MCPy_g?0yi z>bqBcrzq*zNjiy!^WFC^QImRW6nTe*CAW<>ip8&kJ)~!Py-|TVXqR4CJCPLo3Mcel z)d9>Ykm3C5@P$}s+6!h7t4pdzb`z}#g?npqH_oB|@g`bEsGbbEAiHcl*n($7JlfXcHHyNUJ)pq+R=Zn?XS9ZWGha-^SkAg@|GdnVe z7vts69j@Z_sn10Mc_#K?u(``Etkv5{lL}q_s?KTsy#aOZs;8J57S?MqW<&-B5L<3i z`=+F7j!Kb$%8IU1e7OD;P5(5Vu={00?{fh>8oc56_??;iZmy-LBkwgT?je;ZevMo5 zW%s~9TOqBedX0IO#{e*X@@U0gHv2R=dS8T`?v#qc3^W}1Fgb`iUS)BpE|{g;w2fis zS~d6Q2pqN566E60_%qlbTy_lxAwTcdVEu!`4}Zx%U{eqB04#idsw1ONQr8rL)9=(Q zWuC*pn`$%#DGW>|+{`q>)ISKVwQ7dCbO}Ujo`r$0DFd?>q8Z3#Y#sRZ-&Nq=xJ#57W+U@cP*5zr7XPI#;;nT zLNzafdfyuKfh}kS`S}SKgeaMzA*4;QyNq1I zGr01M&=~HcL5isT$o&v+k3SOGw$I5v{XB3rNaxCcn@8?oz(r7i<-kRr3082@M<&g~K{h1QN6w1q{4hTHe}y~6XkCGETy zn;LeBcB%Ao2z*qf#<&j*p3wgN+^^!<%LOi@Ehln&@CQjfhzLHA#I1|H4$@O*%U?}@ z_fx&oy`j0sK`rmK?mPW3^a=Bd+2;F2k9dl~-e1N?$F<;sQQegoNTPc(toM1l|I|2`o{HKmJjLClo?TXwtW@rbO=sdeU z1b6>ZHurpu&x@%O3!XYpZi-?2P6)}U@!`DKblN|g%`FMwDVgy>f z%yhsst;5RL%^(zEg1_{4h_f61E=RG)^aI^jrg!ERx4S=@Odo*PG?+#X znA^Lzr;A@4)9*U)Q_zHN`aEgf-`6U!RD|t5gA%F?ct*_@4|I^iD?6ktr zlC<`3o0Lhube`gHJ~!b|QAP3*$oWz`jBr5*Vcq?4HDY@IqaM{{x6Km@advmSUq zG9QbX{KlRmNvFw#>V3F}%Ipa#CSJ0ZMF7CSAiv8yd60yI=T!mvBYUmMbEi4y46k`t zr?CdJNU!4Yms+f719nj(l=1OE=aSJjght=#;RF=iJS#O394d?G30~!?H zfKkk%%L;jNFF5Z}?;EQuHYG$?uR8bf zD0>U|eDtNoH))|6!OfDCWmHf^V3X0Zv#b0SF)ttvkiPMu9<9IraNSSVt= zU53fyPOld-Li3$4UvSrbK{ZtyZ_g%_g)tTK%QqVXIrV`_ zzXD1a!Q==}_8>GdC;Kjx{p3p|owB_M1^K0HZv&7qC@yWa9JFB{|IERp`Lb=0e>(Pf)n57PimNevxN@k$-AC@R>sL&Le;UXXzb$t#IF#^d|ieUA$tVecB&P4SNqY#C3LN9}7wI%2zC{X?|9{ z16Y?ifi?yl`P+#SZ?)U3yJEw%HGW{HWVwy&w9HH}8(;U{fQ2iv-+4sfPbWUj5@>W)~ z3;qXpC%MfTs~oGj2ZnP7aqsP`fxXOb6TXFN;!YJGM3MfQ#H$k@!kcjv^iFuqeyx!o zj&WaV5NTpV9n>eipJmjbKB%19ZpH$#$@EAF^DE~OOvGzOWf=Gu=6kR4@QS~H=io7} zm3YEKVp#EW10TuS2z`Aq$~9Bv{cD51p-bf^hmnn?zFTE;OuPkTd@>0Ul}T5!FIW2r zL-^wru@B#%W1y=m;Xv-vwR>AbOo6^}bDyp$ToVFYf>xZvR^?<(^2aT1Geg%J`WY3O z4Y~lU!5bpdAfw<|`lRx^FaR5E3L8Y=Jm%7CYGU(s15C$*ZXdBsATsnuG30nol)7Y)V7a4SHAIZ0S(|o4y=<9Zjn0K}#lgTXur=_S$2Atqe(b3bC z@(x`#1UFaS6C2kUuN^(?SbIDZNfH={c z0&QH1k|LvZAlLE9w|ux$ufDnk-j_(}^oYTDf7~#0M3}OwVI`Imry9#)Nlp3f1(vvI z-j1X&F5dHI+1Fh=azD*Fxa+N*846jKsmR)#=uqLoj#kukwvi$Bc2GN1)0vpaB+t(e z6s%-FhLQY8Or;&T|2*bkdv1o7X<%)iPMQzZ_I%a4^Clci>~R~kuP^BsrFO>YE_GZg zODT}bv`>VV5tINeg2UhD`q6h}&HmioV%7o_TUDm(a<|XF2a^w~$-V&O zTDXjW4^TsRN#4uSkPTnkk6c%;7#_hc(csJnD{I*YGd_~H?*$CIr@Lb)IQ^mOMWN4t zNBiYUKH~i2<1rT5$*2Mk_!!6GIX?%zlfaYX>CN#L68 zU5E&PS6-EB2EYV%pff;iB`R6$XJlNNs1xHuD3tu7aE~}(ng;M5!!FqDM4qMw;w;Vq z+235YZF;V%QV0xleamgac!EYP{kiD2-is*m3VLGUxo)toTCaWw5zoPzN^PVHmHMt7@GT(Zr|W_?CbNTy*0gxlc3?o64SOV z4z?hKPOPS^NmO|~rPW$t(RYPn2j>H#U5o&y&tbQOfN^Xy{92F^o)S8w?&C>-GpbEr zB#i8NA7k;`@2c%R@iz6huQTJkhujb&<_BHvWFGHuHJpggW>_VosbLy^KliPxDiy?l&& zXBZrtbE22qx@U*61EFV;D-?S2GP$X4(DMxfNgB~j`_SvKjmFWo6Q@A6L4O`{FRUd} z?^g45-#Vj^ER1%AxV|5z5Uk{El;JQ$y3A+Wa~_#cJVc^g-XZ%`lU|#NbDPih z>+$xVxkhr72N@n6`4t*+rHWoIF(1`;&o{7D8gC~);xugJKZ|91#w(cYcP!q=)(s2W z;XC=bu8*WIvJ%-w@znFKkKe2;#D<4IQ4Lyqwstu`*ke^KCW#WbXatFq%$#q-PM6H2 zz~QoyIKdN;AEHDwrlHzk!SkAO93hJMph^WimlLqv5F(RdlyLSm-njH|%*ans8)vzr zkk0Vr<(R~VBWXxwI9!dvfb#*rqX4rhCyoiPG1YJcPi}46GXHEWPt8l=N(e8!oRIge z=$TsoCU)O0282G&u>yebIZ_FV#3DWs6$S)C4|kAV*vN2K)zZoVF%LLljo+A#E@C#T z^JaYBja%?Rz_VSu^TS;BF^HYGqyr-iM`%l?(_tj^P%eek2lB&?kw!7LDfjU+GakHP z=T0{k>21>e;o2qXFtbLZ$C#cqdf_j@uKquDZzo#MA$ zi4>VH1u`;Tl#3GcnR*~NKVG`JRlwS|e zpZhBLVyySdoB^Yjo6If%;(X4_CjF*BgMycD5Yt=u7DL_-!nMo*$?I_f+!mHZN=TDD zlj0DRddiTOw|Hqk646nGF3IK!8mkdW?J>YW+% zZs;ZG+tx}hCai_Q9J{K@OTgwTlKGL^N6<|4^TyUpZJ7)U0EWl(Z->c2DlLwCy(Z-B zy2xHsD316l#7Hs;t-5GurvrAgKlzm(7rj4%MAv8$UxB{b1eCJCTLXYoYnP`J&8MU& zPgZq$FM`7!!{G(D2biES7V0!OA|XjCll`!l`UbbDBjkm-A5E&(Z+5@*T^{e_ggP00 zAA!|`M*_|S|61pX9`BMRksK+kl)EbYTy*uCb#KPqA{WL&%A0U()}4#8?m911@ycAf zZw)5~bE4O~h_w*fucL3mPv+Yqb-mYLg-gL`HKU~JQ(*RSHe8jaQa`RF-%w!@kMGHKwIr%lQA6G8ZSy# z3Kt5C@~6LTBX9-5doN3%&sh`%n078Ks4LMIMqRPcj!aptuVY2Y8uHqDzEU(C9oGh* z`gZD(?UD>XP2W#AcV(b2?~Wi5T5ge5j9`pL{YIp4`8lF|D%XTQqH`)^hx0^JbwH{F z*NB*1F~*FQ?J>W)ADxiJy-^M=v5DK#?sO;&Bu;Rtv=0#wq2xT(&G^1A>Ip>KZ(es@ z^d=;qpj)<`heb&*z!ns4^qMz(ZIJV~*2KonlM6l4Vu_Dki?eJbGl!*cpOYOgiY<9! zmF4kdj3fPl{{Bz)XS5}>54SGrDy*p7j-|MT@b<&mYg3-Os{;zLFOjfKQD_FKF;j`@ z&ktSD&?W0VB{uc7U?;D4@O^TkgVcSMKR^*;fy7Wu24;VnebD%KK{oxfn%M5WvMbwV zB}{L%mcovmX^?A?LxcCF@J5>5C@TBdaHJtWN=wOr>)WhF@sZX#OD1Kq%vAE(ZYQZQ z3u-H!Bcr{*z1&+7K1G~Rrk0z5${fYmzEJCn$4M=4rv}#PAoQ6WGM=c%cWOv>E95Ml zUf!R>JGbrc3c2%i=zdH^oCv+*4c{Y|n+Hg0@pmADy{!7h_XH;#SN&rPq>^9`#F=Pf zB;@hsIx;UnMbRon0cqSP4J?HIv-xjmUAoU%QQ|(_4zQ@1_jI_*nv(3ZI!1d(@z{q$ zcV!KlYfYCJS~;3n6f@R85ri;u=wdOTHgVzc`)~(H3fDviMPk}xy!y~ifzd}1b+q?# z@?vF_D@NDwO~F%o-HtWsePxH!E=;&u3JwLlr;Z& zK4)3ysmb@`_CZ%aBT65QjDA)4?t}$x~a3TL!5!{it z>V-*p(SuxW@uI+hN@zmmSCjD(_bWojA*v2Uj{eUz7gNRwKz&`?zsAfOGRn3s<_Wa( zO=R(Q5D%{foB&=)Iu~zVJu>D3Mlqpc-o0|gLfOw!VG)2eO_|!48peM^LD1?kD2*ZF zd@e15cOt5N^5Z1K)FDPo3Gyha#CnwmpcU`{mTLbN=y@J>qN_}|H-(prvk{jjm8Uk) zWZFy>>abshc#`!@l=7Ei%T~KWY9Kp&U)rk!K|)yjpp~qYSs!(uEuX6MmcC`&YM3!Ek{Pphk zLfznv?YrnGC0VzJFt<_w=24AzJ(GGW-|me%(0vBLMO+`h*n(U9RglGk0XTf~iyBex zpw>DJT>0qsAUQlRDs}RtP-Wo9%pr4wAC%y`XjC?I1NOK6;2;w;pDPSrIo3W9$pt`1 zPv44}sSZTH=L>FjfyjPJc{{vVUBg)@Qt8)jGTeZfkcARBes{aB9q5}KajoU)+xQ;e zL<K^&HMqy=Jj?17k}zlxDd z@;rb^UZJHC@b=DDf~!LJemGkInLJbXZ3#EDwVd+Xrsvl%D8Fdr;TQNxELZNlex<(G z17a8d3#tkCbfmy8)pqg$AVv(km-^7{@NKu$+(z}-w23Ql^m~_-K*H?gRGMpjd<&-G zO4Vj{%0E+m&AIdeUCwB2IkT}v5F!Dbf25bAlOH@+!ibdD)kwQLsF^#tf4+Xw5s4i& z_h}8nV-Dk8TIxzy!A*-SKlvG2TVPAPqB(gE=)QBuN(YjpHi*kHwN#1Li=($?vnzI{ z^>+MB6P>RzkMxCiHd(F=ijqp^QZEz|n`shhK##T(Egm!J)$4at=+^J_Kw^26`~-BL z)a@5Td?wl=ifTFDW~T-Yyo0+H*f>Q$Xlh9C1ZFQ8TU!^(8+JE5q#pe56k>6icDk|ezEW-Q7K#rhB@QXDz@F6kK`8Ak1*Jd--1Sd zM=&M{go2K)la@L{sia=S$#wJba9A;*Vf)Av$E4hP;3$L?{F5@ka30uyhNuf*5;^cq zrZ^16C>CS#BS7+jNnD4RdhZ4gMu3CcHFfsu%*8%Qbf54#6RH8}hFgtH70om^(30pa zow8hq1~CB#TVQEOd8)(p2i$Ie<+C(D)V75~%eC|*lJ8Ew1%bZ<7M1l>5Q51-KCF3I zp28~H(`b{gL}Drlhn(kt;juB@r;girazPy&sd!`P$|B6$Ce`;m#&^BLYvyu|=-q9k zIEg7?T!UD2HV?V7L>Kw_q8g~06pD?K0AU!Rx`E^^2$P|x0`3hvW^4Vx?Js?YOhOYP z7rKhto8_4Xq<<;Rq_I{Af23)OlCMr4t`iA8#3v%Iq*BW&G8zd<0+rb-waI>7BKxDc zhT1J%=FbB*fN8_sEFGgj&l9>19L!`9i@xK#Zb++=)USv!Vqy3KcXBL)!81qTmz5BL zk~^fr-SpY`Pj8b0zST|_*|*2=wlDYxgkz3i!!56Oga&Y9N-Eg`siEWxe3A$H@4mm3 z!P|{<+r?icETTngI^8Vt8J5MDxcE7`r9-d&jpA9c36s811jHOTxBEe)UC#T+_-BUk zPH$E?N?>=+CY$=!#|rd|23KL2=bvnWCrIyE%Q_aGeo@Ec6LRZ^`4F-Xb%Z_AG-)Y|6z8e-?^?YlAkDGv#n1gw4eG6 zKzlZUB#a39?;GUw>O$sw5CzJ`W77itsm@GOTaPhizxi@Wu$!98^mcQ~PfjY1>LAWn zd5^6~4Tex1#Ts7KcvTIJ0^>DV8Y{G=AiyV1V+#St6kH?58v_6XcxPI_WsRd;FTk60 z@sitWzE=gX;2Mx5R;@N`I_@uIvWkbG?`=tPD@4}iC!ZBnS1gB@Ov-oU_Te4iOr||< zmu@ww@9j-?W(-1nzQ!wjRRR1VJaT9so6mocw^jc9@D##~F0GZmFS# zk7v$*^pJ&I;VBO6@*%T`g$tvYTFN-}@%PvYYocos7o7*K)gde?-nP^y+%=PrFQ*wf zeQuF>@Qav1B6>o9-kT_RAxF4AtCghWI~Db@Vk5>pamB+468?_+K{6*W1FDjvTPLS6 zKtCdUZ1o(*y$7W=)+UbrL|q|?&RrU-o+0MJRK7}8^N}uIm4$;@GS_kxpNw0Sho-x! zgLhzgzB-vOY`(P;EzZ+c=`@&+!xQHO)}*O%8oiD?$RUfVH;avJUjGlfuZs{6Uj(ng zSfDXPY@}%tfZTe>phhZQRxvZiHnHj0Tn)85tK>Y%X!olu;2~dBFI^~dSAUoMtCRNG zGBFFYgQ&cq3R!sH1!|>D#;)33Kv6w0yY?YHs}CrXu=4$5Z2+U%jz(kgT7Jc8bA$@1{S)#cef zp0-)^6i-DJHoWXl{}U1#vD&bF2I$``P)f)sNPzdCW+U2rtdw`(e;Ee~oE8D0m1PZl zQyBnjxMreq9n>1mi;rxRy$$@IF^fG@z7}_`YuH~ux8+Sf7BK?F(N~_N92siBd>si? zpbU^U!J1Vd6^6l`Kh~2rE@`f+%`tSrr$y`_czhRe;nKhQ&+!SVAp(hnLhZmj;(;cF zCT%gS&BHQ8B={psd? zZ4f0@%$5vXrfvD9_Qu@{2GVS5&zf=QiExE*jbN#TKh_)b@(x!8oe51JK(N z%Qe!Jh?9SE+e(v}C~RH1yHCB3v({+Mx9TZiNE*(&svIx9R`7@S)g{?dP(Ham!TF$I z13&Ywo{%~JcZN1W)Wf0NiHEFxIDJ?XGQ7?sTc`nh;Bfc7(%hfX+XL5?TV0^kvGQwE z7)z=bB%tE9;~Os7X`adgggbZnoVbFlSIS3F<;0v#a(GIdvAznMnWE!l{!UtYtu*+@ z38CXMQu$MVt61W19twZ@t<+Is5Trfvv7l7*SsFBZ|s)vej^6IdB(yJHH0AGJ<*rdZQvTi=1^s6qUraoqWc4Z z=m04wN28?3a|Gf%@_gHXm*Tua3ZoV`#7o5v3H#m!^bDUQ%ygM6%_>T7P0YZGzqNr< z8C)MP0NobOlVW1JwhrN^E!QxfOHxnqdRb0#Gc~MC0-uhQ@W6ie&nY^1yrSG+6*@aW z29h+epci^ri#$7tAAEi|@8<=)#PSp_1s-`YgknHg(x ze@ilS+MQ@xP&^LZ=iN@0<{;K4edt7MrE~Xt2{(>AwMNRB_-jHpJLR@Dl7`Zq!MUr8F!AuqNIijp;|~=DrRmP{60&}sIZChRMCg?T z;w&IsA-NCf8sjl?l{fEqjBA19f{o|0sdmPhRxuWL|Hh^o+B9^4di(xB5eX29RJ;hE@AG#Q2&|~C1?8ij>m3^C>gm#(P?7tUV~8XiK9^`0M2LJ9O8VQXXa`<( zpcHnYGY~y-nR7+R2P2aF-t|_ULzPlhO_fi=8dDz&guBjz8ffKf8Pts_4V%u2?s4dZ zK%C~67X{)I7pjK!zGMZJTNuMUK4_+;IY#nLb<|`D*rvB=#I5!z?+2;*)^pf3Yf4Uk zf}!A%O^6&7%S8?7gdG0Gj#TO$vWi0jY%;~^h|-3YDD*~bP{hsJ0u`>@pu;!!>Rv}^ zQ~Q1qtCJ8?dutwRYmCMwgTl+poyhM%>l-pe1sc3NGv$iqi@b&!bWo;1j#ey!QF%wC z@lU`V`DpSnnlzYzW6lhcM&-v!MNM1DZ@uqfka=uJP`!&P{&BWNKMx?&-s3 zgla4hPWa{i(mBRQ@L-|20>PDyw||0$xb*T3@4%|^4r-+pEs8A6(M5$jdd%wWx?!~F zIA^uwKp6nSf2QKjXo}DliR_G}q7B z{BaDKg%7h$_qGEfbQ)Q);KE;dTO6C$cu6es0s$^$pCu*a3QLnk{FG9=3I9IAV)N6Q zo!%(_{t)zgT=|ruEi38#$hc&tW&D12zjGuZ09J z?5B5)t6m(&0S^S4{z}}Cs`Hx+K}03`A|r4&HM<4$i-TCV>2MSjXA@?Kthx`Z2DD1~ z(SEMh*e6U)3b{)1VcwuGeIbqWK%mX9qb+#ekCuJ=jgj=G^yVve&Oxk9QrTSfQNhfj zrfKfqx{R7$XnVgTw01}dZCRb1vvq1;eEy(r>1q~WK@{Et=HeSi;`L^ev>gwf@wH|QyHVZuEYo1Ym230TVQ9Sy(JS6RE8 zrH$J+@dZ6I6bqRq#eWXT_-KFeP6a`5*9qBkP`C^H*Qg8pVM`q!UAy-ZZRq+X&lmAi zKaHec=MU;WSNJ5i0zEe&`#?}?y)Q|tE(tvOyv0tjAv~y6NMp=qfmoX8OS+e+@*RuF znxbqbOM3c+Mh!6p&U#i{Iq(E6rWI4De5+(Ad~}C`mqcu7Y~}BM^f>lThgl=@t<1U@t56Zf6*Tem4953vbj8 zgg0038U*u3?<|H=9``<_F#F2AfeP3Ov~p0mkKM8Ff4H|rV8uPtb9f1KyCK}&Iygx; z39ms4lu((ROzhqyQgTz`frcT|mOk{2y}=|jx-h8aH&h2jURZLtS!A6% z@MJ#FClE|Yt#SgG;Z?u+VF!>hG8!Jr?a=S7y`+^nKf!$QDvF&(SsW02E<`c!KuR9} zO1+mWDUwWWQA+WmXpP9y(y{4aJk@9F5tYx+2MTkXiqbU#-{`fD0D?M6qp3jqo%IbM zV^MxS19n`!I#%3kNSg<5O>Ck%9hpfSdbC8@G$DGka70y?gly&KF*+YZG0r{}nho)> zKXFtWw)X1o$|zFQl>7Vxm@xrgN$zt#QZ|Pf)r$$mqHv24^dyIUodj2sc=9bRx$uYJ zwxfh_*mRT}{WNK&#pwV~jw|g0xW_xtmMh&oiV$yn_0kTwqA%_uv6SjT%6K$2r4a!} z^ZgvS@p{sxfCh~zAxbas^rIm`J2npAoe^{#X9z-|H&LRlKUuLmC|Lt?5&IF{DLPFP zfIY@_T+^RVV>!|y0w&y_Wx-kCpZ)6+LZzzFKKx;8^t4dN>D`R^iCiZFc#^)_nyxOo z!*%jY?Ve0o!bcn+i#8x}236=-kp#w6PL&9uzI2%tGdgr`ptwX@RQvj^4`lFn>)+Q5 z34?(He_1W{BHtk}nrL8sn16h)tzaWkV^8?8 z*usXa98;lyMRZubngA*DVf5XkvJXads-0U}%A1&C~aNoesM;L$(S zm6=oxu6slvB?00Q-mXL&6biULhjf>()Wv$-cIM}HMzeY$pWHO$9EO03%_ACE-R;g{ z@-_w`9yF}Zt-Xl`30q*_o5@pX@RJtei4uct?ol%kLVlzLB>boP&DWEYA8o+!JG+AA zO}SnRnTsN54Js={FBUnGV;d%|^^?`)CT9z+9G+QUJ+QLM`D3QQEv(PQHrzMB#j75m(?lLQQP1MczEqgf+_Qr;@W{Fn4~t2Yv%K6=wyDz7Le zmH;TT;j4ROoCkc)oq!yjO|8r7lNB(vb^>-JCSRN(gMFG&??KzJfS%{ciemRVhWyGm zKAJl*2Z2MtOZ9*VPdm;GTA%vCo@IBZUOnE@&!<|T>xP+4LNdSHsjfRYU;oM6D$vo0%aG52^-MI-;AshEt=_m=dBP5P00HtyuSrfQ+)m&NOAw;?D)r@1NI;( zCw&}8h}SzlRfxUB5gwZ$j5)DqPaO?v?Vs~ZKHNIME-W1L_eYv?;$_?FpcP7e0cJkW zfDcL2jM)oZ%D4nz5PaV>(!4zcXaatf0rNp?= z9Vv!3t#JEa&?(C2jm0~a`z zOze6Y*rf6`ju*(-6*8mWX$THv{AnUnq&N(s#XVcNm+{-fNZlZ%H#ctsy{Z>5f13jb z{&Q?Hz)yPmCL)G2bZ6CjVcqLYONEmJ{s;p!B6~HmH`}a<&X=N=l244v7J}M` zpS~d$$*K&7i8soseEOJCbXgxXIR#_AFu{VW3~Gx;NR|BIYVYtyL0K0c{KsxB(cdk| z{!AoN^;k4inS09`+v~TR6O6w^WqVxKl+3kZ*9@}T*SJr3UKD2nh4U|~=5^lTG)(Qt zmM^U@nrKon`+(2xM?h z8nHyI)jCBX-0Dbk5Q$v=!1j~%EJ=f)nk~%pW$LRRSGa(oX^n>X@S|g-IN?Dy=V1Q( z53c>gPUo*D;L2`&27^|2%f92y{)~uEX`2zfN&$TdAVL`(swaHOFY16k2mNX)#7n9mOhiW?Wd)pb!Cs0&Inv&BY}&o zTI?^U)7hV=T&B^CU^I?m_g{L?e{Vw5G@__QuBZnzWTEv2i4j9-N3fm6R9Dy_1-HtxtS(g`A#gR!G zmxKZe?*wLJEad^D1#P!GYA_ZQugR57b|z|^@B9*lDlo+9Ii%w;MSJ= zTn)}=pvdcFTu}QdqMBnF(gc*3(ZRDZm(Ujn^8?*5gcBaM-YN;J(Qzng9IsZ!rZb3; zE8q^J;rgO=Uq1m8Q(6zr5|{RxQX63n$CXFS{O)`YLu!v0Y+rl_-fuk6bd)}rs>#!Q zk9Es25MjmHdqIGC=h_wpB^q4DMy=PL0W|ZK5L}9W{Hd?uz^Gr= zpvv}vNqd3T(Lu>PRL$gi@9A~5N2B)D)8EEYOJIy8$57*){0SS0<3vjF)Wv+(8{)|+ zUqkl3{J3%7RQL0ZLo=kEI^9^2uJBxCWu@HU2EK$huohYqq@$DOs$U^gQdQ;HOuC;n zy1u#a#<_m=)&>|mGc=LBegoW$hsj>_1Rtc{+<=$lpc4^}`~MKVQ`n=Yaj+&e9U>5S zutDcscC>JJQfhzG@g%?P=cc2_rSn&qK#KCHL~@d6vKj0hR{b?pT6Qy^7cb0UpST`` zW5}1+cRV!;`=?us8Pw!|uyBDX6nde>cP$wUI`v)-xVN%llX400kD{c6BvuDz_%zXw3Lwg&B<y^4(qP+ygG?%D%q771t~;?nhKr35Y&f3G3+SPy}AS z{Y5+emG9rLe17+EuML|!| zdmX)<8`b1(QDXFQfadB~k6ci3ICudKOf0&DU?7ar>reHr&`u+P71+*q}AM|K? zL7cVrC0GF-eLoJJC(Co5sm{NE()dfIVrhGp>)Yfmt_fxixnu_{jy!U9hhN0V%EvFoT6j2S|@W9IFh5m9m$|{|Ge;ZR9jAWe9_=VlWqKST6udF=pzC%J{)pm9eD4 zUHR%1JwgOw9S9T5f?$|yE_JcMV{n3LD`#CKR(W9W7yrn09G`s>D%oB0sV5!kv7P6z z(y@`J6Q5^&Kz1@}1!EN3OdfL7mqH^1cYxpT(pw);?@n+T{7(8zKa6FR?1L4sJzF22 zp3XszQj-=E)%bLSZo&u_jfH2}E%>3?by?nF;>-Xv7EzlKmPgxje9rUtl$4Zq4@V`- z1ZM96jsTH?FF>XH>wyuvrhr+oviMFTukZPDyZI0GJLZQFsq82;X}U=$f-z+i;i;yCIzVo}J>KE@ zc(`m)J7?+{6B^t{Zc?E|9Cch+1XHNdMy({309wQFTn-r{eg%rZzZ7Qvu|0H~s%^R! z8M71DJ{~V&@8{%TmuS9SNFFV(d<5t#Zdh1YOa-5t{roELnDARx{n`djL_<7z=z zcfJI+?lU(VVG^cJsjSq_DN6%AB>Y7=bH3~sVsqN6WnVNfh@j)t<6u(L`pVbgJU&qO z?;9!?GgC?W&YsH?;ZiwtE`zpPDvztZec?$7qo>K0gg0PPJZGo#1H2igg5t5*>I{#y zR3?EEKdLD|6wRHJX@{~@>RX>*KJ825L^S;r&iOV|tC5?Rw+e17X;H6-2e>rygTNcu zvU7*qa}I&ihkj+q(Hrxc)mH6bp(bQVDS`-Om-wt@%2WM8Sq@J~ZkO(?Xdt2!%atnN z2TA$I*8An6-V^2JaYRrq)sW?Xh~D6@{%1FeueNQjuTXJWO_bW`Dsga-qgFAi#3CFHtY-h z{-rUE1CAy>a+o@2Q8ZlVXpcK^^our{-_PXxkhlM+6&*fNV#th4?hS5Rz2Kw^b;=)0 zt96`Vx{i+X63Lo4L7B-U(V`NteTf6SQoZua&0v7ubAC|fM}jMdPc2~t=7Fs@bv=`5 zA17}ZmoJ~v4fR2rr6;)6YP~w{vQMsYEHd<^A|&QImT)8I5VT1UOURHAc{~27Lgs2~ z(BN~m`TdyxwEYP%wf~63*GclIe}Br_Hv)RH7Pwe%8ybm^t>ND7sk=IouOHx@G~16L zVYj?IKLM$S+wZuYx_`2Y5GF4l@^oXQlad?S()esA3HYwvpRRT0M&k9ghUTr-O>gH7 zXMjeTvBaQy&t$o=!eie$7075rRsa5Fgj%g5@BIpB=GSa$(bG7Y0})ARWtepue3@!5s3hf=jnu7cQk`Eze=h-a?$Zduid6OY410RSS9>?)<;GtwFsa7{ zq2K9q^94^v@N@CvTFjlhy}-p0e38OEka19{Y^0?Fk#^!U&E;nMAAQbNfT5z$1rmLH zXWUqGM81HF=nw}?r8S;bYtuW25SLh~$s2Ia(-E|E6LXa(Fb7+=5Dg+Tz}B2T^`jNP(cLu^upQ*;xU-7{0gPL8VC`Zq-Xn z6fy4d)ciY`xk`$d!=V(>M2-~seh93*dx2f+DjRdR9f>71$8vlo7n$nlIfgB6tGEK6tqM7{eA3~PIP*RL6XPW+i_g*YxgIK#9=xq|-sd*2Jsjft`>9BPRVL#___jNIHB zxw*Ohp<@;0W|ipg1SgBHglaI}m27=0!@kAw(yA{hRR+|(pdgpKj_@o4Obk`~u|lin z{>BSHwo#OqM{l(*!=%6r%9onNfOC$UT^|^CyEG9Ty0;duxG_fS&7MODJ*<6CDbsQX z)y~c?J~5H;U~3|Ia#HV^YJ@)7wLruN$UkIf@YjGs)|Z)?T&bz4Bjx5YfCgTahS^X4 zmnFd>Z`N5Oy0_R6-ud%p>}b2^EGOyHy3#gu3fpoIWIY0~jh=ylq)4s?Mc;!WQ;+Tx zP|E-!Z~jTnEWm72W+RSP1}Oj~A+F~YvkC}3QRITk4bOJAzia80>)%B(FWx`h&;q8D zG3Q{a%d6w#=R0oWA@g2fzQL2d6(!gwD(LuiU`rbRZJ~J~O22!1rb?^w5p?{PZRc7d zyKe7nJ&ci-_WsiW5H<_Qu1%o96II#~4mGP7MsZWglehua4(e!dPN3Oy$!Y;xQ1*)M zotmE&h7NqLvJ1qn%B23k?t)*N1;nnx@!|`^YI{aOhjE;rTBo#sDK&M}TW}NM?C-TI z571fJCevTNqE8bv{ODb8`%<@vs@7pb9jpU-P!o@H_V0rEp`QwMid0RkfXh154+l3z zHMK+l7r`SwslkN=?|-o$^JV2Q&@R`nd4VtS64=m>oHw3=VI8ob!h_npt%FmU&S_L!AwzT9 zjBcPL;Y7fNg(vp0K#taJ(E$;WZE_RgbW^|({mMbtUV88{_9d5)_^C4q97Ux#BfZ{!~7L?l{Nzs3X;_Ar^UV))FR$$Cqei?eo zK`p+WpcT7IakGz65toD1)O^HEAqU9|;XN>+SM`&@(E)}ZAYVRi8vukCzUIZRKyMfi zkYas}Nau3>B3a-h`4Et4%?7~!lp+_jw_JM*`<(q$TRQ#5|TeHPS~A(fjGQoJMbEKJ>}AV0dq}M zz)AcjTKxA5x4R(FfLRT&hjXIr?0sGUFPnY>T8=8f&f@i>5`+2Wae3EP>+f%`t;j{* z>H*{3))5`ZqmH6OqE!ja1%P8x4NuYG2iY-dWee}EB9U7Ttw!+q92lrsf4q>%XPZbZM*Z$6P`c`JNUWJx1u)g|DTl9+rH0s%VHO&aiwsFGNwc+JpSU5{fB$&^!L8?h-~09s4(n;}NymNs zUKZEqHBU5R!O`=j%5xvg=#_2%XwakQXIoorpspT+CF&q0#>A8_TPyCm6lD9x<_-n! zHMBOBY-Kcf3FEN;ewyP+u1=blTY>c*_f_^*Yh5n(SJEwI{+Dv9eyH2P5O_`Z(WWV- z-9IM_WC=i!hH7BUCMGuRZL7m^G1l;xf(?9!cxMy~xf&?ZHTU2N?TKoe)vsvh zwqNoSaj}Fp!c@S@XlX*#VVnFmZ^a?PABec2CKC92dGW75`EN03oA~%ipX$luKEo$V zKZlhw%n+NrBh90Tk+M;>L@_+781Pm>MJTOnF2?nbyVT0-$!OH+|MtuO`&)yb`WK<8 zuUYm*lvJ*6ec$OFes!BftQKH2BefS}Pwsa^2=C}LN@pS3ky~CEiva3AYCpXuT|O1k z%Jh4k_xqau=dY&C8ZdTOGQPS|GKm_mn03OVHuA25XAL=9)3ni}(!s?wa3NAU$gDk* z$OK-3tqlI{h5!9i2+CV>EY2)pn@^_FYDS2jTt0g8MB|2cNpsADIKkJ(vr{7#JswZ2 z+ky!V-=;P@QOf*6xN^V^BWw#kwF2mxPcYeEiq?PgWvW^-WhfX0_q~+vet3v?XNFyW z3S(um2S+px)=%Uq;TS?hqHk<3KNcr8jQhs-yNJf~`e1=~6Y_-Q>9m{{joLq7dQgFT zr}+kyZ;emu!P)4kdFrkI{BHhnd0(_Zrsp!&`}L9^{P)}OA3pgyZGW>$71E?%FLr-T zc>lq@=ORHqtYF6f_F?^Tb^a%^0_ z&RH8h4d|Hi!v9=q|KsNeXkmE+MdjKl7^0k~eYCjrgV1cQ-Jz-1zN*+uUnyk5NAKu| zLD_q9&MlKi@r!O*g$>&}R`WR$8la1IurAk<2ap#Yk~@EeV*lmm_DY$Z9e$68!`Z>q z!^BOXO>VtYFDHT-HRqQ2FYOvAW-;g}dL%Gw^5V~BL=-aR3Hdoa40TAFg z@4A0``RS9Q-NHwojRlTX7mPr}sz3S7T82r=n?)^T|K>I$PxkaLn(J zua3={b$V_rIMc-8hyhr)L*(C^(~#g_~X;TS%NK%8;})hs%(ep z7#8|KE%ZcRS&}6X@kV$B?>{I50yhs{_Wp<+AUe{nla;W{+g;#F)7lLfD zkoViGIpn8D#f4kjhaQGwX$N;E8{8biV`A`ngy~z?UK%Bh;76FjHgM~&|N9*#<$?-^ z(#5~Pz*hz*%Xib1L_|chxL@zMqdMWE1kVL(5BcjK-3-L5=q}%;t)U?ipd4=s%$E7a z3vT<|J!f1&hw8QTbV|F~x{8jju8_&b?c_xQ=w)Y{jv*S{xH?@G{V%x8ABf&xmpCRx zKtckssQb5++se@r`;cTuA8E`m- zHNRQiZ@(2(CS_^)`UJr`JUpybW+GmB2d|QLk`k{-JCK(U%5{xA`M-`bnA&OJB%qwf z4LtjyT&AYm$m7(1_b!?>sGu7?&TqLbUoL8y6d3T|{W@}?qtQr}i=w=C`6gX1N~s&o z`=6iR{=8ZpU1T{wk@^2~Ige3W?%{Fr-frSrYOQ4@$6N~ITiA=nkB^=v%nDRhGGvYc z3T*)^1Tq%bc&+I_2(Eu!YHVCm{=R0wK7(pqS!Cbx7 ztx_FU(Bkw1R`%%=rrmIHoIn97r_X>bLvs3@_U2eAR~%aUizl!7|I0_LZT#!3ixFR`O`t40f<7c_X*TL#yAQxZXEo^NH(($i`?zoWNmFhTu=tmZ_1_ zElFQ-&&=@MlQqe}I{Q58Zd>IUT2~ z;#`-zboymHZvK}~2aN%29-90gTe9U-_131vQ>+@7Td)&e{uz%po3eX>h;jORH`3oI zwWmFq`QkqE(Jsm@W#T3=&7@JlW{^Ctwwjp@aX77 z&@6&awB^5dniK08986|XOH-7VmNuUQOyVnmpfNBp$%Cm+Uut&%NY22>*y;UMC!#!n!^Gr0xMBPM6ybfi~=GcLBf!Og3@7#b6!IYCJszBE*v zL7b!7ecA?=-g%NU%r|bdm_+F!CR}&DzO%A1Gch&qZLdikE3J{2z^LmwMlcGCz#w_3 z)GEqO9bcpO`yi{Pv=IC^wqbvo{Kp|d)9QIQFeYRrt_B)^xfa4GJqhZATcf@tG&kT` zMe>h1*XMtD6F_uFc^4GKzt8(n1i5Kl+tH`A1*64Bvp8x$e9oIPQ1a=L`y(925w#xf z+_rSJc58G_0OyQhO`-j4=hdDK;B!U7$kCMxSB=E9McVm>FuBF>b#>jQ(vnTXwF0|#6-6< z-=9HzsX7~DTTVMxTgQ5HQ<)L}5Ya$A?N42D*w$k_KT08)wGKX(japrK3}9D$ng9k|FQYK&=Ec z8n1EJ1rECg6OlZEbzgSGnJr64LtSPYt)*>P&|R99X-&Gf*GzxD|7igtNz`Mn%q3D( z5d+gKD^{5WCc$*zxDnEm*VpHI zx?KUXHq#F!$|Yz3?Bwa2B>cF>QDC!>2llhJA&O7Ml_rnm{%S__6_CDb!t%;P}sy^7*04!l|T=5Wp#u9lHE2P3b85h8EkwRDQWFk&$9?am@ zwp>^vR+mSBsQn0tA*v5;hl@2G8l-hybzeNpgorY-Ggc8_7wCoCql} z_n7Nhg}Fg94DcRNOn?+tFIzp|mOkm*@KkG5E0B^5Hi7le#3&tDLT{(%mvh|4@nAM3 z$hbL_$y8mUj!5>z#1_%FwYT%lphT&sYrwxQ6$Zc4)ceL{rx!e`T{k2faX{4=<&|es zSSXI<&^Fz~m0Fn{{Z4IM0|pGKU{WJSxI|7*T%Q$COy3*40c3zFk$jqYSWA%q_GCz( zR1TAsqY3h^C?jKiu8Edb>>2)XpuMNZmN+u*mTd^`mjV4#s(z>Q}yr_G^E^U%P%`G#}76!$@dJ9Juf$4bFaB~^}**7 zFBtm&+yz!|%=SBQ>U2G3ycq%K!;=X!M@6})Z9J&Kp@Eh2}a8D zO`1a6f!Y$IKoUg%a2@SBzoCD)qfV|vFYH_}>uZOEIs0`MmS)<1gW|k1FwglXdFnIt z)v0cfPdAQITK9`Pd<`LA?HJN;W!AUbc*W`PAoVsZ30WA)bx$d;-9hk@YA*?yG<>T)@29_Ed%(263_oleU z-hbVE`4nh^#KrCG>wMHF2b9Xt00)|Y5Up-LK3eJI*DisJP}gGtaf25I4>S+E`=bZh z0!X3#s+B%<{pKo{wYCJ2hc*mOz-GykwBauqpCNjW(+WO+2;3YyRz6(E9QtHtscQ)z zYBTr2|8GF{cdza&IpDD9N6`#U+69_EwJKxsp@(iiQSt4~8+i&w+66<%PIS^Q6AwEw z)=Tz7i>!jqoX06p4YK16iXYabE)Ow^xqA1PC(M7QHryP@HE^i^`fR%7q#W;rn`XYL zy-T8L!qR&=zK#z<>WDlYi?1uNuRZE+ycSTN=w4A=5Bzz3V0UAI87vVC0mTgX=a(r$ zAn3z#MHxlKsM%Tbu5C)n`O*Xvvim`FLI~ojOogFipW%2W=z!p*pXr3&lGhTwh-(u_ zUsOK^IZgoCG+nu98GKm9Ijh%|9p(X+r5B->|3!PT45ZqWnaOnMGsW96I39*t#v%$TYqTK4&*O1~r7^~BEz0t@h_Sk9H^pd|MCL&^15d3BDO+iV#T4*U zWOGBRdDR7Jl2Qnr0;0682nbh1{)RBDyXaT)_Tb1dZ~(3)5nzzg3!8uaSZ9QKJ5r5w zTI&L(>itH_hmZ$369pYxj)(JR>geDKp7?+h+~Muf2Z6LKknr!|Ag8(5nx%-_X2t7V}Thv=uj zZTM;k9i&~~MeWL&Yhq^B3i@xGF$UOSQg#;z<8krerrm(3MCX0`XNcz)il_2$DBHrA z6)BM)1%jDsKo~5~zrY)8^*M?=Ivt(tB+E&b%JLv(=V;tX)q_m$l`O^;1^?NwV1St@=O7r@tIOOL2O^ zz(J3kD^a)y*dGSLr@2VLkp`11DFafXiO6Vl1V5keZMHtODwCt5 zeeb8i*Ciw#x?9DRph&z(qGhF|g9EX!G5FEcj1EcvCB*%|lGUfH=OgP(NqB037f}RB zyU}=2h*}xIX9Q{!%Re5C{mv?6RVEOBtQ|N96o+#W2E{#$(bYksI}eF!0M2dL9l=iR z%^}mH^c;bR%o^K;H8d5S+U89Jplt&qJpLsV$ut%X6PPhqIbu5%sM~kI!+3Yjkd4o3 z2DW@Q=jm2nhl1!;JnwZ~)i?o%^ekGG`*Jlw53ZxEIr>N9W$fNqt%eH1#mx z`%$@;ztJ$m#+tMfmT>AsnTOpt^l{_zi=(4|>zc>DeyxMC8|Q=_U9siu7{g+O$ylXR zeik*XOA#j*-4vae3HTQo3|sEY;GqE}=#M2sHESTrI3|ge6}WBNyWpz{ZM;Ol84rsD z#unW9!NP&v^Kf^3YOv7g1gr3=-;Ymm;1aw(9*QttHxDSOWS&1S!3S6G5>?4S8m?a? zY8r_`2lO#I0!9%fYSCmhru5m*iF+94ribTF0#8l#hr@3Rqkn{gNhdTk&#jU zN*Um+6SmLxww}4b#_LCEV?ZWsW;ooECU%!GM%S!^YjptC=sY-NxEI+AtgUptkHkvI!M=TNbe>Xon4)b{O$vpIz^1o`}QPjh?(S~MdMveYe*wNTNkTqTBWI5ukPfjok)xg;34ke1n}8qJ z2Nl$`v;WCN@CsJzlC2$fU7x+G^-Bdrs{QvbXS!NC8Qj-H&YZR4HFJ-&D-hu4S0~!_ zbRjM7YUYcrwQ)=N^zR%y8^>?QmqeTeaEp?N;c)*dgr|cMF9vR#I~uts)M&|jHr>l9 zx5{~(@1QHbhTBiN`*aCQX9IdZjI^=eVj2 z?pJS;A0$8vf;vXXDesI1ZgtP)m<21h@eK>zM10i+(2;Fr5fs&=fw zGWE%`oVnrO+fgWqY2N5(R^yt*rteNxqoykbOI=ay z8@qqP54;kVJ`8}pM-{Hl`jR8r_&k<66U|zFa?St!vRuIsi$cNB97JbsF1u#M^Q>I0 z(iYXJ(&ZGdNwf{F1r)SWY@3vQC9(L7L=RSgB0Rs$R8Y2Aqv-gW)lK4(rxnShf^4I*C;h_G4l*4wiJrLe~xbKTYBJdv)5 zaKc;N`qA&#tC(W|>aRN0AN>ZU=;2bUINrX}w|;)yja#q&Q8PsR@zJX^)|(`kcF*xz zi9d#GaSesGCOx^8RhHdRV|2#%DK{Xp@8p2U!e1!*6lv|lFXuSld)v#9WcMTv+6+uU ze!j7lt@c{3TLJoy)Z&2w0lZI!Lq}4|taz$&*80du7WvFOKZ?Je{=WQJbEZ_b7=b}B zlXx_K`4Wy(0v@ab?yXn;}J{{eSy5%GvzjBVm>9 z2Q-AzV1&)&VqC5#Q83gDM|G}_$Zh+Z;jOs&Sz2s+$RQJ5cto>i(TXo)5%W?Rtw1EB z%XX50-h)4A9!dg7FZ4;y_rD8`l(&?Ldf_-#mA7GHkofhYicq%wN!166Btr(pZ(j5A z=xE3(DpH{ab5WVBt?3d+61}qyh^7=Wva)xaIBes85w6gw0RCdpMK~b^|4ZKS*Pr*i z)=}*jbP@bw4?~9;7~Z$Yenn%x}Re>!v;K7&X!ER1q`@3Cd2m8B`s z0fA#b-^=2uE9;&MaJ{?GNZNscL}1ry^U8~x2pgbm>hS)zhl^ETJcnmo>{+q(pvRYA zrz`HAvF}O4rr8t^M~K~h@W;V9|Kh07rb%ntYnD4R#j4z!wo3~w#ZHNr5q)tIAX+3l zlapGlRZL;r|D!_pvOJrhcHf7kduGVrgnG02APLl{oaPe}8T`|4|9>I=OdT(^xT49x zjGD0A6oKw?8-L-aR>--bERQMD_ZfdoV$1FuEJdWBUdPDf|WA?GDpzArMS) z$TwPjrry}VG|K<_;VFu<@s4kGVs7*bm)OPcEiJcSe2iNCS|9dDpK^pbIEria(--;G zm4Q=_%3S(Y%zUM$rh`xO;n*0&z!6#s7Ox&D7V#H`jUm_a&#b3XDEA*|#c29;Zq95~ z2Dw*l%Jv-WASQ3arvfGVf0r{@6(?GD5zTLwq$MS=9RYY9mt)_W{|Kx+s;wS2vDa~x zrTJ`Y`ojE^Gum@?(}0%Vd6--Eqz9Ncm?De4+o(OzXkP0o-D^Z< zBx&tMu14>NO2#}CEAA#KUU#WQJ7a__((LhDUwku+sHnH z;_8-lNJ0CKIX{iy!%Y5z50uDk6Ec*z9JX+hsY%~xOX)~H>4EN_f$^J7YXq59BO)v{nnZ%G5X zoek6CT98s_ebK+edhtBAJVhCN4n>?J=kQUKpzerD*FYO`H%f4e$GD)`uC|#)!wbRbJ*Y@VQ)x$GRoc1L^?K%mX6wa2>hvc#cIBa$e|-ki zN??Af$D{CEkA?47^7EpXp|FkzpluU)T;+@)3yaKyAbOj;bLp!k9VxBPqYR3}*2ITB zhA_yW$(bo3#jQm(zqjEPh4M_-?zGH2>Z%M0xzJr=A(5q5J-e{FwrV_{AYu=_(h&aK zX_lsuY+Y@O!Mp8UK?cP>K6HP3z^+&yZ!fbfoWQI_5UA^-qI%hCKL|G?N(BgiccFXzym)1hR&Sxf{6BdVbN0M7r>P0pEqq@p z1eXQ;i^nv70^slG^(i`_k((!2XPP0cxr74u1k;WL4q^dM3&sL?o0OCklZj7WcfeqB z4(JZ!qTf7z0wo|A93uqMS2`ugnqU5sq?tW_Tj|B$p=;3Pp5{|O%}sXiKXByc19&>O z#X%GLFF4(xbCuXI1tXE$`z6%YhK7cP1FEH@kjB}5uLFlg+&%Z_6g@+s{ygrO13pyE zpkhjMm}$SKOEv$2x1<_6V2!sDk;?*?VNKVM--Q0pB=fI-P;!LPzWQjX8BvJydsQZW z6SO{@ro0d&9H0VDkFvEY5a8r&U$o*i^+Z*H>fiZ>VuCe&{;pu&ST!b89p%OkU% zQkMR0T8Z>7;K95r#J4L$5Z(JJp^_yaCRUq@xiugqE!_%!&DXT*hDZVoifIrb0{=ny z|9%wzyGm86A(H(DqALFYhR1=cBXA^xQ@6qyN!++GX5&eN=p^=;kQG3FqAoyZ^CIo^ zzC5_;8wWUrDiGo_ApugT|GdwRLWcow2cT;lT9dWOU)&uDIuKQWEoNHZCqM_Rz{4s`adu zl#~RjkoRSkQp-MBq!oT+Cjq+g3{x;E@6Ofa#;<(lliks~x#&UrH!bv+2Hf~RUayzZ zd3cqdSOwE4!6VIil z5XMzsvAw!i@$MZki2G#s`ngD6k~UJi#609o<#5mt#=*g13OG3!hC4Xu0+oX|&ZWC~ zr+9LS?qWkF7Gc|+g<2@+O(u&yPZImoiLujPC?Kf$ltt;jh#3+C8p-V1lDtpTi!h?- zA50FHbZK#}VkBN2ar}xe76-rG%@6`fYnWAD`GY)g{<=n2f)8g=F@_0R#hlH~OzuHU zI-%bIdd?rL$7^(XRCDDUg}@f;vVeUm^p{(aA4&_Yhwc!E!(cS2XrQ)*Nyl30dN4KXJ!x6L7c7w zW*_B8F>F|5(kJZQKgz7X{O%=#*VAA5^2a??6%yMcY?tO`1E?=}m^NJfPq=zLg}E*5 zr}q|08WK(jT-mdfQj5=6YI{zL&LJdY$D23lsEOkJGP}(3GTFAeO^jGhG8)c)8WE>^ zk7^efcnSafbnFBtak0%5c!6;}9U;7YV@CAw)U0+b#j~iCmV@zQ;E!q~f%Cj||9R`j zYT>*$bAHhtN83-yW@%&c@K0jEKJUzt-IJE*p0CrE!JKKTfl5Cd1{*Gl3yCuOy9B~A z6{ZXHtmImo1B%Bwz%`^Q>&7C!YCrm9up`I&Y}G?xjWmHlm}%{!uYq)IW*;0Q%QvBW z8R)P{hYHQLO0&wTvqrV;5m_%_Pi==s7*s+h>CThS$IHLHp-C;1Z3Vge?R(}V;itOS zJC>pUrbW$TK7m0#S*wQK!jGc0$B!Y_sH{1ckaZRO`G1{L{__qlF`c)qnOz$PflF`WVYH1*f0OlAOU^bBZ4%2cU~+=t0Z--P^6XjNsO5gSk(v zNzQwMRd<6(%_kQWc23(7;dETS;JXf(ZA3@s*@cZ_QF8gJ(F{q~9l{6P%QZ6)*d@ z7XY$laUfq`KafFe*~z9v0&I4tVAPzi$+%0hhgCl|PEAX&fmWbqHI-Xpo#>xxhQB(1 z2gg5O9jtQ4-*)*PfLdLOtPf;?3;b!Bt8{JR?n-jdieyAh+7uQ#e%APV;>Oj?Ln zExR_l&A$ONT!d)te@3Jg1md>N?P$^QJaq$GPFZ+4@*5T(d}3$g{VZW_o{JjLbRceM z23>sZClli65=@IP-94xr-&Y`dTQ#l#J4A(I2mH-~!Fz-JLB9a7S~W!vwv43pM^~t( zIW22y_zOnp)Y1r z&x7Gd^0H85TpVLPCk?w8FfDEndbvAVgRe%F*(Fo(q)@O$HhY?3Zz)=hR-pF21(B(C zhPgbFIX)JDz@=Hr+N>jJ-l&>*$<8jAG@J+^P9Umx|22Ua ztnaNu=%RzbA@A0F9YN$n7&G~}-c@d@JV%|8yP^tOB{mCpr|o0gs4zqpsVZ*RW2c-SJ-LEtMTp%zxX zcrkY0J`{E5!eGIH(Due`Tos{Wz3AKO7I}v=Vd%7i!C0lkH+} zPW-M>m`@U(2VrijEBDu;A7l2kmgzn1T*N|mi2yc&2wfk#j$hG!{LPdEla`SY$NYS0 zSZ$qgus=}Nt_hsc&bZHgxrKqt;o-sLO@!?39_WGkNQ zDG=Z{sl2Pfzx+{C-))(WK*SqGd3i_Le%TfhYM!UG=lBM5)k5>DR%IJSp3eZgECQzL zRCjIZqJhsqWRLXc5jIkSL__%!vU?C~{L&>Ue(;zb(#5|QZ!xyey;4<;jZ}R6i_O%h2{2EU1Z{%35zGJK;X7?o9 zQz4dhW<#X5=^*}By(=&n&MVuyC?kinfQc8sm&up@!K%dnLAwW<( z7q$a$$#mJm9|o6~;ZoWTQxv@&5#;Wh<26Mb)R$yGd-TX3KX;AbL&B%{L9kC%0X<%# zp09Vu=&NF__g9aR8r0$2s>PyK^w$Cl@0jZ;+(zY1c+q)YZ0$c2AJlJ8*sD zZbn8%QUgTqk};1O8i=W%?k9Ku^vwUN7}Gd9MQ7dKO4U4|=%J-xTQfN|(;8w_UNlaw zk+69{FA(h_+i$ne(wQ5zKCh#{T%Gmdxt0FF$P@MXXWm#3_EC@7rf>BL_)^Z$_JsRh zS|-s5d!Sh}VRHQ0&hV+f5$upW;?)9$r_OyB8=wnyKzWYOkCbR z^GVc8k9G41x_0G+TZ;YcEc!iGpxk8@eukYaaZ44MM&2k_yLJuCMUyTohOGDUbP3EkdnCO7ks zXuvlCi9=H2>#7eL!f-n4Om{;t~{&)s!Hb+=7}oVKsvFhGk0fXQ_2#dy5H-& zRd6zfQJ99>G*69Nx!snAO=P$qIKj%3F&1*y8_C~uW=A*`XtHqxT^>P@9ymXY%o}29 z9a!4*XHmBod4dz}P;8$UyS0&FEFvat<&6#a{vE4B{Y5ouK{z6|5@UOXH#ys7I-5H$ zdK0R<7TC2w)>seNl9fnjqHAoi&k**(3M!DaSiU6yJiqy3P*+&&b@mfOk`~H-ZxX)o zXN`13+pWeW9`QVi6hEtj`&A$r4F&0sE7!(=88DqZ*wm1)zRp}@3*-=({a|zRZKvAZ z4?m*u?fM6+R4%ZAiq5x>0A@>f8cVvL15fAue%;YVlJ|ov`^CfKZpY5pFEF<3R4aWc z5cp$u`=7GrPf@JYaH2)<_Zx9+_nLgoSnyRj#QtyL%dbU@n0B4PFsxt4^@FB9buUV9 z!WCJto%PJD<)`0|bL%WvFRx>qq4mDSZ5%hMcPf~RyD&{SlFPk{04E+L{wt}D;|>?{ z5lzdZLRgOsZXslimDec7i=K28VK|x3-rnALE=tZA zMo^)VXno86To$N`qS`-HKD6s_KDIsPZfhIJu8&sbvwcKKr)aF2%45;33JfQmIY(Rk zHGJVjwF?k_o^gNi*gyGDMe#}A5)R$sG>+Qvw+QP6i0+!;9vG8fJN~HZ$-YwpUf%QS zE+Iqq{(bJbp*7k$4+I$yHx-h4HVKb%*2r*}=4>??Q_PckjmyH57X>_owPE1_M>9=- z+)Vsj;p0Q717tw~>u3>@FC(Mhib+5&;-apttjJHYcl_oU50@;@0EgCA5~14O7QdFN zTe&GU)-f(aw;Rb3hm}sBaZkm+4y5Y{_SiploToiJyt-&>t>e1mxM=fgm0jt>*cz(m zy41Y3i};Z5T!U^vWYWZJYOf^>m#>`yeL9foUT{6ed_U`>Nk;4yv1{(dERI$Vtnog3 zXlO(u(~3YDcYeBh5tkVPRQa6RQVu*J%>6vks_RV!=_xY$pSeb-1ahPm=Z4dAB#|}f zUeh{ctufgflG@}ZLiYYx4Q|IVv1HY1%`r#6u>ye-(I>oncSv+&b+3$b_pCF;Udq+3 ze86WnX8d&orR^kuTPwv?IL2M8eX&G#6T2%!TQkjvJaF5a&zYKD5EBx@?QN&)YwwHn z@0i^H6~TQKV%!fj=uv3eP0^TZ7a709oHYmixRjW;#il{A9+kQHkdqF8o?oX6r^W_s z>P*i);;!{2HEX4^df|Mu-Re4Xa(an*&jZVW_o18eMyc*$g54D|{yaA4IY8Cu%tpfn zQa$0RGkl4nAFM`O@K!FT;;ba4nnt4%uj*>`b9abMUG7*eVITUjJy^u8TQgcTzE;=~ zX0>@d4u^>-ZntJ4j$?|4d4jdNLX@99o7Q(8L*hlGc@0ET4)1mw*nafPI+(KcvVoK` zMBMahw|C;k_r4zY+25~c8w6H_e-sF4M#riwd8foZ?$+yXY2?V^ z>Sv%bw>`^8B(d>4wJQy6AE?mNha$zGmKpaqSMMM(c=z`FmktxFi(dwPH~;a|uafzC z@cAocLYJK2zq6No@5`|uQk5oB$|{j7-#P0>8Ou(b8?zfbQ@OZwCTcRU^7`RizEfp! zF?VrC8>dsb*?5{%+%aQvz2#@G;%Pq^z8z29V43LBt~lJHb3uMh`AVS@s@)wO-oioZ zg8b4)#j7#!9(%d^`{O+SGg*2=m%;_)-F)nmbPLl4bEz(Bm)gpSkhpgI$0_vs4t-H$<+Li_IPQ|d@v z!8EIwYJ>;x@9$?ib=W>%nHZ+5U_WLnn`YjCxxxDI|U=HrR+ zIp!(-mE?$*AJnWP8`q|yC4)^bqhd_V5?h^E9^^)c^ZUe=aVtrhQ<~(K_k=AJI|7mO zLIjJ-o4fOQeDYAxPg|{7m$vcWs&d_E`B(uO*>_yRV<%mPDS!&BsyYR%kBgofccQlH zYl4D;E(MU$30}`t{V45%|kGqZ!=V`)FQfNkr^jS}0@*qzNKt6($BG++`I z)ehUl^8>M&m#ri@pT%OB@5j*3WPWO#KCDfr|#;C2W0E~iEOD)wL9n6E&Q4_7+ z9Mj%43b{Tp*M`+k<1-CWYPEDwH*#Y-NapyZ$?m#!`i-_n@o z(s^LfoyvQ2dIsq$=xEJ$lvDIp6MtzazrIK8U5o5{ue4C%Ef-2-s1EHo3rE_jG-CUh zJ;n6rN3u|F-y`*Fo6V~gMt687X7mGu$$yWAFCTd6=eua&y;INXKc764giZi}Qytgth4}!z1z}b!qSJ3JM2Bu`o9v*0hCuAP=_d@-f*8fg6@Tbd>taqS>c1q!J?lb8$M zQP2*(AZ>@Z=odlD8+kZmVuFKVLa#~MB1Y0YZG_+!)MQxv`LXk-^>MQm)?9srXM>r0 zadS+Ase6XzFyhPb&Bs1zrtUHLY8cfy4VOD)+$#pykq$=K)NVKVZ+_H<{Q##oV00WM zr;4%Fo$q7Y%6n{L^!hBtB%?~WqsNSuILOROHBYvhwZ|tx-AyyO(t`P7x=$L^@SzC$ zZplOes5HSGvvw*EM21S)s#zsNmy`=*@)_CRSgC|ulQIV&Gt8c1a&W(C;QIcldMNx= zz;V5AHHpG~iG`2fdN3Fi1R0wlRHkjw_dxBz-E6W8led?FH>i!UUkN-V^df{L= z-4TI>4_iXq&+RKo?p)7sQ|NA|!%1Gr3X{E%t&w$>gl^N<-!RvBdB^G02A;6Nzqlx1 zubiQv`}#|C49FG5rAZl5DO#hli>yEeWid5R5`HJmSNQ~oW>xS3wb%pQnWp>*R`oQu z?X#U$7bX`bn|~;~_Ma{G42+XxlDm9xBah;7dC_3u52eaYIw@n^{YzpVM=NezOK*=C z2(Z%|uaqpbU{W#?#yEYw!DlL*|`Mo4r#+ zcAv@Qy#M|AYUgjlbi!qcXggdoPfCriq;-Fw33O^R)e{d?GnJlfKer6LBJ9-u=zGmm z)|;yWhDD*GZd>9gZC13O+gu}2_KD_NT@v&~c0wJq* zr?$cG^)QFF)8#gqWx2S1?CfgVL`E~)+DpbD2V-lot0Hz6E_{vR(ocRry)n<9dT`9+ zacl&BxNz#%G@W#7E)g)-4#yb$2gb zEZklmJ#u+S`(57R_wTYIuA52m<@RzJvp++8O74xAKRwt}w|nxX>9%T;p-HI>3U-tU zb6E{!F}H`bOeS1AvAw(9HLuqC?t~>%1e<=y!EYNGMXcjC0<{v{zKibdbDG?7wxh1f zc_S`272@w+)7o@=MiR}OcLI5xOqAfkAgHWoMaXwsAl2rZ(!#pXQi-sh z&g|JG;MMuE@JzDdx3-i&(Ue(34=3Q&a_zy6A1fj^bGh|g+ndW4JbVQk zi)STL;S|imh!}4NF909nGcmk?*nTJ70>{>}vPZ=@UJ^ZLiHd-(EFw z=bLH@@%i51moXie9oLu&?%I}@_n`;qT|@UzZm5qeQ5HQ1zTqP7N4136gSuZeJ88eg z{y>_hsZ}m_C2@D$)bIboldf%QFGJg7jO;fZR=l~2zH3;0QZLPNv!A0A#$F*B@$bJXRjlh9f*UC<7v;;eoqdv z&9=77CE}73rZPHldNt1X%mm}nDqKc!UvK)!FO<+H|ZGsN5S z`ge@__z{!Yq(OTRtHuOe@e9(SwfG+U?=*sx9GVt)EH@?(o@e_6Wc!cWax1C5%l7sV^ zlPgrOU!S8=P7wa8-?DAXMVYt};_spl8DatcnlfnS%%l`AEVt60&bh2lN!<U}JLt zX580AXZgBJiHcX_bxRvl;9i*2@F`Xjttz0mxu9EI#i3jAoCo~VSAYKOq>N}~=K@;7 z%PpT;J_=UVx6|#sd&!rnyP_6KG6okH7UUvWFOSW&I`P|wThf!epFMjv^l_%kfjPO{ zPf*FI)IM58chcvJOnamAHBSEBmH7Le$?=Q!d#ufygru;jqb!Qkl00~f&akO}qzx0F ze#QQK)4UC)pvgjuey;MHX;$nh==-5h6bm)ECM|axE}G!_v2)&U&$eY5)G@rW7Es}2 z5V4Q0I2gRgS-e$l-Jo^Bm%QB74rFygbEIWh8rEkXlI!4AI_;9q+QF$$v*G@`oV~dqChvv)Y zNNk+>&wR1gT$srBBr%GfG%P~Pi%3@+mp|#@yU@g*hIVx$ zFxPn{tg9vY)17TVyTn>zw1N=cny&ZNpZ*@3I=c%0Yf0;b+wNzv@we5M<76bg6NEg^ z6#kZ*3gs}l^eW<_bi4^mJh}A4Y4iGc)|lYrsgo<8ix$5IEJUcW>ZIOGlV9K%kZAQw z5go`=(MPG^qNX{tR0xSR4=$;nbJzTB-9exC{qw$T!}eeI182%kPb= zUXIWnH`C*1n$>3GTbSwnsPC(U(sGpNWlTP!pJpT-l#R0-$jWI!YdwjwJF8J@n$j%p z$)#Tt?x68Z6_GzGsi&7^@?odum7|9*#LPl`4@2Ssb&@y5IX4vQF)Gw`?d!z&o5vf} zr6p1YzaG6ZA%66H+|ud9wC_I}gL=UAC)d&hhNuW>2gECrG!LopCYCbH2d zt!>D?L=&37e0T=LzH9va{5EJEQOEg9@Cp?7PWUjcfL>O4M6)HR6KA%#=m!a`B-Z&`x!QU!@Vzzl7ddlkNEAzcy6|Szb)97Vy z8Qg&yQeLe#SKiqUoPdR0SyFIiN<#-+74q!CeH;)&o@JQXt~C9ozVh3320_5Ug@bKQ zWLD&Ub+BgT62qRKd9eh?4)LZTUBxoE3M4SJ_JaP7#cxeFXKyN^G0|iV(&uGbs{8`U zyhNHLinyiQRQ`hgzy3W^g|OWEy)?_*9N`Ig+b)S{h2IK5Rev!(uz4|%AaUchWLkZ(nS6$Y3UjO4LBQ6;w=m`9 z537Xhu|mum_U)leG#nc1YME-A`~AB?x`L;ltroB&sw7#c4+jp}mzArvPVjoOOLI)m zHpq6r&)nZ3OWq;zPyDsb%BC_yzYzcH_>UJTioSdys?l-kUv zNui9JYw@<@<%*+xdzO6t4}++UQ(0+zw+> zQrM{}*h^r{*p9p0kJ6Rz$=K&0Y$!w}M4l7Sml-bHr(c`HH zJKL`!KR9UhFCq)}P|kc8UoM->;%hICJJ)61^ZD9~sV!tq!JWu~*2MU`BVVTR$F(km zL^!EnhuM;g5VmM_n)JX%WqODqL8QBF&(ERC+2%F=H#EdNrl~T&6$!!4CjXh{RD-RRDW_~5ChFd40klwx%HMGvFopkjGOO6n;|5*?1i>@ z&;Y%|JscPNf7fA%e96%;%{Y_rxG`kLc%xzMdfL0{;xkV=OU$j$6>18A8PKyVWIc~+ z`b)o1ig_pGJM3$Zn~%Z{6P^_6i!v)JHIkzG?%>e)q||G72ZHN-W)nU6n)X&HSY_^M za2QV=m8)kbbC_Q>a7GXI75N;H$^)`!!4 zYLCLzx_1J!SxjWfOw=TkIT$^9+^-LCyu-%aF-wy2Q_tL;qoQm}lsJrAk80yoPL1~O zZ)KzD&rf?IajMlVFt7@Vf8xWu*+LRawQQFa`nqpCMB*Bs1220{MHKE6yEmg0UxbVgH_M!1r5C-$&shn7kqD6bTp*P zYbyomxnmJ)Dwy_b8n|D|KQIP57@I1f6UNce66nRS$Wq~n^Ht$DHDkX9Bwq3sQMv@B zM*^|*2+Mn25plDf_F0UI*U=NXf&JD=TE%f1wrD3BQyTulUkr<{hQoOXJ4}hu~jI1 zRpfkNi7=3QEYf=UMTAr83cFwghW(|7L4 zn(^rnvx?Bu>vP9Wd5e|A4%^CFPa7Fs-D!)NXdH+h?$FVLW|_tMY}Xwvbj_pxIk_Vp zfGC=puva5~aGSP0T$AkG2d|X{GXCBR+2z-eZ6{JluN^xMIPq`)94De7yK&ES1;&o< zEHiO~LQMisxtJe*8(#&;hIEI2)z!$=~&TfZe^$pb;>J}-xhbS+3y33_YQSo(d`mLhyL6li-XS-Z`)*bhY1aS(>XQb(K&eAvniQ~%`MhQmuzoDu_10sDJBYs;O?{Xttmk4r^WPSydR%dynMR7iUV4n z>qY~KnHI&7cP#m5K$RE~%ah&ecgJQ3-D>#CEG_;(mo4p0WK<2;4j((pVSTlFHz-@G zhTt|ofMH%5D^)@3m&@`}3$iwN1t_adaGRn+S!(!A7hGROIV>i{rhB7dQq+hat zznHD)-jU;r;zaoWF}cN#{NhjO&r6?u$r#L`y{3G&6rp5t6^P{Ny})jk z4Zj(p*66W3A~4^Tata=Hhv7D?DU*F%u9S5D!PKL7SZJT@Y^(zz(#?xcq%_8mPy5s+irUH3!ty4?!5G}A*mW8$4@VR`F??pq%HE9 zX<>{Iwp*}ug^Ej$2l?wT36or8D)?pnCVcR)Qlz9Yr}xQ1`Nv*Ar~e8|bY3h-8*JOq z+i;h!H`Prk9`K$rwb7oARLOWNktbvL_-vGhs-XUzmK&1h1mnU-lrTj3u#lc^$u!c$ z?P48fA`zxpiBMZ5tVL9kG6=kZ27xs?7IK4f*XI*o@Vg8qF(>>YA4jqe^{#4N?Gn;; z)v7T>RbYF)MdxR|B$y}vKla`_D(Ze~A2vWxR7ycwx(1YHXlaHHX;4zSLs}H1yIX0H z?naP?p}R)u?yh-1ob#M@-@o^L&w9@D`}+C{6$4c;CpTYX6>XO|ucaNa~;> zNCSiEq9Cs%8H>hL$1cbfvk1o+@-@C=C&i?s`R8Di*YqPVllh9oy;rtFlGrnJ8!vm) z2hs#H4veJf>W7kRgA9E>aQx~))!KXX*j;Y9=b4(8#c&0bS}IaSr@G>&zWtZ4vZEBS z9jZ)6MlE>hd>C7hF*{I=MW-LcZOArRPS>P*k{txq!8J?I5h*jKLdbc$X7y72p_?zA zZ>4k!`vOt79jPk*vd@Z51j%UgyOKQ;S~+dAk#RdwS0*RxU57TsqzK@FlD_~rclCvz z|pceGFP+`J(D>-XrWd&q1#Eg2PzXQUvVlubw z==L}>%7X{Pk<`*AfP22QyIZ^y`&v)9CxI=epdNIs7BIGGdmU1<-({di30M6eK z5U?}_^5qVfCzeL|=l%C=zdk0QGaoNdGLeg-32AXsW=s?G$_9fjLtuAs*TjU{$tmDf zm*qlBHS$)0*m(sYV^0J2x6~95n6*~{sR~$rg-0!)syzi?ax)P_>|&Q{tiQ&X10Zo^ zr#sjdn^CWyASls-yd5gwX1q*r#oXRE+blcQ9vlxb`j2e={kue@X8%h?{&f~Bp zyv^&tSszrqOOmfupIGNH6WaK|JEB6E0*zv()?AQU#zf%vc**xKroS%UpHIPcM4#Z< zG38`Q;|-nJW-NncWmXlS1`WhxO4P1C5u3q}Jp;kl&`Irvzt*9W&nAct3XdRr_ifO zs8u-_hYBDw_ozDv$hS;uu_jW1EiTPws}QBx4S)D8s=6ZE{J>AE(wH(!E=9bsa~gHK zmPoU7YW#2p&%P_xqt5mC5r?I=yjY#%j1_D}f5wYww5RmWy_fIRZY#+^{Fo$4(2^r2 z_;rOzCOC3UTWoR_dEa3}=}zPIUcv&6T?QTbl|Bxr5Dz3Hf^ler#ZcL3GGH#V^m?-| zluS4+SoDia*ZPKH&V$nZ{LpMO4YaaX2hv7>K?P)~;d#`OXk`JC02Xq<@}sM3&xObZ z>KLAf9`s@;Ln3k!W53;p+PH}~hEi8zG_#K=m6ye!Bbv40$B!Sfom^B~$wtgRnFDkf z_dtIB-~9P~g|bD?$tdA*w#9Z~F#lv9Wsz&NJb`Mb{bw)q6KF9Xo2wZ)oe)D!GqL2LB$Lf?t|w~@ zapy)S$-dESYF3Uq^{hdF~#d7 zvYVQA6r58$vc;J<4Cl53y@0|sAYf$XDcQC{{snCa1g)hei2OwE`P*Doh60U7oViA# zmukpVo~TE7S8tfZh;QoAe^$Ym-9W$mtvM%pH@~{8>dEq{fduBro}S1k1h3M5sgHWX zvfcbB_fLh{vYp0$~G$y&Z+@qHHhf+Lg>k@#?xzagK&z>ELZwFRlC%O3XEOej=+TKUW`7acy%jmkd zAYo)QiEzPx6W(whBo^NEdo%Qe2S>9sVWxcfs%nh5%qWd;yjTq21>q)I)u!?~o?Ato zkcoj*s4NiTQK_~)a>d72b0on4_7h4COuh7q(sC0kNrdw#O%N#&x67A)d|5OYoT zhU%qQUKJb9lCF4u&ouX=6Z!W*bhx6Jk1^GMr?$4MvZ19Id%yjS@c^h_g%+a4;XqpWs0;PAZ z$OKb0G64%n5w!iIDGqcPsThcAWCnDvAK$YpHJNDCqIJE#sD$8wh^|=$!0qe)hmpxUU{li5&+oJZ7T}svmJS0F2m?og%V}pM( z{C!oZZ3$xQDjijxEo|G6x0{We;wjczN?T6D%9e5)h*Q+05?GD01ER7CMLmt^PiR?G zi9^(qgef@XUkIv(bb%pEcg;p)Tx!`^nZli`+Vau5x5|zlBP%2e-J>msyMZRvMnN41 z>qFY#U}GC?02{_iiUg93lJLY)+U51}_2CcSvU*j22sajfoU8E+Neu9ByD~JC18v+K z@O=~^vhUQT^|l=UWyd?`GRk@F1?L$Uf6>unTmR1C9}r*jvQI}amQzXg4~x4*6|;IPt1?~1%> zg!DU>C#N(Ey)kkwqke^VMSFFeqsfJF2>JvWOIB8GI4AT&X+M9iZaBr3Y>pNd7ae}i zD&?S~Q?;PxYMCI$0Eq_Q6NgVufx~ zr{3WkaK#L8g_A8P9q3Oz6YDF)r9k$?^lm)C*`Ze&oOKC$LV<2xOsNNmBlpMqtwZmT zQi?kqCuXG~s***aAaMS+0im8m041XQK2{RtYRzIUsJ#B$g8H9NNRIl%-)=0hu<}KIXv+MRk;+Q< zb(wOGV1K|dK8`p;HTMC(RO<`&3T1Iv5^IsRnyzlsxg^`f#c*nrykX`FfQjg}rq3KS zM^}+Q1wi6or9qm)=9W!ZtI<8tjL)Q*{59l->_Z%?L2Fk33NT5D5lG+G?PC8S4=2OZ zk4`aN!7o%NSLaghLe>rxX+K7*oiPtiPuXg9x(%hAu6(*5D7wd30>EkTr?}!aYxAJ>JxmYm*{vQr{yV) zYACS))r`yjg1Moc2MbTA;Ap1>JIgF?B%%?}hQGqp{%H1R^iS zKe8|rGy)qirANO!IL`Rx_mtr+kmkvq9Wm}Bmmg4hFk?y2X|Hnj?xQE!*im?$Lj-354}S6`!CZxtfz-V~1V0F9~XTmmx+SulUii{Ib+DD`uEW;VL|3u4mHR+}O4YZZJROV3&IlDX$U9*-r(KG| zPlS}>j~P^QU%xF@4C;wyvaVuM7G7v-tT)}B9&3vbiIJ>=u-hLk#}-a2&AXq&$2*C@ zf&sDKSmyNOP1RnyUYK6d7wSIM!WqRWyXTK7I2ethokMRL017c(;>pDCc_rB$y9>2j zN!P60P#QDi5JlNAc`y_GT*5y$cDf?Vu)DKsVJ|ym)3iI%*J1I3W4Xi#WfPDu6q2e) zGTm>lQNEB<7v+l@T5^556yWei)buG<8IN=;Unt1A6iBg+s?>@-+amL79Tv`5G#OS} z-;n2-Wi5aKrNI3k%qz;g3+O!;hUU83f@HsxTFg(2Qp_q$`ajgxIjomOCOFp}B^yOU zfMt|0wHp^*0&)$7@Z~+tMzh-Bj(!*7!uX8%)q!^kvnGQYqD-C=&wFBi%d+~aSgfQ( zLn}e51ui3OBlb>LM<*%>eOor~&99CHW0b|sZ+V;kZ%`9sQu*uhl{~9=`18biITH(8 zf@b3YS#7Y4I%xE~SBqQNP0scP>@|+yQ+A2SI=9?}X6}`a0i~l(PEG2Lqoshw2b}|} z$|*d@c^ZeY(I6Z6VyS-jE|$$x;5g2TWfOjjh^+eDCy$5 zoJc;BlkC$GPl*!!>d+@zDP5}}wt6&%&u%sJgy33Zs%2ikeE2Cw4uo9L6p{5Y_qp~G& zmjRFDaF-fHxdlc)<0{e{-3lMY$L>9-K{OHxS#{6R=e=;Y%-1cvH`nYeZ~O#bv7S*i zKYflk-3ZS@!^*feI-~n56&O+uCG}@jWaB3mm4ZQ)UCsHvqEh|`Oi25PIVzqFmZsdcTtIUszPFqJ)m7UTU%2VKab3PV-pf(aacvl#l! zf9|k_eqUmjR8MX>3;KT@s1=v!=g%Reo?FWiH_bcs339mT!60ZqFV@wddo%k&m1M85 z-g@nnKy5vGGH&Ge2|=z^!ZX$FO@HCoHe-n+G|TDGJH2hxfzP8OKGu$}v#l!XVjB@W z1X#2HicSBNAEO!S-4D0*BML%ELY^>+PGE4y(H1OKjhrIT=zAuW^c~ZRAtEzPTiMtS9c8Uli)l!2aNr(Y42J zR2_5r!>ee_5EmB6h0)J=XuW)cn^IT<;-7EOg5+n}RC}tdl0R z#`iLHLmFi*%i>SZ*%U`}@q)PBDcg+wFyHv|*c^4~ZCn_j)yk`|)P8+JCia{`l{0@4 zM6A&=BLi0(WYer_x}hl{muI9R)DYx|>NKD1`&r2>P`$e(@95hb56+1bpLF= zAJW3Ixp$9yHTgZ(AS#v(>#e`A5TcNF1}7UE(P8`fzvZ+3>j^$+wKtJ#_pv=(6_zN1^qF&9ZjiXeyi$$mH4KD+iMJ_-fnU4J-`!6R{> z1-TC29TU?3G{XS_lN}g=`TNO_*!txm-kv!dsRAw(>8t};96!{Q6b6Z+3ITmFKs@v! z3QzU@!;!0MvxPn?54pwjKJI7>){% z`QU_q+5F$1^6&oLF9N>RVKA!ey}v#~#O>v}_%5FEIr+n%`h;cw4?LQX1i0Q)bk)DV zgjo1C$0^BB^oPga|92nc|L5`FeBfU54yb>l{p&xm62SKl?aSExY2Y`xC3I#&_&=~6 z2XMX3Pw$`q?Il0SZ{Gujm(X`I82X|;?lrolrHBRTQ_5ovn{ zXrG z63veZ`m*M#ui`w+hssC{=U!zPT3v;bLM64TEh0aA#uf3?gZ8@|v}o-4?=){@3lf z`y+4xc3op)2slL`9XV@G49ncK=#DitX~}*zzim;6ri`? zPt@V|WG~Qp*Z1F8I1PKhss4BO$U^vMq6vH!a5j^EJ6*uADyP={&`D7KMhC{aorN(+ zm65iY6LXklcx!$;mc#V?7bg+!3pUpmsEsZnaIGq8>)j*qO0ax7sy~IFiGmY9J(`|B zxJn{3Sc5G`;Zrl&a$iD{*@WfVs9!dJ@k>rL%$Tfwx0@>h5}uNSYo2)p-kzVlz;yRrcnMwf}NoXBg>Fz@h}83Hv?c zFjHYruA+F(q}rOWFPhurA#D+=fOZ-3h2XkV!S#~UpOD=Grcq{$6gTa(`U;37h=dMI z{qp^@muR<6L0B4mUXyOU=GWMtCW&d>Ckg(YtLT0>s;d|-aDBR-)aWyLB`b=ZEtI@w zOW9ZYTj=jMje_PbpuDY6^m<+#1w7qCh`60zNdplh1Xueom$mK)pt-Ic|4@6zrOO9P zoecq_6xMdH!Jw9Ov1sj!Ap?b0(ST9bH*el7tvdUqO9aUkbw?=!n;o;9M%^Kja9fUM zH)RdPp?>6XbCs}zXr?`pdT-Ypek4DG_o~_R8b&%pge?ZuYxPN&#kaNCKWYyij}br( zY@)%wcCfdP^H~18i)hXP?O{nq|I|LZZ9IkiXH5m_X_U*fjH5)6EPt9vss(QhK z^24X4;G^KYAeegrSjoDl%?u{lY+SOsoP09(Lu&l(BfN z%qw@(!rY7aU9SB3_>`qWvo{Ppo1CqbM@G18K^v_-c08 z$Rt8qQjV{rgRi(6+BuSllm`9%db|hLR3Ud`4TC4I^N~tF5UcOhLNK?Q>gA zHF$%uEOFFFS3mwK&dBwB?;L*k8Fzp_RV!I0ggUJmlxl-owjRf@l&|`oocvzznmuJbo2tjmeU)+w zCR;HMy$;S;8lO*KGznze$eTJ9Y2-dg0>;%!0G#6=i=PxQXMo#AN3_}gA1?84F(;lv z!N5g8c}m;`D=8#gbn>x39NWpn_WfUx3`-B)-MUocZYS&S(hR?>#}oAf1LCck;o%-! zmfF(5Frp8#%E+W`3D}IjgYGp^cQvg%anxl=^i+`tK99!*6$!tcWKRIZ(oX55STQ5i zd#QWo=-ztj9Pj#BDW%eh<#@xBEa^1wpzddhH}scfeRZabJay^3oU!KRMgvk=(s4PN z-7?ZuIr1r)fF>f@qMR4zD-4)4DwVEGbsn2Eh1#W}usnX(<2XRz){*)kcS+a&WS;F| zY)E27xXTYUri{bYet)`Y>OAdp*n{Pd%acPQ!Y~9Qs^Yfzj(Gy>b3;Vsc|!q76qwo` z$&Zm<8;27qrN8Z|%aN1<^VQ#<(ep(^ejot3R*tvIGWMX>i5Bl81|CF)S~`X!JUfnA zLrASydl-yu0LDRP8rrp0v^4`IWD)IF!1|_R%AD`9EuDNY7;oLp5`l* z2D(z-dG~I-SSRZl%f~QkpFel+`@LB5brhRHZY}V%te%4e;&DEl=0ZIW=1AX5WN}uu zu)8ab^f##Y+AXR}Xty&~C=xazXQTZNjHcI8@OX>X$WV7EY#GetcC9Y4(DNNStt_sj z3Li)%aguz%9vDbTCq}$T*Y-N+>rG(9d|RX>5|eGD2geB7P2#eAx$}dQWdtM<-R8K} zekdT1W4SG~;}y*U74y0 zP*$k+&#a5!rm$rwW)~immT|U1M1CgaYQwSY9p4tq98ou`*K{eC99jUWj%RHM<;J-6 zpr|3ZwJ*bsBy&k)I52I|G_ev51)k-RQ*9_~8V~&hSgFY&bTf=Q;lcwIVn0H6b)jXcg zpLIVQ^z2SRwUS$BGmN(5ABZC4*z_znCA|cWI&A2wmTg(RG`TOr4vJ&*sTt5`ZR8(a z@sWbWg2UhQM@rnZMAije)U6A zRmzg1?mgnc^1Lguq?sPs{^VKMb#d6TFS18aIoacAhhDD7hEnq;eKt_=d8Cd-Q z(o-X{inoUxeyeGAO<6~KRL<4UmR?Z^Fh=BUj#>&q!t7ZAr!Iur-TuxyiAY-KoNwQ_ z4hY+@v!HekNlqz}+L=r40n}92?4}LvE(B`*woUt=ao?qxkC}c;jbl}AD6!%9nupki zJV`g~*7gs3B_15VK)jE;TG;$7?;H`BSh-2C{bSS{utB}|WI>8@M%rvM;|79&)7qfz z-!k04<$rhXGT!zE?kQ0*-YbPhKH+|ff1Artyzn;XvKooCbX!u~xBKc~O4oSS3~N`y z-jcNCeu-84kQ-)UysC{0h zQY}za>94}+$`q3f!j#g!+L#!@kQqBsCF;2+dpW)s#?sI!X~`g94~nM~f$@;(SUQcb zo^;xMLY_~hkpeviNz|7+Da`lB3MU4IP&~l;V0bF@ZBHsQbCHsq3PqINv#Bx0I9MLk z%Uf6+TV4alh?zJZOv7M4&@Z>!G7!h43}uHe6jVFAQfqmrwMlt^pL?Q)g)vL5?sbQL zLs{NsiGQOPl63ld*D1=boRy~GzJ!z2a7D~ByqHJoK(pDfDR`qNow^r3o|#0kz=9DE zF~g_VY^4iiw0>9R@I4vL@g=9N zSG5hEd!Z|B#!d5_7PEctAsVqO=)+uXA&=ZM#7F5A>3y+&onOGY^ytu%vbqUSs)A!UNWfBq1H}O5g2|J zI-~k6S(=d5tt0Gj^rrR;mJF0$i9&*8dvuxhzO6iY-{*Co<_^ggS;lpSOFJkYl91iZ z_+`@2Sg;l5k|Yr%7t!&UqRZASxJIa5mZ>qDrEjHtFQqi^dD|3%MQD=ZE4 zlJE6;7?f7jhGS}cT3LSR6%uX~8 zXTzw*MK#|MnR5-vgjgx8$2}*NARU;b5H>Fsxc}Bv?N57q^y1L&z#@zJ%Cm$ykTTGV zZ}hHBK&QFF)C91AF#=%q?wGRg5P4S;|cS6YCj3%-5nUV+vFs9 zVkn1fMort5vhdaDji@V z4HawDEu+`#)Ss$ynP0*?TRSu5A%El&_j35+G)9*to5rc67jycc_WEqn;}FF|Xo0Ld z|BLI+-GeI@>IP)JeNymI-_Va3y442cDP9tk!LB;(qRW4G`sVPU<-VKgYG|R7z^Zw0 z0xG91?jD-sl;ssb9qZYA{2>uH2_8cIj*&*5@Kw7>(^Chel=h-%n}>%| zKk9Yuk0Tc8@hvkH%j+iMG0&BwZl$VS-48?^^DT4hE%`- zGKVnk~It!_org9aH)Qb51*H#c&*| ztBb6;089*>``(h$zq{f14u^vtkGQYnNp&zY@lWRmFDJ;T!{YbTm0O?Lc5`@89CU39 z&x_5{CsaE+7fWb<U-TWm&DFnQ4Z`5W zS+!;UgMGWx?p^RlObuUz&S-(bpMxZ`0wzihddGKz8TEdSK($IzzUynxxTA;|I}6m@tA6c-<5PJxgJ< z<$2$egI>k{lGxI9b~2)j@tBA+t3X(8DKq$?gypr%;4bUHXm7ltNI-@ymo<61R1RAx zP2n7^kmwvJz^oIFnMh$M^Y>6OlwuRn57Anmv%nylubKN;J0ZReL=aT8AGGTr79_z z_2vXp?XB_HNxesBQM8ii9!HESDcE4(Wc<3=59dPjVsQ^NK;pS*PikJ+q zno%Vm<}3Eh)n2OhjdyhtZW2=nwR9(h%sgXnb7mnI-W$h6#l_NjzVcjdT7c7h{_Ako zz&C`f&g$mlch;H}IO!gm21B|`{-_|>+km#8eGPHd9>Vkr8+sK+9(vo$tVN%#t@X7+ zocWOo@)4zn)=~{fnGV0r8l8_3sUUj0HREKT(WQDAm6!e5v5xh+wP~cn%XIw?hE4l7ed4R8Bh-;6r6WB$vJtQ-1oRl zI}arO@nehnS-rG;n?z*NA1<|AThE5?xrDEApnv*w_pU@Byfcg>8;-Pi3COerZ(?{m zhP=TLfjEI!n~|ED+LtCXwR>0B>nGbuN)`q!AyE|UV9CUn3nZU9%wyW4qW2aa0W_dY z!}RSU3RgzjLjS31FCPFLKK+dlglMvf~! zE?I@(awF4Yz00#CXT1vak^cz$D-VQ4SLtfAhe26n+Pm_Eb(mdxX=OM!q8S(Cyl}>e z>Qym&S$q}3T_7*2A&oJkAdRi-JFV=|MIz@I10vEV7$d^C&rO$IwS72g}m1ME1NzUR*i1J)m85p5dj98)o}7$Ir)#m&My!3J#m7 zKPIKXuXi@3ri3z{e*{uO=xHd#^ql3dyBDY=)|Mq3lb^jA)=bs*p}BRy`K-YQxW>K8d%GwPyRa5_;b^N}G+G*duS1?)oj_NM&- zHz?{ljP(!8vM|n<10}UO`eC*D}7Y(lhYZ4$F`|ghFg(WEavzpYo}1tM^~erT@Do_ zD1THGuUV0tSXrT#;9Nytc!*1#p4#}J%R{Cy9@n}PdG2>saPv8l(^?kPxa^gT=gE9D zDQW49 zO_5DR8$1a07BC^QT!!WQCG91FjwC#R?L!Q9^?BlV*_AW1-bsCp043`@Bp_jAV*m1t zfz#`kwOoyej&hFWfQ`e0NSYhd62W41-dGr!bTmXHt2df!429qIC_G!{MjCec#ScZo zW#VLLNsfl~R*5Ot&$MMm)YcG~o)0cCyNsl(=l zcv7o;QWMWI)96IDV>&CShBnbH2<(#O3c{oq+Js~ zTM!%oD2l!kKqSiK&Y?f44&u3^M~weVw>P5U%jmyDk}4DqMJPFe=L8H*sl|>57|Bdp zl{xIDjbol`_|bGLe9m5^?4nkjT(6+|=KxJGI?~3=hG&7oaRg2@A@wRr*n(36!ktE~ z7u#8^TT7LJ((FMby1z*Kt!kTBd7({eG$lpHV!U6_eznQ&wR_PX^p_NNhRf6}@sj0q zrnbnDy{uM8^km;>{s9TOCqx|hLkEjy&MdWk!p%;^GI+v(fhJS~Xlc;dCmL;QuW!_` zSURvJ?%vb9chyzPG;`7g(d`dsev*ZcOu974aeDVb+i7KUbmm*9!_iMH*Q>n(ox$7S z>l^sw`=qV*mXaU?>RqhYRC^nGScTh;{#Wj#1Xd+On)wYyDsJxBfoXi9A!ec+FW(E^ z8<=m(+?P-t$?9x!GNlR%!au(F&P*MU@{{>EL+Q4nM=wU%^XM0#L@S*V(Eep#_(#^F zqq6170^{-H%;$`%FP{68@N&9a3dovD(bo_4 z&lK$PD09w&J$zFJdyaNIT4xMqPA#Z@mqDVqZS`TX5CYKSiHf8;XLzlyWB0k$rnmq>l)5i-l!0fhSllyrt&~hf9IhS5f7YhoM7#3ukJl)faEyN*M(rYh8 zsZe4=rlcYHe;dNA#$&G$HRNU5A6;x$5O-QJM2^_>acrU|-EV;}^=3`aruCun=3t&) zpXX8~HW3Rd-_y?rFx_#-z)TpuW<{>B#S=V_=K-;srt|3`{wOKl__AQkMAYZK;Jcm( zHmXl=ZXE4y0Et3Dv4_r)J>>?bn!b0W!9nFdFKeSF@(1vT3Ib82y2c?e!~?f1rg zp?8&e{%}6Q4kR@4OzO4!FZ5G{_H>;Q`#HnpkfVF{xNCNw zoD8Ic=Kw2px?u?n=Wip!pjawd_(s8Ucbn|h@e7&jQss9Y1QRL8Jnc${-Z~z1d*`zC z`qI&pNr5rvxOU|_^ci+oFZJ_WO#S#lg#M;uTVpIE8uB6f^Q?thPcB~pinud`tQr+YjGk#PMiEXk@zcWGT8jfvIf|qLrKW% zRM0LA82c|{*GSX3SR^L+4_-fTXo_E2_# z?b6C7(6)cbDu^T_oliOD`n31+sYmc63Nbn7ZM*~(IXxYn|06sGVIVQ8M*gnWJwp9u z2rlhY$BnBf2EHGtZNfsI1mP+CAp#H2t37{ZM{}4v)oMhTxKR80FU$&yb}kbQ9j*5f zkZCqM#XJ*E;;Rc7OeIrw8^nuSiE9MXNd6xr>yS zkl)jt43e4Zt|ptbiXoj_*K2fDWqs`jj`ii`&sMuupAIe;Ta*=`7%(KUPf((|eG$#* ztm`5fyRxi8J|p06lg9A2NDee4(j{I}K7ExesI{`$u4N80b(#Y8Zrexj9u#rMUT6}UkA@v>aDubEQ+ragoxOtW%bsHmtr zq|QZ6TWxh9No*H^7W4}Nly&+o=E|fb$I$5C=8u+zWj9?OI5Br3!fL$S7tuf^BGg6! zoU?w&hZ<;N*G1<&L8P0*$(2#vBL2&C9F!hRcmNK~OJ^>%o(O(iBbhYL*NB159 z>*s*FiU7Sd!wO?dft%dC!AF;u^CUXkczGHK-q2a?vMWOm&T&wATS&gwEBE@x1kUB@fv56T;$%V-{21^TZymia|4k#6f8Q_^ueqokQoyh!h3;81k zJoBF!Hd#haBv{I|u~?+Rx7^i6?0o`O`aJ_PbY_SqeixU7Fv8RA@ut`kanc*ji%Vvx zJwjMS7&{5^1by(W511_0?dJ%7wR&ru6UGDcW$ zoy@CBz1$UA+K|jwO9W6|Nz(fh@Z++*M#FtRdUuctMyPYY#gUFXTYF1G`U+1|ouhJiGLeSevpXE3KTF z*d9>wQS|;Sh+fJQJA3SVR#2fK>R|kbSG8c0Rf$u&4^{?P0(^LVN%R^<@K_P_tTC1D z{q32T1ddJvJ1KTnDn*)K9z8pIvmWV=88S&6yT7>BgW<#Ox~qGq*5CFA;#&aEiMy3{ zy=wx{E+x-04yEYVFQ;(QOpKeUw#@$Jchb8{&e2wzE_ve~-qciW3eR6Y(Ej7-5AR(% zx0ZXnVsA6-Q_5QBm@T7`oBiT`Q_E*ugii|>zRi-k$LO{W(kkcr(n(oqKRS-nl2@_e z>SSvnqI5 zV$@~JQ@QZ-ow=5lW4)Bjf%Ue}8KZ8XU_ z&2%CUKbq2#7`BafB_e{t4Iu_BcA*y_&S<~*tx?O^X1pmh=j!RZ)BNb$J^CQ!quj58 znObThXY|j3`jR$LL6W>?smoGVME+#KoZFvPUk4!Q(UT@9$YC-lR4=8oLe{H+?s>A6 z5Uqw2)ESf`lb{r1JNjAQ+jkv|pAXK~+8a5g33!a!?Jst!c^OXZ{94!s6CRntyG? zt2eiwm?@$C?hacVS6mHoFR$%l$Maz!K8@gI13^JSdWV|Y+5oam5z<;|>?BYhNP`&1 zYIXzoEETTDW>XzNUVN-{5O1k7=rA6LPAW-??FU@8?q)~Q-#~iztm$XHZh*X;vZJlr zEOYfhMCshz95tD;(XmTkmtZ}(k8xABnh{=qIn#)BUz}|P4V8ymwHuqq#n398+tn%`p)&@vd zK~q7@&HxaiVLKpVt8NeqS4-PWvZ7( zs-&xE+|SdndiF{?6!m>J9qtROO-_mf%k<(1>q;C;DaF%3FpCTN zLrNc)%}@Br`}Q4^af9q3r~A#AurjJ}2BS0nit9y>bA)r~Be%Ey1wEzIIO*Th(q1*X z93}=yey@MKd9r}u_+>HzxFaL!zV=ISRqfEQ6ftAGyXQ6BkL;@~paH0o%GgO742Y|N z2lH<|Q02%goorQG@E= zM@FzUP<^PELp|HhpuF_7MQ7REO@hWtAiCLt(Po+{BeojV5 zNpp9|kPYC6vJAM8AwNgFcAF}?_@ zy`_)$--tWA$S_x*{?&vC`#JOpS?)~wUXj?6*h{ef<>yD7La1)LOq^RxRk>2Zgl=IS zIJnY~fW}ii=`AUC7PBpCCxaHkdUSshqOqd$6~SI&`_3I(8(QL;-NT<%rk6Wgee*lk zH}(nHSLFhKSflL-wQD)vI=q5xyLkQ3bUeFWHc7UNGrhay#uPc(=Tc$m{-!5Fe0N%dH<7ksXi*usR;l(YX~WAKZSs_hV>^%>srBbfV5w+`ed=VG%~+G zl{Uy1aG4JK009{q&hyR_P)psaR&sZla{pB2;r`KN}t{OZeg&F|Yzpg6`1^C`1?ios2ug_qsyhkyukaq^q7AZbeEO7S^Z2zWP%qCl z>WzJXuGJQCjj2xRxCk8c)fW#yXvh=tzGq0-@r)JiQg`l2FulX3CIvLt>b;Vu5Im1XysmVAOi@Ajn4=t@Lm2SV-j=!++`eb*!Ms!dHv1m=Pcmmao!`wgQyGj#=Tm7Uq+07O56kF zW{F&?^+>*P@BHz&JlS`XCcYzs0P2<-v$bre*e7a*nlYXi>$KQDfRGCxYb?Egnjwic zqi|D&UtV!7;j&yJMPSxZJ2}I3Ct8YY?*7Sd?^9IH-qo*n<>cfDpbiPm@5vc7Gi$J4 z(D^;zT>J6uv+Ko?)Mtj0*GHBLn+4iggnnr4o)B4b%}+mR)b25d5%!w#`#YQF zCnfd=tMxWdq4ur{V7xcajDxHwxxsTz^KA*i00w9-d>_e?J6M$wLMUWkUj@B#(Jb|j z0{qi-NhcnFaYq*Qc?I6HE!<<^xA|@DIe%cUUZm~v;-_ZH zqmo1A^0Uuy$=<}x(`0_Gg^Ltkx353e0?XcP<3C!cxnUg*UMwAxPCiArIY*`;93Oew zqzN|P(Hwa9?d8}HL_8-e^_p}X^V<7z)c56kr=gZ!rFYY+Yn0edpxoS%&hzft^dy62 zdFMLK9UFgiU5{SJBdvbQ2#9!+An_ndtV5v=QU8Hfr|#_4 zhnNxsoQZK+k6~{t|8kGhwkNZcWua3QP3$5)ID6yw0(UHCLfFbcO3UVX*U;j!h&#!h zlN*ovb;RL^5YHUL{$$^3TWVNr=#W#Vq$uLMo6xCH3X~X=g za)a|8iQ>(~RTNVE`A_&>HaCdc@l0CW&*_M4OD!asGSOVl5{106^qib(PugJDwK{Y- zM!_AwzZ<{T@)`a}W~+btYK6=QHhE97mZS+w&SPbE$*svMB7}#_CMs03+I8~}c!^cwa^z3fD0A7 zg}oaInm|U>o168da4>P?Z3&Cnce)4QN=M?6=+<6h%U)g!VDc7QTjgu^1r)!lJ5Qbt zR*Np?9dpjQNo#Z0FjIWM;JsBSa2KX?SbgAqQ%;zWhx22xyXC=-uH>8VEdh26waMkf zM|J#*F{eX8*h_Bwkwqx{w4=}Ylvm*ivD2e{!n#ui3>4;Le?A(Kc1o_@cYmOhJ=j&v zw~{PSo97yE>V?^!6~DWw+p(J}i=?~$tWDZkL7%HobkqQ6SV{;TF1MU>z>If&k58n+ z_HmynW6mqMN8;R$kdcZ2Rq`Iu#cr)nz2wOQPGrSzTFtf_pNH`T;cVmhOgdCg+g)m3 z*_b~DyY47FdN6Yw@`z265U!fGR-Bj{%Sz!iCsLu{+NhleQ;U?67gilW8z3%MHwaPKIQ z1oYEx+O*gH)P(tHN0$H{s%vs^b;{Gjv0O@QrKPa&U2wku*LlUA?vM!qW+`5 z(Op(L6_73w>Fx#*@JmQaOE(KhNiDEQN-N#n-QC^Y-O}B4KmP80o?HJe1I#ePd7tyj zH42w{zcZ~$tfIeu0(}w$LMpM?uZ|XD^(06)CzUzN@b_EjIH&xQ z^vd25%X2UMYjs79H*%;qWibT)p*-W@ObCdkv>6suWAH0uo99*@M}XTKMa z_Nu8&%qcpEK*v_cS*4EXS+mxL49FWn)3kRozr~qFoFz-EQRGItW%3yY+I%yCn$lAj z#SZ}=>uKH+lo9Q%lWR4*aVrpe{-X~v*m| z2e*D6wV5%Hc?+*AzNmaJEYu5vdp#U82Q)ByAXUA$E@qq25fv)*3kVnw-W_#Ke#K{n z-dQca+$M&wTyz5`RHb6=BxH+OlABh?DqKHx8x2{Q4)zhm|!kPpHpCCvt>6=OoVmd&%7TN zxrq3|%aW9byVKeO)NVNa4X@|XH?&^}#8VTO-{mDF7Pr{iK3W>QvDXXee|Eg?;l$ET z)zo03s+_r)IE6oE;09s1{6bZ6-=hym=CtO*j#Yi0R}plY^b)*#=A=^kre1QcIB-Pf zg~OqQUTQWXd>W%vJ%&3r&LA3hf;1(Eim`98upWCd9CTx29E`efI?; zjkzS??x;@~^jcg^)an3tr?&G$g`SQ%H7Ik({UWeYuaID+hcfCI`{4g_ZD) zNp01U%Xci7dEIMrjE4|PGt zt!||V@rnNO?eBj#@;C;w(vEM&6c?nO__dZ3fQn` zIVmKqSgjt|+=%@gpkE130JEZ}X^I?>e{)l;O z@`l<*Wp@ISrxR8X^WjXl!y`|>a)qa>S)d<>0WPbut&??ov+6Y&MkdIoD&%siFYy5+ z4&Fq#1(l&8>dk{<(f$&lRa6L^1Nn3o_m_J@w?N!1=1Ic#Ezl3QRnTx7GgfXSJpeT8 zt+VL|i@rQYGWKpHN&v_KhD_%<|2hohf-r#Ze}WIn0lVbL#)hRShuFUDV4_bXX2KA= z-A(n{0dY(~PSJ6+2}LR-{D{)H#SBPeqZ1M5LQYS&fv=AY(r!RPbSsQeRodM9!BfEA z8!TZOYiSZqef#j>5J5;e1+;hE1~|3tDIOrUVepX_^w3qZ!EQ8bphTiTGV#b0>wegw z7fd4WTO*J9x__x(zrmIpav-W@7d)}Kxw-yl*<(7z1CXuLHQoN36-JlKxQ{V{XoA$m zgyFOUpbk|ggKu@s?3#_sh;|%TvpA!j9jG0ueNP`{AFfj+H z1oSF#47Ihad-;ytww4G00H;^y+k+0-*6>9>-lgz5&pf>{Aj}UJWKB4NpLPlC+qXPx z=U@nuB2YDSd-qYv9Vn6|<=X|%i8=ra<625bb+-qq7fnt7QR~8k$K*K;Z649CslqBq z&ZF4&fc&!@_MG4xDZy$SBysak7`fUF{206pskv+`z?bb`U1k09AJ)Tj?<x|O1>^UxpFX`0 zNM5HF8zSPMqdq=f#@@lE)~y$&%Tz&Ha9^W17j{bV_gV~SHV?_aHy!EC>CGu=l`g#g z)Jd>6k(H+GO4cVRt%dOE`|l^z&!}uYH+oxD=o(VUiSnh!8#aZ_e^nQ0W$1Mswa%4Q zyUJs;g{xJNe|SlT{~Ya|=f(<~@8?t?8(7%e?VcFWc9r!f3cb=KXXBNRADN}H$FmMW^h8IMKb|hVclxED z8#cQK#%sIJt(V(tWmEYZR@!V_iK}|M|1LZws@=4D)yDF{H}!JWp#%3!Zvl5sr{)t7 z2V5xVWaib8HiZHC8*JRamJp^mNvsw(rfk*Z+zlCvv$s1Qe|+b>0~d0 z=~j_s|7Wq>$ddWWy6H8ceR9jp;9wzwdsgW1wipTN4gJk81v+)zRXxL}KgTmsiGg=H+b29mxJBgw>9 zAHUHgeu>t{b97{DaN|dlxhW8DXR0DLkcb9SAHz3zHHV={5Y%W{5DKt%xz>v{cEE>B z?9~-PF10qx8G2q%(U9U(FbwRIz`kZ1I0=GBuN%B3fZqb`3w7A(V#%y}BA%bGy?{Ei zI>XvP>KJ=MBB)eKAIWSZU@|M%H-V=DyN;}Zfx+X#265*WSNfZ_kvC zbgTZBI^aOVg@AqSImE2QmO4PT54X49+bP=)Kw$=Tv)^CZPe74igG2^3Y8KVLb@aBe zJXS&%cy`@O8oU`Wdk|jXI=%4$r3fi`QYSzX3%?dh0cyfpbbQ&{9v$uQ&72PlUKn8q zvyGX1>+kEWfzk3O3v%_5RvY`TzC%TG)%~x%fBOS1xyH>RF&c)V>AUKx&k!Wc>2_1u z(I*Bu(osEenlokWyQ3O<8Wm80k)UIDHxDi z{`&5aU;W3((cXxjo6+hF*+ZW3S;y4jX2V=ata!5ZP(q`S&BD}6Ch9jKe)w;J=@*Q> zX4q5Mhe!MHXQ4O3@)tq2&HRr{2;Z8Ye(E;4N$1BmXul4%*a0Igd1QddT#2}nsXSy} zFPFU{bvnXIY&kua{V9+@fNm!6jW?$s3wHXar@~&(=#HZt<)f=F{&)3M7GjH)x|^R0 zmB}&g(id+YW0g;k_tX6_DMn-U+Wa&;E)nKcNd&dB%nDr?_DTmJUhCQ5_{qZsPPr zu&_E*iyd9Z0y5csR)M4JWHfB_jBj4m!57&q8dYTY%=6L9g7kmyD)n>To&S{o78RTe zLHw)I`+*&F_AP0mc-FX@Dzxqstmin=LC*DQC2|%z*84(d7BkgkEiSB934dTkEqh&5 z7Yk8`nte^JCSv{juF;H4vr(BZ_PUum7q#!r&0TQ->mE^~ZKa9K@H8PfBR^hirIx&9 z10ptdz3w?Ww8qV?(r9LP9P6X;jNu58i(I896Q!8EH5c?CV%tBA_#;yxP8+soSRMtx7hRn8w(}n#1?Eif1gGSkWw)gWa&hUVe6@wr0OOO?B5o+ItCCq6vsg zyaM|;>i-4W>VmWWYhB)4OjRBJG+am*R6`VREB`?J3eC(3lM^DOzw5Jk>SumaTG@g& z%Z7O1J4P|rLH-aho)KQ#O`jiyQDY@sOYEv{G8>ZYetLy7u$GWQ%8{G>GUs&uv@LKH z@8bXLW3-_!T*H;Yv@*W0wUgmlyY==cP`Th!D|fRQ3q#vJ=e?Ohc;|}Z$-H+{YKI6s zMZ0H9-Q#WBSzQe#M-m}L89&uNZc6U=)g`kV6!z7vp(KBq${!M*J011Cvl|(6r0OpN zCT^>{ROb!2&w(u~{CZHWCP$eAu~oI_DA0RRx3^NG8WgdNMrtKB)mw)@7F?;_EcIk@ zlfSm|)(h765R*R147aQQrFV~!9bITy#zp^wYo+Ha-cRI&@BiavcHOm`s)eH0AOmYN zp1^whDYw-1A(A)X%)=xQTJdJ~KIE^Z2kEso8r~+kv}nlns`r&jePwob25~EDLN1Z_Lq3ra4cZ16jk9&*RD9BZVB=ngv^pZqs%fKdo`UfRe$u1U8 z;V{ljPx}CYV-^jh`L8#)vKHwY;weqyJ&&tz zIg4np7G7oX+`E7y{hasOXvdo(@oN8n3JqKI5B+& zBQo6-K7wHWmSJR$cBWX+AtRTSTxGO)*p*}2emb{wz^gQ2OBP9N72~VOj>&%~QkoOJ zuZUl>Uv}d*0GP0_=W_(9vY>JpM#@%lep2%lQa4B2=yM z#gAetY|q-~G>jcXtK3j>2Afed45T39b{WWcj$r67z?deTJ`n8u1R?>G|7)l(05RCV zE~DR|N(!VP5o&Ti(FGbUX~7+@_zFyV!^ko*NqD}q;RRK({idCHxH^y~CnwhkHGm7U z>eT7KlB8CInn)0GYY?LK03=8{pklJuqe@Ch7Iu$e{MI>3EfvCs(t=V(^o|X<&Xt2L z=|~>KI8eL_kir(|2hgs}!5tqRk>KAyeR_qBxNQ#aLeTfu;(TRQ)%N{&DxCxHJ$V3- z3#&c!65C5jNqJXiKpy}A4g*~FTc3HlZy7BovQX7sc|NgewsZGZ123H*CMjP81-=u~ z?rA5sDB*s^f2vqWohN;) z%B$|5weoD0oY)M5j4`CP=-r4Jy8e5^1~1%N8jv0TXHQN8P{aROrz?QlS@XKbUAH&T zI^?uxkea? zJ=IOp0G>B3Y;?Rp?>VbH6X~~uR4$*M7R=X%?~tL{P^HJH!6Gl>D`QRyR@%I{=yFEu zsP7pJ#85<(Fnj9VbVVqNMYL)3bo^h>E;U*WY?eCVEC2z@^eBM+l_dkd#D^vMmtKzF z?a7;#R0h|stY~0>t4baVvemfjNQkM0_a2#DOK))CtE#g1EA!LNf<{t|-;j;Ok2EOI1NC*3*I_q{Q4%0!eB%7+ScN9gA!>(coU}z z1-Z{knOET}AC7?yN7~)Pw)0=1hg(}qIPnL^>kuUomAXt=I|kQnE+vBMa^Zh!`*-E{ zy&{vB*5%gy!C&}8;wJd$3wh^c1-G5AoCS6T1;50Wi~VNJbJ>|IOawXdle)YTTU`wg8X3x&Wr>_`UzxYy!bAV+yv zjA0)1iTjBT7t_c(j9!O%xA`pKk;`6k=;196bJ`b`&oh@PlG^;q)d3$dDNI0ROEqe5 z_b25nHo@;bUM{S$xPNhQ*u+Z6^+~|HHsUmTs^#Nv4}?WR8v$^gUPd;qHYk7dvB>Ngt51V6BflB=65ZuE^W4UWit#3_uSRoBa0-c-;| zl9J)6%b89p*!oI?d_?RVRC3rPIhw)&51WoGLe$B-uFdW*wC8CkTOOm&K!jq);Qbq$<8o?6E_d^etUgP3h1*+Ttx-2 z+JLz#m-!MGGE3c4>V)0KU)RVfo5DnCTjkt>zm4`Cr>qv4kc8<+D`P$^)T=@)qe?#( zwQt}1x8r7JEO5PkJ?r(3LfjBj*s@Qo`|y_nKq2phSSvM^N9{} zrPy4erXLn!I->KkX4o zE%qo`busQ59{Gt!$!q7=l6U>zWsn;v?oN@{--4*3oDozorQIn-_0o?ojXW$1Ef=ii zVGqJ86bRq-s;;O?vH7r*!kZJYco@~Co{Mw16T?WQUWCmWiLF`nE9uJsd;|cY#_}&( zV45{LnpnaRxX89U!%D$$#V!+KBIIMqL`3s9*Qp%Dmb98~_x^sIwq42G598&64;qa| zk4e#!^aM_<7tADwsuOf!775)IG3i9TQWF=vqj_J~zf3iJHp@Jb z$VSnL!xy#>&}mHbUf$9xzxS^wP5Pp!h?D5HkUBarpDB$E+=4H8N|~zBx!Y_A(3qzT z#81IZ0B*_^dVr-!uuHvWbioFb%ry zMaQDo_#-S^!MWEUrXaW7LZ!q7S!? zd-RF;4aynz9#%9&rc0eO{qKP_mc9PtFrT#h9TMe(w%)9;KA`<+H+8Q=b0hlyJb=K9 zSjO+Y-v(fOozkun#YC*?`YvZb_jXQyev;!gwXjP&gcAe;&9^jk_$Zx&TumsrlYzgU zu5082CJ{o~kn+sX zzN%$mvl$+hHIY6BqtC&9=f__q5t&E5ZR5&gMVDAm)PtzfCc-h(>TdpcTL&VzfcBH@ zVR^NoMj(^bdfxhXbQ7Q~Lo_CY9sh!SsG{Hz7foB54Vss!VFa$~iElbgw)O0tI+8nD zqet*Zd)bt_=RCX+@uI=y2RaWNy9I`gdGmq z-}YL%z-`)k9G}1P5S_M1of(!P9?Mrr*}qYg)0q;*Rv(U<cgGE65>QE z8p#|)791oIl%2!&EAR;R2#~2;>!$9vp#{8jyb!i?Va8s``xC--q&|6#-Fq9=TBy|i z$N~#k9O3fKwqzZQf3jTYyh|}KOd;_Nz_;KW@IoWdks47V7gg!bb_e5Q3Q0HX=;tuf z@CU~1Noe)lb)-Rxw51GbiNJ?_b-P7kC2ox8(!9PCC=>{mqL-xzt-S=$lmVoLB14=4 zs6D@(b@~Vj+e(c7MUQRRM7FiKeU0fXNqDgsjke3=PI@n26O@?G+JEYDJ3(M8W;K51 z$AYwXZ*=(gob{=iV6Fkl;atzGAARO}0C?qp;O8m89sYScQ%=eIHl9-9(U__z|fM=Stdtr`00aXJNMA5Cu0idaljX>M{8I{gi8+$KMJ%t(YC(0un zD>1M9jfF&OP?qYV){}+{>f~5@3>4n=>_L(=MD66~&yuy^`kb$XNWc>rf-D;5b>7VM z@e($kZzn1GNCG0^3#M!)kSdan|4uOYT-3863AyD_H7IOHfQ@fm*n zvv4JP$D8oBj_!*XR^dwuu5P)F1-5==f)?ip+5f`^$z(XP*O)vGm5`$-VP{&u8;CB3=b^xwU230F5g0&u4 zOFUXOV#Hwq-M`8?#-q;b>s7}6Z`>ZPnLY0Jatj8E0VMY_#LC88R~J>>$OdJc7*USVVj51Zu%ZoS@CAUg+VfQ&#Q3Fu0* zS0qPUs%r)NNrZeJ{{GE!Dz6 zNgeQ8ySi;hyY@uM<&rQt+y?|=KOwUR5EI%y%_T2J{{{!5dWKXrB*h#bL_C3TTkSSVt<^U*0>b(DW}>o7WQ!pAdg9B`%EIrCkB`jtIzn>EJ))eFv7}Y59!5xGpCp=c zP^T=aLP$v~CucC3=a6}`!xH`3mq-3?$UBj+@-7!Q2q)#^K-zr3KM$9=7?D%nrM6}o zslPKvQ-QpVV4u=S-)E3Rf|X(8oQWZcNq|MTeY_MnwtM+WC%q zgud_x{G0bvc&`bpyT0*+-iKgfn-i$K_vfZNk&D!De=j#e5@A&O0z)+H+8rT6BxhO3gN&Z5O3ai7ct$6Uz8CqlSa*@_%~llEp2?3;)J z-NeXZ5ypLcTa2y7Q$Yu%CWZjN(-ToZ&&aLt=Go~e@ZfChEbgsyXFn5hjA_^n{Rz82 zwvu_4jyrcP^&w8zc!?0f&mN5P*A;b_VC}%ym*6aOY%7LyIxWsAF5o)g!`+J8)o;NB zGYaH!B{04)qKOLOnJP>U4cg9M=gqV}!@rbL$3(Hs%4phLrg|^Hqqo8yG&0SwS5~+n zDNL{Fi668>}8VkC!7&{@e zoum`_xvs*?W@gN?sBY|H;KSyHpD@1~Xe1_R-a3F%?AYD=adI}8K&wvF=St$(+wp2Gv9DQcJXLLwadZcbTMN6v zS>GNO86T5C)-S@@I0^#`BACDWTDi+Y=OF`I&S{T_N!?5W=T5(l<|Q7<+l7NxnO)~8 z>GE7`1&BNDXCM5!k^KVGR;)pZVG1AMq}vZZmM@*)+!^~AHogC$hl~zb>(qtPMkE8Z1|(1W#)Eq zj7ip7nW~nQD4))n`etosoO>rCHuzjb3Muh5|JR@?Rc3YJf$gMN$e1n*;t+l^h3rTW zpx@C?tP#g#liYr7*`w%3Cgk!RW7;S%3e?r@{=j3s(4|H28nlY*>t+ue|XV#cJ3h^9%yWeVUzICL=h|4oQe$--Uac+ z8C(L+FdZ<7%-jyfbFb59xiX@(a>X4R06~)nh%C>?GwG5~M_XH6X7czq=p!b8*oMpf z8tSQ~2RrkVoJEYN&CR7%FY_POhiA&haHUYeDfC}J_vowhoO6#(9xBX6f6tXnU(5mw&;JF4{hyCcpwGW^0Ba=3N>T2c z-|ut4u1MPiZ4c(j;{^OH%ct)+N-Qk>ynyV})E`zr6{vrHIWez|+|&Iv&8SX&RR+z% z^VWTZ{`LYUhKRgm=>9C%?R7`=L6mSIW4-B!@mxSO+jR#!7t>Fn2jJv-kgLZE||CsmUWlP7pn(egP!99s7KXo-jmdT0ixqK;ktu!Vh~ zF&f?8J+3k}Sk}(P)69vdW8$N1cA+$j86j4zOoXZukf>El1a{nzdB581U?@J2LeH&- z3`fQR`R5O?o7Crn^}$)Fksj2YWN@rlPC61rmyh!S&l!`t3;Dwb#OyT0*{MXAy z9Xr~<^NOwPbYM2Ds3>Oz24fUzh)6skUu8&lZ1nHnSa_6z3Ycq?^+xVLQkPVH#H-49 zHf>M6!Ji5CD-=ayFs+SB=ZlU4f114zMvvl1jgTDS9sf5Eas@}U!(U_Y@Nrb4u!?r{ z-7w*0@IJ+@j=c@!VjDvci)C|V3z$Pbt?$2?rSr{~b!VfqVDyRf)tt;pI|L*-`VM{{ z!>ahupl>aV=wW~$;|KhcJZ2g(oZEn7jwyCDHw!oYn_of}R4@+PpT#6->`TJph5;CDAlLI7}m}T|I2PFC)go>-eXwV(OIZ@CRXbxm+ z)P|bo0y3;HSo<$L9_$NdVblIOJjw7Z&f1CJ{e@ql`s(AA&|YNxSM!&l3&+b`SxfPv zh1eN-ZcKrd2`KR{p)ZOC8Iqz0R^#l3)eJzs{O?hY`Yjc-@gg8(i-G7W7Rl_@G~x{t zi)^ID=fda;EMx`F=b2me7S=Z#LS3%Tb6oN7^nfJcx2%QR3{raPx4u8ACCrzzA&%!O zUxQ%yH;!8vWGcCt_`@yH&K4z`0wG$i0X}6YzPks14vC7t5SbP9PTi`I22$plW^7Gkfnf$jeF=4nzqq(Jg^OxYh@bQF@# zTn-4;vJ2oL|BCb+j|DJ=LS3h@5FTPUuUtzk^PV*OElQdb^uxn98$rdB^ePNGLWsNm zu*kqC(I1K+BC7|kEZUcuHd|7RFfQ)9hOX;F@47s_#Cc96kjcEU3lZlqNXWnc#ulUeXV~uMm9~t+ zWdS;cqi#b2Inmv5PuyfMI{Ub}f#mBXpk7vquP_O@Hh@?T3u|ahp0Xoom33;B-CZ_k za_#+f7RoJ1amu&#`^|3OeEwG`RAer;`Nd5df7!!ap9b+TvfVVNSVr`ADD$UgP;a2E zjkG;t;#E!i4{IM{{U8Cv?R6lQKm}kZ^6A&m*oY|EqfDx&w9i^7GU(aF@;=gNboD;} z!lgZre<@?Z;1v33-rd>hbANR}`=eLmV>_W2y>b>?V5xa>q=m7z&oDq+XL!9l#iHTS zi2;Ek+`}VfnEE7ZJgN@qAsDS~hp5oEyUNXOPS4DJiY}4(I@&s$s)yPL&-(u}+PiE) z*HTha%ANk0!y`NNFvPfKU`Pt-fdw;3KTAgiP((coyI+UQYHr2G>2n560qRMXO9YPi#jOry@0e=wYNE4Ms zzr3$!D2OJR?lq6}Z zCyU$fxpT8{G;TeyfUf~I40ZC z#ki*Ambt$ZofjI&UhQN_Zd}uw785*&1`0J8#QRRNU#jTs$4%%K%{XBoa0Hn|>xQf2 zNU`X3e8eU|d%J z98vg+#yu`y>-{Rx74{lC$T$vzXV9`zl&!3YA2KurJ*x@ea*pJnd|#q}A(c~xP5FAp zcRI1WXeBQm3Rbw5|EO`0b`X%DNt4$u1RA#HStG|CS4yiR(?}H$0 z{gA*i>TlpLnl%R_lfPaQ32bl?93N(TQzoa>+dTa;+$82~)R0{hSNz$34Zd z)<;$mdIUVpReRs;d55%{fUnLdkW1rE{VI+-(t5+zy)@E#EURe(S2k}UzRv$OdfDle zFtDcfaqW)dq7gZh^xH-Oj_B?}*i?$JNrR{llIEz9ND3>9JY<}7y3?)6qL?PmGD;{p zbe=Ri=P`AT>qlZkDDc-@%%#FS(}wsIvk{_+Z~(*B{7%#JT1?RA-pDd;I-UF=z(CPI z;G@vc+ozO6i6MXZa~pZ_hlgQgL_1k|YyCpCr7R?#gVx={-5VW41|F+?R*0p4{Lf*n z_3Go`xod57o>4*mFf62_wRyRs=BRx3!q$sB)0+k-~UwW%MDJX#7H_&fj$I7I+v5J%}t3=V(vHNAu)_< zMQMO9+rE0o8Qa5S@*W28_Hw0~vNE<3U+uEA^Obc#^;HGCv&WkHNTw-oM`)MU6f86l z%_yDfd7q#D8DWNdS3ztEn4O#ddbvNwb26T!Vf@M~%8UL=6F1JH!>J>PjEqdorVrv5 zWIPGn7W*g50`}_*t5-M#tKa{PV8#$dv|d+$GnVDn^YZf2YH*}~Irb$I1=DtJ31lK| zQe$}5KHVRbA}J+zApt?W3&x0_(qW|Qr=l&r;Ds2>S-|oHJSmTYBzOgW3$-ZD zYi;2Bj_$tG1f`XSIR}1Dko3emepH|5OC_#JXP}uFn$Rkp6R%ff;WO zmVs?~xO1@ZTESO>&{uxM6d2ThD#NcFWD@}FeJ9Ix`BM3xT>JmAasNpKw(UD%o$+3% zKqQc=GnucF>#~nO5S#nop@~rqbl!05Eh*_xr-AAn(7jpr5wd2?+$oFOWZn^_37F2- z2hej2&i-Jt3Z{>MI)lrB?>^73lf#{aA$n=Fg8=2n6I)I5jmmFFE} zR-n7)l$N&>EnKX14qJ^*+aVX??0&LVs2p)BLzgu~rvE$9(1ruuyHm#CL&zXOZi^Z@cU$Ffjg35HzcZS5xzE z8vEZ1tDYKY4J18MKFs>je~d4=-fHN;os49a+w_~V zyRGTZ`vTwk1#8@1YkL=2lNgtcy!jvD5y*Y1lx<4Ang`NL?$?sOhJ$z?u+I!5qTod4 z(cWD36~VSU2HxU#p*ka)`G4FE?)x(7T#X$~CMWcAEP6f7M!z0{nXulfmubHDcp5?P z0Kox0!s{77gRy}un-ta1VX1d=C7qn^yBnkJ0OKuU3c0bwR72Y8ze!@=uUzWYMBo{8 zeQP*6kh4FLG33(IgMq>JxFSXY_k4R+x)OGcn&OwfuMLS@Wv1E>7yYk&Ls#Pvr)vO;L$J9G%`^@Ag&J ztAEosiqVXUfeWCQk%5f%b}dtCMwN?zZ}`_1E#byVIv!Kj6^ zqaFEo?cTiAc5VMpDH1vdH(u(p`Y?5seKpfEzw9uqn58zrC#qOd%)E%i+=j;wMo0#@ zKLU2JG3uBq9n0ozvY_+d+*Hqv{SjcyY>ol{&;t+1bRrZ&E)gKvjs?IePa_+%b#ROP z+2QtdT`1giIKi&(O~GIV5MlI_kp$vqGhdMnPLhlp8&gD>bGtwIRmby zS9N4!f}jmj{)|=Za`!jW>U!g=UN6HpV%%Do2(dp&iZ?{SMIp8Z9Uv1{&5BP@V&>l>cm;Ybu>J$V zb0kXaR&i9)H2w+S^_AjpjWtvv$6qm|;Oi-t01gk%>ABk=Aw^kZSPyS+s9-CcuOTIhhf9`-JDDrZ9620{QjevaS`Nx!!=*ctFHq|7Bi+r;?eA{)S9yy$=C_np2$V|eBA3z^$&{`5Q# z0Dn{q)tCqVbZd}dWp=VZ;p^VE11QOmo=Zbr7j{O(MRm8^KTsaJ?KY6qAD_URZ}xpM z{vx(dSej>G-xL;F)wZ)15WY9kjI7%5>9quL?ubrWvEXygZ;9$$Y_3;4ny>d$<}k11 z^S<}Y79l47X2k=i^L?N+QhLi9tIAcA8DP+0U9Jbh*H0N`V*2poV*A-){qpKD5%x{3 ziW3d5dfe&lz z361Hr@7EuuMmReqzmzO#n1*?jEC$e`7{;MBvM*!!M>6gfxjdy-UAke6PP`3{`&Ph} zmGPmtb|QE;++uf!bqXSRRJ_6YtD;dohb&PfvoFxyv@^&jU&SmfC)EZwF=24D=YBj| zoAp-TPvs)G0-I}JeDpyy^ExuB9aVA1?;|UKnWvRuWjk?0>Xg$@Xs}MV0DmD*$bdrQ z7k0nCRGWOn*(F*ZBl{JOOB(6t2Ph$?22PiAD0KG=b0K{}2SMpqYM_!HgVonzl&)`6lVwwM+>X=YXk62I9ER0(m{YoKOkZMu7 zOrgo5g8xJW&4AONcGL8GRF~r}QYRDHEY#0cJSv9)-T2U$XovI&>}(jbmB6_`Kspqa zN1^Z*xfw$pq+Sf`_PkLpnKG~@6R12!vZnA*KCGGNC|0o~c5KR?zcj{obmsXCmRUOE zwpv6YDyn=1{StWpo^e!rKXzQNK_!@B-*T%w+W-q%)6RP5rZNTOpAEQ0B(ajq?K z&_LP3R&0iCr^Cc})!3D8?^;8yed%6-y?w2|Wi>ho2sY2ekqZO1vNv@1Hor|}A^e-h z8LZ{ak14WD04O|I20#naf_}yEDpqRfws`zuBr`vUeSXyDE*f~-4LJSq(W6hyYRpV01m+jNmj|!bx^#40(I|vAk*zoI@0h?y$ACRPpla3u}B`?A!MDt&^$Z&nI z^gHqv^tS!kQrlM=L3N6e!hqCd^_BUrTfn8bm6n47iMSXQec4L9{Q>I3UnL?Ja%sB( zH2*=20=t6*%$GQe{J*MzQA-+L47CKD*!^N`HDJC@S{#4Z>qDX+XGefw-htb=g?c|# z*n61n%?Kh6d&>ie-2a5rWZ;vc6SXPT zzqld+#DMcjXcqxU+?zk=EA-az#a?pVDdSzz#DYC^LiUCh_RB|_66L;ViemmhNy`5L zkOeP5j!+pdy9m*6-G|DYI$PX0|#Rmd1(Zt} zasghpl+?KZ8eM^_zvG>0OG`jN05Q9vFX{X7naG2|pQ5}cS<>OD%C%ooNnq}KK@|KZ z-`^{Qo0}k!P9Y@PF1JXpzy7V7rFbd3ebjh8>D1chBL6_sX$GPOeeRkC9V4vyAuNw; zj;~cGtqA4l+^R&`uXmJQ;N&=}andau8SMW6iTXB>t@R=Xs_+Sf@t56wTywA#6!-pR z(*3pi(GsIU4ul8#Y!n1#$E>0$6Nj~%a#d_U=w$KQzGRYWDyzgI*;q<)F2s&g(M+@E z$|;%CFBwF^@k#CjSd4b(Wd*CQ#>XW$Cx_DahuYqW27jk3v{hRBO-dhc`FGQu%rJPW`^O&_|JUv%B66w)AqHsUsG| zh-(p@#xK+IPSY7Ig$HqMxo5qx;(dEHDpB!AaN*B_91#c4U?Meh^e<(`IKY5SayE+obc>3YaS93!xi{+XKQ9RfTSBlB1KHWHG`}Yr3mZQ`~e=vA% z0ITNL+H$?DU?&y9?;=U}!;SsUi7{7%Dk)L|Y}Mkd6~r}3yy28j5FHJVHIrwA+5bi1 zRV&idauybi?$;NyXMc$eim6`s?|1k#c&x(uJW|?1U0_r-84|`I))cRb8L))Lr&1e= ziMgo7I83-kb}Qyh0^WoSgokS`@|b%&*=ti`Gkgxb_cbFIdT0~5>6g1(3Y`|4e)PST zfu~yb4j=vBdv6%TnKdg-QL_2lVWqJql^GSlHZdo+ls?A1u{$^Wk&9a0Ft+b?GtpBh z-DMLTqv)BUTbnCsV1zzpvw?ZfyT(s3cX1Q-F>3z5db6tivZR!^bI{=XqUm0XWr+&3 z+gj+`pIrHxnRvn6#fKji#bYobzhR}qMx#&ZRk4^@ZiE?P__y-q9x!oxQ%=IRssXB8 zKPM|-b4%CJzOGI!*Gm>*H` z0&txf<#9ix2uTVzTn4^gp|cm_0XBqQa$>O;B*xvba$`}M=y%uN_uTfpSzPp!fD6^J z`Lagb9!a~}WKkarn3Nx8+zHw@?tri-;>jsI$7 z{h|TQ04uEhv`OABg6}`(N_`=^6Zj^vw=KjMLPmNF^7mzMiPHuxcwQ!k@p4 zzox>%d-yYf*r_)J`7c0%T>@!RhZ{RNPfA<~l$K0Sz4c$%>RxDR4CxB=aW&Ho6X=X>p@E&~xkUy4gi54NoT=>9=SWdBMm)n(Krpo=w43*bBLmrE%)A0SQ&3Y1bGge-%WZqKLW7DUr9)KrU21 z1ez{XXdvQKM?-C3`}{u43g2PYlAQd2VaEC^8vF9uyY@DC2)0rmx>SP5^KiGi#Y%AD zw$0(2D&W8#&GI$M@&RT%XSRoy3&U|3NJZDcV{mL3TE>SfjK=0SDs58>-Wc7W3B$GacJX(ZPKCVnQh;SCJG>Fp_ z7@QwagRy@RBnGBk+fQ<(V~aPp1K_}BfLGcg?@fX(!thbm9*5GE04II3gqlEAuBfnw z{WKlZ^}|%+pzcC$w$Gu9hBy{^c1ox ztaAZ9?^UPi<&b2x3?ohj#%)z;q+g4LwGf-HwEjyB=hsalrGg%^{rZWvn0fm5=giZF zM+lUBN5aMcu+0ubu22MOm)S^R5^5^j7pm<=T2+m(I z0cm2u#q01_E3oxk@xRJJ2S1EJ9*pY<8KxBr{XM$zG8@^q&AAghqAt~?>Gyi^p(2;I zd>-649~9I;XO^yqf&@}eyNm-%HLntRJsqN0tW_qy4$eBJy7x0p0ilR!^Z5r2V{{QcQop6@^X{hRQkhSo@D?1Tt5a8x3-fEU zJOXO9rFBKx4t3@jZ_uX>0AQ$U6DWS>pxTcVa{pBNK{J21SM#o3>*53eB7EKn0R80R zhE^}0a*>`YCEd3pLXgML<}z0R8uLNNTKO8|4W;WM^vx)O@~8q z$Bf1_HhE%~U!Dl=)S}IL`j?HY)p5!v0|XvkNUf<@*7UTlC!5ikrhZy`<9wybl(A)O zz)h~*^mqq-YQvBG$ee3?;_?d_S5wQbNz!I%AB)rH%nUTG7Jb7(=XFPha~s@AY~tlj zN1eSG_{3k3j5g>5w62EE&bIe1E;_eb2eN^D5PoH#n(X04cCmhW5_IIXU-S}}1$1`xj9u;u#lh{Tgo?@Z% z3@^^&ScT-RmLXOAjW=63+mR(DCAHJvHwpA8$Hv{zY~^2b6;?%~=4f!Z1s@~%p4lIq zsi*j;-H(NUrOSDS)P1)N7ntvIQQc&jlBc(N*7dT3Ek*s7>}&R~jR~`<|2uPr>2o93 z@ueP>1>QYIx~9e349O`}x0O(Bm(FIL+B|oQ6e=TeGpf>fxKy8HBaL)SAaBjn7LiyhI z=jT1xQ*{+=s;@qH^X9t6O6Mvuoik2XeJ0W-CvxzDI!=Y5Cpv}hD(PWm(tT@g#nAHI zSn6|CZ)>nZHZl@|0Vi;&3rwi_$AzIUEn&f5;^t*T^$QXCkU8kcPf)%KQ<)jh@`tgWvH7Ug zr8!^itjpsj#C41tKdYX&Iv?LuQ*^m!HPEQi%V<0=nPhub^UK+Re+vd%D2Rwy!rlqlwy38*_8&YJ(tUTU`Z?#gC zAEOGyeOr2S+0BOh6K=TsuM6b)koy(Bm)O!|kMuFwY_(J=tShI_9DUHH?W1>=VTkwa zUjOiZ<>Kj zY|q=*-LIj8pJ_Vf;~TNY!Ut2I=r?qO@M+x@cd3~zd>`O0P;$yl579m67b3cn7dxe_ zY0dt!qbK5}2+_soKFYRul4-><43wOHaW)4*4|cCoF}M@tU%m zKj&b>R_19TJQbuT5^gT_W(}dzrZTv{G%bp$>K^_@5hzk_tbi-Q7f9lJxEZLIcx92{`R6#(m!^zoKiU0JRdIoMf z$L*CShueDg%Q@j=b}w)RWIT#=+g8*w+y~48&C+nq4Za;I^hERf);%f6L)syqvv?E~ z(6sScCrNL7YCAZCX{pdVc;Ps*6Ji@nQTB%xKw!#`o)3ekS8Mwmvb2lT_ez*+sn)#Q zo-j<^m|w)UGJR{qhnfCFKGRke=*uc!X+oLJ_}+Th*db+}27dnTYKLm#bN#wPk}yvi^4 zVJ(?NE!`b&Dv$$rcXyv+{bf*RZvrIa49`;>!R^I9o&ei*7&LscGF&7Ubn@aI6|AUU zbnLYYmuJHX-L_d0#rNN~*PXC4$ZJ$&b_t4w%k(YE{p|Pg zoqE%@T@sg|sDWMbqV_Bs5%-NtMJ5dj`XcU)HMO%WIIl7&f`w;~U&{qPw4HaSRF6jz zHHPzD(|@e8oU-`N{-xr{YjIOV)6q|)>6I@UPrE4_&?J2#9w)Gcw@9WPRkn3f2nJE)LQyCxLK8j{2e6TsGMEm`NWC1f({2MtslKWpWUfz6smBAQe z*c;KAc<&Zl1liT@G3M*M=}p}@WH5;@mtxo&aZbY~NkQS|(M{20ML8LYI%<}M030@d zZ9E1oe1Qs+a^lA>bJ9X>r))0cyj_Y=>oT6%J|P!#E-t9LsFQ{@@mQ9wO|?)a>J`6y zeC6x#@JZPu9oGxPfpMcqo@I4sE$ZdH)ab!!-Vz>59eNI!+?Za&$l*jAWg5zLj_4B4 zH~J%JPkIia-1Gc4BhxM?zwYpk);aT)iY!RQ^_j6zJMRZ4-0>09<@yIiB9;%g#iVqH z>(=+Dud8l_;)2HT?VfB7b@}L>J<0IuB3H5T8(J($OGEmqTV=-^{0=6|)zNa9LiSt6 zOqv+|%NK>S@`>9Q*Yv4K$2roN7;Jcj?kk=ivK`$b5zy^Q8b4?cc(rw^F}t?3Q_Y-c zhSYh-sGecZHd`{V;w1CSCNt3v34P?U*q}wOVs-^WjB`+2^;|w9h{G@?{#b*&(f>uLfdMa*OJdEQ>YGJ>Ak~opyf? zr)vtk9>eT!9&rdrO-PcJ9KYs9QC=GB>0@7efybm9#Y*1)Nd98uq$S0XMQugPN^(Ap z6*Un>)wu4L1kI~c_4~top6`a8@I3Em?vKoV_j^Iz774^%8egB`<=Y<8WlMsqms!l- zHL%ldnl!c;uZwot2~dxJ>mkv}oj%V(>%FeYfbu!azBQl!YrAj9n@23C`x^S4B;T^} zcB_Pd8NPz#!a~?r!iQH)b$=M@#s<18=`1=`vvl-{&RQ@Dlt@}9MRmvD)?aJ<;MbXa zU#9BadHa>B6FQz&^kwe*gDAZ`znq2b%T8A`^JK1XZARFIP|Ar9xfmUrOC6e`B?8dvvOW+tZnG?fmK!9N9MHE zN~zl$U(LGw*KX|fzmc3uMm_M;KC1R^hz&J;qo>`a;?_$q^GpA#!6(Up7Gr!Z%-1mj zUc2dW+=L@G+WzMKT$hfvU%%$Neg~{mcKJ}B73tk_3+vV|D&5MZtdxjq+3<7g9_Vlm zM(H)asIsRkFRuTDY^S6hT5kBZdK0|z2IA}QUU?rV18=n3#)8twK&&vQZbFpoL~~-i zLo>AH&L2H>AxtmHeP;Tujt!XWFBhjBTji?SR^G3U$Us5CTq&GGTrsmGGCS++OQcAD z^N17-_3hj`vIdx|ciBT9My-7c-NvE#zX39NKc7Rl?RCW%G2xXL?#S!6W4*h+mmIn; z@pwsW)rHMaj1>!54p?$O@A!J;A);nr-89O=Agl2CM492;OLdC_gJr}5%N5FgCI(6O zYxT`KvQ9Y~8kBkehf9VlEdD(<`O$Ged+w2cN<`3ww8z$_5tk}wV3@5#)6hc}np=|} z*1qg`&n6GzCDjqI4mt_Mt2^eql6P}8B#(A3A~N)}8S@*~KsNiP&A3!Xqh5+C8;G3J zhw>PX25$`&Sf{}1kWz|%N!JatwY9YyjLLJNQ%Bk3b)-2dTJL<-(J2D>T9g#UGCYRm z2}=XRg{in)l13b@SF_TB9jr8ltF!{;Ft2 zDtg%ya!k1d0$Ff}1aM|?#7KKYiu4{bsWhJws4Y-=Q|pO^p#k7h`*}?V%~~FRYigsy zH4mU!N{JT9+UInobvIZa{N~8&U@qqGGd2B&e2D~ZWgVG{6d2hsB^!|q1uF^@1A)VZ)T3LQ@{l15SiVLe7! z>r+-Scl?;9N|#Tfz88HfP`ovaaAUqcKD-l&%&Pw-ENkEg$+| zK5UQan<^faP`dVWTMc0mKC$T-)1=sZqV*Awx^q-AI_y~}3z~-BG4Gf|$%Z>!o|>&S z;0L90i-=n}ZStOLrGKPpSw`!kY>gMJFHM`)_qU_B%v&T`$y9(QH`YWQiCCP4#SpE`-Sz_$`{Hb2^Y2d!>Wq*CUjx(`uAM*9G z(T)-4Y~kbM=cS!yXcl;P;*RS2 zpP%`JRJUtF6)ceV$Ez?Sl@kj$2DP+M)70~qX!~Cu@T%eN-Na3Ob>lhPUT&B|itBa! zN+TFi`;D%ARgW)kQDySkr|RUdi95AlEzzj;;MhuyGPWUG@eoHu+MGi>N+*m1f8ZGPsi-kS!3yq z8F zyrnG$W5#5h)&4MP+~vm#IhpZp70Bled86r3E>c6v&)%y%t@W&Q!kHVqfza@lN-`lu zA%Sfb!`-_!xECyN!{21WX(=%K5d%x2`^OAD0q`oqO76YCq-ol-g^{~5evuP$Zsy5W zd)8ORye@y6T^r<5Dr%HrFL0_6N-kKwO_Dx*_z^$h!VR3uIEE@uHPlM@2;E!vC6g1= zP6)Mq;EjJw=6B)JU@E19K7!bYwHfkKGhDx~j(Y)TPkjH``YtT>yP(O!N|GOw!nzV# z=Sj}H7~X4z^__0LrQXu>HrCM`eLvo!7GvOgzI>>JyXoO#)Y)j_HZWAA@$Be+sN zg=qi>v5=+mz7FR#hivp07~*Npq?((J4x+wE)c@K8XMM(!a;9-OLDA7cN!EBxxYIjq zpzz@pT4kdo>N8unS{SH%A}d&EkUD1u>rai&r;w{1@U(tN;&gX-v8oA!g2xw#lvX9_ zTPL=lWONZ;#k&rA?#Efo8B7!l<0{GDksp;UvhpL?X=PFddy(tAlK5s#KYxg|ecRjq zRrpdp!Cx~fr%vjV-!Vtyz{j(q5W9yRhAFEX=~Jf$-=&NM!rFr>I$>3#ib9o_=ZccRl$#?0H^!mon7 zWL@(msNQAt+8T~)g9L;2qK)s;s#*qnPcuyc)kNXt!qJcZIQXnFIobrgd6t5J`t_?-5(v4sDr0x|kU8%c7-;z@pKpwHUHgQLW#Tc16KQP5k^K@(T) zPu>L(=v|bOvSc{HmUo#L-{qfA76;~;v+D6{X7m#sN>)`DMTF<}xp%L<{6yUOKYIp$ zZ}mo!Q@z%AjqY77l8fzax%XqAHdprjD%+b&xB>-Fx&q=pQsm9RZoc<4YJ+r_W!gY) zJ~>_{@TCk!{@{7J-R#?i>rPHijS*ctvSm*y&+?hHPu9NLwNi85mE58$h0Q$n$44IJ zQM^WY#`VEfH(wA898nvbjzR{nVFhc7^DwGi-yPnVM_*|P1_7r zUL+9C*GrafEUxN)@r+*Bcv`cKU;T+1=Lc`17?Q8@##4T8IvnDW{y>lTT$3l~o|Au} z#34z_DFBc_>bV!7EJ*RQBXT~#5^-6WDN3-?hMIB+B;d_DGUc${M#? zML@+Pd_<4?OMzX9l9fUY;fU2A=0X*6@zz%-Yjqo2h%nzirDnqqh;%u#7wK1&U5t@^ z_v5VD)Ai+zpE_n@kAUG$#||8x+4dnbFT$&KZ$Q>^q2k^qZhwwa(i{b>N{AeNC(+QLi7+c=j3yr_6&v?cB0t<`$dY>)~W%CEX@)P6jP(}v@Gr2H~K;)KVAl^Vtf zwJWu1ydQ+G?}^LI?7eIek2{W0b4tM$6H!^(&ULgl5-r_PMyvAa+EW&b##0socaODs zg_9f;nklUm#5${4{PVe=)6FL;hw_>`!JJ*KZ09HJJxBI2YZckDDMkss3qP6jDc`)O zF{3G!zO`H&$YaYdmM=NT^R>|&(Z(D@1%1+Ihryl zHFI`ib?G^cYE{E8YVvh#8y%?xuoBowO40YBkM}$a3rnP=SNTM#w2Vv&Y$LFT?Jbnz zKR%|WrcM+NHYO>eDLCSj>Tvn7JhFX3hrpc_*whix8Y3+~7@dMU!^Gc#i}JJ-B-`Uz`i0w_@5yKOxw%!rz~nxi6fNJ56gwtAIDiX4L9 zG95@f7}iVK)3V)8i$S_T^E9ajj`+n9eA02B)Dr717DE;#@2H0+9kv<>4lTjGU0xFs zkDwKwXPcG3M8lsnN;clCCPnjgj5nsIB)CmHYt?8|{$0*WVBP!3O=%=_Yt5|{G_WVw zaD`-wTsk^s9~P7=NKsw7*`HRic(3wRs%avS_fo#jth~Iz)z#I`1|U+KaP!HeM6kpy zGK}f_OJdkpcCT97^}OU=Dg`}Hzc3U<0@RJnmJ4r?3d9}z+2?z9{>MvmCtBkPh)rt3 zJ=vY-!hNpudZxZx?Ml^5x^6)yFkeM9Ui-^}90sL@Rq^{<%bz4X_I@ryx}^pRBfbb`%hGp6KL7h+86t*VWGv9jh%ZWBSmhp93MFEZJKL- zLTR_i{3LZL+bDfsK)gqJF5Sg<2Zu;a%{-uSC!cA*{*=$>?i5uu-~_Mg7w3wVeg4_T zJe1N^m#pGFW=Ogqk?F4ZML{+(R{qOthb-ZEvGm!He&&9Oy-U&BP8V;zda&13+HGS$ zNr94Yr|IF7w`JC{Hz!}F6pD_U&R9eQxPCYky0zZThgI0D%x5Nf;Vi>Xr2o}2;dIj0 zA-!;l!<**Q0iIq}Ak?~0o(CB^NZhBo$&aCfneSfB(za$ewT4-6!HRccyUC?gH-C#E zh~xR`BVMs~_h26V!jnpyoJAc|nGR3AseWJV6rT+@Pxy3z9uw z^MK=>o?zl#w#2)S&5J_|IoKobUbv^4VugRApbGKf{QacIj*E>;Je2+y`3^l|bxJ&1 z2TYl_Mw@2m9a;_C(oGdtP18N>-TSEUNLamb@JOD?jr(+1Snl}>i6*7 zk*#yTs%8S2UF#(de#)e3X2z85Eu?CEX*WEM8kaoYRaRpyy5&bCVAA|iJ(a(ymRw+a zzUvBZ*DId#k2A>iiJHK4xCZ%lvq}~t#d&X-#YL*}b@EY9L>-rGJV4eb6sfILCQRq0 zoyFr>k#4a5DP8aI)8SadLi4YEubdxsLE7)C{gn+EOb3e`%(X{C3<)Cb7C0VD##DZM z8iLmoLH9W0=~}AEn-D{7lw4b$Ic7%FHEoOAH{f%q`T(bZ{Rk)HAqmtH%U2^ zXD2%-Vw$blpt`yAzV{JdQRqgdQkL+cN!rOWJZr~@C%R$Zr|U`8QD+_r9;YJSF1?Co z4L<1;IIEDIS0Z5gxW_)z&avUXK(1_oeP$gQ2`jZW9s#;#=eVf8_%aR4iK>}z7fRbw zkbJQx^elcqRqWAfpZ{5tbm;iQZ)|8Zgz7Zs@Ikk}salaRCvt%3ABWHCEhRPnZPf(7 z?%Gu;rQ0xT0NW{hi|kBw^UOo}pLBjR0Cw8@2ehay!^A^A z00x~LlNQwEw--Lf?23YT^mUo1 z6|%Pp_Yhz794ayO5b0Ae+X8Xc_(Rl*zxNfe_`Gs%JN)zN?!w9?`-&a{(a4eyF*6Cp&zE$Z3Up{eR6p`j-P=5Qp0b-+T!}9}__j2p_d$CK zeHx`f#-oM7yi_#5Q8huyT*527R}Nx7zQ4)2AIeemC>8oU;Cd@kqgvUYZ295fdD5yB zx=i%RWT)HaaPSM3ncdZrZaK%}+u~VjE}Z;6DRGETDG{(XTg-Ob8< zvxw(&$aNr4EypW;GC1reG4*6uQyoss@E6f zI?NR5j{*1}dLuY$MkT(Xf)q!DluraOq`@#jM&pJ*y}=o*-4dYf?nfTNO&BB0w~Vl` z&@44~+fHliPC3nK(9)XGH`1tyib+|{x`9XXSZO?vCx395UPA|rk}og*qfTv_ONCv! z<04taASLHTY9$~4q29qMe#3#8GEqKx@50Gh=zqG=K96<*Zngy zD~??$lG5jX%ny-Hp3d->1#R!Vbk4knWEmCNRqJHU`S9p#}SqX^OE@% zvoGzVZNcxS-QVO)v(0Pj%43c`DaGnWsBz%tckLKiW~qHHJc9`Vu76WhBgd5qlVl+- za*?_LFGr9&NBc@e@5)~4IR%}!+e`05mpVC4q)j*QocsOLO;EG;Gg5BWk6x*osb^++ zOZmrjl44!P+oxj8iFoBWP~GEZ*|O(6l>H;F_So@tmfaxf{0j)Xzs26DQ+Q<8>4n9E z5M2803+kK?6&FwEXnbW$w}}^f;Bj=431v`hpK^j(tiLzYa20c-?)!J5ESSFVC`fbP zUE6{XaG6wqv%drud`Wp(SCb!X&3DzIrwu@JLYDr$l0~fvA=28PP;kVOv*ZL>NB#qJ+QYcIh1c)!eupLFyyorYbtEJ7G7h%t8_F`G1uTV%9C{G zI_Fs2XM}~u_xtLc3#OE<%e3_Urz@JmR<*1pmqs7zZq*K~;O{S0eyveTREaszNKko@ zs&(_bdH5HzO?l0nHQDve6jo^ayF#-CbwSv%vfB3I|d9vTXVlBgi zLpy>2m*x57*nB7`55(Q_)AN74N+7vAMZ+Lu6NgCC>M(Gbrb|^hKOu>qp|TFegwmCJ z27C;t(E{sOhq?BueCx58ss1n?Ln~;G%s0>wiDAk2>K6k^X~< z*w^OaVtUiGm2q*XAk$6MxRF+LHp;G4cBO}002U1ON8WsLN^1**`O(r95hnydLTkWv zYw3w@KI&_7jB8^?@dBn&Vx}$DTHJLb3+rt`v3I$2y_KA+DTUOxMVPI{^IvZ4Utd+9 zm&y`mTzFTe?A!8AT!NA5pZ5E|J{oKAX&*4&VoCQp zKFWXk<4(zsx1xCGO|4xViP7|2T1ZF(oJ!C_PZOX&zj-L{%~`(h--B3IIrvjC_Ap0< z-(+jyc&YEdmKb17x=#)2#a8UJN3`9tOa*^;GZDD#M=;}7iTpFf@?1EdoL8hTb`Ka@cH@!Kg%Ig?@$?ah~4UBq9CHIDB^)u35 zP_OP={oRThNZX`tq5cs8{>}b9Y0i{5e{9h@UR76qg|x%mE}skD&lL;fags2MBERDE z$6fvB?fCuQM>XP|WI^?gi~X#`7jRfm*K~nXGR%iDHiGX8Js}8wZ3G%>4^!3O$ZnZx zsy*M^>@##iYv#?RW)yQ|rCyYK+utHMh63q{T-b**SaGz;(-bS|g>+F;0t|Z3a?Afu zesORYo`uu30$je5|aV)IwX1KCvi_TgpLw=9m76pT3Z>63<;_Fy;eXpNP7jLcwXb;z{ox%Gsyc401C zJJXhX_b2aD&vS@{MVbP3E)Zw4m&{VFJ4n}|m)jI#6VfXMsy6|kvz{NkgB-l?F ztdIBLBQV;_-I#a>0BRhr#~$a>acXFRilM&$EG)tx3^T3$ z23Om{kC;jT;b%2m_;qu2Y^+s$d$=+Q6fw-ec@<1Ih3mr9J2s*?(k0w*{3PjBQ1w7TD#BmJG3*YT)O5kRXf_(=&;vQ9XbxV^?qOKWqSiA9 zKt9yI2uILK~+3j+dPQ+QpFGF0SQjfhlv!XD6R-(E6AU%GA|!~<*S)4$t(C3y_4 z?31Tkf9B=^r{5$&G2^QSvh=LU`(k1X#F8jVq6|Djdi%#4wAqn07OGx2UORBO<^xep)o|{0tV~S zj>wx1cBGD|55~f)FjdTe<%N3H-&4z&f@YT-0ByX0GYx_kUnlQ$U2!bz-MzJvMtZ zlXk(S&3D$qi=bKi1}+*RDy+`xHffET-!qGbhtYwjOJ8d6UWa7gh>(mnt4m3=g_23+ zF$f`ijrBSjfaSEaTc4if0m9Kr*U3wR$f%L5#3b0ZpH%5k;dzKhm%!pObrR+lLJEY^ zGT}2cwzdBEpP`eT`d!rwTwrb3Mz#c@?w+j(1b(~F$VZPJg>cD>J%X(O0-guXKyn}^ zWi{fZ2}PeyK10WHYH|-1J6QNikllps2m>%+Z2>1?e|~P9683m!sIFsk$|d+j{lHXS z1382ErZtm8}?d6;rxwnN`In|xA zFKNF5{?!3txDgB6A+2)vBJp3}X!32R@Apl=e|Zw(xbUFZkc#2s^KIBlWn(f8M1SIhTXPhQMjBMc2<6rRj4gTC6K3a^UgfgF&b-O?TU`X~^cX}zEcj=-V^6RL09z^0LF)=`;# zHyU#7l#4Y_|I)4h8>sr%x6e*J|A@4kR9TO98lA^nupTMyVRjzJm1nflKup8ZzrjEj z&$+!5Od{O~tKNGnLj`T+$4741gk`!ldI*9l?ZU8HlxB&erKt1IxM+u7?OvE*wE(D4 z`|aE3LZwUBAP2bjsp{*$e&yf&>hopllT|ZQ(k-J^oWsMgun-z})-y_0L`s(Phn70z zSR8snp^ zY_=!pQAJ4K&zV^|nWVO#50PE%x%Oh%)d$sYfw}>*D;s>YPDg_5NU501+UNX;=Z3(% zPX<26zx{ui=${%j$teApGIYu{`26?4nZzzOeWRU$saf(`0WqtQOT0tP z^3gL^<-C)#?uXo!;>+77XAb_&j!;wq1l0$;xvd%d0$xu4D;$ZES$ImL_Cjx5id1f66PgYo3m{=gVhyp6}Ra0sI zip`LAoLhxwq0M6Y6j#ueAeplPP#!BctxA>!N&xsI9De9@KX_-aoT*pTc^ddK2=)bF z^q1Wz!LbVx%JyUc^$m(|TG<}j!75Nqz;~RDb{d4N6>U=$y9zn9HMBJ6LC5nIEziks zqzs~tX=qK@UA73^pYOEm`k+PT!1I$AhY!LHTpPH{cP1}+Bv=My)WJM;QH_R;@GsLb zNO6pm#Wz3bX4vdNVnZ)fTkf%6j8kO71y~ofHmS9~6a0P8GnEDmXw+uw*D_gEk{f(i z%3wtR1HZX?q~LXAB@X9kV7RRfc$ESH^(2$p<7Mm~;2t z1q~4L37MsmJfL=tyA{6%adRe(DMIm9oA^CsJu=g=&EEm*}&|J9-0 zNk8B@Q=m@dvxm{~H`!zQg~z}DGlyH?@RNm|1^4??aU7?MZQaj4sLK_0l(r7T%A4F~ku$YxFiW-5ust4o0Yv^ltWs%Jf2=TN;`DVc9S!3KzoY#SKV((fNi^-Ya4%QNr6 zE1?`UEpy!*7BV{s2QnHyx!4%<2T;d))08E!dJK6oo48(U`&isBYl8%BaE4!6+Dzzr}J zNYLBAS>!KDvM}sJ>I~vjiH&nSOkIWa{{3)JSCV25EVdrA#3;u~V9mUE9$a1VK6WY6 zN?FDsF^hYgKDOdq*=@;sVoZ8OW=#*+Rlp^UyHSt_lKS>H zSZWwFh4U0(1JV7SJ=BAq1-@3Hi&Y$>rZ1y5+FuPq^1Pgu(`wtb*WAPJ@N@i@=CTeS zzs8>4nvRZd%c#sn%ud?<-N68fb=AGIKP+Q4|9<4XTLPXSS63F%c9-my3BR6sl?ji% zb{6uM8?fIYC+=||Q!6ulpBx{|O6q(6!g}wXx4OAzMqbDJW6R*C`3Q~ZP+K~XhA%_c z!f$So;XtiY<-Dl>xG!4z0~oYoc7}8*Pw7uz@==a2A5~eqh79gknQT62x2_L9pWy~H zhJs<0;w{Ntg;LeQch#%R z^Slmzuw+!HB{{@otEq*~LrY7^{I@YzC?1@X9xHS=^+&I1aE7eEV_6c8JyZ|U;8&3{ zzieLvvE@NS6;_uU#BD>l z37hS5-t%f{Hw}{BGq0+e!KTjGl&#Cu(56f1Dw1ho;@!AsRaez^@YZIg*I|=^=dLmR z(birH3_peIJ%mI$myTWa8#;R20ho!cZZ+kiV27W09$V(GSBn=jq~f$DwxGsM=p@gZ zj#Id@|3O0Z6iY#xFIqx5#(nKx*Q~2e7d|(X#+_n6Jvot1oY{8s??brH3gZ|ngX8R=Vy{*MplX@sqQM>mjl2pH|O78FGA*^=;AidRhcMH z2K6-)p%D-C`#y0zTs%^h(lJu?k1DHNgGPcmj!B|b7f8am)zhx`h$p(qPiT#V4~B6F zroJ!nZHo78!AzxF==8nJcmusJ#f@bcvb24TDs2ywt2?P-Lj7rhxb`h(qQ#QteHqJm z`52+}ecdJmsaCw_HO;PBf96vvU1cB)a78eBSTMSx_11C{+KNnFPife2zg;}3@dw#t zs_~_ME=h6fxFli{NDLQ}HWlxXZRA_@ar5#dz8Lq;!bEui@XsibpxK~fB+$(Jp=sb! zOM9Qn3g&@xv82yWmxSvbv#%uj%938L?Hy?NFD=0`ylyNXUJ`p{up&c^Da0w-JVts3 zxLXA~S*vuJzpP^X2hjCthjN}w$?d~oHR1lWDzunOwg>!R?qGN5nYwaT*}s#vUro*V zLC?LOQe+POPc?oee+s(B^~mZ<7SEk{@@5X4bdF2|EE80=Gx-X1cq$@%J@!A;a;ThUobwYK*TL`0VC{{Z4sM66Qgw*IB0k6Ec2jqSYtq>wuEgf(i5RQWMQa#v~ zSuT35P3hK!5E|%8oBjN0){uqTq^rWf8QBDiNeJ(;$%$QcrCo@DD>o>o2Af5~Cf0ppClOG}a@Z{Hoi8@h0M@ zhLP?yn6E2M4bHgVZcett;hx?`c1=DdC6@kDIh2p}*nX)TPH(~JVWI4rdb_TG$QCHV zm+ZRkNXH7A8x(4FRneh04XB)koyI)4=hD|T6OE%&x#&1FY;rx%l_SLEMuIi-|UyE^`Bn8H0Hqk;F5k=>zsfMFZH``+$ z1>o!HP^X)Ri3`51kp-TU%S6^P z2sB-_+DGM3J-VHyyYk%qrC@3MldpJ|05CZ9D9}~!!|LL6poXjj?Pi)upRv*9GD^5R zzaQZozCuq(gm|-2G#g{*;ak%Qs3EuGlN_3UbVJ~V<={Lq$poMSrIwpuk&v4PbydL{U{qIp`|clF0IjGjm%WYoq{dQ* zh3=?>xvAZ9 zAk_AgX&K!cESC^eC)BzIw~zST#=xiLg~+Yy%+X?31gj<$s(-CcdpFn2yZR^cZZ}S=WWTgX<}-{%%Ky1>0`K zNc(mRbC=lq$}f8xDXrKdvNLY6q6UT@67xC6(0ybTR=TO30A7t&N~5cWeblA!?3Id? z?0n`l6=T$!Sc#gl$~=iz>Th(Hp+rkTfF5}rGIrw>YU`~WU8I8|CfnJj%OU0I7W1i& zS=6LN)nUY)zs&*obVE~2vK4Kp_-{eY`w6LlMJ$E_(^!ou#xf`bfxm#JLgRhFJZ5CP zy~%|D79=25{;g)o|W?b71~s0&a0`*#4ujCwYj3` zzl(SxUX+xT#_X;_4lB&FvsQ@xZJ_43Hl;x&HXLWZ?0S{8OtI%(iPP$eM%Q)DZ%mkZ zpJxDdiexb)=`X9z=T8VMR#6ew(+DDbG@ffM1KnpI`if@z-hl*Mtf!r`x?i@S@*BC8 zn$&jIKX-B+%wI0ZvK6MT#s!QdOak& z5&4eRx7qwlE)klJ`T*M`0wg|n+!tiVAb37YkcretxJ|05t%V3Ln}K&>e6vU;rcd*{ zHUd|JWHr(v<13aI2GV>DFjNFyT|*wWeA!qd$#!X}YAXuF) zqKDReOYfAu$gT+>4Q}`JT`Z7AWI}>Hj+w5ywDzc5IX;@r!p_5&wgx< z@A9?S^P?hFnPkeGOQ~V1LOWP$5St-n#4?MiAdK=hh|n<9xyY<#!%6JX<;Q~2%Lvmm z-i}+bx*^mb)mejE99GsQju`g@Cot?s?aC^xNEf}CCGD!CL5$u+1~`d97Ea-!zp$e& zuJa=uTU{w$>?)gJ`1=6!@m;z@c`Vd{FBg2O|%)C(y#BGPP$P;F2MN>TVpPk`T^vK z-WhE~7~M|_#DgNJtZ)ZMH_p&-#YlJ*W7BNz(x1|T71-8p0N$LpV#fssosN$VN7AB5 z1l)QO5k|W4meF2cPSexRVk|7QAw9DE1o>&az{z|Ui2QCl;WBAFKy+Q_!LBkaqW}i0961o=sTTDh`lEF!cX?FY|G|2w4wrHW zaEiGAbyvs{M<$#)nac59VxwK=9^PAntRid?4$||a!e!Vb*$?nbUrM8D&|`nAh&4|G zdc!T=TLunl{hF-R$KmVF?w)a}GC>p}v~;ocupH2bDV&GJlSG)yC1<@n)#`OGo0C~3 zscY}GA@q7o5zi3Mb&YzUa1x34ne0@cc}*Zy!EYW5@-BR0%8ze#uND31${xpbLS9cr z5DKh`WuLxNbaA0M24JfpQU_N%58L^|lsG)jTR z2_g^5loUKKKmZ{l1qD*)mtlCs#oFcX*Ufz>pnF)kG5(`AH7D)`bb`4_rQq1x#v3Bed0<=fpfLpN2y_5FlgnE~k9qF5Se0#Ri0&`t zgrLUI69~_qt-Q?FxhlW{yrpv9i79(o z%m(dc@iwU#>s81T?!0B3*I0$#EcRx!Ue{s9J~p&vWxcfnFToubsd^XD;|GggEedwW zk?YuAMCc{6?@Qu1bES{=ZZCh-6=mk_P`!!|GmG&rBlt{<+pdjVbZx&-IA28|9v7F? zb}mz-cvS9wmNu0W#Tj0yzz?6Xab^q3`GvcqzZN|!rrygB|LVganrKxdmvg(`rTUZTR0K&%5CIX8U_ePtkQ^FCL?tScGYCj*a;A|al0}ppB=<);Gh#;)9c|`4I*uf@P^G(ZI0Jkw+Nzy2Q=Q!rgzQgt_Yu3)Gfb7Jw zCx*8Jt9sy91+7LU#Q|cB=`t2x&a%&cH4Fng;tNp~xccLB-SaMpc-_8*4`K0=5ewB2 zmAPdeqpqr>>B?C%L~NAc=ovs(Yks9fnnFF%6Elx#-sj-vtvBe%$bgh{9L#sBRkkmH zG#sa7->|So0}k_4@x!dF=S4zlEFJ?yzu2pBSZKMIZ^a!$T{>5enjK;*k9d03>FhFo2c5KP-N6ynsuYMmc}TnhU^R5$nS0 zUQal2!Nx_u45a!JY{ynEx61**ol_R{K3mAaSaGNQlhlm9N>C>9zf3puusU2H>J~M` zi*|@NyB$^7aM~q@WWrT$Cbc4}pK+Y9Pm;>}Ly4XjE`T$jypyw) z9H}@oJ@n|fN;$h4+;dji5WNC{&te2-w&!&?H;L@q-jRM{x(F;_?a6Z`!sez z$K?e47`|sjm*f*g#{zFYns0UmeFBH3)<)Mez9qakVrtHfoLcZ+P8`RKqVSqKfN0Y0 z+gpJCYEnC^44L@x*Ju1n_V(UWtx`-@u#}PWLSUiCg8t$R%DT;8$v&DHM8Ak0vU25o zD4@=>BaS$U)GAV+0{5mVmSLxfWe4ymS6{bk0v>fllp6!N-Z4bV4X9p`g4(C?n3F!w zJo~l&t@=<+eIa5BlX#e{{pJ+Nc`enbwz`GTNW%zC%{r`HbF}0U;z@L z#I;etyEg$)CXYv?vs_1JP6LQpxgx6CM~VJh)Rv84mlM*}IZ!mN$0|pw4FwFnP1Z=_ zt$`bz0`#Qzq-MMB)sj_v(#+#KwEPy<+xukxIK#pa$VL)Hlkuh&dVfn&&fLN%OQKF= zzApp7?y)#?IluC4wtuJk6F)T9NOqt<0-eOk8o(8mS9H+*mJbLQ@Jd-y3jmE>%>kY8 z)A%=BV)aeNLNm7A92pD!lI&oFlid?bzXgZ-?7cEodfoG@By_8XeFFbq3IyCZ%>d#gDkeg-ILFjnV@2%S`n6@IJ@!nNvA$%bfujic=!nIx)wY z6*v2P3F}}EQU18PNrDl`Ag{mGSH8anF5LkRCA|`GC0Yrm!yW-xG-Yu2QBk&sLW1xR zz4XpuJIJeZy07*TC#qzr>(70>PJ6Y_vFQySiSpRvw@PhqlwDMoG|F4SEk;bjg!Hgx z14?0HA2!*n$YJcJ>Oum5Ai49N+}ux)%Z>mg*<2*ZM4o=#q9KaQd6mC)9Z!|=@i5;- zH>9yDr-q1z?HvQ1*|7Ye^iTukzN*r3BS^G3=^8yTaDi=5A=GNSuBBUzqce&MawOa? zJK%j)-qreMrw}iw4?J1Q0iaQ>2M2qqBH1$68;$KyJ#c`nPOCgr??_wN?oST_Fl-kG zDG9&%$6lpm3^=;gW*fqgP3dH~U-nS1C`y)k@sL&6JP81`4#@Syq5AMhY})Ky56TV9 zQ^ygL=q>%J%z%lsh|9=U%1DQTX|Xtfv;m-Of?jt=lBlWU(F$N$;Pu%K+&1+4;&A=` z$o`m+-j5HsK}(Y$4pIk_=zK3K&0#gUH=4J(YLXo)J@Ud4ds*}cjZsmhN3o^I;9FFiF|%K(5Tgb^r9*k zp0@@PT`cp4FXnqa<^s*BNKcpeHeE~EeG|0XiQ^uq&GiWY+yKaeZ&8~a

%#PAFmt4Na1%oNKw+W^b;~IJ}fn4+P94mVc_&B{x?E zMe;tWrHR9&N%(~oQ>a1IcNd=FHgaI zSjyowQc46vW-A91=d8gAvdKtYmtnZ#I-58nBigm74?6q|5aksg-{JEAmUE$-s|kk3L)ZsD_wYFv1ZZOA;X z(}S_`%9WI}Xt^CpLD}ba&V2XQanZC?)VG@x1mQGwrS$BveS(97sMt(0W(;UN$96bb5`;&3tI0VceS=n{5dF9{I0GSZY#1!JC1C^2NJlWV z_UYh7Wf}jqgI$Cce~kyB${Z`w;E0KSsJx^?e`xuuYL@_lk*^8W$L;by-kDQ3@mAch zl3FE1>M)~UH?^dgKzevJyP(6pbF^``efm?il19;6^BEsWX9oit(c6)=8tBXZ9fF+P z!ieWB78!56gwI`L;#~S^b^%C>8{^W2YvhcIXi$o(rAieOA@1027|8{qYV@I3d^4c) zdN%^($yWvz*$Du0H71a^fXY$!STiP3pkVM-lj29{R>|`=UKuSuZLgjTldBi*aQCs?=~ zW09~j_Sc09%*tC7qW@>Xgm!B)#DuOqGkz zyK=d~0SmdAlCU!t+;6S81d{jsf&!6%JXkzn8yppnS=!y0oF-Q*sTaL1`*1GRU_?2Q zK1-HY*2seu=#DO|K*8yf$pcvkLmVOWs9n+`*Knb8Ji0q05-uPI7WXq+r7@-mKTS+T_$zDPFOf zop+*aB%}MH{Q1QB5SXgW)h}n6Jzu6fRJM_m-DsI`9==a@XG7%jJWQ-d+ZT!$(}xK1Ec z-OKJH#}dfZ6cv|UP<*|Hat%zJs+30J3Z0TmUVz!W1R}NBhRAIz=1FnMq}!zTv<$BB zmVR?uniDw|gc;Pcf~K4BIY^?FwhK<4&`g z!1uHWFPY4c7{7`sPWuu<~+noRWiqG&C-KDK@b*M@Sso|QcC&~C2b1kumJ%x<65%6p zu2hg|S215%P}s#T6z<*N?bd&Z-`f0SAb(W6ZJ8)4#=YVwzjYVCZCtc)x@~^mk(+qy z)iC?F-s|VW@+EIDLje{R?B1yWw;HV@6I>xxx0onm<~E)OelAdRUtyNFg2O}#Mn024 zX9d=33fxR@PLJKyK-3!Tn+q<}Rfk$X5ci;Dg!XAy9nj0`U8j0t_r!v6Nbs>1QuHsd z@}^p9OvQ8n#pi6XVDSVzNHNO;)&TgCdcRyME!@~3*~?;o11fG^fy7RJ@%@glo~Sv- zp5bNPWG~B*o@e(aIaYOyesn9Ec=(={>lfafj_&tq7+ys%j@8K3AVDEw;S88Bh-JKJ zVZqO4b=EEo*xlt#e7>kH2SM|~$?k%H!VJ&L`*N*FUKWR*$Y}T+#IJjL@}`zN46+ZK zm4C5V?@x+>08h1@Y|Nn_lD(t9)5CV5JPH-!8+ZQG6wm$ukckW z`${&!kFLQWWI4!0bw7}4Vk?BX|29W}Pyc22Bh<@9^fv$ro{&B?6w5xd(jJlkCH zSJ=^;T2Am~nwr=QvsyCnq{Xy{%;Y6DPuB7-XPH~o<>~ri9w?heOshHMd3o+OghIhD z&n5$xzZkyDmM*&)R-y$vw#e$glnStWt{j-Gu3X7F)L@?<2LbYv)a%r;ogBIM8i84U zNxNW`OltO-VF9cwjkVlHHkbQ(riW4N^-4XF{^7*=_PsUAR@+M_zqQf2bglhff363& zc5)9y3Cz|mwIZ2J_S4U6 zk?vco_kj*cOeH_eL@M3oqFKp7%+tjHeAaO`qn{YPjUZ7bMUEnFYOv@kY|T8Vq#WMm z^~uqf@?MVo{mL%I>(^Ysv`I`7vT%|+&7OtrNxPYb`WM?Ld<$P%`#MijK7c#{l=Bnm zG-+}j2Z0bT7b;-e#p&kq=S}=d9@u=Xtn^i7Eh@oc2XEM3Gy$(&JFH_-sm0~^@XnAT+&N%M}dOgj+PsCVMA zLtpcnc}OXtj*qCa;xm7S%fk8njf7Y zLZLHY^bcI*jvz3vZJ)9@3YAS8yr>q0E&t{&O?rt zj=Z|KdQ^8d03_o$jmWMR&Zus5jYpN&ekfmh9R?+3{aPbd=+*K9CsS9s*;YOxKCxkh-v+&^IJVTF%%8p{&^1`nVtyzGW?OO zx(ld@P5WtT%kP|? z6n&=zI!}IeYL%DbJrb#}N;c+C3eH0@*8Rv6=Lulge$PH#Sekv}VKZhTv2(P=3!?C< zai&g_b1B&=QHD`A4TCk$w(jAI210~S1d^MOC0>y@Ky_ywF6SL)nvK4d&9LMB+n^PA zUp|K9qK@qtnY{HRFBd}sF*vymGx>jlC4@5(7M~eIXJH--@q{r%lnUpwQ-3OlA3^$DS=a9gC0e%zISk zNf$j)k{b2e}Yz|0ZB@0OM*(2Ez^+|)8A#Vh6W^vGI!|!MnADb{rJp#!mG}MbZHC4 z#D3DPW)(kBnNGo)+uhM?p&B4r*dH57U*60j@_b9Al}%c5TflpYZbs(G-}geZ*eS8I za!l?Dd5*A(0PsLj&qau*ST+by0?WcBv}GYS(Aj=>MLH2OTw82tjpwQbJ5)x(6*HbE)yj2a&It7 z-BXBw27#jJMvaZ2R1IS#h?LJzo=&quwrk=SotE+3ZS47;+}lP$c(~m#$^~^bIb(9% zP_ltbCR)$M|Ch(zX#r4dim`>&QaHnXfOVU7IM#w-KnFX{?q+)oK)OFI3VgQt5630v z)nq@6J_!LV+sw)P93P6A|=X`gEoZko(aW7&x|BAAgVu4;BE2!AZCh8?_xX_kcyjDIS5wO}) zY;*HOSBMS3_Wt^w9Ba5q2de-dZHYqHc~&;*^b_XMo&)3Q*gD#+7+jG%h=O;|(dx`xwJM)ZK`ZnQC+iZ z`++|4TttmRfVE%xrwZueut=KBY(481A%nJ9YR#@!U&=k(=EOtJRwATIM!8Zi7?uai z#_NfdpkzdpMOo%mS)BVdc>bY|woTxhs?& zMF|^_D$a z-m2+V;{mE9dtNw2=cOpYttt_c--dT+zPXy80qDc)`WHXc7oUV{7 zjjL05%`_rXc70Iv5OIMEbfb|#ILM22vaYm|XxtnsLHr{zT zp&vv}wY$2b!9H)|n~^|&bCJnHr7rkTYb_HIjM*%9?Rm)wr5u+N;)|~(`p1VDbU`OO zA4N{`wUCAH5)CU#VYkKw)_^UoqfFIIXEX5b`i>(2J#%Dw2=tdG$-Yh&X#gi1QJb4c z8hayw)|G`ydNA7%`PpW7_aMtmb27cnGFvudi^0+h6>9lnrp^{KeS$SP7!t6YhlVD{ zIUuFjtPiWEXwCe~znI}R{C;M5*kUJ}=Boy(4+n06W~oo2KLIp%8Hzh`hN z^8hTb%Exg=%#IW-%V#XM1zvh&2Ya+6A>y;meJLRWCwNu@-ZdyeXzQ$H$ z#p2L3NpP!(Ue+-y;oK(K^!1Km`Zu)z-W=aiQa3-F)*uN0UZ^H!Z;cXsq&MJDle?LJ zF5JovVc#DdCM+k~iM=DmOL3N=K!6_-R1j;@k#rF=5GzB;%zbyTu{cl*Z>JGa|6dcW zH7q%G3|~A`w_rARILMK&mRAof$S=H`>cl*#Q%&5}IGeVs1LUT`@f}C%XHKM3JQw>e z0Q5;PrKWffdyMB~t!yTcQD8t4o4orX4fPUy6wQ35H;TY2aRyO|uRM5Uum`+j;UMPb z_}SVVX1(ClXWmT>HZD;Hyy`fq*s?3nLGb(C`)rBK%kT?%Flo(P!Lm{R_ocA-yQ@3K zzUvfC-=Wh8T;V1dUNi8X)^?VUA>{?iBlDD*>sO3tPZICJ2hDeA*}>vHBe*hQ?_6Yvwp+W zd6113Z$!=Tr<30mj?vyo_1DkHM2c+t!vyA4ned7o=c?6~Z1L^l4R$>C*W^*844xVG z0xc+c%^x5c2DuKTF_SZ2Y#~xy4mIp4oGJu3`SL=~D|#-d-zPYQ49hU)K_$Z#V?uI+ z*D0eC2NP&p|LL@Q7!Qj6@V#Q=Y-@-Exv9zk>e(WT^y?d!IS`TckdBC?Fq$uGlSxcg zjv8jq1cQdLUyb%4wQc~#Cp&u$EL4bb^(9w)OX@|4n;;Bxd;trN%Zs#0R)O#StxOZ# z0-CAWh=rbx#E)2Og4BdqcY&OAW{L-S&l4axYi;z;6J0DiHL!6p z_*z!Rp4|M!Sw`(~6S6P+F%~A@CR{!HCOt1T)J!?z!-u`?FEU`75sp+7hr62GhV>r$ zQ0p9Xj}c+)?Gb~Q<8c7H3dxtrDW)f8rvey1CTVaUt7-z_G)4n9hlRZU4y>r_UFk)S z6(z#n9hR?{AFqLA26VAPrVuPFX`w2FGX4zNq5p6x0ry_l+JSgf;7&PP94Mw5 zpyEH2HcY;MMe^3j$u{W9_Md_^QSFr386Flt-ON1CmJqhilkaqooDv~FRlYWBNZ&?G z2~?r<*Q?e>uPWdNg$sZsViA^z^*m|Dl9>PdkSE6~6r~qx4{At~a%zGCNB%>f3q6La zy%WrKhd~0e9hMjO+s>~ZGvx&&f0z{^f^6|8t!0>gLCDniJ72U-_aELvjMAb`&^~0R za2RF5PsiQe4V#Pg#i`aTt)FAnyKu3!9{v#z>Q^QtF?jdl`aF^)2{a&!72Er56%!h- z2!r!Ti7*dV_7Ddj)XXdtDjX=|C_Yykv6)$_hb08w8{w-~rY8zrv0| z)I|Z|GkRvZf~+l?u=-zI*y1xF1E%3cMNQW#Ri_Gud!>Rpg?9d^fPvg>?F+B|hLAtu zJZ$hYb1Ns{^5rfw+G(lp$8|_+{F#wzyeX(LUKQM>r-nO)} zdtkj-jp)Vd&b$+>O$sr)7CMaC+vG{k%(Ckm{?m72?R<=NQinGih~e!0rr+>b-+7^O z4Mw(?NJjGIjV?6HWfLx4G>UGr?9rOI70$jMAdTNW^-;&6STD9K6PVj zc;@=%YY370k&f?LvSK82MFxBD9mjdT+IWmSu9@4_jA`GpmxZzb*u?o7>Zg!2graD`O}97D8(<7lj#89rY@$+Pu8u| zg)m#|Fr35UIRrPdF0lPWFPWQ+W^a?y8=qNp#m@h{6H7L5F}F2V@4u~{3hH2mQ{`Q( zg!aJ#DuNh|<>9a>0c3}eb!bsReB$$72S~J*=%1MstT=mPvSkFOH~0m5gUyMD!~y)y zdN5R7!c&g`lq9x0s zar-NnP%fCr7L;Q@an$a6oot|#DsSOVyj)zrLej~BgWygMHXnXU(o30~fb_(5BYdH# zjd#si;VR3c%=m^Zn489izi7$7qRe;lG7utCgEq*c8`JB4`03ll#d_#acfIw42{EW< zfQA8dEj#4`r|l3pc*leTSv5A7WhA?BRF1Nq_x{8 z6rsb!1|eGw`Uy&m78FMO^u0xm8DGI({Mzv*UeLwtWB{!+mP}9Xv~!iAir3AK0cv+3 zSl;DkCa696j}xsE+g$q%)5#5b3G`^*efbo(CUT%*RDNo?9n`r5p~6*Ih#qzv%Uy6L zz|Mc3SPTRfGT1xV^{Y{&6grIzM%aBD7y*4Hhmw8#rhkUHpO|tsM>^*J!#yVJ454Hl zU>`LebCpuVQc%+nzkQspVEoWiQsoPII3{)nq_9CHTyVjkI!hqo1yg7R*=yf%-OLd% zRT?|Ihu~0b7}co=B66A@g@#eQfptcZl5lT_xzFLPDT^)K0L8SKekAG)d$l|woS=Vl z=UnQbSBj8W8_-FU8qt{g67|@C`n+{nia{`}zC(h@-lc{M10Wz_Dr4eL7AIR^0G!MK zR3BX^~ud>LGMT(_2{|WC;^wR`U9=4k>{3J1BxXwxJ0QqJgOmG}AY`(`&wV}HsyYZ5# z=fKtJqoBh0xpGDu7remc|LFV){7D|v4^XHb4>}@2?jfV{L{^M$y!YIM`~k)KeTs+= za26U8RJ@rbE_{bfnI1t6J5DR+@ka02_dqy-7UGH=YWENXOYKdBY|)jGh7x3}2Kd4( zk$F>H7RboR1*0LX!@NO5c5V=q>&%1EqCg4W2tr(^{EIc{y{T5Lk`L{8Z&?Yg=&A)@ zqK5cmu?4aOe+o2zVcye9_V&2m+uAAvME%~2gbc^ks#}2wAnr#~gTxifBzS`f>2PSp zOF%9Z);@Sq%wnoa+3RX|?JdHLuhC2_)+je47oIG5=r%Glg|~dT3jQNEwf2LVT9#`K zW&Yqe$1^)z3L3TP<^7(yGqay`ts69b=S)?seM<)XiNXk>JBw`c?BT2>=v~A_@0J91 zB=zN`p7+U}WZtrTIsdWdAkTOkk^FwZ1H2v@Mx{HK5MaJ>1}S$vW9YjaW~P@z``SU41Jc{EVAexByvz6QR>R>WX*IoeT{c<35TS#@A5plh@Zo2Q!0 zXpE^x{dzzhM(f9Pf@S?=+;rRp*5<8(t_}1P!wlKYmxmR#;%3%ap!TqJi=!N%ZMGix zSkx<0!{+GkF@Ph-`@|SVRVuZtgb*e{30`g_W5p&`0*CMXqVm%>uvHk8xMC%!?HVsu zC8`fS6NQnD_9UYEPS=xfhzq$Ni2&~R&|XsDf0-50QDO&c#9!e3K@B)kGS|##HZ}kW zKX?7sO>UZhA)Bd0`WGsjxBOy3&1N*~_Q3n^|MM!V+x%1GA|ZM&>F;SB-$rtr)RN=v zfN>lZaPOT+ges3fNUjnrNZifZvO1DMS+1Q1}_%wn@F+~ z@$}`Nf`Y3CX1HuKMhyQh5WeP(Rqr%WUxaJ(O>psHgdU2;_-|?{F(nkumc5V`ESQXJ zqJ5$aoeG%jaVwtCEU-;kt01N%SN0?K!XxBBcOx3vR<)Z6aer`dZCcD6jew^#{^zNx z*0XSRC1?}J<*0(GC|xU~pbVhNrNH;Fa4y4WBfKUtqnfFKAVF=hxWk!=odJ@qF+2A% z_U$|86X*ns@VbQoq05iVEDVC>I}2tDUL|hSyNTbm3NB=)cgB+2#rEY%m4HTgGBkld z)~Dm$u8f~fNI>;Jn{>p0*%=?^bjgtVfjZLUSG%faI)@LfjsV&`smuY_R$+9+YsTz`XD>>`Ow80 zMXi;=B#g#v5k^3Gp>8ZRLshlGqC2~>tlz*??Fo8fEwSMtd2FporO-mHp@{_S_nY)N z39z=Qz&cm9Mt@mqb7mI1yaGBhJDch8ZOD7NP|4WIq5uEIXJa$nnLmEt?Ad*xdR;+RbeN#IPmdL%8j@7yI{mx*OK_PLQOf>ZlWP5wrZcWXnk}5%tnr(!CpiLcP>iNWC+_9A zTf3w3BH2~Z?09FK>8JUllse&cUmR_DKC~M%X6Dxr?CWATpYE3$U0XU5=HQ!1`s&fxo)|bS3cm*r;&AhbVVNI! zGJxDSq))UYt(Hk-{xrk%waK4Iwjkv_IM<~UNOTgcYA4u zpzZt{x#qn2l6#22YW=G@&_4w+nG|>;^Em%+b@Vx44CP8N`FiKSn0%eVIY0IA6RnrH zE2^+R4x6@0As#)Hc0OKVfmhu{Miq_ure0=gs2S@}e-A$X)1fBdm2j#N8nek`wD-Z* zQ9hd2Yue3U`s`bqaj2(i_HV>+aw9eL+8@tq)I7!vSd)AA z)X7tC5YBc)kQYA;??9r1^PmEKg6d$HgEO2hPLfD%GVxxjocGk?dL+!8&NRhnp=d=bq z0m|z){%X62@5dT2N>uk>j1rw#U(o-lldMgYtTzkDFWwSBJeEY(>(3raS$S6%dGL|92fj6h)-JAg6@B&8R3#*9_R1fd;k78S6=8z zvWPn=HaC7%!nOC#V~_VAzIqHyuI0tv%~*)OUxevS_T2zhtV6u+e8S)iJY~P*_qMBl zuY+q6@RhYSDZEbcCyAo5cAgBw{tR7BzuuqAbXpH0o54PUBZ0CzuErq82wf>Ah;?

(R*>OI~5B-`$sY!&J~P{jC{Qs-r!&LN1L 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

jypzbNHV>H!x^af(p)g`aaEnUrFK{q}B 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 literal 363917 zcmdSBcQ~Bw*ET9eB9f4Z=)sd{(R(iuy+@fKTJ&!8UeZMLAbJo4(aQwULI}dBL3AR5 zFnaIynmq0Ie((40V;}q5|7?dmk1_Y$<+|3j*168}yaeArY>M^wVo(b&}1+?CeE+|t@XjB%x=o{`qtOpH;RPlZ#(QOexPTHf2)T+>@s z%hcP}RLG1`LL6VzQy5NQZ|-VL>uGQ2;3DiP#`ycZ!tgWp*Bp#+kh7VEu!gkkUx&ae zF-9v_S4UwE4i66xb`KtQq_ZUlmynPU2PZcNH#Zv`!RF%S;A-s2=HPM*&VWz*`yA5d zE~d`bj;_{72U_eojZKhlu40Ug__TkWTGG|k+1livvpcx38~^@|8}=jY@X#E_W-c6D z?3~!!qNNr6^LSxNGZ*a3KQE$b?)3Y`pReq!e_zSb*xAKg%gfPRj8Vhf1?lE&YX18S z*bn`65-DeMV^?!Cac)j-UN$Z+Hf~N)j{oH?>^1)VfQ+ZBf|PkmAGf&) z8?U(qADbW_9}k;3r>U`!884TG01x*+C;Iav|MfJoCU6!$Za!{)J|Qk%E&(Av!GEv( z`_2D)ycW{U)C&73;{Tra-{1W{R+Ixfx^~uo4$AKre~rpNck<_u{dwSjOw0fCsWLPD zXPO+{ob7&xfSD0^M9vE($4k2P7%bOu${4kr5K|p zo0++Vv74PMqqwP?i!0Ke4WiK5+LV`;jh5?w^IU(ON|fV2uJV8IRF3}<+t}#)y~MC_ z2XDY5@%;5j@Jd+H&D9F&EUtlcb1=4bbT)^TCv9bIXNPnU#UB0l`w;rSC*c3pAj8`H zXO#cT?RXkH{>L(a!-Ri_FVa~HiL?`!GInq`re)GFcQ7+|Hg~>FYlbuxla`dzxhrEX zsH5vb>*iwaEQXMjWkU+sN?F@_h;sa|r}*FA_McAznE-ME$3K|^Ui_1L;EH05&X8HC z2S23X;J%1Zke1Z)e7!irMbLByPe!s~r@q+0p1C;s%%OCt1)a2H(<#HWxvG%*%5Nh+ zg@|zj9#l?EeocPfHZ~Rh^+jvzfAsgy*#C>hTG9N+>$}ni|MBX|&5`r}zI=40SNz{s zIL}^epZfPDt@QhoE8}&R77Nuyd3nMSnHICt1pmI>;PGOcW|m-M#p*&Y zm=#1}c<&!dmD6E@6cp&{MLuv{c{~22k)Lhni0IMk-@C z|DXKw2i*-EoD#1ef^l53PE?FHaE+qOb-7#UZu~t#sY&L#A=5f>=4};ATb6&#nl01P znFjW&t)=(1wFhjFPo2AcNou&FP?;g~<419G zl&%nggv@C;PlKwdGV8{kREt$%x(S`%@rZmGozk~CTOC_MOfRN9wEPqfWm6(I&JgYs z+I!^>5X3U=X57rg_|66b^EyLs1S1g4vAn#zpV$7n(;gn`aY^1wQhOhZWi!*^yUu5a zIUY@a<98gsDKGQCQk3`JSvxeG-0z$BoAw2%!uRq03tIgI+Wq0a%^|O%GvCL=&n*w! z@vh&tAjp3yl6Pj$l!8jINa{#N$X$5e;Pj(Z?6i98Upf20&@gUVuzhaB*}&syyXluo zu9jl17V|vWUjtO~M}WtPX2TfQu*CA z+=UkVKy^9eF@#xlh|1d`X>Nu%vu_L-k2rH(dN$n%jfz{Xs_61QXH9bR@l$>--Cj3F zJ?=LjSt7n%ZddVASYgLmw0gCD>P-;2saF2LPr(T1s@J03nFW8ZKlx|ox{6sEk(c9g z2W%8``kbl!|fLxSkU_Ep`B{uck7nv%{J+f{ehJ6>6_;$`eI<3`-1_>o z#=jHML%9-GrFqu}etv#7m80u^M({(Ky~w;3c9=?R-7+hv`;m$l>f-E1T&jyHLhAI>lJ7BaqM z6|YprLATqBe}}C5C3M-(>LM712ZeEE!>n*1d<~smazxC``gLkK%scEox5%f-y~@hO zJ#LR)eb*pil=jum4d!IBx9v>#yv|hEw)uH;Jztu$IEn{2J(*!#_)qQx-j&48u^{$r z*e}tR3VR6X0UJJY)98rbSFZ_)QXl8A&0bFzH}uu>h@a4Gu1~YdR_*U^+JDwwXx(|g zb!$ng8?%{CGoM(O^HWGy;SxRW>Xr;Pu5`$rJ5vSS{yW7#y3tz3Dio0^7!ebJT`)K` zij13xt+}nW#>vf3W9EJjYEoR^wz}Rja$z~q$Q4fyV$s|`UZscdc;JPsry5leHdMoJ zy7zH~B}Em!`$(Hexm(`#&BHfSJeup0XVCCK)=^PZ(%Q&*%`X1+-LTUoXwF1D?6u&l zBu0#R`S(-t%Zca@94*LsBe!>|QM(mMNGZa@3Bag1M?SAPN?kZ5S)#|Nitst=& z>B>NfE~lID|MPa?zYX7bTHcL2@I3onQTZk9ZjS37)*OrOvBWNTL`Q7&Gk+>5nmDQ= z(d+Y`+KqIxn?#irE+L&|)i<*y)!5L{=DH$9-|fPBzkZE23^;OAQBj%y)tl+PR6giB z|26AvroB$C*4J{|L0%!D+kEC7UH_huQCb+6H>R+1vxO4*?m?lAtE(3B<6idm;xNkJ_!*bQ(F$huWW?It z+*;yARvKINehM;|s<5utf4F4psd7Qua`2XKz$?eQ|2*vPA0FjgOO{{hJeCYN>PBwr z+Val}8nrD2X%o9r!V{{wF7&vJRxd#^%-1f?>$MV9KXfQy=!S{p(|7wPD@VK z%+i2C${WNaB_#9&UL^gt@^SQVYeoUNsH>^3?*i)HJT|9A=C zWVu#&)|U6jsEIZEqZ-?JJvY7jUD>zB92N_Iraj%pWd7BTesNv8#{2=SN#QC%;GIf4=j?ir68J;20C#n6qJS}{ec0`{E*NuNARM-@Af> z&ladtE>mmz>~eHOl7nt7t*r`K8omdklNL?SFMrT4s`=UyC?73tZ_g%iI7LWKNtv0K z7h;Z%`vYxM5IxXr5+!|8l9!^{r1ZOUm7^e43ufMRM9^PTQ&U+@Ek-fR^JkRYaXiw3BRwek4nt@m1d5r z(~r*=s0hwGR3>j>1}9y;W^Cpf+@yYJYs*&ZuvU)U4{dIQ0Mh;FD`bJ%`}nTRh?OLY z?m|qP>!8%y<2#S!sJ))4B=eI?un^-btEf2bt{U&}?+dywl3Ab<T2T%7sRuXb*Y6}yS(`ntUacp|4-gPbBS_pGj z*H@6furqCeO6au6%g?`X_B5+rMOa=QGc3)<-CeB3I`_}UFCmoI7=GADrshtC_-Kn58PtlDEo2|(Z^LEx zZ0{Z}U=pZJTk{($ZRuE%wD#i2jAaOs~(NH@CLbSxLglFZgfe8fCN7FqBMOqUN%Uj zX{$Nug7p8KTqLhNJO465m5J|5>$Q{QPrphbd}K74%mqn(aA5R5IM3ii0GT{|_z3EK znMpJLt@p*&6qa4Dr=Ajuf8Sl34hs*D>a-|*PzckNl$12|-uhak#IYb0bp{AUxoEmn zzinOk5Josr`MI`{Uu;y=RXA>UyRu%z)|LfIG^pK=2omC`BPj93JRSnXZmD*`@0Cl@fyv^)dWhi-u`~qR;h!*>79e&YBv@!F){sG z&nPWs86zW_Zi$oHHENYUGBUF7-#_xKuwE8{h+{Vp=6El`#r0`9^eR?=#;AS$`nBxgC{N-gxIA_tycTu~>Fre~mic6Xx{7z!3W>Bt$FV`6YOsA z{R#gxm6=TV5Qx(- zrjV>SIXUl$Qp?4eJ6Da>ZvU!QWsbcWC4Wy{{c#494lBu_zXas&wl)Qr6^PU9Yz902 zKxdRZr0m`Yv<#((lm{1(Oxe zS9d`stZ`p5S(&JlzIm0EQVdW@vy(W&1FQKo8^4vDJ0jZ2v1){K1PYuQ+rtPIX z9T_F%trS%r9-gOdW{pek)9y8G7AUwO0EJ}av`)JEt#Wkf=Z2SRs;ELhfP}rh{jX~O@g)vo{1%}k#jLQM2Zi@VsR{X$FUzRo zK%s)vLzY%PZ1<%M&wwNQK={4U*FW+V^uH+8Msu#AHyatB8k~;2bi*PgUY}yJ*pTTf z$A2%>`jOcft0e!X^8p^wXXVSDu_|mZHyA_~JmIO zzZL4uFE7I&@(2sJx5Y4$Q&5=r`o6B5@V*FDyR!bsei~I>#KXzifK33%fCIgU%O9Zd zyhh~T@9pVnfKp7#VQ2;c8N;ZSVLf8M63=J*4d9>Wbhv<^*E(HDMo)kLXOH>=gK04q z?IL2tHtDb*`N&}6#l^_mL`H$5HWjV~8OGknj4xzg|8MAa z_wdW?#kV}T>xx%Z^v34cqUnsI&0iC+Q0H7u9&qmKex(&_#vsR#bB~$LA-1CG6fQRj z>O%2o1lmC=ZpGixXwZ#2@e&G!0yr@J$%BrFE1Mf>W%cIcN9yEGS%9_W<>eX7Nwjz# zVMUmh08WpiI0vVa*gvu5>ipT5Gq00Jnmm6T);Y8rxN#kdvmGO}hHT%t^0V&mYa#fa z?3vGm%t2FeGr9AJdrfX}vB2rYw4csZyL}QznyEg^LP^QV;Rk?My6O+n^^O1p*Y`vT zf}R!!9ARpq+2iHsr%2<7RXl{_uhk!K6(=SpRxQ~>Fg^qbCLjH*2%}%^8VrE)Gv1P1 zruw;a=fWNzLsB*v#9}QAix#}4oIdMY?^j%fvGa=A%D@N*5z@?-4;tR02sbHzFu%C? zlTl*t0<_sJc4wiQNd*zC^`#we7CqZ`Gmz`!%|yN}&|-G_`Q<9q0-O%S_{#D!zhS`6 zxW{mPfW(v|S#oE~_R{FyCqn-_+S-G)Gm9hTp#gjG0qMoXD{&!u&>v`OUYk6a*zr8x zo13e1U;n9ayq9*8c;-C8mC$BE@6BJeJ^uX3GvNXg-yy)*^71qgh~_>uiB7_RT`AL( z)1OVa4E?qc*ng(?8kcmcU2iMJv(G?B_gcv1xk;%!Oq9{V$e@FdZexyz(ev$~i`**= zDz$M@zgQHBi(I-S9QyXE<))3}6*Cd7%=@_iEsU->=rP1IMs=jWQv6aDHgL0>evmY{ z=y9I)TW&8cMAJ%a$%CSkp*$VtDCIc?i}gnl&33ZUo6WYF1WDPMOfnfLdO8Wg6-h@4 zVtl8mMqJ3NJ#OO(8pjJEHtF}iBrJ^2IG1{F*}$@;e{%4I)|a8WD5ldQF*TKe>=IG9 z?3#BSOtgl9LHOuWDk<$%xW8uyQAHS&H;Jovgh|I*r4J|Wv(#&M;RYz7kXr^9mS}{W zKfk+EoX4E26#|fk;D)d?ccS#58@10O7c6o2aoaXjw>X-oTa<^RgwQ1xv$H%Nn!$vF zjVaNcF_-?q!R~|FVY}Jxlf&-d)@dL><|>{ZK;&(2yW7~kl+HX0SLXBjdDgTzGe6csTqbJUskxw^bsQ zbch3qh59{iDJO?%Cp=S*yA>7F?({?#R9_1kcgW+pT;KNb_WrfBL{Aa^!?_9|l?mXS z27RM;KvUu3uWpFAudbsx`g(hvI@i+x%fWJm5;Zk7m0Z!fvYIpqiK`XD zaDIN?*xNg4ZOsWdM}nX;3ekcA$D+WrFooQek-?1=-)9Qg5D0MTJc^rKnX@%Iph(JI zlQ@|>skP-X$M^W==R#Wei&N+2-lW2{8W*B#^ufB}m~-1FA0Nyp1pYs2s-}F$1grkM1Wk2tbvsAPx!qiNZtDI_*D{Xjtg7bYbF`~>1 zH%5WsyNfA*GD)3ZQg#drQwIZ&*#U?Lf;Lba;`gV4seCCsw#lF z+a#f{6zP>2u91Y|qK2XEybL(c6xt$y9nOa3_pp!jVKAeY>FDSvL74$!)%@(Oz#3CK zyD&5EHYj;~pT?oJFNNz+5wwcgj2|H%&eA>Qk(0kpBCzROkDqf;MZEWd!h_N+l|Hn( z2$=u%Pv>dKPVOVF%cy@bGQ>FrnWl1;ve7MuIOsONJYTI$0q~t z*zu#FDXp%l;Yuu8!axrK0~t-P6gQ?}HHq2!Ix-T{X;CxF7utLm^3&GV7GO4r$)``B z!f`|~ZJ)n?f5YYZHaq({wm`bq6zfLNDfIXEm$=SrK!<-J@NOjv{p{eg-_;QsZMx(7 zXTfzsiESCu_X2;MUdfN1GOuhQsBCAbQH@o2wuK9TnJzDn=+ZeM?@cD?5`$>`hsa73 z(KBS!)U*A$nhj&5Mv<*99LX$rg9ugJ9?& z8|vP1HTwrZ;XQF|B@ShV@``#;@_=ddzMXbQPAKz&a_{LhX;D2t4lSG!zg0hK_I&*sLG!iflx;byz|#S zex1SeVSE`Q&P#Gu@==vdOq*FWREQFQK8;hH!P1R*Gg{i((~g2n#P~yY{KPVU#429B zbdH>cW^Q$=3DReoanm_!|6OC~ikR<40nyQzaXVloymcDbBjZw?BCp6I48)A%_l8qY zC3lZ^>boHVNqvj6tpVOXWVd4u$@UWl&I;m3eE0jA{ey$xW)omp@B>d*>34ai(J25D zWM*a_Dl@+bxS*vjV%29ZXZu=P*qencpYc~d8E>zXy%thP4mipP+E&VnUK<~<&lstQZ&@FORD`+OEgMjkA>AJnGZ4!O%qk)@R+@*Ju!Je_IzgW{Uku*lTa)z@+> znx-5}>__>bw^W1j*dEIQ(Ehb5BhY715rK#B{FNTGy65{^+%E}OGeIhbm^Mxk5p++_ zmApKt?64$au8u^uPD9RkSd`=o#o5hrESe5F4ql?24|pD;Co73~XsA4&RA z%^h`O(^uA|I#4R1e}bl^aD@+%r&$8<9Uj(&`G=HQ zJm@p2>H=~nuv8n_v@9`n7j)yek~^U>gt;^b@XW*r2i`q}K$PmR>acpu{c*DNl^1%V zFiM`9@#Cr$rheXVja+HCbTl3Cc6AQXe^-n~(vWP-7osoR9`q%IwCMFQzp5^k1L5}K zB(wRVaWv2+ZM+^FMHq^)tm6dd>ovfX7#LvboAmVb$IzMBPWZTSHcYQU4uM>j4bUFo zBvAh9ICrm{or-}Rn4^|93yAv$wEPgyK(JwtgAYeU5S)ID1E~@S018S<>}Xn8Jcszd zoBs0Zy4TUxpb!+#(F*(N+?>?LxedRf10KjU&uWUbn7M$*f+Qo)N%oU+a`)W$`1s%$ z%_~ceGzb<@A3a4QvJFJ!b^3T27#WAlZAqi#pGoY+NEq*}&-@@Cu!nkZ>Cz>~!(FGY z6cIUSEa80^9t0xRDUt~9EK{tava)i|=xAtO9&kL6s33eSI+OV9Mk~TW_!!5iROh(5 zJ_$bcJd^PY6KbbgXs6%RBB6IUa{k?fd@Rbi_uEE!v0peagk-wsYQ`hF=bBb_fO!F| zCD8dqkSfCV?qYQjRM$0RJld_#?#Up=z|pa{uw>Y-z^I-Y`fBksfxKTLR0Pmg_qwG3 z*-%|w4Zyo$-j#?TDDm}cGYA;zo1eaar-h;gO&N?}cm23q_2q`LPE@5|Q6hR;k?YF;^O%q4U4Dkv%qQMcqu zbXcJ|T(1l`s1!In4gCR>52&3cr3qXq#2w)`m9sQp3XHiE!+NtDe*lz&0OX~hk4LA& z;05;B@k82zQQbZA*JqFarE_vtr7tWGXXX<@D3q8e#Vl<4&|!s11;W>}Zh|tR;bVMA z^UYG7FdbI+PTMlpTj(+;o*#~aj>0LPqNz0`se^7Q_n4%C?q1o^)YaX~Mf#FzdOiFC z!bEiuiKeKG9V2adFagz z3=E)50h9(tEhj4r7rG?qjfd^x0AORAaQ67jy1EotctD>+A3rr^41K&82w#aQDKl-1 zX~aB!*y`({#Y-{MlP-njN+GuH7aOX0c>(5K0`r#1hN|LAiy6GgyrUDp7T{@R&oTx?i;x^HuynEcT)zxb~Z? z&dJFM0%CxHfq^qo8Cd*%L*$59CWb;R{pn}tYwwbPI`LIx7`|JMN>Q{tQ}%wfs%V}f zBrs5MkAX| zes1gqB=;hx+&~`kk~|qT=1&e!WYNeamXeYJc?g1v{Kk#udDk)kS+{I~o3QP8ef`oo zV7M+35SUbsdO`Jrh>;bs=TDAOyA4W;n%ZOu+l=lxlH@^*`FORPFL2#;Gu?tIs<%#F zDQ3y%^a+SE0IYBo_LCd&xkV7v^raAbaoi1lZS;(DN0)!;`EAiJ%MYxK&J*Q*esR<3 zCWjL*iwiG@%Z%{AR^^aesx(Fgv!UFi_(XEf+;S+QoDi4#l7kJR zgAIm=QCGuNc{?|&{sgxL8Be1t&$@FVsS;3&ehI$D_|iP_@#9m5zH2f-5`VtD=%_kEF$^#?fK}Eq2ql7U>A@F0qF)y1N2!ODt*dh*|pjwva$-2KBt&ir}oG7>*}RC zI$G65lmi;g8w!%UzM8~=Alj7zlmtdZr^cNvHa51UF0csmE>Dq(7z7?}V17a2R44ZK z_J$z?kfV-31U5}^S{&sS6qvO}+`!5@zk2?FuEBF5H|Je(G3gGQ0IaIL?@tMbpu9oT z1ON`@GN<}?Bf7X)Yn=595-G3&f}rU@0Wbwx3>M@S1Y&PNyS{z4GkFDV`5{zc(9OA- zw{D8C?RrdTHG8OC4$4Nvmh$7X=J%^&8QHc!m8`!8o+YQ3W%UVc`)S@d|3_JS_?c#p zc2|pMEGSD|-5t*ReM{q{leUndl9DJE-9=yw<>?yx`-z9`wyWzY>$@X1vOX{=$ z4BCMekU$=AshNwL^-nfalp69k$8I9X10e2^)Y$`Q zhAY9(35kiupy?FqRkH7Tyc3P-7#bSNs8rIS@?d*kJntyPv9_Vh3?CjHmjzA3YBXO;lU#z)HGd`QL1Gt1-tPc)?OP4Qm z@$x=nMT4LSfDp8xx%r&5kMq1@jdchnVlo;UMv_qICn1JB>kNU%S05JpEgj$mH9^{j zl_|~l+UJevi@VWu0PoK5dBP8%_!brxwp>ohwuYuWg9(NJmJ|p}uEHvi&Wnm*5o|Qr zO`8A^1|$h=u0ta*hX|MEmfcp??z&)Vo3IWEGbpoRct z4Qb!i-JOE41sO!AufXY~LfhhR<&VjY9?X@$~XQx~sDPZv+ zta6C50=>!zQbW(jt<*l35^DU_R8+Vi3#?7I0(Hs%JqHCz^Z@{|4IllEV~n9%VYb6Cwx$!MPl zAVTG)Kz(UxR7(r^n?_q28gObnR%TN?CXBmN#UNtVnrMz+LNo50e*7)ZJL;ZuLfcQ= z5E}>eLG$QNt(pfq6hqGj%;fqIT7}R22Rht|h!}?Lw0?A7@7q*M`)=n*__X)d=du{q zZDr5gyU!k$#p}3-2&)}r6k$|Zg0|yXbsJ&b-HufRLgNXbfcphHTq`2kMHnCkBB;go z6Pf$bWgXcn$wPHM0@_9T#-5%Dz(LRvrDtX~;Vqph&?$X#OD^KdrE^t|Q>UpT&m$19 z919F;+$UC?plyL3a%jmt^X5seX3o$Dr)j=VM?eE1ksRRnOY;^X38hoeLLho4Cb~X< zJ`0ru2FGQ8)7pJ;hzn_PHX(WMJFtLZVPUM^qwN9l&?CQ)&BPL{fbtV6Dk{7Vv=Inw zE(hc{Ue_ajg-s#M>S4SaRkif;xxuA024!Uu`j7JiI&(em zxaS2|oc)!~Yvg^-ef>H0Rj@}H_pQN1@;3$TXTvS5$`{@bNk7Ea$sCA9P!)lZhY*JP z1&aJk!{ale`@b@G20Cr4s-M#-q+smT_7lf(=H%ePP!gD#X+NK((Uy?3x?uiFYOLAhDnQmxH?_4L zfogx37s85$uFf=3`(!buRkiQEmpzA?54}Qk@3x-Ug!W3%I{%k4yZ2k}UCGWhK*qtx z6{4YSAjS{Gtvrc=4r2+x(_kU*hV{~cag1oY*#YuBI_Lx)v5X}~_{ zHmK>KR+VSubH zX68tbi8yRJ8za2uJK@=VcZoeB%to`H9o z-2YbTx!Eg+#d()6t24*GD=bVIq%mM`#B!L#_@LBePWDW%UBNqxEhEsPKYxA>mNV$# z*H3^7#&$GebMnAsc(~~y5cDx^WJkx)S!Kr#g*M+@sofv|`+zZsC%!W*M(IUGU7mh} zMFs#V%WMXiQ$2rN7#T&fiQZ40+Kp*H%APq^%O7Cg=R-C@^C59C+`S7#AeLv|%dg*O zfgI~qoJ>C^Gh=D3Eur>-I;M>m$&c|BN9uRC2cjIZ4{KNzh^Qmwo{cVN*zuzupE(ay zy5(@0dF^WBMXZ4a)P`(pSpQg~Is%fkbX^}ZT7|J zP5vM}{!S>q#SLJf{US&0BUW@RsG9(6)~9Js62R7QatjQK$Bk!qVl`6HQJL>X#_N$v zvzZ+hPk$=apM1Qj#H|`in%o>dzSv^CR+2sC^x%+1kpElD@#C~8mKM@F``|-fQxqx9 zhaT}qqf4`imZ`>|Z$gVaQRfrRyaM?NmesTf2HXmeq)#jfOo}0;EiBkTNx<3{LNeau zG5go20a&D1F(@^`1wt44B0!N3^*KaDM1Y@2svHXm!3WM2o-_k`6-U92$bduBm( z2;kR%9ZSlN>YfvF`f;{?f1vn<^i6E$i=k5xUH@_mavMne4Xrc*VFNbJOYXpP1p^OR zF#~3jhfo5-A|lwmYk-~X0>=ziNC02YHAdCdP@}^qD*-15FeA`v0z(Lrf003r=Uj@% ztT~-SeA85e1uCk|49jUi$Ql_%vZ9CVDn{GSU8r0s8eh|;^US_GlZYRC=Jqv-;AFwq z@k|SjDH&Uf?d|YwS2=%pKCOM)@H)#w!=D?HmJSw=UNNj$jD0@2A#k-?L1&V=bEzX> zMRN~@ANxr6EEeJ%R(r19gc9)yvxTKS0lYN_93W4^;cmf$0G6OyWcC~A+aZ^sXP~2) z*pA0n=>sgiA?!x;(?$!HpE85#*?K?mNxmD3Gx+m>9yUJ8$M1Y%j3*6khK`*fMV0cD z6{y|lnVV2u5eT;?)%^7{Z7|^QRZGAPAOZ9g|9To=vSV4aLAwU!9~`#GOIKj&g1o>b zA`%K*2Q;|=k61}=Mah3(^DIhK)E{&MPy|#nIGmz8Eq)s&o{c+zfb<0VQjiu@x-Ah1 z1v(;jPv+Z}^Lld^C1L#3|$!^YB=x%zC{Zdo+-8ggbDgaltxwFF~CT8EU_^@)6)R)s~ zYcEbQi-{x@;36DA9T^044+InVu&}Ktke9i+f50#Rq#+~Y6gD<4!Uw&LmpTl(EQl9z zWXjA2mJR|MmOojhk5`|a6zVf@JTfwYr7M<}mZbV!OF&%1BZIpPXw+ZT4t6f=@io>~ z^}gfGCx&sO`r^fC&3raj!+1q{AiM!Wy9$SAFv;d*Pp;%(4PF9PFl$!4?O>|Q)oRD1 ze1&w)&(F^-DoXY6G}L*<4bd((`+byRjcEC_rC`i`^F6z z2|9(0va_1=`@nr^Brw|=n~IHrW`wc67A}iLH++12 zbVL`R;|1m&4-+r72g|zC0$h)>G)7f4j#gH9^^*Qz$hGSM_ za<9w4&z(55*%L%+2u1+(ss8)cAgUle$HB%01P4%Gk2)=;gBep3cJ{%(BjmO~T*iuW znr_jvfw_n9Kmka$HDnQZ>0ZcDMB&V z$+1ed?2M$GfLSv7qvfFOgT^2s&chS#s1K{b+H|kunC}nx2QS%k^eh+!PpY>jRdaB~ zP)zUcB4-hEMwi+Sd8gM5`73?h)CW;yu+jqda{}5S-wS%K(gGwEnDE5*^Ci}O3=j15 zK>U0S+6GWZWDR6to7Tg2{7`Y*0N2;m)isQvwy~&`$GW_-QWLuMVLJ;~S7L=|Fu{LM z52AkHSOsIqn5Yb7E#!rkFtTI;B$h#ju8rNW_6tlp{95+Qq5tM0s+(I}T$MYKj_i{2 z<}Y;+xv@GU*l)lM>byKAq?#tK!kzfpjJuPCxrz+h>wv@70Ax+99g{KxeYMxJUlCoL~5K^=AF{T0+;Rk=tKuvy-UYf;XV8 zrPVVsq9~rmnA{1j*4goQuPm=XR)Ta3UvMrnl&-6RQHiiDgt?j7XR^=t?t@+R(`B&7 ze*1PGSkxk)F$99|+%0sB0aA;#y4t&T+#$_F z^InmnKP)xw#E#nOJWTbPBRxqd)Mhmomkqww%vwU!@FLqvlL(d%g#rauzgWd6)tutQ zeS_bgys*cYW{#lU?X~KE_ib``*!t{-3PX%jjK%~ZzldBjj8W zg%zC*SX4(<=&XdGpu8w`num)vHE*of)^az7O?J+lqhmrXwhWBYKob zTSwP7c|=Cd`bMw&jG@Lv-1GDPS@tk zHnX8p`!j`|;X4L6Z>y{KBgVVqShgpN3DLNcAAF#&W39JPycpAbiHZl&ax{L@;9n%h z=MobO@1DCwcFBZ4d2TDHQ9sRqIhGsW|5bn?!Md8NYIOJ9g>z4#S%MV-bQ{*0iq+zw zO{VtS?5!y)gkc2(-8y(Z2wS>=gO3#39;z+*It~n$si|r0S_|dHkB02bn(R~qJpS7}(sMre%TS?@X5p!g7ZB_X{&ns10g|qa&$4UaTj16}CHZ3JJA=gs|J?@v$l5 zhRE`eFw_#Tvj1E;IbPXQJDHd0ot*53jW6KXJsKkv|K=91f4j|bku&dj{_clRDMszE zb*ELM3t8tps}D}h+>T89y@ZGQ*Qvy&2<2~w>Zyw%UT`Lg$|-1aq6xpb7(sVCx^(zU zP9j5x)fp^m5ad7rULquQ*-HZkqwa4yXnNDSC1G81o0!p-?U`RLDt{;OwBKYsLqR9AY3?maSU_IUJHk5%PDZGn7k4DZ^c=Ea~L zCE>SjWUPvZMo#3Hueo2S_)sqLpjZ4sv|viCmk8U2q2W#c7)d3=3#p|TQ4C^ux&Iv( zCR8}#4yd#KoWOWt;d4$OFCSm2{}FaW1T?4E@dK`>1a9tt;k^+!z@a)(gi|~|(7SON zc9Vbt4)_R0H!KfB$Q{~j^2{DRP{W3mw3m{0*tNpzSYdM^_*9sPPrrf0^6nTxAO}uT z3dG|1^XILR$TV&Hk7J)C`1!#N3Su}cDA@BLdq*_6lPI!PfguLO**AF$ZgSV-X=oui z1Ml;aE*OdcfMV*%Ry;;f$(UnJ%*>tvN=46PR97cKUuLE&t4<7*D1dvI1<*~S%=fAh zH6SWMkih%Eo`)SJqi29vf}R(IX=q{6v$AI5sPOQC3DIqYk4v_-q^f z_z3I>8BAE$1`CT*%{X+Q>wC3VnZTNTYPJzm#!C6v0e0#@vlkw60DUyJ#@zveY0$Mm zHd7sTvjj_@Mh%C7ay+*ITydE70%)RFi8#`prpd6!V~zd-t224~?lmbudn&8lS646n zK4)4=29HmSj|+^9o0}W-j9{%vRHiUKb`%V2Hc79jAW6WiUOM-*<@+;G6XDLlIV3xC zB2RahJsz8N2Ez*2jjllpfCHW(*s_9Kd;zjJNJi6154jVeP_)c#z$%fVBl=`hj@=Vs zx~HACF{Aqjc-q%=BU_)cqOoq)>KJ7P$Ya-1a{tEqcxjKD95U0{A7v2l8P#l;*rU&l z=q1b3Y0?o{f1SSsklyA@eVTBc=oL{CHBNCZ8RnE3jT6qft{v!EI#srGNUFR`B2-It zOdPFVx!J~1x}E$8rX%%+9V;J$y66je`^P{0SRdC)ZM(W`XH^d~5!7T%90ySzYKtXU z2?_gvr~_u13thm9hM)pk7dCA4@%c@KWI%PhM;r+5sh-|mt`!R4=m8bLgaLUEqbMt3 zL3`y5RBD&GuC=Kk8rZ23SEEtt2`$%jYh+CKTzFav>|FpNzVo$1)W(2j<{pkmbq>1P^)!Qw!^G+E(IAM_agG ztk{yMyxy;=wg%7|+>jtSf~O2B6cWm|*WOIL*Y>bwxTQ|oVJfmzr{qE5;f&ESJxB{! zkr&Ij1{}`?SitEac%YM16J0xt)nrsvxw*I`m6Sr6u52NR!GXpE>B0TuUMI55YhxC3 z91a^6@y`=beTUt$ve{VU+L%lC8vJA1^?M`w$R1h%EbX*7QJ1W3=oJV;5g3rGWX3Ce z3g67)(Fd)d8jh)Mq(o<5Q8qB+^nQJAMI+BZ<%2zjt zp8L{AJrJ8M1#CCU8z=Hr$ItWA_JC?ko_WF7Cue~^=bt+}7U>yAf1^3zHisj@-KOlg} zo(jW9p(g#nY66!pUtS!q+0iV{FD&fT>7Hr|x)9U^4Dur{8Q#EVC$%{(6uO5Aqm}4N zq1a zE*p7e2+94))ID6zfP!*KIGp50rNUgx1}+HuzT&S%JYX-^i|#qB4*(_uuoJe150#q2 z<^fJf-2hbmoHib)t4ji0hYcrSsTp1Rm_;ykH@#tVlNSmf7-ql;1mxy($?fxxfpl7O zhj;-$kE5V+sm@zifgn67wHDlC0#*o~40cMurY9iD;Xu=qS0a3%XaOA!oXND3zmO;F z!VH_fsXzqWDfkc{Lh5t;0QAxH8W~~|NfN@Yy}0cu3K|hO*}?b((+pdb)uTR&KIjL# zV^7Z=;Df*@r4S7qw9X2+&_IL)3;@^guRlq0BMFs(Yz;1i<{4*ldk;Y>K`H_>T?V3H z@T@7(UePJJyT=$i>gy)s7TWxzb(%|9yd4c*E9g+6zXn1bJSsmn_JC(^;jbBYxaCR{ zEDg?uMmzp%cxOp2El*m}us>f9j~upRfSnA$bK|RmN(}CX#6-|_p;7{m+>F@*_!(tR z9*;J^w2j>$mDZhUJyN@&8%+lg3M7Fc0-(IGN;9YG-VRV!uzd>e>}k-0jX{%V)`Yzk zAVB|?j3=U^2A~m0FzKAzAh+N0u7f(2*?6)=Ee>r7%q3WI@~ZG;Uu5s* zR;P{?nH-D^vNoFJo=q04K%2&)1WAhJHUpuX^*#5Lr7a&o^xwszmmR#!45VJ zoYRawzuqubz7R92BR+RA@bsD|)gw6lv?#mw3bVvw2>4*8owN|wV;%nC@x|$LnpEea z?|&;=o(0;TN@$yFj(t;|IhQW_HgVRM;SIkqeR2WuYoYW^Ot`A4;%bvKl8Q31TEb7W zF$G37L_y>3+E3Png+nxcE)=~DtvjRt!85Vq8$+t6E9HI6(e)>+J8W~Kbl}+I=EmBzffV_@wFgEHC_u2SfxRUGT8i}(%ayUzkq_PC$GrvYN zxSSD=z<_i4I~fH9VL&nXpa&B=XW3jnL+=7G_2cf3i&zS6dSY1$(89bcMLasNZ@z!S z0E@DLxBy82B!#6LBAgeWfT#DmWp^s5A>gS)gAoae)Q?t)c$vSB+`R@RaaA3kKI zkA+Huod{Uf!zEs z{hn152DTnZy1A7XsR7y)=}HH|VbCZb1-A1+Hv#MFPsE4W!Wz~Nj^K~mtim{5#esG2 z=U3gh*Q-nLnDk)v02{`0xGb76BQ?R#Ra(FH)M>z>-1?1ME zWT(bF>s;W%^YZZ1x`X=W-=a|05D3tCB7Mam)Uguw?9tAo9I*^gGy-InBj7-wq{LcF zu)Jcg)hjb@$Pk|Zg>LM*nznTUY3w2tmysJEo&Ra)Lbj0CiaG_P6K=r=?M*I(+coJ zhv?kj;g|*vC@crW;TE+ssK&;6qSbHGEgROJn2&Vq6*Qc*Gb|G;OIPaJ-YC5jS@$_0 zHdfGB+qxw8RdRS9(U~((NzcougY0kY{D(X#=_e9Bb>|BRGVUwS4>fjI&8+#qR#EHsa;Vimno1&V- z{>3i=%oU>4IXbLAw!A?TdNB8fFn_uTce}hoM@dNue2CKOU?d&SqPjoM2F0HL1GUv@ zYso7w&2>p}SDwuto~)V_-edaJbp(IYNLM$wdrogh7&TnLNDJyL{GA-qNF)g-iA>ZT zT2QeJD_=mYLwE9LJD?l46}ar7D{b@1WXYHC3=0d(zTmh1{$Hwgwv##Gncq&) z#pj4^?%V$H5~b3zsZ^4cbwySpMWxI_ z$jT;}Aqi0`Bt;RCP?3?WWJCzb3fU_wJFCe4zuvCrxu5%Y9Dm1s-AC7z@%8zBKIi*9 zU+etodpsI$K{#*a)O15FxCI3U2VABC~d>b;@f^`mlVr7lwOu%Dl|&R1B`?UEIA ze)dxY@$L7ESzh@1bxq;$rq;krsq~`ZRNo_u1M|!Rp|^zNu2VOvO9ziMZ{mO8iU^aA zJVU{65r&z~QC?n!{-;v4`k;#f$239I7;p>Vb>GyG^^js~>g^AgD7E=^Uk1~vqoZRE z&wa)tV{i;X;{yA1L}6hemq4pZT>b6hORy{B@mke~45@e;;YLDB@Oc#v;0?|Nc z|L;q9#xPWNLtVLua`F>?{+#S;o#=WUAOLWSKm;|IYG1W66Rjy;N5?}mSkr>eynIVQ`FxkJl3TkkwA$tU;KVB6^6>?G)-`zG6GXTODZ5qHhLUdL1qr9&{&xSe!GU`F~ zET#eg)WVqmdwSScqYKa*y~@wmXA0FT@QBGffPo6D~l^u8nCmyz%%N!NdrUk_$>HfQ@V2@0` zdD9cZ);UF5w#251*8H`znQ@iZ(7=@j)CDs!=oLuc(L4hy_~5Z52|A<)MXl@GMzez= zSv>^Cy?hz51xApy>{%K-g|pI~4IgG69-Uu=Q*%Plsa?Wb38Dpu#`}hg7#M{SEw;2U zJ2W`>0@eYh@oh9Ts~SH8_mU&ydFhren}f?q`UvrG1B+|VcYkIlzNqUzv)NBh#L;tr zN!oampQ4&}M`AeDX6KRmA;ZTP9OQ)4-5mIGJCq@$HQrs^JNd1?K0R?3!zP|_5KlSO z+V!uKOa-4i;`uyvs_a1u+YcN=6e0>*N6mFVy9M>mT16q1Q1Hw$#rUj`Ykt&3F)y@LgT^sx6kU#La<5^61PTi{AHiG2Cz6G##>cIp?|;yR1O7 zAnwrj<#ic`UdmgAS8C2{YQ7&cZxbXuCGcSU%#{531pPHj;$PAfAx}0~nP&njKqwqY zs$sitWkR@L`o={@h64HiScmwmC(Ms1^B+NjBf97QPS^TjnU>FIBq7IYxqrYcjICCBj^c< zF@}*-fo!ID7hzEY6F=)?u}71M6+;~`pL1^>3+Q(yP+0-$hwQfE5JEa2Pmp%rZYmS) z`;1B!kpvH`%n(tLl$2yB`pjN@*W)Koy01$9nQ6Jq#0da2EzP^c2uIx&7Wz8M%vHt& zTImxZrf3xXVg_aWW8#@kTHo1Aopbpb2W`tgLPn`tD2QFZpIiQFgEY)e{Oasn6=;{7 zShqLotyA-uKX8%jZ>P^h_{N;Z>k6%aLSR;rI;v)%+~g1p5zsNdrlM!{-uq)!5IDco zm~gUby`|EsRW7AzK|RVXS$y5M$gWB=;UJEowN+D7Q&+~r8m!P7L55*qqvD|7h8{1$8drU2uy?566C=#VS61eKc{ry=kfz zdT5Lrw7$1HSx&gkWV)VeQcqnG!lL=D%@emoe)x5AcR&2E>J z=^OIXc6VET{=99_8`D-DR*BZumwSo__{%Qle|%ILY-BVgP~3DmsF9& zhMejQ<0}!rq2z*=5CrDahzRH=rPXQ|7Z-^+6M*d2J<^o`eovuO2FuZ&=Nb%TXZ+y6 zmrUFs=%S#KW&qGnWO@x33=j@>Tu-m#&I0)2IrL}5h2iq6eIIK8yF$?OZG=uFE&9T* zT!`SUBZZNpg31J)D&%(`I&5s(KNNz7!w;HI#Y2mS9#1B5JwFBxv@x;aE8<4rlocd( z48?ukMF~R*x+wzCeL_;RMFe;3u4B;n%2iof-FM8ti z0ES2!Wp4WGCXcj5pS{9M#Ssc)1F-QfCcW_}K&#|?Lih@ILqS){z&0jEMv&dOlC`z9 zsfiRCvfE)ofGG74q6GT-UfMimpr#}-3R-+=d3lP_s?8afXZ@kkMWM&(gApn^&0&FJ z5NsUOi~xq}<5Z?WOw$37=AdoQbqVzGp@Mo?OJBcJJtL*IzP=c&4Vfx&Sm(_TC;q*W z|8e=+g10w&aAmd3NJaCG+!8N~xs~zmb6)o&ZtxE9a~~>iU)~cnUZi83(~;IC=}87E zrwd(TBIm1@KKDu;tf4~(2|uh4gqP4Sn;f$LJy?6{L1=keWk;?HQ6^xx+VCT^V6p%C z)q@LfM|V=i#2nWV?aoZhXg!)5;B9^P0lEj= zlzP$TIP{vMV}p08-vKfTr+x4ED!!y8WfcT*_+pp~814JU>0V`NK@M?-qX?U&X)e>f}9 z9Ojnnx0h=I-_Ko@j65Qccer-GmpU_3RLd_0+8h^}dzYUeuVg9Jj|$y6`WMpbDyvV7 zasCsj99+>)ZicHiQ`e+$L}4z+tOSDuMy;eI8a4VI^7i#bTdyd8YZa=gsezZ`kI~w( zkJ~m#i9Mqexf@djm)Z4a$M9d69*o}B97Jx&8}&_Ek-eD|tZMXs1cac0{l5>lTiV;j z>;5Jej~j7(wP+dEPtD2k{`q?S(#rbvE9;IqX&82lM=@;nKU>-UthaM%!|#Y|+JYR- zwic6AS8AkXWK{NUzn0W&f}{;v--i|b#p0;B4B}1B7px$c0TQc|q*%Yz|9A#TIcoG6#hqsBf$cz2EN0vJ-8lE% zu#pU+`*P==Rha?1!J~;D29Gd=>QHuAbF=!F^)5n9-iLgG{ZIs<$Aw%5I(%pW@CIht zc9~gP`l9FjIWT}9rmm^^*6n>p(JlDhB_lf@dLn=hw>h{abi+_jf_q9#+^j~AlYE|_ zOSrvx4jznsW4WaBKWSW$MWL(8$jCs(C3@}++t>&X7r|>=A2d^~nU_&~ zNt+DOB{10B>Z~(CuxRfE=(G|1!EC2n;GV@F8x}ZibED8GU*GTm!7Wf4BUR%kJoY;s zZs#7hIY*B{Y3;{npV6J3IDfwW?Pr&S1R$!QOBeeEJ#jn%RTvx{ZEwiDVSp=AQbOFt zH#=o7262ElLkBWF$M)vDq7d`Tj~{pEc2pM?Q9L?LdAB%Kpa$1RA+BEV>f~j}`aL|J zLt(K7^R>%WKN}mH#_3Tqdw?;=)Pcjx*(n9g5{Ba*{9?eNb_AA1ogG_$ER`cTD62a4 z*M_fr`n(+h*D4a$JoIN_KX_iHzrEz#^T!zlWdjPa3A~R^%NdL_8`<1q@&OD}+umLY zwLF-U^_orVo-wrjf;rC|`UT?bM&1Sb7@T^ayX~Yj+`q3Nbr?a3AID|B-$dm;A@dVaOXCSkM(TGG7vlMl2xR*cxiInOrUXblg~?Z0^5X+c;Cx_J|er-#by z^fD4A1mzaO*fYwgwr;)mJ%?e~deakUA9=H|@u%Hy@+#kc_$(Mqv5v~?psQE;)Sc^o z6rOwNgv#WXx81F5`uHQ5o{#;d>4zXX@yE0+!SoUjpXCJeQ#@8sHGVv&A`rGALVk35 zI#Tb{sZ#?F)VS%s^#U3PqYJZff_)ta;0DIt;bi?L817Md4w`bc%6VX4F9P{6@r=@#dc zvG!l@@*Jk#5^Fr;Oxa(S^F$?U%l-9rw&okkX7(Lg*txEtYLAg4BFVH6T73t4z^y{os3$%^{(-`I5g8G zXrvyUHaU}ZG_Ky4uY%h9MMp)nDm4HViD8LdThUy9aFeH($8-!n0LK}IYxJgg*sL1X zqo+qkM`D9yG%rPabA*sHP3PcIR6QOZ9@!An?&a(iAyw6&il%*9zxQ0BQp9((Mn9cn%@`Lkxi(KD9B$Kn652 zJQZ-DL3jxCBo&G;N?F6{pH-u6S%LpfuJEKbG3=^7yiICiP0Gg^R;W!ukJUFc_;ih< zV&X9$FIbT#^_VCFkqfn9&y9z`%FsHZ8-oHHgWwL5_e#KB5SbPtbOpW#r`5iYt;gC7(7{BT=#TA_f zDwzh}5tSd%9_~^S(TEOM0&I7t-fKS6>6MbQ#2(1D)hej|bv_eIr^7T05WIto_6 zlg7sTiM}8Hm$ra^t)2v@Kt`3n=Teg=FqG%={)`cNkfJYc0Us4x1*L@6r_zV*m`NzW??FkU-rg@x-*Wps!zLG{q_grir7y`-F6$r{AVld^$tq$1 z0tJ)CHw|fH+O^3Z7Mb3k)2@gWbtSd{{6iqx-qL_ohivco9mjd~=R8HHHD5?@PMAIW z94L9RM5Zg@$y{j=`{Aur{<6_^@e^G66g9b2odF7qCHGFB+`;_lRL6A6fy7T;CGwPe zxp^M5FkGLa80V0e4l7FDbFyS!UoMd4px-u!AZGeZhV7v+0P^8S zZs5PdQ$hFkPBDp1#i$7g#PV!vM?ieo2QYL{2IB!mttE4Xj*euZ`-v^09jCXOBncNb z-^}ByXgXT0=<~6jYCdIY)R}s4z<=+x*G-3l$A0#Nqpp=0snK7mNKE`ZBNyniHc*j{W=9uH+(= zF6j$Lu;s~yd3o-);0aU6!a~rCI+g zdw`7$e0+?tad8{)Th$EYM$cZ6SIcnd0&EYd3UL%FD3tTP*FSa2TpGO~3kwUXG`Rk` z8~SwfYd{F$^{)1hqLxVlQ8kEgfu>^>tdCM>ex%5mS<^fDSG>tlUQJ}fUpsNBBTSpa z4<5arvyg(kSlR7bnN|#7bFO054uYrYX!DE2qH!bZD9%9ajntq2#?Z z=mN$}5~G2!oFvUaPX;VNFmHmQ3nWt6Mghp{=Ss!$Wg+x!Dp)>@6Giuf-K7YN0_69R zEK$g683px`Y%5iKUghXvn=Mult3hvZ6qZtc`)*AkW*VaWCejkB&C6O6Uq=2+`3T;C z7O+TWxmSiLi%F6uiY{d9h)Ae|Y7ewIh(dtGu<0ggNNHtQ>^N}X0LckOABH^HOsg6( z82N~uh1;)ar)^##U;`ZHdB5wTzkZM^hdCYbnWK_!H>UbfoqC=6fni5n;(k9cqi6%BN&MWd$dDb z;pWkLXISV|Py;^?aslT?3YIUg->`wi?XLbM)Xe5z^<3d?0sxST0}5!bmyG6EKEvya z>)PL4S_gd#-RFTQd7S_FBc_rQCyMXio-xLY$JmnUHftljIB^1@y!eSSMDv1Mp{b() zSsBRMMI(+N2Au;>bGK;oJmi;4Dd^_A^iT7o*4J`+quynKjkKDvQS(6y+85@i&ggA^ z)X)C0wqh}VVRuk=^pQGg?egHN8oiau1Edk3mRS+Tj9kad!V+*2w*}C{sF9yTgO!pf zIuMHD2=I%USm;{OcYA#uNJ!@G+#%H{I!~~EX}Cvl4?;=)6C%Xt!LvmYJH{%$#{XFQ z{P2s6=-JWH-6>aB;+%JAd-W^(1jvRt71k==h zQIr*2dva|f3&V4lFE=_hOuQ_u>_aH%O_{$^FUDy1tXPKpt(Oc74WZZip(^CJw|d*s zbHMi1S7e<&;sC?D54*sJ>wkt{DmOx=kEdTiFGmg{ON7pbUkF=O$fJnJo4fn(`$eqZK)Y3&+fJ-UnV;xgpD7&*U$! zG;vgKr>Qmq3<4b=MQy9*wc6MQtV+Z4ri`YtY8GZV1h81HdxW+NKQmhO!_bTk9a=-_2Ccj zzp2ri)*XwjGAlMq2ln`uzvsaCigLL*9_%;D3L_KS-w1X*<%gGRege9BY&@ar*J2(~oDJ#|J7~{99)tJKXWT zrKP9bsv~l5SM>>D7;A5ieNyoHyay#Y8lV)WHG}P!ZDQ4f8 zI|Q;D24@QjJz$&(8i^K`mfd(IqCpuh#zmlt$^+iCl*LEBBgzY z+fBjK;DAC;Ti3EEQPM%Y`;!DQ%6NL5t3|Rq9Xjnu_3wOs?Bo$f6etHxWzmgsw=UyCZ>sYTaBrS+bQJDdS)R4T6+zeA=fkA`gUI7Xs1{bm ziGPt8eRODmsM_#XBz*HcTd|?gJBwO&qQILPfMzdmd4A+yd6cbXRkKm*M2Vos4mJ9g zY)39M)dFa@iS7==9#27yI&TT7q9imE%?c^QB}@hwHh#VCSdj^U@EF--nN~ZDo3@x& zTs<4a0ljyr=TgcFm~ol&8)@tJQB&YTMrkC<3>K+C0-s#) zkAY$Zkh#)drR-;_kJ+=09IC4eVy+5rUP|QoA~9wgv$tC)=O5N9)YLbRs|g&682xG8 zWmElo<=2Bu6*a%Ufp?xig8+rDDxQpln77M6f=BPYO~)B`_a$916%4{JIJ;Q`PMT={ z#Cu2ZcJL|rf0Aw0(0IL?Q3x?5X9NynSC}OcMP~+=SKidugCtsJt3f%pV@%!fy^W*8 z51U)~9oYYwTQ{hZEBDKh=eu~Rj0p?XwL0POC*zMfmU-FjIovJ_)^7`A$RB+?7ZH2f zN3HN$WO0BA<%8e;i)k7?$(Ov6XjWo1`l2Kir7rMHbNTxxZPhiP1lt)qZHWN_?g2I> z)mEIbpFVwh+4eOp$#gj@BjZ~~$5GSm)^Bm`K)- z+q8AtG0SczGBRsX6>4hV81d>z$*3Bn7ctU+`NS^{MKhS1uQ!8M<*oe9$R+%TnFh~J z@^_n5EsjU06)`+#WjFl5362I4YT}=4BD>LDU6X>W7WfH79A+8f*W(~}(=n7&@&LVa z-eXUKxPFK!ik?}ztG;gFd{9`;0Gx2GF^}+FtVQM2zTY0e){oX7S}?Ih)pVV6`~LX} zrc}=0+S^m-?Z?Cm)V{k}CS7b$Z+g+W4tJr2NP-5Js?7NTL)4IQP5yDqtTyylx*xAU zIn5FCCvLbirE{BAk#~4s&+GzZ43IpbPf0w$jJa4&ZI>7q2d%HA{6f>rlj80Vms0Nl zm0(!!WN_H>MMefaM6-A%al!+Ah7(ii$o$BE7gV(QW?f}vEiMxXh*NeG(^!d8Hn$l0 z8=LsXDoBWa6CEoXjOcQ*pN4iZ96{2vhm$Fbrhgd2AOCxDMxz~`kN20UoYUCxGQq(k zr>?_u1rY~3Fydxk|HBK{2_D$H82yxTVG?}>doXG%^iDWnK8??Iy?Y0J>cB7PW-Zv~ zu=pem>tyU>mcVMPE>++4Rag~q^&GM11!^J-&(M)A`(+&nymW6pG|*{fVn&RF(dvep;} z?`RoWBd_)nLpI9DMaD6eto3NuAWFkjjiX+(;TS!fg4>YK0hF0U;%xVoBY`y{S(a+_ zKvimcda_1X5Hd2IUE{u0A?O+cr{)lpjwWoeC2ENUJr`XyfO0a;lUce7-aN9U<8NzI z{z*LZdVoV*VI0SRoOEQ9OnDeh5Oc5b3OS zVr%%TXmByd31tK-fHim@r@K}bJPV>{gOQ>LQ0c@8m(p7Ix2mcSpA2PgPWNrGC^mWe z_v8J}b+NOul2Jbt$M5bMYF1eIGXCgE(d{ww%~U=;kKb3jh#{2-<%*03VA>E(1DB2$ zvXNY)|9q>>K98~gSMIp9QVlV@5Hx1Zn8Z-)Yz$nQxV=Hf^OB;Ao@uNtYq}xD!%6vI zR{KA-`AMG|?tQUslka4qwN%(7H~sM0@wVlt5JuO8GiIrmdp73|ZL5*nCTXhKYNGsF zZkbvZ+1bO(A61Q&gP78*}?3f#2#T`sj&4v--QEGpp(5z#F* zF1K(p7P(PpwY6D*Yyc9sQ2vDrUhnr!W-NZ&nAN9R^i7(YqOz39n_gb}Ee}JPhyGN6GF6KUCSka8}thH9ftfz4up+_~7mCwzIHVfP8{XF?Dh@4Qja0AfERq z@T?mjQ-%cr+zuYLRpfD9RE=1*WtYhz2;wrP3Y>Fy$JUC!v6Bg{sBLRY4Cp9V-Sgwp z@3rm;pSQrLF2#l?2ziCX^*{1Qxmj6_{?45{7}A@PuL?0FyxVn>Nf^1Fua)u;#2*8q z6YT)hP(k;<-@FQ!197DZ-u4`kE67T+aeI?Ox%0y5D2ozvE zn)T~IL$|U=Uk@1m3tfrhkAnI_UBHb0`w^MzgYL7qOnGv$TZQ^>UXnrEu`zGnpmO@V z51t!xixidqNwn0;munjsbD6b!l^JNUS+>41XDL}dcXo+4$ zF+9G9%VtnalzA5+{s1Ke(mMdC#@n|xb$_iP0lcq(;8rB&?qmvvg&Iz?>hQu+n3oY9 zbRviYWCoY|4_#zJz=21U^Qh4zT@1n}Tel-NTxjya@589YdA(*eIK*;Eif+RM&Vp{| z+{3ZK<&8Rd`r{cC*HfAjOD^x;TK1tY@G=x)IMIMEKC21>I5D$r%N8g@FpDEkNY{lA zx&!2}79tuc#VztY3_zS5k97S(fm&rM$0r=5rXW!zYsl7~JvS!Sf)4}@Cw|oG1w1d*CN#891;@_zYo_{W^noqDRgU;6c5R3F&AKfw>An4*XNq}ws zOlFFbwnVoLwymJRkk#asZ!=2$~Hi4X%D)1IGvi{Pw@b(UIs& z2KmO^13nGl8jKS(2dF!bLqgE*poBwo#uq5yq;4wS#B;T0>3Q$9h zjR$d98o6aA_~d+9cb_gR(Pkem7IvZV7s@+zL;Kiz{2{j=ki+D_WX*$UOi(3oL9r;O zDUuFg!)$h|#~(Kg%ovie{iakR45MVB;WyqKjMBy;tcS}y4wsvcio>LJ-B9EIxTjMC zoILdYpXn6N4bddBhSa_@;_-+I{bq*@&O=rYy6x4}*uKxC>hRz5zE^g1-X*0eU=5AW z9p93k-u8KOI<@UQf}4$m7AHIE&C=5xN@&jwiJU0jA0h7URq7T}b=D;ZT?vj4$VGuM zB9sxo6OO)Q@0h*RIzEbro#9Ids)-(!77gOypdoSvL9XwuIE02bV&p7Tq1o_Kzm&Mo z6|BJjJ`NH&j5pkVhmyDGpcQ@az5QGEXC zTAs-w257LzeMm0>ngBDHGi(LKxCLMUFsjqJ>8NM&0kJ6v=e3(=f;w7VCIKDAaxPcF_ zW-D*8u&fgG2fzwzS5f0E+dVPdQ_vnESVA6aT3|*a(k}oN;0xCR7m#4&)0zll996lK zV@BPcp%50X2*3#ok=|+kqi8OrnW*7*m*kDMtDt)VFN!4iHwg@QN+Eu!8F;2PRTak| z`%uVFG_B-sL`1<6hp=8f+d~gO#4IVvMsp98Go<(VvpAH{%S+rXiY&N5DO<$dp;c7Y z;SGv1xrPZ8CU{4zdP&Dt34M<_Qz#fPf5Y0hQ;nW1CDVRy%>u(Svfjvw77~kn=k8rn zx{37=f7udoAtuLo(;0=E>kBHQ-rh96#Xi1;I)gLL!y<>7?yu$DFXQ_ub}ns-5)8JS zP>~)wa=>T(#$iQy&8PIgGAklZ`{sqw`aWoRrFc8Q%x7WjP+*%spU6SQSuOpC-OV?@ z)JSqDZ`qvjn$oDL_RP}hXxW&tXfyc}n4RfCO_Oo!ghd}VnFOBt})3P*aA(-?^@ zfvxftR#hQP8DJh90J$glpR>epBkfiDgWWzeK)-s`f?doO4K0-R&cL+!)V z-fgEvhi$;%MCbut-7S{IO!eVM4u=AYt`hg#kQ%Hd>it}qaPvYCN3wcT^WL|$7M~F@ z%uO#+m`yU@LNE?0a-M)vFE1|wQ*!q0j?q8Q6gkm-fTsfbhUy9EHGGZKD!Cz2_`Yf6 z)ytPA`hGK)M5tM4*5k9DKWD?GMz^c;>7rhSQd~VM4!}mV*(hMzN~&s1hTj)9pQK~o z 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�jj^#q78~!T+#(^Gl3}CnbGoX<@?Mg5)J_dUGWq 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

2U!lg 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

&Eb=ZUA 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
$ZI?aL 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
KoTslX-mkd*vS&TO*lY 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Ð@#fPHM28BfJz8>p$6LwnJkEBptnZn1d%w{1XiVbu3a885_qSGD4mYLcBOfdQl6E@3&=B6xt$NJKL^n8E2B6V@O>-fTK&70vfqh9T1_X?h--y{9_VN1kzE*@`@X6ea_`lsIW z{e^S;^5i$#FLU*jC;KH<8!l-=N+h&s>@p)p4Zvd&0a%2v4Bp@G;C7A*g12v`i{}A^;f>E?65mrWK@2-# zGXzp1x1BrX($7a23pQ;dM~syT93L*)3a}BN>@Q&bW<8W_B(h|y`HTJclW$IXs$E+v z+QZZ;;mEMo72~ zquFHnw{D5odCvYX$zKk=kjtB&*@+6>QNMY}IA+SCqarn$)l5a4)m*D+tuNqtsr`sD z9l3nk_klL&u;|$O!RntgGjfxrtN0b#E0d zy@IG*-$)*LA1bb{^kli~@XF8AU+8R>xw5*KHXOYX#@O-gk%2+6@feAA?|R?mCrtS+ zshXRbExUW8mF#GC4eVWGarR*pd6>F*rbA_YUvspvvLg*EeN#F~uHgpefN0ggV{|J| zI9j~YHHAOMQZNin*BE;0o|@F$E#1lYW07lf;WG8_*6m&U*!!GT?cWcKh#2qoh@@gI z9#m*eywN`&z1}lIf0rfswM+`E#qsFP{QsIl#U?%}y}BNImHN*$|2S zClD+7Fsy;u6T)<28;bcBpb=~#Mt+k<@uMxom`i)%(N8niJKeS*dbocl`HLduTkUOMYJvS7*zX zxx{qVrix!y+g8gZDI*0^oqU_+cW$}cxp_xTId7nYy!Kc2#$U(WRme*Ps|U-yd4!r% zw!1_$89osj5%^(c_focSb5UJ}Hmk&EwG~69n!{ah1Zv9_U%dEEHuQ0k{=%}?JyM02 zM%jmw*cp{aGRhSSh3~1TuPX{m8l9c+`Cq*!lf z$bvR?y{j_KPCbKkg;l-a1Q*NtZV#3m>h`$Sz5RV=MedtK1|A*vO;7q^UTC9f{)zkX z(8K080jFL!%f#;v5%Odd^qKjxk54c(R|J2yHzV4yWQsg#Zi{D={Wepf%XPJtyTm@b zi~aN{rHMotdz@}?+w9~%d3&`Z0+wW!Qw)ROUR=^!C;z!7jGr9mM;=!zC{xp1 z*ZIXfIaA2h`YuyLK;#=zu{Wfp7}*-v6Z#KkrDl8&Rh{UMaAyA*6~{myLEN6-O>l>> zB9g!`jwR?RdJTtRN+t3H5)&!3h{YW7vrW&PutN|c1(q1VVu6)LaN){eyiv( z%u^5?J>ln(7Fql;@Taz@#@Uk6dABxBCX=(g9!Gv3%ab2 zZ_*9*2as--{gmK+JMM~24>P^eDaHJ6yH;DQKMhw?ZWW6Oim37me;61lO43O$X<0J$ zW{1JGZB6{`R+WKQ1aDj!^|)~Ar@Y>)u`Ih^LYYO!gHpfHRi_5J&m3}OQDGx@`&LaC z86KI~FetamJru`J8fv&p>&PMBh-h7RnC2ZDOMWIliQw05{AO@7Fu;CKQM}%+Mfaz8 zASO8d>$aSAs{P#FWxhXq3suFr{OEv?Z)x}F^0IEV7urx(-;+_@YxQ7in4vMlOLm zHv7QM;PcYTeb-w|F2-y-)5JMf?e#ud=Y9R^1oH!Z16Ly!KDOu^C7xba^!`4lrm}6- z|B^ED7WzDdrav7a-cv&QU0Yj=?G8gu6Q&A~Q42Z<6nYLDB3^oa*`MDn6E8RA$fQM9 z@g~-H!ApOo50V8j0zkadgi<_It73QVzhCJo^`{Et!*(A>H}O>;HsLRO?RCcWKBeZh zBW7dFL84>wUL{F_&VKo+Lv3n#S3LIVTHd5q3cRlnGJJTXEIHxoIk!t(`)-{nx+~MW zPWRo*#>1kwJn8zWos+Mncy^jB6u2B7D>IAFX7TmdCY@6r{h{eFRj%F7y!6J14^0&* zl;IQukBarg%oQW8`xT7FQmWEAR%o9cqij1HbhpuKjCqR`4UOkRqq>Of{^okwoVJMk z<#Dm)*=NOxJQWOr)YFaYH;QHl3#lp|s5RbMS7oD#$fZ~Oe1h!Ez~SiEm!kq@P8+K$ z$OIN|p1t%czfg>6Y)I#j!@h+#Us*36ihkpEvUlw=#TAx^Ve|F47 z;I>L=`D-2e;#G+$Z)u*ufRZO0dXqQ(Tz8-vC^r>R)u7wwvU@>>xns)qKU5~W(3fz> zD9VHpShP!#DN77|0W%Nu6hB7Pj@iPb20(NJ&pNMKY!fzQyf<_*zjy4t^Rc(iQ4=8a z&Kk86QC6)<8k-Qn0R-`~>W8DS^nXu-l!e^6g~MH+2BR6b z>acUj2dckQ?HL=^5D7jIRVy`lt(`L?lQk!yub`kq`bjuVQ&L1wJ-jxo;wAUYniw7$ zZ1KDCUMbWgi@tfF=3{y>hcnLti)Xm3l5&6@OS51?Nk)?t>2t9oT*gWd41RxztZ_ET z;@saZC*OQp;D)-OS4LQrwN{;10bQa}@_}-x=G=~#XS~X{k;v-3_v21idM(MjHLu2l zfkC>{ikHNkn)%q900U*cnhWXo9%+kFhO>ztj8;8TE!`P$WYZae83)1G49ye{O~M&86l(8{A#Nhb4X$=rF%Yp0bp+}z;;;8?-T-M8c5*}$VWn}^ zT~tQxfofk?r3_C*1q22KAtBM(s%dt;k>w@>{rYEiMkSTCMjJtq7+T_wRU@~gtls;N z8IhIn6~h5-j$MiRCr?Mxm z>mQG}@$KSKRvy^IB=e_YQ`p$n3m9ORCLdQR$*D74_a!(O8u1Eq5$VM5*|e zOv!hY8J60ru9~Wi*^`4+s}izYf*(x359;J)Hnf{=TbmbzOpt(tj7AaToTBdh0u* zVBL6xl_;3LVUdedhqnluv6y{#A~VMz9UBr#=N%(XmRPG`RB_67Yn59HGiZQ<{glx=%81yeAD^FIFFZ5tyqX!+Xs~{PoU2 zqxO~X!4HyqT!t_4iG-%;jopyXh{$g#@!Oh?$ks(n8Yd`-KIGpHnXj`^lh@tTRHtv z)#sn(ODGg;A;YfcdTTn-+Imiy}+rV|KLn2u+|*u{qPwQ@LAQ zzLOLvxzvbEc*W+)e9X{7h-LO6~cm8s)7eNvvyI(#YtI$znjUYg8Co>*LhzrsZOC_m2;nSW_AbXl#fU4D~+qWoG_xzJAG2gun;Xd0%9rg)Z@30>> z2tJ`oGBQ0|o1qDD$vTZmnDZit%X^pSJHnSr$Qp_mBQ{M$?$r-AR&()F`f-MVI^AF& zbNjObTXM%y5}jd#TlIbXK|zg=y|TT-Dpk{W=vKBQC^5V>ikW(_Xnl=up35}ReslUf zPlU%%5_a6FX75oPdJ}WzqT77y3zf1B(UzD>uf!uT;u}t@xe*95+bJvU3D9;6?tycPfq1JJ}xXOWM(PdL$7!ZJwrU+->Ge~ zjPoNKy1vEI_0Od=lOr60Ui_B9X7h^-Ql?3kBEuXe4$$3ZOe;JHh+2lu0b=w|g>g)Yl3SdqQ`_*_VCS2 zgqrypN9IuXnb>cQ%?|nbs`JT2p?9`zLb7ImAb(Ip>XXFv*F8=Cz&q|9J*uLv61qhh z4XJjY7f!y`SsX3ZjqiGzzb2b>@cTMjgPW=PaW>WNgc~NTyB9hO`_`AVOEyht?QHD% zL`Cs;IjFCs&iVSk(LEhrz8@GQU&VViOX5I0te+cKZ`JVY_;yd7G`XI~Z8IR(=)Z>i zE)Pm%q|anf{nd4je`l*&R*~Vp6DK$G$VCZW`OX&JaBX4#b-xNb=Rt<8r5U3anxh1- ze$U+VC`8P||6Q9`|EZu?13S6`=rk2RhNO)({5m%5sr@`>fcM7Em$c<|rpMejmb!#L z$S-sasCo+VE$>NA@SSEdryk4Ee!35F<$f`HSrtY!>u22W=d>Me)HI*E_G#QXK1Ijy zqJ5$`tBGu2ld{0Rl=U$>kQgc+3}{AEr^81kR--G0b&g*Uv1>HD_a#P^=f?@|5K`lp zv>pak93p$qOseiWK>Iz%SSMys^?gHrna<2B^N-rK!(t-KPIsadIa!s*zI@f#=i)jn z8MtrRv7*lHT?*CI>+&Bi*(?FP>1}u0jgMazLz7F}Y7Al~k`-?O%6^)4dtCRP$Tuwv zi*M_K)|I2*w6H1w?z-*$8vqVn z{7*RL|EW$-*+Z1$+$)u+Z+bhB@2^~JS}=FwG7rAaE_LSjsY@c>+Q~;7O8lZ3m-dFa z&Yg~epuI4kAM{0!oVs#h!k_#_5`$te&BJETrDI0gFYaj?T^U$-)xj+H&ca5x+jF0; zWOPuTTCYQVQ4KXk#Die}zU&NbhfH0rjF$(0D>K|lHpzACKiRcn?(U&0*0nP9R(7gO zmS)pKQ!`=l!^Tss9#`@3GzJHWb_AJZv`$@kSw*^Mb)tEpmSThkknZHQvl6wrXTu!5&C$=o?VeFS+ zLwmsB$%^x|Gj-Ad7j2e;b!YBm%~ZF3W-3-2+m&g4GN)Vpv;LBxm7_B%A|6|WpJ}TlApcmyOp%lHt zE>Zc(?GsWIQ%+8AEYmkqukIwd+OBn;wY0^8r4@&z4)0<>05e0>l~%T`kFDuX4Gsy) zHI5!%I4JsgSRypwy?1d@lmF3hQ=O(GY*j|C{Y=Zjv}81*OfsQOd7sg9 zya_7v^U}DWHRpFzMs=rFo!WygS*a%~vDBe?j6n7N`mB=(U*~V4HGB${aeNF zJ144SSb_^riQp2+ZwL>6S!VSUj`PjHV@;R%av?!>$Fjhg*h-Cf3e zV@UFzRNbe}w*qT^YV*R5h9!MawGL7J1j3IQ`+87=}J;~`GE7FAT`ai;3N zs8C|Fy(VBm=LPZq&|;vmH+c_3nmrmG{QTucvW|gOvf*lpuS)Z>&w*I<3#XUg*ND58 zn%b-7xuPN|FF$yj4RhnH`97XrzUKX{aAo=RG1>^>-IOaqX}O|lZ!llBrMCJ_tKAAN zuu`j^&`2=TeDWcMFZD~XNYAf(e(G0q4Rsl?cB6TT?^FnIdw!gqD3Cvk&?jbjQ?H>l z)m?TqF@4`d?q@nO)oHRxy_T{``@~{9hs51y@Dt^m;5%PPPKZ?;C=PU3* zP!}VWbl0uuXI@!oodj^SaXT+uPHwr@kK=7Bibouy#so8Fx?^$@zp49U$mHeaC@dZR z?zqCQt1|PSDKEciYCbM$h^u!i8)N1;;1o4|JdOC2)AlWhj*-M%oiib|?wXj6YEUN9 zwu1o^M{elgNK$Juh{4X^u9G&Z}YLe z+vr@A*n>+;oKFdpNz?N!8Z_qhINnk;<%yPG_I8~Xu!+AWm8^kFYTVh4G(NtANm7YL zh#u*^r5EIjR8tcrQP1$&e8kynGp@|cHI`33-4f9_mq9cAuQ$E&6S3FEa!Ar*2 z&#S$UZ^#Zwj$iAqJu6f1vY61fw6*;8IPzj-YTZTdG;srB#I7YvhP(#O=gNe;2^aL+ z$u9Qity119Z7t%MK$>$MO2(?^n{TW%x!$1jzR!JW4qvAcZ>_4DV{Wz#bKWQ@*J7ED zv@U3vqga*J-nss@K(1qFiJV{m?N9mxmuE)(WU}T++zv6OmFhh%=3iJ+LLSg#Y2;mx zl==LL8snon#_s$AI-+v-j3V-)R`z`@w(&1t^6(^IAN?USF<^)1pH^xIVMp%kqU{cY zYokupn`tDObHd_ynDfk{37Etbv(C4OPx95bO#*8VMvwP5ZJ#f%Ctj%4_&V!&PZk6{G|L&!E!7wMkC;4#F}(t zr^o;I^~o*2R6e`4{Pn?q`MJgwZ-n6Q7xEvH2BSA-O09o-qMZ2TeIGOaANP*fSe%Rs zp8NY_L;2(9`Ll;-!ddX>lr$&jj~-dx@A9?ZzmQ!?Q#StmkEe!evtzEdk>%hM2gmsh3zNTexR;7gg6Y*J8`aff z9cQ~SJ9 zF!{HeXtoUDV>0@e?iHE%%&~Vl>q+_9)X$EeGHIQB?d+Vk=>1+`$=W>LhQ+wLOFN_S z>$^=&q|Jf(_nua`@I<)Fg+|2P$|b@|P`2JSUhGxoC|pTQfzeDE6G|~(nN5uCWcPd# zE6CpHp5c1yd%wjCo~~0{$07DVU22EToY={P$hMCXF0GSWvJZ>be-mtQUL&KEZ*MTW z&3(A(YcJhNwS%V_{H*DuaB{6#RpnPa#waO2$<2E{dYy&_s==$v{-yg#{~fu%{yUQ< zXQFMH!Bbqd5kTxqBNC&V{``!l{AwU$N4QaBqQ}@w-elg(1C92PGtVd7ABHQ~x^$vs zQWtJGU5(D?5N)udobDd}=!jb~1~gIY~_wMgpJ#D~MuyA5a0uZP0 zzp3jpsVUPhSl`(oy;LFK^UC!oi@bcQlm6bvkJ1N=YkVy33iCS}l6s6@^Q;=X_tOgb zzbE*;>v>MGJ7k?ZC)-|mVrotcXs(5Y&G(2su8)>R*h;Q7<;BU}HGjR0;g6qNtgd+knemDJjx_TR}8Vp!ZcS^{8YQdv__Sux8L)gd%u+De)tqxW1Zpn zgSw_!=kt^GFF)0;$T3y)>x)uYtH|%ZWXYKMXl4`_C&7ylzjCupV>zH!=I;ysKfjf4 z(-yImJ`Gdt>`0@^NGc`W_&&$RaP)>DLA{;#q&e|v;ri3>)5}sPKb0$oi|9jAZ^n7- zKL`j3F3Bim_vel3VAvM;n)}_~%abV!3w!T?r*3~TdfH?C%YB#*&W1ERZj`_9f)iv8 z78IN`5%#m1k%|Hd))BAIvez84;~v@i?V* z3}sx?*Zo=<;5x2)0hn zUaX{(2)A=?hPby1hGy$@8y|SuMwpje49x#bcfsq8%T4yNL5I1^@tWAVT)rfs#8NS8 z;5f8zIdPKZ9OacMQ@o&Ok-m{K_~WC6(W7X?=1{JV?kS#)l|6dzvEuO|LKjuX1|CvaXIWNwwSBC_#ncz_66zoBz$BL9A5 zo#UpZ>+>uBdiuriMxsWUpE3%cevyt*NtjU6HBdbh>8_e!TM;CBSrWN<@<#KdXL|g^ zq*;K)UBwu=_|bRnxf1pTCuVFrXV>{n@~hH~RUTg&_bM^DNk`Um%1#>c9Ja?wmb~@1 za{?3Hho-#8IeWeP&(vH|(* z*E@z-`L5?1WVeXr!8nvs+Xsm)ZH@`8 z-6qEUA`Rw!@At_n2of^ncWCGNy{|;Y#K`ap#%@?C z-gZv*7fhmhj4v^(xv2j?8so&tW`H{eJ&`DoA zd{fGS=*x^o2@}gkyBmH@Nou=nDbgEJrD3gFNi~&Fe2CSYFeX1&-yn9jij3D=U%U)Q z`(xAgK4qIt(cOkx58beRnYTsH+gcvfIVLX6=2G)&jST2C*WWT;q7y!g%35SDCzy~6 zQ@a}cln{hJh`h9Qs5 zO`3eZJHC^*-F?Ue;i_i8ml3&L&71r^Ox1-#R(RmYL2JUL6yv*R1BK`UC8@6C@f*|q zTZ1*XkgE}@d(R#l%>6n*>loTt^W*YO)7yLY=w#dY*yQ$>@^r{Ady3_}?m2Y=bRgJm*jK&s!C4SZ@ zEi9z-*xce^SvO_7ZTL~f^#;w{P4};bO*MVjC*3lm(%0yw-IOl=?QYQj>H$V#)S}`L zm8w~~aX|3q`#5#tPxnN>MLaCVx-VazZM^D)kd_&+{3muwe~~gsDnP)13GwK6}pSG*-yvF_3$jh?gFz z?7)3cKWe*@7${!QX>OC-;8RZu7jvW~^gPAx>-eC&&((^35-@+XnB~M>)K*V3-=jq< zj<%ucdqR_m%NWne&l$y5p8oKI>M!p@tqPy${Hh(fH^^fB1kLH6-o`eh3z!-)85ErF ziA=uxAaFS(0%vavjyE?&#FL?I)rfM=%i@y#@~*3$x8vI(K#!8|Y%HJo$&`3XF5DJ9 z`~i7XNTfA6X~5jhdh0wQDQ|&ojLiB4mo8VkI9nTw%oA5+2X9#a)_#dH-q=6tk>6{f z932!#z^^q!=Y*QlZ#w&pXl_E*n;M|c&tZ92xu~}ANHg8+yKi@8rwtBUat%;3;0@@({8sku`yt{#w6+PIJNNms*%P8`mwi# zW_(1R^lhJ1t~2V+KBz06DW4SXp0g6lWOuj+qC=26WPUAUV`H2;a_>L|3*+A1GY92( z+~88)$*0cCI^jv&0%x1-Zc)`yEcEP=j-b<&rCM+CweKrvMB-{3u4ly)t6fppVvdcP zAzIrdTG?uKiNEVdcC3DK(7=~+^SZ9yB6HbTZ9z*Z`IoQR%`{ILU1T0tZM}T+W?t`w zMFY##(#< zjxbu0nX~n^Z;<)AD9t+0P0%~y&eP6oE?G3RRgzS33{JUH>hIV++Giobb~qlZt#N9w z{kI$ZLrGFlwb5Ew^HP%M>}kDWvl&z0;?ddzJks0{+ zg(UVxxGte>A>)1eoP0ug?JM1ORxU#QO*czPlat5sF_MQ4^wn7`At9_y#(|rM4PSfvU^cEzd7XYMU3=ZIBaBp&I)tj&TrI&^HKYq` z9l^shaAj?s9G8fns8@OO%dPP)Qf`T#Z&EBC%Xk;vl;WK)uy9Tgc2D-jM?c34LRn{5 zXFi_mZbL%f_3)s;sAgi<<4wy;6|Q4lH64a&%XIv>r5U9-O(N`UqzQpT?Bp+B_7dNke-^bYkR)t*$C3*8l~kRh#wDgs^VZ>q-K<>K3%0G* z|G1U*pSi{p^so9MIkvqEPhIrzTiV69dypb;lbIGe3K(qvIB(`_6POs{$G)Md(sNtZ zip1fz+4hJ^IL078(aM@@r}12`G{$b&lX7b^zfJX-?nmDbA3v^;egCyUcxsUeza)oA zYr#Rgy)s)fW;*&fGw!1VkAqN?#`L{&AVMZR%3>`X@i%XgBlbxLnLBhD1G_$xYS5m4 z$KF;GetkcO$sNqq(?V@r`Ha#c&UGtV50`PsbUJ>FlVag_{L*IZY*h!RNWzF$Q;L^2 zqFZyXMO#V=c`<$dxfYq()>;qOpa?%#U>9}K^MGR69kMm;=QD6nkvp)=+8oKqRn({U z$=CD@RM!e7JG+cYc?j+!mWo!iC#JV&nr`d|;j!QmIOR6-6Z7F1}GC;r@v;Pqn=lO1+ zDD)*>v>un%TL0~y?LVsUnYO1%ZmM`eEvyb~dU|~2*6sVGnHNJirEKg7G@9<+HHsl> z!#EG(6RLa2k!LfThr@mog=-EA0;kN2V6P%S>u^whN(fVarqWO}iRbi#)G1ckYMb{Xwq!>? zgxti|V?>U5aW6@d5A;R^+=Mc?Ci6*8CEUx&(dXftDR4`hR+*!&VyeZcUr>Zj*)W?a@E)$zxHgnH9+w zZ2ALJO7a7wboAB>NBL57GCuW=GV;Uh%bou;7d%KKbtE0O2)6G z*BlY`J@T$6S*ahqH~ex=)@0r(n-! zAsNmS=|S=5yHAmDby8SSH->|9k@FXBW~)geCigikx{l90ba+}x@~(2?rb^kg3LYgX{hEvv9S^Y3~ zlo=I{V*Dj~%T^aBhFIT|m1_wnn*0p&KNMB85+l2OM42wX zVI=8>@R9Y{+qCB^vpB5S)(9BC@Y%AiTB$^NOx&6?qWgvU5Mm;Kqe81xUX(L^BWz#G zYBnaWt;o1-D?h%do5a@d-dx4}UF*lOmm+UZlQa^i{B);rOw#vce_ZRLTuWZ<@t}TI z_e4Z;TQ9%R>weg}eI*`R-2l)02Se4a;@9W@95ysG&(bVfOlpa{^Q1{`Ri!IrIQG_N zrm7}L0%N_?hMVksMU?&P<9&J0w=>RmTdH7+C005<&_0=#>)^7{%s8`(!T0~6^thMX zT?0XIJ5fGC%3~wRi$Q6wR@EW+l0Wkm8RQm>a83#rnGDt za!U4`k0xw!+|DT99DQqebJUEC9>CR7>z>ib3<*-+trx@(%F!nOCd?nZRIbk?c=qdc z0^fu@6YEi5$kk=^$~GyHE$-2TjwA={Lq6VU6N*;O`-zLS305sX7Q!6|i=5;0%8k+z zYX%1q?i}gHGDUf2XVFG!c|zx@BpZ?M#iAKKIxG*K_$alz-qm5Yd`WwMEnp^20k2m^+icNHIHr%iS)HD0 z;CvRwq%vx>M|sq^m8R6ki&K*I=WoP+l;jxrvGXP>mN?L8r$rEbDNn6+6UGZyeTm4n$Nf zcglKI*{2MndlD7)QWA-kr5=idS9C14tJZRKA`R*NlZ_oB{x*H#E%1|!CXaVnxCGbCrH*P z(sXdD%GlfR^<+dVNYEg1Qj&z6pCqmgtM};4DCH0zNq!K`>KYr*i#EzN_869@Vc9vd zOU^rWk`95R7dPM>?c^M9;kX~0InbIXxJX@~5tE&Mw8UrI_wb=Y_;!Yx z1O;VAp24m+F0QHhkhW4NQZg`f?RJQrgOK9suyeJXjJTS4PBluiAg zU)f>==*OMByz{Tp-qW=*X8TWvlXaA^9Y%RKj!NW;^ggBRD-G^1Htp`~eC8$OX8f$w ziea&3Gg2!S_7@7Vw%l5Ivlv-Eqf#x<``X&Kad;J0YpVIk=vo2h&5F#vBaDTI@Cp2YyDYi<4v{-1E)S3=GjR#R1B20r3Vm47S|^H(#zASZ z83h{jR5%~9-Sq`}X)Njw&SJ&!c>pZ?e_^yer;oaSWevgM3@cJbkz z`ByYj5^Pvmdbz_mD^bi?f{wkGd?U8<{LDK|3d!B<#FI+Bf-dxYU#a_Bw^6C$;Vc!y zjA}|v!9bIc%yOo*m+^;r@3iIU607%0apKxya;-}f)%et^Ns>Cdy^AIH2-xt$!m7G` zGSk(4+ysk+<$LLNP6nWw1JHPX>C(@U1^tP0aRCFT7D;bX3 z$4_B!HI-AHj8n--+)f9Np>2?YbW6?94=3Z~D_esdP)5#V_d5dN{FS}Wg&Xi z@mgWXHp?%hS>pWdjhK5B*wsn<2-H?52$wp^s0HmlWxDAnnX{~Eo$C&Fom7rVlMH)g z8gpX|gN!7Qz(XV?_kz9Y*qnx~0r1avt%A`F%aL~C>OmC8F0EwnGTZ{7YxAqdF<d#n;e6pIZn;WUOoSB_8(7HReS#ow(*;nDF zt{O6iNbgvV^ofy)m)eQa=1u9buQ@yEYam|Kt_Yb~Xe~M0%QqEE>d`*^`Pe&3aS5>Y zOMX$ecKX|%xg88<3fZVDTH;)YEYx_>SWcX?=JU3W8=-g(`Jy+w+qJMV_LEux=85CJ z(~Ngf_m2USdHRcw2jm^m8`UD`dqv{RYN8o-Qq{^w>yvzIvIy|SN=3y|BC^77Ern$N z@LFvxKEG}%p{}KYXlZHb&}#KJP)&2F%;5=E%u&L>P~V|-onf}$+B{U#r)-4dZw(k19TrghpiI@1zivvXgZJPS^RxlK#?B5qpK@RD=$ka z>-yi6H9&LD%^Y_YD$7fvE=KAEcjd)6_F7K_qwC0}i z_Ay(p9i=8$t#J^{@6}QHUM9-30$IqXD!lrEu9JwmI!_>S0W=3+OirdG;BP`_V?q(n z8~!(pDs=rAHLRMSK6DFN(smJ#=VvA7|9oJoRJFXVPI;Ihho^Q(?&pSvHjxoff2x*~ z2K;y+6xs8UMMzRRla~hn^>d(E=JEs&yeL+{^Oj5v`^LJmSXYA@x{vqebIcVPo+lB& zxc}0#o+M1+367xhgClr-N987W+23Boy&6v}3G{JuelJHvu~MqM#KUVXYA%IQj?doi z!PKx8OPFsZq@0fnqmm1w`cd$-iO@NLW~Aks$1jJ6ng$8;KejbYW9UI~ zG{3ncd+kENVOp{0@0>UhW-HyvdstITI40Al;GDoRoK&G?>HfDVxKol$8+j5xU;f$h zy8PrmYJsSYj6OC&okWD){i@qONm~Ni*z3lsX#!nQW3*7d|M^wNubZP8rn)6yB@x@t4WG5hPSmtGXS|(HCCM2$;ZdYrk^M@Yi5c}|Nb58sTpz;`$rsPnURUg!hlj>9;( zxW;1oy!NR_9_3oJRH;Sjh2X9qVQv)t*G!jaATJd1p%mIAM;bJr8ii(Qf@$q;7fYbtwD)Q&gpKt=w z;lXeU>qL!>jP3#O0lCM0<$os>H>B3ENSKc=2CVBp*VYQdZOk2jPy(!I3>6(7rm2}( z8(49JVKjD8m-|BbB0ogxbT{@WQSfhr_+uQqO{XSR^gd((D zn7V|H%>knV!DgNAT`gDxg4b*um~_*?cu85Uu;5|BM;)$lbD40O4gxyRlp`WjfnI7- zTScV>7}MK(qgKW`Iy$BudiiB|tG9tg0%UHF897EQ7!`$(KSQ)<<%_KR#m(tv+nJV7 za6Mt(-rhES@j_Br8B7#rBg{ujnBZRHmLCxeg?f$tVE;VU7Xv1QK(jRf9$QL#M+cMU zWZ6r7%gLJf{QP{le}87XOSm@Oq*j)eaaHsA^Kck0@MNF?e^H=udAI{l1p=SZt5{70B;Fg^ubR6^>*L{i$b*VzS=PX?-v_j%%DOoP_K|7gI4C|0I<{tv+r1lH(=yt z1V|_6<(yI*u+>NLNu5tNo5lW|+-PWw8InaF0MZ7`GB7Hrfk*mO%WZc6T#xo@21!Xs zP?IX03MeMdr@IJLYLL(P04qhK(t!ye$S@;X0r!4;B3*+S^$npA(pz)L?JmF+e1w$- z@U#g8(f<|`8k*BrJUAl|McKee9?~9AlICjOoKj_EWJqKvNQU8IdUJ4aFjnW+D$u8b zi@wAf|43~X{9Ihj39-{-A@MJP6U}KuarW798@v$(Q0^qd+TpU!(o$}gstpmq#j^46 ze1xH-Iy5#%0vKGuR^cxPLVg1Yzafz;m+km0;upoz`vzmRc9I9NiU;yj9WoWNUOPRw5{UWbTG+KK zymfP~LWvICE>6Knth3?Urr#*8z58`+-|&9Evdg`8(%81l$wO#T{a(>+A|gmi*iMp8(Z7Zs3_l|p`ln-spPy` z9ag}A;z)$)l#c3hX&-Fnni3nRK2}j7yzo$EPW9hDpW88`nTdyu%?;EmLzKd9V7=4E z22XnQ=(}O%udZM$TwLE)gNhX%F*%)ll{*r>)XjAM=T##qByKR?YNKw>$i#$S{O@8n zJOHvRU{eN|BIiO4i9j(Nta~6)cm^O9Wzl=G#&!Tq{5v4#d_gg2?G3w=02=_95J_-G zrPFUxQ&Ye5^HW_j?Roaelo+sco5RM5sQ&|aDJpcr_5b8U=3Jl)r*{$B0AFba0@vG> z74x^gzUXLRLuL(VIg=QlxH!@=hfxdc-JAb1r^eCRZj5xbwmt-OALs;GZEX~^iqPkr zqGD3!5cnC5tM>6VV?5!lcEf08X{NG@_;5;Du|aFS&84QI z8tcwIE4`bC2mn9{>hu6c2#^@hzLa$1iFwzi?0>ESz6PypPUAuM52UPE)Cr>Dagw6`QMYzM$ObJOzzYCvj z;sT^k&()O_wP3osd~=rpZ3GmaCh+F`M2iVQH#9CzfTjoujN6BDc$Z&$W@j_{?ETxN zT$Y}OS5~7weE5`_dJ!TwiaHEa&*rJV#K))i42+GZfi)yzZoXn8GjG<&iVa@vC?{tf z9kk5M&T=8}ms?tT(NYiyn(`Ms^7XhS2HJtE5TJ@u($X%$6o6!bvS4Dog#~jPVn2X4 zUjr|$9cz`u#|v@<_?%#dhK5R2+|xt=N(cfoT2z}i7?{9F)U7&*Dk{QUprohA1Todp z)+VZ?bPHC9ZsD+{${jUDMMxLPFrT<$aljeIr>ZOG$NGLsc{ve?wRp#8cw%q8y(!?y zkOy0S{1AEg@SME7JhS>`I}~Zg6~qb;(7J$S0p3%g;o)z>!fwD5V8q13E~NMQ>9F$T zwX`npCRbLH6fo+)dPVG`%Q*ewf1AO7`N2}NEsQTHB%~QU^I#c)o=jTi19k}z7|_sq zdU`HnVZ|cE09^xc8Aw|&mjInU1Xng!uC^5fg0GoL%%#flV0gug{00pEuQM{}X#LN} zcEBHNbO@E@@XE&5WDf>@T0aP*5)XR|B)N_&aeWsH7*X77jH{%mg^DK@ZL6uM2pB3j zbwjHTfKUINmiBGY?i-9rQqnoA>fKv6Zr*&^Oy>A0I~yCE)L>+Q%g*DmMhZ2@ydaAv z00cYy^&6~Ev;S?s$wEnLl&7nkf|4aA1euzY@oSfd^)dpI>!Kg4PIr)60 zWmHitE6>|fX3G#FhP8iXyp-rGJM_eQ>Ena zUqhcdlX}(ykOhFSg_O)QjFGR#d#t#`YTQ#~<`@0AYh1 z=!vM)!`=x&ASfsaC?`URxPX0bjNvr9g>5DC^y#PE+^e9a#bsokNK1FV9v@CmOS1+> zCSV`#-oJkx>V|j0!CINCWz-PUL6J>?ji`vc{Eg(~fhd(9p#OlF~4HgUVI<8Tiwt)96#HY7)IoO~A;h?-`A_kD+=jY3iX z8=Ad7fuo5yhX#PPCLrkf92_`ZevKv(cIUS}vEO{62YF^D^RODAJpc#c?}0p?gh3a7 z_N?(X^5DtL%uG82@emL?)~fflP)N<8LStM=F&hB5!-qO=C||#sy0Q?Gg=%CHEhfh^ zU}myLKZWnFDva#Oq{Qz?86J zqbp_MD`nYtPC)$XU|>GajCZ$Vt#xHy5l;+)0fe)x0lxLNjO<-n=P?TSum)KlHCyYX*osKQf1sv-lLAU$Ja zf#9(Vc>(I#I@Um5eLxBK^!2>~nRv3KT>CoB6c*k$6r2O5I|xLOe4rFbd2KE@fX_+5 zMd%ki5)nE7NKRvGZC=}T^CILdK?o0&aBQILu^}{Lgtrz=IYB^fzU@JJdU^^R-)~b> zcZ859wx3f|DY&^EC*ZyqIb~&E$SkOg42AA{Lm~*f&^fQ$TOEA~;4R8~_l)G~Pl2h3 z!s4RrC)wE9H;*TgXJKOKu;78?RhJ;>a!29@;4>%h(9mGid4F;O#t4d^35R}igs6QC zV=i=dpdZKc@;qdHkPc8x(9+ZY1~UM4DL(Y?fPef3ge7DgDD#2dcoA@-A{rWFab2pwZk=#Hwm?ZA=v2VW zTCYV4p@tgL4)h2<6%^b6kql;IjqF_l=x9z*Jwnp>`sGwk5g%G>sB;75ZqMjw01&ZY z+~5o)LAC*~>k|iuyi|OnLiH^OC*U#KB;#@P z91?;y+gIT>qr%?~|6$?b_l1P6ruUWW?0aY;HUUmUhAL+u!U2?q;~7?t2goaELLGp? z`6j>-u^}N;|8nWVy!3{Uocu8$=-Z99tIqocn8x@(vW8p>a~r6o-JA`qQx26VBWn2Y zMa9KGy$Q5X2pssMC=EJF7=b)Ny%k_Xf`F1!zrL^El^}>3xBh+w6APGE3u|jlFopo! zmH7l25+Zb5Aqz<6-=#xJNy#mMnDaPqQ9%z;B!2Js=m-qk--29qg^cdpd|krC9)%Y|-=lfBYfF}N@>TZsV;fE<^Ag9YgZ(=7o^08p=ihLTvU zgl}~TL5=cwoC%=4m98#R%glrhK}}s&UX4GR$l%!q$NrL0aPqP@l$_?1U`FA z2;L~}xU7nblVZJF11r=#kS~&Hqi|Ny30`kOQn>ckS>HI%xmv4g>jwjbC}1XYLqeRg z_O`i!cE8VR)D()xeN$!P?0XE_axz^yGCNVOnXpp~i%WJiGP)tTj0Uy{Rv zVe^8*qCL7cnHB<4UhNs*iUWU%)nqUbS?}DtcggDk8i044=Hnf^fejD1P)d+2_wV0_ zEL-*KjL|1|8H5QOi;wPGX{RzLD_~@8Y&PH4hxv~Z@8Ibe78WK85vn4jdAc6V(0x!; zJ6P%<#~W5lCxfA0gOjFXXNL#tg$E$*or%IBwI{PIPD>f-Fc|MPHmp&V1i+1{K_2@8 zTKF97CIC|y2Avl)5+ozf&!0c@9&__IGYBG8W71GQ!O%wIwq6_K1&K5bIRQ2EzBM#J zP2~f0uW3lvCZLA!^;pXQ{uD2`|4Wj~G>YfoEprI))AyE&Fy%1Q>sM+)}Cgz)_0le`HoO_cC3vZHe znb!ekB5-U><9kz+NEj6qgn&uB3kQQ@Bteb70YHjhG{T2hVD4WdBMSn-4!XtL{}Loi zIW;x^vNE1`$(O@h@i2R}11c)`P`f@*-adwQzxz(gZ35_DYYbnf_D=- z?5H9K8u|^HidpYtW3e7y%XLeEn%D9iXm=;r;&{0=BLSfgMsd26fBg{<#cX7P{!+yK z{xR~L=&@a&>F*fj+u#Lr7tM3nyb01XtDqo`qT+lY!EYSlWnA3Eo0qO)VZCYi>De{^ z1{x~5NvFV=17VJ;*(oS=CC;~kW(T>2YMDd3JRf@Tkf4(RF%3yD=_QoMFbSYTQV;f? znNTCZvcCf}1C?qrgOO4IaZdX52@PPb4Y=A{4pb8yo8ZIfzPe85s{vP3d3@3boSU1WSa8 zB#J>QkO-Tro-BqrNF$T*9Rl8Um=eIz)qxhTt&kbSaQFtX2r&azq$nVsg^pL)A);sx z&|Q19(*ZI7`Yj;)A#+nnh(P6Vmy+`E^o$8Ohv&WO;`-DtJoNl6x&vwwGc(^CI(JG) z7!?vJW$lt^qd7nwhdO+yZ6R}^@&RMp5bTtNC0_bJsYu%cd$sQw0rsWqmoJDQL7&5` z{7x}Ugf;LRj5#eWZCUQsUx;t>+Z5L>*XiZAU+LGzRgDBJr6;625WoCuW$3UwiZ!8) zCx!}bATJ-fxe20#3_m|4IDgQQ)X`mfAh)2Ya+iIhTEiWMiJQT`r>H;2wZ&pi?H;dz%wv1x(jMk z;obf-=&-*9a&Fh*F{FwM@X83h$F+(V&!2#wI36vd!6u97}Mx+JFFyL=vInJ%F%U%eJCP*P!wQdWGm zWYn@!kH?}ThSQpd6u@_|{|o9-E3&(W)*rG+wZS{Nu+O|SH((-Ymkdz|36Vn`M;?L! z0Sn5y?Ix_(p0MMm1=YHd5i2`8v=VQTRrT4EJqaPl@$S6%(348yt6I)Ge}54G6{AeD zK_@_0$vLl7g%P?H+Fw;bGQg&H5?H3gD+B1g(!5L#Pb^y{|2zyKkkuZ5)jI6%-6~En zyALA_QWpBHfW(CJ2^}~M8&`m-!Utn)0~%Yc?xgP{JKKeds~{s`HbbZ56R1&;r9hOO zP-^c0Rbfo3oi8MCtKdTKnT)u-4p}=AK#k2cJ{8iMLTy&gl!6Ricye2 z9+y4yFD>$TVk;xXSa7Z(2~}nuL+z{@x!FWwHPyya3!4m27e-)XN)D8jsOT|7C6qXT zR^oXy7*{9QBMSZSp~xWV6dnjo5k1(OC}5<7^?-_`Nz4D#0m*qRK6{I1l+@H0W70aV zSZY2+*uz?HU$%5l;U&EaKLP>Ro3B8N1-f4l^ru7?Ucy$U@`@~ME(Lt~Li@492y`r{ zed_2oJ?NtVd0k2fs?@h2BxS7y+1R$i;zzu&;t!3{ZQwu%v6%@+Lf*YAGjAEUENw7g zgR<{SCZ?hy0a?|}3+JFT!nGfP*$Xia(i)V@BGS^*3nL=1+>%pL2(Y0=h@IF)u=FS~ zH1wt7!|tLY4%lGzm3A%bsnW8deWwbQ@7&y6TQCB;3=`}7EULO#*T-EmGf^#-fq?;3 z=K!>yN2>_$l*mQ}q-f~m^8j3to`FG5Rn-qfkCjIEe_Dsohw4Tcs2Wl9Dni2sc4a_> zia~!)G2SM{lo&$P%enSw!$X(Ha(K`UZ+D)k*RhsJbcD@jhqbXQ5@D$R9<=LM0F>71 zfBv8AXd%`+}o+F09zTA8G*=Ab63LP!d)aoJr+`BiNyFsc%qeqDi+ueB{` zRJnu9L%JCSsCIRz9A^j2(@ES|aX412t?gT^nmO`YSnhyUUvTiRH@HG|lV^LSyka7t z-G5gKqSxNa<_BkHCQXunpgZXDIC}$Y;slt)H8UBM+-)mWmV@gd0h+FCUGgVat3Ku~ z2dMR}bnTE-<7#SZLQF&1r{}7?y{y6Wa^ZA;vKa=+{^G3FjF$GYtI<5P7f^#PCwC4l zX+1G3b@?dHxOB{n@*h()d3pQ4JAKaP{f_R)&H1r}21MZcO?}swO+%#jbx7A3u7!P- zP#Vp-v6?w*QTigwB1>_=gI2zCAJd)0%et71J#&NQZCgJqKP~ObcFywhKh> z8)RgH^E{w@QN-lkSNST8`zr@R&$0&eSP6k-4Y08>+ffKN=(r` zI;`T*h=9G9eH?B;h(jgY+S*!gz~(l;9T*UR+7F13Yy?eq5LwJ+_m!6a%$&Di6 z8FN&?j~|i~Pz4iZy@Kgb0My<{CUu`469XL`PtcOkH-JlU6y2jVnF(OOyMBIq6VS*0 zu<1ebk``hTWKz$J^`hp@abAlfRYRz1iq)P$zu|GpW@yfh8Ec*oiaKliZv54+Li-k> z%)AuPxFtTvN)pm6>f*w$ocI68dlSE&x9AtYohWlV~ap+Q6=6)97S zBuP@+BbqP|}98OGXMBsBGt~uO^37hmhgfQGaNSK?oV)RdTqoOPd38a<tKlQe_GQ-p~pG(Ze?W0qs{P1`7?IWi%+tE>_ue{#5+qZqekuC;J z-%izZZqc@7i-fvQ0|ftrR0FY9fGlT%&`-dNijIC!S`C!Pb^$w8G;?k}Gz1Uu+=@%k z&m+c-D@(BU@bDNpY0}CLA7}V4v6-HGC4Wv}`oh(#PaXV`IBbmfk<+K8co`}Z#P1e~ zd9#XtoL}Y&^Z=rAtuna4A#9^(J8w_VISvlW>;jM_uzB>TQKzlz$yC`K`g{eck2s^a@ESs|;Sk#*Sm9~e z&Wz{J?}B^nFiUw`g1T$r*i5%=YcqJl1W%ZSN~-;|>4EwA8ihd zh-SaDXV1EBYjm7N@hgl8m~`CA%eMy~h`YCbFm54IpU8A@OT&INLVDDGiB9L{HsRif`WpRjRfs!yMM^R{$1dX%JmAa+F=ikqap1e*4yb^-`u_Jfeml0o6kXu z;2z7_Gq+xBDpoP*!={9s?Ni;|-C+X{K|{eaUA%Jt;)~7Hp64%KJjhS*k=LJIs5fYu z)j|AsFW$a={PykXZ?PFAA7?cc&JwkQx5-6uB`zHQDGQ~iX=kR2O9XpQc$3#umM5;? z#3UjV2WT%T$+qw9iw8<@YfEi z_nwb!g+jg-L`V3_&tHItS8k?mf10> zvAsHSwS0PLprbk%j6)%}=K7+NS5D)3mt=U25j|x*Ts9>ii?pqH-|t}yegrq*%CC#B zeY<*MZK5o@m8;>u<+}``Xr60iG#n!R>ntcx%yc^T|6{G!Q} zGn^xYtYZK-Zu)w7-?@`XXWt*y)s`P0cRwaQO_d`j*sI4+pPpoBZ2IYa`&tkyIT`Mw za^6L5YKO{r?%FkrH+yZBq<`J;%knHfB~NJX;F1JsW&QKJDMHg_heXXKOQ^_`puG29 zdiKTE=+8$4H1}Gx@vz8@qr(SYblL~Q(Lms z>4|mv%+OvxL1gUUeo|7WE9<8!DgEIPcv~-Aw|K_DKO!z)4oXZ61jzPlqYJdgWn@uV zFdw*opVUAmIXmGEuEYnGZ4b=h6W$kxnRsG3-T%p33Kh6VnD!(dab0R+!{UvbHt}JL z5}WH2Z`)N;LJoU!xkE;=xE~O1RUGUo+uqFs3Z2dTkZq+TEdne`MpRVPr=0CJHYcHi zoJxz`c}RFJsBcU@mz3Pgw|J_QN!Yj9xl=qQ_$~+vw^6S^jPOin?%liRx_f4?jtG+X zF@-*;)Tpvk?w;8;B>djJ1MTXFAtHVhSIw7>$t>mGqorBnvE1Fie_z+*Dxo{crK>dz z87YhV+*X%wkRVmDmq2aM3{l*jL&ezauUymdzbE1U{mHfBQO{0gUAuHyv36}Lj|viy z3_*?EYBmK9{NQFqKi55~=P|6f@iDpZo^Vf{a^dv?nFUJH#vC1DALQ9o^Y;(7+<5lx z@E*Q|HH3&!U0sda)$+}HzvRO6i8viH)HuhJCr>7Jj~eohCF{3gYj?GX%xL>6W7Y+x zY5D#I8T)RTXXH0N+Y>UQB%A`}s&>7<&5`u9G$Y6+Y;4PTScr7bH!Gezb!sKN;=_&0 zW4n5A;S+xWUw+%ZY6SU&&k_aE(xXR@lXW9yWxrk+)ac5_B6-vXHrEZ}fNySb1e=3?e*GoewwhsEZiqu;Qh9yW<{N8x3F>(Sr2vG>UeQ?^JU(m)r0}y# zLchJo18wuJxy$g8Bcr!vPl46~Di;aJS6UqB>Ca0vPdfnx8 zp5v2CUl(x-NCaBaCvF+H{u!El+VN0yb{S}di?^GO5iLpMN9}X( zRD72x6s@sl>c=?(RZtf;l7VQ4S?mJegB9xiMSN zzfGS#nl``L#^=DgTlntA*1RoW?%kUsICl);i#g97TDOeeUR+g2W&J4M0;HaN>A3e!&3nQP5|3q?R?jPnwvS9ffNV+&Ni9ZOM`a!7E5ixA)Xfp-zG!u;!dCw0ibH zW5ET_;fsB~77l7YJ$vwMP(SA43B(HFZpbX{H(&rRhBFlMBpQ41gA$!)!Jm1I>y~Jd zuZkV`KxSzXhI66nB6psEf=DskXlQtlW#EL&;aYmYl3>UUjf_A6t|rTfZ@`TwdAsfe ztP0bHRB(N$$tkQ(t*@JtD1~&b7VB8~Zq&;$N9)?Bx}OnMFHnxV-!^c*_^ehFd)Y^#42huCsIkp(0n-lD-dlhC!a@%#L^Vw7?Ol>S z+f2tqr4zZa4T%>TgcF0wd^$BA)sw)QD3hR>_#f}KO0eXk$L5e|$L4;g9|?_(nsChg zB*caq<#H+s*XBfJUh^Jy=V_oo;@w@X7e`-jF#@%~9FI;n<^8K$Bt}Mh<~5ev%B_n( zO=pIEZ>xVzX(LMy%PNa-YyC+QM0{6E$!z*}>5k6JE@@4Q)nBsmk`~9%e%sW*N{QiT zCk=cPcs2Xa@AZTrZ*}MNVw4s^dr5$f=0k$=8S!@M!L5o!>sKCr5r75l&1 zGMVE@mIiFGo8U&Hw`R)sk=IkYaBeOKWXhQ=Tq)o_EZB5zJb(c{soL{Y>U_{9Rs(E9 zmETgwJC$1autXUlnnX;%h6XtwPK-B1XjyaB2TdQSa*(YO9$xP0KWT#3!;Krb6I^}5 zVr*i3Cx<=w>)f!{Cp%E>Xqxe`Ztb7v=4uk%R;^maGwe0~|_*DF@D3x`g|0Inn zgH)PqI5FQsY4esX1!#=`e>i`T{j1lnF`6t?Q%jlKTd(NjN2*^T(-v03MygWCQ6(MK zDH_Audhue;s#V_K-tpvVg9?p^Fn{*karNrH*gk_oLl@e2Nq_QWBT_C86}RTmyb4_4 zr_g^XJI`NPg0C(a2$;o1d~kxuXJYZ;Mo5$Dn+-rt1ZN)dMdgU#ix+dM*a%bEZxpH= zZ)8Q{)SfVF+s2>;ZV(Q-9b{g=dL=F#?ogJ8Ir9i1Qs4#{%2_5-rQ27B z>)}K@g?b47Vpq20^T&U^->Ir&8yD3f)SFNE7sT4GyQR86HIDA_C~;Tym>V~4e6Ow+ zwFv$U$+lp5@A_TrW9#s55-aaD!r9V0(VLR`kMQu2u&~7?0Ru4PrWp$l#D(~HY3xyj z()`1YojPS*H|eX+qaj;xB5tiLW3bO?_YB@!F+W|7TRU>_T1?Wj?MA0X#*tNa&fBj z>n%m>U5X!t2@}pc7--tQ9XEdb$l=3{-c*@H>Iea!_KN63KSLwxVZu&Mdq3^j_p`0` z-MwNR&_&c@UbNxR07oCs$ZqWsP8WmKNttvx93r{zcC_s{Bw!s?01TX~eBE^aWBd2- zw|Dswc#`<c5Ib_l$uu@A) zvC#H)*-n9AzU+)!@!6M8Pcc2s;)8^C*s83Xa0)>|Ly@Jhu6uuz%z6F#;cA0DJJO#g z5W$E!4F!D@T|cieShGf*?F@Qi!!G#ZMHqw1!12$S9UT#|?vCHvw>nML2F>2EMpP~o zU}ASv+R1#5F<-;KG>-NKW^Rhfw!Ez;J>ABYipn+b5UG?#FH>{#b|FVLP}V%9sPKON z(+psTn9>zf!09msdI(CwWYNcMewO_3;m%x5TToNqPe#Vr(6DtxW-3iem#$ug1e8QT zd%YzX_PF3QK%ZujUeFb1V|E{Qa}%B}!2$7M*{X@F_UTho17awn$JQ)|Z3I$&N}HOe zb)+2*uhH`IkC1{vUH$vF3~BP;X=C%WzHZI`!J+>Tkt*vhmA#&qot=trfz1O!)6`Va z+@z*ac%CC7xGmsI;CHP6b_g+%<#_ark*PeMw<3^7@yrc9@+FR}v6-1DBxSoC9CQz;H@ZpsZcApZm z?`wT7i)i{Y!Z=>0ckhSD`Z_nZypDgQws^5HlN80@yt7h6TJbU#r`a6-6^NKQ|$txVMtyC&4+t&g@#Vb zN1cMR*0iztzH-p#-l{o)sYUk-D@Qre&hvfOOw6fE8~^NQ9Bsc~P9{pVnuZ2&>^KV< zeAkp`s;;mmc*V@GRrCHTki|X;8tbH{)`2qbX!|cqQ`6H0Q*|yZ%nd}_LIH?I>N1CP zJsW5go%I$o^wDm&Y2oHEh@MnB0bP3sp}kXwo{sc*vH4^0sdWXoizyUUM>DqWG`5@X z=Z`G85EO(R2c`D_SoA~nE*y|o$Ttx8%dZ(}hgODlUj;xv*>ZT=k zfhtaL@FlPn-N1lGDTzxeTIGO=krBT9^Sx}Ke8mAUH7yyo=a?R_k7k=c;{#Wgf2!Vf z+p_Rb)S6ZrX?rNqCuy6!EV0qj(mL+%KXCa6GUM|SnQceecNuX3kyB!X7_v zkymh>HaXXphbfj8FHSw1TSt7gRFdwVUGx3>yelIrM`0j1?&Vc=x4vuFu4BW#+|`<} zfQW)iJbL?}zI|)1c5404Yez&)`yiw6@Sz{hdoNk62N<9l3YbP6g9u6Bqtu}&fpQ9L z{9=N*=OxnAnKLuCj?xrisEW34mn<{wCUz711un#n-kyLzTSlBb*-LoQ_*95(%l3bU zG=zZU8wBls*xfz&)~(aDfMJUN;qp@hDgavH!B!DL^!Ge4j-Ia^!8q{Vt@ zhxu2{JU!;F8`-CQS@MGiIaPif{qwJzDhizxq_m!8CxMd;D+?at6Ts)%>Ml`yG^t_B zjhAoUJOWW;RJp4a`Hrq@W1EwSYe)6E4?+Jl^6FK0ngpkHQV($(T`s-J&Q59L{QV2> zZMmVM_2QEt=PdiVFW}sLk}LQh4&XmqI(H|isg zrlN~M`iNn}4#d3Q*t8p}Vx~ufD zgc%K2S6nKO8#+fps^QJ~%DSU7vQ@fPH6@YKgtQ~-W(nlvjJIzWVJ?EY!=u`2rT!0V zYinJQ$IMOx*Z(PVt6t@F({7cTb{Ye#Y$LZ&TR8mTG{`o+c}{rDzpaMdPA&vjUcTi< zf47JC-`^3OE484fkIw=sA4&@M1#>rU916^$tK$s(y~r-ugS`S`d9})?RBHHpy!`z& z;R7Vd^9YYoR7x5nGWHyJz+MoEQvX#8@Cglr+S4C~z5dhHvcb`5o=a^U_Da~IiWyE< zwHLGTkq0h6Jp(nGpt|XyEY9$%Pv%ERMsmd;0sQVgANTQ8Uo#W_ny){hf@G z2SrxhCELE(tQcLMiE}b{`|2j`OImzB|nEKueMFVl5ZevUq8D}Gc}UmH>%w|XWm97_I6 zRL>u`$^QGYt^djLwK6B3C)gE`iEy)GWn()U+vvL=IWlzIICr8q;GcNsp=>uCimJh2 z6}`s=58b?djI%QSG>lfEQuX*3xV#jJy~DkY>qd5M&+(S6CMTZy=w5=D=F5={0%r_B~yax-VBaryXW;FxG#`NR`0x1(P8r!2Uw6 zN^s~Gk=bcB?GN}eF|t23wtk?30C0AeQvhl}(G3Ek_SH3$iz{ckX^rVkRc-d}x>|={ zdcvwz!DmAO;C;rgQ?4jBM2H2Qky)1=QKjET6jB#28ZLM-*TiHbNxcB0z>}>MKBCT= za>n~v?R0&-jg;ldp z`1-0jIwt&nsg{UO0WCbnUB}BU8Y7TYOmGOrWNRW2gNf*+R0%g#UXgF1(_sjsL;mJh z?O{b^uZz9mYO+7YknWAsU|rD(F+AseR#po7Z95uZbQ$Zx$A=YTpJN)P&=6*MwublJ zgnR4HojbP|(Q{#I@f1ZT%x1+g>3jJg!qW;}hx)-M;gJiv2U&WkYI$_Y=g%KL+&e(T zD!RcgDbI~dNlTj_k=awSt@pVfcZfhdci6&J>*|?ifa!AZ*s;QvL^L>Aa3D9%*1GDG zCYDG}9YZCAz6Zc3f>NOM_ef4+xu62iM@6mh4TYDSIkR!?jx$c$ctxWzOHhzP?!thN z_Rnv@yBp1Gw||kg645)vF@{}E?<@1@c; zT3Qb<{r8^`g4#JM9ILM0on78&dnf+lLnlnITsJ?sE4QSt)Ykr$mzAU`EifL`!f}Zr ziL=d{nlxd;9I7waYcW?uy^|Q?+=i;R;0e(0T>L z4IapP3k!vy)IC~SCwsg#h%!`rP>XF+xhBV2cwwM^M)krkdln6Fl7hl)EV)==;&PWj z2%*pqm6Cim&EUqGwEb;5iGyt5)Oh3NkVZW29NoXnDHq`u;C_O;wLoJ%4z72-X3bHA z^Xs15ICkt1z(#3`vV8CBtTgW0D*}(B6Bh3O!gGG)$8=>#}6K~Mgl}{ z8yy&dIYUit19=__N##NB-P22KrjsRvvjFmES^2Qj9iNXUo`D@Nh` zxrCExdrb6(q_%uFh$$yw&l%KS6zi^g7hD)JZJIA$2~P|i6O2jZU@-(Mb{VOfjvML? zHBC)+Y&5-&%qgk=Il1_4R_@A`!sY z4blJYio9Q^xjWA|BBP|1ULfHU>f&;MLZ3$U!k@JjdLRtK2{H%m*p(MUhl%Gr!5m(c z`a*F7 z6c4l)?=nIuma*upE4_9<8^ORM{K|k$5z|-#8sZ#l;_^hdd-pCb-U_oc+B6mx6bLE? z4A6a3mf4gexR|E<&XDdRZ;&848{h@6LU^G#n{vjThQ(xJ1MtrG>{(eUNvP$yOP8jf zEq;q{W8J!E9INT2(|)R8{M<;d3Sw_TrQON<#{kp1sTdF!o`~mDl>@>glfV%3d<^p&@L{OcFOo^M`vRrawtCE$hQiHDJlO0H43Ug zVNE?o-Jr0rt#9^lnmYB7TMvUNryu)$hJT=VGXFh?fBnhMMrP~gW{TEbdV@y(`cgt0 zOkPyPy1Kdz^@+_hehn#bY4wXcbp3pp4U05IG=(}N5lJgq2oFYjR^1E?HiH^Iw8I&r zf_{Rz3YMwlj|lCs7h7(yfdn7CB(#wJg)`O(tTJ6~&Y&+`CQa@{L4>tokIu@h4$Yv6 zE)}dttv#NP-F?&W5hGTxrW}4;O&w80@t%$9bwsIrhPRK;H(I}rqGNhcqqn6oJ+C4# z@(y}kM5fo-vrnO}?6DD{ZY9(_v^zxQ$!1@SQiOqqGKj?Z7fMooep)CZG@a6nDQrce z@ilOK(5O}+;Wq&M#?g@o;f~+D0x9}Tj`r=@Gl|~gTWDnlj&;LjJc<)C>*L@WFXz+~ zJ0??ASifIL!3^Dt0G2esJibz=c=SKlUOW$(XPY{ebrO%oHT2Ayt0OqKPPHyh=O7B8 z;6)EJA`F!7U%UWx4qJ$=DF(ZYl9L0G1yMUpbL1llE(6&{IDsHDMh$$pZOQyKKTd~_{%3)+|U5Iicjq>-W>6_kXP!VO{S1IX#YYpVV_SlS)NqG6g$<>46%IZ zP|Tg-EuT1bDjC!}$S$W%r#@ecotld2rU}5FB%1Q@yAQj0*ux_Y$8i`|>`~C*jM(+JSC%0MQKve*Txq`^vIEhN=BnbVe5>2EZ9G`7 z&~3ngFq`93eKmxj;^KPX-e7uE`L4`TEQu#Alr(5Xg=v0bw>?IX(nhmj_-Ww0GUp2% z0=x+?RlUpm>kczBIZI1Rq#h_1;hl&t$Lcm_6Y>SaMy?c_^9Ww3y5falqvaei5Q$W{a;N`&@d# z@8~Q^I&pqg?s>vO`F^QmqJi$EmdlRl^BF2;^bO5O!Lv&90}}<(jFUD-u2<~ON1OEQ z#=pj{pK6<%cdP%>LLPWk?P*_@H%>|twFo)ULs3z>ee1oKwikE=?Y2{repFF|xkA)l zlRqFhVpBwA3NCE8FkQa;Xp9%_TZ4b{;;aXDbmkBIU6D+{Ro6Mc2h47&$}=u%UikHX zZjEcNMNVZC)uo=Vt4!UvGE$Ka+*_Mri!s2}|83l(qWr-_CyU-??^t zwR^^Y$9PFd%=`b}Kh*tu2ve5z%9`Bd${J6@t5Z&x^{iNbH0G_`x<#rtpFKBRZDxS^{FL$LZ{v-`5xpnJ3Hn3=KJTmI=)-Jh|)Z!?) z#Xg2=#masAeLpy4$cUw8p-X2)^g9%pUgw`zV|(mlSbD|o->#?qPdByhkpEnU`%llk z>lH5S{I^S0=yT9^-E_6n@n)Gwoul|5ndL;{!qVH#?V;;}3vbP)Rt$n!WVgcbFPb~I z6?!S<@FuB8{a20uhhzP(|FkORD#YGKx_u};@KB0W_v%%zO1rZ6f}Zoca7X+D#?#~yyPnl{w4 zeSJ+?VTN1ZzY{lJ4W{nkBxbk^&IX2sBq=Nk%`lwU&+4{xilMN2@@}BVM)+#Do+ zdKYAKSc2!^Q>oqE9zHIzBAAmTX!l&TRp%H}))=?xd*;kAZ*|Wlq4*q_&BHT7ZN(&V zL%!-5t^(nV6>fxW+sZW0H)dt&A}%eZQl#00EhOgX%?d~{bWJYg+0m`HF2Z)44}Ge? z{~Ei9%YG*K7 zPca8BbfJP9= zNNdcF46J>RUcT%x<;=K5)BGx424o}K-(48^#PUbm{O8F2-~ZQb!#&MMqO;6|y_tuF zQ(T3;{I`+_@Z2C(SHr84u&s^N}e?REofA(y4`4uUo+EP=AGmoWDPzP8ZC{?IqH$`WC8&W=C z*1`+RgIy$lpLc>TDxb;k4!N+cUb@9J^qVArPxiI;PQj)^wFJBC)%4EINc=)UXrhbdE zcawV@ZcS$4OT z?g~YLg}RFac2V#OFmpDd@v zh`&vZ5+p2!7X&Um>raRwV$2DqRcsVrU#(mU5>EIgqw6zYu1_It?gLR)IsIa<1?>8B zG%Z}_9UjE#$wRU&omt&WLX6fTY>OqO=Z3nyD!lwdQvoGF60rQnz-i_B z#s#CAU^&|HndRigNi(b(~#NHci|>5eiriCDFI~cKD3Y^2neSl!*YlCYHZZ) zLk$dG`B)6|sLY_0sWdsh98N1=VkHv_&nz1?Z>Z zGDyflw`Q=f22+lcvFZ~etj^;d~R2!eLMv!(cwGXSL1|w@V6VHU%A__0zwF{ zz$#q3JYK9eY^(&E1kTIX2&cwQsZq>GSf}m&dqN#LG%D(EU`8axqIM0#Iw_CMHuOwd z6lCIu=p_w1;~E!7kaJJ_`v-HJFcKVB4^DWUn>4UXJN&qU>}2*Iw$f)X$Q0zPtOTSO zcHVe8b%{FSphAF&Q3FV4hv(7FR>V?0D7569ASVhJTbgkTd^#q?M+*5W;1{VCR|P{M zXF8b=7%%{#@UBUVZ)i@mq$NIQuBeeNf+S5_vzZ+bVmc8v7zw8$zN!nBgH6=JjJjWO z=~dKJbvBX(qc(`M!aXBmdq~KqPH{O-0UM-nC0OL`sj*~}@U$4P^9fE0UlwTwtRU-^ z;-DF`$!|o7jUO*ZezaZO$dMNg_W1hpIM@+k3_{bpe7R$WU}aOGHf`&HzAf6F7$o-sU!rV}4aB1_ZzEetAUD8NLTM>ZnF6;=v-==keLU1u z;pH6P>yHcnm?W1waaz$HriL4(Zhqsj_O{_S7h# z8wX>_TZGDV0P6enRkQCq<$1a$0CXbQ1vwTw#h9kl6|NObj zu{LRt=pSKJ6bEzOh2?+^A=ul)>mX4QrafM6Zr*kp@#%q z0oYPelON^OSZcsnWd#Z5Ol^c0BIhj!pUR)wv}MZ?cJzCPDorvv{z}{UAM=LZV}u<$ zoH>C^wg7DEywM?HU%Iq`<{4qvg7CmjhT7J!Ah7<+7diSk^ASvVpA3T%(@uC)k8O(r z{r!s|f`pNQ$pKEAs`A>GHGf_>tKegbmoUoTzCDfaudVcOIy);p-vXkaVc31?(=cXR zajuO`OfU{47RAC@^FW0glr4~u&@|xE>VJDUP3C`N8X^pfNc3Q+#xU+ith8fb+dTr} z^5vct`?u@%@i9UHCs6XF2yB>L0m!U1Cyys3`~yS)pr{yqeKYsx>TLHNr@Xx<%$k*s zDM(GWhXf(P3Ry>Z0650>O?Acgz+H~>6OWoY2SJh1W5Ge7XX~-;+eEruAeJChQ1T>` zkfhj+h~KwMa0|6?87S9+lvHi|W{}8b@<{0Ub6m%nV9iJlaMXY9qp{1oK zdA4XqUA;rXjMzu+#bz+>+hYa|oN zLvG$=MSW%@RQzjzn<&=4*g{E61K_Ed@CZ{+jc5B)0U|3gK!JXt(;=oK`z^)!^;vyAETnUMbRXXaw~)3T52_#xii(^S%*kPJMw;KN(f_vHVpeQ6&^~LVTjw+tHWfUGlRdud zEpz8Y3#*vV3FSa+4~76oGJ?ev#U%PAB1#p_tiJ5;0H-EsP_`y2OOE1IfOr_JCQ=t;(^<;&d7q zBpRP@1a`7sPiaKJ5sW9jCgiyzRXpV)v$C1>dT4UqwSQZZq0Ngyipzh6Hhbor!gGr8 zcUHH3Chvs)M&1_!8IFRy`u8=pOg&sYxZ7iwTh_m*8J0tgT@*75*&;j&ovP=Kq=$_g z_nS>w%m*s0l=wJxe9q?)iD#F5UlLlib;p(F_yJY#%6=H>r{-JaSk~4*%5DR=6d@Aq zxQRfuUg6f4t&CTnG;^lAsUNYA=VYmraC_FOz&z!R(OEt>hEUn&{zz**mVpqI+X5j{ z1BglDmTrOK79X|DJyKH)aWP=s_4 z+J!;$&rE^+AO@JVa~Jc6-_;qg0QvXZ@ZLg9X$;Z;9q~^fIyOjM%rNCKDQH&R%zQ#Q z*ts(W!}lAd6xO5}$s{bJC&3{R(vz_G$n}XUye;TAWEo-{K)u`HdD}Za8E^95y7(DQ z;tVqFP5(vR-FT9Dz6DTy(Fm`YJI~y=HyUUOcdUY>poaYXem?Qz%~0>Au1ivXOWy(l zFYg3{IqeT4y;4MDI%!K=TYpv?WX4ys=~<4!}XJMM)_I&)@s^L86L zxOe}dFHXB1#ISJ2&?`5sJit0(R;|&(C-XfQ?@y4K@w5qKY_+WzgzvqnnTqD!72FrKKE%pq!MZHJFUlLNlg1L~K@k!ayA1QDKPBdV<-! zq1|y+CVam`%on&-a2XJuY{yGjLn3z5&U1L)e%14L3Dm@yOy%1fNVB{Jy~-UJ2>5GA zU`!$}85EQ2rykscn1Kv7{%Z41?6Dh#pK`@$(Y1Ddt_v_|Jp;XXpO%1XhLKq$g%10T zcjgO^%Ytn}b9NruU;%IhSM+h@!wYQEXWW{3IG=-890q5B{BX82RD3W0K{OU^xtNn;xN0do7qzzX3sWuUtZca(tI zBd?^_Jbvmw;}oa{HcU`vE?ozW2uwGa;8Pll>Md~Y%aZStlNt|gI632mNwlt6c0vJO zwg>d`dKl@FZ!6!dHOKkjl-8w|x~vGF4q-g+t6;|A)r35FXu~y=bQ#gAH@Yo`58S$ImmlCXBR6-?!>zoEUFAleYcim$ zmf;B)Pj3CGbgYoGlSY!=^E$k7YHDfqMya;prQCcJ9ycK=N)9RXJ~SmAxJ6W{42UH8 zQ>uStXksuGkWc2Qe>-YZ7yADwI`#(*SXZxh#uWrX0{4PBAMYeD_3-94infOvJy%?M zAe!@N>Z9bN5;K_ap1jIHLMJgpmm-6B3lj|M&i)Xsa~LKt*ilkt|1{(I!hZl8pxy*< zr;(YrErNe4CU*RIdB17Hya!=Hx`miSig6Bgh$%O@o5= zuefCMx_-B^3@1&rM^kosX^a?OI@@6R@_S@%n2uteTQRkaEZx?o86(&OnDms6iBXQc zjfPT#X5`qfe&?G?K_QrK#DHHM?vE)tKx*yy>1lz$lL+Ilm*&JwdI@X=GSABamTq)_?$y(!&cb==eC7#xi7_Gr5#xZhs)T znV+_i-bmq#pjQzN!HCtxHA6)ODl|9U^KZ}EstRzN{bYx}UZ&`2C4h0HN&W0agQ}T4 zWF9+}5S1M*oMze7R_&4$o}6!hFM)D0Gy zJ5u*Gig_sk$|y0c^Mc_)Xb}UW{WI<*y9Mn<&|DMjU$btpcp(Y z>REBXvZvs1%jbZJ$$m7AO8v6E-R+$2Wu(hBF+QOIyN+OE12#w8`O%;6-9WDxge_a1 zEo(DflfPkh&qgvO547^_CXdR`7d$rlt(IvU#V|P#ny}9Znw-$aO+%C!*S4Ku4aArU z;p_%Eu3EZQG=9QE7}EMCNww>o8bOu|v$y`)!5&?m`|o;0+KZ|tC&L&XKVc*J}K zMLFXy$v`*Cumd}btwy7$T~>%Q0s~3Kcb1b1(h8rNhxHcq%=**Q+rc*&c=_9}$5+ok zPso`PVv2ap(vclJ3@7S#k!{y<-`1TyYwVOsaS|P!TOKQ1Cf7%_9FoO_zQOYsGc%!? z>?k$Znng80e~k3lGP6+-GHUzH~8# zmL0SJwzdzX)x{-?U56XPkS__#GXHDC zLqvDm;|Q4`7F^CvG$EuIA|VP=71dDK&Gz40Z+~Gfl?CmwIY>H!*E1MxDesQ% zTx&tNCnpn=3~6Jcjs2X%(qv09n8#UlAJWUHUa=*`EHp=SjCX9oWT5FU_JSvSi&;ZD zcXmxi0bJd=)XDNGqcj}BJ}V3i(glx8%+rzU(Y`ga(KgW_Ofz^iEjI!zi6Q9146!fu z(Km{Po46S|jTh9U00i{?YmLF-VmW^xEtC|&*Q|?|Fyed3bpJ;Rk^nNWN(k0H5sz)A zr-9jFFp6&coNirnw^i3`oKm4DF%PN)IfmA>WJ>}QM_f9YX^{t2&(EIjk8^Q9#aGz- z3`I@4&(wx`3X?olw1~HnIv0sr*pI3>{Vy=*&Zvl=ivs1Vv2H?F5;Y@CNkNyij<9;n z)jCwD#NPKib4Hh?AX*NC$H5yW$!vC7dYn~c6cvFC~-tIbMkGhvz-Xt7;CT=4CFzdfh%Drr&TaPb5mEZuz%MFFdo7Ec7$|ONM@Y zGlQwykvfu$*1E9c?aj22fe!a+j1;epJG5wfIZ>710boKiqUpC#iE>josD+ZilrT|* zaFj;XIRtRYj0Yu0&&(ZlS?P|CfWl~{EmXRGF@R4Ht@uED$4WN?!TPLyzpZ(vg|rK5 z65s&^i@a8PsL9-$5}&7abK8j&S(U(wn|W0)`+LA%xIN@iP{)4d=N+E<-mVo+9w8}4 zI987>sH{D8tTg775`ngtNhr!=$zMbsrRGg=utjB z)m(;y%nD996Rab5BDIK0M(NmrZP~mQ9KL{~Af}IuZT`p*;*VmQmW)Tn`}fBRm6(lc zb#1y=%2#G4Uvp}9P z{~=aBu`bPgk!+7l|G>33UThfg=EH)wH#OnE$@IheyGPNukm|_P&GOcnJ0iE8A?97u z3ep;ruhb>HG^o|t-=5<~V_XZS5E=niU9w86pZz>rTs`Xgc-y1t#ba$-M_jqm`mW_! ztG5*|6E!pF^}|@tU|+%aA})Osq9Z1NYgASMOs?!>A5wy+dJbD?2QHzGEkG?bE_&ik zjOe#p`?jTzkvRP;m(F|`Z(k)k5vh~d=|L|(>o>an(8hE45t)f9L6jtLSChvNwMym# zo?muOM{Z;G6ok-UBR%5Gs!mSn@mqR+oLT+w)A{hy0;MkOd9x{QM!I6fW$LyEJy!{A zw_%UUph%rB;d&3^d`QvCQC|vQ5~MnZNBaPxF|?_Zp#mvTsIi8<1>?jKZxQq7vA3$5zw0WbL4LOG7h+ zccP=Sd}-_PlhPF=VWg2HOdwLIRz;APk{TSCUKlIy80cX)^d3`}g*_evdC29<>O(5x zPBUP@bJ6idvc|C|b&V)j#SMMfg-9Ht=<=z)+T2@yXpC;84t@Zxol6~=&wg&4HTE|U z9Fx{}fa@-08GI*HPGh`B_3B7khoif>EpM`Yi20s^NnR;JhSWc$dR`%;=<%w*4;ibH z%-nw}4Pk$dmFMAWjS|em6CR)?9WJQ_#%tmeKx6YqpSxM+#y_LqD>VW={6%C&$uzCGF6+4RO2mnk)(M!c;@ccZjKvfwg{& zgYy1u*+tI#)BAp1(O1_a**dHKLzTP4!;RfR7j+J+<5kWGdP7I<5GLu86&%}y9l%|x z8$g1ue9@lXW4e8^?a;eMp zIpbN}lcl&l&@7wzWj*kmkLu<3dO)w=EmrcAmD1VJ!1#9#HB%>E$8Ch!T}Zj`fuL5} z;K>cvXxd_~1achjyI03H@&l(>e7M_!t}_g9h$q6*eND8;R4O4@izJ4KKtalBoz!qr z?9!Mem$WvLa*`A%H#>fD`zOSEtS?-_vD>HJ8r0F*IQHV$9M9*Dm$U?{#LMAh;f9u9 z=#E;E$RUV%r@BJ7f#v2WP5tB;l>*X)b<-Nd7{PUz#YKk#%nl?kpF-HzsNiW=;1h7I zvN9+^@J4(_LW(_coK2N16n;ZW7>yAJ3Y9oDj0!_aA^fgY+A2PR?V)YiAFJ%8lZW(o zA9L+@W1uZ}D~KCGj?I-nl@xWws$El7!A+MRRdvcjjURvKdk-GuXxkf8B`-){ZpU0M zhUc}*+ySFb>jTs27Q;ZYoIuY}y?&|>nV6)2i;ku(1Xoe7BPlXZ#RaabtK-*JP}fIc zKv#@Lpa8}=s4SH~b%DPY)dA%=B`B=63CW8r&hZBe$I6G7LZ}dRKGAhI1eT*?IgjD7 zeyENdk%FJ4^JeO|!6SYL9Y-|1?7IxlH$ihGn_uy`~w!7w8N(&Z=n?4pm z!3%R0T@4_6*a`VK##wsLiin69NlnANIeaYYd=qtY(d>i`QY?3*j%;8$5I?2Js;F~^ zUyrI&_RZ1W>QaX$l zLh=}G8)hr*;-HdF3j@Rf{2?VHOIplzHb(2$OQc4P@>Zt=C+ee3Tm(-8p(mNYR~C$e zv#Q;l_o?MGm6RUCW@++n(Z5VMw90iKy>M)lzLEYlsX){TNJ|VzoppRks9Nv}=9TYf zNE^#JaNs~O3Mg~O1WoHVa+moCk5{jf>q82P$gKBXqWC*N_I1ZM7bQn&U+0jJv)OS< z?X15k=Cx+MitE~bHR&=VI@%=S&ZG5x4osWd{^AnTb85>~y}G@WJ>Kc^qTtKDs%>7J zd0%rgW&Z9LVGDwmXM`xOdZ*fJMeuM%#m*y#x9!;eK1^+~LUv-@q`dkv$rs_@94e-koo}3QLUxFZ$0qJJ(79>WPis~6^tg97vBfUC zsx2-F*mC2D&2)E|1P&U93i5u4{}OSJ8-?Tk^kOk%7`|^mi#p6#BZx~I*a4A3&SznnGi$-E=cWy>#7+oF ze_Nm~@m%rhv)A2z+v~XlxynqcEhk1g*>{4wMyTTT3Z*VQkIS#e9PB2sSM~f}WMTV? z7mA$^ZJ3=|-60~9>1-A0+!CUwiQkh0i4Ukhd<7Tlz*f)2!vV3w)eR7+k&H?e2hb*bY88TUlnIT%ROb zi8g@yc6}ZqI-^2LJ#t+mw{_LabnaFV@_Y@iquAd$XcQ0x%tZL+GbA8S;m(vyVxWIF zRc2E51}D|*>@DoEex_#GZ7mvSWNKu!{r$*(-p=K2+%TFwMNu=%cA7+p()C0@x{#pe zvBt7$-|iczx{mI!-+kL^1*awlqRSxF_R!u1fL3vd6wIe9gFIvalk>vW5uP`TzxmBwRG}5s;@y%6)$&3bZf~_ zD#ns-{7(nW6N*Fj$ZkDkgWi@zA3}%Lq404FU}-kFj^*jWrKX3||aReB^&B zy*Lt{O;~O?7I4Otbi!3CZcGura`>vBx2!3j_9BR)IINi`b`?QZPlhoDGJNI<_Mq2ywHt)KF?JoB4(J4>ZJ;n zF-{LC8`zFp`pi29F)19Gw!5!JTcIk6+V|~Ece)qpQ?2Mfb)uxWz|P0$-VXgg#0-)4 zx;~y7BPz?xod!TYpz|{K>j7(E@>Fw#*if#ev4uMqihS@tzk+UG4(_EHG2}@aIBUuQ( z(V?pf*dy!=csMVtxFjyGtaE4z`AHR0$zc+dQCaXFi0cI{rO8}ZtHia?ejPU%Eb8}e>_sq zJeKt`T41>MV7G3nvom+_`A()9@ewJ{$1C3&ulDk2hcB)6He{Lm*4gNDdgpS6NA>!4 zQ=5N@mkRfYf~IxOH12<8@7sNeOeVlm>Fo#YZ)6lcVQ8wbdbty|aTEFOBJZ#ebHQ3^pYT{l4JT zyBG~ZBdz|qHoyKmsF_^pt=>kpJ$9+hep5Ex|Jl>iC@Z@&IWpqM_^|pZ*CR%Cq$U*C zkrCz!P(WD(Tbs_AJ6>?vtLWDw0zcru2@Z^`ZF<>HH2Vy5Q`kCbH#Srj#Zh@o8I>6T<0J|@(MBKlBY$Bto9ZDWX8p- z`ESjhLJPzGSx8U9uXH@M=&QTALn{CQPs&z*z;8KAeBp&5AwK)&2B`&i7T+FrBuH#U zJ$a`~Gs?oMrIo!>&JpTDOovK$;m$2Oxw%~z77rB70hqs>%Nlyk-zT@!(VyV|0KrP6 zX55zRne@e}5|>%2o_{_r-CDXGJ!*FKWigfXXpA1-g|)^IB7p>$wDak?ejuhTwUD0MY1J# zku#p+faq}s0cFjMndtm$g+8y-x~eVi?qf_qZ{Sf9B7%8+oX0AqF#Lr~n>q-qx*K@1({>yqbL7X_(pxF1^*N{&WKC2a*Hx*J_rYUpAZH zO4131U21ze)9b#@rMbDexa8e}{o-eAhedc&6cw{MBTA0l2_?t8OFK7}!{x(&VV4ZW zI`Ng@7te2A%nN>(_&E!<GI8;PKp@Q^{mzvMPh6 z3}5E{2zxyS6W>8`pWJP|XEWZz`pz3V;p+KD&JYvk3%UBTjm4gQJ9h7`Kk58qxSD7y zV@#?$IFKg{j1sAkihAY5w*MPWy0I{)k;5m%iiI8E$s!_i#yX=Wvo{K&ni_077rKbGt@vvJqB|VUH+74;Wbf9C)Mt$6| z`Np;Z#9&e$*A$6??ldug|3hrvi%i?P{ScaTEyS2fZk3|y0BOg}q@WkpUv8X|#Np& zA0-<2_rtEuPM1qXn{ITx1=;kYDFkSY;ZxLP1rwhgcXA^$|7wKoL^PH2}*f)JF^&|6DDm ztIDOew3ykNW@cjQ9e-~iTu0~qea#|XZ^68z3Kr}33q>nQ2Yg-lpzpn#+kVwdBXWjs znciUtW0~OhxxD)FW!w0>)!O8=(%9p&rYrP6ICp!$M|!PAy?uuv@#(94j2J&LIxbNl z`@w22PwvqUJhd%b+>pQl9nt$8KTbSjVWX;uZc^6EtX45twW{K$WA3;it@*EjXbQsu zwDg1v#pYk8A1k~Yb!D{ucC+k5RDuHH1(&D)LkW4I)vr@o%*~tliteTkA+5uPb;BvK zBm8UAicG~_Kt0TFC3fp6+S!vNNzdyZgsmzOd;nbiKjuPRAFf1UsDa5tn}6!WQbe3#FcsvnC}K; zY&oPgZV)#Bgt%gqn}X(3Ds*d!4NzPQPxbPZ3x6>#No2N40UOpiydPlwr9Ss+!qn-< z4scV1Win~we*Ra@ybjLY#2eNcBi?h76_q3~lwJ3J%O?HIiCQ04a`|;_5sb5T|H*Zbg%qR#bclb?=9g;c`>MGtjX5Z}fD>`i$nA|U>)tnJt zb5sH`Bfh@_3g>r>p0s6{eO;p?Kk#%&hYUsjRgc35V-zk1Fb;38K$=`6|MTfC@Wmm~ zXZU(c^|54h$|9?NA*K`ybgBd`8#TC(8#E*EnBPloDXeL~k7EoKyIcQ9GQ(3UZnxRX z98U`+NzIISlcq=3aBh^N2fMAC2^FCriA|=31lsGC8}Dvyoib(05~YX%am^m%z9O1b zH>va&ut1?aChsbytJjJ@)+&0X@DuIR30eDbX`0Xf-@F+c$~=E2{Pk9CF9Ho+QWDqj z4`LPV2Z9N+cCIP;ZLhmy37*BZ z*l=rb<5I_OJ!#)jwZ=rY-7q)T9CS_K`@4{H)?W;&E@HJGc| zzdFI3dt~z6r@j|As1wbklPkk_ld|Y#*;V!bvG*oWHST@ic!t9-tUK;WLCGF+?-jqh2ivD;}VEoIrh86%au+*C~aLL#%onkw8ua z3Gy{i63>;JL0iZJqsbfmQSMWF!wRjM|w}W zpBenZfnp@_orDMGDxmz}IWX;vv|%WcVGs;Ypd?1Ht8~Y1ga-2Rq*Bjh^>`Gb_h(R- zCMJex6|v^G+GuJ+}h48>XLQiwxy7b^%Rl<^h_S!}AmuT9)$m+@I zdYS`prE9xnBO0Uc0ZSqWx>nqTQ!`;;U_c7E2fkLSG(+k?qhlpE!zvG9MPGU@YXN!K zpFckw&cyj-YWl3%NA^0@47tD(%QiaGXs3%3vWoO3U+qG;tq{;7qi^(lczB0CIu_pJo&`^)hK)1Gr* z*x9t8&N0g|y~ntb1w*@m=JTayg7+E&|L|TSYOlI(`D-&`qFX#Y0phDD7I{$x^ zf=f?;?ZnpF*magRI*=1>iB}*HrVJsvCf?V80f6!9ryKI@UN+*)+Lh#C#BK51!tpQX~VeG@|`l!QkC86}Y5_mBa#v-ow%obYm!g0sY| z1*xJOYD#GOu3`g|3MD_lZ62dgNamT@(yb(5AS5hQKZW)-0sckMI8^p1l~7m-{tC4- z6_@U%UNZ}Q*0sl_e;}gxD4|?6*sZAUWd#Bsti=!_^x9QocOGDrk5Z}a};YRg3v{#24J*dEK1)_a+BI#Ix z!>&{sylnDudjxMs)QgI+TL^W(jP7c!HMi{i5CnXUaJN@%&&%kOYtX%dZX(Lsb5MK& zOL(P)o(q0SD`r4@jBJj?R0+hyrfPe{7t0RT%h z1Xj#9s{@fFA-jJr9E*4$LR~=Pz9vs_&IAsEC|t-r4Ue}gtm;8nGa$_iW-v5*JO z)QP0`S1pi_p>>byC=*6m^UyH_f^d5t) zat=zZJ%x-1YWk+M{F_Ag78iv2M#8*U*)70{Lr=>J6=3SlpFhBE4C5$Hw{zG;K91mp zq1LpK`bg1HyD0x}7~bbp*JIXN*}doaPcCdc5D2 z3GQhNIPys6${h8uFTi#IT#er1%~WjXqyDm^OZmC3q|w0KbwVv_H?V~F4x1G0EI6?f z*C&nyY~ke#vW#Te;3VtZf1@q*;->flI$+|+1>vPtU?KuLOk!n=(!t9Uuwpp@W%{fJ z2RA9XBXBxEJ53d=U>p;NDM%pq0viOsA2>xs`J0HuP)0*w0tBsywn(K&T|NVM)p0!nH2*q3MNl1TghCdt1OM!IeTpaJHh% zQWXFUU18VbiY783>88`1EH2Z=U)*KP~sL?M595Ki+O2U zGiU&|61wuiXvq*|;&<<6Db7O7oCO7obS?w?44v8)#~+V5xw$>%a$gIQ61t3J*MLs? z)#7D96%(^TgxMzN+>&d^VSLCSW!mkmq1%;mz39 z>K0}-nnPF%K;SK$8}Wkx2mzZ-0xp+^95A6!>BT2SS!~<7m2`mqQ~H~7!%VE^bN?7r8tOi22bN{ zOv3H~-QeXZ&FT~in1iQQJD^+YweM4=*V^<=AW#B~bq2CB2xC$x?}2I|ustwF37YBc z+kG}R$!UDRVYGt~KzP>70h&1-CE_rECe8f4@ZlI@Bc!U(qa(a0tU`cHv1uWF*=^U! ziN{c>yl?TpZgM$Fh%EMj$c#w95SVG805ZBOem|xBI|DNw60=ALQkzuaAG_8E!kzah z?;v3Y=G9l{r(EM`?K`O1L8)x%HF@kl@P|iejt&Kd0tr-<`0*#~A^?z-8t22GErxGL z;Gvi;6HY(%k)ZUesHhaALDQ}NsDTHZ4Rd3c-R|DUv*aVDRjtjo-{8(h#2A3yg$NvG z*gi~qvIzj@q7X^4OTf%=i{O_5pLr7E_b5D>e>C!h*anFf|RDyuO0B`>c ziwY;4_3t6oj0zWI3%78FBiRF#yB{l>I-&v8#GXBzAVawH5VxM;|B;Q8ifkz+jBD4gL-xQE8a4Ot?~`mpPK*<= za{4&t4$!nDVh2t&Q7aBbN+=ALpqGP&xyln9X?S4J<3(&%f||e8idyRJ+Yo;tAa&B? zDrpUerN*O2kF;|+x~IWY{hP}X+D4c-B%mf_rCAp?G`ka~5;8-;*wB-OAThochoaa? zlXXpq2p`17Da9sIA*=^-3IR5g`mCW47*WR{ng@32G(_9RAn-t#4v1smw%_h$fS(@$ zzzilo#5!a6umfc?`%7wfT8P#y&^U4hEh2s{vI4ODAp8Ws7s$9+bz~z_LM>}_tSbS0 zkT=sAz(x=Z_am)TZ|EIjjsS~AO5S9c@Yy(+Fs`nkKqGHi^Hk3#d<*sr^H_&16Q<}S zX(HN$S8xmgC3kOI-42Y zAAUC~`<(%qJ0Mqa;CphNzjOOGV4grJ0VR)g6ekX(Af`bz_7_}IVeP$H;@z zCzKX&^JcwZ3u8U-lsKHs&bj>-Y-lFJoun0qrwIWb*|BmTY%;Yupt^FbxF&CHZ7sNB zJ`|I#9!{$=`&Cv}cGDY~NU*Cg!|6dakaz_cJ7@T54|GMtk`Tyk1q%>cJv2k7Az8xI z_JMpc80?2BcC|az)zo@td-Trc*UyoP;2y`^hnX!6`P^35sLbVW|NdjR_(9#(}C5kwnLB-OtgCOILxQ{hU^!1SDk z;}!C9nUh8-NH8GQj)NMdY5E8_=Vx{!$lP~?6B6&DNyjnDi1nbPimjWJ5x!BmA!2mg z%x(@*?VPIV_oyoMuq~N680gD-pFonL{sOI8(>_iH%LzZ`8SmUvpN>g$Ut= zJy;(gK||9NBwC0RPAI$GE^Q0GG<4zFdQ?Vn9Ki<%MSOr%8!Txfc6PfDPJHX@oP8Vb zU8F@}uR19j-2QNXI^vY0#}FKp-BgYO&kD^2X}lYu$yMMqH*da7S~}=|Y_E^6?&{%N zuLlA^Q`6lc2Pj5i50Rl?@hvqz2>>-p!jO#E&lfPAxNjoSJglW9(VP(vfd}l$)zV8P zS1&|?ndqs3EQ8>a1MUf^RUec$@F1ofIKm>2z%?gj*=+DVu$iEeQ@T4IgdWlqfU<;@)2_=5BR~j2;U>am6PRlv zO>jhA{lU{_SdJ1q+3oz6saj5;uLyEq6TZIL_rRO_`bU(&+0e~|Mw+ceLrS}Y*~a9U z7~DEiyp&}e*?K*XLM5RU4@^`kHcTwebk-=$;*un0C@M3-5U|6Y5F0C)7d*(#)vvRs z&ozTgJH&24!a(E%GzMwn5e*vLI;Ip_lBC2-4?D_fRN%Gozsw8#@x=wpZ~D`fkc>Cl zV<42(0Ms(#(_d3$ue3>}cnDX|8dHtt1i}y3iCq+)xbu|iVK)*5g>nQsmX{g-$QstqrqAt%J@a{yULmLM4gy;2=_7N8o{rxMC&47hY8A>bKNa%C7Y}r6}_R^1QwW_A#>b5;m`1IDl?j>3d_a4P#== z?y(?b(c7CS8Z@ls9Zp&@@EKoMbjkywMYu7bHGw`N;slVSqmjy0+$#p6G4Qj{Q;VqX zg0Mqna9KhH$CHj(KG_Sc)smk@AuSiz$*^S+RRM^u zfn&Y0E<{;y#p~OBZrc$)=^72rK8W)N<-l;9PliHXh+k1-!{Wpd3DpPm=%)Mo`)VMp z*39AU=_15YqF95C25pmavq;PKJ?1Zu7~1<1%Rj(RGB72$7EQ zKQNks-5nawXf2$%?lN*F2n7J7z}QxCUgM{{!@-LHlm$v?&kTM$a`Wm9=IPmOu!EK7 z_!VI=h%hs!e`D*T;m_-P06Hi{JYF=|LY=XmOo~1aubR^ZATd-_gj<+n&pmzm%dNU6 zLn{|P>CQNtNvl_OsYLLM^Ed=L#~#KcaYyol{vL=icmlwx3k4B_VNy{6CAGH@u22L- z3Kvc7wT*F4YHXl5l70LJ%YCrfzV0Z65?tgGi{itA8DDS}?_ypw&O@ws67^R@BO`PX z6eU922-FhAj=z6mzI{BGllCtQWAC3q*d+;j z3~-!$RA5t{-$0ZBfau=6jO5eELpaJ!IN>9NbA=-%FJJBR#?6}v0i)dH1%%+NQ<>VB zzsOQ%qjrZ$z_X~y7!}^h^41B z>U{viqwQ5b)YZ{(9HWKxkL1I)gsu;j|9Sq!$Y-YUZmSp`9)>NSBz+vjPw4m|R253g zYUs|2IU`dSPxpb_8gyx-7+;dptB8Y`a+FP4mP6yi7=`1O;RLVvtj<~AZKVC0NS@9avi7mFw_3YWXm&1WcEhmZv4C`!Mk zOI2}LU}Zt)Gs`RsYXm{jH87aHP+cHpM-0IT>M&&fLa_va0eECYF^^E))z!-i693H* zGRjOu`hD0VK7^G6{x@o%IKf+R@`iTBOWU@IIKib3WJ>WvxA?)>B;H1-P;>dg90hG_ z#KBln2&-`p;F$%MM6xV}f-E~6RX_d;13FN+K-&d^T7(-63_*tkfjLbC?`uvQ1C=Z+V}qH2G^h|I_7Z>*h1`eI zJs9c8?Pfrz9YUYAG_aRZ8$vK^vG;Qo`g4FIiG6X92z?i0ncu>r8e64+Ee#Wtqz=ed z$P<%gRmy_#hfX6YZh)&V!u_=QRB?1w*n_-) zK=Is9krx6WWG7!z`>&oxeQ}Xn<|54{&dU&H1UeyHLK;Rn@|nH?K5QDsqNxOMc^hg=)gxN5$3{S51i;MOGq_Kyr&XlM-t2#BO-P4ecG44hy^rKK+o1Yhqi zV8p?;2Fv~%wSbhKP;mr%33~+Xy%?m4vEP!WJF1qcbTpKVP;W)2p3%V4G)k`{VIAb{ zLF-xTiNgc_qNsROpYN;=3k-s!JPL{M$%StGVr08epFkZ3`wddE&?FBL?pE@+0Jo^M zGfA)01a}9%fiY>+V#8Ore}=FiEO%ikj6!EmiHm>u7D%042P58e*a3J@?7Bu^;K78# z@QVjg{y^IgdADcr@KZb&(m6qz3{8bLveBTAna7rOfCs`Q(I81oa0Ij9W1`QR*CJg9 zZ4z4HwtwA&>dlRlHP4R?zYn=Il<;87TwZ_E+Fmy-DY%(5YoLC$dLimJR?#uWzz@R- z*gE4)*C0X>4(uZ_F(0fYCqnQ~-LL@eMMnW7LloVFQA)+agzF1tDIr5428x?&kIEgw zZt`c$tL=%Xgi^;O<*=effekQjPK}0yLcRD7XWIxRTPH;FeV0VY`y`6R8fN5W^FofQv^B zfZ%BI44ZP038VglO&$9dKxMsF>>(>c_J`L2c6|V9$fo?=dnz@qx~m55MzD9!-MMO( zTtmt|kc?@^K#Wq@%;Eu>!5Igm=k7oqo8-Tc)fZ>1!E6?%p1Z>0jkD}Z-HOkBO zfj$(i5UYbdNpDAa6oumxL{pLB4WZQ zBsvDj4mm53f#CTW2n8Lc3}(KH`!>7AcLtZDq&|QqH5FLcYOF5k27YU!+(L{uckbMj z-yWfAn460OA%>Dqotq;INE7e}qnR~1*k3@Cf_WCA?3ujV-g;moA{}V(-uME5dap!K zNf-7<4guwXgQT#F3^+i+^js54ig8adOHdm=$m^eH_&)RQT@DoC!_o%XJ8?{_oJphG>cj{S0-T;l=oKyGQe$$QvHVY~h z%2=CN)x^dNy;5{w01+i}UghQY;?`muw`||u3jd#~51XXdF2Z$@qNA2J)UJU|2uAhX zBz75+hI80+P2JG>K?KhXyLM!1y@$+#C)M~O>M>x0?)zeUtAcG2a zqNBUp7zwS`dlwv8h*K?O(XgtcW6q+*A=tbVf{3Knj+(eDgkKO0pjC?%d_Ow+V61_M z-J4phe0LT(NQA>SESNO|IjAu?aFDDcHb*c3YQ`{Q8mw(gJ~snt05J((NU1~aOoSW0 zIK*r*PKZ&(DfbK?1T;F)Ek%iHHa|K-~kJ^xCB8% zK+>d8k5tHb0N4IAA3i(ddLYL%6c{(D0808w8=94G@DIiPY= zs{~=D8*3_y4GdN4cA|lTn6B0y%`)sn2iN~Xf+(VVbrfD;jdV2nrs(klM>tXA zAUO&m)vTyy&WSB!%Kvo-7z!N(&mIg(g5uZOlT8e9Ko09A?IxIU7d~}$d~IrW3W69Y z2jfUUGX`5#Wyjm;DyklEZ$#XTAkjMM31hC`yNoNn|(R| z8B*G7FHd{~#{Uypr+>1|RAbdfU1d=4BJV~`B9q?J?yiO75ALPtdcp=WPIra|^>TFA zO9;DaY8FFCq6GEt_QdMpOXxEIuG5T$O07dM4tH?23-(>FOM=t`e0Wd}MyNxQX=IJVWU6g9fWj*D=kK}^D4 zI7fmgC!mvlVh_05gp+`e$9yGT-00_WUo-R1!mfrLJ0xT^6k+laGwC8G?x}P9H>Xt% zr`JA$ABJjtmC#!boOYxGfDYLlIxSpWiCTAB6z>JL1u+Ck%iz{4|B?Yh+%to`k7t_B z>_&$gV%PI$&4A$(dKxh?V$$l!LMB-JU=3rgOoJ>aq*m6iUg&>-M`-$}^HXS6MpM3~ z*U=qzY5q2`1L~+8;UqZ>DWE|^srMrR4iG_mWLN-8PTy1YWk%XWyYJ1=keH>*k%3837KLTuk{mJq9bz;+v}DW*LhHJK@-j289S`Ap%AmoJi5DQ^oD#@X>M7 zD3LX|f3MJBHbdHr2sR_QMyP~Ujp4*GfEh-*dJi5L7jzlN_~5@!qI^#J{3y;5)f@!Q z&^t!9b~yW)!TQacH=nFW?N>}^&7LEi7zOx+)TRaTwqw&BK-oAMSV^=l4d#An)kK9|ClDq6mk|R0Mi4L;?uGMd|KY|E6WK zXF0T_(ybcZ1S*C-0{p_FZ+>3$9y(5h#{};uCeee&IsNPEg*Lzgj*lg<@1TS|u!!Be z2pMim=BrB@t01tA3T#ymB)301d?Mm2kjA=)us;_d8$;5a z2HpfnVn5PuCbP$%$~07dz8V2K9As97og(*IzY0M-06i;zf3V0KG=8i*IJU%R3B^TM z`Gl80a4NWjFtJP{O-gd!|12`4;CMQGA-h38a1P`?VYKWu8uX+_4#quSCn zA`_)a(x`+t7hEjS{DcpB*mZNh7c#3X?X3HBu>Ye{0tgPGGXw;F{{E=1g>=O?qyk`r zhk=VkI})*Xk7ES@cgAQ?Flv=sx6Dc49 zUZW9s9^v&vq%T8LT%DgQ0x>#Lj1SdPFE8AT3aeCL2p7M4wJ}uL{2p2?N?4Ex5I%fZ zNH`JSfLMTqJc!%poC=T&A-kf@+T3@yvI7AcmYqq}Aca!3_qWEj8~ziqQ2uWT)u{2K z36ngQXeq*t+IjL&b`&X6=*Hf5m(>Rg@@0pung5~(ypis8RHJ2b0POf7e?U>%ZB?~^ zd*3`{+uhEyGGbzwU!!E9!DxKTSv2cG%(!-(I+jvQj7;Lv`Idp@CU1E+{MIJD`+RMz+#t|Kk`bYJG3&y| zTgI~FU_koFDYqx868(H$|AUO=iRbRvTYu&5P@%?MIZC-} z&@n9pSA<0BHLOx?A3i=moYr=G?K{S|QrVQtLURb1+dH|V!MWtr1lEWs4`Y8ooP6ue zIKK-)U7|k#Pqw=(_gHLd79R57KB3QJztmd5Z&3d3j#)#YfZw0|cH6%$-MxR-M8)u- zHbmApEY#6P#==4M7e=4kmr<6dcjsIlVlWsO{^w|%S9ZMVutik@0n4ll(_rlUo0QG<(WTq7XbgG<*xb67t?U z4z2fw+25rDRIFCnt)10d$fn;vc;M!&x#69%=V$KqZkoSedHstk&7o(S7jQ0If5iK+ zw#lBGe~9p0U$t7&Kd2^uhjID&l&lx`mr;ETO&5-rqRrJ9Hd&hpW?(TSHkrFu|ROz|*nOkfLLjQbkC@-$T9fP6uKT8z!fUA3*pRzg!t z3v!<1{}FQ`6bgna+zynqHBs#csPyz+HV$O?3{+UAv)hBa8xJAdXE*^A12*^2@NhEn zLj)U4WcW2WM*LE=;zWW=ap9bDzHp@s-y#&MTzOhFIVs5(rxtEFs(TSGkJ*VLlVs1& z->;P;H@4j5e$D9z{3R)MHVK~8pv-tx3PmgKozs4C4V&B(EO%MxjU0u+PXiNn2FcN1 z^FInU_w9yd^%n1%ArkLbi!!YxLDL7|}1#Pd|ICp#h}HbXxN zR|j|lsFJ%XJ4A5#F)=rdg2J~P<&;~vaA7~9eT=vv%2`4|EhPfEuOSzV!qL#sP(M-| zOoOO$lNNNQ#igZ7QQ5qMHaj>^B+YRhW4U{W-(KT_H$oPFB@R!Z^3Fc+gTOb&|~9Zm78h0T~#Q77Iz>Q-;{-soT4BDUsBZbU}FP|4%hc+#Dj%KbDAA{^firAlG1N{+dWJKjt4m+=a)0i9~9yWa{DGL(s6Wu+I+PLQvf8xZ78# z1i=5yAETyu3u8cT9w@xv;NT2Yp#TWHh3tZLyiC^G*?BCO9uqSjHTd_qaCqFukT&+5 zLg%@#uu${ZF~?7bdZVJER{9j;^1*U*{WMTksWUNT1OU+8-OXlk77Da7^mzyL@kKBT zQuhuoYA*B{0JY8t5KFQYAkZO$eoj4PAZStpikOEuF#*fIfEz-#0x@V5e1ae50)U3P z4i*Rgo_ISEoNRIpQ&sE*6mUW%9mabmUo5*j@Lnr$>tqlC21rg!?0unJFW|i~qI?VH zJ^I=zr^|9*1>G9*2oi+CWh1#Qx;;aY`sc$g3G7KRF<61&TZ}82K;NNM-VZ}8+G9mt z|C(CVI58nauq9m1cLn*`Bl9lX1?vLdEfS$+{6xt6`zwzMkKV`dDB=;{z5BLOeGev3 zs#d#9aZY>}J|0y~6izea$-ef?;7oi**vwN}wa`+oCc{LeU4if6cVNAB!sHu(UDPQz zH&%AUk59+%DjD(-JGXVCl7lN+jr<%HNjqJtLpBedjbc_q8Mac0Tt`)o)~VE}ls!rD zK>w0}$ed7Xv_VdIE6Y6wn=i0th}CNRH~jtCc|j&3+@|SuxM0M|7-1t#nX{2BBw2V$ zv7IWZ!qQ8ztyF(go~K!-|NT}D<{|9gh!fN6q?TD+oU_WePGh6<`DE9n)dfU8f=_wB$~IccJ|-@=IJ%XR&?o< z$H7}M*<@7l|EFJg5O<4*SD$q4kKcZgdp2v~#}iBDZ}8_7U742`;xNt~S8h#N?3x}K z#Wndc{kEih^3C%s{=f5&qo&dmgCSHuyr%H%i!_U!G@D0V@J34s16hZ>*cBp5<#xJV zE0zA77*xkdEpwgfWsICcx5mYbcV0i)OuKPu4u68?z}(qz|5J-I}R$> z{J}BJwYSQX{WI12;KDuD#oMQ?Ue7p@Z@sbQ#>~b0_Gg{e;uZHhaCT+c^PrCI80W6i zdzV8xI)Zk}{kk$^l*MsjL+ppKLCJIpsh-N0d#oTzad3?7=gGHMmiN`q8}jxoThE7)dv~S?9Q3>I6DsuFEa+H5#hXF(S(i6YSB+Z~ z=xMd&QGnM=y-#EE`GC7C$oifVY@D;Y$52XW*>0hgxA~{9Gj>*Z6Swpb>&3NhgQ3!E zmon$9ZU}LEy!3X@%m>=*SZ5$p^!In&Ung)0v~a(#Nxn<`o z@6%REcO3f4$}M=efZu+pfKK#C!ArmNo_)@xy>~Lyo0ea1XSP*Zla!ABhzHDe8gn1;*ds&U3Kh_ZLJp!%s$( z%f-t|H-6+w&!XppXLqxeL#^M%EL#5F!#wF@mw=s9hrLqhtUZj-ZZ$6}y;!G@&ZRxl zGS32KE8E___ECPP-*|vov&wC}^JwwWAo-zrzbw@`7URUq+STZu&=f1XtC;4xF}Eid ziZp-Ue1(tL@8n`6&g^{Vp%*t=;-E0jaxOh8dt_Hc7q>y64l_Px7P*_gST{XA@0(e# zv$k1uZ;&4;h+HyVid`()zKFi2J~u6Fq_WzXS-BTUy1n%LGgggroEPimtQ@_d;q1EL zzua#A^NHJC_?BVrmCM>woQv=MU}l)AIK1X{BTcfz*CSh}zv6_FmG)2LwrfY2u4SV& zSKVh=ZI{#2zCPTYpzf8Mb=2B^NAuyVm#&+yzE++yK6aw`iiWx6Q2KPn(v=~>uSRS9 z#p(QK&WiVsSsP|>^S}SotNPYPkA7on)OGvYrn4WH_f38Zeg%KtbHhVf^C$1K6A2#| z>30mQTld!WjnY@K${tmxro;2%2iNlFRi8O&@de6s}xJ3*o;_ozE;^#hQJ`%_;I@>#AKnRwBPwQza?AUG3UZXL+Im z7Q}}JmE5-c$^A)fZ(CXcOT%jaI77WfbwGUo=F1lb8#8szb|_~%6s_m*DKlmc`CEiZ z)`hsam@S!Xs|MvOY}rQ?&H0XshGdYfyX zVOd5{+$y6P%PsfEKN7vU`0vS$>p1!P+gwvy+f=VuAV9V33!sKHjjE(MjhV>Z0Mat@FW^PRN5{6u8DFMJ@|&00OVSt_MQ z%uk!=y0<2AMH$PC1y#JX%y;SX3UJ;wzwy;{YOuiVEth^Dbx>+KGjzDXSG`F+;6SiX zPS%IS#CLCail(b6eF_NPRdwB-c``IFBjf4tc#&ekCgBJwvw&U{7;}EKY)07O8BMAV0rxyZn>3!k^q*bgkFO$r)!%scbQ z-}mxUS&KIXRG&v%Pljg&rC2TDALi!1bYaN)! zwwRJCV(*#B2M_t!KF?8NtUP0DZL75MUi!*fmAp{1C#JF-p;Cekwd|2Sn-{%KyFY^u)9%12mnSoye#no<^pWB5;lTQsgI@x#sr;5va_5)zr_CD$o_|iCA+mLGFl%_( z(zlZD{@`$0!Mru)?P1^FuE=#xT_)r_?qP6=QmtfKZmRK!v*aR0t_vQgrWw~A-|~XG zLZl5sk=3nMFJ36@$~I2>IpwjS_0Qyp{p(l7h~UI7kt9T!$=m_!(yz?1v|D-Hj77u-%R}_^>59wGm9=F{<@G5ST;J%CxvRdTM><=3^EGuUHU~teuc)cmB|-1qt<6 zAN5o?=2oa=kLXD+$&?jdwOcrASqwUbl7TkyOHHg?{Bs`PavW7RjNooinf^h`%yGbe zb;fYVN%6{wkNoRP?k5e&eh=4FtX7|zR@m40`itV}YQ4g<%@SVC5|InT_sm`Lv-QK> z`=-tH-u-pDj^niKReBstmcNMPJ0LxDICZZMUjT%97ti%NT2ZiP)O>SVwQ&9hIj_2h zb2rBFcDLKO-go=@#bS{@OC2dpUf95M*MOx1Rq@F(#R-j#Wuw8mwTw>Y;1Q}rg00ga zv-^{K&es0H8I-U!-Q&eNoW+X*gI}xEOEz|nWjmyn_RuUmc$psU&7xMiwZ)gyd$!Y6 z)a3LeblQt-gZ3=LtxUWO7OiqEN72i3KfTvBsE2=kf0C^f~2(Gp?B_A4*-7Q)ayzZK{MJz2eO@-R>Nj|WV z=_Z+;#t4y+I-tti9-r<+f4;>^-*lky9D8GN;z9TER9<1F#gc!ec!}v=$OYcp+~E^< zN_;gOIBT@pIj~F8;mT;81ywe_LHDVw;F0@uzY>Q`9i1Ng?Jcshs%>A(C1^bYs#14j z^j%|K*91reiZPgj^1<;cqIELumT9B(*=`@S>JCzPG{hJ>$9k;IZF`0?+~nMCQ;Lf( z@?B#;o&NnPcuK2GJaSu;nAbtA64hyA%x-E#{RmIJeq+bLxLX&4I#h2PM2#069TKJ( z-pn-7+_;wiP0!I+GHG9n%0;aL*=3PzJ4cny(gjn>81-I((3I&(KPBa z{o8!j_K{_G`TNIS9w}=uNlqK>2=2MFl2bEmhmBd%D<6$J*@F7g;Z}3L-wlUU_dYyX zsawXu8&BQp)IC+AvP|@mpj=Xd$402Z&jm(y}s{q41e2+fRa^iI~qD|T9pHjRG+d8fBjs| zH}ZH;h8vsF@Z)O$XCUJiSdh5Y`cntr=CJs+qYeHSHf~FnQ#bZ+DQ_g@+=-V|&?|wl z$?0IC2AOexy$lq|Bm3(m$U7w;T(NXY?tIm2A_e{N(*^sclpIb@%`A6LNwo8Be@lA5 zzxO}-+LrGd(mz#{A0zRd%v#QF$_pr}SprHcpAJ8T+P0-$P!|xBvU~W$FL=i)&|p%N`c_phJ&tcV@gl4-j48 z533|+I1K%MgmWdp*z;#?EwNT>?63terqV>j{S0-YTMmc?un>Ot8!Ua^eX#nT?Rf6@ z{dNVLAfP7quDTlF5I;kEdr^>w?JP$lyRJme7^SPq6ce)5uHGY6bHA_IlQ#YZK7XMev@pSj=eQhoU0LBP9;LdnV=mPkFC!1h3^ z(i$4O1n|Lf_pr49SZvc+6evu@HzRV!yc93=JW&lXatcWm_`;6tOS(*MCFdOfIb6Y0};~z@vy(vJfStI zaP6wNhT7U!gbYq3wuFU+#ckRYLDRkXy>Sk~e*k`n1|4A>_KY6G1$fHNH`k`*Jke`m zdT?oe;I~PCXk+-Oh{k(`*`Z2jj@BQ$lQS?2jljhlzF#PC;J`kBy<1_H+O3@o`Wm1m zz}ib$<%}A`Xhd3^EfN zXuKf7wspIGvChanL$5`kT~hq){h*{97yTWmmhqkLvoShn;SZi>ehbH-AuR zW@vNllvBhj4Rbje%{31m`sFg3EscFdHl`u9&dYz~^kxCBm!sDNzz%I~?F@LOW;R&D zm)^Ri$k)XTz%TINZv_Pf0gVHFmd()HI_O8htI#=wr~xhqfZ*ORY3HYUV6g^#gKN0w zvi(EwxtS(c$5*+Q>#A1xPW*h-hjkKBgz-Oy&7Ux>2kG}MnKfv54?BS9b zEb9~#x+#?H)_q#kuW;e6{&#)$<88K^^WToXOg$cNMVbAcG_RRYo?6M1k!_kyusDEL zVK~6LpWTHGq7v|}p5gtK{eUJx(Z#O?fFo1U;WB@dRIP|P%-j!MVpVpbgcbxZLD^b! z&085jWq)2vq0lqd;WHOqE_Dy}$Wk@7NH3$cONa|sy>fKvx%}y1h3PJ9`?S!dfp;{s zRoe>GgQ(IU4h)R9;ytSqGlv$Le%q9#Zs4(l5{xab!?s&;E4vy)h`A0ik4yQ-{q!%k zIoR9#@xV(Y)5;_lK)5>kgLp6nzkHcfqd^J4N`l4g=0$IOZ{ zf~8$pX@Fi6_LXd{)x={aifn;ASdNh2d(&fMh|6=|xIc!k&{^(P3^jHY#k;exTBq)j z&=&t_FXgp8*IH$KZjgJK39~^srhXP(_?B$iq|L8nrB*$y@FP2Pxn$V0_iJ3{F7#cn z^AFDjF}>5b9__NsE(%|Di$44F<&I3&&$?>5cB*#e6ko-k0=zHA7Tr(#^Q=><(kISY z1;Ukbe+0a^pLb%(Whoz94I5f{Mu|&LPuRCQQ}3&=%U|Qvw*hXoie^3mF9QGZbyJgp zpFlWEEAAGLOZj-Uw9k-#3uN3F;jDHW5b~ee#$ja=C{lpJR__x%xZI zu$ounV+@DDi)U+KNrJ1Z6AK@@T5(3Cq1lt0iyEWbnrT_1to^jdeNJKx2@Uo#be?q< zcKvmcQBH3<+b*PUb85fw6?4Y(LTTtWyp<#2kzPVOOc%)Zh`j)iMGbf0#mIjHY7xC$z3?D*Ul$@cl{d3% zyNy2`-g=?6<*a1JK%?c_l*}Mm^-=+q1uak41qdCRKn$Hp{8k!u+#aPuEdv|I@6B%bU1o>@OWlZ`1=q|Z(cPNhjW_1^byP!>A8Rmcg092GO#Q5TTi zxaHJcrf$LtJTJX6Z58~+p;z+a#Xex}Zv$nCy$8@bam=jZ<&u5XW~t=3L+FLMr@vA= zw(4s~T}a-m~6kNeb@$&DJubkAmx{X#@8g zN_!2&{UZXhC1c)VZZ|RHz8xhpn5$*@elP%!?(o=kX^Zzp#4KPCmVwlZ*lz$a(@lj) z2;7ROs;a{M&=sQKIZh?5*4XH6Iw~T`!G~}Hp`M~2cuP2&`S1azBHWFy?6CQrIa3uQ zr!1!6*5RoXH~V$(iQ`KxIA<5~Zir;(6;PLRmaKoj?dLgMe8;v(s4JWo z-uql+vDJa3U+j;Im0E}XNt+QR9`Z?&wQWj8_0H6=Z7SH|;naB0Y-#}bKlIj{5o>!r z>Khx|L4=Qv;WN?%8xNTxWDAa{kYwun%QI>v9VLm&moJA^adGhYgjUSQFRbQUYRq9-B(fc# zln|=C8MJk<2*n|Rk=vNyv}@8OFk8t5ks{2YLjn5hW;MC=Slqg-Yq4}r$*eVx1d~3` zJpPBs&$AZ<@9OFLx`F$BqDjU2hrD}!3Rkg00bo4ciCXgKrfxI_w4u61#M9E7Q#NME-eG0{B$fH#Wlur6s10${e zig7UZY~b*RdF(;C%f2OW^4yB*2@xzV2e*K!?OdpOg(Q5cS8cbq9-S%_k>(q#? zy6A*2!U}>6{8(%75UgtP2KTM2CSBpSI((E$$ZlV7V5yl6?q|+SaF&s?>p|@R#>uTv z@V+8pg^KpQhq*>2w;-s!r8w#_1o7N5Gc$#xrCIsf?A-Q&5HM@?Ymqqrc;&rHZHZ)I z=|ER${B5m5q#qHNcXZs1TZ4+O=2s^$H=UsErse2iVNhDUi#xR@VmSG z*^C)XNTH^|40;n0yaSVvv~(ciD^MT8-UL&oQgnHQG2qr2A^1M%c7GI$LY3ji%TwhR z^8xE6jMkvhpy1)*VF?vSd{WfmE%zfMe}y8FVzk;=TMm}76vQ&xX;fNX-fuFlBRAsX z<6(ZX9!0W4%)bzv_*iD__~#0DKbWgXqDt)4+q4Je32SKGLD}LIl$1=(%@4tf5CVaI zJRm;?-M(EkGU7<8Aka=fg(6LW!mp&RfeCbLbTXZAB#_w`$--PE^$c)hGayimSs4hG zkOxnnN@Fp@rdLI^Kx5!1n8TI zLypbZ*AC9P7a^S$sTD`Y1N`#F233A8Rc-BH$OE=OZxmuV?MrwkKf>JmDO8?dQ48Xd z^cb4}-fm=IuzsDaJF~48N=7K=hDg})L5l65jm^N4s7YJBXYRukeSWTF%Z5xyAVoz) zY{I~2z_bVop#4yTQsWDNaNX8ejf66=b{}IrVeb|R{g%k1rWwtXZlZV5n7IO@IO>x- zlrJF8@R)p}ot+V$1WbvdVQv7GJJgJ@`ZSv+>+$| z@h1Gf?Tt4-9Sa(T<5mb8p&Ox2mM6?-abzi~sK64l4LtDZ*w{ljVW3Er?7<$#b8Wp& zio@Sud2{+)#L*BbA7@1^vfQSJTh<7KXqv%Ts`yUoEhG#jyA zec2Co>@u^gigD6)#Wc$vsx^mUlQrfuXv1GG_r&YxhVcYp_as{)`cijKRS&{%K@gfE6e4Df&h9>S_cU%%Qy5;LFdB9O{#xU2NzGx590 z@-?g0G*QpsR6*!Oc<`7`5MZU*(4+&=iDcbNWcPGKol2_j#Zo8qPjKx*yLJV@FQ*0O zc3n5u{{3N|_ElVgL%Fy<@=@SpLk9W~3YY`XPJrybxzfNQ>92>O>Ogid(peIB=++^Y zRE|yO*w)s6e-KA)O=jQ_f+Ywm^rttH3C;iVF6zc%w702c%jRB0trmWQ@okgF#?x?y0t2VQD29b}R_pEvaLz>^Li|kA zZV|PyJP#~jMSXpJh-&)tKtLy> z3pzds22m8pB>7UGAq;I{b9XfOL}fAfojo{Xu&f)bjUj|a%G%>BMlxiO>ZarmL#f@7 ztaIniVNK&vHx8|WAzOfgQR>acs;U6V?kAfLR-6{KL2CdX#fq#Lhl+0Jx;bX4S~!=; zcCB58=dKo8MRt9i9gS_GlLj><)=q#PSkmf|-J};=rJnE!&01F&v5cp$ECtV;1{jP-q{LUyZL7a@dr=C<(aOrgfFr-=GfHic6ru z18AVXL?8;?G9vJSz_zoMrN3Q3Ac1ShAHq!{5H2ghsV%lq;_n;fuy`1!z`#6;R^vmP z^f1QVAIh>5=maDhJ#)u$2O%Y9gmya)_YOK;Y5)F0iOC_+UENfQsqARv6a5{5syhOS zr{pPo88SDrJL43~VGY%hvlYWgCMEnIaq|@o4NuFX!`MDQb(8Lze(5OUX0lh z&P(MP^$zPCev!MnaU<`Z;2MqeJJ&v~TCwk!3!jEk>XvbJeOj}rbfkKYe$>|=A3=T} znMyn_n%Z9pnv#mIpW2!+oSJ)2!IT(ujLJ#iXe; zlR8l}71bydXL15t0c}y9X7NZpmOYd}h#Kgfryf<6z;o+T{<-JIobCt>UL9UkP!^8 z?s|D2=tODLwlu+F$z zYOLzK1RuBVz*afk>c~@^nhmB=zCgwR4`DC$?ncvB-%5tNjKYSofa*D#2$K#3Al zc9hmP`dWjOY2 z3{t!V1szyP?OFfJdwW+DX#iBYN+`asY9K^AT425X*&Cmk+m2vkaU7fqiAqk?H)EXly8<8<*->j*aTwsd<_a(2{|t$7hEU~K>!`qF+AGxg9xb7L?rWgcYXcp z$fNMj>w9~M3n;UoJ)t zcgR;ksfZ}s!Y&IbABzQPE(X@4j-H@ALCbFK-Wh~N3D70PM#OaFG8r{ZS-w|YCh@#OXtr*{pAFd zm7$#Pjba0YcVP=y_vYi;yKt~Uzz!wV47!YR)Y9P6p|@Jlwu2Ow;n}mk`Ii@w;N=Z0 z1x@d8&ix6t^CfwC9LSzA?bLr~WawOn8W8=-t zTar&n>(O+#i9N=*+H)^ss{i@M1ke1B#I68?zI(O%z4*@t1vUqb3gZe&UNa#;I{(<10ihzJvkr<%5B{G zHoY~laSFsV3i9)Xf$ta|F;Kz7=0dJtKLg!^kb;!}nMeSB5H?mGSO7EuGH8JA#3UpJ zV8$TcpIAZzhFuT{32ofeauvKXF=tnXwFwwlO-(HkvdM7zfYBNaNHkFtog#kNwsWoI zV64=DwKYfeE`D@$G}<@-MX)ETeT4%Susz4^$`EVgXW)@!Rj+y?{eD@fN;mZ7Ut8`U zlU{ii02y2`BqhW^Isl^8F)mSLgk;JWNbCYv-vmHC2wA`&`HO!5IzyBi9^`+3G#ofK z1L~lj-ykf0p4&dRG+!nCl8j2iQ+T7;{o8ks6t|0J( z;`IkrC@^`^sVEj;icss=J}~hhkqCCOd4>grT%PL_!?uv_N-i#T>f)`P3cLZ`LvStN zY-a5CN#nzRt(_Yw{vgpW_xJlx=L^up+5m#y0#;B8)S491QL@1N6pdD6#Gj)R z5{%(|fvrbbBakj$)hif4NwfkC{^?L^B3+f}2mlf|RaCj?K$aRT2Rk31B*gg7VKgad+KeM`$=piG32+7PJg*rmIs!Ek|J29*}b%0f_P0|G~kB8QJ4!HYV#g9dLqb_KuZTd zP|U7uSh4N#JzssfyZE37!Sk-watzGKgacob5!>|UK4V`QxGw03hl8S8(GLQG!&cmB zkKRqfq3;RA08&k0(*t@`IB7ivSA2xepM7T8wg?wBz3B{uxPl3}2cAIG2D%}r(*(jU zu%__jB|!02iEjNz$4#JVr>D7d2Qmw26E=vhK8(M8YtR4sRsy&{l(G+W#sdCjGx1C6U2ohIxN!xJ7L3kk@`AdeUpz9(d>Oe=?E@M)Qr zW-I&w@D5TEk$)Y`$=}6?Morm~Ippr(!t?u}wH?<28N^1A+e9g_bI8D_qp%GmvKwKV zVq_$^Z4RaG1u0jMk)#Msb5S2RoqHTh19bYZn{6O{4HE6!F|`vnK#~|mRt!-sB$Y2f zL<>a8u!hi^4_Fd(dO%(}Z{jJzFGr#(mGsM{{64n0uT|@S!T;&14#eGMpz{ZnDNqmw z5su<_Va+q3*Iv&d16`da78Y3-cP4Ci4?%tc3V86a44j-IfzBFC7VLd+Z@`JIrlBzj zX*@{4Cz9NiP3wYALw%@zf!G*6devG50r~~VVWIX5=y8sYj$%!0OQr~?D1efu#Srev z!ao9oD4XjZOf*vGn>v%E5j&aY*R~1U=BtLWu^g9hRs~h z53r~p5)AD5W2?DNqn?q!FfPbqfqGlM>#h~B8E=EF$K4^e_{0L8HN7=Z3F?L)F?XkfdO^!Or7mGfr-b;1ULOv4;}DoUpY zK+simAN=Z^iz%$-30ygFW7kgf zUwv`9>IkzxAR7bM_NHy_3~&oA*Cy!!V_5Ol@+UNFY7R>z-vxG z;tjAg^poBMR|s9nb*VYWuo*#eN;2h|kFdVT)svUPN%zy0zQDtGs?hxiRLLk%q{Re2 zy_g)}!`-N69xGb-z0Pg&nWhX=8i-0ZxR-p7yPC!eh3lw2g zRr@d!;(qzjqtzdLMgPE&pa1ifes&#!lHi568GCrdgJ8+4CL<_>kv6C^M4HKgQ?PP5 zaZEM+>9WHlQ=Xf~)=XV>1^faQ2!>!-Vadw0p6Kg8gWU?A1qeR%SoVU)K4>wqb8^-b z>AHQct2+<>3YB|n=QD7bQ+8z#5rV0+EYo3%`XF}~R$>joKUPYCaB~LKbrCWef(c{A zLnmQX5H9*wVb+4=7`!WfPyh)(2DV&SA2W&5+~&DWfcWiTOM!~~p3~Ae=rD+W=)fZ1 zppQTwu!scr22lcxJSF~&XuaW7T9tqj4@v_Y?in^2P))1p>Uy>+Ui)RRti%2n`96a_ z0Z?^+#6be}EHALe$`w;WAhiVHLj8>0>qlu&Gp}a}k};1-eVDFf02bP=Oqz!*$0^jW zabyQPW1v1U3Zeik1H1x|wr*;jXdz#hE+RTUeipQJQS{{y0NX;BIJlycnLUtc1EJlp zrdN;BO31?C3)Iy=FK&ajDAHC&cdU789Uc+jg|V$lg>?9xrY8l6s?i12GjtK?D9?j~ zgTe(6!RdJHt?tK2U+m%lwR6%|mwONo0BI|9eb+#z0k}xiSOu6;5a;3!0_0Rw#0d}u z_87QbM&u_@c>o}ahC<+X@#7cW{`Q1JDgP5enb(*VfezdLXB-be&J!p`WPN@8T4F$W zFx`=o;sY2L?j0^J?)fxCdq!+c5W1W(F*hG-=LJR4PoUEaSPK;?0Xkx16XuEo)fYfk zN5hVBsZfhYg~4N>@C}U$dG>RUQ1UN!fRnJur;s`D@sL=63KH1h(X|=0E)Ix!VX(;$ zqE%Gpz|u0i6>bg=W|ACYq3o7@83~d_3#*u@IrxIS!GhgomDOljyfPE{tkh|0H|Rh z_v)G98%OZ_FM&P|Bx^z02#^cp))|>`V8cORi3XpbnREM>`C?A^-wpQ?rO6Ix{Pj%< z;NM3b6m(-yTLQNTfEMNjBSBXNaw8dSQYqH}t&XF_(csB)k0QJQ25T{?I)d!YXOMjY zElW6HAOiu18)~;whK5tVd2Mi#QNACgrWF0|-As1L=wzeN2`i8(YdU#*QiHrUgp(lP z3?Vh}L{|=8fa%58Agf|`xMK;vi!f06-d9rJ&)wblp70pYhSl z3pEP8F`wn1A4SpkVsR1%inT)90<15v^+Ra)HsN^5Sd{v;T?!P z%i%#n(GRj+5QKmcPH^V>J1@4}6=C)d4*7N5`yR;1U;+B2K=la$CQ`iP9NJh5DCz6m zCaTPJ1QKIY(42!hBLxHSFkmDpzqnW&vP3BTbySdE7}~cu1H9qmkepA3r3Od%?A)ac z?b(FJg#|hY3a3{+Pw&Cb2mA+|;myzw1bVBrYH&2*q|6DO@_HaC1M9z_zVt}}%Dq4( z%MO&jL8S-OkRZSSU&Q0Gbr%YN*-lH$QO(2E?s0IhHhXImW~zs2pj!Z~0O377$`Du9 z>z-^70V0M}-OS8m*d%K%Rb=;^f}kR5nQ;iT&vR{_C+v{KKUxpzTU8=%9py+U4+Mq4)w(zAxAjRB4itndjEEmkTL@ zASDk9p(u+6;)D>3=fg3DTY&fqsK>$Dz;{AO3vmHN@Xjk^3crj=wZQ*I$>I>8qXyV^ zE5>Hv7(<590%4V>23f+&{n=*y8dD$uD>MIT0{{VlfIJ`>un~}hu;v9%tVb-qz53wR7r1_q21S`q*ux(r zLcuA4CJLNH5hw{2H4E}%FNX#P%QFxHgt`S8yaH&$l7uYIa>-aKB<|plL2daf#PZOp zHaq(Sn}Yud?hX&@xVATmrf zRk(`}z8jJg_Ost(EIpt8+V9T${~HB9grz|M5qJ}%*oulQhi;EPDX<0n1({2*C8E@M z698hVu3m13i~E)4lco^?>^!##K`ty4AYyCHz#g;P(7gtVB`?5tKr#o6NLx?Y$(5fW zR-gT)V@ASe-<4I!3#u{rf|L)8G-@$P2qvIHx^;xVC^bk)E$uX}`+|dj@DT7KtT<%x zY|6CSib|SiKu_o@=0zyF(nK}GjoVa=z;Ooz4&&L)A-nLgAZK;tAp{wUtehMJ;){?X z%k2wrAVp>=l>x1WC;7y*}U!M1v0oFsw!9XSeo&dm^ zyz=sZmM5SWeeIVP0|P_a}G1ey_QF9GB`r>45vjw?t-trbw~Rab)YN1*mujg9^i8 z;}tYLSFmp1=Qd?EJ)Jr%xB?+}2ig`gp{P0qS`8r-gj!OMkv?;WT;#nmGpqC^*Jb`Vu0sH=dNNidX8 zfJz>QPp8YYec)e~1Z8u7{s;~2K0WG#goHvFnmy`-FyLQ5QT{V^bf4Zxols1kLjct) za$+?|A$84+JDPC)c@%|eDL3z-OK;h>~Q}>4tDFmH9OJ&|6h8` z+QrLKGh4;h(-X-{f$b-cFXoN+N4axNv50Tb)59YK6a!j}VV^_c3|cl@I6*hS*3Rx4 zbirahLPy=}uUCz1ce#mYl};n5po1nG2;(X%L(T6)Mg{_b*qb_lwn`p8zH5KB8m%pB z;4On2K)ARBfJBz6s;aHKJ2^8mbKItLe4`$Vzg5ZMysLU-y-U@}itQiQcEbbyg4(_# z)`~y`zTU~9XPuB`OBu2!XiVTL9mz-m4H{U71|CeQ$r&ma}~c%&%Ua;To{&n~>5 zZ}z(Wm~#24gToIH%Q%4IJic#|R$mWjfhB>qn>MuDMNRQQlFLrJr2E6qQ}_3?`S~B4 zsQi!}p@Sbc$$9NWLGJyV5t~LOA`ftS8tC$VgkI+m#oj+#(0;vnwk$t;6neEXA?jHK zhiFG80X-l+@U|j=x}4nH&Be3R+ zz&I3Y^x~+=#s9vd6_*rn)=u5V`d}*9`1vtNZZ{*_$m-FKi*%t4QA>4h(YcGyk?HRklLentRYQuc6x=`cPMdQD&encX5 zp}7>2-LP*WrovmK&j0t0(D1cr3EiiK&wRi0STPxV_BS0GhSy4$_n{lW(@L)DGJzZW(DlmwZgqRpIF^V8wdMmxGOdUu?#NwcG z{hwE~b-dEO?*S)wQ|??_7Fvj_-*pFdY8h$i2XCOBnF1ZScUT9{!IKcBrh3ReaWXxf z47KOm4?$s43`@o!jev0HsH?=Lo$TKb;#PGE%H3}a zqg?3RqKG8Z-*%XAgu$OjO&zitSE z?kSLSNKr_Su>t)S^>svLo#MaiTT>V}FW2PoF|hX8NgO(7^cBwe>*|q(x1MCuJTV>V z^zT(3GD{CIc__B;yQV(&(U3*1@j)U1hDBB77kSIuRAOZ@-$@-Y4-Sq}a|8TS1X^;q zdc^Ppzn}2ZY>1~_bbD7hZ*JS&xib?|%=8q!+Uz*k;p1lQGq(6{9lVa&$Du6K0_Vlq z8We_KyFE;bsYZKNfRB0*nwNLw86NRo*o}Ogo}aH!?7oV`ylxoY@+6QCc6m1B>ZhIK zJLe0bh4)QU@-0*7Q@?#I3h(^=S`(h{75#WqAUwkXhna1KFC7hompeSJf7=r$5u)<27SP4$v(+0H1q_oyXavYBX49#xGO4W0&Ariekh?)XeEskG*1|h9Ejt=RcKVbg zwlp#`i}j^6NwwDJi#(~Oa{G0rzOXQC7%A{m zsKQ^l;*|N`saRX*k~Mis48#h$uu8U_=)!trTHa~WXFY0!<7q9S^m0efx6C)>xEv@|Yk&S8lIpPvH*= z`Z>+6ymjA{kWs79`FDZ5+NF3uhV>Hh+~YmUxcCa@=TGi8=DKW%n2woAFf$-ekrBD6 z!tR4}^FmM03dH&UxPQ1SqfMEvLib^oFpb(r^h%y52@$q)^?Aj zZr>f@-~(~xkQC)W3(NGUTa$Kku5NS$JgBqC)-W=cE%-1O$(s>^yN}xS_B~HsO{h;Ob5H+9vFbKjeecHBS9zb#UkDa| zYB+Z0`8`^NK#&p^?g($l7tiO|QNtUGsei;4qm*Knu@N1Wtl$hyLJ^mYzr~QW2|6|8 zF%C?N98Ss#iyz-g7oVJD+EZ`{3;4=}p@+Hc|Gg0%-n%$W0+q zxApUTL8N)1M0 zV7(;`G@u0U8&STDEu?y}sBtFZbtzEa>6MI^N9G$UC991Xuz`=CmAzS~fcAqPU`0ci{=dI~F zldl$fm#Iw>UW83i-6p~h4d!!uoGGQKv1#R5GnTM{c*ARo|Y~w%dl-Y8AaZzCw2xAiSRN;_M`$1#=M(H-W9ujpSlc#n);A7HqNH zl>)@=_weNLR6lZ>_50ygj!>?JrU{Ia(~TN4v-E3pm}AbRQjd~jJG-)sXIe7tGA~f# zU8ub$awe_ugO6a3AVFu<$MVz97ya~BTB>9GpI#Js6Y{=VbW_E%CX|mqmEW7IUJ!?6 zp7c?$FBt{q!~UHB<-N8bUw-%AxjAh?!wa?2dN$$j8;J$ugAkq^)2af3ehcK)#kIE! zl6B*WG50%oLsebQiDUQ*U#5A!GVi5`7f|ANj>6IbVHeokyX1HveDjw`Wogo_y3_e0 zD&a#&aRSPKLQwInQ?VuF)9ghC@z0-u{s5?LzyG+`weO~fgccSx3um7{x7^RqsmnI+ zWPeL?#kqic{6mxf`g1CBMGGlYjjq^ZWv-U_?JK>H@G;XGg&zg`l}1iJ9n^~LA~9YL z5K zKV?gAMlfP;r;uEDdp#JDokl!+dZ>6IpS51Vo}d^%V|Qm|$i1+!UxBE37NUi70AJnbnV5)M>g?Ci8*Z|B9B0ED<55IzXk^*_nzr-jVz)4b1Qs_x6i~Rc`wFPH%q>`Cydg2f ztYY^y^rl+H_C4BrD{=L@$5V4#PM`WVJw6U;gs-mSezJuRWz8`sSJA_k96Jo-2)dO; zT76mybKAWF9E{3g@=wUl_tbeVer_c~<5TPY2iIiWwK@c^vtDN$W8$a}I1=KSvMm+5 zMXJc(p`c|-rBCm>iMu@I%YATGX9a6bxE*~ZPLt|A=ZF2UDpsAvD~KXyy>INpijVCR zCk(VEL+AouXje-7b)Nm1{->+!T6ZuBF(Yy&SJ2}YUc4{cG8k+2tH0_=r8T<3{sC7u zVS7JqQ_#Z%QP`oc>TFx|V#2L%-?rA(`;2kJO&Wg6l<`ofMnaY6(K{2ybMEnr3_FXk zX?IlAjI_k&l{UawPmKq38om^rEHC-%|8CekXRYWU zMEbpPRU$V*60G@{Dq_9dm-J?DV*S#vLW_6`!`(N=PfR|yvr@dq!P0y~cu1e^Be}0i zO{&_Q(UMzo^O%Y<*vCk#o`{4zzJF3KJ{seLDhY`c$LS&>e%DV#knGApOu^R%{EB8q zJ6o|ar8@I-as+++-FgL_ikM#J7mAsDQzbThkv#I_aG-Ciuzo+*^OjLe7aLSQ-@w9S zXm9QKb?og158t(oP-A|rY{bVVni&SkunKapB z3p2mo?vBl5&Weh@fWyhl-!)-xz%kuz@<1~twOiXG6yr=~H+j1N`MQm_h@nCk=Q07a z!Al%J;gj@{xt3?I4#H=3EuWU94Zbf=-qT8TudON6m(tkm!VcxWbXE()Op+t}acoBN zY?62|WsTnlDw^k21Cv$pb87V-Mg7snKi-Cv<~B^0#F1x&)tjeF>zr(+S`V(drL`5j z6O4SGR$Rf~Io+;i_WDzxCB<9LrLQLOrn}Bh?~W5`2UKKOtYqZL-ETyE?U;CFi&Nci zvVQ5Fw#FbJpld3G{62Ep%9_>Sf=jPDWB=I#v+yA|l#|n7&>6<)*!cM|@6&`OLCp}_Mc*_{V_E-HgXW4#X;!jSic5L- zhcK{(1GogK5y4ZN!Kvx~jc!}r(e@~u7;MZdq#oQW3WSG7-b;!)tXqp_Cen1BtsCv@ zMeG=!IxU(0QYGX~q(@)n$oniFnlC79Hra~VU%#at*M)~IQh*y1P3?~c;||ZI9!trjM26eErOtlHSJc*7OWT zg5~v=m5mfCW078E{$V})PoHTDObkTSrEQ-Ew}cz>u;XrYARaXMjAa)hvg%W*omsEz zPTt*7*7$xAn<(|>=mHK8C&{=^>zC<(*8~1@eC~o|82ehmEvpu`dluO+*&}?WtdyFl z#D9q8Rp_2`S{tmvB{NGWW@$7Q3?z4?S#`V7X1&T`292#2yCGp~E+(R5|o z>t|j=c7(2Uk(Zjl9g>k>d8igp#T(e^V{ATq!hIKC-w09EIM*YX@FE+L+%elh7+31P zKBy2v9U&iHZ}H?@t!_NS+U)%r^N}+xrkAqua~xTtbMe(&oIN$ZDah%*-3#K*V63D%cbgG?B^TD4Xi#U*x}!KaC7|>|?Y@7gxJdD1j-K1G zFSLWWRBz*-T9q_g=mk(cG49}GAbY~}$|_QKEZG?G;f@|1M|dL#vd5xJBUPSZOobLK z)@+JZ0!9~=vABpJ$(4bKt|+ZbHId;4uHuS>n)~si+J^Ema)q)aByR{^^J6z&XxI*E z&%{O+&d%tF=n5Jbae;+Ew03>KolB#}w=qtsua-1l@nA-_4Hd+WsJEC`v4k@}Qt4OD zAsTsaaQJkFJ|eVhvHO1vbvbN^WAir^;V@gBrBMhe9!r^1ITkX(mVM z;zoE|YNYEX1-U7Q6Ydhj7M*_=jQBV@asQpzca8l)JKOsBxAnz^^{zM1__>~|uI^Hg zcCoWfNU>%vOD(H@Rgx{Lp)B74()`J&L_lOP0k}l#F?5Dh;#^#UAF&;k<+P4yZ-5@bLKe z#zN-xUl!%m6OTD+|zX)`*`g)p=ENLaIw54yW;PqZ7S2CY@WlFNU(Ib z0AYV4(Us=Cx!HckWi$Y2;ROfJB+10eGW|`(xN^SMt9q)?O1zF4avJ1zkR{2G3ZT4q zkB|+IxU-l#VEm}=+j0z%_$%AM#`zfRXMu+Oo3*nuwlZP{%hd&=vxbYCd56c!ghS07 z$OUX3KC-m|lE8+t6N>A^?}GOnLqmy3RxcV{+;L|Lw#_wn%I19k#wm-T;$Wyq z7FOpmoBdxzL&X(>Jp4N4Ny)6$QQSh?LTP0`5X%_CD%idBDdqd*mXhe9gQ&^)+Wi{5 zwny16K|;e58)GZ#6{YH(zWLE#0`*v|{d=8x9BoH7n`09AKPj1uZ(2K*tJMsNoEa0E zTd#Er?Y-6lQ1oeE{}NNl*Ls4GqA%ys6fGLfo_|zx6y#`ENqv}uTbR(NmhrGGU?<(5 zRmk9BYTV@qjU24z%Z3qU^;~x>#9me%6r(>F2ng49Q|TJ5zsDILx<+05$#}0h>_WBY zpyuY={dN`t;lXEDRy#`(=ZP;|xpa-2=K>4xGXrM-*gEkc&mXUrO5&0Ti2_MV4F(po z(*=hX(WO=sr#X)K{`x~AZ3ZnI{9JZQ!q8JY*_yo1J?9S5lAg`CkDt4#lV{C9w-H(< zouJ_+6O!_^G^!1qL11)CD^BEw;I6X^BU$!d0~gVyy#eQhzKbF{TUZLEu0jLj`p zKIVU9q}@4gc2KAKX>hqJd+feklhz%Hc#=6oVTIXu+_+7@d=8@{Q&uLhw6yG$_xT&*{_`|dv#OOgzeY-_u3NR3tYjAM zAvmUow<1J+nVC)L^I65H*xtUwY`Sz&f}RV+BaIg=2J;D5w=Y#XP>lzlczu|nlDH#W zZC_sV?lG6Ai)&C@w_3Q?Uq3up&tVYsTe?5)X&}eaNcUM-YgRb);xf;@fmYvxg`YU* zp&e*rl`nF6`sU?ay;#xV=Y=00hhQl7km4iO#CV@I%!{m|IOS8QXctgJk3$IH}L8L+6h}?bo*}`ptiCi(J z9NWV8yy<(rOi_MuZ<|-os|64wY>JbNwAKOS>38EN+2~OF`nvj6g&D&r>1Bi`e==*% zo^*tav)l3|9j=mvXJ;v_ZTGu|3`%=rD;PfEbEh1*4Jy~os)R(ZV;MT1d)((yS&CKh zjS=9U?6S>#94i?qrt|vqwtF|JJe~4ujP&-7ms!meNz;jb?ZLb}hF0#efPK9yD`Rep z*9LWS)fsXYH-fDp@uP##rz+HiPA?!sfEJoXyO8EQ28`zNF9{p}vyl^AbWLnN%H~io z33lpc-57hvy(KMH**?+bhi!T)m-C3eOdeWh`>O|(YGZN$ZmF<~6={JyW%k)S4I&{pe#4OkA9a&9 z$~7MI@L7E>4w~K8=iww|o6+?cK7cs7Ls-;OSW!2BgS{%YW0ii;siR80(p@TsMqi}O z;e~M`TaxO#LOrjf>$ML?uNK_M`|MX(^xV}90LO*OF3L3*-TU@2v->+!)P@8we3Mv9IrHH6s2Q&4!b!u9r&e0>=hIz=)^aC zF%)r2RC7;ie2t+Ekt&QL*)ZT<1|$Bsgf9!7hsL0Wycw-R&U=3BmXugHo=3ImXWMix z^RSZHIWZ)26|Fdu{(2;PN*b}Q)yiL%t_>s0a`x{OZ=)|Tr-r{TFOP)^^BRy*K+y6X zX53_%qNd`;j%LdfWdE^7zwrZ;v4l!jrEs*Hj{VCgb=(fSkjT4vl2RbV!v;gIul5n$l3#Yy1*`Cad#+)0kvhg`0%&NN=Yz#QY_td^7Q10%PxEj=>A7zq# zxcWs_aA)7tuT284KG97iy+MP+L^n!7sg5Jy6}urWWvI^*ovufXDP;(@pF^wmP$%y6 zD#b330B$~`<+{xWaIfO@5BLI-KYWxnTX;i}Mw9q-kVS)~JE~Qi65ZHp<8w031o~7L zt*WhccFWki%^%F7N9E0F{5d9SGwR3XU2|2hy{?SeB&rm!R~S{8lbuEOzTSK{Ln!mG z#V6f=_oDDh#^urvW;0YrQ{GfU_f{dyHInU})U43z%nQaVl>4+K&Jkt0Gsh5u<6Fs& z|LP^J&H~Qet^n^~u7N%DWmTQG)TMUGNee91VA z7eCQQH(|7%RIp1q+@f6Y873;Yug$4ooBB@ZWsofF%8L%PW-(FeO0b#7<&zC};! z1-E=?Y5n$WCNn&QR#4M?J%W*G?67}oX4ESg3x}I;DYNjS^ba4&*}u*c(TI#LfH$aU z9B6vgaIM9flV@1lumDjhXiD!CVfrY0!%f)9i}yMd(^U0!Au|_*Ix!e2Prr-4B@O*3 zYpM{UVInfD0@tu-SI}&)Ehx0O^>WDONZw^zCpH7?)=52g z+qilw2O}y{RsPXQHZ2x1a_s$eb;@7^)iR%Z+!6*{UO6vO0XBah!Byhg9Javl3On<@ zs^>?_YHv#J=+{=;1(p=VmiP%b2qfqWO-`8k6$jBg(LD*#B*E?;aCjtM*-5&l6(#E| zY^(dOs$FO{VLg!OtcP3g)SgM*@(f{5lT>JeU0|j_(7tbhB9(w5F6Zs~m$&G(oA21V zM${i0avie^TJKys`VlnSq2hO-l-DM9QGC;v`|#{ZS?%0cxtdnCz{suoCRX(NLy`KI z?E5ux@478oH0qWojh??&uT9T;#mfBtc9BcM->4)DS?|2iLhOawEVlJY$D{=Pm-<1{ z0lGk=fKqB4MjD_Gko{_S*xk}d1~iPohn+R9$~TS#}j>Re(hxhs2@4llrZ+2IOxZD7?I z$feCkvskp406Y_XfuTs%cu^!I=!HeI+EFuC)S;OQIxlIrmgROc@|)(cu=eNPi;Dck zWm|6Oh)6SkoZM0PCYeu5BcdQ0>HWNGs1le(3q4g$;e{AfoD_8E)k7$6B4eFbwB z`{Geg(^*Ks#wrH9$R_?Sp%u+m*+aRuE?T!!IQ#NRTyIeIG+EK@*ui8PwlkENen&kI zLmR>yil71#=c^$0U11Ze)WXJdU(HM3Be(oo%gtbH#rO#y3*F#z^ zo~x4ks*N2-a=PfINm%X5MxZXKld8!|)~6paAqabxIypVrGBIrhR=oR-$rCA~UMw%F z)MbYF+_iE44vXHkka&${EsuVON$9bqPXjQT;|vY*FuObnGwm}#Sd^HVi7`}M2FxI) zR#womIl+_3Oj_36Qk_cLLTulxT>$$w@3qC&YVGFo(2r&O-|p+hRReYth93T21I5W2 zdiOJ7qxGRFWTm--vzu64jHXpNxlOzz8qFN1`no|2FD6?)ziMsrpQ=5R^ekDK%nQb` zZ8M4OkZIp0<*I7Eu?V-*BZlmai|VDv4QP4T@HYxJDTFNj0w9RGZ(3jdw%%PmuH@pm z(d!JpJ4BR=#pr>|B|LS7lhY=3yRxpOB>C7|b66U*B$D`{-S>voO<&tFtxy)|sg})_ zELenK`k)?oIEAl3hU({f+0RNi%eb|+RXmm^maK4#idpaH^aDQ z?`^J`D~=B}13kIzBNninVJ!Efl%9$M3NN$6 ze)lc>DT?neAd;QDAKWsxXt^NOw`(5w%Z?>Uk~XUpCo^)aiRu?yMAKFA}KiHaF|@UXCb4lWv?3CQdLCAd7H#I_{*@y=X2YH1JTW`qXwL7A@h^yXN#`1w6e8) z$Yx4U;7x z=OzPA5fVXjgXbQF_-wU`!?Fxs6B{lstSV79JE?PW&b|X_fUiC={_S2DB^m0;c>}$J zu}hRS!n4*G7_cGkaCv?^^6+D41xV$@QrVkel+Fh_Bu0Tpmj4A1^W0WU9kt+Yd zLc7BIeVLNByu4R#mmBUD8xsI>I#oPCTMZ9cQ)#PUQ&RJ?E zsjcyBv?#G$G!H4Ph^t!`YTaT&VVX~CJ2AoMSD4u@#l>h(FjPPo_AJTGCxTK7VL^K<|yb(V9 zXdQ(mXj0V*e+@^ zY3j8E#l*8qC<+Gbq2j#dz}$GA5br6T5+h@v08Pxw3Q}WmDu_dQ(qX%eeH0(3l8Vac zQfii|g9Cn}Eli7WSJ3`z;e`DcYjE_r?uL{_HbnXbTl|=(~|zooeWF5$Y`A z#*nnJJv<1SI>427!R-?4C$VD{TjG0XUL|&M^4EDo=h|@V2aWiqs`}Pz?Jg#I@AZgxF>e>YXGm3ftM!TG9D)k7Mf}#> z4sxLFSHaDnbiV7=h0&$HPuGW#uQ$4(e&>0+fCD=Hc!1_|>~M4!HF=^>e6}7tG5r1e z_s?OLv;c^yeB2>n(hTE}Fptxhy-eC8zF-7*T9+;U_mcmD*s)+4{gr9mmkxX_K!{KV1Q+|` z-Z+Ta7-IyC>O{YNTSr_AgIl?k8|X0VuhZXHY)Rq1B@fhVv_KtJ&b0i;+5hJ{=nXMD zII*Y3wgSBV{$MSv z<{*0vLsV1F6wnWgF|^vB=M7A!i@ou2wm3Nr;?^iAxNgdEdi=D&jdGOXPoD}uXfjDG zQtEhHUTou&a-Y__GK=Bo1=MBFcj0&I&@vau=UB5VO#puEsmN$Q5yxV$Eln{QoE-mngRP+xB`p+u*(-+{L8z;?{ zAHjVJ^Dp# zedCONAtfzapaUVQcj(va1~MUbLPZ}@IDc5OSt!^jFmb}y#Zq^9>gL-&y8ZlbOSYdb zkrjQ|Hd(K>@f=WMkMt~JL2hriZVn$|qOAp3?T+cJ)KqCmDGweQnxwbnaydLMTbZ7Wx-B$jddWY zlX9c~r#G8-#!NnhuxD)5Io#c2P`C6HInv<~SRpf8Oihf3Em(?p3M2=y2VelexIPCFnnV4o_W(m-{Z4 zP&eq~wuMic^!?kxThnH?{h{OeQYYS$l=xA~l>3B->+0C4F!YhHk<2>pQ2Zu4^wOq& zdZ%iq{dU{P!W_Z=ZgQ$A@xfur0QEOsGuNKQi(Yq!1AngwPx;$m>6MpDZLKN>!XB;L zQjbQsZISP2=K@onyrp?@4(YqC7suB zk)@4epVxJ^2w@Y!j8T(Hq)@)+q_ZBTm3G1#{KJd?aJaNTng+U@^* zN}QIa%64KKWxYq$qoYN3ZdY$S-P5_3>{)MfDqBb?&?)31r!sl)0)f`vuuL)B>|PpW z|GOLb)6!j5hnMsFLXK>jeXX|D;SYCtkr!@kGq~>F`?k73q8Rdk-uOokABlOD5ZZm2 z(SKBC$fRCSBr63SFAds>FVZe9V~r`M?ag7Xm^WKIscG=^q@P{X~ii?Vraf_OmE^kXc&ELPT zd_*CBn7h>!)a!Z{t&lBb3P!+ub8~a`V^!QE|2btdf15NLvZg+)h#~Xc{+8edkd3#Tej>sORDZYJpsHscrYOweAjQb)na{I)* zW%Fnb2Te|ud3VB=%+ERAuX%<|E4PouTJHBUnWQ<1$*r%h?XWUC?>q@@4oDXX}5 zNNl!he-e*Yqouuqv@gZc6+X1KwtlVfq3xf2%Yv(TbUKu!tE{}VdkEx$ z6qJ;Awx7M==t(@eYE3P?gjSXDuob_M=n27Xmb%p18R|@n3c#m6etKsR#S> z(-R(qXj$fDJsi=AjW^Dc^Uz+tI&qx(`Iu&L=I6(sRP6xCW62Qe8+yzLaBy(E65R@`1} z?Q$yj2>awdp-Cn^SZAUV5E}$>%QFsnG<_V-0oEp z19oR*%;vtEDmWT@_Qu0CgFOFm1-H`^f%t@ksr`N4YPbDsFkEZ%d)@SW8@_$oYKr6- zFpPS+Dswn=aXxP8j;fcZKhD|io~pjS?d|0*P1NEwH%pOW`yt%ifUpuzOdiuNhpe;c zT$%TQx3&B+U}E_upQ=r_x`|sTfewyZc#D>7rVZz~X3G|mkO{-Vz+`pyH2Zv9Qc|+FziAx)__{9A1GVw@ zlai5Ps%2@@ZSD&v(R0MlA0DFFXxbxD3kr|bsX`m}F~ZsT<&52RcnDwqG4AXv;vOlo zukQ5?_Vs?dUTUqu?I6=N?lIyVo70mfSOWVAxH#cbm6Qn#?grcqFd)RK{<(4B zk6o)JOo=!*>DKuJnchVKu9$xT!AdK5ys%< z;T${NYXivh>xIX*J#HsjE#Rb{W-7Zpc3z`iM)9#pS6^<^2FEAZvm;C;` z8p>1>wUDm`B}vaGdCh!vrYN2t8Xmbl;w(*QKwl`ilI?hhK@Tf|gj3 zm;XUqxI<<~rDUauQ*hz1WUgwEjMI|>S)3r%BGKsgqeZ(brC7>cRS|O~t(>TMIgh4s zsCRq0X+X&LE#A(YO%Wqq5$VB%q3~m>)M?#&T-~B4Qo-XVYn=(6^Vb^MSS^vuq{0c@uUNhJN-&S(P?s_D z?`3pPqcfGX)CciCMn3dM%6cKC`UU5dPKNRJ?a5X(hEl3CH81UU0gWU@ZyWA3W%>VG zSx+fL!}*h&VR@P%c#84$OJ+0frtdXt{P#WUbynNFoOtmS|1 Date: Tue, 26 Nov 2024 14:34:45 +0530 Subject: [PATCH 22/36] Minor: updated docs link in the application (#18787) * Minor: updated docs link in the application * fixed link --- .../resources/ui/src/constants/docs.constants.ts | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/openmetadata-ui/src/main/resources/ui/src/constants/docs.constants.ts b/openmetadata-ui/src/main/resources/ui/src/constants/docs.constants.ts index f47ae92f3ce9..00dffb74cead 100644 --- a/openmetadata-ui/src/main/resources/ui/src/constants/docs.constants.ts +++ b/openmetadata-ui/src/main/resources/ui/src/constants/docs.constants.ts @@ -16,9 +16,6 @@ export const OMD_REPOSITORY_LINK = 'https://star-us.open-metadata.org/'; export const WORKFLOWS_PROFILER_DOCS = 'https://docs.open-metadata.org/how-to-guides/data-quality-observability/profiler/workflow'; -export const DATA_QUALITY_DOCS = - 'https://docs.open-metadata.org/connectors/ingestion/workflows/data-quality'; - export const GLOSSARIES_DOCS = 'https://docs.open-metadata.org/main-concepts/metadata-standard/schemas/entity/data/glossary'; @@ -40,7 +37,7 @@ export const WEBHOOK_DOCS = 'https://docs.open-metadata.org/developers/webhooks'; export const ADD_CUSTOM_PROPERTIES_DOCS = - 'https://docs.open-metadata.org/how-to-guides/how-to-add-custom-property-to-an-entity'; + 'https://docs.open-metadata.org/latest/how-to-guides/guide-for-data-users/custom'; export const POLICY_DOCS = 'https://docs.open-metadata.org/main-concepts/metadata-standard/schemas/entity/policies/policy'; @@ -75,10 +72,11 @@ export const ALERTS_DOCS = export const TAGS_DOCS = 'https://docs.open-metadata.org/main-concepts/metadata-standard/schemas/api/tags'; -export const AIRFLOW_DOCS = 'https://docs.open-metadata.org/deployment/airflow'; +export const AIRFLOW_DOCS = + 'https://docs.open-metadata.org/latest/deployment/ingestion/external/airflow'; export const CUSTOM_LOGO_DOCS = - 'https://docs.open-metadata.org/how-to-guides/how-to-add-custom-logo'; + 'https://docs.open-metadata.org/latest/how-to-guides/admin-guide/how-to-add-custom-logo'; export const FOLLOW_DATA_ASSET = 'https://docs.open-metadata.org/how-to-guides/guide-for-data-users/follow-data-asset'; @@ -90,7 +88,7 @@ export const DATA_INSIGHT_GUIDE_DOCS = 'https://docs.open-metadata.org/how-to-guides/data-insights'; export const DATA_QUALITY_PROFILER_DOCS = - 'https://docs.open-metadata.org/how-to-guides/data-quality-profiler'; + 'https://docs.open-metadata.org/latest/how-to-guides/data-quality-observability'; export const CUSTOM_PROPERTIES_DOCS = 'https://docs.open-metadata.org/how-to-guides/guide-for-data-users/custom'; From 10a7f4ea6c562579e1ac98d7553c67d4dede0a1e Mon Sep 17 00:00:00 2001 From: Keshav Mohta <68001229+keshavmohta09@users.noreply.github.com> Date: Tue, 26 Nov 2024 14:42:43 +0530 Subject: [PATCH 23/36] Fixes #15543: Implemented ElasticSearch Index Template Ingestion (#18686) --- .../source/search/elasticsearch/metadata.py | 53 +++++++++++++++++++ .../ingestion/source/search/search_service.py | 45 +++++++++++++++- .../service/jdbi3/SearchIndexRepository.java | 1 + .../searchindex/SearchIndexResource.java | 15 +++--- .../search/indexes/SearchEntityIndex.java | 1 + .../en/search_entity_index_mapping.json | 5 +- .../jp/search_entity_index_mapping.json | 5 +- .../zh/search_entity_index_mapping.json | 5 +- .../schema/api/data/createSearchIndex.json | 5 ++ .../json/schema/entity/data/searchIndex.json | 36 +++++++++---- .../searchServiceMetadataPipeline.json | 6 +++ .../en-US/Search/workflows/metadata.md | 11 ++++ 12 files changed, 169 insertions(+), 19 deletions(-) diff --git a/ingestion/src/metadata/ingestion/source/search/elasticsearch/metadata.py b/ingestion/src/metadata/ingestion/source/search/elasticsearch/metadata.py index 191662523b75..1d2214656c42 100644 --- a/ingestion/src/metadata/ingestion/source/search/elasticsearch/metadata.py +++ b/ingestion/src/metadata/ingestion/source/search/elasticsearch/metadata.py @@ -12,6 +12,7 @@ Elasticsearch source to extract metadata """ import shutil +import traceback from pathlib import Path from typing import Any, Iterable, Optional @@ -21,6 +22,7 @@ CreateSearchIndexRequest, ) from metadata.generated.schema.entity.data.searchIndex import ( + IndexType, SearchIndex, SearchIndexSampleData, ) @@ -103,6 +105,7 @@ def yield_search_index( fields=parse_es_index_mapping( search_index_details.get(index_name, {}).get("mappings") ), + indexType=IndexType.Index, ) yield Either(right=search_index_request) self.register_record(search_index_request=search_index_request) @@ -143,6 +146,56 @@ def yield_search_index_sample_data( ) ) + def get_search_index_template_list(self) -> Iterable[dict]: + """ + Get List of all search index template + """ + yield from self.client.indices.get_index_template().get("index_templates", []) + + def get_search_index_template_name( + self, search_index_template_details: dict + ) -> Optional[str]: + """ + Get Search Index Template Name + """ + return search_index_template_details and search_index_template_details["name"] + + def yield_search_index_template( + self, search_index_template_details: Any + ) -> Iterable[Either[CreateSearchIndexRequest]]: + """ + Method to Get Search Index Template Entity + """ + try: + if self.source_config.includeIndexTemplate: + index_name = self.get_search_index_template_name( + search_index_template_details + ) + index_template = search_index_template_details["index_template"] + if index_name: + search_index_template_request = CreateSearchIndexRequest( + name=EntityName(index_name), + displayName=index_name, + searchIndexSettings=index_template.get("template", {}).get( + "settings", {} + ), + service=FullyQualifiedEntityName( + self.context.get().search_service + ), + fields=parse_es_index_mapping( + index_template.get("template", {}).get("mappings") + ), + indexType=IndexType.IndexTemplate, + description=index_template.get("_meta", {}).get("description"), + ) + yield Either(right=search_index_template_request) + self.register_record( + search_index_request=search_index_template_request + ) + except Exception as exc: + logger.debug(traceback.format_exc()) + logger.error(f"Could not include index templates due to {exc}") + def close(self): try: if Path(self.service_connection.sslConfig.certificates.stagingDir).exists(): diff --git a/ingestion/src/metadata/ingestion/source/search/search_service.py b/ingestion/src/metadata/ingestion/source/search/search_service.py index 6bf2eaadd374..8ef0400748a9 100644 --- a/ingestion/src/metadata/ingestion/source/search/search_service.py +++ b/ingestion/src/metadata/ingestion/source/search/search_service.py @@ -83,7 +83,7 @@ class SearchServiceTopology(ServiceTopology): cache_entities=True, ), ], - children=["search_index"], + children=["search_index", "search_index_template"], post_process=["mark_search_indexes_as_deleted"], ) search_index: Annotated[ @@ -107,6 +107,21 @@ class SearchServiceTopology(ServiceTopology): ], ) + search_index_template: Annotated[ + TopologyNode, Field(description="Search Index Template Processing Node") + ] = TopologyNode( + producer="get_search_index_template", + stages=[ + NodeStage( + type_=SearchIndex, + context="search_index_template", + processor="yield_search_index_template", + consumer=["search_service"], + use_cache=True, + ) + ], + ) + class SearchServiceSource(TopologyRunnerMixin, Source, ABC): """ @@ -178,6 +193,34 @@ def get_search_index(self) -> Any: continue yield index_details + def yield_search_index_template( + self, search_index_template_details: Any + ) -> Iterable[Either[CreateSearchIndexRequest]]: + """Method to Get Search Index Templates""" + + def get_search_index_template_list(self) -> Optional[List[Any]]: + """Get list of all search index templates""" + + def get_search_index_template_name(self, search_index_template_details: Any) -> str: + """Get Search Index Template Name""" + + def get_search_index_template(self) -> Any: + if self.source_config.includeIndexTemplate: + for index_template_details in self.get_search_index_template_list(): + if search_index_template_name := self.get_search_index_template_name( + index_template_details + ): + if filter_by_search_index( + self.source_config.searchIndexFilterPattern, + search_index_template_name, + ): + self.status.filter( + search_index_template_name, + "Search Index Template Filtered Out", + ) + continue + yield index_template_details + def yield_create_request_search_service( self, config: WorkflowSource ) -> Iterable[Either[CreateSearchServiceRequest]]: diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/SearchIndexRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/SearchIndexRepository.java index e20a5d37c247..4bc116133421 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/SearchIndexRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/SearchIndexRepository.java @@ -389,6 +389,7 @@ public void entitySpecificUpdate() { original.getSearchIndexSettings(), updated.getSearchIndexSettings()); recordChange("sourceHash", original.getSourceHash(), updated.getSourceHash()); + recordChange("indexType", original.getIndexType(), updated.getIndexType()); } private void updateSearchIndexFields( diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/resources/searchindex/SearchIndexResource.java b/openmetadata-service/src/main/java/org/openmetadata/service/resources/searchindex/SearchIndexResource.java index 628e34670d85..24831f21253e 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/resources/searchindex/SearchIndexResource.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/resources/searchindex/SearchIndexResource.java @@ -628,11 +628,14 @@ public Response restoreSearchIndex( } private SearchIndex getSearchIndex(CreateSearchIndex create, String user) { - return repository - .copy(new SearchIndex(), create, user) - .withService(getEntityReference(Entity.SEARCH_SERVICE, create.getService())) - .withFields(create.getFields()) - .withSearchIndexSettings(create.getSearchIndexSettings()) - .withSourceHash(create.getSourceHash()); + SearchIndex searchIndex = + repository + .copy(new SearchIndex(), create, user) + .withService(getEntityReference(Entity.SEARCH_SERVICE, create.getService())) + .withFields(create.getFields()) + .withSearchIndexSettings(create.getSearchIndexSettings()) + .withSourceHash(create.getSourceHash()) + .withIndexType(create.getIndexType()); + return searchIndex; } } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/SearchEntityIndex.java b/openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/SearchEntityIndex.java index 2ebe64d612a9..a04ebee91a0f 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/SearchEntityIndex.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/search/indexes/SearchEntityIndex.java @@ -31,6 +31,7 @@ public Map buildSearchIndexDocInternal(Map doc) doc.put("tags", parseTags.getTags()); doc.put("tier", parseTags.getTierTag()); doc.put("service", getEntityWithDisplayName(searchIndex.getService())); + doc.put("indexType", searchIndex.getIndexType()); doc.put("lineage", SearchIndex.getLineageData(searchIndex.getEntityReference())); return doc; } diff --git a/openmetadata-service/src/main/resources/elasticsearch/en/search_entity_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/en/search_entity_index_mapping.json index 5a27ac7576d8..f18800d7d4a7 100644 --- a/openmetadata-service/src/main/resources/elasticsearch/en/search_entity_index_mapping.json +++ b/openmetadata-service/src/main/resources/elasticsearch/en/search_entity_index_mapping.json @@ -494,7 +494,10 @@ "format": "strict_date_optional_time||epoch_millis" } } - } + }, + "indexType": { + "type": "text" + } } } } diff --git a/openmetadata-service/src/main/resources/elasticsearch/jp/search_entity_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/jp/search_entity_index_mapping.json index 2ce8ef3d282a..3d05a850134c 100644 --- a/openmetadata-service/src/main/resources/elasticsearch/jp/search_entity_index_mapping.json +++ b/openmetadata-service/src/main/resources/elasticsearch/jp/search_entity_index_mapping.json @@ -491,7 +491,10 @@ "format": "strict_date_optional_time||epoch_millis" } } - } + }, + "indexType": { + "type": "text" + } } } } diff --git a/openmetadata-service/src/main/resources/elasticsearch/zh/search_entity_index_mapping.json b/openmetadata-service/src/main/resources/elasticsearch/zh/search_entity_index_mapping.json index 2b188430a0b8..385a51afbf0a 100644 --- a/openmetadata-service/src/main/resources/elasticsearch/zh/search_entity_index_mapping.json +++ b/openmetadata-service/src/main/resources/elasticsearch/zh/search_entity_index_mapping.json @@ -482,7 +482,10 @@ "format": "strict_date_optional_time||epoch_millis" } } - } + }, + "indexType": { + "type": "text" + } } } } diff --git a/openmetadata-spec/src/main/resources/json/schema/api/data/createSearchIndex.json b/openmetadata-spec/src/main/resources/json/schema/api/data/createSearchIndex.json index 18774ddd6900..7f5e3bb735d4 100644 --- a/openmetadata-spec/src/main/resources/json/schema/api/data/createSearchIndex.json +++ b/openmetadata-spec/src/main/resources/json/schema/api/data/createSearchIndex.json @@ -74,6 +74,11 @@ "type": "string", "minLength": 1, "maxLength": 32 + }, + "indexType": { + "description": "Whether the entity is index or index template.", + "$ref": "../../entity/data/searchIndex.json#/properties/indexType", + "default": "Index" } }, "required": ["name", "service", "fields"], diff --git a/openmetadata-spec/src/main/resources/json/schema/entity/data/searchIndex.json b/openmetadata-spec/src/main/resources/json/schema/entity/data/searchIndex.json index f664210f2b5b..23063fe3a64c 100644 --- a/openmetadata-spec/src/main/resources/json/schema/entity/data/searchIndex.json +++ b/openmetadata-spec/src/main/resources/json/schema/entity/data/searchIndex.json @@ -6,14 +6,18 @@ "description": "A `SearchIndex` is a index mapping definition in ElasticSearch or OpenSearch", "type": "object", "javaType": "org.openmetadata.schema.entity.data.SearchIndex", - "javaInterfaces": ["org.openmetadata.schema.EntityInterface"], + "javaInterfaces": [ + "org.openmetadata.schema.EntityInterface" + ], "definitions": { "searchIndexSettings": { "javaType": "org.openmetadata.schema.type.searchindex.SearchIndexSettings", "description": "Contains key/value pair of SearchIndex Settings.", "type": "object", "additionalProperties": { - ".{1,}": { "type": "string" } + ".{1,}": { + "type": "string" + } } }, "searchIndexSampleData": { @@ -92,7 +96,9 @@ "searchIndexField": { "type": "object", "javaType": "org.openmetadata.schema.type.SearchIndexField", - "javaInterfaces": ["org.openmetadata.schema.FieldInterface"], + "javaInterfaces": [ + "org.openmetadata.schema.FieldInterface" + ], "description": "This schema defines the type for a field in a searchIndex.", "properties": { "name": { @@ -232,15 +238,15 @@ "description": "Entity extension data with custom attributes added to the entity.", "$ref": "../../type/basic.json#/definitions/entityExtension" }, - "domain" : { + "domain": { "description": "Domain the SearchIndex belongs to. When not set, the SearchIndex inherits the domain from the messaging service it belongs to.", "$ref": "../../type/entityReference.json" }, - "dataProducts" : { + "dataProducts": { "description": "List of data products this entity is part of.", - "$ref" : "../../type/entityReferenceList.json" + "$ref": "../../type/entityReferenceList.json" }, - "votes" : { + "votes": { "description": "Votes on the entity.", "$ref": "../../type/votes.json" }, @@ -256,8 +262,20 @@ "type": "string", "minLength": 1, "maxLength": 32 + }, + "indexType": { + "description": "Whether the entity is index or index template.", + "type": "string", + "javaType": "org.openmetadata.schema.entity.type.SearchIndexType", + "enum": ["Index", "IndexTemplate"], + "default": "Index" } }, - "required": ["id", "name", "service", "fields"], + "required": [ + "id", + "name", + "service", + "fields" + ], "additionalProperties": false -} +} \ No newline at end of file diff --git a/openmetadata-spec/src/main/resources/json/schema/metadataIngestion/searchServiceMetadataPipeline.json b/openmetadata-spec/src/main/resources/json/schema/metadataIngestion/searchServiceMetadataPipeline.json index 0b1b52ad9a15..01e0f88f3666 100644 --- a/openmetadata-spec/src/main/resources/json/schema/metadataIngestion/searchServiceMetadataPipeline.json +++ b/openmetadata-spec/src/main/resources/json/schema/metadataIngestion/searchServiceMetadataPipeline.json @@ -50,6 +50,12 @@ "description": "Set the 'Override Metadata' toggle to control whether to override the existing metadata in the OpenMetadata server with the metadata fetched from the source. If the toggle is set to true, the metadata fetched from the source will override the existing metadata in the OpenMetadata server. If the toggle is set to false, the metadata fetched from the source will not override the existing metadata in the OpenMetadata server. This is applicable for fields like description, tags, owner and displayName", "type": "boolean", "default": false + }, + "includeIndexTemplate":{ + "title": "Include Index Template", + "description": "Enable the 'Include Index Template' toggle to manage the ingestion of index template data.", + "type": "boolean", + "default": false } }, "additionalProperties": false diff --git a/openmetadata-ui/src/main/resources/ui/public/locales/en-US/Search/workflows/metadata.md b/openmetadata-ui/src/main/resources/ui/public/locales/en-US/Search/workflows/metadata.md index 5c492a34b285..dba0a78378a6 100644 --- a/openmetadata-ui/src/main/resources/ui/public/locales/en-US/Search/workflows/metadata.md +++ b/openmetadata-ui/src/main/resources/ui/public/locales/en-US/Search/workflows/metadata.md @@ -53,6 +53,17 @@ This is applicable for fields like description, tags, owner and displayName $$ +$$section +### Include Index Template $(id="includeIndexTemplate") + +`Include Index Template` toggle to manage the ingestion of index templates metadata from the source. + +If the toggle is `enabled`, index templates metadata will be ingested from the source. + +If the toggle is `disabled`, index templates metadata will not be ingested from the source. + +$$ + $$section ### Sample Size $(id="sampleSize") From 998cbd1558e3a8ad926bde1969609e8910bc4496 Mon Sep 17 00:00:00 2001 From: Aniket Katkar Date: Tue, 26 Nov 2024 18:00:58 +0530 Subject: [PATCH 24/36] Improvements: Alerts bug fixes and improvements (#18753) * Add and improve the permission logic for the notifications and observability alerts pages Add logic to update the description from alert details page. Add logic to set the logged in user as the owner while alert creation * Remove the permission check for the `/{alertType}/resources` API since it's not necessary * Update the playwright tests to cover the new alert features * Add playwright to test the test destinations filter * Fix the unit tests * Add unit test for AlertRecentEventsTab component * update the variable.less import to reference Co-authored-by: Chirag Madlani <12962843+chirag-madlani@users.noreply.github.com> --------- Co-authored-by: Chirag Madlani <12962843+chirag-madlani@users.noreply.github.com> --- .../EventSubscriptionResource.java | 2 - .../ui/playwright/constant/alert.interface.ts | 10 + .../resources/ui/playwright/constant/alert.ts | 58 ++ .../e2e/Flow/NotificationAlerts.spec.ts | 684 ++++++++------- .../e2e/Flow/ObservabilityAlerts.spec.ts | 645 +++++++------- .../support/entity/Entity.interface.ts | 1 + .../playwright/support/entity/TableClass.ts | 23 +- .../resources/ui/playwright/utils/alert.ts | 819 ++++++++---------- .../resources/ui/playwright/utils/entity.ts | 12 +- .../ui/playwright/utils/notificationAlert.ts | 540 ++++++++++++ .../ui/playwright/utils/observabilityAlert.ts | 712 +++++++++++++++ .../AlertRecentEventsTab.test.tsx | 116 +++ .../AlertRecentEventsTab.tsx | 33 +- .../resources/ui/src/mocks/Alerts.mock.ts | 8 + .../AddNotificationPage.tsx | 6 +- .../AddObservabilityPage.tsx | 6 +- .../AlertDetailsPage/AlertDetailsPage.tsx | 134 +-- .../AlertDetailsPage/alert-details-page.less | 9 + .../NotificationListPage.test.tsx | 135 ++- .../NotificationListPage.tsx | 159 +++- .../ObservabilityAlertsPage.test.tsx | 130 ++- .../ObservabilityAlertsPage.tsx | 156 +++- .../ui/src/utils/Alerts/AlertsUtil.tsx | 17 + 23 files changed, 3137 insertions(+), 1278 deletions(-) create mode 100644 openmetadata-ui/src/main/resources/ui/playwright/utils/notificationAlert.ts create mode 100644 openmetadata-ui/src/main/resources/ui/playwright/utils/observabilityAlert.ts create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/Alerts/AlertDetails/AlertRecentEventsTab/AlertRecentEventsTab.test.tsx diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/resources/events/subscription/EventSubscriptionResource.java b/openmetadata-service/src/main/java/org/openmetadata/service/resources/events/subscription/EventSubscriptionResource.java index e81be9ae905c..51d943faa3b4 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/resources/events/subscription/EventSubscriptionResource.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/resources/events/subscription/EventSubscriptionResource.java @@ -588,8 +588,6 @@ public ResultList listEventSubResources( @Parameter(description = "AlertType", schema = @Schema(type = "string")) @PathParam("alertType") CreateEventSubscription.AlertType alertType) { - OperationContext operationContext = new OperationContext(entityType, MetadataOperation.CREATE); - authorizer.authorize(securityContext, operationContext, getResourceContext()); if (alertType.equals(NOTIFICATION)) { return new ResultList<>(EventsSubscriptionRegistry.listEntityNotificationDescriptors()); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/constant/alert.interface.ts b/openmetadata-ui/src/main/resources/ui/playwright/constant/alert.interface.ts index ecf92748b51a..9962fb59ef0f 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/constant/alert.interface.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/constant/alert.interface.ts @@ -69,3 +69,13 @@ export interface ObservabilityCreationDetails { secretKey?: string; }>; } + +export interface EventDetails { + status: 'successful' | 'failed'; + data: { + id: string; + entityType: string; + eventType: string; + entityId: string; + }[]; +} diff --git a/openmetadata-ui/src/main/resources/ui/playwright/constant/alert.ts b/openmetadata-ui/src/main/resources/ui/playwright/constant/alert.ts index 12ae5f33d002..9c2331ef6f6e 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/constant/alert.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/constant/alert.ts @@ -19,3 +19,61 @@ export const TEST_SUITE_NAME = `0-pw-test-suite-${uuid()}`; export const TEST_CASE_NAME = `0-pw-test-case-${uuid()}`; export const INGESTION_PIPELINE_NAME = `0-playwright-ingestion-pipeline-${uuid()}`; + +export const ALERT_WITH_PERMISSION_POLICY_NAME = `alert-policy-${uuid()}`; +export const ALERT_WITH_PERMISSION_ROLE_NAME = `alert-role-${uuid()}`; +export const ALERT_WITHOUT_PERMISSION_POLICY_NAME = `alert-policy-${uuid()}`; +export const ALERT_WITHOUT_PERMISSION_ROLE_NAME = `alert-role-${uuid()}`; + +export const ALERT_WITH_PERMISSION_POLICY_DETAILS = { + name: ALERT_WITH_PERMISSION_POLICY_NAME, + description: 'Alert Policy Description', + rules: [ + { + name: 'Alert Rule', + description: 'Alert Rule Description', + resources: ['eventsubscription'], + operations: ['Create', 'EditAll', 'ViewAll', 'Delete'], + effect: 'allow', + }, + ], +}; + +export const ALERT_WITHOUT_PERMISSION_POLICY_DETAILS = { + name: ALERT_WITHOUT_PERMISSION_POLICY_NAME, + description: 'Alert Policy Description', + rules: [ + { + name: 'Deny Rules', + description: 'Alert Rule Description', + resources: ['eventsubscription'], + operations: [ + 'Create', + 'EditAll', + 'Delete', + 'EditOwners', + 'EditDescription', + ], + effect: 'deny', + }, + { + name: 'Allow Rules', + description: 'Alert Rule Description', + resources: ['eventsubscription'], + operations: ['ViewAll'], + effect: 'allow', + }, + ], +}; + +export const ALERT_WITH_PERMISSION_ROLE_DETAILS = { + name: ALERT_WITH_PERMISSION_ROLE_NAME, + description: 'Alert Role Description', + policies: [ALERT_WITH_PERMISSION_POLICY_NAME], +}; + +export const ALERT_WITHOUT_PERMISSION_ROLE_DETAILS = { + name: ALERT_WITHOUT_PERMISSION_ROLE_NAME, + description: 'Alert Role Description', + policies: [ALERT_WITHOUT_PERMISSION_POLICY_NAME], +}; diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/NotificationAlerts.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/NotificationAlerts.spec.ts index d953b6247fc2..f4e3ac87e93f 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/NotificationAlerts.spec.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/NotificationAlerts.spec.ts @@ -11,32 +11,46 @@ * limitations under the License. */ -import test, { expect } from '@playwright/test'; -import { ALERT_UPDATED_DESCRIPTION } from '../../constant/alert'; +import { Page, test as base } from '@playwright/test'; import { Domain } from '../../support/domain/Domain'; import { DashboardClass } from '../../support/entity/DashboardClass'; +import { TableClass } from '../../support/entity/TableClass'; +import { AdminClass } from '../../support/user/AdminClass'; import { UserClass } from '../../support/user/UserClass'; +import { performAdminLogin } from '../../utils/admin'; import { - addExternalDestination, - addFilterWithUsersListInput, - addInternalDestination, - addMultipleFilters, - addOwnerFilter, + commonCleanup, + commonPrerequisites, + createAlert, deleteAlert, generateAlertName, inputBasicAlertInformation, - saveAlertAndVerifyResponse, verifyAlertDetails, visitAlertDetailsPage, visitEditAlertPage, - visitNotificationAlertPage, } from '../../utils/alert'; -import { createNewPage, descriptionBox } from '../../utils/common'; +import { descriptionBox, getApiContext } from '../../utils/common'; +import { + addFilterWithUsersListInput, + addInternalDestination, + checkAlertDetailsForWithPermissionUser, + checkAlertFlowForWithoutPermissionUser, + createAlertForRecentEventsCheck, + createAlertWithMultipleFilters, + createConversationAlert, + createTaskAlert, + editSingleFilterAlert, + visitNotificationAlertPage, +} from '../../utils/notificationAlert'; +import { addExternalDestination } from '../../utils/observabilityAlert'; const dashboard = new DashboardClass(); +const table = new TableClass(); +const admin = new AdminClass(); const user1 = new UserClass(); const user2 = new UserClass(); const domain = new Domain(); + const SOURCE_NAME_1 = 'all'; const SOURCE_DISPLAY_NAME_1 = 'All'; const SOURCE_NAME_2 = 'dashboard'; @@ -45,382 +59,386 @@ const SOURCE_NAME_3 = 'task'; const SOURCE_DISPLAY_NAME_3 = 'Task'; const SOURCE_NAME_4 = 'conversation'; const SOURCE_DISPLAY_NAME_4 = 'Conversation'; +const SOURCE_NAME_5 = 'table'; +const SOURCE_DISPLAY_NAME_5 = 'Table'; + +// Create 3 page and authenticate 1 with admin and others with normal user +const test = base.extend<{ + page: Page; + userWithPermissionsPage: Page; + userWithoutPermissionsPage: Page; +}>({ + page: async ({ browser }, use) => { + const page = await browser.newPage(); + await admin.login(page); + await use(page); + await page.close(); + }, + userWithPermissionsPage: async ({ browser }, use) => { + const page = await browser.newPage(); + await user1.login(page); + await use(page); + await page.close(); + }, + userWithoutPermissionsPage: async ({ browser }, use) => { + const page = await browser.newPage(); + await user2.login(page); + await use(page); + await page.close(); + }, +}); -// use the admin user to login -test.use({ storageState: 'playwright/.auth/admin.json' }); - -test.describe('Notification Alert Flow', () => { - const data = { - alertDetails: { - id: '', - name: '', - displayName: '', - description: '', - filteringRules: { resources: [] }, - input: { filters: [], actions: [] }, - destinations: [], - }, - }; - - test.beforeAll(async ({ browser }) => { - const { apiContext, afterAction } = await createNewPage(browser); - await dashboard.create(apiContext); - await user1.create(apiContext); - await user2.create(apiContext); - await domain.create(apiContext); - await afterAction(); +const data = { + alertDetails: { + id: '', + name: '', + displayName: '', + description: '', + filteringRules: { resources: [] }, + input: { filters: [], actions: [] }, + destinations: [], + }, +}; + +test.beforeAll(async ({ browser }) => { + const { afterAction, apiContext } = await performAdminLogin(browser); + await commonPrerequisites({ + apiContext, + table, + user1, + user2, + domain, }); + await dashboard.create(apiContext); - test.afterAll('Cleanup', async ({ browser }) => { - const { apiContext, afterAction } = await createNewPage(browser); - await dashboard.delete(apiContext); - await user1.delete(apiContext); - await user2.delete(apiContext); - await domain.delete(apiContext); - await afterAction(); - }); + await afterAction(); +}); - test.beforeEach('Visit entity details page', async ({ page }) => { - await visitNotificationAlertPage(page); +test.afterAll('Cleanup', async ({ browser }) => { + const { afterAction, apiContext } = await performAdminLogin(browser); + await commonCleanup({ + apiContext, + table, + user1, + user2, + domain, }); + await dashboard.delete(apiContext); - test('Single Filter Alert', async ({ page }) => { - test.slow(); + await afterAction(); +}); - const ALERT_NAME = generateAlertName(); +test('Single Filter Alert', async ({ page }) => { + test.slow(); - await test.step('Create alert', async () => { - await inputBasicAlertInformation({ - page, - name: ALERT_NAME, - sourceName: SOURCE_NAME_1, - sourceDisplayName: SOURCE_DISPLAY_NAME_1, - }); + const ALERT_NAME = generateAlertName(); + await visitNotificationAlertPage(page); - // Select filters - await page.click('[data-testid="add-filters"]'); + await test.step('Create alert', async () => { + data.alertDetails = await createAlert({ + page, + alertName: ALERT_NAME, + sourceName: SOURCE_NAME_1, + sourceDisplayName: SOURCE_DISPLAY_NAME_1, + user: user1, + }); + }); - await addOwnerFilter({ + await test.step('Check created alert details', async () => { + await visitNotificationAlertPage(page); + await visitAlertDetailsPage(page, data.alertDetails); + + // Verify alert details + await verifyAlertDetails({ page, alertDetails: data.alertDetails }); + }); + + await test.step( + 'Edit alert by adding multiple filters and internal destinations', + async () => { + await editSingleFilterAlert({ page, - filterNumber: 0, - ownerName: user1.getUserName(), + sourceName: SOURCE_NAME_2, + sourceDisplayName: SOURCE_DISPLAY_NAME_2, + user1, + user2, + domain, + dashboard, + alertDetails: data.alertDetails, }); - // Select Destination - await page.click('[data-testid="add-destination-button"]'); + // Click save + const updateAlert = page.waitForResponse( + (response) => + response.url().includes('/api/v1/events/subscriptions') && + response.request().method() === 'PATCH' && + response.status() === 200 + ); + await page.click('[data-testid="save-button"]'); + await updateAlert.then(async (response) => { + data.alertDetails = await response.json(); - await addInternalDestination({ - page, - destinationNumber: 0, - category: 'Admins', - type: 'Email', + test.expect(response.status()).toEqual(200); + + // Verify the edited alert changes + await verifyAlertDetails({ page, alertDetails: data.alertDetails }); }); + } + ); - data.alertDetails = await saveAlertAndVerifyResponse(page); + await test.step('Delete alert', async () => { + await deleteAlert(page, data.alertDetails); + }); +}); + +test('Multiple Filters Alert', async ({ page }) => { + test.slow(); + + const ALERT_NAME = generateAlertName(); + await visitNotificationAlertPage(page); + + await test.step('Create alert', async () => { + data.alertDetails = await createAlertWithMultipleFilters({ + page, + alertName: ALERT_NAME, + sourceName: SOURCE_NAME_1, + sourceDisplayName: SOURCE_DISPLAY_NAME_1, + user1, + user2, + domain, + dashboard, }); + }); - await test.step('Check created alert details', async () => { - await visitNotificationAlertPage(page); - await visitAlertDetailsPage(page, data.alertDetails); + await test.step( + 'Edit alert by removing added filters and internal destinations', + async () => { + await visitEditAlertPage(page, data.alertDetails); - // Verify alert details - await verifyAlertDetails({ page, alertDetails: data.alertDetails }); - }); + // Remove description + await page.locator(descriptionBox).clear(); - await test.step( - 'Edit alert by adding multiple filters and internal destinations', - async () => { - await visitEditAlertPage(page, data.alertDetails); - - // Update description - await page.locator(descriptionBox).clear(); - await page.locator(descriptionBox).fill(ALERT_UPDATED_DESCRIPTION); - - // Update source - await page.click('[data-testid="source-select"]'); - await page - .getByTestId(`${SOURCE_NAME_2}-option`) - .getByText(SOURCE_DISPLAY_NAME_2) - .click(); - - // Filters should reset after source change - await expect(page.getByTestId('filter-select-0')).not.toBeAttached(); - - await addMultipleFilters({ - page, - user1, - user2, - domain, - dashboard, - }); - - await page.getByTestId('connection-timeout-input').clear(); - await page.fill('[data-testid="connection-timeout-input"]', '26'); - - // Add owner GChat destination - await page.click('[data-testid="add-destination-button"]'); - await addInternalDestination({ - page, - destinationNumber: 0, - category: 'Owners', - type: 'G Chat', - }); - - // Add team Slack destination - await page.click('[data-testid="add-destination-button"]'); - await addInternalDestination({ - page, - destinationNumber: 1, - category: 'Teams', - type: 'Slack', - typeId: 'Team-select', - searchText: 'Organization', - }); - - // Add user email destination - await page.click('[data-testid="add-destination-button"]'); - await addInternalDestination({ - page, - destinationNumber: 2, - category: 'Users', - type: 'Email', - typeId: 'User-select', - searchText: user1.getUserName(), - }); - - // Click save - const updateAlert = page.waitForResponse( - (response) => - response.url().includes('/api/v1/events/subscriptions') && - response.request().method() === 'PATCH' && - response.status() === 200 - ); - await page.click('[data-testid="save-button"]'); - await updateAlert.then(async (response) => { - data.alertDetails = await response.json(); - - expect(response.status()).toEqual(200); - - // Verify the edited alert changes - await verifyAlertDetails({ page, alertDetails: data.alertDetails }); - }); + // Remove all filters + for (const _ of Array(6).keys()) { + await page.click('[data-testid="remove-filter-0"]'); } - ); - await test.step('Delete alert', async () => { - await deleteAlert(page, data.alertDetails); - }); - }); + // Remove all destinations except one + for (const _ of Array(5).keys()) { + await page.click('[data-testid="remove-destination-0"]'); + } - test('Multiple Filters Alert', async ({ page }) => { - test.slow(); + // Click save + const updateAlert = page.waitForResponse( + (response) => + response.url().includes('/api/v1/events/subscriptions') && + response.request().method() === 'PATCH' && + response.status() === 200 + ); + await page.click('[data-testid="save-button"]'); + await updateAlert.then(async (response) => { + data.alertDetails = await response.json(); - const ALERT_NAME = generateAlertName(); + test.expect(response.status()).toEqual(200); - await test.step('Create alert', async () => { - await inputBasicAlertInformation({ - page, - name: ALERT_NAME, - sourceName: SOURCE_NAME_1, - sourceDisplayName: SOURCE_DISPLAY_NAME_1, + // Verify the edited alert changes + await verifyAlertDetails({ page, alertDetails: data.alertDetails }); }); + } + ); - await addMultipleFilters({ - page, - user1, - user2, - domain, - dashboard, - }); + await test.step('Delete alert', async () => { + await deleteAlert(page, data.alertDetails); + }); +}); - await page.click('[data-testid="add-destination-button"]'); - await addInternalDestination({ - page, - destinationNumber: 0, - category: 'Followers', - type: 'Email', - }); - await page.click('[data-testid="add-destination-button"]'); - await addExternalDestination({ - page, - destinationNumber: 1, - category: 'Email', - input: 'test@example.com', - }); - await page.click('[data-testid="add-destination-button"]'); - await addExternalDestination({ - page, - destinationNumber: 2, - category: 'G Chat', - input: 'https://gchat.com', - }); - await page.click('[data-testid="add-destination-button"]'); - await addExternalDestination({ - page, - destinationNumber: 3, - category: 'Webhook', - input: 'https://webhook.com', - }); - await page.click('[data-testid="add-destination-button"]'); - await addExternalDestination({ - page, - destinationNumber: 4, - category: 'Ms Teams', - input: 'https://msteams.com', - }); - await page.click('[data-testid="add-destination-button"]'); - await addExternalDestination({ - page, - destinationNumber: 5, - category: 'Slack', - input: 'https://slack.com', - }); +test('Task source alert', async ({ page }) => { + const ALERT_NAME = generateAlertName(); + await visitNotificationAlertPage(page); - data.alertDetails = await saveAlertAndVerifyResponse(page); + await test.step('Create alert', async () => { + data.alertDetails = await createTaskAlert({ + page, + alertName: ALERT_NAME, + sourceName: SOURCE_NAME_3, + sourceDisplayName: SOURCE_DISPLAY_NAME_3, }); + }); - await test.step( - 'Edit alert by removing added filters and internal destinations', - async () => { - await visitEditAlertPage(page, data.alertDetails); - - // Remove description - await page.locator(descriptionBox).clear(); - - // Remove all filters - for (const _ of Array(6).keys()) { - await page.click('[data-testid="remove-filter-0"]'); - } - - // Remove all destinations except one - for (const _ of Array(5).keys()) { - await page.click('[data-testid="remove-destination-0"]'); - } - - // Click save - const updateAlert = page.waitForResponse( - (response) => - response.url().includes('/api/v1/events/subscriptions') && - response.request().method() === 'PATCH' && - response.status() === 200 - ); - await page.click('[data-testid="save-button"]'); - await updateAlert.then(async (response) => { - data.alertDetails = await response.json(); - - expect(response.status()).toEqual(200); - - // Verify the edited alert changes - await verifyAlertDetails({ page, alertDetails: data.alertDetails }); - }); - } - ); + await test.step('Delete alert', async () => { + await deleteAlert(page, data.alertDetails); + }); +}); + +test('Conversation source alert', async ({ page }) => { + const ALERT_NAME = generateAlertName(); + await visitNotificationAlertPage(page); - await test.step('Delete alert', async () => { - await deleteAlert(page, data.alertDetails); + await test.step('Create alert', async () => { + data.alertDetails = await createConversationAlert({ + page, + alertName: ALERT_NAME, + sourceName: SOURCE_NAME_4, + sourceDisplayName: SOURCE_DISPLAY_NAME_4, }); }); - test('Task source alert', async ({ page }) => { - const ALERT_NAME = generateAlertName(); + await test.step('Edit alert by adding mentions filter', async () => { + await visitEditAlertPage(page, data.alertDetails); - await test.step('Create alert', async () => { - await inputBasicAlertInformation({ - page, - name: ALERT_NAME, - sourceName: SOURCE_NAME_3, - sourceDisplayName: SOURCE_DISPLAY_NAME_3, - }); + // Add filter + await page.click('[data-testid="add-filters"]'); - // Select Destination - await page.click('[data-testid="add-destination-button"]'); - await addInternalDestination({ - page, - destinationNumber: 0, - category: 'Owners', - type: 'Email', - }); - await page.click('[data-testid="add-destination-button"]'); - await addInternalDestination({ - page, - destinationNumber: 1, - category: 'Assignees', - type: 'Email', - }); - data.alertDetails = await saveAlertAndVerifyResponse(page); + await addFilterWithUsersListInput({ + page, + filterNumber: 0, + updaterName: user1.getUserName(), + filterTestId: 'Mentioned Users-filter-option', + exclude: true, }); - await test.step('Delete alert', async () => { - await deleteAlert(page, data.alertDetails); + // Add Destination + await page.click('[data-testid="add-destination-button"]'); + await addInternalDestination({ + page, + destinationNumber: 1, + category: 'Mentions', + type: 'Slack', }); - }); - test('Conversation source alert', async ({ page }) => { - const ALERT_NAME = generateAlertName(); + // Click save + const updateAlert = page.waitForResponse( + (response) => + response.url().includes('/api/v1/events/subscriptions') && + response.request().method() === 'PATCH' && + response.status() === 200 + ); + await page.click('[data-testid="save-button"]'); + await updateAlert.then(async (response) => { + data.alertDetails = await response.json(); - await test.step('Create alert', async () => { - await inputBasicAlertInformation({ - page, - name: ALERT_NAME, - sourceName: SOURCE_NAME_4, - sourceDisplayName: SOURCE_DISPLAY_NAME_4, - }); + test.expect(response.status()).toEqual(200); - // Select Destination - await page.click('[data-testid="add-destination-button"]'); - await addInternalDestination({ - page, - destinationNumber: 0, - category: 'Owners', - type: 'Email', - }); + // Verify the edited alert changes + await verifyAlertDetails({ page, alertDetails: data.alertDetails }); + }); + }); - data.alertDetails = await saveAlertAndVerifyResponse(page); + await test.step('Delete alert', async () => { + await deleteAlert(page, data.alertDetails); + }); +}); + +test('Alert operations for a user with and without permissions', async ({ + page, + userWithPermissionsPage, + userWithoutPermissionsPage, +}) => { + test.slow(); + + const ALERT_NAME = generateAlertName(); + const { apiContext } = await getApiContext(page); + await visitNotificationAlertPage(userWithPermissionsPage); + + await test.step('Create and trigger alert', async () => { + data.alertDetails = await createAlertForRecentEventsCheck({ + page: userWithPermissionsPage, + alertName: ALERT_NAME, + sourceName: SOURCE_NAME_5, + sourceDisplayName: SOURCE_DISPLAY_NAME_5, + user: user1, + table, }); - await test.step('Edit alert by adding mentions filter', async () => { - await visitEditAlertPage(page, data.alertDetails); + // Trigger alert + await table.deleteTable(apiContext, false); + await table.restore(apiContext); + }); - // Add filter - await page.click('[data-testid="add-filters"]'); + await test.step('Checks for user without permission', async () => { + await checkAlertFlowForWithoutPermissionUser({ + page: userWithoutPermissionsPage, + alertDetails: data.alertDetails, + sourceName: SOURCE_NAME_5, + table, + }); + }); - await addFilterWithUsersListInput({ - page, - filterNumber: 0, - updaterName: user1.getUserName(), - filterTestId: 'Mentioned Users-filter-option', - exclude: true, + await test.step( + 'Check alert details page and Recent Events tab', + async () => { + await checkAlertDetailsForWithPermissionUser({ + page: userWithPermissionsPage, + alertDetails: data.alertDetails, + sourceName: SOURCE_NAME_5, + table, + user: user2, }); + } + ); - // Add Destination - await page.click('[data-testid="add-destination-button"]'); - await addInternalDestination({ - page, - destinationNumber: 1, - category: 'Mentions', - type: 'Slack', - }); + await test.step('Delete alert', async () => { + await deleteAlert(userWithPermissionsPage, data.alertDetails); + }); +}); - // Click save - const updateAlert = page.waitForResponse( - (response) => - response.url().includes('/api/v1/events/subscriptions') && - response.request().method() === 'PATCH' && - response.status() === 200 - ); - await page.click('[data-testid="save-button"]'); - await updateAlert.then(async (response) => { - data.alertDetails = await response.json(); +test('destination should work properly', async ({ page }) => { + await visitNotificationAlertPage(page); - expect(response.status()).toEqual(200); + await inputBasicAlertInformation({ + page, + name: 'test-name', + sourceName: SOURCE_NAME_1, + sourceDisplayName: SOURCE_DISPLAY_NAME_1, + }); - // Verify the edited alert changes - await verifyAlertDetails({ page, alertDetails: data.alertDetails }); - }); - }); + await page.click('[data-testid="add-destination-button"]'); + await addInternalDestination({ + page, + destinationNumber: 0, + category: 'Owners', + type: 'G Chat', + }); - await test.step('Delete alert', async () => { - await deleteAlert(page, data.alertDetails); - }); + await test.expect(page.getByTestId('test-destination-button')).toBeDisabled(); + + await addExternalDestination({ + page, + destinationNumber: 0, + category: 'G Chat', + input: 'https://google.com', + }); + + await page.click('[data-testid="add-destination-button"]'); + await addExternalDestination({ + page, + destinationNumber: 1, + category: 'Slack', + input: 'https://slack.com', + }); + + const testDestinations = page.waitForResponse( + (response) => + response.url().includes('/api/v1/events/subscriptions/testDestination') && + response.request().method() === 'POST' && + response.status() === 200 + ); + + await page.click('[data-testid="test-destination-button"]'); + + await testDestinations.then(async (response) => { + const testResults = await response.json(); + + for (const testResult of testResults) { + const isGChat = testResult.type === 'GChat'; + + await test + .expect( + page + .getByTestId(`destination-${isGChat ? 0 : 1}`) + .getByRole('alert') + .getByText(testResult.statusDetails.status) + ) + .toBeAttached(); + } }); }); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/ObservabilityAlerts.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/ObservabilityAlerts.spec.ts index 529fb6f7b132..8bd4d01a7eeb 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/ObservabilityAlerts.spec.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/ObservabilityAlerts.spec.ts @@ -11,9 +11,8 @@ * limitations under the License. */ -import test, { expect } from '@playwright/test'; +import { Page, test as base } from '@playwright/test'; import { - ALERT_UPDATED_DESCRIPTION, INGESTION_PIPELINE_NAME, TEST_CASE_NAME, TEST_SUITE_NAME, @@ -21,133 +20,212 @@ import { import { Domain } from '../../support/domain/Domain'; import { PipelineClass } from '../../support/entity/PipelineClass'; import { TableClass } from '../../support/entity/TableClass'; +import { AdminClass } from '../../support/user/AdminClass'; import { UserClass } from '../../support/user/UserClass'; +import { performAdminLogin } from '../../utils/admin'; import { - addDomainFilter, - addEntityFQNFilter, - addExternalDestination, - addGetSchemaChangesAction, - addInternalDestination, - addOwnerFilter, - addPipelineStatusUpdatesAction, + commonCleanup, + commonPrerequisites, + createAlert, deleteAlert, generateAlertName, - getObservabilityCreationDetails, inputBasicAlertInformation, saveAlertAndVerifyResponse, verifyAlertDetails, visitAlertDetailsPage, - visitEditAlertPage, - visitObservabilityAlertPage, } from '../../utils/alert'; +import { getApiContext } from '../../utils/common'; import { - clickOutside, - createNewPage, - descriptionBox, -} from '../../utils/common'; + addExternalDestination, + checkAlertDetailsForWithPermissionUser, + checkAlertFlowForWithoutPermissionUser, + createCommonObservabilityAlert, + editObservabilityAlert, + getObservabilityCreationDetails, + visitObservabilityAlertPage, +} from '../../utils/observabilityAlert'; const table1 = new TableClass(); const table2 = new TableClass(); const pipeline = new PipelineClass(); const user1 = new UserClass(); const user2 = new UserClass(); +const admin = new AdminClass(); const domain = new Domain(); const SOURCE_NAME_1 = 'container'; const SOURCE_DISPLAY_NAME_1 = 'Container'; const SOURCE_NAME_2 = 'pipeline'; const SOURCE_DISPLAY_NAME_2 = 'Pipeline'; +const SOURCE_NAME_3 = 'table'; +const SOURCE_DISPLAY_NAME_3 = 'Table'; + +// Create 2 page and authenticate 1 with admin and another with normal user +const test = base.extend<{ + page: Page; + userWithPermissionsPage: Page; + userWithoutPermissionsPage: Page; +}>({ + page: async ({ browser }, use) => { + const page = await browser.newPage(); + await admin.login(page); + await use(page); + await page.close(); + }, + userWithPermissionsPage: async ({ browser }, use) => { + const page = await browser.newPage(); + await user1.login(page); + await use(page); + await page.close(); + }, + userWithoutPermissionsPage: async ({ browser }, use) => { + const page = await browser.newPage(); + await user2.login(page); + await use(page); + await page.close(); + }, +}); -// use the admin user to login -test.use({ storageState: 'playwright/.auth/admin.json' }); - -test.describe('Observability Alert Flow', () => { - const data = { - alertDetails: { - id: '', - name: '', - displayName: '', - description: '', - filteringRules: { resources: [] }, - input: { filters: [], actions: [] }, - destinations: [], - }, - }; - - test.beforeAll(async ({ browser }) => { - const { apiContext, afterAction } = await createNewPage(browser); - await table1.create(apiContext); - await table2.create(apiContext); - await table1.createTestSuiteAndPipelines(apiContext, { - name: TEST_SUITE_NAME, - }); - await table1.createTestCase(apiContext, { name: TEST_CASE_NAME }); - await pipeline.create(apiContext); - await pipeline.createIngestionPipeline(apiContext, INGESTION_PIPELINE_NAME); - await user1.create(apiContext); - await user2.create(apiContext); - await domain.create(apiContext); - await afterAction(); +const data = { + alertDetails: { + id: '', + name: '', + displayName: '', + description: '', + filteringRules: { resources: [] }, + input: { filters: [], actions: [] }, + destinations: [], + }, +}; + +test.beforeAll(async ({ browser }) => { + const { afterAction, apiContext } = await performAdminLogin(browser); + await commonPrerequisites({ + apiContext, + table: table2, + user1, + user2, + domain, + }); + + await table1.create(apiContext); + await table1.createTestSuiteAndPipelines(apiContext, { + name: TEST_SUITE_NAME, }); + await table1.createTestCase(apiContext, { name: TEST_CASE_NAME }); + await pipeline.create(apiContext); + await pipeline.createIngestionPipeline(apiContext, INGESTION_PIPELINE_NAME); - test.afterAll(async ({ browser }) => { - const { apiContext, afterAction } = await createNewPage(browser); - await table1.delete(apiContext); - await table2.delete(apiContext); - await pipeline.delete(apiContext); - await user1.delete(apiContext); - await user2.delete(apiContext); - await domain.delete(apiContext); - await afterAction(); + await afterAction(); +}); + +test.afterAll(async ({ browser }) => { + const { afterAction, apiContext } = await performAdminLogin(browser); + await commonCleanup({ + apiContext, + table: table2, + user1, + user2, + domain, + }); + await table1.delete(apiContext); + await pipeline.delete(apiContext); + + await afterAction(); +}); + +test.beforeEach(async ({ page }) => { + await visitObservabilityAlertPage(page); +}); + +test('Pipeline Alert', async ({ page }) => { + test.slow(); + + const ALERT_NAME = generateAlertName(); + + await test.step('Create alert', async () => { + data.alertDetails = await createAlert({ + page, + alertName: ALERT_NAME, + sourceName: SOURCE_NAME_1, + sourceDisplayName: SOURCE_DISPLAY_NAME_1, + user: user1, + createButtonId: 'create-observability', + selectId: 'Owner Name', + addTrigger: true, + }); }); - test.beforeEach(async ({ page }) => { + await test.step('Check created alert details', async () => { await visitObservabilityAlertPage(page); + await visitAlertDetailsPage(page, data.alertDetails); + + // Verify alert details + await verifyAlertDetails({ page, alertDetails: data.alertDetails }); }); - test('Pipeline Alert', async ({ page }) => { - test.slow(); + await test.step('Edit alert', async () => { + await editObservabilityAlert({ + page, + alertDetails: data.alertDetails, + sourceName: SOURCE_NAME_2, + sourceDisplayName: SOURCE_DISPLAY_NAME_2, + user: user1, + domain, + pipeline, + }); - const ALERT_NAME = generateAlertName(); + // Click save + const updateAlert = page.waitForResponse( + (response) => + response.url().includes('/api/v1/events/subscriptions') && + response.request().method() === 'PATCH' && + response.status() === 200 + ); + await page.click('[data-testid="save-button"]'); + await updateAlert.then(async (response) => { + data.alertDetails = await response.json(); - await test.step('Create alert', async () => { - await inputBasicAlertInformation({ - page, - name: ALERT_NAME, - sourceName: SOURCE_NAME_1, - sourceDisplayName: SOURCE_DISPLAY_NAME_1, - createButtonId: 'create-observability', - }); + test.expect(response.status()).toEqual(200); - // Select filters - await page.click('[data-testid="add-filters"]'); + // Verify the edited alert changes + await verifyAlertDetails({ page, alertDetails: data.alertDetails }); + }); + }); - await addOwnerFilter({ - page, - filterNumber: 0, - ownerName: user1.getUserName(), - selectId: 'Owner Name', - }); + await test.step('Delete alert', async () => { + await deleteAlert(page, data.alertDetails, false); + }); +}); - // Select trigger - await page.click('[data-testid="add-trigger"]'); +const OBSERVABILITY_CREATION_DETAILS = getObservabilityCreationDetails({ + tableName1: table1.entity.name, + tableName2: table2.entity.name, + testSuiteFQN: TEST_SUITE_NAME, + testCaseName: TEST_CASE_NAME, + ingestionPipelineName: INGESTION_PIPELINE_NAME, + domainName: domain.data.name, + domainDisplayName: domain.data.displayName, + userName: `${user1.data.firstName}${user1.data.lastName}`, +}); - await addGetSchemaChangesAction({ - page, - filterNumber: 0, - }); +for (const alertDetails of OBSERVABILITY_CREATION_DETAILS) { + const { source, sourceDisplayName, filters, actions } = alertDetails; - await page.getByTestId('connection-timeout-input').clear(); - await page.fill('[data-testid="connection-timeout-input"]', '26'); + test(`${sourceDisplayName} alert`, async ({ page }) => { + const ALERT_NAME = generateAlertName(); - // Select Destination - await page.click('[data-testid="add-destination-button"]'); + test.slow(true); - await addInternalDestination({ + await test.step('Create alert', async () => { + await createCommonObservabilityAlert({ page, - destinationNumber: 0, - category: 'Admins', - type: 'Email', + alertName: ALERT_NAME, + sourceName: source, + sourceDisplayName: sourceDisplayName, + alertDetails, + filters: filters, + actions: actions, }); // Click save @@ -162,273 +240,144 @@ test.describe('Observability Alert Flow', () => { await verifyAlertDetails({ page, alertDetails: data.alertDetails }); }); - await test.step('Edit alert', async () => { - await visitEditAlertPage(page, data.alertDetails, false); - - // Update description - await page.locator(descriptionBox).clear(); - await page.locator(descriptionBox).fill(ALERT_UPDATED_DESCRIPTION); - - // Update source - await page.click('[data-testid="source-select"]'); - await page - .getByTestId(`${SOURCE_NAME_2}-option`) - .getByText(SOURCE_DISPLAY_NAME_2) - .click(); - - // Filters should reset after source change - await expect(page.getByTestId('filter-select-0')).not.toBeAttached(); - - // Add owner filter - await page.click('[data-testid="add-filters"]'); - await addOwnerFilter({ - page, - filterNumber: 0, - ownerName: user1.getUserName(), - selectId: 'Owner Name', - }); - - // Add entityFQN filter - await page.click('[data-testid="add-filters"]'); - await addEntityFQNFilter({ - page, - filterNumber: 1, - entityFQN: ( - pipeline.entityResponseData as { fullyQualifiedName: string } - ).fullyQualifiedName, - selectId: 'Pipeline Name', - exclude: true, - }); - // Add domain filter - await page.click('[data-testid="add-filters"]'); - await addDomainFilter({ - page, - filterNumber: 2, - domainName: domain.responseData.name, - domainDisplayName: domain.responseData.displayName, - }); - - // Add trigger - await page.click('[data-testid="add-trigger"]'); - - await addPipelineStatusUpdatesAction({ - page, - filterNumber: 0, - statusName: 'Successful', - exclude: true, - }); - - // Add multiple destinations - await page.click('[data-testid="add-destination-button"]'); - await addInternalDestination({ - page, - destinationNumber: 0, - category: 'Owners', - type: 'G Chat', - }); - - // Add team Slack destination - await page.click('[data-testid="add-destination-button"]'); - await addInternalDestination({ - page, - destinationNumber: 1, - category: 'Teams', - type: 'Slack', - typeId: 'Team-select', - searchText: 'Organization', - }); - - // Click save - const updateAlert = page.waitForResponse( - (response) => - response.url().includes('/api/v1/events/subscriptions') && - response.request().method() === 'PATCH' && - response.status() === 200 - ); - await page.click('[data-testid="save-button"]'); - await updateAlert.then(async (response) => { - data.alertDetails = await response.json(); - - expect(response.status()).toEqual(200); - - // Verify the edited alert changes - await verifyAlertDetails({ page, alertDetails: data.alertDetails }); - }); - }); - await test.step('Delete alert', async () => { await deleteAlert(page, data.alertDetails, false); }); }); +} + +test('Alert operations for a user with and without permissions', async ({ + page, + userWithPermissionsPage, + userWithoutPermissionsPage, +}) => { + test.slow(); + + const ALERT_NAME = generateAlertName(); + const { apiContext } = await getApiContext(page); + await visitObservabilityAlertPage(userWithPermissionsPage); + + await test.step('Create and trigger alert', async () => { + await inputBasicAlertInformation({ + page: userWithPermissionsPage, + name: ALERT_NAME, + sourceName: SOURCE_NAME_3, + sourceDisplayName: SOURCE_DISPLAY_NAME_3, + createButtonId: 'create-observability', + }); + await userWithPermissionsPage.click('[data-testid="add-filters"]'); + + // Select filter + await userWithPermissionsPage.click('[data-testid="filter-select-0"]'); + await userWithPermissionsPage.click( + '.ant-select-dropdown:visible [data-testid="Table Name-filter-option"]' + ); + + // Search and select filter input value + const searchOptions = userWithPermissionsPage.waitForResponse( + '/api/v1/search/query?q=*' + ); + await userWithPermissionsPage.fill( + `[data-testid="fqn-list-select"] [role="combobox"]`, + table1.entity.name, + { + force: true, + } + ); + + await searchOptions; + + await userWithPermissionsPage.click( + `.ant-select-dropdown:visible [title="${table1.entity.name}"]` + ); + + // Check if option is selected + await test + .expect( + userWithPermissionsPage.locator( + `[data-testid="fqn-list-select"] [title="${table1.entity.name}"]` + ) + ) + .toBeAttached(); + + await userWithPermissionsPage.click('[data-testid="add-trigger"]'); + + // Select action + await userWithPermissionsPage.click('[data-testid="trigger-select-0"]'); + + // Adding the dropdown visibility check to avoid flakiness here + await userWithPermissionsPage.waitForSelector( + `.ant-select-dropdown:visible`, + { + state: 'visible', + } + ); + await userWithPermissionsPage.click( + '.ant-select-dropdown:visible [data-testid="Get Schema Changes-filter-option"]:visible' + ); + await userWithPermissionsPage.waitForSelector( + `.ant-select-dropdown:visible`, + { + state: 'hidden', + } + ); + + await userWithPermissionsPage.click( + '[data-testid="add-destination-button"]' + ); + await addExternalDestination({ + page: userWithPermissionsPage, + destinationNumber: 0, + category: 'Slack', + input: 'https://slack.com', + }); - const OBSERVABILITY_CREATION_DETAILS = getObservabilityCreationDetails({ - tableName1: table1.entity.name, - tableName2: table2.entity.name, - testSuiteFQN: TEST_SUITE_NAME, - testCaseName: TEST_CASE_NAME, - ingestionPipelineName: INGESTION_PIPELINE_NAME, - domainName: domain.data.name, - domainDisplayName: domain.data.displayName, - userName: `${user1.data.firstName}${user1.data.lastName}`, + // Click save + data.alertDetails = await saveAlertAndVerifyResponse( + userWithPermissionsPage + ); + + // Trigger alert + await table1.patch({ + apiContext, + patchData: [ + { + op: 'add', + path: '/columns/4', + value: { + name: 'new_field', + dataType: 'VARCHAR', + dataLength: 100, + dataTypeDisplay: 'varchar(100)', + }, + }, + ], + }); }); - for (const alertDetails of OBSERVABILITY_CREATION_DETAILS) { - const { source, sourceDisplayName, filters, actions } = alertDetails; - - test(`${sourceDisplayName} alert`, async ({ page }) => { - const ALERT_NAME = generateAlertName(); - - test.slow(true); - - await test.step('Create alert', async () => { - await inputBasicAlertInformation({ - page, - name: ALERT_NAME, - sourceName: source, - sourceDisplayName: sourceDisplayName, - createButtonId: 'create-observability', - }); - - for (const filter of filters) { - const filterNumber = filters.indexOf(filter); - - await page.click('[data-testid="add-filters"]'); - - // Select filter - await page.click(`[data-testid="filter-select-${filterNumber}"]`); - await page.click( - `.ant-select-dropdown:visible [data-testid="${filter.name}-filter-option"]` - ); - - // Search and select filter input value - const searchOptions = page.waitForResponse( - '/api/v1/search/query?q=*' - ); - await page.fill( - `[data-testid="${filter.inputSelector}"] [role="combobox"]`, - filter.inputValue, - { - force: true, - } - ); - - await searchOptions; - - await page.click( - `.ant-select-dropdown:visible [title="${ - filter.inputValueId ?? filter.inputValue - }"]` - ); - - // Check if option is selected - await expect( - page.locator( - `[data-testid="${filter.inputSelector}"] [title="${ - filter.inputValueId ?? filter.inputValue - }"]` - ) - ).toBeAttached(); - - if (filter.exclude) { - // Change filter effect - await page.click(`[data-testid="filter-switch-${filterNumber}"]`); - } - } - - // Add triggers - for (const action of actions) { - const actionNumber = actions.indexOf(action); - - await page.click('[data-testid="add-trigger"]'); - - // Select action - await page.click(`[data-testid="trigger-select-${actionNumber}"]`); - - // Adding the dropdown visibility check to avoid flakiness here - await page.waitForSelector(`.ant-select-dropdown:visible`, { - state: 'visible', - }); - await page.click( - `.ant-select-dropdown:visible [data-testid="${action.name}-filter-option"]:visible` - ); - await page.waitForSelector(`.ant-select-dropdown:visible`, { - state: 'hidden', - }); - - if (action.inputs && action.inputs.length > 0) { - for (const input of action.inputs) { - const getSearchResult = page.waitForResponse( - '/api/v1/search/query?q=*' - ); - await page.fill( - `[data-testid="${input.inputSelector}"] [role="combobox"]`, - input.inputValue, - { - force: true, - } - ); - if (input.waitForAPI) { - await getSearchResult; - } - await page.click(`[title="${input.inputValue}"]:visible`); - - // eslint-disable-next-line jest/no-conditional-expect - await expect(page.getByTestId(input.inputSelector)).toHaveText( - input.inputValue - ); - - await clickOutside(page); - } - } - - if (action.exclude) { - // Change filter effect - await page.click(`[data-testid="trigger-switch-${actionNumber}"]`); - } - } - - // Add Destinations - for (const destination of alertDetails.destinations) { - const destinationNumber = - alertDetails.destinations.indexOf(destination); - - await page.click('[data-testid="add-destination-button"]'); - - if (destination.mode === 'internal') { - await addInternalDestination({ - page, - destinationNumber, - category: destination.category, - type: destination.type, - typeId: destination.inputSelector, - searchText: destination.inputValue, - }); - } else { - await addExternalDestination({ - page, - destinationNumber, - category: destination.category, - input: destination.inputValue, - secretKey: destination.secretKey, - }); - } - } - - // Click save - data.alertDetails = await saveAlertAndVerifyResponse(page); - }); - - await test.step('Check created alert details', async () => { - await visitObservabilityAlertPage(page); - await visitAlertDetailsPage(page, data.alertDetails); + await test.step('Checks for user without permission', async () => { + await checkAlertFlowForWithoutPermissionUser({ + page: userWithoutPermissionsPage, + alertDetails: data.alertDetails, + sourceName: SOURCE_NAME_3, + table: table1, + }); + }); - // Verify alert details - await verifyAlertDetails({ page, alertDetails: data.alertDetails }); + await test.step( + 'Check alert details page and Recent Events tab', + async () => { + await checkAlertDetailsForWithPermissionUser({ + page: userWithPermissionsPage, + alertDetails: data.alertDetails, + sourceName: SOURCE_NAME_3, + table: table1, + user: user2, }); + } + ); - await test.step('Delete alert', async () => { - await deleteAlert(page, data.alertDetails, false); - }); - }); - } + await test.step('Delete alert', async () => { + await deleteAlert(userWithPermissionsPage, data.alertDetails, false); + }); }); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/support/entity/Entity.interface.ts b/openmetadata-ui/src/main/resources/ui/playwright/support/entity/Entity.interface.ts index ca81a393cdcc..15c6c00ca113 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/support/entity/Entity.interface.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/support/entity/Entity.interface.ts @@ -41,6 +41,7 @@ export enum EntityTypeEndpoint { METRIC = 'metrics', TestSuites = 'dataQuality/testSuites', Teams = 'teams', + NotificationAlert = 'events/subscriptions', } export type EntityDataType = { diff --git a/openmetadata-ui/src/main/resources/ui/playwright/support/entity/TableClass.ts b/openmetadata-ui/src/main/resources/ui/playwright/support/entity/TableClass.ts index c609f9a4f79c..b264c59d3a83 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/support/entity/TableClass.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/support/entity/TableClass.ts @@ -361,11 +361,11 @@ export class TableClass extends EntityClass { ); } - async delete(apiContext: APIRequestContext) { + async delete(apiContext: APIRequestContext, hardDelete = true) { const serviceResponse = await apiContext.delete( `/api/v1/services/databaseServices/name/${encodeURIComponent( this.serviceResponseData?.['fullyQualifiedName'] - )}?recursive=true&hardDelete=true` + )}?recursive=true&hardDelete=${hardDelete}` ); return { @@ -373,4 +373,23 @@ export class TableClass extends EntityClass { entity: this.entityResponseData, }; } + + async deleteTable(apiContext: APIRequestContext, hardDelete = true) { + const tableResponse = await apiContext.delete( + `/api/v1/tables/${this.entityResponseData?.['id']}?recursive=true&hardDelete=${hardDelete}` + ); + + return tableResponse; + } + + async restore(apiContext: APIRequestContext) { + const serviceResponse = await apiContext.put('/api/v1/tables/restore', { + data: { id: this.entityResponseData?.['id'] }, + }); + + return { + service: serviceResponse.body, + entity: this.entityResponseData, + }; + } } diff --git a/openmetadata-ui/src/main/resources/ui/playwright/utils/alert.ts b/openmetadata-ui/src/main/resources/ui/playwright/utils/alert.ts index 9bd0cde198c9..e424bc5f885c 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/utils/alert.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/utils/alert.ts @@ -11,50 +11,146 @@ * limitations under the License. */ -import { expect, Page } from '@playwright/test'; +import { APIRequestContext, expect, Page } from '@playwright/test'; import { isEmpty, startCase } from 'lodash'; -import { ALERT_DESCRIPTION } from '../constant/alert'; import { - AlertDetails, - ObservabilityCreationDetails, -} from '../constant/alert.interface'; + ALERT_DESCRIPTION, + ALERT_WITHOUT_PERMISSION_POLICY_DETAILS, + ALERT_WITHOUT_PERMISSION_POLICY_NAME, + ALERT_WITHOUT_PERMISSION_ROLE_DETAILS, + ALERT_WITHOUT_PERMISSION_ROLE_NAME, + ALERT_WITH_PERMISSION_POLICY_DETAILS, + ALERT_WITH_PERMISSION_POLICY_NAME, + ALERT_WITH_PERMISSION_ROLE_DETAILS, + ALERT_WITH_PERMISSION_ROLE_NAME, +} from '../constant/alert'; +import { AlertDetails, EventDetails } from '../constant/alert.interface'; import { DELETE_TERM } from '../constant/common'; -import { SidebarItem } from '../constant/sidebar'; import { Domain } from '../support/domain/Domain'; import { DashboardClass } from '../support/entity/DashboardClass'; +import { TableClass } from '../support/entity/TableClass'; import { UserClass } from '../support/user/UserClass'; import { clickOutside, descriptionBox, - redirectToHomePage, + getApiContext, toastNotification, uuid, } from './common'; import { getEntityDisplayName } from './entity'; import { validateFormNameFieldInput } from './form'; -import { sidebarClick } from './sidebar'; +import { + addFilterWithUsersListInput, + addInternalDestination, + visitNotificationAlertPage, +} from './notificationAlert'; +import { visitObservabilityAlertPage } from './observabilityAlert'; export const generateAlertName = () => `0%alert-playwright-${uuid()}`; -export const visitNotificationAlertPage = async (page: Page) => { - await redirectToHomePage(page); - await sidebarClick(page, SidebarItem.SETTINGS); - const getAlerts = page.waitForResponse('/api/v1/events/subscriptions?*'); - const getActivityFeedAlertDetails = page.waitForResponse( - '/api/v1/events/subscriptions/name/ActivityFeedAlert?include=all' - ); - await page.click('[data-testid="notifications"]'); - await getAlerts; - await getActivityFeedAlertDetails; +export const commonPrerequisites = async ({ + apiContext, + user1, + user2, + domain, + table, +}: { + apiContext: APIRequestContext; + user1: UserClass; + user2: UserClass; + domain: Domain; + table: TableClass; +}) => { + await table.create(apiContext); + await user1.create(apiContext); + await user2.create(apiContext); + await domain.create(apiContext); + await apiContext.post('/api/v1/policies', { + data: ALERT_WITH_PERMISSION_POLICY_DETAILS, + }); + + await apiContext.post('/api/v1/policies', { + data: ALERT_WITHOUT_PERMISSION_POLICY_DETAILS, + }); + + const role1Response = await apiContext.post('/api/v1/roles', { + data: ALERT_WITH_PERMISSION_ROLE_DETAILS, + }); + + const role2Response = await apiContext.post('/api/v1/roles', { + data: ALERT_WITHOUT_PERMISSION_ROLE_DETAILS, + }); + + const role1Data = (await role1Response.json()) as { + id: string; + name: string; + }; + + const role2Data = (await role2Response.json()) as { + id: string; + name: string; + }; + + await user1.patch({ + apiContext, + patchData: [ + { + op: 'add', + path: '/roles/0', + value: { + id: role1Data.id, + type: 'role', + name: role1Data.name, + }, + }, + ], + }); + + await user2.patch({ + apiContext, + patchData: [ + { + op: 'add', + path: '/roles/0', + value: { + id: role2Data.id, + type: 'role', + name: role2Data.name, + }, + }, + ], + }); }; -export const visitObservabilityAlertPage = async (page: Page) => { - await redirectToHomePage(page); - const getAlerts = page.waitForResponse( - '/api/v1/events/subscriptions?*alertType=Observability*' +export const commonCleanup = async ({ + apiContext, + user1, + user2, + domain, + table, +}: { + apiContext: APIRequestContext; + user1: UserClass; + user2: UserClass; + domain: Domain; + table: TableClass; +}) => { + await user1.delete(apiContext); + await user2.delete(apiContext); + await domain.delete(apiContext); + await table.delete(apiContext); + await apiContext.delete( + `/api/v1/policies/name/${ALERT_WITH_PERMISSION_POLICY_NAME}?hardDelete=true` + ); + await apiContext.delete( + `/api/v1/policies/name/${ALERT_WITHOUT_PERMISSION_POLICY_NAME}?hardDelete=true` + ); + await apiContext.delete( + `/api/v1/roles/name/${ALERT_WITH_PERMISSION_ROLE_NAME}?hardDelete=true` + ); + await apiContext.delete( + `/api/v1/roles/name/${ALERT_WITHOUT_PERMISSION_ROLE_NAME}?hardDelete=true` ); - await sidebarClick(page, SidebarItem.OBSERVABILITY_ALERT); - await getAlerts; }; export const findPageWithAlert = async ( @@ -75,6 +171,47 @@ export const findPageWithAlert = async ( } }; +export const deleteAlertSteps = async ( + page: Page, + name: string, + displayName: string +) => { + await page.getByTestId(`alert-delete-${name}`).click(); + + await expect(page.locator('.ant-modal-header')).toHaveText( + `Delete subscription "${displayName}"` + ); + + await page.fill('[data-testid="confirmation-text-input"]', DELETE_TERM); + + const deleteAlert = page.waitForResponse( + (response) => + response.request().method() === 'DELETE' && response.status() === 200 + ); + await page.click('[data-testid="confirm-button"]'); + await deleteAlert; + + await toastNotification(page, `"${displayName}" deleted successfully!`); +}; + +export const deleteAlert = async ( + page: Page, + alertDetails: AlertDetails, + isNotificationAlert = true +) => { + if (isNotificationAlert) { + await visitNotificationAlertPage(page); + } else { + await visitObservabilityAlertPage(page); + } + await findPageWithAlert(page, alertDetails); + await deleteAlertSteps( + page, + alertDetails.name, + getEntityDisplayName(alertDetails) + ); +}; + export const visitEditAlertPage = async ( page: Page, alertDetails: AlertDetails, @@ -107,34 +244,15 @@ export const visitAlertDetailsPage = async ( const getAlertDetails = page.waitForResponse( '/api/v1/events/subscriptions/name/*' ); + const getEventRecords = page.waitForResponse( + '/api/v1/events/subscriptions/name/*/eventsRecord?listCountOnly=true' + ); await page .locator(`[data-row-key="${alertDetails.id}"]`) .getByText(getEntityDisplayName(alertDetails)) .click(); await getAlertDetails; -}; - -export const deleteAlertSteps = async ( - page: Page, - name: string, - displayName: string -) => { - await page.getByTestId(`alert-delete-${name}`).click(); - - await expect(page.locator('.ant-modal-header')).toHaveText( - `Delete subscription "${displayName}"` - ); - - await page.fill('[data-testid="confirmation-text-input"]', DELETE_TERM); - - const deleteAlert = page.waitForResponse( - (response) => - response.request().method() === 'DELETE' && response.status() === 200 - ); - await page.click('[data-testid="confirm-button"]'); - await deleteAlert; - - await toastNotification(page, `"${displayName}" deleted successfully!`); + await getEventRecords; }; export const addOwnerFilter = async ({ @@ -221,70 +339,35 @@ export const addEntityFQNFilter = async ({ export const addEventTypeFilter = async ({ page, filterNumber, - eventType, + eventTypes, exclude = false, }: { page: Page; filterNumber: number; - eventType: string; + eventTypes: string[]; exclude?: boolean; }) => { // Select event type filter await page.click(`[data-testid="filter-select-${filterNumber}"]`); await page.click(`[data-testid="Event Type-filter-option"]:visible`); - // Search and select event type - await page.fill( - '[data-testid="event-type-select"] [role="combobox"]', - eventType, - { - force: true, - } - ); - await page.click( - `.ant-select-dropdown:visible [title="${startCase(eventType)}"]` - ); - - await expect(page.getByTestId('event-type-select')).toHaveText( - startCase(eventType) - ); + for (const eventType of eventTypes) { + // Search and select event type + await page.fill( + '[data-testid="event-type-select"] [role="combobox"]', + eventType, + { + force: true, + } + ); + await page.click( + `.ant-select-dropdown:visible [title="${startCase(eventType)}"]` + ); - if (exclude) { - // Change filter effect - await page.click(`[data-testid="filter-switch-${filterNumber}"]`); + await expect( + page.getByTestId('event-type-select').getByTitle(startCase(eventType)) + ).toBeAttached(); } -}; - -export const addFilterWithUsersListInput = async ({ - page, - filterTestId, - filterNumber, - updaterName, - exclude = false, -}: { - page: Page; - filterTestId: string; - filterNumber: number; - updaterName: string; - exclude?: boolean; -}) => { - // Select updater name filter - await page.click(`[data-testid="filter-select-${filterNumber}"]`); - await page.click(`[data-testid="${filterTestId}"]:visible`); - - // Search and select user - const getSearchResult = page.waitForResponse('/api/v1/search/query?q=*'); - await page.fill( - '[data-testid="user-name-select"] [role="combobox"]', - updaterName, - { - force: true, - } - ); - await getSearchResult; - await page.click(`.ant-select-dropdown:visible [title="${updaterName}"]`); - - await expect(page.getByTestId('user-name-select')).toHaveText(updaterName); if (exclude) { // Change filter effect @@ -356,126 +439,6 @@ export const addGMEFilter = async ({ } }; -export const addInternalDestination = async ({ - page, - destinationNumber, - category, - typeId, - type = '', - searchText = '', -}: { - page: Page; - destinationNumber: number; - category: string; - typeId?: string; - type?: string; - searchText?: string; -}) => { - // Select destination category - await page.click( - `[data-testid="destination-category-select-${destinationNumber}"]` - ); - await page.click(`[data-testid="${category}-internal-option"]:visible`); - - // Select the receivers - if (typeId) { - if (category === 'Teams' || category === 'Users') { - await page.click( - `[data-testid="destination-${destinationNumber}"] [data-testid="dropdown-trigger-button"]` - ); - const getSearchResult = page.waitForResponse('/api/v1/search/query?q=*'); - await page.fill( - `[data-testid="team-user-select-dropdown-${destinationNumber}"]:visible [data-testid="search-input"]`, - searchText - ); - - await getSearchResult; - await page.click( - `.ant-dropdown:visible [data-testid="${searchText}-option-label"]` - ); - } else { - const getSearchResult = page.waitForResponse('/api/v1/search/query?q=*'); - await page.fill(`[data-testid="${typeId}"]`, searchText); - await getSearchResult; - await page.click(`.ant-select-dropdown:visible [title="${searchText}"]`); - } - await clickOutside(page); - } - - // Select destination type - await page.click( - `[data-testid="destination-type-select-${destinationNumber}"]` - ); - await page.click( - `.select-options-container [data-testid="${type}-external-option"]:visible` - ); - - // Check the added destination type - await expect( - page - .getByTestId(`destination-type-select-${destinationNumber}`) - .getByTestId(`${type}-external-option`) - ).toBeAttached(); -}; - -export const addExternalDestination = async ({ - page, - destinationNumber, - category, - secretKey, - input = '', -}: { - page: Page; - destinationNumber: number; - category: string; - input?: string; - secretKey?: string; -}) => { - // Select destination category - await page.click( - `[data-testid="destination-category-select-${destinationNumber}"]` - ); - - // Select external tab - await page.click(`[data-testid="tab-label-external"]:visible`); - - // Select destination category option - await page.click( - `[data-testid="destination-category-dropdown-${destinationNumber}"]:visible [data-testid="${category}-external-option"]:visible` - ); - - // Input the destination receivers value - if (category === 'Email') { - await page.fill( - `[data-testid="email-input-${destinationNumber}"] [role="combobox"]`, - input - ); - await page.keyboard.press('Enter'); - } else { - await page.fill( - `[data-testid="endpoint-input-${destinationNumber}"]`, - input - ); - } - - // Input the secret key value - if (category === 'Webhook' && secretKey) { - await page - .getByTestId(`destination-${destinationNumber}`) - .getByText('Advanced Configuration') - .click(); - - await expect( - page.getByTestId(`secret-key-input-${destinationNumber}`) - ).toBeVisible(); - - await page.fill( - `[data-testid="secret-key-input-${destinationNumber}"]`, - secretKey - ); - } -}; - const checkActionOrFilterDetails = async ({ page, filters, @@ -670,7 +633,7 @@ export const addMultipleFilters = async ({ await addEventTypeFilter({ page, filterNumber: 2, - eventType: 'entityCreated', + eventTypes: ['entityCreated'], }); // Add users list filter @@ -773,245 +736,189 @@ export const saveAlertAndVerifyResponse = async (page: Page) => { return data.alertDetails; }; -export const deleteAlert = async ( - page: Page, - alertDetails: AlertDetails, - isNotificationAlert = true -) => { - if (isNotificationAlert) { - await visitNotificationAlertPage(page); - } else { - await visitObservabilityAlertPage(page); +export const createAlert = async ({ + page, + alertName, + sourceName, + sourceDisplayName, + user, + createButtonId, + selectId, + addTrigger = false, +}: { + page: Page; + alertName: string; + sourceName: string; + sourceDisplayName: string; + user: UserClass; + createButtonId?: string; + selectId?: string; + addTrigger?: boolean; +}) => { + await inputBasicAlertInformation({ + page, + name: alertName, + sourceName, + sourceDisplayName, + createButtonId, + }); + + // Select filters + await page.click('[data-testid="add-filters"]'); + + await addOwnerFilter({ + page, + filterNumber: 0, + ownerName: user.getUserName(), + selectId, + }); + + if (addTrigger) { + // Select trigger + await page.click('[data-testid="add-trigger"]'); + + await addGetSchemaChangesAction({ + page, + filterNumber: 0, + }); + + await page.getByTestId('connection-timeout-input').clear(); + await page.fill('[data-testid="connection-timeout-input"]', '26'); } - await findPageWithAlert(page, alertDetails); - await deleteAlertSteps( + + // Select Destination + await page.click('[data-testid="add-destination-button"]'); + + await addInternalDestination({ page, - alertDetails.name, - getEntityDisplayName(alertDetails) - ); + destinationNumber: 0, + category: 'Admins', + type: 'Email', + }); + + return await saveAlertAndVerifyResponse(page); }; -export const getObservabilityCreationDetails = ({ - tableName1, - tableName2, - testCaseName, - ingestionPipelineName, - domainName, - domainDisplayName, - userName, - testSuiteFQN, +export const waitForRecentEventsToFinishExecution = async ( + page: Page, + name: string, + totalEventsCount: number +) => { + const { apiContext } = await getApiContext(page); + + await expect + .poll( + async () => { + const response = await apiContext + .get( + `/api/v1/events/subscriptions/name/${name}/eventsRecord?listCountOnly=true` + ) + .then((res) => res.json()); + + return ( + response.pendingEventsCount === 0 && + response.totalEventsCount === totalEventsCount + ); + }, + { + // Custom expect message for reporting, optional. + message: 'Wait for pending events to complete', + intervals: [5_000, 10_000, 15_000], + timeout: 600_000, + } + ) + // Move ahead when the pending events count is 0 + .toEqual(true); +}; + +export const checkRecentEventDetails = async ({ + page, + alertDetails, + table, + totalEventsCount, }: { - tableName1: string; - tableName2: string; - testCaseName: string; - ingestionPipelineName: string; - domainName: string; - domainDisplayName: string; - userName: string; - testSuiteFQN: string; -}): Array => { - return [ - { - source: 'table', - sourceDisplayName: 'Table', - filters: [ - { - name: 'Table Name', - inputSelector: 'fqn-list-select', - inputValue: tableName1, - exclude: true, - }, - { - name: 'Domain', - inputSelector: 'domain-select', - inputValue: domainName, - inputValueId: domainDisplayName, - exclude: false, - }, - { - name: 'Owner Name', - inputSelector: 'owner-name-select', - inputValue: userName, - exclude: true, - }, - ], - actions: [ - { - name: 'Get Schema Changes', - exclude: true, - }, - { - name: 'Get Table Metrics Updates', - exclude: false, - }, - ], - destinations: [ - { - mode: 'internal', - category: 'Owners', - type: 'Email', - }, - { - mode: 'external', - category: 'Webhook', - inputValue: 'https://webhook.com', - secretKey: 'secret_key', - }, - ], - }, - { - source: 'ingestionPipeline', - sourceDisplayName: 'Ingestion Pipeline', - filters: [ - { - name: 'Ingestion Pipeline Name', - inputSelector: 'fqn-list-select', - inputValue: ingestionPipelineName, - exclude: false, - }, - { - name: 'Domain', - inputSelector: 'domain-select', - inputValue: domainName, - inputValueId: domainDisplayName, - exclude: false, - }, - { - name: 'Owner Name', - inputSelector: 'owner-name-select', - inputValue: userName, - exclude: true, - }, - ], - actions: [ - { - name: 'Get Ingestion Pipeline Status Updates', - inputs: [ - { - inputSelector: 'pipeline-status-select', - inputValue: 'Queued', - }, - ], - exclude: false, - }, - ], - destinations: [ - { - mode: 'internal', - category: 'Owners', - type: 'Email', - }, - { - mode: 'external', - category: 'Email', - inputValue: 'test@example.com', - }, - ], - }, - { - source: 'testCase', - sourceDisplayName: 'Test case', - filters: [ - { - name: 'Test Case Name', - inputSelector: 'fqn-list-select', - inputValue: testCaseName, - exclude: true, - }, - { - name: 'Domain', - inputSelector: 'domain-select', - inputValue: domainName, - inputValueId: domainDisplayName, - exclude: false, - }, - { - name: 'Owner Name', - inputSelector: 'owner-name-select', - inputValue: userName, - exclude: true, - }, - { - name: 'Table Name A Test Case Belongs To', - inputSelector: 'table-name-select', - inputValue: tableName2, - exclude: false, - }, - ], - actions: [ - { - name: 'Get Test Case Status Updates', - inputs: [ - { - inputSelector: 'test-result-select', - inputValue: 'Success', - }, - ], - exclude: false, - }, - { - name: 'Get Test Case Status Updates belonging to a Test Suite', - inputs: [ - { - inputSelector: 'test-suite-select', - inputValue: testSuiteFQN, - waitForAPI: true, - }, - { - inputSelector: 'test-status-select', - inputValue: 'Failed', - }, - ], - exclude: false, - }, - ], - destinations: [ - { - mode: 'internal', - category: 'Users', - inputSelector: 'User-select', - inputValue: userName, - type: 'Email', - }, - { - mode: 'external', - category: 'Webhook', - inputValue: 'https://webhook.com', - }, - ], - }, - { - source: 'testSuite', - sourceDisplayName: 'Test Suite', - filters: [ - { - name: 'Test Suite Name', - inputSelector: 'fqn-list-select', - inputValue: testSuiteFQN, - exclude: true, - }, - { - name: 'Domain', - inputSelector: 'domain-select', - inputValue: domainName, - inputValueId: domainDisplayName, - exclude: false, - }, - { - name: 'Owner Name', - inputSelector: 'owner-name-select', - inputValue: userName, - exclude: false, - }, - ], - actions: [], - destinations: [ - { - mode: 'external', - category: 'Slack', - inputValue: 'https://slack.com', - }, - ], - }, - ]; + page: Page; + alertDetails: AlertDetails; + table: TableClass; + totalEventsCount: number; +}) => { + await expect(page.getByTestId('total-events-count')).toHaveText( + `Total Events: ${totalEventsCount}` + ); + + await expect(page.getByTestId('failed-events-count')).toHaveText( + 'Failed Events: 0' + ); + + // Verify Recent Events tab + const getRecentEvents = page.waitForResponse( + (response) => + response + .url() + .includes( + `/api/v1/events/subscriptions/id/${alertDetails.id}/listEvents?limit=15&paginationOffset=0` + ) && + response.request().method() === 'GET' && + response.status() === 200 + ); + + await page.getByRole('tab').getByText('Recent Events').click(); + + await getRecentEvents.then(async (response) => { + const recentEvents: EventDetails[] = (await response.json()).data; + + // Check the event details + for (const event of recentEvents) { + // Open collapse + await page.getByTestId(`event-collapse-${event.data[0].id}`).click(); + + await page.waitForSelector( + `[data-testid="event-details-${event.data[0].id}"]` + ); + + // Check if table id is present in event details + await expect( + page + .getByTestId(`event-details-${event.data[0].id}`) + .getByTestId('event-data-entityId') + .getByTestId('event-data-value') + ).toContainText((table.entityResponseData as { id: string }).id); + + // Check if event type is present in event details + await expect( + page + .getByTestId(`event-details-${event.data[0].id}`) + .getByTestId('event-data-eventType') + .getByTestId('event-data-value') + ).toContainText(event.data[0].eventType); + + // Close collapse + await page.getByTestId(`event-collapse-${event.data[0].id}`).click(); + } + }); + + await page.getByTestId('filter-button').click(); + + await page.waitForSelector( + '.ant-dropdown-menu[role="menu"] [data-menu-id*="failed"]' + ); + + const getFailedEvents = page.waitForResponse( + (response) => + response + .url() + .includes( + `/api/v1/events/subscriptions/id/${alertDetails.id}/listEvents?status=failed&limit=15&paginationOffset=0` + ) && + response.request().method() === 'GET' && + response.status() === 200 + ); + + await page.click('.ant-dropdown-menu[role="menu"] [data-menu-id*="failed"]'); + + await getFailedEvents.then(async (response) => { + const failedEvents: EventDetails[] = (await response.json()).data; + + expect(failedEvents).toHaveLength(0); + }); }; diff --git a/openmetadata-ui/src/main/resources/ui/playwright/utils/entity.ts b/openmetadata-ui/src/main/resources/ui/playwright/utils/entity.ts index ee90bd1c754c..42b2d3db4e15 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/utils/entity.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/utils/entity.ts @@ -318,13 +318,23 @@ export const removeTier = async (page: Page) => { await expect(page.getByTestId('Tier')).toContainText('No Tier'); }; -export const updateDescription = async (page: Page, description: string) => { +export const updateDescription = async ( + page: Page, + description: string, + isModal = false +) => { await page.getByTestId('edit-description').click(); await page.locator('.ProseMirror').first().click(); await page.locator('.ProseMirror').first().clear(); await page.locator('.ProseMirror').first().fill(description); await page.getByTestId('save').click(); + if (isModal) { + await page.waitForSelector('[role="dialog"].description-markdown-editor', { + state: 'hidden', + }); + } + isEmpty(description) ? await expect( page.getByTestId('asset-description-container') diff --git a/openmetadata-ui/src/main/resources/ui/playwright/utils/notificationAlert.ts b/openmetadata-ui/src/main/resources/ui/playwright/utils/notificationAlert.ts new file mode 100644 index 000000000000..45ff9d05482c --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/playwright/utils/notificationAlert.ts @@ -0,0 +1,540 @@ +/* + * Copyright 2024 Collate. + * 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 { expect, Page } from '@playwright/test'; +import { ALERT_UPDATED_DESCRIPTION } from '../constant/alert'; +import { AlertDetails } from '../constant/alert.interface'; +import { SidebarItem } from '../constant/sidebar'; +import { Domain } from '../support/domain/Domain'; +import { DashboardClass } from '../support/entity/DashboardClass'; +import { EntityTypeEndpoint } from '../support/entity/Entity.interface'; +import { TableClass } from '../support/entity/TableClass'; +import { UserClass } from '../support/user/UserClass'; +import { + addEntityFQNFilter, + addEventTypeFilter, + addMultipleFilters, + checkRecentEventDetails, + inputBasicAlertInformation, + saveAlertAndVerifyResponse, + visitAlertDetailsPage, + visitEditAlertPage, + waitForRecentEventsToFinishExecution, +} from './alert'; +import { clickOutside, descriptionBox, redirectToHomePage } from './common'; +import { addMultiOwner, updateDescription } from './entity'; +import { addExternalDestination } from './observabilityAlert'; +import { sidebarClick } from './sidebar'; + +export const visitNotificationAlertPage = async (page: Page) => { + await redirectToHomePage(page); + await sidebarClick(page, SidebarItem.SETTINGS); + const getAlerts = page.waitForResponse('/api/v1/events/subscriptions?*'); + const getActivityFeedAlertDetails = page.waitForResponse( + '/api/v1/events/subscriptions/name/ActivityFeedAlert?include=all' + ); + await page.click('[data-testid="notifications"]'); + await getAlerts; + await getActivityFeedAlertDetails; +}; + +export const addFilterWithUsersListInput = async ({ + page, + filterTestId, + filterNumber, + updaterName, + exclude = false, +}: { + page: Page; + filterTestId: string; + filterNumber: number; + updaterName: string; + exclude?: boolean; +}) => { + // Select updater name filter + await page.click(`[data-testid="filter-select-${filterNumber}"]`); + await page.click(`[data-testid="${filterTestId}"]:visible`); + + // Search and select user + const getSearchResult = page.waitForResponse('/api/v1/search/query?q=*'); + await page.fill( + '[data-testid="user-name-select"] [role="combobox"]', + updaterName, + { + force: true, + } + ); + await getSearchResult; + await page.click(`.ant-select-dropdown:visible [title="${updaterName}"]`); + + await expect(page.getByTestId('user-name-select')).toHaveText(updaterName); + + if (exclude) { + // Change filter effect + await page.click(`[data-testid="filter-switch-${filterNumber}"]`); + } +}; + +export const addInternalDestination = async ({ + page, + destinationNumber, + category, + typeId, + type = '', + searchText = '', +}: { + page: Page; + destinationNumber: number; + category: string; + typeId?: string; + type?: string; + searchText?: string; +}) => { + // Select destination category + await page.click( + `[data-testid="destination-category-select-${destinationNumber}"]` + ); + await page.click(`[data-testid="${category}-internal-option"]:visible`); + + // Select the receivers + if (typeId) { + if (category === 'Teams' || category === 'Users') { + await page.click( + `[data-testid="destination-${destinationNumber}"] [data-testid="dropdown-trigger-button"]` + ); + const getSearchResult = page.waitForResponse('/api/v1/search/query?q=*'); + await page.fill( + `[data-testid="team-user-select-dropdown-${destinationNumber}"]:visible [data-testid="search-input"]`, + searchText + ); + + await getSearchResult; + await page.click( + `.ant-dropdown:visible [data-testid="${searchText}-option-label"]` + ); + } else { + const getSearchResult = page.waitForResponse('/api/v1/search/query?q=*'); + await page.fill(`[data-testid="${typeId}"]`, searchText); + await getSearchResult; + await page.click(`.ant-select-dropdown:visible [title="${searchText}"]`); + } + await clickOutside(page); + } + + // Select destination type + await page.click( + `[data-testid="destination-type-select-${destinationNumber}"]` + ); + await page.click( + `.select-options-container [data-testid="${type}-external-option"]:visible` + ); + + // Check the added destination type + await expect( + page + .getByTestId(`destination-type-select-${destinationNumber}`) + .getByTestId(`${type}-external-option`) + ).toBeAttached(); +}; + +export const editSingleFilterAlert = async ({ + page, + alertDetails, + sourceName, + sourceDisplayName, + user1, + user2, + domain, + dashboard, +}: { + page: Page; + alertDetails: AlertDetails; + sourceName: string; + sourceDisplayName: string; + user1: UserClass; + user2: UserClass; + domain: Domain; + dashboard: DashboardClass; +}) => { + await visitEditAlertPage(page, alertDetails); + + // Update description + await page.locator(descriptionBox).clear(); + await page.locator(descriptionBox).fill(ALERT_UPDATED_DESCRIPTION); + + // Update source + await page.click('[data-testid="source-select"]'); + await page + .getByTestId(`${sourceName}-option`) + .getByText(sourceDisplayName) + .click(); + + // Filters should reset after source change + await expect(page.getByTestId('filter-select-0')).not.toBeAttached(); + + await addMultipleFilters({ + page, + user1, + user2, + domain, + dashboard, + }); + + await page.getByTestId('connection-timeout-input').clear(); + await page.fill('[data-testid="connection-timeout-input"]', '26'); + + // Add owner GChat destination + await page.click('[data-testid="add-destination-button"]'); + await addInternalDestination({ + page, + destinationNumber: 0, + category: 'Owners', + type: 'G Chat', + }); + + // Add team Slack destination + await page.click('[data-testid="add-destination-button"]'); + await addInternalDestination({ + page, + destinationNumber: 1, + category: 'Teams', + type: 'Slack', + typeId: 'Team-select', + searchText: 'Organization', + }); + + // Add user email destination + await page.click('[data-testid="add-destination-button"]'); + await addInternalDestination({ + page, + destinationNumber: 2, + category: 'Users', + type: 'Email', + typeId: 'User-select', + searchText: user1.getUserName(), + }); +}; + +export const createAlertWithMultipleFilters = async ({ + page, + alertName, + sourceName, + sourceDisplayName, + user1, + user2, + domain, + dashboard, +}: { + page: Page; + alertName: string; + sourceName: string; + sourceDisplayName: string; + user1: UserClass; + user2: UserClass; + domain: Domain; + dashboard: DashboardClass; +}) => { + await inputBasicAlertInformation({ + page, + name: alertName, + sourceName, + sourceDisplayName, + }); + + await addMultipleFilters({ + page, + user1, + user2, + domain, + dashboard, + }); + + await page.click('[data-testid="add-destination-button"]'); + await addInternalDestination({ + page, + destinationNumber: 0, + category: 'Followers', + type: 'Email', + }); + await page.click('[data-testid="add-destination-button"]'); + await addExternalDestination({ + page, + destinationNumber: 1, + category: 'Email', + input: 'test@example.com', + }); + await page.click('[data-testid="add-destination-button"]'); + await addExternalDestination({ + page, + destinationNumber: 2, + category: 'G Chat', + input: 'https://gchat.com', + }); + await page.click('[data-testid="add-destination-button"]'); + await addExternalDestination({ + page, + destinationNumber: 3, + category: 'Webhook', + input: 'https://webhook.com', + }); + await page.click('[data-testid="add-destination-button"]'); + await addExternalDestination({ + page, + destinationNumber: 4, + category: 'Ms Teams', + input: 'https://msteams.com', + }); + await page.click('[data-testid="add-destination-button"]'); + await addExternalDestination({ + page, + destinationNumber: 5, + category: 'Slack', + input: 'https://slack.com', + }); + + return await saveAlertAndVerifyResponse(page); +}; + +export const createTaskAlert = async ({ + page, + alertName, + sourceName, + sourceDisplayName, +}: { + page: Page; + alertName: string; + sourceName: string; + sourceDisplayName: string; +}) => { + await inputBasicAlertInformation({ + page, + name: alertName, + sourceName, + sourceDisplayName, + }); + + // Select Destination + await page.click('[data-testid="add-destination-button"]'); + await addInternalDestination({ + page, + destinationNumber: 0, + category: 'Owners', + type: 'Email', + }); + await page.click('[data-testid="add-destination-button"]'); + await addInternalDestination({ + page, + destinationNumber: 1, + category: 'Assignees', + type: 'Email', + }); + + return await saveAlertAndVerifyResponse(page); +}; + +export const createConversationAlert = async ({ + page, + alertName, + sourceName, + sourceDisplayName, +}: { + page: Page; + alertName: string; + sourceName: string; + sourceDisplayName: string; +}) => { + await inputBasicAlertInformation({ + page, + name: alertName, + sourceName, + sourceDisplayName, + }); + + // Select Destination + await page.click('[data-testid="add-destination-button"]'); + await addInternalDestination({ + page, + destinationNumber: 0, + category: 'Owners', + type: 'Email', + }); + + return await saveAlertAndVerifyResponse(page); +}; + +export const checkAlertConfigDetails = async ({ + page, + sourceName, +}: { + page: Page; + sourceName: string; +}) => { + // Verify alert configs + await expect(page.getByTestId('source-select')).toHaveText(sourceName); + + await expect(page.getByTestId('filter-select-0')).toHaveText('Event Type'); + await expect( + page.getByTestId('event-type-select').getByTitle('Entity Restored') + ).toBeAttached(); + await expect( + page.getByTestId('event-type-select').getByTitle('Entity Soft Deleted') + ).toBeAttached(); + + await expect(page.getByTestId('filter-select-1')).toHaveText('Entity FQN'); + + await expect(page.getByTestId('destination-category-select-0')).toHaveText( + 'Owners' + ); + await expect(page.getByTestId('destination-type-select-0')).toHaveText( + 'Email' + ); +}; + +export const checkAlertDetailsForWithPermissionUser = async ({ + page, + alertDetails, + sourceName, + table, + user, +}: { + page: Page; + alertDetails: AlertDetails; + sourceName: string; + table: TableClass; + user: UserClass; +}) => { + await visitNotificationAlertPage(page); + await visitAlertDetailsPage(page, alertDetails); + + // Change alert owner + await addMultiOwner({ + page, + ownerNames: [user.responseData.displayName], + activatorBtnDataTestId: 'edit-owner', + endpoint: EntityTypeEndpoint.NotificationAlert, + type: 'Users', + }); + + // UpdateDescription + await updateDescription(page, ALERT_UPDATED_DESCRIPTION, true); + + // Check other configs + await checkAlertConfigDetails({ page, sourceName }); + await checkRecentEventDetails({ + page, + alertDetails, + table, + totalEventsCount: 2, + }); +}; + +export const checkAlertFlowForWithoutPermissionUser = async ({ + page, + alertDetails, + sourceName, + table, +}: { + page: Page; + alertDetails: AlertDetails; + sourceName: string; + table: TableClass; +}) => { + await visitNotificationAlertPage(page); + + await expect(page.getByTestId('create-notification')).not.toBeAttached(); + + await expect( + page.getByTestId(`alert-edit-${alertDetails.name}`) + ).not.toBeAttached(); + + await expect( + page.getByTestId(`alert-delete-${alertDetails.name}`) + ).not.toBeAttached(); + + // Wait for events to finish execution + await waitForRecentEventsToFinishExecution(page, alertDetails.name, 2); + + await visitAlertDetailsPage(page, alertDetails); + + await expect(page.getByTestId('edit-owner')).not.toBeAttached(); + + await expect(page.getByTestId('edit-description')).not.toBeAttached(); + + await expect(page.getByTestId('edit-button')).not.toBeAttached(); + + await expect(page.getByTestId('delete-button')).not.toBeAttached(); + + await checkAlertConfigDetails({ page, sourceName }); + await checkRecentEventDetails({ + page, + alertDetails, + table, + totalEventsCount: 2, + }); +}; + +export const createAlertForRecentEventsCheck = async ({ + page, + alertName, + sourceName, + sourceDisplayName, + createButtonId, + table, +}: { + page: Page; + alertName: string; + sourceName: string; + sourceDisplayName: string; + user: UserClass; + createButtonId?: string; + selectId?: string; + addTrigger?: boolean; + table: TableClass; +}) => { + await inputBasicAlertInformation({ + page, + name: alertName, + sourceName, + sourceDisplayName, + createButtonId, + }); + + // Add entityFQN filter + await page.click('[data-testid="add-filters"]'); + await addEntityFQNFilter({ + page, + filterNumber: 0, + entityFQN: (table.entityResponseData as { fullyQualifiedName: string }) + .fullyQualifiedName, + }); + + // Add event type filter + await page.click('[data-testid="add-filters"]'); + await addEventTypeFilter({ + page, + filterNumber: 1, + eventTypes: ['entitySoftDeleted', 'entityRestored'], + }); + + // Select Destination + await page.click('[data-testid="add-destination-button"]'); + + await addInternalDestination({ + page, + destinationNumber: 0, + category: 'Owners', + type: 'Email', + }); + + return await saveAlertAndVerifyResponse(page); +}; diff --git a/openmetadata-ui/src/main/resources/ui/playwright/utils/observabilityAlert.ts b/openmetadata-ui/src/main/resources/ui/playwright/utils/observabilityAlert.ts new file mode 100644 index 000000000000..ef68c74b5a88 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/playwright/utils/observabilityAlert.ts @@ -0,0 +1,712 @@ +/* + * Copyright 2024 Collate. + * 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 { expect, Page } from '@playwright/test'; +import { ALERT_UPDATED_DESCRIPTION } from '../constant/alert'; +import { + AlertDetails, + ObservabilityCreationDetails, +} from '../constant/alert.interface'; +import { SidebarItem } from '../constant/sidebar'; +import { Domain } from '../support/domain/Domain'; +import { EntityTypeEndpoint } from '../support/entity/Entity.interface'; +import { PipelineClass } from '../support/entity/PipelineClass'; +import { TableClass } from '../support/entity/TableClass'; +import { UserClass } from '../support/user/UserClass'; +import { + addDomainFilter, + addEntityFQNFilter, + addOwnerFilter, + addPipelineStatusUpdatesAction, + checkRecentEventDetails, + inputBasicAlertInformation, + visitAlertDetailsPage, + visitEditAlertPage, + waitForRecentEventsToFinishExecution, +} from './alert'; +import { clickOutside, descriptionBox, redirectToHomePage } from './common'; +import { addMultiOwner, updateDescription } from './entity'; +import { addInternalDestination } from './notificationAlert'; +import { sidebarClick } from './sidebar'; + +export const visitObservabilityAlertPage = async (page: Page) => { + await redirectToHomePage(page); + const getAlerts = page.waitForResponse( + '/api/v1/events/subscriptions?*alertType=Observability*' + ); + await sidebarClick(page, SidebarItem.OBSERVABILITY_ALERT); + await getAlerts; +}; + +export const addExternalDestination = async ({ + page, + destinationNumber, + category, + secretKey, + input = '', +}: { + page: Page; + destinationNumber: number; + category: string; + input?: string; + secretKey?: string; +}) => { + // Select destination category + await page.click( + `[data-testid="destination-category-select-${destinationNumber}"]` + ); + + // Select external tab + await page.click(`[data-testid="tab-label-external"]:visible`); + + // Select destination category option + await page.click( + `[data-testid="destination-category-dropdown-${destinationNumber}"]:visible [data-testid="${category}-external-option"]:visible` + ); + + // Input the destination receivers value + if (category === 'Email') { + await page.fill( + `[data-testid="email-input-${destinationNumber}"] [role="combobox"]`, + input + ); + await page.keyboard.press('Enter'); + } else { + await page.fill( + `[data-testid="endpoint-input-${destinationNumber}"]`, + input + ); + } + + // Input the secret key value + if (category === 'Webhook' && secretKey) { + await page + .getByTestId(`destination-${destinationNumber}`) + .getByText('Advanced Configuration') + .click(); + + await expect( + page.getByTestId(`secret-key-input-${destinationNumber}`) + ).toBeVisible(); + + await page.fill( + `[data-testid="secret-key-input-${destinationNumber}"]`, + secretKey + ); + } + + await clickOutside(page); +}; + +export const getObservabilityCreationDetails = ({ + tableName1, + tableName2, + testCaseName, + ingestionPipelineName, + domainName, + domainDisplayName, + userName, + testSuiteFQN, +}: { + tableName1: string; + tableName2: string; + testCaseName: string; + ingestionPipelineName: string; + domainName: string; + domainDisplayName: string; + userName: string; + testSuiteFQN: string; +}): Array => { + return [ + { + source: 'table', + sourceDisplayName: 'Table', + filters: [ + { + name: 'Table Name', + inputSelector: 'fqn-list-select', + inputValue: tableName1, + exclude: true, + }, + { + name: 'Domain', + inputSelector: 'domain-select', + inputValue: domainName, + inputValueId: domainDisplayName, + exclude: false, + }, + { + name: 'Owner Name', + inputSelector: 'owner-name-select', + inputValue: userName, + exclude: true, + }, + ], + actions: [ + { + name: 'Get Schema Changes', + exclude: true, + }, + { + name: 'Get Table Metrics Updates', + exclude: false, + }, + ], + destinations: [ + { + mode: 'internal', + category: 'Owners', + type: 'Email', + }, + { + mode: 'external', + category: 'Webhook', + inputValue: 'https://webhook.com', + secretKey: 'secret_key', + }, + ], + }, + { + source: 'ingestionPipeline', + sourceDisplayName: 'Ingestion Pipeline', + filters: [ + { + name: 'Ingestion Pipeline Name', + inputSelector: 'fqn-list-select', + inputValue: ingestionPipelineName, + exclude: false, + }, + { + name: 'Domain', + inputSelector: 'domain-select', + inputValue: domainName, + inputValueId: domainDisplayName, + exclude: false, + }, + { + name: 'Owner Name', + inputSelector: 'owner-name-select', + inputValue: userName, + exclude: true, + }, + ], + actions: [ + { + name: 'Get Ingestion Pipeline Status Updates', + inputs: [ + { + inputSelector: 'pipeline-status-select', + inputValue: 'Queued', + }, + ], + exclude: false, + }, + ], + destinations: [ + { + mode: 'internal', + category: 'Owners', + type: 'Email', + }, + { + mode: 'external', + category: 'Email', + inputValue: 'test@example.com', + }, + ], + }, + { + source: 'testCase', + sourceDisplayName: 'Test case', + filters: [ + { + name: 'Test Case Name', + inputSelector: 'fqn-list-select', + inputValue: testCaseName, + exclude: true, + }, + { + name: 'Domain', + inputSelector: 'domain-select', + inputValue: domainName, + inputValueId: domainDisplayName, + exclude: false, + }, + { + name: 'Owner Name', + inputSelector: 'owner-name-select', + inputValue: userName, + exclude: true, + }, + { + name: 'Table Name A Test Case Belongs To', + inputSelector: 'table-name-select', + inputValue: tableName2, + exclude: false, + }, + ], + actions: [ + { + name: 'Get Test Case Status Updates', + inputs: [ + { + inputSelector: 'test-result-select', + inputValue: 'Success', + }, + ], + exclude: false, + }, + { + name: 'Get Test Case Status Updates belonging to a Test Suite', + inputs: [ + { + inputSelector: 'test-suite-select', + inputValue: testSuiteFQN, + waitForAPI: true, + }, + { + inputSelector: 'test-status-select', + inputValue: 'Failed', + }, + ], + exclude: false, + }, + ], + destinations: [ + { + mode: 'internal', + category: 'Users', + inputSelector: 'User-select', + inputValue: userName, + type: 'Email', + }, + { + mode: 'external', + category: 'Webhook', + inputValue: 'https://webhook.com', + }, + ], + }, + { + source: 'testSuite', + sourceDisplayName: 'Test Suite', + filters: [ + { + name: 'Test Suite Name', + inputSelector: 'fqn-list-select', + inputValue: testSuiteFQN, + exclude: true, + }, + { + name: 'Domain', + inputSelector: 'domain-select', + inputValue: domainName, + inputValueId: domainDisplayName, + exclude: false, + }, + { + name: 'Owner Name', + inputSelector: 'owner-name-select', + inputValue: userName, + exclude: false, + }, + ], + actions: [], + destinations: [ + { + mode: 'external', + category: 'Slack', + inputValue: 'https://slack.com', + }, + ], + }, + ]; +}; + +export const editObservabilityAlert = async ({ + page, + alertDetails, + sourceName, + sourceDisplayName, + user, + domain, + pipeline, +}: { + page: Page; + alertDetails: AlertDetails; + sourceName: string; + sourceDisplayName: string; + user: UserClass; + domain: Domain; + pipeline: PipelineClass; +}) => { + await visitEditAlertPage(page, alertDetails, false); + + // Update description + await page.locator(descriptionBox).clear(); + await page.locator(descriptionBox).fill(ALERT_UPDATED_DESCRIPTION); + + // Update source + await page.click('[data-testid="source-select"]'); + await page + .getByTestId(`${sourceName}-option`) + .getByText(sourceDisplayName) + .click(); + + // Filters should reset after source change + await expect(page.getByTestId('filter-select-0')).not.toBeAttached(); + + // Add owner filter + await page.click('[data-testid="add-filters"]'); + await addOwnerFilter({ + page, + filterNumber: 0, + ownerName: user.getUserName(), + selectId: 'Owner Name', + }); + + // Add entityFQN filter + await page.click('[data-testid="add-filters"]'); + await addEntityFQNFilter({ + page, + filterNumber: 1, + entityFQN: (pipeline.entityResponseData as { fullyQualifiedName: string }) + .fullyQualifiedName, + selectId: 'Pipeline Name', + exclude: true, + }); + // Add domain filter + await page.click('[data-testid="add-filters"]'); + await addDomainFilter({ + page, + filterNumber: 2, + domainName: domain.responseData.name, + domainDisplayName: domain.responseData.displayName, + }); + + // Add trigger + await page.click('[data-testid="add-trigger"]'); + + await addPipelineStatusUpdatesAction({ + page, + filterNumber: 0, + statusName: 'Successful', + exclude: true, + }); + + // Add multiple destinations + await page.click('[data-testid="add-destination-button"]'); + await addInternalDestination({ + page, + destinationNumber: 0, + category: 'Owners', + type: 'G Chat', + }); + + // Add team Slack destination + await page.click('[data-testid="add-destination-button"]'); + await addInternalDestination({ + page, + destinationNumber: 1, + category: 'Teams', + type: 'Slack', + typeId: 'Team-select', + searchText: 'Organization', + }); +}; + +export const createCommonObservabilityAlert = async ({ + page, + alertName, + alertDetails, + sourceName, + sourceDisplayName, + filters, + actions, +}: { + page: Page; + alertName: string; + alertDetails: ObservabilityCreationDetails; + sourceName: string; + sourceDisplayName: string; + filters: { + name: string; + inputSelector: string; + inputValue: string; + inputValueId?: string; + exclude?: boolean; + }[]; + actions: { + name: string; + exclude?: boolean; + inputs?: Array<{ + inputSelector: string; + inputValue: string; + waitForAPI?: boolean; + }>; + }[]; +}) => { + await inputBasicAlertInformation({ + page, + name: alertName, + sourceName, + sourceDisplayName, + createButtonId: 'create-observability', + }); + + for (const filter of filters) { + const filterNumber = filters.indexOf(filter); + + await page.click('[data-testid="add-filters"]'); + + // Select filter + await page.click(`[data-testid="filter-select-${filterNumber}"]`); + await page.click( + `.ant-select-dropdown:visible [data-testid="${filter.name}-filter-option"]` + ); + + // Search and select filter input value + const searchOptions = page.waitForResponse('/api/v1/search/query?q=*'); + await page.fill( + `[data-testid="${filter.inputSelector}"] [role="combobox"]`, + filter.inputValue, + { + force: true, + } + ); + + await searchOptions; + + await page.click( + `.ant-select-dropdown:visible [title="${ + filter.inputValueId ?? filter.inputValue + }"]` + ); + + // Check if option is selected + await expect( + page.locator( + `[data-testid="${filter.inputSelector}"] [title="${ + filter.inputValueId ?? filter.inputValue + }"]` + ) + ).toBeAttached(); + + if (filter.exclude) { + // Change filter effect + await page.click(`[data-testid="filter-switch-${filterNumber}"]`); + } + } + + // Add triggers + for (const action of actions) { + const actionNumber = actions.indexOf(action); + + await page.click('[data-testid="add-trigger"]'); + + // Select action + await page.click(`[data-testid="trigger-select-${actionNumber}"]`); + + // Adding the dropdown visibility check to avoid flakiness here + await page.waitForSelector(`.ant-select-dropdown:visible`, { + state: 'visible', + }); + await page.click( + `.ant-select-dropdown:visible [data-testid="${action.name}-filter-option"]:visible` + ); + await page.waitForSelector(`.ant-select-dropdown:visible`, { + state: 'hidden', + }); + + if (action.inputs && action.inputs.length > 0) { + for (const input of action.inputs) { + const getSearchResult = page.waitForResponse( + '/api/v1/search/query?q=*' + ); + await page.fill( + `[data-testid="${input.inputSelector}"] [role="combobox"]`, + input.inputValue, + { + force: true, + } + ); + if (input.waitForAPI) { + await getSearchResult; + } + await page.click(`[title="${input.inputValue}"]:visible`); + + // eslint-disable-next-line jest/no-conditional-expect + await expect(page.getByTestId(input.inputSelector)).toHaveText( + input.inputValue + ); + + await clickOutside(page); + } + } + + if (action.exclude) { + // Change filter effect + await page.click(`[data-testid="trigger-switch-${actionNumber}"]`); + } + } + + // Add Destinations + for (const destination of alertDetails.destinations) { + const destinationNumber = alertDetails.destinations.indexOf(destination); + + await page.click('[data-testid="add-destination-button"]'); + + if (destination.mode === 'internal') { + await addInternalDestination({ + page, + destinationNumber, + category: destination.category, + type: destination.type, + typeId: destination.inputSelector, + searchText: destination.inputValue, + }); + } else { + await addExternalDestination({ + page, + destinationNumber, + category: destination.category, + input: destination.inputValue, + secretKey: destination.secretKey, + }); + } + } +}; + +export const checkAlertConfigDetails = async ({ + page, + sourceName, + tableName, +}: { + page: Page; + sourceName: string; + tableName: string; +}) => { + // Verify alert configs + await expect(page.getByTestId('source-select')).toHaveText(sourceName); + + await expect(page.getByTestId('filter-select-0')).toHaveText('Table Name'); + await expect( + page.getByTestId('fqn-list-select').getByTitle(tableName) + ).toBeAttached(); + + await expect( + page + .getByTestId('trigger-select-0') + .getByTestId('Get Schema Changes-filter-option') + ).toBeAttached(); + + await expect( + page + .getByTestId('destination-category-select-0') + .getByTestId('Slack-external-option') + ).toBeAttached(); + await expect(page.getByTestId('endpoint-input-0')).toHaveValue( + 'https://slack.com' + ); +}; + +export const checkAlertFlowForWithoutPermissionUser = async ({ + page, + alertDetails, + sourceName, + table, +}: { + page: Page; + alertDetails: AlertDetails; + sourceName: string; + table: TableClass; +}) => { + await visitObservabilityAlertPage(page); + + await expect(page.getByTestId('create-observability')).not.toBeAttached(); + + await expect( + page.getByTestId(`alert-edit-${alertDetails.name}`) + ).not.toBeAttached(); + + await expect( + page.getByTestId(`alert-delete-${alertDetails.name}`) + ).not.toBeAttached(); + + // Wait for events to finish execution + await waitForRecentEventsToFinishExecution(page, alertDetails.name, 1); + + await visitAlertDetailsPage(page, alertDetails); + + await expect(page.getByTestId('edit-owner')).not.toBeAttached(); + + await expect(page.getByTestId('edit-description')).not.toBeAttached(); + + await expect(page.getByTestId('edit-button')).not.toBeAttached(); + + await expect(page.getByTestId('delete-button')).not.toBeAttached(); + + await checkAlertConfigDetails({ + page, + sourceName, + tableName: table.entity.name, + }); + await checkRecentEventDetails({ + page, + alertDetails, + table, + totalEventsCount: 1, + }); +}; + +export const checkAlertDetailsForWithPermissionUser = async ({ + page, + alertDetails, + sourceName, + table, + user, +}: { + page: Page; + alertDetails: AlertDetails; + sourceName: string; + table: TableClass; + user: UserClass; +}) => { + await visitObservabilityAlertPage(page); + await visitAlertDetailsPage(page, alertDetails); + + // Change alert owner + await addMultiOwner({ + page, + ownerNames: [user.responseData.displayName], + activatorBtnDataTestId: 'edit-owner', + endpoint: EntityTypeEndpoint.NotificationAlert, + type: 'Users', + }); + + // UpdateDescription + await updateDescription(page, ALERT_UPDATED_DESCRIPTION, true); + + // Check other configs + await checkAlertConfigDetails({ + page, + sourceName, + tableName: table.entity.name, + }); + await checkRecentEventDetails({ + page, + alertDetails, + table, + totalEventsCount: 1, + }); +}; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Alerts/AlertDetails/AlertRecentEventsTab/AlertRecentEventsTab.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Alerts/AlertDetails/AlertRecentEventsTab/AlertRecentEventsTab.test.tsx new file mode 100644 index 000000000000..b21b1a3fcbef --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/Alerts/AlertDetails/AlertRecentEventsTab/AlertRecentEventsTab.test.tsx @@ -0,0 +1,116 @@ +/* + * Copyright 2024 Collate. + * 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, fireEvent, render, screen } from '@testing-library/react'; +import React from 'react'; +import { + mockAlertDetails, + MOCK_TYPED_EVENT_LIST_RESPONSE, +} from '../../../../mocks/Alerts.mock'; +import { getAlertEventsFromId } from '../../../../rest/alertsAPI'; +import AlertRecentEventsTab from './AlertRecentEventsTab'; + +jest.mock('../../../../hooks/paging/usePaging', () => ({ + usePaging: jest.fn().mockReturnValue({ + currentPage: 8, + paging: {}, + pageSize: 5, + handlePagingChange: jest.fn(), + handlePageChange: jest.fn(), + handlePageSizeChange: jest.fn(), + showPagination: true, + }), +})); + +jest.mock('../../../../rest/alertsAPI', () => ({ + getAlertEventsFromId: jest + .fn() + .mockImplementation(() => Promise.resolve(MOCK_TYPED_EVENT_LIST_RESPONSE)), +})); + +jest.mock('../../../../utils/ToastUtils', () => ({ + showErrorToast: jest.fn(), +})); + +jest.mock('../../../common/ErrorWithPlaceholder/ErrorPlaceHolder', () => + jest.fn().mockImplementation(() =>
ErrorPlaceHolder
) +); + +jest.mock('../../../common/NextPreviousWithOffset/NextPreviousWithOffset', () => + jest.fn().mockImplementation(() =>
NextPreviousWithOffset
) +); + +jest.mock('../../../Database/SchemaEditor/SchemaEditor', () => + jest.fn().mockImplementation(() =>
SchemaEditor
) +); + +describe('AlertRecentEventsTab', () => { + it('should render the component', async () => { + await act(async () => { + render(); + }); + + expect(screen.getByText('label.description:')).toBeInTheDocument(); + expect( + screen.getByText('message.alert-recent-events-description') + ).toBeInTheDocument(); + + expect(screen.getByTestId('recent-events-list')).toBeInTheDocument(); + }); + + it('should display loading skeletons when loading', async () => { + await act(async () => { + render(); + + expect( + await screen.findAllByTestId('skeleton-loading-panel') + ).toHaveLength(5); + }); + }); + + it('should display error placeholder when no data is available', async () => { + (getAlertEventsFromId as jest.Mock).mockImplementationOnce(() => + Promise.resolve({ data: [] }) + ); + + await act(async () => { + render(); + }); + + expect(screen.getByText('ErrorPlaceHolder')).toBeInTheDocument(); + }); + + it('should display recent events list', async () => { + await act(async () => { + render(); + }); + + expect(screen.getByTestId('recent-events-list')).toBeInTheDocument(); + }); + + it('should handle filter change', async () => { + await act(async () => { + render(); + }); + + const filterButton = screen.getByTestId('filter-button'); + fireEvent.click(filterButton); + + const filterOption = await screen.findByText('label.successful'); + fireEvent.click(filterOption); + + expect(await screen.findByTestId('applied-filter-text')).toHaveTextContent( + ': label.successful' + ); + }); +}); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Alerts/AlertDetails/AlertRecentEventsTab/AlertRecentEventsTab.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Alerts/AlertDetails/AlertRecentEventsTab/AlertRecentEventsTab.tsx index eb874189bd53..4b0049fccb04 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Alerts/AlertDetails/AlertRecentEventsTab/AlertRecentEventsTab.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Alerts/AlertDetails/AlertRecentEventsTab/AlertRecentEventsTab.tsx @@ -134,7 +134,11 @@ function AlertRecentEventsTab({ alertDetails }: AlertRecentEventsTabProps) { return ( {Array.from({ length: 5 }).map((_, index) => ( - } key={index} /> + } + key={index} + /> ))} ); @@ -158,10 +162,9 @@ function AlertRecentEventsTab({ alertDetails }: AlertRecentEventsTabProps) { return ( -