From 853ee41d2ea028102a1cf1bcdb80e7b29df02530 Mon Sep 17 00:00:00 2001 From: Maxwell Thimmig Date: Thu, 2 Oct 2025 18:52:58 +0000 Subject: [PATCH 1/6] rc/2.2.1 --- .gitignore | 6 + .gitmodules | 5 +- .readthedocs.yaml | 31 +- ERRATA.md | 8 + Jenkinsfile | 21 - README.md | 2 +- RELEASE_NOTES.md | 10 + User_Guide_AWS_EC2_FPGA_Development_Kit.md | 72 +- developer_resources/Amazon_DCV_Setup_Guide.md | 2 +- docs-rtd/Makefile | 11 +- docs-rtd/requirements.txt | 103 ++- docs-rtd/source/ERRATA.rst | 6 + docs-rtd/source/RELEASE-NOTES.rst | 11 + ...ser-Guide-AWS-EC2-FPGA-Development-Kit.rst | 74 +- docs-rtd/source/_static/accel_card_specs.png | Bin 0 -> 77593 bytes .../cl_ipi_cdma_test_hlx.png | Bin 0 -> 200322 bytes .../hello_world_hlx.png | Bin 0 -> 114223 bytes .../hello_world_mb_hlx.png | Bin 0 -> 121380 bytes .../_static/hlx_images/aws_ip_clocks.png | Bin 0 -> 55444 bytes .../source/_static/hlx_images/aws_ip_ids.png | Bin 0 -> 16782 bytes .../_static/hlx_images/aws_ip_interfaces.png | Bin 0 -> 24378 bytes .../source/_static/hlx_images/ipi_mod_ref.png | Bin 0 -> 114223 bytes .../source/_static/hlx_images/vivado_gui.png | Bin 0 -> 332942 bytes docs-rtd/source/all-links.rst | 2 + docs-rtd/source/conf.py | 84 +- .../Amazon-DCV-Setup-Guide.rst | 3 +- docs-rtd/source/hdk/README.rst | 34 +- .../hdk/cl/CHECKLIST-BEFORE-BUILDING-CL.rst | 2 +- .../examples/cl-ipi-cdma-test-hlx/README.rst | 36 + .../hdk/cl/examples/cl-mem-perf/README.rst | 2 + .../examples/cl-sde/software/src/README.rst | 6 +- .../cl/examples/hello-world-hlx/README.rst | 39 + .../cl/examples/hello-world-mb-hlx/README.rst | 85 ++ .../source/hdk/docs/AWS-CLI-FPGA-Commands.rst | 39 +- .../hdk/docs/AWS-Fpga-Pcie-Memory-Map.rst | 5 +- docs-rtd/source/hdk/docs/IPI-GUI-AWS-IP.rst | 79 ++ docs-rtd/source/hdk/docs/IPI-GUI-Examples.rst | 266 ++++++ docs-rtd/source/hdk/docs/IPI-GUI-Flows.rst | 116 +++ .../source/hdk/docs/IPI-GUI-Vivado-Setup.rst | 333 ++++++++ docs-rtd/source/hdk/docs/Virtual-JTAG-XVC.rst | 2 +- docs-rtd/source/index.rst | 4 + .../virtual-ethernet/doc/SDE-HW-Guide.rst | 6 +- docs-rtd/source/sitemap.xml | 118 ++- .../source/spelling_filters/hex_filter.py | 5 +- .../source/spelling_filters/ordinal_filter.py | 13 +- .../source/spelling_filters/rtl_hex_filter.py | 40 +- .../spelling_filters/username_filter.py | 9 + docs-rtd/source/spelling_wordlist.txt | 11 + docs-rtd/source/vitis/README.rst | 2 + hdk/README.md | 110 +-- .../build/scripts/synth_CL_TEMPLATE.tcl | 2 +- .../build/scripts/synth_cl_dram_hbm_dma.tcl | 5 +- .../examples/cl_ipi_cdma_test_hlx/README.md | 23 + .../build/scripts/synth_cl_mem_perf.tcl | 5 +- .../cl_sde/build/scripts/synth_cl_sde.tcl | 5 +- hdk/cl/examples/hello_world_hlx/README.md | 22 + hdk/cl/examples/hello_world_mb_hlx/README.md | 60 ++ hdk/common/shell_stable/hlx | 1 + hdk/docs/AWS_CLI_FPGA_Commands.md | 12 +- hdk/docs/Amazon_FPGA_Images_Afis_Guide.md | 147 ++++ hdk/docs/IPI-GUI-AWS-IP.md | 49 ++ hdk/docs/IPI-GUI-Examples.md | 167 ++++ hdk/docs/IPI-GUI-Flows.md | 83 ++ hdk/docs/IPI-GUI-Vivado-Setup.md | 205 +++++ hdk/docs/Virtual_JTAG_XVC.md | 2 +- hdk/scripts/create_afi.py | 567 ++++++++++++ hdk/scripts/start_venv.sh | 35 + hdk/scripts/test_create_afi.py | 704 +++++++++++++++ hdk_setup.sh | 25 +- sdk/README.md | 78 +- ...-f2-update-of-AWS-SPP-network-driver.patch | 93 +- sdk/userspace/fpga_mgmt_tools/README.md | 285 +++---- shared/bin/check_doc_links.py | 807 ++++++++++-------- vitis/README.md | 2 + vitis/supported_oses.txt | 1 + vitis_setup.sh | 23 +- 76 files changed, 4324 insertions(+), 897 deletions(-) delete mode 100644 Jenkinsfile create mode 100644 docs-rtd/source/_static/accel_card_specs.png create mode 100644 docs-rtd/source/_static/cl_ipi_cdma_test_hlx_images/cl_ipi_cdma_test_hlx.png create mode 100644 docs-rtd/source/_static/hello_world_hlx_images/hello_world_hlx.png create mode 100644 docs-rtd/source/_static/hello_world_mb_hlx_images/hello_world_mb_hlx.png create mode 100644 docs-rtd/source/_static/hlx_images/aws_ip_clocks.png create mode 100644 docs-rtd/source/_static/hlx_images/aws_ip_ids.png create mode 100644 docs-rtd/source/_static/hlx_images/aws_ip_interfaces.png create mode 100644 docs-rtd/source/_static/hlx_images/ipi_mod_ref.png create mode 100644 docs-rtd/source/_static/hlx_images/vivado_gui.png create mode 100644 docs-rtd/source/hdk/cl/examples/cl-ipi-cdma-test-hlx/README.rst create mode 100644 docs-rtd/source/hdk/cl/examples/hello-world-hlx/README.rst create mode 100644 docs-rtd/source/hdk/cl/examples/hello-world-mb-hlx/README.rst create mode 100644 docs-rtd/source/hdk/docs/IPI-GUI-AWS-IP.rst create mode 100644 docs-rtd/source/hdk/docs/IPI-GUI-Examples.rst create mode 100644 docs-rtd/source/hdk/docs/IPI-GUI-Flows.rst create mode 100644 docs-rtd/source/hdk/docs/IPI-GUI-Vivado-Setup.rst create mode 100644 docs-rtd/source/spelling_filters/username_filter.py create mode 100644 hdk/cl/examples/cl_ipi_cdma_test_hlx/README.md create mode 100644 hdk/cl/examples/hello_world_hlx/README.md create mode 100644 hdk/cl/examples/hello_world_mb_hlx/README.md create mode 160000 hdk/common/shell_stable/hlx create mode 100644 hdk/docs/Amazon_FPGA_Images_Afis_Guide.md create mode 100644 hdk/docs/IPI-GUI-AWS-IP.md create mode 100644 hdk/docs/IPI-GUI-Examples.md create mode 100644 hdk/docs/IPI-GUI-Flows.md create mode 100644 hdk/docs/IPI-GUI-Vivado-Setup.md create mode 100755 hdk/scripts/create_afi.py create mode 100755 hdk/scripts/start_venv.sh create mode 100644 hdk/scripts/test_create_afi.py diff --git a/.gitignore b/.gitignore index 03157b502..2e3e6bd9e 100644 --- a/.gitignore +++ b/.gitignore @@ -39,6 +39,7 @@ fpga_utils.c *.a *.ko fio +.coverage !SDAccel/aws_platform/xilinx_aws-vu9p-f1_1ddr-xpr-2pr_4_0/sw/lib/x86_64/libxilinxopencl.so !SDAccel/aws_platform/xilinx_aws-vu9p-f1_4ddr-xpr-2pr_4_0/sw/lib/x86_64/libxilinxopencl.so @@ -139,3 +140,8 @@ slurm*.out # RTD Builds docs-rtd/build/* + +# HLx files +*.tmp +**/example_projects/ +*.pb diff --git a/.gitmodules b/.gitmodules index 3c052d8f8..567d43422 100644 --- a/.gitmodules +++ b/.gitmodules @@ -6,4 +6,7 @@ path = hdk/common/ip url = https://github.com/aws/aws-fpga-resources.git ignore = dirty - branch = Vivado_2025.1-hdk/common/ip +[submodule "hdk/common/shell_stable/hlx"] + path = hdk/common/shell_stable/hlx + url = https://github.com/aws/aws-fpga-resources.git + ignore = dirty diff --git a/.readthedocs.yaml b/.readthedocs.yaml index e88e65ea8..e3b486b80 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -1,9 +1,13 @@ version: 2 build: - os: ubuntu-20.04 + os: ubuntu-24.04 tools: - python: "3.10" + python: "3.13" + nodejs: "22" + rust: "1.82" + golang: "1.23" + python: install: @@ -11,3 +15,26 @@ python: sphinx: configuration: docs-rtd/source/conf.py + builder: html + fail_on_warning: true + +search: + ranking: + index.html: 10 + all-links.html: 7 + User-Guide-AWS-EC2-FPGA-Development-Kit.html: 9 + hdk/README.html: 9 + hdk/cl/CHECKLIST-BEFORE-BUILDING-CL.html: 8 + hdk/cl/examples/cl-dram-hbm-dma/README.html: 8 + hdk/cl/examples/cl-mem-perf/README.html: 8 + hdk/cl/examples/cl-sde/README.html: 8 + hdk/cl/examples/CL-TEMPLATE/README.html: 8 + hdk/docs/AWS-CLI-FPGA-Commands.html: 8 + hdk/docs/AWS-Shell-Interface-Specification.html: 8 + hdk/docs/List-AFI-on-Marketplace.html: 8 + sdk/README.html: 9 + sdk/apps/msix-interrupts/README.html: 8 + sdk/apps/virtual-ethernet/README.html: 8 + sdk/docs/F2-Software-Performance-Optimization-Guide.html: 8 + vitis/README.html: 9 + developer-resources/Amazon-DCV-Setup-Guide.html: 8 diff --git a/ERRATA.md b/ERRATA.md index 00da20a9a..2a79171a1 100644 --- a/ERRATA.md +++ b/ERRATA.md @@ -41,6 +41,10 @@ Shell errata is [documented here](./hdk/docs/AWS_Shell_ERRATA.md) 9. Vivado 2025.1 introduces a `set_property DONT_TOUCH` to the HBM model that makes meeting timing difficult in the implementation stage. AMD has responded to this issue on their AR, stating that it will be fixed in a future version of Vivado. [See here for more details](https://adaptivesupport.amd.com/s/article/000038502?language=en_US&t=1754923887312). All HDK CL examples have been updated to address this issue. Customers should follow this AR when creating their own designs. +## HLx + +1. When executing the `aws::make_ipi` command in Vivado to set up the HLx IPI environment, the AWS IP instance may default to the name `f1_inst`. This is a known Vivado behavior and can be safely ignored. Users can rename this instance according to their preference. + ## SDK 1. The following fpga_mgmt flags are not supported for F2: @@ -74,3 +78,7 @@ timing difficult in the implementation stage. AMD has responded to this issue on 2. Support for Vitis 2024.1 and 2024.2 accelerator binary creation and AFI creation is not supported, but will be released at a later time. 3. Support for Vitis software emulation has been deprecated by AMD, therefore, no longer supported. + +## Amazon DCV + +1. Amazon DCV does not support Rocky Linux 8.10 at this time. diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index 46198bfaa..000000000 --- a/Jenkinsfile +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env groovy - -// basic declarative pipeline - -pipeline { - agent { - label "f1" - } - stages { - stage('build') { - steps { - sh 'shared/tests/jenkins.sh' - } - } - } - post { - always { - archiveArtifacts artifacts: 'logs/*', fingerprint: true - } - } -} \ No newline at end of file diff --git a/README.md b/README.md index 635c67676..d2555e7d6 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -![f2_headline_graphic](./shared/assets/f2_headline_graphic.png) +![f2_headline_graphic](./docs-rtd/source/_static/f2_headline_graphic.png) # AWS F2 diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 4d380c2c0..a4df175fd 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,15 @@ # F2 Developer Kit Release Notes +## v2.2.1 + +* [Release of FPGA Developer AMI 1.18.0 (Rocky Linux 8.10)](http://aws.amazon.com/marketplace/pp/prodview-7mukkbz7l2uvu) with Vivado/Vitis 2025.1 tools pre-installed +* [Release of Vivado HLx flow](./User_Guide_AWS_EC2_FPGA_Development_Kit.md#development-environments) +* Fixed TCL glob expression to properly read both .sv and .v files. Credit to @pyz-creeper and @dsw for this update! +* Updated error codes in create-fpga-image for unsupported design logic +* Updated the Virtual Ethernet Application to write the DMA buffer descriptors using the byte alignment required by the CL_SDE example, preventing data alignment errors on Rocky +* [Added Amazon FPGA Image (AFI) creation Python script](./hdk/README.md#step-6-submit-generated-dcp-for-afi-creation) +* Updated XRT version which includes stability fixes for Vitis + ## v2.2.0 * Release of Vivado/Vitis 2025.1 Tools on [FPGA Developer AMI 1.18.0 (Ubuntu)](http://aws.amazon.com/marketplace/pp/prodview-tcl7sjgreh6bq) diff --git a/User_Guide_AWS_EC2_FPGA_Development_Kit.md b/User_Guide_AWS_EC2_FPGA_Development_Kit.md index a71dd0a05..d60dcfd42 100644 --- a/User_Guide_AWS_EC2_FPGA_Development_Kit.md +++ b/User_Guide_AWS_EC2_FPGA_Development_Kit.md @@ -25,15 +25,15 @@ This documentation is relevant to F2 only. Therefore, it applies to all branches ### Instance Types -![f2_instances](./shared/assets/instance_sizes_20250110.png) +![f2_instances](./docs-rtd/source/_static/instance_sizes.png) ### 2nd Generation On-Cloud FPGA Accelerator Card -![f2_instances](./shared/assets/accel_card_specs_20250110.png) +![accel_card_specs](./docs-rtd/source/_static/accel_card_specs.png) ### Comparison to F1 -![f2_f1_comp](./shared/assets/f2_f1_comp_20250110.png) +![f2_f1_comp](./docs-rtd/source/_static/f2_f1_comp.png) ## AWS EC2 F2 FPGA Development Kit @@ -43,10 +43,11 @@ This table lists the F2 development flows currently enabled and supported in the | Development Environment | Description | Accelerator Language | Hardware Interface | Debug Options | Typical Developer | | ------------------------|-------------|----------------------|--------------------|---------------|-------------------| -| Hardware accelerator development using Vivado (HDK) | This environment supports the Hardware Development Kit (HDK) design flow, which empowers FPGA developers to create accelerator designs from scratch, using HDL source code and IPs.

The AMD Vivado tool synthesizes, implements, and generates the Design Check Point (DCP) file used in F2 AFI creation. AWS FPGA developers benefit from the suite of scripts supplied in the HDK that help to automate different design steps. This allows for flexibility in architecting, implementing, and optimizing accelerator designs while using the HDK.| Verilog/SystemVerilog/VHDL | User-implemented DMA engine or Streaming Data Engine (SDE) | Simulation | Hardware developers with advanced FPGA experience | +| Hardware accelerator development using Vivado (HDK) | This environment supports the Hardware Development Kit (HDK) design flow, which empowers FPGA developers to create accelerator designs from scratch, using HDL source code and IPs.

The AMD Vivado tool synthesizes, implements, and generates the Design Check Point (DCP) file used in F2 AFI creation. AWS FPGA developers benefit from the suite of scripts supplied in the HDK that help to automate different design steps. This allows for flexibility in architecting, implementing, and optimizing accelerator designs while using the HDK.| Verilog/SystemVerilog/VHDL | User-implemented DMA engine or Streaming Data Engine (SDE) | Simulation, Virtual JTAG | Hardware developers with advanced FPGA experience | | Hardware accelerator development using Vitis | This environment supports the Vitis design flow, which enables software developers to write C++ code, which may then be compiled into RTL and used in cycle-accurate hardware simulation. After it may then be built into an accelerator design. This step is not necessary, but is encouraged. Vitis may also be used to implement accelerator designs from scratch, using HDL and IPs directly, similar to Vivado. Vitis offers additional analysis tools to aid in the refinement of designs. | Verilog/System Verilog/VHDL | XDMA Engine (coming soon) | Hardware Emulation | Advanced software developers or hardware developers with intermediate to advanced FPGA experience | +| Hardware accelerator development using Vivado IP Integrator (IPI) and High Level Design (HLx) | This environment supports the Vivado high-level design flow using IP integrator in the GUI. | Block Design in IP Integrator | AWS IP for HLx | Simulation, Virtual JTAG | Hardware developers with intermediate FPGA experience | -On-premise environment: Customers can set up a on-premise development environment. See the [supported AMD tool versions here.](#hardware-development-kit-hdk) Refer to this guide [here](./hdk/docs/on_premise_licensing_help.md) for licensing requirements. +On-premise environment: Customers can set up a [on-premise development (with licensing requirements listed)](./hdk/docs/on_premise_licensing_help.md) environment for [supported AMD tool versions.](#hardware-development-kit-hdk). ### Quick Start Links @@ -121,7 +122,43 @@ On-premise environment: Customers can set up a on-premise development environmen Runtime Software - + + HLx + hello_world_hlx + Demonstrates simple register peek and poke using GPIO and VLED + Vivado IPI Setup Guide + Design Spec + + + Testbench + + + Runtime Software + + + hello_world_mb_hlx + Demonstrates integrating MicroBlaze soft processor in HLx design + + Design Spec + + + Testbench + + + Runtime Software + + + cl_ipi_cdma_test_hlx + Demonstrates direct memory access to the DDR and HBM in AWS IP + + Design Spec + + + Testbench + + + Runtime Software + ### AWS Shells @@ -178,8 +215,9 @@ To get started, please see the [README for a hello world accelerator example](./ A free-to-use FPGA developer AMI is available for on-cloud F2 development with AMD tools pre-installed on a variety of AWS EC2 instance types. Customers can use this AMI to design, simulate, and build their designs. The table below lists the FPGA Developer AMI(s) currently released to customers: -| FPGA Developer AMI Version | FPGA Developer AMI ID | Vivado/Vitis Version Supported | Operating System Version | -|----------------------------|-----------------------|--------------------------------|-----------------------------| +| FPGA Developer AMI Version | FPGA Developer AMI ID (us-east-1) | Vivado/Vitis Version Supported | Operating System Version | +|----------------------------|-----------------------------------|--------------------------------|-----------------------------| +| 1.18.0 | [ami-04b57de2833b499b1](http://aws.amazon.com/marketplace/pp/prodview-7mukkbz7l2uvu) | 2025.1 | Rocky Linux 8.10 (4.18.0-553.36.1.el8_10.x86_64)| | 1.18.0 | [ami-098b2ed4c92602975](http://aws.amazon.com/marketplace/pp/prodview-tcl7sjgreh6bq) | 2025.1 | Ubuntu 24.04 (kernel 6.8.0-1021-aws)| | 1.16.1 | [ami-092fc5deb8f3c0f7d](https://aws.amazon.com/marketplace/pp/prodview-f5kjsenkfkz5u) | 2024.1 | Ubuntu 20.04.6 (kernel 5.15)| @@ -193,13 +231,15 @@ If you have never used AWS before, we recommend you start with [AWS getting star ## Next Steps -Before you create your own AWS FPGA design, we recommend that you go through the [step-by-step quickstart guide for customer hardware development](./hdk/README.md). +Once developers are familiar with the F2 development kit and the HDK development environment, we recommend exploring all the design features and examples offered in the AWS EC2 FPGA Development Kit: + +1. **Get Started**: Follow the [step-by-step quickstart guide for customer hardware development](./hdk/README.md) before creating your own AWS FPGA design +2. **Learn by Example**: Explore [CL examples](./hdk/README.md#cl-examples) to understand shell-to-CL connectivity, memory interfaces (DDR & HBM), and the [CL clock generation block](./hdk/docs/AWS_CLK_GEN_spec.md) + + - [Run RTL simulations](./hdk/docs/RTL_Simulation_Guide_for_HDK_Design_Flow.md) for design verification of existing CL examples. + - Review the [AWS F2 Shell-CL interfaces](./hdk/docs/AWS_Shell_Interface_Specification.md), e.g. [the HBM monitor interface](./hdk/docs/AWS_Shell_Interface_Specification.md#hbm-monitor-interface) -Once developers are familiar with the F2 development kit and the HDK development environment, we recommend exploring the following contents to master all the design features and examples offered in the AWS EC2 FPGA Development Kit: +3. **Create Your Design**: Use the [CL_TEMPLATE](./hdk/cl/examples/CL_TEMPLATE/README.md) example as a starting point -- [Run RTL simulations](./hdk/docs/RTL_Simulation_Guide_for_HDK_Design_Flow.md) provided in CL examples to learn the design verification setup in the HDK development environment. -- Familiarize with the [AWS F2 Shell-CL interfaces](./hdk/docs/AWS_Shell_Interface_Specification.md), e.g. [the HBM monitor interface](./hdk/docs/AWS_Shell_Interface_Specification.md/#hbm-monitor-interface) -- Familiarize with the [shell floorplan](./hdk/docs/shell_floorplan.md) and locations of major shell interfaces. -- Deep dive into [CL examples](./hdk/README.md#cl-examples) to explore shell-to-CL connectivity, CL resources e.g. DDR and HBM, and features e.g. [CL clock generation block](./hdk/docs/AWS_CLK_GEN_spec.md). -- Create a custom CL design using the [CL_TEMPLATE](./hdk/cl/examples/CL_TEMPLATE/README.md) example. -- Connect to a custom CL design in FPGA through [Virtual JTAG](./hdk/docs/Virtual_JTAG_XVC.md) to run hardware debug. + - Review the [shell floorplan](./hdk/docs/shell_floorplan.md) and locations of major shell interfaces. + - Connect to debug cores within a custom FPGA CL design through the [Virtual JTAG](./hdk/docs/Virtual_JTAG_XVC.md) interface to debug hardware issues. diff --git a/developer_resources/Amazon_DCV_Setup_Guide.md b/developer_resources/Amazon_DCV_Setup_Guide.md index cf1921849..91af36210 100644 --- a/developer_resources/Amazon_DCV_Setup_Guide.md +++ b/developer_resources/Amazon_DCV_Setup_Guide.md @@ -32,7 +32,7 @@ graphical user interface (GUI) to visualize FPGA development in the cloud. ### Prerequisites 1. [Instance and IAM Configuration for DCV Licensing](https://docs.aws.amazon.com/dcv/latest/adminguide/setting-up-license.html#dcv-lic-req) -2. [Depenency Installation](https://docs.aws.amazon.com/dcv/latest/adminguide/setting-up-installing-linux-prereq.html#linux-prereq-gui) +2. [Dependency Installation](https://docs.aws.amazon.com/dcv/latest/adminguide/setting-up-installing-linux-prereq.html#linux-prereq-gui) - :warning: DO NOT PERFORM STEP 3! Upgrading may impact the stability of development kit software! 3. [Protocol Setup](https://docs.aws.amazon.com/dcv/latest/adminguide/setting-up-installing-linux-prereq.html#linux-prereq-wayland) 4. [Driver Installation and Setting Virtual Display Resolution](https://docs.aws.amazon.com/dcv/latest/adminguide/setting-up-installing-linux-prereq.html#linux-prereq-nongpu) diff --git a/docs-rtd/Makefile b/docs-rtd/Makefile index ae305be65..6f28d6f85 100644 --- a/docs-rtd/Makefile +++ b/docs-rtd/Makefile @@ -154,7 +154,16 @@ doctest: "results in $(BUILDDIR)/doctest/output.txt." spelling: - $(SPHINXBUILD) -b spelling source/ build/ + $(SPHINXBUILD) -b spelling source/ build/ && \ + echo "Spelling check complete" >&2 && \ + if [ -n "$$(find build -name "*.spelling" 2>/dev/null)" ]; then \ + find build -name "*.spelling" -exec cat {} \; | \ + sed 's/^\(.*\.rst\):\([0-9]*\): (\([^)]*\)).*/- \3 (in \1, line \2)/' | \ + sort | uniq >&2 && \ + echo "Spelling errors found. Total misspelled words: $$(find build -name "*.spelling" -exec cat {} \; | wc -l)" >&2; \ + else \ + echo "No spelling errors found." >&2; \ + fi links: make clean && make html && python3 ../shared/bin/check_doc_links.py diff --git a/docs-rtd/requirements.txt b/docs-rtd/requirements.txt index 6409c0f12..118cd4cbc 100644 --- a/docs-rtd/requirements.txt +++ b/docs-rtd/requirements.txt @@ -1,13 +1,92 @@ -sphinx>=6.1.0,<9.0.0 -sphinx_book_theme>=1.1.3,<2.0.0 -sphinx-sitemap==2.6.0 - -sphinxcontrib-spelling==7.7.0 +# +# This file is autogenerated by pip-compile with Python 3.12 +# by the following command: +# +# pip-compile --output-file=requirements.txt requirements.in +# +accessible-pygments==0.0.5 + # via pydata-sphinx-theme +alabaster==0.7.16 + # via sphinx +babel==2.17.0 + # via + # pydata-sphinx-theme + # sphinx +beautifulsoup4==4.13.5 + # via pydata-sphinx-theme +certifi==2025.8.3 + # via requests +charset-normalizer==3.4.3 + # via requests +docutils==0.19 + # via + # -r requirements.in + # pydata-sphinx-theme + # sphinx +idna==3.10 + # via requests +imagesize==1.4.1 + # via sphinx +jinja2==3.1.6 + # via sphinx +markupsafe==3.0.2 + # via jinja2 +packaging==25.0 + # via + # pydata-sphinx-theme + # sphinx +pydata-sphinx-theme==0.15.4 + # via sphinx-book-theme pyenchant==3.2.2 -docutils>=0.18,<0.21 - -sphinx-copybutton>=0.5.2 - -termcolor==2.5.0 -requests<3.0.0 - + # via + # -r requirements.in + # sphinxcontrib-spelling +pygments==2.19.2 + # via + # accessible-pygments + # pydata-sphinx-theme + # sphinx +requests==2.32.5 + # via + # sphinx + # sphinxcontrib-spelling +snowballstemmer==3.0.1 + # via sphinx +soupsieve==2.8 + # via beautifulsoup4 +sphinx==5.3.0 + # via + # -r requirements.in + # pydata-sphinx-theme + # sphinx-book-theme + # sphinx-copybutton + # sphinx-last-updated-by-git + # sphinxcontrib-spelling +sphinx-book-theme==1.1.3 + # via -r requirements.in +sphinx-copybutton==0.5.2 + # via -r requirements.in +sphinx-last-updated-by-git==0.3.8 + # via sphinx-sitemap +sphinx-sitemap==2.8.0 + # via -r requirements.in +sphinxcontrib-applehelp==2.0.0 + # via sphinx +sphinxcontrib-devhelp==2.0.0 + # via sphinx +sphinxcontrib-htmlhelp==2.1.0 + # via sphinx +sphinxcontrib-jsmath==1.0.1 + # via sphinx +sphinxcontrib-qthelp==2.0.0 + # via sphinx +sphinxcontrib-serializinghtml==2.0.0 + # via sphinx +sphinxcontrib-spelling==8.0.1 + # via -r requirements.in +typing-extensions==4.15.0 + # via + # beautifulsoup4 + # pydata-sphinx-theme +urllib3==2.5.0 + # via requests diff --git a/docs-rtd/source/ERRATA.rst b/docs-rtd/source/ERRATA.rst index d58f2959c..8c9ecdb1f 100644 --- a/docs-rtd/source/ERRATA.rst +++ b/docs-rtd/source/ERRATA.rst @@ -115,4 +115,10 @@ Software defined Accelerator Development (Vitis) 3. Support for Vitis software emulation has been deprecated by AMD, therefore, no longer supported. +Amazon DCV +---------- + +1. Amazon DCV does not support Rocky Linux 8.10 at this time. + + `Back to Home <./index.html>`__ diff --git a/docs-rtd/source/RELEASE-NOTES.rst b/docs-rtd/source/RELEASE-NOTES.rst index 1c2e92e39..ee19d4a41 100644 --- a/docs-rtd/source/RELEASE-NOTES.rst +++ b/docs-rtd/source/RELEASE-NOTES.rst @@ -1,6 +1,17 @@ F2 Developer Kit Release Notes ============================== +v2.2.1 +------ + +- `Release of FPGA Developer AMI 1.18.0 (Rocky Linux 8.10) `__ with Vivado/Vitis 2025.1 tools pre-installed +- `Release of Vivado HLx flow <./User-Guide-AWS-EC2-FPGA-Development-Kit.html#development-environments>`__ +- Fixed TCL glob expression to properly read both .sv and .v files. Credit to @pyz-creeper and @dsw for this update! +- Updated error codes in create-fpga-image for unsupported design logic +- Updated the Virtual Ethernet Application to write the DMA buffer descriptors using the byte alignment required by the CL_SDE example, preventing data alignment errors on Rocky +- `Added Amazon FPGA Image (AFI) creation Python script <./hdk/README.html#step-6-submit-generated-dcp-for-afi-creation>`__ +- Updated XRT version which includes stability fixes for Vitis + .. _v220: v2.2.0 diff --git a/docs-rtd/source/User-Guide-AWS-EC2-FPGA-Development-Kit.rst b/docs-rtd/source/User-Guide-AWS-EC2-FPGA-Development-Kit.rst index 79aa9cb80..e7f9a0931 100644 --- a/docs-rtd/source/User-Guide-AWS-EC2-FPGA-Development-Kit.rst +++ b/docs-rtd/source/User-Guide-AWS-EC2-FPGA-Development-Kit.rst @@ -64,7 +64,7 @@ Instance Types Second-Generation On-Cloud FPGA Accelerator Card ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -|image1| +|accel_card_specs| .. _comparison-to-f1: @@ -76,7 +76,7 @@ Comparison to F1 AWS EC2 F2 FPGA Development Kit ------------------------------- -.. _development-environments-user-guide: +.. _development-environments: Development Environments ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -106,7 +106,7 @@ supported in the development kit. using the HDK. - Verilog/System Verilog/VHDL - User-implemented DMA engine or Streaming Data Engine (SDE) - - Simulation + - Simulation and Virtual JTAG - Hardware developers with advanced FPGA experience * - Hardware accelerator development using Vitis - This environment supports the Vitis design flow, @@ -124,6 +124,14 @@ supported in the development kit. - Hardware Emulation - Advanced software developers or hardware developers with intermediate to advanced FPGA experiences + * - Hardware accelerator development using Vivado IP Integrator (IPI) and + High Level Design (HLx) + - This environment supports the Vivado high-level design flow using IP + integrator in the GUI. + - Block Design in IP Integrator + - AWS IP for HLx + - Simulation and Virtual JTAG + - Hardware developers with intermediate FPGA experience On-premise environment: Customers can set up a on-premise development environment. See the `supported AMD tool versions here. <#hardware-development-kit-hdk>`__ Refer to @@ -224,7 +232,51 @@ Quick Start Links - - - `Runtime Software `__ - + * - HLx + - `hello_world_hlx `__ + - Demonstrates simple register peek and poke using GPIO and VLED + - `Vivado IPI Setup Guide <./hdk/docs/IPI-GUI-Vivado-Setup.html>`__ + - `Design Spec <./hdk/cl/examples/hello-world-hlx/README.html>`__ + * - + - + - + - + - `Testbench `__ + * - + - + - + - + - `Runtime Software `__ + * - + - `hello_world_mb_hlx `__ + - Demonstrates integrating MicroBlaze soft processor in HLx design + - + - `Design Spec <./hdk/cl/examples/hello-world-mb-hlx/README.html>`__ + * - + - + - + - + - `Testbench `__ + * - + - + - + - + - `Runtime Software `__ + * - + - `cl_ipi_cdma_test_hlx `__ + - Demonstrates direct memory access to the DDR and HBM in AWS IP + - + - `Design Spec <./hdk/cl/examples/cl-ipi-cdma-test-hlx/README.html>`__ + * - + - + - + - + - `Testbench `__ + * - + - + - + - + - `Runtime Software `__ .. _aws-shells: @@ -357,6 +409,10 @@ currently released to customers: - FPGA Developer AMI ID - Vivado/Vitis Version Supported - Operating System Version + * - 1.18.0 + - `ami-04b57de2833b499b1 `__ + - 2025.1 + - Rocky Linux 8.10 (4.18.0-553.36.1.el8_10.x86_64) * - 1.18.0 - `ami-098b2ed4c92602975 `__ - 2025.1 @@ -369,10 +425,10 @@ currently released to customers: Given the large size of the FPGA used for F2, AMD tools work best with at least 4 vCPU’s and 32GiB Memory. We recommend `Compute Optimized and Memory Optimized instance -types `__ to successfully +types `__ to successfully run the synthesis of acceleration code. Developers may start coding and run simulations on low-cost `General Purpose instances -types `__. +types `__. Note that the tools used by the HDK are only supported on x86-based EC2 instances (Graviton-based instances are not compatible with the tools). @@ -422,8 +478,8 @@ FPGA Development Kit: - Connect to a custom CL design in FPGA through `Virtual JTAG <./hdk/docs/Virtual-JTAG-XVC.html>`__ to run hardware debug. -.. |f2_instances| image:: ./_static/instance_sizes_20250110.png -.. |image1| image:: ./_static/accel_card_specs_20250110.png -.. |f2_f1_comp| image:: ./_static/f2_f1_comp_20250110.png +.. |f2_instances| image:: ./_static/instance_sizes.png +.. |accel_card_specs| image:: ./_static/accel_card_specs.png +.. |f2_f1_comp| image:: ./_static/f2_f1_comp.png `Back to Home <./index.html>`__ diff --git a/docs-rtd/source/_static/accel_card_specs.png b/docs-rtd/source/_static/accel_card_specs.png new file mode 100644 index 0000000000000000000000000000000000000000..6ec7cd57019a87018b25ad1629c89de8b8d67faf GIT binary patch literal 77593 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

I2To$`JHchPT@|C-?K75mSH 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%0D{Ho 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 rFk_#IRyJ2>n*|O&jRvwpm#a7U{&%;oEqu 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 Vt?-f+$HjXS6P8Bgzk2)ezX7D4RILC2 literal 0 HcmV?d00001 diff --git a/docs-rtd/source/_static/cl_ipi_cdma_test_hlx_images/cl_ipi_cdma_test_hlx.png b/docs-rtd/source/_static/cl_ipi_cdma_test_hlx_images/cl_ipi_cdma_test_hlx.png new file mode 100644 index 0000000000000000000000000000000000000000..88c295c6ddc22bf549fa87f04733f385ebcfccd1 GIT binary patch literal 200322 zcmeFZXIN8P*EWhEBB-FCARxU-mnt0;kSMb%e1^wszxqd^bx#mZj8$b;Y1vf!7# zav`(1zSX!p%Z~taB*JQHcGLI|yBDWXL|z)*c$Z(wgktK$^fI6XLy&>bFN_%7LVQ&%AUxxvnY(TB97Mt-c=+>yrF7`c_?PCq=^`Lcd0T3(p}|Km=j0n2ai8L|;z`I6!U6XpmymVDpaL&Pz&_6Oi`zEG zyZnvmi;4#qQ-caE6>j$_-=e!JXGSl+|ze`>~upM zMsXa9qUsghhHmJRjtT_my>_TD38F83dhdGJS%>%?;>1@e20ie^z}@Ob!OM2H^L%B_ zr3B)XgjwmC?BXhp?*wPpi zU>s;61+LgX=irb|B94bI2@>G3gc2CJNFL(mUXxjH$!}EfGIDzFV2N+X3m?5EW1i4` zfCDzXeY4OTO%m0py&Hu*I6j)o@p_-b>*9d4gcxySO4d*bV@#gq-PO^!Q707HhN(pJ zZEk}T!Kc!BaQD@!c1N(tY-bp+t~(}*B|6GO;e_4QP4qWOI3nhB5=@=o?TkF3N9`q7 z?ma}gmyYS+J>Xz;@R6_@&H5{jkI4OiYh5T99lW;!K4O((6=I;LU$?-h6G0!xFcT5v zxf=F{+XgoUjo_2A4chb-9Pg_)y$N33lzk(0-N)uOdgc>`2>fiE#HXXT(d^#UXNWw! z8ss;hE+&Z*n4#SN?EQ5HKZf-47ifEo4yb$>+I}bLr~N3LSPkAnpB^UMWc)}}dd1=j z$1B1i|4CAZeSkVc=0rxxsS1t<`W2%Vw$iZ8b-Aay7*?h5%;CJ80|a zSN(6OXV={68}E1#dEp6%q*1ry?qNRnB}a{qkQsmWp2p#JF`nP`XffVQih+0cpUKh| z)5YCM4kQQ&53rV^j>7JUtW0R8E24^x#Exc(ye3K3v15Q&PRAR^L~Bhm7TFhth=wUV zyo(mZPvaLQJ|S(Io{}e!;U1CEk`$Y7{pXw_MtiTnOUiPn*jD_lcbP`cr{ z2fa)LSHymdVOMcvQH&tP6e~ZAM07>ejVPJuDax^jAayG-QaWpL1an_(UwlcVFsrbn z=zxPMm=oKQswmFMn>+iB@*|~J^wf-Z=^rSpDBo9%QLR)CdC~o{P)Q)?;mfD=gb&MN z6k;LtBrj_V_DsR80?Puk^*y^u@R^iD9d)@0?ZiB-_tTl~635Y4+AW$i;)edx$({Pj zl^+7v^hWM|a8qV|->9Vc!d_+J{k;z)FWu6y3zFaazb{cLd5L&QHr7A4mBPp z9Ea_q?-sxhlOuZ)j3$iajL?>)m%W#XyQjK!)mPM;)iz33AV+4V#))R?=Ewcgvz;)r zx61w_#O8SBVU9Wbmc&7!;XNA3PRV1CT!_F_1LSbS#OcN+_k`o5M;WM;VB+yqINu6y zGp`cw9>?ALpF)^JWWw%C;IvhR(UA!AP4FA?lGvVfO?30N)C{;7c+a8E`b?s~W#MD7 zh(Bk+RjoBoS??>xeQfy{qFFVi2+{@>pI$k9oy*3N=n`?<`DIXa(RO;FAuk$k)>onP zkX5(jX^D=t3&IA0g`gAS6ABcP6Vh*VYGm~2J9&MEdggSrU%{#NKn2ab8}`Yo%1af6 zmz*=5@~dgORQkhGeTw>iuesiL;rOepxJ+g@P@fd0r#=aPd+RNSkC$eM_JjIryX}hG z1rf>=GZ~frOBtaVc&|xcPkko!BYqeBg`evEow7T(?jWcdD1)hJUgEzj$SQtT@N740 zO5cX<4jYDEYrHe-M3uqAQ5FdK!Ir|899|h#Rz>Z&+KpkmHM@hIEZc7f4t=o$m%k^Jt?PaR71PFB4ta(1sWbnME9-y%`o;QioR4^TsX{2lNx!{{% zbj^6fAcH|_;FX}eQTaW}G*QmlkPw9j4VPh$4RxYev4&VIAfUu+F?4?S}{ek**0>{lXJ zBxhKGE!LaD!dJ+Sg%7MC6IzYO<`mFx(vgNQO$Xr2Da@*#yzAk?!enJ4C@Cwe8aOAqxDVV`8g|(c$kFF z&c>>B5u}(rgDx?)mB$IlvJVTD3-5|vm|Lx@X(}XV3)VIud@llfvEgA0O^FvOAca$d zCHfY{spoj|@HC_oEu#BKeQqKij@x(3i3Q>AEVOpES=^%CK!D1kRl8!p?f$spw3{Yg zhK`kATgdjEZO-P0^N~@~I`G2SMllJZ3Srr>Wz%r(w-6fEi0+YRT{|NH>RKOdnJS!8 zMKIM4fgYc2H6X`5I|R2HB2V)Vb%onKA06AwP<3a0ZYvL$NqaAxkDNI=#1Cv(9DXw< z(l^wfhl9cUmKE84wy^sG$`?&`iu`sg*E zIO{gKapnCg2Dt?diuV}G!xEH_C zYwn>gulPe@<3~AWH;}v+H)Lb3TTdaWK>&DFF;tT>l9NMW06t$wx#Dk%auxV=1$Yqw zFBBBCC_fYo;4d!l5=%$@2(9p`>#M+_Nqy9e7 z)tIT0nuD60ET6u$CCh6AYdu32XG@#QCMW{Ve85LbLx?h&}t+9QdCgrHO-s4Ie8j z2n1pQaj;n18MCtS^767iVrOM%X9mt-ws)~|cPzmELR75~&y?SERbv$OO5x#^z{{qLsA_J($%)|S9E9fbbp z(fn-u=Yu~R3b0-d{ZCWzW1hc%3rw^SmH_L29-0u=@OBwH3W^Adl-Ls`=PMgC81DC4 zPL3}8pRe40k?l)Mf?La(^S(XaRs62_qq{Zj_mq@Gk|;9uuCxS)G7h3$4+?T!!U_0_ zQ#_b`NU8kMmni$)4$Rml-0dJG8dd6ghp|pcbOk@hY4?VksxA?!5xaI((2Lt5C|9oj z&YPqtYT{78Rst64b@DeTzw`F&O*X#H)!*t|1jU<^PDDW_$&Fg}`tRM32+;fNZ=U*p zd;iCY0_Ht}tEcDTJ-Xrgwne1}p&7q021yU^7QDI~WO_)zcPkKKzh0^!!%mKi`j6N6 z>j82XbV)NQ9r;X(-!r4@)Ne)nW4El`0rmqP za_h$9T-j7UEZ+E<7czk{cTY5*J z6M;)3-R_2Hpd(<>iuj;h(D~*H+Tt-hEgt51Dp#ykL#f{y61lU~C1YTaU8r91tlXf3 z@+}5Voa_FY%lz7>*#@_z3FEZb6kdDjgN+Hp$x2hB*l4${8VMp!6Y{dMvcWugGMD`k zRgV)F^z!Ep;9lNa4|w{upiY|_0|wCn0oUoZs!L%!M6d~KpnbW;1iQ;l2VGBta-rIQ zc{Lv0^8|=&B75S9nh^3xpI#w5;OuB2+-^)8B(=NTlViKkii?kL)Vg1rfcHB-5BD~C zKFt;Kq&qLJ%mf*?1l=pQn&FFX9xQz=n)v9oPoY+gf=Y=FvwDS5Y)KPxveE;%b6VcT z8aOz*(c?6UI^Jb>nNU*B$(CRfmMcfRI#LjCTmZ%(b^b^_V4@(Sq!c6NyFJ!NA_HGd z8T$P0#?s0_)=mq7ZUAkDz+S)TV6irT+VHu+-EWNHdi7OFGh1()AQ5tJ z?K-E#+yd2-q!D?C9NZa&b`~0$xR_LaP|}d7Kem*OO=%3XrpjoEt~F@;RJ-2UwxTnb z)`!z_Qb_}9#Y`lF_Y&-~Ojz;map78`kh(Pf_x8_$*^Z-?OKN8a9`DcRS1U3k)~6ejR4WBg7embwGj z8okC|Pd_TKwjNFP6d~3y7QobMSGdLP;k~ge+O-K+ z?`yvkhu*b|+g@nv0+t?)Zlk+Gw&b0Poj{22PCM0Llb2V8bTAlWEzid^uh3$iP={#L{QTvM;m8MNBXPpek{r9G zPKAu8=+WOY3u@~3M>TcEY<+$MVu@#n52E^~u#Uq59QGJXSyX4j)gG1FV8yp|XT@u*-=FoRmCc zY1GZPdz>O2Q~iW=?ADFQJl*r>yJr7XO9zB+cUkYRDhbfyq% zs_GkG_KhnuPLeRV^ioj!j^pW2i=ZvuuY1$L2bMpxaH^)Wm2lB4<1Mq;+INUI`BYzZ z(;N47ShcIhyr`;v*$oP62Q2{6%U|NQ)0bMUBNR$p11f^_uMWNwN&P@k?z)Ruo!63zT7YHaVqG22`59!2~Rl zMSS~FG_#50YBhHIL5p4S!s_!hTmc@!>J^3@@qT_IvS!y$=oDUkIjN$za<72pi7E8o z`sIvCLIFn@WkqH=Szk7kC*RQ#P1n76fH;?P+MIqJ#;RSrm>(V-%;6Z%s*8VaQnr4H z{o2CGI2;df_?N?lnIev1y}Nr=Q=8UxY2c~tJ+-z`Th4=gMYT^d$p!PRaSZDbukT_hZLDt|%Jrop!gf9S z?{6LW&gO|MD1`qy07VE~jstM-QobKk)L)iw&rN-$#@yKxzXG6loHu&_AjED2q2f4}8vX zk4cp^P&FH|wg08F>x|X-XxgA+E82Yx?EaxdU43C_n@sv`D@Z2n0k15X_UkXRnG#Lw zkIk6+4n3r|3SSIRC%ZpJFuHi1i5)xcGcbP2_EY+xH6qPp!gO48mC#sL+mfm<*IMr_ z_B>#8>(VT>CvDB!WKvCVjP{c%b7~M+z(^>u=xTh|Xq=dl&S)H$x3v4_Qm1M}QS#&D z#e_oj<2I&<*H8Cr?BLwmJBvN$v+tPV45wRyb9;AtR}#%*@rOR0L<)Odv48K8ig+Fv zp-^r-_Ph)x4ytR^Oyp>5;@1RnJHZgRCJZx5L*T)KU(d{A>W^s&DkeuM}($u^wxHi%<1LiP(F7JlM$R?p0vkHSk zLyiw6qGl#>1EcCugO|NnCBh#>l1xE5KT@!^5o>Bw`uz6uEuKUEURqJ)i`O;j0 z_t{^ZHOTXgUl(Sq0X0!~O8(HkzrmeAuZx;^gfvWY20_+a@gvC`CCEuIe)b^$duF4FG z6JeXNO*!AIx>(GzRT$JLTez641cCNb%!M0Rc&bbDdR-!3)K##yb+Fpda&x~#gb0@J z&e%5MASXBZykI10V9LOAkYCe!zUY4f;Qx-1cY@V-w9uFso)L@e_BOZTe8b^?od zQ~Y_pWJQHFP|9S$e1>frUR&PEZymmKQ}Kh6>8f5)?feGRb%`~KWm*@D=2^TG)5I9J2Xf^yxAS!f|vAKEfD`QNQsa;USbSw>t{0P-sxI31}4qz z&JrKoRM7_H^3J0*x7&iUZ08d?OUOZyPJo&WR*)B940^Mmj z;<2uh0@Z8v+zp%-YE3G8(J3@SW4^65k>(4*n;~^(Eq%DW8#KI5Os!hwo|{C8XRFSE zfq@5@b5>Io=6Ur3&Tq~j#!z`(hCc@OFB7Yv1Ng+4$Gx|y999R#H7ZRgSR0QrkFgzw zRExDD0ahb%xw@LC#&!P#Tn)$b?6r6Ig%j8$xnjlfgx6)qH{YqX?9`M!WTx1$SIB$b ztSM6*5iw6AorHAlxx^A>kes~oG3nm^@YytN7Tv~;8r8g-sllxhSTA>8!Q`q$+LQF^ zNz(JSm%G!cV|)wz3nmTVDMZLjA1?-o%y?RxA0l)9ER+UV9vibYqO)ZD&&)N-!QW23Spu-*2n&84u3=!Kf;UYX8@0|n5gJ_OTzC`e15QAv-8)O-x9VvTDM@(Tli4@U%YCvs$ZG$shjd{8N1;fGj9V=5ZEw#u_&ROHIXZfZi? z<9d<}=J)yx4nj=rGzT*65a-M}s?NrV0{UU$hUn`q6D^w??mFt_2HOHz5ehjuDiV)$>!d?9s?J-h7S=&sDwd07#WUIReRQ&)MMn!)*U2LBi!@}Q;D)85F-k-IH$?%{ zanH#>$-6E+r#tp#X#?G+(W&u?`W{HMLSs@Qm7x?2bo88~3a8$My?n)}$JRm|PP6XE zVttNWaYE+&1XvCkHpw_=6vaAmaUHpsW# zRLGbry4w*go-3D3tC%Yr30OliqTeYiM|xyU2dj4E#rvv3>6}jG9M3PUQ84MJyl1Br zn4N^w09_qB?Xr`w-oRp)ve>8lG37XTcTv%!2a7r_?BWFxXXBKG^}+-5-P};S?Rj(w z&I^A&4CcflWeFC|0_SXKHojXOUBzm2)rWxM0DWtIhh^Eq8W1$czU2WZnKqXv_&nsS zWkgxFSVI$YLL3$=(h?S((x;&sJ}}}##96Bu_5e9kxRzDWWx^iQ1QD^%BK;S~^V2tx zI|3=66bamcKgg;oGmTND+{fw(r|X_cUjrYMbg=UqX+!q`$H)hNX<6Bjs!3__nmki` z)A1wH3XQHKsi7Q&STkHUgY*=BHx*JG#9ZK#fK3}AmusPzdcm6q0?r?Uh?!f0;v+7h zKv-)3MZT}_Evp;5 ztTzji4ih$NE{jGkVf*C$K}_Cj4J^IsbeB=&7BRP^iOKtrBo|4c3-albW`JiDQ=RWu zX1B_&URZJ2ns%WExJq#8mJrzQraOQwMyVafuL2~d=BL)pWk}`esXb&W1%{koYqHuq z`TF&9Z!somU0PNXZ}q83{{%;FM<)8N;c&vCfPO6k##>!s*;ky(?(lVY(Ch1~XzHbn zvF%m*c_hfMB31vNM+QW1cQ0(G3V7?$k8GV<$2J6@2ZuEWpfMV5h+E;FLos6vPcTPfOR?(XDpzK^ zYHgYWdz)lezG`g1MwtVqF_{BhXt&sA;Cz)$wGw=wd*?jCr%1G_*oKPw?v&Heio}1p z*FOTMx6)mJ^|@C@$Y6^KWN97!0g-|0Da|_cg#3YuQoA#XT?|#NQoCPeZ~xlTKgy6- zj1m48U;Z6@W?uogjlqwiudsfX+?WO2t+Shr->*H-5BGEJa_OPrP&CNCp8Ncc-KhKi z0HRW(x4E@*btun07izlT3ZyvFX(u5%ciIgBdLlE8nBH3tCMnx6dK{u!bfiw{-$30K z)^eHH80_RN(9qIOB5wB{2-Z1ucD==Dw{~+n-ISsEHP<52dBZ^NnBqPK)%8mll9`z) z0G%v6rS2=+{o2Q2yg0Zd69r^EHSWjdm&_=;aW9jtt!)&uCiiYCm${0f^%!qSligAf z??`hDkp2dN(*#_eV%@_!7&cFZnA$=wj=rGsf({A=j=p6X2@G|dysTUyF%oh*8y_F~ z?#3V2^%WsE>mTn!gQwcJ@>-Evdy@@bG;T2r+O1t3gk6LZY5uzt>*J?~NLu5vV&?zr34dzJlFe z`)hhdNQ$cNsX=qVor4T`9Z;Pb%$C9f5YKNs=rL9RqV7-G=FpTHbl@iP*k($ZU}9s( z0o9GJY^gC^jkvSY7fG{jO>L&|150){m6#MhmqF>f56z=+tr#_wwi=pp_OK94(Z=18 zOTx^Nx}G{LoBR$j@u@^XuZ(29-KUXO_62~SHAfG5Vj>jkxa#9CyjI571z^g9> zPgG=^RjrkONkaJMb8NCe&!Ce%NkYnIqs3I3+}2TnL&DK-F%C}e^M)4q`*o-@VoGYK zj3E~?Bn-Av)XOcqjKYV!&rj?1xEk{U;p+MO1Qo`vV2?D4(dx^-SVE&>E*M(5iKi%6*c($hd;o^^{I(GvLG7bV)8`$bZZ zYO&hB5~M{(T8A8%Rmf{VOwDoc7|Etl{=_wf%|S)9>f)*h69AR1I_+>N*a}B%xHe~OtA$@v7w^}Pmm#do|gLB z;%zLw=7)$=x#{OyYGrxyZu2n^6$h!6iK&GZsGz5v;KESe^Td0GoIij{@a#+3OBSu5 zyQa81tHtUu-P!+6A^#@#sW!bVx(uxhwSBCe=>!Y9$?A2*&?|O337(KlT2(6LYs{?E z3KJa`55HHIa6RzU;DeZ(s>lp5`&Fj!;;pZ`9UY3|#&AgXrt&k^6kWX!Duec3rWC#! zjF9i-iHa!`O<{K8rQgU~5RSPPiogfCc{0wmBxcWrnWs(Z8}&wsvuH{&*ODl>(wk+r zoK>pa+cwVLgp`p^wXACt3~nxlRatEkb?6bA*$TTU687P^xr4gbJz6Ppq=Sp8htdaT z>=wTvjJU{BlN;VeHXS(UO5pv5V`8|TohDo)kIv-x?OuP8%3fAMfta{>$I5_LN%8!& zt7Hk2YNL-jp+U#IcxDGvQozpBCZV16HD#mNdz&2F(cz2W+@74*3vS(J%nNjKI0*r` zvsv*siT8Yz3P>5)*w~g&)2pgp$jVmUWz>1PHe$UpB4oCwmamkPBzBYVA-s^;5r8!r zqDJq_O^}D9qx=#EZIB}NevLA5=)5h_hnMN|^$-t#e~;RlG>Ny*LIpjh`(}qCK6>-# z3aw`g=<^5WJJw+=<%8wb3Wf@!*_XCr1YCAIksfYE2FYcahZ`k=-uWE?cc|QJ0aoPy z6*RH2T=iS8L&i0JxGWkTvx3Ka>;cVx*GM#8ovQ0diz;G>4NZkftNI1E#W;CJMh3gt zGR5)PTl1;gyz~w-MA~y-o^w~*%=wu1MpF4#Xhwwr6pE1w{y^;GJs!}OzG$_d|EQUnI{a5Hvfx@8zx~3sE8ws6eDQK^I&Uzo*&dYywEJP@F$!ii`oaU?P+eH zFmvd7kgzC*5bHSxHh0I%ULn`%pID_12ma4KU|QDu2>D>cs5iLmM;a*^gu+-wEgsys zjWz9cah^%WoMrT!8@5H}vb(hV!Hzb~nM;kXHmUQHPf?05heWIn7UjXGg&rzB92dF^ zFVkKvVJR!yyuUhE=iVZ{%ZAcESX!hH z^`30UxKzTk4^BlEmJJRKOV5f!t-C{x9?b8i|GMBH^3~eA+l$Q3_c!6i8*O$gd7|(U=1-H+xNw;iafuMh4Qff3oQ($fWrKL}3 zi%`KjkCVxJF!$Zi5JHY;d#BSi_D)=|f3O`9Kiqy;_|_DZ^{XIavPwqi?3-wblb53o ziNaTd3*UDl6qQBz@W&fH>OvmyvVSE33%Crz5A%>~sMjQO{f0)<5#)K}R2@@IXi^^o%pDCE-DSc(UCHXK4@bmmeGcS3l} zE!T})xbzZy{YD~Kn-Z9XFKQ+iKAstrcV;~y4{rPmtE95g9247gCf}>pK@RXm zF|0;?Q6EM=bcJnB8GIg2oDWgW)A1m~aU%^ELi(z^WILtSDwHdkx~xRDiOEs<Ms@f#)F&;Q7}{+dgX z>tDB+tyiCQfs+h0Ssb4tn!0YV)|2B1e0yVZeyMajiDxcQ%BKWU+(mO&~HT&c=Txdu?|6>8Uwx=Vf^>ZJM$2(r9~CN-PvLppIx4K#-xPDQ-9{!8Nh#jEnFz?O(#)&o-{J^8>dVw^ z^7Nd_|H+hlCj;g6uAcp-B?;YfgTR$GXv{%TxtRvUj4E8C<3_m9__NuIKI-Ucc8@h` z%z~GSmk@Hs^&k$a6C4vdsv?%bW#$4DV3HWV=(@-;C>Jv%EoK;=!~`nLO1D3J$u1VB z8AyfHb4KOCHtI`YVQt!}HDT|RHV-BO0YqE>A4J>gP!U|XM~#GZ%b>Tf8GK*{(k+4i zQN6I;k|Ud_wk3<9eXF=Pt0}QjgE8b?qjh70u4@ zp0Co-lP{Fn8vBn{2Xdm7%AyRXw|g3RT8F7`=efx4k+rrG@;`joju4FdiN3WUQBs%a zTgr@W`=Z>gPgkEmtp&8(xI;MQasnRJqqd%PU*@!KbkBs>63L`_ z_I3D%&mNlIh#4+-=)j@9!ro~X9X zQm5Bc_2G3pC_GyryZDwo3}n=vi5$jZ$EnBhx}K&{8l3bJc>XD1O^C&Iw*(I76{G(2 zC!+}e-6S#Ml4pOcPV$~hS&b2COA+rKIgJp5gqz_F5Uge8JhUxjmy&J5x97wLRaGqmUzQWJsjlp@pY;7W>5?r%U+aSf1Xj zXtKBfY#tSiL_VgFuNqt=kc0f86%(1f2Ozsmp=3=xqn;$L-AUSZ@ZO-u!OQt3f}RVV zFpVyjt#OF*HEfrO_0JOgAg(DK9xot7-?4-whnjD0$h0=zn{m} zRsrLiAF0yCk*7et|IB7>6Qgqeav;3#3wGh5z-2W#DYW>-;M|;qIP{c|ZG*;~G2PD2 z_+1ddAAP>yThZ$|j*a(s?v@B8H5W)NGat!^Cr0m*cEy&wQgKu-caEeRXa}cx*1=24 zQay2mN5zf$LUxD%-%^VzlRj8G^L8hus-iYA6uc@qXz6(V}9;uq>XlE?hw zL4*HM5E6&*9~4>a#UBAI)ZMeLJ3llc<&d0uetMWpeZ%shdU^JQk3={Q37-K(Vr-#& zG;Xu@sg%2Tv;gN7QB^eS$;y27DzOE}il`rw*w7!6Sma5K{*)JeIl!Y`vPv#Xv8wg8 z)ots8Il(Z`q^ns|4Q;A>tP-^{rRLNrOqi(GL;*vtO z&1*t-gMfPE$+{EIAJsJSP)vhzQO;3rdM; zL>9}NrA~cm)Io?&`MkX`rEHYeU!kJnPHrzRG3M=d)2mE7K0#5Aa&ScH?3@{`u8AK4 zp6YvgT0OP7J`JldmW>v_vE22Z4dJpiac;#^Vhh=vs8aO9cGo$p}{ z2=1FpOD=rcS;*c3y9)OE;?M9y08zBge#+mgD@0mv_urFuco%ai!N0T4Y6CGFkv`d9 zH-?Z57P(w%-v?l-P;1z1;nU2iH52w0!NY0&sHYCZWOBCww6e~?RGSk~5ke-c6UVB{ za$MN-6*yTaksnmNAAheRk(xkGWFS^zFG=J)rOcuDAcaM<2{hJxe`e<)v}&@}bJpWf zJB_EdCEUtmaVzgIdy3N3r~TX9mmKL>hTe?&EnQ*<$GcUM?a~+Q1+;_RX~MAPp>>DZ zt;~WpUw{8(w=qB{jU<9?=1<)WB^A`5l?QKd(Ro};dcz6iFHK&7V}i3q4y3TOw=>d* zpR~TG$m|dxjqwuniqeQWB=cRDGb=OBU`(vvJ$QJk1aSCm4y&U>_MTK2NeSP`7^TGV z3?`8a6p38=NpvYqwg7pk4zZe`mUlobts0YMFA8k3S&bm}%qm=lt_2>M6sao605GZ> zTmIogItU{#3C`TS65hG{|(wqEgVoQ8#xlz1vl{^PbSWzPl~(}l@WCP=d|45 z)_%1u9!wWnZe-D9cy^rTeg~WNcQ>CW^7%BB$IU)OgaPwsww>E_xfRX@R>D+ z3&EL;@0(Q}G%3AkypU&^QdF!Bdr_(tNNfe+q{=zjX|)QY(3=3(opoNgRf2R94&4WU ztZUUoSv^Bhw7@9C)RtbG?da)x-lh~`S6JS2O!Wy5JR+(*^H|Vk3HXn&Rb2(hHfpNU z$SNdIypyTZPm2`(9-O0G(G-D_4EBZM&j`VRjS+iT(OoCO=}76#$tpuYqK{0H)mG3$ zzZuo;H+-Lwt5tGwbMOzUK|$)0qwq1h|M#)-2QNuZ;SFSEQb2tIZ!PZq!D2{k|C@X^ z6|<1YeviShpHxKtrOtHCm4oPChy&`ZkFkuZhNC{r?C0x_cF3n%?9XWLqUO^@a7b{k zZoiUqSwVJYcJTja3ILt%4Qo`OM;j8<%j|z+yiAlq>HVvN@{w~p`oFioh+5QB?6ywL z=(xlu5;#_j;=zk@GnkKvP&=q?sQFZc5*oEUH7ewF)+W?~W?Jh~WGj7tsM=f5*_lZYK?wwOZrdOtM`Fne|2-+Xz>mawNURZc}SZ8m^ zS`?-Tc`&>RP-gUuYk$q!QKrw9+xMq>44laLuUv-ZY~`onD)X`44f6un<(`mR#Kj}0 zS|aFwKY7^!A{!GtE(iOFY|qf!E=x5Sk|t7j41IFr-q0GXx@kRT5(9hg^YgleDf=sQ zfo;Fr$>60kFg-oauA9)l16O(*$>&g|S=j9?VzM$CPdBLO`FK_~x3svl@_C*mjB#z%xNzle<4tW1=SS;sjJU!* zCeMcpOa}O~odcstL8ls1GJRD|+9_ozww32V*{Hcur!TcnqA#^&VvMAX*Uuxg5v>=# zzOlQ2bHe}$-R-uo(&vRYn729Q!`_!&#UO~A89lwM-6&M3kgQ%fSo7B(J3%iChQ2Wj zG=R$NU@Z?}b=XF>{b2}CyDSG-z2&byp{8;FgV2WD@T%vDW0TTDO)-tf1)rUm=|yFS zmGJv5{r5bIm5KwHbfLnr62?3~?0+y9WeO*!2X5EZZ3d`OGRa^HlX=p3H!1zFqs%g1 zm)m~fn=q!yz2uIEixpL+;~1DH$_=Ay?1iF(Vha+o10n_uWhtLJhwIpZhL(l4E1&8= z!zN?8$DqQ#2_$$k)>@WlfFPyZb4FuzvM8@!Ph0VSG_%I@Ja8kQnWw^gvqo}h3|!`8 zk<7`DJDOM1IzFMD_At=&o(_AaiOWTsz2?fU-G2b=9b&u`tkfQm;Rxyp`hTy|Oq6*f z%O>zCVsF6U_X@TJU@!7mq#41C(1`dPL!#D_^g4#0l0JbVRizwK3&u6xABf_6DAn+B6EB zjW6J;R6wNc24dBb<}}SWNlEFqxIyf}B*v>zWZnFPgX6`=r>Em(`a8YV;Rc%!4=+`_ znB}WPGs-eVFlGLpo?y(s+doOI{WWjIE$2y*f>cuk<88?W)cvAE*VPXVc3yAoOx<&3 zaek0YF$4e#UJ4!Bzn;{OOGvnCAKp_dzmuO#$ffMpw37r>Hk4J6JHnUB+MD;;wVr-4 zOKJr2QLUdD`mMiY=-F?in2GHBORwjv2+F!TtWp#7rX3Q4P8I|0tb;KC;hZEP7yHvr zO{qsT(thnbhQd-nE<6uT?pw6>4*Ii!4b1E=dQvg(ZG&##!J-t$P52n){ZBB;iJCYx#<##5t zrb#WY4k38$x2%Tjy~I@=0!tq7xoXWiBchLL`<=yAkDKGUrSx8C}b( zaZfe&rc(GJ(18=J8vFHlK#eh0SRYAat`b=1JTQEGIu~Y&zE2F*I>st@+%<|$&(QbR zV2m}flRNhdrD=-goWpB_y)v!u)i2mR>zedPn~VWU&*wV~I%68lHM@&!n~6mu@|@}| zmXKbJB{9`!13LrNprYm|zQKyap}{h38AXB>|E9(R_i6nVdzYR3#!D&qvBR1FVEXoq z(C&D>X_i*K^CylJw^{JDb@FD7Tav0Nru{2cymm(*^YxtDyI@m5gj9TUp=8DFt}eZ& z8^!8ijzJNAnNXnQWV=(Hk9wk`TRCg} z$AZI=D-%hVHdykN6CpVKppZX}zHhywNhXU{@O z*Eyisy;RJ5x||noysnD@8$WYFi?XaKeqIDezd-631o5p@{_zZIC!vhsW@aF1ZB$oO zOE5LSV;3KslIZFl-apaGEUd=BAuR-_cmK**%-FObV_s2>Ro<0F;(WI89wku1Z^6mdoL%`;h>iI;xAQO=kIq z37FzJ;iJFuj{jW;jiQa{&>)$c93+&gW6|DoqSavnieBsB|KvSG(IWdoBplA~COwf) zs>6L~1+{A2)$JC$O(*yEhZcPRX^oHvo~CV!#^%ySnwP7}O#eDAo@(2O^3#ob64UlF z8%L%YX;uwcImaG2&b%h6r$SY|>hpD@6Y}9`EkS}FlZ9JRy!J+iG(vF9eaG+&_+@g0 zDdY4AL{>L@F6h?Esb2Z2F@$Ir3@72oBVN}x&^3nsPe${=0@rlI>3p`{^sShCrHW_D z@Qk81uxId+1@iUtyHx3GqFN(Q@hZ4ttb{pN5_L???Ye(Z>VKV_ueDcE&q+^eeQfWb zn#!gx3@J9B8>>pC>H!j;xM8)u9}?ZKMwrwdrXk5(imh@4s1xPtGEdgvC7HnQe9&fy ztIj*aH(wqYDs)at=LS~|2II?R+msYWCRD$}LU)^A^>(w;2{k>-2I^%-epVPo4zRpa z6<{uA9=~AnD#*U-YJ@!DYqJfX6B=touBEVTEJzfNc<(JRAwxEt>f}_hlXwq_>n7Lh z%(&#V)ENP)IU1mx186HRcgc>j=RMIm=lP9&M%8S949BWFyg*Tk{GlofArTvU?6bOk zzkIEnNk{pU%Mx1u9+E ztgpous8Z`To^{}|=0Dju?MPxyuHob?G*S@l7mh>)psSqiLh`u~O_Yz-55zpJ1pJmj zP5#-#8zd~Z4|uZ<59mQ^O7%4gbGr4u|VeqpP0xplwj^Zw9;6|8Souufc9 z!y!dvtoEtx8tx0t^JcJ+rN;2fv<&(E#xIAmHPmjcPSa>Tdv3(3^`Z;qztS39kYw4onYqR6n+A_Cr`%WMCv<+UOQin zlKVRUj%VO7`5(44d!u8;$$&RK9eht-FBu}^Ioz+A1GKdK%>OwXqAvB>twYU3Q5x=Q z@4v5e$+pWM;#lx^ z4(V$uo{C3X?99}cES_)U0hRZH!mH6l3i)=*jC1K_i%?vH6gJ1I(9)#Fz*~F)fB_dV z)~u|N;k9{DpM%NB*T;$@FLlhv1`u2=7EMjuL>G0<(W?yq4`W{)S7p|AJz^lJphyY= zlG5EJAT1%?D5-RJh#&|^cS}p>IdnJD-32S}x-tCls|v{hO(s@|<~Z+%Hn*$S$? zk_^h_{+mh4;1H`{4rZ1X0VLLr;~dvi1M%H$Ee@PHiWyHQW7X1nYq7=Z%FqQ!V7DP=5gISz8WZ()w7 zs>SYbpb)a+%fOT_6(O7UJt`G5|6WdL-jrhpKx|!EgnC=lW+t!qzbRqaIRVuj&&GqC zCOnPT=>VZIF3%8%*&0cZi0>j(|D}AUyy;zqXJ$TC)ONhN!nNp(wRWXH%G***qZ}g9 zZhNr<=l${K(W6H@0b;~Ik18B~!q9LWM;7AAZ?#U=7l>Q)K2uc{EB&7@irQ`tIcaqI z#6h6=j?TSU{YiQ@?}ti?dU!)0J~LlKQV$p6GYO5JF$wy{Mi8QIoNFV&)4+Cl?o+ih zO}^V-T&>&7G;-Kjoo4!>{a@b3(x?}PXS5n_t(RA3D@MTUg-(|5*(<&;4pcNl zyTc{+mORbC^Si<4$0EWmR%+dVb;S=LiY!2u>FAx-?W zOX#xh(&KIJQkTzn-R6_?-TYQuu|6WC%Rm86qFKfM;JTfKLPpbZODmBR&CuSE0DRig ze=A=>o42enFx`Yo9mQS=_-U>M07MhcGVS0LW)KBtGZI)vLl_3NLsV|Tas2!{WF_x@ zo6;72tcuWFGQs0v5tM~+$n|*TxQu+k88NQame0+`7WWT%$}Awp{PK}l+DT;Ap;e5w zG7{01@3QY>ANa>rK8$=7jO6iR75Uau8yOGhU>FL#a8+it;}ajTb%*22h^>$ip}p@HjTyRaPJF4IFWT{JTBmh(=W-NeOI0n9a+T##L|VxlJ#UIg zwU;=oJ)YuA3Xp0fW+-G_iT{M85ds*?1cT%|Y5y0gVGMfNP8vr4q6q`Vt$D1rNOJGN zY|Tk$&cn-BhxnWnTGZo278a3d);k~jGxb=g+;!9Nd^m`e@-)MF<5$IfCidFH@<-YO zTv|KDDdN?<#nTu+>7B5x>A@}*EPwQ4I3&A7$x~~Ls>3h7V1)3fVHP95f+HIF?m3(1 zS2iQBF?qF^cQ5o^W-pfqSJx(n6_Fx4=5{mg)#8$NiktUgsC6dr%lMGSp$Ip|OTJk_bSk(OXY-n0>#8@`Ex#;SM3cBc?( zoL3^<4oXIsN>HNB13{w6kHq*U&w-`H9mWAUHGPLR1de%_e z4rjC%yMqKQpKXR1Pdp|j5Gg4{Q)K+U3ppk27N^G<%P$vGK7O+-?yx=GL8h_@G1z2D z%2QRLFk-!=ZIw=pY|DrhTTjFyo%d+o?XHVhKDqOjG|eUynan{iFPwgXd*ruEH5iw0 zsoUUojJH*{zmZqlJcd&$Y&$|`2=`=e^L2a3O)Hp=d^++#Jp3=#LizvRvPoH+rPE+cTD~lo-eqCNvr-Gm(@6^x3_og zko_?jb?CKFh0tkTfQqu!a5Qf^UZzQ_Sw;w19o(~fUy(Uc;F?<=*;^3PZY#Z0PR88k zua2u_Y%qDnBm=?-vcGYed_{^L7>%@zYbi;@9zIPqpEIg0F4ZZYI9wm62<1BuwB9-h z3!^xNZ;fqSI9~@ze7Gw{Q*|3hmTWg4U!#7hb=hKZF591G}*hOFy!J zcNAu%)p&)_ld<(H&AjlyJ z(?96=d|G8P;OpAj>t}O-<%CZ*s>Nq{TQ8LDWQNWyq4GHuD_)5E7IhGgnQhoRs`8hQ z4KdHmN~b&@_CHl(fS|KiGA*sNix-$U7)J7jdI zLe;j|9^W{yP6u`3b-cVdarkKdE2Lj`tHSyR5s+^rjO$O4I|RfdUU?@&$)!b;1nP%Z zCoMvNM`6!Nnx{L0Cid(Q) zH3um(sxUQ_r#vRzEXSmY5SQ+!Lc6NjA$aipK9A&2dr=#1)=tk1`i}BdsVdYdEFeY}ND|D;b(BMY0shzGIiaJ;sutk=& zjzGT;Lj`Pi*vupu`z~)3`0b76S-Gwq3RaNzX$(n-&WzNArrSuw(!`uK53fzaxAGIo z+Sp+~@B)8f`Du$nkcglT_IXSm;~6nK`{u`Vb>*uVYnmjzcGP=mKdRwQZvdxF4%CYw zzTuP-*48B@h67Tr#}4HsTfMJ&kGEYMVCR8)L%v#zz4bRkXq;>v3P5}XWX6?8iPtZN zY^cFd6h=G8$f*5|yjyK6Ae5sxS$9lYVlhCwInBdHLncpMQ)j6&dcaKm>6<0G%TSQD z_4)8v`|x+ZdwsMY5B-^aiN5?7??)`y|03NfLJ@toV-dk4#tO;I$dwb(d1nJQAi zb;vPd`!TSG6uSMDsy#KMKUu-($8d3J)q!fN@tF}95&XQICVpd+6}A@xUxI1#r9=;q zanUigo}3{n_e@S-JO}?YCqk_7Go&@t_=U+s*|d23tTg=7q-$Zi4I*2yLwa#0NTiUc z*!k;NG#qt8m-9&3J8n^vuJgBiXCkD9YmYuC!F<#1`MItqPu#6OK06hY1~6 zsbYFx`PkAz~!h)}>|r|)=f7Qd&6xG!F(i1=0ZEKA}p%{Si*cz1zn zgQCi)mK~rDRooFZ6QfzZ^0Bx^=26YBKm}F1<9t|VOeJ8x9Gk3?uPiW6agP16Yb$F{ zMp$JXC7ma@#w;d#UeDmb@g`jmc#Jf7gq7|YUQZ2*vjX#IQ`%)N#^d144A->c5g1Q3 z*WQEN#lFEM*4&;naakrIgF;omq{{1;Ar`8+-h`EFojCFI-2ZK9d2O+>Q@|ay?6^_A zD}dXMWt6JaI&K>dNyXTO57L)$2TYZmRn#Pv~EPi2FYISGC*~m~VK_ zLktX3pjAAaOto5jmV1Az@4GRdT(0A{rluz4>|FUUrx?~qFaIruY{-{HW(`V(OtLFp zzr5IB3B-dWD0knqi+i2YDjo(wZmah|%qjc5m(EnGO&U?IPIM)!FY9LLU)xDOp84KK z{JSe=Se%1S0-U&iT5zZctIbN&1{$W)v!h3QB$W6H{m5v_7i_NtX7^X<-m)0RV8|K* zxmP)BS^|X0BK^uLLt%6~!GCQ;EZWjeJfX@#@3N*E%y$YIjhnK0O%AJXo!~QQdrHdz zLzv6zPnzWgAw9a%`<$ZIrE~i(AC0C;X;D>R)Zj65q^m!43X1_O+*oM31 zLPWV5d$iKTh3u1Q<18*ltp44mfdVu!i31x~teh5%i z!MTz^HiJ)IQ&P6>q^Lz}-yUd(MFa5ME@?#U5^-_ps@0u-`h4M5a}5v-<4IFfiOO0& zgUYVs4Z6IG!bnX5yfgUfdbbh6(?6`fIsajy`Dyh{|I_Mw$>#*Wp()e{y>XOu>+aK! zzOn-O&ypmNWN*F9BCL+;z18F;iYWNvWt#GfNBoZ8J|bZ9#`F=S!tos+(-nZ8ph(IT?`JV_jaNio%DOnW*>%==xvTvY#A$GZgfoI$1bc~Jf&tG zDMr2h{KXAq8A6J?=4lbB+vx0w$TA-g(7*on^XLEgqc-}x-mf(@k7hT`=>zHRtm(zj4sVF^f^ttRygZXu+8_d}!s*&40xRJfB#z)N?`O%0Uz7#{+HkQiwFIp2;&Wiv2(GG zWBB+V{sct*=zvgKS1^Uarv?0RV1q@8`U zM|XTEMq(0opfs@$*`4WWwNM&?3x|HKGV|`edyuCM;P@GR?M$!xn^Xe3=|p7sA5WPZ zT~zw+|9&l=2MyllwA=gwa=dh6Y%05%1G*3|U%s53K6e6!Q^GQTOU*(^u(^DmRy6gsrD3Iu#rmDEzNw7eb4m-vBg zW+Twm#p&&4vL1>KKHro1LCxNQ$C0#}FXo7Zo}R3d6N>~4qWX`3B-doyjqw%^)ax~+ z(70OUbELhC|GCKR%7pCf*dR4l28jkAAAe;WLZ#pB9My|fW%^*XYP7Db5+tqY>@*On z*V;--pg&IzK}+b4#iC<<=b7O8l)>l%&G?KMJC@DlrJrIh!^T>B6#Fsmf+NS#`(s9G z*sCODoO`kU{)9?r%SC^?o&EPk;SvaZ!^I#^comr%6O`MTq84Kuc%#Zy@RkY z26xC#l#t##+Hq+)AzT~I5r{>JpOs5OyKl&hMMV9i6%^HA2L`tlXDVf1g+2uBHGeTptj8o|_-AM_Nd})bvXKw@n$S z@FGNYxjR0)Wq)t45oi|&DW6p42}s0^!h!~6zkVgZ3cQ^h2|-fKKe=r(VP_eWO;UeW zzH>>xcy9Noa31;Gharxbg6#zj9Ae& zLA`g5J7hT61cIoaqN(P1FdI&yKdm@Qk%o^D`k)qBz7nT+fXn9Y2G=~Yenoiregg5l z%Cg)e30ths-%aIshKXLwX?b5vIexh-VeaAg4CmX#-5`txFTurHjAnT!w}(Ej$G(12 z1r3EQPfLlaqs;>3?+rNwgZoNgxprwCPz{!C)IauVGKMI}WjOkV37I-Em?X?m8)K$RO+Jq)3-v&{v|%N_!+|L;J`fgJMU94uB_=sHcdSfj z)2XtVr7B7U(|D!6eCdhnLU(3^zZpGgu{JEJ+a5FYZ3J~c*9xE8{x>s|<|``Qu${7| zEuXY2j@=f0M)Lg0kc(0Mc!J;rf(Vq;H*-ZNT{2RNbT&0L6_X)2`C?EJqmU`Yc1k(m zVBS1e@x4t^%XqaBV*h(D*_<9t1>rq!-WrzW6yAl837-h5+U4_A06Te>rnnbe{zDCW z3?jnB!}|KVY;WiP7OHxr_=_TY{k9OcBeyA1?LNl9NP`kS;d8BGP}&<7lvOFQM`|;~ zuU{Jx2vH$Jk7h7I*8C=i%HpgglMQ(l&(Wht35&!>Ym6Y*r+EICNvGEI!Npf zD^8D<8n7W_(Rk&I70q@2kW(${f(1E2jRM~qVslug%0+V8tg;Uke*C%CK_R#M-{E{i zmD88o)u<>db)3@2p;CxK@YM15=h;^JcQ`}?CKzxUW@QquPw zD-DXuP^Cit{?fd##40#Fr!Jp)43oZr+@wiZc!2`+u@4S6r|y}VnSIeP$DeUqf-z@q z!cO?X;dSz? zv(+(8L&I2SjX}1-XeT6X(4>u$bXeO!ck}TSWZBhnoigHJOk!q~7t!j~USU&^wi5Y) z3773_K1=H6&1nKC_nDj-ooo&}Cbimo(|LwJ5CAIxABFsHG5+}XKhEdB12zh+Ivy+i z`}eTppR>h86+YH$KzdkG0zK$Yi8xZnor=ob;dlwFXZ=|xURXXBjh!UxJeK`C(D|P` zCe`@{86@@0ppz^0-wN)(f2?*Xa6qkY;m731&{}@1GY%A1h-3Hz&a#89# zS1;cc82#6el1kn*{P&M@^;7)7Iv`RY7}z z8@-NZE-y0XMbFprYfb zi4EVHQPL6juC&{FGV-Ia(?&SOme7YBES-YFGB12{%7fReddfK-Zw;PV8mn^-HDyse zFKKv7JG_<)bJ*kcb3VR@ZP6^+5~S^Ka9GeS*e!Tjle(NA_za%XBe!K1u$3jnHnI?< zqXtWb2amWB5#c2i;?Hm+8W|TS?z5G~w)X4%*yF>ryftKa($GkZ8bI)%ezAxAs{lCV zMoJ?c#Gxiaz8E6>($eY`_Vr2mRhJdEhHEn9{_JJKMfl zbG(dOb+-E*s%Tk1R%|fT|5?8gfb-E7ebQg=zw8(0=JboL<>;1KCs$Zgt>`YPL}Y!m z9Qo@4nYZCGvm?0~tCi-{cz7Jv4-rw2sF`hXjPbDOcD(>u?Mg1S*RtUV|H*JCsVf z%Zo`pDJ~f!gB`@-luGRhUpPaLjsuix6%WG5Y2V_gC7PL7ZoS z{!yN>14J_H3`q0Mfm$YY{-rMcri)aFF|pdkkr7p=X#3amd7@^{1d^)J1G)H=;|0K` z7^cNkjnlo~l?Wgy7wv1sqT`~nsxB%1_sV|t)6f1NNJ`o|Mu%lf*IpTgbD9m7QH&e4 z-`h}QZC*4p$XbkWu+nb;h?v=U^47(a)7$`q`)G!V(4t07@*^GoUc4{ZEO*kxBR`Qi zh(@zH-SIU-!a2T&-Xu(8(M0R@sLr~;{({??ewA31u|v_s?}<@)UT$v)lL0NW>9D}T z&elc6lWdSVxyns+<|SBp;K*TijrjM?$hh`%6;sGeXKJ3Vd14wF@2vGU6S!2=riUV`J2tm=_Kw^U5x^l zimc0{o12?Zxbk1EhZtx*gh(OZjxJSIV049DJ@YUOK2Cp=noA5m=Pmln({#F$=`z=+ zz>lB=PXObOw(^{oet`KITsm|!Se3+RismJ(h0xTLug}j+F>u&s{&>Hqxj=2cKFVO@ zPkrz_J7%#v9@n5d&RthW0u01{+o$mcGh7U>dHz+M1WhQox%b@Ci8yw7}RbhGBwOYxYHuU=2R8kHPB} zN?PV-1_5w$fewS8E{h2);SgOggLRRR`0**<(_!51RT1 z6N^YG==qZ(5$sT?6zMBOW(@HnMlL?wi)3wXT}^Uh%{_Z1hL6@X#{3{>CoQp@R(ztn zy;4@Mk=r}sOvm3OAyhp-k|LB>@YpxJuUbi~#B^FTf4C;@xVMAT&Bx@h()tI2ZZpog zgG8kb^_uztKeA!=KwAgz5M&5UjE^L8r@{j*CU7DL-+m-H>>hh$^S#T_3_!rClrd65D+u1ey9`C(2M`91@F{ z7byygZ-Z$*b?U7SW{#Fw5EmKYOi1$_pzAI@rT`XHp<37Rkk8|kG_vXka{jDtZ3h>s z+OIOC;)8@vmn2{ck2O%^WB@?uCu+h zF0HhNr%C;K)$+0*nLD6DMH~J~9A=)MKD|e}S5wf^7C&+Gd}h@nexfv!#$vI8_F{@b zd;8ST=qqS3Qah4vy{D>+1C5s-jxTI?Ny((h@cS7@vAlqvMy23y13r-aoZrystqD!v zXMeEUUDIDZe&?OmVUM%3&b|N5vPTecUoLyB4Vg4|yu{lW&SZJ?#)Rr?@^i&xlF3Ot zJ{VO6L@V}w}S~dA?3bumEC^k;iE)I zG`q*#_kKP_LKdXdz9Lx#MhnA=_ve~jm-UsdUbULJnpPOOzS*s%oP#?gHb`x(yx@+4 zRuI)bXh=C$a`~H$0=SPL89LX;)PLYQ0$I9E>Nhb20Rd~2P~bQaia-f_84YqRR}>1? z445m}gL2(B-_7s_4e9M`V}boWJu{R|twAxv-Md9aM)iYgWaV6=S&!#7nn2y=)|PZl zoL69Nlvn-Me$&@dg3ZLZhdK;*{(IHSFhO(JX=4Tj^_@a;*5d3bVd9S4rNZQ;JD|E5>a_~^ap+-mNkT7C{DE!c z9y8I!$cTLSH}8|l91l^nK#nA#ankapRlVx&%}Gu#jrGydCNd}}cI6uPGmWxyH;MU{ z(Wa_nCUjY1Z+};ep<@a7?kG0jK?^`H0)W#&o|wm_AC63E^zPT)yav>aXn+D|bX1O8 zUBGy*2BlskuMvX694^n{PaAZ*B6%huyQ%!Fe|t3qJ8SWd{EX_Ez8bw8sCp(SZ9P zIrv?J@J@oYry@c;bqzy^3}(lslL1wy%B{<9&_$oSzrva7&DFbIHU70^{3ct{JR{0~ z@3DUeRArc8N@9cyZIYYa|77mWY31R|=qk#z=t8N+O}uM~%#Gvjmo#@|I4yiuxWIhJ z4&H1fy;psvn{Z1c?UyZhkmD`IJawO-pod}4Un3l>jd)i=b20v?QV=BiOi~EXPOEk8 z9NX4>e4uMfHeICP0;l@aJVT*X)JwD=&z#p=HJ(}@QIod3`G{9Sm4e5nXo7`xlz-h* zqKkGRfZe80I#cCf<-w1p25!Yb0L)TK0OC(9;XX(h#L6;BvbD2w@2qg|zBsxAvgB&S zoGndYVj?lw#}@#<44#(D_hl4Vz@uMcyFa^L$bUc)cTe;vwzW$8PZPCfsJ5mvPqML{ z;OigHnxIW~riD*oVsI-xY$dwNQ*(@oJTvE2qJ~CrnVwDLGpNa!XWg8K#j$17YO%ox zO6Q3wWkZ8Nd>%t-Jm5PC?&Ew2B@f`*uLLHw>-MooTLL806gVCjX0R$=FQIJFZ%T$@ z?b2|h=?Q`f=_E&?9&+}ZD3b0?kG`c>=ey0=B0tE&l8n279sYL`?ym(ie|Q%K#p{ec zQlMKwRZ>@%1plSbGy8K@>%*;p=Nm^w5pRNEnHf8?^*3$0_#QoK1Fla_RMcAc^)V~< zX3pP7B(4}#O3l?y@R9{{kdgj<#UQ|Gb*AZ-St9b)*aqB9n6Ir>X^T;A<%B(=4AW;O z@wi#8MKK=^@RLr9tXYk8bt1{f#jaCoF!0Gwa6eX^`d%#a7L011z8~N{LxFNca0HZn zXR5TjOkjW>A7h6e!|Ol^ZsqoJjqg-gJ%AZ)?oCt-mD%i(fn3i(kg<^|(exq_UKm9D zO>qDunmd@Ey}L{1#(Tr8W`f}Ss-o$THcN%QN4! zub`Hfe%f39Dv;K}ZvTc)zZ2ZbV9@hTLA(=AagKS_4of?P4J0&5(mcEBdQnDdb`8}w zIH;TEJP;pRF4Cv>sC+0kkm73EbxDFg%FtW01IJgv%f(hunTiKQpyVO&|wYE|@Y zE3tHLH;AQvHnW{`<ZDl5wk^?7cG%GP`qk zFjsBFHuiMJ1T$OtAu}Seus=W0_!ZjhB}Rdk5%h02RQQED0RJqK(jwWXDPj6-XuT16KglgTuZr14(8h z_|;$7ZF`m~pfLeCz5Qh>_riKZf^uBO?bbg6ffPTQ(LOxTVY=mkA>!`?qcYL>oLeMF z3@+1-N;ZYi_Hqph&}?WxUPo?4gZP8;LJRz<`t_yD+`;*gWM^v)9pi}t2Xa>9u}3<5 zw%3d>NeQ4W(Nx2Be$CWgRWwn0_i>1kpleQ=W~s_BW%yaL83RfF`~K9|YLBA1uF_`X z^}8Y@bE|@-CMZ`ne~+9Lugz`RGOa{l|nmwYNmR?%<8=l z>7PBB25c3zvgX7&N2kr|N8hRB6<2jVkmBfCsJn0}vm)=u?&dU0;pck(E%y!yRrmFH z=@Z}@1*Q#Tb4-dDzi4D?z=X=gjd!-U>zvFE_Y-t)noV05g*8@joOFr2`ejOw**|` z4VO3D;EN?)f-w`QkA8Q5Hd0Nml@%o!>kmN?EIHXG0bK@ z)8idXr-$ppbIHx-OC5S&knoZcY9W%+wuLR<7dHc<`TZWz>qQF6`JnwCuWj$-#5K6* zdCgw+gYlF~CaUa-WJLv^6(;-y=K^KQ@~<}M5JCI&T*is=t*qJIa&K;klb?izu<+{^*q&_I!^j%0S#>YbS5 z=L$Ch97wKKY8#)2sHMBNNPo-b-BtBnd})BZBJb zlM4F_^&E|AWF2znw^gkGL&SgCU)%rB79(6VrF1QSm&3X?0{<=&k~>MsV7?Z?rfP$P zy14Zv3T7mGe`I1|i^7-da+q{$J|QGdhM4L9hYdyF++bs4d*OOPQ?wy%jHaqf8USWj ztC96`6XHO$)9;5amRgXP^C-6L>U7^(tm9cwQB`Wi3u*1d%s>4e)Kcm5n;CHi7M8d#@C9S)cfvHBkv?| z;O&+Fb6oXbAX!xSO2Z?J>L>SWu=|hwnJM%Egoi|s$KTqr0^*vo$2dNq^CxRt2W$A~ zfDn1C7$zEIZ}A{`M*74JZg_B*`EcanI)Q|HwUcdTf)B7+&qx=hzG3^->GZcYg+lQI z6(n_3B$nB1y~Tg63=nBClYnWrSbz7Kv&L>K;k6rlQ$xY-^1`Jp5WSj~k`fv4a*8%5 z1dg3E!?`V4iHg`R2e#)RSPACH%@I+khv(yRe!_A>%OZc z3+>u}1L>03tj~XB0sQUT{0X%Q-`*;dm1tmR6sNuwL4Ci$i|^yky47)SmJQc}ug)`( zhwR#S#lxu6R!JVE_NZ-X58KVmC)iGAZ%rI&H)O1wFLT|+ zPa=;;ESp&ajo_UU=H|$+%dU)v>o^0w#XYgl<;(5@yzQrGGCtRuCLwdBX9>V-+2^=t zt}0Q1119w#k@F)$!l!M+36z$&rMhvz%5L^v4D9NS7CT{ixzcweC6E_Bepm}cElIjR z7=t{MK7K-804Mwsm~|i*{C(CDL?-#fyUy}F`D^+1E=6EK{5d`6o2Z>>&{DE^!;_ts zJEgXAujdfZEpl&n`=9ESKcCLOKQkb2`Pp(x^6-0jcs%3lP79J7vN8D-0d5davM9!U zoJ>^Rg48&mJ$4bFM^fsw^Q5tPU;;@iWVrz2T%SbO?CFDz(w zNZs5&j+V`#dVaciVAW}5AhmF~F(HLS!}z&8@yo`{xebPNh{__jMuqh|z{7J|?}#LB z=4TG6=~mqk6sa4+WE(!zQoMLKxmTsaw5{D3Nl*Qznx z9#}dRyYmDn7zXSCFDwMIuHsi!`2SwcfAzd9umEd-*9FdvC#_Vnws1q<=E7C)V<|S3 zD^Om6Up*sFW#r6uU?dOE{dC1L@fJ0B)d&SvDQ5rhgHNyfYm4qjMoqcYXGk60o zc~Jc*<^b-gP?TWb7DA!nZ^4sOoY>BsjT(?% z+2jb6M0T$qnq#4mY(%G8bqnPw`_~X1aG&F4r#eoHd?H}Ehe(Z}#;esqQpHtHuz)P4 zX(mg3l{6un-V30c%is*FS%ynpd`w`sSbx3`PljkrtGyo(23HWidGnR`%MRrh5*Y*= zkNX$(??p1QuDOJ_TIpuP)D+F@*0<)!+@|ha!FJF711SG?VRTAdbuSNp=H#wYTBn5T z<++{w9>tusRc)eemOv16x1Ga;EAsm6r!~r#)isI=9)}8i@UV5>_rYI_M?w-@?S zTTIyfxFuKx;^}Vwd-CqAjv=9!-H;ed5kOgk*UiFC%-^@I9hl~O&RGzi`3~Ucm1Tf z9o(76k#D0WoG~YK-e0we)w^E>cv%Z-#3CX;ja}btM{hp|gu?R+Dn4=_FzzOnh{$Q7 zq;d3qZXy&GdwF(KC73v!h(Y&ufc3a9rL1~$Necr!wDi1$B2?yuTH(S{I!%s-zts=& z5eNH4hSg3)21xAbF8kbVaNg(~B=m`}*4lM$Ay(P~z71kCGgfdB|8^wMMp_u~vp@dM z&pPo&`&h{T*TIwds%{frEH7L)k@g}B(;m+a@ocMSLAi7Z{SG`YGAq|%k3#xQL&?E6 zxwMB*xJuvZW9+QN|T@?d)KK9eZ_MRDHUzybV0|(Rom}drp?q$f_b>n;}3$ukX z_t%aE)amryetzi}zUZJN_&Vogo~DETw58xfUmuaYLk;I5Ih2%@K?m3G98L2>5BZ!V zPVg_d6)_FM;!50_C)2kQJ4ZjzICanZOR)sQGozGlO0UA3kJF^wsgxQR-fs%q?CsV> zz}c>Ou@4AW`ZL;JY|m@zhEN5W8*a_&%=_(8L@tl#4IQO<#l``po8>dY%7T)Bk#@L&858KfW~dU|c0vk&Fxd53uw3HJA=EpcUTy z|Imq_tLykmH{T3->8v6I#zns_7PwKCCXIFan{)vz>2cC%#TIvenxu!XUV>nBvUIZ{ zYp~tsg6a_s_d+mGYUr%$vUY|~Y2fI0KD=}r7GH5_u_pMF93^x`c)wuBk^irf&Hwx+ z^!L>7)%stWaC;#*Sj~2RTEjj8WR+D24+@73juzdd7p3O$tOg?;t*2M3W1az>X6qz| zllBx}dVqeT-`hECW(&zzkxf}VNidvj{;?|!ph)L%cj_*Oi%M=-f1wYXI7YXJ0~LIBC7PaBRvA=l3Q3R zg-gpDl}FCqWcOXpZ)faS!OUB0QrvXTI{n{eG>3WOuT?Qsq$%m}eRljXpjs5@=C^y~ za!L_?G*Dx~A-~sc)+vP2={1wjvC^yWA5UyVmT?++FX#MYX@X@;hTxloKOlNg>Q#S` ziZ8Mo{|el;_Xr(bck;zl9+SV$9>2UiItcRhoh;`mxiqi!1KI|`L#}Wg(A1m(WsvDq zl~07pc(&EKYPnR0Kki5{816?cthl5~uBK`DmIr2+_0yS68(09)Jfzj#*l0$m23;48 zW!0n6wO(zqDCYsQU~mC~WtL94*-oU>P@+4tGK~Vv?UKGUT4Ny1smwaP#4k}p-GMB! zQ6Lx)sRZAPd4Fn$vOFUeL&}rAvDE)?S(w1 zvTV|*FRs}M;>yQ{^@=6Vg(c#cID3bF;+yUf;YAB|T4k0CtO%#WLPvad54VRLU*V04 zYG_Sm{1!7vn-roH@g9k3*$QbJW(s3C)1ug-N8Kad&6Rn$RvPyL{^*Dq6Z2*ihiXUXY)Mqb9|-mJ^-&BuUgGZn@A3ku#2BoW8-bnF z#z+R%e8*8Kj>qbWdn01XweEc(y{ph+K)B@H(363h1V94U)&t*z#l@sb8MtLIB6k93 z65Qpu zYA^CUtlHPMVdbL}Gwe%z&EF%?cDi1SVj-Q#=`-hXk|MiA`TQ$nYYZ}Q7)`QRJPf1B z|4S+#B5oP{r&4~r+*@vfNwrAMnv|ZtH&X@8A!=~Gso`3T_SaD0`shg&cdvwR60fgH zqQm!Jz|wiyT{nGIZG_NNQ{x5|O@o^rQ8YtRBmKq|`9vTXs+1AOTg76>ojYxr^l`mt z!o0_(9;<5+7jszmjg)9TdtjywoHR&jrb7({32fPN{kHd!h_Y)}_GI`k&xyfF$-4<` z{gV|QG)_G_vrR)$mtsbqhV7&wGQ}r73r8#QCt0O7RsEM_l`A{yU215~i#5B89bZ0< z8`2i_e>oG?_Jinl1mPc-3>iroQMKuIh4j6H`kBNBPS$Gh5#Rm8bAc|3c|``#G5kQH zT{g9~Sw0-JR`1GSS3IZJnkq_6Bxv!+%~0eXv%yfEZ{qb%jc_P7_-fxS+otuEkk$0) z=1uQ_xr26JI`%^q`*O&_r>4caG+afbqR>T0S`x0llZsMNZdVnZ@}WG9zO& zxa3x_TMt}&YF6#{LyjzaNUzg`0Z4>m=L!Dvbo@KAP`@kM??s{*B>|*dUj{O)4C;?1 z*api}MA?Ja{bh@-?mx3ljkz4?=pYy7GfI~hm|Nm3$2Lz;O!#KVqF$D}5QSDzeXDyf~e9g2<>>B>YZw?;xwK_}o?7+Xpb zEegU_fbu#1SOH29LgSM_7fE0iaExP8?afh=!1(pqPv7JG-iSgo4<*|Jji1tY;rVd@n%`K75vR1j$ z{otvhb$qJrZsZB&GM%dMp;jptu3QSN(F@Rs`@PQ#`q}4&y9hjOEstzH5m#%9jC;npve?cPyNOR(ZbUe!W**{6@U4%%n_m*qtsal71Q=DU+HP1%{#N) zot-gBU5r_Q+Vw9eC#F;x01~Qf3CJpaW>OEaI`YPCqFN?SCLloGN8dQJc2=0 zBmK*dXW5ba8!{MF9)WKz3u}W(Lvbzjzk5nn_RP=v$SiQ%q1e$dG&_7*+0=p6-&5XR z<3;aPlqvt3i$_dVr#n0^!RTWg$b2~Eon0b&f9)vEcd`B~5kA+LS(_rkL@?nnlCMcp zF{c3)!++IEw)Aj+K=c0UrV(!CY%vEO_u|FIx~7?&Snk)9o`JpcINDadKe3~d29*<+e$OMdUn0NB0C5rQ%k1s-cRd0ds`mDNerSG;o>?D5_ETV66@c zKA6E8G^CL;=oZXm)Vzz$`LNV<`X%TOg{k-4S-L^vNGz&$`^o~WI{6pxte9V8)`~sC zEiBHXc_kmJuz&Q-8}&WalJf@u4SFwgd4cmSb{tuBbHeaFv;f*}NOrOpG90rIFvWoP!HYZ zAnXIL&EO&5t`NW2^I%2*zb1XFvUBP2({jUh&2jNnZZ9_*3Jr?WgbWe^&vr5jOxA$S z%K^V%gl_0N)(eF#=Q2!uALD4IZzk@k8@7u)_Pmid^?Z5L>=d$lm0Jnmu7W8VDC^6) zf$@TB(Zb8=k!HN_(h0JZvfp+g-+sm?+tfh|wc!P{ZK6#=f8e!}{)KxgMUb%C(rhhc zHe?y^v5DeAMHi!Xe&U=N-go!xR7|A<6s(N?P!^-%H(S%y+lPlOqqku@fRKlx0rt@= zr|DU?Zc~QxLYo7a(g!mvG+us<93AG}!J$i2$9;sKhsL>o>hs09?4$osmtiKn)M|L5 zGvC%?DId3dx^baaYqE2sj1$T$QpurwDw^{j{tlg2Yv-}8%)gJ*8}HP3yWaHvMnYj# zJM3c6cw*;O9^Wdh_-}3R7?P#+f3--NFMn@)E!V0fk!4;yo}IZt0W*1MxyqPMGvz)K zbNW?%$3V8*KkXxz4{(djJD#3>Vad~82ksVtP?1Q1V+6>yEWoubHxG!>fg!|_f+*YL zrIK!V#FY<3gBxO^1KM3@Wj~gH1N9TNHErApPDOFfNDT4L=D5z}5x-bve=rkK;&($) zluPkgs-w+wF0KRV#<2$4PX`=n1%XIwWAyf}4(;%%-H>9cvIVs=w12Ym&uaP4savMh z*O$*wzpQPQAxLBi&OZ2K#I)T6p!9Cj3P%CeA6$C&vi%Ub{<^&+HIn98Sq}aPyI2sr zkaYXmgAe2uDZ@K-3Dddh3{JvASLulJAQ`RA{gC#u`=P!@iijz3$5A=Y*~a zctsMW8((hJP#^EP|qZ_aFJ8kzk2Vl%qJtMs@K|&j33tq5t}UO z4U9bX!_BeV$3D^)7+kyzOR9TJ(|;L7MvILQ^?A8#_g!RU#!ZOnNOVi#@oeJfyOWh}s2rAyO+e!v45;W-$yiLg zt?5rdZRRMM$XlH?ver2wA|#Y4C-$m6nh9(1Y#fpe)Rc|iBL5$EZy8nP*0v2RqJk*h zol?@$DcwkSgGftvsYrKANlAA%N_TfjcXxktxpm(=p8I{q_v;Aa{``cQvgY!VfWGv)DFQ)P)tTC1h|`=RfW@Z*0d6 z!xsZ7g*g{>u~v3_20_+}oqgC6d zSV%Cn_BU$Eg%HMyRCs!8IyyP}Z#L4O>yVEMwL|fEAx35SWYel3IR42zRNaaKEnzWe^MZjHS>0KQ#{htf<9Nd zT~!G12iS!Q2gRofV0avF++vd+yiy7lqx@@y&SQS{C0Uu)fgY8FvgUw}`p)Iis%d`$ z4{Yvm-6RvP-bG}gPD{1hR&;Y|2yJ#NSHlTb+X)t3ET_cx1>lQqB80`>2Vqk|G<%nI zCj|C+&Z*z{=Jk3cR-VH<=V8~ zUBuNb52|Fg3%DmK=ygLhANJgbo3pN5U6C|v^#7!t=SLH(KNa)yg<-waI^W`&VX9sl z%a88}XU>%^Bv@Bp<8s`;H#g-^1GEyO;fk(d+7h4H!EB)+{*pQ8YV3VEw@<~xU^6>Z z`N4L{c-lnqCNVKF8a-m6o9uilJtNYcnqu6o)&;fvp-qFJa+h)V^x>x&D#`UZfvX5^ zuBJUAZfy^_;Xn(NtyPNtliI#YVl!MxUt${a#@S5#o>$9tbdqb9anN073_^tJqsC#B z4|BV5_Z*rK|GCp6CN?dJvlZXoV$3E?2;YCg#pBg};?T5IOA;*jpB;K1f*2j9FUxmS zm5lmdgY4jJ8sD}M0?U~=r!AuF7hvjQz#Q`9#FVJ>MY!+K@A42?^s*@`Mx@q4b(yCGBLrG2bx7#wUqQSDXD*(PNp8im$fyZ3?o>OVQ~<&_k3xR+j2{_SQI!Ug^pQ|S3qY<8tQA)Cx@K|Etd zmM>f0=>$>sbI|sy$mp32)sZ=yQtxd~mjXBtU0}>?^4;n&CC%ijO$YaMc{@Ebz@q>G z4x}L_Y^wZw{3RL$6>g??mhoZa?KhXNd?u*xP8{x4J{1kxdo*_xfl6=5jyivL<94{B zX^ysSzHch4b+!2AE~1Vm7@TnFjQ5Y`4YRk$oNDi$qz@|bJ672WP?0j+Av9fjtQNR$ z*efPKxk#{Z0{LSTwGMQE;LKqE&B^sHDp?*fApXCn=Uq*5Q$p>&NV~oUb>3B!U|2*k`Kj!{k&xELgCM*Oi zp}AG-m-rX&3T|eLxlKd!13WA#=c(yYR>Z79EZ)0zXO1T zVov}sTZ|_m1`X@%Klbl=8j>ZzNmmbP zM3!r$K%?YtAEo?h-P1th^~p6UR4NTYvX?K7Z=bN3U-PEbe`IN>?r@`pn8DDvho!de zuYKYTYygj9+l7tMLNw6>HIrg}`3j3$6eKl9Q7~UGvOVCBJfZRlCGlZ!>w}72f@Dc{ z3M7kMNf%~EiTs5ogE-uTB=9;FFv6ZCKS4`e?5>Y(e|o;J@52D0<4BwKTc3Zq9nk-Y zU*m_E*l6WVYK`;gP-vvXT-J>uyvhB87K3@bMhQfYslvT#u}n5K0<{;n!x<85^y3&f zbq4zd>ZMQ2Ic(p{c#BhY3WY0@rid&$IXbeHbElCZPe#pu7|%X4d!@ZL)*VBq4_r## zP86lskeL4C2LIe2`JkTQvc0>9LN5K$H3g{YZ}~w)co>Lfbv(MI`E#2?lcor{BUMD#Xd0>IjyU~6bJqGB%^8Jfh5E~1&}$xZYT~^^v>;5l_p3TB zSqv14H7`gz1-d|C{8~ez<0qDG;zwf75P0wF2Y}ive2^u06)sz0qCTS1{THHAPKd|Z z_^1ky*2%9SEwJKF<&SqerG4!kXl;D_)q`m=#j+fm+3MhxT@T_=Y(u zQa6|tP=q3UctRMwNa%IeVQ9iK-y_LMK7NMasmxAbyEOxESZ07_>S{;#m4OVl#S9<) zva*Ds-QK~Wvc4VaA@@NKQ~!^KXvq@iQ97z@q1LU-~UJI7P2~D#UfDX!rAZ5<%g@7jAVIj z3}@_s7FxAvYXY?J%H)mV5yOe ze(QXUma`byps1Y0>(`;;AB(q)g2;|u_8Ws@tjcx+Iht0}AH*Opjw)*_s&lHhmu``Z zaRCrc_RJVhgg0iwdcK51B3CItFg?1|s9$fTD+*r8<#hWSa1|&5F_+AbRbf}bY2yg8 zOU)wG^la$du1^7IuF(gL#hsL-6BLc2qmWr2!B$ed*kn*Oh5L=Kjsq@*V>TYi7cw2xPl9x|c%6B|!&Nc(adT};J2lDfdVkX`+0#5}# zrG&xc$};u#l0HR(^e+`0L3!Kqn(8|%i{6bRUF>=!of7uumv&?0sjU(!xww6XqZt3{ z?H~=^J{v@cpBk=A>b0_wnXDv6?3@_b=yB&hlBX&!l>s!=RB=K|JlWcf4Gi2{M$|(C zU!`#B4%%=`yu*OFIt5@j6xt1SY7d2wWerxMlie@H$UIf9u)L%mud<7M?*$$w3x)Zg ziG`Hj7vuC7B-apr;x))Xz336)NxN7}_6VH2#O+bCma)FOI9w6PmdhCFdRZb@LRwKp z<&0}w8K0JSELUx9Xjh%*Ns=7@U++4IGyHU|B2jNqny1K+RH%7EO{-bw8`|tc|8D&; z{LQq(c4`FymFAcP8JTFBnL6q8+#ekD*yy4kaHfHO1?G`O3bp{#i{w#bVZ|c|VLAs_ zJhTF;r`pD-JT?XN@$RF~b1Qn1nIy={CdxUX=@V71x}FdM7T03*X}1*^4}47uu~*3n zj6v$}69}O?=Hp|7$ivI=6-0B*x15yRlYHR6@UTF9%$a+q3YGDX#BHB z%bot&qm|R7kY;ZJpQTvF4V$L~7b)`bxoqWIbuh|)G>5u=$;rvN5~_b-#s4VVkQIJ_ zlsu{=S6NXd3P>2Q`1-(OAi?*X`XtiV4>b75-2QLX`MaNx4Wfx1hK@=blrMleLzbch zX>?<>@8RjRWiCyi^-9;n3&>uO@3A4i35Q0N&Le>fk>9hL;?}yCM1`1<<7rw&3F;Xc z?waxh)4EHZmAoA!E?)_62~8)yk#HSsHNg4%$xzSNbLWqDb7Gdkm-p~r-;tI>RxKoH zX)>=?{CVr3_bhchu052`zPQ(BXpOLVvti&&zkhrjD0TMss>N>m?T4FbOnJ!zm3rs$%SU=AF_bcqL`(?INjI>tB%+>Vh9;)yTn3jqe4)0p?2Sp7*{fLUUx)sk>| zP@lXEw>K~{&snW7pH9_obT^4Y&we-BkK671f`OF%t9+*Pl#!+CNJw6|9$tUJd^>?h zUbqb?Er0EdXwSaRIgS+ zd7vx#113$CpdHudYOI$kZUK-T1Kpi#yPdGP@7EV*Q^_J|29eLR4Wg(W!*=kRsMjA? ztZU`#PqYRH1iP^4fWg(xLt|S&bj#ps!XR>?N=pR~R|*0hm2p z9Y%WK>>X+#v~ATziviW-5^!1B?1sOzTfN#F&Bfrb-_BYTmkZD`;7kU-$T(v31(zE) zD~hZ7NfD%T9T@b0VDe66I-CpqnK`wyj`lZWd8+#Gd+*HfBq|<<6Q2O{EJfRzI}?Q&Z4@bl-e-XH|{+42L~YGLGNo||KN<~e{A6W+y# z7rVK-;_7vD0+TFyt3^TPs&L{?vcuY_ z>W&zPWf7U%&0p({{Fhbp3v>{Z<5SWLvn&D=n%UUoyg6b5K5;o;%`nS6v2Y(V zYSK<(AZ}2ar!pPQi4r%t0EPgAWybR5dF7sTH z$x_|i+(ucCmYeH=Us{e+ml7Xig=W|VC~6-9r!A#UsuGO~(k@ZtKJe@jbuvM`z{U!- z3s-69n<6a7@OWG?f%CC4(T-k69oeVtS=#xe;k{uC_`HAk_WGFUB91k%Gf&5eRy!R>zQ%!15OvFLL8LSbNgTjE5gt)*U=r?N2T|eN(8EuU2M7 zt5M}SuI-`e=JL8><*NtEYua#2sMYQm8M5-0Hz5a9iaA+m1_o$xzyt}q@$R;EibM2N zFNT=9eO+iTH+iejxgK92Tz7j{ey{&0e)N}fn^Kdnfu3-Bk5o_$i2HlVi`&Jw&lzS3 zrvHW*dEG(q=j4YWzxq!~Ik4?GpX~-Q8g}tTzY3NLL)ZtW=W7E+6xBfp{hUHJ^`n}1 z>y!*{Oq3>=ZUq5SBQXVq=ni>7Wv2;)ep}!-5dyc5z+iTBlvdl241>~|uB66)dx=(z zHBC6kx<+_&$DjEV>Ey(0=4|;t?uuL`pTfw47aDGeN6~w2I~}#zI3FC6%^oru+6q)g zqwSk~7`k?2o8%FaPWY4QoX!KWmuWES;{*geWInzMNmy7|*}E*dE6HxHu@|VKIZ)tG zlh4iNy1PC)2Sw%RCTU1X;ThO9i@~X5(4T|{@s!C?%J&CQRH}dve5koMsd1Zz$!N|) zU|(l8T_I(TMB2?N5tb2a_%QbVgGX74${;AFKWSAWF_?seMA5nj?2?MwSn^878zb2$ zqy^Wmr;|p~<8jn^3>svOv4snNdLaJVc!x2*AKYyxK6XWGJ#F_Gdhii`$R#2i(K(8E zKU8|X9_#+Ak0NN_UJDIo`f@pnlk-s^Q>Mbm-4QAhqHe(4f0%xT+~v{tLkpP9#RJ3a zi{7=;$w?3j(c@}lL*&q(#H2fh{%o=I42Q_{jSN4L7n|6R?-}andv*B}*IQUmceKzZ zOZT;cBXBy!BJRP4{_({JMZ%XE4PCKNY*-Bu+W64UCcAJvMu1*Qac)wrF}rwYzKt-K zYgbq2_I(u1JFAa||3eEDnZr|(?rsapU9;&8VIljgF&ZwXOF?cO8B^0Y9|1Uti+otQS@ zrE=nB3ni$f=V{g|CGWU*?6rVW0udYgiA=vo14Tp!jWALs275ZDK92cnX*%rXW^Uo} z#HV~u&wHY3X#koa7Wnj3O>@<}XSNRCxU5unUA(qfI=l4OCHnJPc_LQXv7+v|l|AX5 zf8lq@j5+(>L1^YVA-rnZ)eRi48CT$(zOwEud2iSdiSdjUs*wy7Dc|oe#68%7Y_d5^ zt8KL}b!2zPohW7+ccu0wPN|#9wA%b%dsJ=3VdHl2PCSR?h3xbzy>Hk{QE( zd~Ww;%;`Gb;LdAJhAp+7*mnBMPE2Cf)A77g-C69JS{IC7wTeMw(e#kK=GZd;2Fn(U zEA9+fAD%NvCY=);Z?N9GaXI5_N+r~XnJ8cBi+GGdm*8M+0`fZXYbq?gXB6ihj-&hq z&9W79qk})nf-!j}i&l#T)CS!366V=K%rJer<-{Pr-kAw852qD07N>ol{9`{hQV~ZX zT=A!w$fXu4EUn+36SpP?fukY2KQB-8^UG|Wo(j24Y4ZkK^_aKfyJl58Esu~1@Bih? z3tC3!C>clOs%6}xb+62<%IY+EP2trq`t&-kDY zqVFZDE$)mp#Cn_0R3TYcMc2_1ThZ^|>A;9PIziOeY-zaipAfJ-84bIMl#}W%Ul|UB z3sD@ZG5E?0TC6A#^*u_gy+~0DQlmW;BxDf@awGsO`q3Q{VGjdSW$Z?6{Et7}Tn1%@ ze6jK`Q7JF6X*Fv;!fLx_?8L5p4QfpxD5(Gz3Ewj%Rj=*W3E%WVED{9hP0n9u+WF6= zUficx(0oER$}i z%q`27Z;aP~$)8cRoe5IBz^AJ;K`~3)tpRL=-TBILPRmotI@vSr^Cpj{Z6OCDL@Uq{ zOv)B!vn5zDbT<#TW;C7?JchR0V&#k3<)+u2p}>7j8Kab4#yMu!#kk3AmX7N(Cui&w z&8}p)i(|d&P>%rYc3&0lCfbtXPEwcB?8))Kb0XI-13;}+AC1ANcaz||tx0DTXGny_ zc%?Jj_QX#2Gc+j?;<6FT5oqrylyJpNsoG$Gg+6U5ZmaU>IkJE8TG3*zDutxVSCaU? zpMYec!<8|bX}rcXnpMe@+=SY9XvvbP%^#x%$s_Dlg&6ueXL-yf52%+#*M;V~x`3ft znVv6v{Gcw08itVmU)K$I4V%=|(Cm?FnP~!>^x%FAFO*@xTHA=z^y2*YD&oH`PDc?> zX_^BI3GMCoCS!T9PB6wa@n-K8eUs8r!-%n{xcS6QqUMOL7F$H~K`@PP~XTgbR&7Q3Adsmhd%3aEF92wQpWATyKNhE zq0%1e=9FthfXjW2^Tw6?VN{NiOWc$b+RZ;Vtk~vTBV>Y)}>ZY#zk>y zVWO%+WONRiM4E{=WAKFvNevrzYKrwq8#lD82O{t7Jd#~9Pw=CFmq^L5q%zT%K_;j| z)0bqSJV7F^T2$l0zmJ)p=Z%#=-`jP4M@P~id7D)OF+yVKKpl}UsRx`1SH%EJwY9i{NJnkPeApJ1>(c6hHx1m`C7jWqO$SY0Alf;y! z!a1m%7l#;p-@Xflf{rs$tHY#HE-HtEQR0q=n_j2mF^9L5U$|D4>jh(*2g{(LMOdPU z*}$FCNeG}DLj~ip2Yzej8KJZ%t&ea@++8)^oo=bj2>6`t$vBOiB#b12;I~|2b<+=W z0GL}U){1QN^*b7Rl%X_M7tGt{rQ)?t?| z)k4%C$H87AhNkeU_j994h^ZiKaeTbKC!3t{Yy*kO=xxjg0q`v9Xc{fOp~1~%z!aat z2MLTDjq_X*B!=Z=vbKT5ET#>z$|4S8krZL*I2F(Emdr9u%T(JDov!+3k9ji0qtrNG z`1RC1k84k8vJ~1@2y~LT8WQrNP;W@JKZI35{Wx7|!H(&-6o~4#uV=w&x5ze@e*vqN zABz=mD8ax}cU1ppDfX9b{P%w)syQOmy@nEt$a$ALl#--m>=#Hpouk%^Q2H=sT z&AyH3c;)qq`dRUCwIi&R#$*7PaY5iyM4xEjDU zyzhptT$aLDdSL_;w6E|uDEMBB-X(fEXPcNA#5a-zv(Q*Whoxi-vkx^G{(j8;`{R4Q z0-NX~*d%@C`yr8(2VQrvD%|Zc?A7D`QI5L{X+x}eua>Tom`z3~@>WV|ypUrnHwkm1 z=sd5h89z$sOc%C)A5G!^PP(u5EibEJH_e+DzlGDhi%b$mgZY1Z>wB;iQ2o~4h!1~% zBVQ!!^|^=0V41WPXbVPK#|pbesyZkL?>j(akJ1K5;e^zfeogq_R);4vGW30pa#COO zRpLL^k`}ZVDAtKIvA+g5A>}PyVOkS#zdl2O`~ANEzAC@}h138X^|jTy%EU3K99tkM7R0&xxIOe;X#urlZ+3zy@6v7 zKN%iDX0J@ElMc#*?CZVpti@nh_L13Mu)Ws(hU0W^elK-bdN)<{{_m^Am+%~Pd~Ee@ z30%Mb>Gx&&y_8@>n*yE_N|S>T?Qrv_gj+oFV1nTj;Ni}`oRX5Fc6xrG-$B$G%I$Or ztz4)z$hhRAYtvlAta5Yn#HV1;BHw1Zzivm z%<5T{{tbC@A|F(&c1`U7N-Z@Q7y~^UPu)9a!#ZUad}Ajtr=cW|9)yjQAD-B)a{b2nUbfWlNm0x z1%);@EZZT`sj?BMvsemNY_tEEPAyNnX(>*_WL|VbrIl0YZb3>Pue||QfLE@>nd5sj=`io+b9b}nfytl;4Fv^NX4BObMP0t+9q0%I zw!RO1G{Y2LEy57PzW{h|6Buz9fsA`hX(o^cFn&6mF7^SCF|Zr258zMg4?Nz^qE`2i$T3Sbt-dg{NrktZ6o-#~b=qA$xjtVCIS0d)lR6<0 z+;`h;5q2s8J;q?b*=4oQ;p*mAjuNn*!0m$meGfd$SsK+P(QxFd;{eBa_oM0ljvxs< z=iww!$jQHaJJ4j3H2!C?T^#GVb;qN3V8C8pB|xY;)B(N<1PMI2zQFp;$h zi5042XOb0VZ&>b$!cng@Yg>`<_-1yb(SdbyZ)$UZ7=>Z0b3(JGF@ML8DL?~kr1UKORu zuEhQ8OeTB;E66O@4LBID2WyLVp0ZBX^Kg{31r}z0ksCD;O}bVE2R$^s+;K;> zUR2JxLvj*@N|moWVy#IlqvWmg^V99Q3|vX^ly%eAsODFS>5A}-Z{m^7o2T1Hi(fr| zI~GygdLWeQ(R1xgHFtAH2)%cMmMxb#W-6ABtAU@Jh3KqBh5f!3S;@tV-`h$hgEMR$ z*?tgfW-@&yj;~80yNs|rGqV8$IoD?|1%bdMZYe2@+74kd3Lx*s#p|E<5)-PAevJ4n z(eDbG*3PIOzUIwi1e&;*RcvMxP?h*%-}f^h&W1R@`vV@*76rAQRg>p^K=jAuxm+i~ zBWiyq32XY&N-H9q)lzH6^`&!}4Qj^whj9Eud!p=)`(Ku9#Nb8{tPVqc$&p_Poz}ct z_QmB%S@{MnviR-wg&j1Sjdtxp&yKJrPwqB^8(*ff>*2Q=P9*RM z6dG*oM^#&PmEu;Y{-&L-2^evYC0e7`$sIP@ys8~Uja zI+1Qc#M6JB<$OITh$7MJqTHlRQNF0Vsd6KmEYpSzM~cf4;G|kST#@KVA|WrxDn%80 z#w3@4))mv}X>ZUONKw!BL&_quIIBGcHAOL@`d14NvjNV>uRD{c9r>-HOSU zN^fap8yO*#xAWEU!{^{|Q1=%MRHb)dIb80|OjJwY$O;J7tkDPUBL|h}?R#$p|5O%f za1z**`HFWjh!A%j?+rh=i+eeW1pB@79$l*7kF`Vy@D9YHC@T!J z)vzxC3%S?u`uyPSbVa_jpMjBb8%(Z>xwznG08m%iBDE)hJQLgXfmfWJqJkK;2L^aZ zG~xE53Es3>^CV)~f{*Kb!_)A8-HaAIs6vXp(M&6&nn6zaBZ7=ABYP{x-Q5s92kXqf zx+cvi=d7F1jQxCNc8RSgzLo_z=Q(qwYO->Fjch{OqvZ;%s&O6Y}3j~1kBm&?|5*kkIH8Ds?g7d!l6I; zPDFSXadJn#VCy&B+kaGxnTgTU`PTseq0ZTvsx2+&*PU*Sl|A*^#-jqQ`c!4^#k@B2@L!r%%YKX72lx9@R29NjI;)+UPapE!8a{9H+~y?kA)5tvi4 z8?1^u?!3_)OG|D7NpQrr{g@>2dw54TI^z}{+kFf-4r>ADc;)KKW>I1Wkply-9ff}! z5iy#E+6p5mE))2@)0_ zE;5(!nwL8xFz^&c&`Rfa6Q{#KM{i zY`m>z0`GU5d&Q;HiOrwY9a)0>K-Dys#nIR1s5|LEp-u(3o8GuD{wzBVA|Sx{T0@(^ zqGA7{pP#@c(fV35=1X_7U2d2lw4+5*QNj{vu5fZ8R&9dwu{R?r9VG!-4U^q0sczqg zY|3L$c}C~I$y|9Rzeq`=OOWMPTzxU0Ic2ov?8vJ&dS)-qj*7S86HN=>vM>*yVmA%X z1{|}b@p(UWqTGGpxq0*jj1*v0Pz|U{`xF}naCzGZ;uwuyMVX9-$<|v9=c<$UDBh6O z*)`r5c(>12)aBAe2-U_oJO#8t@v{#weUdTWH%S&!Z)Or zPA?1PB?%5pbTz=n%=e!B2d8aCb8)K%Ym;afkqv|PbOv#a)6pY-#jJ^!n^IB2Qt?ai zlo10Z<}M&WXwY(4v+f-}a%U@*3$rQ95xokie3_uo^`;^_r?Q3kRUO>aSI8~Y2rNe~ zFrJ`M`iF)NOS?I~`WpuL=ba)&bb;wO+l*tJ%!G59EDhYKZY{fs=?z)>^Dh@n0{4=* zKahKo&5QF4U+*Lu#TgB2I71LESwr+Qsa1l?=z@Gq(NPnDXu>*LByBWa>yxT}CljrK z4?ZDQH)Gs&pBc(kuV?I-nvadSUVv0 z9AHT1v^)7AXnFv)^YH>LZ<)9fijAE#MXurWZ&FdFD)2J>FQpkvGTO!xR)rdOau`oDbKKilx1FN#0&jU@B8Z?0Hbll~C@ahZR0ZoCCs zH(K{J_}U#SmxZ7?^TB2fRU2bx@vt(z;R5Zki6(pqJ})q#s3hJVu|EC&?1j1m=7U-# zzi7octR$G~_e9Bstt}~*!jty4{Y+gbsa`SsIyXJEve>L{UX(>s=LSPBU9VSOK6UFy z5V*W#pS&}W%QBhv?voPFuJ8?V1Ep7NT50T-bQ_6P7@L(|nOwHdGUllr``*T+Hh{?!zdW`&hUYVteIEM4SnoUwL&P+)H^9Wu zn#9mQUA98(!Jog0K>!pW49!tW`s`jWvm?@6J8>`H4tgL--&x^Fc-%_eS%tBRIF}VD z^RtI;w|I9~9xQLj?}&yUjlPU6btMQ+tWG7#C^P-xoqEBjJJ+Ryi%{(^5|Z>q9>o&1 zGhXa0zE0=yGH)C5!>^`H1hIwlXSt6I#|)nq>n4fBvr4duCfy!!9Ii?3Eq5TFH{W-} z=*%&6*z?g_oH55dJ>8;RG7{bLdeDCN-Kex8wY(&b+EgvZiCpHhV93pJr+fmt#{&8R-b;z7Q-I&Qj;rb`BZWzn4tzehpwDMn|~(u_>uh9J9awN6Mh z`;eAbAv=(x{B(3s%~icZ7*wl+*|h|~xf!a?RXiR{l>ha>>JS&%@2G9hHxd9~^f_fN z84OwX>14joSADMbd8MHz$jlv1e8` z>BnF6yWwV_;L#9Z64GCW*AduI>jn0jFPjC?Xh|9l0>Horo4Eom5JFE)!{{E z3U8blZ3p56-rgE*_!NGi6yD)_#%5o#Q!U`8nex__VxGz89oA z((DEW(^AZJBLYKUNcPfXG2jYem&EPz>69cGVT(K=LP{4;#8!$^y1o+884zzbEHUUT z+OOTi8umgGJrndtPodt{W5OlKJDHe;xj4vS5HP6rU)>)X5gBg+!G;(V* zvy~VrBCXeeNQl+NlqPCd1d{%|+iE(ota3|=P}d%nbpTtiC}nzr7HyUSZ@c2h=%LmU zRdDW?-T((8x zdg<1V-gqLOgQNRL|M+?bO-!VXAKOUY#Y*}T@9fyYGn}@`*}B$mB4bgMZsN;IgBqkm zfgp%&sm zZMWKLRt*DACW-6YXs&V@*UOg*^&{#0hdIP{lsIGg-!}J@*$T>E--NnbYc#q`1@zcI zO$4Yf+mz6oF)JhGW0*KI=%-9IQSb7pmV|ZFqC_hLf0eFD=C=FTqC%O z#|YicaX*#6G#ig@)FF!MV?&_TV%tkM)d<99eljNDPOg%a-1G+RrbcdqtKZU-Tbs?x z-=vXchvVjZ`-&$iA^{8ttb&IGcmaV@L0Sc-DTmGKQveXX2NbYHz+3yCBH*(RxSUJ* zm2>=2REmUQ2hPXqDTx%y`D%u?HXN1{MfcID6!`Mh%IRIt-@VYN8puw>0Q(=T4=B({ z6Y5vRrJ!4k(`18)pTmYy3{nSgy}*)N2nk?4DQ9a;m))=_F+5d}6)WJdO%G?5H`&o4 z-tg`b+73}f(!|fv$iCrK4SGUl7jiOX0Xa>4Ccg?wiWT6B0YFut_wa(Ajff;&FIlTaH+jB|l^TAlvMd zDmpm+ZexgS#Bu_2y3$+-Wgb12#gLIF`I>ios#r5KTI%x)EWqyAS--kDBz*Ciz!P~c zW1v95DDdE}N!RE*hPH0!_lt=VClZhZd|!K1=607UB#Kz*iFz$#Q{PVG4`8K?m^KdUv8z6)Luc=Sbb(z+vK>ciP?@odEUjH&*dwN|A) zvs#5Yf@Lz}RHsmaB0jhC$Li9rrXnv)r*pd|{Z?9$CmhaYj&~GxTH(6}Qw6`69n8dX zSgJ>w0lo*R0u+dnYXJaTl)$dt`Q@bvIl3;9@drrI&toco4Imt1aJ#gHe*9P;guJo6 z`*9B&Ff-FcLKX|0txAoDzrG##;swWF9LDKjK@-!le7Kj$=K1{c>Y-f>JSqU=Tht+S ze5HD~w~#kq@1YZe>yWc6hbeWRR+U%f=a^Rq@8b?UfSGEVC5vf$L>qGel}NBFhj=#| znM4>DEUB~DUd2kW^^zPi6RB46Sy7MXPmdl}9kw z2luSAVW`#=mocr(#Im;onEcX3u;&Xa(rWFlQ!kiwzvVo@ygGSqYqo68xi=Mc$ayL9 zmDrtr2RpLmdhbkM^em^M!p2Bqt3_bUvVC_a+RzpnPd~}2Br~8#Axq+4dljU<2!PSx ztY#86B7vtFWN7;X*`t?E;_?G@xSlvB5#ASJrOHeFuk#$mGVMTw2#U8qs!*Rsb+KLd zo2U3JP>p6cymh=q1gmsfU+t)s3f^Cx?Qyb~VG0Av%Ew^Mx$ox;x6<~s+Lv&w3eYhC z$xL%kdyYu{G*>#_9#1yM7E8VMlNX=LKU!SC=`S{oLB0IozxOc+kK>FA)^4B%C#=Zhsf>pHuWo_oG zwq7B;y9))b$1i|;J+^ohRmNQiNC|>RrBPGhT=ZuuV5^vjitMUZzU4KfwSCJltdj_h z4DWS*GA{XjlC|LF6KHD#u@C)^Zo51A!|LJ)ePl_42FULU(uOX%2Et?m*C}u7O@8#% z`*5WCu|EL)C+d&F2!_~cOYex0G#=8 z`fN6l=t$x@M09Az834nT1qNj4iqaHozz`arlIz{xoF*uf)Od@mFpCt1zPgRl>vP0h)+T{ik)-W8`#S+HuIg=vC2IOvTr13y3&UR<3%LMW}jFY<-KNL0X+h>t)X~FUjQmDAMvAwkP0WkGV zI6;hCM-q2!!O>&Tr+BtgYnp*t%z0dr+ygF3e2Soyr1Lf;qH$YF^cRRPqgtEX8b`4zLh?Kv1x43jbc z^94`k*O{wx3OyD8YX~BSZF_vXpjQB9V2SQu1;ywz8eCO{)G6POn~w0W

hbrP1#H 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

^wqg)d`R4@E`COTK5UdX%U}S1cKdPR4qQ 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%0DSb$jh`N+KKgin#k1u12GVdBB~No~psACD1+U zWqfJKT6DbsUbcpQm}78>YEAy}V?okKpK3eT-%q9GC&VmPaJi?nQ<(iMjJTFr24l$* z)OKb6AeP`P*y;pM)KI7paf!?}tw-|XBnu{9zv1Hn+tLP<$sGP;c$Y{MVL>a79W13H z1CQRci~b%KY7a%3xlc7IF82SUD*R2P0aammlf}3(My^j{(^!eBF0GW`dTi2!iL<;` zk;w$PG8WMD^>CCuLMGty2i-!nK#u~pra%>s@>eg$9gwmQLRvYmRZ!5J(LHiv*mowo zqyM%}99b~W1TVlO_T-RsOl7>U(;HTFGJp~p899;yRF6LohL%fJh;cHR4&#s+ea9az zG)&uKj+|x7|QEcY8`W$?rE*{B}=>ALA093&babvHssQ-;gY;&zWzi z6s1;Jmg3uq2qX`s5@*Xu>if>Usqv9L*c?sHBM|F8qgh06kJLPPn>V#F{qfz6uS?io618gTb7je0jCE{4fq6PjTf(R+!V%FTMF=x6M!@Keh`3KSavTi!#ht1nx2rMgt7woCieayzEB+oL+a%+#goO+Rhe z{JwEKmG$oGM8RvKtg-PT207!a`jBAGyi&{90Og>M&V_BIg|`R)8CJ;i@k;Xd(Vo)& zXCpZGvlml?>aI0C3f z`f})%35WA>@XgUlWOECUJL92-XkN&-(@?xi>5UJbA2HDA+1aFi1uz%&#e$=#G9@0n zbw5gm;i%N>uTiiV)CxC*xwX%ph$&bxge3%V(+j12*xA~82l%&syIqu6{MKw`N?d3|P<-Yyrqfa_i_li?ZyXwhCa#>;g==HjD=^qV(N)!#X&2-{ip*HGW zY@?RWl7K4z$p^`u*C*@oOgzx*rMtn1aT#!#GvX(@k>5(wc{ zA&G^DvWUu=V`#3o8_ChiFO9;-z=daJ=$A3h{zT?>gZyqN>r%Pj7RG7PT^SZHS zBd$Frq3iuEE8F_M&vDxuYx_r*j-+0P#-2MmYnSJt+#H`UzdR?TWJB)7Fp@}mG^Mrg zU}kIChQv4)cI_(w)%*~=Dfltz7v4Y7hlw|j$%6Kwg*AU)h7f3n1|-Z*&dyi!YC2-V zi1ZZCPxI)~I9cs9xFf06e1Lc~U8*=UuyU)v{y3fB;oBCF31Y5qPLx|`^MOL^D>lWO zq@LQIkMyTc$wN3D_q{$;ur~+c8OO}7tU$vkJ)vPxYT~3w9Z`&Aweveig2O;>nlxG$ zsc(ELIN8>xYXw-w=5$_InzSTMnztC(!F^X5ledd4-Gj4lUW?is7Gt%#L(Lunb^&?K zYE^kil-p{x!hC-Hep&xuLr(4kbyMB-_1Fl*>)2`s#a(2+a;s-4@JhN<$uiAO`ba0G zx`P}4d)U~csfC$$&pC0E7M=YE!bY>da9>L?^VES(lI*Pc%kgln0JT^K9_~khVdQ(Ly35JUTizVLfvV+6lVF7Q z)(b39!GUxsa&su(g(fMvi*mc&9`9o+aNOw`jZaD}K^Yqg5tz2@jaun++BrzcDTc{0 zVtT_1X(LERC)sYh@_e#71&cvYkKPjVb^G1d=X6$ki>=Et{BPKAf83aTgQw)Q?|lp5 z?dV>}KT9t}=zULUWUz;Y3KU&19bH{u@<#;v_kndM(@*>tGx4Xfgq1N$(2|6 zvQQXhXbvEV?_Vi09opQk|fxispm=#mD^mANRJm-6lyHxnY99+ts=@?!(vl1iSL>JLmosib+W%D*qN(Bs>1b+hYf)AEtQlZcY5v0i9;n^WS z%^Q4Bt;Tk{XYOkl&G?n8Qp|briW*dy{P0asYrW;icaWNfBxw^}JP1L~SgU>xC10YG z^W%4fpU#Z?{Zmu@r;A^wyNQ8HF*rK-21qXZjk8M*e?E+E%Kl=q%p{B4qCSu_RX#uv z`u^Ti$gKeyl_dI|{dIa8x&{W$*T;bpNW8 ztx`NG(zhet$of+KjM;17B-4{VEosK$WuFD$XtIx-30@!@>9DR31=UNEe7j5YmTLOt zOOD8k0!$AFrXv4Eo2Gd2FUDb~|KaX_6L-IQ1n>kx6!JB0lAeG2>Db=g^AmeBQlT8A zrUwce@g$o-U86x|k}Fw3f(_{-&uhi!7Nw)Rvge#>GKQ zTo*=SpQ^_;j%HS^nT==8srK>|=OE-|3k}}=##ja6BsBw-J_uHxaN%{KPn$Jy?H$DmmvJ?Ro zvVB+w+pFJn;NXhcT7)tqMc)HwH%^$Zs_*6kKp8lY8U43gDS(`saSnzVAE?xFZ z5!dQi#OQYSXG=EtPOUhP{Dn=pH8#6}8R^s=G6wp;VdKw`o@WCjw8##JEOdVe8Qh7* z2$`7Bc7hpR_h6nFoX)<0$O3Pd6FF3(^Gz+GKZ*UD-DQ8ZZ7t=ie-O!!FB|iz4O&G` z;%hfBlhh3Pk+~2UkjYSh2Yk}(+^`>8lepYzkqMUDR!yMBR#`;4dNMUWd`?y`8d++} zOumTn-u6%zOOn*>fa4|G4#$eep`p_BHU=zQSpAT^^U}D$`-LW}^iHKGZW!^c<>!J) z+xiNa5t`%!lv3>k>|%)~{T&$r&rE{&p{SoLw>vnMqIb5FUWpu`zU6CSSW_1fYR>Ad z2lY(grD48))zQ?B#a+ocGZO|mFlYHx*(aGMgZi;UxqBijh&Ce#%FdR~DlFHdRiN46 z@~>dhJ@%?Cco*Y*;Qv~izgL1c;Yi8SUN@A?VoS=&Onjtqyb$2kga?(BW^w|;tWF$v z#G3HTXZ8e+qDm76r!)sxGaH3jZyj?TT95--^2S!^5w7e+NzD?!#X zJb}fMr`9VUb@6LN1<7;bndX>C! zZZ7(5z&$~Bdc0PJRoZ0z167wrFN`oxHQD?0YTuPl)v9g0Fua7U6aub}(M*5eSR(oT zBlGj;9D{kcVW`5twdBZGAp%7&1~Ey-iaNY??xz!dg*2GR%Mz4Mk8{S?!{vu)80TdO z5i+Ea(v-YVIOQ=}{s`QNM4b7pu59Ze*S&{N$VlsC?`awNsVmabNZDI9a&t}m$za+z!tZ@ZCTEVToF4aSWdugAM+)w|Ds?I)10eR*8 zRMQ=yRiEozwP@;n)akNtr3leg?>^D=R*DCgv@)6HPA3NP&T;=Ex|NsLQQ0tg2xkv; z7G6=_g=DWn)(Eb+>SnAEHEr5ttY@94?a@7#SLC(~%wk`kRdJr5+9QhK`k%CQxgXKM z=l!qwb=SiSu#0&%9<;`$GaVX#hxun$k3nG8-^(=%(^5rDRtggXh*_*dm6qksnKm2P z{`sxo+I28BZ~g$=;_fxe;|{}{_^RQ?Lk=9ztJsH1p0t%sw1>>>c1_N>ca?Y2H%ijP zCC#a?|5?AkI}@NcLV~Mtd<5LARsq*gAEEBOvI^Ge+0SvG?R81(xz4cDl4mRiZrD=Y zht<@ap;P0$#4W+=&AV%_dMy+B?~(s$0p_@2nsyUJ_k6B>JJ>=&ZeZ&=(PffcZF^d= zBV=D;iZ8nU?2Do>sBc^(y1ka{)$!1%0-zVRf5pL$v{?d#omSDJN?5c(lo zQg~p#6-wu$Qzz4}`c@jsUS4@(P=*9*hZwvHtY3iwni$Kdf~SMgRtG8^k>}-udMjB+ zkDXCv-*iqwf-SL{CY-dW*$1-1XwyqFoGVoRg_!cjSybs}vO9-ZKO0n4N`XX4&pG z!Ovf&D&mf8`fpYxz&UYAbI6~?$Mn9!?x_1((rt=t(wX!B-T^z1o1X~U1jX;D{tUFp zD`7{N5NrMOE}B!i>w7pz@4tErGqtcHV~5faHcUqN-=-0x8yq$h_&0rPQ6)a6h;0_l z*6P!onOT|D?w-HbYO4&`qMG&OLSf<&HkJ1YZY&X!LDkh2M6}EQh@UB&$^>jq`YJ*= z-HW8kluw_2$#QTYkF`Fpl~xIf*Svk8`y@$yP{T;l5x_2tutg)D&ATfkH0#j#Fre&# z*Qqq0<41&M;0ahVCb=Sn%hbnYLrc>T-ak!G_ukZ(yM3$0$s;f)ljI4Ju%Ky3p|A6B zg+-IpiqU=qIay%>s`WyG*5cHX1R^LY{BGFEB}b`VKf~MERy~x(0!dYLzTz<-{{PI+s*OZCN!H(O!Pf!vwWncJ_L>>&eCm^IQKk zbNXjP{;&{p*Z@52AU;Lm@o_pOy|b5ETfdwmd1a>H>-^4r3wO6?Gy2d* zoHS#JK`V`tJ^^Z1XzoZV6^^wOpu5pipBRK`ELH#UJ_6>pDseycxlRy9@!7>9q_1R` zW605kd7Uk0+3Db9?RY}O7g-rro)=&#nh@t_Mt&WAy6xV-Rmgvfl&+KF?qgSYb%XKK z?O)#H8!UhA{Y;ahb`OwbCba#HQdAsph%oe7(` zEs2_}p3nDUn!y|#3g1UvN_j2X1j&7Hd+r`kH)2WICsah#w>C#NROjphwx(-ajT{@ac0Yb;07|b968bZ5%$5(@zzBK!I&dhOH>m z3uW;#qg%E-yh6vT>Rczk9Cfs{nt_=|z!`Egkb{4Scs?DfCtdSGQ8n-5LVO^!*Sc`C zKv3poB?i)YQX`Wow{1ea)>-Syaj`9zqw|52X%_z*f{x2uHJ8?~>$0S=KyO>8mN0$m znn3F}-200Jd0^}XL96phtyiMgFMfHcvAzIDGhrsTY?d;XO8hQ+#7ahR8W2$394=AN zDJhjSB8RIQJcr)0c!K6kA(9}g?7PfS{!Fh?=Tn^Y#p7^vHG=$$_!pW=h#@~DAQ^TY z0{pa616kyR#vfplv{rGBUI~y4=O%sBE?r}_!oZ{@`zUqWRLFoJ8Ou?0G(KV46|es- zzE-u$`mr89t#ljTJsA$P2LC?6=IE+(0cy=R8o9WuZ6|h9DI(pZ0`E8{DA$9~3OB!F zJPAE%0hMHx9ND+I6*+6rWke_-)G>ZlT#nW4@0n#`aed>TYR-tCJSC|fS!LYp{tqbm zkG}^%=_+!>?){CE079y`VD;!L0z^v~B<{IMTLNgK{vjRrKngjNi6A3GA1+-2M)@$F z_d~P0oXZ9~>TTi4>2#Au=FHV7$Z@?vbIw!J@4QAT#BIk8O3#92$X8_yJ|$Bc`|{@n z_tAkS3X$7mxkI}YrN$PQV?IkrzgT>*$6e!j&!!j>YB^C|XaF45gSK!V0 zz!Cg{%GsXii?VGWAMKxS<%`sjNGeU77}2PxLK|d#wY<1TsCyljx2RTAJ#kID6v8Nq zB_skY>~sg%*0>$SQmI6~pAL=B8KkAmVV_^*m6Jgdnz_f-1f9MbyaM=|;rLi)^U;d! z8rFndwVzLl^65zM5(DuQdMCs^su=zD#nY#Q&h(h5G+GA-HF*NE?RIhz2c48upCwox zbq*)?K1Q-n|2&?tb4r`x`-sC7FIC`??*5qzUAfk$-C|>$=#1|8%^lMz6EciYI8Fd3 z_iLVqqPCTE=N7Jk=2HLXga6}ttL#;^C8e6lZ*XH9SnHqqAtch~c5jPy2sJhN>}=q@ zggicbvPat#%U)OB-!>ja7ACA+;fp~{MEZP!k7acAktyQpxD0}pSOyaj(2ji#X?V!( ze3Qy$(mUjqvf@D)?zn|Vm4F#ptYn7Z529y{zagKxbsEZOL93EXXT3F z4A+6Gb1kuckyJY4m%8T_WW?ynSNuZqoziFTPn3WLR?cZJT{fYIuABKFk{*&Xw99Cu zz~1=y(W(!nm#Q*>PSsHCk?TjPVl>EyDsD;-W4TjYu5by6LdPl+erT@n$?Qy+)d?vH zuixh`IvZ9BbaxlBwTlmyRf~fY$7}n;T9&4}nQT&iK1wM<@Wi8B4c!0aff?XPA3d4@ zQ@`O5i!RMGbo_-Zf_+cg{f1%8JeSrh{j5qDr#F=!H_}OWgdQspdbp zl(6NhOkq~&3(+sEH)aomsza8@D-4<}X|}lc!eywcO@>FMBZR(f5>H)O+U2*4>_&!A zZ2{Cg|D{P@K`y{WrSIYEb~W)OalMr5!ExZ0P%n*(!=s<7^ACSgoEbi#3G*)#MNZ^C zBrbnIw&D->fONsCRw%Y;$$qfDo)CAQi|Hv0Yt0yCT=z}wAh~Qz&((1e zwAos%@Nq)?81%Y9ErGuIpHR+hs`lo~56_SiTrZCCTFeWpv(;-Ra=R7x+viFrU2qXF zsCoP_Xn+_*G$`)6i6;$azajzfa>sth4IAWt6uE!;6|j(o;E}>Nd@aPZh9+dk8jaK4 z0Cu@<%A86PcqR@sCHXXpE79%i2>5vrSDEvt!sGnL0Ay*JYkg);iNvfwyA}ASu!W%E z6LW-Ep9b;I_U1pKY?8>9O^M{TiRBs3qIlhLVKjyhG`X5TG`VyF-$M}X=wQ7Ab%tuf zgZ<^xJVF12HPcbr`uA87&)$Gu1(Xc@4E0>d-u(8#;UdK0_N&8=#jL{4GGjf@1%v1W zgXmA|fo0sHz4|b7d9itEwzni{yjpcQ(F+l8 zv{6#RLB{9s0n<>D_`H!LtBg-4opxUtjh4L1LqI^_11*pC!gNaJmzRBOE-yygFn1X# zb?v~?+WMNxQq@K64ItUI&J4Y- z*!|Lf%W3cKhhI$&=!wOA^5<2Ih$lW&KteM~f3`Rf@Jt6S4zMUxI$m(fyu0dgU>TK5 z@IOrsguX}GIhIcq6zHP~t7~s?--iT{tYkmX)p5Ed-bFp12nFL$Om1t%aQUUyfq|j_ zI%qTo7%I7J9x$ww&T2`*$A=G^vO4@(>+Z$TEXvwQ@zt#I-Vk|IRMf304;0P)m41bC zs|=Bf7$_LF^ukZ6IRH0p(0HWi-UnvWW-u^4hq(CcXf{Zxa%a7C(g2q@I;0$qukkMA z69<@hqjW^P&wY9J;PdCtOT&d}AS)wYa^BQ8Sp-J$)D`Ho7p2dA^v374vtuzbHXbiW z2fLx0!NC7$dT#C=nP{X2C_Fm4INdA`Qr!2WZDwt{yDizsb9vnDy2o~{@cySeV~0Vu z*M&y@i4k|+)+$9H3-RN2i8W1Uzk6tV`&g_0Q}Rer3cka_cE#3MKNElR-S;IfzB~fZ zlyyKfLNSuDU{H^Fy2%&H_i`pNd`n)zY|qrn>18BU3B4yy_L<^`N}JzJi8;Z|+IzlQ z@{mtc3Q8|4`2X1qA-yhVUu)*lb0y=dAA+#F_LCB>m==XU4ZMEuv9~X$ro9OUhyxGS zN41*$u_Ke;y?d8Vdxs@avk986T2T@>H#0kX3sMrxW(^OTWj5u%Zpe2!ws^?xGFBj# zl!rzee_RntEc9iw`jmQC+Z0k=WY8~i_|#}f!cQ%wCtZ>Ruk%WAwY|L^`LyJmIDYtx z<>NbuSZ)xK7fV8n48!p>?T>6IXS{*CCBDFNgEl~q_zN&zbFeCR0&M2#2)8({r^RE)&XLI zUcc+k6%ygYH*g}^m74`5UC$p}XQ&QP9is7vJG@dPRXHaDdc8T$#z4*u>56tP81YB? z_X$C#!$esAq5{zW6pYNkULPsu1EWOtg%MwSGj&+&i)u%xRXMz#s&!W=Gb57AQ6d{J z7cwBC2yGK0{(_YX44cx{>!NujFb^nBQ)uO}c>Fsbg_NO@-Z+~RD*0Uh664Vs(5aI7 z(^6Irjk0?7qb#o@^QCV@<1`dO{syKt=%=Cm?nxA@KH@xvAM0-4%9g$zz?&-#k`2vQ>%bEw-p?ok>fy{Rdn zmJfXRMK=)c>0KzxeeC+nc#lJe1n;}B_HK*r-OKx1v5p(8i}9z`-w>wT4--ENvht4y zd4?5u1`lZph2um(+oRGe$YZ4Y)*jCstzMo$nVsmj(MdVPnBd;_1U(qN(TRVWw3g+f z*Z&P^2HpA+5(__SFpB1TyeZhy=1*_%36nlbsn2j_5p%Kc;1EWs4Uz8NJ>Ry- z*eZv8USLVVh#J~b<`ZBCr8~mp_`2gcbs{56Cmawok!GHPfmUdPsJniN*w!?}h0tmr zqo>5tf}JeMcd}CkatT(!iQYyP(6+&5F(Xt_3BB~;pA548eWO3_na~gxt1t9vZfwMl znUl*!ox-Gx|mX29vtbQBjlRj>Z10%GK>@hu!c{ zD!BJP>f_%9YmMfSJZv6u!%m>7KZ4vGp{M$1IeAWQ^Sk-tXopTn+Su6K&-2HSR(!eV zPKq5TzGrJ?#l+gtSImE-qe#CO@x*rN+s&DX5jH79=ID2K|NWXkIJ$H)!6AFezc1h2 zAHL(vN%DnvKKIYfk@n`q7_QDV=BOv_w`^Uy~FM{2fZ+~1WBa(&EE%|eg{y)Fs!3&Gij~wUs zYCoj?cu%hq?ZfUU#i7GX5FTDd8$@$ay>Js&XhE8@mfZo{V&BO$Mw-<;eraNlIqzb5rYa714wz(2{Owfj`SswOhh1XIU z8(NOWj2*c#nu%+U5^dW{^j5(hJVffQ6|zbF`{ao{8|YI9d|wWSce;Mub*+%bA%S-U z1{lcX+tot9KPBr1qrrW4m1 z2iBd0Hyd&Vnoq)hp7EcrO7U@RVq|vVe8-QsqVXE0;_&j`wkEj!4w9+<6Fg&LOC2ft zL5`7nh3k*x=85o-bC>qTo}vD9*4$2kbZv#0fD?KpEj#U3!|U6tR`WJk*v~;;2+2Pl z&+;CV>GvBCUfhW`Wb5L)3C{sJI$n~7w{!~db;CI4Ks2*oX~+4yb-{b^335erJWW%) zZ@C$_)AgN-kc(g@yc^-){dGe_0)ZRh$EzY7L@3hxet)Kk_a=O_{M4d*d(pj?pjM}; zXgJNDZju#EcH&tL%=M(~e-F~t^IL@Q0Hnyv$476_M_xD~tF+tP*f_P&`N7PRaq^ko z$?EdzLU{%V3^co9S?~1581&lu`1v&ezu5x@hK5rsO1VP+7*=W(!Wz%Kp!T27{m*Im z=lFe5OVsO0(i<(w8Qx^fvG0y!_s)<`d%yqwaAUloC;98LYH#_$u9_A2lfvsg_{l3T zusy7s@EmqH|MxR!sKRvgX{vVnWnJGz*EZCzkF`)(APDw&?s11mz1m4gM5G?bH<2JO zcg_zdwLsyKLa7N}uF4k}&}&!maBuIWxh3o$XVM1_s9{fNv5me&S3EkOj{c6UB4JgdeC`h6DjIl$pmm|&cS{`bKD z^WM=~$zX`1`C)TONl7&typR~ub-)l-hID?|Vxx&lY%r^_33z91Grx>cj8RxTFu~Ou z8IQN_?QI=b2wj28xdV27PnDxBBJMLp&_~qbLtK^Pq2_FJfJLTY5dK&DrtPe}YA6^g zi>*Q;Rt<(b`uO`dg81Liq6;)HtvecNUS*7zhmA}Zs5%hmK7R*dN##2`K9;_|z8Pxb zcv;ncQv|rUxL0$Kz(mhR6z(&^MS7D5=K+H!N84KI1Ew|SC2VAqe;%6n>Y;lYW~6>! zxn^sxeawI24m|90SQ!9Fa8U3$+~6!A0@_MI-yMr+02!8!m&JK%Kzd7wpBpkp%n*!- zMaP5uAV$6`o-<2_1fnRx{|3w19`rrm?qc6;U84r@q&}F4Z!hgtSBA|ub!B7e$$&-U zo+M8P5l75nbvCP|M7+iB1n$mNeY}XauVIgSvK1MJ`zq}%?bSbx^wFObKT*i%d1DKa zD>WIv8bB%mM(3eX$_TA@+5SE<)GEMtU|hJBas0mW-*v4mzfG(a`pvkW;awLNp(($5 z=?44k3I&h*9-Pn1N1P6OZV3qla=9wL>!YRZuR-8bCrIG@E{OXA3oM26f{f-Uez8oZ z%)K1t(&lgq>ApvxZSV_|8WJ4-Z{9;mg6jM?IssKcSda!h{GGhY9q5>skajSnsV{cL z?!37F+5WiQM5b(3W?Io9rEF%a8*0w;j1+55=Nfo)%2w)UN$Y?E*r|S5oT0U6n4?(u zX)I8`B@nO7e)rSZg%AhAo#J#Qr=MOHUZEPG6Y5KBbI(6+>fc?P=oW#Hev@YA*`763 z4b77T7&IYo9>8hz)VR7nAzJ5h*dQ)eeq^RPO`6BQruKeW<7MZ(F67+ZV{)vFxP!JckD-K+^B za6N;Zur79fIP4(9?pCg}+eXvkCluDxBR|<&z6G%&E@+G{zbifXAV!1#M%R3M)O@98 zWkv}arYsInam|UwK5*v(WjK8d^U*8a&wj5XwK!PW$itUq#J{incV!8q?kyD-F0Fnt z>0J!aAHrey+DB0W{EHm<)bzBw^XUN*7Z<*mm>9(d4{W7R6ghYiVVlhal~q;6Ii8KI zkfAHHQ_2YS^Wy_OT;_rS2yLjVd;Z457YYqEwq70RUvS>-WY+nF0qIMM1nZwE8)k{4 zuDp7d!eF$*6 zuL**=I*oOFGpPUf(};y|R$`3+M*8_>_8TTP_|eV|g>akCZ4p(Dq~by`#VGQrd8)sDL2Ev4Uh3oIkipXg|E;%)pDPL`L@~Io%ZdOr-s-l^YpjLgT-!! zJZ)mJ6fxi<;IMPk@BM@wyYcPgt;Y5;7B)5M7(_y$CD>dR;)%U9IA>IFys1b@r*SnjZb#7rGITjjdK`8gU=Vbt?bt< z%fBC~Rd{OVgR3tp+tt7bm#$bYPqnJkskIpCGP?^}r|sp(SX>5(FHms(6Q6#3H0qyc zyHraM&Gq#D)nq8p4rn@4+Z2l}pFoa$_Hh7#hon~X?3}L_i{%Qbhm!xc-Ai|B)ceZ! ze!yaz5N9$@0VBh3Su(~|k?!{e4i|gb?#{n=(*LJ72wuHCf}|2TgD+h&T${DeesoN} zRp@&`@hJbBS9}}?Wam^ey^i`*2?44y^0ME>P@fz>aK!?Z1@k_Iq5HLm#T!R&>K5&) z4wbj|4B+GkXUfdaarhr$&X#~#)=RV=PpLfeS;%4iFr0`ylvGrpwVUfiOUFu&iw^DY zT{RiBvx~07xn@R*_#4t*GEd~VVj@&gje2i$^H*5UZLqfI;mI55&)e8K=3K=)X ztEkk)#JcVnpCm>`d!sYbUu?eP=ElYD2R28kS|ZQQ zJ(&`G)I4(%@8{YqWe+bT*%WnPimGUir(|3c+;bjYaJoA-M5#99Hh@(!{m0*TmgTe^Cl34^j|>7Zj>m6G+|E=uj$ zm%^#(ejaXr04xcSt^$@G(|QM)EEO19yDzW#FC+7HYx!|BSuH6SBsq}r5n4>|*5{k8 zKZosJLcZ&Gr(~|9cS`n`71Bol@ux9C{Qn&z2J7EEkK{Wk&+tts-VeqiVJJGXS@shA z93)YsN6-4|+j|LP1fm{^p&m%HalvdDN){ipp?6713Ec3OhYdBT)j4j9N-sTJCZAwX z{XX)7y!b0)p|PZaWkDQ_B3b^bSs9{U3|)$kM*38Xr*)KUP>_TFozXWV% zdfNl5^~w(goRSGQFGkF5WUvxL@!Be1h{3P1p?SSQ8ndvtS7~$S_It{1!^Ju}5YT-K z82|OAhRHx!v=+Kx{lCBYbHliEP)Kxe5!g5_q>Wcp=RSSICjeXf5;68YlKc!Ad9dy6 z!1!ZKl9S?&iW_ovixbwAGg(v4a%C1zVtz(n!OXBbivgo^s#5=P?|(6SE4F)UG-(m` z7qpr2vUo5Hc+z0QKhzBITOCv4C0<2 zN6t+Lo=)0NhYK?odOhO%z2UF^pH=~wkBoQpY?Jd01HPo}EYERuSB3@VaOPj6-Ll)- zf;_}qliI^v$E-KiIAgCK`LfrMW&OtUpKoh@3VgxWr$M32zke4zL9qPotKo(?I8e#t z7dp@>`-Lw~#|(hE^kmR!OEjIVZjGW<|1?lr_vdB^OX00PVOUeQ>N@noCt{@x>D z5Ih=<5*k2yoqOZDR`F$JELLDvx8*`d9Z1j6>9nE2-nsL}0WbFNLd;p;Okn=>+ORc6 zm*M~Eq-k$%pO1XJ#XWV`^QWME!F#jj z62I_GXFW(wna#JMADx`Em8YfYLaiS?dZhVp=+@pr3BtYlu`ia}AjUWYzz>V@4dU4N zc(Hxs{>5&>>|QhVru=%hF5z6)0Wtte$?0m-UzlE^nukn>F_G>)@0gKwC#k%}(ab zooeWr`V%oAdkoG7gwQB*U(nF4p_u<3BHj=RRrq#Tb5LD6{jB*;BYiBZ_4n-OG&42= z8trNB&Jen3Wq&vo_nJI@xeqrsH8WMi<+$6cd zzpnu68U$ZfR@O=w_U;|5(NO;LJH;>KIk2BUe-0wU-G$Dfa%-w5DrJNo$}j1C%|Xa_ zMaCa&jQa)PGPjw~)6);txN-;Lb3%uP6e_ps5#W%K2Nodij7h3{+!k{_V$nBKyRJgZ)M+z>;L#kA&@kj`Q;nvlNw^FD3 zz;>`U=Nmj3WKc)FFyyi{QB~n1&+wUrYLfA!dH`>d`siWap$kI18q)NN(nIE4bv`hi ziC(YO?CdOg`q2DjRIQK!&d-B4U#||6A-$<774B>T|80DpHLqhrlmsaIdFSoD>>XYF z1V*_nisI2NrN#=EcA`QxpRntM4#3_Nz%FMw8L2S+J$yWB_seY7aVA_&jjsikIwM8; z0SO!zr}`dEw>#dmw6t`sx6E8CW?umB8%P+T$w;;P$$t$ci`d(-?UQD)-ywa^ zZ2Baqs)=3!l?L`&)+_#x3M)^ye#{gg60pd3GP*0t8%*45*S^TyEYU zR)U#y#k3_RneP9FyU$TIhbAT>vCBy&t)B5+XHWW5dJBh>PiyOFy7b^J6oMDCb?2vM zRu;Vdnf>NFLy|9JxY(PpET3`M9SNDRT0N#zdZX84DloScd~o<>LB%_@3mrR5JD=$( zR%Wy_mxm4hoWGkL*9s$q>f4~@8-Z?H*;ymX=9X^8EY`v*j_!R{uV4EMWKMub8QbTu zXZ~aJ++e;4@n{P#_axsvJ3Gq<*&m;E7k-HHZRfon!6U%(^Z+`WX|oI@co4TvzKh@&ytU*Ik1kfKEDfDE6{9$A4bE+4+JUD z74gDr1bE_uZhcv!x8(VG{4NyMlU->g5^p$ADx>%gmW4EEZ|%%)xqi#G7geb_ zplu7MN!v6jxH$LPyq^Or9^~}+28bTu&Y!?KpPbHm2tU~BEg6sIc%41w)jFra$P@_7 z81NQ)%E%eY5Z?m<#=9}o@B`eQM=B5jSl$?Tuh7TGL@ls;-Tdm^pKo(6dUj&J(+o_E zUaUky{!Nq-M!^G^62+x3f$?{Px$Pqq{mq={U_=1YO>6mkDnqUISeZFP1=J1&4o+zQ zO@-~|lhXSu{aKh}V`GR66+Y{p{Iwlm#`65b8B7ub$a#g;GK{OMYb?91*qv|bi+zVm z#ReZ8_E#9TUT8x&uD}3013oH;IO5Cv+(nlQi`vRUzFqJ(iAY+db*k{4K zn;JLg^zF`a{QFwdnooPMS-8PJKs9)oa`P5}l>8|A@{hlA3?$60t*v^%r$8klLZKi- zuCYM7Nk2>00ZeATdK(Qi%aFAU9he(&fMA2hoWO_uu@ z*^tE-SKTb)CN0ln+!#%6v=Ndqbpkf{r0KU0Ym3Ak7eyJO`_1Pd%;47D8}xN!0&(09 zvp7vH6asRrg}64?f^p(y6iq!*m=@nub%; zG%Q~QY}Ey)O;BB@vb;0aE8zRY>F{&jOu2jpq~#e(Uv59EIVx&DVQpQC+a3PkB@$qDksT33zex&z$Ugf3P9OCvoWNbpyRc|4Z?C~`>Vt}+<%mzRbK`x`U zhc*FU&?_FRL1y(yaFn>{J=qt(#pMxFN1swB_S|sWV5_EXJULEi?F<~K`8?v6VT};^ z^dw~|<&Gw9wsDV4dK?8c^&!VvG8N;95NxRmC%C`wXz%`ABIeu4KFBTb1G+f){=^TZ z7kWK-p8S8|S={vdQ-f2SfCo&3vsHRxvCg_ct@(K0WY$Um1MQAZkOn0?E>Dyw@5O6i z3zhZYracRAh2x$S%n-jVnRN5#c&Ej?FBpU*0y0l@@UF}k6=aw{mTq4C8CvMRcW;Ye zw9WaUUhQ|6mSn4`VlY!0el~mx%+CrzkL%Us5Yr=J6!-WL#2*{Lf;1!w858XW6N9-S ziwf1g2tLPIu&tE(@B^E0|Gwb)k9sDoszxo@lTHUMW3tbe`!{T4B+GRDd@HCZ&=eWe zHqWp)zdWE;cE)OL**8KC5{QTdC4Nf9%%||@3iueF0!XzVp3~CN3CtWG0KMqk(2%}G zG8v#d`{TzOsunJBFK&q!uoX3Z9Y{tOdQ-VMaeAr_F0U`>_J5otQS99`gj8*zDcVD0 z8MXPwujpQO)5_MuW7BAIpRd%>*7c_Ww$7jId%gf#XCK|%+PNAnFtI0*ytU59VPPxH z-ORBKoQmw_4e#u)ZTt_}aDt-9-?q+lSd#e#SXuFTY%w0v$hReg!^QW68dcaG<`s48 zSq?oflpV-bM!VfQTVo;N-)4LN4>Vv>oet2>xfIJlssTNo-SfQ$kbmv$6GCpD7iM`=V%gtAZ^gRCj{79o8_O!%=m0TQ$ru?DQ zNsQw#JS!*7$a5mfL|sD$W{Po3!CyIsTikbOJAx}b*Qd$obCJ%_`#GT>lNFgP;q2Up zCGFQbV{(r`Zbaj#phEq}T6q`YezrDg4JVqfLzwOg^_==29koWshcPLHyXT7DwEs@$ z&oUL>Tl7YNZDds8JET(KG8Y8x-vFeH2AFcQ>Hgbw|9}RK2xN`IIy%ZEg`ywNNBY`d zt!2xxVI$FSzqBNm6# z|D{%OXWkqCvGEJR7OVOKJ`eHE`@OagttI;Ql!>NiTH>ODS7u-?EPThlO z+Y2wOZR><*l@n=&gZL{s7@;{6I=FWaHGlnRLgXTA% z{tRFkZoTGy?!&lU7Pf$^<%$vj$e!+-`A66M$q=#mURNDXUw$g{<8Y%c@|&B_Ft=s5 zYK^NN(1Wh@FZ_hp5q9tfw#zgig?QR48X2rAA}h1xFjk(Hxwb3+SQeMdSoW4m75-uI z0>*W8hZNkE!0_{|U7{QpVzDcj>$FuwrhhRjf`#dvNJ|&!cgL8@SpDVgf(($!+oAQ6 zjD5dLYw-Hxn)v$!1klR{CI#TbyL9A5n^8;(?HZO>h0X_4u zevDG)g)N#N%Jq3GyEc@&&>5x-ie9Ow{=DHc3nB$tGJ^s%74IDB(ejz6N-G%pxt5rYjRo3r4CnO<`C;*6^A zQSA9|46G(AT#wbUKUh#3LrB6s3f`EX>h!dAKeVZ`rcNwEZRIRZbAy?eD?a>=-` zOc{oMg~P2^uU_3jIl;sJc0uOF#P9A+Ng@);7OCtHGDQwcoUa!Mq2+8KPgE#7!V4{T z`rW^AvfB(m}fp;}C1`ZZ@C)H&!MPg_4t9=POmxx?sU0K5s8 zfgSTdj`1d93N3LNP8F(aBXNQN0l4;x8+qN|9bwv287-4K;!JID@>zLpM}VPpkKsts zoA7q3F$k?_pITxPo^UwzyH*4QVU~|X;kivD*SwI)>)&1|3WrVBs53X*&(xI7b)E8s zTweX!m+7ybJxi$-vV~+HM;vp-R8cscaRT8FHyiuf5uk0KS32uqE5*_Q45q06w7%?V zNL(VY&}NE`BefujSM9(Lx1bR4O>4D~E1xStyax4W+F2U=`Poeg+asej|B#^3+ts4R_QJ>je_ z^39<_dPJ;dF97T%YB6(yJpJ5w@+rvpfNTxvUN!38%4RSMxoExkxUJUC+d_px^1*q9 zQpu}6*}m$Rh!H4Xxk{6d+JAJ`^Ys7PLqbr^RiBJvsbx@D77APYkux9n9tchDVQiC1Fkk?;9axeMlsh3iJ_3Ct)X#?2*P-$Ol`)!@jM$k_8I(nnSt#dPy z?z7NMGT9Q)O|P(`Kz|cSmtjy&R zRMrO4Q2?bRbMm=zU07WcCPlL?9zyW_nOP~=_u^$#l>mqG!=R!LPEPunpuiw+LTDkj zcYjF$&8D>HVA}OLNZ6Jk5IjnW1b0rii*qhEc6OsWjmW^!tv6F{C)$m&_6UdyaZvZ& zkknL%Cyk`fupA`-pPUZch+aq7e31>U>L*KMl*#ra8ONitQ$V|}!kc?M`;PhOc659t zUAMz!?r9HA+&L-meXhZ{oS09-)s9z2_lBjuY2C^n+MHQRuJ0k2VvG4ysYfBc=e%HG zID;;L7_%CYSau2Ar>5|8J1vH_7y8^g^;nUaWw)twVRbwz} z8^pn=B38(&+oe$$+N4)5?UUTYzIefSeOSCwfnRbbDN` z#Ngtoj>nxeHM}CJ+x+r*Qg90$^7Wv=&RA0gh zd@qbj`QD`Cp63^@Tilm49ixk;{FVgoS8 zm)L-ko80AEfyl>5{$$r`4cYK_zS(bD0qi4+%c-m@&2s*pIb;yQD)YvshUKFydLZZb=vHR)VZ;KBOjF!swK>gf8v3cFkgop9{J6kv34aYEmw48x zb$+$Pa#s|^t4=<-A8tut+og8B^V$e00k>HLCHwYlh)Y?3? z7gwJ47b9UIUs0ZP>&(uAf)QPFbN5AudUcjSicnBMP3~!FHasDBK#SMO;g99{w@|QQ zzA!n8(WPuGd=rZrRIRXQQ!9o~Fx)Z>5>Wy=e|5${NA}5^lzmg4d2M-AQLgMc0AJog zMEnY9&wyw@JDI$TKbR-oGZXE~>=uXqb{6@fp|LmFO2|PBR@6TvEDRQfOiQF&$)eQi_A+8*sY3nvs&Kk59lLHt-(NEKX=>uHgzNjv zZdDS#Tuz7{2(o@s`(yO=kpmh~g_gP|^}A`@XgY|nS#y{f%2kfyUXsp{fv8EAVS_#x z3}|Hv&85-f?BQ}6zrEXw)i5IV?c43$?Y}Tiut~@ON6 zyyoUlK$QaJf%^Esr{&jvdI9af>W>5dh$NZY`RVPY&hUKqRGQ(A*B*uk5##>eXmVp;(j(q%5U5IJIFZ~^xZM# z(T4rXce$L8#h}c@!gE zertU6oC6D7e(Ag*GB|$nC_Nb4CL$dMBs{ZA7bb#T$v7p3lVZ1TLF)#N@{8LXI@uK4 z!!5@<3yuFYk45g)U|QT)4r8!AIM_K}E`RIzjLGOK^RM551&ljlwWQbTUtZVZx!KDJ zhHEyfAbaBw`G=;B-MtN6qqY*>cy1T%12UVWGS@V(W`5fqfK8w_=#yxLQbO5HXgWv? z7WkMptusb)pYLzX)=)yY$K6igNOq-$ho{{^vv%S9%*ou+GD10~-P_t302Fue3F1t1 zV}c&8Usjo{w;Z7p^_iA?O+am2^x7B)8*fb$%Dp8J&_ov& z~54M;h|ZX>tnXX==aUY7U}}wPPvM?V96f-oX$2 z3+m`Q60jH+P3pLziEi2`_L977ITasIefNP`k!ZRnmy-@(a~Q?TCnKC zh|2R+TT(?LLHP)70fctqtPL!AJAjJebF(X~BBJSI&xczP2 z`17a-Y-r43GiTtyYS$-LqO~x$`y1eTBAt#1J|ILpUnjsLQ&ui};#=?bQD9K;I2jRb zu*lWKH$<|8@LVcycf;@d3Zr9YDf}&^ezIn<%LSY-f#zorge}PBCjgAl#iZ1YN8#Y! z9atP3E^T=&!>{3gCq;uHzCJ5K2ZzxZB$sQ%6#IrFFJo$wVq#9;m~ZWn?a-rqzpvRf z&gauuZ6Q5sy%p?oq_t^U)0-4N_U@|3^$Y57e}@3hU;v<_s6bZ7nH_k~H=W+HW4wi_ zBj8ZE4of(xo%=w#7!GWy%-^8L>1|}eR(Y2`yL#f+@eh0rnGKVi-}#LI6=;6Jj%wi{ ztdEJQp=Q{)gJu&;fvhJHS-%QrO63+fk|oOFKxC!o`qstCR_jNRhC_{m7A4*3 ze&j?@M#>J~%y>D8cC~AOKDcWBF8=}6-0W`4(>d}DHZEmxgIL8&X5BwttBbrh=@nmz z{#d>7uFfHUkS$#AVDU3LwHn`q1mef)wJN%S7@LH#O9?Qq6ZXe%x``w)sIf<$qc1H#m3H7 zO)f}I&RLQ#D)X(6-h(aG_qz5vSabkJMsnj-A^hXOLDQp}mumsO;^c6{qpf!*e)~Sd zx(Uytrq<5!1DD*G3EP+WfUM##DB06^A5?LnTKseI@F*G+PNAi{hVMLRvS6>+;?M#c z>{|xNG5aU1|eYvQhlM7-3B>v&%U%^6-wl{e=28UyoAOJL(oBb+DAPu)L=surDdS^~5*y(g- zyfK^mQkZPMIi)%%cMy!tL#g}s`cZy}g#p5xsKhswYA&?^#!(1(T=5AB38QKuhJKxP zKgVvFjMv@y_;+X^VccOET&FeLC!!2)uJZ@1?MEkTCm0fpMUU0bKoezlrqe7UO~3QK zHwfs9O*#&um;T-|6S`YhycSHZCD+=)^}tD?V&nPWo(g2Ler}`k91oBETjKx?-<*}S z-ZtN4rMh#VLNfz5-Mt_&v7Ljl6YID3nF4N)U41z&)|z+d@4rjzzAsct|JQ7pqQ+}zeIT?Z4-^kSYWuQ;H)?DH2gYxjbJ}4#Eeq`D{ zq02;1kK)8H0qbmnoT6(XaF!nRd)E+CIfrCd_yNZ_Nmmh$Ajf6S^&WSg5T4#nOIjFV?LvMTg?M@}W=+fr)K%pEt zcDH}<>yRe5IkT{mg=U!fWX(l8L8`dxHdIEZ| zp4aqCe{z&-j6lwQZELa?Y3a6IEorCi9U)e$dKX5i2^N#ODp4j=%Kq~QclEMUN-w3c zlEa26t~#h;7g%lxu1}n2w;SOG2ZFOA6^9gjle){T-FT%I4V@7QXa4kWG-qUT12O;n zI5--uVI+NnfngimZoE?#<}jD%5NUwW)ZD`7taf!c=pVQR80wMYKaam63rNH4=m=jH z21UnHz!zWgSUz^4cb7OV#Z_M=aPj`MK4(X~e5Ym*<2uqa_G0IM4%eF>Kr+-L*?eWbG zyna-4C&*oXqlnF%1V0zAdMP$$F*c2AYpK0+D^HrGo162MM;D@bbwU@SCFkYr15##u zlwRc1{A(5e2U-}w+V{4Prrx+sC(>5~AZj3ihg)tckN~Rr+e-okuL>+(Tg%kZh=}NW zXchM`l}ZhKu$4+eMwP0pohCH`95p!0HgCAq@R&a3Tyshk{%%-MTr6Fkq_~Sksh&t8 zh(Z(~&V7Lh+Dc>W*XuOPa^4uh@U8K4z#N_b+4?!LdfbWa?(D87fFH@~b3KcMBX%#- zo)4JN-H0gr?bVfSQED*50EYvmB2lW0paDJwqk72<+=tpB9if z2;hT1=e6FubyPD*)oen@u|pAr&;3@u+L~{Bmdt$RtHWdEQ{+<^?*z;6!HX=1o;-r6 z<82J*Ivr&{_R&A4^7wf|s=Ro_Qg}=A>&8!HPCZEg zO6?UiYLA)?o9%1z5s`A7aCBsZc)K0z)#2u}m%j*FWk`Q&CogP*FG<-;$E_LeUnt8y z5#yNI_)vVGOuH26>pb-n>~wL$)Hm+zAP7jz(Hm(=F?gmbb-Iih0?4{(n^*9d zM12Sx{<_K5LW=wot9H|M9;_g{DZ`+Cvd@nl+EtXX?(hpvwVoz$S?X>d6LZsFH)!C% zK(>4O_`2(>zkkyS9v;dIeiOVz5cvZs+M#}wDg6npIXWljnpPvEbj0om!*vA1@52lx zl$j5*EX`M25Act)^3mINZXiEk`RWro&A0!6c|n+5{CGq|0CyvuNCjLqboT)xKF`Gw zPwsJ65$&K~>NNFp`n=!A5GZeH@Dqzrk@dF7I813oL=(A0X+9ff#Qd;~q*|GFNAW_1E+{4wAiLCLC55CQZ%I^4hLse21N~4Wv;G4OV*VwR&SN zhn@TGtfGJH_(K-(EK;dI5dOF&a0bBCqcq!dTb=Als$;hjTY+1=Z85#ABiyZ1c&!NZ zWsBJnv|N|{4on;#DpXKmYHGx*`MT`gdAGh^vTI28E3RzSiEN9N-UU%`!NgQWbn9iVtj((d`dy%3HXx$CzxGpFxwfDE z?Ibj`U=);6xkp9Wk1&k~!EqA|i1tZXpN@KFe2XAKlEGc66s<{n=10rdS!b`{QFrS!l3iVF1#-_*(A>ZX)~CHI_-Au%7*WzUg@Ptcc4Fz zf&Lj0yZ@V>P4nQVBFLxD(^YUaVfpWGQGD&IDy+7deo3fw7EeKMbaBziSKh7s8`n_? z1Ph+CC~1*+IqT3G;z>R)=+^-%;A7Ard_-vJ+5L7K2(F5{a;~k*+F{>ANQW>B((Pk(7^{urtMQ{;22TIJKWHsK{NO zAoHD`P$_B!B^4FP2~kj-Nrc+W&0vMbS_f`^x?_lz?mxts@I`tkr@J}scpv)|4m%C* zuCJ!X_N@A4GVAO!v)9=m`POGoANVk2H2V?GO*Ot@)cEEX(Utl;80>_B>Dw8cTkO7! z4!|=~6xgiE0hJYKs;X$YOCgT$)n?gWUu_Z5l`jUFId^$PPWE+lRKTQT&*?on8G}s= zezfAk*WRWaZ08_7W{K+wUA z^mq(8=J$?RvEmLFeQxyP;oU*^2+)0;D_3{*7CO5Pc}TTtXfEP+-}sLcbCBWHR?JjL z^PMo98>w8&P%kbCu^{6S+&A&7q&Y}3MxdzKw&cRFDC65puD}p}b0L^0e4IoDqxdyX z@Xc9%`p2-Sw{Cfp&F*yjg}V|sU&A4Iv8#zePOrKoJ$3lo3fk_lRjD&!SQL3ZqvJkj zFr5ezoS($$QmlgiqLxP!Y+{0>QE$}#{4p~%wh#@OQNYUw6~yy5_`Rd~7kF=vJbKiz zMnOG{t*8fqICgX)t)8}QG{giyWG59Rf!J*G2MRYYe4(4R#&A2cQr1m$*u_KvN8!Ei zFPRw{Wl4-VPY0*h>+t2F>aWP6Ar0dcSX*fr3CP{8;h=$m{G}L|hiWUd5N7C2 z)__2hZbx}?t(F1j^H&ac?YH6VFr+*MSWG!+yp)d!EZ39V^&C&mc|vsbC*#e~MYBc_XlA|a z#@g;O)DfM-$Jl)i^`Ow47!@hsvYE;5z~Ym<9j$agQ0+M;D`jd@a;VQX8%`XNc`+<@ zJI%Qg;*NeKMTC9+suq;r7Dt=dawOf}g>qhrbRnHysVI$M`Z!Us0 zHbHE=5GvWud;8w3-1FA0;Kyq>Etr41yjZa4);Kv=JNPD|LR$S#o_jP%%3*oUnEw~3 zlqBjzWRhp|kf!iY;{w{}FR@zciEUO|I0Y!5PG>AN4#X|FP-x|(wU%qSKNlX0_6UYR zZPgcEct)gW%B932NfUHTj}a9Bso#cct<%Ig?Y0;{@`4f?8d?;y8F#?&o6Q+_l<-{F zL2e*gQUPs;7@O!wbV5oWW=NL<2x{mEKv1`b#Wp=+ziR+d2ic(Z+@DXA>;mj8x zTw(MZ#+C$0n*n{?zCrIB&*$W~e@>_u80w;omK!!}G9FdiOTx>@Fn;n?f8ZZ^$GDOJ z(@Q*JQ-A^6sfp81=ncHG$@wSY+gKlITPiT*T-%*#Rue6l&gF`}`no@m%%U2u$ustN zwAR5Q09YDc#aa(JrSdYd3SBST^k9&VbZwT8yV>_0 zOb;nB%p>Qp8HQgf7ni9}8?-ITxYXKrHB`XSB`$Efh)2!e3j>^)0-Z+cT%(KgGX|#v z<7nK4HiDVG%=@>W)7pg_Q;}E+Q%uv{zDcX;`FCd~>^Ut7vF>Kv^!C(GxE#?F*E>jYWp9al(QB}k1 zV>VfxeS%`IwQBa?uQNREp_k~2t1GZ~c zTfSDT?^|m`k$@}3Y~qS$PU0upaB81pOq3GgZPTF{60)7D*ZQo0KCH&Yzb!?oNa2l& zY#9#v!ceS_FsgrS4xYL+3pG)|xCpl0TfM;kt+h`zxgW>!1B&)T?yUD=&oQs`6khAA z1IMZT<%Zi%?0!oP%%57K-U{)zW{9?aNwVrqP@4w%W7CsRQr-bPxybQdU%TLMRubT5 zI+kbU-x<8_sCyvG5&aWkYZuX&QZryFa>&R?WRR?sTy@UKN#`XIzLJ&pI4kb!bS?tQ!-s0==&n z;WDtUV=jcGCoEpdxY(n~V&BoD%FMC(abAV*2uQBA%kij{b`XQ4y5sQsf^?Vl(H?Wo z`3fvGWwb&b6|NM&hKOU?##V+LBDh>EsMu|~#mlF#KpI9XKx8yTjPa$;*w{|ZzFa<9vJo9TUHVC{&f!f>i9_!e=~Rb_G)bN4)P-a- z+lD-e=ams}zThR>kh1#be&m)L6G#vRBF+zsYJBT)&p!2k{!BroLGE$iZBnA_tLWP! zM+^a2YgI|l%9?Nuda!%OUC17BMvS|?&+i0zrgrraF(Z}9sLOLgY@0G6t9(R89MQE8 z-~8HU9@UaJv1qjjXuJAV5qU}FwO_C>b6@1lF-4NhN2tSv<(J+r?d-TKwYsmw^735i zsm-KbcjxZqew*j^2)nRsb2)6|xR!tyNO@q1K6p_RR}LhHI%s_tyP}gt6Q>}^J-o#xu*hTU{mZwC@Rgzv!@{p(@v!DobDb&QT z>GUvJOQ!{gdB8tPgm#sAf7jp2@WkmRE!us&d|0?g)Vo+AjZG6CeB*8IH$F}ZsHSg! z8Z_Dh2W_be%qJgmx_*8O7pg8>gnX0Ck6i;&UYA_5W22no%f+o&2G1mT+?F3GI^OdD zw$wL2GX7BI!%cN?a7XKOBKOGpYbUN+Uh)pJe4VaA=o~-qXv_3BjU08W(4_&xQ<`-a zthe}0y=sB;7x($yRZI@ieO)npkc11qb<$?1I!=}>F0fzLf|lvf>}bhqLG@ZrLHP@& z{R^5!j0BB2e(iY^47zpS7weU<`9kRMJ9$ zDXsOL8%ho64>ww{`Myq@Hk7z2&D-8q`R@=G>q<%9wEjabwyL9|b`v7xM9>FBRDz>KDS zr48u%>1}s0LDE?qY5HTWUcU6Ph^9GGzTZgM1^Ow4*^5a-vV{Xd%y?se@^9J0nESUV z@;Y)OxgYeY;di)W&F$mqC58}yjPM_Ss|)gn}ODIG{J9TeFA(U=8x=JieWnYeL_ z4y`&zFYrOgx|a5X$4Vt)mY;>_{FaKQt)vG8=r>7G!tYYwJ7B4B;7~%4djGa9!tz&o z6bl(Du`Pp>%nM^Wmn=$R;~v!%sgFgfekam_&xE}h0hGPAjO@ZU8bdBdl6Avp+tN?d z>2tr({1`}ZITA(SHvl2qd3>-po`pSqEKzr17GxhusuP_c;j+xmKWojOovf_W_})dh zit2T^E9@NsoUgtKiI)F1q%`zuUwohes7DA55sle@JR|;3C1`XXXo|hQZ80+T=mL`V zUdX|iXREv`gwd{9?Q~jMH0&-N+yV=Ke1H?x_woDVD9o}gESd6zjXaR}u5~Fj1WPK_ z3A8w7;l}*zNEW#+dT^|4VUtGkrPTRAxxJo!pQ5Lw}ISWlo9%-wr zxm_CN+qjV<6|fE{n%VSdkBZs$o)A)*qzU8dWRsz_B}bIxr5^maIt5-S0xZ08&0)v% zGOznn$6i}U3=mf0ZR17|HX$sV6x0nk zU6l^4?4M=I$f%9=yhy}sDHk<^AL(&SNR^R)Dl?~;a%{duGUw;|4a8-`ntRQ&vu3mc4)t*Lg`;@ z@cKx>_$@Q*C+s*LOhn&djJ|NC@M5v(9Uhi8ieVahq9sxp@~yX=`7rAaP>6)}uEFj_ zXDHl$`SRu4fzaIdEyv7}qtZcfUxMHnEQ-t)ECqCk1K9MZOZ>XPh0RKXj85zRhTrEu zgE%K&#!Q{JFGO)mLahJd9^3dLrPt+?FRqJ&OCC^M$TH_=*$WzGO_CcdOg7$ruC4Rvjq;`O0@AcP)55PE+ls{^&Gch?&@ekVUfwbf>NLL+~urW-F( z%-+46LGAav{^ZF2y!`^AZvs^7(OI`r+?VF^Rf##S%SCkRXlZJi?=Ff~R92=segQc? zR8kIzdf$Z{Z1{sVW$M^4y7+u~lYoWjnsW46`K8dB* zPDT7Rr@ux=TnzJ%%AODthiFx6Jcr#q>2xvCQa8Y;t+HP66byXu0~|DtV$>1Na-rRa z1=3vm?dGc2epMG6iX35oC3$iZV{&v>F951n))Qv7#04a9F8zR@>a94INn^A>n!Z|H z(gOV_n#(fnZ=(j&`B+#3yo>$eq}{?NK)CX8*j>cU*#x@h{6Gu1uhd8$A4t#v_!)=G z@u`~A2J@&ZIQI?JX$DGgET?B@eOawVCeNMoz}=+`Ueeuh`bh zy(8&qb~TB=UlPpwPXP~Nqh1A6w>)X!Prmnz@qWM)p4Zlc(-{n(?r`G-pm+N+kmK4U zd2zsa!pgHGS~U0?ci%&{%EmEud}CrjH(9gfU^<=kOeEHEE#F%_p2^0rNH z>nK!_h{x}(zOhq?acq>(9*Ex-{>rpAoF7aPXHVj~?XTW+ycACaB>bV`CaH&+r=+8f z8GJsXZiDg?5+4pk7p3ymHWV-TGg5byZN%Jf+=PL>gGwxs4i|ExF_Xgj6^{+%IT!vv zpYkSPA+8TBj3}`gNt5$lewSCn3=@YzlfT4lnj5+FDG;OV`~WK}#=a1??to6>u$Eh% z1T<7uN`WjwN@C=E3eZ*f2uQTKN~L~4S|Vj%dG(@Ch$uC?3h335N6@PicE_-akDIOu z0quII;5z1~!8BeGMvKG<#QYwF-*0mD-Fs2id6O za#1IpzYmcsTS)FZmi$_&TC?N1N1WhRil{v)VAmx;WzE?pmkrA>6Ena45yI8ao{DNf z0>rgkM!lCU^vCyRJ>PZCHHt^3Dz84m){S`F@t9N*i(rf;m}=7*onoK*TzRQWQg?00 zUdQkiz(y!P>6U3f`>}kl&$RBVLZP7v=h;q9iAgq=Xp&j*t$~f`j^M&KjV(Al2Bux= z1y7%qnW0e}u0|cFW`ErhyEgW#Ng$S3f)flTjJ++LS9cB>0lSann2^m}12XaI2&zS3 z@#7tKT6O^tVxj!TbvVIxvR*s~wq@|)v>OldS7T%Yku&jUD=8K8AtIV!{}tMA&*}r6 z3~H*I_KR$l^1Y==cxm^Lb% z3LU%?F9F)ih>(L}JDYhO$Gb4FmgMFO-EILzMS&KZfqH2kAw^w;85et-Jx%+O2Z0f^ z5A=fKgOu~wndNfS@Gck@ODoQ*@@1mdf`7WwRoUp{x>OP2hzQHKGUa#q#pEp$5uMp6 z-mSB9c0R=WGW!Jut7R`bzJ(ckKNApCe>&3LTPreqkl?W2eJmM*Q2xjT^OvoI*K+Vs z-Xz2=pI~P6R^fVLdh{dBZID)dGwSzl_+?QX)DkflW(GjT;iK`Pw1PsE%LJfGrYgge zDc>{6m-!iQOjcq#S%o-fViu6%I$ES-a7S0@XC>*}#y1u@!_nBWp8{7#JA;H+!?9G{ zh4`2@DdD;6YbUqo_%1JF+Imimd~s?K2wu>A{Vq#djGZh* zTvAf<-CF4i@DwaxXsyUDx7o-V-1%B+w8a>LYQK5=W}F*6a_J+=*s;y~8;3N)^2#f2 zuUm7Ubsw8s;D;b2KO!47rBpN_qoTN&#u5+_8E!HfSZqCs4p*wum9wH!*VTg%jyX*4 zM9zNbawrOvEOPXJaW!p!JyfE-EF-P@S+zzzQ3Eav$NXkA_g+H8#Mx-^_2u^p^zRdjEI+@`B~Fauz?LC+7wPI*U!p2kpME+VquJJTD8p_1k=|TM3xskuw;F zXg4O)Nyh=Ar$5iDhbIWuzEAWDUiX;th&5~urhA+@Cc0~h5Xlb+`S_8eEX!`>t{h3i8jsFvCj%p~ZB2=*vAbYzYDLzi2ieBU_PIr8jm}VlYPp{A zpFuF)R9`}BpX#XPC{}Zu#OLfWT0n$Gd0*S2!vEWqC+5|_zN3(-gH8Ov^J)n7KT(hJ zBlUD&(6kC!jEkNW5Kh@l<7{_glfKWl=GKT`AL8Y@XM#6(erme6;>sItP--ywn2tN! zNyTowIC{emQLDSENPjBl%~K;ORR4&)tp3{5cPX0!(chJCPanL-FL0A|K3XZl*~^{k zD>|Nj!LTsSacyEQSB}@cKJJmkC&gn(b357gES}X|w;fNAO|%=4tgToA*fM);IjVb` zlMG_3-yeR`mV?i44~aZR`bK+!peH)@eFQq-g5h7m3WSDPwUblA&tQyBA@%(W*#qiq zA+-LsWsh89SdB`GCrc>)vE>8we{}=(U*PV|f1c1p zZ^2oyTf5y6L-rltptTC2bUi9m?msN{pQ+`g#k9BBnP98cv!IPVi(}v5#_ho-@6H7W z=}HGF^BevIv#Y4~_k)KDQqA$tR*UtI1eRQZ&ulKHeC&MN&D>Oydmar+CD+{kJ)!?L zApJAfmb3+?s)|odCy0j!GNcd1Ifr#sjEe4*4yNQ4{@33J3z9`fJSauW68nGr#MNIJ zO7Ui-lG_A|{+WV5OK@#*p%W)TdowY@uyBR{fB9}G%nMrPOe5oe?+5-YAQ-ZTA;O(f z8GliV|K+=%Fi;IMU#V){|Lec_mpA?Ge`Q3#;FOG?{X4_?{gtc58%%MR5D{H{5c400 zfB7#)Na46uw_bJGZ%*cZGZ`CXoo#@3#YMt)#R^q(qxD81K#zB;ePW_so40c#d~LDo z6E4qrCejDpo*PO4Hg?Hwb<$L4sv@dPMY94mnz{&zTlwFAk|8Bso_ea z@?{AX{8zqd(o1xsW%tVHi3f{ZNNKMu;XgfiC=q`Ey980 z`H0!<7HLob?q(f!a!Wwq()r2C(V_!3{~_U*e&WvlRFPzzwIPGZ4x3jBI%kl52Hm}k z*W+@S5Hg#Sa)at)xmr75d^!{jPoZ1FgPyKHJW{Lfh*SCN<^{{9} zfgke3jUl;aY))Cc==!747wQjKj1@S~n!fRf4(N9Gi|z01COE^^ZQY+d{2^n_4IQ*>brwgJc9D-<4e*Pht(Gcg{kPtaQ5rmf~EHkOX=%GYY;E)<_7V9SYD1JxB zO7++%Cb)Ch=I0n~OOTVHm27G4aE{`AJXT}h?VbyEJVV9!QF4Rhoqp@_vx}k zz*sX7U`ztS``bJ{TzJ`Xc>(!uyWn{t z?55D<)tK1w&KeH;x5OAP?lm`WuXu`=;TXOubIwu;!L%yFpv#&tby|8sJAPkE{J)q1 z@WyQ)dC^~1t_ZO#yhtPSx zJo>vLd6N*)x8U1waG1JNX(rW2KND!?qIp0goXda}x;vLsWu13xkdmB&)eLTsBNVMq zr74G!eJ&c&OG_DXbF*suQ#u4iT@B{HG0r-PPU>d zwx>;l`0jCWl8f0h$EsLvcqg(pqY2ptZ>rdvV%V+A==8gYE#qa&=Lh9qG*&VkB*JG8 zM%I0RRn4nd{e)vP&9!pC|4Q|Zq~v4eD(mXRh@ClO?sM~orS15hfC=ZS#%aDhLdwCS zMx_V;eK)~cQhtbx#0F{PYrTTw>YY+gZ{z_JpAfw^E%1FlgLgM4&O|=FSE3~@k zqp@2Lxu`-+{J`$5OXic&x8seGV@PqkKpZZ!+1YtZwY{@uCS#zP8bSSt?kcYQ=ZAy4 z9%k`wl2vEDi9SRhZ;OT~#=89=V=!L+usm2PV$HQY!?rzt&Ty1PquDY4Y9)g2RSe%f z4iZzyuv?HUjlA5QiZD85EIyyRL5EW=9C_#G^%ZMVA0-*hOeYSDIkc7w&={6?{Iwt@ ztjW@md3`wrPjC%mbVdr^$gZB~!O#MaoNei{hAoI#YD^%6{9jkFfEB^HY9>^nO8XVQ zbz7n=p%b{>ios#_twN!u!)HkNfL8xnesg@BBV%68L6!dZESuLc5W&~6jO^byPd@8U zI!+^=(F}J-Gcyr7&zx5n&m=s3E0wr?@AIR?aCo9)6Jtsm5k87nk>6CSQ-|g96h0!y z1vpr%JR7S!Kbr2}42pf$n%{D+=Xg3oiqbq6927X!dhlu~9#*j76c zVWD4nAicTTtS&syIz%SopTKJ^8!8Y_A7D2H5jj1#o9mb8%)#9him#8v&vozU#$HU1^N9eZBYH@@n)Dmzw z?GLoq1!KxKW~;sO0`$)JTD!Z8rhCo~2e!L+>3n~3Ii^00e3S$3!+_v0Im#^7$c9&) zjhA#E*c4cST#jQYmHEHh2p-(Qiskyf>0I$cQ;vx;=f?avSKZHceW@1B3)ty5!y)_S zgy{-p)&^BcBK>s*8I&Qr+RULec~#_slXl|a&%l1}=di2UFE6l~)Bhimq>)q@e?9Su z%x!OEJS=gZLTT0h7SR}Hk-D{oB_T!K@8Krzl%8SO1ss#@&K}iLG<%A32bFD%3Av`J z`(vGGm*Hk9mG2h!X%)Lmbm}5Z|98{K#lm@_!8^aOAnV|by(n8*(v6hb8PVMP&};6C z-E>fP9nTX8{xs|Oc|dV3p%)`f)$8~JUF+3;=1-Vdg6%bx7SlaH0}>krWimT$tqTUA z6Dyi_>%UJd1>)Y?Fnx&l!cOWYr^2z6^YLJQTKo zS!T*ILn3RI(x9X_vet2lU}=m1t#N=~uF1rjlW8k75A-W~w`?cG@>nFpKzW*n%u3Q;IH# z$4~YW?4w`{os^Vv@=k0hxQz9SlJjLpZ6Y-ylE8B{*I92|t<3w_3r%n5)bg8r)*4hv!igBmZ7PviEA zR3?fQ2O6|9D0}sZuZi%Mgb{0pFl!gl0k?EpPo}$@hDH*6Df&Zpf9o^Z>J2+&)VscQ z8=}YI+Op(~2csXnMovGbz8Di_z6qx5tp%sc#si_4TCd4`gXrdL_Z8EFv!1`yBpG%6)p3 zcahatK=rcoz;g6yl%YYTd?TLPy+k~b&CW#TR{QhcKicg7W3UEfI%Z69p?e=HI5nYz z>5nd5%|gvS>0l(qn0J@Hl8cy8_HA}E7{A+HWmV#+eX4L<=~1J?fyfo;emTg*Wvs8Q z9=CKgv(0?l!P%Na@2Fk_cVfM8RW9C|^c8PqMPQD=v^hhU_f%oz0id}qFK9g*RexwP zxxdUB+=2L%ySf`qpN&9;c`BN&kd(4 zxc867IwKIRI<&mwRnF$UYlAYeiFcmv__@mo+_|IbYH}ofsq5icx(sG&0LHtG=$$rS zz@>A+ZlcDXz5{X-Rtt&BOO}kZyWU(VP)xTTki8O=%+t)Mm@rZ(@i1QvdsBO4W@Ic$ z84;*SkFp^L_^mFcjXpPPt{oT7d6k$Nu{d%P=b@36y<;Vu0VoVnC1tm1bc7DM_jX`> zq0O!?M~Z3z-e?`pGb&vc5{_;wdy0w=4_D&7dy3b%we9$jC#eWhe}P`J&5Z4ME^R2m z98n@*WM1-TQRv%c`pcFUPPi7gZz@a_fk5!fIsFp6I`QIoPbKD_9Z4=lMY@5~Rd+r# z=-n;NUC>!5V$DiYq;4b8pH$iqJRMJQHYVt;5YPg`DB>PNLq0QUABvQg39HNvBkEZ$ zcYg^s3v#64*z#x}`v$8l@3C@U^S#Mzo57F~SSAd5zrteQslt3sp&l zLjjaXy`en+m3laL;;$kWRB; zNk~v=rbD{Y;-M{@`GSh;^E6-49P-?XtnL>Dm2sic*VJ$`!v8+WQw9`)@Y*U_3Oa9H zra>9)Inz&&{5*QunoF#k>J-2(6FhSzw!)xWz;`;NCcY&MNx7?*D!bv!Z^E(0RXWE= zcrzobUDjI_;cj+TMAh0MG2x3F<7NrsnWOHryj3rF-wI2vpNraS&E4xm;@lX+`{LN) zg~s>dC){)6s|Ghr+`hGnx`pf$BcZHQOehEgMH~}=qTBKTzY{9bXTE@9dwWMNW?;em!m7C1bg!RFtb2V*d0tOF*GR@)H}S4>K)e!2rzwOglWj-gx&3MQoJLZ-zwY3)7Cc zw)kuM;4-s!#FnQsx7t;>C`9iPll}-P6F~9cOlFhE@V9+^x;~L2CG~deZCS2=HyKSz zV401st^nDB+v^Vzx9@#XKYxF^>v9v3N6s;7RzaLAcYDn#S zh4*dRz!duZYvLBQwZYdt=JF zs*z##IibzTP<-uw{-&3cV_487PI~>`kT0=RT91xJ=!z3j{%Zx8oKT#GCP*vI;CAyj8&E-v|` zJMpW_!eqqkAIK~`WlwJAVJR$n7Bs7YEZjc2*pWK%ua03U*d+8E6Q-FHT`vwmmqoMa z=s}?gjgRJW#p!o3DGg3fh>^CW<@g|DiTilvV0|oZ%ne1cX)4j?C$HJLu!Ma6s?T~= zhijVHY*!e+kq<749VW^H(S(EbZA||pLNOag8P=|}pPBh04?Do9Bo9zXGH_i223;(U zTghwD9p(vNiQNvy>PErtULRvBho>!yLzcAtwA7Bg~)I@n#A-+2?1D z=+mf#0T|Z<$c(Qm`peX9G_@ z;xGp>XTVg^4_RE$1h5T)&ND6sP`L4$0z^JPNVv|@N>PSti^^rpK#B79v%-SZWAwhj zgM|`Da(#U2*Ln-id(Tb@SObh&7a#c3X2z&aKH$2Az8r!l@jc_FD(wh`#=XK@&py0( z;+j$av_|#jh{A{rH>r~3@Sug2WhJ!$Wv{qp1|*{`2wEfa&2HOS8a0by=iPAT=1Kkwu^bwJv1nm4^#6E5Cw=> z^nE&g$IU}r<<~T5@evB+Pd?svAu1&f!ikpR&$>7G=JpdshEm438_6ML!QsIUa`aII zospFZ-xy2iVj~Hn*(0%JsXO=0h(9s%$FVXv+=oQ=N9{(>sXe%b{!Z|IP?Yq9ymdxO zzEGx5L}q6~cbQo&r;RzYxvsf=S7X-AkLMZ;uH-!7y7I#EP0GGZ3K2XJM=|EzrI95u z!uO^)1leVxE26GNDMU}vLLRv5*h^6{I?(L0^~d(dgCj*bL}euhU98i%3GC=f;@kpw zbNrt@)G%hEXSu~hskZj)wt9?K<+JyyJx_}@gmND|m0%)&P#&WeTg`O$X?@Y5by}Oy ziqLFh??KY)Ov;I&j?#odV!r;z=`0_avuHen?|S#8&ELu=cbPt`EDYIrK1x#P{fy&d zvxd5=v*zMQlES-By)y`kl0Uxv2-W~U-F-?885r3cC3+EKlLGN5D9BkaO)S>Q^3-+K z2+dnA{0?Cr6v#eGDV4PxQeQVeWIs=+uCGq7*7k0310UyvWh&S9VWpC$w%1D;1lhl` z53$eRNl1&Em1uhArQ}6;hV z`aS3S!VmU$Oh1sfF|~QWcSvYuaAS~Th-H8%nW%fKH?LC-H=iY(g&klX6s?{lNA@OI zOjsycps&cU1gzZYnd&jpS=0HZy;ZhWefq-MGVz6u&DntbY}ee2z-Mnq@7NIAgt_J( z+1+{fA-q>N*)17TomVY1)l_}5W#x8ln|H!>(zo2bjBJ8$DqLWV{~Nys{~_0{+n?XF zy;lgkEkoE|6~=g1RA55Tod532^X`cr{_k~zo@N0HXtS>-F$38J*lpus>^HUQZBjP- zOK9Yf-J8j*99Yi$ zkV$MpWis`JD(KFe(654YA8(Z3z`wCe*F+micmFBr)1vIsCq+*VvZqWPAKiF_{k$#S zgJYt~?7{(L|4u?hX){g;+MtfKVPtcMhu8CzZ<1SU8UtI^dI}%Vpi!q`UYlELw4MuJ zqdpTowy&PhZ$7iRSFaNg*);-yM)KwD?DwQp)RbPKPp_Xe{ zRks17+DS|Ho;l&&9Uj-J+#T+RrtfZ_%*^T9sT$}8mUNbSYTkJ|1-rHwAB0|r{f@w= zfOtf1Lvo{mf|7!QV)RZ8&u66{d4qxF*bbEY0wc4wV~s7+1-WYvAG3-;p^#dmT`Jti zL!L1&E6)<(<%Nrti*HI)ZR|I-_0*DcgzKAjUn4^L2v)-uTM`kP?rIli%S_+Zr<93R zR@32b47)w2Itvr=t2g`c-Pm`1JVZ92+oj(Pn#j=D_3PK1fBNuMT=d+JS7782G!S|D z=4I}7A#8Mvsv&I=vQ>I_w`$j}X~(e%7PR;wtQpfc-=Tg+$h~`W?E6&ll-4e5{jfV9 zbf*bE?$;^2(-e78aAG9d;rH;&afYrZ`%C+$aE0`bq6P4o(-YE=rlk>oh*q;Hu9%~w*vtXV*w2L1Et;O>cc^@gW)WEwiT8a3ANt8N zznSe|J=csoL3`}N;xB=f5`og1EP(Q05M{s~MNFS_SWD#&_koddQY+|3;;i@N7V5`! zY#Q79C;s$ z@?q|aYjA$VHN_YlhbcI{I{;oa&9&t$l$21IfomKT)VJ0s7{C=O@J#`HqoANi1)*RA zzi$HHQWf>J6k!p956#CfUY3c8rm+}N{Rxe z4tDG&W)9EI**)wWkxfv9JOqGCJ98Hk8V@^LduIU;VcK7B2msf}+Z?nszg}^%5vJ8v zQl*h}a5AUiWq-*2kX8hbhK5GS$;?7PP3p-%&4Is!X{}sb90fQy+}+*T-MQEuoGdvW z@$>U@Jmloy;3=r3@mh zx14|71q3aEC&Y2NX(D(PMFX-ZC}JpbQsNpOs9Q6bDI}v)tv|72#&Z>J$yrAj*5~BV zW6;w}sZwCl=ZLprK?7gC@dwOuu)l2Z^8phg+IvxIYVsX|{R^o-XB%qVCT8av(>GHS ziJe!x!51gKJBh3Gb>?6+KX#D^0A3t?ztQ)C>17%Q9F^I(e?;mtxt?3+S|J?_! zn7=;=?Ubkv^FO=5z&Sm*`ybr{jc8DDi1t)asA+5dW17hMqk@{z|8pHU^eCukaNK#x zCDQ*|1_lw$e82nuy+q{112AaBT18QPf~Ws~)`|f=Bls^_;?P8(01IXGCydnl@3qd` zqlQlF^VR>IJiazR|WDv~@8H3oh+W3wzc1~04sp=B5t{6E6rKDRE z-9rRdn;T$7LNiZY(&!R)sSptf7|rJ!EaZIlDXe*1_i^IL+k~g}vQgPtI5`|C$C9 zr)izf*{9d9UrQZFRZ3n7o@Npg=Tt`U5!scHWLeQfVTaLX{b>dpVa@pqcJ_s=ihMh)4-{#Y2JNWkLuqIl9y*v(CntbJ68pLul2A&4xO``PYz^?Tyi*mABV@y*^L5ZH}>>t)_z%?}AKm zSG+!td*4A{{cC4}l~J8eW%Aj5=`MAWo+5xs*sG(=+n%h-OO0dG`SguEKaH@GO}ngBs3d|`8qc}+=6(5&Bp#a-izJ4R zF6%@4lQv-fRd&NhE59v|g*Rk9{Qcf9nY|_kFSh1dS`N1+hV@k}$M{~1$Q}x$O})k? zmNFQn1vH4$xE199Jz#9u@37XW#cu`o8qC(^fKs6hGE9wsD02sNyn+Tr|4UW0ffGZ0 zZB75?>Nsi;^eMB($N7@S)BFb4#Eg#JHb$5{ zFScux#Plu(xh1Bm?YIhFZwUy5!phsJq6zK_B%quDJIl1&bdqM)lkn8V!n^9lXpYx2|ugyBN_!Q6I}8e!C;_UuKz;S@abLD$J?@9^1kuX3w2W5Ial zOOscd5~4-mnJ4_N8ybU~8%Mkjv#b}#+tKzj^>tMqXUp;CTjS*n;O1k*gk^ds^z6VK zdipajZ9BID!Dlx~U!(=*T@`M>xpgE0KQ(PRwhvsqQdg9K+oXH2Er;ubueH-Z> zIwrRfXr(7nsW92+Y~QnqL#JX&a55}xV zV>NjlMe*8ACb%0EYoi}U_IiWUh#8f+#Sz6i6-mCZ%!ReVYzEh;yfe?`SS_h^nzHtM zQH!-Nosw?}V#Nco5?{`^&-pUEiOS>MufeQOtHw9m1%tZ&)^&Tpcn-2DBL1?k+GrFh zfcUC#H9@c=2m^ zgKOgI8(R|=-7(PbV^SvT{kt=^Oj#^s!**BW7fwqskarI8lNm~3J)Ar8qjzf z`8rcwswGN50#a3pyY#Qrm*(j;t1=_YCWnbn-!Z=O(0~||S6|iDKk>(^H>ff1j_V{d z^0~*NRT|S7&6wPXI9TcBvi8v5#B2bc9RPo@gp#sFQSv(luk1rmphugKnfie$jIg_c z7GrFW-FH&-bfgG{$SA6Jr<(I%r2$^PL!VvM9U7WM28ntsAT^s_hARD2t6KuITicwo zH?AyQur(m+M{IpZSK_}J>)-bpawwbxF|=%+3T=DB_bLxupao9zwAM|r=uPTOc4)Rn zgVzUx!&t_Z4yJZzoAg}T{5qrVD{-X?gZAddYuFEEu$6RjKD!&po`f)_MHD_OlCN`G zp5DOpF0+BK*A!0GIPkUCua(;;8One>I->4}Mr(H5lG>*ZC?)H(xBd$vh`q->Re4Ts z`gLC7FKwV#3{XxL2wC|AK{?G;h&O8wySs8U<nPRfvd3AGV3tVt90ewRnWY*1gxH2lULW|!1v(G|mlw7YU`@5%40 z=PBkHXlo}7Z#C>TN8g}((s8&xeBZJ!Wu*~ob2vwij^Z@DXY7-?!XOk{zgNaSStLr? z2)I;xgQoM1qM=Ml?7{CoN4f>-`MjH0wo}!;C58{NKkIWO_)@*)+bR1US9+7;cF8mHnd$!sLGF zkpDB}oxmb;b|M8!=Ca~8<&zfifLTwxEKv7fP>o61mXcY{m;C` zFuB3-`OksA&#nBc?a zqwd+sUJrYvaOIe!Gyybjwrq8!`b10t(W|BMkQ)lQx@V31YhR`B8&IHyM83+ofi}qM zxbWkd4)nXq{!tz}r=22kXF?cAD?2e|=Z{(h2$IswgW6xaTpci?8v%SPws9bb5Eol2 z(nyODX_Nr%o2QP0q;h`ovf*Rqrq&qxq?eMX(FU{%n?+jqN(zFcwI0j$#W4Gp#z&0> z!w^#ghK{qA(#P!qZu_fsDtV0~{Hi=%H^gY(VNgKWnSI;YBg2&B<*jh|VcEg4_J53L zfYl9I3bv*prb}U>pc!KD+6vOX*|&&2M5GfoDupAYAB=+yc0@g<75Y;oPy*I&4uFh8 zwQcNdr(e?7vx~P}ZTnMtAOv_vvyOE&_p;U?wzoOY*Y%aZi}oA39MgT`TKisiqd*xr zk+qTmcw;R!Ms^}DZ<_`vuNu`O5pK;x*cEnsj3(&E&#?S%*(J<(+txrp|8Utx(0wNg zOxs82FUF1YnxvOW&rg69UwHWbi*Bbil`Vc1je}^uT=R;1%F?OQ6f(hCEW2g#UG(XXk*GQM{A3E?%er% z(K}MW?A)_t^seNjedD8MrfRW%d?@X|`hBSboFIL;%k4XteYRo(TFIg2K3?isC0mt! zjd#>5MBZ-fWQl?5P3@mUhiUqY*IQ~j$Q5ewSVUO0&x z`@27qp=S-K&~iw;^WqqK{h)bmIm|G;SB?WQ&?*7km`!cd+L-9)u{w68oIc4D*+A0hsh4qK2zt4jHE`~SRFO*Q1Xi;jONAmhT3Gd}lu6n3?uUzv$(I_|{cz!OTT(qhZ_QdR zGT#dxWY}x=h7hRlfP2Uu7zlpWo|4XK z{c7v%jIjXb=Slp=&UW|V%=t&Y$GW3Gs zr<;S7Q??ElY*wSgS7eu&M{^Y?oH#AVt{12^1*umJ56>)D*wo^|4N2?9%NK~abIb&k`sCcA1XCvWYR5uJ?#oH=u0?k_rFHgr_jl1(pRT8 z29J6}olK4A6U!e9+vntK>NG`V`_H{BD8ac`JI#c`PGjY>1 zZw`e?tui5f_Q91oM1l@lM!?=V*;iiPeJ&*y2;+*MRpuwABYVFjt;_qs1P$&6N7|y* z@|qnUnjMOSn$4W+xaIDFUMi^!A6T{b>)ziH*5A-5qA5_zje8Q#8~=3CF!DM%XOeM? zTMVzAKz_^NI#1@f2{8owAMSHQp81dgU{ABjrGAZ0Yy@d6pp)TK9km&Dikqb zZ5>{pD$V*sk2e1Pe+ia`C>9L^nynVye6{zq^s4zs+Tf$6R3q5nL$IrXN?ehuTwJNP z>HaZdZ{|sbm_s_1f!Ru<3O)VuHZ>7eV(-mx=c_Y;wC?}=q%0sUglW`9*p; z6E8RS>9B=bp`uQM!0x}N7Xz?^;WwWMT!PZ)PcqChy>q2LcPw{>_uY6wfEb@uPJ7I* z$A_RfDjpG#i)M%g2!f7Dj+O|tH+adJ>k`dXRHYo$ja;J`bNwl2>ZBk}BbTR!AanT6 zrZWp;OX;05rR{=KKGp#1=xvOFzKxLcdKDk;OzMpJHAn-j z*v?oO`oB)}yfOfJ=R&CLE@9Jc(g9-xv66kia`=M6Mbq>|QH^4qWuITaX-n#~NhUk= zVlvb;M{kuNicW@|-*x}>QctSP?3r=g@Bs@kgIrM_{{5}bP^X;mtkD%-`En#F$9d==+kyR;&XY+7P=s}V~h>m#{uSq&Oh4MCp8*U5jra!&iV z;h9$kjN)7Y&Gw&ZqGJ4b-Re8B6Yn}_7pp+Vkz@=CQcUc5-c%acoko}MQ(+#jW2R-f zV%Zfl!E~&(qOm`&Q+DVa&Q(LW$zw%-K*9TBLsN!~3GTA2yE@%g(va%wcBS0F zRe<0P075c)RZ3sNXh-6`o{3%0ElvI;0=0ZOy7T=i>sDd+H0(yw3zmaP|LA|K0Od^} zzJDunJ?Pb?!=rI;G?T)tUZli!bMnG&(oaP`IGPvzA?V zFY(JG_J~LHA$2R~2;p@%yMEIe34(t~0Tm-l0{|gUyW}kY8tZ>J?r&iL<{5vvTKM0u zNEHCDJXp@*`tR92mjNKmR;}~1|9%CSi$5sFY3SdM{a-++9AN%M-KOi9|F{5uK$wr{ zf@Ci=dzZ#a^cG(DA-4JQid`Zb)$SM99&Sv^`JKOvS62y#fOWPhrv%ehL84CDx;%Cd zSVZ(*Xf53R<@>0vxol596L8<5Ty!V83la7{E`ATNdb&0CZ0OhoF#v1z{nYoRICAO% zr%2ll_qBL``*QF0&{q3WW8L$W|P`(b2Bo|Jnw8h-`3!r~94FJe&Ss+R_g%V_) z*RS@c$L}w9cju@3G2fSuiP)a1QAp%8U#gk&3;pT6`0Cfz{8X6VIpxuR5_+kS5w|f! z&aA>TO4SUyV%Qj+EqWuEM{N?On*Ct)*SDthg5GJxozV>j?Q^bR!zSi?_wLyrq2EO_n<++%#PhW9y*k%F8bVWwhjhc0_7HL1s%;v9Y(y5x;eg#q-?r2Kx0gj*A&!!S zw{ptw*q$wTThH#9kPGjSyn^xKA#Jr7C6RWSaR4%7pq3+hFEcaK!r}tSSVvmFOCHKq z=(Yhjt)w(~{LIoQ)_!W}v4H7Z>M++l)Zp%rFEr2>%c7OzdvUzt#iX7Wv(lT~%>r(u zb=@3uO>$cwl0HA#gAO)dAU+0QR$c?DP(lIpop0206&j)e$RSTu4-zaxonpR7F4?UVbZq~kYgH%l9q zMzxG$flV_YpcY~Mo3+M@d1U$|de{#jz&^cPeB!L^ylOK5YV}85IR$v5EU76*SEy8^b~&7t;D^lo-SHgVk#sWCea^oRw||j8 z!g5sK=F?w-SjFUAVk2WQEmoxk#Td9BzbDM8jP0_#sAkLS{|zN}_m+mo6x%DEzT>$; z?Q&&g$v+?B9HYGbK*d;L=||Jl;2PKIpu$zb@Q3bvt|Dd$X|P{x`w)G0u-XkUk~yaB zVR;{c6v$AK76-sleei@N?os%MTXj)xD_SnJz>cT($MhT$#ahxfhx5Z(jhd&=BE|dH z;{YyekXw-A5a9cYCLq-GVN}A*K<2B(U>$)dSPy1UOfdFK84##nSI54?Yx_`za83Ah z3J$+;sB_y+%27%lD@pS8S@?okb3pmq+RihJwaz^Y^u5%5RGbvSGN!g&3CmNkzRzm> zC`$X6Gw1sbaJ2m&YYWP68;UhVE>3nLZ{~K%;;}4$Ij<_pO*_I6GplAjF^g5vDvfPB zdeOx-lO83fKF7F5O)fi$9O)@*M#UPSK=p*7yyFcTfJiQZ_&@Xl~>-A_Kdchk{!z`2Xj7^{Cc=X;Vm z#nX&{d)Jr>k5}2mPt^eqBY6>e_BFqQv0gZ>dWs1J!hUWr+-60-=YL~>rVi_?k@q%FXTqcG#09Xm-Ip(4DDS0)hywZH zL=oS5++&*ntOXi$$x7zY*W53Qfq-!m#udLq4H0I3vz0tiOhd1W(?$wLHos9s>uP|Y6}29h$f9en9~{;LPsaUfnM zK3?sfxkTFkoQ#My3?$qjVb<95oOAP{RO+p;9%e{Csx$_2V}9Lqy0^E+X(u_3en$hU zz^r@-|6XjXQpS_ym-g*&g0bE^8{o%XT|a&#WNodi;Q&xwpT=&oa(_f!McT9F>7a=| zm7c~lweK(g@vT&BXuL^C>yrEWyVHM``Vq;#X*?Lh{;k?qXF2ZwNFOk;tBxXDQK@>~Zc@`Z;mcsl}UD1&1H?;yy5wIe~gvL?fJxa*aNqv3u$j1C9<2AD{$qo&C^2Rd0Z9QReg6|5X1G3Hc zT#~FXR(#>vxD0N#RB={2iFc%FMDW(aU!Lz;t8I$1i0J;zKD0966`92{MQ#!l4|;+i zIV*W`@2^dN#OSy)t>fvwVI~*P-efynW>}~JUeNcsi0d87(YaQjlV3^+g9Tp)HMgYj z`|4s{CtuLa_seEb%eJsv)dynnV*N=-u4i`r(EiV3&g0mhPK#~$XA2DGQH5u zx09G*(n&}>#XYK6ZiZgdZ*(#k^Q$qMy*)bul9mV3E`2!Mr3M=3VFt8!lVf5Ah@8&b z6A6O?0I2`J$QYtv`2ZD>B)Zrljd)J;?#>h)u4y#5SL!t35)aqDt0w$2dP`R!N%ssI zTsL3rvxHjRq-6c3?L`SA)}hQRcwmtHyBMb4GfMui*o941t^(z5Q8THERIHk``Uu_C zkUj%*C<}-D6hSKevyG9`-kXQ;Z#TAY9>QKa%bCZ36!4`FcRA~Q^{8Olt$?-ghZKndUCZj01WW86#?uK_`D*U|(;{{n9KS%0m4MsT?-HoL{|Yg-hTmOayNhH-c7aE2*5cX2UX zZo6<<$sQJIYUsoQL2n2f8;%#@i4aht&?#GTo@h8BD^M?awbY*`owoh6(hBb$q*qT5 zvM+Y=)$lf>I)hRSmnHnV29J0g=+pCP{rY|P*SktnR(iY`KcZX1jKbvVp7SpbN076i z;b^0oNIQ4MrH7dyGdT2*QPs}rYr|viT+*#**UUQf*d23mMm_@J1ICLBuz+_Pw%Vlp za)s{{sd~9~h*}mG+||U;yGSE9Nuy9#$<2PwV!0b66LtSuI!KFb&2EChCn?d1gt>Ew z#71$}uXj$=#aMKGI6Jf_dtFpQt|D zwUP{2;ZcLxj}EsefkU^A92Bz^>{rd%mfc_(<*txnvK+0q0s%>?VL(o#)(@8VIs#ot z*@yHxT0k()T1yS27zCOCOgOM@0NIe~n>9`NXIqGJTIy4i4>IP2*epirf!ursoKsLQSm!Hq7U)@ze-J>jP^-)Np zC@l5@R4as-uK3IyqMCY-&M;zwM4?+)r{c*+1O1QCw!J;k7!1KuuhG!%t|LLEc|-Km z&loUQis(%%s^Xx2mo0s-ikO*Zwd$!EgV7_$RaffOv4| zmPJRz)3l9Abwet_t`dWjzPt45R%)xyntYhffTFwQDzbLj9q(a zUvdgir|O^K>>JMy+;Cdo&!w?pOnKopU}U*z^NuRDX_qY@RQ4JEn(k}r@A&W6w1}F} zdiKH%jl8bhc(8x#tK4+&61$-j=vYUL-E_U6{@q^4ZoOxbX*~GCzDU2`Za z^P8~Gt*!@%r2 z4lm^L^biFTqZJJ2L}KqR6OwI(69+1Y1(pTE)3{)`$BY?-iF%i;H&L)Ua>nY^*nwB~ z#Ar-#$HhV3c?d2#QEonu0WWz85YAp~g{TRWBi~=D^6fo)`k9C$fIimbmW>P8@pe8?7 z<+vIehh|>7mEaiR zwUpC2A!@CGJs7_#(QKIH^sj;r+6TY{Um0s$Z6R=s=P`hA!L83vFke(0F;BUuR`ND2 zmE96NyMI2!>3ct>w^`+)+2<}}%*C?EKgf;71X+N5JDtw`uPn7#%FR8Jtr~2(fw{Q( zU(_XXHNXHLiE9Nn>a+f}NHH-*L%-gBpiZXT^4NQFTpS^iZJAgqf-q_d$pikGUm?beN^&w6 zt<4pD*P=UC7A<<_n>6DYh}8F;2T7C&MxZFbRSu|tMW)&isb(DVm=D9$lm-3?K7d8# z9O9x#J^EwU{Kb0kp#PDN6-O2w2N7&Bn!j6#PKxdB+E*dNeg+W#6o@L)>z`fds(uZBUvAkR0B7(TI}r+7-;G^8;zxowY^%O*U_TCu>Ysr|T;AcSbrt z`EFWF)S5KumGsB4N3|!7#P5@^biTTu-VMFq-3w24c+YoK?J&Wbubk>)V@h2cXFXpk zUQ(!5Dj{8fkR@)Af9171ni&?unxf#7`}3!31z_H$UQj=(TeqxST}?L|Y^Uar2WZmw zJ?Vl9yuOGM{d%9y6v9Iop2m*Lj(I!egad$2Y7K_I2VVz85l~ZI0~ThI}YvxH{~UOog7e+@rv;VS>xbiTW>^-m-w zW{VRs#K=2R$8f1w{#pT&Eq5cbTc{&{L%W)T+SQK4?gHunZIc6?GvSBy}5#u-tv~+G`|+K*arQs%~J4gy5`QIi~E`F`g2e7 ztp}TeC$HawJX2VWD#Ul11z#ZM_#ITLJqX5}pR~jQm7VVWytvzsm1OY-waluG-y2-u zAMy=WmDa#&_nP*3+57&8=nz+G8+7l<+~alfzqCm#sBt+(%^NWtfKc;){N|<4YP0Q$ zLQwd_BKbR126t8I~=;0Pk6Xp*0d91sWEftCI+Y5=i1_kAxAGU2gOYep^dDDYFOJvQx z<;!c_#DKzlPbx#jmIK;$HZStGUE)r23U(Ea_H)h7KHc9}Y(Z7au__lcIA?`qRP?Pt z+#$P;Qh|fb>}96?xD$0Jufab&oZ$gNI=NPGZ#tgYkDLUDe2)g^pYMBdE**Y0DD&g#$&a;d+qxRjz)SS<4hzx7Gwb(g=`_PUR=>>zW2i4XC!fQ^!o3 zG>_c;j%2-!f_vhY z(~9@kyQ+q24V66eF4P%>6(p{mw`=aeI((>_C#Tbe-!8GJsvd^CH}EE`dv@)Y!5vHN z7SGsC&m$86!BY-5N0k_wkHT&->jSe>ozykTNQ_}tAIr_3cWc5-;33-HZmgl&)&U$9 z|L_dE-tl*32c^Yr{)^_VJ9|Ra{Xo4pE8TP3lf|>0ZHFw&yBCl1TC|Q`J!JqcLg;YI zWwrBue~ZoWPay3~PVMmF5x}z00{$yqR@B4(vIH(z9u=qsVHwb@7{1=}j9Uv1K>dW) zdaQ3eC0&22B;4vF97^79c4O}<@_gTzi;|Vz)_l zyZmlxs`++}9=+%O5_{A44>M73xOZXO)Js3wf@%5idKajt^fFpPn%m-uTC|#XVh{dN znt660$1@X1cL|{k@y08Tvb|RP6iwG8vcOG`pVYhV(C|AgMX58Y$o5TpE~OG$@Jo7{ zf1$S?t;~EaoM6e6h~qZ(_kTn-D*yIXgtB^=yFxp-#O=W+QxG8|m~`eH6FWY_+_D8esND z5LX7&vVvV+=NRPUu zKhC6T9z);jUkJMG6guBtyCC^Ez20HYn6PW~^@);!Zt&WxvLxEBS?Gtk(y!joTR1BY zSv7)--pfjFoI|9M^@uCD0uG_kjHKv0#6T5B4Y0^>urue&a#gXETLU_Wzp6>NE~`ms z&=_}{FYMDHAH?`xHgDYdIwkG(-odX{msA%O@odw*^IPQhD}r;IvXVUUTPZy z>7-6QL^6%&&g4CJz0HlKZX;FQYHOBoZfgs)?WTISC_2qa!A*!<=kr{dBAp8p>*40? z=r-kUJ#Ce-bphdeJMEe$3@Sbb$GcN>Kyonp{6muL9K1g{f1S3=5%|Db#aQ^vP7nzc z^5_%N7KX?Htnl;m$~vt}Esw-Y`KKUebA|(I8$0c7#0xeLIWh~Ot)unb6sQ0#pQkc7 zf>EKyui&Mh;TrdtdWKQc&}*X~c^;Dtx4(p4tlC9RB=E|wK|%=@YvE1uYw6a{n_7^t zl}g1u2HsD|wZ6k?*7IPh+CENh(I^%#wlG-ado@t%XgyT?W~5kMivaE>7KHDm+?OW2 zSnQd-JW5q)jT6s)uI=T%$;#1qm?WeR&Rje3T5I*&htk1osU=s0|GGltRBF z^Y!$+Ku8#}O}y&&rOlso?@-#e9_;l0i*&d-6c^D9`n3z^7a4XRy6{{I*S`>m#}gY~b0~@gJk`0#PtZmTAOqP-m6(ga*@`fn zQ@r!dy)8_yBPRdX32lsFJ{Z@LpV|uM3>YaG?igj!TG}nrO2u?N&@S+HdAc5NbeoBA zw0IcrxMd$}aS3+^W_DP>%DiZTnUE zeW>)#iuUc=6%_Yr5xPYSc;Q<#Z$Y%sfjaX)rxO_Yxf-ArZ-erP@DDc?P7)`mqtnrT zkwH6(V$PcuQ~`EQkb~_2x9wUz|X&D4OJx zMw)w?=czKA5MFDKp@ClVH!(?Ssf@tqgvn=^4sWB37 zLc5~+TU_*5XujMX{w2t7$n4zDxBVr5k$ptOXvb(xGU4e}Xwsd%_g#$+PE{x;l-1tW zuiA%&JbHH4YJqw^izv=O{x!iraL^fYRQ^VA_7gw9UqM%CTl z1%R)JfiOOWxaw-(pUciee7%=*AJLhwhS_BW_(RXG$F@4Z zPM5DgBwwl%m&`F)ltGWfIr;{ucl^_Io;O1g=B#_Ur@Fuq|T*Kw=Bf6Jw~T5!;(kq1&VJnJpePjt~QPxzcIREZdxVD{##l-|Q_km)A(! zN{h6uYhPD1FKufrJCZ@N1_+KypT?&5zUGb7wJ#<8fDl5z$>}@!`FNzHIZ&)`4p1DL zj&QQ|>E{O*X)y0^-khmHQ<^H{dq z9@ma-L_jm#Ab{)}KR2tjmmu{(eD#d#KhKQ$!{6M@N5X`&I%mi~;1Kw9#I47NQ>etM zyAHY61}6OKmjRA~yoh~;&-?!)?7icfOuF}BMNkk?6wwu=NEH!Ks&o{T4hqssRC*Jo z_kgIVD7{EWdhbO_2#V5s3mueB2)!mG`Au{|cAs~@?;q<2-H?0knKP$e=Q{QLQ4(f8 zQ92pLx`q0S-tdTvSGDD?X}QZekCsVo8*6R#jd80wIrF*}Xp`k5T$1dyF5#Q~ zyUV26<-a7S}Hi$;|>C`=X#9NV|MLFP+0pD9_b&RUu)UXc-y7JwKat(~ba~lx$&W85_M5Ma`uxMwoNW0j zAFb>f>botPO#5;;O-Qy^}%3`M5yy{xyM5VZB+)1 zEZtFvMljbN+oV ziK0X#OfxH9r0<#>Zc%4ykY3e4ZMaMMm||tBa!h+QQnFjmb&n@ja=E-UbJ1w_Q1LM7 zONpB167oCwY*n9^bF=aM&W@2Xvdb5YvT4} zp7)^~p=`}je9+@rG`Z7Xj$=@_K}s7qi?Ok|p%b)3g&{RR`vpapA{ELo#d^qBVypm7OJzX*ZH!IHORomMMSDr4AfXyNgEt<^31ngN zpG7a=6F0;9eyYy247YxHGF+UgY_e2<_GZDIfKtC9OUHqdTj9`nD@S+u(ug>i*r&Q<-A1*WI zAI+5zuWW2}O^}morc~FmNBgBIm~8PtDy{=ZW-p?`ptj}9;T(xY;kneDunT;xU#p!Q zl{Fq@S_%wSc*cbD;NzZs5im$BH;Hj_ax8a-f(yTa7|WYnHbC6Su$kUV*jZ5QS3hZj z)%eg~1d5h6MB6mA2r)vP0(!C37w6>0fSTNW`e9Gt)Ah4tGT+BD8lTqRIVYo3}LcV=`lzdM}m=?uDG;V_>RE8=?Rv=mdK%&v;D@J*PAf?w`Ds$1k)gt+_OJRQh$xdWSfm?i$<{@!#|=mCHT; z*-^9r3U7Lj%5QzRu^LFQrvw;femFbkdskhYF6cxN;&5BjtJrmPFK{8tL?i~g&YwAr z#cYJVYS9$l^c`GvQvFgwUe+FTmPc;$T`EYvlwYi;C^LB2j|AaZteE3%H;D)A8IRze zHllO*{?@)E&w?ux*C?r>>G~LQQ^_n`9xL#sQ^s6(H}Os7v_g#oXQh?7p$Gvf{f6T0 z$OMy_5@(ZPRk(EDVE$sFTiD z9{ut(AG^$TNx&gU2a{s49`QvmdB2lSCiw`5XVTfoyaP-6jVaORrok=VPR<~|nL<2h zTw*V91dt6KD=sOW#QTqX9$s9_-F)V`I}w*TquqlrN58EP6cqB`Ltk5WHh{(d?nK#j z=o6Xkn+Rs(MMOVF+Vtq-^#nb6#=VNa=oJoENNrDP?w&rgHr2)+SZc{>3%iLs?f%YX zJx-G0f+yWA2Q`thjBAlRc$)y!`j=`eTAOUoflX$KbGnR_0z?mXot5pkkS~TD7X)ue z8iW3cky*xkZB;G{%M#GfE-q<1pA; z^F%(>ljut7rt?ZdO{P72a`O zAIU!S4#(AlN`T`d1~mgbAbRpv6lax>o!89qHm+dLHtq=Sk)KYs(acBdOBBW{pcgPU zNvda*+%TT58FwtY7>-BtySHkUx4S~I$iS?g+3P{vs%3muFH+>!TYh}A#{J#}!DykE#JS+N%-d>Jd;3V8GP%R&CcV(t%KiXn; zz3r=wI&Pbd533~N6vH_ApdLoAI_9*v`PxyGX&T70~?s*yOA0!+09kJ8& za4W%=w$om0*U-A^jb?&=CS^%Kh=F%kxy%qYYINGflC=il_906$vpmnI6c0 ze8qWGi0(&NjD{!YUWENh|0o<&8WV(?j4d?uf(vtAeez8nQt9#!&o4jcD(SIIlnKOy zKCX4!hn5v$I-1VhZO%se?z8lFmR8+>oT8m*M&5 zxg=c=bW35_lp(Z0wn^W+=_2Qj4mHdVx9-U(FO`eYYL*}kB-}t~BXsqT5N?PUrD;+hZbdy+s;+Z#H2;hvYj49{jPT^PZQ_f_Gb zFtTz5?h{6`rv;E>*Nghy2gf){9+150=oKQvrB&PpF?lgj7gmU)5))Wl(8XUsh;+Xp zAQ7JKUcp&?47_};0*wacIOdsm1a#jftzd{SUwRAZBgiQ|uiMD19355U*#C7M&HoD9 z8x8U^&dn^KGq`xSutG22jMXe}#7lN*NY;4BYWA$n_M*LS>&N3;C@vw}5mF)GF`rbJ zwmkDnG@m^H=OyzLWK}BcW^XPRnGNzWD5fOfWDUcVN*%GS`>xV$oGNPgInAgae! zvs*@}4?r9Vbsf+y-m&|vGFHN|I}>9(9I=K%(5Bc&F4=X6Z_DL2n~XNc zz2g?m^OQ-0IZ+Qfao0T?_HvAy@LGQWXD# zXhGX~Ow;(70vWM#3sil=o31>PUs&u|VI(vOsImz!p(Is3UePf~&35G5!vNVKw~t0vgd zt|ZVm=+224VR@{!+$uNbM~CKaS31lq2S5=o>}T6`9Qi)SuT?M%ZUx)S+B4FV=q$rj zah1=$OfI6N4H6hZUqzCn$UqD?Q7jMiDCS1@a;3R#xuNIOaIWM%Hz#Ncj|#!$FrFqb z=hQKrmi~iV{~L$mGeC7!BQ0mdhO1L_-PgH|vCMY#dbXA){ZlDENf%YX6=h=BlY3sg zbfK4AD_y3k+w|-(I8a`b=wT>8C&Z1kr5 z!&`DUWcuRlAzp=dG(F0CFQ>~zsacBaLnK_xvV?jGY_`$NFe% zBA@50Ji8zhpd>j2LN(~I8qMp`%+X%#*9?Q{*a@xmK94}W`VZm}LZ0kb+Ug-dTeC;% ztY6e|-5L+y8!T@0PnMNC#;N6DZk`b%J=3a_q84=`mC!=c&^2z-x$@xYv|A#F%~;G$ z+2h;G%x5&Na)m2MUPXyGMGR?5iGAb(@741Z)TomxQ0cJsh}Mr=0fW%TJCAlT%h}xp zP68Ysk%oj6GJl?ydOR(EFX}`9b&EuJs=vhZr}FDaTQp9O%>4#Dj8pSIy+wDc&T?($ z`6(3;u1|eOuz@c0<5&Vn@hI_Ea=>g;P4-*M{(hTZuk$BBY+yK0xbh%C6EzXty6mv!n7$w_V1lTrv)kBa z20BOQu37DgA$`mnCCsC|s$IY36yy0DP2r+}m)bjnjbtEWWms9&mQ^EYBOu0Vy8}ZL zzeEapt)T|@wkj5d?V|5`p3y^INs*7y1Vlg97o(g#Eq|6DJ2BGkDr(-Dky$NA6EQI?f(uQtmLHp3RL-(9J5 zDH1C~ZwQ^nQpCiBbebd{Kb}m=@4uS04w^Rs>X&X3@u8JuJVr#PK7fX8StW|ahQaC@ zA{URf7})80W?+%$fp`S{d=d|3BG520o8=|Gz>cBcSi3_|@g9{`)_ZQgIv$AOO|cFO zNw);_q_z5lT|$VX^?5;lWD2zVb_07SAL+<;xztdWlAAA2(TJ$s3viXclT&iq z3a-y;TXWMetwvJaVXrUeQtX%@q6h+-XJu*og9GBK3I-B|uD4&IY#=6BPbxO0Ai&@y zw}l#JCpmdO2=o!@CAXeSzlX;8t>=(DAg|B7=}P-P?LCM7#_g_$x1M`u4<`nj8@d_1 zFTa~Dn8erSctzJ8**7cP^h8|a>>vun9^C{7C+1H9E029SC9>;{vuoG6uAJb?rwIjzlP>-~0Ho5h69)_V(H&vqidy8C9A z1WSl+5K?=<$P4;2p*hd6q#&~Qfk)cK_fg*PG@ic(%F78|^uW9!=F|Sbj^akEoEnWj zAX~h@)TP)X;(fBz0i9;y^+c$>B_fXtiO6@pS7b9R*rf&VD=~0k=TXN<^_hzGL+QMv zd1cTGJei`hnv>nY8410{8Nm};Y}T&*1w+)mKIp}!92h|->>(%N;+(bH^#J;;_tg^! z$mW6a8Uh`oVc74v`-%_-z{#V~NIXbr=MEy3+r}SZgEvuUOrxw?qjr5fY({0x&9BXO z&U18qw??%gu=4}er9FdKKumZ$O)1)ZN%7*d-20jD=1OS=Y)ng|xM^zpON6vH)G%vn3mW}#$E|5hkm_OF(c6*Cdu0JQg~KD2P3KL<1k7T zF8aY^ac)z$9LbnFz_EEwbu3JlJwwdqm{Ux+yJ{% zFkU}N=W~nuhS#1;IjFHc8%K}3bf~u%9-rGJOF>i6$|nG*v&-8MwgJ?`m7?NtH=>N& z$!r7!Q(B1yc4$VHM7(pNcxIkqAitc$eX=ytcr%MS$#uptX8nhQu;)U`;P&PjD7GVZ zD^IMav>33I091hF)51A3b-wb!TTIBENHyO{QYu%v2$8{qbx2m3i|P|qo^&3KS( z3|iM}IQO7$+h0;RSz%q=qs-dg*z^~bf&_itbvEuTqO<2jPrQYjEj#q2_O8pH#YjgT0 z?kRB*pG)`7hg?8pWQ$04-`0LWIM^x?>IdrjWKJ!Y{%8(4eaa(k!786aEDn%E7 z+G%yaz4&0&@{wZ3h0IWPr68;kGLu>Pm}bGVv+6cqr^-|BP2VUEcq-Q>*BO@jBHDt>K=2s?q07-PE8Du^>6ZyPE6#4S^-Gj1;?jl5+ym zg|e;M%9VUKM`cjyiAUYrZ9ch^O-D=A#R_N_IRrS_VNN9(xVQM^I3k=V z9Ai0)@&H*tSX@oAy+~D!SKBqa-8B=}YH8W>8iI>9nXQ%g=J#)Jal|$I3Kj|fCpJ${z>XWe-lNPzT>71*TZx|xtXxZf~I)O*xU=p&rHBU@3wJWmD zwPt_XTPTtw8`89{G2I&wOS4^iH};=)L+HUPF4@F>OQ7 zN#)`rIUViQ=ZP2K_k)vEvSIFC5i$LNd8OGAk$PyTW^_Ek*as(lSE7S#U(ATJKN=WU zt$C8!9du@fUY2xfm6+NGH@_gTXcC{(*tf+#J6E4A)v_hj_1Auc+a*wVp8u5u^gMrW zZ38=KFIPiEa@XwJ@{oID?nPybPvmU$w+hB}QnqVxST;nd=BbBE015S_)CytzW3M9V zX!^xm5>}K=WO%b|4|(|i573I&VgW;pWj-cPOI%I*?b~=MpcCzBT|qdzub0c^;WE-C zmtcEn{M7IVTI0nxpV%Vt-dC6xXPz#*Lw5&L$_BT3@ZS?8GoGUmfIh;ODXu{mM^Ah_e|M;M zHL{gkSiW6&_WEsNvXJu+DanXlJdq$iMVgV}=k>zu>$BtM<%wQgeM3wg$jGQea@633 zG1<9@R)p$r-h6*y$?i@IsejtlVPww(i(KeRPl$+*uHTzJ#=3rEnX*y3L;dOC&t8kyzJDzAh$5300Vbl@n~T9-%= zn0o1avTR%wdZ*u!>2cg=-uh^v#7CdLl5r>)5;LhKVz8mc^Cz%s)hHFo{MZ@AMKb+L z2l@Iy2A-ZY<mwo5szQyy4dwb!bdIev5cj(px&iNu-4d%z_PC2GP7hmCBeH~H7g|As_RUIA_@^VFR# zr9bJgPEvCz=&ovvwECq|!gJnI$}M$#n#z+ro33{Ge1^lz`fBzH|3qBI69$C3x3i;l+u|WN zC;KFG4KN0*GJw?Wx~e4R#bD87xy{;7`(%^J*Ny-n<;DT2NfHy;`&GHx;S_x`_1FAZ zX0G0ccz^s~xRln|n;HSw%}9@1(|jOJUEH)%=d3ur9>r(8M{DbT;n5%04!m=c8p!NE zG}Kf%0BF9^_t~^UGzK&KnQWQ$OfC6rM^g#AZSX`%Oj8M)!V*M0o2_X@(HuHeZsDys z%V6q{c#Y#5OIILV++2NDy>=y%L7jz0veTn)^J8dFw?ulfBg#L22{#xfi1uof+XZnwHW|d|u#e3|wt^u}#lo;yIaBTY+uhR&p-RjS~ zyU(ZX-b&iDJ<@?i-T0Z=m4|j49n*L%zFN|oWq`2GzMoknCa}k_hG|Ewb-~9YZcEei z4xeF=V4>~DPhD&H$1DXI0$g*hrY4qdKM_Y6Ofr7q~*~$}bx3iLvSwnF?UuMP8i` zZh+`)13KbXmcA@R^~_(MCr(9Z)x#KJ=#5D0!D9E`mXrHSC0qs>_z|NWS-il^sRJR8 zl!`B+kby*xL>gTBYW(T(B%9sd&dtH66q(5u%?%7qaWG7!Zn`*9HTD*F=|aD~O|}h} z?O@55oD;*#*QU&F2O=i(Bb0eZ(#g>Za(Zssbz@3#V)A9yW9F}GGBswQUpy(ctU%>IGP`-C{}zrt05VE% z4bKh=BoQCuwtA1-5^|0J$xnG3_{ZS3O-W+QL0rW=`-l9CNdIvA2l` zexx(_hm;8H_XD=tAc+S~w}lT#>=-{0IR)ZhM%Z_ZXPCNf_XS=0y^QXT*7; zU3)Ku3e@Ky2eu0bi=w7`%v2QnKV}aDdyvs;WwIvAAV+6)HDMFkA1&Tz)i0>}*W9;i zCrdj|djMUnu-1pS)9~Txnt)>rYXKcFu=4Hd7NZzgcj5!8sH#VAFO@?YmJx;943~K2 z*p%ZgmE;)6COXH}B{~jo@%~7?n5qIp`xF%&Y&Jp1CMgk)z~H{hiG6)2mr+|7mrbQR z6}>l9hevkg55}fY-1Vo91jvMD_WsYPY*5Z0i)8&Mn*((8zwEKIAxOZ0OeWqfmAUq&P2B zu8HcrdHW$eLa3~;9tYK>XFwN(G6k%Q2`>O{!OsD}rAeIRHI_Nz^Nq~7J?!?+Ngg?+ z_p=}1-}>%x0Gr0)vp&oH28Rm)YTL)0>XBT6c~w&EL6daQNg|pRxZSiur`DaAt+kgz z#`Uuhc^nbK^?V&r1sE8=6L8JX-&iqXHbyOI6#bNJ@jz`2q)o0PZ*oIwtji$PE)OEOardr0%vucQ z$>dCJi3lBDngjVNw1Qf8k{A&w@!1T6)HgX})uM9TPM{g$Gud8=NnmfbF3U*tU3bDO zuz(!5D(@BQ16vl%oCw=R(PNidez+YU>cOEe2<=#peO}FP0&ZlAVd+|TqTAj1foaWO zCZ(ESQYyLTjA7+tV?8!4eczYFm%`@NC02!-p2my0noLY!rW1@BJ~xjFB?eCUD=)j1 znrja)_DJDdc*NLKPfkaqIc6(PtG$|@ZHqD9v(mEFH)n&I7=(-J|Ap(lD(r|3s~a(v z2FG!-BnP4ZdM?5Teuja+KRl;h$gQHQ4TrN3Ec+1gU)}6Oc~@r-90ZxqwQC827;#_E zhMxu)(DHHxuT#~eR1m{#rqUG21Gh@xCLUf6-i34W&9rZq?k=o|!<~6C9;K=ci{+vD z*sYqcci%Oab3zF{5zU``Pq3)gcq9p(T0EbT6DK=fzAV02V;KQ!xp4iVHf|5OA+S3D zuIVRgbIq!k)xw*y!Z_#ZsdiUK`ruA_pCPcsUZQlB?=2Ci6VrgS(y!8TflyXZGXPg2 z3qnM5$iL9`0h3MSGrLXpE}SVFxBX%~7A!7%y6Ykt@U|d~{WMkhG`4Az_N0VVNV!`u z^iJ$iA`7Vr|L>BD!)eoZp-_3?g-Df&2Xq}utORbE7;aJliciYvZ? zJ9FUNX+oWkB>`A4Kowzn;6VA@01fvw+bcqk2b7`#y7DYbkdW4Uj~iwFN^$VJ^j=N@ z54j-sY5J~lY+8l|eazWl3`kUzS5Lk_u~$L9)-xks^u#mP8iz_Osj8{o^=zx7)PLYo zD$GhuNg%A*`FnR6}5pHrTxfi`X?!mK7@eU|70{*~WbMR|#cM#;J-CCBydJ%5XR z26CBDDYUuBrFN2i)pf{e{Oz{+lmIF<$y`I%_JdZVe}9HCiy)?1-0bWJV*2;-NI9I; zuVCWEBDq4u1&bZ5AAFf)aU5^8^@=$6%3i*X=DXOIO%aYQZ zQ%t|VP`d$fD(323EyF&SsWG5p_rr;>4(6<98Dtg^?pX=_x!<<_?b$>>=#$>7|6cDA zB93bX&xen?ZWovG{+JABd$jDe;-KlF?>p6@w5PJgATdAWxVK!)i~e9c?XX8ewTPf= zK`ciM`a_>jua@7iSUNs0X%~<)xRyTELC1ObYt2*M?%I#$i#(m@l*5bdFa36 zWX3B*8!M`BF1Q|eC;MW`s6l*TufTvt2e!R^c}K6N@Ws5dW7d3EfS#UKgo%}NlOn_Q z$kn>xw`0VA;a5*Kg>q(ZpngUnk`n{NS+l(^QtU`NIjhfi=2XiDB(wi)Q$Du+0Wsai zX0!zVV%^PtG(K(zRxRinUSgqNFCJs%TBw2V-HkEX@kXW^^w{O0#6=!PUg_}Sm}Jil z>XO#2EGzyk(cbDu-F8I7nFt(2e`K8SQ_8#AOWA(7qJ*C*xzv|!foRT)=hy9gPIu6J z3ElBdON+#gq{5q%!bMG{U&GdRyiG$mjE-;T+>T85DAl2P$m6D503n}gqh^lN)!fkY zD@(SBJ7>2wa##4-R9J_HdM=tXl4IiRBI5n4b+gELpb56ECR=aZksvQ7Gz|bVaRkIO z$0iC6_$m$rTMhE4DG(l$=ovcnUAY$GhZ@`%_OYVT+^CG@EzqNLMbL21e&CQ)=!nU7 ze_sw&KFUCglWRE^2_LKEnBWx1^mME` z{aEHVI|OicPR)njzq$55ahcS+lXK4`M51!HdJ%>zea#oc^6|xW(U;3R1yG+WTuEG^ zTOt4u_->@HuwDS;YjbPMxwAvhK`%$N-EC0KW8@DxDxJ!5`8Qfc{R2L@wDuB zVT$rT(7ICeP6vp}ePIWg4f973_Hmo>oNBU>s`AN}<#L@mw6!zIUPm1K>ZHU@pzFEB z#~+>~g`&O6*;EX1&nn(CjJ3bdTs9mVw|l)YpQ!KN(EfSEx7p(>gAS?o8tJguNS!O3S}5RoZ%k5#v{=^lq_2lLHo?ghL2b^Ir@7F;H~}!OXJO_ z*tKhDjsXpDZ+rS1S60VAdP7BEzK>F`nUFVr#OOs&f5WLWstUTInoh3`O=;M5%vB`8 zaGMs#>1fPbgJ@f+j=#-~vHNxK7J7`M)SRg{MC}J7tVkg~^7cY+Y8HDDZW|B?P7MT= zQv>aNIH#&I(YD!Zlu55%^{#|kuEN)++uM`MfUXhS(t*fXeb^b&6OioToLc}O#*P$U+er|#^y zCMvue)7IW13RLjKLxM~w1pkR(7@LUNEF*(*;S43O&EBZm89W5anS=S+!oz9->*m`Q zy4f<#mxGcSDNTt)N>rMdDpDP~#IBs#LS`=fg)@0Kdu4#Z6cIN=5V>H2tDu&D8Fi4X zV!AKoes`=lrMgvT!=AV-o{c$3kfcU?uULT0a@Uv)ko!Jpr`h*C{lW_k4A74UtkAeD)fno+uxV%W#jU1Z4NYI)!O?KGRd zgTbTr{dqJ=1UO(XYr=GcvU~nu zc~kT)$A!H%kUKIdw%weO^z8p(*eOrHy;te6wjqpk9CPPG;;C!>82)e>`p6LqPh?te z1^;MBnd;hln-f!`9sSKO1GSnzC8vwGvm1y61AnfGj|v`&^;50fqQhfy-g`~z3DZGu z^O{zp(=ltCRVG_MA^NT!T(_Dg4VJXei0b580y!JH&VnBt~VwY9xKw zKOx|}^At?@p}I5f-Q-YX^z$h8Xb_mSw?a0n)yPP=&ihU$iQ@!5;9Xu#HHB-Soibe= zrAcwHCmLS!Yklb?=X6Ia)+6<8)-^PTJ#k-Ct(-_W(=ooR>?o%Yc5S^9I+ZnID;~_D zotC5Ud7t_Ge!!oikGGWWxm!k?oscc{STTvjsKp`ZotiQt989GDJZjK3-J!pE<*2gB zLweKY%FIQwzI z(8d1eV==p-d*&3>DX4j2>ono|6`XRa)AUzU9Y5OW$1t3T*S#mjrXc}boXz5+NI76$ z?jqYw`#g8osI4+S*_;by4Q+MXJZ*3EXhuk~1vu)#bqy*p?B^{XUcJh52G%5^B2r;q zdOHx)S2Ql;xiV74-R*7- zs2sB1#Q0|qU2gh`Jc;;~`AAxmcN$whqO=N=(ch9U*LzW{*D26{%V`PfF|7qJ4i)w*=ryEhJP*7k5>)~zS27VtEx7G`%KR&Tc zuJ`HLo+2*}s{5eLr|Kamq?5SHGj64=jq_t$B)0+B>Hd{))(68U^`yy0-DN$yCbc;9 zq&9BRmMsZ6PPYeZ6q&Z0Z?<<_b?dne(aCY7L(BS3V=H?jK)|GX8<&#=+rWT`viKs_ zmfpvs!e}aZ>_ZBOGt|3iIvLkPWA3ZK($&5A(N&3qQI4&GWqq#u>g+wtEFlcqqL zNaL zKOaOloUMSH9YgGv+UTl`eOyZxbI_9JBMz|gD_y}YI)=2-2+nQ{lJhQC*>vYBQ*V#H zHRRS43zXGCeSt21(+RX0{iLRaeJ#>juovxQN<- zAb;*J43C&c@}i`N+Su+Qd(W|&Mn~br>uQSk=^CXw%sS18(XGfh5Ymm@Pv?uL1 z+}YMLBuHailj3x z={;sbG6{yK?Z0Zu7L0wW99zBj!|sw~bzIba1k58Nl24cF7^FYSYE$`?$o(tbtT zeY3O1@Sm!Pdfa&s~-@@vy^EB1|&(BO$i3 z_YX`wD2>FS$dFFq9{ZO~702ug5hKFI%|zLeP~U~SCQIG9Yd@KDS@o1mwKTbeCi;ig z@*MdRAGAFoq%ROP_jw#_G~~Uo*n(5^d>!xG@YMo2K@#CNcDCG1J#g&!Qtj?^xCn7z z!1Q?G-Me6%bk4Zxh*fyiqtRNI#cA6dGH)=&$UpKf`!?1=UnpBi$=eeO2Uq_96L6$&wO520C`kI;ocmU;Z=uuGZjD zNMEro#A#tTHDay>(yU(Qb9uO8X#6P%_;&S4wB^=`XoAL_cWj$NIFj`vg<=H0eJJ*O zrP`1X=_{+ExHZsf2f{AIEqaXTm=eAI4X9vX3?0Jw)R*Jzvy?foE9S>FSnk)(&xZGS zkco*60(0sUbaKutJT7*x&2)B}fMt1hP3jCZU2WiiEDw_u9(Wa=--$zVbKs%!BA4(O^^^Jf4R}O&f`7Rh1PIeo-dc8>^FsDvR9J_bHT!Nbr}RjI)dN=@VNl)qwb^o}z#_Br-RS$*S`Te$ z&^dy1-H9?f^l$&#@Ss+LbY1$m@P9}b89}-}wch+cq|1~5doX>Jb#Pz4%1g0tmWINt zRo`3K&Jr&88)SDXP3*)VTf+k>rp%gAePS(LVUvYvcnkW8ck>%G0KHF5pyZ z3&9ZuWH#>S=`EzZ>2VelO!n{gf92p(@1H^!4+!PZ`8Un>f9HQb8FZYWXMFryIsU|1 z|2j@k;RYpoczx_)4)cF}krWLG))J0$^QQmjb11Py^Lg4FXjMMD_8Z`)1@~y{?vvv* zao^7{_TAv#P5`frBK6xYF3j5Ys&o8e)GSjoU{;ZBBig|0nB0li2iJ3<`r;Q0=>e2 zm^1(9Jg)%JV|a2u>yQ=um+D~@Ae`rGk%m76!~Y}i1b!CjQwolM9{um1QeK1A_THcU z`0xMm=TKg111D|y)fvQG3iPX8x_YNGynU6x%#v_IT@qAvFHfmG z2gZ^Q$5rMSRB3`)V;3K$-+6V?4uF#qch7~~w!LNC7OerG*RerQrhX00lba-JT8#^< zmlr;mT12pZ%HUjzy3_!%ZwfW&zs2diqvm9@87^~-E85z!9r;{1{~({10lN1*^I>L4 z_3lgzuVwF5EeR+&n6kE6u1F}U8(!i=<4F00qDY)pyJ-ale zsB<1qeQH99G%hSwHEP8G0M?WEXXL%@J3B7+$Mh0(nGYYRcRGN`xVshnBJq-Y1cqMm z+D*xUK`?<}@Je%a2@z^=nf}dH-I9zj9*7}sZ(UV(QxZLwyf)!`rgF`4dGAM^UkvRD z^fxJM>l_C#Iw62Ta;Z6)oczM|pyqJS7^ycBkME}`UDBy^$mB@J%(O;LTBbk!okfr- zuLUd~t?FikDMI6PU`~7(nB?$(iv zW&tE%NiaSz7w+i`W+&0OvhR5b&V-xb(?|uj+V_&CimejT`2iRXmI~+>ilBHedtNl% zP1DxDT-Tb|O?KC&O=AKE0XOdBy4O*T%gZTJCw*%COJcnelw)sowOSNAA~kox{4f*r z#(a00GVNfMbH4RJ!IzPY{+Mp`!`L{7IWcT|Um5+aXHq3OV>@jBJbQ2aDx=tX;V(9m z32CVYWJiJ|{1VeA{R%q?yEpTt17PG^PhAm!!Aq>)8q9!g;+OHb4r4BZ%90WL4sp}5 zBUL%acT^K3xN>z%Lq;m>W7>qqT#{kK8y|b=gK>05Y?~TR5o@!*ux>bM9P1v&dNl|UGErS$|x$RDJp6W-IoH|7*BMv>v zGi+rNu8GoJ^V0`kLGF4sS^=^76)2)<$R(aJpF_f zP?S<~B;1D8R{^&52J8ZS=O;N|u0)!***DomuD>NtOAIOKX zBJvEZUbA;H%Bh8H6TcRb^$xIDj0dyiz}&VD!O0D)+IzDUozF1@0L2j^3-v@WEz#74 z9{Y3v=3ahjDc7LNVg9Gt(*2N_;mz7=P!9qJrU zEcE`c4Nf@E~6cLyka;Qc{*GPh=g+sIZW_Ig6?gByd?zrQiff@$GMYaq*{1W;S%>!~ zbW~9UGA%|hM*vWh1`iBq^WDsgH}UYO9&sM`%v&bIv^w5mpeu$Bl~~L)@zb$G{E|hV z|9lzuebv2SnW=%g!sIq6ibs)R%DfVf!`$_w z&H}n`Fx}_eFL;C0#>qL#Teh&xh^Q4opiR>J-~m05d_!@Be7=5#8Zd^e3|>2*!md8} zYMpT7@r$X(;5wrh`dU7WWF+ zd5ZS49c0XuHvhz_%i|-StqHyC@xTStZ8e_lWUncig-NWY`ryOlnl=qmRO#kqzJckM zPNRu(Z`XhPmC5G!21WZ&U z5cX8_x)5a5RjoXIHNe7jUi{+e!_-VH1cXsa_FX;D9dV7=LEkfuvJ29^8V>dWX)84R z+a;8vK3W4;dllz<$cqVL1h;|gCleo#m>>tA>pDep;OqA^ff1B|V+MW+yEiBYuVBM< z*DhZ?#zGtni6(o9Kylc_WY2VlB@#TK~^wJ*`Q0t}@UOpC8sfPps1V{@&S{T>mW2U~oQhYq1K!7q4l*k+juURuA zp|l#YsUTlm$;u*VmDb7dl7@<kuojeQ(|g*-W{dAHAI(x(H#=BvfL%Gs~nS;Z^{b0TsJ%(7|q#6 z8xfAU=M1o1q}DR6-;+Q6+NLX1oiTt=AS0iOeR6so0E}?Vv(1_4Z<$6S|%{}=J$?Kej$4QgW=0X9^q&SN8AOfkvT*z{TJNSku;TGX7>&F z=5aJ^;Oj}8s$K!>&mo2;ikamQxf-_;@mP`_ee&7tP^V!*mz77CZang4_BMpMHA$Zl zpSo(BVl3jek#Sknsr9)%)z8#$ORQ1-`(S!;x5kwpb*$Xn?W={qqd!U=AOXxsH&!bv z)%XfVMXjfic{W*W$mbcqvu-|e=jTQ$v##sc7_@8Kj|7E4yy1!=;~$wBYiDUBkNse| z|LG1%rgmXcGFzO4r*3a0U>NB81AKis9H5Cc z5{$fS26kpC<(BKO!(}31Szj6yOj$1#IaZ~r4ZaA8S$!KC8uc6V&-73V&XBEbKYV?> zK=e)rV^MV5IBT#Y%-qKKt7|z z=LOSEML1OGf1L*@f%Eb4#p}W`Rn|7K{CVoU!e?%e{yt2Z5-Db+`x-{z`B~4?!QC!6 z?zdr_cSV^EfLO`FU;OC8UE(v9+g#`aPUH1+w6s=k!8|%e-}qJhLcpBA-|k~Q2nEz= zgq~gp;}mnOhLZy&q7&(tKmjHMtZMu+4;$M(5yu7N*SUq9z4YsZvAfW{Nd_?D`!t6} zR@fkQM(&b{;{Yw4;8ndc>!i(XB%)(PyHjwsIlRRhjw&0zENPMW1-&}ipt$<;yK+pi zY1=h01M~vy)5^|dV9N^mjSU>Ioh%#P@ps$7*Z;3;yJkJ$M?@7$a3Nsk0~@LCQBw@bXnL6L@T@>`38%)nZQ0M|nScoZgh95zJA){xI>FH}{61I(Be z;_6MBYn;i0`T&2KSb7?|ClS8V!WZ)@1r4tTGX?-)cJN@@W_BKS^-D$AWG23HzI+E8D?En~%KY$U0|BtV~4vVtwzJOstKokK5 z1(g&KL_h?jQ;<$UI+f0$k(LsW?(XhxhEx%d?ixU1sA0$%V3^^(@V}5Qbc(3Pc!2RRB4|JQCP2$WUAu^{YQqFz;xiIqnSm zso}?T1ra2bXA-1{zo(e`_s#dlz7TeYTy!uz>%8Hc#L&qhEhYxM(Q8oJ2iQxkF2}`E z0SixPXL5||&D-%BX+EuBZO_#exzA8TpXASE9)~IddZEtHgcLHmz(5#r@{<-IG3X|c!qx3>MCDiPg-JwMn1z-~tTN{JPV6&vMxFXv!T94Joa&`JGMqo^AdNch+{QJAH1nhgy`2gG zCY!=zUA?T-3Il*JqI4NaCFq*WaiZH`wZW^LP1P|>ui}IBcJ*|@XFxgwJ0^8jaJS_? z&Og_I$+ZE=-mdiS|H>;e>R42whQV7Y!k&#=_c){@DPw?8VGjix&&xB1xh7B+U_Gh? z9M8mcgvYH?F4NYF`c{-ltH*J-AirfYC6x{GC1{3fZ)wIIhs7AK z$pjwDMeO$*u&d^Wpv)5g{Li`9ld=!=-YWgy#K1p1z;E*2D90u*2*N5L8UkeV(LWhA{%@?w=X*{+^&w&_lk2-@6FZU?eK8w=)PNwMl zK>(t1lRl}^X&3-qr=gOeetce52wluM#=1P{C8jP&V$)@O$f6N1L-~Y?*WkTt!t1fVw{Jh82Up-uwZ3!H0PRnryt}JoY-9n*1pXC`) zdWbu%#l!yhM-9QpqAJ|1Xo7IYjRW9*=Hy`JsmXPw>iqQ{!S%cCb+#I;n)~*4o#M?? zz@z^lxr--<$rA-@x~_o?Zu^U7;|5^&1BfRax13Q+_a>RrZ>5ZSWTLKJ4B$VJcH8-s zu?viZ?A|#8BDvA3^%n20OZa1dX%JrE3t%Hz>7+1BDI37{u9lGYmJ|50;Yl(BPLHG! z5ThL_O6qaC^9+$cvpSB+ZdQ`I$D#ff%S_(XWwR&)#+o0ilSeY%rMi$4Wxnp;YeM z1xdfYb$jIXbYSIfOxXgJZ|40*8CxpzQ-f6B+3F9Qcma6lCt3n0B)9$SNs3i+{MSBI zC;{BsV}dm`Rs=VnG*b}0q;b>p2xdei5G)7WRznff3wCWoLWg;Ae!Fp+rUUV}HS}`F z1h-_RKjC3x?)zX_iu{E}f6GS+TefgtnR;2`@1f^_@ZukpqGLPtWpf}w-fFTqW`!p> z_p^xlJFv&8%6myF{IdtmUgx#9=b6m>cYwv&i*l}6Dd9rA4j1aXzOuo?0&e^1w~H6t z(;KHWMJkk|Qj(7+*LD@<2>08T^XnHLZe72#10eWBQR#KUw|0|V#_fx!M;zj>S407w z3CIimnlUuy$>1Rw< zN!rs+=W8%v<-c`ZEGzL81^OF^}ZI0IazkZC4>`|5?{9!MHK;1 zz)M=PYi|u$j-DDZkGBV8DA&W8R%l?F$;baIFVl+SIB%r^H|V*oEgz9&T&k_okTD7@ zvnS((4WNNnz3Nky`U^PGK&H7OkfBnxwLX8%IVB9Ys|~N!%|gYruaTlvZ+xk&29!LG z2e$8V>qy;13Sc!8?VbV|;i(jN1lYgW%{Xt3K1~sDDZM>eWdNS%)>El&Y)$e$=)N_i z7;fl`p2GQcb+$&#<&~^d4F;5lvCo~EWhnRL0Mr@u9GXQA);_56Mav7g?mY(xXv}pQ za{7gH0FhH+=ZFW_n>ZqHLI1LQat6`W7-E-_dcVYRW5BF9bE(a(&5pAfjx>mT4T2+z z8e9O80`}FZtfNT0VIAc}B`U(ab^zeq z<&(sj8$JNt9je6}Z$Nqh!O03vCuRY7>r0;1x2(&&sW%1^;>Zm?b(imqezhs*;oPbBI+Ngk;`<#ckK7Jh*X?qx%ebsS zy&Tf`kND+hPdaLV@V+?Vcw;YUj|Q-A8U*R8+ZRE>^kjBAyNPHauNTAcY^uu8@bxUH z2=ELDBT6$SX31Z0Ib*+u2TlMyfC|q@<%kCvf z)XjtWx+Nt*2;%Ks+2T6|G}Jm?ri&#(6P?uJasg6g;Ky#=sDQ!tU^GSr$sw%xlyw8EBtC2P8p5BhiHRF*6m zJ>pX-VCQ{FUuOfVTh@Q9b-=s=TL4fqZAL?!|t zC9U5Jg@CaLe6S6`Biv)X?Xz5O87G|rczUIs0zC;&8#hCTaSh~Uj?Q%2Qvs1H0B&7o zIsq4z{_)+won}{I0rml6(MzMMR3rdoQqJ*#t8A@iX<3fJ9VHlCU!U>WSEqG8{V$h3 zdoY?QcF|mgGVT`Ps^zf3X*OeaV&=irvS<^%uaoOHDM^yMkMHIe(D&Q)ptxnc{e!l< zt+Qr-LO_>Evmw_!c?Y&foPuxCiOX-3b}!7($hhyi-t}@;EH8PdF0;$VYa>bu3Kl~j zV8FYY{r?XD&Gg&J$3K7i#AbgiFW4el1i;;{jX2=lz^-cpD`{%?Z$cc|61dyZ{2f2K znpj-NH3UJ=mt89T|5fM;%!X30Gvv80M*%Am<4wHLqFX0sAtFz6dau@pGZvZ|5TQ5V zjl_>R-~Orh>dkABf+l}a(O9jUf$wh2It)%ZKJE(CoNX(o%0D&d9m_%23Z~W^`SSeJ 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 Y<~MRv9xV)ryv_gwp00i_>zopr05P>9PXGV_ literal 0 HcmV?d00001 diff --git a/docs-rtd/source/_static/hello_world_mb_hlx_images/hello_world_mb_hlx.png b/docs-rtd/source/_static/hello_world_mb_hlx_images/hello_world_mb_hlx.png new file mode 100644 index 0000000000000000000000000000000000000000..85e72578688683b9e606f2ed1cc999d3a548f890 GIT binary patch literal 121380 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℞@99mOB%T*Q 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 Tk|S^c?+;NyDS>i69l!q%wMi`Y literal 0 HcmV?d00001 diff --git a/docs-rtd/source/_static/hlx_images/aws_ip_interfaces.png b/docs-rtd/source/_static/hlx_images/aws_ip_interfaces.png new file mode 100644 index 0000000000000000000000000000000000000000..d77fafea79379d1d1dc6b56d7577b54bfc5cedd3 GIT binary patch literal 24378 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 Ef7dh_N&o-= literal 0 HcmV?d00001 diff --git a/docs-rtd/source/_static/hlx_images/ipi_mod_ref.png b/docs-rtd/source/_static/hlx_images/ipi_mod_ref.png new file mode 100644 index 0000000000000000000000000000000000000000..43c951bc85ebac7e39cea789221c92b629a0259d GIT binary patch literal 114223 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%0D&d9m_%23Z~W^`SSeJ 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 Y<~MRv9xV)ryv_gwp00i_>zopr05P>9PXGV_ literal 0 HcmV?d00001 diff --git a/docs-rtd/source/_static/hlx_images/vivado_gui.png b/docs-rtd/source/_static/hlx_images/vivado_gui.png new file mode 100644 index 0000000000000000000000000000000000000000..2e55cec0d6313cfbbcf6ac94a3deddb4682ee4a8 GIT binary patch literal 332942 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%0DA8)+7EH2JnrCJb*_zy9#ax=sq3F6$mDsaTS~^- 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

XYqP#?)FEx~Sz-G>0?w?j#V;Sz&N$@ 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

XK6RjYx=?-=D_REbz{4oqMQUW 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�z30T<*CKJVW~)+NYm9kZFP_KtFN5)N`Iz0Z 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 v documentation". # NOTE: This guy controls the little title header on the left side of the page with the search bar, etc. -html_title = 'AWS F2 Documentation' +html_title = "AWS F2 Documentation" # A shorter title for the navigation bar. Default is the same as html_title. # html_short_title = None @@ -175,8 +181,8 @@ # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] -html_css_files = ['css/custom.css'] +html_static_path = ["_static"] +html_css_files = ["css/custom.css"] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. # html_last_updated_fmt = '%b %d, %Y' @@ -219,7 +225,7 @@ # html_file_suffix = None # Output file base name for HTML help builder. -htmlhelp_basename = 'F2doc' +htmlhelp_basename = "F2doc" # Don't copy prompts in code blocks copybutton_prompt_text = "$ " diff --git a/docs-rtd/source/developer-resources/Amazon-DCV-Setup-Guide.rst b/docs-rtd/source/developer-resources/Amazon-DCV-Setup-Guide.rst index 2c899501e..576bcd9eb 100644 --- a/docs-rtd/source/developer-resources/Amazon-DCV-Setup-Guide.rst +++ b/docs-rtd/source/developer-resources/Amazon-DCV-Setup-Guide.rst @@ -50,8 +50,7 @@ Prerequisites ~~~~~~~~~~~~~ 1. `Instance and IAM Configuration for DCV Licensing `__ -2. `Depenency - Installation `__ +2. `Dependency Installation `__ - ⚠️ DO NOT PERFORM STEP 3! Upgrading may impact the stability of development kit software! diff --git a/docs-rtd/source/hdk/README.rst b/docs-rtd/source/hdk/README.rst index 77730980c..dc832688e 100644 --- a/docs-rtd/source/hdk/README.rst +++ b/docs-rtd/source/hdk/README.rst @@ -11,6 +11,8 @@ Table of Contents - `HDK Overview <#hdk-overview>`__ - `Getting Started <#getting-started-hdk>`__ + - `Quick Start Example: Host-to-FPGA Communication via the OCL Interface <#quick-start-example-host-to-fpga-communication-ocl>`__ + - `Build Accelerator AFI using HDK Design Flow <#build-accelerator-afi-using-hdk-design-flow>`__ @@ -70,6 +72,27 @@ Logic Region (SLR) of the FPGA to developers. Getting Started --------------- +.. _quick-start-example-host-to-fpga-communication-ocl: + +Quick Start HW/SW Example: Host-to-FPGA Communication via the OCL Interface +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +### Quick Start HW/SW Example: Host-to-FPGA Communication via PCIe-to-AXI OCL Interface + +The `test_aws_clk_gen.c software runtime example `__ +utilizes the `OCL AXI interface <./docs/AWS-Shell-Interface-Specification.html>`__ to program +the `AWS Clock Generation IP <./docs/AWS-CLK-GEN-spec.html>`__ within the CL_MEM_PERF AFI. + +The example can be run by following the steps in the following documentation references: + +1. Build and ingest the `CL_MEM_PERF <./cl/examples/cl-mem-perf/README.html>`__ example by following the [Build Accelerator AFI using HDK Design Flow](#build-accelerator-afi-using-hdk-design-flow) section below + +2. `Load the AGFI <#step-7-load-accelerator-afi-on-f2-instance>`__ generated by the ``create-fpga-image`` command + +3. Follow the `CL_MEM_PERF software runtime compilation instructions <./cl/examples/cl-mem-perf/README.html#software>`__ and execute ``./test_aws_clk_gen`` + +.. _build-accelerator-afi-using-hdk-design-flow: + Build Accelerator AFI using HDK Design Flow ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -288,11 +311,12 @@ The output of this command includes two identifiers for your AFI: export DCP_TARBALL_NAME=$(basename ${DCP_TARBALL_TO_INGEST}) export CL_DESIGN_NAME='' - export CL_DESIGN_DESCRIPTION='Description of ${CL_DESIGN_NAME}' + export CL_DESIGN_DESCRIPTION="Description of ${CL_DESIGN_NAME}" # Call AWS CLI ingestion command aws ec2 create-fpga-image --name ${CL_DESIGN_NAME} --description "${CL_DESIGN_DESCRIPTION}" --input-storage-location Bucket=${DCP_BUCKET_NAME},Key=${DCP_FOLDER_NAME}/${DCP_TARBALL_NAME} --logs-storage-location Bucket=${LOGS_BUCKET_NAME},Key=${LOGS_FOLDER_NAME}/ --region ${REGION} + # expected response format: { "FpgaImageId": "afi-09953582f46c45b17", "FpgaImageGlobalId": "agfi-0925b211f5a81b071" @@ -345,8 +369,8 @@ Step 7. Load Accelerator AFI on F2 Instance Now that your AFI is available, it can be tested on an F2 instance. The instance can be launched using any preferred AMI, private or public, -from the AWS Marketplace catalog. AWS recommends using AMIs with Ubuntu -20.04 and kernel version 5.15. +from the AWS EC2 AMI Catalog. AWS recommends using AMIs with `similar +OS and kernel versions <../User-Guide-AWS-EC2-FPGA-Development-Kit.html#fpga-developer-ami>`__ to those of our developer AMIs. Now you need to install the FPGA Management tools by sourcing the ``sdk_setup.sh`` script: @@ -814,5 +838,9 @@ Additional HDK Documentation docs/Supported-DDR-Modes docs/Virtual-JTAG-XVC docs/XDMA-Install + docs/IPI-GUI-Vivado-Setup + docs/IPI-GUI-AWS-IP + docs/IPI-GUI-Examples + docs/IPI-GUI-Flows `Back to Home <../index.html>`__ diff --git a/docs-rtd/source/hdk/cl/CHECKLIST-BEFORE-BUILDING-CL.rst b/docs-rtd/source/hdk/cl/CHECKLIST-BEFORE-BUILDING-CL.rst index c8b0ae416..dfcf4bc54 100644 --- a/docs-rtd/source/hdk/cl/CHECKLIST-BEFORE-BUILDING-CL.rst +++ b/docs-rtd/source/hdk/cl/CHECKLIST-BEFORE-BUILDING-CL.rst @@ -17,4 +17,4 @@ building a CL Design Check Point (DCP) file for AFI generation. 4. Update the timing and placement constraints under ``$CL_DIR/build/constraints`` for your design specific changes. -`Back to HDK README <../index.html>`__ +`Back to HDK README <../README.html>`__ diff --git a/docs-rtd/source/hdk/cl/examples/cl-ipi-cdma-test-hlx/README.rst b/docs-rtd/source/hdk/cl/examples/cl-ipi-cdma-test-hlx/README.rst new file mode 100644 index 000000000..da1f6452e --- /dev/null +++ b/docs-rtd/source/hdk/cl/examples/cl-ipi-cdma-test-hlx/README.rst @@ -0,0 +1,36 @@ +HLx Flow for CDMA Test IP Integrator Example +============================================ + +Table of Contents +----------------- + +- `HLx Flow for CDMA Test IP Integrator + Example <#hlx-flow-for-cdma-test-ip-integrator-example>`__ + + - `Table of Contents <#table-of-contents>`__ + - `Overview <#overview>`__ + - `Building and Testing Example <#building-and-testing-example>`__ + +Overview +-------- + +This example design exercises the following data interfaces: + +- AXIL_OCL: Polls the AXI GPIO to which the DDR and HBM calibration done + signals are connected +- AXI_PCIS: Writes 1K data pattern to DDR source buffer +- AXIL_OCL: Configures AXI CDMA for 1K DMA transfer from DDR to HBM and polls + AXI CDMA status register to determine transfer completion +- AXI_PCIS: Reads 1K from HBM destination buffer and compares against + original data pattern + +|block-diagram| + +Building and Testing Example +---------------------------- + +Follow the common design steps specified in the `IPI example design flow +document <./../../../docs/IPI-GUI-Flows.html>`__ to build and test this +example on F2 instances. + +.. |block-diagram| image:: ../../../../_static/cl_ipi_cdma_test_hlx_images/cl_ipi_cdma_test_hlx.png diff --git a/docs-rtd/source/hdk/cl/examples/cl-mem-perf/README.rst b/docs-rtd/source/hdk/cl/examples/cl-mem-perf/README.rst index a9b3c7bb5..855756c0b 100644 --- a/docs-rtd/source/hdk/cl/examples/cl-mem-perf/README.rst +++ b/docs-rtd/source/hdk/cl/examples/cl-mem-perf/README.rst @@ -635,6 +635,8 @@ Simulations Please see more details on running simulations in this `README <./verif/README.html>`__ +.. _cl-mem-perf-software: + Software -------- diff --git a/docs-rtd/source/hdk/cl/examples/cl-sde/software/src/README.rst b/docs-rtd/source/hdk/cl/examples/cl-sde/software/src/README.rst index 4d1918414..52423de02 100644 --- a/docs-rtd/source/hdk/cl/examples/cl-sde/software/src/README.rst +++ b/docs-rtd/source/hdk/cl/examples/cl-sde/software/src/README.rst @@ -358,14 +358,12 @@ Data Flow Models Card-to-Host (C2H) Data Flow ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Follow the recommended `Card-to-Host data flow -model <../../../../../../sdk/apps/virtual-ethernet/doc/SDE-HW-Guide.html#c2h>`__ +Follow the recommended `Card-to-Host data flow model <../../../../../../sdk/apps/virtual-ethernet/doc/SDE-HW-Guide.html#c2h-sde>`__ Host-to-Card (H2C) Data Flow ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Follow the recommended `Host-to-Card data flow -model <../../../../../../sdk/apps/virtual-ethernet/doc/SDE-HW-Guide.html#h2c>`__ +Follow the recommended `Host-to-Card data flow model <../../../../../../sdk/apps/virtual-ethernet/doc/SDE-HW-Guide.html#h2c-sde>`__ Support ------- diff --git a/docs-rtd/source/hdk/cl/examples/hello-world-hlx/README.rst b/docs-rtd/source/hdk/cl/examples/hello-world-hlx/README.rst new file mode 100644 index 000000000..8eee494fa --- /dev/null +++ b/docs-rtd/source/hdk/cl/examples/hello-world-hlx/README.rst @@ -0,0 +1,39 @@ +HLx Flow for Hello World IP Integrator Example +============================================== + +Table of Contents +----------------- + +- `HLx Flow for Hello World IP Integrator + Example <#hlx-flow-for-hello-world-ip-integrator-example>`__ + + - `Table of Contents <#table-of-contents>`__ + - `Overview <#overview>`__ + - `Building and Testing Example <#building-and-testing-example>`__ + +Overview +-------- + +This IP Integrator design includes the AWS IP configured with an OCL interface +(AXI4-Lite Master) that controls the VLED through AXI GPIO and a PCIS interface +(AXI4 Master) that performs read and write operations to the AXI BRAM in the CL. + +The VLED is set based upon writing ``0xAAAA`` into the AXI GPIO (0x0) +slave register to drive the VLED. The value is read using the Verilog task +``tb.get_virtual_led`` in simulation or ``fpga-get-virtual-led`` on F2 +instance. + +The PCIS Interface writes ASCII data into the AXI BRAM memory space and +reads back from these addresses to print out “Hello World!” in simulation +or on a F2 instance. + +|block-diagram| + +Building and Testing Example +---------------------------- + +Follow the common design steps specified in the `IPI example design flow +document <./../../../docs/IPI-GUI-Flows.html>`__ to build and test this +example on F2 instances. + +.. |block-diagram| image:: ../../../../_static/hello_world_hlx_images/hello_world_hlx.png diff --git a/docs-rtd/source/hdk/cl/examples/hello-world-mb-hlx/README.rst b/docs-rtd/source/hdk/cl/examples/hello-world-mb-hlx/README.rst new file mode 100644 index 000000000..3fd532c98 --- /dev/null +++ b/docs-rtd/source/hdk/cl/examples/hello-world-mb-hlx/README.rst @@ -0,0 +1,85 @@ +HLx Flow for Hello World MicroBlaze IP Integrator Example +========================================================= + +Table of Contents +----------------- + + - `Overview <#mb-hlx-overview>`__ + - `Building and Testing Example <#mb-hlx-building-and-testing-example>`__ + + - `MicroBlaze Debug Module (MCM) <#mb-hlx-microblaze-debug-module-mcm>`__ + - `BRAM Access through VJTAG and MDM <#mb-hlx-bram-access-through-vjtag-and-mdm>`__ + +.. _mb-hlx-overview: + +Overview +-------- + +This design shares the same basic structure as the +`hello_world example <./../hello-world-hlx/README.html>`__. + +In addition, the design includes a MicroBlaze (MB) processor with LMB memory +connections and a MicroBlaze Debug Module (MDM) for debugging purposes. +The MicroBlaze uses its Data Port (DP) Master to access the AXI BRAM, +which is also accessible by the PCIS Master. Through BSCAN, the host's XSDB +program connects to the MDM, allowing it to issue commands to the MicroBlaze +for reading and writing to the AXI BRAM. + +The example program executes in the following sequence: + +- After reset, MicroBlaze (MB) begins executing from an ELF file that is loaded + into LMB Memory. +- MicroBlaze writes into the shared memory and writes into bit 0 of the + GPIO. MicroBlaze polls for bit 1 and bit 0 to be asserted. +- The host polls GPIO bit 0 for assertion. It writes a pattern into + the shared memory (``0xBEEF_DEAD``) and writes into bit 1 of the + GPIO. +- Once MicroBlaze polls GPIO bit 1 and bit 0 assertion, it verifies the + write pattern (``0xBEEF_DEAD``) from the host and writes to GPIO bit + 2. +- The polls GPIO bit2, bit1 and bit0 assertion. After that, the application + competes successfully. + +|block-diagram-mb-hlx| + +.. _mb-hlx-building-and-testing-example: + +Building and Testing Example +---------------------------- + +Follow the common design steps specified in the `IPI example design flow +document <./../../../docs/IPI-GUI-Flows.html>`__ to build and test this +example on F2 instances. + +.. _mb-hlx-microblaze-debug-module-mcm: + +MicroBlaze Debug Module (MCM) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Before design implementation, Enable the BSCAN ports in CL by defining + the ``BSCAN_EN`` macro. **NOTE: This is required to use the MicroBlaze + Debug Module (MDM) in the design.** + + .. code:: text + + set_property verilog_define BSCAN_EN=1 [current_fileset] + +.. _mb-hlx-bram-access-through-vjtag-and-mdm: + +.. code:: text + + BRAM Access through VJTAG and MDM + xsdb% connect + tcfchan#0 + xsdb% targets + 1 debug_bridge + 2 00000000 + 3 00000000 + 4 MicroBlaze Debug Module at USER1.2.2 + 5 MicroBlaze #0 (Running) + xsdb% target 5 # <------- Change the target to MicroBlaze + xsdb% mwr 0xC0000100 0xDEADBEEF # <------- Test a memory write to the BRAM's start address + xsdb% mrd 0xC0000100 # <------- Read to verify the test data has been stored in the BRAM successfully + C0000100: DEADBEEF + +.. |block-diagram-mb-hlx| image:: ../../../../_static/hello_world_mb_hlx_images/hello_world_mb_hlx.png diff --git a/docs-rtd/source/hdk/docs/AWS-CLI-FPGA-Commands.rst b/docs-rtd/source/hdk/docs/AWS-CLI-FPGA-Commands.rst index e08f43f0e..4adb563c5 100644 --- a/docs-rtd/source/hdk/docs/AWS-CLI-FPGA-Commands.rst +++ b/docs-rtd/source/hdk/docs/AWS-CLI-FPGA-Commands.rst @@ -237,19 +237,32 @@ Error Codes See AWS FPGA HDK documentation for valid input format. We recommend using the scripts provided with AWS FPGA HDK* -- ``UNKNOWN_BITSTREAM_GENERATE_ERROR`` *An error occurred generating the - FPGA image bitstream. If an S3 LogsStorageLocation was provided in the - CreateFpgaImage request, review the captured bitstream generation logs - saved to S3 under the FpgaImageId for this AFI.* - - - **Note:** This is a catch-all error and could be caused due to a - variety of issues, for eg: - - - We found a combinatorial loop in the CL design. Bitstream - generation logs might show errors like \`ERROR: [DRC LUTLP-1] - Combinatorial Loop Alert: 2 LUT cells form a combinatorial loop. - Combinatorial loops are not allowed in CL designs and AFI's are - not generated in such a case. +- ``UNSUPPORTED_DESIGN_LOGIC`` *The FPGA image bitstream generation + failed during design rule validation. If an S3 LogsStorageLocation was + provided in the CreateFpgaImage request, review the captured bitstream + generation logs saved to S3 under the FpgaImageId for this AFI. + Examples of failures include:* + + *1. The design validation detected unsupported primitives in the + customer logic. Certain FPGA primitives are restricted to maintain + platform stability and ensure reliable operation of customer workloads. + The following primitives are not supported: DNA_PORT, FRAME_ECC, MCAP, + ICAP_TOP, ICAP_BOT, MASTER_JTAG, DCIRESET, EFUSE_USR, USR_ACCESS, + STARTUP, BSCAN1, BSCAN2, BSCAN3, BSCAN4, SYSMON.* *NOTE: This + implementation follows the* + `design advisory issued by AMD `__. + *Refer to it for detailed information.* + + *2. We found a combinatorial loop in the CL design. Bitstream + generation logs might show errors like ERROR: [DRC LUTLP-1] + Combinatorial Loop Alert: 2 LUT cells form a combinatorial loop. + Combinatorial loops are not allowed in CL designs and AFIs are not + generated in such cases.* + +- ``UNKNOWN_BITSTREAM_GENERATE_ERROR`` *An unclassified error occurred + generating the FPGA image bitstream. If an S3 LogsStorageLocation was + provided in the CreateFpgaImage request, review the captured bitstream + generation logs saved to S3 under the FpgaImageId for this AFI.* ``delete-fpga-image`` --------------------- diff --git a/docs-rtd/source/hdk/docs/AWS-Fpga-Pcie-Memory-Map.rst b/docs-rtd/source/hdk/docs/AWS-Fpga-Pcie-Memory-Map.rst index f1a6cd205..ecadf3efb 100644 --- a/docs-rtd/source/hdk/docs/AWS-Fpga-Pcie-Memory-Map.rst +++ b/docs-rtd/source/hdk/docs/AWS-Fpga-Pcie-Memory-Map.rst @@ -78,9 +78,8 @@ this flexibility to F2 customers by advertising all the BARs in the shell as prefetchable. Customer applications must access BARs in a way supported by the customer logic (CL). For example, enabling write-combining on a prefetchable BAR requires a custom kernel driver or -application to map and mark the target memory space as `write-combining -(WC) -memory `__. +application to map and mark the target memory space as +`write-combining (WC) memory `__. Additionally, applications enabling prefetching should avoid caching data from a memory space that contains any clear-on-read registers or FIFOs. diff --git a/docs-rtd/source/hdk/docs/IPI-GUI-AWS-IP.rst b/docs-rtd/source/hdk/docs/IPI-GUI-AWS-IP.rst new file mode 100644 index 000000000..a065f7b78 --- /dev/null +++ b/docs-rtd/source/hdk/docs/IPI-GUI-AWS-IP.rst @@ -0,0 +1,79 @@ +AWS FPGA IP for IP Integrator Overview +====================================== + +Table of Contents +----------------- + +- `AWS FPGA IP for IP Integrator + Overview <#aws-fpga-ip-for-ip-integrator-overview>`__ + + - `Table of Contents <#table-of-contents>`__ + - `AWS IP Overview <#aws-ip-overview>`__ + - `Enable IP Interfaces <#enable-ip-interfaces>`__ + - `Clock Signals <#clock-signals>`__ + - `CL Partition ID <#cl-partition-id>`__ + - `Advanced <#advanced>`__ + +AWS IP Overview +--------------- + +The AWS IP serves as a central component in the IP Integrator (IPI) +designs, providing essential AXI interfaces (OCL, PCIS and PCIM) for +Host-FPGA communication, configurable clock management through +predefined recipes, and auxiliary signal ports like VLED/VDIP. It +enables seamless integration between CL designs and the F2 Shell. + +To configure the AWS IP, double-click the AWS IP block in the 'Block +Diagram'. The 'Re-customize IP' GUI displays four configuration +categories. + +Enable IP Interfaces +-------------------- + +Select the box to enable desired interfaces. The block diagram updates +automatically to show enabled interfaces, ports, and clocks + +For details about the shell interface, see `AWS Shell Interface +Specification <./AWS-Shell-Interface-Specification.html>`__. + +|aws-ip-interfaces| + +Clock Signals +------------- + +Review the `Clock Recipes User +Guide <./Clock-Recipes-User-Guide.html>`__ to determine +the number of clocks needed for Groups A, B, and C, and select +appropriate clock recipes for all CL clocks. + +|aws_ip_clocks| + +**NOTE**: ``clk_main_a0_out`` is a required clock and cannot be +disabled. + +**NOTE**: You must select 'Enable Ports for HBM in CL' in the 'Enable IP +Interfaces' tab to see HBM AXI clock recipe options. + +CL Partition ID +--------------- + +The PCIe Vendor ID, Device ID, Subsystem Vendor ID and Subsystem ID can +be configured. For now these default values match typically AWS examples +and shouldn't be modified at this time. + +|aws_ip_ids| + +Advanced +-------- + +Pipeline stages configuration: + +- Range: 1-4 pipeline stages +- Applies to the ``sh_cl_ddr_stat_`` interface for DDR in the CL +- Selection depends on design size and complexity + +.. |aws-ip-interfaces| image:: ./../../_static/hlx_images/aws_ip_interfaces.png +.. |aws_ip_clocks| image:: ./../../_static/hlx_images/aws_ip_clocks.png +.. |aws_ip_ids| image:: ./../../_static/hlx_images/aws_ip_ids.png + +`Back to Vivado IPI GUI Setup Guide <./IPI-GUI-Vivado-Setup.html>`__ diff --git a/docs-rtd/source/hdk/docs/IPI-GUI-Examples.rst b/docs-rtd/source/hdk/docs/IPI-GUI-Examples.rst new file mode 100644 index 000000000..9fa7e82a4 --- /dev/null +++ b/docs-rtd/source/hdk/docs/IPI-GUI-Examples.rst @@ -0,0 +1,266 @@ +AWS GUI Workflow with Vivado IP Integrator Quick Start Examples +=============================================================== + +Table of Contents +----------------- + +- `AWS GUI Workflow with Vivado IP Integrator Quick Start + Examples <#aws-gui-workflow-with-vivado-ip-integrator-quick-start-examples>`__ + + - `Table of Contents <#table-of-contents>`__ + - `Overview <#overview>`__ + - `HLx Examples Using IP Integrator + Flow <#hlx-examples-using-ip-integrator-flow>`__ + - `Tutorial on how to create HLx IPI hello_world example with AXI GPIO and AXI BRAM <#tutorial-on-how-to-create-hlx-ipi-hello-world-example-with-axi-gpio-and-axi-bram>`__ + + - `Create Directory Structure and Vivado + Project <#create-directory-structure-and-vivado-project>`__ + - `Configure the Block Diagram <#configure-the-block-diagram>`__ + + - `Configure AWS IP <#configure-aws-ip>`__ + - `Add and Configure AXI GPIO <#add-and-configure-axi-gpio>`__ + - `Add and Configure AXI BRAM <#add-and-configure-axi-bram>`__ + - `Connect the Design <#connect-the-design>`__ + - `Address Editor Tab <#address-editor-tab>`__ + - `Save and Validate the Design <#save-and-validate-the-design>`__ + + - `Add Simulation Sources from Example + Design <#add-simulation-sources-from-example-design>`__ + + - `Run Simulation <#run-simulation>`__ + + - `Add Design Constraints <#add-design-constraints>`__ + - `Implement the Design Tarball + File <#implement-the-design-tarball-file>`__ + - `CL Example Software <#cl-example-software>`__ + +Overview +-------- + +This document provides an overview of IP Integrator (IPI) examples in +the HLx environment. Before starting, complete the `Vivado Setup +Instructions <./IPI-GUI-Vivado-Setup.html>`__ to familiarize yourself with +the Vivado GUI and IP Integrator. + +All examples in this document have been integrated into an automated +flow that directly generates Vivado projects. + +.. _hlx-examples-using-ip-integrator-flow: + +HLx Examples Using IP Integrator Flow +------------------------------------- + +This section provides example designs to help you become familiar with +the automated project generation flow and IP Integrator functionality + +Available examples are: + +- `hello_world <./../cl/examples/hello-world-hlx/README.html>`__ +- `hello_world_mb <./../cl/examples/hello-world-mb-hlx/README.html>`__ +- `cl_ipi_cdma_test <./../cl/examples/cl-ipi-cdma-test-hlx/README.html>`__ + +Click any example link above for detailed design information and getting +started instructions. + +.. _tutorial-on-how-to-create-hlx-ipi-hello-world-example-with-axi-gpio-and-axi-bram: + +Tutorial on how to create HLx IPI hello_world example with AXI GPIO and AXI BRAM +-------------------------------------------------------------------------------- + +This tutorial demonstrates how to configure AWS IP with the OCL +interface (AXI4-Lite Master) and the PCIS interface (AXI4 Master), +similar to the ones in the +`hello_world <./../cl/examples/hello-world-hlx/README.html>`__ +example. + +The AXI GPIO IP controls the virtual LEDs (VLEDs). Writing ``0xAAAA`` to +the AXI GPIO (0x0) slave register drives VLEDs. The VLED value can be +read using the verilog task ``tb.get_virtual_led`` in simulation or +``fpga-get-virtual-led`` on an F2 instance. + +The PCIS interface accesses the AXI BRAM, where the ASCII string 'Hello +World!' can be written to a BRAM location and read back for display in +either the simulation environment or on an F2 instance. + +Create Directory Structure and Vivado Project +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Change directories to ``hdk/cl/examples`` + +Create a directory in examples like ``hello_world_hlx_ipi`` + +Change directories into ``hello_world_hlx_ipi/`` + +Start Vivado by typing ``vivado`` in the bash console. + +Create a project any device by typing the following command in Vivado's +TCL Tab. + +.. code:: Tcl + + create_project -name hello_world + +Enter the following Tcl command to configure AWS project settings and +create a block diagram with AWS IP: + +.. code:: Tcl + + aws::make_ipi + +Configure the Block Diagram +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Configure AWS IP +^^^^^^^^^^^^^^^^ + +Configure the AWS IP block by double-clicking it and selecting three +interfaces under 'IP Interfaces': 'Use OCL Register Interface +(M_AXI_OCL)', 'Use PCI Slave-access Interface (M_AXI_PCIS)', and 'Use +Auxiliary (non-AXI) Signal Ports'. For clock configuration, use Group-A +Clock with the default clock recipe to set a 250 MHz frequency. + +Add and Configure AXI GPIO +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Right-click in the canvas and select 'Add IP...', then search for and +double-click 'AXI GPIO'. Once added, double-click the ``axi_gpio_0`` block +in the canvas. In the 'Re-customize IP' dialog box, select 'All Outputs' +under the GPIO section and set GPIO Width to 16, then click 'OK'. + +Add and Configure AXI BRAM +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Right-click in the canvas and select 'Add IP...', then search for and +double-click 'AXI BRAM Controller'. Once added, double-click the +``axi_bram_ctrl_0`` block in the canvas and set the Data Width to 512 to +match the PCIS AXI4 Master Interface's data width, then click 'OK'. + +Connect the Design +^^^^^^^^^^^^^^^^^^ + +Click 'Run Connection Automation' at the top of the Block Diagram. +Configure the AXI BRAM controller by setting both +``axi_bram_ctrl_0/BRAM_PORTA`` and ``BRAM_PORTB`` to 'Auto', then set +``axi_bram_ctrl_0/S_AXI`` Master to ``f2_inst/M_AXI_PCIS`` with +remaining options as 'Auto'. For the AXI GPIO, set ``axi_gpio_0/S_AXI`` +Master to ``f2_inst/M_AXI_OCL`` with other options as 'Auto', then click +'OK'. + +After completing the automation, expand ``axi_gpio_0/GPIO`` by clicking +the + symbol. Connect ``gpio_io_o[15:0]`` from the ``f2_inst`` block to +``status_vled[15:0]``, then run 'Connection Automation'. + +Address Editor Tab +^^^^^^^^^^^^^^^^^^ + +In the 'Address Editor' tab above the block diagram, you can view the +address configurations: the AXI BRAM instance has a default 64K address +space starting at ``0xC0000000`` (adjustable by modifying the Range +value), while the AXI GPIO instance uses a 4K address space with +M_AXI_OCL starting at ``0x00000000``. + +Save and Validate the Design +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Save the block diagram, then select 'Tools' -> 'Validate Design' and +click 'OK' when validation completes successfully. + +Add Simulation Sources from Example Design +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To add simulation sources, navigate to 'Project Manager' in the 'Flow +Navigator' and select 'Add Sources' -> 'Add or create simulation +sources' -> 'Select Add Files'. Add the test file +`test_cl.sv` from `hdk/common/shell_stable/hlx/hlx/hlx_examples/build/IPI//verif` +directory, and ensure you deselect the option to scan and add RTL include files. + +Configure the following simulation settings to import source files from external +directories instead of copying them to the Vivado project: + +1. Source file options: + + - Deselect 'Copy sources into project' (creates links instead) + - Select 'Add sources from subdirectories' + - Enable 'Include all design sources for simulation' + - Click 'Finish' + +2. Simulation settings: + + - Right-click 'SIMULATION' in Project Manager + - Select 'Simulation Settings' + - In Verilog options, click the '...' box + - Verify/update the following: + + - CL_NAME=cl_top + - TEST_NAME=test_cl + + - Click 'OK' + - Click 'Apply' + - Click 'OK' to return to Vivado project + +Run Simulation +^^^^^^^^^^^^^^ + +From the 'Flow Navigator' tab, select 'Simulation' -> 'Run Simulation' +-> 'Run Behavioral Simulation', then add your required simulation +signals. In the Tcl console, enter the following command. + +.. code:: Tcl + + run -all + +Note: If critical warnings appear, click 'OK' and run the command twice +(this is a known issue that will be addressed in future versions). + +Add Design Constraints +~~~~~~~~~~~~~~~~~~~~~~ + +No additional constraints are needed for this design. + +Implement the Design Tarball File +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To implement the design, launch implementation: + +- Right-click 'impl_1' +- Select 'Launch Runs...' +- Click 'OK' +- Click 'OK' on the 'Missing Synthesis Results' dialog + +This process will run both synthesis and implementation. + +The completed tarball file is located in: + +.. code:: bash + + /example_projects/.runs/faas_1/build/checkpoints/to_aws/.Developer_CL.tar + +For instructions on creating an F2 AFI from the design tarball, see +`Submit Generated DCP for AFI +Creation <./../README.html#step-6-submit-generated-dcp-for-afi-creation>`__ +in the HDK quick start guide. + +CL Example Software +~~~~~~~~~~~~~~~~~~~ + +Compile the runtime software required for F2 instance execution by +copying the software directory to your target location and running these +commands: + +.. code:: bash + + cp -r $HDK_COMMON_DIR/shell_stable/hlx/hlx_examples/build/IPI/hello_world/software . + cd software + make all + sudo ./test_cl + +HLx IPI CL Examples +------------------- +.. toctree:: + :maxdepth: 1 + + ./../cl/examples/hello-world-hlx/README + ./../cl/examples/hello-world-mb-hlx/README + ./../cl/examples/cl-ipi-cdma-test-hlx/README + +`Back to Vivado IPI GUI Setup Guide <./IPI-GUI-Vivado-Setup.html>`__ diff --git a/docs-rtd/source/hdk/docs/IPI-GUI-Flows.rst b/docs-rtd/source/hdk/docs/IPI-GUI-Flows.rst new file mode 100644 index 000000000..355723150 --- /dev/null +++ b/docs-rtd/source/hdk/docs/IPI-GUI-Flows.rst @@ -0,0 +1,116 @@ +HLx GUI Flows with Vivado IP Integrator +======================================= + +Table of Contents +----------------- + +- `HLx GUI Flows with Vivado IP + Integrator <#hlx-gui-flows-with-vivado-ip-integrator>`__ + + - `Table of Contents <#table-of-contents>`__ + - `Overview <#overview>`__ + - `Create IP Integrator Project with Example + Design <#create-ip-integrator-project-with-example-design>`__ + + - `Create Design <#create-design>`__ + - `Run Simulation <#run-simulation>`__ + - `Run Implementation <#run-implementation>`__ + - `AFI Creation <#afi-creation>`__ + - `Runtime Example <#runtime-example>`__ + +Overview +-------- + +This document covers top level steps for using the HLx GUI flows. + +Create IP Integrator Project with Example Design +------------------------------------------------ + +This section specifies the end-to-end flow for creating a pre-defined +IPI example design and executing it on an F2 instance. + +Create Design +~~~~~~~~~~~~~ + +- To launch Vivado GUI + + - Change to the ``hdk/cl/examples/`` directory, e.g. + ``hdk/cl/examples/hello_world_hlx`` + + - Invoke Vivado by typing ``vivado`` in the console + + - In the Vivado Tcl console type in the following to create the HLx + example. + + .. code:: Tcl + + aws::make_ipi -examples + + **NOTE**: See what examples are possible, type + ``aws::make_ipi -examples`` into Tcl console. + **NOTE**: IPI example design names do not include ``_hlx``, + which differs from the CL name ````. + + - The example will be generated in + ``cl/examples//example_projects``. The Vivado + project is ``examples_projects/.xpr`` + + - Once the Block diagram is opened, review the different IP blocks + especially the settings in the AWS IP + +Run Simulation +~~~~~~~~~~~~~~ + +The simulation settings are already configured. + +- To launch simulation from within the Vivado GUI + + - Click on 'SIMULATION' -> 'Run Simulation' -> 'Run Behavioral + Simulation' + - Add signals needed in the simulation + - Type ``run -all`` in the Tcl console + +Run Implementation +~~~~~~~~~~~~~~~~~~ + +- To run implementation from within the GUI is opened, in the Design + Runs tab: + + - Right click on 'impl_1' in the Design Runs tab and select Launch + Runs… + - Click 'OK' in the Launch Runs Dialog Box. + - Click 'OK' in the Missing Synthesis Results Dialog Box + +- This step will run both synthesis and implementation. + +AFI Creation +~~~~~~~~~~~~ + +The completed tarball file for a successfully implemented example design +can be found in: + +.. code:: bash + + $CL_DIR/build/scripts/example_projects/.runs/faas_1/build/checkpoints/to_aws/.Developer_CL.tar + +For information on how to create AFI from this tarball file, follow the +`Submit Generated DCP for AFI +Creation <./../README.html#step-6-submit-generated-dcp-for-afi-creation>`__ +section in the HDK step-by-step quick start guide. + +Runtime Example +~~~~~~~~~~~~~~~ + +The runtime software must be compiled before the AFI can run on F2 +instances. Copy the example's software directory to your preferred +location and compile it using the following commands: + +.. code:: bash + + source $AWS_FPGA_REPO_DIR/sdk_setup.sh + cp -r $HDK_COMMON_DIR/shell_stable/hlx/hlx_examples/build/IPI//software + cd software + make all + sudo ./test_cl + +`Back to Vivado IPI GUI Setup Guide <./IPI-GUI-Vivado-Setup.html>`__ diff --git a/docs-rtd/source/hdk/docs/IPI-GUI-Vivado-Setup.rst b/docs-rtd/source/hdk/docs/IPI-GUI-Vivado-Setup.rst new file mode 100644 index 000000000..31bfb1ad3 --- /dev/null +++ b/docs-rtd/source/hdk/docs/IPI-GUI-Vivado-Setup.rst @@ -0,0 +1,333 @@ +Vivado IP Integrator Setup +========================== + +Table of Contents +----------------- + +- `Vivado IP Integrator Setup <#vivado-ip-integrator-setup>`__ + + - `Table of Contents <#table-of-contents>`__ + - `Overview <#overview>`__ + - `Installation in Linux <#installation-in-linux>`__ + + - `Switching between HDK and HLx + flows <#switching-between-hdk-and-hlx-flows>`__ + + - `Vivado Overview <#vivado-overview>`__ + + - `Sources Tab <#sources-tab>`__ + + - `Hierarchy Tab <#hierarchy-tab>`__ + - `IP Sources Tab <#ip-sources-tab>`__ + + - `Flow Navigator <#flow-navigator>`__ + + - `PROJECT MANAGER <#project-manager>`__ + - `IP INTEGRATOR <#ip-integrator>`__ + - `SIMULATION <#simulation>`__ + - `RTL ANALYSIS <#rtl-analysis>`__ + - `SYNTHESIS <#synthesis>`__ + - `IMPLEMENTATION <#implementation>`__ + + - `TCL Commands <#tcl-commands>`__ + - `Design Runs Tab <#design-runs-tab>`__ + + - `Vivado Flows Overview <#vivado-flows-overview>`__ + + - `IP Integration flow <#ip-integration-flow>`__ + - `General Environment <#general-environment>`__ + + - `Design Constraints in + Project <#design-constraints-in-project>`__ + - `Synthesis/Implementation <#synthesis-implementation>`__ + + - `Next Steps <#next-steps>`__ + +Overview +-------- + +This document assumes you have cloned the developer kit and sourced the +`hdk_setup.sh `__. It is highly +recommended that you get familiar with the HDK development flow by +following the `step-by-step quick start guide for customer hardware +development <../README.html>`__ prior to using the Vivado IP +Integrator (IPI). + +After you become familiar with building an example AFI and running it on +F2 instances, refer to `IP Integrator Quick Start +Examples <./IPI-GUI-Examples.html>`__ documentation for help with example +designs, new designs, and additional tutorials. + +Installation in Linux +--------------------- + +Using a text editor, open either ``~/.Xilinx/Vivado/init.tcl`` or +``~/.Xilinx/Vivado/Vivado_init.tcl``. If neither files exists, run the +following command to create one under ``~/.Xilinx/Vivado/``. + +.. code:: bash + + touch Vivado_init.tcl + +To get the absolute path of ``$HDK_SHELL_DIR`` , use this command: + +.. code:: bash + + echo $HDK_SHELL_DIR + +**NOTE**: If your ``$HDK_SHELL_DIR`` is empty or does not display when +echoed, you need to source the +`hdk_setup.sh `__. + +In ``init.tcl`` or ``Vivado_init.tcl``, append the following lines based +upon the ``$HDK_SHELL_DIR`` path to the end of the file. + +.. code:: bash + + set shell small_shell + source $::env(HDK_SHELL_DIR)/hlx/hlx_setup.tcl + +**NOTE**: A ``shell`` variable must be specified for the flow to pair +the customer design with the correct shell variant. Valid values are +``xdma_shell`` (coming soon) or ``small_shell``. + +Switching between HDK and HLx flows +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Vivado automatically sources either ``~/.Xilinx/Vivado/init.tcl`` or + ``~/.Xilinx/Vivado/Vivado_init.tcl`` at startup. After completing the + setup steps above, the IPI features will load automatically each time + you launch Vivado. + +- To switch back to the HDK flow, please remove the + ``source $::env(HDK_SHELL_DIR)/hlx/hlx_setup.tcl`` line from your + ``init.tcl`` or ``Vivado_init.tcl`` file. + +Vivado Overview +--------------- + +This section provides a basic overview of the Vivado GUI. The GUI +environment enables developers of all experience levels to: + +- Quickly set project options and strategies to meet design requirements +- Access interactive reports and design views +- Efficiently resolve timing and area issues + +The IP Integrator (IPI) is a design entry tool in the Vivado HLx Design +Suite. It allows developers to connect IPs at a block level and +generates 'what you see is what you get' RTL files in either VHDL or +Verilog format. The IPI flow enhances the standard RTL flow by providing +designer assistance features, including: + +- Simplified connectivity of IPs through interface-based connections +- Block automation that adds helper IPs (such as interconnects, DMAs, + and other support blocks) based on IP configuration +- Connectivity automation for routing interfaces, clocks, and resets + between blocks +- Design Rule Checks (DRCs) for ensuring proper interface connectivity + and clock domain crossing +- Advanced hardware debug capabilities enabling transaction-level + debugging + +For detailed information and design methodology guidelines, refer to the +following documentation: + +- `Vivado Design Suite User Guide + (UG892) `__ +- `Designing IP Sybsystems UsingIP Integrator + (UG994) `__ +- `UltraFast Design Methodology Guide for FPGAs and SoCs + (UG949) `__ + +To open the GUI, run command ``vivado``. After Vivado loads, create an +empty project by selecting ``Create New Project`` and following the +prompts until you see a blank canvas. The sections below describe the +tabs and menus, refer to the screenshot below. Exploring these tabs and +menus in your blank project is encouraged. + +|vivado_gui| + +Sources Tab +~~~~~~~~~~~ + +The box in yellow contains the design sources. + +Hierarchy Tab +^^^^^^^^^^^^^ + +The 'Sources' tab is divided into three different categories. + +1. Design Sources: contains synthesis/implementation sources +2. Constraints: contains timing constraint (XDC) files +3. Simulation Sources: contains simulation-only sources + +Clicking on a file displays its information in the 'Properties' tab +(under 'Sources'). In this tab, you can specify how the file is used in +the design flow: + +- RTL/IP sources are typically marked for: + + - Synthesis, implementation, simulation + - Synthesis, implementation + - Simulation + +- XDC files are typically marked for: + + - Synthesis, implementation + - Synthesis + - Implementation + +IP Sources Tab +^^^^^^^^^^^^^^ + +When an IP is added to your project, the 'IP Sources' tab becomes +visible. This tab contains imported IP sources. + +Flow Navigator +~~~~~~~~~~~~~~ + +The 'Flow Navigator', located in the green box, allows you to launch +predefined design flow steps, such as synthesis and implementation. + +PROJECT MANAGER +^^^^^^^^^^^^^^^ + +The 'PROJECT MANAGER' section allows you to add sources (RTL, IP, and +XDC files), access Language Templates for common RTL constructs, XDCs +and DEBUG, and use IP Catalog to add IPs to the project. This portion +targets the RTL flow. + +The IP Catalog allows you to search for specific IPs or browse through +IP categories. When using IP Catalog, you are responsible for adding and +connecting the IP to your RTL design. + +IP INTEGRATOR +^^^^^^^^^^^^^ + +This section allows you to open and modify the 'Block Design' and +generate the 'Block Design' after validation. + +**Note**: The HLx flow pre-creates the 'Block Design' framework with AWS +IP and board, so 'Create Block Design' is not necessary. + +Double-clicking an IP in the 'Block Design' opens the 'Re-customize IP' +dialog box, where you can review or modify IP settings. When connecting +designs, you can use 'Run Connection Automation' to automatically +connect interfaces. + +SIMULATION +^^^^^^^^^^ + +In this section, you can modify simulation settings by right-clicking +'SIMULATION'. To run a simulation, select 'Run Simulation' → 'Run +Behavioral Simulation'. + +RTL ANALYSIS +^^^^^^^^^^^^ + +Clicking 'Open Elaborate Design' analyzes the RTL files, allowing you to +verify RTL structures and syntax before synthesis. + +SYNTHESIS +^^^^^^^^^ + +Right-clicking 'SYNTHESIS' allows you to view synthesis settings and +launch a synthesis run. After synthesis completes, click 'Open +Synthesized Design' to access the post-synthesis checkpoint for +analysis. This stage is crucial for developing timing constraints for +the CL. + +IMPLEMENTATION +^^^^^^^^^^^^^^ + +Right-clicking 'IMPLEMENTATION' allows you to view implementation +settings and launch an implementation run. After implementation +completes, click 'Open Implemented Design' to access the +post-implementation checkpoint for analysis of the SH (Shell) and CL +(Custom Logic). + +TCL Commands +~~~~~~~~~~~~ + +The orange box is where you enter Tcl commands. The 'Tcl Console' tab +above displays the command outputs. + +Design Runs Tab +~~~~~~~~~~~~~~~ + +The 'Design Runs' are located in the blue box. This area provides +functionality similar to the 'SYNTHESIS' and 'IMPLEMENTATION' sections +in the 'Flow Navigator'. The examples and tutorials demonstrate how to +use 'synth_1' and 'impl_1' runs to build your design. + +Vivado Flows Overview +--------------------- + +The Vivado HLx environment supports IP Integrator (IPI) flow. This +section provides a top-level overview of these flows. For detailed +information, see `HLx GUI Flows with Vivado IP +Integrator <./IPI-GUI-Flows.html>`__. + +IP Integration flow +~~~~~~~~~~~~~~~~~~~ + +You can easily create a full design by adding Vivado IP to the block +diagram. Use RTL module referencing to add custom RTL as IP to the block +diagram. This flow supports both RTL and IP additions as IP blocks. Find +examples in the `IP Integrator Quick Start +Examples <./IPI-GUI-Examples.html#hlx-examples-using-ip-integrator-flow>`__. + +|ipi_mod_ref| + +General Environment +~~~~~~~~~~~~~~~~~~~ + +Design Constraints in Project +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Top-level clocks from the Shell are provided for synthesis in: + +- cl_clocks_aws.xdc – Top-level clock constraints for the CL + +The following files are available for adding custom constraints: + +- cl_synth_user.xdc – User synthesis constraints +- cl_pnr_user.xdc – User timing and floorplanning constraints + +Synthesis/Implementation +^^^^^^^^^^^^^^^^^^^^^^^^ + +By default, synthesis is using the ``Default`` directive and all +implementation steps are using the ``Explore`` directive. + +To modify implementation settings, right-click 'IMPLEMENTATION', click +'Implementation Settings...' and selection the 'Implementation' option +in 'Project Settings'. Modify directives only for + +- opt_design +- place_design +- phys_opt_design +- route_design + +NOTE: Do not change the ``Strategy`` option, as this will override HLx +environment settings. + +For getting started, refer to `IP Integrator Quick Start +Examples <./IPI-GUI-Examples.html>`__. + +Next Steps +---------- + +1. Review the `AWS IP <./IPI-GUI-AWS-IP.html>`__ documentation to + familiarize yourself with shell features available in the IPI + environment. +2. Test `building an IPI example design in Vivado + GUI <./IPI-GUI-Flows.html>`__ +3. Proceed to the `IPI Quick Start Examples <./IPI-GUI-Examples.html>`__ + for guidance on creating example designs, developing new designs and + following additional tutorials. + +.. |vivado_gui| image:: ./../../_static/hlx_images/vivado_gui.png +.. |ipi_mod_ref| image:: ./../../_static/hlx_images/ipi_mod_ref.png + +`Back to Home <./../../index.html>`__ diff --git a/docs-rtd/source/hdk/docs/Virtual-JTAG-XVC.rst b/docs-rtd/source/hdk/docs/Virtual-JTAG-XVC.rst index 32b366524..854a8927a 100644 --- a/docs-rtd/source/hdk/docs/Virtual-JTAG-XVC.rst +++ b/docs-rtd/source/hdk/docs/Virtual-JTAG-XVC.rst @@ -95,7 +95,7 @@ guide /driver_v0.4/xvc_pcie_driver_base.c:306:25: error: too many arguments to function ‘class_create’ 306 | xvc_dev_class = class_create(THIS_MODULE, "xil_xvc_class"); 3. To resolve the error, update the ``xvc_pcie_driver_base.c`` file as follows: diff --git a/docs-rtd/source/index.rst b/docs-rtd/source/index.rst index 037fea17f..4126f2966 100644 --- a/docs-rtd/source/index.rst +++ b/docs-rtd/source/index.rst @@ -29,6 +29,9 @@ If you are new to AWS EC2 FPGA-accelerated instances, we recommend you read this * - `Vitis (Software-Defined) <./vitis/README.html>`__ - Software developers with C/C++ or RTL experience - Vitis HLS/RTL/Hardware Emulation + * - `HLx <./hdk/docs/IPI-GUI-Vivado-Setup.html>`__ + - Developers with Block Design experience + - Vivado IP Integrator Table of Contents ----------------- @@ -43,6 +46,7 @@ Table of Contents vitis/README developer-resources/Amazon-DCV-Setup-Guide.rst + hdk/docs/IPI-GUI-Vivado-Setup ERRATA diff --git a/docs-rtd/source/sdk/apps/virtual-ethernet/doc/SDE-HW-Guide.rst b/docs-rtd/source/sdk/apps/virtual-ethernet/doc/SDE-HW-Guide.rst index 4770d2e93..2bad56d0e 100644 --- a/docs-rtd/source/sdk/apps/virtual-ethernet/doc/SDE-HW-Guide.rst +++ b/docs-rtd/source/sdk/apps/virtual-ethernet/doc/SDE-HW-Guide.rst @@ -2589,11 +2589,13 @@ of write pointer plus 1 is equal to the read pointer. write pointer value to determine how many valid metadata entries are present in the circular buffer. -.. _data_flow_model: +.. _data-flow-model: Data Flow Model --------------- +.. _c2h-sde: + C2H ~~~ @@ -2644,6 +2646,8 @@ C2H disabled and the software is not required to update SDE’s copy of the read pointer. +.. _h2c-sde: + H2C ~~~ diff --git a/docs-rtd/source/sitemap.xml b/docs-rtd/source/sitemap.xml index 739c803fc..71f4557e6 100644 --- a/docs-rtd/source/sitemap.xml +++ b/docs-rtd/source/sitemap.xml @@ -2,201 +2,233 @@ https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/ERRATA.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/RELEASE-NOTES.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/User-Guide-AWS-EC2-FPGA-Development-Kit.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/all-links.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/developer-resources/Amazon-DCV-Setup-Guide.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/README.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/cl/CHECKLIST-BEFORE-BUILDING-CL.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/cl/examples/CL-TEMPLATE/README.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/cl/examples/cl-dram-hbm-dma/README.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/cl/examples/cl-dram-hbm-dma/verif/README.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 + + + + https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/cl/examples/cl-ipi-cdma-test-hlx/README.html + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/cl/examples/cl-mem-perf/README.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/cl/examples/cl-mem-perf/verif/README.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/cl/examples/cl-sde/README.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/cl/examples/cl-sde/software/src/README.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/cl/examples/cl-sde/verif/README.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 + + + + https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/cl/examples/hello-world-hlx/README.html + 2025-09-25T00:00:01+00:00 + + + + https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/cl/examples/hello-world-mb-hlx/README.html + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/docs/AWS-CLI-FPGA-Commands.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/docs/AWS-CLK-GEN-spec.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/docs/AWS-Fpga-Pcie-Memory-Map.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/docs/AWS-Shell-ERRATA.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/docs/AWS-Shell-Interface-Specification.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/docs/Clock-Recipes-User-Guide.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 + + + https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/docs/IPI-GUI-AWS-IP.html + 2025-09-25T00:00:01+00:00 + + + https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/docs/IPI-GUI-Examples.html + 2025-09-25T00:00:01+00:00 + + + https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/docs/IPI-GUI-Flows.html + 2025-09-25T00:00:01+00:00 + + + + https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/docs/IPI-GUI-Vivado-Setup.html + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/docs/List-AFI-on-Marketplace.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/docs/RTL-Simulation-Guide-for-HDK-Design-Flow.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/docs/Supported-DDR-Modes.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/docs/Virtual-JTAG-XVC.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/docs/XDMA-Install.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/docs/on-premise-licensing-help.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/hdk/docs/shell-floorplan.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/index.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/sdk/README.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/sdk/apps/msix-interrupts/README.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/sdk/apps/virtual-ethernet/README.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/sdk/apps/virtual-ethernet/doc/SDE-HW-Guide.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/sdk/apps/virtual-ethernet/doc/Virtual-Ethernet-Application-Guide.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/sdk/docs/F2-Software-Performance-Optimization-Guide.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/sdk/docs/Load-Times.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/sdk/userspace/cython-bindings/README.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/sdk/userspace/fpga_mgmt_examples/README.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/sdk/userspace/fpga_mgmt_tools/README.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/vitis/ERRATA.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/vitis/README.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/genindex.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 https://awsdocs-fpga-f2.readthedocs-hosted.com/latest/search.html - 2025-08-18T00:00:01+00:00 + 2025-09-25T00:00:01+00:00 \ No newline at end of file diff --git a/docs-rtd/source/spelling_filters/hex_filter.py b/docs-rtd/source/spelling_filters/hex_filter.py index f5784554c..312b053b0 100644 --- a/docs-rtd/source/spelling_filters/hex_filter.py +++ b/docs-rtd/source/spelling_filters/hex_filter.py @@ -1,7 +1,8 @@ from enchant.tokenize import Filter + class HexFilter(Filter): - def _skip(self, word): + def _skip(self, word) -> bool: if word.startswith(("0x", "0X")): try: int(word[2:], 16) @@ -14,4 +15,4 @@ def _skip(self, word): return True except ValueError: return False - return False \ No newline at end of file + return False diff --git a/docs-rtd/source/spelling_filters/ordinal_filter.py b/docs-rtd/source/spelling_filters/ordinal_filter.py index 92b8bde5e..2107975c1 100644 --- a/docs-rtd/source/spelling_filters/ordinal_filter.py +++ b/docs-rtd/source/spelling_filters/ordinal_filter.py @@ -1,19 +1,20 @@ from enchant.tokenize import Filter + class OrdinalFilter(Filter): - def _skip(self, word): + def _skip(self, word) -> bool: is_ordinal = any([word.endswith(suffix) for suffix in ("st", "nd", "rd", "th")]) if not is_ordinal: return False try: number = int(word[:-2]) if number % 10 == 1 and number % 100 != 11: - return word.endswith('st') + return word.endswith("st") elif number % 10 == 2 and number % 100 != 12: - return word.endswith('nd') + return word.endswith("nd") elif number % 10 == 3 and number % 100 != 13: - return word.endswith('rd') + return word.endswith("rd") else: - return word.endswith('th') + return word.endswith("th") except ValueError: - return False \ No newline at end of file + return False diff --git a/docs-rtd/source/spelling_filters/rtl_hex_filter.py b/docs-rtd/source/spelling_filters/rtl_hex_filter.py index 8c5d2794e..dacb2f37a 100644 --- a/docs-rtd/source/spelling_filters/rtl_hex_filter.py +++ b/docs-rtd/source/spelling_filters/rtl_hex_filter.py @@ -1,30 +1,18 @@ import re from enchant.tokenize import Filter + class RTLHexFilter(Filter): - def _skip(self, word): - rtl_hex_literal_prefix = "’h" - if rtl_hex_literal_prefix in word: - # If the literal makes use of underscores for readability - if "_" in word: - underscore_positions = [pos.start() for pos in re.finditer("_", word)] - for pos in underscore_positions: - aligned_word = "" - try: - aligned_word = word[pos + 1 : pos + 5] - word_len = len(aligned_word) - if word_len < 4: - raise IndexError(f"Word {aligned_word} is only {word_len} hex digits long!") - try: - int(aligned_word, base=16) - return True - except ValueError as v: - print("ERROR: Could not convert hex word literal {aligned_word} to a base-16 integer!") - return False - except IndexError as i: - print(f"ERROR: Could not gather 4 hex digits after underscore: \n\t{aligned_word} \n\t{word}") - print((i)) - return False - else: - return True - return False + def _skip(self, word) -> bool: + if "'h" not in word: + return False + + if "_" not in word: + return True + + # Check if segments after underscores are valid 4-digit hex + for match in re.finditer("_", word): + segment = word[match.start() + 1 : match.start() + 5] + if len(segment) < 4 or not all(c in "0123456789abcdefABCDEF" for c in segment): + return False + return True diff --git a/docs-rtd/source/spelling_filters/username_filter.py b/docs-rtd/source/spelling_filters/username_filter.py new file mode 100644 index 000000000..ea7af22cb --- /dev/null +++ b/docs-rtd/source/spelling_filters/username_filter.py @@ -0,0 +1,9 @@ +from enchant.tokenize import Filter + + +class UsernameFilter(Filter): + def _skip(self, word) -> bool: + """Skip word if it starts or ends with '@'""" + if word.startswith("@") or word.endswith("@"): + return True + return False diff --git a/docs-rtd/source/spelling_wordlist.txt b/docs-rtd/source/spelling_wordlist.txt index caa58fa84..9726bc584 100644 --- a/docs-rtd/source/spelling_wordlist.txt +++ b/docs-rtd/source/spelling_wordlist.txt @@ -277,3 +277,14 @@ Startup popups morgnza libsde +afi +el +HLx +hlx +ipi +mb +cdma +xdc +impl +pnr +floorplanning diff --git a/docs-rtd/source/vitis/README.rst b/docs-rtd/source/vitis/README.rst index 3d611b474..c9ded1c2f 100644 --- a/docs-rtd/source/vitis/README.rst +++ b/docs-rtd/source/vitis/README.rst @@ -161,6 +161,8 @@ command to insure that all files required for simulation are present. If all required files are present, you will see ``All required simulation files are present!``. +``NOTE: All paths shown below are identical for customers using Rocky Linux, substituting 'rocky' for 'ubuntu'`` + .. code:: bash ubuntu@ip-aaa-bb-cc-dd:~/aws-fpga/vitis/examples/vitis_examples/hello_world$ hw_file_check diff --git a/hdk/README.md b/hdk/README.md index 29ac54b12..0a847a5aa 100644 --- a/hdk/README.md +++ b/hdk/README.md @@ -6,6 +6,7 @@ - [Table of Contents](#table-of-contents) - [HDK Overview](#hdk-overview) - [Getting Started](#getting-started) + - [Quick Start HW/SW Example: Host-to-FPGA Communication via the OCL Interface](#quick-start-hwsw-example-host-to-fpga-communication-via-the-ocl-interface) - [Build Accelerator AFI using HDK Design Flow](#build-accelerator-afi-using-hdk-design-flow) - [Step 1. Setup Development Environment](#step-1-setup-development-environment) - [Step 2. Clone Developer Kit Repository](#step-2-clone-developer-kit-repository) @@ -39,13 +40,25 @@ The HDK design flow enables developers to create RTL-based accelerator designs f ## Getting Started +### Quick Start HW/SW Example: Host-to-FPGA Communication via the OCL Interface + +The [test_aws_clk_gen.c software runtime example](./cl/examples/cl_mem_perf/software/runtime/test_aws_clk_gen.c) +utilizes the [OCL AXI interface](./docs/AWS_Shell_Interface_Specification.md) +to program the [AWS Clock Generation IP](./docs/AWS_CLK_GEN_spec.md) within the CL_MEM_PERF AFI. + +The example can be run by following the steps in the following documentation references: + +1. Build and ingest the [CL_MEM_PERF](./cl/examples/cl_mem_perf/README.md) example by following the [Build Accelerator AFI using HDK Design Flow](#build-accelerator-afi-using-hdk-design-flow) section below +2. [Load the AGFI](#step-7-load-accelerator-afi-on-f2-instance) generated by the `create-fpga-image` command +3. Follow the [CL_MEM_PERF software runtime compilation instructions](./cl/examples/cl_mem_perf/README.md#software) and execute `./test_aws_clk_gen` + ### Build Accelerator AFI using HDK Design Flow This section provides a step-by-step guide to build an F2 AFI using the HDK design flow. The flow starts with an existing Customer Logic (CL) example design. Steps 1 through 3 demonstrate how to set up the HDK development environment. Steps 4 through 5 show the commands used to generate CL Design Checkpoint (DCP) files and other build artifacts. Steps 6 and 7 demonstrate how to submit the DCP file to generate an AFI for use on F2 instances. #### Step 1. Setup Development Environment -Developers can either use the AWS-provided developer AMI for F2 or their on-premise development environment for this demo. +Developers can either use the [AWS-provided developer AMI](./../User_Guide_AWS_EC2_FPGA_Development_Kit.md#fpga-developer-ami) for F2 or their [on-premise development environment](./docs/on_premise_licensing_help.md) for this demo. #### Step 2. Clone Developer Kit Repository @@ -129,100 +142,19 @@ Generated post-route DCP and design manifest files are archived into a tarball f #### Step 6. Submit Generated DCP for AFI Creation -To submit the DCP, create an S3 bucket and upload the DCP tarball file to the bucket. DCP submission requires the following information: - -- Name of the design (Optional). -- Generic description of the logic design (Optional). -- Destination location of the tarball file object in your S3 bucket. -- Destination location of an S3 directory where AWS can save the logs for your AFI’s creation. - -To upload your tarball file to S3, you can use any of [the tools supported by S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html). - -For example, you can use the AWS CLI as follows: - -Create a bucket and folder for your tarball, then copy to S3. - -Currently, `us-east-1` and `eu-west-2` are available as `REGION` options. - -```bash -export DCP_BUCKET_NAME='' -export DCP_FOLDER_NAME='' -export REGION='us-east-1' -export DCP_TARBALL_TO_INGEST='<$CL_DIR/build/checkpoints/YYYY_MM_DD-HHMMSS.Developer_CL.tar>' - -# Create an S3 bucket (choose a unique bucket name) -aws s3 mb s3://${DCP_BUCKET_NAME} --region ${REGION} -# Create folder for your tarball files -aws s3 mb s3://${DCP_BUCKET_NAME}/${DCP_FOLDER_NAME}/ -# Upload the file to S3 -aws s3 cp ${DCP_TARBALL_TO_INGEST} s3://${DCP_BUCKET_NAME}/${DCP_FOLDER_NAME}/ -``` - -**NOTE**: The trailing '/' is required after `${DCP_FOLDER_NAME}` - -Create a folder for your log files - -```bash -export LOGS_BUCKET_NAME='' -export LOGS_FOLDER_NAME='' - -# Create a folder to keep your logs -aws s3 mb s3://${LOGS_BUCKET_NAME}/${LOGS_FOLDER_NAME}/ --region ${REGION} -# Create a temp file -touch LOGS_FILES_GO_HERE.txt -# Create the folder on S3 -aws s3 cp LOGS_FILES_GO_HERE.txt s3://${LOGS_BUCKET_NAME}/${LOGS_FOLDER_NAME}/ -``` - -**NOTE**: The trailing '/' is required after `${LOGS_FOLDER_NAME}` - -The output of this command includes two identifiers for your AFI: +Once developers have built their DCP, they may submit their FPGA design for AFI creation in one of two ways: -```bash -export DCP_TARBALL_NAME=$(basename ${DCP_TARBALL_TO_INGEST}) -export CL_DESIGN_NAME='' -export CL_DESIGN_DESCRIPTION='Description of ${CL_DESIGN_NAME}' - -# Call AWS CLI ingestion command -aws ec2 create-fpga-image --name ${CL_DESIGN_NAME} --description "${CL_DESIGN_DESCRIPTION}" --input-storage-location Bucket=${DCP_BUCKET_NAME},Key=${DCP_FOLDER_NAME}/${DCP_TARBALL_NAME} --logs-storage-location Bucket=${LOGS_BUCKET_NAME},Key=${LOGS_FOLDER_NAME}/ --region ${REGION} - -{ - "FpgaImageId": "afi-09953582f46c45b17", - "FpgaImageGlobalId": "agfi-0925b211f5a81b071" -} -``` +1. Execute the [create_afi.py utility](./scripts/create_afi.py) from anywhere within the `aws-fpga` repository: + - `$AWS_FPGA_REPO_DIR/hdk/scripts/create_afi.py` + - Make require a Python virtual env which can be started with: `source $AWS_FPGA_REPO_DIR/hdk/scripts/start_venv.sh` -- `FpgaImageId` or AFI ID: This is the main ID used to manage developer’s AFI through the AWS EC2 CLI and AWS SDK APIs. This ID is regional, i.e., if an AFI is copied across multiple regions, it will have a different, unique AFI ID in each region. +2. OR: Upload the DCP to S3 and specify all fields to the `aws ec2 create-fpga-image` utility according to instructions in [Manual AFI Creation](./docs/Amazon_FPGA_Images_Afis_Guide.md#option-2-manual-afi-creation) -- `FpgaImageGlobalId` or AGFI ID: This is a global ID used to refer to an AFI from within an F2 instance. For example, to load or clear an AFI from an FPGA slot, developers need to use the AGFI ID. Since the AGFI IDs is global (by design), it allows developers to copy a combination of AFI/AMI to multiple regions and they will work without any extra setup. - -The `describe-fpga-images` command allows developers to check the AFI’s state while the AFI creation process runs in the background. The AFI ID returned by the `create-fpga-image` command must be provided. The AFI is ready to be deployed once the creation completes and the state code returned is `available`. - -```bash -aws ec2 describe-fpga-images --fpga-image-ids afi-09953582f46c45b17 --region us-east-1 - - ... - - { - "FpgaImages": [ - { - "FpgaImageId": "afi-09953582f46c45b17", - "FpgaImageGlobalId": "agfi-0925b211f5a81b071", - "Name": "cl_sde_0x10212415", - "Description": "Latest devkit build of cl_sde with 0x10212415 small shell release", - ... - "State": { - "Code": "available" - }, - ... - } - ] - } -``` +**NOTE: Additional information about AFI's and surrounding tools can be found in the [Amazon FPGA Images (AFIs) Guide](./docs/Amazon_FPGA_Images_Afis_Guide.md)** #### Step 7. Load Accelerator AFI on F2 Instance -Now that your AFI is available, it can be tested on an F2 instance. The instance can be launched using any preferred AMI, private or public, from the AWS Marketplace catalog. AWS recommends using AMIs with Ubuntu 20.04 and kernel version 5.15. +Now that your AFI is available, it can be tested on an F2 instance. The instance can be launched using any preferred AMI, private or public, from the AWS EC2 AMI Catalog. AWS recommends using AMIs with [similar OS and kernel versions](../User_Guide_AWS_EC2_FPGA_Development_Kit.md#fpga-developer-ami) to those of our developer AMIs. Now you need to install the FPGA Management tools by sourcing the `sdk_setup.sh` script: diff --git a/hdk/cl/examples/CL_TEMPLATE/build/scripts/synth_CL_TEMPLATE.tcl b/hdk/cl/examples/CL_TEMPLATE/build/scripts/synth_CL_TEMPLATE.tcl index 4cf67a181..a73cf60d3 100644 --- a/hdk/cl/examples/CL_TEMPLATE/build/scripts/synth_CL_TEMPLATE.tcl +++ b/hdk/cl/examples/CL_TEMPLATE/build/scripts/synth_CL_TEMPLATE.tcl @@ -28,7 +28,7 @@ print "Reading encrypted user source codes" # Reading the .sv and .v files, as proper designs would not require reading # .vh, nor .inc files -read_verilog -sv [glob ${src_post_enc_dir}/*.?v] +read_verilog -sv [glob ${src_post_enc_dir}/*.{s,}v] #---- End of section replaced by User ---- diff --git a/hdk/cl/examples/cl_dram_hbm_dma/build/scripts/synth_cl_dram_hbm_dma.tcl b/hdk/cl/examples/cl_dram_hbm_dma/build/scripts/synth_cl_dram_hbm_dma.tcl index e03d8978f..1e423d17d 100644 --- a/hdk/cl/examples/cl_dram_hbm_dma/build/scripts/synth_cl_dram_hbm_dma.tcl +++ b/hdk/cl/examples/cl_dram_hbm_dma/build/scripts/synth_cl_dram_hbm_dma.tcl @@ -26,9 +26,8 @@ print "Reading encrypted user source codes" #---- User would replace this section ----- -# Reading the .sv and .v files, as proper designs would not require reading -# .vh, nor .inc files -read_verilog -sv [glob ${src_post_enc_dir}/*.?v] +# Reading the .sv and .v files, and any .vh files that require handling +read_verilog -sv [glob ${src_post_enc_dir}/*.{s,}v] read_verilog -sv [glob ${src_post_enc_dir}/cl_dram_dma_defines.vh] set_property file_type {Verilog Header} [get_files ${src_post_enc_dir}/cl_dram_dma_defines.vh] diff --git a/hdk/cl/examples/cl_ipi_cdma_test_hlx/README.md b/hdk/cl/examples/cl_ipi_cdma_test_hlx/README.md new file mode 100644 index 000000000..3817378cd --- /dev/null +++ b/hdk/cl/examples/cl_ipi_cdma_test_hlx/README.md @@ -0,0 +1,23 @@ +# HLx Flow for CDMA Test IP Integrator Example + +## Table of Contents + +- [HLx Flow for CDMA Test IP Integrator Example](#hlx-flow-for-cdma-test-ip-integrator-example) + - [Table of Contents](#table-of-contents) + - [Overview](#overview) + - [Building and Testing Example](#building-and-testing-example) + +## Overview + +This example design exercises the following data interfaces: + +- AXIL_OCL: Polls the AXI GPIO to which the DDR and HBM calibration done signals are connected +- AXI_PCIS: Writes 1K data pattern to DDR source buffer +- AXIL_OCL: Configures AXI CDMA for 1K DMA transfer from DDR to HBM and polls AXI CDMA status register to determine transfer completion +- AXI_PCIS: Reads 1K from HBM destination buffer and compares against original data pattern + +![block-diagram](./../../../../docs-rtd/source/_static/cl_ipi_cdma_test_hlx_images/cl_ipi_cdma_test_hlx.png) + +## Building and Testing Example + +Follow the common design steps specified in the [IPI example design flow document](./../../../docs/IPI-GUI-Flows.md) to build and test this example on F2 instances. diff --git a/hdk/cl/examples/cl_mem_perf/build/scripts/synth_cl_mem_perf.tcl b/hdk/cl/examples/cl_mem_perf/build/scripts/synth_cl_mem_perf.tcl index 09c687407..2b0673888 100644 --- a/hdk/cl/examples/cl_mem_perf/build/scripts/synth_cl_mem_perf.tcl +++ b/hdk/cl/examples/cl_mem_perf/build/scripts/synth_cl_mem_perf.tcl @@ -27,9 +27,8 @@ print "Reading encrypted user source codes" #---- User would replace this section ----- -# Reading the .sv and .v files, as proper designs would not require reading -# .vh, nor .inc files -read_verilog -sv [glob ${src_post_enc_dir}/*.?v] +# Reading the .sv and .v files, and any .vh files that require handling +read_verilog -sv [glob ${src_post_enc_dir}/*.{s,}v] read_verilog -sv [glob ${src_post_enc_dir}/cl_mem_perf_defines.vh] set_property file_type {Verilog Header} [get_files ${src_post_enc_dir}/cl_mem_perf_defines.vh] diff --git a/hdk/cl/examples/cl_sde/build/scripts/synth_cl_sde.tcl b/hdk/cl/examples/cl_sde/build/scripts/synth_cl_sde.tcl index 73ce9b067..35014370a 100644 --- a/hdk/cl/examples/cl_sde/build/scripts/synth_cl_sde.tcl +++ b/hdk/cl/examples/cl_sde/build/scripts/synth_cl_sde.tcl @@ -27,13 +27,12 @@ print "Reading encrypted user source codes" #---- User would replace this section ----- -# Reading the .sv and .v files, as proper designs would not require reading -# .vh, nor .inc files +# # Reading the .sv and .v files, and any .vh files that require handling read_verilog -sv [glob ${src_post_enc_dir}/cl_sde_defines.vh] set_property file_type {Verilog Header} [get_files ${src_post_enc_dir}/cl_sde_defines.vh] set_property is_global_include true [get_files ${src_post_enc_dir}/cl_sde_defines.vh] -read_verilog -sv [glob ${src_post_enc_dir}/*.?v] +read_verilog -sv [glob ${src_post_enc_dir}/*.{s,}v] #---- End of section replaced by User ---- diff --git a/hdk/cl/examples/hello_world_hlx/README.md b/hdk/cl/examples/hello_world_hlx/README.md new file mode 100644 index 000000000..75b971bd1 --- /dev/null +++ b/hdk/cl/examples/hello_world_hlx/README.md @@ -0,0 +1,22 @@ +# HLx Flow for Hello World IP Integrator Example + +## Table of Contents + +- [HLx Flow for Hello World IP Integrator Example](#hlx-flow-for-hello-world-ip-integrator-example) + - [Table of Contents](#table-of-contents) + - [Overview](#overview) + - [Building and Testing Example](#building-and-testing-example) + +## Overview + +This IP Integrator design includes the AWS IP configured with an OCL interface (AXI4-Lite Master) that controls the VLED through AXI GPIO and a PCIS interface (AXI4 Master) that performs read and write operations to the AXI BRAM in the CL. + +The VLED is set based upon writing `0xAAAA` into the AXI GPIO (0x0) slave register to drive the VLED. The value is read using the Verilog task `tb.get_virtual_led` in simulation or `fpga-get-virtual-led` on F2 instance. + +The PCIS Interface writes ASCII data into the AXI BRAM memory space and reads back from these addresses to print out “Hello World!” in simulation or on a F2 instance. + +![block-diagram](./../../../../docs-rtd/source/_static/hello_world_hlx_images/hello_world_hlx.png) + +## Building and Testing Example + +Follow the common design steps specified in the [IPI example design flow document](./../../../docs/IPI-GUI-Flows.md) to build and test this example on F2 instances. diff --git a/hdk/cl/examples/hello_world_mb_hlx/README.md b/hdk/cl/examples/hello_world_mb_hlx/README.md new file mode 100644 index 000000000..edf83844e --- /dev/null +++ b/hdk/cl/examples/hello_world_mb_hlx/README.md @@ -0,0 +1,60 @@ +# HLx Flow for Hello World MicroBlaze IP Integrator Example + +## Table of Contents + +- [HLx Flow for Hello World MicroBlaze IP Integrator Example](#hlx-flow-for-hello-world-microblaze-ip-integrator-example) + - [Table of Contents](#table-of-contents) + - [Overview](#overview) + - [Building and Testing Example](#building-and-testing-example) + - [MicroBlaze Debug Module (MCM)](#microblaze-debug-module-mcm) + - [BRAM Access through VJTAG and MDM](#bram-access-through-vjtag-and-mdm) + +## Overview + +This design shares the same basic structure as the [hello_world example](../hello_world_hlx/README.md). + +In addition, the design includes a MicroBlaze (MB) processor with LMB memory connections and a MicroBlaze Debug Module (MDM) for debugging purposes. The MicroBlaze uses its Data Port (DP) Master to access the AXI BRAM, which is also accessible by the PCIS Master. Through BSCAN, the host's XSDB program connects to the MDM, allowing it to issue commands to the MicroBlaze for reading and writing to the AXI BRAM. + +The example program executes in the following sequence: + +- After reset, MicroBlaze (MB) begins executing from an ELF file that is loaded into LMB Memory. +- MicroBlaze writes into the shared memory and writes into bit 0 of the GPIO. MicroBlaze polls for bit 1 and bit 0 to be asserted. +- The host polls GPIO bit 0 for assertion. It writes a pattern into the shared memory (`0xBEEF_DEAD`) and writes into bit 1 of the GPIO. +- Once MicroBlaze polls GPIO bit 1 and bit 0 assertion, it verifies the write pattern (`0xBEEF_DEAD`) from the host and writes to GPIO bit 2. +- The host code polls GPIO bit2, bit1 and bit0 assertion. After that, the application competes successfully. + +![block-diagram](./../../../../docs-rtd/source/_static/hello_world_mb_hlx_images/hello_world_mb_hlx.png) + +## Building and Testing Example + +Follow the common design steps specified in the [IPI example design flow document](./../../../docs/IPI-GUI-Flows.md) to build and test this example on F2 instances. + +### MicroBlaze Debug Module (MCM) + +- Before design implementation, Enable the BSCAN ports in CL by defining the `BSCAN_EN` macro. + **NOTE: This is required to use the MicroBlaze Debug Module (MDM) in the design.** + + ```Tcl + set_property verilog_define BSCAN_EN=1 [current_fileset] + ``` + +### BRAM Access through VJTAG and MDM + +The BRAM in the example can be accessed via the MicroBlaze Debug Module (MDM) IP through a virtual JTAG connection. Refer to the [Virtual JTAG/XVC user guide](./../../../docs/Virtual_JTAG_XVC.md) on how to connect the Virtual JTAG cable to the CL. Once the connection is built, type `xsdb` in a terminal to open the XSDB debugger. + +Type in the following commands to test the VJTAG/MDM access to BRAM: + +```bash +xsdb% connect +tcfchan#0 +xsdb% targets + 1 debug_bridge + 2 00000000 + 3 00000000 + 4 MicroBlaze Debug Module at USER1.2.2 + 5 MicroBlaze #0 (Running) +xsdb% target 5 # <------- Change the target to MicroBlaze +xsdb% mwr 0xC0000100 0xDEADBEEF # <------- Test a memory write to the BRAM's start address +xsdb% mrd 0xC0000100 # <------- Read to verify the test data has been stored in the BRAM successfully +C0000100: DEADBEEF +``` diff --git a/hdk/common/shell_stable/hlx b/hdk/common/shell_stable/hlx new file mode 160000 index 000000000..2383c2b64 --- /dev/null +++ b/hdk/common/shell_stable/hlx @@ -0,0 +1 @@ +Subproject commit 2383c2b64572c75163b1b60fbd0abea482c637e6 diff --git a/hdk/docs/AWS_CLI_FPGA_Commands.md b/hdk/docs/AWS_CLI_FPGA_Commands.md index 39700dc5f..7fe468ca4 100644 --- a/hdk/docs/AWS_CLI_FPGA_Commands.md +++ b/hdk/docs/AWS_CLI_FPGA_Commands.md @@ -197,11 +197,15 @@ Errors can occur when calling this API and this document provides the specificat * `DCP_NOT_FOUND` *No DCP file was found with the supplied filename. See AWS FPGA HDK documentation for valid input format. We recommend using the scripts provided with AWS FPGA HDK* +* `UNSUPPORTED_DESIGN_LOGIC` + *The FPGA image bitstream generation failed during design rule validation. If an S3 LogsStorageLocation was provided in the CreateFpgaImage request, review the captured bitstream generation logs saved to S3 under the FpgaImageId for this AFI. Examples of failures include:* + + *1. The design validation detected unsupported primitives in the customer logic. Certain FPGA primitives are restricted to maintain platform stability and ensure reliable operation of customer workloads. The following primitives are not supported: DNA_PORT, FRAME_ECC, MCAP, ICAP_TOP, ICAP_BOT, MASTER_JTAG, DCIRESET, EFUSE_USR, USR_ACCESS, STARTUP, BSCAN1, BSCAN2, BSCAN3, BSCAN4, SYSMON.* ***NOTE: This implementation follows the [design advisory issued by AMD](https://docs.amd.com/r/en-US/000038693). Refer to it for detailed information.*** + + *2. We found a combinatorial loop in the CL design. Bitstream generation logs might show errors like ERROR: [DRC LUTLP-1] Combinatorial Loop Alert: 2 LUT cells form a combinatorial loop. Combinatorial loops are not allowed in CL designs and AFIs are not generated in such cases.* + * `UNKNOWN_BITSTREAM_GENERATE_ERROR` - *An error occurred generating the FPGA image bitstream. If an S3 LogsStorageLocation was provided in the CreateFpgaImage request, review the captured bitstream generation logs saved to S3 under the FpgaImageId for this AFI.* - * **Note:** This is a catch-all error and could be caused due to a variety of issues, for eg: - * We found a combinatorial loop in the CL design. Bitstream generation logs might show errors like `ERROR: [DRC LUTLP-1] Combinatorial Loop Alert: 2 LUT cells form a combinatorial loop. - Combinatorial loops are not allowed in CL designs and AFI's are not generated in such a case. + *An unclassified error occurred generating the FPGA image bitstream. If an S3 LogsStorageLocation was provided in the CreateFpgaImage request, review the captured bitstream generation logs saved to S3 under the FpgaImageId for this AFI.* ## `delete-fpga-image` diff --git a/hdk/docs/Amazon_FPGA_Images_Afis_Guide.md b/hdk/docs/Amazon_FPGA_Images_Afis_Guide.md new file mode 100644 index 000000000..4161fff5b --- /dev/null +++ b/hdk/docs/Amazon_FPGA_Images_Afis_Guide.md @@ -0,0 +1,147 @@ +# Amazon FPGA Images (AFIs) Guide + +## Overview + +Amazon FPGA Images (AFIs) are the compiled and encrypted FPGA designs that can be loaded onto AWS FPGA instances (F2). This guide explains how to create, manage, and understand AFIs in the AWS ecosystem. + +## What are AFIs and AGFIs? + +When you create an AFI, AWS provides two important identifiers: + +| Identifier | Scope | Usage | Example | +|------------|-------|-------|---------| +| **AFI ID** (`FpgaImageId`) | Regional | Managing AFIs via AWS EC2 CLI/SDK APIs | `afi-06d0ffc989feeea2a` | +| **AGFI ID** (`FpgaImageGlobalId`) | Global | Loading AFIs onto FPGA slots from within instances | `agfi-0f0e045f919413242` | + +### Amazon FPGA Image (AFI) + +An AFI is a compiled, encrypted, and signed FPGA design that can be loaded onto AWS FPGA instances. AFIs are created from Design Checkpoint (DCP) files generated during the FPGA development process. An AFI ID is a regional identifier that changes when an AFI is copied across regions. + +### Amazon Global FPGA Image ID (AGFI) + +The AGFI is a **globally unique identifier** that references a specific AFI across all AWS regions enabling seamless AFI/AMI combinations. It's used by FPGA management tools within EC2 instances to load or manage AFIs on FPGA slots. + +## AFI Creation Methods + +### Prerequisites + +- Design Checkpoint (DCP) tarball file +- Required AWS permissions + +### Option 1: Programmatic AFI Creation (Recommended) + +The AWS FPGA HDK provides a Python script for streamlined AFI creation once a DCP is generated. Developers can call [create_afi.py](../scripts/create_afi.py) (with required Python modules included in [start_venv.sh](../scripts/start_venv.sh)) without any arguments to interactively input their AFI parameters: + +```bash +source $AWS_FPGA_REPO_DIR/hdk/scripts/start_venv.sh +$AWS_FPGA_REPO_DIR/hdk/scripts/create_afi.py +``` + +Alternatively, developers can read more in the help menu on how to pass all parameters in together: + +```bash +$AWS_FPGA_REPO_DIR/hdk/scripts/create_afi.py --help +``` + +### Option 2: Manual AFI Creation + +For more control over the AFI creation process, you can manually submit your DCP file using the AWS CLI tool. + +#### Step 1: Prepare Your Environment + +Set up your environment variables: + +```bash +export DCP_BUCKET_NAME='your-dcp-bucket-name' +export DCP_FOLDER_NAME='your-dcp-folder' +export LOGS_BUCKET_NAME='your-logs-bucket-name' +export LOGS_FOLDER_NAME='your-logs-folder' +export REGION='aws-region-code-eg-us-east-1' +export DCP_TARBALL_TO_INGEST='path/to/your/YYYY_MM_DD-HHMMSS.Developer_CL.tar' +``` + +**Note**: Confirm your region supports FPGA images by checking the [Amazon EC2 instance types by Region index](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-instance-regions.html) + +#### Step 2: Create S3 Storage + +Create S3 buckets and upload your DCP file: + +```bash +# Create S3 bucket for DCP files +aws s3 mb s3://${DCP_BUCKET_NAME} --region ${REGION} + +# Create folder for DCP files +aws s3 mb s3://${DCP_BUCKET_NAME}/${DCP_FOLDER_NAME}/ + +# Upload DCP tarball to S3 +aws s3 cp ${DCP_TARBALL_TO_INGEST} s3://${DCP_BUCKET_NAME}/${DCP_FOLDER_NAME}/ +``` + +Create storage for AFI creation logs: + +```bash +# Create folder for logs +aws s3 mb s3://${LOGS_BUCKET_NAME}/${LOGS_FOLDER_NAME}/ --region ${REGION} + +# Create placeholder file to establish the folder structure +touch LOGS_FILES_GO_HERE.txt +aws s3 cp LOGS_FILES_GO_HERE.txt s3://${LOGS_BUCKET_NAME}/${LOGS_FOLDER_NAME}/ +``` + +**Important**: The trailing `/` is required after folder names in S3 paths. + +#### Step 3: Submit AFI Creation Request + +```bash +export DCP_TARBALL_NAME=$(basename ${DCP_TARBALL_TO_INGEST}) +export CL_DESIGN_NAME='your-design-name' +export CL_DESIGN_DESCRIPTION="Description of your FPGA design" + +# Submit AFI creation request +aws ec2 create-fpga-image \ + --name ${CL_DESIGN_NAME} \ + --description "${CL_DESIGN_DESCRIPTION}" \ + --input-storage-location Bucket=${DCP_BUCKET_NAME},Key=${DCP_FOLDER_NAME}/${DCP_TARBALL_NAME} \ + --logs-storage-location Bucket=${LOGS_BUCKET_NAME},Key=${LOGS_FOLDER_NAME}/ \ + --region ${REGION} + +# expected response format: +{ + "FpgaImageId": "afi-09953582f46c45b17", + "FpgaImageGlobalId": "agfi-0925b211f5a81b071" +} +``` + +The [create-fpga-images API](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fpga-image.html#output) or [AWS CLI FPGA Commands](./AWS_CLI_FPGA_Commands.md) documentation can be used to interpret your results. + +## Monitoring AFI Creation + +### Check AFI Status + +Use the AFI ID returned by the `create-fpga-image` command to monitor the creation progress: + +```bash +aws ec2 describe-fpga-images --fpga-image-ids afi-09953582f46c45b17 --region ${REGION} +``` + +The [describe-fpga-images API](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-fpga-images.html#output) or [AWS CLI FPGA Commands](./AWS_CLI_FPGA_Commands.md) documentation can be used to interpret your results. + +## Using AFIs in FPGA Instances + +Once your AFI is `available`, you can load it onto FPGA slots within F2 instances using the **AGFI ID**: + +```bash +# Load AFI onto FPGA slot 0 +sudo fpga-load-local-image -S 0 -I agfi-0925b211f5a81b071 + +# Verify AFI is loaded +sudo fpga-describe-local-image -S 0 +``` + +## Troubleshooting + +- **AFI creation fails**: Check the logs in your designated S3 logs folder +- **S3 permissions**: Verify your AWS credentials have appropriate S3 and EC2 permissions +- **DCP file format**: Ensure your DCP tarball follows [AWS FPGA HDK requirements](./../README.md#step-4-build-cl-design-check-point-dcp) +- For any issues with the devkit documentation or code, please open a [GitHub issue](https://github.com/aws/aws-fpga/issues) with all steps to reproduce +- For questions about F2 instances, please open a [re:Post issue with the 'FPGA Development' tag](https://repost.aws/tags/TAc7ofO5tbQRO57aX1lBYbjA/fpga-development) diff --git a/hdk/docs/IPI-GUI-AWS-IP.md b/hdk/docs/IPI-GUI-AWS-IP.md new file mode 100644 index 000000000..035458a51 --- /dev/null +++ b/hdk/docs/IPI-GUI-AWS-IP.md @@ -0,0 +1,49 @@ +# AWS FPGA IP for IP Integrator Overview + +## Table of Contents + +- [AWS FPGA IP for IP Integrator Overview](#aws-fpga-ip-for-ip-integrator-overview) + - [Table of Contents](#table-of-contents) + - [AWS IP Overview](#aws-ip-overview) + - [Enable IP Interfaces](#enable-ip-interfaces) + - [Clock Signals](#clock-signals) + - [CL Partition ID](#cl-partition-id) + - [Advanced](#advanced) + +## AWS IP Overview + +The AWS IP serves as a central component in the IP Integrator (IPI) designs, providing essential AXI interfaces (OCL, PCIS and PCIM) for Host-FPGA communication, configurable clock management through predefined recipes, and auxiliary signal ports like VLED/VDIP. It enables seamless integration between CL designs and the F2 Shell. + +To configure the AWS IP, double-click the AWS IP block in the 'Block Diagram'. The 'Re-customize IP' GUI displays four configuration categories. + +## Enable IP Interfaces + +Select the box to enable desired interfaces. The block diagram updates automatically to show enabled interfaces, ports, and clocks + +For details about the shell interface, see [AWS Shell Interface Specification](./AWS_Shell_Interface_Specification.md). + +![Diagram](./../../docs-rtd/source/_static/hlx_images/aws_ip_interfaces.png) + +## Clock Signals + +Review the [Clock Recipes User Guide](./Clock_Recipes_User_Guide.md) to determine the number of clocks needed for Groups A, B, and C, and select appropriate clock recipes for all CL clocks. + +![Diagram](./../../docs-rtd/source/_static/hlx_images/aws_ip_clocks.png) + +***NOTE***: `clk_main_a0_out` is a required clock and cannot be disabled. + +***NOTE***: You must select 'Enable Ports for HBM in CL' in the 'Enable IP Interfaces' tab to see HBM AXI clock recipe options. + +## CL Partition ID + +The PCIe Vendor ID, Device ID, Subsystem Vendor ID and Subsystem ID can be configured. For now these default values typically match AWS examples and shouldn't be modified at this time. + +![Diagram](./../../docs-rtd/source/_static/hlx_images/aws_ip_ids.png) + +## Advanced + +Pipeline stages configuration: + +- Range: 1-4 pipeline stages +- Applies to the `sh_cl_ddr_stat_` interface for DDR in the CL +- Selection depends on design size and complexity diff --git a/hdk/docs/IPI-GUI-Examples.md b/hdk/docs/IPI-GUI-Examples.md new file mode 100644 index 000000000..83c589f5f --- /dev/null +++ b/hdk/docs/IPI-GUI-Examples.md @@ -0,0 +1,167 @@ +# AWS GUI Workflow with Vivado IP Integrator Quick Start Examples + +## Table of Contents + +- [AWS GUI Workflow with Vivado IP Integrator Quick Start Examples](#aws-gui-workflow-with-vivado-ip-integrator-quick-start-examples) + - [Table of Contents](#table-of-contents) + - [Overview](#overview) + - [HLx Examples Using IP Integrator Flow](#hlx-examples-using-ip-integrator-flow) + - [Tutorial on How to Create HLx IPI Hello\_World Example with AXI GPIO and AXI BRAM](#tutorial-on-how-to-create-hlx-ipi-hello_world-example-with-axi-gpio-and-axi-bram) + - [Create Directory Structure and Vivado Project](#create-directory-structure-and-vivado-project) + - [Configure the Block Diagram](#configure-the-block-diagram) + - [Configure AWS IP](#configure-aws-ip) + - [Add and Configure AXI GPIO](#add-and-configure-axi-gpio) + - [Add/and Configure AXI BRAM](#addand-configure-axi-bram) + - [Connect the Design](#connect-the-design) + - [Address Editor Tab](#address-editor-tab) + - [Save and Validate the Design](#save-and-validate-the-design) + - [Add Simulation Sources from Example Design](#add-simulation-sources-from-example-design) + - [Run Simulation](#run-simulation) + - [Add Design Constraints](#add-design-constraints) + - [Implement the Design Tarball File](#implement-the-design-tarball-file) + - [CL Example Software](#cl-example-software) + +## Overview + +This document provides an overview of IP Integrator (IPI) examples in the HLx environment. Before starting, complete the [Vivado Setup Instructions](./IPI-GUI-Vivado-Setup.md) to familiarize yourself with the Vivado GUI and IP Integrator. + +All examples in this document have been integrated into an automated flow that directly generates Vivado projects. + +## HLx Examples Using IP Integrator Flow + +This section provides example designs to help you become familiar with the automated project generation flow and IP Integrator functionality + +Available examples are: + +- [hello_world](./../cl/examples/hello_world_hlx/README.md) +- [hello_world_mb](./../cl/examples/hello_world_mb_hlx/README.md) +- [cl_ipi_cdma_test](./../cl/examples/cl_ipi_cdma_test_hlx/README.md) + +Click any example link above for detailed design information and getting started instructions. + +## Tutorial on How to Create HLx IPI Hello_World Example with AXI GPIO and AXI BRAM + +This tutorial demonstrates how to configure AWS IP with the OCL interface (AXI4-Lite Master) and the PCIS interface (AXI4 Master), similar to the ones in the [hello_world](./../cl/examples/hello_world_hlx/README.md) example. + +The AXI GPIO IP controls the virtual LEDs (VLEDs). Writing `0xAAAA` to the AXI GPIO (0x0) slave register drives VLEDs. The VLED value can be read using the verilog task `tb.get_virtual_led` in simulation or `fpga-get-virtual-led` on an F2 instance. + +The PCIS interface accesses the AXI BRAM, where the ASCII string 'Hello World!' can be written to a BRAM location and read back for display in either the simulation environment or on an F2 instance. + +### Create Directory Structure and Vivado Project + +Change directories to `hdk/cl/examples` + +Create a directory in examples like `hello_world_hlx_ipi` + +Change directories into `hello_world_hlx_ipi/` + +Start Vivado by typing `vivado` in the bash console. + +Create a project any device by typing the following command in Vivado's TCL Tab. + +```Tcl +create_project -name hello_world +``` + +Enter the following Tcl command to configure AWS project settings and create a block diagram with AWS IP: + +```Tcl +aws::make_ipi +``` + +***NOTE***: The AWS IP instance name may incorrectly display as `f1_inst` due to a known Vivado issue. To manually change it to f2_inst, click the instance box to highlight it and change the name field in 'Block Propertie' window. + +### Configure the Block Diagram + +#### Configure AWS IP + +Configure the AWS IP block by double-clicking it and selecting three interfaces under 'IP Interfaces': 'Use OCL Register Interface (M_AXI_OCL)', 'Use PCI Slave-access Interface (M_AXI_PCIS)', and 'Use Auxiliary (non-AXI) Signal Ports'. For clock configuration, use Group-A Clock with the default clock recipe to set a 250 MHz frequency. + +#### Add and Configure AXI GPIO + +Right-click in the canvas and select 'Add IP...', then search for and double-click 'AXI GPIO'. Once added, double-click the axi_gpio_0 block in the canvas. In the 'Re-customize IP' dialog box, select 'All Outputs' under the GPIO section and set GPIO Width to 16, then click 'OK'. + +#### Add/and Configure AXI BRAM + +Right-click in the canvas and select 'Add IP...', then search for and double-click 'AXI BRAM Controller'. Once added, double-click the `axi_bram_ctrl_0` block in the canvas and set the Data Width to 512 to match the PCIS AXI4 Master Interface's data width, then click 'OK'. + +#### Connect the Design + +Click 'Run Connection Automation' at the top of the Block Diagram (green highlighted section). Configure the AXI BRAM controller by setting both `axi_bram_ctrl_0/BRAM_PORTA` and `BRAM_PORTB` to 'Auto', then set `axi_bram_ctrl_0/S_AXI` Master to `f2_inst/M_AXI_PCIS` with remaining options as 'Auto'. For the AXI GPIO, set `axi_gpio_0/S_AXI` Master to `f2_inst/M_AXI_OCL` with other options as 'Auto', then click 'OK'. + +After completing the automation, expand `axi_gpio_0/GPIO` by clicking the + symbol. Connect `gpio_io_o[15:0]` from the `f2_inst` block to `status_vled[15:0]`, then run 'Connection Automation'. + +#### Address Editor Tab + +In the 'Address Editor' tab above the block diagram, you can view the address configurations: the AXI BRAM instance has a default 64K address space starting at `0xC0000000` (adjustable by modifying the Range value), while the AXI GPIO instance uses a 4K address space with M_AXI_OCL starting at `0x00000000`. + +#### Save and Validate the Design + +Save the block diagram, then select 'Tools' -> 'Validate Design' and click 'OK' when validation completes successfully. + +### Add Simulation Sources from Example Design + +To add simulation sources, navigate to 'Project Manager' in the 'Flow Navigator' and select 'Add Sources' -> 'Add or create simulation sources' -> 'Select Add Files'. Add the test file `test_cl.sv` from `hdk/common/shell_stable/hlx/hlx/hlx_examples/build/IPI//verif/` directory, and ensure you deselect the option to scan and add RTL include files. + +Configure the following simulation settings to import source files from external directories instead of copying them to the Vivado project: + +1. Source file options: + - Deselect 'Copy sources into project' (creates links instead) + - Select 'Add sources from subdirectories' + - Enable 'Include all design sources for simulation' + - Click 'Finish' + +2. Simulation settings: + - Right-click 'SIMULATION' in Project Manager + - Select 'Simulation Settings' + - In Verilog options, click the '...' box + - Verify/update the following: + - CL_NAME=cl_top + - TEST_NAME=test_cl + - Click 'OK' + - Click 'Apply' + - Click 'OK' to return to Vivado project + +#### Run Simulation + +From the 'Flow Navigator' tab, select 'Simulation' -> 'Run Simulation' -> 'Run Behavioral Simulation', then add your required simulation signals. In the Tcl console, enter the following command. + +```Tcl +run -all +``` + +Note: If critical warnings appear, click 'OK' and run the command twice (this is a known issue that will be addressed in future versions). + +### Add Design Constraints + +No additional constraints are needed for this design. + +### Implement the Design Tarball File + +To implement the design, launch implementation: + +- Right-click 'impl_1' +- Select 'Launch Runs...' +- Click 'OK' +- Click 'OK' on the 'Missing Synthesis Results' dialog + +This process will run both synthesis and implementation. + +The completed tarball file is located in: + +```bash +/example_projects/.runs/faas_1/build/checkpoints/to_aws/.Developer_CL.tar +``` + +For instructions on creating an F2 AFI from the design tarball, see [Submit Generated DCP for AFI Creation](./../README.md#step-6-submit-generated-dcp-for-afi-creation) in the HDK quick start guide. + +### CL Example Software + +Compile the runtime software required for F2 instance execution by copying the software directory to your target location and running these commands: + +```bash +cp -r $HDK_COMMON_DIR/shell_stable/hlx/hlx_examples/build/IPI/hello_world/software . +cd software +make all +sudo ./test_cl +``` diff --git a/hdk/docs/IPI-GUI-Flows.md b/hdk/docs/IPI-GUI-Flows.md new file mode 100644 index 000000000..e48ca4f62 --- /dev/null +++ b/hdk/docs/IPI-GUI-Flows.md @@ -0,0 +1,83 @@ +# HLx GUI Flows with Vivado IP Integrator + +## Table of Contents + +- [HLx GUI Flows with Vivado IP Integrator](#hlx-gui-flows-with-vivado-ip-integrator) + - [Table of Contents](#table-of-contents) + - [Overview](#overview) + - [Create IP Integrator Project with Example Design](#create-ip-integrator-project-with-example-design) + - [Setup HLx Environment](#setup-hlx-environment) + - [Create Design](#create-design) + - [Run Simulation](#run-simulation) + - [Run Implementation](#run-implementation) + - [AFI Creation](#afi-creation) + - [Runtime Example](#runtime-example) + +## Overview + +This document covers top level steps for using the HLx GUI flows. + +## Create IP Integrator Project with Example Design + +This section specifies the end-to-end flow for creating a pre-defined IPI example design and executing it on an F2 instance. + +### Setup HLx Environment + +Clone the `aws-fpga` repository and follow the [Vivado HLx Setup Instructions](./IPI-GUI-Vivado-Setup.md) to set up the HLx environemnt. + +### Create Design + +- To launch Vivado GUI + - Change to the `hdk/cl/examples/` directory, e.g. `hdk/cl/examples/hello_world_hlx` + - Invoke Vivado by typing `vivado` in the console + - In the Vivado Tcl console type in the following to create the HLx example. + + ```Tcl + aws::make_ipi -examples + ``` + + ***NOTE***: See what examples are possible, type `aws::make_ipi -examples` into Tcl console. + ***NOTE***: IPI example design names do not include `_hlx`, which differs from the CL name ``. + + - The example will be generated in `cl/examples//example_projects`. The Vivado project is `examples_projects/.xpr` + - Once the Block diagram is opened, review the different IP blocks especially the settings in the AWS IP + +### Run Simulation + +The simulation settings are already configured. + +- To launch simulation from within the Vivado GUI + - Click on 'SIMULATION' -> 'Run Simulation' -> 'Run Behavioral Simulation' + - Add signals needed in the simulation + - Type `run -all` in the Tcl console + +### Run Implementation + +- To run implementation from within the GUI is opened, in the Design Runs tab: + - Right click on 'impl_1' in the Design Runs tab and select Launch Runs… + - Click 'OK' in the Launch Runs Dialog Box. + - Click 'OK' in the Missing Synthesis Results Dialog Box + +- This step will run both synthesis and implementation. + +### AFI Creation + +The completed tarball file for a successfully implemented example design can be found in: + +```bash +$CL_DIR/build/scripts/example_projects/.runs/faas_1/build/checkpoints/to_aws/.Developer_CL.tar +``` + +For information on how to create AFI from this tarball file, follow the [Submit Generated DCP for AFI Creation](./../README.md#step-6-submit-generated-dcp-for-afi-creation) section in the HDK step-by-step quick start guide. + +### Runtime Example + +The runtime software must be compiled before the AFI can run on F2 instances. Copy the example's software directory to your preferred location and compile it using the following commands: + +```bash +source $AWS_FPGA_REPO_DIR/sdk_setup.sh +cp -r $HDK_COMMON_DIR/shell_stable/hlx/hlx_examples/build/IPI//software +cd software +make all +sudo ./test_cl +``` diff --git a/hdk/docs/IPI-GUI-Vivado-Setup.md b/hdk/docs/IPI-GUI-Vivado-Setup.md new file mode 100644 index 000000000..6ab6e8089 --- /dev/null +++ b/hdk/docs/IPI-GUI-Vivado-Setup.md @@ -0,0 +1,205 @@ +# Vivado IP Integrator Setup + +## Table of Contents + +- [Vivado IP Integrator Setup](#vivado-ip-integrator-setup) + - [Table of Contents](#table-of-contents) + - [Overview](#overview) + - [Installation in Linux](#installation-in-linux) + - [Switching between HDK and HLx flows](#switching-between-hdk-and-hlx-flows) + - [Vivado Overview](#vivado-overview) + - [Sources Tab](#sources-tab) + - [Hierarchy Tab](#hierarchy-tab) + - [IP Sources Tab](#ip-sources-tab) + - [Flow Navigator](#flow-navigator) + - [PROJECT MANAGER](#project-manager) + - [IP INTEGRATOR](#ip-integrator) + - [SIMULATION](#simulation) + - [RTL ANALYSIS](#rtl-analysis) + - [SYNTHESIS](#synthesis) + - [IMPLEMENTATION](#implementation) + - [TCL Commands](#tcl-commands) + - [Design Runs Tab](#design-runs-tab) + - [Vivado Flows Overview](#vivado-flows-overview) + - [IP Integration flow](#ip-integration-flow) + - [General Environment](#general-environment) + - [Design Constraints in Project](#design-constraints-in-project) + - [Synthesis/Implementation](#synthesisimplementation) + - [Next Steps](#next-steps) + +## Overview + +This document assumes you have cloned the developer kit and sourced the [`hdk_setup.sh`](./../../hdk_setup.sh). It is highly recommended that you get familiar with the HDK development flow by following the [step-by-step quick start guide for customer hardware development](./../README.md) prior to using the Vivado IP Integrator (IPI). + +After you become familiar with building an example AFI and running it on F2 instances, refer to [IP Integrator Quick Start Examples](./IPI-GUI-Examples.md) documentation for help with example designs, new designs, and additional tutorials. + +## Installation in Linux + +Using a text editor, open either `~/.Xilinx/Vivado/init.tcl` or `~/.Xilinx/Vivado/Vivado_init.tcl`. If neither files exists, run the following command to create one under `~/.Xilinx/Vivado/`. + +``` bash +touch Vivado_init.tcl +``` + +To get the absolute path of `$HDK_SHELL_DIR` , use this command: + +``` bash +echo $HDK_SHELL_DIR +``` + +**NOTE**: If your `$HDK_SHELL_DIR` is empty or does not display when echoed, you need to source the [hdk_setup.sh](../../../../../hdk_setup.sh). + +In `init.tcl` or `Vivado_init.tcl`, append the following lines based upon the `$HDK_SHELL_DIR` path to the end of the file. + +``` bash +set shell small_shell +source $::env(HDK_SHELL_DIR)/hlx/hlx_setup.tcl +``` + +**NOTE**: A `shell` variable must be specified for the flow to pair the customer design with the correct shell variant. Valid values are `xdma_shell` (coming soon) or `small_shell`. + +### Switching between HDK and HLx flows + +- Vivado automatically sources either `~/.Xilinx/Vivado/init.tcl` or `~/.Xilinx/Vivado/Vivado_init.tcl` at startup. After completing the setup steps above, the IPI features will load automatically each time you launch Vivado. + +- To switch back to the HDK flow, please remove the `source $::env(HDK_SHELL_DIR)/hlx/hlx_setup.tcl` line from your `init.tcl` or `Vivado_init.tcl` file. + +## Vivado Overview + +This section provides a basic overview of the Vivado GUI. The GUI environment enables developers of all experience levels to: + +- Quickly set project options and strategies to meet design requirements +- Access interactive reports and design views +- Efficiently resolve timing and area issues + +The IP Integrator (IPI) is a design entry tool in the Vivado HLx Design Suite. It allows developers to connect IPs at a block level and generates 'what you see is what you get' RTL files in either VHDL or Verilog format. The IPI flow enhances the standard RTL flow by providing designer assistance features, including: + +- Simplified connectivity of IPs through interface-based connections +- Block automation that adds helper IPs (such as interconnects, DMAs, and other support blocks) based on IP configuration +- Connectivity automation for routing interfaces, clocks, and resets between blocks +- Design Rule Checks (DRCs) for ensuring proper interface connectivity and clock domain crossing +- Advanced hardware debug capabilities enabling transaction-level debugging + +For detailed information and design methodology guidelines, refer to the following documentation: + +- [Vivado Design Suite User Guide (UG892)](https://docs.amd.com/r/en-US/ug892-vivado-design-flows-overview) +- [Designing IP Sybsystems UsingIP Integrator (UG994)](https://docs.amd.com/r/en-US/ug994-vivado-ip-subsystems) +- [UltraFast Design Methodology Guide for FPGAs and SoCs (UG949)](https://docs.amd.com/r/en-US/ug949-vivado-design-methodology) + +To open the GUI, run command `vivado`. After Vivado loads, create an empty project by selecting `Create New Project` and following the prompts until you see a blank canvas. The sections below describe the tabs and menus, refer to the screenshot below. Exploring these tabs and menus in your blank project is encouraged. + +![Diagram](./../../docs-rtd/source/_static/hlx_images/vivado_gui.png) + +### Sources Tab + +The box in yellow contains the design sources. + +#### Hierarchy Tab + +The 'Sources' tab is divided into three different categories. + +1. Design Sources: contains synthesis/implementation sources +2. Constraints: contains timing constraint (XDC) files +3. Simulation Sources: contains simulation-only sources + +Clicking on a file displays its information in the 'Properties' tab (under 'Sources'). In this tab, you can specify how the file is used in the design flow: + +- RTL/IP sources are typically marked for: + - Synthesis, implementation, simulation + - Synthesis, implementation + - Simulation + +- XDC files are typically marked for: + - Synthesis, implementation + - Synthesis + - Implementation + +#### IP Sources Tab + +When an IP is added to your project, the 'IP Sources' tab becomes visible. This tab contains imported IP sources. + +### Flow Navigator + +The 'Flow Navigator', located in the green box, allows you to launch predefined design flow steps, such as synthesis and implementation. + +#### PROJECT MANAGER + +The 'PROJECT MANAGER' section allows you to add sources (RTL, IP, and XDC files), access Language Templates for common RTL constructs, XDCs and DEBUG, and use IP Catalog to add IPs to the project. This portion targets the RTL flow. + +The IP Catalog allows you to search for specific IPs or browse through IP categories. When using IP Catalog, you are responsible for adding and connecting the IP to your RTL design. + +#### IP INTEGRATOR + +This section allows you to open and modify the 'Block Design' and generate the 'Block Design' after validation. + +***Note***: The HLx flow pre-creates the 'Block Design' framework with AWS IP and board, so 'Create Block Design' is not necessary. + +Double-clicking an IP in the 'Block Design' opens the 'Re-customize IP' dialog box, where you can review or modify IP settings. When connecting designs, you can use 'Run Connection Automation' to automatically connect interfaces. + +#### SIMULATION + +In this section, you can modify simulation settings by right-clicking 'SIMULATION'. To run a simulation, select 'Run Simulation' → 'Run Behavioral Simulation'. + +#### RTL ANALYSIS + +Clicking 'Open Elaborate Design' analyzes the RTL files, allowing you to verify RTL structures and syntax before synthesis. + +#### SYNTHESIS + +Right-clicking 'SYNTHESIS' allows you to view synthesis settings and launch a synthesis run. After synthesis completes, click 'Open Synthesized Design' to access the post-synthesis checkpoint for analysis. This stage is crucial for developing timing constraints for the CL. + +#### IMPLEMENTATION + +Right-clicking 'IMPLEMENTATION' allows you to view implementation settings and launch an implementation run. After implementation completes, click 'Open Implemented Design' to access the post-implementation checkpoint for analysis of the SH (Shell) and CL (Custom Logic). + +### TCL Commands + +The orange box is where you enter Tcl commands. The 'Tcl Console' tab above displays the command outputs. + +### Design Runs Tab + +The 'Design Runs' are located in the blue box. This area provides functionality similar to the 'SYNTHESIS' and 'IMPLEMENTATION' sections in the 'Flow Navigator'. The examples and tutorials demonstrate how to use 'synth_1' and 'impl_1' runs to build your design. + +## Vivado Flows Overview + +The Vivado HLx environment supports IP Integrator (IPI) flow. This section provides a top-level overview of these flows. For detailed information, see [HLx GUI Flows with Vivado IP Integrator](./IPI-GUI-Flows.md). + +### IP Integration flow + +You can easily create a full design by adding Vivado IP to the block diagram. Use RTL module referencing to add custom RTL as IP to the block diagram. This flow supports both RTL and IP additions as IP blocks. Find examples in the [IP Integrator Quick Start Examples](./IPI-GUI-Examples.md#hlx-ipi-examples-using-ip-integration-flow). + +![Diagram](./../../docs-rtd/source/_static/hlx_images/ipi_mod_ref.png) + +### General Environment + +#### Design Constraints in Project + +Top-level clocks from the Shell are provided for synthesis in: + +- cl_clocks_aws.xdc – Top-level clock constraints for the CL + +The following files are available for adding custom constraints: + +- cl_synth_user.xdc – User synthesis constraints +- cl_pnr_user.xdc – User timing and floorplanning constraints + +#### Synthesis/Implementation + +By default, synthesis is using the `Default` directive and all implementation steps are using the `Explore` directive. + +To modify implementation settings, right-click 'IMPLEMENTATION', click 'Implementation Settings...' and selection the 'Implementation' option in 'Project Settings'. Modify directives only for + +- opt_design +- place_design +- phys_opt_design +- route_design + +NOTE: Do not change the `Strategy` option, as this will override HLx environment settings. + +For getting started, refer to [IP Integrator Quick Start Examples](./IPI-GUI-Examples.md). + +## Next Steps + +1. Review the [AWS IP](./IPI-GUI-AWS-IP.md) documentation to familiarize yourself with shell features available in the IPI environment. +2. Test [building an IPI example design in Vivado GUI](./IPI-GUI-Flows.md) +3. Proceed to the [IPI Quick Start Examples](./IPI-GUI-Examples.md) for guidance on creating example designs, developing new designs and following additional tutorials. diff --git a/hdk/docs/Virtual_JTAG_XVC.md b/hdk/docs/Virtual_JTAG_XVC.md index 457f7c525..bd43903ac 100644 --- a/hdk/docs/Virtual_JTAG_XVC.md +++ b/hdk/docs/Virtual_JTAG_XVC.md @@ -61,7 +61,7 @@ To begin debugging a CL design, the developer must first install the XVC driver :warning: Developers may encounter a compilation error in some operating systems due to driver incompatibility, like this: ```bash -/home/ubuntu/driver_v0.4/xvc_pcie_driver_base.c:306:25: error: too many arguments to function ‘class_create’ +/home//driver_v0.4/xvc_pcie_driver_base.c:306:25: error: too many arguments to function ‘class_create’ 306 | xvc_dev_class = class_create(THIS_MODULE, "xil_xvc_class"); ``` diff --git a/hdk/scripts/create_afi.py b/hdk/scripts/create_afi.py new file mode 100755 index 000000000..5e6ed5a9f --- /dev/null +++ b/hdk/scripts/create_afi.py @@ -0,0 +1,567 @@ +#!/usr/bin/env python3 + +# ============================================================================= +# Amazon FPGA Hardware Development Kit +# +# Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Amazon Software License (the "License"). You may not use +# this file except in compliance with the License. A copy of the License is +# located at +# +# http://aws.amazon.com/asl/ +# +# or in the "license" file accompanying this file. This file is distributed on +# an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or +# implied. See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================= + +""" +AFI Creation Helper Script + +Interactive tool to create Amazon FPGA Images (AFIs) from Design Checkpoint (DCP) files. +Guides users through region selection, S3 setup, DCP selection, and AFI creation. +""" + +import argparse +import glob +import json +import os +import re +import subprocess +import sys +import tarfile +import time +import traceback +from datetime import datetime +from pathlib import Path +from typing import Any, Dict, List, Optional, Tuple + +import boto3 +from mypy_boto3_ec2.client import EC2Client +from mypy_boto3_ec2.type_defs import CreateFpgaImageResultTypeDef +from mypy_boto3_s3.client import S3Client +from mypy_boto3_s3.type_defs import ListObjectsV2OutputTypeDef +from pydantic import BaseModel, Field, field_validator + + +DEFAULT_POLL_INTERVAL = 300 + + +class AfiMetadata(BaseModel): + name: str = Field(..., min_length=1, max_length=255) + description: str = Field(..., min_length=1, max_length=255) + dcp_path: str = Field(...) + bucket: str = Field(...) + dcp_s3_path: str = Field(...) + logs_s3_path: str = Field(...) + region: str = Field(...) + + @field_validator("bucket") + @classmethod + def validate_bucket_name(cls, v: str) -> str: + if not re.match(r"^[a-z0-9][a-z0-9\-]*[a-z0-9]$", v) or not (3 <= len(v) <= 63): + raise ValueError("Invalid S3 bucket name format") + return v + + @field_validator("dcp_path") + @classmethod + def validate_dcp_file(cls, v: str) -> str: + print(f"🔎 Validating DCP file is a proper tar archive: {v}") + if not v.lower().endswith(".tar"): + raise ValueError("DCP file must have .tar extension") + + try: + file_size = os.path.getsize(v) + if file_size == 0: + raise ValueError("DCP file is empty") + + with tarfile.open(v, "r") as tar: + if not tar.getnames(): + raise ValueError("DCP tar file contains no files") + + except (OSError, tarfile.TarError) as e: + raise ValueError(f"Invalid DCP file: {e}") + + print(f"✓ DCP file validation passed: {v} ({file_size / (1024 * 1024):.1f}MB)") + return v + + def get_create_args(self) -> Dict[str, Any]: + return { + "InputStorageLocation": {"Bucket": self.bucket, "Key": self.dcp_s3_path}, + "LogsStorageLocation": {"Bucket": self.bucket, "Key": self.logs_s3_path}, + "Name": self.name, + "Description": self.description, + } + + +class RegionManager: + CACHE_FILE = Path.home() / ".aws" / "fpga_regions_cache.json" + CACHE_TTL = 24 * 60 * 60 # 24 hours + KNOWN_F2_REGIONS = ["us-east-1", "us-west-2", "ap-southeast-2", "eu-west-2"] + F2_INSTANCE_TYPES = ["f2.6xlarge", "f2.12xlarge", "f2.48xlarge"] + + @staticmethod + def get_supported_regions() -> List[str]: + # Get the regions from the cache if it's less than 24 hours old + try: + if ( + RegionManager.CACHE_FILE.exists() + and (time.time() - RegionManager.CACHE_FILE.stat().st_mtime) < RegionManager.CACHE_TTL + ): + with RegionManager.CACHE_FILE.open("r") as f: + regions = json.load(f)["regions"] + if regions: + return regions + except Exception: + pass + + # Get regions from AWS or fallback to known list + regions = ( + RegionManager._get_current_f2_region_list() + if boto3.Session().get_credentials() + else RegionManager.KNOWN_F2_REGIONS + ) + + # Save the latest regions in the cache + try: + RegionManager.CACHE_FILE.parent.mkdir(parents=True, exist_ok=True) + with RegionManager.CACHE_FILE.open("w") as f: + json.dump({"regions": regions, "timestamp": time.time()}, f) + except Exception: + pass + + return regions + + @staticmethod + def _get_current_f2_region_list() -> List[str]: + print("🔍 Discovering F2 instance supported regions via AWS API...") + regions: List[str] = [] + for region in boto3.Session().get_available_regions("ec2"): + try: + ec2 = boto3.client("ec2", region_name=region) + if ec2.describe_instance_type_offerings( + Filters=[{"Name": "instance-type", "Values": RegionManager.F2_INSTANCE_TYPES}] + )["InstanceTypeOfferings"]: + regions.append(region) + print(f" ✓ Found F2 support in {region}") + except Exception: + continue + return regions + + @staticmethod + def validate_region_supports_f2(region: str) -> None: + if region not in RegionManager.get_supported_regions(): + raise ValueError( + f"Region '{region}' does not support F2 instances.\n" + f"Supported regions: {', '.join(RegionManager.get_supported_regions())}" + ) + + +class UserInterface: + @staticmethod + def get_choice_from_options(prompt: str, options: List[str], default: int = 0) -> int: + print(f"\n{prompt}") + [print(f"{i + 1}) {opt}") for i, opt in enumerate(options)] + + while True: + try: + choice = input(f"Choice [{default + 1}]: ").strip() or str(default + 1) + idx = int(choice) - 1 + if 0 <= idx < len(options): + return idx + print("Invalid choice.") + except ValueError: + print("Enter a number.") + + @staticmethod + def get_input(prompt: str) -> str: + while True: + value = input(f"\n{prompt}").strip() + if value: + return value + print("Input cannot be empty.") + + @staticmethod + def confirm(message: str) -> bool: + return UserInterface.get_choice_from_options(message, ["Yes", "No"], default=1) == 0 + + +class DCPDiscovery: + @staticmethod + def find_hdk_dir() -> Optional[str]: + if os.environ.get("HDK_DIR"): + return os.environ.get("HDK_DIR") + + try: + result = subprocess.run(["git", "rev-parse", "--show-toplevel"], capture_output=True, text=True, check=True) + hdk_path = os.path.join(result.stdout.strip(), "hdk") + if os.path.isdir(hdk_path): + print(f"✓ Found HDK directory: {hdk_path}") + return hdk_path + except (subprocess.CalledProcessError, FileNotFoundError): + pass + + return DCPDiscovery.search_for_repo_root_from_current_script_dir() + + @staticmethod + def search_for_repo_root_from_current_script_dir() -> Optional[str]: + current_path = Path(__file__).resolve().parent + while current_path != current_path.parent: + hdk_dir = current_path / "hdk" + if (current_path / "hdk_setup.sh").is_file() and (hdk_dir).is_dir(): + print(f"✓ Found HDK directory via repo root: {hdk_dir}") + return str(hdk_dir) + current_path = current_path.parent + print("⚠️ Could not find an HDK directory", file=sys.stderr) + return None + + def find_dcp_files_in_hdk_workspace(self) -> List[Tuple[str, str]]: + hdk_dir = DCPDiscovery.find_hdk_dir() + if not hdk_dir: + return [] + + dcp_paths = glob.glob(os.path.join(hdk_dir, "cl", "examples", "*", "build", "checkpoints", "*.tar")) + return [(path, self._create_display_name(path)) for path in sorted(dcp_paths)] + + def _create_display_name(self, path: str) -> str: + name = os.path.basename(path) + info = [name] + + date_match = re.search(r"(\d{4}_\d{2}_\d{2}-\d{6})", name) + if date_match: + try: + build_date = datetime.strptime(date_match.group(1), "%Y_%m_%d-%H%M%S") + info.append(f"Built: {build_date.strftime('%b %d, %Y at %H:%M')}") + except ValueError: + pass + + if os.path.exists(path): + size_mb = os.path.getsize(path) / (1024 * 1024) + info.append(f"Size: {size_mb:.1f}MB") + + return f"{info[0]} ({', '.join(info[1:])})" if len(info) > 1 else info[0] + + def get_dcp_path_interactive(self) -> str: + if ( + UserInterface.get_choice_from_options( + "Would you like to scan for DCP files in your HDK workspace?", + ["Yes, scan automatically", "No, I'll provide the path manually"], + ) + != 0 + ): + return UserInterface.get_input("Please enter the path to your DCP file: ") + + dcp_files = self.find_dcp_files_in_hdk_workspace() + if not dcp_files: + return UserInterface.get_input("No DCP files found. Please enter the path: ") + + options = [f"{display}\n Path: {path}" for path, display in dcp_files] + options.append("Other path (specify manually)") + + idx = UserInterface.get_choice_from_options("Select DCP file from your HDK workspace:", options) + return dcp_files[idx][0] if idx < len(dcp_files) else UserInterface.get_input("Enter DCP file path: ") + + +class S3Manager: + def __init__(self, region: str): + self.region = region + self.s3_client: S3Client = boto3.client("s3") + + def get_regional_buckets(self) -> List[str]: + buckets: List[str] = [] + for bucket_name in [b.get("Name", "") for b in self.s3_client.list_buckets()["Buckets"]]: + try: + location = self.s3_client.get_bucket_location(Bucket=bucket_name).get("LocationConstraint") + if location == self.region or (location is None and self.region == "us-east-1"): + buckets.append(bucket_name) + except Exception: + continue + return buckets + + def create_bucket(self, bucket_name: str) -> None: + kwargs: Dict[str, Any] = {"Bucket": bucket_name} + if self.region != "us-east-1": + kwargs["CreateBucketConfiguration"] = {"LocationConstraint": self.region} + self.s3_client.create_bucket(**kwargs) + print(f"✓ Created S3 bucket: {bucket_name}") + + def ensure_folder_exists(self, bucket: str, folder_path: str) -> None: + folder_path = folder_path.rstrip("/") + "/" + if not self.s3_client.list_objects_v2(Bucket=bucket, Prefix=folder_path).get("Contents"): + self.s3_client.put_object(Bucket=bucket, Key=folder_path) + print(f"✓ Created S3 folder: s3://{bucket}/{folder_path}") + + def upload_file(self, local_path: str, bucket: str, key: str) -> None: + print(f"Uploading: {local_path} -> s3://{bucket}/{key}") + self.s3_client.upload_file(local_path, bucket, key) + print("✓ Upload completed") + + def get_bucket_interactive(self) -> str: + buckets = self.get_regional_buckets() + options = buckets + ["Create new bucket"] + idx = UserInterface.get_choice_from_options(f"Select {self.region} S3 bucket:", options, default=len(buckets)) + + if idx < len(buckets): + return buckets[idx] + + bucket_name = UserInterface.get_input("Enter new bucket name: ") + self.create_bucket(bucket_name) + return bucket_name + + def get_s3_paths_interactive(self, bucket: str) -> Tuple[str, str]: + msg = "Store DCP file and logs in the same directory?" + same_dir = UserInterface.get_choice_from_options(msg, ["Yes, same directory", "No, separate directories"]) == 0 + + if same_dir: + base_path = self._get_s3_base_path(bucket) + return base_path, base_path + + print("\nConfiguring DCP storage path:") + dcp_path = self._get_s3_base_path(bucket) + print("\nConfiguring logs storage path:") + logs_path = self._get_s3_base_path(bucket) + return dcp_path, logs_path + + def _get_s3_base_path(self, bucket: str) -> str: + response: ListObjectsV2OutputTypeDef = self.s3_client.list_objects_v2(Bucket=bucket, Delimiter="/", MaxKeys=10) + folders = [p.get("Prefix", "").rstrip("/") for p in response.get("CommonPrefixes", [])] + + if folders: + options = folders + ["Enter custom path"] + idx = UserInterface.get_choice_from_options( + f"Select folder in bucket '{bucket}':", options, default=len(folders) + ) + if idx < len(folders): + return folders[idx] + + return UserInterface.get_input("Enter S3 path (without leading/trailing slashes): ").strip("/") + + +class AFICreator: + def __init__(self, region: str, interactive: bool = True): + self.region = region + self.interactive = interactive + self.s3_manager = S3Manager(region) + self.dcp_discovery = DCPDiscovery() + self.ec2_client: EC2Client = boto3.client("ec2", region_name=region) + + def create_afi( + self, afi_data: Dict[str, str], create_bucket: bool = False, poll_interval: Optional[int] = None + ) -> CreateFpgaImageResultTypeDef: + complete_data = self._complete_afi_data(afi_data) + afi_metadata = AfiMetadata(**complete_data) + + self._prepare_s3_resources(afi_metadata, create_bucket) + + if self.interactive: + self._confirm_operations(afi_metadata) + + result = self.ec2_client.create_fpga_image(**afi_metadata.get_create_args()) + print("✓ AFI creation started successfully!") + print(f" AFI ID: {result['FpgaImageId']}") + print(f" AGFI ID: {result['FpgaImageGlobalId']}") + + if poll_interval: + self._handle_polling(result["FpgaImageId"], poll_interval) + return result + + def _complete_afi_data(self, data: Dict[str, str]) -> Dict[str, str]: + if not data.get("name") and self.interactive: + data["name"] = UserInterface.get_input("Enter AFI name: ") + + if not data.get("description") and self.interactive: + data["description"] = UserInterface.get_input("Enter AFI description: ") + + if not data.get("dcp_path") and self.interactive: + data["dcp_path"] = self.dcp_discovery.get_dcp_path_interactive() + + if not data.get("bucket") and self.interactive: + data["bucket"] = self.s3_manager.get_bucket_interactive() + + if not data.get("dcp_s3_path") or not data.get("logs_s3_path") and self.interactive: + data["dcp_s3_path"], data["logs_s3_path"] = self.s3_manager.get_s3_paths_interactive(data["bucket"]) + + data["region"] = self.region + return data + + def _prepare_s3_resources(self, afi: AfiMetadata, create_bucket: bool) -> None: + if create_bucket: + self.s3_manager.create_bucket(afi.bucket) + + timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") + afi_folder = f"{afi.name}_{timestamp}" + + final_dcp_path = f"{afi.dcp_s3_path}/{afi_folder}/" + final_logs_path = f"{afi.logs_s3_path}/{afi_folder}/logs/" + + self.s3_manager.ensure_folder_exists(afi.bucket, final_dcp_path) + self.s3_manager.ensure_folder_exists(afi.bucket, final_logs_path) + + dcp_key = f"{final_dcp_path}{os.path.basename(afi.dcp_path)}" + self.s3_manager.upload_file(afi.dcp_path, afi.bucket, dcp_key) + + afi.dcp_s3_path = dcp_key + afi.logs_s3_path = final_logs_path + + def _confirm_operations(self, afi: AfiMetadata) -> None: + print(f""" +Operations to execute: +1. Upload DCP: {afi.dcp_path} -> s3://{afi.bucket}/{afi.dcp_s3_path} +2. Create AFI: '{afi.name}' - '{afi.description}' in {self.region}""") + + if not UserInterface.confirm("Proceed with these operations?"): + raise KeyboardInterrupt("Operation cancelled by user") + + def _handle_polling(self, afi_id: str, interval: int) -> None: + should_poll = not self.interactive or UserInterface.confirm( + f"Poll AFI status every {interval} seconds until completion?" + ) + + if should_poll: + self._poll_afi_status(afi_id, interval) + + def _poll_afi_status(self, afi_id: str, interval: int) -> None: + print(f"\nPolling AFI status every {interval // 60} minutes...") + + while True: + try: + state = self.ec2_client.describe_fpga_images(FpgaImageIds=[afi_id])["FpgaImages"][0]["State"] + status_code = state["Code"] + + print(f"[{datetime.now():%Y-%m-%d %H:%M:%S}] AFI Status: {status_code}") + + if status_code == "available": + print("\n🎉 AFI creation completed successfully!") + break + if status_code in ["failed", "unavailable"]: + print(f"\n❌ AFI creation failed: {status_code}") + print(f"Error: {state.get('Message', 'MISSING')}") + break + + time.sleep(interval) + + except KeyboardInterrupt: + print(f"\nPolling stopped. Check status with: aws ec2 describe-fpga-images --fpga-image-ids {afi_id}") + break + except Exception as e: + print(f"Error polling AFI status: {e}") + break + + def provide_next_steps(self, agfi_id: str) -> None: + hdk_dir = DCPDiscovery.find_hdk_dir() + repo_root_str = "$AWS_FPGA_REPO_DIR" if not hdk_dir else os.path.dirname(hdk_dir) + # TODO: Insert documentation pointing to the AMI's + # TODO: Insert documentation pointing to the tools + + print(f""" +{"=" * 80} +🚀 NEXT STEPS: Load Your FPGA Image +{"=" * 80} + +Your AFI is now ready! Here's how to load it on an F2 instance: + +📋 STEP 1: Launch an Amazon EC2 F2 instance (f2.6xlarge, f2.12xlarge, or f2.48xlarge) + Make sure to use an FPGA Runtime AMI or the FPGA Developer AMI for the best experience + +📋 STEP 2: Set Up Your Environment from the aws-fpga repository root + cd {repo_root_str} + source sdk_setup.sh + +📋 STEP 3: Load Your FPGA Image with the AGFI ID + sudo fpga-load-local-image -S 0 -I {agfi_id} + +📋 STEP 4: Check that your AFI has 'loaded' successfully with your AGFI ID + sudo fpga-describe-local-image -S 0 -H + +{"=" * 80}""") + + +parser = argparse.ArgumentParser( + description="Create Amazon FPGA Images (AFIs) from Design Checkpoint files", + formatter_class=argparse.RawDescriptionHelpFormatter, + epilog=f""" +Examples: +# Interactive mode (default) +python3 create_afi.py + +# Non-interactive mode +python3 create_afi.py --region us-east-1 --name "my-design" \\ +--description "Custom FPGA logic" --dcp-path /path/to/dcp.tar \\ +--bucket my-afi-bucket --create-bucket --poll-interval {DEFAULT_POLL_INTERVAL} + """, +) + +supported_regions = RegionManager.get_supported_regions() +parser.add_argument("--interactive", action="store_true", default=True, help="Run in interactive mode (default)") +parser.add_argument("--non-interactive", dest="interactive", action="store_false", help="Run in non-interactive mode") +parser.add_argument("--region", choices=supported_regions, help="AWS region for AFI creation") +parser.add_argument("--name", help="AFI name") +parser.add_argument("--description", help="AFI description") +parser.add_argument("--dcp-path", help="Path to DCP tarball file") +parser.add_argument("--bucket", help="S3 bucket name for DCP and logs") +parser.add_argument("--dcp-s3-path", help="S3 path for DCP") +parser.add_argument("--logs-s3-path", help="S3 path for logs") +parser.add_argument("--create-bucket", action="store_true", help="Create S3 bucket if it doesn't exist") +parser.add_argument( + "--poll-interval", + type=int, + default=DEFAULT_POLL_INTERVAL, + help=f"Polling interval in seconds (default: {DEFAULT_POLL_INTERVAL})", +) + + +class AFIManager: + def handle_interactive_mode(self, args: argparse.Namespace) -> str: + if args.interactive and not args.region: + idx = UserInterface.get_choice_from_options("Select AWS region:", supported_regions) + return supported_regions[idx] + return args.region + + def create_afi_request(self, args: argparse.Namespace, region: str): + creator = AFICreator(region=region, interactive=args.interactive) + result = creator.create_afi( + afi_data=vars(args), + create_bucket=args.create_bucket, + poll_interval=args.poll_interval, + ) + + self.print_success(result, region, args.interactive) + creator.provide_next_steps(result["FpgaImageGlobalId"]) + return result + + @staticmethod + def print_success(result: CreateFpgaImageResultTypeDef, region: str, interactive: bool): + print("\n✅ AFI creation request submitted successfully!") + print(f"AFI ID: {result['FpgaImageId']}") + print(f"AGFI ID: {result['FpgaImageGlobalId']}") + + if not interactive: + print("\nMonitor progress with:") + print(f"aws ec2 describe-fpga-images --fpga-image-ids {result['FpgaImageId']} --region {region}") + + +def main(): + try: + args = parser.parse_args() + except SystemExit as e: + return 0 if e.code == 0 else 1 + + try: + afi_manager = AFIManager() + region = afi_manager.handle_interactive_mode(args) + RegionManager.validate_region_supports_f2(region) + afi_manager.create_afi_request(args, region) + return 0 + + except KeyboardInterrupt: + print("\n⚠️ Operation cancelled by user", file=sys.stderr) + except Exception as e: + print(f"❌ Error: {e}", file=sys.stderr) + traceback.print_exc() + return 1 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/hdk/scripts/start_venv.sh b/hdk/scripts/start_venv.sh new file mode 100755 index 000000000..c307ec91a --- /dev/null +++ b/hdk/scripts/start_venv.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Check if the script is being sourced +if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then + echo "Error: This script must be sourced. Please run:" + echo " source ${0}" + exit 1 +fi + +# Get the directory of the script +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" + +# Create a requirements.txt file in the script directory +cat > "$SCRIPT_DIR/requirements.txt" << EOF +boto3>=1.33.13 +boto3-stubs>=1.34.4 +botocore>=1.33.13 +botocore-stubs>=1.34.4 +mypy-boto3-ec2>=1.34.4 +mypy-boto3-s3>=1.34.0 +pydantic==2.5.3 +pydantic-core==2.14.6 +EOF + +echo "Creating and activating virtual environment in the script directory" +python3 -m venv "$SCRIPT_DIR/venv" +source "$SCRIPT_DIR/venv/bin/activate" + +# Upgrade pip +python3 -m pip install --upgrade pip + +# Install requirements +python3 -m pip install -r "$SCRIPT_DIR/requirements.txt" + +echo "Virtual environment created in $SCRIPT_DIR/venv and packages installed successfully!" diff --git a/hdk/scripts/test_create_afi.py b/hdk/scripts/test_create_afi.py new file mode 100644 index 000000000..fe95933c2 --- /dev/null +++ b/hdk/scripts/test_create_afi.py @@ -0,0 +1,704 @@ +#!/usr/bin/env python3 + +# ============================================================================= +# Amazon FPGA Hardware Development Kit +# +# Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Amazon Software License (the "License"). You may not use +# this file except in compliance with the License. A copy of the License is +# located at +# +# http://aws.amazon.com/asl/ +# +# or in the "license" file accompanying this file. This file is distributed on +# an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or +# implied. See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================= + + +if __name__ == "__main__": + import coverage + import os + + current_dir = os.path.dirname(os.path.abspath(__file__)) + cov = coverage.Coverage(source=[current_dir], omit=["*test*.py"]) + cov.start() + +from pathlib import Path +import shutil +import os +import sys +import subprocess +import tempfile +import unittest +from io import StringIO +from unittest.mock import MagicMock, Mock, patch, mock_open, DEFAULT +from typing import List, Tuple, Optional +import boto3 +from moto import mock_s3 +from pydantic import ValidationError + +# Import the module under test +from create_afi import ( + AFICreator, + AfiMetadata, + DCPDiscovery, + RegionManager, + S3Manager, + UserInterface, + AFIManager, + main, +) + + +class TestAfiMetadata(unittest.TestCase): + def setUp(self): + self.valid_data = { + "name": "test-afi", + "description": "Test AFI", + "dcp_path": "/path/to/test.tar", + "bucket": "test-bucket", + "dcp_s3_path": "dcp/path", + "logs_s3_path": "logs/path", + "region": "us-east-1", + } + + @patch("os.path.getsize") + @patch("tarfile.open") + def test_valid_metadata(self, mock_tarfile, mock_getsize): + mock_getsize.return_value = 1024 + mock_tarfile.return_value.__enter__.return_value.getnames.return_value = ["test.dcp"] + + metadata = AfiMetadata(**self.valid_data) + self.assertEqual(metadata.name, "test-afi") + self.assertEqual(metadata.bucket, "test-bucket") + + def test_bucket_validation(self): + invalid_buckets = ["UPPER", "under_score", "ab", "a" * 64, "-bucket", "bucket-"] + valid_buckets = ["test-bucket", "my-bucket-123", "abc"] + + for bucket in invalid_buckets: + with self.subTest(bucket=bucket): + data = self.valid_data.copy() + data["bucket"] = bucket + with self.assertRaises(ValidationError): + AfiMetadata(**data) + + for bucket in valid_buckets: + with self.subTest(bucket=bucket): + with patch("os.path.getsize", return_value=1024), patch("tarfile.open") as mock_tar: + mock_tar.return_value.__enter__.return_value.getnames.return_value = ["test.dcp"] + data = self.valid_data.copy() + data["bucket"] = bucket + metadata = AfiMetadata(**data) + self.assertEqual(metadata.bucket, bucket) + + @patch("os.path.getsize") + @patch("tarfile.open") + def test_dcp_validation(self, mock_tarfile, mock_getsize): + mock_getsize.return_value = 1024 + mock_tarfile.return_value.__enter__.return_value.getnames.return_value = ["test.dcp"] + + # Test invalid extension + data = self.valid_data.copy() + data["dcp_path"] = "test.zip" + with self.assertRaises(ValidationError): + AfiMetadata(**data) + + # Test empty file + mock_getsize.return_value = 0 + with self.assertRaises(ValidationError): + AfiMetadata(**self.valid_data) + + # Test empty tar + mock_getsize.return_value = 1024 + mock_tarfile.return_value.__enter__.return_value.getnames.return_value = [] + with self.assertRaises(ValidationError): + AfiMetadata(**self.valid_data) + + def test_get_create_args(self): + with patch("os.path.getsize", return_value=1024), patch("tarfile.open") as mock_tar: + mock_tar.return_value.__enter__.return_value.getnames.return_value = ["test.dcp"] + metadata = AfiMetadata(**self.valid_data) + args = metadata.get_create_args() + + expected = { + "InputStorageLocation": {"Bucket": "test-bucket", "Key": "dcp/path"}, + "LogsStorageLocation": {"Bucket": "test-bucket", "Key": "logs/path"}, + "Name": "test-afi", + "Description": "Test AFI", + } + self.assertEqual(args, expected) + + +class TestRegionManager(unittest.TestCase): + @classmethod + def setUpClass(cls): + cls.test_regions = ["us-east-1", "us-west-2", "eu-west-1"] + cls.temp_dir = tempfile.mkdtemp() + cls.cache_file = Path(cls.temp_dir) / ".aws" / "fpga_regions_cache.json" + cls.cache_file.parent.mkdir(parents=True) + + @classmethod + def tearDownClass(cls): + shutil.rmtree(cls.temp_dir) + + def setUp(self): + if self.cache_file.exists(): + self.cache_file.unlink() + + def setup_cache_mock(self, mock_cache_file, mock_time, exists=True, mtime=999000): + """Helper to set up common cache mocking.""" + mock_time.return_value = 1000000 + mock_cache_file.exists.return_value = exists + mock_cache_file.stat.return_value.st_mtime = mtime + return mock_open() + + @patch("create_afi.RegionManager.CACHE_FILE") + @patch("time.time") + def test_cache_operations(self, mock_time, mock_cache_file): + """Test all cache-related scenarios.""" + test_cases: List[Tuple[str, bool, Optional[str], List[str], bool]] = [ + ("read valid", True, '{"regions": ["us-east-1"], "timestamp": 1000000}', ["us-east-1"], False), + ("read invalid json", True, "invalid json", self.test_regions, False), + ("read missing regions", True, '{"timestamp": 1000000}', self.test_regions, False), + ("write error", False, None, self.test_regions, False), + ("json dump error", False, None, self.test_regions, True), + ] + + for scenario, exists, content, expected, json_error in test_cases: + with self.subTest(scenario=scenario): + mock_file = self.setup_cache_mock(mock_cache_file, mock_time, exists) + if content: + mock_file.return_value.__enter__.return_value.read.return_value = content + mock_cache_file.open = mock_file + + with patch("boto3.Session") as mock_session: + mock_session.return_value.get_credentials.return_value = MagicMock() + with patch.object(RegionManager, "_get_current_f2_region_list", return_value=self.test_regions): + if json_error: + # Make json.dump raise an exception + with patch("json.dump", side_effect=TypeError("JSON serialization error")): + regions = RegionManager.get_supported_regions() + else: + regions = RegionManager.get_supported_regions() + self.assertEqual(regions, expected) + + @patch("boto3.Session") + @patch("boto3.client") + def test_region_discovery(self, mock_client, mock_session): + """Test region discovery scenarios.""" + mock_session.return_value.get_available_regions.return_value = ["us-east-1", "us-west-2", "eu-west-1"] + + # Create mock EC2 clients with different behaviors + mock_ec2_clients = { + "us-east-1": MagicMock( + **{ + "describe_instance_type_offerings.return_value": { + "InstanceTypeOfferings": [{"InstanceType": "f2.6xlarge"}] + } + } + ), + "us-west-2": MagicMock(**{"describe_instance_type_offerings.return_value": {"InstanceTypeOfferings": []}}), + "eu-west-1": MagicMock(**{"describe_instance_type_offerings.side_effect": Exception("API Error")}), + } + + def mock_ec2_client(service, region_name): + return mock_ec2_clients[region_name] + + mock_client.side_effect = mock_ec2_client + + regions = RegionManager._get_current_f2_region_list() + self.assertEqual(regions, ["us-east-1"]) + + # Verify each region was checked with correct parameters + for region, mock_ec2 in mock_ec2_clients.items(): + if region != "eu-west-1": # Skip error case + mock_ec2.describe_instance_type_offerings.assert_called_once_with( + Filters=[{"Name": "instance-type", "Values": RegionManager.F2_INSTANCE_TYPES}] + ) + + def test_region_validation(self): + """Test region validation.""" + with patch.object(RegionManager, "get_supported_regions", return_value=self.test_regions): + RegionManager.validate_region_supports_f2("us-east-1") # Should not raise + with self.assertRaisesRegex(ValueError, "does not support F2 instances"): + RegionManager.validate_region_supports_f2("invalid-region") + + +class TestUserInterface(unittest.TestCase): + def setUp(self): + self.options = ["Option 1", "Option 2"] + self.prompt = "Select option:" + + @patch("builtins.input", return_value="") + def test_get_choice_default(self, mock_input): + self.assertEqual(UserInterface.get_choice_from_options(self.prompt, self.options, default=1), 1) + + @patch("builtins.input", return_value="2") + def test_get_choice_valid(self, mock_input): + self.assertEqual(UserInterface.get_choice_from_options(self.prompt, self.options), 1) + + @patch("builtins.input", side_effect=["invalid", "0", "2"]) + def test_get_choice_invalid_then_valid(self, mock_input): + result = UserInterface.get_choice_from_options(self.prompt, self.options) + self.assertEqual(result, 1) + self.assertEqual(mock_input.call_count, 3) + + @patch("builtins.input", side_effect=["5", "1"]) + def test_get_choice_out_of_range(self, mock_input): + result = UserInterface.get_choice_from_options(self.prompt, self.options) + self.assertEqual(result, 0) + self.assertEqual(mock_input.call_count, 2) + + @patch("builtins.input", side_effect=["", " ", "valid"]) + def test_get_input(self, mock_input): + self.assertEqual(UserInterface.get_input("Prompt:"), "valid") + self.assertEqual(mock_input.call_count, 3) + + @patch.object(UserInterface, "get_choice_from_options") + def test_confirm(self, mock_get_choice_from_options): + mock_get_choice_from_options.return_value = 0 + self.assertTrue(UserInterface.confirm("Confirm?")) + mock_get_choice_from_options.return_value = 1 + self.assertFalse(UserInterface.confirm("Confirm?")) + + +class TestDCPDiscovery(unittest.TestCase): + def setUp(self): + self.dcp_discovery = DCPDiscovery() + + def test_find_hdk_dir_scenarios(self): + # From environment variable + with patch.dict(os.environ, {"HDK_DIR": "/test/hdk"}): + self.assertEqual(DCPDiscovery.find_hdk_dir(), "/test/hdk") + + # From git + with patch.dict(os.environ, {}, clear=True): + with patch("subprocess.run") as mock_run: + with patch("os.path.isdir", return_value=True): + mock_run.return_value.stdout = "/repo/root\n" + self.assertEqual(DCPDiscovery.find_hdk_dir(), "/repo/root/hdk") + + # Fallback case + with patch.dict(os.environ, {}, clear=True): + with patch("subprocess.run", side_effect=subprocess.CalledProcessError(1, "git")): + with patch.object( + DCPDiscovery, "search_for_repo_root_from_current_script_dir", return_value="/fallback/hdk" + ): + self.assertEqual(DCPDiscovery.find_hdk_dir(), "/fallback/hdk") + + @patch("create_afi.Path") + def test_search_for_repo_root(self, mock_path): + mock_parent, mock_root = MagicMock(), MagicMock() + mock_path.return_value.resolve.return_value.parent = mock_parent + mock_parent.parent = mock_root + mock_root.parent = mock_root + + # Test HDK not found + mock_parent.__truediv__.return_value.is_file.return_value = False + self.assertIsNone(DCPDiscovery.search_for_repo_root_from_current_script_dir()) + + # Test HDK found + mock_hdk_setup, mock_hdk_dir = MagicMock(), MagicMock() + mock_hdk_setup.is_file.return_value = True + mock_hdk_dir.is_dir.return_value = True + mock_hdk_dir.__str__.return_value = "/test/repo/hdk" + mock_parent.__truediv__ = MagicMock( + side_effect=lambda p: mock_hdk_setup if p == "hdk_setup.sh" else mock_hdk_dir + ) + self.assertEqual(DCPDiscovery.search_for_repo_root_from_current_script_dir(), "/test/repo/hdk") + + def test_dcp_operations(self): + # Test find_dcp_files scenarios + with patch.object(DCPDiscovery, "find_hdk_dir") as mock_find_hdk, patch("glob.glob") as mock_glob: + mock_find_hdk.return_value = None + self.assertEqual(self.dcp_discovery.find_dcp_files_in_hdk_workspace(), []) + + mock_find_hdk.return_value = "/test/hdk" + mock_glob.return_value = ["/test/path/test.tar"] + results = self.dcp_discovery.find_dcp_files_in_hdk_workspace() + self.assertEqual(len(results), 1) + + # Test display name creation + self.assertEqual( + self.dcp_discovery._create_display_name("/test/file_2024_13_99-999999.tar"), "file_2024_13_99-999999.tar" + ) + + with patch("os.path.exists", return_value=True), patch("os.path.getsize", return_value=2 * 1024 * 1024): + self.assertIn( + "Built: Jan 01, 2024 at 12:00", + self.dcp_discovery._create_display_name("/test/file_2024_01_01-120000.tar"), + ) + + def test_interactive_path_selection(self): + with patch.object(DCPDiscovery, "find_dcp_files_in_hdk_workspace") as mock_find: + with patch.object(UserInterface, "get_choice_from_options") as mock_choice: + with patch.object(UserInterface, "get_input") as mock_input: + # Manual path + mock_choice.return_value = 1 + mock_input.return_value = "/test/path.tar" + self.assertEqual(self.dcp_discovery.get_dcp_path_interactive(), "/test/path.tar") + + # Empty list + mock_choice.return_value = 0 + mock_find.return_value = [] + self.assertEqual(self.dcp_discovery.get_dcp_path_interactive(), "/test/path.tar") + + # Choose from list + mock_find.return_value = [("/path1.tar", "d1"), ("/path2.tar", "d2")] + mock_choice.side_effect = [0, 1] + self.assertEqual(self.dcp_discovery.get_dcp_path_interactive(), "/path2.tar") + + # Choose other path + mock_choice.side_effect = [0, 2] + self.assertEqual(self.dcp_discovery.get_dcp_path_interactive(), "/test/path.tar") + + +class TestS3Manager(unittest.TestCase): + def setUp(self): + self.region = "us-east-1" + self.bucket_name = "test-bucket" + self.test_content = "test content" + + def setup_mock_bucket(self): + self.s3_client = boto3.client("s3", region_name=self.region) + S3Manager(self.region).create_bucket(self.bucket_name) + return S3Manager(self.region) + + @mock_s3 + def test_bucket_operations(self): + self.s3_client = boto3.client("s3", region_name=self.region) + s3_manager = S3Manager(self.region) + + # Test bucket creation in different regions + self.s3_client.create_bucket(Bucket="us-east-1-bucket") + + # Test non-default region bucket creation + west_manager = S3Manager("us-west-2") + west_manager.create_bucket("west-bucket") # This will use LocationConstraint + + location = self.s3_client.get_bucket_location(Bucket="west-bucket")["LocationConstraint"] + self.assertEqual(location, "us-west-2") + + # Test error handling + original_get_location = s3_manager.s3_client.get_bucket_location + + def mock_get_location(**kwargs): + if kwargs["Bucket"] == "error-bucket": + raise boto3.exceptions.ClientError( + {"Error": {"Code": "AccessDenied", "Message": "Access Denied"}}, "GetBucketLocation" + ) + return original_get_location(**kwargs) + + s3_manager.s3_client.get_bucket_location = mock_get_location + self.s3_client.create_bucket(Bucket="error-bucket") + + buckets = s3_manager.get_regional_buckets() + self.assertIn("us-east-1-bucket", buckets) + self.assertNotIn("west-bucket", buckets) + self.assertNotIn("error-bucket", buckets) + + @mock_s3 + def test_folder_and_file_operations(self): + s3_manager = self.setup_mock_bucket() + folder_path = "test/folder" + + # Test folder operations + s3_manager.ensure_folder_exists(self.bucket_name, folder_path) + self.s3_client.put_object(Bucket=self.bucket_name, Key=f"{folder_path}/existing.txt", Body=b"test") + s3_manager.ensure_folder_exists(self.bucket_name, folder_path) + objects = self.s3_client.list_objects_v2(Bucket=self.bucket_name, Prefix=f"{folder_path}/") + self.assertEqual(len(objects.get("Contents", [])), 2) + + # Test file upload + with tempfile.NamedTemporaryFile(mode="w", delete=False) as f: + f.write(self.test_content) + temp_file = f.name + try: + s3_manager.upload_file(temp_file, self.bucket_name, "test/file.txt") + content = self.s3_client.get_object(Bucket=self.bucket_name, Key="test/file.txt")["Body"].read().decode() + self.assertEqual(content, self.test_content) + finally: + os.unlink(temp_file) + + @mock_s3 + @patch.object(UserInterface, "get_choice_from_options") + @patch.object(UserInterface, "get_input") + def test_interactive_operations(self, mock_input, mock_choice): + s3_manager = self.setup_mock_bucket() + self.s3_client.put_object(Bucket=self.bucket_name, Key="existing_folder1/") + + # Test bucket selection (both existing and new) + mock_choice.side_effect = [0, 1] # First select existing, then create new + mock_input.return_value = "new-test-bucket" + self.assertEqual(s3_manager.get_bucket_interactive(), self.bucket_name) + self.assertEqual(s3_manager.get_bucket_interactive(), "new-test-bucket") + + # Test path selection - same directory + mock_choice.reset_mock() + mock_input.reset_mock() + mock_choice.side_effect = [0, 0] # Same directory, select existing folder + dcp_path, logs_path = s3_manager.get_s3_paths_interactive(self.bucket_name) + self.assertEqual(dcp_path, logs_path) + self.assertEqual(dcp_path, "existing_folder1") + + # Test path selection - separate directories + mock_choice.reset_mock() + mock_input.reset_mock() + mock_choice.side_effect = [1, 0, 2] # Separate dirs, existing folder, custom path + mock_input.return_value = "custom/path" + dcp_path, logs_path = s3_manager.get_s3_paths_interactive(self.bucket_name) + self.assertEqual(dcp_path, "existing_folder1") + self.assertEqual(logs_path, "custom/path") + + +class TestAFICreator(unittest.TestCase): + def setUp(self): + self.region = "us-east-1" + self.afi_creator = AFICreator(self.region, interactive=False) + self.mock_afi_data = { + "name": "test-afi", + "description": "Test description", + "dcp_path": "/path/to/test.tar", + "bucket": "test-bucket", + "dcp_s3_path": "dcp/path", + "logs_s3_path": "logs/path", + } + # Set up string buffer to capture output + self.output = StringIO() + self._stdout = sys.stdout + sys.stdout = self.output + + def tearDown(self): + sys.stdout = self._stdout + self.output.close() + + @patch("boto3.client") + def test_initialization(self, _): + creator = AFICreator("us-west-2", interactive=True) + self.assertEqual(creator.region, "us-west-2") + self.assertTrue(creator.interactive) + self.assertIsInstance(creator.s3_manager, S3Manager) + self.assertIsInstance(creator.dcp_discovery, DCPDiscovery) + + @patch.multiple("create_afi.AFICreator", _complete_afi_data=DEFAULT, _poll_afi_status=DEFAULT) + @patch.multiple("os.path", getsize=DEFAULT) + @patch("boto3.client") + @patch("tarfile.open") + @patch("create_afi.UserInterface.confirm") + def test_create_afi_workflow(self, mock_confirm, mock_tarfile, mock_client, **mocks): + # Setup basic mocks + mock_tarfile.return_value.__enter__.return_value.getnames.return_value = ["test.dcp"] + mocks["getsize"].return_value = 1024 * 1024 + mocks["_complete_afi_data"].return_value = {**self.mock_afi_data, "region": self.region} + + self.afi_creator.ec2_client = MagicMock() + self.afi_creator.ec2_client.create_fpga_image.return_value = { + "FpgaImageId": "afi-12345", + "FpgaImageGlobalId": "agfi-67890", + } + self.afi_creator.s3_manager = MagicMock() + self.afi_creator.interactive = True + + # Test create_bucket and polling + mock_confirm.side_effect = [True, True] # First call + result = self.afi_creator.create_afi({"name": "test"}, create_bucket=True, poll_interval=300) + self.afi_creator.s3_manager.create_bucket.assert_called_once() + mocks["_poll_afi_status"].assert_called_once_with("afi-12345", 300) + + # Reset mocks and set up for cancellation test + mock_confirm.reset_mock() + mock_confirm.side_effect = None # Clear side_effect + mock_confirm.return_value = False # Second call + with self.assertRaises(KeyboardInterrupt) as cm: + self.afi_creator.create_afi({"name": "test"}) + self.assertEqual(str(cm.exception), "Operation cancelled by user") + + def test_afi_data_completion(self): + result = self.afi_creator._complete_afi_data(self.mock_afi_data.copy()) + self.assertEqual(result, {**self.mock_afi_data, "region": self.region}) + + with patch.multiple( + "create_afi.UserInterface", get_input=MagicMock(side_effect=["New AFI", "New Description"]) + ): + with patch.multiple( + "create_afi.S3Manager", + get_s3_paths_interactive=MagicMock(return_value=("dcp/path", "logs/path")), + get_bucket_interactive=MagicMock(return_value="test-bucket"), + ): + with patch.multiple( + "create_afi.DCPDiscovery", get_dcp_path_interactive=MagicMock(return_value="/path/to/dcp") + ): + result = AFICreator(self.region, interactive=True)._complete_afi_data({}) + self.assertEqual(result["name"], "New AFI") + self.assertEqual(result["description"], "New Description") + + @patch("time.sleep") + def test_polling_scenarios(self, mock_sleep): + self.afi_creator.ec2_client = MagicMock() + + test_cases = [ + ({"Code": "available"}, "🎉 AFI creation completed successfully!"), + ({"Code": "failed"}, "❌ AFI creation failed: failed"), + ({"Code": "unavailable", "Message": "Error message"}, "Error: Error message"), + ] + + # Capture all output + for state, expected_output in test_cases: + self.afi_creator.ec2_client.describe_fpga_images.return_value = {"FpgaImages": [{"State": state}]} + self.afi_creator._poll_afi_status("afi-12345", 60) + self.assertIn(expected_output, self.output.getvalue()) + self.output.truncate(0) + self.output.seek(0) + + # Test interrupts + mock_sleep.side_effect = KeyboardInterrupt() + self.afi_creator.ec2_client.describe_fpga_images.return_value = {"FpgaImages": [{"State": {"Code": "pending"}}]} + self.afi_creator._poll_afi_status("afi-12345", 60) + self.assertIn("Polling stopped", self.output.getvalue()) + self.output.truncate(0) + self.output.seek(0) + + # Test generic exception + self.afi_creator.ec2_client.describe_fpga_images.side_effect = Exception("Test error") + self.afi_creator._poll_afi_status("afi-12345", 60) + self.assertIn("Error polling AFI status: Test error", self.output.getvalue()) + + @patch.object(DCPDiscovery, "find_hdk_dir") + def test_provide_next_steps(self, mock_find_hdk): + for hdk_dir in ["/path/to/hdk", None]: + mock_find_hdk.return_value = hdk_dir + self.afi_creator.provide_next_steps("agfi-12345") + + +class TestAFIManager(unittest.TestCase): + def setUp(self): + self.afi_manager = AFIManager() + self.mock_args = Mock(interactive=False, region="us-east-1", create_bucket=False, poll_interval=30) + self.mock_result = {"FpgaImageId": "afi-12345", "FpgaImageGlobalId": "agfi-67890"} + + @patch.object(UserInterface, "get_choice_from_options") + def test_handle_interactive_mode(self, mock_get_choice): + # Test non-interactive mode + result = self.afi_manager.handle_interactive_mode(self.mock_args) + self.assertEqual(result, "us-east-1") + mock_get_choice.assert_not_called() + + # Test interactive mode with no region + self.mock_args.interactive = True + self.mock_args.region = None + mock_get_choice.return_value = 0 + + with patch("create_afi.supported_regions", ["us-east-1", "us-west-2"]): + result = self.afi_manager.handle_interactive_mode(self.mock_args) + + self.assertEqual(result, "us-east-1") + mock_get_choice.assert_called_once() + + @patch.object(AFICreator, "create_afi") + @patch.object(AFICreator, "provide_next_steps") + def test_create_afi_request(self, mock_provide_steps, mock_create_afi): + mock_create_afi.return_value = self.mock_result + + with patch.object(self.afi_manager, "print_success") as mock_print_success: + result = self.afi_manager.create_afi_request(self.mock_args, "us-east-1") + + self.assertEqual(result, self.mock_result) + mock_create_afi.assert_called_once_with( + afi_data=vars(self.mock_args), + create_bucket=self.mock_args.create_bucket, + poll_interval=self.mock_args.poll_interval, + ) + mock_provide_steps.assert_called_once_with("agfi-67890") + mock_print_success.assert_called_once_with(self.mock_result, "us-east-1", False) + + def test_print_success(self): + test_cases = [ + (True, 3), # Interactive mode: 3 prints + (False, 5), # Non-interactive mode: 5 prints + ] + + for interactive, expected_prints in test_cases: + with self.subTest(interactive=interactive): + with patch("builtins.print") as mock_print: + AFIManager.print_success(self.mock_result, "us-east-1", interactive) + self.assertEqual(mock_print.call_count, expected_prints) + + # Verify the content of print calls + calls = [str(call) for call in mock_print.call_args_list] + self.assertIn("AFI creation request submitted successfully", calls[0]) + self.assertIn("afi-12345", calls[1]) + self.assertIn("agfi-67890", calls[2]) + + if not interactive: + self.assertIn("Monitor progress with", calls[3]) + self.assertIn("describe-fpga-images", calls[4]) + + +class TestMain(unittest.TestCase): + @patch("create_afi.parser.parse_args") + def test_parser_exit_scenarios(self, mock_parse_args): + # Test successful parse + mock_parse_args.side_effect = SystemExit(0) + self.assertEqual(main(), 0) + + # Test parser error + mock_parse_args.side_effect = SystemExit(1) + self.assertEqual(main(), 1) + + @patch("create_afi.parser.parse_args") + @patch.object(AFIManager, "handle_interactive_mode") + @patch.object(RegionManager, "validate_region_supports_f2") + @patch.object(AFIManager, "create_afi_request") + def test_main_success(self, mock_create, mock_validate, mock_handle, mock_parse_args): + mock_args = Mock() + mock_parse_args.return_value = mock_args + mock_handle.return_value = "us-east-1" + + self.assertEqual(main(), 0) + mock_handle.assert_called_once_with(mock_args) + mock_validate.assert_called_once_with("us-east-1") + mock_create.assert_called_once_with(mock_args, "us-east-1") + + @patch("create_afi.parser.parse_args") + @patch.object(AFIManager, "handle_interactive_mode") + def test_main_keyboard_interrupt(self, mock_handle, mock_parse_args): + mock_parse_args.return_value = Mock() + mock_handle.side_effect = KeyboardInterrupt() + + with patch("builtins.print") as mock_print: + self.assertEqual(main(), 1) + # Verify error message was printed + mock_print.assert_any_call("\n⚠️ Operation cancelled by user", file=sys.stderr) + + @patch("create_afi.parser.parse_args") + @patch.object(AFIManager, "handle_interactive_mode") + @patch("traceback.print_exc") + def test_main_generic_exception(self, mock_traceback, mock_handle, mock_parse_args): + mock_parse_args.return_value = Mock() + mock_handle.side_effect = Exception("test error") + + with patch("builtins.print") as mock_print: + self.assertEqual(main(), 1) + # Verify error message was printed + mock_print.assert_any_call("❌ Error: test error", file=sys.stderr) + mock_traceback.assert_called_once() + + +if __name__ == "__main__": + try: + unittest.main(exit=False, buffer=True) + except SystemExit: + pass + cov.stop() + cov.save() + cov.report( + show_missing=True, + skip_covered=True, # Only show files that have missing lines + skip_empty=True, # Skip files with no executable statements + ) + # Optional: Generate HTML report + # cov.html_report() diff --git a/hdk_setup.sh b/hdk_setup.sh index ee819e827..2dc0c9f49 100644 --- a/hdk_setup.sh +++ b/hdk_setup.sh @@ -72,6 +72,7 @@ function check_git_lfs { echo "ERROR: git-lfs is not installed" >&2 echo "Please install git-lfs:" >&2 echo " For Ubuntu/Debian: sudo apt-get install git-lfs" >&2 + echo " For Rocky Linux/RHEL: sudo dnf install git-lfs" >&2 return 1 fi @@ -211,7 +212,9 @@ if [ $skip_downloads -eq 0 ]; then return 1 fi git submodule sync --recursive - git submodule update --init $cl_ip_path + # To ensure that users don't have to manually input git credentials + GIT_LFS_SKIP_SMUDGE=1 git submodule update --init $cl_ip_path + GIT_LFS_USERNAME="" GIT_LFS_PASSWORD="" git -C $cl_ip_path lfs pull git -C $cl_ip_path checkout $cl_ip_branch git -C $cl_ip_path pull origin $cl_ip_branch else @@ -251,6 +254,26 @@ else fi fi +info_msg "Setting up HLx environment" + +hlx_path="hdk/common/shell_stable/hlx" +hlx_branch="Hlx_1.0-$hlx_path" + +if [ $skip_downloads -eq 0 ]; then + check_git_lfs + if [ $? -ne 0 ]; then + return 1 + fi + git submodule sync --recursive + # To ensure that users don't have to manually input git credentials + GIT_LFS_SKIP_SMUDGE=1 git submodule update --init $hlx_path + GIT_LFS_USERNAME="" GIT_LFS_PASSWORD="" git -C $hlx_path lfs pull + git -C $hlx_path checkout $hlx_branch + git -C $hlx_path pull origin $hlx_branch +else + info_msg "Skipping shell downloads and submodule setup (--skip_downloads specified)" +fi + cd $current_dir info_msg "AWS HDK setup PASSED." diff --git a/sdk/README.md b/sdk/README.md index 5eac40f30..d93d5a97f 100644 --- a/sdk/README.md +++ b/sdk/README.md @@ -1,54 +1,74 @@ # AWS EC2 FPGA Software Development Kit -This directory includes the drivers and runtime environment required by any EC2 FPGA Instance. +The AWS FPGA SDK directory provides drivers and runtime tools for managing Amazon FPGA Images (AFIs) on EC2 FPGA instances. Use this SDK to load, clear, and interact with pre-built AFIs on F2 instances in Linux environments. -The [SDK userspace directory](./userspace) contains the [Amazon FPGA Image (AFI) Management Tools](./userspace/fpga_mgmt_tools/README.md), which includes both the source code to the AFI Management Tools as well as detailed descriptions of the commands to use on an FPGA instance. +**Note:** This SDK is for **deploying** AFIs, not building or registering them. For AFI development, see the [HDK](../hdk/README.md). -The SDK is **NOT** used to build or register AFI, rather it is only used for managing and deploying pre-built AFIs. For building and registering AFIs, please refer to the [HDK](../hdk/README.md). +## Quick Start -**NOTE:** This SDK is designed and tested for Linux environments only. +The AWS FPGA SDK requires `gcc` to be installed on a Linux distribution AMI: `sudo {yum|apt-get} install gcc` -# Quick Start +```bash +# Clone and setup and install the SDK with env variables (if not already done) +git clone https://github.com/aws/aws-fpga.git +cd aws-fpga +source sdk_setup.sh -## Using an AFI on an EC2 FPGA Instance +# Check FPGA management tools +fpga-describe-local-image --help +fpga-load-local-image --help -You can setup and install the SDK with the following few steps. Note that the first two steps may be skipped if you have already ran them in the above HDK setup. +# Verify SDK environment +echo $SDK_DIR -```bash - # Fetch the HDK and SDK code - git clone https://github.com/aws/aws-fpga.git - # Move to the root directory of the repository before running the next script - cd aws-fpga - # Set up the envronment variables, build and install the SDK - source sdk_setup.sh +# Load an AFI (replace with your AFI ID and slot) +sudo fpga-load-local-image -S 0 -I agfi-0123456789abcdef0 + +# Verify AFI loaded +sudo fpga-describe-local-image -S 0 + +# Test management tools +cd $SDK_DIR/userspace/fpga_mgmt_examples +make +sudo ./fpga_mgmt_example ``` -**NOTE:** The `sdk_setup.sh` would install the [FPGA management tools](./userspace/fpga_mgmt_tools/README.md) if they are not already available in `/usr/bin`. The `sdk_setup.sh` requires having `gcc` installed. if it is not installed, try running the next command to install it on Amazon Linux, Centos or Redhat distributions: +## Core Tools -## Notes on using AFI Management Tools +Fully documented in [FPGA Management Tools](./userspace/fpga_mgmt_tools/README.md) -Early release of the AFI management tools may return uninformative errors or unexpected responses. We recommend running commands a second time after waiting 15-30 seconds if an unexpected response is received. For example, if a loaded image does not show up when using the `fpga-describe-local-image` API, attempt rerunning the command prior to calling `fpga-load-local-image` again. +| Tool | Purpose | +|------|---------| +| `fpga-describe-local-image-slots` | List available FPGA slots | +| `fpga-load-local-image` | Load AFI to FPGA slot | +| `fpga-describe-local-image` | Check AFI status | +| `fpga-clear-local-image` | Clear AFI from slot | -The `fpga-describe-local-image` API is currently asynchronous which will require polling with `fpga-describe-local-image` until the expected image appears. If the describe call does not provide the expected response, attempt the `fpga-load-local-image` one more time. Attempting to load images that are not compatible with the currently loaded shell will fail and may not return an informative error message. Please verify the design was built with the shell that is loaded on the instance. +**All tools require `sudo` privileges.** Use `-help` flag for detailed options. -Please reach out to the AWS FPGA team with any instability issues so we can help as soon as possible. +## SDK Components -## Additional SDK Documentation +### Management Tools -* [Virtual Ethernet](./apps/virtual-ethernet/README.md) +- **[FPGA Management Tools](./userspace/fpga_mgmt_tools/README.md)** - Command-line AFI management +- **[C API Examples](./userspace/fpga_mgmt_examples/README.md)** - Programmatic AFI control +- **[Python Bindings](./userspace/cython_bindings/README.md)** - Python interface to FPGA APIs -* [Virtual Ethernet SDE HW Guide](./apps/virtual-ethernet/doc/SDE_HW_Guide.md) +### Applications -* [Virtual Ethernet Application Guide](./apps/virtual-ethernet/doc/Virtual_Ethernet_Application_Guide.md) +- **[Virtual Ethernet](./apps/virtual-ethernet/README.md)** - High-performance networking +- **[MSI-X Interrupts](./apps/msix-interrupts/README.md)** - Interrupt handling implementation -* [MSI-X Interrupts Implementation Guide](./apps/msix-interrupts/README.md) +### Performance & Optimization -* [FPGA Management Examples](./userspace/fpga_mgmt_examples/README.md) +- **[Performance Optimization Guide](./docs/F2_Software_Performance_Optimization_Guide.md)** +- **[Load Times Analysis](./docs/Load_Times.md)** -* [Python Bindings](./userspace/cython_bindings/README.md) +## Troubleshooting -* [FPGA Management Tools](./userspace/fpga_mgmt_tools/README.md) +Refer to the [FAQ section for FPGA Mgmt Tools](./userspace/fpga_mgmt_tools/README.md#faq) or respective applications and tools. -* [F2 Software Performance Optimization Guide](./docs/F2_Software_Performance_Optimization_Guide.md) +**Need help?** -* [Load-Times](./docs/Load_Times.md) +- [GitHub Issues](https://github.com/aws/aws-fpga/issues) - Code/documentation problems +- [AWS re:Post](https://repost.aws/tags/TAc7ofO5tbQRO57aX1lBYbjA/fpga-development) - F2 instance questions diff --git a/sdk/apps/virtual-ethernet/patches/spp-dpdk/0001-net-spp-f2-update-of-AWS-SPP-network-driver.patch b/sdk/apps/virtual-ethernet/patches/spp-dpdk/0001-net-spp-f2-update-of-AWS-SPP-network-driver.patch index 7fb4a8264..71c47f822 100644 --- a/sdk/apps/virtual-ethernet/patches/spp-dpdk/0001-net-spp-f2-update-of-AWS-SPP-network-driver.patch +++ b/sdk/apps/virtual-ethernet/patches/spp-dpdk/0001-net-spp-f2-update-of-AWS-SPP-network-driver.patch @@ -1,10 +1,10 @@ -From 179266b3f16e1cdc32bb1507dc0230ee847abae9 Mon Sep 17 00:00:00 2001 -From: -Date: Sat, 16 Nov 2024 02:44:00 +0000 +From c373650011a291ec6dc9e45fdce1a1825e4b62ac Mon Sep 17 00:00:00 2001 +From: aws-fpga-support@amazon.com +Date: Thu, 18 Sep 2025 19:35:38 +0000 Subject: [PATCH] The AWS FPGA SPP (Streaming Packet Port) PMD uses the AWS SDE - (Streaming Data Engine) to provide packet streaming connectivity between the - AWS FPGA DPDK application and the AWS FPGA CL (Custom Logic). The SDE and - the CL communicate using the AXI-Stream interface. + (Streaming Data Engine) to provide packet streaming connectivity between the + AWS FPGA DPDK application and the AWS FPGA CL (Custom Logic). The SDE and the + CL communicate using the AXI-Stream interface. --- drivers/net/meson.build | 4 + @@ -15,11 +15,11 @@ Subject: [PATCH] The AWS FPGA SPP (Streaming Packet Port) PMD uses the AWS SDE drivers/net/spp/spp_hal.c | 1553 +++++++++++++++++++++++++++++ drivers/net/spp/spp_hal.h | 183 ++++ drivers/net/spp/spp_hal_dbg.c | 455 +++++++++ - drivers/net/spp/spp_hal_private.h | 258 +++++ + drivers/net/spp/spp_hal_private.h | 296 ++++++ drivers/net/spp/spp_hal_regs.h | 520 ++++++++++ drivers/net/spp/spp_logs.h | 48 + usertools/dpdk-devbind.py | 5 +- - 12 files changed, 3653 insertions(+), 1 deletion(-) + 12 files changed, 3691 insertions(+), 1 deletion(-) create mode 100644 drivers/net/spp/meson.build create mode 100644 drivers/net/spp/spp.h create mode 100644 drivers/net/spp/spp_defs.h @@ -2913,10 +2913,10 @@ index 0000000000..0f9f4e5c12 +#endif /* SPP_DBG_SW_LOOPBACK */ diff --git a/drivers/net/spp/spp_hal_private.h b/drivers/net/spp/spp_hal_private.h new file mode 100644 -index 0000000000..c361019ca8 +index 0000000000..93700ee348 --- /dev/null +++ b/drivers/net/spp/spp_hal_private.h -@@ -0,0 +1,258 @@ +@@ -0,0 +1,296 @@ +/* + * Copyright 2015-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * @@ -2941,9 +2941,37 @@ index 0000000000..c361019ca8 +extern "C" { +#endif + ++static inline void ++spp_unaligned_memcpy(void *dst, const void *src, size_t len) ++{ ++ size_t num_32bit_writes = len / 4; /* 4 bytes per write */ ++ for (size_t i = 0; i < num_32bit_writes; i++) { ++ uint32_t source = *((const uint32_t *)src + i); ++ rte_write32_relaxed(source, dst); ++ } ++} ++ +#if !defined(SPP_DBG_SW_LOOPBACK) +#if defined(SPP_USE_AVX2) + ++static inline void ++spp_16byte_aligned_memcpy(void *dst, const void *src) ++{ ++ __m128i xmm0; ++ ++ xmm0 = _mm_loadu_si128((const __m128i *)src); ++ _mm_storeu_si128((__m128i *)dst, xmm0); ++} ++ ++static inline void ++spp_32byte_aligned_memcpy(void *dst, const void *src) ++{ ++ __m256i ymm0; ++ ++ ymm0 = _mm256_load_si256((const __m256i *)src); ++ _mm256_store_si256((__m256i *)dst, ymm0); ++} ++ +#if defined(SPP_USE_COMPACT_DESCS) +/* Non-debug FastPath */ +static inline void @@ -2959,10 +2987,12 @@ index 0000000000..c361019ca8 +static inline void +spp_rx_desc_memcpy(void *dst, const void *src) +{ -+ __m128i xmm0; -+ -+ xmm0 = _mm_loadu_si128((const __m128i *)src); -+ _mm_storeu_si128((__m128i *)dst, xmm0); ++ bool pointers_aligned = (((uint64_t)dst & 0xF) == 0) && (((uint64_t)src & 0xF) == 0); ++ if (pointers_aligned) { ++ spp_16byte_aligned_memcpy(dst, src); ++ } else { ++ spp_unaligned_memcpy(dst, src, 16 /* len */); ++ } +} + +/** @@ -2972,10 +3002,12 @@ index 0000000000..c361019ca8 +static inline void +spp_tx_desc_memcpy(void *dst, const void *src) +{ -+ __m128i xmm0; -+ -+ xmm0 = _mm_loadu_si128((const __m128i *)src); -+ _mm_storeu_si128((__m128i *)dst, xmm0); ++ bool pointers_aligned = (((uint64_t)dst & 0xF) == 0) && (((uint64_t)src & 0xF) == 0); ++ if (pointers_aligned) { ++ spp_16byte_aligned_memcpy(dst, src); ++ } else { ++ spp_unaligned_memcpy(dst, src, 16 /* len */); ++ } +} +#else +/* Non-debug FastPath */ @@ -2995,10 +3027,12 @@ index 0000000000..c361019ca8 +static inline void +spp_rx_desc_memcpy(void *dst, const void *src) +{ -+ __m128i xmm0; -+ -+ xmm0 = _mm_loadu_si128((const __m128i *)src); -+ _mm_storeu_si128((__m128i *)dst, xmm0); ++ bool pointers_aligned = (((uint64_t)dst & 0xF) == 0) && (((uint64_t)src & 0xF) == 0); ++ if (pointers_aligned) { ++ spp_16byte_aligned_memcpy(dst, src); ++ } else { ++ spp_unaligned_memcpy(dst, src, 16 /* len */); ++ } +} + +/** @@ -3008,11 +3042,14 @@ index 0000000000..c361019ca8 +static inline void +spp_tx_desc_memcpy(void *dst, const void *src) +{ -+ __m256i ymm0; -+ -+ ymm0 = _mm256_loadu_si256((const __m256i *)src); -+ _mm256_storeu_si256((__m256i *)dst, ymm0); ++ bool pointers_aligned = (((uint64_t)dst & 0x1F) == 0) && (((uint64_t)src & 0x1F) == 0); ++ if (pointers_aligned) { ++ spp_32byte_aligned_memcpy(dst, src); ++ } else { ++ spp_unaligned_memcpy(dst, src, 32 /* len */); ++ } +} ++ +#endif + +#else /* !SPP_USE_AVX2 */ @@ -3175,6 +3212,7 @@ index 0000000000..c361019ca8 +#endif + +#endif ++ diff --git a/drivers/net/spp/spp_hal_regs.h b/drivers/net/spp/spp_hal_regs.h new file mode 100644 index 0000000000..efe8e240b4 @@ -3779,5 +3817,4 @@ index a278f5e7f3..1e757d5990 100755 crypto_devices = [encryption_class, intel_processor_class] dma_devices = [cnxk_dma, hisilicon_dma, -- -2.40.1 - +2.43.7 diff --git a/sdk/userspace/fpga_mgmt_tools/README.md b/sdk/userspace/fpga_mgmt_tools/README.md index 14e0c56df..c5566ad23 100644 --- a/sdk/userspace/fpga_mgmt_tools/README.md +++ b/sdk/userspace/fpga_mgmt_tools/README.md @@ -1,64 +1,65 @@ # Amazon FPGA Image (AFI) Management Tools -AWS provides the following set of command-line tools for Amazon FPGA Image (AFI) management while running on an FPGA-enabled EC2 instance (e.g., F2). **The tools currently support Linux Instances only.** +AWS provides the following set of command-line tools for managing Amazon FPGA Images (AFIs) on FPGA-enabled EC2 instances (e.g., F2). **The tools currently support Linux Instances only and require `sudo` privileges.** -* **`fpga-describe-local-image-slots`** - * Returns the FPGA image slot numbers and device mappings to use for the `fpga-load-local-image`, `fpga-clear-local-image`, and `fpga-describe-local-image` commands. +## Quick Reference -* **`fpga-describe-local-image`** - * Returns the status of the FPGA image for a specified FPGA image slot number. The *fpga-image-slot* parameter is an index that represents a given FPGA within an instance. Use `fpga-describe-local-image-slots` to return the available FPGA image slots for the instance. +The FPGA management tools are automatically installed when you source the SDK. -* **`fpga-load-local-image`** - * Loads the specified FPGA image to the specified slot number, and returns the status of the command. The *fpga-image-slot* parameter is an index that represents a given FPGA within an instance. Use `fpga-describe-local-image` to return the FPGA image status, and `fpga-describe-local-image-slots` to return the available FPGA image slots for the instance. +```bash +git clone https://github.com/aws/aws-fpga.git +cd aws-fpga +source sdk_setup.sh # Installs tools to /usr/bin +``` -* **`fpga-clear-local-image`** - * Clears the specified FPGA image slot, including FPGA internal and external memories that are used by the slot. The *fpga-image-slot* parameter is an index that represents a given FPGA within an instance. Use `fpga-describe-local-image` to return the FPGA image status, and `fpga-describe-local-image-slots` to return the available FPGA image slots for the instance. +### Essential Commands -* **`fpga-start-virtual-jtag`** - * Starts a Virtual JTAG XVC server, to debug tools like Vivado Lab Edition Hardware Manager to access debug cores inside the AFI. Please refer to [Virtual JTAG userguide](../../../hdk/docs/Virtual_JTAG_XVC.md). +```bash +# List available FPGA slots +sudo fpga-describe-local-image-slots -* **`fpga-get-virtual-led`** - * Returns a bit-map representing the state (1/0) the Virtual LEDs exposed by the Custom Logic (CL) part of the AFI. +# Load AFI to slot 0 +sudo fpga-load-local-image -S 0 -I agfi-0123456789abcdef0 -* **`fpga-get-virtual-dip-switch`** - * Returns a bit-map representing the current setting for the Virtual DIP Switches that drives the Custom Logic (CL) part of the AFI. +# Check AFI status +sudo fpga-describe-local-image -S 0 -* **`fpga-set-virtual-dip-switch`** - * Takes bit-map (in binary representation) to set for the Virtual DIP Switches that drives the Custom Logic (CL) part of the AFI. +# Clear AFI from slot 0 +sudo fpga-clear-local-image -S 0 +``` -* **`fpga-describe-clkgen`** - * Returns the currently loaded frequencies in MHz for each clock in each MMCM. The *fpga-image-slot* parameter is an index that represents a given FPGA within an instance. If the design loaded onto the FPGA does not have the clkgen IP, error clkgen-ip-not-found will be returned. +### Command Reference Table -* **`fpga-load-clkgen-dynamic`** - * Loads a frequency into the first clock of each specified MMCMs. MMCMs that are not specified will be set to the default recipes. Returns the currently loaded frequencies in MHz for each clock in each MMCM. The *fpga-image-slot* parameter is an index that represents a given FPGA within an instance. If the design loaded onto the FPGA does not have the clkgen IP, error clkgen-ip-not-found will be returned. +| Command | Purpose | Key Parameters | +|---------|---------|----------------| +| `fpga-describe-local-image-slots` | List FPGA slots and PCIe mappings | `-H` (human readable) | +| `fpga-load-local-image` | Load AFI to specified slot and returns slot status | `-S ` `-I ` `-A` (async) | +| `fpga-describe-local-image` | Get AFI status for a slot | `-S ` `-R` (rescan) `-H` (human readable) | +| `fpga-clear-local-image` | Clear AFI from slot (includes internal & external FPGA memories) | `-S ` `-A` (async) | +| `fpga-start-virtual-jtag` | Start JTAG debug server described in [Virtual JTAG Guide](../../../hdk/docs/Virtual_JTAG_XVC.md) | `-S ` `-P ` | +| `fpga-get-virtual-led` | Read virtual LED states in binary bit-map | `-S ` | +| `fpga-set-virtual-dip-switch` | Set virtual DIP switches in binary bit-map | `-S ` `-D ` | +| `fpga-get-virtual-dip-switch` | Read virtual DIP switches in binary bit-map | `-S ` | -* **`fpga-load-clkgen-recipe`** - * Loads a clkgen recipe into the specified clocking groups. MMCMs that are not specified will be set to the default recipes. Returns the currently loaded frequencies in MHz for each clock in each MMCM. The *fpga-image-slot* parameter is an index that represents a given FPGA within an instance. If the design loaded onto the FPGA does not have the clkgen IP, error clkgen-ip-not-found will be returned. +### Clock Management Commands +If the design loaded onto the FPGA does not have the clkgen IP, error clkgen-ip-not-found will be returned. MMCMs that are not specified in `load` commands will be set to the default recipes. -All of the AFI Management Tools support a `-help` option that may be used to display the full set of options. +| Command | Purpose | Key Parameters | +|---------|---------|----------------| +| `fpga-describe-clkgen` | Returns the currently loaded frequencies in MHz for each clock in each MMCM | `-S ` | +| `fpga-load-clkgen-dynamic` | Loads a frequency into the first clock of each specified MMCMs and returns the current frequencies in MHz | `-S ` `-A ` `-B ` `-C ` | +| `fpga-load-clkgen-recipe` | Loads a clkgen recipe into the specified clocking groups and returns the current frequencies in MHz | `-S ` `-A ` `-B ` `-C ` | -### `sudo` or `root` Privileges +**Note:** Clock commands require AFI with clkgen IP. Returns `clkgen-ip-not-found` error if not available. -The tools require sudo or root access rights since AFI loads and clears modify the underlying system hardware (also see the FAQ section "Q: How do the AFI Management Tools work?". +## Key Concepts -## Installs or Updates to the AFI Management Tools +### FPGA Image Slots - Getting Inventory of the Available FPGA Slots -The tools can be downloaded and installed from AWS SDK/HDK GitHub repository [aws-fpga](https://github.com/aws/aws-fpga), as follows: - -```bash -git clone https://github.com/aws/aws-fpga.git -cd aws-fpga -source sdk_setup.sh -``` - -The `sdk_setup.sh` script will build the AFI Management Tools and install them in `/usr/bin`. - -## Quickstart - -Once you have the AFI Management Tools installed on your F2 instance, you can display the FPGA slot numbers and PCIe mappings for driver attachment (e.g., PCI Domain:Bus:Device:Function). - -### Getting Inventory of the Available FPGA Slots +- Index representing a specific FPGA within an instance to pass to the `-S` argument to various commands +- Use `fpga-describe-local-image-slots` to see available slots +- F2.6xlarge has 1 slot (0), F2.48xlarge has 8 slots (0-7 shown in the example below) ```bash sudo fpga-describe-local-image-slots -H @@ -83,19 +84,11 @@ sudo fpga-describe-local-image-slots -H AFIDEVICE 7 0x1d0f 0x9048 0000:b4:00.0 ``` -* The above list displayed the slots in an F2.48xl instance that has 8 FPGAs on slot 0 through 7. - -* The VendorId is the PCIe Configuration space Vendor ID, with 0x1d0f representing the Amazon registered PCIe Vendor ID. The developer can choose the Vendor ID for their own AFIs. - -* The DeviceId is the PCIe Configuration space Device ID, with 0x9048 being the default. - -* The DBDF is the common PCIe bus topology representing the Domain:Bus#:Device#:Function#. - -** NOTE: ** *While each FPGA has more than one PCIe Physical Function, the AFI Management Tools will present the VendorId and DeviceId of the first PF only*. +**NOTE:** *While each FPGA has more than one PCIe Physical Function, the AFI Management Tools will present the VendorId and DeviceId of the first PF only*. ### Describing the AFI Content Loaded on a Specific FPGA Slot -The following command displays the current state for the given FPGA slot number. The output shows that the FPGA in the “cleared” state right after instance create. +The output shows that the FPGA in the “cleared” state right after instance launch or after `fpga-clear-local-image`. ```bash sudo fpga-describe-local-image -S 0 -H @@ -108,140 +101,144 @@ sudo fpga-describe-local-image -S 0 -H AFIDEVICE 0 0x1d0f 0x9048 0000:34:00.0 ``` -### Synchronous AFI Load and Clear Operations -#### Synchronously Loading an AFI to a Specific FPGA Slot +### Amazon Global FPGA Image ID (AGFI) -To load the AFI, use the FPGA slot number and Amazon Global FPGA Image ID parameters (see FAQ for AGFI). In synchronous mode, this command will wait for the AFI to transition to the "loaded" state, perform a PCI device remove and rescan in order to expose the unique AFI Vendor and Device Id, and display the final state for the given FPGA slot number. +- Globally unique identifier for AFIs (e.g., `agfi-0123456789abcdef0`) +- Different from regional AFI IDs used in AWS APIs +- Same AGFI works across all AWS regions -```bash -sudo fpga-load-local-image -S 0 -I agfi-0fedcba9876543210 -H +### PCIe Device Information - ... +The developer can choose the Vendor and Device IDs for their own AFIs by following the [HDK section on AFI PCIe IDs](../../../hdk/README.md#afi-pcie-ids). - Type FpgaImageSlot FpgaImageId StatusName StatusCode ErrorName ErrorCode ShVersion - AFI 0 agfi-0fedcba9876543210 loaded 0 ok 0 - Type FpgaImageSlot VendorId DeviceId DBDF - AFIDEVICE 0 0x6789 0x1d50 0000:34:00.0 -``` +- **VendorId**: The PCIe Configuration space Vendor ID, with 0x1d0f representing the Amazon registered PCIe Vendor ID +- **DeviceId**: The PCIe Configuration space Device ID, with 0x9048 being the default +- **DBDF**: The common PCIe bus topology representing the Domain:Bus:Device.Function PCIe address +- **BAR**: Base Address Register for memory-mapped access -#### Synchronously Clearing the FPGA Image on Specific Slot +## Usage Patterns -The following command will clear the FPGA image, including internal and external memories. In synchronous mode, this command will wait for the AFI to transition to the "cleared" state, perform a PCI device remove and rescan in order to expose the default AFI Vendor and Device Id, and display the final state for the given FPGA slot number. +### Synchronous Operations (Default) + +Commands wait for completion and perform automatic PCIe rescan: ```bash -sudo fpga-clear-local-image -S 0 -H +# Waits for AFI to load, then rescans PCIe bus +$ sudo fpga-load-local-image -S 0 -I agfi-0123456789abcdef0 -H +Type FpgaImageSlot FpgaImageId StatusName StatusCode ErrorName ErrorCode ShVersion +AFI 0 agfi-0123456789abcdef0 loaded 0 ok 0 +Type FpgaImageSlot VendorId DeviceId DBDF +AFIDEVICE 0 0x6789 0x1d50 0000:34:00.0 +``` - ... +### Asynchronous Operations - Type FpgaImageSlot FpgaImageId StatusName StatusCode ErrorName ErrorCode ShVersion - AFI 0 No AFI cleared 1 ok 0 - Type FpgaImageSlot VendorId DeviceId DBDF - AFIDEVICE 0 0x1d0f 0x9048 0000:34:00.0 +Use `-A` flag for non-blocking operations: + +```bash +sudo fpga-load-local-image -S 0 -I agfi-0123456789abcdef0 -A +# Returns immediately, check status separately +sudo fpga-describe-local-image -S 0 -R # -R rescans PCIe bus ``` -### Asynchronous AFI Load and Clear Operations -#### Asynchronously Loading an AFI to a Specific FPGA Slot +### Multi-FPGA Operations -To load the AFI, use the FPGA slot number and Amazon Global FPGA Image ID parameters (see FAQ for AGFI). The "-A" is used for asynchronous AFI load operations. +Commands can target different slots simultaneously: ```bash -sudo fpga-load-local-image -S 0 -I agfi-0fedcba9876543210 -A +# Load same AFI to multiple slots +sudo fpga-load-local-image -S 0 -I agfi-0123456789abcdef0 & +sudo fpga-load-local-image -S 1 -I agfi-0123456789abcdef0 & +wait ``` -#### Describing the AFI content loaded on a specific FPGA slot after an asynchronous AFI load +## FAQ -Displays the current state for the given FPGA slot number. The output shows the FPGA in the “loaded” state after the FPGA image "load" operation. **_The "-R" option performs a PCI device remove and rescan in order to expose the unique AFI Vendor and Device Id._** +### What do I do if my AFI fails to load, hangs, or my commands time out? -```bash -sudo fpga-describe-local-image -S 0 -R -H +- Verify your AGFI ID is correct with `aws ec2 describe-fpga-images` +- Ensure AFI is compatible with current shell version +- Check instance has F2 FPGA slots: `sudo fpga-describe-local-image-slots` +- Wait 15-30 seconds and retry +- Check `dmesg` for kernel messages (`sudo dmesg | tail -20`) +- All commands require `sudo` privileges +- Tools access `/dev/kmsg` and PCIe sysfs files - ... +### What do I do if my PCIe device is not visible? - Type FpgaImageSlot FpgaImageId StatusName StatusCode ErrorName ErrorCode ShVersion - AFI 0 agfi-0fedcba9876543210 loaded 0 ok 0 - Type FpgaImageSlot VendorId DeviceId DBDF - AFIDEVICE 0 0x6789 0x1d50 0000:34:00.0 -``` +- Use `-R` flag with `fpga-describe-local-image` to rescan +- Verify AFI loaded successfully before accessing device +- Check for Amazon PCIe devices with `lspci | grep -i amazon` -#### Asynchronously Clearing the FPGA Image on Specific Slot +### What is the Amazon Global FPGA Image ID (AGFI)? -The following command will clear the FPGA image, including internal and external memories. The "-A" is used for asynchronous AFI clear operations. +- The AGFI is an AWS **globally** unique identifier that is used to reference a specific Amazon FPGA Image (AFI). Please learn more in the [Amazon FPGA Images (AFIs) Guide](./../../../hdk/docs/Amazon_FPGA_Images_Afis_Guide.md) -```bash -sudo fpga-clear-local-image -S 0 -A -``` +### What is an `fpga-image-slot`? -#### Describing the AFI content loaded on a specific FPGA slot after an asynchronous AFI clear +- The fpga-image-slot is an index that represents a given FPGA within an instance. Use `fpga-describe-local-image-slots` to return the available FPGA image slots for the instance. -The following command displays the current state for the given FPGA slot number. It shows that the FPGA is in the “cleared” state after the FPGA image "clear" operation. **_The "-R" option performs a PCI device remove and rescan in order to expose the default AFI Vendor and Device Id._** +### What are the Vendor and Device IDs listed in the `fpga-describe-local-image-slots` and `fpga-describe-local-image` output? -```bash -sudo fpga-describe-local-image -S 0 -R -H +- The VendorId and DeviceId represent the unique identifiers for a PCI device as seen in the PCI Configuration Header Space. These identifiers are typically used by device drivers to know which devices to attach to. The identifiers are assigned by PCI-SIG. You can use Amazon's default DeviceId, or use your own during the `CreateFpgaImage` EC2 API. - ... +### What is a PF? - Type FpgaImageSlot FpgaImageId StatusName StatusCode ErrorName ErrorCode ShVersion - AFI 0 No AFI cleared 1 ok 0 - Type FpgaImageSlot VendorId DeviceId DBDF - AFIDEVICE 0 0x1d0f 0x9048 0000:34:00.0 -``` +- A PF refers to a PCI Physical Function that is exposed by the FPGA hardware. For example, it is accessible by a user-space programs via the sysfs filesystem in the path `/sys/bus/pci/devices/Domain:Bus:Device.Function`. The `Domain:Bus:Device.Function` syntax is the same as returned from `lspci` program output. Examples: **FPGA application PF** `0000:34:00.0`, **FPGA management PF** `0000:34:00.1`. -## FAQ +### What is a BAR? + +- A PCI Base Address Register (BAR) specifies the memory region where FPGA memory space may be accessed by an external entity (like the instance CPU or other FPGAs). Multiple BARs may be supported by a given PCI device. In this FAQ section (also see PF), BAR0 from a device may be accessed (for example) by opening and memory mapping the resource0 sysfs file in the path `/sys/bus/pci/devices/Domain:Bus:Device.Function/resource0`. Once BAR0 has been memory mapped, the BAR0 registers may be accessed through a pointer to the memory mapped region (refer to the open and mmap system calls). + +### What is the AFIDEVICE and how is it used? -* **Q: What is the Amazon Global FPGA Image ID (AGFI)?** - * The AGFI is an AWS **globally** unique identifier that is used to reference a specific Amazon FPGA Image (AFI). - * It is used to refer to a specific AFI when using the FPGA Management tools from within an EC2 instance. - * In the examples, `agfi-0fedcba9876543210` is specified in the `fpga-load-local-image` command in order to load a specific AFI -into the given `fpga-image-slot`. - * AGFI IDs should not be confused with AFI IDs. The latter are **regional** IDs that are used to refer to a specific AFI when using the AWS EC2 APIs to create or manage and AFI. For example, when copying an AFI across regions, it will preserve the same AGFI ID, but get a new regional AFI ID. +- Within the `fpga-describe-local-image-slots` and `fpga-describe-local-image` commands the AFIDEVICE represents the PCI PF that is used to communicate with the AFI. The AFIDEVICE functionality exposed through the PF is dependent on the AFI that is loaded via the `fpga-load-local-image` command. For example, DMA and/or memory-mapped IO (MMIO) may be supported depending on the loaded AFI, which is then used to communicate with the AFI in order to perform an accelerated application-dependent task within the FPGA. User-space applications may access the AFIDEVICE PF through sysfs as is noted above in this FAQ section (also see PF). -* **Q: What is a `fpga-image-slot`?** - * The fpga-image-slot is an index that represents a given FPGA within an instance. Use `fpga-describe-local-image-slots` to return the available FPGA image slots for the instance. +### How do the AFI Management Tools work? -* **Q: What are the Vendor and Device IDs listed in the `fpga-describe-local-image-slots` and `fpga-describe-local-image` output?** - * The VendorId and DeviceId represent the unique identifiers for a PCI device as seen in the PCI Configuration Header Space. These identifiers are typically used by device drivers to know which devices to attach to. The identifiers are assigned by PCI-SIG. You can use Amazon's default DeviceId, or use your own during the `CreateFpgaImage` EC2 API. +- Within the F2 instance, the FPGAs expose a management PF (e.g. `0000:34:00.1`) that is used for control channel communication between the instance and AWS. +- The FPGA management PF BAR0 is **reserved** for this communication path. +- The FPGA application drivers **should not** access the FPGA management PF BAR0. +- The AFI Management Tools memory map the FPGA management PF BAR0 and communicate with AWS using internally defined messages and hardware registers. +- The Amazon FPGA Image Tools require `sudo` or `root` access level since AFI loads and clears are modifying the underlying system hardware. +- `sudo` or `root` privilege is also required since the tools access the sysfs PCI subsystem and `/dev/kmsg` for `dmesg` logging. -* **Q: What is a DBDF?** - * A DBDF is simply an acronym for Domain:Bus:Device.Function (also see PF). +### Can the AFI Management Tools work concurently on multiple FPGA image slots? -* **Q: What is a PF?** - * A PF refers to a PCI Physical Function that is exposed by the FPGA hardware. For example, it is accessible by a user-space programs via the sysfs filesystem in the path `/sys/bus/pci/devices/Domain:Bus:Device.Function`. The `Domain:Bus:Device.Function` syntax is the same as returned from `lspci` program output. Examples: **FPGA application PF** `0000:34:00.0`, **FPGA management PF** `0000:34:00.1`. +- The tools can be executed on multiple FPGAs concurrently. This may be done without synchronization between processes that are using the tools. -* **Q: What is a BAR?** - * A PCI Base Address Register (BAR) specifies the memory region where FPGA memory space may be accessed by an external entity (like the instance CPU or other FPGAs). Multiple BARs may be supported by a given PCI device. In this FAQ section (also see PF), BAR0 from a device may be accessed (for example) by opening and memory mapping the resource0 sysfs file in the path `/sys/bus/pci/devices/Domain:Bus:Device.Function/resource0`. Once BAR0 has been memory mapped, the BAR0 registers may be accessed through a pointer to the memory mapped region (refer to the open and mmap system calls). +### Can the AFI Management Tools work concurrently from multiple processes on the same FPGA? -* **Q: What is the AFIDEVICE and how is it used?** - * Within the `fpga-describe-local-image-slots` and `fpga-describe-local-image` commands the AFIDEVICE represents the PCI PF that is used to communicate with the AFI. The AFIDEVICE functionality exposed through the PF is dependent on the AFI that is loaded via the `fpga-load-local-image` command. For example, DMA and/or memory-mapped IO (MMIO) may be supported depending on the loaded AFI, which is then used to communicate with the AFI in order to perform an accelerated application-dependent task within the FPGA. User-space applications may access the AFIDEVICE PF through sysfs as is noted above in this FAQ section (also see PF). +- Without synchronization between processes, the tools should only be executed as one worker process per FPGA (highest level of concurrency), or one worker process across all FPGAs (least level of concurrency). +- Multiple concurrent process access to the tools using the same FPGA without proper synchronization between processes will cause response timeouts, and other indeterminate results. -* **Q: How do the AFI Management Tools work?** - * Within the F2 instance, the FPGAs expose a management PF (e.g. `0000:34:00.1`) that is used for control channel communication between the instance and AWS. - * The FPGA management PF BAR0 is **reserved** for this communication path. - * The FPGA application drivers **should not** access the FPGA management PF BAR0. - * The AFI Management Tools memory map the FPGA management PF BAR0 and communicate with AWS using internally defined messages and hardware registers. - * The Amazon FPGA Image Tools require `sudo` or `root` access level since AFI loads and clears are modifying the underlying system hardware. - * `sudo` or `root` privilege is also required since the tools access the sysfs PCI subsystem and `/dev/kmsg` for `dmesg` logging. +### What is an afi-power-violation? -* **Q: Can the AFI Management Tools work concurently on multiple FPGA image slots?** - * The tools can be executed on multiple FPGAs concurrently. This may be done without synchronization between processes that are using the tools. +- The F2 system can only reliably provide a certain amount of power to the FPGA. If an AFI consumes more than this amount of power, the F2 system will disable the input clocks to the AFI. For more information on preventing, detecting, and recovering from this state, see AFI power guide (COMING SOON) -* **Q: Can the AFI Management Tools work concurrently from multiple processes on the same FPGA?** - * Without synchronization between processes, the tools should only be executed as one worker process per FPGA (highest level of concurrency), or one worker process across all FPGAs (least level of concurrency). - * Multiple concurrent process access to the tools using the same FPGA without proper synchronization between processes will cause response timeouts, and other indeterminate results. +### How can I reset the AFI? -* **Q: What is an afi-power-violation?** - * The F2 system can only reliably provide a certain amount of power to the FPGA. If an AFI consumes more than this amount of power, the F2 system will disable the input clocks to the AFI. For more information on preventing, detecting, and recovering from this state, see AFI power guide (COMING SOON) +- The AFI may be reset (reloaded) via fpga-load-local-image, and/or reset back to a fully clean slate via `fpga-clear-local-image` and `fpga-load-local-image`. -* **Q: How can I reset the AFI?** - * The AFI may be reset (reloaded) via fpga-load-local-image, and/or reset back to a fully clean slate via `fpga-clear-local-image` and `fpga-load-local-image`. +### Where can I reach out for additional help? -## References -* AWS FPGA SDK/HDK on github [aws-fpga](https://github.com/aws/aws-fpga) +- For any issues with the devkit documentation or code, please open a [GitHub issue](https://github.com/aws/aws-fpga/issues) with all steps to reproduce. +- For questions about F2 instances, please open a [re:Post issue with the 'FPGA Development' tag](https://repost.aws/tags/TAc7ofO5tbQRO57aX1lBYbjA/fpga-development). + +## Related Documentation + +- AWS FPGA SDK/HDK on [aws-fpga GitHub](https://github.com/aws/aws-fpga) +- [C API Examples](../fpga_mgmt_examples/README.md) - Programmatic AFI management +- [Python Bindings](../cython_bindings/README.md) - Python interface +- [Virtual JTAG Guide](../../../hdk/docs/Virtual_JTAG_XVC.md) - Debug setup +- [Clock Recipes Guide](../../../hdk/docs/Clock_Recipes_User_Guide.md) - Clock configuration ### AWS EC2 References -* [AWS EC2 Getting Started](https://aws.amazon.com/ec2/getting-started/) -* [AWS EC2 Instance Types](https://aws.amazon.com/ec2/instance-types/) -* [AWS EC2 User Guide](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) -* [AWS EC2 Networking and Security](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_Network_and_Security.html) -* [AWS EC2 Key Pairs](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) -* [AWS EC2 Attach EBS Volume](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html) -* [AWS EC2 Troubleshooting](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-troubleshoot.html) + +- [AWS EC2 Getting Started](https://aws.amazon.com/ec2/getting-started/) +- [AWS EC2 Instance Types](https://aws.amazon.com/ec2/instance-types/) +- [AWS EC2 User Guide](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) +- [AWS EC2 Networking and Security](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_Network_and_Security.html) +- [AWS EC2 Key Pairs](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) +- [AWS EC2 Attach EBS Volume](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html) +- [AWS EC2 Troubleshooting](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-troubleshoot.html) diff --git a/shared/bin/check_doc_links.py b/shared/bin/check_doc_links.py index c66a7cf03..f53c95037 100644 --- a/shared/bin/check_doc_links.py +++ b/shared/bin/check_doc_links.py @@ -18,414 +18,469 @@ # ============================================================================= import argparse -import glob +import atexit import logging import os import re import signal import subprocess import sys +import time from collections import defaultdict +from dataclasses import dataclass from enum import IntEnum -from time import sleep -from typing import Dict, List, Match, Set -from urllib.parse import unquote +from pathlib import Path +from typing import Dict, List, Optional, Set, Tuple +from urllib.parse import unquote, urljoin import requests +import urllib3 from requests.adapters import HTTPAdapter from urllib3.util.retry import Retry +logging.basicConfig(level=logging.INFO, format="%(message)s", handlers=[logging.StreamHandler(sys.stdout)]) +logger = logging.getLogger(__name__) + +# Suppress SSL warnings for better output +urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) + +# Constants SUCCESS = 200 NOT_FOUND = 404 LOCAL_HOST = "http://localhost:3000" -REPO_ROOT_DIR = ( - subprocess.run( - "git rev-parse --show-toplevel".split(), - capture_output=True, - cwd=os.path.dirname(__file__), - check=True, - ) - .stdout.decode("utf-8") - .strip() -) +REQUEST_TIMEOUT = 10 # Increased timeout but with better handling +MAX_RETRIES = 1 +BACKOFF_FACTOR = 1 +ERROR = "ERROR" +EXCEPTION = "EXCEPTION" class ResultEnum(IntEnum): + """Enumeration for link check results.""" + OK = 0 ERROR = 1 EXCEPTION = 2 -class InternalLinkType(IntEnum): - SAME_PAGE = 1 - OTHER_PAGE = 2 - - -def display_links_dict(in_dict: Dict[str, Dict[str, str]], logger: logging.Logger) -> None: - logger.info("") - for rst_f, links_dict in in_dict.items(): - logger.info(f"{rst_f}:") - for link_text, link_body in links_dict.items(): - logger.info(f"\t{link_text} {link_body}") - logger.info("") - - -def check_section_exists_in_html(link: str, response: requests.Response) -> int: - _, fragment = link.split("#", 1) - fragment = unquote(fragment) # Handle URL-encoded fragments - - # Works when the RST tag matches the section name - # This can't always be accommodated, because there cannot be two identical tags across any two RST documents. - # IE Getting started in both HDK README and SDK README - # Can't both be .. _getting-started: - # One should be .. _getting-started-hdk: and the other .. _getting-started-sdk: - section_id_pattern = f'section id="{fragment}"' - span_id_pattern = f'span id="{fragment}"' - header_id_pattern = f'h2 id="{fragment}"' - - content = response.text - found_internal_section = any( - [pattern in content for pattern in [section_id_pattern, span_id_pattern, header_id_pattern]] - ) - if response.status_code == SUCCESS and found_internal_section: - return SUCCESS - else: - return NOT_FOUND - - -def perform_github_line_check(link: str, response: requests.Response) -> int: - # Extract line numbers from URL - line_match = re.search(r"#L(\d+)(?:-L?(\d+))?$", link) - if not line_match: - return SUCCESS - - start_line = int(line_match.group(1)) - # If group(2) exists, it's a range. Otherwise, end_line = start_line - end_line = int(line_match.group(2)) if line_match.group(2) else start_line - - page_text = response.text.splitlines() - total_lines = len(page_text) - - if 1 <= start_line <= end_line <= total_lines: - return SUCCESS - else: - return NOT_FOUND - return SUCCESS - - -def validate_section_exists(link: str, response: requests.Response) -> int: - # GitHub line number links are different from other page section links: - if "github.com" in link: - return perform_github_line_check(link, response) - return check_section_exists_in_html(link, response) - - -def get_link_to_self_html(rst_f: str, link_body: str, internal_link_type: InternalLinkType) -> str: - if internal_link_type == InternalLinkType.SAME_PAGE: - rst_to_html = rst_f.replace(".rst", ".html") # Recontextualize to html - rst_to_html = rst_to_html.replace( - "docs-rtd/source/", "" - ) # Lop this off because we want nothing but the path that follows - rst_to_html = rst_to_html.replace(REPO_ROOT_DIR, "") # Get rid of the full path as well - rst_to_html = rst_to_html.replace( - "./", "" - ) # Get rid of any leading ./. Not that it causes problems, it's just confusing to look at in the output - - # Drop leading double //s. Not that they cause issues, they're just confusing to look at in the output - if rst_to_html[0] == "/": - rst_to_html = rst_to_html[1:] - return f"{LOCAL_HOST}/{rst_to_html}{link_body}" - else: - filename_only = rst_f.split("/")[-1] - relative_to_docs_rtd = rst_f.replace(REPO_ROOT_DIR, "") - relative_to_docs_dir = relative_to_docs_rtd.replace("docs-rtd/source", "") - final_relative_link = relative_to_docs_dir.replace(filename_only, "") - revised_link = f"{final_relative_link}/{link_body}" - web_server_internal_link = revised_link.replace("///", "/").replace("//", "/") - if web_server_internal_link[0] == "/": - web_server_internal_link = web_server_internal_link[1:] - web_server_internal_link = f"{LOCAL_HOST}/{web_server_internal_link}" - return web_server_internal_link - - -def construct_relative_link(rst_f: str, link_body: str) -> str: - # Start by going to the location of the file that contains the relative link - os.chdir(os.path.dirname(rst_f)) - - # Follow the relative link - back_pos = link_body.find("../") - while back_pos != -1: - os.chdir("..") - link_body = link_body[:back_pos] + link_body[back_pos + 3 :] - back_pos = link_body.find("../") - - # Obtain the specified file path that current directory is relative to - start = os.getcwd().replace(REPO_ROOT_DIR, "").replace("/docs-rtd/source/", "") - - # Reassemble the link relative to the repo root - start = f"{start}/{link_body.replace('../', '').replace('./', '')}" - if start[-1] == "/": - start = start[:-1] - return start - - -def do_generic_html_request(rst_f: str, link_body: str, session: requests.Session) -> requests.Response: - response = session.head(f"{LOCAL_HOST}/{link_body}") - if response.status_code != SUCCESS: - relative_link = construct_relative_link(rst_f, link_body) - response = session.head(f"{LOCAL_HOST}/{relative_link}") - return response - - -def do_other_page_section_request(rst_f: str, link_body: str, session: requests.Session) -> requests.Response: - web_server_internal_link = get_link_to_self_html(rst_f, link_body, InternalLinkType.OTHER_PAGE) - response = session.get( - web_server_internal_link, - timeout=3, - headers={"User-Agent": "Mozilla/5.0"}, - allow_redirects=True, - verify=True, - ) - response.status_code = validate_section_exists(web_server_internal_link, response) - return response - - -def do_same_page_link_request(rst_f: str, link_body: str, session: requests.Session) -> requests.Response: - web_server_internal_link = get_link_to_self_html(rst_f, link_body, InternalLinkType.SAME_PAGE) - response = session.get(web_server_internal_link, timeout=1) - response.status_code = validate_section_exists(web_server_internal_link, response) - return response - - -def do_external_link_request(link_body: str, session: requests.Session) -> requests.Response: - response = session.get( - link_body, - timeout=3, - headers={ - "User-Agent": "Mozilla/5.0", - "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", - "Accept-Language": "en-US,en;q=0.5", - }, - allow_redirects=True, - verify=True, - ) - if "#" in link_body: - response.status_code = validate_section_exists(link_body, response) - return response - - -def gather_link_exceptions(exceptions_file_path: str) -> Set[str]: - exceptions_set: Set[str] = set() - if exceptions_file_path: - with open(exceptions_file_path, "r") as give_pass: - contents = give_pass.readlines() - exceptions_set = {str(line.split(": ")[0]).strip() for line in contents} - return exceptions_set - - -def perform_request( - link_body: str, - rst_f: str, - preamble: str, - exceptions_set: Set[str], - logger: logging.Logger, -) -> int: - is_external_link = link_body.startswith("http") - is_same_page_section_link = link_body.startswith("#") - is_other_page_section_link = "http" not in link_body and "#" in link_body - link_is_broken = False - - session = requests.Session() - retry_strategy = Retry( - total=6, - backoff_factor=2, - status_forcelist=[429, 500, 502, 503, 504], - ) - adapter = HTTPAdapter(max_retries=retry_strategy) - session.mount("http://", adapter) - session.mount("https://", adapter) - - link_is_broken = False - status = "ERROR" - response: requests.Response = requests.Response() - - if link_body in exceptions_set: - logger.info(preamble + ": " + "OK, Exception Granted") - return ResultEnum.EXCEPTION - - try: - if is_external_link: - response = do_external_link_request(link_body, session) - - elif is_same_page_section_link: - response = do_same_page_link_request(rst_f, link_body, session) - - elif is_other_page_section_link: - response = do_other_page_section_request(rst_f, link_body, session) - - elif "html" in link_body: - response = do_generic_html_request(rst_f, link_body, session) - - else: - file_or_directory_link = f"{LOCAL_HOST}/{link_body}" - response = session.head(file_or_directory_link, timeout=1) - - link_is_broken = response.status_code != SUCCESS - status = "ERROR" if link_is_broken else "OK" - if status == "OK": - logger.info(preamble + ": " + f"{status}, {response.status_code}") - else: - logger.error(preamble + ": " + f"{status}, {response.status_code}") - except Exception as _: - link_is_broken = True - logger.error(preamble + ": " + "ERROR, Request exception thrown") - finally: - session.close() - return ResultEnum(link_is_broken) - - -def navigate_to_rtd_build_html_dir() -> None: - rtd_build_html_dir = "docs-rtd/build/html" - os.chdir(f"{REPO_ROOT_DIR}/{rtd_build_html_dir}") - - -def check_links( - files_links_dict: Dict[str, List[List[str]]], - exceptions_file_path: str, - logger: logging.Logger, -) -> None: - navigate_to_rtd_build_html_dir() - link_server = subprocess.Popen( - [sys.executable, "-m", "http.server", "3000"], - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - ) - sleep(1) - - total_links_in_error = 0 - errored_links: Dict[str, Dict[str, str]] = defaultdict(dict) - - exceptions_granted = 0 - links_granted_exceptions: Dict[str, Dict[str, str]] = defaultdict(dict) - - exceptions_set: Set[str] = set() - if exceptions_file_path: - exceptions_set = gather_link_exceptions(exceptions_file_path) - logger.info(exceptions_set) - - try: - for rst_f, link_info in files_links_dict.items(): - logger.info(f"Now testing links from: {rst_f}") - for link in link_info: - link_text = link[0] - link_body = link[1] - skip_link = any(["mailto" in link_body, "|" in link_body]) - if skip_link: - continue - preamble = f"\t{link_text}, {link_body}" - result = perform_request(link_body, rst_f, preamble, exceptions_set, logger) - if result == ResultEnum.EXCEPTION: - exceptions_granted += 1 - links_granted_exceptions[rst_f][link_text] = link_body - elif result == ResultEnum.ERROR: - total_links_in_error += 1 - errored_links[rst_f][link_text] = link_body +class LinkListEnum(IntEnum): + ERROR = 0 + EXCEPTION = 1 + + +class NoFilesToCheckError(Exception): + pass + + +class WebServerNotStartedError(Exception): + pass + + +@dataclass +class ResponseInfo: + succeeded: bool = False + status_code: int = 0 + msg: str = "" + + +class LinkChecker: + def __init__(self, exceptions_file: Optional[str] = None, worker_name: str = "links_logger"): + self.rtd_source_dir: Path = Path(f"{self._get_repo_root()}/docs-rtd/source") + self.rtd_build_dir: Path = Path(f"{self._get_repo_root()}/docs-rtd/build/html") + self.exceptions: set[str] = self._load_exceptions(exceptions_file) if exceptions_file else set() + self.session: requests.Session = self._create_session() + self.server_process: Optional[subprocess.Popen] = None + + self.total_checked = 0 + self.total_ok = 0 + self.total_errors = 0 + self.total_exceptions = 0 + self.error_links: Dict[str, List[Tuple[str, str]]] = defaultdict(list) + self.exception_links: Dict[str, List[Tuple[str, str]]] = defaultdict(list) + + # Register cleanup + atexit.register(self._cleanup) + + def _get_repo_root(self) -> str: + try: + result = subprocess.run( + ["git", "rev-parse", "--show-toplevel"], + capture_output=True, + text=True, + cwd=os.path.dirname(__file__), + timeout=5, + check=True, + ) + return result.stdout.strip() + except (subprocess.CalledProcessError, subprocess.TimeoutExpired): + current_dir = Path(__file__).parent.parent.parent + return str(current_dir.resolve()) + + def _load_exceptions(self, exceptions_file: str) -> Set[str]: + exceptions = set() + try: + with open(exceptions_file, "r", encoding="utf-8") as f: + for line in f: + line = line.strip() + if line and not line.startswith("#"): + # Extract URL from "URL: filepath" format + # Split on the last ": " to handle URLs with colons (https://) + if ": " in line: + url = line.rsplit(": ", 1)[0].strip() + if url: + exceptions.add(url) + logger.info(f"Loaded {len(exceptions)} link exceptions") + except FileNotFoundError: + logger.exception(f"Exceptions file not found: {exceptions_file}") + raise + except Exception as e: + logger.exception(f"Error loading exceptions: {e}") + raise + + return exceptions + + def _create_session(self) -> requests.Session: + session = requests.Session() + retry_strategy = Retry( + total=MAX_RETRIES, + backoff_factor=BACKOFF_FACTOR, + status_forcelist=[429, 500, 502, 503, 504], + allowed_methods=["HEAD", "GET", "OPTIONS"], + ) + + adapter = HTTPAdapter(max_retries=retry_strategy, pool_connections=10, pool_maxsize=10) + session.mount("http://", adapter) + session.mount("https://", adapter) + session.headers.update( + { + "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36", + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-US,en;q=0.5", + "Accept-Encoding": "gzip, deflate", + "Connection": "keep-alive", + } + ) + return session + + def _cleanup(self): + if self.session: + self.session.close() + self._stop_server() + + def find_rst_files(self, file_patterns: List[str]) -> List[str]: + if not self.rtd_source_dir.exists(): + raise FileNotFoundError(f"Documentation source directory not found: {self.rtd_source_dir}") + + rst_file_paths = [str(f) for f in list(self.rtd_source_dir.glob("**/*.rst"))] + if file_patterns: + filtered_files = [] + for pattern in file_patterns: + filtered_files.extend([f for f in rst_file_paths if pattern in f]) + rst_file_paths = list(set(filtered_files)) # Remove duplicates + + logger.info(f"Found {len(rst_file_paths)} RST files to check") + return rst_file_paths + + def extract_links_from_file(self, rst_file: str) -> List[Tuple[str, str]]: + content = None + try: + with open(rst_file, "r", encoding="utf-8") as f: + content = f.read() + except Exception as e: + logger.exception(f"Error reading file {rst_file}: {e}") + raise + + # Regex pattern to match RST links: `link text `__ + # Avoiding double backticks to prevent matching code blocks + pattern = r"(?]+)>`__" + + links: list[tuple[str, str]] = [] + for match in re.finditer(pattern, content, re.DOTALL): + link_text = match.group(1).strip() + link_url = match.group(2).strip() + if any(skip in link_url for skip in ["mailto:", "|"]): + continue + links.append((link_text, link_url)) + return links + + def _start_local_server(self) -> None: + if not self.rtd_build_dir.exists(): + raise FileNotFoundError( + f"Build directory not found: {self.rtd_build_dir}! " + "Please build the documentation first with 'make html' in docs-rtd/" + ) + + try: + self.server_process = subprocess.Popen( + [sys.executable, "-m", "http.server", "3000"], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + preexec_fn=os.setsid, # Create new process group + cwd=self.rtd_build_dir, + ) + time.sleep(2) + try: + response = self.session.get(LOCAL_HOST, timeout=5) + if response.status_code == 200: + logger.info("Local HTTP server started successfully") else: - continue - logger.info("") - finally: - link_server.send_signal(signal.SIGTERM) - logger.info("Shutting down http server") - logger.info(f"Total Exceptions Granted: {exceptions_granted}") - display_links_dict(links_granted_exceptions, logger) - logger.info(f"Total Links in Error: {total_links_in_error}") - display_links_dict(errored_links, logger) - link_server.wait() - - -def get_link_text_and_link(link_match: Match[str]) -> List[str]: - link_text = "".join([f"{word} " if word != "|" else "" for word in link_match.group(1).split()]).strip() - link_body = "".join([word if word != "|" else "" for word in link_match.group(2).split()]) - link_text_link_body = [link_text, link_body] - return link_text_link_body - - -def process_file(rst_f: str, files_links_dict: Dict[str, List[List[str]]]) -> None: - # Link looks like `Text that you would click on `__ - # Emphasized text is ``text``, so we don't want to be tricked by this. - ignore_double_backtick = r"(?]+)>`__" - link_pattern_regex = r"".join( - [ - ignore_double_backtick, - back_tick_that_starts_link, - gets_link_text, - gets_actual_link, + logger.error(f"Server responded with status {response.status_code}") + except Exception as e: + logger.exception(f"Server not responding: {e}") + raise WebServerNotStartedError("Local web server did not respond! Cannot check RTD doc links!") + except Exception as e: + logger.exception(f"Failed to start server: {e}") + raise WebServerNotStartedError("Failed to start local web server! Cannot check RTD doc links!") + + def _stop_server(self) -> None: + if self.server_process: + try: + os.killpg(os.getpgid(self.server_process.pid), signal.SIGTERM) + self.server_process.wait(timeout=5) + logger.info("Local HTTP server stopped") + except (OSError, subprocess.TimeoutExpired): + try: + os.killpg(os.getpgid(self.server_process.pid), signal.SIGKILL) + self.server_process.wait(timeout=2) + except Exception: + pass + + def _check_external_link(self, url: str) -> ResponseInfo: + try: + # For URLs with anchors, we need the content to validate the anchor + # so use GET request directly + response = None + if "#" in url: + response = self.session.get(url, timeout=REQUEST_TIMEOUT, allow_redirects=True) + else: + # Use HEAD request first for efficiency + response = self.session.head(url, timeout=REQUEST_TIMEOUT, allow_redirects=True) + + # Some servers don't support HEAD, try GET if HEAD fails + if response.status_code in [405, 501]: + response = self.session.get(url, timeout=REQUEST_TIMEOUT, allow_redirects=True) + + if "#" in url and response.status_code == 200: + return self._check_anchor_in_response(url, response) + return ResponseInfo(response.status_code == 200, response.status_code, "") + except Exception as e: + return ResponseInfo( + False, 0, f"Exception: {e.__class__.__name__} occurred during external link check: {str(e)}" + ) + + def _check_internal_link(self, rst_file: str, link_url: str) -> ResponseInfo: + try: + if "#" in link_url: + return self._check_anchor_link(rst_file, link_url) + else: + return self._check_internal_file_link(rst_file, link_url) + + except Exception as e: + return ResponseInfo( + False, 0, f"Exception: {e.__class__.__name__} occurred during internal link check: {str(e)}" + ) + + def _check_anchor_link(self, rst_file: str, link_url: str) -> ResponseInfo: + SAME_PAGE_ANCHOR = "same-page anchor" + OTHER_PAGE_ANCHOR = "other-page anchor" + + full_url, link_type = "", "" + if link_url.startswith("#"): + full_url = self._rst_path_to_html_url(rst_file) + link_url + link_type = SAME_PAGE_ANCHOR + else: + full_url = self._resolve_relative_link(rst_file, link_url) + link_type = OTHER_PAGE_ANCHOR + + try: + response = self.session.get(full_url, timeout=REQUEST_TIMEOUT) + if response.status_code == 200: + return self._check_anchor_in_response(full_url, response) + return ResponseInfo( + False, response.status_code, f"Page not found when attemptiong to check anchor link: {full_url}!" + ) + except Exception as e: + return ResponseInfo( + False, 0, f"Exception {e.__class__.__name__} occurred when checking {link_type}: {str(e)}" + ) + + def _check_internal_file_link(self, rst_file: str, link_url: str) -> ResponseInfo: + full_url = self._resolve_relative_link(rst_file, link_url) + + try: + response = self.session.head(full_url, timeout=REQUEST_TIMEOUT) + return ResponseInfo(response.status_code == 200, response.status_code, "") + except Exception as e: + return ResponseInfo( + False, 0, f"Exception {e.__class__.__name__} occurred when checking for internal file: {str(e)}" + ) + + def _rst_path_to_html_url(self, rst_file: str) -> str: + rel_path = Path(rst_file).relative_to(self.rtd_source_dir) + html_path = rel_path.with_suffix(".html") + return f"{LOCAL_HOST}/{html_path}" + + def _resolve_relative_link(self, rst_file: str, link_url: str) -> str: + relative_rst_file_path = Path(rst_file).relative_to(self.rtd_source_dir) + rst_file_dir_depth = len(relative_rst_file_path.parent.parts) + link_url_levels_up = len([part for part in Path(link_url).parts if part == ".."]) + if link_url_levels_up > rst_file_dir_depth: + raise RuntimeError(f"Link: {link_url} tries to escape root dir!") + + base_url = self._rst_path_to_html_url(rst_file) + return urljoin(base_url, link_url) + + def _check_anchor_in_response(self, url: str, response: requests.Response) -> ResponseInfo: + _, fragment = url.split("#", 1) + fragment = unquote(fragment) + + if "github.com" in url: + return self._check_github_line_numbers(fragment, response) + + # Check for HTML anchors/sections + content = response.text.lower() + fragment_lower = fragment.lower() + + # Common patterns for anchors in HTML - only look for actual anchor definitions + patterns = [ + f'id="{fragment_lower}"', + f"id='{fragment_lower}'", + f'name="{fragment_lower}"', + f"name='{fragment_lower}'", + # Pattern for when fragment appears in content (like headings) + fragment_lower.replace("-", " ").replace("_", " "), ] - ) - compiled_link_pattern = re.compile(link_pattern_regex, re.DOTALL) - - file_contents = "" - with open(rst_f, "r", encoding="utf-8") as f: - file_contents = f.read() - - for link_match in compiled_link_pattern.finditer(file_contents): - files_links_dict[rst_f].append(get_link_text_and_link(link_match)) - - -def get_links_from_files(rst_files: List[str]) -> Dict[str, List[List[str]]]: - files_links_dict: Dict[str, List[List[str]]] = defaultdict(list) - for rst_f in rst_files: - process_file(rst_f, files_links_dict) - return files_links_dict + anchor_found = any(pattern in content for pattern in patterns) + if anchor_found: + return ResponseInfo(True, response.status_code, "") + return ResponseInfo(False, 404, f"Anchor '{fragment}' not found in link: {url}") + + def _check_github_line_numbers(self, fragment: str, response: requests.Response) -> ResponseInfo: + line_match = re.search(r"L(\d+)(?:-L?(\d+))?$", fragment) + if not line_match: + return ResponseInfo(True, response.status_code, "") # Not a line number link + + start_line = int(line_match.group(1)) + end_line = int(line_match.group(2)) if line_match.group(2) else start_line + total_lines = len(response.text.splitlines()) + + valid_response = 1 <= start_line <= end_line <= total_lines + if valid_response: + return ResponseInfo(True, response.status_code, "") + return ResponseInfo(False, 404, f"Line range {start_line}-{end_line} not valid (file has {total_lines} lines)") + + def _format_display_text(self, text: str, max_length: int = 150) -> str: + if not text.strip(): + return "[empty link text]" + + # Normalize whitespace - replace newlines, tabs, and multiple spaces with single spaces + normalized_text = re.sub(r"\s+", " ", text.strip()) + return normalized_text if len(normalized_text) <= max_length else (normalized_text[: max_length - 3] + "...") + + def _format_display_url(self, url: str, max_length: int = 150) -> str: + if len(url) <= max_length: + return url + prefix_len = max_length // 2 - 2 + suffix_len = max_length - prefix_len - 3 + return url[:prefix_len] + "..." + url[-suffix_len:] + + def check_link(self, rst_file: str, link_text: str, link_url: str) -> ResultEnum: + self.total_checked += 1 + display_text = self._format_display_text(link_text) + + if link_url in self.exceptions: + self.total_exceptions += 1 + self.exception_links[rst_file].append((link_text, link_url)) + logger.warning(f" ⚠️ EXCEPTION | {display_text}") + logger.warning(f" | {link_url}") + return ResultEnum.EXCEPTION + + resp_info: ResponseInfo + if link_url.startswith(("http://", "https://")): + resp_info = self._check_external_link(link_url) + else: + resp_info = self._check_internal_link(rst_file, link_url) + + if resp_info.succeeded: + self.total_ok += 1 + logger.info(f" ✅ OK ({resp_info.status_code:3d}) | {display_text}") + logger.info(f" | {link_url}") + return ResultEnum.OK + + self.total_errors += 1 + self.error_links[rst_file].append((link_text, link_url)) + error_detail = f" - {resp_info.msg}" if resp_info.msg else "" + logger.error(f" ❌ ERROR ({resp_info.status_code:3d}) | {display_text}") + logger.error(f" | {link_url}{error_detail}") + return ResultEnum.ERROR + + def check_files(self, rst_files: List[str]) -> None: + if not rst_files: + raise NoFilesToCheckError("No RST files to check!") + + self._start_local_server() + + logger.info(f"Checking links in {len(rst_files)} files...") + for rst_file in rst_files: + logger.info(f"\nChecking file: {rst_file}") + links = self.extract_links_from_file(rst_file) + if not links: + logger.warning(" No links found") + continue + logger.info(f" Found {len(links)} links") + for link_text, link_url in links: + self.check_link(rst_file, link_text, link_url) + + def _print_error_or_exception_links( + self, to_print: Dict[str, List[Tuple[str, str]]], list_enum: LinkListEnum + ) -> None: + logger.error(f"\n{'-' * 80}") + logger.error(f"DETAILS for ({self.total_errors} {ERROR} links):") + logger.error(f"{'-' * 80}") + for rst_file, links in to_print.items(): + short_file = Path(rst_file).relative_to(self.rtd_source_dir) + logger.error(f"\n📄 {short_file}:") + for link_text, link_url in links: + display_text = self._format_display_text(link_text, 50) + logger.error(f" ❌ {display_text}") + logger.error(f" {link_url}") + + def print_summary(self) -> None: + logger.info("\n" + "=" * 80) + logger.info("LINK CHECK SUMMARY") + logger.info("=" * 80) + logger.info(f"Total links checked: {self.total_checked:4d}") + logger.info(f"✅ Valid links: {self.total_ok:4d}") + logger.info(f"❌ Broken links: {self.total_errors:4d}") + logger.info(f"⚠️ Exception links: {self.total_exceptions:4d}") + if self.error_links: + self._print_error_or_exception_links(self.error_links, LinkListEnum.ERROR) -def navigate_to_rtd_sources_dir() -> None: - rtd_sources_dir = "docs-rtd/source" - os.chdir(f"{REPO_ROOT_DIR}/{rtd_sources_dir}") - - -def gather_file_names(files_to_check: List[str]) -> List[str]: - navigate_to_rtd_sources_dir() - rst_file_ext = ".rst" - rst_files = glob.glob(os.getcwd() + f"/**/*{rst_file_ext}", recursive=True) - if not files_to_check: - return rst_files - return [rst_file for rst_file in rst_files for f in files_to_check if f in rst_file] - - -def configure_logger(worker_name: str) -> logging.Logger: - worker_id: str = worker_name - worker_id = f"worker_{worker_id}" - logger = logging.getLogger(worker_id) - if not logger.handlers: - logger.setLevel(logging.INFO) - - logs_dir_name = "links_logs" - os.makedirs(name=logs_dir_name, exist_ok=True) - fh = logging.FileHandler(f"{logs_dir_name}/{worker_id}.log", mode="w") - formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s") - fh.setFormatter(formatter) - logger.addHandler(fh) +def main(): + parser = argparse.ArgumentParser( + description="RST files link checker", formatter_class=argparse.RawDescriptionHelpFormatter + ) + parser.add_argument("-e", "--exceptions_file_path", type=str, help="Path to file containing link exceptions") + parser.add_argument("-f", "--check_file_paths", nargs="+", help="Specific file patterns to check (optional)") + parser.add_argument( + "-w", + "--worker_name", + type=str, + default="links_logger", + help="Name for the worker/logger (default: links_logger)", + ) - return logger + args = parser.parse_args() + checker = LinkChecker(exceptions_file=args.exceptions_file_path, worker_name=args.worker_name) + rst_files = checker.find_rst_files(args.check_file_paths) + assert rst_files, "No RST files found to check!" -def main(): - p = argparse.ArgumentParser() - p.add_argument("-e", "--exceptions_file_path", type=str, required=False, default="") - p.add_argument("-f", "--check_file_paths", nargs="+", required=False, default="") - p.add_argument("-w", "--worker_name", type=str, required=False, default="links_logger") - args: argparse.Namespace = p.parse_args() - logger = configure_logger(args.worker_name) - if args.exceptions_file_path: - logger.info(f"Exceptions path: {args.exceptions_file_path}") - rst_files = gather_file_names(args.check_file_paths) - files_links_dict = get_links_from_files(rst_files) - check_links(files_links_dict, args.exceptions_file_path, logger) + checker.check_files(rst_files) + checker.print_summary() + assert checker.total_errors == 0, "Broken links found!" if __name__ == "__main__": diff --git a/vitis/README.md b/vitis/README.md index 0e07e40eb..3988fe664 100644 --- a/vitis/README.md +++ b/vitis/README.md @@ -94,6 +94,8 @@ This section will walk you through the emulation process. The goal of hardware e To perform hardware emulation for the `hello_world` example, run the following commands: +`NOTE: All paths shown below are identical for customers using Rocky Linux, substituting 'rocky' for 'ubuntu'` + ``` bash cd $AWS_FPGA_REPO_DIR/vitis/examples/vitis_examples/hello_world ll diff --git a/vitis/supported_oses.txt b/vitis/supported_oses.txt index b630ae7da..3b43d7075 100644 --- a/vitis/supported_oses.txt +++ b/vitis/supported_oses.txt @@ -1,2 +1,3 @@ Ubuntu 20.04 Ubuntu 24.04 +Rocky Linux 8.10 diff --git a/vitis_setup.sh b/vitis_setup.sh index b04a4bb48..fd9a50241 100644 --- a/vitis_setup.sh +++ b/vitis_setup.sh @@ -73,6 +73,8 @@ valid_tool_versions["2025.1"]="true" declare -A valid_os valid_os["Ubuntu"]="true" +valid_os["RockyLinux"]="true" + function check_os_and_tool_ver { if [[ "${valid_tool_versions[${VITIS_TOOL_VER}]}" != "true" ]]; then @@ -212,7 +214,7 @@ function get_xsa_file { sudo rm -f ${destination_dir}/*${missing_xsa_file_extension}.sha256 # Grab the new XSA - if ! sudo wget "${vitis_xsa_s3_url}/${missing_xsa}" -O "${destination_dir}/${missing_xsa}" -q; then + if ! sudo wget "${vitis_xsa_s3_url}/${missing_xsa}" -O "${destination_dir}/${missing_xsa}" -q; then err_msg "Download of Vitis XSA file ${missing_xsa} failed!" return 1 fi @@ -301,6 +303,7 @@ function setup_xsa { } + function xrt_install_check { xrt_path=/opt/xilinx/xrt @@ -322,10 +325,16 @@ function xrt_install_check { declare -A xrt_install_map xrt_install_map["Ubuntu_pkg_ext"]="deb" -xrt_install_map["Ubuntu_install_cmd"]="sudo dpkg -i" +xrt_install_map["Ubuntu_install_cmd"]="sudo apt install -y" xrt_install_map["Ubuntu_xrt_pkg_prefix"]="amd64-xrt" xrt_install_map["Ubuntu_aws_pkg_prefix"]="amd64-aws" +xrt_install_map["RockyLinux_pkg_ext"]="rpm" +xrt_install_map["RockyLinux_install_cmd"]="sudo dnf install -y" +xrt_install_map["RockyLinux_xrt_pkg_prefix"]="x86_64-xrt" +xrt_install_map["RockyLinux_aws_pkg_prefix"]="x86_64-aws" + + function build_and_install_xrt { if ! sudo -E "./${xrt_deps_script_path}"; then err_msg "Couldn't install XRT dependencies!" @@ -333,7 +342,7 @@ function build_and_install_xrt { fi if ! ./$xrt_build_script_run; then - err_msg "Couldn't build XRT dpkgs!" + err_msg "Couldn't build XRT packages!" cd $AWS_FPGA_REPO_DIR && return 1 fi @@ -347,13 +356,13 @@ function build_and_install_xrt { # Base XRT install first for file in $(ls *${xrt_pkg_prefix}.${install_pkg_ext}); do info_msg "Installing $file" - $install_cmd $file + $install_cmd ./$file done # AWS extension install for file in $(ls *${aws_pkg_prefix}.${install_pkg_ext}); do info_msg "Installing $file" - $install_cmd $file + $install_cmd ./$file done if ! source $xrt_setup_script_path; then @@ -395,7 +404,7 @@ function set_up_xrt_repo { declare -A commit_hash_map commit_hash_map["2024.1"]="a0729c69dba1ec05856d3008fbf9994a665f276c" commit_hash_map["2024.2"]="d8cf77af92e92324b038d787773b78fb7a44f812" -commit_hash_map["2025.1"]="fe6f99daac071f3973b20ce6d0d5457df76ada34" +commit_hash_map["2025.1"]="db8c37afa751589e72f0c47436bf3daca444d45d" function set_up_xrt_vars { @@ -405,7 +414,7 @@ function set_up_xrt_vars { fi xrt_path="/opt/xilinx/xrt" - xrt_dpkg_install_path="${xrt_path}/XRT/build/Release" + xrt_pkg_install_path="${xrt_path}/XRT/build/Release" xrt_repo_name="XRT" xrt_repo_url="https://github.com/Xilinx/XRT.git" From 39568162e64a7877b2b413d416bb4416418f0672 Mon Sep 17 00:00:00 2001 From: Maxwell Thimmig Date: Thu, 2 Oct 2025 19:05:16 +0000 Subject: [PATCH 2/6] Python version for RTD build --- .readthedocs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index e3b486b80..834a74686 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -3,7 +3,7 @@ version: 2 build: os: ubuntu-24.04 tools: - python: "3.13" + python: "3.12" nodejs: "22" rust: "1.82" golang: "1.23" From d8a79ce7fdca78d9a1e949eb0057d958bca0a04e Mon Sep 17 00:00:00 2001 From: Steven Trahan Date: Fri, 3 Oct 2025 18:58:07 +0000 Subject: [PATCH 3/6] Adding -fPIC flag for builds on Rocky. --- hdk/cl/examples/cl_sde/software/runtime/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hdk/cl/examples/cl_sde/software/runtime/Makefile b/hdk/cl/examples/cl_sde/software/runtime/Makefile index 206b0fac0..639d5708a 100644 --- a/hdk/cl/examples/cl_sde/software/runtime/Makefile +++ b/hdk/cl/examples/cl_sde/software/runtime/Makefile @@ -38,7 +38,7 @@ GLOBAL_SDE_OFFSET := -DGLOBAL_SDE_OFFSET=0x0 GLOBAL_ATG_OFFSET := -DGLOBAL_ATG_OFFSET=0x0 OPT := -DFPGA_ALLOW_NON_ROOT -DCONFIG_LOGLEVEL=1 $(GLOBAL_SDE_OFFSET) $(GLOBAL_ATG_OFFSET) -LIB_CFLAGS := $(OPT) -g -Wall -Werror -W -Wno-parentheses -Wstrict-prototypes -Wmissing-prototypes $(INCLUDES) -fvisibility=hidden -mavx2 -MMD -MP +LIB_CFLAGS := $(OPT) -g -Wall -Werror -W -Wno-parentheses -Wstrict-prototypes -Wmissing-prototypes $(INCLUDES) -fvisibility=hidden -mavx2 -MMD -MP -fPIC EXAMPLE_CFLAGS := $(OPT) -g -Wall -Werror -W -Wno-parentheses -Wstrict-prototypes -Wmissing-prototypes $(INCLUDES) SRCS := $(wildcard $(SDE_SRC_DIR)/*.c) SDE_EXAMPLES := sde_c2h_perf_test sde_h2c_perf_test sde_c2h_simple sde_h2c_simple sde_loopback_simple sde_c2h_user_buffers sde_loopback_perf_test @@ -86,7 +86,7 @@ install_sde_lib: $(SDELIB_SO) $(SDELIB_SO): $(OBJS) mkdir -p $(SDE_LIB_SO_DIR) - $(CC) -o $(SDELIB_SO) $(LIBCFLAGS) -shared $(OBJS) -Wl,-soname,libsde.so.1 + $(CC) -o $(SDELIB_SO) $(LIB_CFLAGS) -shared $(OBJS) -Wl,-soname,libsde.so.1 $(SDE_SRC_DIR)/%.o: $(SDE_SRC_DIR)/%.c $(CC) $(LIB_CFLAGS) -c $< -o $@ From 5a1392e70a6508f48cfd3081b8e3cc2b1c3bb31d Mon Sep 17 00:00:00 2001 From: Maxwell Thimmig Date: Mon, 6 Oct 2025 20:05:52 +0000 Subject: [PATCH 4/6] Update Vitis ERRATA --- docs-rtd/source/vitis/ERRATA.rst | 4 +--- vitis/ERRATA.md | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/docs-rtd/source/vitis/ERRATA.rst b/docs-rtd/source/vitis/ERRATA.rst index 28afe30d3..e407a8365 100644 --- a/docs-rtd/source/vitis/ERRATA.rst +++ b/docs-rtd/source/vitis/ERRATA.rst @@ -25,9 +25,7 @@ The following examples are not currently supported by AMD: The following examples are currently under development by AMD: -- ``rtl_kernels/rtl_streaming_free_running_k2k`` -- ``rtl_kernels/rtl_streaming_k2k_mm`` -- ``rtl_kernels/rtl_vadd_hw_debug`` +- ``performance/axi_burst_performance`` Hardware Emulation ------------------ diff --git a/vitis/ERRATA.md b/vitis/ERRATA.md index 593ae5d0a..4cd20b377 100644 --- a/vitis/ERRATA.md +++ b/vitis/ERRATA.md @@ -22,9 +22,7 @@ The following examples are not currently supported by AMD: The following examples are currently under development by AMD: -* `rtl_kernels/rtl_streaming_free_running_k2k` -* `rtl_kernels/rtl_streaming_k2k_mm` -* `rtl_kernels/rtl_vadd_hw_debug` +* `performance/axi_burst_performance` ## Hardware Emulation From 35a38927af09f4bdf1f65f6bf2eb8fb8409e2dad Mon Sep 17 00:00:00 2001 From: Maxwell Thimmig Date: Mon, 6 Oct 2025 20:21:31 +0000 Subject: [PATCH 5/6] Address GH security check finding --- User_Guide_AWS_EC2_FPGA_Development_Kit.md | 2 +- docs-rtd/source/User-Guide-AWS-EC2-FPGA-Development-Kit.rst | 2 +- shared/bin/check_doc_links.py | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/User_Guide_AWS_EC2_FPGA_Development_Kit.md b/User_Guide_AWS_EC2_FPGA_Development_Kit.md index d60dcfd42..5603767b8 100644 --- a/User_Guide_AWS_EC2_FPGA_Development_Kit.md +++ b/User_Guide_AWS_EC2_FPGA_Development_Kit.md @@ -117,7 +117,7 @@ On-premise environment: Customers can set up a [on-premise development (with lic Design Source - Testbench + Testbench Runtime Software diff --git a/docs-rtd/source/User-Guide-AWS-EC2-FPGA-Development-Kit.rst b/docs-rtd/source/User-Guide-AWS-EC2-FPGA-Development-Kit.rst index e7f9a0931..728b4eda6 100644 --- a/docs-rtd/source/User-Guide-AWS-EC2-FPGA-Development-Kit.rst +++ b/docs-rtd/source/User-Guide-AWS-EC2-FPGA-Development-Kit.rst @@ -226,7 +226,7 @@ Quick Start Links - - - - - `Testbench `__ + - `Testbench `__ * - - - diff --git a/shared/bin/check_doc_links.py b/shared/bin/check_doc_links.py index f53c95037..b91bda0fe 100644 --- a/shared/bin/check_doc_links.py +++ b/shared/bin/check_doc_links.py @@ -35,6 +35,7 @@ import requests import urllib3 +import urllib3.util from requests.adapters import HTTPAdapter from urllib3.util.retry import Retry @@ -334,7 +335,7 @@ def _check_anchor_in_response(self, url: str, response: requests.Response) -> Re _, fragment = url.split("#", 1) fragment = unquote(fragment) - if "github.com" in url: + if urllib3.util.parse_url(url) == "github.com": return self._check_github_line_numbers(fragment, response) # Check for HTML anchors/sections From 5be5f187398a99cd3770867f7948fb6ec5663825 Mon Sep 17 00:00:00 2001 From: Maxwell Thimmig Date: Tue, 7 Oct 2025 17:00:11 +0000 Subject: [PATCH 6/6] Update release_version.txt --- release_version.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release_version.txt b/release_version.txt index 02b460e6d..82c9478c5 100644 --- a/release_version.txt +++ b/release_version.txt @@ -1 +1 @@ -RELEASE_VERSION=2.2.0 +RELEASE_VERSION=2.2.1