From 6acbfdfc45dadfa003685ba0b101907dbb9cd2e9 Mon Sep 17 00:00:00 2001 From: Tamilselvan-Durairaj <153176971+Tamilselvan-Durairaj@users.noreply.github.com> Date: Tue, 23 Sep 2025 18:04:10 +0530 Subject: [PATCH 01/11] 983689: Changes for the Getting started and deployment for the Blazor Pdf Viewer --- .../deployment/aws-beanstalk-deployment.md | 62 +++++++++---------- .../getting-started/deploy-maui-windows.md | 52 ++++++++-------- .../server-side-application.md | 28 ++++----- .../blazor/getting-started/web-app.md | 56 ++++++++--------- .../web-assembly-application.md | 44 ++++++------- .../blazor/getting-started/wsl-application.md | 56 ++++++++--------- 6 files changed, 149 insertions(+), 149 deletions(-) diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-beanstalk-deployment.md b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-beanstalk-deployment.md index 056f5c834..a971c1388 100644 --- a/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-beanstalk-deployment.md +++ b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-beanstalk-deployment.md @@ -1,15 +1,15 @@ --- layout: post -title: Blazor SfPdfViewer deployment in AWS BeanStalk | Syncfusion -description: AWS Elastic Beanstalk simplifies the deployment and management of scalable web applications and services on Linux-based infrastructure +title: Deploy Blazor Server SfPdfViewer to AWS Elastic Beanstalk (Linux) | Syncfusion +description: Add the Syncfusion Blazor PDF Viewer (SfPdfViewer2) to a Blazor Server app and deploy it to AWS Elastic Beanstalk on Linux using Visual Studio. platform: document-processing control: SfPdfViewer documentation: ug --- -# Deploy Blazor Server App on AWS Elastic Beanstalk Linux +# Deploy a Blazor Server app to AWS Elastic Beanstalk (Linux) -In this section, we'll guide you through the process of adding Syncfusion® Blazor PDF Viewer component to your Blazor Server app and deploy it on AWS Elastic Beanstalk. We'll break it down into simple steps to make it easy to follow. Additionally, you can find a fully functional example project on our [GitHub repository](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Server%20Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp). +This article describes how to add the Syncfusion® Blazor PDF Viewer component to a Blazor Server app and deploy the app to AWS Elastic Beanstalk (Linux). A fully functional sample is available in the [GitHub repository](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Server%20Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp). ## Prerequisites @@ -19,11 +19,11 @@ In this section, we'll guide you through the process of adding Syncfusion® B Create a new Blazor Server app and name it **PDFViewerGettingStarted**. -N> The PDF Viewer component is supported from .NET 6.0 onwards. +N> The PDF Viewer component is supported on .NET 6.0 and later. ## Install Blazor PDF Viewer NuGet package in Blazor Server App -Add the following NuGet packages into the Blazor Server app. +Add the following NuGet packages to the Blazor Server app. * [Syncfusion.Blazor.SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfPdfViewer) * [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes) @@ -83,7 +83,7 @@ Add the following stylesheet and script to the head section of the **~/Pages/_Ho ## Adding Blazor PDF Viewer Component -Add the Syncfusion® PDF Viewer (Next Gen) component in the **~/Pages/Index.razor** file +Add the Syncfusion® PDF Viewer (Next-Gen) component in the **~/Pages/Index.razor** file. {% tabs %} {% highlight razor %} @@ -98,42 +98,42 @@ Add the Syncfusion® PDF Viewer (Next Gen) c {% endhighlight %} {% endtabs %} -N> If you don't provide the `DocumentPath` property value, the PDF Viewer component will be rendered without loading the PDF document. Users can then use the **open** option from the toolbar to browse and open the PDF as required. +N> If the `DocumentPath` property is not set, the PDF Viewer renders without loading a PDF document. Users can use the **Open** option in the toolbar to browse and open a PDF as needed. ## Run the application -Run the application, and the PDF file will be displayed using Syncfusion® Blazor PDF Viewer component in your browser. +Run the application to display the PDF file in the Syncfusion® Blazor PDF Viewer component in the browser. -{% previewsample "https://blazorplayground.syncfusion.com/embed/hZVzNWqXLSZpnuzc?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" backgroundimage "[Blazor SfPdfViewer Component](aws-benstalk-deployment-images/blazor-pdfviewer.png)" %} +{% previewsample "https://blazorplayground.syncfusion.com/embed/hZVzNWqXLSZpnuzc?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" backgroundimage "[Blazor Server SfPdfViewer rendering in browser](aws-benstalk-deployment-images/blazor-pdfviewer.png)" %} ## Steps to publish as AWS Elastic Beanstalk -1. Right-click the project and select Publish to AWS Elastic Beanstalk (Legacy) option. - -2. Select the Deployment Target as Create a new application environment and click Next button. - -3. Choose the Environment Name in the dropdown list and the URL will be automatically assign and check the URL is available, if available click next otherwise change the URL - -4. Select the instance type in t3a.micro from the dropdown list and click next. - -5. Click the Next button to proceed further. - -6. Click the Next button - -7. Click the Deploy button to deploy the sample on AWS Elastic Beanstalk. - -8. After changing the status from Updating to Environment is healthy, click the URL. - -9. After opening the provided URL the provided PDF document will be displayed in PDF Viewer. - +1. Right-click the project and select Publish to AWS Elastic Beanstalk (Legacy). + +2. Select the deployment target Create a new application environment, and then click Next. + +3. Choose an environment name. The URL is assigned automatically—verify availability. If the URL is available, click Next; otherwise, change the URL and retry. + +4. Select the instance type t3a.micro from the drop-down list, and then click Next. + +5. Click Next to proceed. + +6. Click Next. + +7. Click Deploy to publish the application to AWS Elastic Beanstalk. + +8. When the environment status changes from Updating to Environment is healthy, click the provided URL. + +9. Open the URL to view the application. The specified PDF document is displayed in the PDF Viewer. + ## See also -* [Getting Started with Blazor PDF Viewer Component in Blazor WASM App](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/blazor/getting-started/web-assembly-application) +* [Getting started with the Blazor PDF Viewer in a Blazor WebAssembly app](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/blazor/getting-started/web-assembly-application) -* [Getting Started with Blazor PDF Viewer Component in WSL mode](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/blazor/getting-started/wsl-application) +* [Getting started with the Blazor PDF Viewer in WSL mode](https://help.syncfusion.com/document-processing/pdf/pdf-viewer/blazor/getting-started/wsl-application) -* [Learn different ways to add script reference in Blazor Application](https://blazor.syncfusion.com/documentation/common/adding-script-references) +* [Ways to add script references in a Blazor application](https://blazor.syncfusion.com/documentation/common/adding-script-references) diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/deploy-maui-windows.md b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/deploy-maui-windows.md index df65439e9..b733b67a2 100644 --- a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/deploy-maui-windows.md +++ b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/deploy-maui-windows.md @@ -1,29 +1,29 @@ --- layout: post -title: Deploy SfPdfViewer in Blazor MAUI in windows | Syncfusion -description: Learn how to deploy SfPdfViewer in Blazor MAUI Application on Windows in Syncfusion Blazor SfPdfViewer component and much more details. +title: Deploy SfPdfViewer in Blazor .NET MAUI on Windows | Syncfusion +description: Learn how to deploy the SfPdfViewer in a Blazor .NET MAUI application on Windows. platform: document-processing control: SfPdfViewer documentation: ug --- -# View PDF files using PDF Viewer Component in the Blazor MAUI app +# View PDF files using the PDF Viewer in a Blazor .NET MAUI app -In this section, we'll guide you through the process of adding Syncfusion® Blazor PDF Viewer component to your Blazor Maui app. We'll break it down into simple steps to make it easy to follow. +This article describes how to add the Syncfusion® Blazor PDF Viewer component to a Blazor .NET MAUI app and deploy it on Windows. ## Prerequisites -To use the MAUI project templates, install the Mobile development with the .NET extension for Visual Studio. For more details, refer to [here](https://learn.microsoft.com/en-us/dotnet/MAUI/get-started/installation?tabs=vswin). +To use the .NET MAUI project templates, install the Mobile development with .NET workload for Visual Studio. For installation details, see the Microsoft documentation: [Install .NET MAUI](https://learn.microsoft.com/en-us/dotnet/MAUI/get-started/installation?tabs=vswin). -## Create a new Blazor MAUI App in Visual Studio +## Create a new Blazor .NET MAUI app in Visual Studio -Create a new Blazor MAUI app and name it **PDFViewerGettingStarted**. +Create a new Blazor .NET MAUI app and name it **PDFViewerGettingStarted**. -N> The PDF Viewer component is supported from .NET 6.0 onwards. +N> The PDF Viewer component is supported on .NET 6.0 and later. -## Install PDF Viewer NuGet package in Blazor Maui App +## Install PDF Viewer NuGet packages in the Blazor .NET MAUI app -Add the following NuGet packages into the Blazor Maui app. +Add the following NuGet packages to the Blazor .NET MAUI app. * [Syncfusion.Blazor.SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfPdfViewer) * [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes) @@ -35,7 +35,7 @@ Add the following NuGet packages into the Blazor Maui app. {% tabs %} {% highlight razor tabtitle="~/_Imports.razor" %} -@using Syncfusion.Blazor +@using Syncfusion.Blazor @using Syncfusion.Blazor.SfPdfViewer {% endhighlight %} @@ -98,9 +98,9 @@ Add the following stylesheet and script to the head section of the **~/wwwroot/i {% endhighlight %} {% endtabs %} -## Add PDF Viewer component +## Add the PDF Viewer component -Add the Syncfusion® PDF Viewer (Next Gen) component in the **~/Pages/Index.razor** file. +Add the Syncfusion® PDF Viewer (Next-Gen) component in the **~/Pages/Index.razor** file. {% tabs %} {% highlight razor %} @@ -121,34 +121,34 @@ Add the Syncfusion® PDF Viewer (Next Gen) c {% endhighlight %} {% endtabs %} -N> If the [DocumentPath](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DocumentPath) property value is not provided, the PDF Viewer component will be rendered without loading a PDF document. Users can then use the open option from the toolbar to browse and open a PDF as required. +N> If the [DocumentPath](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DocumentPath) property is not set, the PDF Viewer renders without loading a PDF document. Users can use the Open option in the toolbar to browse and open a PDF as needed. ## Run on Windows -Run the sample in Windows Machine mode, and it will run Blazor MAUI in Windows. +Run the sample on a Windows machine to execute the Blazor .NET MAUI app. - + -Upon successfully launching the application, the PDF Viewer component will seamlessly render the specified PDF document within its interface. +After the application launches, the PDF Viewer renders the specified PDF document. - + ## Run on Android -To run the PDF Viewer in a Blazor Android MAUI application using the Android emulator, follow these steps: +To run the PDF Viewer in a Blazor .NET MAUI Android application using the Android emulator, follow these steps: - + -Refer [here](https://learn.microsoft.com/en-us/dotnet/maui/android/emulator/device-manager#android-device-manager-on-windows) to install and launch Android emulator. +For setup and usage, see [Android Emulator setup for .NET MAUI](https://learn.microsoft.com/en-us/dotnet/maui/android/emulator/device-manager#android-device-manager-on-windows). -N> If you encounter any errors while using the Android Emulator, refer to the following link for troubleshooting guidance[Troubleshooting Android Emulator](https://learn.microsoft.com/en-us/dotnet/maui/android/emulator/troubleshooting). +N> If any errors occur while using the Android Emulator, see [Troubleshooting Android Emulator](https://learn.microsoft.com/en-us/dotnet/maui/android/emulator/troubleshooting). - + ->[View Sample in GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Server%20Deployment/Maui/MauiBlazorWindow). +>[View the sample on GitHub](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Server%20Deployment/Maui/MauiBlazorWindow). ## See also -* [Supported Features: Desktop vs Mobile](./features#supported-features-desktop-vs-mobile). +* [Supported features: desktop vs. mobile](./features#supported-features-desktop-vs-mobile) -* [Render PDF Document from embedded source in the MAUI Android app](../how-to/deploy-maui-using-android-emulator). \ No newline at end of file +* [Render a PDF document from an embedded source in the .NET MAUI Android app](../how-to/deploy-maui-using-android-emulator) diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/server-side-application.md b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/server-side-application.md index 6961cdb27..7c2c1ef7f 100644 --- a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/server-side-application.md +++ b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/server-side-application.md @@ -1,15 +1,15 @@ --- layout: post -title: Getting Started with SfPdfViewer in Blazor Server App | Syncfusion -description: Learn how to getting started with SfPdfViewer control in Blazor Server-side application. You can view and comment on PDFs in ease and also can fill fields. +title: Getting started with SfPdfViewer in a Blazor Server app | Syncfusion +description: Learn how to get started with the SfPdfViewer control in a Blazor Server application to view, comment on, and fill PDF forms. platform: document-processing control: SfPdfViewer documentation: ug --- -# View PDF files using PDF Viewer Component in the Blazor Server app +# View PDF files using the PDF Viewer in a Blazor Server app -In this section, we'll guide you through the process of adding Syncfusion® Blazor PDF Viewer component to your Blazor Server app using Visual Studio and Visual Studio Code. We'll break it down into simple steps to make it easy to follow. Additionally, you can find a fully functional example project on our [GitHub repository](https://github.com/SyncfusionExamples/Blazor-Getting-Started-Examples/tree/main/PDFViewer%20%202/BlazorServerApp/PDFViewerSample). +This article describes how to add the Syncfusion® Blazor PDF Viewer component to a Blazor Server app using Visual Studio or Visual Studio Code. A fully functional example project is available in the [GitHub repository](https://github.com/SyncfusionExamples/Blazor-Getting-Started-Examples/tree/main/PDFViewer%20%202/BlazorServerApp/PDFViewerSample). {% tabcontents %} @@ -23,9 +23,9 @@ In this section, we'll guide you through the process of adding Syncfusion® B You can create a **Blazor Server App** using Visual Studio via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-7.0&pivots=vs) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-integration/template-studio). -N> The PDF Viewer component is supported from .NET 6.0 onwards. +N> The PDF Viewer component is supported on .NET 6.0 and later. -## Install Syncfusion® Blazor SfPdfViewer and Themes NuGet in the App +## Install Syncfusion® Blazor SfPdfViewer and Themes NuGet packages in the app To add **Blazor PDFViewer** component in the app, open the NuGet package manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*), search and install [Syncfusion.Blazor.SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfPdfViewer) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/). Alternatively, you can utilize the following package manager command to achieve the same. @@ -52,7 +52,7 @@ N> Syncfusion® Blazor components are availa You can create a **Blazor Server App** using Visual Studio Code via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-7.0&pivots=vsc) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-code-integration/create-project). -Alternatively, you can create a Server application using the following command in the terminal(Ctrl+`). +Alternatively, create a server application using the following command in the terminal (Ctrl+`). {% tabs %} @@ -65,13 +65,13 @@ cd BlazorApp {% endtabs %} -N> The PDF Viewer component is supported from .NET 6.0 onwards. +N> The PDF Viewer component is supported on .NET 6.0 and later. -## Install Syncfusion® Blazor SfPdfViewer and Themes NuGet in the App +## Install Syncfusion® Blazor SfPdfViewer and Themes NuGet packages in the app * Press Ctrl+` to open the integrated terminal in Visual Studio Code. * Ensure you’re in the project root directory where your `.csproj` file is located. -* Run the following command to install a [Syncfusion.Blazor.SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfPdfViewer) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/) NuGet package and ensure all dependencies are installed. +* Run the following commands to install the [Syncfusion.Blazor.SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfPdfViewer) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/) NuGet packages and ensure all dependencies are installed. {% tabs %} @@ -154,7 +154,7 @@ Add the following stylesheet and script to the head section. The theme styleshee ## Adding Blazor PDF Viewer Component -Add the Syncfusion® PDF Viewer (Next Gen) component in the **~/Pages/Index.razor** file +Add the Syncfusion® PDF Viewer (Next-Gen) component in the **~/Pages/Index.razor** file. {% tabs %} {% highlight razor %} @@ -169,13 +169,13 @@ Add the Syncfusion® PDF Viewer (Next Gen) c {% endhighlight %} {% endtabs %} -N> If you don't provide the [DocumentPath](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DocumentPath) property value, the PDF Viewer component will be rendered without loading the PDF document. Users can then use the **open** option from the toolbar to browse and open the PDF as required. +N> If the [DocumentPath](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DocumentPath) property is not set, the PDF Viewer renders without loading a PDF document. Users can use the **Open** option in the toolbar to browse and open a PDF as needed. ## Run the application -Run the application, and the PDF file will be displayed using Syncfusion® Blazor PDF Viewer component in your browser. +Run the application to display the PDF file in the Syncfusion® Blazor PDF Viewer component in the browser. -{% previewsample "https://blazorplayground.syncfusion.com/embed/hZVzNWqXLSZpnuzc?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" backgroundimage "[Blazor SfPdfViewer Component](gettingstarted-images/blazor-pdfviewer.png)" %} +{% previewsample "https://blazorplayground.syncfusion.com/embed/hZVzNWqXLSZpnuzc?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" backgroundimage "[Blazor Server SfPdfViewer rendering in browser](gettingstarted-images/blazor-pdfviewer.png)" %} ## See also diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-app.md b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-app.md index 3ff8c90d2..e1098b870 100644 --- a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-app.md +++ b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-app.md @@ -1,15 +1,15 @@ --- layout: post -title: Getting Started with SfPdfViewer in Blazor Web App | Syncfusion -description: Learn how to getting started with SfPdfViewer control in Blazor Web App. You can view and comment on PDFs in ease and also can fill fields. +title: Getting started with SfPdfViewer in a Blazor Web App | Syncfusion +description: Learn how to get started with the SfPdfViewer control in a Blazor Web App to view, comment on, and fill PDF forms. platform: document-processing control: SfPdfViewer documentation: ug --- -# View PDF files using PDF Viewer Component in the Blazor Web app +# View PDF files using the PDF Viewer in a Blazor Web App -In this section, we’ll guide you through the process of adding Syncfusion® Blazor PDF Viewer component to your Blazor Web App using [Visual Studio](https://visualstudio.microsoft.com/vs/) and Visual Studio Code. We’ll break it down into simple steps to make it easy to follow. +This article describes how to add the Syncfusion® Blazor PDF Viewer component to a Blazor Web App using [Visual Studio](https://visualstudio.microsoft.com/vs/) or Visual Studio Code. {% tabcontents %} @@ -19,14 +19,14 @@ In this section, we’ll guide you through the process of adding Syncfusion® * [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements) -* If you choose an Interactive render mode such as WebAssembly or Auto, ensure that you have the necessary .NET workloads installed to use the PDF Viewer component in a Blazor WebApp application with SkiaSharp. To do this, execute the following commands in the command prompt: +* If using an interactive render mode such as WebAssembly or Auto, ensure the required .NET workloads are installed for SkiaSharp usage in a Blazor Web App. Run the following command: * dotnet workload install wasm-tools ## Create a new Blazor Web App in Visual Studio You can create a Blazor Web App using Visual Studio 2022 via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-8.0&pivots=windows) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-integration/template-studio). -You need to configure the corresponding [Interactive render mode](https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes?view=aspnetcore-8.0#render-modes) and [Interactivity location](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-8.0&pivots=windows) while creating a Blazor Web Application. +Configure the appropriate [interactive render mode](https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes?view=aspnetcore-8.0#render-modes) and [interactivity location](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-8.0&pivots=windows) when creating a Blazor Web App. ## Install Blazor PDF Viewer NuGet package in Blazor Web App @@ -35,9 +35,9 @@ To add **Blazor PDF Viewer** component in the app, open the NuGet package manage * [Syncfusion.Blazor.SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfPdfViewer) * [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes) -If you select an Interactive render mode as WebAssembly or Auto, you can install the NuGet package in the client-side project to add component in Web App. +If using the WebAssembly or Auto interactive render mode, install the NuGet packages in the client project to add the component to the Web App. -N> On the Syncfusion® side, we are using SkiaSharp.Views.Blazor version 3.116.1. Please make sure to reference this version as well. +N> Syncfusion® uses SkiaSharp.Views.Blazor version 3.116.1. Ensure this version is referenced. * [SkiaSharp.Views.Blazor](https://www.nuget.org/packages/SkiaSharp.Views.Blazor)  @@ -50,14 +50,14 @@ N> On the Syncfusion® side, we are using Sk * [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements) -* If you choose an Interactive render mode such as WebAssembly or Auto, ensure that you have the necessary .NET workloads installed to use the PDF Viewer component in a Blazor WebApp application with SkiaSharp. To do this, execute the following commands in the command prompt: +* If using an interactive render mode such as WebAssembly or Auto, ensure the required .NET workloads are installed for SkiaSharp usage in a Blazor Web App. Run the following command: * dotnet workload install wasm-tools ## Create a new Blazor Web App in Visual Studio Code You can create a **Blazor Web App** using Visual Studio Code via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-8.0&pivots=vsc) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-code-integration/create-project). -You need to configure the corresponding [Interactive render mode](https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes?view=aspnetcore-8.0#render-modes) and [Interactivity location](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-8.0&pivots=vsc) while creating a Blazor Web Application. +Configure the appropriate [interactive render mode](https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes?view=aspnetcore-8.0#render-modes) and [interactivity location](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-8.0&pivots=vsc) when creating a Blazor Web App. For example, in a Blazor Web App with the `Auto` interactive render mode, use the following commands. @@ -71,15 +71,15 @@ cd BlazorWebApp.Client {% endhighlight %} {% endtabs %} -N> For more information on creating a **Blazor Web App** with various interactive modes and locations, refer to this [link](https://blazor.syncfusion.com/documentation/getting-started/blazor-web-app?tabcontent=visual-studio-code#render-interactive-modes). +N> For more information on creating a Blazor Web App with various interactive modes and locations, see [Render interactive modes](https://blazor.syncfusion.com/documentation/getting-started/blazor-web-app?tabcontent=visual-studio-code#render-interactive-modes). -## Install Syncfusion® Blazor SfPdfViewer and Themes NuGet in the App +## Install Syncfusion® Blazor SfPdfViewer and Themes NuGet packages in the app -If you utilize `WebAssembly` or `Auto` render modes in the Blazor Web App need to be install Syncfusion® Blazor components NuGet packages within the client project. +If using WebAssembly or Auto render modes in the Blazor Web App, install the Syncfusion® Blazor component NuGet packages within the client project. * Press Ctrl+` to open the integrated terminal in Visual Studio Code. * Ensure you’re in the project root directory where your `.csproj` file is located. -* Run the following command to install a [Syncfusion.Blazor.SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfPdfViewer) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/) NuGet package and ensure all dependencies are installed. +* Run the following commands to install the [Syncfusion.Blazor.SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfPdfViewer) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/) NuGet packages and ensure all dependencies are installed. {% tabs %} @@ -93,9 +93,9 @@ dotnet restore {% endtabs %} -N> Syncfusion® Blazor components are available in [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for available NuGet packages list with component details. +N> Syncfusion® Blazor components are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). See [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) for the list of available packages and component details. -N> On the Syncfusion® side, we are using [SkiaSharp.Views.Blazor](https://www.nuget.org/packages/SkiaSharp.Views.Blazor) version 3.116.1. Please make sure to reference this version as well. +N> Syncfusion® uses [SkiaSharp.Views.Blazor](https://www.nuget.org/packages/SkiaSharp.Views.Blazor) version 3.116.1. Ensure this version is referenced. * dotnet add package SkiaSharp.Views.Blazor -v 3.116.1  @@ -108,8 +108,8 @@ N> On the Syncfusion® side, we are using [S | Interactive Render Mode | Description | | -- | -- | -| WebAssembly or Auto | Open **~/_Imports.razor** file from the client project.| -| Server | Open **~/_import.razor** file, which is located in the `Components` folder.| +| WebAssembly or Auto | Open **~/_Imports.razor** from the client project.| +| Server | Open **~/Components/_Imports.razor**.| * In the **~/_Imports.razor** file, add the following namespaces: @@ -122,11 +122,11 @@ N> On the Syncfusion® side, we are using [S {% endhighlight %} {% endtabs %} -* Register the Syncfusion® Blazor Service in the program.cs file of your Blazor Web App. +* Register the Syncfusion® Blazor Service in the **~/Program.cs** file of your Blazor Web App. -If the **Interactive Render Mode** is set to `WebAssembly` or `Auto`, you need to register the Syncfusion® Blazor service in both **~/Program.cs** files of your Blazor Web App. +If the interactive render mode is set to WebAssembly or Auto, register the Syncfusion® Blazor service in both **~/Program.cs** files of the Blazor Web App. -If the **Interactive Render Mode** is set to `Server`, your project will contain a single **~/Program.cs** file. So, you should register the Syncfusion® Blazor Service only in that **~/Program.cs** file. +If the interactive render mode is set to Server, the project contains a single **~/Program.cs** file. Register the Syncfusion® Blazor Service only in that file. {% tabs %} {% highlight c# tabtitle=".NET 9 & .NET 8 (~/Program.cs) Server" hl_lines="2 9 11 13" %} @@ -254,7 +254,7 @@ Add the following stylesheet and script to the head section of the **~/Component ## Adding Blazor PDF Viewer Component -Add the Syncfusion® PDF Viewer (Next Gen) component in the **~Pages/.razor** file. If an interactivity location as `Per page/component` in the web app, define a render mode at the top of the **~Pages/.razor** component, as follows: +Add the Syncfusion® PDF Viewer (Next-Gen) component in the **~Pages/.razor** file. If the interactivity location is set to Per page/component, define a render mode at the top of the **~Pages/.razor** component as follows: | Interactivity location | RenderMode | Code | | --- | --- | --- | @@ -263,7 +263,7 @@ Add the Syncfusion® PDF Viewer (Next Gen) c | | Server | @rendermode InteractiveServer | | | None | --- | -N> If an **Interactivity Location** is set to `Global` and the **Render Mode** is set to `Auto` or `WebAssembly` or `Server`, the render mode is configured in the `App.razor` file by default. +N> If the interactivity location is set to Global and the render mode is set to Auto, WebAssembly, or Server, the render mode is configured in the App.razor file by default. {% tabs %} {% highlight razor %} @@ -274,7 +274,7 @@ N> If an **Interactivity Location** is set to `Global` and the **Render Mode** i {% endhighlight %} {% endtabs %} -N> If an interactivity location as Global no need to mention render mode. Set the interactivity mode for whole sample. +N> If the interactivity location is set to Global, a render mode does not need to be specified per page. The interactivity mode applies to the entire app. Add the Syncfusion® PDF Viewer component in the **~/Pages/Index.razor** file. @@ -290,15 +290,15 @@ Add the Syncfusion® PDF Viewer component in {% endhighlight %} {% endtabs %} -N> If you don’t provide the [DocumentPath](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DocumentPath) property value, the PDF Viewer component will be rendered without loading the PDF document. Users can then use the **open** option from the toolbar to browse and open the PDF as required. +N> If the [DocumentPath](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DocumentPath) property is not set, the PDF Viewer renders without loading a PDF document. Users can use the **Open** option in the toolbar to browse and open a PDF as needed. ## Run the application -Run the application, and the PDF file will be displayed using Syncfusion® Blazor PDF Viewer component in your browser. +Run the application to display the PDF file in the Syncfusion® Blazor PDF Viewer component in the browser. -{% previewsample "https://blazorplayground.syncfusion.com/embed/hZVzNWqXLSZpnuzc?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" backgroundimage "[Blazor SfPdfViewer Component](gettingstarted-images/blazor-pdfviewer.png)" %} +{% previewsample "https://blazorplayground.syncfusion.com/embed/hZVzNWqXLSZpnuzc?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" backgroundimage "[Blazor Web App SfPdfViewer rendering in browser](gettingstarted-images/blazor-pdfviewer.png)" %} -N> [View Sample in GitHub](https://github.com/SyncfusionExamples/Blazor-Getting-Started-Examples/tree/main/PDFViewer%20%202/BlazorWebApp). +N> [View the sample on GitHub](https://github.com/SyncfusionExamples/Blazor-Getting-Started-Examples/tree/main/PDFViewer%20%202/BlazorWebApp). ## See also diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md index 39425baba..f2844a475 100644 --- a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md +++ b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md @@ -1,15 +1,15 @@ --- layout: post -title: Getting Started with SfPdfViewer in Blazor WASM App | Syncfusion -description: Checkout and learn about getting started with Blazor SfPdfViewer component in Blazor WebAssembly (WASM) App using Visual Studio and more. +title: Getting started with SfPdfViewer in a Blazor WebAssembly (WASM) app | Syncfusion +description: Learn how to get started with the SfPdfViewer component in a Blazor WebAssembly (WASM) app using Visual Studio or Visual Studio Code. platform: document-processing control: SfPdfViewer documentation: ug --- -# View PDF files using PDF Viewer Component in the Blazor WASM app +# View PDF files using the PDF Viewer in a Blazor WebAssembly (WASM) app -In this section, we'll guide you through the process of adding Syncfusion® Blazor PDF Viewer component to your Blazor WebAssembly (WASM) app using Visual Studio and Visual Studio Code. We'll break it down into simple steps to make it easy to follow. Additionally, you can find a fully functional example project on our [GitHub repository](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Getting%20Started/Client-side%20application). +This article describes how to add the Syncfusion® Blazor PDF Viewer component to a Blazor WebAssembly (WASM) app using Visual Studio or Visual Studio Code. A fully functional example project is available in the [GitHub repository](https://github.com/SyncfusionExamples/blazor-pdf-viewer-examples/tree/master/Getting%20Started/Client-side%20application). {% tabcontents %} @@ -19,7 +19,7 @@ In this section, we'll guide you through the process of adding Syncfusion® B * [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements) -* To use the PDF Viewer component in a Blazor WebAssembly application with SkiaSharp, make sure to have the required .NET workloads installed by executing the following commands in the command prompt. +* To use the PDF Viewer component in a Blazor WebAssembly application with SkiaSharp, ensure the required .NET workloads are installed by running the following commands: * dotnet workload install wasm-tools * dotnet workload install wasm-tools-net8 @@ -27,17 +27,17 @@ In this section, we'll guide you through the process of adding Syncfusion® B You can create a **Blazor WebAssembly App** using Visual Studio via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-7.0) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-integration/template-studio). -N> The PDF Viewer component is supported from .NET 6.0 onwards. +N> The PDF Viewer component is supported on .NET 6.0 and later. -## Install Syncfusion® Blazor SfPdfViewer and Themes NuGet in the App +## Install Syncfusion® Blazor SfPdfViewer and Themes NuGet packages in the app -To add **Blazor PDFViewer** component in the app, open the NuGet package manager in Visual Studio (*Tools → NuGet Package Manager → Manage NuGet Packages for Solution*), search and install +To add the Blazor PDF Viewer component to the app, open the NuGet Package Manager in Visual Studio (Tools → NuGet Package Manager → Manage NuGet Packages for Solution), then install * [Syncfusion.Blazor.SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfPdfViewer) * [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes) * [SkiaSharp.Views.Blazor](https://www.nuget.org/packages/SkiaSharp.Views.Blazor) -N> On the Syncfusion® side, we are using SkiaSharp.Views.Blazor version 3.116.1. Please make sure to reference this version as well. +N> Syncfusion® uses SkiaSharp.Views.Blazor version 3.116.1. Ensure this version is referenced. {% endtabcontent %} @@ -55,7 +55,7 @@ N> On the Syncfusion® side, we are using Sk You can create a **Blazor WebAssembly App** using Visual Studio Code via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-7.0&pivots=vsc) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-code-integration/create-project). -Alternatively, you can create a WebAssembly application using the following command in the terminal(Ctrl+`). +Alternatively, create a WebAssembly application using the following command in the terminal (Ctrl+`). {% tabs %} @@ -68,13 +68,13 @@ cd BlazorApp {% endtabs %} -N> The PDF Viewer component is supported from .NET 6.0 onwards. +N> The PDF Viewer component is supported on .NET 6.0 and later. -## Install Syncfusion® Blazor NuGet Package in the App +## Install Syncfusion® Blazor NuGet packages in the app * Press Ctrl+` to open the integrated terminal in Visual Studio Code. * Ensure you’re in the project root directory where your `.csproj` file is located. -* Run the following command to install a [Syncfusion.Blazor.SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfPdfViewer), [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/) and [SkiaSharp.Views.Blazor](https://www.nuget.org/packages/SkiaSharp.Views.Blazor) NuGet package and ensure all dependencies are installed. +* Run the following commands to install the [Syncfusion.Blazor.SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfPdfViewer), [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/), and [SkiaSharp.Views.Blazor](https://www.nuget.org/packages/SkiaSharp.Views.Blazor) NuGet packages and ensure all dependencies are installed. {% tabs %} @@ -89,9 +89,9 @@ dotnet restore {% endtabs %} -N> On the Syncfusion® side, we are using SkiaSharp.Views.Blazor version 3.116.1. Please make sure to reference this version as well. +N> Syncfusion® uses SkiaSharp.Views.Blazor version 3.116.1. Ensure this version is referenced. -N> Syncfusion® Blazor components are available in [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for available NuGet packages list with component details. +N> Syncfusion® Blazor components are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). See [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) for the list of available packages and component details. {% endtabcontent %} @@ -110,7 +110,7 @@ N> Syncfusion® Blazor components are availa {% endhighlight %} {% endtabs %} -* Register the Syncfusion® Blazor Service in the program.cs file. +* Register the Syncfusion® Blazor Service in the **~/Program.cs** file. {% tabs %} {% highlight C# tabtitle=".NET 6 & .NET 7 (~/Program.cs)" hl_lines="3 9 13" %} @@ -152,7 +152,7 @@ Add the following stylesheet and script to the head section of the **wwwroot/ind ## Adding Blazor PDF Viewer Component -Add the Syncfusion® PDF Viewer (Next Gen) component in the **~/Pages/Index.razor** file. +Add the Syncfusion® PDF Viewer (Next-Gen) component in the **~/Pages/Index.razor** file. {% tabs %} {% highlight razor %} @@ -167,18 +167,18 @@ Add the Syncfusion® PDF Viewer (Next Gen) c {% endhighlight %} {% endtabs %} -N> If you don't provide the [DocumentPath](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DocumentPath) property value, the PDF Viewer component will be rendered without loading the PDF document. Users can then use the **open** option from the toolbar to browse and open the PDF as required. +N> If the [DocumentPath](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.SfPdfViewer.PdfViewerBase.html#Syncfusion_Blazor_SfPdfViewer_PdfViewerBase_DocumentPath) property is not set, the PDF Viewer renders without loading a PDF document. Users can use the **Open** option in the toolbar to browse and open a PDF as needed. ## Run the application -Run the application, and the PDF file will be displayed using Syncfusion® Blazor PDF Viewer component in your browser. +Run the application to display the PDF file in the Syncfusion® Blazor PDF Viewer component in the browser. -{% previewsample "https://blazorplayground.syncfusion.com/embed/hZVzNWqXLSZpnuzc?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" backgroundimage "[Blazor SfPdfViewer Component](gettingstarted-images/blazor-pdfviewer.png)" %} +{% previewsample "https://blazorplayground.syncfusion.com/embed/hZVzNWqXLSZpnuzc?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" backgroundimage "[Blazor WebAssembly SfPdfViewer rendering in browser](gettingstarted-images/blazor-pdfviewer.png)" %} ## See also -* [Getting Started with Blazor PDF Viewer Component in Blazor Server App](./server-side-application) +* [Getting started with the Blazor PDF Viewer in a Blazor Server app](./server-side-application) -* [Getting Started with Blazor PDF Viewer (Next Gen) Component in WSL mode](./wsl-application) +* [Getting started with the Blazor PDF Viewer in WSL mode](./wsl-application) * [.NET 9 Native Linking Issues with SkiaSharp and Emscripten 3.1.56](https://help.syncfusion.com/document-processing/faq/how-to-fix-skiasharp-native-reference-issue-in-blazor-net90-app) \ No newline at end of file diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/wsl-application.md b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/wsl-application.md index 696dbc816..e3c2c031b 100644 --- a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/wsl-application.md +++ b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/wsl-application.md @@ -1,39 +1,39 @@ --- layout: post -title: Getting Started with SfPdfViewer in Blazor WSL mode | Syncfusion -description: Learn how to getting started with SfPdfViewer control in Blazor WSL (Windows Subsystem for Linux) mode. +title: Getting started with SfPdfViewer in Blazor WSL (Windows Subsystem for Linux) | Syncfusion +description: Learn how to run the SfPdfViewer control in a Blazor app using Windows Subsystem for Linux (WSL). platform: document-processing control: SfPdfViewer documentation: ug --- -# Getting Started with Blazor PDF Viewer in WSL mode +# Getting started with the Blazor PDF Viewer in WSL mode -To run the Syncfusion® Blazor PDF Viewer (Next Gen) component in WSL (Windows Subsystem for Linux) mode, follow these steps: +Use the following steps to run the Syncfusion® Blazor PDF Viewer (Next-Gen) component in WSL (Windows Subsystem for Linux) mode: -**Step 1:** Enable the Windows Subsystem for Linux and the Virtual Machine Platform. +**Step 1:** Enable Windows Subsystem for Linux and Virtual Machine Platform. - + -To enable the Windows Subsystem for Linux (WSL) and the Virtual Machine Platform on Windows, follow these steps: +To enable Windows Subsystem for Linux (WSL) and Virtual Machine Platform on Windows: -Open the Start menu and search for `Control Panel`. Click on `Programs`, then click on `Turn Windows features on or off`. Scroll down and select the boxes next to `Windows Subsystem for Linux` and `Virtual Machine Platform`. Finally, Click `OK` and restart your machine. +Open the Start menu and search for `Control Panel`. Select `Programs`, then choose `Turn Windows features on or off`. Select `Windows Subsystem for Linux` and `Virtual Machine Platform`. Click `OK` and restart the computer. -After restarting your computer, you can install a Linux distribution like Ubuntu from the Microsoft Store and execute Linux commands directly in Windows. +After restart, install a Linux distribution such as Ubuntu from the Microsoft Store and run Linux commands directly in Windows. -**Step 2:** Install the `Ubuntu` +**Step 2:** Install Ubuntu - + -Ubuntu can be installed on a Windows machine by the Microsoft Store, follow these steps: +To install Ubuntu from the Microsoft Store: -Open the Microsoft Store on your Windows machine. Search for `Ubuntu` in the Microsoft Store search bar. Click on the `Ubuntu` application and click the `Get` button to download and install the application. Once the installation is complete, click on the `Launch` button to start Ubuntu. This will install Ubuntu as a Windows Subsystem for Linux (WSL), which allows you to run a Linux environment directly on Windows without the need for a virtual machine. +Open the Microsoft Store and search for Ubuntu. Select Ubuntu, then choose Get to download and install. After installation, select Launch to start Ubuntu. This installs Ubuntu as a WSL distribution, enabling a Linux environment in Windows without a separate virtual machine. -On Ubuntu, create a new user with a username and password. +On first launch, create a new Ubuntu user by providing a username and password. - + -**Step 3:** Install the dotnet framework for running the WSL (Windows Subsystem for Linux) in the project by running the following code one by one. +**Step 3:** Install the .NET SDK for WSL by running the following commands one by one. ``` wget https://packages.microsoft.com/config/ubuntu/22.10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb @@ -47,11 +47,11 @@ On Ubuntu, create a new user with a username and password. ``` -Check the comment dotnet --info and it should come as follows. +Run dotnet --info. The output should resemble the following:  -If the above result is not shown, please run the comments below +If the expected result is not shown, run the following commands: ``` sudo apt remove dotnet* @@ -66,17 +66,17 @@ If the above result is not shown, please run the comments below dotnet dotnet --info ``` -**Step 4:** Now, run the server or webassembly sample in WSL (Windows Subsystem for Linux) mode and it will run our Blazor PDF Viewer component. +**Step 4:** Run the server or WebAssembly sample in WSL mode; the Blazor PDF Viewer component should load. - + -N> If you encounter any issues while running in WSL (Windows Subsystem for Linux) mode, use the following instructions to resolve them. +N> If any issues occur while running in WSL mode, use the following instructions to resolve them. -If the sample does not load the PDF file and throws an exception. +If the sample does not load the PDF file and an exception is thrown: - + -Then, in the Ubuntu command window, run the following commands one by one to install all necessary Blazor PDF Viewer dependencies for a Linux run. +In the Ubuntu terminal, run the following commands one by one to install the required Blazor PDF Viewer dependencies for Linux: ``` sudo apt-get install libfontconfig1 @@ -86,12 +86,12 @@ Then, in the Ubuntu command window, run the following commands one by one to ins ``` -Close the project, reopen it, and run it in WSL mode. It will run properly. +Close the project, reopen it, and run it in WSL mode. It should run properly. - + ## See also -* [Getting Started with Blazor PDF Viewer Component in Blazor Server App](./server-side-application) +* [Getting started with the Blazor PDF Viewer in a Blazor Server app](./server-side-application) -* [Getting Started with Blazor PDF Viewer Component in Blazor WASM App](./web-assembly-application) +* [Getting started with the Blazor PDF Viewer in a Blazor WebAssembly app](./web-assembly-application) From 29a07be52ea5ac501c48ebba953e75108c5f47e3 Mon Sep 17 00:00:00 2001 From: Tamilselvan-Durairaj <153176971+Tamilselvan-Durairaj@users.noreply.github.com> Date: Tue, 23 Sep 2025 18:30:16 +0530 Subject: [PATCH 02/11] 983689: Resolve the CI failures --- .../blazor/deployment/aws-beanstalk-deployment.md | 6 +++--- .../blazor/getting-started/web-assembly-application.md | 2 +- .../PDF-Viewer/blazor/getting-started/wsl-application.md | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-beanstalk-deployment.md b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-beanstalk-deployment.md index a971c1388..d093efce4 100644 --- a/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-beanstalk-deployment.md +++ b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-beanstalk-deployment.md @@ -1,7 +1,7 @@ --- layout: post -title: Deploy Blazor Server SfPdfViewer to AWS Elastic Beanstalk (Linux) | Syncfusion -description: Add the Syncfusion Blazor PDF Viewer (SfPdfViewer2) to a Blazor Server app and deploy it to AWS Elastic Beanstalk on Linux using Visual Studio. +title: Deploy Blazor SfPdfViewer to AWS Elastic Beanstalk | Syncfusion +description: Add the Syncfusion Blazor PDF Viewer to a Blazor Server app and deploy it to AWS Elastic Beanstalk on Linux. platform: document-processing control: SfPdfViewer documentation: ug @@ -110,7 +110,7 @@ Run the application to display the PDF file in the Syncfusion® Blazor PDF Vi ## Steps to publish as AWS Elastic Beanstalk 1. Right-click the project and select Publish to AWS Elastic Beanstalk (Legacy). - + 2. Select the deployment target Create a new application environment, and then click Next.  3. Choose an environment name. The URL is assigned automatically—verify availability. If the URL is available, click Next; otherwise, change the URL and retry. diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md index f2844a475..27e1f6f56 100644 --- a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md +++ b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md @@ -1,7 +1,7 @@ --- layout: post title: Getting started with SfPdfViewer in a Blazor WebAssembly (WASM) app | Syncfusion -description: Learn how to get started with the SfPdfViewer component in a Blazor WebAssembly (WASM) app using Visual Studio or Visual Studio Code. +description: Learn how to get started with the SfPdfViewer component in a Blazor WebAssembly app. platform: document-processing control: SfPdfViewer documentation: ug diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/wsl-application.md b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/wsl-application.md index e3c2c031b..807b4966e 100644 --- a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/wsl-application.md +++ b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/wsl-application.md @@ -1,6 +1,6 @@ --- layout: post -title: Getting started with SfPdfViewer in Blazor WSL (Windows Subsystem for Linux) | Syncfusion +title: Getting started with SfPdfViewer in Blazor WSL | Syncfusion description: Learn how to run the SfPdfViewer control in a Blazor app using Windows Subsystem for Linux (WSL). platform: document-processing control: SfPdfViewer From 67b186a6f6124308be5a6352a644b5e0033b9b4b Mon Sep 17 00:00:00 2001 From: Tamilselvan-Durairaj <153176971+Tamilselvan-Durairaj@users.noreply.github.com> Date: Tue, 23 Sep 2025 19:03:07 +0530 Subject: [PATCH 03/11] 983689: Changes for the CI failures --- .../PDF-Viewer/blazor/getting-started/deploy-maui-windows.md | 2 +- .../blazor/getting-started/web-assembly-application.md | 4 ++-- .../PDF/PDF-Viewer/blazor/getting-started/wsl-application.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/deploy-maui-windows.md b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/deploy-maui-windows.md index b733b67a2..abee6eafb 100644 --- a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/deploy-maui-windows.md +++ b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/deploy-maui-windows.md @@ -1,7 +1,7 @@ --- layout: post title: Deploy SfPdfViewer in Blazor .NET MAUI on Windows | Syncfusion -description: Learn how to deploy the SfPdfViewer in a Blazor .NET MAUI application on Windows. +description: Learn how to deploy the Syncfusion Blazor SfPdfViewer in a Blazor .NET MAUI application on Windows. platform: document-processing control: SfPdfViewer documentation: ug diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md index 27e1f6f56..8fbad79ec 100644 --- a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md +++ b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md @@ -1,7 +1,7 @@ --- layout: post -title: Getting started with SfPdfViewer in a Blazor WebAssembly (WASM) app | Syncfusion -description: Learn how to get started with the SfPdfViewer component in a Blazor WebAssembly app. +title: Getting started with SfPdfViewer in a Blazor WASM app | Syncfusion +description: Learn how to get started with the SfPdfViewer component in a Blazor WebAssembly (WASM) app. platform: document-processing control: SfPdfViewer documentation: ug diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/wsl-application.md b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/wsl-application.md index 807b4966e..2ef7e4e7b 100644 --- a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/wsl-application.md +++ b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/wsl-application.md @@ -1,7 +1,7 @@ --- layout: post title: Getting started with SfPdfViewer in Blazor WSL | Syncfusion -description: Learn how to run the SfPdfViewer control in a Blazor app using Windows Subsystem for Linux (WSL). +description: Learn how to run the Syncfusion Blazor SfPdfViewer control in a Blazor app using Windows Subsystem for Linux (WSL). platform: document-processing control: SfPdfViewer documentation: ug From 7b4ffc0df304ac5816bd17c4b6a43801a48ca52d Mon Sep 17 00:00:00 2001 From: Tamilselvan-Durairaj <153176971+Tamilselvan-Durairaj@users.noreply.github.com> Date: Tue, 23 Sep 2025 19:28:34 +0530 Subject: [PATCH 04/11] 983689: Update CI failure --- .../PDF-Viewer/blazor/getting-started/deploy-maui-windows.md | 2 +- .../blazor/getting-started/web-assembly-application.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/deploy-maui-windows.md b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/deploy-maui-windows.md index abee6eafb..7924a3f2b 100644 --- a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/deploy-maui-windows.md +++ b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/deploy-maui-windows.md @@ -1,7 +1,7 @@ --- layout: post title: Deploy SfPdfViewer in Blazor .NET MAUI on Windows | Syncfusion -description: Learn how to deploy the Syncfusion Blazor SfPdfViewer in a Blazor .NET MAUI application on Windows. +description: Learn how to deploy the Syncfusion Blazor SfPdfViewer component in a Blazor .NET MAUI application on Windows. platform: document-processing control: SfPdfViewer documentation: ug diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md index 8fbad79ec..1e0d21b2b 100644 --- a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md +++ b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md @@ -1,7 +1,7 @@ --- layout: post title: Getting started with SfPdfViewer in a Blazor WASM app | Syncfusion -description: Learn how to get started with the SfPdfViewer component in a Blazor WebAssembly (WASM) app. +description: Learn how to get started with the Syncfusion Blazor SfPdfViewer component in a Blazor WebAssembly (WASM) app. platform: document-processing control: SfPdfViewer documentation: ug From 3a1c3c2dac9a3bd218e448243c6ee689ecc7a328 Mon Sep 17 00:00:00 2001 From: Tamilselvan-Durairaj <153176971+Tamilselvan-Durairaj@users.noreply.github.com> Date: Thu, 25 Sep 2025 15:06:24 +0530 Subject: [PATCH 05/11] 983689: Update the next version for the pdfviewer documentation --- .../deployment/aws-beanstalk-deployment.md | 2 +- .../getting-started/deploy-maui-windows.md | 2 +- .../getting-started/server-side-application.md | 16 +++++++++------- .../getting-started/web-assembly-application.md | 4 ++-- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-beanstalk-deployment.md b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-beanstalk-deployment.md index d093efce4..b09eb0d96 100644 --- a/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-beanstalk-deployment.md +++ b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/aws-beanstalk-deployment.md @@ -19,7 +19,7 @@ This article describes how to add the Syncfusion® Blazor PDF Viewer componen Create a new Blazor Server app and name it **PDFViewerGettingStarted**. -N> The PDF Viewer component is supported on .NET 6.0 and later. +N> The PDF Viewer component is supported on .NET 8.0 and later. ## Install Blazor PDF Viewer NuGet package in Blazor Server App diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/deploy-maui-windows.md b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/deploy-maui-windows.md index 7924a3f2b..18c0f5e23 100644 --- a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/deploy-maui-windows.md +++ b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/deploy-maui-windows.md @@ -19,7 +19,7 @@ To use the .NET MAUI project templates, install the Mobile development with .NET Create a new Blazor .NET MAUI app and name it **PDFViewerGettingStarted**. -N> The PDF Viewer component is supported on .NET 6.0 and later. +N> The PDF Viewer component is supported on .NET 8.0 and later. ## Install PDF Viewer NuGet packages in the Blazor .NET MAUI app diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/server-side-application.md b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/server-side-application.md index 7c2c1ef7f..600debbbd 100644 --- a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/server-side-application.md +++ b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/server-side-application.md @@ -23,7 +23,7 @@ This article describes how to add the Syncfusion® Blazor PDF Viewer componen You can create a **Blazor Server App** using Visual Studio via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-7.0&pivots=vs) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-integration/template-studio). -N> The PDF Viewer component is supported on .NET 6.0 and later. +N> The PDF Viewer component is supported on .NET 8.0 and later. ## Install Syncfusion® Blazor SfPdfViewer and Themes NuGet packages in the app @@ -32,13 +32,13 @@ To add **Blazor PDFViewer** component in the app, open the NuGet package manager {% tabs %} {% highlight C# tabtitle="Package Manager" %} -Install-Package Syncfusion.Blazor.SfPdfViewer -Version {{ site.releaseversion }} -Install-Package Syncfusion.Blazor.Themes -Version {{ site.releaseversion }} +Install-Package Syncfusion.Blazor.SfPdfViewer -Version 28.2.12 +Install-Package Syncfusion.Blazor.Themes -Version 28.2.12 {% endhighlight %} {% endtabs %} -N> Syncfusion® Blazor components are available in [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for available NuGet packages list with component details. +N> Syncfusion® Blazor components are available in [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). Refer to [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) topic for available NuGet packages list with component details. For .NET 6 and .NET 7, use version 28.2.12 or earlier version. {% endtabcontent %} @@ -65,7 +65,7 @@ cd BlazorApp {% endtabs %} -N> The PDF Viewer component is supported on .NET 6.0 and later. +N> The PDF Viewer component is supported on .NET 8.0 and later. ## Install Syncfusion® Blazor SfPdfViewer and Themes NuGet packages in the app @@ -77,8 +77,8 @@ N> The PDF Viewer component is supported on .NET 6.0 and later. {% highlight c# tabtitle="Package Manager" %} -dotnet add package Syncfusion.Blazor.SfPdfViewer -v {{ site.releaseversion }} -dotnet add package Syncfusion.Blazor.Themes -v {{ site.releaseversion }} +dotnet add package Syncfusion.Blazor.SfPdfViewer -v 28.2.12 +dotnet add package Syncfusion.Blazor.Themes -v 28.2.12 dotnet restore {% endhighlight %} @@ -91,6 +91,8 @@ N> Syncfusion® Blazor components are availa {% endtabcontents %} +N> For .NET 6 and .NET 7, use version 28.2.12 or earlier version. + ## Register Syncfusion® Blazor Service * In the **~/_Imports.razor** file, add the following namespaces: diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md index 1e0d21b2b..32dd1280b 100644 --- a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md +++ b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md @@ -27,7 +27,7 @@ This article describes how to add the Syncfusion® Blazor PDF Viewer componen You can create a **Blazor WebAssembly App** using Visual Studio via [Microsoft Templates](https://learn.microsoft.com/en-us/aspnet/core/blazor/tooling?view=aspnetcore-7.0) or the [Syncfusion® Blazor Extension](https://blazor.syncfusion.com/documentation/visual-studio-integration/template-studio). -N> The PDF Viewer component is supported on .NET 6.0 and later. +N> The PDF Viewer component is supported on .NET 8.0 and later. ## Install Syncfusion® Blazor SfPdfViewer and Themes NuGet packages in the app @@ -68,7 +68,7 @@ cd BlazorApp {% endtabs %} -N> The PDF Viewer component is supported on .NET 6.0 and later. +N> The PDF Viewer component is supported on .NET 8.0 and later. ## Install Syncfusion® Blazor NuGet packages in the app From 83cded789da7582e2897a6e9104ee3a2239e6d18 Mon Sep 17 00:00:00 2001 From: Tamilselvan-Durairaj <153176971+Tamilselvan-Durairaj@users.noreply.github.com> Date: Thu, 25 Sep 2025 17:18:57 +0530 Subject: [PATCH 06/11] 983689: Update the getting started for smart pdfviewer --- .../blazor/getting-started/maui-blazor-app.md | 14 +++++++++++--- .../blazor/getting-started/web-app.md | 4 ++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/Document-Processing/PDF/Smart-PDF-Viewer/blazor/getting-started/maui-blazor-app.md b/Document-Processing/PDF/Smart-PDF-Viewer/blazor/getting-started/maui-blazor-app.md index ce43c156e..4186d9e40 100644 --- a/Document-Processing/PDF/Smart-PDF-Viewer/blazor/getting-started/maui-blazor-app.md +++ b/Document-Processing/PDF/Smart-PDF-Viewer/blazor/getting-started/maui-blazor-app.md @@ -21,10 +21,18 @@ Create a new Blazor MAUI app and by selecting the template **.NET MAUI Blazor Hy ## Install Smart PDF Viewer NuGet package in Blazor Maui App -Add the following NuGet packages into the Blazor Maui app. +To add NuGet packages into the Blazor Maui app, open the NuGet package manager in Visual Studio (Tools → NuGet Package Manager → Manage NuGet Packages for Solution), search and install [Syncfusion.Blazor.SfSmartPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfSmartPdfViewer) and [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes/). -* [Syncfusion.Blazor.SfSmartPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfSmartPdfViewer) -* [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes) +Alternatively, you can utilize the following package manager command to achieve the same. + +{% tabs %} +{% highlight razor tabtitle="Package Manager" %} + +Install-Package Syncfusion.Blazor.SfSmartPdfViewer -Version {{ site.releaseversion }} +Install-Package Syncfusion.Blazor.Themes -Version {{ site.releaseversion }} + +{% endhighlight %} +{% endtabs %} ## Register Syncfusion® Blazor Service diff --git a/Document-Processing/PDF/Smart-PDF-Viewer/blazor/getting-started/web-app.md b/Document-Processing/PDF/Smart-PDF-Viewer/blazor/getting-started/web-app.md index 10fcb1a7d..8d681d99b 100644 --- a/Document-Processing/PDF/Smart-PDF-Viewer/blazor/getting-started/web-app.md +++ b/Document-Processing/PDF/Smart-PDF-Viewer/blazor/getting-started/web-app.md @@ -35,8 +35,8 @@ Alternatively, you can utilize the following package manager command to achieve {% tabs %} {% highlight razor tabtitle="Package Manager" %} -Install-Package Syncfusion.Blazor.SfSmartPdfViewer -Version 31.1.17 -Install-Package Syncfusion.Blazor.Themes -Version 31.1.17 +Install-Package Syncfusion.Blazor.SfSmartPdfViewer -Version {{ site.releaseversion }} +Install-Package Syncfusion.Blazor.Themes -Version {{ site.releaseversion }} {% endhighlight %} {% endtabs %} From df1210c0025d998dec8bb4134cc45134e4c02961 Mon Sep 17 00:00:00 2001 From: Tamilselvan-Durairaj <153176971+Tamilselvan-Durairaj@users.noreply.github.com> Date: Thu, 25 Sep 2025 19:29:42 +0530 Subject: [PATCH 07/11] 983689: Changes for removing the server side application getting started --- Document-Processing-toc.html | 1 - .../server-side-application.md | 190 ------------------ .../PDF/PDF-Viewer/blazor/migration.md | 2 +- .../pdfviewer-server-docker-image-overview.md | 2 +- .../Word/Word-Processor/angular/overview.md | 2 +- ...-processor-server-docker-image-overview.md | 2 +- .../Word-Processor/asp-net-core/overview.md | 2 +- .../Word-Processor/asp-net-mvc/overview.md | 2 +- .../Word-Processor/javascript-es5/overview.md | 2 +- ...-processor-server-docker-image-overview.md | 2 +- .../Word-Processor/javascript-es6/overview.md | 2 +- ...-processor-server-docker-image-overview.md | 2 +- .../Word/Word-Processor/react/overview.md | 2 +- ...-processor-server-docker-image-overview.md | 2 +- .../Word/Word-Processor/vue/overview.md | 2 +- ...-processor-server-docker-image-overview.md | 2 +- 16 files changed, 14 insertions(+), 205 deletions(-) delete mode 100644 Document-Processing/PDF/PDF-Viewer/blazor/getting-started/server-side-application.md diff --git a/Document-Processing-toc.html b/Document-Processing-toc.html index 14bbb0eb0..0bb0a6d05 100644 --- a/Document-Processing-toc.html +++ b/Document-Processing-toc.html @@ -478,7 +478,6 @@
g}*#u&xs(G4*jIl1CfZKpwNUZ}I)HI>J^qOlKxXSxzDgG`@}c!``hY5b`hXXFCbI&+>jz?@NP9qO!gFE- zU(-IgCN@m ilKx49ETtJnHWVMbV6d+dL-ShUEmVgE@vUL_*J$LPT{=w*RLO9=6klf{`-0x-TuR z=`#xtpo`!?VrJ5VXA^;elyK*t(IG)o)70uapO|;>D|(CH(g0E}O+)y#RZg^d&1@2^ z+^iD6;MC7!gas8NfHadhxgYgEkP1Qt=XP?4yIycA_|?7lME{{b;#<*(g#V496jX>W z`lnb-T-?~YH4k087*o-3F5?rOD%bIsCM9ov0QXGAr*BKmgf^e2=-_umz4LuA7(%cf zit+>-!PSoKvqzq-E~=)^MM~w@h(eod21VUKB~-1K n?_nl($cg7XvQ4f@~1XDRvL_~NRp zCQLm}c&|xDc=qoNNtD{lu`G@!w5u2!JNm<``Sm7D7$ut|k@HX|EeN`1qn(tH@bD&Y z|D(vn%*yE9@^6a_q~@o#5?>Wk*-cDgaUA(4i zFG^`$zffiYg`e#{5g;aUSCq?*zE)u1=ha7rPs#beDY@8C063lOLDjCcRxv?og2@5M z3U`NYSw$Fy^!ol@s9Nx6MhD{?v_U7@8gKOVJomV4$21Scok!cy-7j-j{F;2_oeQ8g zCPxovZ*n|$_*1QyV^k7IBc0~c;oKQOK3yYbe)>T$$Zu8ByVQz`d1>wS >!3{kw}2X(MgNGTY2nlfMp zp@i`@qAfr|U42@)Cx5lIVyM-m7&E`84adOyVyo^SJNIlQRJlkkQ3 z*v6MQW`kMP6SX=*1k)Ug`)76EgALT!FUqQfc2YA=bP8u)(cjL*U~7)2#3H^tCNW)i ztx0YK$96`Pdf2_zAl?oEYryH=^5y7DJi=im*qZs6o8fn;i*4NZehHT&A5uMywXnXL zI!oa}mqPnT69KoAW%^-CV#1Z^WvpGf86U{Uh4P)S>VY2;4ZGdKI`zChNaOkA{TZiz zRJbRC(TncPKbL=drwcgx)GvobSolG;T(+6Jt3ulSGi`3Fgxc_qJ3bAVL%y$I3_y>> zz3-13^=!Ae1YJ(Q^6t1sjsx_L9;!l4`fjKMFm!EtYMPr(h8MpM5L&t}psbcdmV-P> zyZfN#=QbMUOYH&+4YM199ntrGQycAmm`i>K;ExUS! 0|1#ufN)i84@Fvi&R*Td5^G S}iQm=N2r0K|y~uig z`gCDbvs2es=#+0f+HcHNF3gf%LDjSQS+ZH3;H2BQ@O&@Tsn!$MtjP3;3Agw=C`Dsd zFWD5R>bcz&;y=EyyW(v8k pNb@iEE6*YQCoMgyEE`53GqXdC*OmX3I(c5$3 zvbUo7Izn1CzmD&GKf>Qm4uiT>E;^Wn{J7(3L> laNw=fDA~*eCWNATVF4FHxO;s%h}J}1w; zad{|j^}A-0F|IOR2cwspMZA}#svAtqu|Vy+Xv;k|pVeC&Y%dwU7F3*0LNAXFe}Cwd zVGCb5fK*@uZhNh=Cz$O5^=5`6WIfr+tR-SW=C8t`!A_qZDxgb}hmj%!J#vT %av$D YA0@`)l6BqAu&2@`h)l(?+=bHpC)r2LA%=shLML@>33R zS%p3TUFVf 6PsYkvSbH6!7E*1YF zVV);pTEhs&M&0XgE8+|DY+iM%Lx@6V#&;G#mH%EL4_1LfCe;bA1D34aziGNjahg-S zSwV(Zh^v}$ND4< (l;oz9x}-5F+}y{@4*SFln;8PE;`* zJXu#wReyWgR^y+Dg!IKC1UfpQ{cTTOhPC8}UDVIK{%r%zbw%*&oa!$$T-3Xsp3c0d z59ECF9|H;~)xPVJPwapL8A{NLea{+tZZq}ljhCh+Nlae6Dz+DIjqQ7{8t*hmXvc{_ z#AqV*!l!_bcc(EKd%YF<{Lv@vqUH|QHM`N9d0+K-XSvW1Cn+DVNM0NUapNJr@E5PA zOz|5YIXUUiV;2_R%M0n&t2v2Q*L>W9<_ASxUTjB4)YiqtDEnnT+ J(d`L#rbW&GNX3O3R{^-~(YkW}x1Ix>>P>aYxs`>yF&A_jn z?eD794v4j*f!$mjAG2Xwv@SQe8xK_aKWc=KZl55Mzf%81KDS a?l~H$8g&_I8^TY_%y3htafnXZn7C|ou4C#tic0J z_<1xWokIgj$DFF%l_DB*xyha3Bsd*OeHGaC)S^|4Ubt$S78%1l7AfUmTEzTC)W5y- zOPhQu$*ZQP@b?TJ%*JbGT#R7nHJd`9(vO2q%$Lo6{Z&JQNC)nq_Aji?QH$zSl9rjD zjSk>!9Q=tt>#{B=QZHTW@Oqp1wrj3#vFI~s!mCtLK3;UDMS_*KZFMn9QeW8rK_oUr z!dZE?R_a&RSYj*P(I=kb-THfiPvwZkDQ;g<@qg{!w+B^6@{kx1 NnCEQ!w`zmmVg3LBCWpPu1A_VS%XB5_@dB&g4x4k zi8b2TlctPok)PuUuv>a8`r+rJx% +*>Yt4Nrbm~#H})^X}Ce`76t)>fLOnJ36AS4}lEFW1Di zsUI(4sL3${t*=MHDSJ}DTLTI~k2ko2X9#l@K#@(reA4wByx4Sd30Ah%CpHRm*7vIj zS68^jyEsUJJ$w6Py?>D(oG#3Iol {)KUAG0Ftb zVN_0G$|{_E@zu7}WQj$Yn92xU&^zFt3#VF1QivEHd+=Z*ejXji=iYh{mzQV5-@2SY zdHBKS?1!)Y`uf^%_&2>~vkSd2Y+oTnZ_CRGq=k!zw@6a((OBb9>+xhZ9xf?b A~|_k|NOf!w6~v zBy5Jytu5boRZ +E zJV1zR^2gO*kKarw{(YOC%B_e*-e^^=2F04=S+g#G$SnfZy!Q;?&_B3_v!_(y0W-LY zT)^a+DV{{fXq_V_G*pTOfT%7e_6mBu6k-oL)VbaIC_>^EdpLA$D&)V&5 6gi>r?JRlt!JJ-d}q0Ntv*mW`E;P| zhPaeAP=kFJ%X?byr8@U2A*%ZO+G%c~je8K_-uLGGW-Fq~M}XA1p}#i IsmvF)Em z^+ne|<&B^wfIbx-jh(Hlz|Wkh`_3Hn5rEq&(z6v++i^5i|3w|3(#JqfXUu3QV1MZL zN}gj OlSw4HWa8qnRx>U3J#JZt!}rp|T_JU#O|ayuBXz=xAv`e6uY0u7>?> zopyh?+*--kKj>LUpxTtG)*=i#+w#DoVjNE$@~=f2ok!ez5^wlCwXL!k`z$`$Zbk)% zg?`#0Zf o}>%)b6P2^<> 33JNv)}}&+O1H`a^&~R*>I+ k#>(n>3Q6{?;3hb_iD9u*+pvwsU^@Q&)=TL7 HLBGz-`pp#3~c?$JSJRMm_pWn29}VRQG2cA~U~j%aX+V zoFyv9SnbV)%$z8&i?=2It{O$I&YL%n9@-5jZ@Y@pSXgGh`hZLvwhG;Kgso(kAE0}O z%b!whwXf-aav#~%=Gc@mH)7-puT^A3l;slS>&7UJU5W9XijJkrf#T^i=m^$B?>-=F zWZP&|&m|VlFE;7Htjo^@sj}PWyt>9(G}1Rcocmld{S+=jesGlm3a1iR)Qu{{jdhc8 ztsi ozi1+jGb zBf;2-F~0#5@_>Y0@_J>V?MB~hFj@0_Zv{!G9%e!|RiPpmC%5)pNX5X2Coyp7g|;J` z_3F0UB!yPC{k*Ey;iGB0MMAQ@EiO!$$;@%`kod|Vio|s36&hCmMN~5(N|gwE!32}$ zWGJTYELGv$ Fb|5ycUYtLe5@xMil|> zfcpU63A^jbg0J;XR=XhUa&)X$={HjCXg!PN`8KKLc>`4|WhWrH<*@-ND9?gt(xt?k zQa?Y^5hY58UD(
oSr z8P3G;`=LZ+kmAnhPcLtm?dC#?*>iM6AXQ0dTP;kfFP3?KQ@`NI+e9Ll&~VX>r(3)J zpYMin&i$*Z?A%%8Q`Ay`jZ2!lXK}CFBTnm^$r}UWrCE=<_PfS`UrTqyLr 194nmtVJw_>VC_r~S* >x#?8gC5$IgsQja>2D`sQ;ztmp9 zm(3U4R_R};)el; `65ohbK`f+T3H6m?Bk-job z%*WsJABo}QzC S$Z&X$U}4#LkNu}Aimm%>x?5_LY@#i~7J_dx8e zHRC6-o10HB6O0V^`W`0toGQ#f!Xf^iix=Svie+?vB%SOo&(EGu`$1SZ^66DIN2?@G zY?*Hf1BJA1R#^g)WFxlIx|F}p_5toD9a 22B-gNFUtUZ({)GWD?0GSk$aZHQe+|vOfqlVcNBJJ5x^p1MB1vyuYNH0@ zBL{sYm3@U>#55gWpZ!nkl$kN!(iW_nH@NB#oZYX9AC#&Wcx5-B9{_$t=<$w-Sk~s6 z3#xDRDV4>mwfWWKvLu=AJWC($=0nY&@dlV_YYJ|1nMrNov^WgH@DcaXteyc4#m?;} z*)TcFTH+Hyqwbw+QOgqi$G@7aVs6-Lu&deC+>B1ov9(}(Z7lt#6mC*j4xD#xJ)eZO zx2%f%wS|nd=9jc_l4Ge{uEgOIpQDLa^ mTEA4oPdJ){>q0*PW|;r6Id*GYAfR;3qHkip<>KoGkERGQmTnR3~T!KImHzX zfMyxnhCJZaV*CLPJHBk`QTPF &N~V>FYJYeecm!9$a|JWw)A!9xb4O(ZtLQKuwJlU+~wk+!4c!MM~01rj;~K zh +oKqUBnk-7uo0KA->L0w& OO z+**%}H<=LeKa3P`Mj6@kO+s>VsB}CXpRBTS+}gSfJ8_mWsy*XyH j(5mS#3i!BEwz?+1UStvuoD z2`2~A2b?! cF_@x(-n@+S z_vuOWTyHt50p~;#o>W4okin>ey!aB9M%>>&IBqSl!P!8J^z@Hsk88j#s;5U@H=!r2 z4A7HlEA$&?hTl2Y<74*PX2SehC*`5OW`-A~pM?ij2MhwNY^cMA<4aw^Cz!m>Pm$_} zgIaL r;CRP(xf|hUZdDf@T~z!U9!SH3 zcSNqf4HT`7&tRH{y4QGAm21k!9GxU=OLm-{$S;*Rt_g(ym1I#O=D=%>HmPDvDW*pf zM{?`XYzPXSGwihvF8Bcr<8acB00QV7mWm#bv`-F`6gKa+7xp_29iEHP3v7{_t|JW# zHCns7B$`+~Cyb^L2{Swg`sfP&3<+W5aQ>O%x99M2EK?}P)7fle@BAIF&(Wu;X%)xm zxI@Q7CLV*GNK0PdO?>Se*Y)EuYO8c9_C)({2}9wiH=hi}s+WOCzwP>)*%_=(=7UxE zJOM{m5+P6cLk9mo2e3JwfN?CQX>7gpqYoWtt!^f&3tP!suetG*Y{-ZZ=K}WQ#T_`2 zF7xRiy?yPKvKnje?b0%%ae+xivr^*t58pHRqlol F+1 zI=|Fu{s49p)j#QEq|rNPl$mR%WQ=< %b$>JD^p}X6yqH-i3 o)-=a+eG8;o1 TPj$yTj6jl7I%F2=CZtN4$!VP8ID zJE8`XlAIkZqinLh$s`W>J%g{yyA}m|ur<<7L+__6nM8Yd(B%n;seKI2ZYa{U4zHq2 zt^3_Trz(ofmknizL)4LAfD@O$o0^qvf2KDX2~}#z=EXBfAA->AKOa|?%k2o{NYB*_ zt;)~@mTacL=~hs@#1YV1;_Us%6jlufYaC(%NqOT?XkH$jrfck!KR1J%Cm-~xOI>3) zGfxW{bcb0-SPUpFXAd*RSha_vJVqmp`+>A9?9A9$8;^Nil_MxhUVY8}zyB){^!fcf z46op0*Mt|fS>2c2cD=F%n{tqd+_J=g2=X?#ZMpHHyfFzGJ0I*iD5lx-b5511R;zBc zeF|@pSecVUQrD``sh%z9Pg)^DgF20Gs2JPdnfCQHLJzFBuz4Mzj}o; lW{H z>u9u=-gqJXLSY}ND3)GZ8>#Zk02M9|bq=aFt71kTAttn&4mT=tsad) (nhX2%EpNcxSScHCMC6QexektdAE(P! z-g?C!1ajGb=eBD+(N4xF@2aI&ap<`YZhUI?F&Rzs|HF|FX*=~oQ(yI@5O$fSVN6*L zh~)5_wW6SSfvYl0;2G&(Hn6{Z(6L)CRBe1?S@xB{XsMkvp;c!}@Lm`Npp$*ol^O`{ zK)7BwsOrOGwS*@auLOQ0kqQH={mZjI7Q?w9hgI587%>P3s2TIQ!3iAphbG**IygAP zoC?o_U~h~Il%^RJOh7+`V|NVpz}~r!xbVE4DgO#skzN9}pWVQG-=#e#_*LTRkzgpW z-2wkW;mU#w^~?+t>yWY7=Um yw0n*UvT;O~~n-+Vb`P!*l|UurfsL=`&o_tZjqc}V%8o|ondU!NEa z4DTJ~j=e}6(VqX#^7G#-A?vtBUjM-S_WShBl5Me=buiXN0QMRss8}T7wjy71-oB*q zo4oUN%jW xe%ACjmfQfC}P=E3lC+oZ2>Y>h-$=swsQk1BXw zhTo|i7q`s=|3=7}_!uA+$E0NLje7Rzf4OiDeyv8jCK$YvI4wN#?qPg$eP6aXMr@A` z0%knkNd2f-A>^{lAU~cU>~R^cBeY{FF%Q^DNV(m%v5ltDDL$Gevzw+wvy%6=! m&;!5rpj#4EFiixYdShf*eYm$Q;O4-mzm?er{I(wV z;a?3Vsx#OzpSPMO--3dWX=vSvcy-Dg{*u{(d*WI^XsqlA7o|GPhl`RUW%_9Y6>AgP zcjf6t6g?(B2hI4`g~w44qYg=J9=u>{j~xNFv};N%vbVi!Fyqj*8)}-`C*;>?eo>8I zW4at3wTQoWg!3w4ebf)yC`388hatW`?)cLElv!k8!~20E*%9fd`Et%IDHGI%Xa3DL zq3THNz2F}Pmwgb_R8Fnrt1L&Ys&^jzZFK%50#PyH)fRo2i?}W`f@j_&QPeyhWpe*+ z78aTi&3mnFz0OMk-8D<5=&2O2*bg*|;rz;#6*ABTK4=J~t>YBq63gXQ&gmF{BNSSZ zpF2q-)@4?a4k4$5-F~YHflVrLYR&64_0GknpZPv~$6jgQ@4-Cpb2p9nVnqzg5s$+n zhrSeNU%F7<_{t{bG?b%6S>0omzUk_Z5Xf*JYw6pRQV A#ZkDnd z?K{UVq(dlxAdNRjXN!H!swV<%$)Qe|LJ|5dUKAdDTZ&S)=fBFLe5{<)Z=hbOGO210 zmYbMo$Y{TfiPt_$47WCwO>-9UKHK$6qf%QD$Iox1!IG!%bXeVG^?{*cjcNJA3yp~R zGrugimxZofQb~Cn>-V-X4qMNL+QZneB;8(pT_H}X!T+jJ(XBWp^8iW1wMzIF@xQUh zBBxPJW)*O46Hb0H|CX)e-)Xh~FZ39|jbLyau3kdOx|lgKSs@+Gyr4R3m6^ZvvjY}? z)9!>*aw2_AG>zR;E)+6<0lgA!=n|lT7dQ$gL5-+3STT6?=m0sP>;}gW0N}OAmkT0Y z0@x|T?b1^XxMnhzJ|u5`tn)taQjMxq7WUQZO%&CUaL~+OUY~tv6CAuJ`mTR85Oq1F z^l OQ7UvWO;YT@_d4$bvsKM@Awi7~>rq z0!z5;d#>9>yB=wb7mer8JFS->Zr52Qo*D3BM|VVhU#&K>>NIC|hgQBC`xDji13<@r z`C!_4&i3Pci;nKpE%>7Z1=XvW!z$c#KInZNEGQGA7BD9-j>7^n6#m~#D(x>rteczn zcI)I=Z3V18`}mvp- VC2uTW1g@F_KX0&`;xYdoPFoPo}RWGQLXLX8u$D z&|LAw($0HH!S)&l{*%GXpJcn{>$yB*s)06GgNA6-owF(N0grqK{sMT*yaCuGk&W7w zSJjhQC|{yt76MB`z3gI^+%Bu9Y9*)WeU$3o@5@fONNS`Qth#F5b{Rdi3rr#DeN*Pa zi;6`2*{h0GU}9`>;7UB^#e=%bI56>uYh-bP#+IxXkj !XCaZC~@p^EOBy@S|+7r|v(5nO>Fg zvADS{QSD75x>^Q4@NctB`-XOo`GIrF?f!MnyNs;-Uxb}yP#sOzu7eXaxO;FX!7T&{ z!QCxL@Zjzc+}+*X-Q6MBMuQXF-Oubi@AH0N)u}pX|K2q<)6>)4YpwgfRvS69^%_g~ zhpM#XVANtCfx4?t-|8GN @gOko44#~~F&lH+K7i|kpMg*3sM3#LHuJ@2hl zUn|EW?3K3B`DTkp7khktYjZbBP^e_eI~6Y2?uo9M=}w@T;Y@&Rm7$P}aN>Lo?fE+L zmOab=D3+Zs!gqD$tg>TbC3t9kmf&)wzw(pA1M1N@HxE^ b_1 JahOX!UO(+4- zmPSEoXf=JzQoz>bcSn1@Pef^(TJ--KT(Q6!C&UC))D)ckv;dW(JVVF=aGm^TLsT6; zXJTrmo2^D>5>-y@6RtTw5)G6M;EbPhEP|@z@(Ahq9Jy6Ol5mtb$LL$h++mLLa{PRm zZWQnAc?tRIkpLbRz$Z#p0KB}9>>9EghN>iNGZ=GvI5l2#%^47cXqSeipp0G|RtiRW zm~S;CDr H z6>b}27?q7%;i|4uOiLyck7p^__xuUr4b+~ftv(%nh5hc~cLM|?B8de52$}^20nIFd z)>qp%p@Jve!492kk%2mVC6Fb{I5ORj6&WQ8@FdPR@Gm=!k4ln>6y7ZhynD)q{74ml zpM@p`Nv+jQON8hGw#Rh%yhM~ A8a3;gp^{r@9LptPeP!R7Fh4E-ej> zehVZSmX}?Bf`zM7T!Vn3l}79*mL4){_b)HvfZB2vLN_sYYm#@9%nQbpc~G%-tRFAa zaWgc6fCb5n2l!$|*O~|l(u0Bmd|pCX(yGZ%&Sd)1*WmKTdgMTsB}0Q;jU)jSUj7@~ zqbyg1e%YrCEDO1i0O5fgUlT0d)L;DNjgYb_(@qCj?1*H<)ctFPS5!SBn|qXn>y(M~ zk_xwl2hHi~t-NEe^^*&(jOMWq=qyX+Z~g@aEbpkcI78oLBF2Q6UH)VSC>29lJ|4Rw z6;AY? Rux zXsvoawV y?;&mXr*o zlUDvDZR0GY(iFlmY-#y9`i4)RVNL)l4XyTA3`&YcouEon)pY8Dt!w4z9M3@bOX=O9 zf%@Q8&CZ3%G0va=rfnck?UEla7#Vrxe$4(64T-elJedF5xpu<|GD1mWkM_*``Po9T z{UnwArGn(czy*=X$TC|6lu^!95K!a0+@0*S5K?hkd-wA6#}v@|U7dpApdyRR`L& z(I5EnB125CCmnJwwJICzx%zN+Mn1>Q{xMiyZC^N~S@zc6+8J4`f$*o#eWo-Jlr^s! zcZd*KOd#0y)yE9s7_qbnd+H|u_MOZ-UL@mXk*>Noz3QhBF@?cd2S@>rO!_ne$l_91 zK65ZggR L-}k}b@+uodCa3E>{FwIMdr;z9FzKwtCI)M(eaJs(o*K)GkX zy@ZoWiPC54qNAmihXAR;r~`|#!DEJ^+G`++`#I<1S>U|v2GJ#(^=(YD^KH+t8Xq+l zNrxxwNz-?Po6M%4g*+1mpZ=f*bgSqFYbfPRU4HH`q2Ra}Sryfi`xt^4GNO!e=Ic9@ zh{4>=0&Kv>tNN&MEvo?=Lri_?F4|I)eR3&n=(2ALbR)^Q_e8bOS!OF$h-6X 95~tX*m;jVSx$Re`e9 zm`cs*&Lvb4i}Ct>zt_Iamkg)T(1wZa=pO-OCd5KTmQGM*Mu$~QYZO6TzhFy?F>~;% zS3hs}QoITMc>S;!F?U&iW>fK;&RaSE^^7lZqd`1bDGw;4Wmev%m}{O4>U-%bX+pLM z_Hco+b{R jy|@ za`t|;$Z-uGHH;EcCLQ7Siv%2BtnwnWX@%hfiF!Q8ziffWHlD?py473%N(tjq`q=vj zlbCChVzrCSswOHD2eUOpw8wc3G`^vlkG)4oVTPZK0_cCR>6;e6Rng9~&l)fBg^L$h zI55j@{1`g9_~gIj |gd>h;B7fI>V^`~u*D0fI!blP8qRvHV7?ax$ z544|yq^v7k?2&5bbpZg65ELMZLkCVDDaH(tjWl1>N<#amYXsKz;~FAVD!bUC^mavI zg|Nz(UPfywkg)(VQiXQa*7>c5Yll~V%))Qd3MWu=g;N+}KLC>Oq9hHGX2sL{I)zfh zbcM2U?qNJ7__0i*^n@-g#OPkprqzaxs<3b4tUr_s^gH}RBGbk(A`Z*@msEc4w^r%< z{eH}Z{eZ>_sa!U}2xp9@mu+oLNamvFH@|-sT70>An=jO5ibR%*WIBfKyZZPOoOeEd zN-aMoWKC6vTizEj+FT1>ECmioY=`XAh5tx>iis|_-mC^4VV4QuwUwF9fufBpc|k#X zGo9pRC73vv=52n&fqKhvfE?lTkKD9QG=jwYJ4ll&lCuY1xCxh+2F8vo)e2M5{H2OC z)f^BReteS%(yh~?)yEYNHE3C@H|>RJPT5dV0v2s$UgF-X~=J_(bTH2V|8RdVk$> z;sW84X6-hcu%EuVpNi>rQK+ano>F4AT>RX(z{{S+po{UEeq%{oLGkTgyh*J1*5_%f zlBFZ}3XPaDOCPUU8v~!Qi&C>`-8-I}$y(HSUOe1nfTEB|d*dy!#s(x*wV$iB%C$EU zu#6@=)ofdGU*pq{1~>O2-)ka&MyMMjC!MYT2yLd#nqW1ZE@)H6#yoj^IsMv #GXyJ`pm!SiE0R6V@_rM^(eduJ zTN!pO`&AF^sBK}*{N$1|cwND*?5#T=gpOq6ZDrQ92EPERVTc9%Zor-dMlD3b?BZhZ z_O>BVSTj>3-#uH@Njt{tV^=ROiBvXI;8PI!DifwCGzZjwrrgio= Q!jc2%HI;9X)eK$dt@_ftGA0&{TWU!T1iFbNVnVs^`9!my-VLQvpaunn^ zbLiW|CNRqd1%~m5qd6wYz{|IPgfzj_ebWK8`e~Om&NA{!|L0KS#;_RsSj)zWj@~+X zR1#A`$YfgIM>Ms312t%s-rim_Z^SfLynxu6HeVpo7IKZ!{cDC6WLdu^ELngm=566) zs|CO8g?IZb*(RvdIZ>K$_}@e;QX8`r|9=v#UcD%0uaL6_rGwaCy7E|=7#&dYcl?Wr zw6(7eG+U$m_`V1-Xa+8XMCvKK!yZSK!)}(Sr9bL1QUcH|=%%DZ!^58fRW=B=6;KMh zY)@Uw^=r~Y%j7qM)!&pemHU#HJWI&^+#W69ItO#kA7600t6`TD3PFtYN~K!bUGu^y zwmH|`h@w@OIjf4Rr~6>^!%+X}IkY=tXjR)-{EL~ahxW;f3+bz8&qKD~-pIRJ2#{0f zqxRFwZReoJ?e9QJ$pjNciZ3_q__%~UVYASEgUzos^uh%dKA!fdNbA$ hpZv=!f794|I`Y+$wl;@SiQ{+oC);d)#Dn||UW$evU8dgRg|O+s3Wnz*jTEKGgL zRK==?Cy%OKSFb8JG#t!jW%{V5tSFy^TrB1V4)&AXEcnqroKLxzh*|RP5Db?dLb!W` z(8~>XzD#Jkzs&pWBgMYtpb<>CQU?UWLM+sjb3Up)W;S#?? zMCm3yP0ZIQ>$AIWdL`eSQ2Vy$j&9RF$jWCBt#Y`RWS p$xt zMOdhvi7Vj5ZwfYsu59A7kI$V-=mdqx8k~P)Q0(dpjB{KCKGPCn#SHl7Cz_?a2;MeO z$0x(gX2{4Zwr6InJEOSgK9koCUm%ohF0B}7Mt?w@vLxr-{^pR`%^zj-!2pFpPJ zEEZ07$i2zsb@~r}A^^Zo7{8~ggn?|Y46cv^R$fuwrkH8!ehMHy(DvBe6diOtA@uC5 z#9}59j2J{E>bZG-oZC9Kd^{fsHb{!Y4II|jUL>KXUG+A=IU*W)9vQwS7CNY*wIk`5 zqo*J-q4?whw l|`gf>rU`S`6gd@oLVU~blUS-M%eYONN zD9k9&GP#^_v;wc+f5QqZ1i+^Si0ZME^x72Pyr}pkdS_sK(&dbbqVlaQ^~oD%0dgy` zIQm>R2m!5;WIu}Fgl$E-+hk4aBgjZ_oOPaAXPLJJJoWx2or{% ){_hV zaPy55Q*S}~t=_f2D=@^iWfUtaFD*o5YoJfCn`Cbtb)Lo&O@m~*Bd8ZR2u*zxey{HP z#5^Hczhr&-Xw#?VeZ7|(DaPLv^GEvYXIo#0@ _Z3yi3`ptq+fq zo5;*zr9KoC?|*6S^AG#8LivasWJCl}oPbPkMgni$e9R1wc-K!{py#90 J{??N*}+Zm zgbGls`6fQ`b7NC8=&-H}h(OWw($OVDCadZ!kf`%Yr=S80w3#y|VG6WEeU9>R)0}Vu zYJSwK; sE2=yC~ zmQL6D|D~mqU7LEg^enG6mFV5nik%?#1!nqgK! Ykxqs-^nSDdPWKj5K5aX(T z7SQe7i32>qsy|YQ*oWoTVYYjxtW#Lze;~^;GBS$bRAZ!&-Bl+H(^?iH;a)wFCKs8q zF10f8ugKZS&`whYNp?ajdT}Z`vHJ&Ll9GAe3gZq0BLZZwQS~D;?m$!8V49@(lDWM| zi^YWiwoCleM{#wIg_+?#xCM=Kh#dhnzq_cixO7hyf5#29uue-0Yxj4LNvAhtbbF6( z{u-H{?@(;oY*{{c_T8wsZqF|sG`39N_*%{|17r_#gY`?izl+jV{Vd*`KS?xZBB^g# zGH!-vE)C}!JZ{_+2ZDh9&fas{8zb0>ZtG1TpU?p>yry2?M(AKo!wMz*0o#D V=2$M`Yvu+7T&0lL@LL8x015)scvpUvG=0ouTWCki#kju^^hsKrM zaBmJ=?<1$Jy+evG;pQb~^|CXTy=yPSZo1ro%C~t;Ka95GZo0Gnlj%MW-gq%cd9oQc z=t6iD{~`3y<^nk4LX6L{f+p+65A=04Wl*XLWswo>D?HM8WiPZq@us6g3M-@r)~_o! zt+?#>C!9;yC9)@q8K6y^BQ@W*yJ}yW8SxCcBYJm>V<8$VKgvzcD-*Q6Uw4uBid`!5 zj<_EmRX!|HgdfB>s*i&T7%DJ3b#oeqV7vG&=J!5@21#36Tb{6ulMf3E>kbe+<6f_i zWIO4>TT;88&3hQ1Pix}XY(3d;Pkzwb?S3B0WJM-v9}p-yLi`e$ecwga<~BiirJWSk z+2#TZI7|Qqfgq7fa_l=}cq4lz8`h5L+|DS%c&pY5b)9g%U5zfK#h~K}RI0~^V{?an zYc^6^Q<1M*j&THj jlUvlwPHB?eE+Lfc3bA{;bi}WqdUnoPyLWoa2U_zyGueET^wEX? zTkb0~)Xfm^ptr}5e3c0&!h+>=W!l%y$mFO{!;+RpDKOQqA6q#9WUaq(d2~1vSC&hO zYz5?Nz k}dXPq&dtTx-z-$}9(sUl<rVnU`4^%vDeIjwO_b`%Pa#w+uxexnM1*~sI85t>l^skk?Lo|1#yxI- z#)UNW$-PjiasY3Ex6vcT=9(vx@O@_YuQAQJH$dr9 p;UKT znEjZv?3axzQ*mQJ5zA@_jtML786FZ}5d7>y@xXP1et1|l&praAgY6*!m2(@uze#5i zOhSslHzSpu*t%Z3<3lot9GJY|#3A67FY~6Nru?>)XZXGf<{xtN=dK~2f3m3mZ-g_e zL+-cKaoF6cBK}Y! -s!brTc8Trsiw2u=wn>W;0M+%2!YZ~*4! zV*b#Mj0|EzZd>T% dxU0Wg3Nb@#N66X!z^9!{lb2hm(Y5Fu*dr zzP+U&BZC05Y0oQPA1V)Y@uZHI8&R3t&U|Z!W<{GVY;D;9sn`(%fc~O8L-@MLF*m(K zw;ZLb+4HF L}1i_EB6l$Qn0gQ%@oS2zTRA47hiP> zzTQs)PvBO79HE28abhWwKODwxFv|wa0NcOG%=*emdP#N!mDx~A{n&C(7zFndE}#Ig z-M>xad%I#cnFL@itpRRhKZYz{_DejY!e}D%plZhj7K3(+5{wQTe5>^a |PWoKqWie9}rw5{rvt#x&otTIoy#M(dYij=K;5rb#a6mH1y8_AIGQ4Rn~rtN0Q zoXdLs4U=}uPd_-+5|xsZlOJPAtWe3x$#hj_=H|Tyk^BXarH!kuh=4aL0Do_j+3Ow= zA0J<-WUW6Gr(WX=4K)r`U5+p!f+4B=w3@Hj7rKoG_t}J|LNpC?Nx5JR#1NxbO0=$@^(M9b0+z0;IyK z@8kIH01&3X&E;~|w!OXG?Cu(%NJ=hLee Bx#Pb?7guaL>G&jSLrcaEvaAmsS;RRgB?K^q7r;veyl+s z57RnE6?x4W^5&~sS(qmQYLIt1psde~uO{3P;MMl8DR*bEA7enj=E8ZOGujQNrfx!g z&HsaixeywO`MEjGv!kCeelj}7M5tb)K*Jq>X!u%fL+y(uvs!zH=DNe9N|i6;8c?cX zWhKz_0N7#5-IM xDn4q zo&H=#v4$7TWm0Zp=4B5NN<}@N$B!=7id^rBm*CG9B3fmMmzX1RV}LQU7#~jK_>ZV; z3P9>gV3f%D>1zwp;6W?bsbqg0$1&0-pflqW5cvsW93L`|8MROl90GGZl=w+p+S!@_ zN`?cYVq#>9KI310a()t0RSupOcV1o|DLuU;*1cMT*xcM)GZyza$s#j71%+^ZMSgz1 zsp6OQPrPLX=nM`6 B+}ew{peWbeBH@$B8 app#H>v{au0(Ct>g1;&dTXX7=Ge2vC)FO_Tio!IL4~6X) zlP@6a>K@H$Cui#8%-b}3jv3`9t~vl%qcVKHj%2MFRwb=t9^8lm5=po*u+UPV+d(7{ z&M_}_&mAq+DwoC{2~vi-w^?s|X4lr;t^#)D4CUK?*UNFvbbuD6wu)n}w7rhxZ?4C* z{KxDXO{hnM8~5k39vZ-oI@>eQ)5(<#tc5cz7*W1?k;(>bL>hSf_Qtf06R3WhC~hg- z*}+9}T`{8NYbkk@YHXHOiO5DC5(Ywht;w;=V(d$>mA!dUJK6VW`BNNq$S9m{;Gw;U z8ISEuPM%_-PuCR#AzkN3Ukm^a1p!X3oT6fGh&w~!{ly4 ??^(?zwa&(mkSEbKk~x(cbnuJYA-ke! z5cyzQ&Wcglmvx%s;nV;2QYU`q-~%z6Li2f^Il?!Ur)e>=%cU|M1k0q5Pl*`!O)FrO zS*{9;sillxBqBF oWsj0>z{a zsHmv;c6@F`eM*nDj|TNcc=hoB*t>wv2)1X4fGXpKH(~qTfu ZqIB~0Y$7ZXi23zrj?JfS3rmZxt9&1~nk2)BEz+9RH0%hhgtKFl_hI2r6y zsjdV2BWB3|Wpw{xQLopp0L;}l5*hDxMNbaZ-~gR?BCtsDrj-2B$Uf}cM$_U>DmjR1 z?61~>8O!j~Ir=5`#(s9DjZj*7)uU=9=ot87N?&JP^=b!)a79yn=QRNekAu;7C9VWo z8Zlv=J;pO&O8WFEA!5S}Vl(8>_cmE{BSc$}Eye7blq38Wp9j$BEn4~=FrmJ&&(VN% zVhU?ep?vxVbbblwK?k_OmC=uX49(;D`DN*`eq9HHOP!rb Az`y@R `eLTUiOz7uFS^~IPStUrpyhyT3Qd&128^w=*3ovTb71O+ ztGneS$t^Y!?HJ6c;h^0Z(DXL66Sz>w<-qHK+i!e)2@id9*cXh!Wxppk>&Jknx0rEH z{NO6{CcxRUWa5kzeWr$m`;kaoA~j#yzS;hT<$;;FcZEP8@JKXss^EdjFSfine4#>A zso^1>rdad{Ry_fkW+f$b;CKi33oGeV6S|ByJIhD!MxZiyoQJ$WY|1j;0*g0{x3_=N zJ8ZCPb5;I<%jOCxfcfUz!khO-QlI~ &i21r~yb-qP ^a?euqn$>mj&0;-K?5Us6;GQ zc&jCtG4slVe5EhDn_A?xp}KJH3KgNvMJC`HFy&E<+5pORzKHJJI*n}mndtQzLN^&Y zC@b&;sq 3au}(;pv5t&1LX)H>-R46BVO!o8;1J4`@5M6SI+5L zDe>_(vG} v}?!!Pp>B)471NdGqbt_3VyPw7>a-xusP&b|DzY_Ae z;aa8hlaGA6zWdcovDape`5Zu;_kJ*UcZhr4of-BKmUWgl$Y O=ar}&-sff`bekJLshNiE?Y)b-Kq@?|5 zkt@FBue~B;umMv`C@pX8W+2=)nXOC7RM$B7lvowwuzt>9Cq+f6glFgPvCMy0>K5;* ze<@72y@rUH$W>XI_qQFkSHlSatXPfUA6ylAn8lPzNse&gWbT?f?SyqXZNrHmnoKi=kk-yz!{{*T(Zu}$#GvNbU4|-02-MbQRqXes zkENQqmngzD#BvX+a~k@hOQ=JUPU`OQ8!ZFL)!GO0Y0$bs_^iKkyTgNeqN39RH2 noIm z{KU;~MpZf?VPIfd6pmkdWucoIzEv(O5TzfBL?B<&_X$*-$;?E&cOh2Uv#rSW&>7fl zE45UL^hDe^Eq!JW?J5WkTIn a$XzD7Z+e90(FvfRf7z~lRv=V)lySX&=bY( z%J!?HSzlix=`HAWWx>~xe;{mo_N@aKS{WHlY~pybxMRGwf#9POpm-QQr_M&oi>7Kt z8pK#~;_LYiFL_rJcGBeR_A4A?kq$h$%m E!>&R==huf5g~bdN_L^(Kw%uP_^0L zhRK@{@6FpU7Ee#}-M%tR +@*RANeieQB*|j-#!I`v}kD3hO9Vx*H>2}>`gJ-X9G1}^UR*-h%0WV?RNmzIIDpk zID(TI#lTktz|CEbeukzp?@z3I)WhVMRUL_tEnQ)@7&Eswbq1e=1BR=^I$b$_o|&iB z6A@>pN>;ft60|8m^~wmpCokN-d(V(z$JlWp?;2`fs< z&c_8k$c62f_%P+LNgjn8IM%bMCdY!fUz}^%UGq=70T?TvTM07z(Qey3BXGN;+8*xd zB8|o-Sd}FCY|Z%(>@qclKTVB9`5A1rcN-XrKy#&ld!Z-!^PdIO=Crcjc#S_Dufz^_ zhC;QAKd1A>Fw21eVdbc7w7dHChl5*P7=Uo0*4^#DeBzZ2=JA}j_xOFFr80zO2pE5M zVYp5+t^+S0U~zgLYLthYJ?8mzA4?)etIOuy`nqo$p3*VAmZ`~YgNonKv$L}wbjQDc zMB3Ti-2z%z&@r9?=SRA|7{hgk3yVtpJ@RkUAK8y>X_lIB!sE+JNMds%6%B$9zxSgQ zj93o+K2ZCPJodv+XW?)WI1r=mlu pPX8JuN1t_CU zHYLJjMJDP>tBz7`H$X6wEN)BoTD8u^KknAAhng3Ix=(}%*X*E;S9!u`0w>mo=&cO& z^u(c67l*u@h%XSnM{Xy0oG^@&Z`1Z(ka~??Y%T+p_qWRBSUNcM|Hu~D9BSr_+n@E< zz}^;Va&fd}1&2FR{8*e$tnwOm>E($Q4yB+sEL!E7Dba {9X5WhVi=DPWFYO~j$=^P*X_!6{w zvc(dFn5k#TvWbV=yzoeWkMIeo6aRkTysw}bTwNQkPKyiyTm|!6R?8YBblM&r5#3hp zbnL$d?aA?37ma7-(a|?q>CF+aJ9%;Df6II40p3?rK_A5Q-CrIhi2Q?0dIL|UEbXuO z3@!U~QmF|AbLf^e@sc;`(}nLsCS%7}%Xtb)#wVskl}jV*$Gu9Maoj@X=e|FS7o_&} zSKn|E0`aPtwesVs%Bh*s{o5qMzfBd01hw$0>t>;AE3rlns(PDQ2VE97S0T|y*gQ?k z!yH;JnFS(8>!}AWq+1NI94axW%jzk@x{S+o*7Obo*(5CYPNUCm+2f8erbMt60YYhj z!7U{?$L2i9TV*;!^>mTg*$0Kn=M6{V{x0)rn;MOTBoaplu&h1aGoP!>Lnej1;`onx zdi(Nv9qF7bmHZhW(k_^j5W(b!_3Kv8ySw9(nh@`1*s_ _6cFt=jymGK -$(r81%VIfmJ?9bz0jVQpyK(xFr!>Ohyf}oG<5`L4lS|ehWB}SyI aDq$98CHV(sq$`-KbwFl{fo-NdxuoB*0755HJ#UqNdU-9 zw!*0MI`Ky+8Z(hHeTz}8E`(e1lI|dcEF?ysif596R#z-6*etl!3D*>~q4@E5g}(As zO;Ej80lBTs3s+1V9R0T9{q<-&{Cmjos9k3G%b64wea{9Uv>&2$s0ux)@)IX; 9<1P#FmuM_gP(-m3dtf@Di&G^t{j@aJ>m{D@Lqt(JU zuWZTH{i-k9;%gMy2n~N9z}-6^2M1>t+fX`{L%QB}I2s0Un@;6zi%2CWgoGx#+T84^ zr(qaXHKG>d-NXrfk=WQ9);&3t`(ANIyf~p?DVvCnlWvw|+bBe4QKZUQuTg&3_(38< zPgc;{cLDA;tdVfL8RjRp5}ai4W#j9dC#*@-ZAVQ@AskQ9M iLHyEr&Ub@u(u2JHvhe%-=;Y7b=ZzlRcm4(< zLSB) LL%`XA#s_F;bnLE{~{9DTX8oip3c zL4==U8&|6kqehZC@zPG_5NR`by>yRkqdWC5atI^d`>MSj>im^+!T%qe&b10)Y02`} zrWu9atbgrCW& =0eUGgS2)1IXH{DGs=>J1pVlVQHxF~ceB68W ^mYBRhMs{MgouAp4sd9*rt-QYCd*+3_ti4t!w^!kwS~lH80xDJ z{nKs#%%|lrhs6HTtq-;-NT`OgC!-)g9wAGnRh=ce?-m|Sn@I}oJ$VZfc|19dVAtGp z^^t6Pzz(5j3pf(RQiK*h110M`onOz~O<| FPBRsl*~in@2=!P?SJ4cni^62 zuRuV;cvpB>xMkO9NM`)--V#_Mq8ACe!H$5Sy^ElG>@q8_$7O(D0I+*4hE$3Rd6=>u znBl5xcNi{e6j+QU&{tVGk#DibyLs)V0d^OJf9=fKicjd>2nou1bvvM*8_Em>N3uaf z+W%8$nISzq_t-sa@9YSl&2x4?j&K=DP6!(&&vLa|HQY9$+VW_QWu>QpP&a*hH}Y5$ z4T$SBGf(<-Z`0?@NdKl!YC``}2$R&3O5QZa(1NWFcULjV;$Or3026?gATL(qA1N{S zGziWy>0U-eHtV|;$~iNKTV6KNs`wz->I^CR_uXK5u!GYmm^ezFlJ&2|R;A95AsPQ} z-eb2)GtLp9onI~H-hn2BonO{r_zZX>D>>Wzy*`k1slK|uYrW0v9kp`Wa*HHU@zXux zUkx9;%@kD}#VbJg%P@#mltQ+(ndHA+2im|4EY+Kzulu3qG&HEh^PaXTYLeSV= 2C*E`v9q zch|N0pg}!}lO0dmZBl>joY?*QSE?T$WIzd5LIsnS FMG!GGgDq7jRJ8$~YnyB@{2l#zv9(7XRde0)~;5ogJdK&NPC}MS-s%e}F >xn7kplSOV`xTN(AQvCzExN3PUjaI&s)G%m9kzM z$h_H&6Ip8da50@7y5Lm<2dEswTwfMeXZA?&d&26V%f(&+v$fJehLICR77V}W=!l55 zQsnP&mBxg8U{pm5a39S4W4cpv=jh^$z-vU%5bb|uFw+3OO^u5J#x3$X>)R=J+nEZE zj1zK~;{|$(=EUZ31meW>tSt)TAoGU%B&iPnba_UnYZCz=h_JSFEKxCd! sO3bN&07$9=A!#+17baDp=?(j pOqzksZ9qRS46XX)_@f)l`~~qPF!3^=>Iz`R4GaL1
ymF1e(DT0J=F+glfDWKBs)-M2vzT41oVxxcVzi=F!F2yFwquD|v! zqh9+H0Ihg=0f`a{tOWx0&y`mTYGQ1NB#WsQw_&NgU@(Rp_@S`Q`8se9$ 8TkOf`P)uk5hBJML(F*GUI(U?bxh;A1RHEMCGE^?1Th~1^$!2 z9(+R&znC%y2)2D0?@!m)SvEJ3#L |O(Gy&8~`S< Y%T+ZsxA23p3 z=3vN^OtB!8B@s316cTm)Hhs;09}^C!Oi?wHfUROQ9N;v6PLx^+z241~1|?Kl3)=^} z5|>n1;L`%<{V^f`cAw^1EA|#GE!AVQ5^5jMs8L- SEy$NJ=fJT5~cnOcAy&srF z1j q1Q+eQhhAuH;0y{4ip;Y>eX=wvC08f z3X*mhR9uBvvw@HIwF`oRmkhB~OA8Q+Ta=af4&&JmC-D5+WVz~Z^8tAJo(nd5{5qO} zhE@nr&CZPwjZ$bd7JGlh6~B6jyn%8k;2)iBl!hsq1eCMklJaIXjdhEDv}i?tm&m=C z!&HgtS=AX_;HAL>5e7R@Fp;U}+*(J}^hoHfd`8!%)~w494x-{(yzo=8H(?ai0Vod@ zr8{2=Hq{9nd;f^<+L`}|5iT*`cWbE`HtsXTX#x)bCty+-&OoQRU5pDPWb}>|0$Rxt zita0976$^8JUgih0z|vKRmK0TO?dx>KceHNN|pO=?E8_|(;?TxL#55hF^+peMlBr6 z$Jt7N@L~`1A;BOW{xg7%**$MoJE`=kw@7!=$n2*`XI9Jl6WRH|=P%c3V_Gcnw(jW1 zn>sxSSnEH3T(R1k8#90<-ru+fR!tZvZIYqvFNU&MZYWg7WVGXI7ivyD+;wi%6J=hh zuUg!($%KAl{96-YV3>_ZE}3CRn{t+`D@HN;gHVZflg9brVD39T{m>9ZT3}XBpFW9J z)QoKQP1vK}{HM^`)9fy7+{2DHAqZb-cIdzTfw`Q4A{at<6MPkbwmjP+c~x`6=Jvpe z+*Eor;JR3Pb%~!L;uU=ZE5*sw&oJ|)eI(AM5yB5@@06!_4m;@1R#!bJX35=RxfREa z$cUgS6fGg$2ns L?grO#YZ+jW9iq>{!C+XHqH;J8a)OE+l6 z0~QRM)>AV7uTc;nkX8mo3d?^(2}uyR`^S{?%-me4U!crpF*Sa4JUgP@?nL-8HUNRB zH=ZO$LP0T8q@WgH#R}fHi%xL~SN)otLGN2CmD#QA%;1~_3aP2@hJvfa>_H|r s7!0H3n_i2F$W81ASo2?P1JHP!=V2iwyoUF8%nu4sk5wMiU_lBpx3K`iEnLwt(si2hRb0 zwJOk%1z0b7_1U^?p;dvdn%IC+Cr`RPW>|$ONKZeP>2@vXVo4%ttQ8>E#g#imOdB!i z(tqaU9-iW%0;$s%a9Jf4(=G=bPh__fUjLZW`1yIQp|}Rre4L}K-%(F=pu!fxV|LAX zqm}Q=??Lk6_3$wkbyrVEbf;o!`0rM!uQUduhQZu~4m>kcl64e?whI!c#mL+bwk<>7 z`S++ghefXJ-z=8h_Vg_~N_s<<(7*6xGEf#FJ8#L+cFBzZhq35#n;fRdfRBIAK}lGO z5Fji(t)1 %fK |9xQH-=+mNq~F2h6hOG6tKd-q zbS$*7VND*#O*0Fw&bje I0;`wgI;*fl*kuhg5iS(1;Mp z3ao!sc87wag$DbBTTPH<>+})BLe&6LZ0@SK#j-9DK~Gy{e1~kp*2 VYwi#0kmwJ} zKZH+IzO ZDAQc}SCjf_N^-A|$_x7u${!#R8(ozaR@~7}1@<2{} zfEA4Y>i*lr8CU_I`3rwJ^n^&_M3^b|aMBuZOn*;_N@5dEMRx Fa(KTGz1J68jL6NLxwk>IxnpZxB&o5%HvhK-FaDj}gjI=G^{ zBb3YQ3QJz+ZzW$sc%ZC5DeW1>5&=#6V;dN|Hg(7O&FbURW+?L}&`p&Us4{f`#={9h zcXT3IOOZAI+#t!MJZT3!{5?_q2L?mkN1Hrj?LujX#3VN4VW9b^J0x>QP=yHC?+rBV zdP}7D3^XSFkiekMMkNF)zWKh8aW8zV5?xVqfsybb*Mh z?k#Pa%cw6!<#VPgck}BcF8*FmUD~aF!hWuf(UR|Nw>R`v`su70K_CNxTvH7($1yFM zHaEE05`e3tpQ|#t{QRw$sVl^FzR+*?a=}pe8NsHE-rcLh-%V Hn6)}Y6Jh!VKuk 1BHnb8^hPzce zRWgJZ{e*X{`&4M6j`wRR`;omT00`mY${7QnQe(Q6zgh}36g$*kYtH{9q`|VpJhZ@A zW>L Oe3%z^2sO0T=idCUPG~r?BrPrs_6U;LQq&8$_C;zAH3fO+z41+-^ zLi(v4tfvptw~tHbje0`$uDWnm-3eZ;6w=f;w@#G>IP+ZyAL!~lE+3ut6ssn`>JIL| zF7OMsUM;IU?ldq18r#^}2Z&qF7Ah@oO6?|VAuK!#N^0F?qOtHD0{N3CL>%1(a|a>i zDYiIu0`2ieU`o{`d`k}T1C9gOMHVYXkJqAQx|*~vYK|^X)$gX%X5ds`&q-c=c19Do z6f+-`uKXAzYwwmAfkIYi;t(_Y?Nt($QoYL0Yf BR*2UU1Fvu_@lXJ+0rJHn1W;RJizi=#~G7vwvvKz0t zF14TOGF$sq(!pcx-PkM;ux#0U_l?a1$V1S7X8=Rt)fRX6aE}NL_~Ql4?CaC7Y(7Ip znUC3+IpF;5H%00bsM|B(*N>EE*cO8 F>bV zTKU1>93Hp(_G>+N|H)32$Fo1}=HLCqF10Z7d4>F3lv Ai&Z56H?e zh9F?+NTsZbUq{h`#q@*tgk`XkDsssupo_yA0OJA))JhI*z rhjit@e^N`R%4@mQPC8Z0Z4=|r;j#f)`;mxl46F6Qs?Cp) zuUh4?ykE(^=OS_(M)dp+r{E)q%7Z9(fwd}4pjmX%$Op?}e+Cy%GH9gUmU*QBMzaD% z)NJ06CH+lN(73JP%Q;;~^-+m7jXBY9sTt3|%$GMe>$7t>@9qR0xJMbE&4Z}bP>8rU zIcjZ3;Z#xiF3|u--OQn&R}qy}yX8CM4Y}pctYOf=v^h$-mOPdk-KOw&(3O;g*BSLQ zi#8Aw-f5KFBOJ7!t0OE_`J;~;a1vPP68P L4eM9ZEMXmItuHyirN=6t&rFtrgl=E;o2$r9Uw7^=fRx@*FZ zHgyDl3KgYO^ +I*;;=w%u_nJ+TYmi!Rf#?S$}(;U;G_Dy3*vlTr~K% zLZ$d1+DbrN;i6Z4WacY&rE0yfKg$@b@vM3c7dRN?{WVrXNp=ejWkuz3j{>`x#e&(l z=kgBLiH;d`-sXIH@4RlXK%$58H0tYrM3F}h*j0RyulBoX3mxt*+jg5ZEY6$hLGu!w zp0(qhhXO%;<;XqHyLn9NUJuGgHoPe3sf MGJ&*!|QBYR7!9ucpTsas{>!E|M4EA`WzldP5J#4Zx5}qR2MUJ`vf%lEOKu* zzT)ZX8POXnAnW9xc(_=NG^|F@`3y}GNi$Cg_Kr(P;K*r Z=6F2aOOa)?5kO0Ac3Bv%7#^ zUw9o=ui;TSna&hVAdx+-qw<|5Y2^cJ-`Fal$@_mgZX+7u+*6Q_+qUxGj+=jKI~hoV zU0J}r&h%hFVB0+_KIxxPSY)@a>x(~bqpNZw`}9_t$#tS0l$CRkg$@(bc6j2z%M)FE ziZY^4YDXYb#o0~&L_2;kjb#V--9V{mvvjKm%8p71LFc*WHVh|fGp5D4GYKn`a*GlV zuxDVi99oqhs7s}R*QTsF{4?I(RWtExu66C!5rvTvY=%{Wu@#TVr?Bpwti_Sl6>=7e zuaB84)r+Z;lJx2&4a7~nkS1Nnynb+`&+^4Cx32I=ozQ&jDMhxVsM>VZ7wNQOsUTK@ zeP!2bN%S$5xdm5f#BC!ohNJ#QMKEh0X?xA4KYAquW{W8+Gok!vi*E22Pr_>@1te5` zW8=?{Jb6;M0L+`T{9-=$6@JRFz??umA&~JMtO_~AcqvfNzx0)vAhIp Eh8;_S`iiON6L~O0mgtY z9f^AG$X`Bt-PoXe-!<3%WHkhBGu>fSls2d*uMbtEqnQoPzw7$m-+i?D#1W(iNoD=( zZT0^{1};VbWnz=tO~JSd!eo3A7>K?4M~S6xDhQ*}^0>v+L*FYdIsEy4@Zh6|K$LPH zD`QWn|3D;r<|~9g`9^VfIankc1YBa`aZ|*w@D1fUL_o+Q49Zz@r8mJ7ZK O7r9XE*_X9Uep=eo}b%fHR2;K z){jSi-U0R+FjV&Won_)Rz$}npZ5%fg(YF5JW;pF%;Na^nEQLplxb3elH-+Va8N}_| zV)k36)Ph79nygRe9gFg-Ozn;gtQE&q*44g2swV88r^ujc*^2Y*&GprT)B+$B)R-*U z`gOehT04xQL0Mdi` ~?W@Ig1e1JUV6661lv6yv=8EkU)=G3#;1v{04)m_s(YX#Kd)UMj1{!!EX zTY7`}S=HcG?hpr~a1ea;bl@Jbsy`6fR{@8Pl_vz4NBx=H;_|Ewl8raTEIO5rLJ=LK zTsrF~$>_J=(TUl3$MMmPC^;n!@bk9c0*KOd95#>#Eem~P=~T(CS|$Ju`bU%jbwp PdboK9-Gns5MqtK6^ZE>!@rcXRK+~)XMT|nF11!8pp30_5 zttHYYa)(@oFC>{_P3-A9cLEn|L27A>2dZmM-b8Wn%DS*cY}D7YT4f%1cy4rQrBAkm z$uZ`tc9ttI%xJ*v`|019z?WQ|kM;^mCGQeMXG-UQ!x)cz%)x-|GcnJSM3!fjgn@%f zQ0dTlo|^AtYmH1+FNdY;5Qnh+HsZ5@C@e!4+g+Yr)(D#->BvfBJOuYU!>~{P)GO-w zHp7C}7A2~qun6FLQ9g&eJeupJ8nNuHz7&vroQDg;FQ!Qkgan8y_MDc{uiM8W)e|Z< zS$E3PJY!+SnCd6MG#kkE)kL6_^mf?! a#ZK+r;{}am*j|B${otuDJt8}IMz?7b2ZxT^WC6cwPSHUd`ai;EYh(L!MI`P< zYz30vSOW+N{L7hiSrjcCQLg1H)h3NB{9a)BQ80k5lKm41a?{dUPJ~sq#l3E8M&z7Y z{w~Dy{Nd1c@SfV0iBM2Oa1|ZJ@Kxo~NKHk#dqd$$tRxoweBMDOg^5QV;XvT-mmK(? zwsw_wj-z(q?d=(+2L`BUxr$*sRqP&v(#^M8LMhD$?vbmncZH25#(gy0c zLw@wd&jK~gi?@Gu{{*A$!wQN4jSS(2w2-P}dk?z-pUeCzPqVR~PTp2k9_6G*(9aZJ z2DZ_vqqDg6FMzD)Ur}7Z6G7xZ%J_)9i9=wr6F@s?g#<+eyvAhzyN vtmo@>tB8CC6ky zs8eE3xCt!V_;Ca9)Z7KM#k8%E${-K`c3jih)wKo~jCD*GtCzdoSX%r|e 7h@5v&SxC%Qo&cCoUy zhhnlTOojR9wSL#x%G|%}Q+^Ap0$?g<_y8tikqsY_$MqrY)g7y6LaXbRAfEo?R*vQ~ zWJS >8Yh%|;f|KXBVMAaDCLfV!-%sGoB)&Fd5WgH4P+~CRqa$TMYHMJu%2{9z z%vcev;dT(NiC8;s@nn>pL`KzjHb#SL+Buy@R6mQ*UfN;@Y&8S*P@#&LKT 9C{zj@CRx^Pf<&$5
zX^rggN?;g4SIa{GD|rh1EpCF4LxFLKO2u&V5yL{t>b}17XW5aZXplbNhzIZ>ld8dS zSu}01O>X~kz0yoMHVdgJAI_bb5U!X_=e%0VT^Ku`RkmK8J28_7Rz)5Eu@xUGfRR{m zU=Le^V}n~VIPLpNC0{VV!y`h(u^VQ?^1Ocv4Hxa~{li#`nHgAMPA!(;2sLcWj8u@2 zIiK)a3;-Wk@@hPb>UsUux()gib&?holH0{<2hlL7lY-E~_rE*J2N`eTQ==7!Egljg z{KE}{`=6LjWE0BWGmq=iHX^}j$}~4M(>8-q%U&7165`4Jo0sPHyce1pyp~<9*&&c7 zYKqH)s$|{%(k_sxa!}e54jIw)94PgAGP8GdG-U&t6|$Agz*1N!%G`bv%$dwNZ%h(= z41AepyvJE&-(lClul-&WOFxz2kg)^Jh^#d}9ZU}q1^2c=mx>WLPBSxN>PB`~Ab#`s zy7@caL^y!4z3)b?*AIAT8z8Es$JgU}m)0+iKN{Sp;}Gm0jm6P@4c>fyCoDFS -I(}f&Bp+86D}{oDLe4N~U{LkiY(hMjF|enMN1G71nj~;)75|^)y%ye0SY6 zyPy)JlvIyvt4-y$k{8{L;Z~nc&+;_tSFA;e65Rfc8sEqut&ro{8g-b+_4S_W3^_B~ zJDa{e 4PFYWX0alnHl=z|?6x-OWR|b58z7U6{<`XKq2G+X4 zg8nY|8D)LMN!NN@OWVVY)A~NDJF1_bJ}~~7UH=LOhRz*Hkld?R#m9Gl)Du4l`k{GO zJaHlZpcH<~j`Gz5NFm_XZ?re>qJUpo(Y*zh96jg)4Pjs7-Ua#UqI*5%9eNlx pp+qkBY zX!sw~@v5@w8CDjyS?eYP(0UdDpWNRGL;`wY@d0^q=zDzGuQE6v@;#N5j)FF4jWkVv zcNpKK86)++X1L~mb|757K$AYS`hGQH_HoopR`LNq{D=)AleisrYW9opIMfG82n)ji zqW{sQrQ#`E1f|KMmXw?FcV4-4Z@>C*S5{VXN@%7=G$%wE i};aMUUrCEa&eAK+7f0(gjg*`jBB&mm;(Z-BLzz1M&J)(CUmKa)wv+8OQT zYWStSzU$z$&kPjg)o`|QdbH3SCZq9$AeqLhsZP%Rj}CddCg1w6ETdQ8ezVuTxZot# zBMDNksb|=bAESN9^S34XcN>qp(&zcjI{~?3LWFX#x-w`w8(xh)&;$FWe+=!&!Av-0 zTcq&?tZ!g^iV^+k+uBc5bHV#T!4EkyJ-+HKzK6m$zgvL0h=+%%h);KScb*bjTErE9 z{#4 wbcB#ff;t0Te)m!k?~||1Eb&>8WHB?btT& z`exXpRPDqcN2?XMCzRb!{YW~AoEFn_G*Qk$D(ZH4=4iqLK$x=1NB(yvCVlgmFR-pm z>k2)LDLjvaC3PJj-Uh H+amC3L!M#oc2C^u8ICZUZ4jqE(-{5~_aBYmpMhxKA1FG!-!&FJK$cMOwn_ zl;@3bs_tNKnmptJ>Yj{R dK&=MJTQP0v5wZ=M!HuSz^v6w^%t=x~Ydm?vLjVbR{&n6G#M6Zv=Aq9YF;YkUm1 z&m#LCfNjdp|0c9%R4?lm7m eu${k)OY;CSMu|5bx|lX%=FrOII<;oonw zp?-p4jtL^e=a)|5^Z`cr*KhMLdTDP1_w6Xuiw$(J=xc)uGNkh8K4p@920}pB<{{if zO qAvVMy }JDPo8X~NEkxY z`aRFkE=z)3PT7SH#g+nER&X^A?q5xO?>(znh*-b6>O>xep9A}WRStmtA3lAOucGc- zi_-SIGpwoDiQ{v=sNy)gFD!K%;&D90#b(sV>)-nDK*h`#8TiN&FQmEfVCo^u0HcKd zvg_;nMpQgS2hvf(vY;)9#Hm{+t9K_oC&KBl^^m8DhrNf#SXfC{qwiOs3;W|QY{66M zwkWKCyKvQ9qZRoSP2(Dljjw7?<9W_o6jK}oDcTlayw#CR9rJtk{E;f+iqxiM6?S9e zM*GjCSYYozlVbHcBSK|IBI}Svya5&gzHYkjqyqVnJg&ms0$z?Jwox}Fsx_8G*z_vD zr-0XSa_H8<8zg7ahq+zfH^sAmW+45Xid@q^b@IgX$V^R*fe>An1{nE0Ib}5TFJqKb zKet*GxBC-fjO1QiVdV8`M-Pa&lctR v@~d&& z&BMkn&Te0+?r7>+@?n?N$0e&;vYy*7*Sb!Uqlr0a@|7%Xy6f)Jri)`8*N0!bLP?T* z7t0_Sue0aVuF^6R7%12YDQt>J6P#v =!!heP^MrnEst1qIF{m ze5-F=73rye72(o|ek+Xn6E->!vv|93?K-DwRF!7`hj25gllz8ey6pG7#q4LP-_3I5 z^T)<}`#1|XNfjm~-Us$`5d)i6UcgmJZ(Jt*Q}b~ukVB;P@-t2BQTQd~QoMz5J7a~( z&&c!oa9ro9_$FUxIC4m3(!wd2vby;1K_4qdkcxbmind_>^!!FW7K&S_SyGtVZ$6T{ zNpD)hlWopKF&uVHF4xE*GPT39IE7ZsO_RNCU$G42g{wmoKK9M7R|&(fRV`dm?$7y0 zKXTCLsdg{G)EIV&>)W!NE}!{=kRE!BQ+0!fK1O{C0!A$p1gL>=4CmAL#O|j8fg>gc z1_s9RLR10v3FIii9g7RhPSvo-QNGo_2?a=D@3{jBJ!F^!__NpXjWbh#`PA6*a)}gz zwyP^Qgs}`JeG*L;dPjfh5MYsE8`fU(M&X!16uU@d6$Uy_7 zOtG&*j9DRcQaG*jRftDf#^(Qn2G%TaY5@3=oD#U T7c?WcWZTD~2i z9$d>lrLL|{KqRik;N6NW!W@y=~@4{7XB9NdVAdTmC{u%yWzDd4DfsQ?c^_TUs^HW$!}gpnUCY zxkp#UxV2&B$&xL_R$N?sGzw0We%6pZ-5?)bxR6$t (~6gGZ9s?F(MO#&k<-&F1j#KjA^)i14R)b53 z-#O5u-7V3h)eaX%0v=nu(HB1l#1+5%Zw5V3Eqm) HpA zc|!!9!y|oc%Y~qG@7Wq*5Hf#7Ar9jmsPAlw!L+Fvnpe7YPvEz(S9mjgiN>;crRdFA zI4VacjB3!%2MB-frvQjcYm}Yns7E~k-F9*7W#is$MC#7jL9_P8-A!uGa0ibpd!Zz( zx>c&PJdv)pbuNjtGV-NhBg$lL$|+Sy+2YYGKEuqx=O*P)$Er3X;*5$v5lLozgIL}~ zR}48f^Jig}3}pKfgfJnut7n4h`-&}oXsY3<-dx5k!z3JJI8M@# eEnr6+oOW>wj2i0pK4Op*R8MyB ?)&>^ag&w1{ewBWdA2ZLjZ|t;Kz~O^u^8 zUw^OkYGlM34eZ*AJ9wk7CH*yxVC!uy+Q;$7`6W|z$xbQ^xGMjSuaI5GiU6Up{x1IK zJ6nYbvYb_DP|Col?>e5U?CH 5>^_){O-4Kl`Tt*qD3W|4L^)fc*zmf-97tuw%pV^ z|C9<&Uw-zJe23(sn?HMO^|?q3j5dVq$-t>@#ef-QNuo+x#(3pU--r33&qay!O624G zr)*e!!YkJxmxMZ&-%;YYGopX5Az?Rg4e6V7X$rO#bx(qtYHg3+KA$anb#^bXuNS7> z(l*;YIGt{K$gEpgJ*f}=0x1(Qvz{FmM#}PiOf90!>ypUP!;zNZ>0by{XotOJfMKwA zycQEfjBX_E9LMT1lMmJ@Q#F%$prOSQnZWDHAgkZUW U_dc*XHP9R5lCWQ5Xu7G|}2nEl83>GojO!@h u>`G#iDTjHJk)V zY|qhB15Rn<`P=Cd&5$@c<$ecpid35^rBskg`5#ntLmA~;+<3;Mi1l?7Q)J*oOR+vZ z;n?i EXNOGe019ppKbCVt zN8c)0&Dm0EUaU8lgW9^UmKtN#KJ(PPPg$?Lyq>0zk_f+@)~&Nyrw?gC0aR*@TCRH( zSF{blM$JG3ydQr#Ew=&VZxW5C130G#7A@T;H7~?#EB-czFGL*=Ep8;GFj^fU&p2Bk zJ(sH~Wg7sfPQ5{wwX|V(=tp f^Vvf55uMzFse0Ic zhBT{#r9=^J0XRbY8lVTSxFs{iD}JSh?Xv$EVKrI6CRZc~g-bhFi05k}98>gd5UMsh za)NGlsM?*I4GLzc8cmittl^}bc7Mk`ZQk>v_8GWmj_;Olnsc=PHihN9>I1hqB592> zjf>GHD=QmC*w=5L#Ab#KC@p^~7`&?VK;{m+Y!4T&oSsiSP-wy _B5X=x|kv=_d?1T8w_1@RH9?RIZ|1$Dyzh`XoQa>OJwt&RSccO)&%kK8D z(!y28#lfRr_K!k}l#Fmhln27qXD@m;G@i%dTDuVMuT6kF7GdLh!Kw$R D03IPa5Hu5+!)9#qepF<4*?z`wr(TM(lgkPLCZvYX1 zR9zsGBDAuFg~e>uz`2tuS%#R9!colBE2)dDYURn!V4>L$A(DABKPoK}6!RuOS9wYq z(KE *m9TLB5U?8 zC^~Wk^gw@ovceQVGgGP^@$)BsRa_utVbCoheFfFrr&i!}+OFG`b R!r-6)!0o=yg~3bmgKQW6~QFHIa2C=1G$ zH^9_oA#Fh06c_EHrD$sn;xwyy0-WL~yM&RoY$2w#o|8vhDmZDqxgx__m+hfIB=G4% zNK03&q5NsxhzAO!Sj-HxTr`?o6^Xcz;s)s7^^iB$vzmMtU{#)KW7)+zOD`! 0Pn;tG{dr$w!FUjiP=r^~UYvQhP?D^*p#R=z@w1$mFey2C!m9Esk{S#Iv^4AiN2 zWWZ1nGp(wUJUryXbN&Td6Yx-{-wDh|rV1>_!cCl@q*33j-(oje%vrW(m%fv5qiAH5 zkDNsNL8W7E*QXziP;&&XTPziRp5mw|R5nv4qPl;}Q1 rxJ2 z*hjTjx}np~udHU2I=7YJ&O+g9-)w(w_i-(SlYSXS4_(f4Y`Q9ss@T6e<$RjOv#7)v z6CF~RNxsMIsamcWl3merExoFeMLcfz2%?D)`G|KU1UrNOFYIQn3m^`#`08ETg^EHW z{7I@Sj(nvTKL3-&V$Cf`1GmvT8jr#je82?d)#gu!Gbzh19HLR#L3F;3XZHbp5ut@^ zl$kT$#H?diB2djd`sl~1Lw>6?BcpSekr%h=>bP$)ti{t;D8qO-Puh4^{;1T%_ixgO zHM`zqBbBhtas7SkSNH(?5v^@%bxL5cH_b;vnJK-pRsk{ZoBn=me#P&u%f~%{07RZ3 z=3?e$vM7edJ90cC>$8>iT8MXrFt}EyLS3m>-MmI^M<)APu|VZv8OwGxT3p=)b| zs?Le@w+YAvAw|@Kbg}$Q+D)PD`Tn@IEZ#sGa&NHjOr;m-wiML>9jPY_1+Xq2@CXpj z-mAjHqUi5mlVq2}+MAfB#5-apJoIPAjZ-La+~C?TR~+CcxNwa=3*%D>m5mR6$vUb6NgB#Vcoq52gZenM>?$pk9 zcxpW<#L(Jd{SjfY>D1D_?~LNIX(B*b%LT@4rlhMsj!x06FX*iovT+1 Y87JMAHNHu~y0nNO{vj0zPhSRZY zE0GZVq49+ii$g()Bvgla7tIQ*oGX#c3{DaIhO_06NNNL8KgK32-H0(Kx`r83E~+uk zy|*MC;}jRN8oW})eMBU`?h7GfR^T)7?IER7@8{ %p62vg>F#wv_2X+P&0*!rR*pyeY;gh{SW=21r70{?JxM55|#2rc>17Xv*v zaNo6@nZ`)aTMt^%7yCDK|Je4vu)fA`vSc*7=E=KDZ;|HMj3ay>+3_orH}qlIrDSEM zhyI1d8d?KwwHLxk_p#4vcsjDjy<3n9OW+}}tA7l>o`&>2Q=06tOG&(l8X}IntITG~ z%AC_voG8R=L*$N7<3ZFB3k^=CN5EfEGXB-2ywk3D6#_h$dy)M)R@27=MxE8ko8`{1 ziV_>%uyM?+%I;*=7H%?D;Xv+Xz{!fR4WB{}`oM_)0Z%%WH;CuBR;YLiS&JZ+Tsgy3 zr%l0Zs Z=b10JFw>FmL5WB%Zqweq;l0T1ifJ5r;KcM4qUS^%XP zdRGC~ZB_Aslm!1A5`>3;c#|E1!?X^dInyu?z$`71%Z~E={CpCh?5FwP2Dp?vq@-gD z{depuC_)(G3ITjX&>_VSu~mbY_gcKx_$P!TybMXe&nqCBnXwPnHm9`9y!I#zJSd-f z0VaSi3i&UTK6hPrDjO+&>n3+d6~J$Ik2z>=3M$+#)L4 U>@+#HL}jgw 33T5qNFXYa8=7D}vqhPPM z@P#QFSdikdGI}VO%$l?N*o*R{ I~`IaL3C!}80z(|Dr1UCf=SosWAa-{W>a-j6Q@<(&SgY>VLi_V82Xg@<-b%?x># z-olYRT~M8W{Gd!fuNgu)dI8VEE!)0VbP2xn%r~Z2`%}(` +Skq8K~-lW=-zMxwW}_R{`R>xHgl(xzD6i!;dHf}I5x zm8~@Vbrz8L-tqPqz#mxQ@?AfH7o#lNq^gXO>&^nX!c{M7O+ZR$G6P&{+v`{;ll)WA zxn96nH<(C&?`6Z-_P$(*_ hZ^_y*yEmALR;pRnwPubI6fD_6Y!j7@dMx_Fa_3 z!+z11KJ#~1o!!pngOAVa6p)8n&RgzZ(nTueZ-D1ayj@KvA)GoHXi_nVm7}UN3@He+ zmRlRVP;3c)=#{0?S6BQ+;n8WEVv;P`VuqH_pjF#hy{$9u(A}JYTK^AL+vkt@B_C;l zw=;E5fcf Jv_RV-~fAHAP@$YlX{%2uCf( zB9STh3xkMkz!#GCyzeGo#b^ty3zW(AQ6w*AS 8?+z;6yNZ1~peTC+R+1o0oRWw9!(03#N;n+Dz#p@6g76p)4Tv@5!Mco^#w_g ^WQJ8)s`XHbw0)8F8{S<%Bl0-U&rrf9mt(=IKL{bj;Pjd;DIis!oCb@ z%_A+EN0ZQJ!f(vs@n!XpHpx4 ZN~iQ|zb&$(;eTC+?uLHx73X&Hp3N5+t25><2KRxTekTW?4k7c8}>~S0|oo z5vTF%GuPG28dXu{AB#PgI1Br(4#V$L&w#u_t||jQUTJ