From eed0ea26d6010c2d3086798953853b90502928b6 Mon Sep 17 00:00:00 2001 From: Lei Wang <34334180+LeiWang1999@users.noreply.github.com> Date: Mon, 15 Apr 2024 19:46:20 +0800 Subject: [PATCH] [DEV] Transform Codebase from Azure to GitHub (#14) * update codeql * fix uint32 zero issue * initial transparency. * enhance transparency. * rename transparency * dependabot fix * update transparency. * update plugin * remove redundant transparency * dsl benchmark scirpts * update submodule. * remove redundant code. * remove transparency * fix propagate map issue * implement in register dequantize config * optimize target * fix tag. * fix some issues on ampere game device * finetune with data distribution. * fill matmul benchmarking scripts * refactor use_async_copy to bool value * support af format * format fix * support propagate input transform for dequantization. * update requirements * update requirements.txt * update af4 related tests. * clean test * naive support for dynamic zeros * move to bitdistiller * implement lop3 with zeros cpp test * implement fast decoding with zeros * update zero generation support. * Bump transformers from 4.29.2 to 4.36.0 Bumps [transformers](https://github.com/huggingface/transformers) from 4.29.2 to 4.36.0. - [Release notes](https://github.com/huggingface/transformers/releases) - [Commits](https://github.com/huggingface/transformers/compare/v4.29.2...v4.36.0) --- updated-dependencies: - dependency-name: transformers dependency-type: direct:production ... Signed-off-by: dependabot[bot] * Bump pillow from 9.4.0 to 10.2.0 Bumps [pillow](https://github.com/python-pillow/Pillow) from 9.4.0 to 10.2.0. - [Release notes](https://github.com/python-pillow/Pillow/releases) - [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst) - [Commits](https://github.com/python-pillow/Pillow/compare/9.4.0...10.2.0) --- updated-dependencies: - dependency-name: pillow dependency-type: direct:production ... Signed-off-by: dependabot[bot] * Bump tornado from 6.2 to 6.3.3 Bumps [tornado](https://github.com/tornadoweb/tornado) from 6.2 to 6.3.3. - [Changelog](https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst) - [Commits](https://github.com/tornadoweb/tornado/compare/v6.2.0...v6.3.3) --- updated-dependencies: - dependency-name: tornado dependency-type: direct:production ... Signed-off-by: dependabot[bot] * Bump scipy from 1.5.3 to 1.11.1 Bumps [scipy](https://github.com/scipy/scipy) from 1.5.3 to 1.11.1. - [Release notes](https://github.com/scipy/scipy/releases) - [Commits](https://github.com/scipy/scipy/compare/v1.5.3...v1.11.1) --- updated-dependencies: - dependency-name: scipy dependency-type: direct:production ... Signed-off-by: dependabot[bot] * Bump jinja2 from 3.1.2 to 3.1.3 Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.2 to 3.1.3. - [Release notes](https://github.com/pallets/jinja/releases) - [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst) - [Commits](https://github.com/pallets/jinja/compare/3.1.2...3.1.3) --- updated-dependencies: - dependency-name: jinja2 dependency-type: direct:production ... Signed-off-by: dependabot[bot] * Bump pygments from 2.2.0 to 2.15.0 Bumps [pygments](https://github.com/pygments/pygments) from 2.2.0 to 2.15.0. - [Release notes](https://github.com/pygments/pygments/releases) - [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES) - [Commits](https://github.com/pygments/pygments/compare/2.2.0...2.15.0) --- updated-dependencies: - dependency-name: pygments dependency-type: direct:production ... Signed-off-by: dependabot[bot] * Bump pygments from 2.13.0 to 2.15.0 Bumps [pygments](https://github.com/pygments/pygments) from 2.13.0 to 2.15.0. - [Release notes](https://github.com/pygments/pygments/releases) - [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES) - [Commits](https://github.com/pygments/pygments/compare/2.13.0...2.15.0) --- updated-dependencies: - dependency-name: pygments dependency-type: direct:production ... Signed-off-by: dependabot[bot] * update requirements and matmul. * support fast decode for int8 related items * improve pass context * update benchmark related figures. * update benchmark readme * reorganize readme * refactor readme * update benchmark readme * refactor quant linear for bisect * update tvm submodule * fix blockIdx related * update bitditiller related. * update zero type related test * implement zero types support * implement zero types support * fix lop3 permuteta issue. * fix weight executor bug. * improve typing * resolve performance related items * add implementation for dequantization with dynamic symbolic * fix ladder transform related issues. * improve ladder permutation for dequantization * enhance dynamic symbolic for matmul_impl * improve support for dynamic symbolic * update tvm dependency * implement operator cache. * refactor print to logging * append setup.py and remove tvm pythonpath dependency. * update ignore * improve installation scripts * update scaling benchmark of 1bit * int8xint1 lop3 support. * replace with to_torch_func * license related fix * update contributing.md * autogptq support. * refactor docs * refactor * refactor docs * typo fix * implement disk cache * refactor codegen to get_source * support get weight shape. * Update dependabot.yml * Update dependabot.yml * Update dependabot.yml * Update dependabot.yml * Update dependabot.yml * Update requirements.txt * Update requirements.txt * Update requirements.txt * refactor propagate into transform kind * Update dependabot.yml * implement scale and zero layout propagation * typo fix * refactor codes * fix performance issue of dequantize propagate * refactor print * fix gemv scale bugs * refactor ops configs * improve tensor_adapter * implement trick wrapper for integration * code refactor * SUPPORT.md commit * spell check * improve for linting * overal lint improvements * Add copyright and license information * improve contributing * Fix PYTHONPATH export in installation script and update BitBLAS package * Update benchmark section in README.md * Update performance benchmarks and integration details * Fix typo in README.md * Refactor index map logging in matmul_analysis.py * Add .ruff_cache to .gitignore * Add _tir_u32_to_f4_to_f16 function to quantization module * Update performance benchmark images * Update benchmark configurations * Update benchmark information in README.md * Refactor code for improved performance and readability * convolution impl support * Refactor convolution2d_impl.py and test_auto_normalized_tensorcore.py * Fix code formatting and remove unnecessary code * Update TensorCore GEMM Performance Comparison * Update TensorCore GEMM performance comparison on A100 and RTX4090 * Refactor propagate_inputs method in TensorCorePolicy * Fix BitBLAS import and remove debug print statements * Add end-to-end integration with Quantize Inference Kernel for AutoGPTQ and vLLM * Fix import order and handle exception in benchmark scripts * Update TVM subproject commit * Update TileDevice class names in bitblas package * Update imports in roller module * Update images * Update images * Update end2end_llama_13b_vllm.png * Update trademark and acknowledgement section * Update benchmark images for consistent GEMM operations * Add test case for decoding UInt4 to Float16 with scaling and zeros quantized * Remove benchmarking code for int4 on a specific target * Update image files and add new functions for quantization and rasterization * fix rescale and original lop3. * Add integration example of FasterTransformers with BitBLAS * Update integration example of FasterTransformer with BitBLAS * Update requirements-dev.txt and requirements.txt * Add LLVM download and extraction functionality * Update FasterTransformer.gif * Update BitBLAS version and requirements * Update BitBLAS import paths and add support for installing and developing TVM * Add GPU intrinsics module for BitBLAS * Update requirements-dev.txt and requirements.txt * Refactor import paths in BitBLAS GPU modules * Update installation guide in Installation.md * Refactor MatmulConfig class in matmul.py for improved readability and maintainability * Refactor MatmulConfig class in matmul.py for improved readability and maintainability * Refactor MatmulConfig class in matmul.py for improved readability and maintainability * Update installation guide and QuickStart link in README.md * Update installation guide and QuickStart link in README.md * Append Default Schedule Fallback * Refactor requirements-dev.txt and fix newline issue in arch_base.py * Fix typo in check_mit_license.sh * imrpove the target detection. * Improve target detection and fix typos in code * Fix auto-inline spacing issue in MatmulTensorizationMMAWithDequantizeInfo class * Improve target detection and fix typos in code * transform to submit * Add support for weight_dtype transformation in MatmulWeightOnlyDequantizeConfig * Update zeros_type to zeros_mode in code blocks * update README * update README * Fix import errors and update paths in code * Update variable names in test_bitblas_linear.py and __init__.py * Update imports and add new function in quantization and cache modules * Update README with support matrix table * Update support matrix table and benchmark configurations * Update support matrix table and benchmark configurations * Update support matrix table and benchmark configurations * Update support matrix table and benchmark configurations * Update support matrix table and benchmark configurations * Update import statements and add new functions in quantization and cache modules * Fix default dynamic range for M in MatmulConfig * Update support matrix table with new tested platforms and Out_dtype column * Refactor code for mixed-precision matrix multiplication and update support matrix table * Refactor code for mixed-precision matrix multiplication and update support matrix table * Update MatmulConfig initialization in QuickStart.md * Update support matrix table with new tested platforms and INT32/FP16/INT8 support * Refactor code for mixed-precision matrix multiplication and update support matrix table * Update link to code implementation in QuickStart.md * Disable tuning for initial bitblas operator creation * Update linear transformation description in PythonAPI.md * Update MatmulConfig in PythonAPI.md * convert af format to nf * Enable hardware-aware tuning for bitblas operators * Refactor code for mixed-precision matrix multiplication and update support matrix table * Update support matrix table with new tested platforms and INT32/FP16/INT8 support * Update OperatorConfig.md with matrix multiplication configuration details * code refactor * Fix capitalization in QuickStart.md * update ReadME * Refactor setup.py to remove unnecessary code and improve readability * refactor infeatures to infeatures * update README.md * Fix incorrect data type mapping in general_matmul.py * update doc * Refactor variable names in bitblas_linear.py and bitblas_quant_linear.py * uncomments some case * Add BITBLAS_DATABASE_PATH constant to OperatorCache and update load_global_ops_cache function * Refactor variable names in bitblas_linear.py and bitblas_quant_linear.py * Refactor variable names in bitblas_linear.py and bitblas_quant_linear.py * Update dependencies in requirements-dev.txt and requirements.txt * Refactor variable names in bitblas_linear.py and bitblas_quant_linear.py * Fix BITBLAS_DATABASE_PATH constant assignment in OperatorCache * Refactor variable names in bitblas_linear.py and bitblas_quant_linear.py * Refactor variable names in bitblas_linear.py and bitblas_quant_linear.py * update install * Refactor variable names in setup.py and build_tvm function * append linear benchmark scripts * simple bug fix * Update BitBLAS installation instructions for Ubuntu 20.04 * Refactor variable names and add output print statements for debugging * Refactor variable names and update dependencies * Update BitBLAS installation instructions for Ubuntu 20.04 and add note about Linux support * Refactor logging handler and set log level in BitBLAS module * Bump version to 0.0.1 --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Lingxiao Ma --- .gitignore | 8 +- 3rdparty/.gitignore | 3 + 3rdparty/tvm | 2 +- CONTRIBUTING.md | 2 + MANIFEST.in | 4 + README.md | 93 +- SUPPORT.md | 36 +- benchmark/README.md | 101 +- benchmark/dsl/convolution.py | 45 +- benchmark/dsl/matmul.py | 36 +- benchmark/dsl/matmul_dequantize_af.py | 228 ++++ benchmark/dsl/matmul_dequantize_fp.py | 227 ++++ benchmark/dsl/matmul_dequantize_int1.py | 230 +++++ benchmark/dsl/matmul_dequantize_int4.py | 297 ++++++ benchmark/dsl/weight_propagate.py | 559 ++++++++++ .../operators/benchmark_bitblas_matmul.py | 196 ++++ benchmark/operators/matmul.py | 204 ---- benchmark/operators/matmul_dequantize_af.py | 170 --- benchmark/operators/matmul_dequantize_int4.py | 207 ---- docs/ExtendOperatorsWithDSL.md | 168 +++ docs/Installation.md | 58 ++ docs/PythonAPI.md | 150 +++ docs/QuickStart.md | 425 ++++---- format.sh | 185 ++++ .../figures/end2end_llama_13b_auto_gptq.png | Bin 0 -> 109299 bytes images/figures/end2end_llama_13b_vllm.png | Bin 0 -> 98397 bytes images/figures/end2end_llama_70B_vllm.png | Bin 0 -> 80706 bytes .../figures/end2end_llama_70b_auto_gptq.png | Bin 0 -> 107405 bytes images/figures/op_benchmark_3090_af4_gemv.png | Bin 83601 -> 0 bytes .../figures/op_benchmark_3090_fp16_gemm.png | Bin 90486 -> 94685 bytes .../op_benchmark_3090_fp16_gemm_e8.png | Bin 0 -> 104928 bytes images/figures/op_benchmark_3090_nf4_gemm.png | Bin 0 -> 87726 bytes images/figures/op_benchmark_3090_nf4_gemv.png | Bin 0 -> 84464 bytes images/figures/op_benchmark_3090_s8_gemm.png | Bin 86466 -> 94832 bytes .../figures/op_benchmark_3090_s8_gemm_e8.png | Bin 0 -> 94414 bytes .../op_benchmark_a100_int1_scaling.png | Bin 162174 -> 158208 bytes .../figures/op_benchmark_a100_wq_gemm_e7.png | Bin 0 -> 108065 bytes .../figures/op_benchmark_a100_wq_gemm_e8.png | Bin 0 -> 118316 bytes .../figures/op_benchmark_a100_wq_gemv_e7.png | Bin 0 -> 104802 bytes .../figures/op_benchmark_a100_wq_gemv_e8.png | Bin 0 -> 123333 bytes .../op_benchmark_consistent_gemm_fp16.png | Bin 0 -> 287089 bytes .../op_benchmark_consistent_gemm_int8.png | Bin 0 -> 288520 bytes images/gif/FasterTransformer.gif | Bin 0 -> 1072632 bytes .../bitdistiller/kernel_generator_dynzeros.py | 43 +- .../kernel_generator_dynzeros_original.py | 57 +- .../fastertransformer/kernel_generator.py | 42 +- .../kernel_generator_dynzeros.py | 41 +- integration/pytorch/bitblas_linear.py | 47 +- integration/pytorch/bitblas_quant_linear.py | 85 +- integration/pytorch/test_bitblas_linear.py | 40 +- .../pytorch/test_bitblas_quant_linear.py | 44 +- integration/vLLM/README.md | 1 + maint/scripts/check_mit_license.sh | 20 +- maint/scripts/installation.sh | 2 +- pyproject.toml | 39 + python/bitblas/__init__.py | 71 +- python/bitblas/base/analysis.py | 73 +- python/bitblas/base/common_schedules.py | 4 +- python/bitblas/base/roller/__init__.py | 8 +- python/bitblas/base/roller/arch/__init__.py | 4 +- python/bitblas/base/roller/arch/arch_base.py | 3 +- python/bitblas/base/roller/arch/cpu.py | 6 +- python/bitblas/base/roller/arch/cuda.py | 13 +- .../base/roller/{config.py => hint.py} | 69 +- python/bitblas/base/roller/node.py | 134 ++- python/bitblas/base/roller/policy/default.py | 110 +- .../bitblas/base/roller/policy/tensorcore.py | 117 +-- python/bitblas/base/roller/rasterization.py | 11 +- python/bitblas/base/transform.py | 73 +- python/bitblas/base/utils.py | 149 ++- python/bitblas/cache/__init__.py | 7 +- python/bitblas/cache/operator.py | 184 +++- python/bitblas/generator.py | 12 +- python/bitblas/gpu/__init__.py | 26 +- python/bitblas/gpu/gemv.py | 174 +--- python/bitblas/gpu/gemv_dequantize.py | 254 ++++- python/bitblas/gpu/intrin/__init__.py | 3 + python/bitblas/gpu/intrin/lop3.py | 656 +++++++++--- python/bitblas/gpu/matmul.py | 42 +- python/bitblas/gpu/matmul_analysis.py | 170 ++- python/bitblas/gpu/matmul_mma.py | 174 ++-- python/bitblas/gpu/matmul_mma_dequantize.py | 970 ++++++++++++++---- python/bitblas/gpu/matmul_wmma.py | 61 +- python/bitblas/module/__init__.py | 300 ++++++ python/bitblas/ops/__init__.py | 9 +- python/bitblas/ops/general_matmul.py | 517 ++++++++++ python/bitblas/ops/impl/convolution2d_impl.py | 190 ++++ .../bitblas/ops/impl/ladder_permutate_impl.py | 20 +- .../bitblas/ops/impl/lop3_permutate_impl.py | 60 +- .../ops/impl/matmul_dequantize_impl.py | 238 +++-- python/bitblas/ops/impl/matmul_impl.py | 173 ++-- .../bitblas/ops/impl/param_permutate_impl.py | 56 + python/bitblas/ops/ladder_permutate.py | 21 +- python/bitblas/ops/lop3_permutate.py | 28 +- python/bitblas/ops/matmul.py | 87 +- python/bitblas/ops/matmul_dequantize.py | 121 ++- python/bitblas/ops/operator.py | 177 +++- python/bitblas/ops/param_permutate.py | 91 ++ python/bitblas/quantization/__init__.py | 12 +- python/bitblas/quantization/quantization.py | 57 +- python/bitblas/quantization/utils.py | 52 +- .../relax/transform/annotate_decode_block.py | 26 +- .../relax/transform/weight_only_propagate.py | 120 +-- python/bitblas/testing/__init__.py | 7 +- python/bitblas/utils/__init__.py | 9 +- python/bitblas/utils/post_process.py | 6 +- python/bitblas/utils/target_detector.py | 68 ++ python/bitblas/utils/tensor_adapter.py | 80 +- python/bitblas/wrapper/__init__.py | 4 + python/bitblas/wrapper/general.py | 507 +++++++++ requirements-dev.txt | 30 + requirements.txt | 47 +- setup.py | 281 ++++- .../lop3_type_conversion/fast_decoding.hpp | 311 +++++- .../lowprecision_to_float16.cu | 55 + testing/python/cache/test_operator_cache.py | 325 +++++- .../dsl/test_auto_normalized_tensorcore.py | 75 +- testing/python/module/test_bitblas_linear.py | 195 ++++ .../operators/test_general_matmul_ops.py | 286 ++++++ .../operators/test_ladder_permutate_ops.py | 60 +- .../operators/test_matmul_dequantize_ops.py | 628 ++++++++++-- testing/python/operators/test_matmul_ops.py | 19 +- .../operators/test_param_permutate_ops.py | 45 + .../python/tir_expr/float16xfloat16_gemm.py | 82 -- testing/python/tir_expr/int8xint8_gemm.py | 368 ------- .../tir_expr/test_fused_decode_matmul.py | 132 --- .../python/tir_expr/test_matmul_codegen.py | 221 ---- testing/python/tir_expr/test_tir.py | 74 -- testing/python/tir_expr/test_tir_0.py | 189 ---- testing/python/tir_expr/test_tir_1.py | 179 ---- testing/python/tir_expr/test_tir_2.py | 95 -- testing/python/tir_expr/test_tir_3.py | 87 -- .../test_lop3_type_conversion.py | 6 +- 133 files changed, 9786 insertions(+), 4713 deletions(-) create mode 100644 3rdparty/.gitignore create mode 100644 MANIFEST.in create mode 100644 benchmark/dsl/matmul_dequantize_af.py create mode 100644 benchmark/dsl/matmul_dequantize_fp.py create mode 100644 benchmark/dsl/matmul_dequantize_int1.py create mode 100644 benchmark/dsl/matmul_dequantize_int4.py create mode 100644 benchmark/dsl/weight_propagate.py create mode 100644 benchmark/operators/benchmark_bitblas_matmul.py delete mode 100644 benchmark/operators/matmul.py delete mode 100644 benchmark/operators/matmul_dequantize_af.py delete mode 100644 benchmark/operators/matmul_dequantize_int4.py create mode 100644 docs/ExtendOperatorsWithDSL.md create mode 100644 docs/Installation.md create mode 100644 docs/PythonAPI.md create mode 100755 format.sh create mode 100644 images/figures/end2end_llama_13b_auto_gptq.png create mode 100644 images/figures/end2end_llama_13b_vllm.png create mode 100644 images/figures/end2end_llama_70B_vllm.png create mode 100644 images/figures/end2end_llama_70b_auto_gptq.png delete mode 100644 images/figures/op_benchmark_3090_af4_gemv.png create mode 100644 images/figures/op_benchmark_3090_fp16_gemm_e8.png create mode 100644 images/figures/op_benchmark_3090_nf4_gemm.png create mode 100644 images/figures/op_benchmark_3090_nf4_gemv.png create mode 100644 images/figures/op_benchmark_3090_s8_gemm_e8.png create mode 100644 images/figures/op_benchmark_a100_wq_gemm_e7.png create mode 100644 images/figures/op_benchmark_a100_wq_gemm_e8.png create mode 100644 images/figures/op_benchmark_a100_wq_gemv_e7.png create mode 100644 images/figures/op_benchmark_a100_wq_gemv_e8.png create mode 100644 images/figures/op_benchmark_consistent_gemm_fp16.png create mode 100644 images/figures/op_benchmark_consistent_gemm_int8.png create mode 100644 images/gif/FasterTransformer.gif create mode 100644 integration/vLLM/README.md create mode 100644 pyproject.toml rename python/bitblas/base/roller/{config.py => hint.py} (81%) create mode 100644 python/bitblas/gpu/intrin/__init__.py create mode 100644 python/bitblas/module/__init__.py create mode 100644 python/bitblas/ops/general_matmul.py create mode 100644 python/bitblas/ops/impl/convolution2d_impl.py create mode 100644 python/bitblas/ops/impl/param_permutate_impl.py create mode 100644 python/bitblas/ops/param_permutate.py create mode 100644 python/bitblas/utils/target_detector.py create mode 100644 python/bitblas/wrapper/__init__.py create mode 100644 python/bitblas/wrapper/general.py create mode 100644 requirements-dev.txt create mode 100644 testing/python/module/test_bitblas_linear.py create mode 100644 testing/python/operators/test_general_matmul_ops.py create mode 100644 testing/python/operators/test_param_permutate_ops.py delete mode 100644 testing/python/tir_expr/float16xfloat16_gemm.py delete mode 100644 testing/python/tir_expr/int8xint8_gemm.py delete mode 100644 testing/python/tir_expr/test_fused_decode_matmul.py delete mode 100644 testing/python/tir_expr/test_matmul_codegen.py delete mode 100644 testing/python/tir_expr/test_tir.py delete mode 100644 testing/python/tir_expr/test_tir_0.py delete mode 100644 testing/python/tir_expr/test_tir_1.py delete mode 100644 testing/python/tir_expr/test_tir_2.py delete mode 100644 testing/python/tir_expr/test_tir_3.py diff --git a/.gitignore b/.gitignore index 686ca07df..ca788f982 100644 --- a/.gitignore +++ b/.gitignore @@ -69,4 +69,10 @@ models/frozenmodels/ .pytest_cache # .hypothesis -.hypothesis \ No newline at end of file +.hypothesis + +# .ruff_cache +.ruff_cache + +# .bitblas_database +.bitblas_database diff --git a/3rdparty/.gitignore b/3rdparty/.gitignore new file mode 100644 index 000000000..f2ce68266 --- /dev/null +++ b/3rdparty/.gitignore @@ -0,0 +1,3 @@ +clang* + +llvm* diff --git a/3rdparty/tvm b/3rdparty/tvm index 0fd8338b8..93840447d 160000 --- a/3rdparty/tvm +++ b/3rdparty/tvm @@ -1 +1 @@ -Subproject commit 0fd8338b815194f46b3b8ea40cd9cd1c670bfc0a +Subproject commit 93840447d3be9a34e0e32c4496ca5b62856bb220 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fa25b190e..bdf41586c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -27,6 +27,8 @@ Please ask questions in issues. All pull requests are super welcomed and greatly appreciated! Issues in need of a solution are marked with a [`♥ help`](https://github.com/ianstormtaylor/BitBLAS/issues?q=is%3Aissue+is%3Aopen+label%3A%22%E2%99%A5+help%22) label if you're looking for somewhere to start. +Please run `./format.sh` before submitting a pull request to make sure that your code is formatted correctly. + Please include tests and docs with every pull request! ## Repository Setup diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 000000000..d4920f73a --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,4 @@ +recursive-include 3rdparty/tvm * +recursive-exclude 3rdparty/tvm/build * +recursive-exclude 3rdparty/clang* * +recursive-exclude 3rdparty/llvm* * diff --git a/README.md b/README.md index 8d101a066..c765027b8 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,83 @@ # BitBLAS -BitBLAS is a lightweight framework designed to generate high-performance CUDA/HIP code for BLAS operators, featuring swizzling and layout propagation. It achieves performance comparable to vendor libraries across various platforms and hardware. BitBLAS aims to assist algorithm developers working on projects like BitNet, GPTQ, and similar endeavors by enabling the rapid implementation of accelerated kernels and their efficient deployment. +BitBLAS is a library to support mixed-precision BLAS operations on GPUs, for example, the $W_{wdtype}A_{adtype}$ mixed-precision matrix multiplication where $C_{cdtype}[M, N] = A_{adtype}[M, K] \times W_{wdtype}[N, K]$. +BitBLAS aims to support efficient mixed-precision DNN model deployment, especially the $W_{wdtype}A_{adtype}$ quantization in large language models (LLMs), for example, the $W_{INT4}A_{FP16}$ in [GPTQ](https://arxiv.org/abs/2210.17323), the $W_{INT2}A_{FP16}$ in [BitDistiller](https://arxiv.org/abs/2402.10631), the $W_{INT1}A_{INT8}$ and $W_{INT2}A_{INT8}$ in [BitNet](https://arxiv.org/abs/2310.11453) and [BitNet-b1.58](https://arxiv.org/abs/2402.17764). BitBLAS is based on techniques from our accepted submission at OSDI'24. + Some of the key features of BitBLAS include: - - Auto Tensorize compute with TensorCore-like hardware instructions. - - High Performance (Not only FP16xFP16, INT8xINT8, but also FP16xINT4/2/1, INT8xINT4/2/1). - - With the flexible DSL (TIR Script) to effortlessly craft domain-specific kernels for your situations. - - Support with dynamic symbolic throuth tvm unity -> generate source code with dynamic shape. - - BitBLAS first proposed int8xint1 gemv/gemm with 10x/2x speedup over float16xfloat16 on A100, please checkout [op_benchmark_a100_int1_scaling](images/figures/op_benchmark_a100_int1_scaling.png) for detailed input scaling benchmark results. + - High performance matrix multiplication for both GEMV (e.g., the single batch auto-regressive decode phase in LLM) and GEMM (e.g., the batched auto-regressive decode phase and the prefill phase in LLM): + - $W_{wdtype}A_{adtype}$ mixed-precision matrix multiplication including FP16xINT4/2/1, INT8xINT4/2/1, etc. Please checkout [support matrix](#support-matrix) for detailed data types support. + - Matrix multiplication like FP16xFP16 and INT8xINT8. + - Auto-Tensorization for TensorCore-like hardware instructions. + - Implemented [integration](./integration/) to [PyTorch](https://pytorch.org/), [AutoGPTQ](https://github.com/AutoGPTQ/AutoGPTQ) and [vLLM](https://github.com/vllm-project/vllm) for LLM deployment. Please checkout [benchmark summary](#benchmark-summary) for detailed end2end LLM inference performance. + - BitBLAS first implemented $W_{INT1}A_{INT8}$ GEMV/GEMM with 10x/2x speedup over $W_{FP16}A_{FP16}$ on A100, please checkout [op_benchmark_a100_int1_scaling](images/figures/op_benchmark_a100_int1_scaling.png) for detailed benchmark results. + - Support customizing mixed-precision DNN operations for your specific scenarios via the flexible DSL (TIR Script). + +## Integration Example of FasterTransformer with BitBLAS +![FasterTransformer Integration](images/gif/FasterTransformer.gif) + + +## Benchmark Summary + +BitBLAS achieves exceptional performance across a variety of computational patterns. Below are selected results showcasing its capabilities: + +- End2End Integration with Quantize Inference Kernel for AutoGPTQ and vLLM. + +
+ AutoGPTQ end2end performance of llama13b on A100 + AutoGPTQ end2end performance of llama13b on A100 + vLLM end2end performance of llama13b on A100 + vLLM end2end performance of llama13b on A100 +
+ +- Weight Only Matmul performance on A100 +
+ gemm weight only performance on A100 + gemm weight only performance on A100 +
-## Benchmark -BitBLAS can achieve optimal performance across various compute patterns: -- GTX 3090 - - FLOAT16xFLOAT16 with TensorCore ![3090-gemm-fp16](./images/figures/op_benchmark_3090_fp16_gemm.png) - - INT8xINT8 with TensorCore ![3090-gemm-s8](./images/figures/op_benchmark_3090_s8_gemm.png) - - FLOAT16xAF4(LUT4) GEMV ![3090-af4-gemv](./images/figures/op_benchmark_3090_af4_gemv.png) - - FLOAT16xAF4(LUT4) with TensorCore ![3090-af4-gemm](./images/figures/op_benchmark_3090_af4_gemm.png) +- TensorCore FP16/INT8 GEMM Performance Vs. Vendor Library on A100 and RTX4090 -- A100 - - WeightOnly GEMV ![a100-wq-gemv](./images/figures/op_benchmark_a100_wq_gemv.png) - - WeightOnly GEMM with TensorCore ![a100-wq-gemm](./images/figures/op_benchmark_a100_wq_gemm.png) +
+ gemm fp16 performance on 4090 and a100 + gemm int8 performance on 4090 and a100 +
-See more details in our [benchmark](./benchmark) directory. +For more detailed information on benchmark sets with other formats (NF4/FP4) and other devices (GTX 3090), please refer to the [benchmark](./benchmark/README.md). + +## Support Matrix + +| **A_dtype** | **W_dtype** | **Accum_dtype** | **Out_dtype** | **BitBLAS
Support** | **Tested
Platform** | +|:-----------:|:-----------:|:---------------:|:---------------:|:----------------------:|:----------------------:| +| FP16 | FP16 | FP16 | FP16 | **√** | V100(SM_70)/A100(SM_80)/A6000(SM_86)/RTX 4090(SM_89) | +| FP16 | FP4_E2M1 | FP16 | FP16 | **√** | V100(SM_70)/A100(SM_80)/A6000(SM_86)/RTX 4090(SM_89) | +| FP16 | INT8 | FP16 | FP16 | **√** | V100(SM_70)/A100(SM_80)/A6000(SM_86)/RTX 4090(SM_89) | +| FP16 | INT4 | FP16 | FP16 | **√** | V100(SM_70)/A100(SM_80)/A6000(SM_86)/RTX 4090(SM_89) | +| FP16 | INT2 | FP16 | FP16 | **√** | V100(SM_70)/A100(SM_80)/A6000(SM_86)/RTX 4090(SM_89) | +| FP16 | INT1 | FP16 | FP16 | **√** | V100(SM_70)/A100(SM_80)/A6000(SM_86)/RTX 4090(SM_89) | +| FP16 | NF4 | FP16 | FP16 | **√** | V100(SM_70)/A100(SM_80)/A6000(SM_86)/RTX 4090(SM_89) | +| INT8 | INT8 | INT32 | FP32/INT32/FP16/INT8 | **√** | V100(SM_70)/A100(SM_80)/A6000(SM_86)/RTX 4090(SM_89) | +| INT8 | INT4 | INT32 | FP32/INT32/FP16/INT8 | **√** | V100(SM_70)/A100(SM_80)/A6000(SM_86)/RTX 4090(SM_89) | +| INT8 | INT2 | INT32 | FP32/INT32/FP16/INT8 | **√** | V100(SM_70)/A100(SM_80)/A6000(SM_86)/RTX 4090(SM_89) | +| INT8 | INT1 | INT32 | FP32/INT32/FP16/INT8 | **√** | V100(SM_70)/A100(SM_80)/A6000(SM_86)/RTX 4090(SM_89) | + +We are continuously expanding the support matrix. If you have any specific requirements, please feel free to open an issue or PR. ## Getting Started -- Installation: - To manually install BitBLAS, please checkout `maint/scripts/installation.sh`. Also Make sure you already have the cuda toolkit (version >= 11) installed in the system. Or you can install from `python setup.py install` or `pip install .` in the root directory. +- [Installation](./docs/Installation.md): + To install BitBLAS, please checkout the document [installation](./docs/Installation.md). Also Make sure you already have the cuda toolkit (version >= 11) installed in the system. Or you can easily install from `pip install bitblas` in the root directory. + +- [QuickStart](./docs/QuickStart.md): BitBLAS provides two Python APIs to perform mixed-precision matrix multiplication: + - ```bitblas.Matmul``` implements the $W_{wdtype}A_{adtype}$ mixed-precision matrix multiplication of $C_{cdtype}[M, N] = A_{adtype}[M, K] \times W_{wdtype}[N, K]$. + - ```bitblas.Linear``` is a PyTorch ```nn.Linear```-like module to support a Linear of mixed-precision. -- [QuickStart](./docs/QuickStart.md): We provide two primary ways to do the code generation: using a high-level DSL (TensorIR Script), or using packed Operators, from the quick start guide, you can learn how to use BitBLAS to generate high performance kernels with both methods. +- [Integration](./integration/): Explore how BitBLAS seamlessly integrates with LLM deployment frameworks through our examples. Discover the ease of integrating BitBLAS with PyTorch, AutoGPTQ, and vLLM in the 3rd-party integration examples. + +- [Customization](./docs/ExtendOperatorsWithDSL.md): BitBLAS supports implementing customized mixed-precision DNN operations rather than matrix multiplication with the flexible DSL (TIR Script). -- [3rd Party Integration](./integration/): BitBLAS can also be easily integrated to other frameworks, the integration provides some examples of integrating BitBLAS with PyTorch, AutoGPTQ and vLLM. ## Contributing @@ -46,9 +91,3 @@ This project has adopted the Microsoft Open Source Code of Conduct. For more inf This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies. -## Acknowledgement - -We learned a lot from the following projects. - -- [Apache TVM](https://github.com/apache/tvm): BitBLAS havs adopted TensorIR as our DSL. Additionally, we have customized TVM from the unity branch to incorporate specific features that were required for our project. -- [Microsoft Roller](https://github.com/microsoft/nnfusion/tree/roller): The design and algo inspiration of hardware aware tuning in BitBLAS comes from Roller,. diff --git a/SUPPORT.md b/SUPPORT.md index 291d4d437..3e6ec834e 100644 --- a/SUPPORT.md +++ b/SUPPORT.md @@ -1,25 +1,29 @@ -# TODO: The maintainer of this repo has not yet edited this file +# Support -**REPO OWNER**: Do you want Customer Service & Support (CSS) support for this product/project? +Welcome to the BitBLAS support page! BitBLAS is a cutting-edge framework designed for generating high-performance CUDA/HIP code for BLAS operators. Whether you're working on projects like BitNet, GPTQ, or similar, BitBLAS is here to accelerate your development with its robust features. -- **No CSS support:** Fill out this template with information about how to file issues and get help. -- **Yes CSS support:** Fill out an intake form at [aka.ms/onboardsupport](https://aka.ms/onboardsupport). CSS will work with/help you to determine next steps. -- **Not sure?** Fill out an intake as though the answer were "Yes". CSS will help you decide. +## How to File Issues and Get Help -*Then remove this first heading from this SUPPORT.MD file before publishing your repo.* +### Reporting Bugs or Requesting Features -# Support +If you encounter a bug or have a feature request, we encourage you to file an issue through our GitHub Issues page. Please follow these steps: + +1. **Search Existing Issues**: Before creating a new issue, please search the existing ones to avoid duplicates. +2. **Create a New Issue**: If your issue is new, go ahead and file it as a new issue. Provide as much detail as possible to help us understand and address it efficiently. + +### Seeking Help and Questions + +For questions and help with using BitBLAS, we offer the following channels: + +- **GitHub Discussions**: For community support, sharing ideas, and discussing best practices, please visit our [GitHub Discussions](https://github.com/YOUR_REPO/discussions). +- **Stack Overflow**: Use the tag `BitBLAS` when posting questions. This is monitored by our team and the community. -## How to file issues and get help +## Microsoft Support Policy -This project uses GitHub Issues to track bugs and feature requests. Please search the existing -issues before filing new issues to avoid duplicates. For new issues, file your bug or -feature request as a new Issue. +Support for BitBLAS is primarily provided through the above-mentioned community channels. We strive to address issues and questions in a timely manner, leveraging the collective knowledge and experience of the BitBLAS community. -For help and questions about using this project, please **REPO MAINTAINER: INSERT INSTRUCTIONS HERE -FOR HOW TO ENGAGE REPO OWNERS OR COMMUNITY FOR HELP. COULD BE A STACK OVERFLOW TAG OR OTHER -CHANNEL. WHERE WILL YOU HELP PEOPLE?**. +## Contributing to BitBLAS -## Microsoft Support Policy +We warmly welcome contributions to the BitBLAS project. Whether it's improving the documentation, adding new features, or fixing bugs, your contributions are invaluable to us. Please refer to our [CONTRIBUTING.md](./CONTRIBUTING.md) file for more details on how to contribute. -Support for this **PROJECT or PRODUCT** is limited to the resources listed above. +Before submitting a pull request, you may need to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. The CLA process is straightforward and only needs to be completed once. diff --git a/benchmark/README.md b/benchmark/README.md index e80c302db..dc86280a7 100644 --- a/benchmark/README.md +++ b/benchmark/README.md @@ -1,13 +1,13 @@ # Speedup Benchmark vs Vendor Libraries -This part presents a benchmark comparison between our custom library, BitBLAS, and various vendor libraries (cuBLAS, CUTLASS, bitsandbytes, faster-transformer, tensorrt-llm, vLLM, and Marlin) across different matrix operation types (GEMM, GEMV) and data formats (float16xfloat16, int8xint8, float16xint4/af4). The benchmarks are conducted on NVIDIA GPUs - 24GB GTX 3090 and 80GB A100, with CUDA 12.1 installed. +This part presents a benchmark comparison between our custom library, BitBLAS, and various vendor libraries (cuBLAS, CUTLASS, bitsandbytes, faster-transformer, tensorrt-llm, vLLM, and Marlin) across different matrix operation types (GEMM, GEMV) and data formats (float16xfloat16, int8xint8, float16xint4/nf4). The benchmarks are conducted on NVIDIA GPUs - 24GB GTX 3090 and 80GB A100, with CUDA 12.1 installed. ## Benchmark Overview ### Tested Operations and Formats - GEMM (General Matrix Multiply) and GEMV (General Matrix-Vector Multiply) -- Data formats: float16, int8, float16xint4/af4 +- Data formats: float16, int8, float16xint4/nf4 ### Hardware @@ -18,13 +18,20 @@ This part presents a benchmark comparison between our custom library, BitBLAS, a - CUDA 12.1 - Compared libraries: cuBLAS, CUTLASS, bitsandbytes, faster-transformer, tensorrt-llm, vLLM, Marlin +- Commit ID: + - bitsandbytes == 0.43.0 + - vLLM: 865732342b4e3b8a4ef38f28a2a5bdb87cf3f970 + - FasterTransformer: 1afbf20129647a35d108152fc6789bc1d029cda5 + - TensorRT-LLM: 2bf3a0a4287069ac55ee3304c285b08592d3d1bc + - CUTLASS: 629f4653c3ea3db3264030382956fabe715f3436 + - Marlin: 512f1b1ba39ff708bcc95419f11cfd1285cd31b3 ## Results Summary ### GTX 3090 Benchmarks - **Float16 and Int8 GEMM with Tensorcore**: BitBLAS matches the performance of cuBLAS and CUTLASS. -- **Float16xaf4 GEMV and GEMM**: BitBLAS achieves 2x the speed of bitsandbytes and 4x the base float16 performance. +- **Float16xnf4 GEMV and GEMM**: BitBLAS achieves 2x the speed of bitsandbytes and 4x the base float16 performance. - **Optimal performance** in float16xint4 GEMM. ### A100 Benchmarks @@ -35,48 +42,60 @@ This part presents a benchmark comparison between our custom library, BitBLAS, a The benchmark configurations for each test scenario are detailed below: - -|config|Provider|M|N|K| -|:---:|:---:|:---:|:---:|:---:| -|V0|None|1|16384|16384| -|V1|BLOOM|1|43008|14336| -|V2|BLOOM|1|14336|14336| -|V3|BLOOM|1|57344|14336| -|V4|BLOOM|1|14336|57344| -|V5|OPT|1|9216|9216| -|V6|OPT|1|36864|9216| -|V7|OPT|1|9216|36864| -|V8|LLAMA|1|22016|8192| -|V9|LLAMA|1|8192|22016| -|V10|LLAMA-2|1|8192|8192| -|V11|LLAMA-2|1|28672|8192| -|V12|LLAMA-2|1|8192|28672| -|M0|None|16384|16384|16384| -|M1|BLOOM|8192|43008|14336| -|M2|BLOOM|8192|14336|14336| -|M3|BLOOM|8192|57344|14336| -|M4|BLOOM|8192|14336|57344| -|M5|OPT|8192|9216|9216| -|M6|OPT|8192|36864|9216| -|M7|OPT|8192|9216|36864| -|M8|LLAMA|8192|22016|8192| -|M9|LLAMA|8192|8192|22016| -|M10|LLAMA-2|8192|8192|8192| -|M11|LLAMA-2|8192|28672|8192| -|M12|LLAMA-2|8192|8192|28672| - + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
configProviderMNK
V0None11638416384
V1BLOOM14300814336
V2BLOOM11433614336
V3BLOOM15734414336
V4BLOOM11433657344
V5OPT192169216
V6OPT1368649216
V7OPT1921636864
V8LLAMA1220168192
V9LLAMA1819222016
V10LLAMA-2181928192
V11LLAMA-21286728192
V12LLAMA-21819228672
M0None163841638416384
M1BLOOM81924300814336
M2BLOOM81921433614336
M3BLOOM81925734414336
M4BLOOM81921433657344
M5OPT819292169216
M6OPT8192368649216
M7OPT8192921636864
M8LLAMA8192220168192
M9LLAMA8192819222016
M10LLAMA-2819281928192
M11LLAMA-28192286728192
M12LLAMA-28192819228672
+
**Note:** To reproduce the 3rdparty frameworks' benchmark results, please refer to [mlc-benchmark](https://github.com/LeiWang1999/mlc-benchmark). ## Benchmark Images -- GTX 3090 - - ![3090-gemm-fp16](../images/figures/op_benchmark_3090_fp16_gemm.png) - - ![3090-gemm-s8](../images/figures/op_benchmark_3090_s8_gemm.png) - - ![3090-af4-gemv](../images/figures/op_benchmark_3090_af4_gemv.png) - - ![3090-af4-gemm](../images/figures/op_benchmark_3090_af4_gemm.png) +INT8xINT1 Matmul BS Scaling on A100. + +![int8xint1_scaling](../images/figures/op_benchmark_a100_int1_scaling.png) + +3090 Related benchmark numbers + +![3090-gemm-fp16](../images/figures/op_benchmark_3090_fp16_gemm.png) + +![3090-gemm-s8](../images/figures/op_benchmark_3090_s8_gemm.png) + +![3090-nf4-gemv](../images/figures/op_benchmark_3090_nf4_gemv.png) + +![3090-nf4-gemm](../images/figures/op_benchmark_3090_nf4_gemm.png) + +A100 Related Benchmark Result -- A100 - - ![a100-wq-gemv](../images/figures/op_benchmark_a100_wq_gemv.png) - - ![a100-wq-gemm](../images/figures/op_benchmark_a100_wq_gemm.png) +![a100-wq-gemv](../images/figures/op_benchmark_a100_wq_gemv_e8.png) +![a100-wq-gemm](../images/figures/op_benchmark_a100_wq_gemm_e8.png) diff --git a/benchmark/dsl/convolution.py b/benchmark/dsl/convolution.py index 592544c3b..3d9b5ac87 100644 --- a/benchmark/dsl/convolution.py +++ b/benchmark/dsl/convolution.py @@ -2,19 +2,16 @@ # Licensed under the MIT License. import numpy as np import tvm -from tvm.script import tir as T from bitblas.base.roller.policy import TensorCorePolicy, DefaultPolicy from bitblas.base.roller.arch import CUDA from bitblas.gpu.matmul_analysis import get_tensorized_func_and_tags -from bitblas.gpu import Matmul, matmul_mma +from bitblas.gpu import Matmul from bitblas.base.utils import apply_and_build import time from tvm import te, tir -def conv2d_nhwc_hwio( - n, f, h, w, c, kh, kw, s, d, p, in_dtype="float16", out_dtype="float16" -): +def conv2d_nhwc_hwio(n, f, h, w, c, kh, kw, s, d, p, in_dtype="float16", out_dtype="float16"): A = te.placeholder((n, h, w, c), name="input", dtype=in_dtype) B = te.placeholder((kh, kw, c, f), name="weight", dtype=in_dtype) @@ -46,13 +43,8 @@ def conv2d_nhwc_hwio( C = te.compute( out_shape, lambda n, h, w, f: te.sum( - pad[ - n, - h * stride_h + kh * dilation_h, - w * stride_w + kw * dilation_w, - c, - ] - * B[kh, kw, c, f], + pad[n, h * stride_h + kh * dilation_h, w * stride_w + kw * dilation_w, c,] * B[kh, kw, + c, f], axis=[kh, kw, c], ), name="C", @@ -64,8 +56,8 @@ def conv2d_nhwc_hwio( benchmark_sets = [ # (prim_func, input_args, BitBLAS_default_schedule), (conv2d_nhwc_hwio, (128, 64, 224, 224, 64, 1, 1, 2, 1, 3, "float16", "float16"), Matmul), - # (conv2d_nhwc_hwio, (128, 64, 224, 224, 3, 7, 7, 2, 1, 3, "float32", "float32"), Matmul), - # (conv2d_nhwc_hwio, (128, 64, 224, 224, 3, 7, 7, 2, 1, 3, "float16", "float16"), Matmul), + (conv2d_nhwc_hwio, (128, 64, 224, 224, 3, 7, 7, 2, 1, 3, "float32", "float32"), Matmul), + (conv2d_nhwc_hwio, (128, 64, 224, 224, 3, 7, 7, 2, 1, 3, "float16", "float16"), Matmul), ] # fmt:on benchmark_results = {} @@ -77,7 +69,7 @@ def conv2d_nhwc_hwio( policy = DefaultPolicy(func=func, arch=arch) try: tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) - except: + except Exception: tags = None if tags: policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) @@ -86,14 +78,8 @@ def conv2d_nhwc_hwio( tune_start = time.time() cpresults, best = apply_and_build(func, configs, arch, parallel_build=True) fast_tune_time = time.time() - tune_start - print( - "[BitBLAS] The best latency of top 1 is {:.3f} ms".format( - cpresults[0].latency * 1e3 - ) - ) - print( - "[BitBLAS] The best latency of top 20 is {:.3f} ms".format(best.latency * 1e3) - ) + print("[BitBLAS] The best latency of top 1 is {:.3f} ms".format(cpresults[0].latency * 1e3)) + print("[BitBLAS] The best latency of top 20 is {:.3f} ms".format(best.latency * 1e3)) # evaluate the performance of the default schedule @@ -112,12 +98,9 @@ def conv2d_nhwc_hwio( tvm.nd.array( np.random.uniform(0, 1, [int(i) for i in arg.shape]).astype(arg.dtype), device=arch.device, - ) - ) + )) - timer_cuda_mod = mod_default.time_evaluator( - mod_default.entry_name, arch.device, number=5 - ) + timer_cuda_mod = mod_default.time_evaluator(mod_default.entry_name, arch.device, number=5) t = timer_cuda_mod(*profile_tensors).mean print("Time cost of Dlight default schedule: {:.3f} ms".format(t * 1e3)) @@ -143,10 +126,8 @@ def conv2d_nhwc_hwio( "BitBLAS Default Latency", ] -col_width = ( - max(len(word) for row in [headers] + list(profile_config.values()) for word in row) - + 2 -) # padding +col_width = (max(len(word) for row in [headers] + list(profile_config.values()) for word in row) + 2 + ) # padding print("".join(word.ljust(col_width) for word in headers)) diff --git a/benchmark/dsl/matmul.py b/benchmark/dsl/matmul.py index 19a0083b8..85068b1ef 100644 --- a/benchmark/dsl/matmul.py +++ b/benchmark/dsl/matmul.py @@ -1,13 +1,12 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. -import numpy as np + import tvm -from tvm.script import tir as T from bitblas.base.roller.policy import TensorCorePolicy, DefaultPolicy from bitblas.base.roller.arch import CUDA from bitblas.gpu.matmul_analysis import get_tensorized_func_and_tags from bitblas.gpu import Matmul -from bitblas.utils import get_target_from_env +from bitblas.utils import auto_detect_nvidia_target from bitblas.base.utils import apply_and_build from bitblas.ops.impl.matmul_impl import ( matmul_nn, @@ -16,7 +15,6 @@ ) import time - # fmt:off test_shapes = [ # (prim_func, input_args, default_dlight_schedule), @@ -29,10 +27,10 @@ (matmul_nn, (8192, 8192, 8192, "float16", "float16"), Matmul), (matmul_nn, (16384, 16384, 16384, "float16", "float16"), Matmul), (matmul_nt, (1024, 1024, 1024, "float32", "float32"), Matmul), - (matmul_nt_propagate_a_propagate_b, (16384, 16384, 16384, "float16", "float16", "float16"), Matmul), + (matmul_nt_propagate_a_propagate_b, (16384, 16384, 16384, "float16", "float16", "float16"), + Matmul), ] - llm_shapes = [ # square test (matmul_nt_propagate_a_propagate_b, (16384, 16384, 16384, "float16", "float16"), Matmul), @@ -51,7 +49,7 @@ (matmul_nt_propagate_a_propagate_b, (8192, 8192, 8192, "float16", "float16"), Matmul), (matmul_nt_propagate_a_propagate_b, (8192, 28672, 8192, "float16", "float16"), Matmul), (matmul_nt_propagate_a_propagate_b, (8192, 8192, 28672, "float16", "float16"), Matmul), - + # square test (matmul_nt_propagate_a_propagate_b, (16384, 16384, 16384, "int8", "int8", "int32"), Matmul), # BLOOM-176B @@ -76,7 +74,7 @@ # fmt:on -target = tvm.target.Target(get_target_from_env()) +target = tvm.target.Target(auto_detect_nvidia_target()) benchmark_results = {} for get_prim_func, input_args, d_schedule in benchmark_sets: @@ -86,7 +84,7 @@ policy = DefaultPolicy(func=func, arch=arch) try: tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) - except: + except Exception: tags = None if tags: policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) @@ -96,14 +94,8 @@ tune_start = time.time() cpresults, best = apply_and_build(func, configs, arch, parallel_build=False) fast_tune_time = time.time() - tune_start - print( - "[BitBLAS] The best latency of top 1 is {:.3f} ms".format( - cpresults[0].latency * 1e3 - ) - ) - print( - "[BitBLAS] The best latency of top 20 is {:.3f} ms".format(best.latency * 1e3) - ) + print("[BitBLAS] The best latency of top 1 is {:.3f} ms".format(cpresults[0].latency * 1e3)) + print("[BitBLAS] The best latency of top 20 is {:.3f} ms".format(best.latency * 1e3)) # evaluate the performance of the default schedule @@ -118,9 +110,7 @@ profile_tensors = best.profile_tensors - timer_cuda_mod = mod_default.time_evaluator( - mod_default.entry_name, arch.device, number=5 - ) + timer_cuda_mod = mod_default.time_evaluator(mod_default.entry_name, arch.device, number=5) t = timer_cuda_mod(*profile_tensors).mean print("Time cost of Dlight default schedule: {:.3f} ms".format(t * 1e3)) @@ -147,10 +137,8 @@ "DefaultDLight Latency", ] -col_width = ( - max(len(word) for row in [headers] + list(profile_config.values()) for word in row) - + 2 -) # padding +col_width = (max(len(word) for row in [headers] + list(profile_config.values()) for word in row) + 2 + ) # padding print("".join(word.ljust(col_width) for word in headers)) diff --git a/benchmark/dsl/matmul_dequantize_af.py b/benchmark/dsl/matmul_dequantize_af.py new file mode 100644 index 000000000..e370de3c0 --- /dev/null +++ b/benchmark/dsl/matmul_dequantize_af.py @@ -0,0 +1,228 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +import tvm +import bitblas +from bitblas.base.roller.policy import TensorCorePolicy, DefaultPolicy +from bitblas.base.roller.arch import CUDA +from bitblas.gpu.matmul_analysis import get_tensorized_func_and_tags +from bitblas.gpu import Matmul +from bitblas.utils import auto_detect_nvidia_target +from bitblas.base.utils import apply_and_build +from bitblas.ops.impl.matmul_dequantize_impl import ( + matmul_nt_dequantize_b, + matmul_nt_dequantize_b_propagate_a_propagate_b, +) +import time +import argparse + +parser = argparse.ArgumentParser(description="Benchmark BitBLAS int4 on a specific target.") +parser.add_argument( + "--target", + type=str, + default=auto_detect_nvidia_target(), +) +parser.add_argument( + "--batch_seq", + type=int, + default=1, + help="The batch size of the sequence", +) +parser.add_argument( + "--group_size", + type=int, + default=-1, + help="The group size of the sequence", +) +parser.add_argument( + "--benchmark_sets", + nargs="+", + default=["llm_shape_fp16xnf4"], + help="List of benchmark sets, e.g., llm_shape_fp16xnf4", +) + +args = parser.parse_args() +group_size = args.group_size + +# fmt:off +llm_shape_fp16xnf4 = [ + # square test + (matmul_nt_dequantize_b, (1, 16384, 16384, "float16", "float16", "float16", 4, "int8", "nf", + True, False, group_size, False, False), Matmul), + # BLOOM-176B + (matmul_nt_dequantize_b, (1, 43008, 14336, "float16", "float16", "float16", 4, "int8", "nf", + True, False, group_size, False, False), Matmul), + (matmul_nt_dequantize_b, (1, 14336, 14336, "float16", "float16", "float16", 4, "int8", "nf", + True, False, group_size, False, False), Matmul), + (matmul_nt_dequantize_b, (1, 57344, 14336, "float16", "float16", "float16", 4, "int8", "nf", + True, False, group_size, False, False), Matmul), + (matmul_nt_dequantize_b, (1, 14336, 57344, "float16", "float16", "float16", 4, "int8", "nf", + True, False, group_size, False, False), Matmul), + # # OPT-65B + (matmul_nt_dequantize_b, (1, 9216, 9216, "float16", "float16", "float16", 4, "int8", "nf", True, + False, group_size, False, False), Matmul), + (matmul_nt_dequantize_b, (1, 36864, 9216, "float16", "float16", "float16", 4, "int8", "nf", + True, False, group_size, False, False), Matmul), + (matmul_nt_dequantize_b, (1, 9216, 36864, "float16", "float16", "float16", 4, "int8", "nf", + True, False, group_size, False, False), Matmul), + (matmul_nt_dequantize_b, (1, 22016, 8192, "float16", "float16", "float16", 4, "int8", "nf", + True, False, group_size, False, False), Matmul), + # LLAMA-70B/65B + (matmul_nt_dequantize_b, (1, 8192, 22016, "float16", "float16", "float16", 4, "int8", "nf", + True, False, group_size, False, False), Matmul), + (matmul_nt_dequantize_b, (1, 8192, 8192, "float16", "float16", "float16", 4, "int8", "nf", True, + False, group_size, False, False), Matmul), + (matmul_nt_dequantize_b, (1, 28672, 8192, "float16", "float16", "float16", 4, "int8", "nf", + True, False, group_size, False, False), Matmul), + (matmul_nt_dequantize_b, (1, 8192, 28672, "float16", "float16", "float16", 4, "int8", "nf", + True, False, group_size, False, False), Matmul), + + # square test + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (16384, 16384, 16384, "float16", "float16", "float16", 4, "int8", "nf", True, False, + group_size, False, False), Matmul), + # BLOOM-176B + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 43008, 14336, "float16", "float16", "float16", 4, "int8", "nf", True, False, group_size, + False, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 14336, 14336, "float16", "float16", "float16", 4, "int8", "nf", True, False, group_size, + False, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 57344, 14336, "float16", "float16", "float16", 4, "int8", "nf", True, False, group_size, + False, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 14336, 57344, "float16", "float16", "float16", 4, "int8", "nf", True, False, group_size, + False, False), Matmul), + # OPT-65B + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 9216, 9216, "float16", "float16", "float16", 4, "int8", "nf", True, False, group_size, + False, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 36864, 9216, "float16", "float16", "float16", 4, "int8", "nf", True, False, group_size, + False, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 9216, 36864, "float16", "float16", "float16", 4, "int8", "nf", True, False, group_size, + False, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 22016, 8192, "float16", "float16", "float16", 4, "int8", "nf", True, False, group_size, + False, False), Matmul), + # LLAMA-70B/65B + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 8192, 22016, "float16", "float16", "float16", 4, "int8", "nf", True, False, group_size, + False, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 8192, 8192, "float16", "float16", "float16", 4, "int8", "nf", True, False, group_size, + False, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 28672, 8192, "float16", "float16", "float16", 4, "int8", "nf", True, False, group_size, + False, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 8192, 28672, "float16", "float16", "float16", 4, "int8", "nf", True, False, group_size, + False, False), Matmul), +] + +target = tvm.target.Target(args.target) +benchmark_sets = [] +for benchmark_set in args.benchmark_sets: + benchmark_sets.extend(eval(benchmark_set)) +benchmark_results = {} +# fmt:on + +target = tvm.target.Target(auto_detect_nvidia_target()) + +benchmark_results = {} +for get_prim_func, input_args, d_schedule in benchmark_sets: + ir_module = get_prim_func(*input_args) + func = ir_module["main"] + arch = CUDA(target) + policy = DefaultPolicy(func=func, arch=arch) + try: + tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) + except Exception: + tags = None + if tags: + policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) + + configs = policy.emit_config(20) + + tune_start = time.time() + cpresults, best = apply_and_build(func, configs, arch, parallel_build=True) + fast_tune_time = time.time() - tune_start + print("[BitBLAS] The best latency of top 1 is {:.3f} ms".format(cpresults[0].latency)) + print("[BitBLAS] The best latency of top 20 is {:.3f} ms".format(best.latency)) + + # evaluate the performance of the default schedule + + rule = d_schedule() + default_tune_start = time.time() + with arch.target: + mod = bitblas.ApplyDefaultSchedule( # pylint: disable=not-callable + bitblas.gpu.Matmul(), + bitblas.gpu.GEMV(), + bitblas.gpu.Reduction(), + bitblas.gpu.GeneralReduction(), + bitblas.gpu.Fallback(), + )( + ir_module) + try: + with tvm.transform.PassContext(config={"tir.use_async_copy": True}): + mod_default = tvm.build(mod, target="cuda") + except Exception: + mod_default = None + + default_tune_time = time.time() - default_tune_start + + args = func.buffer_map.values() + + profile_tensors = best.profile_tensors + if mod_default is not None: + timer_cuda_mod = mod_default.time_evaluator(mod_default.entry_name, arch.device, number=5) + t = timer_cuda_mod(*profile_tensors).mean + else: + t = 1e4 - 1 + + print("Time cost of Dlight default schedule: {:.3f} ms".format(t * 1e3)) + + profile_config = { + f"{get_prim_func.__name__}-{'-'.join([str(i) for i in input_args])}": { + "fast_dlight_top20_tune_time": fast_tune_time, + "fast_dlight_top1_latency": cpresults[0].latency, + "fast_dlight_top20_latency": best.latency, + "default_dlight_tune_time": default_tune_time, + "default_dlight_latency": t * 1e3 if t is not None else "Failed", + } + } + + benchmark_results.update(profile_config) + +headers = [ + "PrimFunc", + "Input Arguments", + "BitBLAS Top20 Tune Time", + "BitBLAS Top1 Latency", + "BitBLAS Top20 Latency", + "DefaultDLight Tune Time", + "DefaultDLight Latency", +] + +col_width = (max(len(word) for row in [headers] + list(profile_config.values()) for word in row) + 2 + ) # padding + +print("".join(word.ljust(col_width) for word in headers)) + +print("-" * col_width * len(headers)) + +for config, values in benchmark_results.items(): + args = config.split("-") + func_name = args[0] + input_args = "-".join(args[1:]) + row = [ + func_name, + input_args, + f" {str(values['fast_dlight_top20_tune_time'])} s", + f"{values['fast_dlight_top1_latency']:.3f} ms", + f"{values['fast_dlight_top20_latency']:.3f} ms", + str(values["default_dlight_tune_time"]), + f"{values['default_dlight_latency']:.3e} ms", + ] + print("".join(word.ljust(col_width) for word in row)) diff --git a/benchmark/dsl/matmul_dequantize_fp.py b/benchmark/dsl/matmul_dequantize_fp.py new file mode 100644 index 000000000..66774aafa --- /dev/null +++ b/benchmark/dsl/matmul_dequantize_fp.py @@ -0,0 +1,227 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +import tvm +import bitblas +from bitblas.base.roller.policy import TensorCorePolicy, DefaultPolicy +from bitblas.base.roller.arch import CUDA +from bitblas.gpu.matmul_analysis import get_tensorized_func_and_tags +from bitblas.gpu import Matmul +from bitblas.utils import auto_detect_nvidia_target +from bitblas.base.utils import apply_and_build +from bitblas.ops.impl.matmul_dequantize_impl import ( + matmul_nt_dequantize_b, + matmul_nt_dequantize_b_propagate_a_propagate_b, +) +import time +import argparse + +parser = argparse.ArgumentParser(description="Benchmark BitBLAS int4 on a specific target.") +parser.add_argument( + "--target", + type=str, + default=auto_detect_nvidia_target(), +) +parser.add_argument( + "--batch_seq", + type=int, + default=1, + help="The batch size of the sequence", +) +parser.add_argument( + "--group_size", + type=int, + default=-1, + help="The group size of the sequence", +) +parser.add_argument( + "--benchmark_sets", + nargs="+", + default=["llm_shape_fp16xfp4"], + help="List of benchmark sets, e.g., llm_shape_fp16xnf4", +) + +args = parser.parse_args() +group_size = args.group_size + +# fmt:off +llm_shape_fp16xfp4 = [ + # square test + (matmul_nt_dequantize_b, (1, 16384, 16384, "float16", "float16", "float16", 4, "uint32", "fp", + True, False, -1, False, False), Matmul), + # BLOOM-176B + (matmul_nt_dequantize_b, (1, 43008, 14336, "float16", "float16", "float16", 4, "uint32", "fp", + True, False, group_size, False, False), Matmul), + (matmul_nt_dequantize_b, (1, 14336, 14336, "float16", "float16", "float16", 4, "uint32", "fp", + True, False, group_size, False, False), Matmul), + (matmul_nt_dequantize_b, (1, 57344, 14336, "float16", "float16", "float16", 4, "uint32", "fp", + True, False, group_size, False, False), Matmul), + (matmul_nt_dequantize_b, (1, 14336, 57344, "float16", "float16", "float16", 4, "uint32", "fp", + True, False, group_size, False, False), Matmul), + # # OPT-65B + (matmul_nt_dequantize_b, (1, 9216, 9216, "float16", "float16", "float16", 4, "uint32", "fp", + True, False, group_size, False, False), Matmul), + (matmul_nt_dequantize_b, (1, 36864, 9216, "float16", "float16", "float16", 4, "uint32", "fp", + True, False, group_size, False, False), Matmul), + (matmul_nt_dequantize_b, (1, 9216, 36864, "float16", "float16", "float16", 4, "uint32", "fp", + True, False, group_size, False, False), Matmul), + (matmul_nt_dequantize_b, (1, 22016, 8192, "float16", "float16", "float16", 4, "uint32", "fp", + True, False, group_size, False, False), Matmul), + # LLAMA-70B/65B + (matmul_nt_dequantize_b, (1, 8192, 22016, "float16", "float16", "float16", 4, "uint32", "fp", + True, False, group_size, False, False), Matmul), + (matmul_nt_dequantize_b, (1, 8192, 8192, "float16", "float16", "float16", 4, "uint32", "fp", + True, False, group_size, False, False), Matmul), + (matmul_nt_dequantize_b, (1, 28672, 8192, "float16", "float16", "float16", 4, "uint32", "fp", + True, False, group_size, False, False), Matmul), + (matmul_nt_dequantize_b, (1, 8192, 28672, "float16", "float16", "float16", 4, "uint32", "fp", + True, False, group_size, False, False), Matmul), + + # square test + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (16384, 16384, 16384, "float16", "float16", "float16", 4, "uint32", "fp", True, False, + group_size, False, False), Matmul), + # BLOOM-176B + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 43008, 14336, "float16", "float16", "float16", 4, "uint32", "fp", True, False, + group_size, False, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 14336, 14336, "float16", "float16", "float16", 4, "uint32", "fp", True, False, + group_size, False, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 57344, 14336, "float16", "float16", "float16", 4, "uint32", "fp", True, False, + group_size, False, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 14336, 57344, "float16", "float16", "float16", 4, "uint32", "fp", True, False, + group_size, False, False), Matmul), + # OPT-65B + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 9216, 9216, "float16", "float16", "float16", 4, "uint32", "fp", True, False, group_size, + False, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 36864, 9216, "float16", "float16", "float16", 4, "uint32", "fp", True, False, + group_size, False, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 9216, 36864, "float16", "float16", "float16", 4, "uint32", "fp", True, False, + group_size, False, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 22016, 8192, "float16", "float16", "float16", 4, "uint32", "fp", True, False, + group_size, False, False), Matmul), + # LLAMA-70B/65B + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 8192, 22016, "float16", "float16", "float16", 4, "uint32", "fp", True, False, + group_size, False, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 8192, 8192, "float16", "float16", "float16", 4, "uint32", "fp", True, False, group_size, + False, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 28672, 8192, "float16", "float16", "float16", 4, "uint32", "fp", True, False, + group_size, False, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 8192, 28672, "float16", "float16", "float16", 4, "uint32", "fp", True, False, + group_size, False, False), Matmul), +] + +target = tvm.target.Target(args.target) +benchmark_sets = [] +for benchmark_set in args.benchmark_sets: + benchmark_sets.extend(eval(benchmark_set)) +benchmark_results = {} +# fmt:on + +target = tvm.target.Target(auto_detect_nvidia_target()) + +benchmark_results = {} +for get_prim_func, input_args, d_schedule in benchmark_sets: + ir_module = get_prim_func(*input_args) + func = ir_module["main"] + arch = CUDA(target) + policy = DefaultPolicy(func=func, arch=arch) + try: + tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) + except Exception: + tags = None + if tags: + policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) + + configs = policy.emit_config(20) + + tune_start = time.time() + cpresults, best = apply_and_build(func, configs, arch, parallel_build=True) + fast_tune_time = time.time() - tune_start + print("[BitBLAS] The best latency of top 1 is {:.3f} ms".format(cpresults[0].latency)) + print("[BitBLAS] The best latency of top 20 is {:.3f} ms".format(best.latency)) + # evaluate the performance of the default schedule + + rule = d_schedule() + default_tune_start = time.time() + with arch.target: + mod = bitblas.ApplyDefaultSchedule( # pylint: disable=not-callable + bitblas.gpu.Matmul(), + bitblas.gpu.GEMV(), + bitblas.gpu.Reduction(), + bitblas.gpu.GeneralReduction(), + bitblas.gpu.Fallback(), + )( + ir_module) + try: + with tvm.transform.PassContext(config={"tir.use_async_copy": True}): + mod_default = tvm.build(mod, target="cuda") + except Exception: + mod_default = None + + default_tune_time = time.time() - default_tune_start + + args = func.buffer_map.values() + + profile_tensors = best.profile_tensors + if mod_default is not None: + timer_cuda_mod = mod_default.time_evaluator(mod_default.entry_name, arch.device, number=5) + t = timer_cuda_mod(*profile_tensors).mean + else: + t = 1e4 - 1 + + print("Time cost of Dlight default schedule: {:.3f} ms".format(t * 1e3)) + + profile_config = { + f"{get_prim_func.__name__}-{'-'.join([str(i) for i in input_args])}": { + "fast_dlight_top20_tune_time": fast_tune_time, + "fast_dlight_top1_latency": cpresults[0].latency, + "fast_dlight_top20_latency": best.latency, + "default_dlight_tune_time": default_tune_time, + "default_dlight_latency": t * 1e3 if t is not None else "Failed", + } + } + + benchmark_results.update(profile_config) + +headers = [ + "PrimFunc", + "Input Arguments", + "BitBLAS Top20 Tune Time", + "BitBLAS Top1 Latency", + "BitBLAS Top20 Latency", + "DefaultDLight Tune Time", + "DefaultDLight Latency", +] + +col_width = (max(len(word) for row in [headers] + list(profile_config.values()) for word in row) + 2 + ) # padding + +print("".join(word.ljust(col_width) for word in headers)) + +print("-" * col_width * len(headers)) + +for config, values in benchmark_results.items(): + args = config.split("-") + func_name = args[0] + input_args = "-".join(args[1:]) + row = [ + func_name, + input_args, + f" {str(values['fast_dlight_top20_tune_time'])} s", + f"{values['fast_dlight_top1_latency']:.3f} ms", + f"{values['fast_dlight_top20_latency']:.3f} ms", + str(values["default_dlight_tune_time"]), + f"{values['default_dlight_latency']:.3e} ms", + ] + print("".join(word.ljust(col_width) for word in row)) diff --git a/benchmark/dsl/matmul_dequantize_int1.py b/benchmark/dsl/matmul_dequantize_int1.py new file mode 100644 index 000000000..1f8b1775e --- /dev/null +++ b/benchmark/dsl/matmul_dequantize_int1.py @@ -0,0 +1,230 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +import tvm +import bitblas +from bitblas.base.roller.policy import TensorCorePolicy, DefaultPolicy +from bitblas.base.roller.arch import CUDA +from bitblas.gpu.matmul_analysis import get_tensorized_func_and_tags +from bitblas.gpu import Matmul +from bitblas.utils import auto_detect_nvidia_target +from bitblas.base.utils import apply_and_build +from bitblas.ops.impl.matmul_dequantize_impl import ( + matmul_nt_dequantize_b, + matmul_nt_dequantize_b_propagate_a_propagate_b, +) +import time +import argparse + +# append a parser for the benchmark set + +parser = argparse.ArgumentParser(description="Benchmark BitBLAS int8xint1 on a specific target.") +parser.add_argument( + "--target", + type=str, + default=auto_detect_nvidia_target(), +) +parser.add_argument( + "--batch_seq", + type=int, + default=1, + help="The batch size of the sequence", +) +parser.add_argument( + "--group_size", + type=int, + default=-1, + help="The group size of the sequence", +) +parser.add_argument( + "--benchmark_sets", + nargs="+", + default=["llm_int8xint1"], + help="List of benchmark sets, e.g., llm_int8xint1_bs4096", +) + +args = parser.parse_args() +batch_seq = args.batch_seq +group_size = args.group_size + +# fmt:off + +llm_int8xint1 = [ + # square test + (matmul_nt_dequantize_b, (1, 16384, 16384, "int8", "int8", "int32", 1, "int8", "uint", False, + False, group_size, True, False), Matmul), + # BLOOM-176B + (matmul_nt_dequantize_b, (1, 43008, 14336, "int8", "int8", "int32", 1, "int8", "uint", False, + False, group_size, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 14336, 14336, "int8", "int8", "int32", 1, "int8", "uint", False, + False, group_size, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 57344, 14336, "int8", "int8", "int32", 1, "int8", "uint", False, + False, group_size, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 14336, 57344, "int8", "int8", "int32", 1, "int8", "uint", False, + False, group_size, True, False), Matmul), + # # OPT-65B + (matmul_nt_dequantize_b, (1, 9216, 9216, "int8", "int8", "int32", 1, "int8", "uint", False, + False, group_size, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 36864, 9216, "int8", "int8", "int32", 1, "int8", "uint", False, + False, group_size, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 9216, 36864, "int8", "int8", "int32", 1, "int8", "uint", False, + False, group_size, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 22016, 8192, "int8", "int8", "int32", 1, "int8", "uint", False, + False, group_size, True, False), Matmul), + # LLAMA-70B/65B + (matmul_nt_dequantize_b, (1, 8192, 22016, "int8", "int8", "int32", 1, "int8", "uint", False, + False, group_size, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 8192, 8192, "int8", "int8", "int32", 1, "int8", "uint", False, + False, group_size, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 28672, 8192, "int8", "int8", "int32", 1, "int8", "uint", False, + False, group_size, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 8192, 28672, "int8", "int8", "int32", 1, "int8", "uint", False, + False, group_size, True, False), Matmul), + + # square test + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (16384, 16384, 16384, "int8", "int8", "int32", 1, "int8", "uint", False, False, group_size, + True, False), Matmul), + # BLOOM-176B + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 43008, 14336, "int8", "int8", "int32", 1, "int8", "uint", False, False, group_size, + True, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 14336, 14336, "int8", "int8", "int32", 1, "int8", "uint", False, False, group_size, + True, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 57344, 14336, "int8", "int8", "int32", 1, "int8", "uint", False, False, group_size, + True, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 14336, 57344, "int8", "int8", "int32", 1, "int8", "uint", False, False, group_size, + True, False), Matmul), + # OPT-65B + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 9216, 9216, "int8", "int8", "int32", 1, "int8", "uint", False, False, group_size, True, + False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 36864, 9216, "int8", "int8", "int32", 1, "int8", "uint", False, False, group_size, True, + False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 9216, 36864, "int8", "int8", "int32", 1, "int8", "uint", False, False, group_size, True, + False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 22016, 8192, "int8", "int8", "int32", 1, "int8", "uint", False, False, group_size, True, + False), Matmul), + # LLAMA-70B/65B + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 8192, 22016, "int8", "int8", "int32", 1, "int8", "uint", False, False, group_size, True, + False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 8192, 8192, "int8", "int8", "int32", 1, "int8", "uint", False, False, group_size, True, + False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 28672, 8192, "int8", "int8", "int32", 1, "int8", "uint", False, False, group_size, True, + False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 8192, 28672, "int8", "int8", "int32", 1, "int8", "uint", False, False, group_size, True, + False), Matmul), +] + +# fmt:on + +target = tvm.target.Target(args.target) +benchmark_sets = [] +for benchmark_set in args.benchmark_sets: + benchmark_sets.extend(eval(benchmark_set)) + +benchmark_results = {} +for get_prim_func, input_args, d_schedule in benchmark_sets: + ir_module = get_prim_func(*input_args) + func = ir_module["main"] + arch = CUDA(target) + policy = DefaultPolicy(func=func, arch=arch) + try: + tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) + except Exception: + tags = None + if tags: + policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) + + configs = policy.emit_config(20) + + tune_start = time.time() + cpresults, best = apply_and_build(func, configs, arch, parallel_build=True) + fast_tune_time = time.time() - tune_start + print("[BitBLAS] The best latency of top 1 is {:.3f} ms".format(cpresults[0].latency)) + print("[BitBLAS] The best latency of top 20 is {:.3f} ms".format(best.latency)) + + # evaluate the performance of the default schedule + + rule = d_schedule() + default_tune_start = time.time() + with arch.target: + mod = bitblas.ApplyDefaultSchedule( # pylint: disable=not-callable + bitblas.gpu.Matmul(), + bitblas.gpu.GEMV(), + bitblas.gpu.Reduction(), + bitblas.gpu.GeneralReduction(), + bitblas.gpu.Fallback(), + )( + ir_module) + try: + with tvm.transform.PassContext(config={"tir.use_async_copy": True}): + mod_default = tvm.build(mod, target="cuda") + except Exception: + mod_default = None + + default_tune_time = time.time() - default_tune_start + + args = func.buffer_map.values() + + profile_tensors = best.profile_tensors + if mod_default is not None: + timer_cuda_mod = mod_default.time_evaluator(mod_default.entry_name, arch.device, number=5) + t = timer_cuda_mod(*profile_tensors).mean + else: + t = 1e4 - 1 + + print("Time cost of Dlight default schedule: {:.3f} ms".format(t * 1e3)) + + profile_config = { + f"{get_prim_func.__name__}-{'-'.join([str(i) for i in input_args])}": { + "fast_dlight_top20_tune_time": fast_tune_time, + "fast_dlight_top1_latency": cpresults[0].latency, + "fast_dlight_top20_latency": best.latency, + "default_dlight_tune_time": default_tune_time, + "default_dlight_latency": t * 1e3 if t is not None else "Failed", + } + } + + benchmark_results.update(profile_config) + +headers = [ + "PrimFunc", + "Input Arguments", + "BitBLAS Top20 Tune Time", + "BitBLAS Top1 Latency", + "BitBLAS Top20 Latency", + "DefaultDLight Tune Time", + "DefaultDLight Latency", +] + +col_width = (max(len(word) for row in [headers] + list(profile_config.values()) for word in row) + 2 + ) # padding + +print("".join(word.ljust(col_width) for word in headers)) + +print("-" * col_width * len(headers)) + +for config, values in benchmark_results.items(): + args = config.split("-") + func_name = args[0] + input_args = "-".join(args[1:]) + row = [ + func_name, + input_args, + f" {str(values['fast_dlight_top20_tune_time'])} s", + f"{values['fast_dlight_top1_latency']:.3f} ms", + f"{values['fast_dlight_top20_latency']:.3f} ms", + str(values["default_dlight_tune_time"]), + f"{values['default_dlight_latency']:.3e} ms", + ] + print("".join(word.ljust(col_width) for word in row)) diff --git a/benchmark/dsl/matmul_dequantize_int4.py b/benchmark/dsl/matmul_dequantize_int4.py new file mode 100644 index 000000000..7eb6cf8dd --- /dev/null +++ b/benchmark/dsl/matmul_dequantize_int4.py @@ -0,0 +1,297 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +import tvm +import bitblas +from bitblas.base.roller.policy import TensorCorePolicy, DefaultPolicy +from bitblas.base.roller.arch import CUDA +from bitblas.gpu.matmul_analysis import get_tensorized_func_and_tags +from bitblas.gpu import Matmul +from bitblas.utils import auto_detect_nvidia_target +from bitblas.base.utils import apply_and_build +from bitblas.ops.impl.matmul_dequantize_impl import ( + matmul_nt_dequantize_b, + matmul_nt_dequantize_b_propagate_a_propagate_b, +) +import time +import argparse + +parser = argparse.ArgumentParser(description="Benchmark BitBLAS int4 on a specific target.") +parser.add_argument( + "--target", + type=str, + default=auto_detect_nvidia_target(), +) +parser.add_argument( + "--group_size", + type=int, + default=-1, + help="The group size of the sequence", +) +parser.add_argument( + "--benchmark_sets", + nargs="+", + default=["llm_shape_fp16xint4"], + help="List of benchmark sets, e.g., llm_int8xint1_bs4096", +) + +args = parser.parse_args() +group_size = args.group_size + +# fmt:off +llm_shape_fp16xint4 = [ + # square test + (matmul_nt_dequantize_b, (1, 16384, 16384, "float16", "float16", "float16", 4, "int8", "int", + True, False, group_size, True, False), Matmul), + # BLOOM-176B + (matmul_nt_dequantize_b, (1, 43008, 14336, "float16", "float16", "float16", 4, "int8", "int", + True, False, group_size, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 14336, 14336, "float16", "float16", "float16", 4, "int8", "int", + True, False, group_size, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 57344, 14336, "float16", "float16", "float16", 4, "int8", "int", + True, False, group_size, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 14336, 57344, "float16", "float16", "float16", 4, "int8", "int", + True, False, group_size, True, False), Matmul), + # # OPT-65B + (matmul_nt_dequantize_b, (1, 9216, 9216, "float16", "float16", "float16", 4, "int8", "int", + True, False, group_size, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 36864, 9216, "float16", "float16", "float16", 4, "int8", "int", + True, False, group_size, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 9216, 36864, "float16", "float16", "float16", 4, "int8", "int", + True, False, group_size, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 22016, 8192, "float16", "float16", "float16", 4, "int8", "int", + True, False, group_size, True, False), Matmul), + # LLAMA-70B/65B + (matmul_nt_dequantize_b, (1, 8192, 22016, "float16", "float16", "float16", 4, "int8", "int", + True, False, group_size, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 8192, 8192, "float16", "float16", "float16", 4, "int8", "int", + True, False, group_size, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 28672, 8192, "float16", "float16", "float16", 4, "int8", "int", + True, False, group_size, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 8192, 28672, "float16", "float16", "float16", 4, "int8", "int", + True, False, group_size, True, False), Matmul), + + # square test + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (16384, 16384, 16384, "float16", "float16", "float16", 4, "int8", "int", True, False, + group_size, True, False), Matmul), + # BLOOM-176B + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 43008, 14336, "float16", "float16", "float16", 4, "int8", "int", True, False, + group_size, True, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 14336, 14336, "float16", "float16", "float16", 4, "int8", "int", True, False, + group_size, True, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 57344, 14336, "float16", "float16", "float16", 4, "int8", "int", True, False, + group_size, True, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 14336, 57344, "float16", "float16", "float16", 4, "int8", "int", True, False, + group_size, True, False), Matmul), + # OPT-65B + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 9216, 9216, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, + True, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 36864, 9216, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, + True, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 9216, 36864, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, + True, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 22016, 8192, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, + True, False), Matmul), + # LLAMA-70B/65B + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 8192, 22016, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, + True, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 8192, 8192, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, + True, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 28672, 8192, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, + True, False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 8192, 28672, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, + True, False), Matmul), +] + +llm_shape_int8xint4 = [ + # square test + (matmul_nt_dequantize_b, (1, 16384, 16384, "int8", "int8", "int32", 2, "int8", "uint", False, + False, -1, True, False), Matmul), + # BLOOM-176B + (matmul_nt_dequantize_b, (1, 43008, 14336, "int8", "int8", "int32", 2, "int8", "uint", False, + False, -1, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 14336, 14336, "int8", "int8", "int32", 2, "int8", "uint", False, + False, -1, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 57344, 14336, "int8", "int8", "int32", 2, "int8", "uint", False, + False, -1, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 14336, 57344, "int8", "int8", "int32", 2, "int8", "uint", False, + False, -1, True, False), Matmul), + # # OPT-65B + (matmul_nt_dequantize_b, (1, 9216, 9216, "int8", "int8", "int32", 2, "int8", "uint", False, + False, -1, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 36864, 9216, "int8", "int8", "int32", 2, "int8", "uint", False, + False, -1, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 9216, 36864, "int8", "int8", "int32", 2, "int8", "uint", False, + False, -1, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 22016, 8192, "int8", "int8", "int32", 2, "int8", "uint", False, + False, -1, True, False), Matmul), + # LLAMA-70B/65B + (matmul_nt_dequantize_b, (1, 8192, 22016, "int8", "int8", "int32", 2, "int8", "uint", False, + False, -1, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 8192, 8192, "int8", "int8", "int32", 2, "int8", "uint", False, + False, -1, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 28672, 8192, "int8", "int8", "int32", 2, "int8", "uint", False, + False, -1, True, False), Matmul), + (matmul_nt_dequantize_b, (1, 8192, 28672, "int8", "int8", "int32", 2, "int8", "uint", False, + False, -1, True, False), Matmul), + + # square test + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (16384, 16384, 16384, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, + False), Matmul), + # BLOOM-176B + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 43008, 14336, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, + False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 14336, 14336, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, + False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 57344, 14336, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, + False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 14336, 57344, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, + False), Matmul), + # # OPT-65B + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 9216, 9216, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, + False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 36864, 9216, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, + False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 9216, 36864, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, + False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 22016, 8192, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, + False), Matmul), + # LLAMA-70B/65B + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 8192, 22016, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, + False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 8192, 8192, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, + False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 28672, 8192, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, + False), Matmul), + (matmul_nt_dequantize_b_propagate_a_propagate_b, + (8192, 8192, 28672, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, + False), Matmul), +] + +# fmt:on + +target = tvm.target.Target(args.target) +benchmark_sets = [] +for benchmark_set in args.benchmark_sets: + benchmark_sets.extend(eval(benchmark_set)) +benchmark_results = {} + +for get_prim_func, input_args, d_schedule in benchmark_sets: + ir_module = get_prim_func(*input_args) + func = ir_module["main"] + arch = CUDA(target) + policy = DefaultPolicy(func=func, arch=arch) + try: + tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) + except Exception: + tags = None + if tags: + policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) + + configs = policy.emit_config(20) + + tune_start = time.time() + cpresults, best = apply_and_build(func, configs, arch, parallel_build=True) + fast_tune_time = time.time() - tune_start + print("[BitBLAS] The best latency of top 1 is {:.3f} ms".format(cpresults[0].latency)) + print("[BitBLAS] The best latency of top 20 is {:.3f} ms".format(best.latency)) + + # evaluate the performance of the default schedule + + rule = d_schedule() + default_tune_start = time.time() + with arch.target: + mod = bitblas.ApplyDefaultSchedule( # pylint: disable=not-callable + bitblas.gpu.Matmul(), + bitblas.gpu.GEMV(), + bitblas.gpu.Reduction(), + bitblas.gpu.GeneralReduction(), + bitblas.gpu.Fallback(), + )( + ir_module) + try: + with tvm.transform.PassContext(config={"tir.use_async_copy": True}): + mod_default = tvm.build(mod, target="cuda") + except Exception: + mod_default = None + + default_tune_time = time.time() - default_tune_start + + args = func.buffer_map.values() + + profile_tensors = best.profile_tensors + if mod_default is not None: + timer_cuda_mod = mod_default.time_evaluator(mod_default.entry_name, arch.device, number=5) + t = timer_cuda_mod(*profile_tensors).mean + else: + t = 1e4 - 1 + + print("Time cost of Dlight default schedule: {:.3f} ms".format(t * 1e3)) + + profile_config = { + f"{get_prim_func.__name__}-{'-'.join([str(i) for i in input_args])}": { + "fast_dlight_top20_tune_time": fast_tune_time, + "fast_dlight_top1_latency": cpresults[0].latency, + "fast_dlight_top20_latency": best.latency, + "default_dlight_tune_time": default_tune_time, + "default_dlight_latency": t * 1e3 if t is not None else "Failed", + } + } + + benchmark_results.update(profile_config) + +headers = [ + "PrimFunc", + "Input Arguments", + "BitBLAS Top20 Tune Time", + "BitBLAS Top1 Latency", + "BitBLAS Top20 Latency", + "DefaultDLight Tune Time", + "DefaultDLight Latency", +] + +col_width = (max(len(word) for row in [headers] + list(profile_config.values()) for word in row) + 2 + ) # padding + +print("".join(word.ljust(col_width) for word in headers)) + +print("-" * col_width * len(headers)) + +for config, values in benchmark_results.items(): + args = config.split("-") + func_name = args[0] + input_args = "-".join(args[1:]) + row = [ + func_name, + input_args, + f" {str(values['fast_dlight_top20_tune_time'])} s", + f"{values['fast_dlight_top1_latency']:.3f} ms", + f"{values['fast_dlight_top20_latency']:.3f} ms", + str(values["default_dlight_tune_time"]), + f"{values['default_dlight_latency']:.3e} ms", + ] + print("".join(word.ljust(col_width) for word in row)) diff --git a/benchmark/dsl/weight_propagate.py b/benchmark/dsl/weight_propagate.py new file mode 100644 index 000000000..e69310af9 --- /dev/null +++ b/benchmark/dsl/weight_propagate.py @@ -0,0 +1,559 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +import tvm +import bitblas +from bitblas.base.roller.policy import TensorCorePolicy, DefaultPolicy +from bitblas.base.roller.arch import CUDA +from bitblas.gpu.matmul_analysis import get_tensorized_func_and_tags +from bitblas.gpu import Matmul +from bitblas.utils import auto_detect_nvidia_target +from bitblas.base.utils import apply_and_build +from bitblas.ops.impl.matmul_impl import ( + matmul_nt, + matmul_nt_propagate_b, + matmul_nt_propagate_a_propagate_b, +) +from bitblas.ops.impl.matmul_dequantize_impl import ( + matmul_nt_dequantize_b, + matmul_nt_dequantize_b_propagate_b, +) +import time +import argparse + +bitblas.set_log_level("DEBUG") +parser = argparse.ArgumentParser(description="Benchmark BitBLAS int4 on a specific target.") +parser.add_argument( + "--target", + type=str, + default=auto_detect_nvidia_target(), +) +parser.add_argument( + "--group_size", + type=int, + default=-1, + help="The group size of the sequence", +) +parser.add_argument( + "--benchmark_sets", + nargs="+", + default=[ + "llm_shape_fp16xint4_with_scaling_zeros_original_g128", + "llm_shape_fp16xint4_with_scaling_zeros_rescale_g128", + "llm_shape_fp16xint4_with_scaling_zeros_quantized_g128" + ], + help="List of benchmark sets, e.g., llm_int8xint1_bs4096", +) + +args = parser.parse_args() +group_size = args.group_size + +llm_shape_fp16xfp16 = [ + (matmul_nt, (1, 16384, 16384, "float16", "float16", "float16"), Matmul), + (matmul_nt, (16, 16384, 16384, "float16", "float16", "float16"), Matmul), + (matmul_nt, (32, 16384, 16384, "float16", "float16", "float16"), Matmul), + (matmul_nt, (64, 16384, 16384, "float16", "float16", "float16"), Matmul), + (matmul_nt, (128, 16384, 16384, "float16", "float16", "float16"), Matmul), + (matmul_nt, (256, 16384, 16384, "float16", "float16", "float16"), Matmul), + (matmul_nt, (512, 16384, 16384, "float16", "float16", "float16"), Matmul), + (matmul_nt, (16384, 16384, 16384, "float16", "float16", "float16"), Matmul), + (matmul_nt_propagate_b, (1, 16384, 16384, "float16", "float16", "float16"), Matmul), + (matmul_nt_propagate_b, (16, 16384, 16384, "float16", "float16", "float16"), Matmul), + (matmul_nt_propagate_b, (32, 16384, 16384, "float16", "float16", "float16"), Matmul), + (matmul_nt_propagate_b, (64, 16384, 16384, "float16", "float16", "float16"), Matmul), + (matmul_nt_propagate_b, (128, 16384, 16384, "float16", "float16", "float16"), Matmul), + (matmul_nt_propagate_b, (256, 16384, 16384, "float16", "float16", "float16"), Matmul), + (matmul_nt_propagate_b, (512, 16384, 16384, "float16", "float16", "float16"), Matmul), + (matmul_nt_propagate_b, (16384, 16384, 16384, "float16", "float16", "float16"), Matmul), + (matmul_nt_propagate_a_propagate_b, (16, 16384, 16384, "float16", "float16", "float16"), + Matmul), + (matmul_nt_propagate_a_propagate_b, (32, 16384, 16384, "float16", "float16", "float16"), + Matmul), + (matmul_nt_propagate_a_propagate_b, (64, 16384, 16384, "float16", "float16", "float16"), + Matmul), + (matmul_nt_propagate_a_propagate_b, (128, 16384, 16384, "float16", "float16", "float16"), + Matmul), + (matmul_nt_propagate_a_propagate_b, (256, 16384, 16384, "float16", "float16", "float16"), + Matmul), + (matmul_nt_propagate_a_propagate_b, (512, 16384, 16384, "float16", "float16", "float16"), + Matmul), + (matmul_nt_propagate_a_propagate_b, (16384, 16384, 16384, "float16", "float16", "float16"), + Matmul), +] + +group_size = 128 +with_scaling = False +with_zeros = False +zeros_mode = "original" +# fmt:off +llm_shape_fp16xint4 = [ + (matmul_nt_dequantize_b, (1, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (16, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (32, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (64, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (128, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (256, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (512, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, + (16384, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, + with_zeros, group_size, True, False, zeros_mode), Matmul), +] + +group_size = 128 +with_scaling = True +with_zeros = False +zeros_mode = "original" +# fmt:off +llm_shape_fp16xint4_with_scaling = [ + (matmul_nt_dequantize_b, (1, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (16, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (32, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (64, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (128, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (256, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (512, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, + (16384, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, + with_zeros, group_size, True, False, zeros_mode), Matmul), +] + +group_size = -1 +with_scaling = True +with_zeros = True +zeros_mode = "original" +# fmt:off +llm_shape_fp16xint4_with_scaling_zeros_original = [ + (matmul_nt_dequantize_b, (1, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (16, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (32, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (64, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (128, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (256, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (512, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, + (16384, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, + with_zeros, group_size, True, False, zeros_mode), Matmul), +] + +group_size = -1 +with_scaling = True +with_zeros = True +zeros_mode = "rescale" +# fmt:off +llm_shape_fp16xint4_with_scaling_zeros_rescale = [ + (matmul_nt_dequantize_b, (1, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (16, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (32, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (64, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (128, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (256, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (512, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, + (16384, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, + with_zeros, group_size, True, False, zeros_mode), Matmul), +] + +group_size = -1 +with_scaling = True +with_zeros = True +zeros_mode = "quantized" +# fmt:off +llm_shape_fp16xint4_with_scaling_zeros_quantized = [ + (matmul_nt_dequantize_b, (1, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (16, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (32, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (64, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (128, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (256, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (512, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, + (16384, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, + with_zeros, group_size, True, False, zeros_mode), Matmul), +] + +group_size = 128 +with_scaling = True +with_zeros = True +zeros_mode = "original" +# fmt:off +llm_shape_fp16xint4_with_scaling_zeros_original_g128 = [ + (matmul_nt_dequantize_b, (1, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (16, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (32, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (64, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (128, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (256, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (512, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, + (16384, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, + with_zeros, group_size, True, False, zeros_mode), Matmul), +] + +group_size = 128 +with_scaling = True +with_zeros = True +zeros_mode = "rescale" +# fmt:off +llm_shape_fp16xint4_with_scaling_zeros_rescale_g128 = [ + (matmul_nt_dequantize_b, (1, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (16, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (32, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (64, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (128, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (256, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (512, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, + (16384, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, + with_zeros, group_size, True, False, zeros_mode), Matmul), +] + +group_size = 128 +with_scaling = True +with_zeros = True +zeros_mode = "quantized" +# fmt:off +llm_shape_fp16xint4_with_scaling_zeros_quantized_g128 = [ + (matmul_nt_dequantize_b, (1, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (16, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (32, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (64, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (128, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (256, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (512, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, + (16384, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, + with_zeros, group_size, True, False, zeros_mode), Matmul), +] + +group_size = 128 +with_scaling = True +with_zeros = True +zeros_mode = "original" +# fmt:off +llm_shape_fp16xint4_with_scaling_zeros = [ + (matmul_nt_dequantize_b, (1, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (16, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (32, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (64, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (128, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (256, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, (512, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + with_scaling, with_zeros, group_size, True, False, zeros_mode), + Matmul), + (matmul_nt_dequantize_b, + (16384, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, + with_zeros, group_size, True, False, zeros_mode), Matmul), +] + +group_size = 128 +with_scaling = False +with_zeros = False +zeros_mode = "original" +llm_shape_fp16xint4_propagate_b = [ + # (matmul_nt_dequantize_b_propagate_b, (1, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + # with_scaling, with_zeros, group_size, True, False, zeros_mode), Matmul), + (matmul_nt_dequantize_b_propagate_b, + (16, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, + with_zeros, group_size, True, False, zeros_mode), Matmul), + # (matmul_nt_dequantize_b_propagate_b, (32, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + # with_scaling, with_zeros, group_size, True, False, zeros_mode), Matmul), + # (matmul_nt_dequantize_b_propagate_b, (64, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + # with_scaling, with_zeros, group_size, True, False, zeros_mode), Matmul), + # (matmul_nt_dequantize_b_propagate_b, (128, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + # with_scaling, with_zeros, group_size, True, False, zeros_mode), Matmul), + # (matmul_nt_dequantize_b_propagate_b, (256, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + # with_scaling, with_zeros, group_size, True, False, zeros_mode), Matmul), + # (matmul_nt_dequantize_b_propagate_b, (512, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + # with_scaling, with_zeros, group_size, True, False, zeros_mode), Matmul), + # (matmul_nt_dequantize_b_propagate_b, (16384, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", + # with_scaling, with_zeros, group_size, True, False, zeros_mode), Matmul), +] + +group_size = 128 +with_scaling = True +with_zeros = False +zeros_mode = "original" +llm_shape_fp16xint4_propagate_b_with_scaling = [ + (matmul_nt_dequantize_b_propagate_b, + (1, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, with_zeros, + group_size, True, False, zeros_mode), Matmul), + (matmul_nt_dequantize_b_propagate_b, + (16, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, + with_zeros, group_size, True, False, zeros_mode), Matmul), + (matmul_nt_dequantize_b_propagate_b, + (32, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, + with_zeros, group_size, True, False, zeros_mode), Matmul), + (matmul_nt_dequantize_b_propagate_b, + (64, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, + with_zeros, group_size, True, False, zeros_mode), Matmul), + (matmul_nt_dequantize_b_propagate_b, + (128, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, + with_zeros, group_size, True, False, zeros_mode), Matmul), + (matmul_nt_dequantize_b_propagate_b, + (256, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, + with_zeros, group_size, True, False, zeros_mode), Matmul), + (matmul_nt_dequantize_b_propagate_b, + (512, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, + with_zeros, group_size, True, False, zeros_mode), Matmul), + (matmul_nt_dequantize_b_propagate_b, + (16384, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, + with_zeros, group_size, True, False, zeros_mode), Matmul), +] + +group_size = 128 +with_scaling = True +with_zeros = True +zeros_mode = "original" +llm_shape_fp16xint4_propagate_b_with_scaling_zeros = [ + (matmul_nt_dequantize_b_propagate_b, + (1, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, with_zeros, + group_size, True, False, zeros_mode), Matmul), + (matmul_nt_dequantize_b_propagate_b, + (16, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, + with_zeros, group_size, True, False, zeros_mode), Matmul), + (matmul_nt_dequantize_b_propagate_b, + (32, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, + with_zeros, group_size, True, False, zeros_mode), Matmul), + (matmul_nt_dequantize_b_propagate_b, + (64, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, + with_zeros, group_size, True, False, zeros_mode), Matmul), + (matmul_nt_dequantize_b_propagate_b, + (128, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, + with_zeros, group_size, True, False, zeros_mode), Matmul), + (matmul_nt_dequantize_b_propagate_b, + (256, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, + with_zeros, group_size, True, False, zeros_mode), Matmul), + (matmul_nt_dequantize_b_propagate_b, + (512, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, + with_zeros, group_size, True, False, zeros_mode), Matmul), + (matmul_nt_dequantize_b_propagate_b, + (16384, 16384, 16384, "float16", "float16", "float16", 4, "int8", "uint", with_scaling, + with_zeros, group_size, True, False, zeros_mode), Matmul), +] + +# fmt:on + +target = tvm.target.Target(args.target) +benchmark_sets = [] +for benchmark_set in args.benchmark_sets: + benchmark_sets.extend(eval(benchmark_set)) +benchmark_results = {} + +for get_prim_func, input_args, d_schedule in benchmark_sets: + ir_module = get_prim_func(*input_args) + func = ir_module["main"] + arch = CUDA(target) + policy = DefaultPolicy(func=func, arch=arch) + try: + tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) + except Exception: + tags = None + if tags: + policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) + + configs = policy.emit_config(20) + tune_start = time.time() + cpresults, best = apply_and_build(func, configs, arch, parallel_build=True) + fast_tune_time = time.time() - tune_start + print(best.code) + print("[BitBLAS] The best latency of top 1 is {:.3f} ms".format(cpresults[0].latency)) + print("[BitBLAS] The best latency of top 20 is {:.3f} ms".format(best.latency)) + + # evaluate the performance of the default schedule + + rule = d_schedule() + default_tune_start = time.time() + with arch.target: + mod = bitblas.ApplyDefaultSchedule( # pylint: disable=not-callable + bitblas.gpu.Matmul(), + bitblas.gpu.GEMV(), + bitblas.gpu.Reduction(), + bitblas.gpu.GeneralReduction(), + bitblas.gpu.Fallback(), + )( + ir_module) + try: + with tvm.transform.PassContext(config={"tir.use_async_copy": True}): + mod_default = tvm.build(mod, target="cuda") + except Exception: + mod_default = None + + default_tune_time = time.time() - default_tune_start + + args = func.buffer_map.values() + + profile_tensors = best.profile_tensors + if mod_default is not None: + timer_cuda_mod = mod_default.time_evaluator(mod_default.entry_name, arch.device, number=5) + t = timer_cuda_mod(*profile_tensors).mean + else: + t = 1e4 - 1 + + print("Time cost of Dlight default schedule: {:.3f} ms".format(t * 1e3)) + + profile_config = { + f"{get_prim_func.__name__}-{'-'.join([str(i) for i in input_args])}": { + "fast_dlight_top20_tune_time": fast_tune_time, + "fast_dlight_top1_latency": cpresults[0].latency, + "fast_dlight_top20_latency": best.latency, + "default_dlight_tune_time": default_tune_time, + "default_dlight_latency": t * 1e3 if t is not None else "Failed", + } + } + + benchmark_results.update(profile_config) + +headers = [ + "PrimFunc", + "Input Arguments", + "BitBLAS Top20 Tune Time", + "BitBLAS Top1 Latency", + "BitBLAS Top20 Latency", + "DefaultDLight Tune Time", + "DefaultDLight Latency", +] + +col_width = (max(len(word) for row in [headers] + list(profile_config.values()) for word in row) + 2 + ) # padding + +print("".join(word.ljust(col_width) for word in headers)) + +print("-" * col_width * len(headers)) + +for config, values in benchmark_results.items(): + args = config.split("-") + func_name = args[0] + input_args = "-".join(args[1:]) + row = [ + func_name, + input_args, + f" {str(values['fast_dlight_top20_tune_time'])} s", + f"{values['fast_dlight_top1_latency']:.3f} ms", + f"{values['fast_dlight_top20_latency']:.3f} ms", + str(values["default_dlight_tune_time"]), + f"{values['default_dlight_latency']:.3e} ms", + ] + print("".join(word.ljust(col_width) for word in row)) diff --git a/benchmark/operators/benchmark_bitblas_matmul.py b/benchmark/operators/benchmark_bitblas_matmul.py new file mode 100644 index 000000000..fb3927bdb --- /dev/null +++ b/benchmark/operators/benchmark_bitblas_matmul.py @@ -0,0 +1,196 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +from bitblas.utils.target_detector import auto_detect_nvidia_target +from bitblas import Matmul, MatmulConfig +import argparse + + +# Initialize the parser +parser = argparse.ArgumentParser( + description="Benchmark BitBLAS int4 on a specific target." +) + +# Add arguments to the parser +parser.add_argument( + "--target", + type=str, + default=auto_detect_nvidia_target(), + help="Specify the target device for benchmarking." +) +parser.add_argument( + "--group_size", + type=int, + default=None, + help="Group size for grouped quantization." +) +parser.add_argument( + "--A_dtype", + type=str, + default="float16", + choices=["float16", "float32", "float64", "int32", "int8"], # Assuming these are the valid choices + help="Data type of activation A." +) +parser.add_argument( + "--W_dtype", + type=str, + default="int4", + choices=["float16", "float32", "float64", "int32", "int8", "int4", "int2", "int1", "nf4", "fp4_e2m1"], # Assuming these are the valid choices + help="Data type of weight W." +) +parser.add_argument( + "--accum_dtype", + type=str, + default="float16", + choices=["float16", "int32"], # Assuming these are the valid choices + help="Data type for accumulation." +) +parser.add_argument( + "--out_dtype", + type=str, + default="float16", + choices=["float16", "float32", "int32", "int8"], # Assuming these are the valid choices + help="Data type for output." +) +parser.add_argument( + "--layout", + type=str, + default="nt", + choices=["nt", "nn"], # Assuming these are the valid choices + help="Matrix layout, 'nt' for non-transpose A and transpose W." +) +parser.add_argument( + "--with_bias", + action="store_true", + help="Include bias in the benchmark." +) +parser.add_argument( + "--with_scaling", + action="store_true", + help="Include scaling factor in the quantization." +) +parser.add_argument( + "--with_zeros", + action="store_true", + help="Include zeros in the quantization." +) +parser.add_argument( + "--zeros_mode", + type=str, + default=None, + choices=["original", "rescale", "quantized"], # Replace with actual modes if applicable + help="Specify the mode for calculating zeros." +) + +# Parse the arguments +args = parser.parse_args() + +# Assign arguments to variables +target = args.target +group_size = args.group_size +A_dtype = args.A_dtype +W_dtype = args.W_dtype +accum_dtype = args.accum_dtype +out_dtype = args.out_dtype +layout = args.layout +with_bias = args.with_bias +group_size = args.group_size +with_scaling = args.with_scaling +with_zeros = args.with_zeros +zeros_mode = args.zeros_mode + +test_shapes = [ + # square test + (MatmulConfig, Matmul, (1, 16384, 16384, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), + # BLOOM-176B + (MatmulConfig, Matmul, (1, 43008, 14336, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), + (MatmulConfig, Matmul, (1, 14336, 14336, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), + (MatmulConfig, Matmul, (1, 57344, 14336, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), + (MatmulConfig, Matmul, (1, 14336, 57344, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), + # # OPT-65B + (MatmulConfig, Matmul, (1, 9216, 9216, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), + (MatmulConfig, Matmul, (1, 36864, 9216, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), + (MatmulConfig, Matmul, (1, 9216, 36864, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), + (MatmulConfig, Matmul, (1, 22016, 8192, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), + # # LLAMA-70B/65B + (MatmulConfig, Matmul, (1, 8192, 22016, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), + (MatmulConfig, Matmul, (1, 8192, 8192, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), + (MatmulConfig, Matmul, (1, 28672, 8192, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), + (MatmulConfig, Matmul, (1, 8192, 28672, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), + + # square test + (MatmulConfig, Matmul, (16384, 16384, 16384, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), + # BLOOM-176B + (MatmulConfig, Matmul, (8192, 43008, 14336, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), + (MatmulConfig, Matmul, (8192, 14336, 14336, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), + (MatmulConfig, Matmul, (8192, 57344, 14336, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), + (MatmulConfig, Matmul, (8192, 14336, 57344, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), + # # OPT-65B + (MatmulConfig, Matmul, (8192, 9216, 9216, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), + (MatmulConfig, Matmul, (8192, 36864, 9216, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), + (MatmulConfig, Matmul, (8192, 9216, 36864, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), + (MatmulConfig, Matmul, (8192, 22016, 8192, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), + # # LLAMA-70B/65B + (MatmulConfig, Matmul, (8192, 8192, 22016, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), + (MatmulConfig, Matmul, (8192, 8192, 8192, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), + (MatmulConfig, Matmul, (8192, 28672, 8192, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), + (MatmulConfig, Matmul, (8192, 8192, 28672, A_dtype, W_dtype, out_dtype, accum_dtype, layout, with_bias, group_size, with_scaling, with_zeros, zeros_mode)), +] + +benchmark_sets = [] +benchmark_sets.extend(test_shapes) + +# fmt:on + +benchmark_results = {} +for config, operator, input_args in benchmark_sets: + config = config(*input_args) + matmul = operator(config, target=target, enable_tuning=True) + kernel_latency = matmul.profile_latency() + if matmul.input_transform is not None: + kernel_latency += matmul.ladder_permutate_a.profile_latency() + + print("Time cost is: {:.3f} ms".format(kernel_latency)) + + profile_config = { + f"{operator.__name__}-{'-'.join([str(i) for i in input_args])}": { + "BitBLAS_top20_latency": kernel_latency, + } + } + + benchmark_results.update(profile_config) + +# Define headers for the table +headers = [ + "PrimFunc", + "Input Arguments", + "BitBLAS Top20 Latency", +] + +col_widths = [0, 0, 0] +for config, values in benchmark_results.items(): + args = config.split("-") + func_name = args[0] + input_args = "-".join(args[1:]) + col_widths[0] = max((max(len(str(headers[0])), len(func_name)) + 2), col_widths[0]) + col_widths[1] = max((max(len(str(headers[1])), len(input_args)) + 2, col_widths[1])) + col_widths[2] = max(max(len(str(headers[2])), len(f"{values['BitBLAS_top20_latency']:.3f} ms")) + 2, col_widths[2]) + break + +for i, header in enumerate(headers): + headers[i] = header.ljust(col_widths[i]) + +print("".join(headers)) + +print("-" * sum(col_widths)) + +for config, values in benchmark_results.items(): + args = config.split("-") + func_name = args[0] + input_args = "-".join(args[1:]) + row = [ + func_name, + input_args, + f"{values['BitBLAS_top20_latency']:.3f} ms", + ] + print("".join([str(i).ljust(col_widths[j]) for j, i in enumerate(row)]) + "\n") diff --git a/benchmark/operators/matmul.py b/benchmark/operators/matmul.py deleted file mode 100644 index e66e8b402..000000000 --- a/benchmark/operators/matmul.py +++ /dev/null @@ -1,204 +0,0 @@ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -import numpy as np -import tvm -from tvm.script import tir as T -import bitblas -from bitblas.base.roller.policy import TensorCorePolicy, DefaultPolicy -from bitblas.base.roller.arch import CUDA -from bitblas.gpu.matmul_analysis import get_tensorized_func_and_tags -from bitblas.gpu import Matmul -from bitblas.utils import get_target_from_env -from bitblas.base.utils import apply_and_build -from bitblas.ops.impl.matmul_impl import ( - matmul_nn, - matmul_nt, - matmul_nt, - matmul_nt_propagate_a_propagate_b, -) -import time - - -# fmt:off -test_shapes = [ - # (prim_func, input_args, default_dlight_schedule), - (matmul_nt, (1024, 1024, 1024, "float16", "float16"), Matmul), - (matmul_nt, (16, 8192, 8192, "float16", "float16"), Matmul), - (matmul_nt, (32, 8192, 8192, "float16", "float16"), Matmul), - (matmul_nt, (16384, 16384, 16384, "float16", "float16"), Matmul), - (matmul_nt, (16384, 16384, 16384, "int8", "int32"), Matmul), - (matmul_nn, (1024, 1024, 1024, "float16", "float16"), Matmul), - (matmul_nn, (8192, 8192, 8192, "float16", "float16"), Matmul), - (matmul_nn, (16384, 16384, 16384, "float16", "float16"), Matmul), - (matmul_nt, (1024, 1024, 1024, "float32", "float32"), Matmul), - (matmul_nt_propagate_a_propagate_b, (16384, 16384, 16384, "float16", "float16", "float16"), Matmul), -] - - -llm_shapes = [ - # square test - (matmul_nt, (1, 16384, 16384, "float16", "float16"), Matmul), - # BLOOM-176B - (matmul_nt, (1, 43008, 14336, "float16", "float16"), Matmul), - (matmul_nt, (1, 14336, 14336, "float16", "float16"), Matmul), - (matmul_nt, (1, 57344, 14336, "float16", "float16"), Matmul), - (matmul_nt, (1, 14336, 57344, "float16", "float16"), Matmul), - # # OPT-65B - (matmul_nt, (1, 9216, 9216, "float16", "float16"), Matmul), - (matmul_nt, (1, 36864, 9216, "float16", "float16"), Matmul), - (matmul_nt, (1, 9216, 36864, "float16", "float16"), Matmul), - (matmul_nt, (1, 22016, 8192, "float16", "float16"), Matmul), - # # LLAMA-70B/65B - (matmul_nt, (1, 8192, 22016, "float16", "float16"), Matmul), - (matmul_nt, (1, 8192, 8192, "float16", "float16"), Matmul), - (matmul_nt, (1, 28672, 8192, "float16", "float16"), Matmul), - (matmul_nt, (1, 8192, 28672, "float16", "float16"), Matmul), - - # square test - (matmul_nt_propagate_a_propagate_b, (16384, 16384, 16384, "float16", "float16"), Matmul), - # BLOOM-176B - (matmul_nt_propagate_a_propagate_b, (8192, 43008, 14336, "float16", "float16"), Matmul), - (matmul_nt_propagate_a_propagate_b, (8192, 14336, 14336, "float16", "float16"), Matmul), - (matmul_nt_propagate_a_propagate_b, (8192, 57344, 14336, "float16", "float16"), Matmul), - (matmul_nt_propagate_a_propagate_b, (8192, 14336, 57344, "float16", "float16"), Matmul), - # # OPT-65B - (matmul_nt_propagate_a_propagate_b, (8192, 9216, 9216, "float16", "float16"), Matmul), - (matmul_nt_propagate_a_propagate_b, (8192, 36864, 9216, "float16", "float16"), Matmul), - (matmul_nt_propagate_a_propagate_b, (8192, 9216, 36864, "float16", "float16"), Matmul), - (matmul_nt_propagate_a_propagate_b, (8192, 22016, 8192, "float16", "float16"), Matmul), - # # LLAMA-70B/65B - (matmul_nt_propagate_a_propagate_b, (8192, 8192, 22016, "float16", "float16"), Matmul), - (matmul_nt_propagate_a_propagate_b, (8192, 8192, 8192, "float16", "float16"), Matmul), - (matmul_nt_propagate_a_propagate_b, (8192, 28672, 8192, "float16", "float16"), Matmul), - (matmul_nt_propagate_a_propagate_b, (8192, 8192, 28672, "float16", "float16"), Matmul), - - # square test - (matmul_nt_propagate_a_propagate_b, (16384, 16384, 16384, "int8", "int8", "int32"), Matmul), - # BLOOM-176B - (matmul_nt_propagate_a_propagate_b, (8192, 43008, 14336, "int8", "int8", "int32"), Matmul), - (matmul_nt_propagate_a_propagate_b, (8192, 14336, 14336, "int8", "int8", "int32"), Matmul), - (matmul_nt_propagate_a_propagate_b, (8192, 57344, 14336, "int8", "int8", "int32"), Matmul), - (matmul_nt_propagate_a_propagate_b, (8192, 14336, 57344, "int8", "int8", "int32"), Matmul), - # OPT-65B - (matmul_nt_propagate_a_propagate_b, (8192, 9216, 9216, "int8", "int8", "int32"), Matmul), - (matmul_nt_propagate_a_propagate_b, (8192, 36864, 9216, "int8", "int8", "int32"), Matmul), - (matmul_nt_propagate_a_propagate_b, (8192, 9216, 36864, "int8", "int8", "int32"), Matmul), - (matmul_nt_propagate_a_propagate_b, (8192, 22016, 8192, "int8", "int8", "int32"), Matmul), - # LLAMA-70B/65B - (matmul_nt_propagate_a_propagate_b, (8192, 8192, 22016, "int8", "int8", "int32"), Matmul), - (matmul_nt_propagate_a_propagate_b, (8192, 8192, 8192, "int8", "int8", "int32"), Matmul), - (matmul_nt_propagate_a_propagate_b, (8192, 28672, 8192, "int8", "int8", "int32"), Matmul), - (matmul_nt_propagate_a_propagate_b, (8192, 8192, 28672, "int8", "int8", "int32"), Matmul), -] - -benchmark_sets = [] -benchmark_sets.extend(llm_shapes) - -# fmt:on - -target = tvm.target.Target(get_target_from_env()) - -benchmark_results = {} -for get_prim_func, input_args, d_schedule in benchmark_sets: - ir_module = get_prim_func(*input_args) - func = ir_module["main"] - arch = CUDA(target) - policy = DefaultPolicy(func=func, arch=arch) - try: - tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) - except: - tags = None - if tags: - policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) - - configs = policy.emit_config(20) - - tune_start = time.time() - cpresults, best = apply_and_build(func, configs, arch, parallel_build=False) - fast_tune_time = time.time() - tune_start - print( - "[BitBLAS] The best latency of top 1 is {:.3f} ms".format( - cpresults[0].latency * 1e3 - ) - ) - print( - "[BitBLAS] The best latency of top 20 is {:.3f} ms".format(best.latency * 1e3) - ) - - # evaluate the performance of the default schedule - - rule = d_schedule() - default_tune_start = time.time() - with arch.target: - mod = bitblas.ApplyDefaultSchedule( # pylint: disable=not-callable - bitblas.gpu.Matmul(), - bitblas.gpu.GEMV(), - bitblas.gpu.Reduction(), - bitblas.gpu.GeneralReduction(), - bitblas.gpu.Fallback(), - )(ir_module) - try: - with tvm.transform.PassContext(config={"tir.use_async_copy": True}): - mod_default = tvm.build(mod, target="cuda") - except Exception: - mod_default = None - default_tune_time = time.time() - default_tune_start - - args = func.buffer_map.values() - - profile_tensors = best.profile_tensors - if mod_default is not None: - timer_cuda_mod = mod_default.time_evaluator( - mod_default.entry_name, arch.device, number=5 - ) - t = timer_cuda_mod(*profile_tensors).mean - else: - t = 1e4 - 1 - - print("Time cost of Dlight default schedule: {:.3f} ms".format(t * 1e3)) - - profile_config = { - f"{get_prim_func.__name__}-{'-'.join([str(i) for i in input_args])}": { - "fast_dlight_top20_tune_time": fast_tune_time, - "fast_dlight_top1_latency": cpresults[0].latency * 1e3, - "fast_dlight_top20_latency": best.latency * 1e3, - "default_dlight_tune_time": default_tune_time, - "default_dlight_latency": t * 1e3 if t is not None else "Failed", - } - } - - benchmark_results.update(profile_config) - -headers = [ - "PrimFunc", - "Input Arguments", - "BitBLAS Top20 Tune Time", - "BitBLAS Top1 Latency", - "BitBLAS Top20 Latency", - "DefaultDLight Tune Time", - "DefaultDLight Latency", -] - -col_width = ( - max(len(word) for row in [headers] + list(profile_config.values()) for word in row) - + 2 -) # padding - -print("".join(word.ljust(col_width) for word in headers)) - -print("-" * col_width * len(headers)) - -for config, values in benchmark_results.items(): - args = config.split("-") - func_name = args[0] - input_args = "-".join(args[1:]) - row = [ - func_name, - input_args, - f" {str(values['fast_dlight_top20_tune_time'])} s", - f"{values['fast_dlight_top1_latency']:.3f} ms", - f"{values['fast_dlight_top20_latency']:.3f} ms", - str(values["default_dlight_tune_time"]), - f"{values['default_dlight_latency']:.3e} ms", - ] - print("".join(word.ljust(col_width) for word in row)) diff --git a/benchmark/operators/matmul_dequantize_af.py b/benchmark/operators/matmul_dequantize_af.py deleted file mode 100644 index 1c7f9e272..000000000 --- a/benchmark/operators/matmul_dequantize_af.py +++ /dev/null @@ -1,170 +0,0 @@ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -import numpy as np -import tvm -from tvm.script import tir as T -import bitblas -from bitblas.base.roller.policy import TensorCorePolicy, DefaultPolicy -from bitblas.base.roller.arch import CUDA -from bitblas.gpu.matmul_analysis import get_tensorized_func_and_tags -from bitblas.gpu import Matmul -from bitblas.utils import get_target_from_env -from bitblas.base.utils import apply_and_build -from bitblas.ops.impl.matmul_dequantize_impl import ( - matmul_nt_dequantize_b, - matmul_nt_dequantize_b_propagate_a_propagate_b, -) -import time - - -# fmt:off -llm_shapes = [ - # square test - (matmul_nt_dequantize_b, (1, 16384, 16384, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), - # BLOOM-176B - (matmul_nt_dequantize_b, (1, 43008, 14336, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), - (matmul_nt_dequantize_b, (1, 14336, 14336, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), - (matmul_nt_dequantize_b, (1, 57344, 14336, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), - (matmul_nt_dequantize_b, (1, 14336, 57344, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), - # # OPT-65B - (matmul_nt_dequantize_b, (1, 9216, 9216, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), - (matmul_nt_dequantize_b, (1, 36864, 9216, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), - (matmul_nt_dequantize_b, (1, 9216, 36864, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), - (matmul_nt_dequantize_b, (1, 22016, 8192, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), - # LLAMA-70B/65B - (matmul_nt_dequantize_b, (1, 8192, 22016, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), - (matmul_nt_dequantize_b, (1, 8192, 8192, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), - (matmul_nt_dequantize_b, (1, 28672, 8192, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), - (matmul_nt_dequantize_b, (1, 8192, 28672, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), - - # square test - (matmul_nt_dequantize_b_propagate_a_propagate_b, (16384, 16384, 16384, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), - # # BLOOM-176B - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 43008, 14336, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 14336, 14336, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 57344, 14336, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 14336, 57344, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), - # # OPT-65B - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 9216, 9216, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 36864, 9216, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 9216, 36864, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 22016, 8192, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), - # # LLAMA-70B/65B - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 8192, 22016, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 8192, 8192, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 28672, 8192, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 8192, 28672, "float16", "float16", "float16", 4, "int8", "af", True, 128, False, False), Matmul), -] - -benchmark_sets = [] -benchmark_sets.extend(llm_shapes) - -# fmt:on - -target = tvm.target.Target(get_target_from_env()) - -benchmark_results = {} -for get_prim_func, input_args, d_schedule in benchmark_sets: - ir_module = get_prim_func(*input_args) - func = ir_module["main"] - arch = CUDA(target) - policy = DefaultPolicy(func=func, arch=arch) - try: - tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) - except: - tags = None - if tags: - policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) - - configs = policy.emit_config(20) - - tune_start = time.time() - cpresults, best = apply_and_build(func, configs, arch, parallel_build=False) - fast_tune_time = time.time() - tune_start - print( - "[BitBLAS] The best latency of top 1 is {:.3f} ms".format( - cpresults[0].latency * 1e3 - ) - ) - print( - "[BitBLAS] The best latency of top 20 is {:.3f} ms".format(best.latency * 1e3) - ) - - # evaluate the performance of the default schedule - - rule = d_schedule() - default_tune_start = time.time() - with arch.target: - mod = bitblas.ApplyDefaultSchedule( # pylint: disable=not-callable - bitblas.gpu.Matmul(), - bitblas.gpu.GEMV(), - bitblas.gpu.Reduction(), - bitblas.gpu.GeneralReduction(), - bitblas.gpu.Fallback(), - )(ir_module) - try: - with tvm.transform.PassContext(config={"tir.use_async_copy": True}): - mod_default = tvm.build(mod, target="cuda") - except Exception: - mod_default = None - - default_tune_time = time.time() - default_tune_start - - args = func.buffer_map.values() - - profile_tensors = best.profile_tensors - if mod_default is not None: - timer_cuda_mod = mod_default.time_evaluator( - mod_default.entry_name, arch.device, number=5 - ) - t = timer_cuda_mod(*profile_tensors).mean - else: - t = 1e4 - 1 - - print("Time cost of Dlight default schedule: {:.3f} ms".format(t * 1e3)) - - profile_config = { - f"{get_prim_func.__name__}-{'-'.join([str(i) for i in input_args])}": { - "fast_dlight_top20_tune_time": fast_tune_time, - "fast_dlight_top1_latency": cpresults[0].latency * 1e3, - "fast_dlight_top20_latency": best.latency * 1e3, - "default_dlight_tune_time": default_tune_time, - "default_dlight_latency": t * 1e3 if t is not None else "Failed", - } - } - - benchmark_results.update(profile_config) - -headers = [ - "PrimFunc", - "Input Arguments", - "BitBLAS Top20 Tune Time", - "BitBLAS Top1 Latency", - "BitBLAS Top20 Latency", - "DefaultDLight Tune Time", - "DefaultDLight Latency", -] - -col_width = ( - max(len(word) for row in [headers] + list(profile_config.values()) for word in row) - + 2 -) # padding - -print("".join(word.ljust(col_width) for word in headers)) - -print("-" * col_width * len(headers)) - -for config, values in benchmark_results.items(): - args = config.split("-") - func_name = args[0] - input_args = "-".join(args[1:]) - row = [ - func_name, - input_args, - f" {str(values['fast_dlight_top20_tune_time'])} s", - f"{values['fast_dlight_top1_latency']:.3f} ms", - f"{values['fast_dlight_top20_latency']:.3f} ms", - str(values["default_dlight_tune_time"]), - f"{values['default_dlight_latency']:.3e} ms", - ] - print("".join(word.ljust(col_width) for word in row)) diff --git a/benchmark/operators/matmul_dequantize_int4.py b/benchmark/operators/matmul_dequantize_int4.py deleted file mode 100644 index e3ae814df..000000000 --- a/benchmark/operators/matmul_dequantize_int4.py +++ /dev/null @@ -1,207 +0,0 @@ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -import numpy as np -import tvm -from tvm.script import tir as T -import bitblas -from bitblas.base.roller.policy import TensorCorePolicy, DefaultPolicy -from bitblas.base.roller.arch import CUDA -from bitblas.gpu.matmul_analysis import get_tensorized_func_and_tags -from bitblas.gpu import Matmul -from bitblas.utils import get_target_from_env -from bitblas.base.utils import apply_and_build -from bitblas.ops.impl.matmul_dequantize_impl import ( - matmul_nt_dequantize_b, - matmul_nt_dequantize_b_propagate_a_propagate_b, -) -import time - -group_size = -1 -# fmt:off -llm_shapes = [ - # square test - (matmul_nt_dequantize_b, (1, 16384, 16384, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - # BLOOM-176B - (matmul_nt_dequantize_b, (1, 43008, 14336, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - (matmul_nt_dequantize_b, (1, 14336, 14336, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - (matmul_nt_dequantize_b, (1, 57344, 14336, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - (matmul_nt_dequantize_b, (1, 14336, 57344, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - # # OPT-65B - (matmul_nt_dequantize_b, (1, 9216, 9216, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - (matmul_nt_dequantize_b, (1, 36864, 9216, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - (matmul_nt_dequantize_b, (1, 9216, 36864, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - (matmul_nt_dequantize_b, (1, 22016, 8192, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - # LLAMA-70B/65B - (matmul_nt_dequantize_b, (1, 8192, 22016, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - (matmul_nt_dequantize_b, (1, 8192, 8192, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - (matmul_nt_dequantize_b, (1, 28672, 8192, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - (matmul_nt_dequantize_b, (1, 8192, 28672, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - - # square test - (matmul_nt_dequantize_b_propagate_a_propagate_b, (16384, 16384, 16384, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - # BLOOM-176B - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 43008, 14336, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 14336, 14336, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 57344, 14336, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 14336, 57344, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - # OPT-65B - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 9216, 9216, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 36864, 9216, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 9216, 36864, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 22016, 8192, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - # LLAMA-70B/65B - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 8192, 22016, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 8192, 8192, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 28672, 8192, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 8192, 28672, "float16", "float16", "float16", 4, "int8", "int", True, False, group_size, True, False), Matmul), - - # square test - (matmul_nt_dequantize_b, (1, 16384, 16384, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - # BLOOM-176B - (matmul_nt_dequantize_b, (1, 43008, 14336, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - (matmul_nt_dequantize_b, (1, 14336, 14336, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - (matmul_nt_dequantize_b, (1, 57344, 14336, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - (matmul_nt_dequantize_b, (1, 14336, 57344, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - # # OPT-65B - (matmul_nt_dequantize_b, (1, 9216, 9216, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - (matmul_nt_dequantize_b, (1, 36864, 9216, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - (matmul_nt_dequantize_b, (1, 9216, 36864, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - (matmul_nt_dequantize_b, (1, 22016, 8192, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - # LLAMA-70B/65B - (matmul_nt_dequantize_b, (1, 8192, 22016, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - (matmul_nt_dequantize_b, (1, 8192, 8192, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - (matmul_nt_dequantize_b, (1, 28672, 8192, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - (matmul_nt_dequantize_b, (1, 8192, 28672, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - - # square test - (matmul_nt_dequantize_b_propagate_a_propagate_b, (16384, 16384, 16384, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - # BLOOM-176B - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 43008, 14336, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 14336, 14336, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 57344, 14336, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 14336, 57344, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - # # OPT-65B - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 9216, 9216, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 36864, 9216, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 9216, 36864, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 22016, 8192, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - # LLAMA-70B/65B - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 8192, 22016, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 8192, 8192, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 28672, 8192, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - (matmul_nt_dequantize_b_propagate_a_propagate_b, (8192, 8192, 28672, "int8", "int8", "int32", 2, "int8", "uint", False, False, -1, True, False), Matmul), - -] - -benchmark_sets = [] -benchmark_sets.extend(llm_shapes) - -# fmt:on - -target = tvm.target.Target(get_target_from_env()) - -benchmark_results = {} -for get_prim_func, input_args, d_schedule in benchmark_sets: - ir_module = get_prim_func(*input_args) - func = ir_module["main"] - arch = CUDA(target) - policy = DefaultPolicy(func=func, arch=arch) - try: - tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) - except: - tags = None - if tags: - policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) - - configs = policy.emit_config(20) - - tune_start = time.time() - cpresults, best = apply_and_build(func, configs, arch, parallel_build=True) - fast_tune_time = time.time() - tune_start - print( - "[BitBLAS] The best latency of top 1 is {:.3f} ms".format( - cpresults[0].latency * 1e3 - ) - ) - print( - "[BitBLAS] The best latency of top 20 is {:.3f} ms".format(best.latency * 1e3) - ) - - # evaluate the performance of the default schedule - - rule = d_schedule() - default_tune_start = time.time() - with arch.target: - mod = bitblas.ApplyDefaultSchedule( # pylint: disable=not-callable - bitblas.gpu.Matmul(), - bitblas.gpu.GEMV(), - bitblas.gpu.Reduction(), - bitblas.gpu.GeneralReduction(), - bitblas.gpu.Fallback(), - )(ir_module) - try: - with tvm.transform.PassContext(config={"tir.use_async_copy": True}): - mod_default = tvm.build(mod, target="cuda") - except Exception: - mod_default = None - - default_tune_time = time.time() - default_tune_start - - args = func.buffer_map.values() - - profile_tensors = best.profile_tensors - if mod_default is not None: - timer_cuda_mod = mod_default.time_evaluator( - mod_default.entry_name, arch.device, number=5 - ) - t = timer_cuda_mod(*profile_tensors).mean - else: - t = 1e4 - 1 - - print("Time cost of Dlight default schedule: {:.3f} ms".format(t * 1e3)) - - profile_config = { - f"{get_prim_func.__name__}-{'-'.join([str(i) for i in input_args])}": { - "fast_dlight_top20_tune_time": fast_tune_time, - "fast_dlight_top1_latency": cpresults[0].latency * 1e3, - "fast_dlight_top20_latency": best.latency * 1e3, - "default_dlight_tune_time": default_tune_time, - "default_dlight_latency": t * 1e3 if t is not None else "Failed", - } - } - - benchmark_results.update(profile_config) - -headers = [ - "PrimFunc", - "Input Arguments", - "BitBLAS Top20 Tune Time", - "BitBLAS Top1 Latency", - "BitBLAS Top20 Latency", - "DefaultDLight Tune Time", - "DefaultDLight Latency", -] - -col_width = ( - max(len(word) for row in [headers] + list(profile_config.values()) for word in row) - + 2 -) # padding - -print("".join(word.ljust(col_width) for word in headers)) - -print("-" * col_width * len(headers)) - -for config, values in benchmark_results.items(): - args = config.split("-") - func_name = args[0] - input_args = "-".join(args[1:]) - row = [ - func_name, - input_args, - f" {str(values['fast_dlight_top20_tune_time'])} s", - f"{values['fast_dlight_top1_latency']:.3f} ms", - f"{values['fast_dlight_top20_latency']:.3f} ms", - str(values["default_dlight_tune_time"]), - f"{values['default_dlight_latency']:.3e} ms", - ] - print("".join(word.ljust(col_width) for word in row)) diff --git a/docs/ExtendOperatorsWithDSL.md b/docs/ExtendOperatorsWithDSL.md new file mode 100644 index 000000000..1c01602b9 --- /dev/null +++ b/docs/ExtendOperatorsWithDSL.md @@ -0,0 +1,168 @@ +### Using BitBLAS from DSL +```python +from bitblas.base.roller.policy import TensorCorePolicy, DefaultPolicy +from bitblas.base.roller.arch import CUDA +from bitblas.base.utils import apply_and_build +@tvm.script.ir_module +class MatmulNT: + @T.prim_func + def main(a: T.handle, b: T.handle, c: T.handle): + T.func_attr({"global_symbol": "main", "tir.noalias": True}) + A = T.match_buffer(a, [M, K], dtype=in_dtype) + B = T.match_buffer(b, [N, K], dtype=in_dtype) + C = T.match_buffer(c, [M, N], dtype=out_dtype) + + for i, j, k in T.grid(M, N, K): + with T.block("B"): + vi, vj, vk = T.axis.remap("SSR", [i, j, k]) + with T.init(): + C[vi, vj] = tvm.tir.const(0, out_dtype) + C[vi, vj] = C[vi, vj] + A[vi, vk].astype(out_dtype) * B[ + vj, vk + ].astype(out_dtype) + +ir_module = MatmulNT +func = ir_module["main"] +target = tvm.target.Target("nvidia/nvidia-a100") +arch = CUDA(target) +``` + +Get tuning policy and candidates: + +```python +# Tune with SIMT Cuda Core +policy = DefaultPolicy(func=func, arch=arch) +try: + tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) +except Exception: + tags = None +# Tune with Tensor Core if possible +if tags: + policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) + +configs = policy.emit_config(topk=20) +''' +[BitBLAS] Evaluation with config {'block': [64, 64], 'warp': [32, 32], 'rstep': [32], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} +[BitBLAS] Time cost of this config: 0.032 ms +[BitBLAS] Evaluation with config {'block': [32, 128], 'warp': [16, 64], 'rstep': [64], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} +[BitBLAS] Time cost of this config: 0.021 ms +[BitBLAS] Evaluation with config {'block': [128, 32], 'warp': [64, 16], 'rstep': [64], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} +[BitBLAS] Time cost of this config: 0.023 ms +[BitBLAS] Evaluation with config {'block': [32, 32], 'warp': [16, 16], 'rstep': [128], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} +[BitBLAS] Time cost of this config: 0.023 ms +[BitBLAS] Evaluation with config {'block': [32, 64], 'warp': [16, 32], 'rstep': [128], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} +[BitBLAS] Time cost of this config: 0.027 ms +[BitBLAS] Evaluation with config {'block': [64, 32], 'warp': [32, 16], 'rstep': [128], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} +[BitBLAS] Time cost of this config: 0.025 ms +[BitBLAS] Evaluation with config {'block': [64, 128], 'warp': [32, 64], 'rstep': [32], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} +[BitBLAS] Time cost of this config: 0.023 ms +[BitBLAS] Evaluation with config {'block': [128, 64], 'warp': [64, 32], 'rstep': [32], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} +[BitBLAS] Time cost of this config: 0.025 ms +[BitBLAS] Evaluation with config {'block': [16, 64], 'warp': [16, 16], 'rstep': [128], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} +[BitBLAS] Time cost of this config: 0.037 ms +[BitBLAS] Evaluation with config {'block': [64, 16], 'warp': [16, 16], 'rstep': [128], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} +[BitBLAS] Time cost of this config: 0.037 ms +[BitBLAS] Evaluation with config {'block': [128, 128], 'warp': [64, 64], 'rstep': [32], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} +[BitBLAS] Time cost of this config: 0.026 ms +[BitBLAS] Evaluation with config {'block': [16, 128], 'warp': [16, 32], 'rstep': [64], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} +[BitBLAS] Time cost of this config: 0.043 ms +[BitBLAS] Evaluation with config {'block': [128, 16], 'warp': [32, 16], 'rstep': [64], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} +[BitBLAS] Time cost of this config: 0.042 ms +[BitBLAS] Evaluation with config {'block': [32, 256], 'warp': [16, 128], 'rstep': [64], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} +[BitBLAS] Time cost of this config: 0.025 ms +[BitBLAS] Evaluation with config {'block': [256, 32], 'warp': [128, 16], 'rstep': [64], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} +[BitBLAS] Time cost of this config: 0.029 ms +[BitBLAS] Evaluation with config {'block': [64, 256], 'warp': [32, 128], 'rstep': [32], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} +[BitBLAS] Time cost of this config: 0.028 ms +[BitBLAS] Evaluation with config {'block': [256, 64], 'warp': [128, 32], 'rstep': [32], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} +[BitBLAS] Time cost of this config: 0.027 ms +[BitBLAS] Evaluation with config {'block': [128, 256], 'warp': [64, 128], 'rstep': [32], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} +[BitBLAS] Time cost of this config: 0.044 ms +[BitBLAS] Evaluation with config {'block': [256, 128], 'warp': [128, 64], 'rstep': [32], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} +[BitBLAS] Time cost of this config: 0.040 ms +[BitBLAS] Evaluation with config {'block': [16, 256], 'warp': [16, 64], 'rstep': [64], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} +[BitBLAS] Time cost of this config: 0.047 ms +''' +``` + +Apply and build and get best code generation result: +```python +cpresults, best = apply_and_build(func, configs, arch, parallel_build=True) +# get the best code generation result. +print(best.code) +''' +extern "C" __global__ void __launch_bounds__(128) default_function_kernel(half* __restrict__ A, half* __restrict__ B, half* __restrict__ C) { + ... +} +''' +``` + +we also provide something interesting with DSL. + +#### Auto Tensorization + +Say we currently have two policies, one is for SIMT Cuda Core, another is for TensorCore. The decision to utilize a TensorCore policy over a SIMT Cuda Core policy can be enhanced by the integration of an auto-tensorization strategy, it allows BitBLAS to automatically select if the DSL Expression can uitlize TensorCore. + +![Auto Tensorization](./images/auto_tensorize.png) + +```python +# Assume func is conv2d, after this invocation, the tensorized_func is the tensorized version of the conv2d, otherwise, the tags is None. +tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) +``` + +#### Tune with dynamic symbolic + +As in LLM Serving, the input shape is dynamic, we can use the dynamic symbolic to generate high performance kernel with dynamic shape. + +```python +@tvm.script.ir_module +class MatmulNT: + @T.prim_func + def main(a: T.handle, b: T.handle, c: T.handle): + T.func_attr({"global_symbol": "main", "tir.noalias": True}) + m = T.int32() + A = T.match_buffer(a, [m, K], dtype=in_dtype) + B = T.match_buffer(b, [N, K], dtype=in_dtype) + C = T.match_buffer(c, [m, N], dtype=out_dtype) + + for i, j, k in T.grid(m, N, K): + with T.block("B"): + vi, vj, vk = T.axis.remap("SSR", [i, j, k]) + with T.init(): + C[vi, vj] = tvm.tir.const(0, out_dtype) + C[vi, vj] = C[vi, vj] + A[vi, vk].astype(out_dtype) * B[ + vj, vk + ].astype(out_dtype) + +from bitblas import fast_tune_with_dynamic_range +# Tune with dynamic symbolic +optimized_mod = fast_tune_with_dynamic_range( + func, target, topk=topk, parallel_build=True, + dynamic_range={ + "M": [1, 1024] + } +) + +# fianlly, we will generate a dispatch func to dispatch the kernel with dynamic symbolic. +''' +@IRModule +class MatmulNT: + + def matmul_nt_opt_m_1(A: Tensor, T_reshape: Tensor, m: int): + ... + + def matmul_nt_opt_m_256(A: Tensor, T_reshape: Tensor, m: int): + ... + + def dispatcher(args): + if m <= 1: + matmul_nt_opt_m_1(A.data, T_reshape.data, m) + if m > 1 and m <= 256: + matmul_nt_opt_m_256(A.data, T_reshape.data, m) + if m > 256: + matmul_nt_m_256(A.data, T_reshape.data, m) +''' +``` + +You can find some example dsl implementation in `python/bitblas/ops/impl` and `benchmark/dsl`, see more examples and tutorials in [apache/tvm](https://github.com/apache/tvm) + diff --git a/docs/Installation.md b/docs/Installation.md new file mode 100644 index 000000000..fd90f6d45 --- /dev/null +++ b/docs/Installation.md @@ -0,0 +1,58 @@ +# Installation Guide + +## Prerequisites + + **Operating System**: Linux (Ubuntu 20.04 or later recommended for installation via wheel or PyPI or you may need to checkout the [Building from Source](#building-from-source) section for other Linux distributions.) +- **Python Version**: >= 3.7 +- **CUDA Version**: >= 10.0 + +## Installing with pip + +The easiest way to install BitBLAS is direcly from the PyPi using pip. To install the latest version, run the following command in your terminal. + +**Note**: Currently, bitblas whl is only supported on Linux systems. We recommend using Ubuntu 20.04 or later version as we build the whl files on this platform. + +```bash +pip install bitblas +``` + +Alternatively, you may choose to install BitBLAS using prebuilt packages available on the Release Page: + +```bash +pip install bitblas-0.0.0.dev0+ubuntu.20.4.cu120-py3-none-any.whl +``` + +After installing BitBLAS, you can verify the installation by running: + +```bash +python -c "import bitblas; print(bitblas.__version__)" +``` + +## Building from Source + +We recommend using a docker container with the necessary dependencies to build BitBLAS from source. You can use the following command to run a docker container with the necessary dependencies: + +```bash +docker run --gpus all -it --rm --ipc=host nvcr.io/nvidia/pytorch:23.01-py3 +``` + +To build and install BitBLAS directly from source, follow the steps below. This process requires certain pre-requisites from apache tvm, which can be installed on Ubuntu/Debian-based systems using the following commands: + +```bash +sudo apt-get update +sudo apt-get install -y python3 python3-dev python3-setuptools gcc libtinfo-dev zlib1g-dev build-essential cmake libedit-dev libxml2-dev +``` + +After installing the prerequisites, you can clone the BitBLAS repository and install it using pip: + +```bash +git clone --recursive https://github.com/Microsoft/BitBLAS.git +cd BitBLAS +pip install . # Please be patient, this may take some time. +``` + +if you want to install BitBLAS with the development mode, you can run the following command: + +```bash +pip install -e . +``` diff --git a/docs/PythonAPI.md b/docs/PythonAPI.md new file mode 100644 index 000000000..e2925a147 --- /dev/null +++ b/docs/PythonAPI.md @@ -0,0 +1,150 @@ +## Matmul + +`Matmul` is an operator class that performs matrix multiplication, supporting various optimizations and quantization strategies. + +### MatmulConfig: + +`MatmulConfig` is a configuration class for the `Matmul` operator, specifying the matrix multiplication operation's parameters and behaviors. + +### Parameters: + +- **M** *(Union[int, Tuple[int]])*: The size of the first dimension of the matrix A, or a range of sizes if dynamic shape support is needed. Can be an integer or a tuple representing the dynamic range. + - If `int`, the bitblas matmul will generate a static shape kernel, which can only be used for the input shape of the specified value. + - If `List[int]`, the bitblas matmul will generate a dynamic shape kernel, which can be used for the input shape of the specified values. While the input shape represents the target optimized range. + - If `None`, the bitblas matmul will use a default value [1, 16, 32, 64, 128, 256, 512, 1024]. +- **N** *(int)*: The size of the second dimension of matrix W and the output matrix. +- **K** *(int)*: The common dimension of matrices A and W. +- **A_dtype** *(str, default='float16')*: The data type of matrix A. + - Choices: `'float16'`, `'int8'`. +- **W_dtype** *(str, default='float16')*: The data type of matrix W. Also acts as a wrapper for source_format and bit. + - Choices: `'float16'`, `'int8'`, `'int4'`, `'int2'`, `'int1'`, `'fp4_e2m1'`, `'nf4'`. +- **accum_dtype** *(str, default='float16')*: The data type used for accumulation during the matrix multiplication. + - Choices: `'float16'`, `'int32'`. +- **out_dtype** *(str, default='float16')*: The data type of the output matrix. + - Choices: `'float32'`, `'float16'`, `'int8'`, `'int32'`. +- **layout** *(Literal['nn', 'nt', 'tn', 'tt'], default='nt')*: The layout of the matrix multiplication operation. The matrix is stored in row-major. + - `'nn'`: Both matrices are non-transposed. + - `'nt'`: Matrix A is non-transposed, and matrix W is transposed. + - `'tn'`: Matrix A is transposed, and matrix W is non-transposed. + - `'tt'`: Both matrices are transposed. +- **with_bias** *(bool, default=False)*: Indicates whether a bias vector is added to the output. +- **group_size** *(int, default=-1)*: The group size for quantization, -1 indicates no grouping. +- **with_scaling** *(bool, default=False)*: Indicates whether scaling is applied during quantization. +- **with_zeros** *(bool, default=False)*: Indicates whether zero optimization is applied. +- **zeros_mode** *(Literal['original', 'rescale', 'quantized'], default='original')*: The mode of zero optimization. + - Choices: `None`, `'original'`, `'rescale'`, `'quantized'`. + - `'original'`: Subtract zero-point before scaling. Formula: `target = (dequantize_weight - zero_point) * scale`. where `zero_point` has the same datatype with scale. + - `'rescale'`: Apply scale factor directly to dequantized weight and then subtract zero-point. Formula: `target = dequantize_weight * scale - zero_point`. + - `'quantized'`: Apply zero-point adjustment after dequantization and additional dequantization of zero values. Formula: `target = (dequantize_weight - dequantize_qzeros) * scale`, where `dequantize_zeros` represents the dequantized representation of zero values, which can be adapted to qzeros params. + +### Initialization: + +```python +Matmul(config: MatmulConfig) +``` + +- **config** *(MatmulConfig)*: The configuration for the matrix multiplication operation. + +### Methods: + +#### `forward(A, W, scale=None, seros=None, bias=None, output=None) -> Any` + +Performs the matrix multiplication operation with the given input tensors and optional scaling, zeros, and bias. + +- **A** *(Tensor)*: The input tensor A. +- **W** *(Tensor)*: The input tensor W. +- **scale** *(Optional[Tensor], default=None)*: The scaling tensor. +- **zeros** *(Optional[Tensor], default=None)*: The zeros tensor. +- **bias** *(Optional[Tensor], default=None)*: The bias tensor. +- **output** *(Optional[Tensor], default=None)*: The pre-allocated output tensor. + +#### `transform_weight(weight, scale=None, zeros=None, bias=None)` + +Transforms the given weight tensor based on the specified quantization parameters. + +- **weight** *(Tensor)*: The input weight tensor to be transformed. +- **scale** *(Optional[Tensor], default=None)*: Scaling factor for the weight tensor. +- **zeros** *(Optional[Tensor], default=None)*: Zero-point adjustment for the weight tensor. +- **bias** *(Optional[Tensor], default=None)*: Bias to be added to the weight tensor. + +#### `__call__(*args: Any) -> Any` + +Allows the object to be called like a function, forwarding the call to the `forward` method. + +### Properties: + +- **M**, **N**, **K**, **A_dtype**, **W_dtype**, **out_dtype**, **accum_dtype**, **storage_dtype**, **with_scaling**, **with_zeros**, **group_size**, **fast_decoding**, **with_bias**, **layout**, **zeros_mode**: These properties correspond to the parameters defined in `MatmulConfig`, providing easy access to the configuration details. + + +## Linear + +`Linear(in_features: int, out_features: int, bias: bool = False, A_dtype: str = 'float16', W_dtype: str = 'float16', accum_dtype: str = 'float16', out_dtype: str = 'float16', group_size: int = -1, with_scaling: bool = None, with_zeros: bool = False, zeros_mode: str = None, opt_M: Union[int, List[int]] = [1, 16, 32, 64, 128, 256, 512])` + +Applies a linear transformation to the incoming data: $out[M, N] = A[M, K] \times W[N, K]$ . This module supports quantization and optimization for NVIDIA GPUs using the BitBLAS library. + +### Parameters: + +- **in_features** *(int)*: size of each input sample. +- **out_features** *(int)*: size of each output sample. +- **bias** *(bool, optional)*: If set to `False`, the layer will not learn an additive bias. Default: `False`. +- **A_dtype** *(str, optional)*: Data type of the input tensor. Default: `'float16'`. + - Choices: `'float16'`, `'int8'`. +- **W_dtype** *(str, optional)*: Data type of the weights. Default: `'float16'`. + - Choices: `'float16'`, `'int8'`, `'int4'`, `'int2'`, `'int1'`, `'fp4_e2m1'`, `'af4'`. +- **accum_dtype** *(str, optional)*: Data type for accumulation. Default: `'float16'`. + - Choices: `'float16'`, `'int32'`. +- **out_dtype** *(str, optional)*: Data type of the output tensor. Default: `'float16'`. + - Choices: `'float32'`, `'float16'`, `'int8'`, `'int32'`. +- **group_size** *(int, optional)*: Group size for quantization. Default: `-1` (no grouping). +- **with_scaling** *(bool, optional)*: Whether to use scaling during quantization. Default: `False`. +- **with_zeros** *(bool, optional)*: Whether to use zeropoints . Default: `False`. +- **zeros_mode** *(str, optional)*: Mode for zero zeropoints. Default: `None`. + - Choices: `None`, `'original'`, `'rescale'`, `'quantized'`. + - `'original'`: Subtract zero-point before scaling. Formula: `target = (dequantize_weight - zero_point) * scale`. where `zero_point` has the same datatype with scale. + - `'rescale'`: Apply scale factor directly to dequantized weight and then subtract zero-point. Formula: `target = dequantize_weight * scale - zero_point`. + - `'quantized'`: Apply zero-point adjustment after dequantization and additional dequantization of zero values. Formula: `target = (dequantize_weight - dequantize_qzeros) * scale`, where `dequantize_zeros` represents the dequantized representation of zero values, which can be adapted to qzeros params. +- **opt_M** *(Union[int, List[int]], optional)*: Optimize range of the input shape for dynamic symbolic. Default: `[1, 16, 32, 64, 128, 256, 512]`. + - If `int`, the bitblas matmul will generate a static shape kernel, which can only be used for the input shape of the specified value. + - If `List[int]`, the bitblas matmul will generate a dynamic shape kernel, which can be used for the input shape of the specified values. While the input shape represents the target optimized range. It is important to note that if an input size is provided that is not explicitly listed, such as 15, bitblas matmul will select the nearest larger kernel available. In the case where opt_M is `[1, 16, 32, 64, 128, 256, 512]`, an input size of 15 would utilize the kernel optimized for size 16. T + +### Methods: + +#### `forward(A, output=None)` + +Defines the computation performed at every call. + +- **A** *(Tensor)*: Input tensor. +- **Output** *(Tensor, optional)*: Pre-allocated output tensor. Default: `None`. + - If `None`, the module will allocate a new tensor for the output. + - If not `None`, the module will use the pre-allocated tensor for the output. + +Returns: The output tensor. + +#### `init_params()` + +Initializes parameters handles (convert constant params into ctypes void pointer) for the computation. We currently put this fuction in the forward function, so you do not need to call it manually. But if you lift this function out of the forward function, you can call it manually to aoid the transformation. + +#### `load_and_transform_weight(weight, scales=None, zeros=None, bias=None)` + +This method is designed to load and optionally transform the weight matrix along with scales, zeros, and bias for use in quantized computations. It is particularly useful when transitioning from a floating-point model to a quantized model, allowing for the adjustment of model parameters to fit the requirements of quantization and optimization processes. + +- **Parameters:** + - **weight** *(Tensor)*: The weight tensor to be loaded into the layer. This tensor should have dimensions that match the expected input features and output features of the layer. The method will also apply any necessary transformations to the weight tensor to align with the quantization and optimization configurations of the layer. + - **scales** *(Tensor, optional)*: A tensor containing scale factors for quantization. These scales are used to adjust the weight values during the quantization process, ensuring that the dynamic range of the weights is appropriately represented in the quantized format. If not provided, the method assumes that either scaling is not required or has already been applied to the weights. + - **zeros** *(Tensor, optional)*: A tensor indicating the optimized representation of zeros, particularly useful in sparse models where zero values can be efficiently encoded. This parameter is only relevant if zero points (`with_zeros`) is enabled for the layer. Providing this tensor allows for further memory and computation optimizations during the forward pass. + - **bias** *(Tensor, optional)*: The bias tensor to be loaded into the layer. If the layer is configured to use a bias (`bias=True` during initialization), this tensor provides the bias values for each output feature. If `None`, it is assumed that the layer does not use a bias or that the bias is already incorporated into another parameter. +`load_and_transform_weight(weight, scales=None, zeros=None, bias=None)` + +Loads and transforms the weight matrix and optional scales, zeros, and bias for quantized computation. + +- **weight** *(Tensor)*: Weight tensor. +- **scales** *(Tensor, optional)*: Scales tensor for quantization. Default: `None`. +- **zeros** *(Tensor, optional)*: Zeros tensor for zeropoints. Default: `None`. +- **bias** *(Tensor, optional)*: Bias tensor. Default: `None`. + +### `repack_from_gptq(gptq_module)` + +This method facilitates the integration of parameters from a module that has undergone Generalized Post Training Quantization (GPTQ), repacking and transforming these parameters as necessary for compatibility with the BitBLAS-optimized `Linear` layer. The `gptq_module` must have its parameters in a format that is compatible with the expectations of the `Linear` layer's quantization and optimization configurations. This includes the shape and data type of the quantized weights, scales, and zeros. The method automatically handles the transformation and repacking of these parameters, including transposing weights if necessary, converting quantized zeros into the expected format, and adjusting scales and biases for direct use in the optimized forward pass of the `Linear` layer. + +- **Parameters:** + - **gptq_module** *(Module)*: A module that contains quantized parameters following the GPTQ process. This module should have attributes corresponding to quantized weights (`qweight`), scales (`scales`), optimized zeros (`qzeros`), and optionally biases (`bias`). The method extracts these parameters, applies any necessary transformations for compatibility with the BitBLAS optimizations, and loads them into the `Linear` layer. diff --git a/docs/QuickStart.md b/docs/QuickStart.md index c0f427026..2285a2313 100644 --- a/docs/QuickStart.md +++ b/docs/QuickStart.md @@ -1,267 +1,234 @@ -## Quick Start +# Quick Start -We provide two primary ways to do the code generation: using a high-level DSL (TensorIR Script), or using packed Operators. +BitBLAS provides two Python APIs to perform mixed-precision matrix multiplication: + - ```bitblas.Matmul``` implements the $W_{wdtype}A_{adtype}$ mixed-precision matrix multiplication of $C_{cdtype}[M, N] = A_{adtype}[M, K] \times W_{wdtype}[N, K]$ where $W_{wdtype}$ indicates the weight of $wtype$, A_{adtype} indicates the activation of $adtype$, and C_{cdtype} indicates the output of $cdtype$. + - ```bitblas.Linear``` is a PyTorch ```nn.Linear```-like module to support a Linear of mixed-precision. -You can find some example dsl implementation in `python/bitblas/ops/impl` and `benchmark/dsl`, see more examples and tutorials in [apache/tvm](https://github.com/apache/tvm) +## Example: $W_{INT4}A_{FP16}$ mixed-precision matrix multiplication -### Using BitBLAS from DSL -```python -from bitblas.base.roller.policy import TensorCorePolicy, DefaultPolicy -from bitblas.base.roller.arch import CUDA -from bitblas.base.utils import apply_and_build -@tvm.script.ir_module -class MatmulNT: - @T.prim_func - def main(a: T.handle, b: T.handle, c: T.handle): - T.func_attr({"global_symbol": "main", "tir.noalias": True}) - A = T.match_buffer(a, [M, K], dtype=in_dtype) - B = T.match_buffer(b, [N, K], dtype=in_dtype) - C = T.match_buffer(c, [M, N], dtype=out_dtype) - - for i, j, k in T.grid(M, N, K): - with T.block("B"): - vi, vj, vk = T.axis.remap("SSR", [i, j, k]) - with T.init(): - C[vi, vj] = tvm.tir.const(0, out_dtype) - C[vi, vj] = C[vi, vj] + A[vi, vk].astype(out_dtype) * B[ - vj, vk - ].astype(out_dtype) - -ir_module = MatmulNT -func = ir_module["main"] -target = tvm.target.Target("nvidia/nvidia-a100") -arch = CUDA(target) -``` - -Get tuning policy and candidates: - -```python -# Tune with SIMT Cuda Core -policy = DefaultPolicy(func=func, arch=arch) -try: - tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) -except: - tags = None -# Tune with Tensor Core if possible -if tags: - policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) - -configs = policy.emit_config(topk=20) -''' -[BitBLAS] Evaluation with config {'block': [64, 64], 'warp': [32, 32], 'rstep': [32], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} -[BitBLAS] Time cost of this config: 0.032 ms -[BitBLAS] Evaluation with config {'block': [32, 128], 'warp': [16, 64], 'rstep': [64], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} -[BitBLAS] Time cost of this config: 0.021 ms -[BitBLAS] Evaluation with config {'block': [128, 32], 'warp': [64, 16], 'rstep': [64], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} -[BitBLAS] Time cost of this config: 0.023 ms -[BitBLAS] Evaluation with config {'block': [32, 32], 'warp': [16, 16], 'rstep': [128], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} -[BitBLAS] Time cost of this config: 0.023 ms -[BitBLAS] Evaluation with config {'block': [32, 64], 'warp': [16, 32], 'rstep': [128], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} -[BitBLAS] Time cost of this config: 0.027 ms -[BitBLAS] Evaluation with config {'block': [64, 32], 'warp': [32, 16], 'rstep': [128], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} -[BitBLAS] Time cost of this config: 0.025 ms -[BitBLAS] Evaluation with config {'block': [64, 128], 'warp': [32, 64], 'rstep': [32], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} -[BitBLAS] Time cost of this config: 0.023 ms -[BitBLAS] Evaluation with config {'block': [128, 64], 'warp': [64, 32], 'rstep': [32], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} -[BitBLAS] Time cost of this config: 0.025 ms -[BitBLAS] Evaluation with config {'block': [16, 64], 'warp': [16, 16], 'rstep': [128], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} -[BitBLAS] Time cost of this config: 0.037 ms -[BitBLAS] Evaluation with config {'block': [64, 16], 'warp': [16, 16], 'rstep': [128], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} -[BitBLAS] Time cost of this config: 0.037 ms -[BitBLAS] Evaluation with config {'block': [128, 128], 'warp': [64, 64], 'rstep': [32], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} -[BitBLAS] Time cost of this config: 0.026 ms -[BitBLAS] Evaluation with config {'block': [16, 128], 'warp': [16, 32], 'rstep': [64], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} -[BitBLAS] Time cost of this config: 0.043 ms -[BitBLAS] Evaluation with config {'block': [128, 16], 'warp': [32, 16], 'rstep': [64], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} -[BitBLAS] Time cost of this config: 0.042 ms -[BitBLAS] Evaluation with config {'block': [32, 256], 'warp': [16, 128], 'rstep': [64], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} -[BitBLAS] Time cost of this config: 0.025 ms -[BitBLAS] Evaluation with config {'block': [256, 32], 'warp': [128, 16], 'rstep': [64], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} -[BitBLAS] Time cost of this config: 0.029 ms -[BitBLAS] Evaluation with config {'block': [64, 256], 'warp': [32, 128], 'rstep': [32], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} -[BitBLAS] Time cost of this config: 0.028 ms -[BitBLAS] Evaluation with config {'block': [256, 64], 'warp': [128, 32], 'rstep': [32], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} -[BitBLAS] Time cost of this config: 0.027 ms -[BitBLAS] Evaluation with config {'block': [128, 256], 'warp': [64, 128], 'rstep': [32], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} -[BitBLAS] Time cost of this config: 0.044 ms -[BitBLAS] Evaluation with config {'block': [256, 128], 'warp': [128, 64], 'rstep': [32], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} -[BitBLAS] Time cost of this config: 0.040 ms -[BitBLAS] Evaluation with config {'block': [16, 256], 'warp': [16, 64], 'rstep': [64], 'use_tc': True, 'vectorize': {'A_reindex': 8, 'B_reindex': 8}} -[BitBLAS] Time cost of this config: 0.047 ms -''' -``` +Here is an example for a $W_{INT4}A_{FP16}$ mixed-precision matrix multiplication: $out_{FP16}[M, N] = A_{FP16}[M, K] \times W_{INT4}[N, K]$, the example includes the creation of input matrices, quantization of weight matrices, and execution of the multiplication. The result is then compared against a reference result obtained through conventional methods to ensure accuracy. -Apply and build and get best code generation result: ```python -cpresults, best = apply_and_build(func, configs, arch, parallel_build=True) -# get the best code generation result. -print(best.code) -''' -extern "C" __global__ void __launch_bounds__(128) default_function_kernel(half* __restrict__ A, half* __restrict__ B, half* __restrict__ C) { - ... -} -''' -``` +import bitblas +import torch + +matmul_config = bitblas.MatmulConfig( + M=1, # M dimension + N=1024, # N dimension + K=1024, # K dimension + A_dtype="float16", # activation A dtype + W_dtype="int4", # weight W dtype + accum_dtype="float16", # accumulation dtype + out_dtype="float16", # output dtype + layout="nt", # matrix layout, "nt" indicates the layout of A is non-transpose and the layout of W is transpose + with_bias=False, # bias + # configs for weight only quantization + group_size=None, # setting for grouped quantization + with_scaling=False, # setting for scaling factor + with_zeros=False, # setting for zeros + zeros_mode=None, # setting for how to calculating zeros +) -we also provide something interesting with DSL. +matmul = bitblas.Matmul(config=matmul_config) -#### Auto Tensorization +# Create input matrices +input_tensor = torch.rand((1, 1024), dtype=torch.float16).cuda() +weight_tensor = torch.randint(0, 7, (1024, 1024), dtype=torch.int8).cuda() -Say we currently have two policies, one is for SIMT Cuda Core, another is for TensorCore. The decision to utilize a TensorCore policy over a SIMT Cuda Core policy can be enhanced by the integration of an auto-tensorization strategy, it allows BitBLAS to automatically select if the DSL Expression can uitlize TensorCore. +# Transform weight tensor to int4 data type +weight_tensor_int4 = matmul.transform_weight(weight_tensor) -![Auto Tensorization](./images/auto_tensorize.png) +# Perform mixed-precision matrix multiplication +output_tensor = matmul(input_tensor, weight_tensor_int4) -```python -# Assume func is conv2d, after this invocation, the tensorized_func is the tensorized version of the conv2d, otherwise, the tags is None. -tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) +# Reference result using PyTorch matmul for comparison +ref_result = torch.matmul(input_tensor, weight_tensor.t().to(torch.float16)) +# Assert that the results are close within a specified tolerance, note that the int4 randint value is a little bigger than the float16 value, so we set the atol to 1.0 +print("Ref output:", ref_result) +print("BitBLAS output:", output_tensor) +torch.testing.assert_close(output_tensor, ref_result, rtol=1e-2, atol=1e-0) ``` -#### Tune with dynamic symbolic - -As in LLM Serving, the input shape is dynamic, we can use the dynamic symbolic to generate high performance kernel with dynamic shape. +The same example can be extended to include the quantization of the weight tensor with scaling and zeros. The following code snippet demonstrates how to quantize the weight tensor with scaling and zeros and execute the mixed-precision matrix multiplication. ```python -@tvm.script.ir_module -class MatmulNT: - @T.prim_func - def main(a: T.handle, b: T.handle, c: T.handle): - T.func_attr({"global_symbol": "main", "tir.noalias": True}) - m = T.int32() - A = T.match_buffer(a, [m, K], dtype=in_dtype) - B = T.match_buffer(b, [N, K], dtype=in_dtype) - C = T.match_buffer(c, [m, N], dtype=out_dtype) - - for i, j, k in T.grid(m, N, K): - with T.block("B"): - vi, vj, vk = T.axis.remap("SSR", [i, j, k]) - with T.init(): - C[vi, vj] = tvm.tir.const(0, out_dtype) - C[vi, vj] = C[vi, vj] + A[vi, vk].astype(out_dtype) * B[ - vj, vk - ].astype(out_dtype) - -from bitblas import fast_tune_with_dynamic_range -# Tune with dynamic symbolic -optimized_mod = fast_tune_with_dynamic_range( - func, target, topk=topk, parallel_build=True, - dynamic_range={ - "M": [1, 1024] - } +import bitblas +import torch + +in_features = 1024 +out_features = 1024 +group_size = 128 + +matmul_config = bitblas.MatmulConfig( + M=1, # M dimension + N=out_features, # N dimension + K=in_features, # K dimension + A_dtype="float16", # activation A dtype + W_dtype="uint4", # weight W dtype + accum_dtype="float16", # accumulation dtype + out_dtype="float16", # output dtype + layout="nt", # matrix layout, "nt" indicates the layout of A is non-transpose and the layout of W is transpose + with_bias=False, # bias + # configs for weight only quantization + group_size=group_size, # setting for grouped quantization + with_scaling=True, # setting for scaling factor + with_zeros=True, # setting for zeros + zeros_mode="original", # setting for how to calculating zeros ) - -# fianlly, we will generate a dispatch func to dispatch the kernel with dynamic symbolic. -''' -@IRModule -class MatmulNT: - - def matmul_nt_opt_m_1(A: Tensor, T_reshape: Tensor, m: int): - ... - - def matmul_nt_opt_m_256(A: Tensor, T_reshape: Tensor, m: int): - ... - - def dispatcher(args): - if m <= 1: - matmul_nt_opt_m_1(A.data, T_reshape.data, m) - if m > 1 and m <= 256: - matmul_nt_opt_m_256(A.data, T_reshape.data, m) - if m > 256: - matmul_nt_m_256(A.data, T_reshape.data, m) -''' - +matmul = bitblas.Matmul(config=matmul_config) + +# Define shapes for tensors +input_shape = (1, 1024) +weight_shape = (1024, 1024) +scaling_shape = (1024, 1024 // 128) +zeros_shape = (1024, 1024 // 128) +output_shape = (1, 1024) + +# Create scaling and zeros tensors for quantization +scaling = torch.rand(scaling_shape, dtype=torch.float16).cuda() +zeros = torch.rand(zeros_shape, dtype=torch.float16).cuda() + +# Create input tensor +input_tensor = torch.rand(input_shape, dtype=torch.float16).cuda() + +# Create and transform weight tensor +weight_tensor = torch.randint(0, 7, weight_shape, dtype=torch.int8).cuda() +weight_tensor_int4 = matmul.transform_weight(weight_tensor) + +# Perform mixed-precision matrix multiplication with quantization +output_tensor = matmul(input_tensor, weight_tensor_int4, scale=scaling, zeros=zeros) + +rescaling_tensor = torch.zeros_like(weight_tensor, dtype=torch.float16).cuda() +# Compute reference result with manual scaling and zero-point adjustment +# rescale = (weight - zeros) * scaling +for i in range(in_features // group_size): + for j in range(group_size): + rescaling_tensor[:, i * group_size + j] = ( + weight_tensor[:, i * group_size + j].to(torch.float16) - zeros[:, i] + ) * scaling[:, i] +ref_result = torch.matmul(input_tensor, rescaling_tensor.t().to(torch.float16)) +# Assert that the results are close within a specified tolerance +print("Ref output:", ref_result) +print("BitBLAS output:", output_tensor) +torch.testing.assert_close(output_tensor, ref_result, rtol=1e-2, atol=1e-2) ``` +The init stage of the ```bitblas.Matmul``` class will take minutes to finish, as it will use hardware informations to do a one-time kernel library initialization. +## Example: bitblas.Linear module for PyTorch -### Using BitBLAS from packed Operators +BitBLAS also implemented a variant PyTorch ```nn.Linear``` module, i.e., ```bitblas.Linear```, to support a Linear of mixed-precision. See code [implementation](../python/bitblas/module/__init__.py) -We packed some operators in `bitblas/ops/impl` with configs, you can use them directly. Please see more examples in `testing/python/operators` +Here is an example to define a ```bitblas.Linear``` of $W_{INT4}A_{FP16}$: ```python -from bitblas.ops.matmul import Matmul, MatmulConfig -matmul_config = MatmulConfig( - M=M, - N=N, - K=K, - in_dtype=in_dtype, - out_dtype=out_dtype, - accum_dtype=accum_dtype, - with_bias=with_bias, - propagate_a=propagate_a, - propagate_b=propagate_b, - layout=layout, -) -matmul = Matmul( - config=matmul_config, - target=target, +import bitblas +import torch + +model = bitblas.Linear( + in_features=1024, + out_features=1024, + bias=False, + A_dtype="float16", # activation A dtype + W_dtype="int4", # weight W dtype + accum_dtype="float16", # accumulation dtype + out_dtype="float16", # output dtype + # configs for weight only quantization + group_size=None, # setting for grouped quantization + with_scaling=False, # setting for scaling factor + with_zeros=False, # setting for zeros + zeros_mode=None, # setting for how to calculating zeros + # Target optimization var for dynamic symbolic. + # For detailed information please checkout docs/PythonAPI.md + # By default, the optimization var is [1, 16, 32, 64, 128, 256, 512] + opt_M=[1, 16, 32, 64, 128], ) -``` -By default, we will apply a default schedule into the operator, you can also get code generation result by calling matmul.codegen(). +# Create an integer weight tensor +intweight = torch.randint(-7, 7, (1024, 1024), dtype=torch.int8) -```python -print(matmul.codegen()) -''' -extern "C" __global__ void __launch_bounds__(128) default_function_kernel(half* __restrict__ A, half* __restrict__ B, half* __restrict__ C) { - ... -} -''' -``` +# Load and transform weights into the BitBLAS linear module +model.load_and_transform_weight(intweight) -If you want to tune the operator to get better performance, you can use the api `hardware_aware_finetune`. +# Save the state of the model +torch.save(model.state_dict(), "./model.pth") -```python -print(matmul.profile_latency()) -matmul.hardware_aware_finetune(topk=20) -print(matmul.profile_latency()) +# Load the model state +model.load_state_dict(torch.load("./model.pth")) + +# Set the model to evaluation mode +model.eval() + +# Create a dummy input tensor +dummpy_input = torch.randn(1, 1024, dtype=torch.float16) + +# Perform inference +output = model(dummpy_input) +print("BitBLAS output:", output) +# Please checkout the correctness evaluation code in `testing/python/module/test_bitblas_linear.py` ``` -The latency will be reduced after tuning. We re-implement OSDI'22 paper Roller to do fast tuning with hardware information. Typically, the 20 candidates is good enough. -#### Tune with Dynamic Symbolic +we also provide repack interface to repack the pretrained weight of AutoGPTQ into the format of BitBLAS. Here is an example to repack the pretrained weight of AutoGPTQ: ```python -matmul_config = MatmulConfig( - M=[1, 1024], - N=N, - K=K, - in_dtype=in_dtype, - out_dtype=out_dtype, - accum_dtype=accum_dtype, - with_bias=with_bias, - propagate_a=propagate_a, - propagate_b=propagate_b, - layout=layout, +# !pip install auto-gptq +import bitblas +import torch +from auto_gptq.nn_modules.qlinear.qlinear_cuda_old import ( + QuantLinear as CudaOldQuantLinear, ) -``` -#### Tune with FPA INTB Operators -Generate High Performance Kernel for WeightOnly Quantization. +in_features = 1024 +out_features = 1024 +group_size = 128 -```python -from bitblas.ops.matmul_dequantize import ( - MatmulWeightOnlyDequantize, - MatmulWeightOnlyDequantizeConfig, +original_w, linear, s, qw = bitblas.quantization.gen_quant4( + in_features, out_features, group_size ) -matmul_config = MatmulWeightOnlyDequantizeConfig( - M=M, - N=N, - K=K, - in_dtype=in_dtype, - out_dtype=out_dtype, - accum_dtype=accum_dtype, - bit=bit, - storage_dtype=storage_dtype, - source_format=source_format, - with_scaling=with_scaling, +zeros = torch.full((in_features // group_size, out_features), 7, dtype=torch.int32) + +cuda_old_linear = CudaOldQuantLinear( + bits=4, group_size=group_size, - fast_decoding=fast_decoding, - with_bias=with_bias, - propagate_a=propagate_a, - propagate_b=propagate_b, - layout=layout, + infeatures=in_features, + outfeatures=out_features, + bias=False, ) -matmul = MatmulWeightOnlyDequantize( - config=matmul_config, - target=target, +cuda_old_linear.pack(linear, s.T, zeros.T, g_idx=None) + +bitblas_linear = bitblas.Linear( + in_features=in_features, + out_features=out_features, + bias=False, + A_dtype="float16", # activation A dtype + W_dtype="uint4", # weight W dtype + accum_dtype="float16", # accumulation dtype + out_dtype="float16", # output dtype + # configs for weight only quantization + group_size=group_size, # setting for grouped quantization + with_scaling=True, # setting for scaling factor + with_zeros=True, # setting for zeros + zeros_mode="quantized", # setting for how to calculating zeros ) -``` +# Repack weights from CudaOldQuantLinear to BitBLAS linear module +bitblas_linear.repack_from_gptq(cuda_old_linear) + +# Prepare input data +m = 1 # Batch size +inp = torch.rand(m, in_features, dtype=torch.float16, device="cuda") + +# Move models to CUDA for execution +cuda_old_linear = cuda_old_linear.to("cuda") +bitblas_linear = bitblas_linear.to("cuda") + +# Perform inference without gradient calculations +with torch.no_grad(): + res_cuda_old = cuda_old_linear(inp) + res_bitblas = bitblas_linear(inp) + +print("CudaOldQuantLinear output:", res_cuda_old) +print("BitBLAS output:", res_bitblas) + +# Verify the outputs are close within specified tolerances +torch.testing.assert_close(res_bitblas, res_cuda_old, rtol=1e-0, atol=1e-1) +``` \ No newline at end of file diff --git a/format.sh b/format.sh new file mode 100755 index 000000000..b6974fa60 --- /dev/null +++ b/format.sh @@ -0,0 +1,185 @@ +#!/usr/bin/env bash + +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +# Usage: +# # Do work and commit your work. + +# # Format files that differ from origin/main. +# bash format.sh + +# # Commit changed files with message 'Run yapf and ruff' +# +# +# YAPF + Clang formatter (if installed). This script formats all changed files from the last mergebase. +# You are encouraged to run this locally before pushing changes for review. + +# Cause the script to exit if a single command fails +set -eo pipefail + +# this stops git rev-parse from failing if we run this from the .git directory +builtin cd "$(dirname "${BASH_SOURCE:-$0}")" +ROOT="$(git rev-parse --show-toplevel)" +builtin cd "$ROOT" || exit 1 + +YAPF_VERSION=$(yapf --version | awk '{print $2}') +RUFF_VERSION=$(ruff --version | awk '{print $2}') +CODESPELL_VERSION=$(codespell --version) + +# # params: tool name, tool version, required version +tool_version_check() { + if [[ $2 != $3 ]]; then + echo "Wrong $1 version installed: $3 is required, not $2." + exit 1 + fi +} + +tool_version_check "yapf" $YAPF_VERSION "$(grep yapf requirements-dev.txt | cut -d'=' -f3)" +tool_version_check "ruff" $RUFF_VERSION "$(grep "ruff==" requirements-dev.txt | cut -d'=' -f3)" +tool_version_check "codespell" "$CODESPELL_VERSION" "$(grep codespell requirements-dev.txt | cut -d'=' -f3)" + +echo 'bitblas yapf: Check Start' + +YAPF_FLAGS=( + '--recursive' + '--parallel' +) + +YAPF_EXCLUDES=( + '--exclude' 'build/**' +) + +# Format specified files +format() { + yapf --in-place "${YAPF_FLAGS[@]}" "$@" +} + +# Format files that differ from main branch. Ignores dirs that are not slated +# for autoformat yet. +format_changed() { + # The `if` guard ensures that the list of filenames is not empty, which + # could cause yapf to receive 0 positional arguments, making it hang + # waiting for STDIN. + # + # `diff-filter=ACM` and $MERGEBASE is to ensure we only format files that + # exist on both branches. + MERGEBASE="$(git merge-base origin/main HEAD)" + + if ! git diff --diff-filter=ACM --quiet --exit-code "$MERGEBASE" -- '*.py' '*.pyi' &>/dev/null; then + git diff --name-only --diff-filter=ACM "$MERGEBASE" -- '*.py' '*.pyi' | xargs -P 5 \ + yapf --in-place "${YAPF_EXCLUDES[@]}" "${YAPF_FLAGS[@]}" + fi + +} + +# Format all files +format_all() { + yapf --in-place "${YAPF_FLAGS[@]}" "${YAPF_EXCLUDES[@]}" . +} + +## This flag formats individual files. --files *must* be the first command line +## arg to use this option. +if [[ "$1" == '--files' ]]; then + format "${@:2}" + # If `--all` is passed, then any further arguments are ignored and the + # entire python directory is formatted. +elif [[ "$1" == '--all' ]]; then + format_all +else + # Format only the files that changed in last commit. + format_changed +fi +echo 'bitblas yapf: Done' + +echo 'bitblas codespell: Check Start' +# check spelling of specified files +spell_check() { + codespell "$@" +} + +spell_check_all(){ + codespell --toml pyproject.toml +} + +# Spelling check of files that differ from main branch. +spell_check_changed() { + # The `if` guard ensures that the list of filenames is not empty, which + # could cause ruff to receive 0 positional arguments, making it hang + # waiting for STDIN. + # + # `diff-filter=ACM` and $MERGEBASE is to ensure we only lint files that + # exist on both branches. + MERGEBASE="$(git merge-base origin/main HEAD)" + + if ! git diff --diff-filter=ACM --quiet --exit-code "$MERGEBASE" -- '*.py' '*.pyi' &>/dev/null; then + git diff --name-only --diff-filter=ACM "$MERGEBASE" -- '*.py' '*.pyi' | xargs \ + codespell + fi +} + +# Run Codespell +## This flag runs spell check of individual files. --files *must* be the first command line +## arg to use this option. +if [[ "$1" == '--files' ]]; then + spell_check "${@:2}" + # If `--all` is passed, then any further arguments are ignored and the + # entire python directory is linted. +elif [[ "$1" == '--all' ]]; then + spell_check_all +else + # Check spelling only of the files that changed in last commit. + spell_check_changed +fi +echo 'BitBLAS codespell: Done' + +echo 'bitblas ruff: Check Start' +# Lint specified files +lint() { + ruff "$@" +} + +# Lint files that differ from main branch. Ignores dirs that are not slated +# for autolint yet. +lint_changed() { + # The `if` guard ensures that the list of filenames is not empty, which + # could cause ruff to receive 0 positional arguments, making it hang + # waiting for STDIN. + # + # `diff-filter=ACM` and $MERGEBASE is to ensure we only lint files that + # exist on both branches. + MERGEBASE="$(git merge-base origin/main HEAD)" + + if ! git diff --diff-filter=ACM --quiet --exit-code "$MERGEBASE" -- '*.py' '*.pyi' &>/dev/null; then + git diff --name-only --diff-filter=ACM "$MERGEBASE" -- '*.py' '*.pyi' | xargs \ + ruff + fi + +} + +# Run Ruff +### This flag lints individual files. --files *must* be the first command line +### arg to use this option. +if [[ "$1" == '--files' ]]; then + lint "${@:2}" + # If `--all` is passed, then any further arguments are ignored and the + # entire python directory is linted. +elif [[ "$1" == '--all' ]]; then + lint BitBLAS tests +else + # Format only the files that changed in last commit. + lint_changed +fi + +if ! git diff --quiet &>/dev/null; then + echo 'Reformatted files. Please review and stage the changes.' + echo 'Changes not staged for commit:' + echo + git --no-pager diff --name-only + + exit 1 +fi + +echo 'bitblas ruff: Done' + +echo 'bitblas: All checks passed' diff --git a/images/figures/end2end_llama_13b_auto_gptq.png b/images/figures/end2end_llama_13b_auto_gptq.png new file mode 100644 index 0000000000000000000000000000000000000000..ff003f089aa807e660ab6ffae6730405734af548 GIT binary patch literal 109299 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

_ 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�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 literal 0 HcmV?d00001 diff --git a/images/figures/end2end_llama_70B_vllm.png b/images/figures/end2end_llama_70B_vllm.png new file mode 100644 index 0000000000000000000000000000000000000000..33b237d0053fc25fdc70cf0674e1e4ce43670e6c GIT binary patch literal 80706 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 Ln^Vc=z;pisFf;W4 literal 0 HcmV?d00001 diff --git a/images/figures/end2end_llama_70b_auto_gptq.png b/images/figures/end2end_llama_70b_auto_gptq.png new file mode 100644 index 0000000000000000000000000000000000000000..f3942a158518e01ba3911b4f1859ad9009b23781 GIT binary patch literal 107405 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 z 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 j1O8tFqyMiT*P{4ORnI1uj1PfQ{21!b(+i)zV( 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�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

D`Dlqj0| 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 z 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 b7wg;n#JDR59c@dAdOUSyEv3v8Mt=VT_tpOF diff --git a/images/figures/op_benchmark_3090_fp16_gemm.png b/images/figures/op_benchmark_3090_fp16_gemm.png index a21e64567362379c921a7cb042b0e05982cbfee1..f4ca056281e150ebe76985aa7c5bb1ddb5a2846c 100644 GIT binary patch literal 94685 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%0AH90clk&A3oH1S7=YA=mbO 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 M=I!baRL#%-UuHet@c;k- literal 90486 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%0DA=dRdt@Eq|W{Um!s7Zc~`D|@ZhC? z=Hpn;BKnMJu^RZZ6BsJs-?eMQKWt0U$!RB%RKZev#ws3VZ?xVD(Sq3#bGR(8jze`?}ACM7X*}AWhb^zkK=flFccR<2o)nFF)M~Zpg0ccvIRs)94?s@cY;G zAa$j;&6x|1+>**#8;#m9_DKw3ii_$pf<)A_*<*DzH6-sm*PJ-8fMbbLDCTPHx%xx) zwO6-A;Rn2VU!lHj%CU*z$LaKxhRuUJH{=w}ScJjJs%i9gUW&NY5ZlFr=R4Gh96^3> z<@sM7W8PumOnDYv&>58f(GVu5YuL@YF?6hg+#~?yP7HR?(9)8rT!JY8yMxIc#)fY_ za>&(H5|$8!0(F=~b61x)lFAFA2JzX=H|kGO0?}-ep+r)63)DCDO@FM7;)&{S^x9=C znpUq!t9N9>4?pfvt-f%#Kg0cVRtn-LVg>YJ`?FExB z_f8r`9{-@ipL^L7#LrD;N&U76BN>6vkgfW1CB*l^tw*X}J1f?-6ivNHtrrR>83eH7Ztx2LDTSh4PGzil z@St@>NbV-2!Vf+kLOGp<*F~W~JV8|QisvqqL_!hdeWg&EF9EAwEEIu-cfWw{mE1Qr z9-b)lCQCezfNtHo%m2i3Q??xG6FkRb z#Y>TX26u}npIDa5NB|IoztybVlUYSDC=2U<=(zp`gJEQx$ZKj8zz+f~4(EpNcL+g@)*JB+*Zd>U?G z-?(*@2L%q$r8VD<{n9#~tlUUoO~OJB!hlm!R@P0?;wJY6ndB8fM#QcIU9EpF9&+W1 zh6qVbr|M(+r^QB&{>+&(`OG4S(J|2|HvL8sMlaU$+76?=E91Z~7gtx7lvrINmzrex zt=WZy5}vA|)~RX%+^b!>1bsAJaLvvA(i#ehx-8&H?`GyO@nY3*Q{-%CY4OYU>*(TL z{tIgYe}1xJ0AH$thsAgMH5t*$47~`pW=VM3?$fJ}>gkaOTM(cKTxfZR=;tI{0Q^So zS5;Z+hNK*FcGWkqO}h=OSnyhIZ9FU{M1Ni+;T)vjr1i!}pJKCLS<>_BjjF`(ZZ2YA z2rMEnOkfh{(BOyURczv>SIHA%P)3kgufcW+B2y#>MnhI1F{g+fu@iG2c(lp^D>+Dj zgzb^RE*JvTui_kZyc!h2Nr`m?x>5B&@gnqXNsZSHFK$WjB!+6|`@a61)*JG< zO8!M(j;dN?gJiLv+EQ7PBT3|gY39j~4GxCF;Qv-O)2X)*cj_$k&Pt$=Jo!J(#*X9} zI~!ETHr{u zSi1?l%!CpZ@{?B~nn6FEtXik=;`8TYlNF%6`OisAa<#@HE z*o8-AP{@$@wbvcI|miFhTv=tO0B)Cj&d^?Rtj}YUB z>>0#o^y8UnsLk(AOZq)*p2Ji*iMi8 zEx||XxpJrvcZURhJjcx`FQA!Bfc|8<IVdd;CB!9huqw$8!F*_IDO+b z^|K81ih)Ze3|Q{$C&KhGDcPD3(=88c+*(vw-nw;u8EnHDyvBDZ&RsM zNz=W$LB#I=y-ykuZ9+h?O+MfeL*#-{o{!#n^gs%MXT?l=@DNX^8F=Cn!eFZi8brZi zZ(-YebMdjTfex24jp9}(xsT|N-%*29&Ysl z+C3D}VqrOmCwJlhIAq+n6H^YhMK@>+d9+haelnDjov`TTO0Qp6jpuK%JDOQ^Blz)k zE}GUx#!7!v@0)!BiId*(xM)!qzlQqlCm&1ci`o7B*o8>=aoOT58x$?X`m3wUKb1Q| z`w9pM(2U(lMU)UUFCu)zoDd;Y8X3*v7bRqR7K>+vr;p5H0SNho+t;1nV!GnmLcBJ9 z6J6+fn~J_6&;wB*$ovWJE#X2K>z_v~=)P|IX)CLX;A&Tff{Y9ed4V!fe&2cYI_hF% z=8Bz!?cI2jL~LC=Y-hy-Y1?96MC4vTzsN7+s>ehyB}b3XZ+Ei4 zQFgwZN#GL`)0$KuJw`enOX{@%FC5SF!ebHQ+8)@fiNajRkLPdU|DC=zlP!rM(#x~) z2&Hi0!A5&u`2*we#_PA{*)YR;t_^@)-!m1=E^exSVw)N}CaPy4b>^DCq@Kt{d*!fS z+Gw?F-|iM4EdBN1$2YmQ*S9vN?QF2Uo`buFs62&2##R8N52b5+9g#TMY;s)d=$H0( z_OvyZ9^W6nhdt0-ZiWYnO$0AvZEL;$Mt$|z zYE;4(V22F(3b3Lz@9d(*h{$>#5|RU~3|qE@zou_R{51_$v|Sh)YRf5uVNO`g`u1%J z0(wZ%G^MTi!P&gd+12%p2YzPL#nONV_-4o+pICKx&W+X8Evr2HoWT=%8WMPEvHN;p zbm$8*0f_}M(v=79!9)%pLqcIY#N%*%Gxgq4{Z3x>J<7uLM&jr-u zkgODNK~M1X>7(qr798`AuDUF$?FM!}mZ7&X6GE3O#^D9P4Up!#9tFerqcK5Ti!XH>R){F>pfD5{?Yvui*f_8MoKI5QAiBZJY|P~0 z?St_mLaV5L|60sRxNRCHU~zkt%JTa7tDv&+Ny!l#_i#(>A3{bb#9F#8-`HkoX!rsT z<|=gTA{i){X!PsWMfnzb%}ol%D>NRd2Cg^Y`fxT3LQ+yfN7v-)P;9sy>`JN zMGWE!%09bySA(7$dw$o@GqEivS^FIG5>t5hPR(3K*!9ZCbkLY%CTDgkfQi(Sq;cAX zZ4kc)mJFbA$aX#*V_vVTh(}-S2cO;;6CTb;KsONacVac5HGM$i#fA}PKtrTKRf*_> znsX86`j$ciJkAnm{Y2^5$Vg^k3G2=5(Iw=qj%6Ke{_&rnC+1lq9z5Wk8fww@)ncNl z7gi?cIBQdXPtTStAC>v!F@eOi|5-E#>mBMS;5&VhwZ?Zj=h6*FwU=8Bfkn)NXPl+A4)SS|wtL zB_uf595D`W`(NmwHM$B&3EXt;s}QravdYEK4W)QUT3wx!@&Xn`O}kghx}V665r~S> zA>Sb~`;3ZMGyMuZ_sn?4lh>ktNA}q^00jR&?>5|Tt$gCH!zT>`90{DOw|lzUHWSciRpCz&D3gFOo(-h-`8TW|)U#-3DCl3W3? zU)XEhJLCM})p{D5C$sO&7Y53D7LMkw^9zT#@6ol?(up!WnCI8m@JCQ-tg9ls(4Fc9 zz>zbux_G9-^t9j03z+l-wxgopb#HXcfSHM8y}dibu?xWFO}yOm7b0;G_s0?Y4!7gM zp^9hcfC(BT^*4o(XAA9vnBydo2mFS|tx1rF%@uZfGotONAX5M{#i^&7o=p6#uHZo;QnTJHC3Y7}k2$gx< zhL9wg6*47d%siINB9vK~GmpP(RnPmrpZEJYe*b-sl)7UynOS1 z=$hksCEibzern4hRziV_Qi*~O!X#!12|Ad?Iv80^xdrgIYoK7|@M;i(Cb)Y5Zq>jR z(}Y|oqy==Qv>`e-QmT=L$CGsv0N@CIiiD0v7(-nj>HxR&*UdolSDzmdTwRkOZHiJ2 zU>PtNs76KNJKuqDBCz3af)l+5WxC<~14FJEs7q1+ z6BWQhW&jNWWgHgFhk*f{S`>fS8#{1X`~H+8@4LYhMe2lbgoH*#`G7G&f??rrFT>MA zvIgKQeg|V|!_^0LJqoDnz-ghT!4QO#D*7Pux3Dnaw$i`539`ecZSHCC#DQA=(zr7N zZ+7I4K$Wio9DR^EG{s=R|GE9Wav!9thEOsLQ00+!QedcS;JX0eeN4XbXuE6{ z;l;rrp8mo8c_0+1c-2%YArwSB^d}OIyukAE1DEZ}{7?-PHgdaeqUvA>Mn?=PbO6Kt zjxv5w!vu<7w%CFqNY)*Od8mOR%F?n?@)K#dqU5_U5wcJ($+2pp!MxXIAlbWDd4LG$ zEffX=P>NMr8V49PU&0OGgw?_+iR6$_`3IQtu4Rsnu&2PYdI;Fb#$n)y0@)6w7{Te+ z{iZAj;XJ=d2`waj!Z#&UGnU3f%&x9%?>p8}A$W}#72rly3#(KUy!PEq1&~KVruG`$ zXOx%~1{ni(PR=0|#yfukApTE9nZKd@LRKGaHDJf@19N0}MRGy%H4ix%*;&vi4cOc= zgW@>Y+Jk&YyuegL>g-E8dEajHCvb z07?-dyaAh1h)&FNWmClKh5S7R1G~)8q#cS10~L@t3yp~I1idE&1%iAC%%~)!m+pY* z7LvpSpmi+*GlYg>V$?~%i-mk~A_6`36$(PeTq`w=;r?+ZZ)^H-s-MyTRecg0Gps9j zk~2GgpHtdG&Sw!DflDWpbj%Nqh~I_Z$#aTUt$3VhxAqVmPWq^gfI%o@jY~%gB zH~z3<($%a$xAL*EtEgCb-GKJT$vIzQVf08VlQ)#VsQ{^T+F+}Pfm{Tt$|86KlBp?p4PGz;Ga{fK!rCFELhYDFoiQMl0dbFXDIwy^ zOb)wWOGQP+{(9?6k`fkd(8QZ9Fs+F3iFvQGPw~+lEO;~_@OF2$H=SXHkV0x+9ujik z#DZ#I5IifSnfkj73)IWtrInxESX5O<&mIz~#-%RQaH2qV9j#ADmurHs4q)Psq1S+i z@coBTiHDMUXZFtX%J;rbS8k=o>)sm?7bhG!YQ5-&4-P(e$f^C^sxpYhR#fbQrG=E= z&|v^eoqBy12oO~lA-F-9FqDe|nbCx9Hjr}m%Fh=CUY|dZP0WF#Pa?hy=lubwU6F=L z?s;JTcHc`#Es($&4+kRBQ9vYqgc^lY%p4p$M7`ezmLDQo0tp8+);yWXppx?d#P?7} z1`hoMNDGi`AzjOqK=q6Kw`3J+K7reOcE;!!_)) zsKrFu)8c%0eozr5_+j~da84_zkiMtNdQZWN@#%EL8Ug>SfHQ7 z0CrIkG(>k9L80hhAC`pwfk70wD}`XdK&~K%DjB3#6Cn&jRRgex!6>H>Ij1uaVNOj= zEq=E759nCpP!%Nr4&U7Pas=Vb;J5?4!Y*6epK_fR@T^hJ6do>e9Z>2Ag%{ue0-O+` zHs(H_9-Mf;^sh0&7d~8nk(LKRg^&c!(9h#_NVft+GRXiS7x4M>XV%Wq@o`cNY?&^l z_J6}M>oJ5A(IDIkcsor<31JXJU+AvdzhB_z=TNtoB`gHe1P3v5b94XeFQZOeK7fIu z$$$Uy8VW8W*^wcIj5)$-gS?$Ogt2Qce;wGrUluTVi=FuYoR{5q;9?3uTdH}?qs<)A zfMPaybo9k4|9QU>!yvn~9~GEE@e)o;R6BvfJyD|%vRAhEjr;25{^LzqR75%XvMs}zjhZvs!$TCarouSmk?l(f_?Bt;B?58!4eeJ z;``4*EY=|jy|y#}9HL~?&=#QKF=s)Wt-7vkb3qNnx%VK^gJ7^1KnIXZd5)Mz;A^3> z5mao2fG{7t(Fb6<=cc%nSgaDXKa;RDkw=vHWhq0+LDlx{e+@Mv4h-8bzq2 zH&MT{AOE^lRk|3^`O2l2)zMp9TibBt$JvKls;R&=&z%Fh&3QVMX?T^#_l$K_k-Q^lvhwpWmY2Z`=~xSYvlYTFV^& z=6kT3e}?1oFXZzm5=sJ)kPvj^Kp#4)27qSN5knbQ$WA=~Hwq=h!TtSbMYD%NI!msq z@^gwSCgh(Q+>x+WAViSE@kBCs0X7MEmzHx|6q=J&!&H=%qrUs)cpoEvzyl!j0)Mz5 zN)pl}1Fo}Da11Jq&O?q7xvGeRD%F3>DDKYfK@EpV+y{1+u<*ao zs(F~p9+{B^28OSN+Jak2n)zKW*EuL7tpbK0KPn^Y<24}5X{=5W{s|n0!x-QUR>0wU zGAgWTlolYOfB=WV06@^*u%DY9yMeUZMM}2`;nj9d>S1DumE@N4Fc?cyi#s_R;3cwQ70V2-!vlzO#h{lC;0D4x!QCQb)%PIh%QeQy*1? zMtR|z@sG;VW{2OnDOi$~gcmLjP2A(Xx#(EpLW2v*%)9|^!QkWhDFAoyIjV-KU*Y*SO<@Rla(*W4M3 zco*Eb#uJUmY}cBl&77o7xE_7^&fxyY>4%itZ1c2^VdvNj7nIRa$-Q!!_W!aa@)kqb_2m3NlSgeuKh=TCATxL}@05fN?~luA#fq!P*Rv+iEAonSa% zC~}f#s`>ac7Wtjk4NpJSfJ%n!GvpXb&4wD7(6y_@Ad3G z^Q9M5Gu72v@hX%5=n6Nxa z$qy=tkB7K6A~pzArQqG;NxXzosa>C91d-HD6Jp*YR>v`m93O; z+(m-_0hjB`Mc$BMU5i;811SeQ!;KrA&+YRHssyXJ%s0Dq->om^4#4n*aqp9Z!gn7y ztrd`ze9*Iwuf1}%IMtiY9&D1(@}NCNS>wX+pgk+=9yp90#sJ0$@Ky%M1DrxFQXqGl z5ecQ@3MhyabRlhEP-8g;`wvumd{|-u-~Rk0kBQH-!{px@OnCbbI+xh!6_DtaNaB{e zx{R96^z@j2%<+FR_mkK7fUC}kTll>o-VYguV?9Pj6;)pfJ}gPt z@7+bY{|=PY`C)z%^B#J%`1`5K0OjE#Gz0Jix(g`Fk%^1HvZVlQ9UC_{8Hnx}y(IyJ z3ke3wKW8EDd9YV6@e$Rinqc-sr_A$e*0xU+TS>YFMyt+qt~mvHyg8Yr1*i0|aSyN_ zmpp$FXOFqWCo>Lf5;ix?j0hzn0#i(>H9cE&!9i0DIu8e??<&bHS%rY@&0 zx7yw`^M|Fw%=fLazXWQ(_MdXGFXraCL%ePps&<82w~Z4Q(MmM0-^l4Q<2Aj+$Cr8E z34iW}LF1{i#h`g^2~Jsca-x2!_g2-L9FK`(-I81)3_Nvww&ZFm<01!KOJ0pk8KuLS zpt=2oIhhru8bI#kU|eDBDO-puC#MCk0xgiM|u_nYsh?}&J++ZvrBQ4VCH40m6v(4S6BdV5<|0$ zZLi!;kkRUrjAkuA)%t$my@PsBl=MEv>;q4G4H9zd_$~{6;QX`FlUyOo21woD{)4QT z^|i2Vp#{Z+l^r3G#LsW#>Z?%K!UC)=FZw6O8EETx8Xi^(e=!O$KN)ihfuk3JNrp0cVAF2Llosw_( zS~m#pmus8kGb6vQ(YyR(BgEtfXaDsdOaL;qzsr8pv}ag1ggMKdm9;Gx9qLw1P}LQ( zYNXNuwjn~@gKZ6Cn^)Vbc}MI1W6XWO< zqr>ZrH^PyG>#vI0wTxT&M(WA81mREzfr@H4B<7&tZFx001HS|Qy}629_~N$ar-5Aq zqhC95-TFJsll&lRonmpJHi>p(Va4;{1ywxYtn)pnj{bgRW=1D#JdcUdV~5R*7HZkF z<@p!gN*bG^#N@&t`l{N?a@-h5mVmt42lb?rx4zQCX`lpU#J#c@3`7@A^#bf|>OWMD zX5XE8(q}6K8CgFf^%!~ff(|`(oUu@0_m!#GljN_VPP{vn5-WH}=9VgN4RxvameWSB z;@9_gj+g0Xu!7$TsP;$OUwNdniIZN+5+(6>10=<@leRyo^dw`$|do#&H_ty`(EWV@R`Hdhal`21i>K4FJ{j(58{ z#TjWGU)8w=(AEhp{@VTb-I{g?N66S3m=wkC^?fVxs?ZL$&2GQi_Pw%`>5W7X|}vd*J3sC zlK?&pgy0pY$W*eQ%Xow!1QeVPkOtd>xs&_?P76eux!HRXup-TVS?q1W9j9b(@Mj6- zIVvF(=P@~^A0_c!owmcnpGv=7vB=0yjaG$ge5VsgRkXo_T_zva#4jvkfx!f^W>wEe z-u#7Hd3v{H;${799=SlZ(=X>=427M>iNuUGbu4zukYr!d>EMjE2_SS>f3pL^8!c9Q zc+_y89>Cy+j1RLJIes>JonFT$$@eqyBm}o_K*g9h53q!Ye+-CVc}NQh1G)ktW_S=l zUr&I(OXgpIyDcoP%n^QqEd|cE*4%q;aVzNa^RJP9^Fjg)F&0K|f}2~tz#IzUeConT zQx*FbEuZFi&^~9yfuB`->wv7IrG{*e%)yqX`~&w(N`v|juFKR`Ro7bzwclltH}RG- z`Ep4VEetXUpA-7a+~}Fy7AXPo9|R=HAwZcyunKak03HKPZ*piK5du|!QE#AITw-plTCzTV@)md#?UiBTsfy8I;tE!W zBA8RXRVdmkBW5_y4W<7fNM45ER$>EmXAprBmNB?KkfApR`9GjDav<&lR9fhY{S`>i z%Jlv_b!S9;l_ha$>IWm3e}|3=HI0x8coE*z(6Ao}nw0=G3+|^%G*3G-X_BO|$Ktg2 z2f`CNfNY}tEO387IO1SYHe@|nxVh_JY;aG)8~zhNFFm6wuTdob>FXKE?3SZb@13DNdd zWh(jX(cPzTQXbo>7pGaRe=l>{WX28BuzOQX3OZVI1Vsg%P4t*bp+<&;jdCEH0u9s- zK^++}i{QwHm*eaKMe_Iz)ctTmJZv6E^5hu)}HtoVEw(jgOFAziUau<3rN^NZch#v zcnBU1WtocZ?(UxR93uP2nFcpz@724xe?KJxOHc^+`>6)~xfKX^CiJgf)eB4gOw`a& zkTc>13|rUXTZc7ltj>5#N9y8DCNDtA14we_b6a!fB#CVgVU`2IUB1$qsEArQp!^^t z!XONlKM_3)DeurNkKS^CQ&IvFXreot2^1rOzS<-X9gU$yMuBp6$9>c;$hQ4B^)ut3 z?sSnLSY%*Q%jmPKV1*sSc2h%7@@D&*<+r z7FVS`lQgkkIXmm~(ah|YiLqdUj<60s{Wgrn+>dbayD*Gove<(?HLarb9o>awCI3n5 z`lu#dclwEZk7{S6|8PM_L6gYHku9Aqw%eGdHf_F^yz6drRJ<`X9lLtdi-xPz zIAJ5XuoLec6>6$lYxRbQ*MBgnKUdRlZP+J8f3kD+ne>osn-n=#Nl#DgxA~3#xA_%t zXAn~TX?JRwI8;ZVK;nYoty6u4SV$=QsB>0~%gYl4$-* zAUZrOB-(%8yVv)9jA6oCzCipl;{zq3`P^Hc4pndmI-6=r=Z@0T2O{nVBrshv@}aJW zATWs22?Ju4kSRET)3{ zfiL+l%+O)}*KMz+Ib>#fc6Ydr^Pgj5VasVK!Y*f_f5kDRuF+{wsdIt)V9$D+;*V>E zIa^8L`L<@UdYrI9*r|d0{|b4KD1b)11AvRkbwir$A?(u%01iPL7ccJ`4-alAXe+%d zF8*!egMvDg@?TQf=;z~TN<~%gt|`t2$rV3cI@pt#7yMs#RB4_7IVeblqa4(tDOmBK zEiE-_7b z_3+7XbrW$((gv$0d*0)o7RYS>J-U7yAA(le^qvQcnd*3=;5!D4&K({sy_y>4LwnBz zYeCpai=BU4d-P|Cd5Cm-2sLWJT>onD>wZ5XXaLz98WHy=bHR1-6pHOjY7zKC$q&IbNYRbwFn90K5f^gX*1Q|di z4)7@=zoPm!=;~zPqky~rzFIL@fS>={w-+vsTF_M@JR*XlumV6EQ9I?k4OxIU4lvUp zxA(?}S(HLnR{?4d=(lep$u6DRNJRZ;1bbmcm!6x(3QU>h)oXh&k4*8A#@$u=J8s9- z)U|`X;Shihj>F^Cy}fjxKf+4{0Y7FyTQ8J>{L_`FYx7Ih)e3-YQSKdpTseR{;1yO@ zaAC#K+|8ly->zhfL<(Y{FD9GhrQU0eU%ws<33)aDczlGJgY9yO=@UY-)m2ut=UG~5 zZw&zB13qR3o)bE59_aua27Kh?YHk^)q@^L6bQ8^wWCpf{K<~)Nlqd_Y#g@lON$Z`y zJjW+P`P@<+f|cGHhjcU_jI8?===<10!Tm0gQiGQ`ieo#%QP>BXzc&TGLUP8^a>SW& zt-7kF#&BBr{OFt9w{Nv1&%w>JNVROdu*HYBw}&Qe#x!!#Xb~yb?%clp`EF2sSDrU7 z$XG5}co~NzvrpFD2k9U{jl9H1LH7$d$5i@kCC{;^WUL5W9=anq^j^c`v})T5*-f{q z%1Yy=6|%{A9#>b%f;#mj+At=-dKA<-teNmExhlBV@o;e|9U5c{cUZ-lCAbHLHibpK zTyy)J;;~o8!$+ZfM>@85-G_&X?W7y=GYyuW-d13cE!iU#$p0NUHPs94EWb_KcpI0ah4AMQF5XEg~ zg{l337dr&QE9MH%ow)37dp$9mfL`27wJ603!<(L^)AZ-0INktwoP9CsoDldNzrh6D zOgS^@F$nW%Fl68Ywy&bZ>^_VfU_LlH^#RuryaVX>eNIkJsNF9(WHw7MZE6GVKxVY* zvjcp6nwW9%z4KWiAO@y9PzJUKNgwGBpxzyEz27D$UoN{#NJyv-4D|J>DPIWETXUN2 z(v9n#8wSh=p#9}eIbpwl>TdFuG!;DNQ*b>^n=!!SqnqimpP#LYfe)HqV-5sHiB6B!Ig)aGk?>V}0qzfl2>X-ucyG&z1w!cI$FDpY#H~V`D+Up(E2!TL1@uShHx)uoV2p+Iu_Hl zk_k5$P8p`%gw$IW4G~JQ4Sm3j1flHoYSf!fq96frd2>;>Qw_(FU_}@6HyV8&s}&nI zZo~P7>ytXZG3u!_#KseCrb^JD(TE?tkv2VQTGVwKYUb>AcA$?%gBt0bPXnJaM|Ro~ z*xYgp%K;V&P=l&A*xXp#9oKuYI6Upj^E4U#Ru-BE+ht1JbxFY0lPLHO8R+)aIOQM9 zaQi7;f`?}ZleFpYZND{4zs$EnFnny`mG}Ac#kgM7th+!0AbE+}jLsGas}uKD5Jqjp z&#RZ2uFbe|>#}Yjbj^+)nRZ>CNWJ&WNR04I<0j#kqfCNFgr3co{Eu>Yxal>BkuA}g zaONC$oqTi|G+s!h2?PYpj}9L}>Dbpaf#|a~qhP#G`qm+*H@T4|r3We2Ph0CI6DEdX zK^r{o7^HLF@OfQ+3Nk1GR9LsIu6lZ6-uk5^?)lH%cEKgN+%L;dEz~9nm7jV%9JaD? zOLk{*=@KL+tdfar)2nIg?MH-8i~4%UI9Jd=O;?go zAHPE8Jj@bJI3<9wOu5E7ugd^VtuXFtUbxdK-F{x_cUyQTogCreu+uchU$$jW?0b-0 zPk?RovN|dGrG5>mu5r`w=jjZLIv4KCU2FYN-ej&67GcT57*z*6Btcn_2hM@(a(?~f z#9`-+bN5mg2_u$GVXM3vCGi5$Y$6FGSstBbSEcwFgbv8W_XyUqi7Br8(Yk4cC>a$k z^119{7U!glq1oB$Z;5Jhq&ubbYGL`%Wy{pmjKxD3<<9Q`uG+#yj!GwgxiKagIq6I? z)xKaLW;$5wZ|#9o$R;;bqO$R^L*`{BQ__RGFiCat;xvclZzdk~|6RZEtyZRJQ)#@K*C6`PYz!yZ@r}V z12KRj(J`$+!)6^F9Tp=436MRpXss9b(+H}`94za$?$ewmO|TC3K|cUi=yzQ?2Y+>n zne{6qQH&ep*Kj0k5HpN21{LG zMM`o^kHcNA!^To4ocrv2?vuF2e&rEYwZY%u7sy?WYo+Z=&8HFR5+%DjpB^W@+#J{0T z^K4P;t?g<&7nC5U>cV?2d$k@TaFT)a=T7QV?dqhb#iV-A@K+u$bDL9cPDz&yyf*+K z%OG8&``7#<(ek$@-h2C`ocVHi^BC5G^E37Q>g|4Y1&&&1LAF-tQ<>u1ohx)blI7`j zAL7z>Z{$hALI8$EsB`;AuU~wL0Kd@o`G81_`U3uQ zQC@B?G}7_;r2pppA4$?0P^mzipMr6H$XkJ88wE7<6fA|0~^JH8I1!oo~Cl zisk@4S_qGoRtG7 z7NwW7?mL+I87}hO|dZEcUTjEtwrb!GGqOT9S{5eIQXAN# z&pT`7J`YtmO?tP`sF;v+FWN{6^N1nMtaV!(H+fTA3NhRM!y=;g^KvJ&FH3UEfHEX+ zF6M58s<6tP@F6qnTf6wwI$Ip|?$L8!Gbv%FW5w+tT17dqilvtcqVO zAW6t~rH(BB-rL38L4{SbC+`^(*SmW48k-c~(eCHcG{a$ocT`Q$o5($9Q(E7V(bgJD z*t{gqBE=_v!}Bg9h&I2wJ;VM==QV#+=Qy2LqZ?cKDY8>F^7EJEV}=TS9up?)56O)Z zlCN&A#PD+CoIPwYJ50{6Px7AR1a+T##rZh4_{X3#_1-#5X-_ImhfTx0nus>j`u z`qjfpaS!P%5?W4?MOuW##Ch|lglX)nVVi|r$vdypksyFuH}V=(&JHf2Rx^8{c<1eOQ_+W6S9Xx7fK72ij%0Y2YR<~O1G_P?ERkVw zqy()eJ9pDZ>D4`~HA#2h2PlRpX%e;dXrgkoBw}6=2@`bWYHCfaThoDX9zN=C3jDp< z2*vuE{*Va~|Jux_d@B}0(_XB>WeD90EXrQbU)L>->a{4UO-dhR8`3_KdwaH#wWbP= z4guWRnFeZ}cxQ6*K-QJuLJ6BjAlrO{dyo zsHg=x(*WFIAIo?O)4rZxxIZP zfrb;OxQ$~G)jl3)_=I3!X!P>(DjPJE)Mc`(9~CD%M9wFKTi?z~P?4R#UH{7|4Gu5^ zf+capfNH6b1k*F3vN}nJ%w9q3Tg(+JYo0YnTG+UpYc*B9T3fpnFAr;KwHWd?ZDoDm zjj`E(Gch~_l_mh$+3}i$=O$9=1;_I{NcQ;!1t}oy`*GAQ(r!>1vI>ZScJ78%Lz)3G zgPW_5dVzC)`M`U!Zy4)1$eqcXHW+!A%ww3>e(0Iw)q@w(@5tA9CW|_tN~X`X?=2i0 zDGp2gcm_kmFTmApckORPpg!R3dCtgJT%3RMZpI!^bqQ)K4|ZQDYWMh)v*iwFPB1eI z@(qD_wcc`We)&iQbCB;X_+{cO0W~W6Ru(tWCiP&RdvECq78(XsK0Zwyz)a?{cI^f# z_yU_{4!BVncoRUCAH?BlAya~+!}20i@2oAhU!Vj|3uKmFu^(1(T30>C!>#dD$KhU8 zhSzn=@p|XB%cMcRlYXi}ts6w_C;>xpp-8&|uAMMzne~VjH^y;W;F5)i10Lh2LLt9M zgcb$J@usA<&GCQ|z*%Kwzk$Bj{s|f;JmJhx${SKq#AP3-g&db>+}ACSBh`gAy0!A8 zJ^{XfW&{{x6JY|C1mXMWYt*$#6i*n~6Wc=A06s`Bc0=gi(Ko#y_6+U<*MNR=XFq5$ z&gUYrR-lq%Fi?gY2JRcwt}bT$1ih+Cz}y8Q*$4naJ_12jK*rsH!W@)Blay_-S|{v9 z?Mpr0^L`2=O*u4dCb1Zosr#+ovl40@zS2q(6kQGi)zeTC6op5X$3mlKQ9fUjaal7^qcP zoR-ZoPI%m=}}LCO(z=R{BxkRUW)7-;~e`>n8XQLYdDFH2<0 zjOUYGzrzZvqG&MMr{S9-SzF~m%X>WKirFVhuOcA_{FA+5pF-hxoU+M~^z*HVDA1ZzP^Cr__>GRFaK@UT3mt%_3(C064CXYlW9PBtW? z`D01l-|aKcO$*Z+z-O58fiOaZr>cJVh^8TeyhfVTIJ8M=TL-JUxz7C%mrFFE%iK2C zJuqZeUld7Q$DKNKW)gQ~=?K=e^s{YTBQ3U{RsvU3@vWiPJUk{YxG0}X79X+QMqbRx2>Dct9Gj2>31Okj#IcV;^HpZ`I%Sn$)XB7 z^&2LU9TtJY;p0KR_fj};&VxJQv{;K^{I$PVOS^du-vKvTWzb+G&)WbckSYXl5`gBi zu()a;?Ar4gI-%VM@F!pdy;Ng>OZ1_;`xxpY2Pm;1VB}ap9TxS!m0ta}XXJ6)Q3Fet zgKlkZTkkDgGSt3D=PNClq`kcIC!4HljvvyFSTeb0SV5RLH@L+%>uTjkczhLBSgR8_ zA6Wwa^Fm|w_OfG0m~`^3Cx!l5ttov9u`1}T7}jTNRk{n zvZ8Jxwa{o9y3)IENkFl{x2MN|?9qz_K~N+`8VgVk4BAvp=NBGPSs4`E2~JPmTiUS? zqp7lgb*pjEC8LGvZxWhA0OxQ0(j_B1(+uyB*0LS8QrhN(AF=voeg@TR_;3r)7z)Y@ z)^@j|vhD+MZtPHG_{&IO1 z(HCG$FF^e<%UF#DQm8^9Y0|yIuT|3r)T5LO~nPClsmOsxp<-6>apP#$5 zDYP6~qfETQO*NnU^c7AoR47xoLO{x|{=WY`!3WRABlS%xpu+iW9(XdVx4%M#v%aOJ z4yl6H;am?QCGO{hq5b?Iv^R|>13zX`qo2SrGW#NA8eMqzPWRokLL9@9l1XE-}NeXzK@<6J2W*Yf^}TAYLPzk zTFoTlr-%NVqw#h|#G6(%J(_xtrmZ-*B`;cEKcrEO%gcdzpk(S{6Wd&or-A#qPJGq- zG-pu%OOjKx2FbS1r%GHN?PP9#$wA4crb?64S4y*NcY}5~7`>z{{R`@_DXu~g%(9u> zdQ=y7fc<%=$#qe1_@P0pLK3 zX~=9jApIyZZ#iIM+C+SRG1j4dp@wODj?_zzh5z!8nL>ZInC9)E?7TgZ2JbES#7bx zpGREx%FTGh-Y(7|)x1CaAT$v=K^PJ6IAi;dr{)Ow^Cx~0@T*l!+n?vg^FK-O4c&n* zIlC|*&k!h1&SB&Eg{u@J^x_h>xy1a4h<3Y?aa7DxpBR1h$_KalBL`Bof3GNV*J`Ha z&%_<~zt^1l=kiLMX4u5l>Rl{~S(#Jgg?30Zv!@B1s{XkhB7ULXudek(M!FxdWj9Mq zGk#JkC5P*I`KE+ra`L$njdQBJ&&%&0(KvxOYPc!E_~(X{Hm?vT<_EEcJ?O!q`~LH# zAJdd9Rrwj_1?6YJ_q`L-pw34ygG~a-=9aLJQ?w6V2n_Q780qKf`V_l3q^R?vqzSui&*w>H|b=qf~}w|LdBm2 z{9R)zfn;av-;=Ok>InXMy2q!i9{H%ZE)%8M=F{KJ0@HIyDJN@SpqgyFIIkPL+dN}^ zgF41kzgmhY|1Oe^9AAk)JK@iSPR(c@`=*q0vKE*3rVEBzCZkvQYA5N@i3Ek(f4Gh)?)I|_-@_qmS`QlD}xn#>Q&Y3 zHX4JcBn`aVUIiFLP1*dNh?z>9&413ae}}vvo7C=#D{q<{rItfEjImyFMY9|F=fWM9Gc=xEP@`c-J1PLpX@$nh;Kc7z)@&%Dh)>U>&{ta;r-rn zs%3uc?ZuPNV@M))~kvZ0o^^h!`jGny>mg}%AJpWoLI?)WJEX6%9!vjPf>rEAmyv_W! zh*PkXF00{IoKA^0$#dPW5Y_tYo(v8%tU(u~xusDnv$G+-y}g$B1gCzZSKI5b_3?LO zLEqm^jF{Fg%C_FR=0wylGs>K^8@})2vRY!YoZ}ZKRV%&X*H|9#)A{h0psN8_Tc4R# zYVxTPx-UUEJNJB@CDR&e7|xg!=7npW2CY-uH=m#BGhw0MtT!4DoN;cCld`-%z{Zut zI1rC7Xs|dH32V3uA0|ux$f3FU?Z~nY?C&=?Dc2SGM_juKgK68%1?6?I878?jWF$g2 zXB^azdjt-82+jh5fR&l#ohvco@!*ID3O#hhB%um zr;sdvGX7z7Sa^V0-BR$nm=9xjbZoH%7+M$UqY72HF?)L~*R3KYPpRf(lhZksceJo+ zWsEd%bT56b;*olD-f5YPD7Dz`!|Xyk8Af47n`t!6LgwmKhtr%RI1K9NE-PPndzCpd zHpWw9TJmXE71P1Z&0MvL2iB&Jj*hPf z;4;UGKU;6yQ+U^gSeuQ%O`cZ1@IY$B?`nJh{$_U$zb`%Vw1GZ~di5WhWx1&=u`I@| zRUAi3O};vBpMN6eRAepX;vjP%W7~G1@A{=|xZXtMM&YGU<41 zDl-MmkW8`oPG;kUtV8KO^2t8)k{Y?az=!=>-yrq1WbzYk+1>?Pc(W*WO_f3|hct${ z^=HlF`NAAuiYXSgy5<|p%!%(RcCqjPne?!{DOG%PuY({=y0!hs4TeLfZx!vCV)2iO zow<6*_Ec*LW0ZD|FT+*4BFXvA#CsxcWai5mmG37{kh_NNe~135uVnH2ZMP{jOTIk_ zeay|zU#+RcNZqav2idfV^q1yOmtR#by}1 zj$P4d+&M>^K}!GqCi^min$O41U|f~WYg3DLt9nW9b0}wkCv){?k*(Bj24%&XDI67J zzF6*=%-}<=_2#{tf=o@dUa>R(ygx-)AJ{5YXeCzgG5eBTDK&%#NS_jq!;)ZeL8$Ky z$VA=~jK7h1x4m>t$fj}iQsx&5;)2+%XQJe%KgC$JnFpC+#bH>Nq%wo4UF%s3e1DKm z2D=ix-(rUHeJ$s^MIZKh?Xlwm=Oa-_z@QpFORLC zrt`q5MrazuKt`IUj~?xYk#)|DMx58VS>#K9&at^!%&eyN{$@WNzft*tz^?2{F8Z#X z(q}ZVd3CXJH|V?0`GZ&1je{f{XJ*$s!ZeE`0Y{W#w}6Xg`8v#ZRPC=ag7KKRoUt-! z!sRK?$}0T0eO5V2a-p7W9-16}OHT@^gh&mkUlvCzh>5s_k3Ke|!rU)#topuFZj}_w z=O6Tsry=UX?qYQ~d8oj*`nxzqyj1dG+g;0{oC7Y($1X@cdjKPe#%a)Y?Ve%@KI%dd zMhEvQ03w>gpsUf*)iq@2u@T$f#1dNr*GT@jJQU#eq;ROoN2dI}IZpuJ@|VIFddNBb z$AR+Y=XF(P?8@`ypYM@h$Pt6ffbFl=#&TW38b0gr^a}!)?uLDv3fC@-G<5!s)t5V> z;ELW_0rO<3Mk)Q*2K~12_{wli%H5qW*ZvQ;DO6Dr`?AW2dD}%9hsJy!zjS*yIKcVfCZrnfHeOX>rmg<8pvC{?-C_H3!``6o*&!6A=rK)^n znq5uu;Zrdumk82tT1?M2_UvljxhMWMYN~d*l%vPQD2S=4=_1pd(q@d2hZJYoG6Uwr z_<05QdrDwM6PYEC_1jBYH2bIZZaW)HwZ8G~@9~t<5lZsiJ5_<>O`p-!)DAYzpcy={ ze1&*jw?n6jiR`5KG2JgonXis0jrH!d(0;&8QO4!HQfH9fp4p}XwI9_j<}g2fJek?S`6CK7C5} zHz1(N41JcmCYt-^n&H|WcPLIjwcm)_ZTjd~VfoVCX1n*_&MSW~tuyhr4`F&iaIDQC zb)~Jr&CJZNv`Akpfo34^eM(-PXyBl3iG&5r`=U*BINkEbD;J06`jdHhu(L2ShsNg0 zbayV_Qgv8+u!&zv;TWBCtLtpw?iARMLIkC1>^vIz?#HVPqphO#9~pQ0ZWfvWxH|pi z%Uu{_$4*^Z=v(_SgX`s+h)e}L*3Dfq@ZXVAf7a94C&!-&QCtWrmq^t=&EZl?FyHJP z@?rWLA^m&xgS9x`z{8o@d}cXR(VX~phA&A<;@Z`kcOt)F^4eS+J~i9?a>@$BwdImh zic^z%C988&wJq(#>;cvMjO?-iK(_am*sv~r`q7WQaCvdVXT_?!YW#e)_OUJ8wWXPB zLybd6|B1lAEW1(R~V1sb)uuFtNfHN8n{8;5gG2%LcHASazC7hut1<px*|Kn=^ ziUNQC^oX5QTX^_+^deaW4RkeO%lc5Ua`*W_(-$DMQs4Y|WsQXW!Y{0Y``yYt1o&S- zdety*>dnFa?vE;V*M?Msz^MLL7yNEkJF!|-OpBywrS+RCW6GmRKfw*9N#a6OQ&Hoj%~dsHsYAHCRsdR1uo3N{~hdwL}pDY50yQ+wgE7Zr7}D)OO(* z&4nc~_OnqO?0q*>)g!M58MYIxGy6g%QI81B1CXNpxg7&4SEtqt11{vkyu69vpQdde z(;%+XUQK_UU6Y|d==E@)lu@b4?1?qP%!2>w)xN789o>d+it2mVq+NP~rF!J|iMkN* z%Q8+OQmKJ-k8M+da;EzuwJo ztIt&qpZ|dEdn;a4SNh8||GHyXu5Tv9yFOdR%p(VS#}AK(B}eAh41 z-9E5{j+i=!b|+ZGa_I-h=@3p9-K!VAqj=MTSjE05wEj(=Z9b9|S?`$6q~yeAug-J6 zQkJD6=+hA|sh%qCPAQCd_Fn%L9C&uC_se`>Vfo=)8OBm^bA*eZ1(=kmX(Wo261#1O z0(xt4zA6)cJQvk{yC0@!(|>FUEe4PBxXgPAg`w2qcJN|f`4rIk$IfWL+U0h=?XEnG zd&u0Pl4x}md$yLMTBZ5NuKMGTP@d2H9M)Q%f=jbs9{w@{?D8wu)%()?E>62#tNmaX ze?%)t;@+n7(QBY@UgUAE_?AXUX-gyP#@(WH^K~NPU@e;q&Q!iz-~+lTJ37Y(CfO2XLinbR|gr zl472mwtGGkA0z2>0`m=E{HLwXv&WyV$k_Zf`EC*?xg09Ll%rR5ex(O_>j!O5F^cAg z#WrvWC{|737#>Yr>&kh%%a>Ub0!DTE!?;QoWryaOit{TIfBh*6O+0emS3lahdtT)B z0!n}daKmnzm=-^WgBtv@OXPaWM@FxXrT6oTgTI^$K5jE@mknGS@(@*-aHH`ll#KbV zx5*OYW2%e}`7*EP`ZA^ityvGg%l0KA_H0qHGp+C#n(4a4 zzNNbA^vE9;^(~;1;&XxV5+|#A<=^?IU|s9YYG4v^H{q3;bX_(*NscgZ-748b;Frgt zCjl3pBYJG^0bK*McR^hTweLoCM8xy}LOC23o4Wy2SqZRH5q0nH_+YKSbMeu%CU!KnK)wpW+^nUrZ=wVj_ zar`ynTX=YS5CBfKLadms~<>DoMgcGLWlAT8$v=l zUW^WmY01fZJ=WXfzx`UvAm61^e??>h%H$}NmbZ3iJbeN@XCCA1f!;A>1vp+Rl1q=ps;qYqf zdkvR@SvZ7wB5XkdRdu=(#nAnrwb0HKbuQ!6%e?-}0F|sE-wz#y13~R>>&b=@>-z<^3_xFK3)PdW+a&b*~x-Dr#(_m>Z<@f)EKgw4J zf7spDF=P4h^Cu8b#EqmQ#5 zT+2Bw==SGe(?|}!jgx|en)npj9-e-gkmKd)PLL->I}?U{76yxydO_Cv#oMMcYMMvV;O5|~=uMm1d!f|cZ2!?5ah8YFJECxfr zd_6#FBy=uj9Nam*p$DPrqf0Jfv9W<*PzdMUg-~C13^dW)Q)%+r%>(2>Z{mJJQ35Sy zB#RA?Ai2RR-fj6faugP)z8o#z92GqD`e~-+80T#4Aitu@s5?j9?g!zGTLk+WEvvc+ zzu!Udv#zAX^%r@=Do{vCpZZ-tV*A#nZ!ZSv;`ASsWF(h1U+ea>;n1Pt;w5>^(dhr9 z?mOUW?EC+ZnU!M|87CT6QK3N{p{P)lQfbgoNP9>pm01eOs)V%n7VV;v6d^5@R7QJf zYyIEf6Zi0V?&taae)n(uUoY-kM>*GZo$LC3KcCNgQN^8cv|^X&A7dFf0V-GgG?sH8 z7mC}oP$(Y}^qa0ZI0ErcrNn+{UxkcHVffDTK{fLm8>vh`_`9urBH++D{m#kH-eLnE zuXm!iTDoeLT=hXGex1_grcs$R_cgcOty3Qc#0PKsT(4ZJtXCb~YJ2>({o8@z3uU}x z{is-&%(IU0k0@Z3dvFhgwJ9D@ncXFX(UQL6YXD&Wx$OsT(vJ=I2#uy;E9Kw8IMSD@ zPCw&k+rP$P0d~wl8Nqq3XsJ}Fe6rXV$h~nD-K&doSopVrH5ZYC_e2}^elsbdU_M!= z0p;W*a2LtA3ED-KtXz&fVkk3ZpoX=MiGu1(Co>bXKUj51^_k1Ew(=M;K`wPB$R#l> zpRJzs&4^!fSeUYOMf#Fy78bA9teAg(qs#|S)M-g;<(}5ts0-QLxOs@7 zKK1#`hQTkz@;_I|{}#Yi*Br1Lqgpk_(B2f5dSAy4b)R-Hj`OYA5u-VHu)) zW_7cH%PldyYt8;rtbPVePbaIWsHi0vu#!g@DuWNOs(!?{sP9zayGjKWBj1VRxkD-i z1hi_nUGg<2%xJ&J=89PMF4Z-8&zES_TXgLtTjo#Gg5Nrq@Ay@REUtGUkfdbd!bth> z;c1;Y*hf!D#*GtNANnfLh@ogjcNo|uEfd~lksgeWGt@Ap0 z&3dQK9tp<*>u0iZmu>G}x}l6Oc7#$b!Nzk z_QMS#)n|T;wtn%Rf!(q_yc{X=j}B3}lrB%$W^ozidH|HUWQ)x}=r_A(5n`4pf^dZw zaW6@>G^Av~!+LJ-SC9n<&f3G6Ur&SoV!&6P2vhB42AURYl&*LC3I;9bt@YkD>XLEt zyij#;<*z^de~OS9i0a{JE|Q~xGqNU<_b5)tDHpc?yp$p_(qGTK8E0^ufk;loeiXKt zPvi1vZusyM^5dRf;+Q}o(#Z}C9z~OnqXe{t--^f8t4>`n#ft(nSu3`doV|MK<2;^0 zf5)XBEnUm#VXcP8bAOv0rx~lo<9;5AXSjatBCTj_~@8{=hyA&&k zvp%Y_m~LTd*;(f%Ad>8G^yn%Q9|n%l@)}Nf)R07vElWu_S?$N`d!C}|GKal@9wdrW zCZDzaaGK>+#QYkIC&tPWQ!12)_7y(L3`+`a<;(pIwfgfdo62}QX-H@^auNE}s24C_|iI*fPU2$VcW5jK}BoD14I7=iyggo@e-=}em zqGXLTt`xb1*eSBiwWTz#y*?_UKRu6eH!9_j69nKf7M{GA ztNMqAP7z4&p7ZtV*8`e;8G~(7E9X4{r%yxkGl&QX)gc83rYR_CW#r_hzCZb8$(>WZ z6~U2rKe~M0>QdBf+?oDDNMh~@OY;K96)A_maEa5ooAi<|-=NiAS>oQ^`%Ix|%cGVm z_8LQKVqo`u-^Rw;E<2%<oP6i zMAVFLO?->??+SE(FW)!RqFLqGmJ2wsq$6ETA$DPAqEtvBKY2~fHk;mX6&1_U02v3b z>y5TSAu`SnX7H!g(r}#Bbc@QvPt$Bfk44Bh*sP6SvhEC>|IGpSDjRR|gTXx=%R6fK zTVg~TD1X9q+qUfFP<47JFFu$z!HoL6V+yUc!9bGA1I*o@7B(pwz1|WY=szQfjj<+q z&CRNJSd;Q(WCL?5O*1bGKvj>r7@3hrEGl3o-78hS9xT%X=~eo_Y}w}}nfr%9e%{q*hzub8XH zp0?437PJL-XDGSSBXtbj3vX;tabzt!66M@mw3gtH!3=|)2eR7_thbxjadCzY?)X}f z>gn;8K6l*0+dQtnR_Hm%%^zZ#lHfdi+cf2i{sW^ScMV`4+wZCZl-3=NONZkm)l76XMHn!p73|#+)$29g|z?AVaiz1r{GD+Y!KE4SQ zcw~p=_o2pi7d9%TP}Zh2_%HW_Ird446D&A1Vz;^Onk|x}$Mzyv{QP5D%EnX0=~2sE z$cO~*TDE?o`J9kGv$@RsVDanYDdMM@*O3Wcnib5-S@RvZ1iU<*F-x(EOb%XcmJxh= z+|mK0NzBk>Wo5IjE|a>gS;|b=dY?YDeNjwd6~P&&JMJCstWIg18SBgwY?|V;LH5%u zo*gZI%=ixaG}@;py}HgWM8LYe{CZ9wI6U4->+4yY>>C$twE21bxWKa zok}7RzCHdjb*kiOy{DJgk;l{IxDrGNV5pus>J8;dPy%tDD<6ip*m3bKswQ6qZ|+ zT~K87daf2X5HqQ?VkwuJgTr`%mRalv%$bT7d@{x{y6RLejb z(mt=|9O1t?Ez?%m|HsVqf;kj#DXqA=e=1aHNjj$Vu5`hDA)@+te>0<1p&78rW+mnO>J4HX`ai5$x{+*1n;U#_w+X&UNDJr z(74*Hf7G<%Nc~QXP{t~x+)D)R15Q2H{olbzm6DT_3F2c0hxL zI>u=|S5bjn452Atg%S&6naz<0PSnL&t#Y@ni_9H&sB}K3-^+H>e#^Tx?(;nzj@P>$ z0Mhz%W$NZi!v)~#@?FB0@FNw6C%iNIv4zOy z-UgowTw09B;>>Ed5o|~dEC};rc~Kphx!DMKFWw@azq5P!6V8ro&JOO^J}c3mTfUq+ zp);pHLeI{6pMRO#il+xJ0|7qtr0neQyTMx15MB3`?Y3KJIIN%y`&u-d^yH;}) zBs!&sT1_3L?Z6#0I*_!bo=+x64tNV&G(x+*o6Gx75?<-?yw7- zzNB;$2Se>Qs%1{fgQT1>s-^yIOtBHjvT*cUS>|44<+p+hjt{X1k|ynIS68d{>Zw8L zhN-=Ue68MU?-(h&Yyh?jo*Gg~iIK#A#S+S{xk^%H=b^2~a#{b^JtO zg@i!bC?@!Xc*0~#KYxDAcDj=P=i83=yROfrW#RXc&c{X94u>3W$S_f`6Q8T9yZD#5 z@^AAJ0_~y!P(OwzrXQo2PH2Hh#-@#c^SNUV7B~+^7uDgG!?nb)q?NACBl-Y!zjJ8+ z>EXLPYs6<&Jn8J#G>lJ@8vNZ}1?`$o+|-~EL{W%jZ$?X;NX%89i&hpv=5OToZ&)Gk z)7v1)kuc{kjyC7b1n1uOfq3_-SD=Dm5ArsEt6);=!^*3kp3XHRy^m~>t)sYa9|3G& zvOd)5?wA9;3Q2`Z_1wAbfi>Rk`Pr*$a#MYVDtxXw5u#s9*4B>Y8-|P8Kd-zOb(nCg ze$jYx(|Jr#iSl>81O3fq=m;k`FO77Um833E3JMCcZ3+t!H2bgx0c%ujz+yzHgJVE` z6X|zhAhlIdarV8FpE>SWJO@|G``jxA4&}+&?x#gro4)jqQ?nhe_7eFvXZNC0Q%5X^ ztHlQU$FX|u5`U~q?G;>vHD)!QQUg7Jr03~XWm3Q=?=fVn#!ypPDy2N5US=rC(o?0N zdPFx3}e{)5Jr$CrUPdDT+BtM7FAOo5^7z6HPzwOr-)IydgF$E-!-|b zNA^T-xF#z9JbZOr-xju)4HYb=@=DE&TguDo_N*196;GyXJaM3{hE(q-mPihnVaEGH3%+jZ)ZD^wQ}y3f-G z$;APiFK~o68+A67i0T~L>b^gwEOpoBd#UzZ85IvXgnO*nqt>qLb#bTJkgN6>)rANX z{@z&1y3l^ovQ_mxcIIu#U+SVBy?;U$BP>0x*;|j@l$<4qo7$uQ`PsCYODZLj zkF^9o33#0-b>$-8u|8+F;y>Y^6)LYN!QJyF^lXu9>(Z4Kl$#-18xg& zDI7q6NlM-Y`bR-P8MVQTZdA?*7ZO>;CSIII*otNy_;>yFY^Y$k0w*Uc(^;3gao~jL z`#`Ol=)>!5R!kScX>$OA6|D})qgi+fM;d3z_k|K%c&3psnh)~g=1BTEpR{kN;0&me z8(RE;eLkT{&lA8(##QMx;P(`#LIWO3U}O9{Pw*ofBTLMRwIqRfb?dY)tIB!f48%g0 zKrVj*3v)dC0hhcL%8CDhZQH`=!DVftWS}nZAb`IJxX0fiU%&BZ6aS?}p6NjoA&X}nA?byqw_*#W1 z51@VuXXH#kd8OiR_QhYJS?3EmY-e&NAUP1U4YOUBI#+d{w8RlRiHAov6PeZX+f82X z`_%Vc1`<^tx4ld8OWz`GPpdJ!GLW_`JK~xvvb>=#1w2&?TK%fq4SJ?rsH=U{uY-g3pgrEZ67{DFJ#wke*vW45ub#e?EB?04 zHDUXY4HvFQZf{?^#X(zDDo^V#fuoc1(W6?g73?#P(jVSr)00u3`q1;{{gy33e!^lu z6d^x4WgLj2ipJdD!PSiJwm11%HLpmA#Z9-l>+7#QmweLhp!zhw(A1WvAi2#5gTVUj{woHX#wAAv*68e4`hvH+-3cy!%eXJk?|VzQe&`b972m_=U&IJhTdj zcCUKjWI`A0a+Q0wTi(cA-Qd_l18t$H6H=^I?R*r_-v8Va{$6^4wL8m09Sh9i(r7I= zMCj272GrEl1Tg!FLrF_ zMCZ4C`*t!zD)t>AVefUAt7LN+-Z`yzW#eSRZXqB-l})9wTB^+&lgwcoN*391(M(l+ zE}0uf&u{Wkb>Z;TbbHG)ykd8loSg0FHn+2 zj?vxy8?{m~s^SH~Vo-74Ajk$t?mMn5zDSVn4!iW(G0i=8E;K@^EjQl%LVSDT~3Z?4DzT92%X!2FkW?!|-?o5DY#DgraD6M5|<5?mrcGpbBmU zUWfi#7D`sT<0zwAvddX=$S=QWj@7@)!-oPJ&;@U z@%XRrzkiL{%t5LT3k5)pMqkkpxQpyR|F4KarJ+~QTD1EC7VjUd8NGsPk#K=X93a%B z7cf`Ru1Jx)cZ7DX|4CX<+nBm5=~Jd8pckmQX7|KZ?bzvVmUl(Qj-el7cwfWD#H~HS z`GAt$tD^4ij+5zL636E;)VA#TN#4a}oFWP?F7BG!eW4LCrshjZ=uJbVX}60xr>I$o zuTD<>J|eF}CA$UlZ}e=@gNE9U!`9$dB0Y6~#U`44$5wtY*va+GK)5B=78cN2@?eQX z7QCr*mp5!K1vkiSWZ(;o8<&s-$_#}5l1x{%2S;X;63=m@%lCPy{JO?!tD>Tpxx-(y zFQKz%t#SJ_F``pLoN%VeYtVq5oq2TetnusYK00sozM^VpXC+&Z^<+_-4t08YHTNSe zgF>Sd0T1my8h)vJw~V_yn=7j4-w==CDmX-beoHd}b<&x>udgtzY5**|q)@HN{521TC?fM2;xx@&Xv-?PF@scZ{cos}LyPS9s&Wg_=Zz?v)?ray$X1|HL?DzWx^xF#oHe zKD*nLxkHT!M+^$rSQX_TDXWXS{hT(HX7sR;iKH-&(kV+HU!P_3XZ2a{kqMxyf25IO zy|J;eA4>@ns6}L`7>H7W2nBAbN}k)((?hs)BxM_~5a2NhaH-k5qan2z9!Vd#eOo^A zXX=ne>rGc=1|IKHgQW#Gq3Bq(zh6RPLE|@DtWA&6+||ij`}}csY{Sz*!O%Q&#hRBN z0^GA%L=|$|C$nykFAC9ZjQ%clUgmc1QTF)q?A3Pf9j5NB%&w3795&;(({;Bx7}n%* z^R|h8GQmlRA}_7+-p$*z&J$6tv`HHw$9ud+Y8Id;6c;=L_A8&|8~13wWy;zDc9rCg z$=X_8PmVy}GC-ERG;M)t)2DZ0f{me=4!p^eFyU9+yVnWId8|zL@874)*S1}@d8k8* zD4wAON85k4teJK2rkB@(l7;(Yv{@;5^tY53B(}$>Cj`IHI|Wu8u!7ETP-V5xns|uH zmz3-b5JqDW0jSQ)nr6sOf+@CNbnLf=en}_+YvICU=b_|L^1QPZFFXvWs6Cv0?0uJ3v{@K7%| zX!~!U_qg4mPdwGrDLi~N#ijpNP-CNHrtwZ#)B5DS(OxEI`FS_-|G)>9S7GRT`P#KP z5@7Q61GGI2RsYM3(?>v#uQBK0gyc<3O}3?bMN!iw##qhUCB0M@;Hh^CMQ{dK(wM#kXkT7 z`&5q#G2kHj7BZt58YpsnXc>0Jpp+@X+wCK+)hM*c^1lF?XpyaI6M$^nd)_~p?0Tr7WY)Jjwi`MGFu6(E7ol>rspUd}s&JJBwZyIMHCGi}& zlP~$J#0+oAxd~wuus6NYq$gHnKiZtPv~bQqjm?pl(TG5<5=bf|A&FJ*R zP!ZX{^3ZoyRMAV<`ZGE>9Uo05%0mC1h>rXV!ZrdSWXUKwJFD_Sq9S$+sQum&tZdG| zAuHTDkDa{^ibB`M2pApgEX5%192xXdkR%#-p=j|$C)Bx%iBAaNW6T({F0@MycNdHG zmg|`V{1Vx?UsspQBxAq;OXKd_8>X_cv9Wrd>V7TbMQ4bhevMA=J-}<^Zn$Gl{GD}| z#yiD4G!Yvbee__l#4bE1%;v<6gU&N1OQaFxi0JwNf31Ze6V3Y^C^7{Jc(rgv_fjrl z(ycIsrr}jsNyU2J?(6*IdC(s|<79<0CwtT_4U?@VCTq1Zy<1);ux3pzuA(A_*lSI6$i^_!|+N`L&FWS%e3w{yPg#k7@1cSzBL#%D3)e2_;KuD*(`x>R?6C1 zm`I&4q+XCY+-iC=+S?(xkEdXj5AW$iv&0K_#p%~?DjYUA>Q?Z@es~hWAn$_wJ@Kqa zWbCib0Qb)hJK4od#pye#rr29_eQY;eu38v2-0!!9B%uy0i>=@t3YynR-$CjPk+D}7 za4q})9(L4sd;306~PL*1iA@n2bn>O`P; z>=mDsF;T$8vH6o%jm2Z2AemRv=X_Z#xuvrS$WE`IE4`|^zTNlKecSWU>0lgv*xisl zGh$4?*-)~USGc85rKiEmkeh@Pm-hjI?G*e*9N95271YSl|Mja7l554>Ye5LL91AtmwaWWcxH(%54u20a_^d7)`;V98$CJv;Q%2FE%;_5nK zTl@>aKNJdTZIPIBvQY_kec6y)X4Ial=;=5)w-bn9o_hMAcT#-+kJ9(g&nQUTDX(;* zuE#kGcfW@fLc^O3smNV!yD*@#gDU=Ed6GFdY3Hz<+_9|#gyDSd&HDr`#^;;8yZKw` z)x6@s`n)!etgbHe#eeTqG*6tXs{dDzT#g2@e_(#oERTIed7lOZ#Mt4*J^CVoEUnGx z*X?ev;bio-K->yb9+8-PJjX^(zuco>OTq8^xh#^qZr#1*H<+@qu@w@^zfyRTSqLPQ z9E4j)mb!@Ol<<-m2v!%8m6}w|=));lDymxN5e`(DW_K-kApd6Xy;gvl;-7eo_Qj19 zl~pMZUBAeOjhQ)p|EID`A}PjH1)e7<8I(hWvj|TkAykq+s`787HzmIjYvkd(eLYy7 z(d~Ol9TI&q%m3xSrrUU0YS8QrmL3xb+~P1>y`h$7YwmN9h!YTJcmC^F3ww}sldu@J zYKu%QF3rFBbQN{m!+Gr{Uky#Sjek0G@i{<$k9}TsOJ@26*gm|a^6PiH)C~yaB?RtNV%1#6L}?o?&Ry7m@RX~#>#z*;E{S)DrzmX_+ogvU5>Lgd*6eK2DqujV-O*8DBCDUN;fq z5Ed6!=G)g(C(gL5d6XyP>(UshJdr)o3&q1aj##x`)%ziY)aicgyrYhfiWTY7x(MfU zs%HqRwB2c-MfrTm}qufQad>P<56)_31RUl1!Cl80=3V z+Sy)lwo587V@}R0+;ItZvJ76AeYlYgy07-{oE5US8ch&&;+dA&1WmA}V&Cp#f0>Im zse*el)*KTc_1h0aPK06UbN7OAI`&G!m)@8aS1&;O^a-HDPpFx`Vn#A!3Y3(1mI|95 zFOxlv|1uSk{02SGike*k0UUB)32Jxpk{aC`{_NAv9~gH1v}vC27z($dv(@v?8C2Z# zOK)WD#rfePu@NJlx2A10uFlq2l-o@G;4E||*Rbvfv$9Y-2kh0l+s604%5R~)LvPH~ zHv&i5D&6TcVVmnt!3CH46H$cUv1&`fXQ=-J=AtLb{*)Q8%m=VUAuOTl;P-!$SY(_LjqRG%nlsh zE!NhF)deej{w_=qxGlYB9ysXYnil!INzg`Crj5W}#5|wZ^8*p%jkJ%B6rEvH(u_Y+ z3|D4Ay1?Qq#w;OyI3AnWI&aqi!=df?3mk}d zMfSA)0QC%d`{UB)J>Kg=_djIdF0`IzVNZ=)E25$E0?dZerV5Ldp>!Fboy3`1Q zIl}Ph<4@YSrCbqYv&9^890hs?%xuTrWO;(|ojEv}#k5v%#`(RZlR` zLBNeInu=IN2Mo2H$jl~M8HKx>#!-mI5~|sHG^0;3JEsf{Z9Ip5FXHa55V63!`mDre zj>l-sX0GIw`TYN?9pvxL+zy6vN$I)ajOVoURI7CzqE-O9;COlW)8TS;ZT8-EDs($e z54|CQ#-&h7MA98rR-f%Gl3dtn5db`uJwP>jIHo0GAwHK1?Bq)RnEly~4)=M$kRP89 zLSH|?awzAOpVaG+J)D3DSfre1=Ax&%h`(A2IuG>SL{GDB{d!nS45v3DIy?T%tFzqp*71Ct1CX%($ zyiDta4)H@ywp?LQbnh~Z1)sEin&WNvH|XQM{h>1<$(*F5mw@ulwztBt6QpikvM-d! z1ymPsAA54?dgNC6mD~hRd1*Tf3!gIiJqk}PJ++*RQ~TCg`IvlnTm1e0_|d%JAyBdl z{B~_db+865YZ&%&Vg{+-^RLYye=3Am(XY)t^<4;OH)h=UI_Q*hXlaW9)|b^-$ASj{ zro`&zPO}Gw6dE1`4pU1{l3y3<8-dA-NSyv#>;@A0f6U-Kv4g^SJCt5D0zcG+Gx);o0uf^xYLB@u&XG}JS2uz15H6Tje z(LTq~`JLa04}rqQPxB~Qn6DV;FTChK`^DK=zGanl3?Dt)^7;ZQvsr8@tI+jXmt&%n0QTVj14Ohw5AAmY=;N&Uq5-9dF$&pt1kBKtxTY z_s{(#1FrdC?O@_4?``W@Njb9}d}z|VLC2~C*Wsvb6oTt--lHvfvo5yd0;4>8 zyiFefLXNI?)uBjfu`a7nZi@xc|a)QrW_YAS9g2JP2v>G;~FWJ+&^t@nK6@5oxd~B>wew z(mF1^?&B#83c>T<`$$ZBcT5$SW&ET<(tO&L&K+n_?1X1b4J=@CDXMl2J zmwRC8f-H~}D*{--74%>b)`uCQQVRW1(q^VNkHlkXD4h%+@QyOoR%@>*-s@CbyXr zGI0(1eBpQ8YgSb>C|P$dw~aG&T*Y|sIDE_?Q|@AX{5r}OZEZNM$nD-ekuq^{Kjn7a zo}Voz=X0zI+u^xzJ|3`irh@CkXQJ0KHJ&m))|rhfeOO6Mp@{%ey;uD@gBcok-efnT zzg_11urb=%gEp0&&IAo%ax3r&Z-bNc?>s|l&p^p z43zFG8tN`C63{7n`BLPtytK#PEZ@Si#zKLGQ_B?;C+&1Q@A&1{iVEfX;2F}v zQo>mSD2g~MehW^OJF5(SV-8a}c2{cFMke$zC0qUk`i!&!(2yOYn)y zJFu;Tfz7%>mD=y(Fy{aCYiCI_xi&5e@v=T*;x0sadB8InX4EfRaotT z0~>qP!SitUj$>?GgNh=YcCK6`@-n!Rb7F{YiU_q@mT`=sVQx?_Entr3zoTK>F`8F$ zMmg6;Ofpien>(sc)YOuanXti~X?9b{F+pV9Nim6fmbdhI=u%u_R(XDIu#Y3f3gyyouBrocW@*!ya4WAbvWU zke;N=`8ldTzP1P?Ojr0__O1zK`$GwZ-r_mYRG~tENKGR0GBj#f8HsBrvjJJkRS$@Y zYqmekC*K%wQ3}7+al_Vw)iJtju(R%syRoJsI^8iY+K(L;1Ubdm058~GGHKVwL}+8) zoaP6x8(o;NZQXV)ttA;lUw1LRd@#3ER8-WdFjiGn)r0pbL9(u1yLN`#U1AQ&B#+ig zow4KufEjokoyQiYZg@B7Na9+v0203PTV?LD@Z3jd=;ho8*n~?u zSjNl0+^*6KT|tgVa_{K+$wYP)0>90!{q_|g+Jw_m`#b~o%ECmm>XqJCx4r}M5B-Nf z^*0ZWPJ;^DpM}yr@9p?QRG5;k6d_do1oQeGGZu@@!p$u$FV70jBM{8;=9!$E7au&; z!$#Eo(ECeQEd1BZtQ@No}`gQgAPRFT#$UVrNTNVVA| z=6&d+D@{^aGe>%2%sX@E^QrSCMh(c7ew^Q)i{FXEk53xCY&|iJwuHf(HZ^WEqyz|( zOr912fc7V?t0%Kmh*n~W0ioh*#)DmQDr2v9yAs~e>s9OdKKqJdv*1dU2`P+p0gt)+ zsw>o9?*bAn6>(>9UAs8Swv^Z4#qINOqgu9V)l`xUNMp1J4Sg2PJlbP;fy#LW%QQm5 zSE*;e3ECCsIO+gXoC$E3GBqD4kJB4>zvS^@F$9wC0N6I-V=kY+ zb7qMi=$HPV)4|rqO7aWTNvW=8bVT$!_C90b2HCPAA`GGs^9f!fvJq3DXz9qLFxg5w z`h;pu^=T0nAeqDvVo$wWV3OJXb_d%g{~FOWfmGUNQ?7d{4Siw}CnV>pvitsG0mE7b zRs8%-k=E;aV=ufX6_nPy6E4K+IQp-`fT9^7@c(8pGt2{9))oF@t8g{NV*cFxqn9z=86D;^N|Q zl$$qig6LO7?>hu%CtJvCh%D)d@u_d!QwI}aek7G=o$#5nVd&#ImJa+rVBe9TUvZSf z_+aDJJKZ+RqjUaBR7aM39Kt2+e_ZfZqCmJ8h%uk)&|$-ZL4Ie`jDg8y5*wXVH;s5l z*$Av?+aQ??JTH9!n3`n%JLSmH8fW=jN$;dNP;mdl9`c9n1hZ3%O=M^ZFN+BjGTQ~2 z7ux6vlq-@Ww!B8qp7jq@tYx9nW-ta|J42yh!5-N?KeNVNa;TR2?D_L2dhYaKePb}G zsDmW|GF0BY6W3({@vOM3zuof9gQM;v*M)xT2*xPQKQ;>Hp0SIcK5JS$jAF;+^ za1BP{f+kgBD2w5w9D>mTVb9gTFHS43GMyoMi(mcCMj;Wfk zz5Cn$0oh%{yF@;kL%$BndkMIYHPmEEj=-uOvsONKO=)ShWR;NIl-4Op79K>8c#7`dQONB_E7IK;vZnm67p*aqj zN5T?J>cWi2S*Ir~${5AZ)tBqJlL=?o@g?)_szHyaB+3>sru3^#E?7~QwD#oe-_(BE z-e%m#nwt4Fb!>r_?uV%EPhvl*=S)Cz(oHz0{?Ti8>vs2?i30YUIUUL$zIaXNk=W|X zL{kaBDX1;IPum_33E|{^=&{pC8()Mc1XMw?O|~V~&;0br5o^>362s$p(Ba}eI-~B% zbb*|sA$Komm?TevH-Rm-P9M$82M^{g5;c)loPCgH%Hp{6P{YTa5Kq%%q-19BH~0;H zTfs)V9KFP1x29rcdA;CN`lZeNuf}wpOlcrfvUq7-0LxOnDNl$c8bI}qT{s;ryq(&va=G;JTHsNRjXD3L>D5b z9vBp)Gcq&)TQKqHw68lOHIoTHU-XmBDv|#NDPjHw!i4@L;CPW3dlH^6F@~GDWRsUe zYFJp9mx%E~;vf0$-2pNHB-WtX+6A8ZH6UYQEkob-Fj~(Ss}jEGZwPRo7qe;eq`$D7 z{Z9!Jt*I}m5FfSxA|r}7rYWt37bI`c7TRHmq0aO$kw&E;WGrS2!1c9IDy(Y*z8lqz zHN@-Wp|>F%X2RoVehRhDoc>8kK5WQ$$bpV8bb-IUFgM0>B9?ZDzawoDfA&3dwk`)iT39Tn`_fY%)Xx z#JLCs|5oCRfZ2Lw`tCVdg;Ze#P5jVQ{sBJqY5U!)_7=QqouLV2WjweH*zAY#C;xs{ z76ND45I8Fg4z;m5*=A^s^x$ZK&q61YEDLD3KSUlr1lgKQA;$+=i>YXmZMfq&JWO*G9%>8r!3V`wVo z2uzG}{Mu8(hI&lQ^7NrtxO$e*>%e>U50^=@R1E21YDL|%@l>V~=omOLDW%Y6kEbYz z)lRII4A6QM9sTl#@a*$?{~>o#3H#fE%(v+p+-XfTonG#>L~ZR#3sPZYW;Q4`$G8uC zxl8=8-$|v`yl9#|BRAW$6UPEcj* zbFHtpHAhqZ@Algl+a2fQdwL~)&T#=g!W)t@G6VMf=l)3OT|oH5<)8)jHdF^)Kb`59 zfFg8<9p)U_FTcjedZOQD93^&OSiRCs*!fdapbj&=c3lQs0RzuEm|E9`+_a# zQutIA(io5|C=~t!4`eZV#Z5b|K$#oh^^rcA6H4 z{mY(U9g|N%Bz1tMr|0MAlg^yzEN|Sn@gPYXPJ^U!WM&$|WszhJgB*S!^N_z(p+x?s zf1P&s`?Tl}gCp`soF}n_Sg^@zCA1`&_knYUhKE1VI#GQd)qXwp&8Ht8pB1w0IJ6kl zal{a;Cnm+pDk^^XPFs8i7+AlGJ&5si!eGpH^S=`VT}9Sq-TZ63^Q@}|GYXDK^FN%MtFQ$yG!bl~x_%$aP?t_=sIcmzAi(ZWn&`=CCY;&VE?wP$Q@bHH#2}OB>*F$ux(dY=>Hc{FhtAg>zT)ILg#}=VBQg*fV-u6SoLD9kmQekXc0dqkUK%{B1sD zjnl*kiiizCusP#W7J;E62E^vI=jZF9Bk0Fi%NZN34qR}PTH*`LO4SYhQc~VMxj8p? z$Nyy%bJek3xA-3uG_6#d%eLuc$O*wDlz7ty6XB^(U^4dTJ1cEo+fUX;mMC)c zM4KuX*k~R^yy!x$W16U-x@T?$@_NRH0S#Sx;xY)$_PccV?y40FBQn7;Url54ozyX( z$alf1v>kRlYTeS4A++m0M4fIc!HlL1T%oc4>T_h?L0Scbct2RYBo9(?5dKT!D6n$O zky~+hUhgKXK)GO5OmNS`ud|>a63fLLIO$4~kv>jiI|Rmnt1jR(QBSsaUGX7(6nxd%FWoXK0;eary&Y zfuXHEc_*63To*GMP2McMDRq^|`hW|6nI%2bB&Fa9?FkH2*n5}GHJiePneZE-^*-oh zOi*DdR;F0tN%8|EY^j^k7yqT(0vM&r*5| z>n2tTBsNnRCow*TXSD{dKzCEgbZD4&mp2c?@oO^09t^F|{5Nve>lJG)+R<8ZFucX9 zHpzGlr+sH73fp?1u$;Xv_eg9Y)o2kyHQWx`0v-! zVx_=_oXQx0K5)@{?d}J~3U0P{o=C+Y>&?{nO^=6V=zA+uiAzmyGq~r>O`Eo#!`nxs z8j*4&R1jQBIO7~;W8^%IWPW8r9Cs2g=IR)utz<72Ik_?N^3<`@CdJB9u1DbH``@~C zYci!g)6ucKKs8#kqGNQhr+I#-7&FT)C1un32<{b%$&K&r7YH97T2p%5Mdsup(U;!m z;b*z-sL)eFa2BnOqLn^nj`5{>&RP|~Ka^m62>&P>(FQm#aj zziZuA#X&*#KvS%zBj_otqnU|CtM~;3SSUa!R%$NUcrjeQ&n!Fiig(5G$Z{|DOpUYK zn^kpQe^WvEw=mVS7(*%lrmZf<+3!{oAn>~i3APf1k_WMgIv2KFuG zvL^4%x_a!5<+)?1|d_E#SC%H0GNu8V=A=9(@=P(GF>Vzz6c*f zZf>qxhW*CgwraOmetmCXdEi6T@iG!mhX%UhPP7+gN;uD4atw0+&FL%D6)O0rPCN^W zr7H;&Y!lt3p}F}>vp_8LYv?<+e|W`b&imt%{M46XS#78 zV39a1dP9wS9G}216LL!=2EfzY96(t;#?eMSUr@B^P_jH^Xcxy#nCz9IZSns8BmT}`ebjVkof{EZ#%K|sKqK--2T52O_(1GZ#|eguL}2-Q&12& zD*TcCh3~~6dckwf4!6p*H^eTpe@L%}47enw!PdB-v>QnfUmX_xt*iy^F) zR3H(USUmqRhEQ7f=n8e{+4?6q;1`eG-0ddXM_+E#S$c1QqxJ3>lbzjm#1%7_74~93 z(L+JrSa)sTZZ&VHwcK)O#?`7j7zh<~H9!0roW#JMhCALRpW6>`6NNLE#cJ4Lxy%y> z7)X397rpn?qQa3Cxq^&4C8@p_`P}yW{O^ygQh#k~Da~{1Z$SF;M?$%z^<1$Srw zcnd*vf>K&)zAqS!3&hQ4K|?mtbX)Q0kja(0iUWiLMK;u*=OS2Xh(82A-l4}7n5Y`7 znG^O&NFNY6RD9B04RnBKwOj4#4G-P59HQ{2jhGM*NRsV0nml51=hTqXg@T~FhyLuY z$V}2}YhGqNWlj;(nG!GP27<0u)5+~nm0S@1sR?kwR_S#pq@*9Z^#XM`SsVxk1%s+w zi)6lz(i};hZ~aqOwv>m}eht`U^Q69h#i92(;$}OFHm}5h1#zZ}RP7f4!><6Kj}SrP zLir44FL)#WaOXgRK~VIKQxeDG*{X{q&3#;gxDYg%vloF>asE;*Ulp7 zwL<&@Jvb@QoAkW=QZm?Mv`@{Q%-(&Z$1XkfV?9B2e2je*_Z>7O$}ac*hTljc#QYFx zeMr7@S-^bz`zg*M6Z4CjkJW`&vbWQhr<)mO2M_w6m>(;1sXY4>9Ys-x?c5I7N?d6( zZyze-KcJ=0Je;t{s_@@49y;yhhp@;TRoX}EhVsw(Dtf;JVeCH70S~;bl$(OvH8ksek&_?>6o${w#3Wy znb*m-PtrX?Qc@P~3*P;hq?p0lWbw(59$tbv<84~sj7~pMlW~e9ixAF5J?sFs0V_iZ z=uCh@^_mNM+K&r3?0UeW-^( z3t6)kp_nxP9LC50T=WDLEJiqUxvA4ppI=s|<9nC}610JnTHmE^u-i_4ewMn~1!Ev4 z?;B{N`$o&phX%fW^4ffA6LLrhdrT`&4yiq;Qm%j#t^)|T9|3F^iM$=^{OylSsykrg z_5s7{4Fjh24(}(%d@Ty8|F1$h7MD>LOTdMJ;>5AuU@13uKyAE_X$A*S=3H2KfOzjJ z;%-f>$x$Y3#X*oDxuSa{rDGh$G_CW(lajoUzs;VqjBL?F)K8<^-FF-vS+kZ?+=icW zsP@VE3nn25YNa^A&n^Fz`IKOXP$9rl|LB2PWmWbYt`rBA+{Q?fSQTIlC_sgY{J_~O z?wD98(S*$PUQdzDP zU-_V3t|MH!esER>}J0s`caz-BRNu(@adRgRK{2?pyD=g5CQ7>{^(3MJ(I zo_fc)o=^7u8@q{}^Vg605R4K?+8o-c zcj-K?XDWQsP{PYr#BEqFIf`JsAhcxIm{#wBF`vKQdWD!RU=&g}oxp#8@;AhcYib}}`^W!M@11%)qYsM*8bn=YFX@&HJ zhRz&KEn9;_x%r>B;M5GjM1|r6irfW6$T@7?x>Y%E7$B^meZLtxuX^xwvROr|4juQ? z=SvVdX*AqJLg9$e?WS;v5NAky@WN&r<2*gL&jBynMbp-zvBH+0D@WgUL6w*DZ^v>1 zcm5pL)wJ0FKGF`u%?ASzU<8KSQ}}>f7PxUdzMBkgN8Snky6%O|w zW297kR0C%#$JC)~QKVKXJ4ra5E|5lX&(nKx@EpHhuN*sNMnmZY5(iiK_5r)+;oxAM z&urHP?`xb0deo@=>#F>>S0S~7Rj=&R9~9 zPx~j>?R%Fe+u-q`Q+n9a1a7boN|=EHRI0`X#McKR*iu^ha;WXB_^|#EFH^^T=8Bc7 zuH3)f6MwosHhrPf`}IcDMX@R#XvTr9dvo@-E-3xPb=lwGA3Zr$X7>~&kHuO3d}MBS ziFNT?$uBmTP$eM{-KqxuCQ~kyb1lX$7C<=k)3|T5EZZFOD7Q}}uVZ)Bi`-NV`xp(I zweiL4{WssLlx>{dR^BOV>fX{l!>Zt=ap$Sty}Nc&zj@!IZH}3L-TAUEb$UbN>oww@ zbp9Xf36jG4o|b2C!h3entb2OaL%6M}*WR0kW7)Rv;&)V3N-7!3tu$yrAw{9dR4FNnC?P|JOl1zG z5FtY{MG_Us6q$+4B&p0p#s-<^A!|Q*ruX?hzyE)&wY~4!)`#Uw1FrkJuJb&PVLy&z z-^E)+FGWNY4qeo!3gIF=n;bf!o}=7y`6)gN2boWm*EBkE<~8~@ojnRZneJ|{0Po1} zv0vCBvG=Q1i}43^;3{N~=#QP(m-3_$_gc?`@>D~l%|Y`kK4$Wt#7qV1p8wLn)d2{3 zPSy)!X}r|v=iOc{@!CP}W+@jRe5R$W5M87`DxfeN_nle)#zhK*(RDm`_d$rW=M8qQ z{FX&IV!T>@~Yq6^n<0vtHG%G&o!P zsL8WKVDHsF7`Bf4^(Qm=aIp{G-tK&gEJin3AP@BywJsMKXI*jH9iTPN^Z2o5*bsVQ zJHT}8&L_l&9c=Bqj$)(qrd%vI>swRZEJLG&^<;!`@W;7nvcql1N0Wsk=87@P46DvF zZV+3+W6kBL;&Ut|-wQ*GOh1dt57&aLwcRxBk>G2mHO0H4Yxb@U%-QA5_8Ajfh zV?NCg*%JuoK=PO#vfjl9Ldrq2kKXR0UDdbX=3z+ZcVha0ZUfU|ILCGAQ<}zp>CLl9|ep`g|X(uuz)G%aB4{iiK zm`OL7$prWRR5@WImkJw(j!JeerexKned(KNPN*!n4r8zUz{`;Uu#U>@JkW9f`GL)Pw?XMo4VFtsmBxpppK3jnLhV^oJ15!?3 z!TmunzT2*^GEgFx<;a~omL1XgN*U_B$$mYThufo4Cmc9cj+txrJ0+3tAlj%EU;B{| z66I5Sde`H=2*xC1Jv|?HxJ&c^1O~R*bVrLnvdk~QPkl{_oj6cqCa);A?DMCn3kihp z|09*|hu#M9Gp8#z1pZLL$Vbt)*&BI2E*SqxM|qsq&V;b6O+KViyUFr8d)TzhD76K> z`f7z2?m(OA(Hy%Q`TU;#(F*aC8M!q?RVpH(P|&SeF=MYLV89{02j1)>lTp@J%Zhd- zh!WnSQ#OQY`k5WKbEfS7gT?UI^5w>A&M6*c^K(u; zKRTbh7BtyZ@XzCaf5vYT?U#s_C4 zFD76xTfwzr(+9Ak9pP544Bll}7d~^T><=x`KR;^Da-lH4;uzztL%UxJ3%~{}C1Z8u z4pSvBmJ-3nGZr168B7;()zMe}=Ud5#QXQH8K9(`kM@I{; z>(}b}#8Lz|LDy+kXYbKy`_Z;rbl==VZ(MuVPaD@ak8w25dWO?6GAn~e0+vhzJK zze!}zcH>wpVtaxRx5jR*u*9wd9ewyNVD+v zA7V^3c?R9<^+|Jnm}?Z(+i6{Y6YagExeu!JN*%xcP%_%>u2^fh zb0fjycZNIPLa;S!%_!?MW1dozyxg@y&FWrtm}U_7S@(wumb=o-i}+0> z4K+RUHV*BaXgR#0|2`e8sZ_wH!?|d60=mr%!yhN zfv^+kx|}f)VFBfn{1;^U!G*91q29h5nyjBl@naVMPIIp4%KNPd;ONqT882M*-v~uB z)fNP`DE=D1iunN~RAJ!9`sZH#!}p*oG|PlW2KBW^TOw_){+4FCY@yE9V~WemHl$z0N2N~lzQiEFlGn*^;=%u;gsTN$PsCb^c~Kl5``jU#QisCgP8zMJ@65H1-q2? zQgoSAiEYEL1kBDT3jnk?922Js&;X-^tmeceDo4$O%x#aQK5`Byyix{6wF1}Uqr98a<1bgp9rdhb{db|ZTxSzC zs-_DEPDK>z8$f1Ac3(0FIKImuPvokz%_F3r1>d+U_E<-oak~-*F8piT@Wb;DuOD%_ z86ZZKjQYi1pbk{KW0Hy?61={V~z(q z3VlJC#UCy`I9c+1#xUNLfSW}PAHv6{d*4$3Mn}d=sJxcW^`xVK;?nw`0aGPR^2&}k z?a5Yl^)8t{>al>b>HcJYr)xxs2lt%nj&O{$xXpz)q=eY9kP82tym?Wg09h)HC%lD9BYUx9GCjJkaI#z5LyuY0( ztLWJz-Of65Y%e{$oxUgM(b0=jgPu|u4Z5C&5&2*5>(6YTd{F@7y_+yjwtD|(07<5N z-bA?s%Ebe(ss2{^8!tshCZ+HQ3N0mw;=IPR?U~1)&LQIey_0t-;(>FPR}~!G_`^3h z#PZj`k9%I;?EQPe(1L#)5l-#X-Sqk!8ngan?D&Vj0*oZ6lB>wO99h@PJe*(0X?OGoNU@HbyV42Fjw}SxzLM`p*D)sYk&F zK<3TpsFoB(MMYLI>s?Ur>?iucsHCCwJi15ozMo&K@97h7P>Q`xbUz`}igDdM%x&Hw z)mczr3H2KtGC%q6qt`lXg_e6l#Sm;a@r`II^MeqR=w4Jkm6OJlz-C$hN0Ulq3YUz= zk!mca4BrNen8jUb+}mKBx0L)2X;}&y+p|9XU(m%lcCCL}`u{I<@qen|sR$k$+!O5) zBES@&bI;$u#<-Rci!?N-PPK8)956A7pU9@KefQPzo_ERO?tPZ)zSlQe#4X0Wi~LM* z{ol{*+)dWh!jwq?JcR+e_2b4#nbGUa`kohEcym#V6adGwsr%oxPzK^P3u!2zKd9-9 zZ?d1cKHu@+6s8^|KrRE-nBd^M5DQdvvxoI-()%Itk(SfAYY@ruZFx*UL=ZJEWVjVE0O z@7?#KRyp1|ZsYoXJuj_A@OAN~P*LW#6YOPYWrQ>>80{D=PFt&O&8L2jOO)0=8W@%B zr2p#k;YpnbVlP%+t`Za66!XO*hD~hon1oXtx)_avdKT2C5_XW$qGH{r6R}Kwr0;r` z`N~Y7F3IvmWP}VlX6m%Tav<{R9?FmQ0p6J|T)Nb;Orw~enwkY3Qq7}Xmf>T-f z9kau;D8;pbqF-n=@41hibrVD1pnbPyw}C@N*I|_7>qMRE4Qdk>fFWLHXmj%Q4pt=M zXeS1PVjJC(+kqL!4|`Y8S&D+ZgO)NDI3;!n<8*xz;}#5J-hOW%pX1YA zx5RQAB}%CVOb7j`b)naJe^I+DgV$KcNp24ue*el~UYzvlGsE=FG$$(^dFyhh{P9uJ z?W-LsslzuMuJNwOa3~CZ${g^S26Vpxbu_vk!iQHocu{{{e4ntIQWO3u$XJ@ON`=Bi zb(UVC!nobuSsw#}+pT2?=>qOn;mn!3%vD^Q%4|L!k}wpQd~!hGIX9C^vcbG{7T2}C z#zwW4DF3pzv7oB8rS{IuBne0#(r|fy{?L)z-v0V8mpL7k*K2sC%W>}eNuea`qfy-+ zk!G^abz4r9>lvJUQX8S?dQtzC_WgV7oHlZKO^!M@pHsWMVx#i*ymP%>ZShpkp{$-S zW-)TTFRo3tr}1@!e?7_Py82)KSSDS*U{$&JK0R?)4SNnDmXo_CyPu73ah<;QQFWEp z%a<=Lt*n^MS-H-H(}dM5HR_%G@oEz{w@!VCukZW=#onGF;`xDHG{SaMW12s?Z&!%c zofg?{TOwKc*mf1ifB7R!bro-kbmbp^xVXezUV12g4U{4lwzTHE)g}kMrkg*1)z?&s zzkIo_V5ZN%0!?6wF-FM^>dWgL9UYepsdD}0OY+X*TN--;_ZWG2dNRUXac$eS?bzh^ zPto&0KiRgS;#1ajo8aJJm%De{OYUzEs5^D~bS;X2@7}$`eAb(7@op}Eeyv(XJ})IT zwIBPMhH(Cr?!7?)$=0U5djm1~>alPsyHfH@#mp2VD&b_%F5sPFyoRLpXiqujz1c9D zhRJNdWXv5b=j4=wBi^c(mEmr)=`Z)Iah~rshl7g{(HrTmiFd^8!g5wt8B}&fEPB?$ zEaX*Gc-~&ZqFuLt{rVdaYtqovObph?IRX9G4ov<#VV;zIw?Pqx3PjAiS#R99A^UJ| z(xbG0`4FMac{}gsE<5x#@YJbOL}lpBKu2k+@fRAc65lZN+(7o^4tJ=nKvmXC?h_k% zc<$OwPsHn1KIZ94Gylns|GNZ59n~ybHhX*fw5#6^DJijLWo0d>0{`ZpU)xXJIQf^= zl6ZSVcj=)&zm31qJ*El!^Y!9ywDN!dm1hUG{N?R%wH{Ddx9YFgFj=>4x$9rAA-tTK zUh?gg0NKr@`e?cp>3MD1akSJJQVC7g0MR@G&IH*7ToLBIWTRIf>+fIYWaCD zX#m$fh$jgP3mY3B7u#jzEvDbj#n0~r7Tl_I3!|trF|I*DYcMd^4s{hRG<;*Ozcz(s zB#(U@69zia9J}S@Gyo0*`GiYHL`6mE85k~M>^OLz#k+#cIL6OY4VLeFvu8Y>KIPu* zbB72hxiZ!7(C>JB^!~Phcf-}ykR{R1yHLZZ-@FF4vI9L>k$Rt^Qqt2;zf=_o+-+C_ zZiLH@Uw^s@nUd9TZer=IMt77!Lr`l);AjC_0C<~?&YwTORVA4R&0AW~CED%Ul%*ud zl07xB1YH`Ds;Q=ymX>`O_Y<_6vIGT*!K&;13N;lL=*T846X<@RlarI1nwmn74;}Z3 z;3DZ**Vx=LX<1nY@Nb1%^foC(pD8!}1sRmi*wgt6>K$CXyzclgawbltn;RbW-EspD zD5U@S5}NMc78a_6S#W6>sV?3}Ve+~ehY$=85@=Wto*_Y^+^`Px^kd zEn4{QgUQ^>+xrlX0YrrsftarYFRUzRk0<(XRQ6p;zhAAY5PLza(54lXFfY`ysSa>x z?faypy+ds@aaxIvyT9yayo;j|NAIWL=BU4foOYJ$U5Fqd^k;YM1$YMQg5=JlKijbrS-J^G0W6dO%#a8OxbzGdch%vP3Kv zhIfv;vkOtPX}L6J7?_y$EntOhlzO=L+FjF*61K~iFDs86k&)S{dj7oo#PE+b4ou6J z-_t@H)VC6q^HyI6M{_|Id-i%L}A(e0cxz;8XI+XlKXq1?PYcQkx-rG&PZv8O^f z)0H3UMQshKW&z2eqE;WCsir2(W978%yTO~TzUPIPCuD@koYYxAO;8)To3s_MIaFdP zRm}7FlzxnUbX?7&bdf@o3>k7rYnI`v%n1;26yLk?IDPWxRa1O^n+ z%#=8taP8ZNO?jA&Ha0UW9coc$bu#IC#{oZ5VQg-`n@=svp!8+U0{!;3Sojjfb!D_F z?X3qPpSgz;4#RZjZk=82UQR5upMCdHS=m<_?IVSCsV;7Af=3_l8NRw)RZx?p|6uX0 z)Qd5y&kpEvd@d<0-H~lTDS(L5l688Mmwr^-#oe$u@LTk#ZkIC5#!7;7mffKelk^6$ zm0)hA-3h8RbvG=6e!B+vbr)X5WjB|`<5dYA_2apml9Ix@XwjnN?^5xn{3|SATXs=2 zvCoz3%0|oJ%gri-T4T3}8ATsZx@xLEf{{dahk2|pq2*N~5^u#3N-)LSfcU?eKR~wj zM04ELZ>KUcGrwV{B^UmJ76Im>-X~}so0^^$OiE2puZq`{2F(=FGBa3_E>D*Z&+mU9C> zo*0Q-PNlv>Vk?PZ8v~B0#>D(glg=_WLa+{hB4#}lcjno$_4~)+lk8vU`|_&nR^#96 zI@R8a33AFSB%sGs0tB?^mo3{YCiW14w2Dw?>&r*`qbq_%^6sqU?i(7~xNFz0V>W1u zrJ#c;{L@S2;IHYYE9HGn``@mVYw7Bu`zmr?Lf|xyaLcHkWqM}FO0DSWFX(D_z*y!G+_hyx1byDr7tq)$yE%$s8L zhhz5TJ6{*oUza}B9**-5JC|VAbpjSlAPK$0a<`nFSIz}XhIMo{UZJX>w3ydEHj|wy z6FvN1aQoM;eS?!~a8j^ViLdre2&RR+cJp}bOIo~2EqKMAx)nK+_`>-;7_X2dD5smp zXw^gTh{sSw#Qv8k1%2a}l7Dvo1dVzkS+m&j3TiXJNNaYM1wca0 zf16?y5kL!itKT~i=t;IM#nQ&63LDgVq`Mfbb^${As|jZbyqpgDL6es@y;GVLY*1ZC zG2J%<0;h4dsWEmO4T72VG0%oR=B z{8T3$RF0yr8oij?2Oox1avra!mz0(-&PPCr&<1hyUWJ%*NjWdKbLAgUuQ1uhrLlc# zW-x1wle%iQT_ZN`p1Nd1{mZfP;ZE|1cpU>G=(BqHGWru5t13NWQkG`zDSS zbVX=)!cA$_MhelJ6`o5aZYAFQ=Q-jpq)bf{OuB3MiHfvSVqzlB=3R8dvM4-o71D3l z>}z?m@FKAxh*1j==(=Nd*!cPRrC?B(=JfUV^YdNEP`Y=1ySc$ITb5C?IPFdnc07rU ztlMUru32u2F6^o;803ts=sOj0lr7YD;Ew44>kBWpRI@I22l-Uf4xZj|s4ntaS@mUj zyod|w-7FVkK#_tQOfZx?c1(~02O?B`ecLY8CD#`5= zmQ3+R><71SEqha4{owuklXg@6((o1-A>EG~CBw2hI$gQTD!y#tlynv{V`5_~?)#Dl zbH<~Zat|aMxl;0oB-^2Q{wrrELu*^xIJ$6+uU(5kAOlg;nu5yu2N|8MU<4}*7V#lC zSG~~PjiUo*YUJOrY9~`owM50lK>MUK22s}l%q2Lf>)z6#whM7WQj>ziDTt<0q%z09 zeTcAv80oY+M|Woq_0SQjASM z?2nkfAJRLUqHgI{MdlFz=V1yrCUuwf4RJSv`mQqlkBx-5T6aR@xD*l07y?qB8Tx@| zTRC9t=gFKn@h-VBECmkv^+SXk@1bk-pVRgr z9h6Qt|2fuQ$oc$a7!5gaEPSeQ<|*d9uTya-y7vES+ut`l+yQm3ZO?Xc+)UapNC-ws z9_)}qv<&Z)bjsIb!~W*y#Md-s+W3uNypeKA+3`5_9s8&h`q*J8DZ4Ut?K(DbLK{;X z@$$zQl?RH^XXKxr;K<0xcy{{fGDL8Z2sXh$6M&F-wFFDI)CGGv!@5@_LG$kGGyeYZ z`QhiMA_#Zil`B^=0InQ(r@v}%+D+@MD#3}i%0cr=d8O2pYd=%c(-_v6>!pT#IAk&ixtX^q6rG|F z>hl)(H$Si2c=Tj>5>$-d_VHQyDN3;oul{X80gf8;j|D#{1Kx~-77_SAO@V-fS3zdR z9VN`sh58jQOpG9MNPcG>@b*L+wb}uD`Vw0}XLmQ*YIj^+Tfx)% zp~zFU=tm~giWP^jLiojYsDL!2TX-UJtpaT}QP8IJl?hhV?48nh{wSn(=}k8z-;53soA{VAO_oow&GobC>Bx zt8z(I)wM`S11?B=tew}xvbemyy}!0KE5&YlFXh683*+Js!i$fIBlw}4${wAL#c^0T zmF=~Dz!I-T_tKr=_D!6f8cv>`a>QSWH16}xoN8FJ>8LN6XCY@E4!8faiqV&jj(o7~ zQFh(7T(U>f-0=#$)yHblK?{8Dw$*`dwiBZkF6uXT{u(1Jq-bBA(MtjaXF|Zx7woZ#MM4pQTxeCDsjD}Gu(%jj1Q?I&_n|mcY zdkLccZ%D%jyDBQoON5Jq8ag!*C-`OS*`Gu~2e}hBa<|3I+uq}itK8DB9hGe_8+)ccxerkj)LKV4b%aWv9vgEY-(Xffy1;U*-83F>(Z zqt3>jKqzHsKHYk#S(CiWd>5t-WcUjB84)m3Q&S5%e@vp=@iU?_t6Sfyo({s;$7z?d z-@JKKw=C`J0-ad(fv{UaHw2#FbHHZYhP z>+fz%XTe^CTd@R%enO)W#L*Y5@pr6)r&U*1pZaNJ9}aU1BetA{MH=P`8!xZ0&>5Cc z@4L9kmh4{>+wpVr=g(gbD*}K)`1-^y#PwVV%|FMe3<8K?Huqnq1^#4`bOY2UU`y4L zBP&;|STTnDI>n-wiaC==gs-X zE9MDb%q$f?4eh=qPl_uAu%H$y`?;gksXFu(+C&_a~1)N0n(Jmz6dXqlJX>vu1r&S&4<44_8M?fcYk(fctF2niUJD=? z(2fv%=9k`H@UwQ=uUNf0GP`KoMV1{GF3o1JjUbY(N~V+ET0K*b7ZKnsV2LQv$ zL>)N{WgSOex@4bdy6=OoecasKP|wUqT%nX=ydFkBx3tu)`htynT-;6ody4Dg>%%kJ z+puoR9yca8n3fOO@Qj)UxzSZeHR4Enbp343&R%?rOG91Y73E)0PM5s*?6>|3jB+iL zSnz)cT>UGiyVeD__t&rgh1*yQbU_h73V7+B#T|}cgGC2^+S=9SoR}yGfE435NpX2A zX3<`+wZ8+w`5x-5r^s|~bDX=O*O(@RPr=W#d^OqZvj|q<7q*gfPiSD^QNV7zg$mD4Z8}@M za`px$e}}49ZO3wp&P)yB6gVQuF#9!S^`WZD#KNKri4NI}vO&Au;jI$j+;W#y_Z$xu ze+d5xpK=1nufM+r#?Ra4fxJ4!94Im z35ofD-AHg3ENbNqnPl=j7$HJ%@C8Snd*j9@afh$bOM6lmJOXM01@6du;U=P;UJjmt z0@bQxG5=Ns)q?SrYPa zO9WM&?*#`lIJ|ysv0l2>9|;=q%EDFy8)v}XlhD|O3XMT?7Kf3M5fm`akBm@MV1Ey=LE1& zl4kVd`}Orf_)wAqz6;$S+7{n=t!*=)X`r3sfV=>V6yRLpFai@@1D?ByB0JdKyGVVQ zfCj)u_l=Bf#v`F5;&boby*3kEIvh-!NNJfF85t31)6>(pfa_lq*pq68WxrSTZoybB z3xIJHgeDhjM_NV@<7%JNG(tW3m0`UflE}99_P5ZK6nr>}M2ry7!X>nP`En3}A&HUD zSHKNM?Rq6_OW(`qGmDC3AaX8)=nxO|_(G<&Edt{Jk6KXlA(nrGqRxs>Uq>bE#rykIoiMjbZ z)3V9lY&qaqWb~NS$~4O(j|WLPE?i3H8VLkLrBVUvfV<{GlTEJ}`<^SZ1_s@S+s?&Z zoQL#?VBHOP1dy0Me*BoYFu=$2D9{jTff}{!UD60W^2@MMJF$fa5OsLnJJ|cj#k5XezX2o$>VeqddK>52=^2LJ7xo#^mtmaOOU{)A zCEb7XKc@^}t#4ylX^e-y$|E{_rj{*^J*$P8eLxBfc{`~;RDpq$nkpga{QiCM0mM@^ zaq6_#Qsfy(Oe=B);R6Gkz{b)#XJFLYFes=OnIR(vkFZZ$k`Z1YGH4Qw;I}9WQ3`jM zx1V_*rMR5}9_l>V!iKbKZrCF8K)+NV2Kkl0gMTN9bqAq{Nhx@!F5cm4$R*DyLTB1 zJUEV_Bt}MV3k&HSz@3!`4itg)qo9>UKDo*V|L29e7j2(CT*lt$=aM0r)Z$SZG@SRFDV&XNDZ-PRkIT(CfPklL-^913bJ|J(Z2^ z2;$a7ix6@uFw+3v*B4d; z^`XfD?#NSk20;&s{jk48e_|Yw2cpyxlc*Ca&){D?PWuN=ers*b1xe$BHW38CK9^^* zx4}$DR(dfGjE>ShLTrjA4za7GEZ)U>SiS?XHu76QlLD^B(4v58sY*6f`8D!7o7r?O z%sb`##}@ELLj_s|wBQMl_aU8G3YFgzg&rL9WMpJolBzGX;hfb{)ePz(F8ICpHO1B=>A6I{fmUqwPL&+I2IrRPLu%be{`EY(3acX!+q$UhN zLjw^Q!Z{~E@XY4AbHU-;-xtAL=l!FDexaHg8ZXS7db1{%IpDhd`k#4_A3codV`gC) zEgGCc0YD@ftTg97FS0fMcpj(Iq3pDCryq(>I9Xav8CGk>tbJjxA#r&OK{7u1P*}`q zogN(otiW$XdUQgPht&9TqMy8%w_B|2g9?JB3psoIMOk8 zBA}&ffdlnxy>w7uR1ldp`Q6caLPr9dz3pC#YdCUE4i**`z_v?tt>tHzt~liP<7t5E zsS}cHantO4Hx?DUmulHrpI-L1wbAAPgh((%D9Q(@%C6mt#FJa45@8M_Wdmpq;I#vD z^@xZ;8jj+Ux1V1Dc6+n>thle+bh|~(4*G6}Q5)6~yHBL8gTmS{w(f8L;*SxZIq;phwcC&hA zyr-Yb*SGG5t0+WY&^uCpfQmVG!`sHjhge>MZeF~&4i(}Sgi)Gs8louZp2^GtssXJV zO~@<~&ZLyIG!52;Bwj)8WKa|LCEoQcN&%#)1up+Ks(pw#U16?wWQ}p*%xNRd5ur{Z zqF%XjWgb{U5YWdDH6zOc11&-FVc|k9v%iDMAsQ!0fey&X(8Dv5w~T(H4=E;^n~w*+ zMLq>5mQXV3dzJ`hL+R=fl+Q>|g!mij1?h~z=1)9wV%APbto16ktjT4bg9|i-5U+0r zeu;MVo#@QST_!yTEUfjF`iG9Lx$ph<6aNKtXrH0I%NWC>zo*`ss z&uo6j)%W}TeE$3W_50^{zj~gY^4$0PeP8eEJkR4ij^n(1)KwKWZD8F%p-?uRJ|(M3 zp{(hlP*#=Eti|7qAABBy-wxZ!>DXymU9od8x^bDJVq|B1-OBE|nei_B%QtMztSk=- zi3=SN*kx*GXKi~#SlHq}|AUa#jjO`E{mjPrkoDH5&f8KbOk2r6R9B;FG$~XR%4yl- zXB@+aemOWY$Z@P28|}IAXZ?CU&#kMdUsAthlG|fPm00uYu5a`$<8#zSzPxu<-Ko)_ zIv#fBPxPtLh-0g6AKOY}_R`?*64z+5Lr!k1f$*GrNcQ-6|L1kxGh*VuA0;dPS=H%3 z@7%q6hf%!Lf8QG9|4u9NKkxJ|lW*cv`|o=%as7XN*%1DPzr%NxdGPC`vhss`zpkwt zHf$KHRg-yf^8RMtb8p$Cq@;>Q9cRaW{}p1V*GPQ$@F7J;MyBl2fd?EiZEeLiW~F&6s?rporm?tSu&`0dkLcROnb)H*DFm#nHuuOF&?wN|@-U z=;L?yn>Prs$+)xK+0~SrEz5et*0%b^$#r>)6W^OM%$b6NgC9mkS%u_Twr1bXvF+>h zVlp^pXP53swQJWdO31!*^2*8^+Z?+#EsmFRlvPxShepn?Vbxmh?CeahdEn<)+bo1j zty!}sSSDUGQFd;khr4GTMd_(feRJly6ocT&)wgJwgiK#)yi(jATf3f@Z`i>T^uxDBRs%iEZs7t(3Y8ye>o96u9wz447vWHqV|%skwKnbLZ;x;1=1MLu zF4D2E_*nk>U{n!)*m11mc6EF5E*hOe_oMSuf9@tE@RF4h6=fhRm2OsR=N@&hHP>NF zZJf%+yc{a!^uEGEIeBL4LXnUeM~;3#bo8#ew-cb8lr-U=Wu=j6uG$wSz-ee{oyVxs=XFYSN#y)Q);7hVXx?t=-o1 zE#&0V{IrN^)vm>70>9()BE1uik!Exy@xtGi~UacF$z*s zf>&Z?ppiO>JE!$n zo{JByc+98u!?!rNll$O7tpv?izO(aXL0sH!nfR$fSLi}lpp2a*)6SiOIm%R2RG;&l zCii$0I*hc^H)mSt8Hc&MyMGSmR@xIkSAM9S#=yXUJMPcusIY);`l%aXcXrXptSqK= z3=ZlUe?Y7-ZQZubU-8^)E`l8Ev(V2CUCj{aM94V-*4i1lwoYJ%k+{ z9Uq65yfgZuyc~JpzyZ(o+jwYhzAHgA@9cb7(>T2BvX;~A|!R$bN;<+03y zJ^BUTNaL;k;k!=$I}TMOykA32eX7kKQP|&*{Jh(uJml%q``SroPtPlRd3nwDJT?4L zk(TZg7^o1)e$=}62aA8>$&)9m6EwIyJv~2`magODr&e48>N1?NJ2<1v=T*oJZ`3Xec^)jv{L} zvw8m=ZW;V_=+Gf1thKC>5ho>DElN6gq=473KD*)wJlW9rt{){PA^ z*kxqm+bKFo*ttgp(1N#W)K-7&Qqr2 zP8Tok!lUv#aQRyYu0sNma=lDaiJyxVQ?>yp(IHY{cFmJ4iQ`x~LVNJoFs!`PI4j+KAmw(u88%yU-v(xpADhb$jFd`Q>b+q+vxXmh+;l)SEP*r%yBx0wq9h6QZM ztf2=kZ#er_-z?k_#rbW%r;dezmPxw|0aJavk# zIH~#E^xn%aU8e`?*La=aq|k+lne!z6khCAF;uroHG{NoT@4x-?=g&o>iad|j;~Q@e z;E)kwU}PL<-Fx)t1tj78s<#&;Z3_R?#w%4EJa9m>wK6p5H$RvB1G^yMETb{*! zv@Lnu{mPZNu}(kXYjwx*IBTD`mH6)v3y5bjbk!IP{qgl{_3Y4%9DPzse0uU+=iWR1 zNURZD{x#B;uSc_C!`3Vo5o1{&GuFY`@h;Z6r$sf>kVz?d|gnp<3S_0Qe5L)3H^_QJ8gOgzrd zNUEL)-=7yh;CnEda0>}l^xvST*Z5QX53}shOS|IlsM$X}EQstOH&KvxwApp&aaOpe zC-r#l18?tlrp@cNursv&`c*u&q=@61H%5+1jm z9&S0;ntA#A6K7#nRBG+mv=sy=cbxfyPj}bt7-Bw`st}*|P0uR-Rq9f}PRaC4AAk-g zdef$NMptfrOH#}DJCs)W#8KlLGs&g3ZiC5L0>L~;#+&u~L%hAqO6*5k`J_jxW7kDG zcCP=rATK9(KK7I>kA`7YeR=r}nSCLO-1oL{2&qof11tQ>b>Nbc(!asF!E04lX<#Wf zr$(GIi(g2&&fT?}?&P{uKM2x{d!=C!tIoS0>-T7aP5gT3S?Bpnmo8nz!clG^5M$k! z=6QO~hauIhMnE%0k@fGdj=is8CTiZW5vzU3`M7~C_1d+@Bds}|lgKVq_qT8~G{r?n zQ;;he0`n^(Bu&a5ax#8x|MF$EaKUWM>|$M_mUC8wj7NdQP1XCGcUC28?Tu*3$;mM) zdBD;+DQ4cV3kBCa_xn@fuGSpe&Plv$)q!WqR?AxPs$N-Hhi=92T@^COOR&vFQZ)JX z;b!L~%fT!C$+VIVBLb={FVFCgqs|VLw=~-n|%<(%IklIUYWLzAxuT2^}?6;mUGuXi8KR z2f>=#w|gDGyVeM0vGd5<4++u=^{=&y8#}wYiW@h%G2MG}K5cDkYHH`C7cEm*YpOx4 z{HEE3h3Dxh+@4-uzjOK`SF4K#X3zKWj{sNAE{qmZQ7VtlumNGJd`rVO01#M9d8426 zzG&q;3QXsCS1IM<_%y}$;GvN-cJ(*6a7Y)OGj#KcQ+d97&mQWwwzh<`$*d?;uSE9d zemPE zqN1XH6{YEOKnVG^>5MbjMvrx*qfH}w0lzmOpw`wtmvne5!Ibs3@Z-m0M(75D<5D!D zHp_mqm>AG{(*JxSc2=BZ-0#AL`kj3#7jiQ-YImHr0XlnunpMLj3o92MU6?RC_-`k!${SOlP8LOw@=6M;pf;9f;QJ9#Am6jRv~c3*`^&}Y(u-p!kJC~A{_I72=l=csv-5z^0%s;x64YpG zQ%w{iT1chok}PnUdHc!E(D@Iyjmrhw*B*fCx~1NnNJ*kiXE(A*sJHe4LW+m>Mo2n{ zO6#4r?NF*uIwvfWkGNoIZHugJq`4C<@=G1*X-}U?#gtfeb#-Tf$I|pujRi#!+g@dn zC15*UDYxCbZ>Y%4)NDonTArYGJk4qHihiCW{mp^8R8w|@Z0UUtckjGBDe86WxOjNh zVmEpF`F+9H35tpe#QNn;eB1Z%dk?eNwa0DgLKi-G+7CB#iipr3tLFWK4gUhmI`;Q( z32xK6<0BPvbH~W9-2SQ;t1~TH?qNIjtJoqPgdTOtoRvbTs2!bV07MUZ^yn^|iW zZ9gXA5|o2fG&cEM6ea-=n60rH@{uZv?yFU*}3FFQilJ&R_A3pDzj1p;D z6-{;N01NJ(TXo#JvuM54(p0U4b;qp+2Bp`dN4U67hO-y9w;P(j%(#}GDRSe+jWM*! zzLiMmR(7lbao8p_8#fkV3%tA0qo|C%)mO*zdh`GNkA)^ojHY*pGLy^t>U8 z4_FSaMdY7EYx!ed02kfPaV}YRJ92~AzN0QQw6tH4>Wa()3g!p)O^y88LD&fc19nQs z&#O_z$mIfIqu8+TOsjW~J4H#m*;zXLsp0;YJODGS_7CF;{%JKV4mVlP%bzPW;FS3E zcobUyXlzoT?1JpVYmW>0Hqg?hy3AOPJE3P%R{effQ%kG3G&59ps5(}GwRVe`Wh?Ws z>R(%wo(OzG5f2Ive?U5Kl$Hy*_Qm^B^6uQaMfvKK;4#WZ$e-Y!Ghq~h!P3xO_y=9a zcm9m8iLQt`twx*U=xf&DS#pzI6Bj@=@p&wAtz-In2>X$mG&gGkt~4(6lP zzxLoEvQtLG=SW=RbCJ(Bv4S1-nICjqUgn*6LANq`Q_wEUtd@s!*REr&1=yu)zh68B zD5_rQ?j}->Cl$f9)?uiL6L;+0B6h9rRNso)c;%%;je2a3MhWRD!7@=0Ur`QyNrd{O>^gB!zriZbe=%)8z|Hs9v&bsl*|b*_gh%{+hTAO za`KgWhOQ@f$Klt%iUlP@aaEE3j{wMo~81(P1SoeFER*Sa8szTSDZI4PxNvSIISlQa=c~*nt=)mY`io?qf-v9!OhV%3C(laZ+f8R#>@alw_ z(e^_+_W<{4&=*j4)uDMETpBG{Q2jxw;o915)W;orLe3Sr;ep1F8(h2gy5r9uz5*-L zODzbGHGt;1fsfbi+Q@RC=;DWbmzm6_gjPURKQn)@)E$2Z9Hi4tt55WaH!$XegtQH1k__@qd_x98KYbpFMb zJ}`eU;pMAWW{Vy_B9FFoNF$Z-iHMi_@7OElICe~P`3XC@-hPW_QUA)im#4SAh>rf) zJ$3et&Wo8)C<%1H5SRCFnx3YcpBWYAYe)UR)*TWY95e22Wb~rs!e$hBSD!!m(+zsM zJu>c#*(Ks&PFP0`KiHktJijnKxOZf-**xWRvqBVs0{x@k9y_O?8*;AIYFBMPHP_mz z{~OtV`ydzP1Ymdc8Gde$vswz@JQjwtbfXl6p3-6~Ty68G=2h@_h5zQL+vq!%XS=qLxWv-#B*ce^vobfRXB3o@f%>HCd>03S3m+H& zpw`xow&mx3%F)fW`*WwNN`24Xyg@)@BbkHx(~yIU^(EmHq9c z;+{>`C7`7uN+vKpUDW>uuB7cMg}(RhAF5*jq$EZuAAu>VaviM3^Fi0H1AwOZ_MSc~ zTquOA_P6Crx-SeLI_;$Q=y6aVcJ~)-2dZPXLgpry0n0$IbWQ?yv$kFZhY%{`Ax-H3 z`YrqR?GE^);i-?FwQ?7&XzhzN$1rYAEZ}>p_nbD>Zz0O@T@#{@=cs^?= zMa9J|tp*%g#*=8$LnR$7eOmJHlzBmreeF4*4d{Y(cr_mOHe>Sx(xTXu`+WX<0$c4j zmhg8 zbIEt)juzCK#!gI35E9O$_s26`Ck8dG{P4IZ8IEBkn&m26LNo8(e^nlNbO&%{#59~LjWX@biZ+TpM19MwH~PByL9Eswd=XS z90UYnpWG`f^ziv3Jzb}@cJj&h9@FOZ#3l`Q{Ez;s!^jVQf!okas|~*x&}X2gTEBih z>rVCoGa>zK^;i@2C_-MP&Rg`qK9B?sM7d`DGGvX*GpbI{l;a$l*>4W41d{aRG~kbP zcOvo3D&7yf&eWuD;>Q=dm69Ti_7xFh1Iju=Ygk8jys6^bw*%Kc9kr#oBDB^FRLRNx zHwVtp+_{B<>lZQcI??>nfoF1(J-1^v&mdLd6OAFBI3m`9K#8MkSVW>@Ux2+(37g%S zmcM*au2%!ylNeA(*-y4W&Mhi^?R9mN#)WY0@xOl?ny+AIV^802GRp(c@J26dGd3pS zz}cl;y;rZ>?9CL5ry^*;uqJ(FrT)9wwevSaYMBQ_bX=Ro69vwXS~R`;)FG~+p`nv= z<5fB1X`$tnGq@C_L4(o1fLmV(*fa<|pYNRUQq^gCwEgGc+TFX~Z~7;f9=?TGp906m zHho@Q{g%hd5)*;MP|q~f)hU#0>))$LbNJ)g!T6#n{&Q~y_zb6q>l9L{KBD(2F1=bA zSs$8v_BFuMxD6=Pl2ck*z4qtSwp0nE@kRYKxO3;uMgtux-%coaN^C*T!o#m?#^=q? zFwoO;nu)%7{+y6N)^ih=DaRBQeXHlfVrIR6Bj{L$9yf~3J3&MXKB9U3bUl^(SjX|9 z)*LOio)5Nts+40u_3Dre{d#}Kt8ow_2X(r{cl*9EfDV(%-tx{=(Mx4?X$lI1CVtrm z?G)(LMW5y?0+D_io?cHwb1OGDSBE1>=-87>xJKxao3BgEZES23z$<_4dFOfXYDEWD zZEIAPdE;i#JZmWgi4p==&LkD>M^m2DK?BF%YpyrFqZ%I{N1w@HKh*RhBRMK6YF209 z)I?`XV*HDdMnexdP#(P%5wuV)f`T~Tj>hbU&eQwc%J}0gD%OaJ+qZ9X_ZlglpAM;I zXedZ9-2gcRq))8t+yqe%L7d)>JnC|d?NP(oMM;p)lHE6)d={n#>Xn8b7vAXE09bHw zOqE(;aoNYaEcN_~y9n0vKp4c$NT*&FC|orE;C7lF1i zzDkbZNw)?2I=~<_;_c@QoQgZ=K7gS_>)5&S6KTn2dC@6(xK2{0KK?47&%7Nc(wJ`T z&jenE4X$W9C0zar7gr7>0+R$hafw^Q(gQT%-vaM%p{~wmz8oZ zC9*-3H1el-IQYyap8Ls~wy^Pl%3{Mh&!$(d+wMnT$*8|(V7XUK-Vc=4js1WO}5z%}O^SkYMAluJRg zp3$(eikmcRBA+@}6f_e()KD^lEz^Vr1O!B+-xMRCmYFWJ%Q0_QIp5`YU&DVzPwO#LJ4M@^L^o@4)F~ z^XSN@^Q?R4Tk~DcnaJknT-J_Sd)jSj`@9+i$=@T(?Qilmo7*}g#x&!;B5?)GHr3QV z1gmBKKjw^WywWGs+LPz_SC$u2K8c1XzAEuvKz=dHODUlH16|rAXioDvgfr;|u@f~q zn|6pZaBxW4E7y46oG!jHtr7J_|6IHVYzGksv;B`8r?UpjdbcIcjoI@n1l@&`t%*Pe>n0b`RDPG-rjpe0P7MH z78afwY^=QIw5o#1K@-je1(PEW&?3e=(_g zOf2kdah35a!21)<&dxq9*V_wr0uWQu751){)6z>|%v3scs!DfbB?F#V-mK&D;@lO7 zDH-r)oojrN8+Q!lsVFIZLE+vQmn8jd7!k1cd(M?|)-PUySFm~3W@$t%=;cqA>VWHp zRPQtE3Yfii<~$gi*=)2H;t^a~R_z6>wXaDt%6R_KM-987CJhtkyQrbD&>YT|r#Z%Z zAory+zD*as>L(jca(&-3U7KtZSNNgLbQF(dta=k3R;y}}`oJ-bi=W#>fr zl{cUsSeYKz-yCh*X=y1JUw7`UzKG*-{iU>okx&r@?9XD2)-CK(Rm{mMD;mj3RFvn3 zti&Cu43|QotQ36uFafI1I1F9#JLg}Dva)Y)|66kLzr$JW#?VZIv(OTVNUto~jyvVt z=&6F0XzR>rHMPdj`vuu=-U#GPR!DYEO1sUQ{)!y_^T!9M(YLZRV5fQA`ogzzqXter z+s7|WcYl2pDsB>T%fV@ydE1b7W+5?6iMg5_XUk>ddc7x6c=Hf(Im@|}y zhT7j>_B$PMb|2t~P5NS6zDp`-it#z1bN`By5%c|%#Ha+e0-7UabotU&P%l5ewdmZ) zVT1E%dpw&r91d`42ps4M;sQ?$%)ATQ;XM$Mzaf8gdfzbj2?!|p`e<*l6ciknq~7>W zWt+YAfaFOwPb>U{3%sEpG^fhmD=sbV%AaZ576n2_kJ4?wcKbTX~T(B6kpr7n4&!MTSenON^ljc2IfH~U$K&aL2 zo_-BKY&&JC2Lp%y=5~iRCxubDR*=@d7C!nyS*Kicb8^gDS)xDmp9ovKgi zq&rzzS%60`GRlF@*QlwfiR6QXr$NGJZRzgrrXlHg){;VlyJ>iq0s$mJBerN5NXL_S z$3iSnEboA7m0yPPc%(KLnLXPdq$q`klauo^@XD)@zw>GTFE{GH z^8KjGUsH=2V72w66xoA0+lsDhqdSjVR0|vFx#izLXP`B79rt?p`0-1JD1cof>4xSN*o?#g0TZLQslurfkgxKh2MMRqBVIhwMn)`vQ8z+weuAhbONER~ zEG&E@X_vlkjs4aFjn}3f&IMZd2DmL(z&UY3oo>Af7toQc=MpwCRRwM?L~!ITna9d| z!k}a3I)b&xDLMd}Mz*U-c-bQYMv7E_$UbeE%02KWFp!3LauO7V&MauEH7Euma-O_LEHY&=F`~*R5TY8eIm=P9J7h z5xd^BUnC0Z7fb#MA^(?t{rctQG}&vmGYJ)&{#soEr{%efYuaFzzh7)d&q+V?^TW-g z>dRcPvYh6jVGP~%1mf+U9s4idYUm6>v*R5QAb;u<4O|X{yRVH`>jKrp+5+8yY{F`t zbY*TH9{KPTd&u9j2nnJL!AApiZx`eaY{8~1D-Jy8q9sNFooKO?cOQUuqS4~AUdFyV z4uX=7oqh9hx-l#&(Vmd;wpsm-6g3N$XnvO+D6`CrYcfTB@3}#w;*4wccfhtBICwDV z;lo?_iMg^~a8M8xT$;&KxUu{Hw4tL?Qgqw4-34v;GA_;-&lH|RDtJ4`Abk8rT3t&? zxBR6$D)o`HB6?YGB?>c6yf{YeO3Aun;4QmI_l+RvfS(UEi3ZzOb{3XIk)wB=onOn% z?dIaDhT3K$JwQAL{}GlxqG%K?fh`Y2D&T^T=IUX8P(|G2QYPc_+HJRbKgS-cKGlHo z4GA`~>Y2fK<;y|a=Yxb(MWl(2+!Bu*)3yeXXc_V3*Qne5*m=b6l=-Jx1fMaw5{hp?Mt{HQnG}Pa=+xBtLr$rx zlCqG&$QiNU=+39P+1lFLag=NGy88%t1vprUK@AyY7rdvgR^-b;@Affsc5>o`(G48F z95^Ugjj5tdgDSA%zFG|wIfuQ1ph3)iIW9mlcxiJ;OI@9g2!W8Gu=O;$-X`pga@~sf zf8X@E0`d{fmMsb(_aR9V$LYAx>I=S&F1_~a5Fm-keks5?9+ z4bS5M+a#=`OGZ=pwO>c$M#d&4K7;%oBS^N;XmM#N)nmooKiAmqYgySbQ&V10>~Ode zI=Fw)UtU)BWpU&=YQ&&oEH=~zV3K;~3s?Gyc0LO-$rDbd{6CBwM?V;SSxZDHt1uWX z|5-6Z=1_f3KnYy~AeWejh5TIeN=ZrC7O~12`)tz^yeZ0Muv|TFL%9=`f5Wu0Pb==h zJDVG^?6LhZKNJB#h@_DaWk>j`pf>%_&Yj8dZT@AJo_sNx`@&F>f zRqu>W-fee?mG}3A-}Y(flMID#N%~-6nUOp?dV6^e8{pe|0Um`&Y{;4Q)-YK?UexY% zSY`b(&zHNaf?obx(xuCn*OQD-w{`38!0On3wYlyx$%KkHtEHp7(;>{}!XnaQ)*k4Z@}<)!$E{AA)3 znQ9x4u7qZ?2PWqyq4vNeo}e38L*6oAZ#;2TmiThYNo(-ZNjwZM;NKmKf|Ett)M(J7 zg`8=?)AL>UlY8abB6-?4vyun zuY03piG+o2lX}e>mJl^!_=H%oINKH2^!_p}kfav`cG%uK;5_+ao|1o$RqWa+#U$ur zI%!un5y}^8)h0OCzhLK&!@8QClf$`xKOML;1*|=(JW!54b@X?@?(_njj!wq4?O;i6 z17&d@KFosRF*ZFd2aK(eYi~g~M5O&{$!lkOAd)HkuYu+D z2{5^|1&x1@nrXEq)=)S*eRfLPcOZ8F&Ecm9KHMC<2MD$uOC)Y4ntI~JM{M&4X!VV& zW8{d76F~C!;GiFvx>%2uWyiUmr^Q~^1$&VHK4P6y;ov1i9PWBM)8Zyt+LNG^s=+kn zjeVvKmiKNxftGm;w%6ZjmC|3ZBU2#@V~ec^o<4T%8h>7XK0O12r?)qas96m)(ZnJ> zmYrs2XPa{Sr#vc{9W?RZ9RQABfd2xZQklTz0*@jMT)e~u3>)NbEG0>8ko?2MEqr0M zWk;`{c6tuwes6%#TUeEN)FQ9fEkm;`26_v6^5h=CExDmu9olZNSD%5%i5Zsds51i? z+|RfS@DUXlCTePGV8B(tW<}uk@8emsXvb?Os8eD85vS-ls&@yFIm9kc@H;wN0$Ihr zb#(UeuiMP_@$H4&B5?seJ|a_-*#y+?+ZZ~C#xnAhE5ZC}ivEWl_4708o(=L4c;Xns zXVoRp1EoGdtmtwVfD`q`!&yafpZ~Mh@4;CIIkbE*T!_PK7w}5ysWBFWxC&4;iY4{I zzIu_)bi$O-;}BeTdZgt44HNT&G%s|owh>byIW#8mcDq{M7oQQ9l|6IhChh^o5+>-; z^h`|m$HuH(n7;O0ASRN*1~247QBykixgI7LCP+Ks-pgNmk=n?s>~~^=+1K)NF$qJN z^S}-VchRf@$PgRZ#kqTT@ST4>5E%wheFON?-(DzlE2g-zp6M*lcRzpsVzBHRD9i`1 zY(%NF>?8h_wEv8j1U-6w*p>&)AD#kdK=|Il+5Xr-3|9n#fpu?`mA$l8XbSk8yt=!Q zq&@rKa4QvA8!|^R=se}- z_R9+2^uEA*|1cuLA5Y}G)G#0bbZkAT3;%aj|MLvUzb_qzL+Q$JrK;0<;*YZ*(y4oMejDk8&YS&N*n%f6 zcjnCF^Jf2@I|?!}iO-|vaGRosuP+raA5#KNxf1{V$nKX-d{!jKh`?>Papw^Rko{NU zGu# zlX43#bZ@Tync?HLib6&Rz+58%Tj;6(_l^8w`k7kNs0#`KY}L*emNHF|jlh>ihruIG9bA0~Oim%0!oiL9jWOSsdQz#CMGsZ^EYL+ldj!hotvBUF1)z|zp3*wc)wwz@;YJkNi$6NZ;6Tv)9o^D z^0`ni)ysOuW+vq2RmCSl!iKLEe|$ft>Bt;nsp`%?BITSg9+p38EsxZ35?F#lA<7Ym z_+dTl;~oDP&ch)f=S?83I=9cD*rQRehO!Q;ARXkRr{QhLNA%manFQTXjgsC;i~zHX zxM~8iOq!wC%jl#UuUTH2F)S)A<>KO64c9fCSC|0WFwmG1Nc=U}^+3Z}r*a}x953<~ zut;mWMg}j_MZK9@`|Skxw~+OpN|$&z_e5X!F-!QH6ZK@(ao(bZ{Pz9Xff85DMuSp<+|y4M!Na( zUbV=gdz*F;p9z#V6{6!)@f&Tg#1v!I{$WU#r0!DQS8e~L<@)1*S4x?>y>go@>m)0C7 zx^3#UdVW&R;g>!R-%eg$9%lM{Uu!23BO!6rR--&`tu1gEWq%@c!53aO;^{o4qCz|* zK)r~V+y9$zOqm& z1hhLRu3r~`P*pT4ec-@W;wU6247k#--c9z>`F~@WPlH23ya4mN09y#aByAJXT(O?1 z=UJ$af5hOIr~&N4A_dFy=BF3p(Cw4C#Ncm#6j$ZBM$fKXu-=fv=Jq^YHfvrbb)f&afK>Lj z#^4dwh~A6^ADW5rFW)Qei*CgwcO=@+_#d4J&9S{({YOvf_;D(5vt)tTj@Z%QC?5l6={4)Rp{QDpuK569xjtoTABaAj3 z_3^I!J9k!*SxQol;O`hitbc(Y4cMW+rHm$4tC@#N4o3Ol&*wcrkiJ zQuWYd6UgbTW}0k-{wv!l&6Ix?nj11`fiy$LF*m6`1EoyZ1d>W9w;&H2Lu+>&NQ|dL zXA4NMhli&VI2Y{fx&Zd0*QP7GHYyK4JZJMb!0AF%m!C{;Q~Jh$d!>g1ZIz5l^WxBB zT!d~53kf|X8uVX(V+x0E#x*aXOO*Kz;=XWSlmK<OW=VSiK&jZ7 zC7=zT9+>6sw++K|C144C?U=)W;k3le@aCEj@A?4y&b9j2$6u&}g4hlzuoT1} zkzKJcIvusSn}xmB-OIXuU)n#aB(}2nYN%@8zuug_9ykCDuSoVv$EUl+w0B_!Vm|6DN|qDO zqGNQ_FdO}b@od8?fr+P4=0m+ho(h0g_wPiS5D#|o0*XdLrtlx;SN^- zUwmCts9tawBPX*k1dP`x33H-jf&XYP9)Nad0V)-})K?8Y7S*C!D-J{5(-b&Lu<*hUbf$riw@ zzI~z8Z0H-)oaXJQc@3ubz&5TF23WVI2uffs$c}&H|)` zkS5OdLJyBOI;khFDqMu=c??GSPS7OSP}vO&SlrK&qj{?-W8>qW&_Gq?IoT!;lU#?8 z;sUV*$}@F-4eizLz8-)3j3`lO8I!-Ma_pA&VNc2$8_)HP1I3$==5-d+P-E2!953Fz zqXWOOW_fW^?RiMDak1}_?+x!SD?MO4yp`D9DQLdNPh|5;v^k4m_GrX zcNB~|ogl8KH#)ZuwK>KXxj76sbK93SCTgvNgYh^>nDorSnpd>M(F7lv2_XF0IX2l# z(rsH*(6I4gA{-3C)+i2X*Cw7hY0L|T2gG3ZlUd4fKZ*#|qQh>(V2BI8fqg%o#iqro zUce`aKs2eP9qQijSkce^Qqqy$?;-2yC404MI9S`Nm4_Z4+7xJe!0WY1!8PRM(#2s< z$-hER${83KqQRyc-(Q5XHx8cl&(Onjz@d_u=F#a2-De?WSRi1azT=1;FDA=39LkE( zx@HpK2KoHQ^Fx&#Wv!@|WYS7E1tQ-Cw&ay>`%?Px5q(g!K!HbNzpnj$>e6Yef;k>3 zDPP9y4DB6)UV(vIc$7nTNoQ&Qe5}ZgO1y#M`1j{kk~N9N{ML9ON5O0-ZN$!r0gUf# zvY*-(wDj-Hfd@}eE#U6!g!723W5@5`ghQ@N)?>opBXPrm#}>AfftTrjhNOT%LPG74 zE{L6pagSycN6lGVzGd+C#s;VW_c84Rvo(d%lxeYJq)pICRbzUz4=l$!-NP5;02cim zF136xY15GGb_yRX?P{G1=?$1eW8T@E5tAs204EmXuM4k_I4JF_m#RAOY$J&`kT%sY z{8GZE??}HkkwIp<{5{N|GHo;GRrpc`Rlmjz&VpZ$nr%5=e|{4~aketgw!TN}Zo${) z-ST?*$J|b%!1gVe1Z48yO6V;;x8wrj$KBfc@us~u1pn3b*dJkHv>+LaF?T5Ys zZRjX8kwGQ}#t;_SRG%94__62X#|)3Ye?HzR`6sz}kEW$F4ZG zyyE5UCrr^}3v}Dv`0uER;30HOMbE7Ye9-wiIyo63S2d-ZZBq@GxQ*vTATqPGs{~M> z2|PmZJ?J~~!`A@LCd)Yz1TJBnsTh7W2raBEMiQzSq7KzDbCEZlb$wshK{$-G+AM9} zZCm!M`|My@rhRE%tbN&}gfL5>ZKG!Mk>0fT?~8&$0mT5e?nWqeOOe2DE%e~{=&^I0 zQiXvp(129?rItJgnwY4m$U}y|_w;3rl#`4?`lhu`AABB+LyF}T7T!W3ZqBa@+HZ8| z;XJ67h$H6&giAW8c3I)iJR$oeC3nayj;*E~6MAYcKw~Zl1(Z0ZZp9>yp3!Oq(R4ho z>k2@M;n`m9&5|oA=kf&3PeSFHAv#a*e=e)t}SFEL+0EpnGoS5JzPu3o%+cP|h zaKH$vea2)yw#$(QKm0yrz(u z!RT?bZnG16-@S1Ohoi5|#v5T|^ewf(aSfX)%v4u2b}kHX>EDhCO2SzlA0ge6=@mrx zp9oE2E-XUUr%=FK$YJ1(oMS-LZ zFn*!B_^p_v0&{(OflLaR2+2}rK@W=<7twsZ{I7zFnnsW7B2LL^1^Elg&kn4?@JmSe z{X~qO3P~@cjHVwMsGD1Wi9?FAA7hAH+c^M}ke)AEQ;8~-m6!h`?T$@m+J_)?!9q#j z(o8Ihk@K6fZxDmDhq2+0P{GD9r2$&W1m6(3^m(=l`Vll+k{j8jn6dN^rllWmvlh0e z|IRA#OJp=*=L99t_M~HY?%SFgk(9PimrZXUn^!Y7j&XE-9cZo1f>_6i9$PT303|oS zP=>$enW#ihDv4w)}A7# zbv{AuDm^o^H>ekKMhjr->W<-Ii@!7K&C2>0>^OUKaqLKI6Qh$(Eii*diowzR(Q}9n zU?noB_(sg}YqRuxKNlIcb#C_<$>|#_*N=icg+hv)Obianpr(*fW9+`^II)W#Df$JjEO2*M{WQA) zDuZAV5b-Bqq}U|Hf4VoV?u>XqD`#a_>wcv5WKreIvFwkEC7+xwL?Q5T5F9x27iOw^ zM{W*KD5O1xyq<5C562fV7Q%M*N{kuP=la>!RAep&C}%$kcK+Rygp5U48KIXZuIB&2 zV}#?vsRFWcaz+42TV({PK8`3|O`ZJAHHf5{2u`FNgmdYXOoc$Gl*I=~)Sb0wK_e-4ImVcUQWa z@2#ksBM;X(hAVyQYMst;F3p>-~Gp$a1=QDW?a|r-?s_NNm4M_kyQ63XR-_XF}5pFc~o7r zrVz&YS(sD&=bBzM|K9O*#f8m0!YS7x=zc~9RO}>wAzt2(9PKdn|QE%mFySlo#M`f(q zq>`7`ZDPH2hQ;pJvJ(WItus!e`7>`OmJ+o_XHegpP}#2 z>3H;zGtT~pr1O2Lk6o>F?0v89?{oN(lu{Y3n_kB@u(M3Fv4gK5IaV#%8dmDmlS+*= z=SafyW~zP3zJOzD$T>760XzKwuR4L1VUZ$jWw8a0sN~S zAFtC=qv8$AUBZ;Iz2I|zRN?@6J4%cVIG_al;JYG8{U1RgA>0+oDdq!`A*f-yF}QZC z_t)Wj;Kx?O#ZwF;38}~EFuLH(+U5~YTos=^*E7!Uk-cR0@9FeFYQV(MSC0>>?}4qj zoIEZ}?s0Z>WY)gd>6f=kZc_YddY~Yq)6KJ>%C-yJ4YlRN2GaUYQJQp!9%ba{9SlSD zMLm7`RARaq?7CR5yBIN^NY8a|gA{qv)dG)3{-*cCKM#gO9qw&*x?0i|{^pamWba^o z(mIEkn9IdL99%+2O!=qVrAq{^r?iO-4Gx;0WqG5Lf7cCOROi4YWK+KgQ(T#0kje!1 z#)~-jfi=RkaOv;!>Oa}Jx!4=*P5CZa5@YC!i#vGTS26Bv_L9o*`Y{QxIy?GH_33>s z5V@?hc^Igu3V2mr7kzxS-AF47g&Ydx@AOmf4{6}#<=0X!t}HJ(57I%4U%ry3NC__u>+&$qFPv}U94frQzCMvpJxn5|nbApNw|Q1| z?>o7l%1b*hj*Q+XI=zE5=9ivGs2!#Mc|SLw7DICZDL_XMj^XdXJWxvY0$zTBXijL7DTD|C*NVX;5Ifn9WoKi5a7#{gq2RM`* z%Y*|kZpBn=dcRY-q0hl<}?%YWs zCu3kx_lk8Cp$4F*p!}2opsG~pxv`4a2D&K4^=v>7eOxEQXjszB^pE7Ymge}TBIs47dG7DZ3*q)wWFxU=nGX~Jcoj?Q#KFRc* z=Y4{A8JZONOCw`CBDp>c4!#4b@HemzT{|WfC)S_BWT3$uMeE8DX%}$dw(O#9h4|G9Jo~qex95XaEOTR7}v!jk`dMM3^+qOfyXIi zbf_!Bp^Z<(A8^8KXt3-|X~F&b>&QtBr(-b`*d9n2S@_w=gj5v>m+_+}0ZRZ5K7p|@ zF`{h;d3K&O3y~kWaagMLSL))J0Ylh+Zk>Yn6g-FD@)Jk1zh0V+nNjzzxN-ICm$M)w z`K84({mEQ3M_+HR?i*$P-p48%rq}3!;|hcikGT~v&eW`Ut}v0gz}_)!VRKnXo~HK4-js)>mS zu_o)K|3G)bsF3w!-#OJ9nnNa-WS|4TOHmh9OL-h{gaYBaa5j53Inix?>Jz#*KP0G- zP{L!%2e9!~2rqr66_!{uc6$4I_Kf&8Mzs>p;ztp$Pa1fY=7_WRQD--t5l6{^k;K30 zCmIebqlxaXumJJd$kg8?Wq}$&`Y=Mok>g$X z&m`OeQw=rH7&Ny|mgUZd6hqQx0wBwh4GhxwH|ht%e><5AC&dvKv8J@ETMA%ZCcHH0 zo`+Hy#ejhHTerrH>)P9kLkmoW$^DICp@HiXSc&SKhi}R0cU(AZ>S6)T**FdaJcho& zJJ!BVvSVW+B)70bRslHb<08Tn&Wr#@^Esq&LJ#F(dVzE&gu5k1HMnlAZEcClYz=R^ zfI*&4_)IP)5<;cjK6EdBoj9{|5?ez4(~6af!_!SA@v_fFYg^3#))_ zO)M?{4|Qi9Rn^x0{iBE=Scrfk9U?6V(jcvfG#nZwL_k5hL8Ticl~B45p>#>7ARt}R z0s@lKymNE!^W6J;$N2sGj`7~%)!}h-_FikRm}}0@{7ztJt|BWKykCUC0(7ZnQT}O#h?5!) zkFQ|jj$5u7`~f?WsVzz5V0E`pq- zD0t8&0ax7Iv_TejBpnyYkvObA+}85ZQy+-pA22)bHA-%ARDBKmST6<5WM4)$u}$u` zZMz6wdc9S3y{WtX5c{GZXG~U7SN8>%6nHeRAwzql0O+Tw)M#B!rbE~*Aq1IK>bP+e zqNScl=nqmor#Mm-Zf%YqBJ^Nx;q2Vp6igfNMuiVPxp?)03~XI&1uR)6&(3E8N`-it z!KFq6+5>+%etHLY0bYWn)MjW9LXsjkMtsJvl3t%i4s$SN{b7K@^8OJvR*3z1z$*DR zJlqm!OC+)fhgK|w&oSHZ2IyuVN!+~|Dh}NktN@Zs&LkebEgvBp2N!Ul)32@^Z?BAH z7wCa23ZeR{Mu1Yrhoy!HCJZa;G7zt}b0UBidpKqv@9yp4;S;lb+jk6nbm`S?7zcpD zBm#RjWd`dz&!Tf2w^>x_Dm)xh^*96~liPaWI5i1vkeXd)f

7Y5SO$OzkZB6uaPU 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%0DL4D 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 literal 0 HcmV?d00001 diff --git a/images/figures/op_benchmark_3090_nf4_gemm.png b/images/figures/op_benchmark_3090_nf4_gemm.png new file mode 100644 index 0000000000000000000000000000000000000000..a1e755634ff5b64e45bf49db2dba75f158a7a770 GIT binary patch literal 87726 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%0Df8 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%0A>Q-g@z`(E!HjpS$%3u$-0Rqjg5XdW-2EWew`- z*mOR}*E2M~w|anc`G5P8j#=xi>aK*G99Hb$E6j`|vw5Q;Bj>x#^y{yGzQxCo9euv+ z4@;`;!Q+K7}m2d!7vRWAxf zf7Zz~P)?&{-loX0EZSoRcW36uXxxD4uaxP#-%U-hW zL`3Vw%xB9Z+k78ZzHN3IEPD1;V|MI%&RB}gSj&<}+}Ww*y8hSC|MR=S-E~SXU<8p6 z8`(Q)R+=7r@gs>f+V0c4c{CEkw4~KK@mT77oUZVrWn5x~g4bGPOieYr-9m5NXs-`# z@oBmgiF@+%T>md`MyIKzf7AsIj1(8haV0ED3MEFhyVgaLouqt_Avn^r!)pbfr1iq& zp67P2d-QKlZX5nuwfe>BP~RJxVVHU%AgdMzkie)obNRnw1kHXPvq%TYNIi6{}`#>=!we z1ix_L>+2caqgg)~)Ofkds4+nIR9Kb#SYSJ|n9~4Ho#%-#%?7u{$#oe9%S`#`u z=||sLD&|S9V7HNb;^MB9ILs|(zhq>saLvzGR6h5Oc6R*R_|eh3(gKard-GyvV!y2% z4Jylsn8b`XKhh6G`V}x%>w^AU`LCFGOfVg&IT8u{^DYXJUfg`U1BCi_8NQkHhdg%P zbw;-2^PUSSAlM)93M^ipOtzG3AD{oqU&msSXZ7ZhbWhg-PC4`4P7xU=X<20hqlHuLOTI(g8S=)&(sUN!4 z*K@~aD=7h7gUykg7mcehIY!C`W=MuHa_#!t>U7XgFGtmEn(9eTy45H z3c1eQY7g!B9D1)Uyg}r$gz;bZPN2d4jzP4X`iY~S8Vt|t^7S;s4(DfECMU=_YQ=Z= z2kghf9kou^Rk-x^?JY|6)X7*;9m=o0IEEf%wC!N067@Es9Y<7PVM`ka`MqQYr#iQP zt{!BPG(Mixs4H}i_Q7*8HrE$5ncKV^e_xlIpZ7ZAs-AE(-qq8lv@1%YQspSCR`4$4 zU6!YNQ*THNgx}pAl!cQuG!sB;qXC$8J+7A!>MVOFWDyNoIk9IQJIniSpV`otfJNn ziLx@fOFSVY+JT9Yg}_}0#@EOgc0Hfoxmdrh_Jaxjm(gLHRFbLedw&Vz)Q0tZ*W7v6 z)k#YUW`=~Y@syUH2&J#ClMcAvWqdU7iMnHu6$vqVA_pQE|JW5@e(4cX*uZ$-r|5_b z4hn(`6Sipb@?>*dLWnqE>5&l)Kq5W_Sjy2W`>z#BIhVDcy1y}J)%-eXmIMhyBlD?z zp7=`=!-6*2nxDxN+;W1=tX^7bE@b#~5V}&#ld~WP168fl-DYui{Wa9`Jn&b?iKWCi zMntDq2$d2O2G6@_a}_6PrRTjbQ~nH7o{(u~Y8v*2823BJKW22y1mLv$hBe-l7&iJJ z7D!PRwZ44*%%)4o#TJud?w6;XD@nCio`;^1u@lo~_kobjo4IZ4)(oemGFnM`W}lCg z_H{ozj~A_OeDc^&TIc6RGJLfoZ&2P;G!Vi5XV>OTzxAn^sV``0Tvs76#){TIZ@1a+ z;iO;6S(5#_%D0)XccU$G2KSR11}?rhej?6BROSkq_A+U9r5*o)Gnvs)D^g&~=2Q|H zMOERK5g@_U--VEqW=DX8vFL>GiNF%W|NMM%dONETNsfPOCsNcY(C!wW{+55LI-cRW zijsUgW(F6MpaTac5}R$0658EkYn1&Tv4}0%vUonC9vdpVkaFtoHUGG6QXW+ekK?Cxo@FEjkG-xsHd()71usCN40Mih=*I@PuuandsyFN+VQD` zwbo7=J8xwViLMgU_pIqdo2s)9i%9VDs*05PieZtm9}N=;9x%xG_?CSARB0Q||wS1tX>xx9i=x?T5;3NXWD!9Vm!C_$1um zPuwX(zm)5(YO*}ftS0{-PE6^BzC&az_qC@u`r!oEC12!Zc19=f* z!PMsm8jkk6T}%JJ{AhPq;|oN=`-r6&C?LPI>5yZ3gPW91<^Ss!*`}8Ha;4MGf5~>f zL+LK}p=YD?$K_j`swH=IH;<*7Dek?jPT!1Yd8%IkBRHWVaj;(wJ^0-tvf4Dg|60-w zB?;{!QKr~42R1ew>eQ`bp9650JI8XXqrb*M4Pz`SgPRBEK%hiVq4V zTjdqX;$4yu3c0xsYc`$Fe{$+}dAWkPoFaFd{e&X%$=Fy zN3eB=^*3ob9WZ%7)r%yS>9evj-JUa-Yfi;-N?*BboASX6(&b$rjkU8AgV~DZ<%6!T zvMg4K+9xafa>%4UUk~3p`|X`U8F9aZJL&pCC1~@|%>(BNV78Jbf`CgyO#vOx9jdsZ~w=}w?C@asWpcRn!6(45;k(Rpj{F%VX z$+Az@lgaTepQplWj<ux8rM zkm6KAri%{LazR3_PLCwlAB6P9#$Gi0#eY|b_%ys9Uo-}WuvOnw3+^GC$U1g}0bZ;u&G#`Y@` zT@M@PzpHiU_cNe*{_1XbgY^Tkm+RMdQ5P1<1yw~(@Pt>uN+9e4>2c;%ujAMkzQml> zWy{Pwc8J)jtNGCka2DiAdkUOvncuW?vhQf_2|1c=rnkZ_`s`VB{_~bs>=tjTb{sny zm@R56rKY9j6DN2gsyOWKli{F zp`ATzhEWt-_Q~F#ub6YzpFfa2bkt>4abUXVhCD<9oD2T=G!hAbW>#+{B*Q5x#A;d{ zDY~OlvDu;YfMWg~x1386wJko$FLVtioIqi^oGv2(yPpb4Bg#AL{S0S2Hg0XmG=Iak z5C3@lt(4wgt<$f0^wSeOH42If+q@Yc#j*N*VoFSxYbL+uI-_NLqE_yH&b~6{`+1=q zz15v7%3t3uVB1H`gn`br2d4I?D-R?Evj3+gIgS_!gD3+MIG6E=u)d#&O$A}d%X_Jd zu4x?4_^C-_9f3aK>8bu7w{mACpJy9Yw79fyQNI3>pQUZ^oe6vB(#iAYU$oOCgvtpmoKhM{#rA6S-9kMU{|zEf`YF+{EoE>*NMY-A3pKa=zaPE zQNyJQ*?Q^4f5l)&u9w(yNt7IxmoK2QeBs4*^1Se4mq5YYoimyGd#=ja71X=Or!}lE z>Urb2K6BPJ#nbA91s@;YODH}2@xy|@BH4n=_6Z6$i=KT=J~zhExoUOCVJSuv8kfX@ zwZMf2lrv#??t?$jAQ_)Ku$3IKA$yzTF!61b?(vr|+e5Z;ZG*7T#zjk;2CIDF6a)Ll zr#O8Z9mmBTFGw%@4c+XVeiC+fOd}hcFCZXrgG7`x2^B7N(lnzFwZFw!`38PY8tH6n zZ$^7QHL;2?3T^nSt=@z2x|Y{tD@b@c8dQ9vR&|$I>D7()=$lT3bRY-@tVDMkMLMf| z>RlXLw{j_PF2C0R$c__%y%6yI8;4G9q%79 zMxXuo>opNqampMx;c!Nxu(Ln;MG?julY$E7f_EUVD#l1OFKJI#(Ws8pVm2a4MI!I% z@yvYDp_BBoYkwsl?!X?%Ss(3`T8(aHXUR9%#mmFLCKQ|1b|Mu8Gn z6eTAXLWH0Qx;b7{Z1x;owq)rV={@Djf zv1i=$D$*Y($*meatEYRC_n4@3M7+Y3r0Ho1bw`=ynbWQ^%XbZP^YcmTVAzd}OpS~g z&E1nv=WS-&C0|w^e$XOAZs*dmSsw{Mfyrm{F54}B7}68@zAm4K*p52Bred18JCNFa zXoSdYKe%nNkAoIjEg1+2R&4v&RK)dHP!$`*Oy3Taxu__2Y~G5JNx*}sPIN-7ya3NC z0Q#nTcsx*mC*s#nj5O(G??`s0^xaiaKe76d-4njO}wZ@uMxP*LhaV)-T^ z3*z*DBB#ME>$UVcxK!$*&bLpy9?ME9AN3L*;8YNiNEEM0^OVeXgwj((R{6s`woySR zH?@(B%J)&4RYeby1#kUKi4j-ZB7Mp4`QA>B2fRF_-vfv|u%+7+TFJppBYaZQ*+s<3 zG<2*MHDp=_qRpT^^TiB5QAi``A!R!>h=4yT7nSCf#0#x`_i(R^_{h7jsi#YI{ML!G zy1rniw2e&(obN*SOf{?cMBCSQDXxpvW!w8Te&b$TS)L*33Z){W4{uku((q-5gt4V6 zf7>4;6kHbtc=|zdBVXdMm%n%F@Ub$sQM1aY5#2qK`yGK)SAN;(#NzbH%-o4DO4gWh&c71z zgEa{l6Xiljhaq|R<-N5fF%7?;=PNduh{3U+C)KNj-`-8umY6IOttJUlr{1lZ1`MWEYr0n=LOd?{c}H>H#o4dbN>YedF|_j z8723UHdy<^Ik!R^9dEx*rMu#Rif2sz00n=3?6M`=^uT4gmVqw2=>tE!WVr4)yQ%51 zc@1Cn(s7rz^;za@$oB_{-Am8nCPm)Re(@>$Uy%kqd!t!nabEs260H!iLPQL~vvj)B zWAj$Bbs^Oq(~vRN0fK%Wqb=5pPJFPtA!Xfl08g#;gH`s{Trf>OeAYTl+5OjnLgc@1?sFvHa+Ny0mNm^&Z-BF`RHE+{TeZoF z+G0ci#{ITmnr*x!4lQGAD=B|uIb}=rnlI&~2Hop2zP_d#62r?{^!>99BO^Z7^*$_#tk(K4K1xJC-oiq_9ghS;Z+_AHr1`)fy53!lZMkt#~gu$(_sr09%8%xg5YIt zm~Z>BuWSEint0%vvSUYn)t;k5lj6cG0?%l59ce)*c>!{eC zJ$8OtL~_D8HG>UhiiE8=5Zl~&J@E5pUkF&XFfY%5gZ4PhygKPke?@DECu?@`ZnTby zcVl^GUi^h66XnH1hA4{#ln)6#au!FHKYnBGospy+soPld)S^JCpm1iWUsX>p0DiS7 zoBDQ&L6v%9Me8NJQB>l9h}ijoPbC%I>iAe^&)$4tYSwM;x?{IvVp;3umFwyvu`J&T zszl8fbnD)-v0C5$3n@?k7gDbIX+d54FagB1K0dCTF|xn%md$C|XoTj88>8WQd>NnX zJhndfRF`C=_K+BEJeoq2U)-c@-pWDGC-HxHdk=Uj`~QFZH10G>rBa-RN?TGP9V(=q zghZJY5urqmRgy$bDrwjOUo` zQ1B?%BNRJM(0jn)OOX(KMAa<09CSuJDwiw~rwSxLBy+-cppk1z!oK)Q3 zt9MOpYMKPQmch{Mk@{ETnTEowlj!h@3NNa>;mX|RUKuTpH%`p?COM0ERF7TQm|r)X zM(gMd_MM0FWKGnniya@ezon);rJ~iZSu4;Cya}(&x_zqcdMg7*VK{&Npj04zk}%z$ z8@xJjZr9|cdm8$(mUMg$6ui)Bqa2r{+qk%}XHc;FUUgl6m$AL#JXFd*hPGNSOOtq& zAE<(K2UGub8>3qE2B}yE0|ZdoKHgYRcZjjyP)8vzM~4wzILBVGen#25N1BITSQRj0 zS~b$}-nO37MeAsNfbyNN#-x`Ct8)xS*zYgD)(l3+6A*|H3r7rNkyCZ$eS;*>`VXPU zgih>R8i^QntM7Ha+8g@QQ-7i6Bc>U&fRV5FnqN^PmD-FxH&%>-=vLxhU2Z%P`F_&( zOg-m~Et!wo1_as$mu2TnXk8-Z7<#(&$g}EBt*|oclT|!C4}Fr@xZNJ!zB13VKjaC4 zw;8UM6PO?D$ChNz`6rGh8`kVxtMtsfm_ZO>xJmbyqz&7_Z^I`jXfnLbv#$Ix?ZP_8 zm1lvc>kqJ>>9n(S>FX|d$O3%khR`B6iU#Fh9tF6Y&=a1$xaaUqTK(=l2eG`wB z1NSX~3z+|UqDJa03|^?ZegE{Q$=!PiZ4bwrqzb}Mdr{LVPP@YR!xQ$o=@rUWdnL;N z$;;Gbl$KtX;JGx5-l+X0Hgfbxza_;XuIXQoIP!AI>F@;f>hW!{70=E$9NgAddEP~p z{qXLP;ym6cET?47L6!GAv?%q-0h__gMjEvLziF?wD6c;HIDmF1;O znl94i`whNd(Y@xdAh>~Hlm>~w0&D_LuUqc!PH-jsN2GB9AL`=VYQ>9tmO^OX%=+*JG7rD?l z6Tu2s5b-sWWS;s;JAOc1tV)_d!ch#Io-P!eL+Q+QD#I%4s#Z6%1P=m7X98PqWnK@x zb8ZbU?X?J=IrW$gEOq=*=Z&qaqEa4DQX!6@*t~Cu>NOv-k}ybYT0v?806VWFM!vC< zcaV{`E?1;(It&#jnSL~J3#-0U*%Ity`^-3R|9;QTnJW&NOGfjPcMSP5J_ zbV%S6I8l-@?;%OjguNEUhC{rca*AiER7$aE+5Lg;BO+l3LbBh-=v6GZ6u#}Izt_9x z-s4gtOx2b!+lBg0C(`@cWL^wUz;zip3XeYq%ux2-TDOIBvV3W><~c16QK0Dn-c?i> z-P;r1tzm8fhP+MI`N|MmH1i*!YUzrcGz1C6cwBKa8U9ez5ukcK{Bx+%4T3r}^nbE7 zF_?|vIIM<=H!$crk|5}rtP9))8+bv?(8s4$Gh`NRW^SAbd^NbMhq#I$oyj8y8D2mB zXe`|-&v*=-f;w~~m;u2V`Kg8eZ$Q1TZ1jwx<Zk6*}>CbpeV(}sz%2r&PTP0w<$l|&ohOiQ}) z%=Ep_ZUNh+QWdhanUmEq#v@6-?9^>a4NPfiY1fK1{?VaNfL+g1vk)YJ4fx(QBueFd zLqT`S%7O1+d$uk+Ws(`ZxrHxf&UpH66ql^Bb#(DFOR=w*q=38KjUI1g_?jAN79#_2 zjX<1qsZ}`P4Do@X3@}UA@s74WQmeF>LH1tLS`@OKTSeA{PO4=N&Y2+ zWnjax){Aba{>y=c!!@eG0(mU#svR}4q^7R@Of}#krJ`yZm}0gk#2icc_MTZ7Y~5dD z4|}Ai@#A54Y+~SrH4~q3$0|G6^OPsv+rHSQ`ui7Q5;T;TWO~j5$qhkA!#%^QZGAyI zpz98uGoH(;Hl>bm2u}w_c~7UQ<{sJLtQoY*O+kS4lB+UEwM$mF(J4oSTEW}tKpE8; zD^Vc~!=E|5p~nZx(rW@jh?b%drM*^*G7Q(1M1#&1262M3YY!7*_wI;u)#6xFr5RK1 zRE09D-@AXUt`F5|Sz;-R9`ZlggRybR49z-Cg2A_P`r{IVCS^KnMXSkylS4rHsWxNy z?qrWhoJUa15VK;l6%dSy0n0b4a%>9!Fkq>l&b%er?F~@SA(ooYhO@m7a9RfIjeArB zZgLuY%*~ow4++m;FXOYgSf#kRcjeZVJ=M+%2Ob7Q$lT4}B9G+x36vuOQMG-8<0ud( z#F(rjl$*P9CRXT(v!Tai-rf?l)vR&Dz3}695)uPz|1@}6tCld8jf2n-P(%d&%D0rjqPeb%=*T2D*FsoR@Eu(*>hDZW6o*i7)-!0^R8UY`olcT>jzEJY=fj>ej~GE$2cOadU_&hLE>B3 z9gm}cZ;^OUdi`7;dD`YP%N}kzP|!_7V8!!3iLf15B^BCwsz;(H^`w61C_YztWyZp| zrPc*=TR$FEYB4!rZOtB#Cc#Ge@c8hA=rbO+9!Y&m*Cg59ixES?60|iazeua0J;kiq zu0-(J$R%ZSp7r84iW3rI!^LLdE)ICW9W+^9r!C@A3wxzm$&ko8VVQlXOO&7^sVd$q zGnM|DbKyK&e%1I%*72JUsW42wJ<2=xS_iGjlQ0>Wbn2^|Tb7W*M!C@1=rI)cNnPqF zBWB?izf%o8c^L7~=X*zGeF+o$5IvOOIymWKpU8z$y7iRzemXCCtV>sbYB=rMc1y zL`qaI!i2Ag7|&+qxe51Y+Xmk&d*|X})qMD+)7MRJzh$iv2^{3sIAN`+xl_r_?JBL_ zP*WDU*EXUfX3}~b;h61RkcjxhMwOPU&SCr4@(i>~4MwAnevlPX5%|Q#smqrykB93q z5dzs&GDE^s)1~K~xC;KD4@577sDo1W_*;h^3j6mrsyU!|x7cL4(cG)xUA{?QQxWgF zsEuLk51=oX?weqm6T1Jgf525T*S@{Y*oN;q?POjV-zvdziw-^tjj=Dmr{7Bd+EnC0 z+y56L0^e2?xX6l{Zar904FC?bd}Mnpf~nLr>u)(~op7Nbk>KfSBLhd>>Fo)P1%VtO zvrO`OZ=Xe_Plqa%T;mNdIn&BXmGWa4@_Ev4!w{U7T& zK!p>0UMvLY-7I{TO?X>|OhVp1+ts;TIeLB_%#MPshZ7Mb(iJE%G-dCq zmHvdzw5{vq?0Bq8Mu^d>>#!aXgDdt_|2YI<{N5l@2RVFE!m@6g-5kbuZqMp^Q6b=q z+1m{L>bkeNW+QF$ZoT9+T370~HI8|`>rx9vW+vfr*s~_|bC10XU4H%Uevp(4;bn9M#WLZ9M9V`st(f) znmE_BHge{sonQv#I#X*Z5E1t;6_a37ng`+jWAy3o6Ct-jd!SA-6 zI{OLl%^^GK(iBrKAAQrdRoiPW+de$H?C0bXzkBk;P2syS>B@8-{hZl;kN^1OOwC(X zN&S4;hJd6&$KppnCa`oC{%FSN8!@=OO<pGAAM3JPus6UGemt1#yf?KMv9E4$gG~Mw~A}J1@u}6m*$rY&5-zvt9No?cnkV znd8Spn_7CO;$xjx8f&HVBo?rzO{ zY$RDw(#EA|{_@pJCG*fzjKl|RKW64^#$=dxF{??y*Z$p0eqBjL*S^=L zzv1q`zZ3}~8x&1IS-d!Z-woZ?n)N)vN8~@vR{8zAek_SKpJeB<2b28^W_p9+)dyaV z@3k`Cn|cPx^GYhs!fn?$0Tujh&m7Buhc@CWy3b3H?bE2w2$yhHtHvDicDuJpkm}*X zml5)DOU-N3nOV8CzT?OZV<+`KajW*oS+X&iZ+Hy2?pM#Xc>5r3@%Ud%*2ww1sPKfa zhkgXworDYY0xEq#*r>h;gpC?+2}panZKVX__5!CC3*~flNC+63!^P#%-7D4}Pue{; z5^n(Biv_bxJHGz*z70^40gW23epa^kbDEptw~-uoRZV$(cqf$F1hjT^L8&bQ)JSk6 z@bU(1Y!tudvt7+JWJlHCQx$UzaX-u&L1Uk6@4kzUUj4&%N6dXX~=_ru;A!ea1+%MI71*p7@yZyz;KR63&3oL&Ml)bCQBM zDa>16+;+I82ZU8@?(j{GZxobO->7p63eDCn+jb-k+5-^QLT8;=qLrk}~>B_vx9 zQ9TPl>?y%+9hu0c;P>?Yb$zjmCGiLL>{<16zR5z0w<=A-_`I^WzQH~$YqQ$QV_%u@ zU0b@o-AyeJvX5jTtu4j+rB`P>iq*6no_n@Dk@wW8EWK?Xq|#8gU9k=Ren4f-xt=>^ zd0HoiS6pa(KGy_Sm4&!E=-Z8k%unEzSMXW)C`RkkA2Pi%r=hR={!ZnvL>yao_RdAm z*#om;d6PbD40LT@lp%D132c+&-NvZsk?E=t`dRBQG|{5F6LeO#`c!*fv79gd#aVZ7 zl8;gop_w-epA8*q=)@Dkukq88?_D)rfvsZpnz8m*u3UDT8aSfCk${#gC;Q;{Z!h3g z5n?%+HmAHPdy}2*tc6`yin8J(^y|-d zSs@?cz!*ux_2hM5hv08`>Ti;jsFUB-|`@F`hSMG zyID{1^g&7&Q`bxFnff@2Hxx^OSEsYr9+8tHAnmd!272}gGwtp>{qJ1e3Rw{RjW{*) z@evU*X?H}6oM@FGME_WK@rW?K=0XMMoL5!ht0o8i)Tu2qSS=br_Iu%C3(yeYm4-y$ zlMn*r8l#gp1=WkvSw&AvPCZ0a2i7B&K)PTJ)o?dwB3tKyN8JvTH(&a)G|EHj1T9`a zABErd(@nO0x6-$s^OMe)d6pv|7^GkUUy^9wybD6*eCu5Kr5?C^Onx$|ky6&ZLB`3T zxS-P&8JyIr0n+rI3Rz14p}3t=`l>SUpCdswFi(DtL`(_=fix1IH$peXMnUFKi}KvV zrOib>TCeURa-8q7K#cL_gm%AOmg4Wg3 z_yIh2!3p$1G8YQ_IkCxZUavk)8+@4f7Jo0roMLkrOE{xQKY7Yn)_=k%%AL=*T(qq9 zwl7L4f~$ikzn8^*791q}_}^NNye;yF_V0g*Knq;T94q}-OH5+txsIv-;N3Q2k231S zJ8pv6M7w(3%Am{sIh%Ers=v6-d``_*YU5lO(pIxF7~>%vf)Ex$ocR`NI&$s)TIleS zN4f7|Mf4e4XlR#8NGu|2Emo8(gxk{F;x)hl4PPD1YhNNO?Q*K+r8#!>$}y*H{oMS@ zQCKRTE6LB__~__P3SH#ITm8&IUV^m?#R>kycAS$J9)q7;9=b^7xF+a#ZwgG2T=uRx zrnvoXsH(Frc1$Vd#J(Jnmqnw4hb}7_TpO8h_1{tl#){aVqe*)_2stFa+o0DfNqp+L zI|Lp3abeAslusVqQ7DgBr@dP8l=MQpG_%vuCU}nUS1WF1DFSldVE3d(fu~u9iR~`lJ2^?l1#Lhgx3VKm6~$B@Jy4E6Ims){6<(3 zC9T5r8rbi<3Qrk1mdGQ+aJ`>c#V5n4aXfaeCRSqGg7#T{Kuz+Nu9)zzB}!rl7lj+#`5wjEd*QExzm{sVhrXTWZe%_NH@!k zGx%eafLoFn;Q;TX60ubka$?>-66OG91Dc)ZATBY;mq2)W1#LP*FFa)~xH9=MbC#-j zl=Q4Ea69vH(}L(D?qSktJigRBi; zH2kaymDPs*0Xob_UMA7OpRG>iC0R~zdGx+}MQ*CZa6eyrLIV{UaTKD14vuO2FFz?CjVfQrf)I_=;^B8C)!l&`aL#Rtz4-tZw>?;L=9;LH7xG(Fn#j!XgD0=-I> ztO{A97WAV49A+rS;Q7q)Q64u`rW@7;ep@AsUX|K`)&{=e&JO{>L;T}N9 z&R4>by&o9HH2*nwtpI)?zN!F;lby!?!HD0^=$ zUtk`8h5*kjjNhJ6X5y^j=yz37GYydB>$9FOsE7Af$fh9LN2Db*3h0*rQMvA2MdIs$ zG-aj@_X-dT#o7D^S>c82F25F>y&~mUTbh?>Q`(zjdBu_gEEM@a*fg-#xzeYXEFjEf z(0$5S;Qk1>jIIJ5`3dK>_utnB#{^Q2bXSEi6IOMk zGEUH^E{$G_wuR?53(1b|y(Lc0rSB8_g=CPiFZ!!t4%w+GMF1wP6VIURu8Hc24Sph% zx8uRc#ZcY+O*e7O!9svRfngS}>8GTQ)C_2D82EP~ZkoK_wv|(NFO(+$XU@^5>0XO0 z=c39lN>!ATyFq|$0&v^fv&-n%nWM~^h23~TowXZH78_maVf_x*JSrF0<;h_mtPDDg zLLY-~6XiAAHp6hZEz&-P=Ina+s!6r#Q3mag!Hg5WD-+r5TQ!_nY!CaP%D`Ca-Y14` zE7|E%{9gGNT3p@S;7WBcOTiHy2mF-h$QfOlJnI~^jE3ka;pxG?c(7q# z?>>~}-X!3c)07s>jOnmew!Ne_%+?}o@Z#D{6_>O#(*WacviNvl!RGCciba)DE>4Jy zREZz12L3|C0U#S7;v0PT}XIB#oYay-cN}8 z#K-ZS2RQ^{%-TLa!pLjMI@)@W6VT7dV~u8fxX?E_mf{WQRGFgAm|XDDPj}jOH4cGT zN@<2Z^Z~kJM`#ZxHP=t)&ox}LUi=E40EfO=9CZ9bpXBhV{)bz zRYu~Xc$L$qmaf~pyuKu(&86OD0?!T>)(e(>zhU`FY!2&EUYQ?$s#RmwPnd1=!IO7c z(!`jH-?_hN#d6UpQ9Ubsti3z~)(d;T7rnpPL=)+T!q~kF%nimWb_IUYv8L>XAO@i- ziGH0cwbxkAqv9CBopemj_~PxY=F9k(YZezeDAUa_YxDJ!=}cHjzyGT+H1mpEv3CyF zzhutOGJP4N&SQ)L(wGAzJOlQ}*8~oS}2c!4b2D>7kUBt9T=&2+g3msqqi+HQHXyH@d7QmcAKLOS`pye9 z^Lg+}iy=G$M<4pj`mP5E`H>M&2#rNXe!1(#Lf2v`O~#6w3m>K$gg?vY8#4kae0P?- zschA*^;o82rNo50q|x;I$*Q(8S5{(a;)O-J&&sc|BbgU?I*XutBhlK#7_PySzMc$( z@g>PspI^$ou5&NvO#A=Fp1yrn%@(SUwTkA1)Bcq(r3VI5b}BQj^$P7*i*vi*mbXPX zi#V6e*9stv>M>6c>4q0+m~qdA6g~C+Gv*AZuZx+Tt=cQBx*FHR zXtnH8%C~uWS#d|l3fziiqay-MUl>X(K11{Mct9Ofmt=?tv1SAu5Nxu3u<}4lR36bz z`Z}&phgSxxqy?n_`I3@ww*X0gjf5AH+uxTTGa8QtC69}~fP#tF1GrfubaP)Kz-L+v#3hKknjJ2_80!u8i7 z9J^m|rr6m})p+m43G>(GxUr3C$bn;v(Gg`khFCMyR`Bupm7j8GJ$X^4?%~3Y%+118 zEuW_P{cK=Z3yS7NR9+~M)}BU%K&WylE>S{5Ii;A)DH+*Vv6=wL)0a-&whweXz_;&zx!t8BVN#ynEGlEmU_vNo1v3^jn z&uKNTm&;5TrBz)sflqKf?a zSDB=N%JJh)5C>>LBt;mCyPP)-^Rr7S7H$bD{}U}6T!LLX{&~|2Cb41;~B3(%1{Fph{*6sQZk(EB@GPL8zi-DfdL)KD!30k zo#eGt=*J;Ra31a^85lPj!PbPh0W6WY-a1QHw)gF0;ls+xiU}vqoZaD$)M_I5lpX)HGmp?ZS6a=?6bTgJ9uuCQKwFwq`KOD*q&C8i^m$w2a^+Kj z`)u%2(Fet}wc3??(!Qd=gkp}}=)g*G<2ic5XE&N~Ge3~GFqZo8^|KSR^TDNjxRYE5 zTlBk<-eY?P-|-`*lIyX;0EBEw)Lpvnt@tbaA-*TiJC{t*`#!KaL%^K2p)c&Km5cpa#+GtFpY;QPI-u;(2dDZnrOHPIz^L zf6>4RrJvR)KqT(I&iOtp0RfAwtGVvp8%=*_ zWK-FT9QJ3^znz($`YilO4*nMCR<%+tU>SL7#>gnHU{kYs`k zrEQ~L{0B;Og({?hk7ih&EsOj^CHAc7=N>7!|E3=aXr6rtl}O#HTG|b>MiM3ss`Esw zFfi`+IVLpxM)Xard033t@{nIJ@7Lp$qEIy zsKDSozRp=pR$l%p91z@1iV4Byqax7jh`sNE49qw@$JzPE2GXe_RVp)xz8!4d50W{yBv;CYtEqlV}F+-B> z?V?kei$07J^Z(8`78udYB-zWQS`4yFW?%DU^i$d)C1nFR6`lu=Qj&2PrW~{L%$X-( zeO3zmJNpsal#!q#@oIU8;8AWUO3>t2VWLJ)aLc>SSYgBtoCrS9JZ8aW_hllD%9Q~yHzaQ)J^c@$_( zXq3*F++W^vyO#+{_TIidYumT_I}{sS|I%igf8nlDf%(jC0gU^?&Od^#XU^QYwZzSa zc(Zv~4|C(rKB{IJ^YoNm7{uk9t;8{)fkly#*=FPE+#4t2t}lOzh{i<+9tG+qSqbEQ z9IwtH)StA3&04r#eHthb?6D{t|NPSU3eYt$px352<#21eUj}_ZGULYXKu`xlPYen* z3vU|Pn#?uM&ewOA{6v7amau=_zW;2mwHSYu{5?~}T~`aRm87Qj7js|PRgjmZdERJ^<^b!8rGFzop*K=Ym_vvsIZ=M5k=`-d0xJ!f%>4 zu*-k%s*H+a;)lBHW_o{D9W0r=jTCB*#po*B^x`m?MBntJdIM)%rAe%R4t4G77lkE9 zy@Q@j&L1(kL;S40b zU5*+!!QJFv3ixVtJ&EHWZD)9&VFiI+yNo%WTmIODDWsE$*Yfw39#xw2z)oi-n7Dx} zZk}YU%=FpnP#>_P=qc@w`?vd4W8NRQ)Mp8^oS8mcWq5cP6^udOHs8m#Qn`@@MEkIP z@?^aeZ10vke4zk+L%Mc@zQPfPukFT>Hl?D+XBN<t2n=5en+%R%CnnTaQaX0b^K^#R@@};SA6EW% zh}1?ksym?4<829g)zGst|MVbI+E>bHPbay(2YUIb3gG@cf3MAyJCW zikl0(547;KR;J85R<Kw-)zeuL`wN3*LXk8lWRG8$(yA2cIudCT_*WX?)@RU}`EnjxWV zqV>w@vRrU61Nwl{Vart(2R&;Pk6TO>UH8zd`x}{5!lP!thu}gr>!kFry!lm@c7$;4 zDUyT7r4cCE7&MR`7#1{5p}1)?9E8{zu6GGByWD)@_$twbZoqUcUqS5p9Q5oDC|9>vi(iFNd zG0R)N@18oE=hAp1KKMG_lv!jshXiV+SxZpOK8=I&@VT?s&26v#f1qU3{qpfpSBE*= z%6029)9t2pHAswbV^k!1DhYI-PXgB8@JW$w`AJ_~f#STmGIz{`W;S52 zygWY9Rh;m$DJ;(j!P(^HBRxPS__lDf3&8?%uu5QDwzR%WXZYGYG?)SA*x$Y?ifO*Ly)NN{EqhdauGJ za)q^>x1*kmx~DN=K-YJ%PsgR`Z6Ohff@iJh_GK#Q&|q5c-hW+~ST6=gMcEUX=ucq0 zBD!s}b@v;7fN}8f^RCH3BzjPHq*RQ*R)1k6$B%73fmUdz;}x{=G|vpjHc$*XF(OoweW6Qu=kcjINB9 zwFW1V9_v(KP$_Hn$@>eJDBzkYCgcRWgU*Rbz~$}Rdv2TrqSe~Snlboo+pA1zZ{$3X z-gcNenMDwOXjd^hV!%_3b^r7ME`wEXlk8p%Sdy$<6Edh{F^ViwaL>YyqzNL4-G(+Q z@=9_o7yl9GC&nlz$eAT9Pu8o-4}OKu&#!DM&G1NXBfC<;_Yn6du>WpYjQHS;kCnGo zz7R^Z#gvSvkf|e?|C6Azgtp=^6{D`qd0Ium3KW}`r%4A(B3~~LW;YaCux#;`;-f9h zgB{n8rX0!6K6{0@x41f z8zym3oeB<$&42;Kc$Pm6L5zvc<5T^(_MnBi8!m|Qo4!06R%WwnMswX0dn<;*zAu_^ z8;2f|LIFV*6NtLN@GqaM|GXI;GnMLW%5IB`#V%@-j*)Id=<_@S)1 zN)soZMXP(|#s&~)-r`e7{x^mYI`l0IU^&f@7@iMmpPk%P^XeUCnGbK`G_J`u6xs z@~=(R4({Lo+#~L|y_cJ%)3gC*q~(l*xMV|F(=j?O4Mp}f^q)-Bijh2g>_k~9_;P>rkP$YydmGVG-FzHRmkJOKrNW4-rsm? zDx&J9`pe&3gb_t1;fcXud={$Vt!`3R?8KhWF#hLp1!{@W=Kd<(hHtkfqwwxYm9(_k zWT=JRf55uv3;167YX{R~>{aaWO|SR=P;qFuKcFgl4N4th7)IFB#(pHiK1mcl@WgSM zge#+ZBaYb_U@;0>4qPC}d})+62Z>n&#Qe&^|Ca2<89`T;cAeHH@+b1}8{45$){2l0 zHRiv5Rhg4_WZME^1E*>0piv^*u_QNHK+3)jN zyIYwR;bVU67&noUgE6rP9b=}CWOAL;#YC^|e{@~0_*HTIT3K=Ab~8VDH_Kzyd2D{y zjqU6R)kRJtL(h|~N&Goy{b#D`W6K~_Sy>x0-oT&6k4eH$QwMZ$1Sf$K5+3`JoN#Dk zh>|_gO=`SIFNO0Ze=O0+|F(j&UP|xeU}v}HY@(_zkS`Mi*LyHN#olcWm+L3>!~FsU z>C`zlz_tN1(5U#Bb`4luGJEz+fyL_*&pkwr+m90~Xxe@pUQfFlB3Gunr%F!UnB-^l z?q**tCLKkoPj~-$qsw}O^vRs#Qi6<#?dnyu<^^LUekf?#QTexiW>R-0_{d0a*Jy58 zQ)(Lx$|a)>WDA#IkE=;7qUYd{v{U+1U*^PdmTYgX5VbT}5*A-ErWSB+2 z3a=b=muqZSpP}hyP;&)01{ojW2!RmcLq;3TVp0{oU>yzdleh8~U#9I|h@~64UdU~0 zz<1geu9`CaL;wbq6dTwnlOuBduGnMm@=5X-E-}B4_ggs$A3rxlU-ok>RS{zrAI3cM!dC}qKqKax;0d{-98cVl&I}HU zY(rU-!e-sV$rK3ngH9co!!6fwYv+t$&j(*uK;ybPZq2%N8Bqc$Ts{iQM_4+81}0S@ zAw}i{ky|*s>~Q@`<=0}o?o{URvt9j$ri)8N=A_vZ`v*H*3#r5whuHLusy}dxnC}`t zdRExjc@Rx-CSR%~Zm|Y_Xm6V2)=RPq7WI==-_twpwyDB&p7_ZV^896+7}FJCt&Ljb zESO6^T$(x~QQ>zTfcnt8r*B!8t3p%9;S%rc88lSxbKv*>G=bP**t2%^hb$mDKcmrm zuQ>xF`^+}l4+ErW^jqtV5}%5!TQ>uaAEhyR^RO`MHf{vI^allQ(A!HQcl&+%w81Q} z?w;7=Pu{wPT(d#B|KBj$2^!L#%FZ5A^#yb*MRcBjai!m3?HG&$F0w?9Tu-t-cSGp? z7SA8{F3hWGeX%5NN}SB_moS|Q=B73YJQBzakP)Mm2w!`Hwx5Ref3@LxW`FsY4bQm# zQyXf(u!b^jRg!DG9IvHQ2ijm~U!&C?6nk#w4Ogl(8;6fo#;bB`EWSXk=KRf!N3JFo zMGh@_CuFz@2?-Pe!IgEMB03(*b7C-X>cHcpMMB$`S1&1g*_gC?0!;Lc$Up|S{Y#kC zFA-eg^B1ok$aFQ^t{sS}YAS217h*57rKM}szdMXdL*yFm{dD9_VScUWn95sE`BWLI(bVO&*kzA z?Js*C9RTFe3T^J%4zYzzHI5%9qXq5l91lod4Ns?jgpH7hsY=j!uRA=kv`V|!ro7){ zD;JPPcqA0Ytj%93B4TkS-NBT~KJo5rvB$E1n)hrTp{Jbg_wR%i{g+}1(P4gJh4&&S z8M8|>j>*y8EnY35yU%<=<@XXyr}96ukHV_&N89zWn@y%9lj=jS9Eoe-Rpo-P2mUgD zo&K!V;$TibYOcK6)1uK-g9dGa%;RVFp;Uvww*9?Eb*}&&QxR7BvcsxREJ*nvuX3t| z==#)t&AWH+F5bME3+-JI*?T^|aS;*X6UR@zY_qdQiA;>s428hovJ~231rj63WGSSz|ODERc$0o zV)!yhl=F$IwM^UVCTPCI-4J!3jI#2>r=Z7%L7PKN_9fXkHbf77crjsvR(4d-(f8q( zPUShUOz+2A-{j`{VR}y(SI3WCfNcLK-%5Ay$w~GG{-Yj2nggJAHEI#6)z=@>1sP0N zDWvx#F6!w1VB)Z-^Z5i0`BdkkI);QZsY$2JTQ3E(Y9b3}#-(XshK*uw0T-96Jhf&T zwQE}M(`%VTx_0JHV55G+k~8KL_dCMmoqd8@^E7-28U zl46Vwx7M~E7GrK$4mJ?hMXXg{I~qOVbU)9|aY-VCK>i&V7yiS6W)Ct9CwPW*ynb@-0Oyx`VgcU&ZvGY;)I@6StEQrB zO8pG58`Ng<|L&ip80Dy@Q3WFS>L>?REglozPm_%$p+JUA#Iu4vUzF?*nWFDPTM|Lk z03r5ym(6F=Z*iB~H~;a+AMxM5JaTbyxs06oI#{Z{0?QutBU85`1qS!P>Nu|TSms=y zQ1%?&Beg?*I=3%<&zx}v@mk|;{=Md-;#@OMa|Hu-MYnFdpX|92roqA7um&{HoG&9s zR2bX6)4y<)gvOG?U9+D-I)gnO@IF%iU{h6Yj<5iIRik&M8T0wg$>&%GrK~p(CV{{L zL50sCYWX)T#0pOh^)KXzG(wMIKH4OoB;@zMm*abj;@gP-0%B4ZoNvg@gkRN#^^QxW zx_OVt?zFIY9d6QAISwfSH9Zf`)iw&AZxJ7h7f?QV>ROUi#WObg{lBY2bk;CGRA;6u zyoym5I-+aSxvwBii#SPu3&;V{gx{?SZEbBoK&ccPD4nF>)tmmfO7MXZe0e_vOW%8v zgMr}9^Y6uv6x;~K>g1asBd6&bz;z5H+1=zmjm$?5!MTfjoYgrj-|_$!DJB2U5_6GD zhy^XQYB0&-izY*n)vrMsb&w;3+y}PJz-+`%WzQiTKWH~H$g%+lpzij*^-p>?&O32| z6W~bVg(pA-DYH86`~ETQ;N({+{*ot;RPltglq1oZm zB>uRPZcX|A(w~+ z7nV8{?`O|sa~|%VTP67BZ@uY{9-1_-oZ@2Gp`t?D-S824et7~03I`rG4$Q3|XW{(= zAN{=-9o;D+(*osQLCwhY6Ia8VIysD#&lE}6>5y>GT{7VLnlfNY@E_Q>H#$-iZSkPQ-dJL$F(&4 z%;`xRA89{hSr5I>&Q70wXd84sp4P*c+>Kswn|<%fT9Y=+u>L-Qh2u@1Z$mQ2Fn+lP z!Wp<|YTwLT=Xg|#1U=l)^iFqV=G_7{P~y{NHY$AYCQwNAWmfMZ^9L`E)_ zWmJ&>jC7JcmF0P52u@6MKH_@aAfwIFxLCF05mK&7Ee|W@+nOobbpZIe9T3P`(02OU zlRBQ6cBtNUbMr&}EmG$sM25}$_jatG!y}*4Us&R58;ohJ)SUox)ulRWHRCKs3Km=t z9XeVhJ~DJjZ$n4Ui2Bg0btLPfTUh@Ere`s#C13j*)G=P9P{w2~WP}Kri_Wnm0{ngQ z&Ti;Y5I1aTjyT_^x~(_8Wq#?%wskc2d5ff5Dvwu`v@K)a3dHq?fB|Lt*{Z||!c`^` z2Xo%#0ifM7mqaF-ymNuQ-dG013lb(#44L}ruM0OW&_A!D+d^o76~znp7<7!I@QMXg z#1`+K#=h%9uTqkRkn%P`sD{Iyi^j-shct+?Hw~z{gCp4ydZn_d3BYJ z*5_;KI?XlGt(=z8UQbjN{$7rW$_8!~y>tyAJZF8hj#YNUc|6tJFHPHE^6IR`P}|f3 z)7{7ds%<%U)U0+bEL5``geuvoTba^7OlgtKo{#=o5igH&FfuRROL$ijn$AP2t zaodA;iJ9b1Jq`gf@9bka|7iVOs2Gj4jmUE$qrd-s#fv?kq>2BW)9*cR;-aVlF-aPe z9Kx?BmPhl24S4XScO{)ZTSWzfZa7RCTH^w%Z$`kOT^;8Wk0rJvqQdW#VnC6<15nRK zt4{_XlSUWby`{zxCv#hd^_+zN668&v5JrI*666_3YcuduQTBU&f3yIpm11j??EPcf z+)tR8W<1l#=*(Udu8zkXA>n{F&Hyr2OZfEo(ub!f#MT~Jo zKDs(=Y5p*=(nh>N9dei$b_X)=$SccutXMB^tTv9-ohnSU>szZs-hf_W(`Y7xYAlKKTF))yUp zM_G)Xd8%eh0uFgS#ZolRg<8L2`SM!ZI5jEcR4gn{h5J(1aD~8P2eDe^XEG)RZJc#I z#RNb8UlHBt)8D}wy{kv$0eA(bn@ zc>S1UngxCDHK;fsz+=aE-rt~c1+~&NaBX%hHf+{wmob;I=zTcjRji8MS+O{E4$~hT zbxdWA_Aww@f49cv#X6d=9WO2YTU-vcs4S1qeemM1@#rJa(;MD_E#svwlXLAO5`-Yq}8B^rx)002YI+R|buTmA?!} z8I}DfBSlZ*SR164mRgeowXl5BTIulM36)NhrhqF{l$cT=R;$o)7ch=`egTL2XWs|$ z9k~l5h+iy{Ax@s!^2CTvG-;%0*W@5iEk6{KkNXS<_Z`P)C!Lhts0oyP1;#dZ1$>o0 zlj-hzH5u{oN(Ch?gs4zPRUqcJ4>#+d9oU+3m6i-zcnYQ(6dUB8aHsA!tUxZsiJXV8 zc@I)QIVaXkmvlRCEMrmhaE4Byx45TyW1mvY$@Nelv8PpYP*^sl#>jowW%sn`G}Td( zm=JRO`vAFf%g9mkVT1P$I*42KR0DCLhnRbkfs^i7*28*hKRJP39ppMRwcLBviW_hZ zVgNN+r|To)5`G3g-0X%|J1h`r2=nAFPTg^W)*KjU*BfOvj&5cftL=x(?`v{XA==#( zogz0?AhmxfFqT(N+2SdwT^#?b8FKx9FP6&B^^&GFcUJx+f8T*%iuPJ&Mvc=wTmo8)o8qfoY`2sgUT$@ zgZzqkaDs*k!OSebtIltgmYp2WtOz#H`dR*WtEuf3DcL{`?GZ^ihnPgb7{Cs)np+if zu|O0C9af4wIprEV?+q6|8O$T5%x$L#zjom5Ldb(8h}b^*1#(9W%e<{(t*p@?jrK9K z+Od-kG`S#RVPbqRY|}DHg=m^Cn*0aK$X^Bi zYl~PP&6j1|cYn46l_$wAfb~D|3>a!)ojWs_g?XNjUc#Jl|Ffy#oWPbFI1ynj!EYwG zo7+sDS|vDCQ=FX5);?M?o+(caeDvc&7~M@d^ACW79IsM&c!rne(~@60Ls(M^J;ch@ zt6#kEz5VQ*7}HxeI`#Xs!v|QiKl-cJP&YZkz3b>;;?h5B&|C`rh%Tq`^Jk3Lf**ek zY5~;#Aw-vhuQDIT0?{}AKK+Akl85Vw*yF{1VzpzL%?zS+Le0jb;#KgYyh7p&u?-N( z$f1SeH}_87Oy*f;G4@3}Tpv^62}EXF0PjUmXFv0*pu@VqIKe{&PrLzHd8Ksf;{#IH znmbbZsKh3n#Bh@|X4EKv5x?$UYsWLE3A?~&8!RxA5}iGw_T}p=UOYo~w;K_cSogZm z)YFp`ojAP|sVGscZy4e1|;1N zO+2}2w>n4ut9w2JxJ@@8q#1F^?1->uPdGtv65PIsnN}|jJ*Jdmz8Q=b{YHRWL%_3ClTivHn@^ zU;&`4;1g_Az4Vz2Dj2)UcH*)?j4xLD>wZ^)Uy?!Ux6@)E-tJD3oVq#4{B-^!Fu_79 zpGHSdf1mnQ@v7pP1FXahV0rQYV@%+qOQJdy^6BnQw51t(n4e)MgNPY{OO5~N;k`;m z#W0lA_#u>Q;+}%BW9dfu5o~@2MWijd;6s>7+=93=blj@uP0Jx%Bi`Uv-#!y*7op8I@88aRDq!jAc5R^)4q%`@2jtCx6e3tIgnq55L@fuVVb%Mc{t&fC42!thDO1LHnDRr8E!Vw2yYDY*PrPqI}%@(87*I<7>Xu2Sgm9A&w{mW_NGb( zJLH)vOtL}BH*q9GUdQ!$s_!HXU1DUS(9CfAAyntU~b)#{3NY{s04kC>nBIV(4#{ zM98$!rgHE^(-UHh>5N)F8CJj@>#gW>>e2S^-`?5s2*_>e3nYeAnQqC?nCHWZq`T&t zKVsdVq|*BwqV}9OHrD+tKor+-3l1?#B7))Y6y^eO(zMA<@Zv?yzS#$p zdkhzQOI0ng(_{*6LHm9#?dwD$nyD)Z=eAk}$(K_??;+=rHwTI^I<1??G`v@c*`m>F zD!){4)*Ef7XIWEPYcMUz)L}`?@=PLR8mWCFZI|qiX5zdsLf-}u6V=ay%tZ6Yf&SN` zw&h?tn(q3$#*A|nIZ+j5I8oSf3I#^yNcM)uV(9d0ER45G3W62ZP_`dF?82L~)c({- z!kx3x!dY)5q6?Bj883=W)izw zp|?!K1*EQb*9efg*b~4W);zEEa1DHp|mCurlmoc79T>W^?;Sof}dN)o+! zej4{~UcS**GA{qW%xP7DS>1tQW%Huc3xJux6`5XKz~>#;rb#A{f@?&IrB|{veCGS&QR5 zi{AS9YX6$;Cy*eAh|Imlkx#Oe*U;S2d&ei(|2fxNwYBCnLe#;e-M`YmGgqv`y*mb~ zo3|kGKX(u+Pcmtl+ihO_^u#pE>ulpMAG6=6a*fbu1RM1+U&hnvp50$K{$F)p9!}-@ z_xos48titVB-%xTA|>-sDvBb*LMcQcv&by$+Of-)5=j{{g(X(W7*a`ONQPyeN+rwK zV4lwBw)gM1_j}%R&ikJ0I{zHk)padHYdz0%-}iU;e81n%$Ef-*d6GxZDz`65O-hRY zrY=b;!7=_!$f;(@^D(!%`CeAA>ZS$V>R4SGs6ejJQyM|q*ZrL0s0sg1df6Wm`0Xsp zjlK`PFJhxWURMI7kBIkBWbPI8O4m_vCx$k?T=a5>z(m#R+oB3z7qJlxix`7D!VD!Y zJhy_=NNBDby}j0na^<7hKPz}gBHf!9bav^+O?$R@M0oiYrIM@BXdk=-yf`AisJouu z-0sZCyZ^{P_En8@=OeQuxTvr=6mBSAlpF}D(HCY44*?~l+TG$D^T4zt_t6=s-r(4tMr)+UNjgI7J{WWt zKu#{2Xj;nNOs+>8z;#We9CJlRaJjk197_82@K2u7|E~3pY*-IZU-J63>BNs70Q+nq z+KqXxJ4uiXDTb{H6h-PbPhAK3zsUkQxq=^3q~h6soLgqc=8-yAcBk6)I=bLU%$d1s zLjIvroH`;Qwe0*cbg{kSe{cMj1JZpu7W9S-B)9Q?Ul-1jP>5OXcqC{}K_vn@xpgi` z_(T*mo?#>}y|q2=AIbBt=#?iE>?WKw#aTS+{otC?dwBd;>$KcOFc_L@=)-DlJ#{of zdL=T_$)!De!Lm*HVxF=KD%2TB?R-xT+`05$36ejFeL$l8mF@qonvzm%-}y_c6s+XX zjORxZVnc2d{n`|G}y?skJFALmM6n7|@!xv$6!|3iKic9v3~l6m8V#@VK( zrqc5ABJ|llwr&u`n3-vj-*SL;ry|3q;piRu8h6<=XS{hUbn~bGFY1!12ZqbG2VPYI zx`x85$=Gg`K7J1h0)uqKbs;ti^CNx`LDj+=UL~tT zei9J)W^E|v`W%JEF|W_}q&+HHp9b+M`0X?=xWauR{Jm(kB$}Db|Fcj_^EHJZqhg?r zKkOLvC!Jkz7FeZ(TZMRE^1qg@o~x=RLo*<%)!=OS)1wefmmY4>|?KzdESCJssRPH=9w>H%mCAP}tEI%=dzS;tnbQ zJ|^G)*>gcI3gAp|pa>Eea)InjAuB&tkiy6sLM=?jIziu9gvL+8+d(M7 zQ2HM0xA$4sBc!tYs_W6}zu>BWRP>6x|6TfAF<1F4LiPO6T!rzn)hez7!|Ca}$*G~l zENcYgZS|ES>yqZakw8Rcq2l{JX-|kfb$q zACNsryA5q<2C*gNaJoVmoM6eLhVW=*3Nn&j%WeM0Tl_CxzO*P|yMF(!$4|<|n$xJ? zKq1xLypkcedTI(atruf`y?^xiJV5+X3e2_ z^M5s-*%sxc@PaWu{rEPcP_!h7z4JSpccA@#m#MMybtycI;f|~8MW~TS0R#LtCJ}~s zxi~D6Og}!la=y>xvu94P>wM|Vxrt2`MhAYwQn=LG`r*~+Y0gcJv36TVI|o(T^50>2 zGr1W6E4QLT$7^wg__C@hfAFloFY*^LRDAn+_;=c=Q_HBsYHIYay|9AR>2Z|>7$!u+r)SE- zA8~2zqGcoOO4(SjVE5KB{e?E%?lz<|`vo`ZqkRAQrQ@S3qX&zv>51|26m^|n!Jw-l zh)-r7by!{9*+%{EY1@yAcxU^jbRp_AY8DdS3S;9D5qu@}fB(h70kSFQgq_ePp2u6r zKQ%=*`jW5MDrNToWbzE_oCuIZ3?qReyi>l}*A%I+1_>zH|ln5&r)5+E+2Me}8vV>A(2pt?j3r zDkTs@kkRno))4?qzoK^wR$I%+2-=+R|BO1VW(CHcJPKbxrxykZ6_p?NL-xy8su}KbIZ^QId3V{Ca!}U+=fo0iI;*XChms4-MxGLI`56HPESh+ zmIK{vLWe1hndFrM0;Fo;&+k$COrR_w!tSwoB`=vj|I)xP{-kIECMUvPFg4jRoAq_e zrjuJY@{A#+=c1U;E>6m37eF0^i*oLcbk*}7KqO70Xr`vIys{UPcrhjh`Wzj^SypH- zncyDKdjG=>V-;M!I*ORFyYE`fZcU=xqldDX0xH$bMM3&&=GMPCni6d@&at@h%4? zAa|4_@sN5U=Zhe~*V`x-8U)@=t#UggErQH65vS@Ql>`;FWbkbzV>hON+J50a=e|ZQ zE-o(1nI-v~BDm#T2WSA0L#xh1`H@cOPH_`7v<22-wg*=ox$&{jC}dQUQR*kZ0T9eY z74pQmoD)F5<{_Qjuv!HKk6K-3{9Z#!p57aHoSrH>_{a+hDI20imxZO)1BJWCr)Q;b z6xLOoDp}AeI2Dthe@eo(nZ~Bs;q_g;v>*F04I3qvO2VEgRNIySjS>cxS zyS%e+e%8g%KAlrG%44(T=WXPG=|CJ`YEETc4t zuw0>|E2T9pKK@`JxR}^9Fp;F5lt903`)4P>FYY9yOK*lfI-nb2aaSeO)TcpKNUkIq2Qbh&ZIKifNR%iU`ulM zEsA$AIOWlkz~TFJ>_dR=`Sa&LWkJ!A2KEj*_?=kL7HsxelzrY~)(+`{u!x8{o91BQ ztoNsG*TMEwjGnCx3ZUOAVC9>|QC5JqQi3X*>rGchaOX8PQhjRn;>E!fnQ zk#P*ConX@>`yW$vSyMKv710VQG4Qlkbm6`>6d!)c4wrLHn|ELK!WYf)T+HGfXG{9} zd;5CVR$M-^t={A5iNI&lf1S^+GJWfTLlbl37aV3`1qDMkP4wJmI3;Vn7~ogiCV?XB z!hH%*h;b1S7jCTnaMwCbYsr!&R#+uIy8jz1&K1mli_BtJ$JG?1!}VnzS0tH?cD;r; z5}itlQt%|o>Zdc6@%LO*CcrzLtl7@XoWlP3XCp$nF%h6k!F@+GW7BSfvU8;bhpz{S zi!)MNDkEA8Juw%`MM+%v@=oU&_f%x=kD4QuJ35>;<`zx^{){{@EF52eWG_m+|~+1G|vZg(;VX`@H@?&v!G0wp?!beAjcoECR*~e&I3R>rQ z+?J5Iu~Bw~(=L_J>~NX21FaStg+pyt%Ms_#{#I5_yxv!Hul-EZ+}8(iqA zSxAjmD_{LVi!S{GWHwtV)~#cTGM}uAi;IP2WKN7ju}FN?CC2i4h_mxD7^q^hX@c;s z;i(;CcT3!6d7Uy6p^ps1yt)WxNf0e!n@~R!dLs0aQ!L zk_vCzrUgu#p zYWzsH`-6#O!3srU(4jpqCa)8DO33ZC`p~iny5d;pd_Eb+1w=DfUfcv0hw|;~>*HnY zl##(S*;;9bPHKgK;zLVjyIB@{&l!t=p4!ASgY5<9T61=x8OdzYAWlho4(=y`0BANu zNY^tVYR9>8!`Q1^R>nfTlk#X_Z_IZWH}W1go4Mi}_;S4Mj;ymV=}99Zqoj$vI`yO! z;mXE}H8=Dto1e64%~=U$v2%@&ej)SObG>VQk4uJNfIkq=Op-3_o0jV67f1R$_9bi?YC`{*g^(}sJbvo~W|BCmBM5z6PiR^m?=w=z6Gg*8$?QVi(5$XaIh1S*B zPo6gx-i%_c3J2rJW*M2>=5Vh zM78WVUOC&r; zY=|Sw#36o4L;qWc1tklH=0gxdLV(FP5Dy5EVX?(qA8>pN$IbrcuK7qjWS!%%=d|uuIxB-nT4n=N=eT8FJJ&bPkP? zdK>?)A_J=}?Z+u_9Z&wlWlqKC7~i~sZhSoFxqeU_X(HkaJm~q?=%S?+Ge%R$8%l6m zAEUc***eK(Sb;Gn!}|&ppvfo>qg8a%rlOm}c{c~9^XNfaVn%9ngJzZv*q5)o%8jic zO{(}f$EM(*Ctb+>9hYDJ)RU}u^Tgc74au~q;!gc#MYwkwA?5|wSe={UpHTtQgA7JXz{43MXm}r=9Gplg-mn@F*tX}=)IK4aE7Sxl z_3znnB7FhnfO#Of3=daF)7dmKBkSEHz+i#fY7E)VjT<)z5m?i=>DE6cTO6gEJ_yW? zvD+04>j?@8nGCe%enHJFwc*$Z3HvQkBBXrrJa`aLiBhLu{k{^NOw6n!M~@yvNXtf% z2_%i&D5M;mltYtQSkI}n?zR0&6XCXBA^FZlG#L!CY_5)f?~YTwwfTCg1aIST9vPjY z_T7`T?K3>RdRMdQ`UswVTFu`^ETN=F%=bIgKkUEBONd`-3XJf&Eb$9k27ZIaabD?GlMH2SD2hS^ zT8y0bSZ)+i)27}bz6nejmdxW9$4I~eDhHD?{l@VnuvK{wFQcZ?_Zl%HWSlgCiIM?( zguYo`d$YUX9W^pYwt5~}3@EEsAliS0JkYwu`Bvpd=WFs>(hvfpfk|w&Z`mw5D=Y(B z-bU{=X4AxwG7aHJ%G6Y_&=H!KSAJP(X=l0NZ*PtU-TL~;xXGM6Z72Vmg3e^{6@^J>9R;6}Cl8CU1DAm3*;c$_^N&7C?%m=5FAO z57ChDxoq;$U2oUYHR6Tq@R+qRAx?e$fmyeJqgXxF4bA8z5k0>nL`(I{jFS+!(|jB+0P@MA{Oct&VXo5;-f z=-DK=6fPc~M69o6Rjlf|Xl*siyA7)>ogof-=EJM2lrLf6z*7UA2-HX*bLhj5;v>;w zMZoEYJ#}E)6|(b4Byb>QL^Mu;kf9;zj{R2HfK!gH$ykIqhcUb1@S)-gVn*ZHScS5~ z0SHGwpfvKEHV2qMG)niT=7ZhC0horRA){e!&tv!R<|JCjhY|IQ8K0qK!OHh>60c>h&s(Em_g_}iPli%h6H zJ0RX5ji^NLBjUJeomjIeOj!<#o}y`FbRGVNh{F-^4bDFhqE+8rix#Pz%pa~lNwznM zKQnBaekOkadqIj=q+JZB<3m%`qMr6bPt3KQ2XKvNN*H^wVPBECpxD@r@cs&<#q~jS zMdXFioDbKwKSCLYdQMt&ZCfPK7Ne`!U0G4_aBAs`bBRxs(N(4eQcPePamS(+C5#3! z7vaCoF6Tv>fd9*t)i)Kj)}XegH|}==XtqOS3rWmb5I)kz^A_H;>A-T{J-^$>n{A3y zfMcNL8YTsS{Z%g8fpd3_DJVajU8wu*03j@R29;Di5Z)hD7_QT?8tQz3Z2yqZ=FM~% z^SKPhXLi&_UZ-TUxqy_$YjI}3S$s*%0slHO^8m7|l=Sp;auP|H2&s2%>?B6>vx|8} zDI=So6s`kplO}4UG`MGBMMWd$FYlBTe!M$?AhhvUrbl!WKU5YU&$~}ze0Dt^!-@w)Mwd8?Y0acrJ8!M;0hsYJRNBy*Gef@7x$gM@PpW(+;9> zPp;g&c;W4lkDcMHe_+Xr;2HlWg8VX@?K-HW#heu=FnaI}l{_Ce z?id)Ke$h9s{3wU_@$IUTinkBDzmG?Jm+77=${*>PoX@$EKA-yYtMixr&VRk6|*#CO{{J?LlfBo3)cT5fc_4R*zb6=lS_>VHv$LCOf zYmX}PQStD2N&r3-vq~Ep^tl6+ITgq5XD2SiyPXoByNFI*Ka+E?haO*I{8#hyr#*kZ zugOL-)4sz9o-Z4*WCjcZk^y&5`mFojsiDgVLK2aQ^k5X1WBGF3V_c_Hi_ki;OkL*%Aa^x0+!FZq%Nyqk1 z05`KOVl~=jY)r*&xtx?R$BsxZ`x`3l6fN zgB#{9UmwI`n$Z_W!UZi6kQ(H>JqG%;K_HsGS8IA|YW3Q+$w;ZU%gLR@nDEf&3yh@* zje-U5Ret^yek$7Z%o!5Ot(SJ#hrU(Y)QcJs(nM+Cjro&pqM~WPS}eu~U7cHbqu|I$ zTW=o>Rf)Fj6%%{(b_C4~WWp73Q!vv?S5xx_Srv3}<*ax5@kNW=2`UdYK;t*2Foo|` z;)Z2=uJ9PaSVpxxPLpkP`dp!>&AV%Zg0bJbaXN742(HrXF6fZ{0P}1zu9jo*;v2XEH@6)055!@9iG`dqtRO2O zMRFA3#%9%PK|xYM)8k_>{B-8Bjtt9N0|j7>v}w{-R8+hxZlRI+-Q3K~5{tvZ$*I3@ zpD%V(9Yj7w44=}l9WvjVVJ|aTza=InS|j+eg7bZ-ml7KnmkEr*>I?=F>1^{CB`F7R zTh+v0MWaF*a_rKs$wIy3JGc=wXau+3ZatCbk{Y3rh*U*1h1u-;1n1Lt>7UzTKy6-U zGt$oOl9GCearMFO=;h^wQMGss*%}bK+IHAXgOcKs5^Esu&ACpANTna(n1qIgZj+MI z2e_bf_H29$SCJ@=39F;9kkn2-ef~@bXqw*Aucoff#5?G3IydtKSGi4CSPdMoH893! zA0PkdARTh+RvboYw(j1ojh01;*NBTX00F&2UU_;^ySKMDISQD3h{I;zE+N6}>gM6* ze(>m#*ms{Ld#vj#_Rgujyp;=#Zs|SRauM!aGcrN~rr%Zfz`tcpXXX|we z4ba?Ge|6QCkl^50GzuB!I4B{yuSJw2R3x?s6d7FH-1Tc*QM9oH8xwvi=-4A5K=g||PO-7<{u&Kl1pI3AEKbE2JL_Wu2QRs$m% z*PMxMXk}|@X({V9_6YXrK9VX=OFtNw8^i~>z0oH<1eGMCA zodNpsl88w>aO(`?rx)I!8%RQME%1S~dOaHL>;iW7b-|DsajEmT=wD>g3gF&Pa1;0r z<)hF{a(Fk6_In5Ev@cPjCByOvV|A=OQ2}$WLK0$ERg3w-1HsjKuJ&;VUsNU$NL73X zl=#@71>j3X7Pf4|nv*9^SOV96+b3?{p3i%cW9ic6DNNQ#o8k4|wh@?PrINt)a`j@% ziri2WTBfREV`G!)4K~tUf@`rgq?UEfb{ukZ8{;zM#KZC7+)f;Irv%w!;Cmp}v`7ph zjR{Z>`~o^E8itEWxFsYg_yz0a9JK|qWGK^0T+cpNy&uQ;hG2iwlkRJuKlk=pr@5u2 zEI?)0)=H%KeOFf;Ko8a6k%2Y>IX$t(9>6kRyMDbM*By8~ zB8;f24eM&;_Wla*MLaGS=HRpeDMrFkZbK2opHtwrAUTWCUf-_50#-05@BoHZ%mpxR zfw&qY$UjHQyK57HW8~8?b_qb{js#=EmlI%aGLr3yuO$L)QQatAUTCR*>TIp5t)!%s z+KD1Rauw5J2F`SVXpoD`;DUa?@$v;zOs}@SWd3Rc5SH7OTaCCS^0nTD#GX1B_0#V z?p`BydSB*@4;L>l9saDLnOI0wfT_1yDrF5XA}JkoSvZa`6QemGf*al6&5J>Cz=)3qS^|hITGue1K2vIa~UZsx}~3e(y08L-_vs zuc&-Gd)nzI^*cygWng^{pj>5;Z5K%jqZoC8kA2m8zm}`9KFcKjh#{K=)&pl)6i0eq z80rRw!56-MP>z&wdflIxlyq2IcfB)@vGH7W0zMGCzhn>e50wucO2N+I6+7(DeXDOl#M+?&VUg8+?3xvZqmbcz_?5-E#HF9Gvdx1Ru@~K?FwSJs0l2f7**4Q7Yem zF0g2b@b#sJ2Rn>WnAmm1FhctLemR%Eq-<+4?SJa3;`t8;KYjd2;w0>n&x<1AH*N~9 z_0zI%2tAu7EU?S;w`D~+ece#TO_5ZDV}%cp+mclkg9NC~{%(g7 zP4FIv&V3?4ZUHVNujGyf^<8?mjQh9vmMpl2Cj;Zr`mWhlOf~J{bWwfceR(Bq?hvt3 z+`|`GRN}DkLC)yaVKCcV+AOemaIS45PN8+l*38M_x4J1lsC5O$&y{zWvv^SF*38A> zIS&vNfA_q&=o*06FhQ(AL$lo)zh?j`%A>Z3h*b8gjR0vwXsQ+rq|TgwkeL!D*n=dp z9?mB1T>HQt`}R{9M94rJ#a2}~v~Oi957H(dK72?6{ZNZH5Q^aV0WkcP=FbH3`%Ilj z-%)aG?EaqwLL=?r?$h%Ie~t3sy)QgXxlWSkjaxNv|=7h3xF*?;W=O@=MIyZ@V=TbzJh=rd$nE z3KQt+qJ~~xyfanE)DJte>QsYq(fI~anr&e2Ma(Ct3UJ5j-T3sq->zIi?O7EQflO3A zStINlaFKg<{AnwSaiWA}}sx_lWq)z-vX(gm?yR`#jNh8cYfEz*$6k&qk>FmEFY z%O9S2f`putxkd`*YDA)zP!=Kye3pHOD2xDhE9~=|_YQY1if{*vw}~z5Z!b8R=Q?;> z(5V98QKjZHe5?n;+u8c><8lKi%!`~zKZpg@Ra3i$&YIPHd=C*HJqb~Tha(|`wMT6& zAe|J%9?m1-^6u&5^WSu=CrO+SyBjDRWzXjq$LxdbDw@O zuMGwd6D;~jc!)={ZF{NWTFX>l!3*>G{GMo zhQjpBO;--G*B1n6>9ZZeD=L$P;#N&fO~{=)Nhln;dCsNtyo=`|2l5Bhe=EfgR3p(C s`5OA^|MI{7H_?H)H~)VGJ;cn;|0t*IG*ouGki4y`vc|!*{iiSe53Ug?-~a#s literal 0 HcmV?d00001 diff --git a/images/figures/op_benchmark_3090_s8_gemm.png b/images/figures/op_benchmark_3090_s8_gemm.png index 2d114e550a5df575313c4e2db435881e051e2d16..9f46ec50fd51a0c039103ffe83df5cb2aca93d38 100644 GIT binary patch literal 94832 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 NFyFVk!w0+L;O~y|qfB4_T=6rQe5RH=FaPkG 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�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

k?^mO3HUXJ}!?Z7y%gpSd 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 literal 162174 zcmeFZcUaDE{|9_UC_>3dMUe*4PKzRGP$)@*(h#LRl(Zz2G&HrOfhLNIG-#?2ZS5gx zFYWcbPT%|f-hV&G@%;51zmDTRzBjI}>vNr-^L)Qw>;3UQb4p?TTIRJB3T3^LqMRCq zvZ{qbS?Ni$8h`U%e4-ftk+3_iX?NDr*v>)U<}yV^-_FX+($37pfc^Sq8(R}g3t_&4 zd_w!#uiDvJ*-G;BoB#U)K1-V`{5-#z4DcqjR*G7-6w0#+j!nimmcnKTRGjPV^uGivSaw7`M^S^eVzBsOPTeO{j%0i;yg5t z9{)(S;ckYQ#0Xoigvy>H?u>;qt}l4Ql)eV_ws5na4xB&K>uTh|PQ$+Y-=8?vhXYcS zfB(2U&cmJ7;eUVJO)JoOO77pEJycvR-d_Ly?D^m+#qjUXL+VFX-2eO4KnmmVzrQFa zx9L)0^uNF8rMN=*E#tqx$)NOqA4-<$|CaafmiWJo^v}8Z|MypoXe`kBed44F{%HF=D z%%5#?2cIgl+v4Ol=7VNl2XwMNG&F4c{{6ee@YzYD3r=F|)~yTXJ-^|w)1MD_*R#-X z+O+#)y-|Dh)01^w!U6&x;uZYgI1PpHo-b|)*{`KGU~kl;k#2B2ovkkDlv<1W{MWVH zwrxwBn{jq~_2y0O+(=rE->)x`DF=ea4+oSRSzW(g&veYuQT(7qiE}snEcW&*oXU`JP#IA7q^ZS;| z{M4?!d-qnlaB*=NwCB70{vN+(pL!zY?Af#Al~{&i{2~K0bHtFNw-?U<-Q*4m14Ezx z%a{D6zAX22vMru!g$4(E&dfM^dU|%W<=qsw`%O=Ia($>to7?{qu;XS&NhDCj;<0P3gz7ezhn0{=zj{>^==2>LwT$>mO@@ub_L~$dXn1J z)*MmXw$QGp~#*+ z)Vp@=dTZUix;|Cw_RIXawJZnC+#f!CxN~=%uIr6uoh&ojjT<+*+*5t>E+=RA!Gjvk zQGtOTi}Tan^CJaSYBD(sI*W_b?Mz}87b1e>Ug{N;4m7;9o*L9z7;#%JiamDkOrDc{ z+MM(FPuja1*)~{OT4wgP7r6OPkF*yR6|KBhpZamQ_5JsFg^fuE?|69$kq)Q2tEZ>u zj^7Tc-G>fcaDE}@z3FPpTfq~d`)R|K@4k8^aLDNoO;wD{HifK|tmhtv3o~P;m+gMq zNHB|A}a3Qm&3^Hb4hQZ)s09miG-4-eB*Q{i&SUs}yinFsS-lq`~7 zxpL+Aq_fkKMv!&$Q*glTo%jA9`-!#;MPr>Jc77SlXEpXJzdpv)z;s~=VWYZ zYreyXZsyQVsq6bSUR>~2dwSxjNy-_Xj?T_ohGl*x3;HJ$PFEO-QRvvDFN_;WQADoQ z)3JzIC_Bt{m-!2tH42QKcrubdzhUK?4RT{$C8AkXLpek1w(%9ev+dn8lC7O-x;>wN zd$@$H@!d+jeCMQ4E4?f;t*pw@-zS`%4{4-o-b&NSHh%B_xlIN|Nw8Dr&DHPw^V)IQ zg>Ou1ij8jGUcLSmDuW2OUR&;s+b;{2v~xFg&5U)6yDo^Yreg{SQ7N~-vAB3%NJvN) z`{rAM6609?lcTo>Jx|7rO;4BMj8P?QU=|P&kuxyZ?d?O+7smF)Bamalt zj~zQkzWjw8J6a_rC8k4;0=l`5R607%W|r$17%uyX{=FMA%L`{yt4xiJSBr^>;g+2? z%-BIe5xGmt$kl<9k;<=4SzMT?>RLo$Fl=~nkvVASNWXuhMw+%hdI!zgwOvokgP-## zWUo|oV5`qW`Rg7jSiYN{F6drsvkjZJ_T>H(dd_33=+>Vt`+;|oF;Kg2bIN}6#EXmX z>FMd8lwGZM82_m>wtO!w=`=wqtrr(0SPwgGp6stBM;u^Ky zFs}y>icw3(P)iI8J!wt7RV%{tZcg9l4wkh0?T(7-Q<))oy=vcQxs&1a7LbI%#T(}|daU#9i;&@xOrC!=KxfMw=n-V*)1|I(Y{xdW0NAhdt zGEpMJb^DcrBh|ShPL5C;Sdiv{O~xs$u_*IwWblB<5%*?mgV~WbkwK+0L%Nn@ljrlI`XB=n8dvKsnJG7oUb*igd zCGz0Y=9m3K+}zx?X*%Z(rO>DM>*Zf?Uch?#a142SDT)z_u+P)O!=re9%RcpQ<&tV@ zYF2-KtD@+v7B#Is@^JU@OGZZ2Qc_anqzPa7T8vAtH7!q8}D_5?3G7|b^lwo(Wa{t8~b+h;d{g|kz2e^@i-@h|l zt_Wr@9Bg>WwzM=qvcH6$iOCCRHO`_n2W{d=>1xoF6P*M#2$$~!;|sG4}Bq3CwoJ*l!N>` zo1ROirfYR{bZV2&tvmbtR7vZ5hu5sr_+|n(#*J!UTx2=!v-J)D2C#!K?v6ossjruh zPfZU09obvxqfY=Yc(gM1D66Qb0?7OsYTo9yG{hKGfjr{qrw%^--m+w&hBk23~UCz3gTo(UlzxEqNR{N3R z;m4hcN)-`ot}{n--8w!{jcG=Q$tfuKO#5u!8)z~gciiXxwCIjVoNV6Vn;IG#j$>WN z?=HH`{h{rt4BMtBY~J){zg$fE!st>jC*a{s-}9JnFD^1>EVweBjXhx?k3+AcmdwY8-fGC z@V1`Y;uf5`M`D(`5e?j&oUz!dSDUjAkXnz%(1F#)y*-9v+*aVW5ruL8g}3xT=EX~k z^PKIg%~!2j6?^ghbt@a2LTr%HsUaP~Qgp63e0QLlD2?);sMhhggqhjin6cmAIpmHX z-?eYwT4`zNnfB$Sd#l$oUqV|9EM1=ExpeWO9~&?p-r5k~3?*o@Zh@<>rzf@Z%qZ11 zz6-kQOc;~ZlRPX77PkTw%Ao_G%hNM3P=OAZwdHQd0WZO}&t$Hf z`t^my?)Nt;e9;-etI--QLlMgc{v?gU%U8hq}y zkuWd-|Az_t^zskoFN~iY8^fmj!=&=DI#o+J-TC;56KhdYQhU9s@rqo>Wi+Djtn*)w zQjQqz^|j2Om1ou3xnqa#Lk?mpu+AJ9o?b>qD~OFoKqC zhu*$_-;D->N-2j1o12%Hetk&0Hs$=r*T!FDPn@`4zqr=Jo%3Yq6BL-ncedOM3k&o> zG^3+dj!sSnA3atj>SVw8`in~K@ZKLU^<*@)wF^Ieq5&+gYvjs)_wJqdGynn>BV!O< zvzU34Ix7_$8yoPjzlga-Tdp_mD$@H>b!=wL@Q~{Q6R`W( z*qF(jqLLDWg07CXb{rT*;)QoYscC6sia_rXuqhDA30MM_XE2ihqs)WUI!@um2n_%-x!QDoXqo{^TuVwVsadTk<(x^%M>A z280K!Sh-Trx=U_hs@XEo{21P2S5SE|?|Rp{KJMrR9{cOpOUr|}@ps?en4Bf$m6n$F z?Tv|N;>itw^8iGJz{i)&&7&>!a48R>VTxf z@PpS^s^V~$nCI7R+^B%l*Eul2D}6pmjdM(43P91i_v?-*ackL^mrtwbIZdv`%S)f1 zj=5xF;*Hi72S!2O2rEMmLKPgmdB08;-P${{L)Cwx9vw7~XyP0T4GsPMEp{bH$KJ=9 zK7M}kK##w^M*9Fd8=^*!JZANQZ72tHo!^Z9!?r=v($CLUj<1Z0`#nIv9Cgt8Z z>)i58CDLrN`{z&3SFc_vXRlLqVG|N|TXG(3dB>QZo=%WG0eSf@^Txaf)v^sr)-K?D z1Eb?h-OkQ-cpO3Z8YjI=DHPkLYqYb-^s=G)?99xi>ETw2n*TjLm&tPx2P=5_0q^di zACWV8GK}vWi}?${5k6L_>vWV$1_mCt*K9l?9c!)Ywmjhhgp?fOD=a8@6esCSzVi)d zGzbd|3sO-54@L`?7dH|nmu^_b9#k$gbn{2X<*r^?AmcOH78jYeZ~xfbtP}NFlAWEh zI5$~@^H(ClnSiBScmDkOv2@eD;ev*xmnMFFp{NZ+-@AMFSyJR<7WIOSBBr%GHB<8P z@;G#S7VY^5@^x=`oID$2KTu!Sf7l%NoA1KgfM1hxatSL}FfeS94CB|^O7Ri{IMGLq zk-c>3lHXjO+j2g-`@X5>SNg{~p$;%N=ii(@1*Yvg3OxE;D>NX0{lN|?4J%t)#!ZZj zqWLJ)x|(@TnU_%9DD-CL=64bk6YUIB&cu2!oj-EKz4Rc^ltCmg!ZowkM&+B*eZ9TC zDM!!{HWd~Y);5(C7t^4IZfn-o)+WS~d7f^=hOL8xgSBnhXh%tzsyv$uK@|2e0on|# zVpmT*v#Zs-UZXk7yl(2=3sC-*R~P%3UYEZ z@$$ZE*QU$Z+dCi+ynSdSd9Y*T=8Ran^_3hb*$DeK0GZRbz9P#|1cw$GQFN98YH>1qobqrva+(CiHSU&okjNwQCFzJ zqp94nTRrPi&R=Ql^=9O*^;-|NYg!p|_$C*Th0N<;>cw;qRlXc?b5frk`Xjy4rXMHB);=^)pH|Zt)4!|)$aa(~i1u8vIsae3{b@iUnD2tHDOWPHcbe>7^-Fuvy}`b4hx<3^g?8C8d-p0`ZO_kZ z%mT^@FAYFv+Z+piXW)kAs(&=I#j`d@1w?#Hvj)m~tGF#k=Ws^{yK=PTxuJuXD>mzY zek3Rh++Me|l%}1z3Hw24P%4{o7y#5GGc)t;APAI+Ze+CQ&A#fVHM#uTTZQJAQ}z|? zX>oCJsSAwQxpU|C7aZA)`H%n$2YJlOYe zajivb+ZtxySIybF+^h8?e_?LvIrn>|meezc)7zjgLP^`znk8)fnZ8+DM~5_MlP2dS zx9YE7Pk~mR$gTp=(=cmJ(-Bk3Qc42HFlYx%Iq~|!q-{Rhv4r;d>&qI@T(;>sEX-J^ z=?VkWjftY$oWx70Ye3oF^iM#?qt`o|VWgDS&AmG=wUVVlkdZ<4g%q@-x#^LYQ&H?R zj&pzZ60969d?gO&2REnIv@Z zU@109%|#1S)B8A8KK>&u?}DEB%Er?3x2{p+c2_?&{c$_1zkm+1S*S ze3)Qfbe+!L7`IYrA!m}+_tqwzT_dwJ6E8j+mStS^I8CGCw=K#{8I&z5c6*sx^%Pgo zlrE>|%Hba9nU~*wMOiB>FQ+}y?`eX{bynvwuntyyg<{?tSDeT2P)Dsy(-6lSi(nho z``h2yKG%Hw+@$7N*PLh)SbhG|+yGren2wRqcGtzp2D|L`Z{O$(mgZ7sW}stWO-!;H z9F`VtSm#r4s2Ao2UiO6^0M2Lx3V-n60foY^n@i8{-Ea>w$EBKQDyG?B4u*i&|48cY z0BMlM?t+i>J#{`Re}C(N`(W}u{s6pzPqn}F-N4#LOmoKT9Nm9~Kmm=f1YbHm;5q=I z7cK5%Ss8b0peE%E^bk5`5yb&DMM$OFDn;{L7nwmgRtHF)cDETfy?OH{wxdGI_?{mj z4ef3&W0RBTBH3-R)w`%GB2u+8PaLv1E-&BJ@$q)}3&W*_Ssw7rOejkWK!0T~_e<_|$%EUc>9 zh*R)oRAGXMdq72mK7&Wr|>&hhfAY8e_`j^}$BfT(`wJ`^?KAXIt9m zA^*gJ;)YM1&#^N}cb!6EA^j}tf~bXx%z{jqs;snFrr8gnBF5cEOno)$7A0N>S#4L1 zPEEsygfGeLJNt|-$9{mTJjeE!oE$ZmN`xmaYqx;FnfA^E!E5#VHy_a6Oc@>gA)I%L zOY_@)tqi$C5_S+_4v7hN0v&w=WqAAU-Nz3fCiVaa7Rz=Fd+IaC?rM8`NUCe^vba2tl!7OzZ`L@JLtls#KpbJ+W_v$x#-%nEn~#@x}brITIf7I5%Mj^{@Pf&w4X!r#Foo; z8OK8Ui<41x-&J!nFeu#%dbWvSiw%66BmO%N!?*DOC+~pl@YZ2uXKrq8^#j-0ftLl} zo~f`nIy!!+s5oIB-tRyDK>n)0`88s2FXdm`L-@GBp7?!rvBzvep|PSA}t4h{}2?`(;hUN+HNRoCRYFv9@M ze%#LPP1C2$KXY})>aIRp4;0V0wYAYxA2k@mb251=ujk zkp~adEK$7T2Ui_E0u*3oW>#Fbap$3LZx8p8vri7AKbwqcrp3kYTpE|9`1$!M^vhp1 z)HP(8{ZLD3cw<_(76^R>#d?#p3xJ&mwCIT5?yfGPMxk&KcnL7_0SEd!cq%E8PzXLx zYStKd-vypeHy7=kXJ8(a8umxtlO5X@+9T7 z?XS-t0m!KmmfUR60&UG)K{vQgKYoA%w2Oy_rZva@_Vef5$>&l+_1o7oi+mvN4A}2# zO7YMdcMz<2VE#>(zQ#9Z7aPI`cUp!pzPWNeH#0r`D8wxxGmfD0GYN_eg5@mRw}=0_ zX>>i&b>pYsd!|7Kt%sUKDM{y_FaD`HEg&H9X>2a@GAepwqbB8ufkB+cOC?1``jKnQ zA5rJ`wS^_0-n~0;14#~0Q+PB|nO1Myx!+Ii#HmxI(8*ujoVFNjeZLKA3q?&qoL}?R zk+fWD3bc%)xq7$|){?-00C!Y}j)mC?EvIO8j%RP4D!(z7lc?UHctC&rT|fZ+n5(gj zW=KWofs}La2Lmg6u2v_|Mu?c~mY!Z(ycu=q#wHZOGVrtFUfiJjV1#iv8humeK}*u= zQ=0g8?V!S7g{rhTW!OLfX!r`+E{SUG&+wV`aNjrOi7X3=B0tU`x%hUQ{;lkbW zdO}RC)#3Gt$xNbn_KPOd4zx(Wd$yj)bKtp94vM@OILM}lJWFrco?ikfYN91^0lkFC z;Eu~nhv7rsfdXRKUz;?yA?1kXTdQ5L)_h_0;im(V{qG;IpX(Y*I?ud-VWz5@|nd8uNh~)7?H!pdr#2IYDB)=tv>zM5vrz;4Z zLB>U{AboILai>2#&Mqz`3C{u~$Feo~S=^fzTiA~u(5_3N`TXTerjxI<>mK;JoAg{~ zIhPiv^)gR>>F(}MH*e0O(@Pn;?(%p+we`6)e{0~5iXi!%{)q`**^KwCa{X@I$UjfZ?3A|T^^xZzdjv0)Yurb<55%>MyUW?|2gU5aq~cI)w9sUF+WpNy0Z3>Nvc0n}mt# z!j-3%CnCyc;s%zqouMPbWtT^0yRsn?ni3H`*_K-PRV-gvwF0Rl)Q{6dg{9z87gg3|`ZEc}`F3u0gsy z(02aoj`)GUJBuWU9%`s_@23thexu{PiL-bf-sBJ6Dm1ZTPtuZvqs`7Xvu(c-0vzC| z*Q`A`_t^7$VWF(~ij2?l(yqEv7bCAjXEv1?H#ax03k*w+f0J?2J|-kihJ}SClesZj z#!NWw%Y3|3VBf^Uxd20Ik)^v;QhF41qBPHF3W* zPG8K#qSEKwIL&l}89=*|GAN&4$GruT2o^f5(aK-L5mu>+nmJ}|To#NKOY+@!o@-+B z+Ep;!qEpIM*e&yx=QQa3vr&dBRQG1#sIyAg$Q61CX}mU88OuL75wnMzySv?Oxo*Zu zrD_oti?)l{nZwr4lKw5B30vyQ!zqcJGE`4)O#JFv1b4r3^Ki0#W@dPBZENe{=7EZJ z%pzCW+omTc>-PPyhf1|WK4C}QV&{ZQr!Ck6(d(bNB%d;90*V$1OCp+Mu3LBMdh=r{ zVf{Z}i&?gPwl1fFOG{iq|8v}%PWi{gutBB}GJh@^{^H=!Ik&`X$09YUCJVqQd^6r` zIQJKYU6YE9HGLnIDkYYrE5ROiW%*h*-^qjG5)$5w21tb%pzKNNoY$ZDBG&$)zJBYG z{xKIg$WGqf6M=k9d-iQvdq@1J2*p}T1Xk3?MAi7>1Sbeo*3-im1!JfC>v)wPACefj z)q6(w#`0tu`%cSqCku(GfI3&x|4chlTCB1H^7YZ&k$<1!fJi43e0-Yb75GgJXWY|Ei?y?CC}eJ$Y?PP5PQ;G-7RV#8vV)K zg3FbmtlXb;;Nx)_Lh!UknP;6`lUSCfVsizEUwbkoV$bN*)Yn%-#5r;fDF+V`a`^(3 zS|?wY6k1chua0dF$n>a{mDSxLc-%hdV5ZJ4x?A9ZhQ9iI)u8ip;^U4$gN&o+u)LZ% zc1bgi(8^4>n4S%$gO541yKqbEW|@Wmbdxbhw&v7Og6~1bnYJAJlS9I9@pbyLE@ql; zd7)RZfjyJ&4@y6H?JY3l`{x%~!S4sUqt(YN=3iPSm!0J2f2qt(cP;N?Pc5@XPBYmZ(mXrdO~NVpeUAi<#MeSR$O#e5!GtO`puz z?f+Oqp`awx-`pW=tej=~4pm+&*A2@}$A3%@Cn$oEYS#Ax-@TxqpczL{^6h@ofLR>C z+gv~9;M98qI~n&?4}$V{_SHP^>aMC>Z<67@6pS+$aRj7C8+Ye~mRhmX1;@aT|O?wen z`S|g`pddkX<>q8A`HT~p)QTEYs^&OjbjW{D1!zke;VTEejDHm&Vf)Nc zt**VD4Pdcil4)>gsP0AnZ09{Tp(u7SPR>>ErZ%&kPt|0AV%5+%1tn86-}&8)Bk*rm z`BS(`i7NS$Fzi@EqALAzN0$a7Z{NPHZDZf`#$@|rM<9||$4#|OP0Sqf55C=aphc)f zy7T?Cv;$64gGrOu3TC?2Wmdgtk)#Dy_kF9WpR9tgE=E5+Op1E!%V#4#tmv(l~agQ+C5G+wo5yK^{c8HiSS6^Mxys6p}~; zq|$L3LbM%k4B)tY&ob8`qN8B}{Gc*){B+|l%$dE&74a--`g?hO0CBCW_)JNn&4JcI zvR%vyi$B4XCVa(dO#tq5t`FVE9ZSh%pr(oxvn&N07Cz7!xCQN*PzwUMVN7+R0`}EY z`QE=@2pBD3(IP(fPUv!lk@l5#kS{>S-!1Q6mwHbV*v4P5pymu~#nCr@ueq67ZQvs` z{M$i6XLCeNRvrC-!z}3Z8;{WvWGac#bx(4>?kbuW~_-y z@WIyvO0AP$2{g=xlkV(g>*uK&BrP zHpJ;<61RGy9f<{zKlEcWBp$eO&m^w*sgWu_gp2jOb&JZq*8A(44XlrTRm9-{evTA7 zJ!E^mJdo3bi@HIquB!Iv?bVlOCoFz`df2syv)waeDq;Qw0EShhqqp}Se2-^)8Ky@& zkNp{L)j3q^0FM)9tV(tj3PT)}L5f-d3u!Q4w$Pyh{%&{~Gn1Er%0#xEdgO6AxxNk) zmECc&gTRDDs6o8yK8`L4;la+nha@1B!H%J!Xk!s=bTnd<`Ys~)KqKWa>(#{45+a*rmeJiB;9r zn@IGNb;k|{dU|(aa3PXNvH(!{R3S9dc({XGlVF^ytE+*KbY3OW9D2}^Hy(1C+YJ8? zTe%db=XYSwM~@zLz|tkQ7W_R}3iMmI-i7mQ%yi|>+ASn~L455a{Xavow`Ec4^ubM0 zmpY)t!^HKBkLQ5p7XH+!1Rq|6bL)W=337OhzZ=szNE{TG*NxAD^Qn3*MbgCL`ugoc z)X@2fibo+nytvIz8WJAb#Cd{UT$~BHG_{k3_2$4{ZSp z#}0|xIUnE)eCdi`{g1qx4v)gack%IUfHaW^cGr|`xe;-abah3%-#5er%wCf8A7Y8t z&+Of6x_f({kGYh8%DpjRqi)JwFw>v%@|8uaWb}pTCut}do#edR+ph|cTvkGRAQD4u zqUuVUcdScGOK?xQVEY$0Ob)lQAUjgs*b9DHGAog+k#?VWs46VLdnA~WLGr6mZeNzF_1fl*Zqi{SmC{nRujeoOvPx`%EVCj&vfu+Uz16|#H6`s8 zU%zeu)0Tg!n-_p+4><;iSy%vL|+n|yhbi|_9KQYh(e`*K`9W;(#kOM zZZt+A3eVpLZ_{8NS8%y;>cg#-9#5ZM&S^FS4Ki!aQgNIb44=6GY$oixiv!R}7RKr- zL&NUDOjsBcO&&C#G;fB*&h|UJv zLFo1zEcov6z;lA0hHpd1Zm8V z_nKR@yxj%tystGM=6vdU&@=g1%(ppcS}-jF=@=(*2Kbr7snXK(_K3w%|7EFn61LL#AsyvRH+i6v;P z|Mu++j{2#)154fhGPQo3gr7`J^)yWDO-^dPlaP?OeB)x@k95O(BoWX#M~6r*Oo_G7 zllrFO5qxT%mTfk?C=Y+&z?3R<@uRV4j8bC2`;BLo`o}Gi^mC(~nwr`^RYS~PP*iP8 z#IIj|13RLd->;GSXmq;W?Mmmx-MizWI%piw2d<)6JQBCwjU0q0>P{D66{6#`M9;xZ zr12nu+hB+pIEK(7cL+F+UfR4@O)h0g>iVD;j4EQW&!B)4YD2wd4F}|>g9i^LYG>{v z2?pePe8LJ{EudKZZp)J*iFL?V97s_kY{jFKwIBHLF6v)A?u=Ug0VgqoVj2>~C|I0g zK^oE*b@LckP%Q4#Z$L~4f^<-aGldRI?0BkLVh45CAkHKaJa>FcR6Ym|1!Bs1bU*1)Np{ zTL*z%^~g^G!idTIU0=K<&-9UDUc@ z2v7hKS7zQJb-ftZ`wcYIY%=;Gc!L2_lR!snhzMt$p^8dP@}9sEB)s+}BIF%LPO-%nYp?9=O66#pFlPE2>ZM`nr9MN&-C&KlKqFPVDxsF zYUS!nNVt-#M8rbC=BJ|L&6`C{P1-r@KOfO`L@I-98;FqzdP;qLeAoxcf=iCe?*DK6a_F9##kr?dNQQ_)~;t@rQ-}DPm{)>kC`+ zZf0u_-S}rbt>SU6RQG1gvY6Px`hX%FzxF>LHOM0=u3HBFV{`sig)rU_-oRE_XUIW9{0C<3` zIC7--fPS7J_k(23(W6I^AUGl?=h>K#_0)u^xRZnHpI?uw`YSpFm!XxfhJ&Nza04zS z;Z_iLe;TO&Gbkh%y#4Q7-nctjRu|xixa}{xLx&F|WhDi>eYcR%CJ2S_Ek*O6E5?7~7W{}+^Y739tNFZ3i6ay*o0DjD46yBRH3L$c|NGX} z@hCY(g@r4?#Tp!V)IV5xN^M~V4#i+YwFA?CzK&eN73ey^RNoz#)G5~FB^3{c0Q%}} z_x$^k)4-MW4m9dV@bCX#D8v5`X2$}-fp(I78y%AX1k=dUoPo7-xiu&&s_2QW)vq4)9p;3Q8lY0Fp0&5osc1CyR>q0ff&}@(*XQTqKlx}M}Y&+AbGrJ&z^*4U3zNx#WcVrMM%25 zvg(v&VqVI=Ha9z6m>@mbgFbD~x!w<0=Y-Aud`S-17TseF4dyxhvS%tyI^u)8zHvnb5nHzcz4HRQo zmtLfGcRvo->UlC9A+uK97o`;3#0(7nuX`VjJ|p~aUK-dShARi^L!sVTN|c*QX?K*T33CRU~TV3n4d+-BXOc}B_^eLESZ zADVq)Ps~1*ORLAp(ZW3j8kcdNafd9mk^*EBK5=PpRe7J_Zxn;yt?$JE?y0d=F@>=W zU6v#dElKq2+)S{4k6nADjGHt65m>Ce=MK6)k-ECRU?dYSU=q1X57PqY;Vx>-iJY&1XBf-d3dTWk zhr8^3KK$w?1gIgqkeob_840sv)PRL}@%R;a>{o&>Fq(&`v*Lg_6uLF+qUkTZ$7j(e zyCF!;091>X{_5#@TCe9CTvtHbbJ&BO{dnxBYLy$Zd--jwtSA)N!eXrlD^z1EvXZHf z9zj0G8m-;)-o0+%7)a;xIKY7Q>yOgEy83;0)Zv>NVk}3TLTVNj>fjaENpqjGOy*AQ zlc_MeS^ZpbkIQ}KyqGHaoL)P&eu&*U^ItGWRq~Mv(Joo!jqF~nN;oai>V}lG;H3`~ zl2-+uEJoo*gpyW9MuwnMECDznFN(y|$n`v))JNT)oVl9c(>Zc7Ca7!TC1e$XYS8h4 z82O&SMb%Ez;R}mLdnSZ|WP5<+uLwHru3m*Q`V#sMd)rI+NfAA8D!YC^L#U@^t&bu< zlAmM~f9kO*E-gKw>+}&@|A^_{P{3_M7r-h`WG|xfjCB^RL7<$d7bf!8po~1h$f&sU zi~xd8&+J*7_Oz^Dzh3a>)Sz8+Ywit3oJCTapnGKMI_L)dUG}v{KV(Vqp3KGA2Ye!|p}X12wS9J{_16f!Pg zpUsdUhUMd#R}UKMvYi#^dr|4a!^O24_-N&5`;(m~c=t*$G+68?&D6PvvBAUp>T zjGd5_GV>!U(K`Y2%do-%NS4-Upq-7GX3Q~BDBj-Hi=S>R zEl8l&5|fOOA5a5Ifc~PIo0}Wu2)e>0ef?cp`zt)>p}N&vcn8pR3pC>iR2mYWcV9kH zmZ&D(fN(n$Af>H378QR>4(>U4(Z*b4$zg0Ly>>>01C%r@eV{Zwxm|Usz!mv2Kf?ow zfsBDxf11t3=Y|gM;oj3H6}7*-Z|T^N_`N^)_$sd`Ib0kjGnD8!BJkD)al2^a4m=u` z5x+fQ(QMUb&N6)Xliqob9=l~#Ke}OXL}dPJ_OoI5g~ARM8FwLw&#Gd2W>!Hi1_Nw= zUZ8hUo{Zh@1J5P;S$Oz%)7r#`l@C?*8BhgKDfOYe&LEeE@U%PX$T7aKqAy?8WBm6c zPLB=eR;-KXojX*Y7HsBI&v02|Cgt|pE&IF}?b}c<5XooOi(iQC?Cs??xeyU58oak;H zm$H%)s!QvKJ(QCddjZWM=(0(IdG9)Q_YyQ144r;g`aG*8Uw%DZMfzmUKtEGLZn7DK zMCPERV9A`;*6t@Wjji2B@>zNw2Q4bhx@6;6Gly;C)u6-3A4TnDR>Gj_0gjcsZu744 zTsWsIAJ!h@#k1U*kd)v+v^2zlJfO$KVc86BctO5!hBAnl`uoU7kA4fD*!PJ``H?#* z5BNfjudi%`s=uFa9pHeEk52+euIMZoI%<7?kBsb4z7@E+mGfnvcP(GZ?icq$GkrI_ znU#n=5n?N|_~&dygZ)s`7RY?)l4P_Ye|hO9F;XCDNcbgz6Np=NP+D4B1&MocPNOg>@LBUkU3HHcd4v>=tnYDu4FI1Va01iwcZ}+3 z(bY*-Lcx?p{le&XIJxIYXgz^{1LI&7^nI&|Unbe7mZ& zl3-CyJQVXfBZH*H>xVLlWq^F-5xy`oA1e>*pfwgw-S;jzAH1{_B^SeC>iM!T*F zmZ});`9?%4WXEY385zesom_+IS^Nt^hbu$uqqXccpD#{pNishRtq$#}=v%5uROLYG zoE0E$Ywz3`!k`;v7Tf``452mgs3myK92P22^7g&g?zE`<_R(gBJ7LZKC+hVwe{^5E zy30jN>>}%J_>Sx}D~K+Qk(?9EmKHc-#itACK4nfu7i8?{eQ6e!+x|}2zo@W9W8Bp? zV_C$cni{pU2<;osQCJ0Zo!Rr^#fz>*S+VlG0FUBJix+Ptsd(t>l$KmuA=GzPKWA=9 zPHvX*WJSPFC|zXQee9X?r)25rSEJ0CDSPeue!~Lt zbL5-UXM-4txL~N`CXOFs!7YOhj@0cyW@zW!T`wIuNlg zUAyLkIWuU?>z5ZM{EY_GT+0XQQo@>kp2i-y3po$ZsPI8d#ngEyyWQ0X;KLAw&LHg% z#$LKm8!?H*3=k5K_OP+yVISg$WI&L@4zNc=Gbk>E3Q(4PJ?7#0oo>bLwPLV#C`V8NZ0z&MjV4$!63>DF$0QPIE&|tRHe@5&VVLKPqbRdAu@(eN;KbpP#Jad?~?AuWGZyMXVn0AfY8 zAV$>>0!D`O0CMgR_1CAZL!!x-cKT06x#Nu+A0fbC-oV5HbbA}QDfg>l#I09=jKVs* z8yU&sUaO=6TlW6$q%Ve-Jn z9lw6vg@uJtw-s=_{~E~!8amjYNAT<9av*lY7@3fHDT;?(`?~fV z>e-<-d<@*`_>m(NBcbp|bnzYs-p`*V2LVrM_>WOd2BGnVd|#91;;=sa0>o=CkUj3_w)DtB8`+7$W)o`hl_(M$$(=FW0`4xx4E zDM+Suz-Iu;6Kfrk1Jo=Jgom33WO|2&e6a=Nk-svrs8F3F1|CwjGtQ7t(t+ABulX*- znoQ#&zN5-JKmLxKHaKXdK;=ZTApMyr$I#+M{EW)~v*4^45rd!GNYdA8yeZ}TFriCc z3AV>1Xh4k?6X$bg@5Vrb<=Lp)w^!cZymtk=y{zTF#)PJO!Q8I^{CxqF6u0m0(f`rv zhCz*ur%#^-B3gltO~y6w^b+IGk8S~yk@-_f@huLyn3|GaHijOV)Xr1tig3)uPKw%z zawZ^}7xI*OIEDou3q1GSo-T(;$-vxvJtdqgQWR5_-IvS3wk7T-;o$`2`9H{c2jC~3 z_I8Mj5TrmM)^iMSKGD7|VZ2s*`XY2D(t3W^rEJ4ca0kQ$;uPcgC@}k~-)=aEzF7h! zUCb~LbNW$oExc^vQ^0eD0KXcc5q%&_+={1K_b_?_nFx;v3bkmdI7k%#o4W7#c@)em zdzzwy+A^=axjcXnLwlYl~fcPgl?RQ{~;{Yu~O&n(7g zZ43f6-{+Mr=nIG(tp1UMf3dH3I5i#fhsQs%ygVmTStE?@vx=(u)Z5Q2rn`89o~>|y z=o|7g=vjZ@=J_)~=jchRDNIt=Q~3%%+Z!9#Ka!ewYqZG8&D}YDSZ~+9Im5d{sr!dU zpVk;NF`uwi77~6Pnh^8nr_plK`IkH4wm-4{fzCj6B(Pg6f48t=nhPJ5Ik(EW%j&7C zjW(T%NIsb}M^4Ti+G$xHRCEADLa!8#sdXCS(FJE~q886o^d(xsY{=8oKL7mG4hZBI zSVhx_S%b)F2NZi|g=}K}DG2V}ymqV|ttOb~VP5f*e~94*_Q_2@{+NbhDr^_zXe?2= z8fLGW6w@J6Q9ixe@OEDh%_K3rP#lR}PX^JEu1m>0o7TP5d8}V9j06W6KP8iqX;29q zsuWH`R0(maqzo0rS!#7tSoKNQN$WbF12%x11JPPiHPcsM%Vd95__Q_Ea8 zT;|8uVJ7T{QT*QJAoM@o?@LI;Vx9Zv^=q?XH8DyG{EUzrUGZ4vm|E@tVSM2g8rlJoDYkT z$by)CdMbG1xcayCP@joNg|39WiZ9Nf(Od-lUJTo^pn3dmFDPgda&uc|J?)sR{0ReQ zc!G>{^CICI9_&x>ZrdMI6X69ifi>{$%apI5AQ^TP3j9;}J z^U!w-ZeW;x^R?~X8@pIuILdWzKO5bdZ*u)rGP^6>#(Tf})RJe_ zKrBB6bsW<&e?u3*XT_V?E1D7Ve1(BW2+3ZV0!e3*@dO(3P%At%1WHL4HnJ&sP)|CN zA9x^`SJmDD4KgxeE;0?2CxC%iYfmQ)99Ed_1X5t&EB2X9t&IjQ4-)N)PtNMcQF@EN zf2)wZO~ErWsE8W?9g#sHl$Vo>s}MR9d5#q2iC%%Lmb3(>U5lND;9FCk=oVZoN9qmq z@lHWOfq3T?`M(VkA5vITb2fMHKqzlBSr$@ZX@lkZ~S^ADnxaxNh8-PrTIs<25(N1-%Gp6^+9)A($}b0PU8@ ze`E0K5$;MZEd5qYbFBVUVL)ck_|Wg`Pg93w02@l6Ei!=HO*tzo(~*bDAhbrMxVX@x z6t&C~G%SC-dc))Ls`BgX1M>mN?(UTI3m1>><>tt|x$*06p?&HDQx8>lymqOW7tX- za}z|>!gux8CL%7nQ6WJyYh*0&hJ0cA^0A0iO>!cMYau4N+mmO z+;r#erx2eFIt%ZRSsLCd!s&4p?4ModIQanuB}i;8-M(WmA$i;*cMO<@NhKpC<8KJv!HThQ$YC= zFMqtgmc9*o62`|=oLRSoNXnG;7Az7e-k2{1H|+lTohd{v6L&iWlf!y>$>pNwDLH0= zPF)Hf4@@LNwZz=|E z>DK<(Sonaa*M<^c?8&Zb4CUDa!pKfUiDbbo$U{kv(w{+=kPPCHjGH6p=BH{ZIV*W; z%crVd?yKa_jIoVWmEOBPC=$dFm93+vXBAi+@z0>rkhBZ7$OeEPmwTE|5<|oG4&pgA z3|qH`{+g|Fo9E=@d}@N{+s2M%;z@3sMqa0GRUHnb&E0yaofmus9_1*aJ0e$_(U|U| zx*))zk=8cS8_KWehtNtK*aCTo$%|w4K24cttD<kQsnT(kVQ_+8YJUj0MD>T>t2ZTH)ZnTsc*HXQh&-FZI{M$oxGY{f8wXY z2s0S9)mtaz5_nm$!FUvcT%;?`&{L=9|G_w#(4Zmi;r~O~pFrifzG1`olcE8Q(m?Yl z5lN;7rI}I`qS7ETmZU+WloBb4GBhV?PMT=aBtkT6E>dYulg9sX{cQGr-~YG1wZ3Pq zy|+!zCU5ppQP$t1m7Vlg(!raN-F5r!a@7nitMdegrs*Dg5|=2B0@41os9v>z~4K@(!KZp z$=EttIpsGy080Uom+JNNKs?dH7RWjdDNc?g9t)@lMW7Gqy|O>Q3f%*AX45h!aSY0GLY6g+)~|+z@gR+%#SeH20xV);P)EogmBZzDh>;5`F9caVi0Bf!jdHUXF255#Uv9(V%f2{HG0WDW*XR{$+V4CF1muSNhv~$y5>CYA#Y|@0+_jJZu3_N zii|3rkWER02+#yEssyZA3eb;u8?>II^cm<(@lgQO?}otzV19p8l0uM!BL^aMOeoPt zA&N#v;J{4By8RV>3Pf}P0szUAKu5IF(^y6Nd@k{*(d5-xT#yo@D94lI{YVh(&9 z6#C?t$%5S7E>3+=u?e9GCmv`I9G}2xPp;oUw*&(3TVQ9BUNlTeigBDUuUh4WJdi|1 zq}8OU{yfJZn6LLzJ1nAJ!~ND9za=OmvkIrlHJ}TGT8kAffCmBsxjGKJ)!BZ&w#B;b zRJtFbgB8NJ1!m+;q*5~|>q?OcY`l0v<(Cg?MVxN`qxAdmxqWI>o7h{8)U8@_5mAj4 zi#U9`@YAc+-#a@xMj|aI?Q*Q_8)&EZU)bZTVeRGRD92N;_w_lqkJO%%XYN{k^ix}VBK5*#H zV@_J?Jr)(;mT`wH_gfV!ELQw!yY=uMEJ}(gcp}8DY#HO)_{|sf@*FSP4K^8^Y7UH` zU&kQqD=-Pi?EOm-#853{)&P?6%{xb#PFJsWkvEG&+b_|DqvSM;%>V zo(LhGczgh?l~5npTD}@fSf$FkvEA_glLotUFKMnXE8poSekykRGS`JKFA$BA>s^uV zA~uwuTaIQm@r$DrAwMK=0Wj#!p`qK@8s<3DzO)p3?!6OTK-{w=ijY_@~@7?Y&w3fh#^J*-5w@KoQ_B-1Z^t}PJGuFf>TQv{v-^PG??&Z zj>&)@RfLVY3Bs$nkrF1NiZHdRD3N06md95icH0YcKlc;r2G34A-DAWV7zqfF<05Ef zE9V=M4B05s8`d2N6&5QO5D{3t?#AdQ*=(J=b{wnLY25Os@v8ltLK6%)>Lq^{wZ|LLqQbTyPnI9b9&_6cDp z;TS`7CVa>bYJqLNGg~Bu&{d*%pu9ZWG6ixe4az2f0>ShSD-{&nmk+mcP$=4QS$f|AAJxAM8xt`7ijYIQ zP!r-Ji53ze5>5jL0Th`0^L&MM(4G>O#R@6y=f=Uox2DzIo(Z-8y!v=x4+1*j%^f)s zS}uJRTWt?ABybpz!>{bSCYE2*ed>rB&Whise|a|;(^P?1ES+?91HbiGS%XPrs~qI$ z?68=dGtfHUbEa}^W=d4VbOi zB3^g`LhDr^nVh~49zZ0TCZKSYpt<=8rr53L=~yf^bj1T%MLxua`FT0!h05^P*t>m{ zFPk;U;_+!Ig*A$7+ViXXHqJNRK!I4?*2W8eZd%#%O*AN2C`H(t@J9AP!HGXI>0f{= z-6#lIBwpcQy@ou?4eqjUzkb}{$xjJdm=1YeQOlq?s%Ku^ieFGld-(4zE?$zRJ5V3C zu&7z|B>3)p56&2h2U>L&pd6gun5t+$zclpHwgC8%@w^|~?zg!g6rnv^Do!{pZrQg6rg;Qvp+usx;BF@K z0>H=sC#4ir0zDi?niik7f_Jd_&`a(PmQ>G+*3E|gl}oJUl{%6aQ$!cKDu>e69XEP@ zdCj9o%A!@r-fT3^1$!3gGiA=9+Q-+HmThS1Zm{mDcCYPj!-*t0MLL$~xBd9GcS|=9 zzBQjv>>957fuUY~>+NG7om;fdUlNzvNR{ncX=Z*-`0dM^O-GbBUW{HRc04FJCcb($ zDA@?iuJX!XzT=W25=-24m}5GSPc7yAl?=`?QriY-}S*YLYpF}H)B^VljX;f0|PkX3d( zhy*GCnmEY<;pj_8`nsX)v_Ny{FRlenxT>}|sIB6A(cLehMDF~`>7UR%BUhqKAT^DnIB z_{!B*2aP|`N~lUpLblE<)`{>OUoHzg3B)-%Mn)K9?wnik`A%u0qmfCP*w5=bZH65_ z-1s%{Bd3~P^nP{7shT$hA$JhtLAhB|kwixKZ?X0#XJMN2w(_gpgyywG7_4zgU5u5Qoo?+1}$qVs9d$*d?4UB)6Mj zhl#WPPH3nv%3>V0fNgk)Sq(%tmrhxTH)xJ>-G>Hw(SJ@>R;O@0WK80S75sK@HG-iUfuG_fr(GitrV1Uq74OBWLCan{_)(C7F_3>+VR2z zdx5}fW#oYdM;0li1BXmCt&WqL{ZtghxG&B(uO=&mRH&c~d_}eiwHp_a(x4jX!U0TF zm5`%U5BiL4Tc=R+TzR7LUTCP>gK*L$@_1m_7B=_LRy2Dmf1L1$3l|r5A=@RcBayhc z+^h?NT4fLe-0^!XNRHOVlE8;H-Q5XqtM_W6<>vQr=w-`_vDhQg6JWx8w>dMEX<&-Lvg z<8rLa8B0^kYiFE4YE*}0-Hl5KvaQxPhE>Wc6dpc+?7kw&k4I(&XQQAP1)NKaXmo>O zMBokNdLiOXM#6WW)GLGpf|DA`zjZM7SM(4?i!}$W|1|$Y27jx{^XbA5QK#|0>{$fd0#X zMH1QCsNapb(uz+j2G>-D#HI!Zmr6FAu&x<7#>x53B{ta5-(21?^w= z>|T`_fxDF=kIv~c)6{Nv;i5$P23(7{wBLU)A@}k17MZQN{987Iy%h{85jT1h+woRP zpXls?`xiBIbneF%wus(+E3B=LEI+gKWqR(`6SmY85B!(aLg=8Fwtv8ZWA_^@Pc7Tj1Hf-ncza?oZu2gK?U^l^aKO7522*$ZsiZwYKyWd7W zx2*hL`88zU#+tV(F$r%c$CA%ddwMi%b2$(qPq#bfqOr*Frzzc&1y5hN&f0@rMU8+B z?RqI3Qf)2sRbshtEEa*<=#6svnfxi>PKeNyXKXUJxwjIbWtVWE{&v^_Xo_+3)IHr$ zKeYWu+Q@tNmc}nf%}zvQZQ8mn^!O*TU@64^8~!UtQjOPv#te%V^bXyGqCMe%s&w+< zFDBjGXAeScs`i7ZARtjFjt2%8*eN9wS4>M%1Zr!)Jqs6F;wh`evNUsJ~` z>f*wefafn4q3We4D-?8eQUM{Ke6|6GC1uc|QSpCxUaWPJ-{-WymaqG_kkiMIu8$$F zT$ebj3(Xy&_>d?GG3f{KDZpEV$4=2D`6P9moa&FNv|B_S1J<=CNJ_|o!oK^}qx__z zpwdmM**^AYa<5v~>xIhrrY9@|JnyI|ehrCU96iG^3-NQu7(}*B$x|8&-4%%#6B#q^ zqR|GkJt_~oQ>~3+KZ93C6SAmi> z?sCGD<6UJH%=pFYPi?Y?zXmBEniA-CkOjj9`WPj-*R({KK+YG?r+{T%M_Zv!;@mr- z=a*KzOMyX46b@%(6h$x$#yLvGKk?HV3?dr`2cO*B9R>4~$HL0*w1={1D*xniEyGBc zRhPtlzHgZ+PKt-_uJQqbHtJDEOp(CJF*jBzHI08Rzf=&cW>nANpb*dj1GJ!IkCkO@ zKx&O<7|hqi2m%D^jyaN7;)TMCM-X@R(e=hxSC*YzNZb2W!(rF4^>fc{*1pVodt8VM z1PJ8jTSKmYDh0uYmWdhnvA~P8(5~C#};``4#cLR9{jm=Cq+1F@Pjr z?0+a9Y+)dZBvw!;jxfK3hVtSu@LnUyjDZzb<+yu0Sxs}s)lu!&ttq z&CSggu=ycl70^EcvitV(`5NXn_vDh}A#xY%TbJMYoSv2?qdt|j^7GS!cU`tVmls3Q z=#5ZByordz1|W*17}}zlyk|RP+WR6Dj3WeC?=YS|W)jE$Xp`9z!sG=N7A=gg2qcuh z%{DAm?EMwFwRhbQTzyWIUu1|7@Lq%;l(E!A{|#8O1d&89*VfY2Csge1if@}FPBX;> zP0lc?rV=QUWCy4=h&uyn5Ok!F$}NR&8!t*M6(B7WJSW5PyJM>IlP#3N4e63>eZj#n!li9g*XEg8xt51U0bK~SV8&cW^+oC{(5K=vXXWUvF}MW9lOO#w_E$H?LtLjl@aOw22^E7v zvN+!Zjj4-~SW*|2Sk6PZ;Pc8H)!W z4U7_dI&9-R<_$_aTo8~}L;-f@%JRQ;3z@QaqZ`7-nMzj|7sB_0&--dD2+-}XmfNeS zIQa*^QPw8$(FGXw_gObP`y{W!K6iTVotWelNMuEac^w^U`Or=x>HX?*2i{qj74 zn(8MnkzxjZI0UFR%CVtB4iTcDD=5el)O93Y0$eDd3oyi6hutEq9r*j1J8_cS4nYJT zd=rNToN7!-;}G&vG;|m-=3_Ix6x|Z!4;N7_5=U!9TQZakZX5o{Tr5z|bOl&N4`^s< zzP|T{Dramv6Y#+4pyy1-$3GUrXx(EMTPU8Eqb10j)Y}tbwv*~oTF!B6B zWuXG;AvymD^%S2>95hgeJ-hD}02-c;4=n*%a8&j?ZxQGF>B8%kF*R>9S->Y3LHh$b zs&usHup>tP0Hb4QT_`itkm-3-*My>7x^wsQPtMt{c6Qrwvq!;u>c})~X)up!6+~af z*nO9oH~cSn>9vv2AclaBRj~s0s%U1HqQ3xkk{22y#L5=aBDSjC;=GC+LwRFJM&1g` zV+XVtT6mZG21qHsbB}2WgSd(R!#y-}O|czeqfiW3cASNqrP~bksDOfIo|Dt`jmkW^ zx!U{PK2?U#ZhI5=ROFAuC<=2TdW8@DZ>2@&UB4T*`T#b`H4r_ZZ!7D;50NI1yqfCE zIA)qsQQ^K=>#80l-&@+ueCp+*9WRI1%cLAt6YJlyZL{axVvlH`7KAQlNb5+zhk=Ku zxA#&?2aX5A%tD%oKa%R(c|&|^-Kr(#F<((|P26N^EchN=Zke4r-7(3|H#%B6>>T6L z%^H-{&{Dn1HuuFFrQHuLIsu^A!0nz?9T@uN{cZDai-K+ggsuY!i}8n&A2wYAZW=Tv z4)mUvu>Db+bbJikh2GK<4@v(Ym+b7wL@^2ljYYH8!#8j}X5RhxjE=P%N+~{`7^}=P zla=Id;k_SM9yECx)eHLb1pXo8_5lB^>?qU=mlWHhzo}I1jm770JXZ{-ChH!u{rr+{ z-cNJn=p)VghyywS-f%oAA_*O;sV=mZ0_8xwz$-fMmWU<89URKU#+cA$fG%9l3de#a zE0Cnpq35c|cv3Q1Px^+s6x->qKMycqLI+6qs^}blPCP8-dRtf#BNr>(_Q9XJ+|&KVjs2=v~hE!udbi3O8UoDA#(yire( zV&}@#kUzpsk9p}o@q!xhLLVs@0;~^mo#HoQnf6I3Y=c_F5@7Ny8m4CqS7*_<{0p5N0Lj5%4}t zQNa@DDL6C<*J~dZZ9=|)_=RRl2x8X4f7X{o2H?Rnj8At#fU(rr59hqhfN~vn8)~{Yr2&uC$gOUWzRI_vEZXuGz8S)}up%7y*JR({O z{GIbJc>X@rs@ZTw9;A-I<=DWg+rjey`rd%Y%+YB9=T;HTiwTx9FVP|&0Zxk?jEWfL z6_l(?`zHM$md*c)oNE{%3=4i`?O4Or7hu-@ovfmqd5-B$fuu6%Rjzz7JIcNsMW#@hE(We1P+b;Pm150N+Au^Q^L%^w_C3_!Laz$`dgsN)4KL;qQL%h-l~-2#aamJK(MSrFy< z?xv;zKoy`SkN_#z3T;;9;~>`kG)lqS{?; zc*TETxZ-5x0L;BNVflzE-1hTZLc!q3qvw~rM&1w&9z!ngKkOz91YXTH9%2RJ(gW`CRslR-lkbhfSQTjcSi5atop#l(J z()>X%hg;-E9PIZ8w+BPO#5(rtDnA`FtIU2GF<@)k4$J-_-}D_+s$kP=D`gpSx@B9O zUUjzyh$3-A!0I66VNT9fkE6;w`AIjowHv7zEadzkdFAnNBd1T1UpruP}@389tiMVfLB9xJU9K4ZHkgOw@gE$NQe(A|> z>I_$ZdqSE3PAGQD0FjzmSi}qmYV6mqtN@9F_?+G9w)}HDeQo*h^p1eaS1|KqJ<+I< z3jmYk8tyIbU;nNbE5a}q1H1xeJ~2_zB@|>{8x^uaaUBOL&|py+AT1#j^RDVw;ndy# z`(xiDOcJo@D**hiOK380N0$zvn#m=XM=AvN`lMhypMGk|dR)X8K5rul&_ zEB^6E!uQnZIZ@n`ap^!fQLPf=4Roi8{o%1VN%jL^wrta3NhQEP}g*i48sg+TX-U7$(HGrDkXR3K9 z@Yf^=9ubRzr>uWW?eAMva<9=(xsXN?@hZTCQbGX1UBB6F=}{}}411>O78Gx#lmEUW z_E=J9cojVL%zz3ZT3Dbo8T;cjwOT znA(?}+{!Q3$YksJzEtLe8~mSszn+bq4fh>WxNTF_1NZrB;L3ENK+m!3Vd|?%YY1330Y2ey(UGjIZ5s8nCd^g)^dU(yR+r5nX5hE-i5fw8cEg)JFKD z7NKJ~(rjHAh5Y7BCW`Cb2M(})e7xftD%rlx2deJ{$J2QopF7rW_Gf#suxm-KJ6PoO zyAuTjgdgq*Wj&VCT&x)O?^a9gin3+9o@Ht>I0aO!2^n7{@OMjf zmU%e~;BfK;9f}MtcZ9zJkf=!PDZ!JO+(k)hJefVkIs>#)CVwG-cgDyNi2|e;E$RuL zWtu8rN2U~B(O&Qhsbaabct8Aq>DmAOCGi*)rUXUuQP$OqUl`6*dGoYCeQNdhE;5MW zgpLA8k_XZmtOrrG3Jcz?G;6SqZMu{mkk34Ii_QJ-J?mbLpS}T$Pa^441KG^f($br- zJRnI0(03&392Y!9CU^ubm9+epv}H$>%uZg4jTNU*>IYvIr^V+VeUN!#@!v zsua}%nV3r~^XoHK_g6c3dbVds(1>&fq%4an9E#V46r2(-v{hwZzR9)+uoKPwFf zesxQR&(bWRd{ZkIZ#orv^i_QG;XBOZT6_Y34ZqlT5-fmlHo@pY(s@&+68m8jaXLYF z6h|lk^H6C^1_A&gmc(Gs0DOk-k?hLK_uusX79DdAw%-=C6-S*i?BxZvWb3;MC@eVX zGO_$FmvKq#3Z!DT{Rnv1o1k+Xp9TbX|&|1pzy7 zpoQ+y^NuI&&T}uvL(454Qf4|n8lZCM{XTDI|ErMxpis-lVz+4(PS-;huK#^{v1KeM zVX^ip6i`q#G6+{1l{3)HC*^>GNv{_}l5jDY{jKvO$j!;bIr{Q3#h7=2TwFH;yuS&% z?7XbPVfN=~u-suF`P%=wlSU~EJ*#M_po^xV5O0YR1&D{~DUM?*v!xrm!#}#NDM`t> z95*=NcPyqd@K9P`IEI^Q+_{ol@08CAt%;TpcmHi(Yw3CZV z9;0CFV+nI>?`O+tPlVcKufO2`?B=pa-!S%p8GnktPLa5|#YkTSTP};lpRcJGg*`*{ z34=8$MR$aLSndG}4D5Oa{-1aHVX1+vr0rna!O}JcSG5;f4o>qY4fIMsGEhv764oX? z%szZ{sG!AkfuV@IPV8^~ z>5CKe8Q}@6tR)mMYF~r+1_cJB9?+NuR(2DgA2@YH_H6hZ_8%Pd`LKnCFypygkB#$> zBF!^{j!0W_uy)-o?QW&rrXI4OUHay;N%rW;FAZm0gMYcPCmpk|NDlmS(vCg$48(bO z1F)np@R+mpNw1N!VOlILr7QNC*29GsRAX<5B{9n4?^=&%4lpyts%IT9-;lkS_0($f zS;@vt%WR!~v?K4Mart_SW^qxi{L!Jr8-9rnabLFm*%AylJwx%=Tt!{VOifLVSsujJ zX&PKnVs-;f3vSKmG79oA5@X0bDKwcn0gEhE_+p~Fby#=r;OLt`jcIu|A%**IPo(uL zY9(vuMM#yTI-csv85tfG)Cd4l*fmcxn9=!mQ!zJL!K${O+$?8j9!3Q?;R1pQ+s-rI2;u3zfj^UZK8{W23nUil%x~H;w#%BRsg6 z_{gs)dI@_DBOP~x+8BCHiXTu-=YXr?fQJinn zB{Q+fepw)9zhBYH*XbRWP>2w*wUq~AWSk4qoxkMh?xfRqeeM0WD%f89N&WZwdvDIL zeS4?9Pwz#KX{PL*Z5svjp1fc2XIrs!uV5RZL62cn3CwR|2I12Rj( zdBw@0EpiF{MtlqTQ~DE(Ka^RuSq-9nO;*SbdA#zs*i|PoQQG%*$FHYhrB0U)=;*LE zYqq3aEaP0W&966~&P&B$PyTJSho8su+nJ<=Hhj3n%&Ggzy*j4Jo?yELIJ`Qv+C;4P(ADpjR^=Tzgn7}EC7%U=cl2a%@?WL7Hpd~Aqp{XTM| zS@{K>KO>9zY&QGyhKFf%Dy@!Bna?(lQMH_`scRSi^Ulw7rCz%}Gj~pkD-TbG3u}5l z6zBCl=Gd|JT$s77!p!6>m9|5nLtUT8>6&AQ-825g1{EP@jD^}$8uhad?`wM;qs;&I zz*J_5e~fb#gN5D27?$)AQGxoI&Su?nVTT?5&-ayhsKxwhNk!*}alAQFAxEAeYiaz2 zLJeuFsGA&#EmIu9)3!&Kvz{9rR~|Sb13#yK?FpOeEx4jl9&qJgchZ z8ETWd(OTuQ>Rsk7v9UsS-(3XipO0RSzcAJF-^+~S>0SA$=V?QKr)@5=Nt8U6HQ*Pn zXKd_$D#CSAV)$0d^#%Rx9jv9dPMT;v%#v=kRQQ4WwDO;uY$pslee^$P1K^>op}w)A`}~G@74|ZKhe=tvOK+fqdom|hn*MaOxK;<7%KkW z-!OAo-P3~Me0wADYuyzlUK3}w{i~RmFF8Ze|EQbTH{JB5+Lg;DZU6Q|UK-)=6@sI8@!kCjH^B3;Ko01L zmfvX0rK;EGWSPe6dv}IzQCO;UC3)&7!&ZJ71tZR{!z21T#5wi0wTqO#-=%OhF?Y1- zT=3u3A8KCg8amxJRX{X>U%#A+C zmt+e~_3D(W$2lJLarP0ppR?PjHQQT*mR;C(wB3FF;Q-u>e!r}8@ade5Xg4m5_$cl+ zFc{vOSa+pR_Q5{PPhM%_)P3)2n}o5&PtmyI$QsAgC)1m(##q|SD>^PL$v&=Eu zE_p+RmbXsLe9Q(Bb-JnMqmtV%b$M3Fxw^0x_iSW0Pv*;`FEcBYUGrB(#eI_OMvQr; zP*CuXI4goSp}6>~Dk?!jVPX1ff9_UpN|e&F_uL@^`S*ox1s1O?4xL{r;?`51WFlnb z{9ZJ4xkBE|qraZ0+}FwHZOo#*fhl6!zsEhgu!I6hhjEDf=c1#b^2@jl$4n~o6I%B3 zZcz8htvMCG*DFsIO`r_$6Z06&$xes_|=32g`b{J-+OGn6wQ3ru&{pk$e*_h{wT-2ANv`xxEAfF zJ$ia9MjIP;Tl*|KvhT>IxF>I%Q=PN#oldac)7N)2!YN4jmws+@<;TdMrBVOKcTnE- zX-#Be50m@!wW+hohi-zhY6b_AHV%Key`q*KM+|xNDF^hKnWJfwbcW{yg|ZB1_tp73?Y@?K|!o}6ZOZY zQx|8XS}r#jw`EBa8BBoNxKQ3``5L%2zo!g`r##VP5eN;I<=%a``=zLAlC9#!4!NBh z>~RTd*Fx_xF>LN1-IErk=sGC7_fNc*Db&jOSB%KPY@qlWL+g7UyRhHx=mcUF#8g0EGo(>4i2Ufos`t3dd4}Y8U>2S51SGL zU54@LXUFF&lqGXcCsfIm^%ea}O}YLwxo*w!M-J3Mg;R-V3r_v>IHJ#Jdcpq#*Bj}&TCnmC$8}BRL8$^@cEYEx_|GV0lR5eF7Pua7FCn+AYM>Yh{Fb?OJ z)^f_tw=+$GdjAuA452YgZa(z9pVXo#y$N~XFqzTkA520$az|(YJSc|=3_&)vfs*O zo-aI-XQj9%t=CUJvT5+TE-)5%&#HCg;kJ`)FX=B%xpOsD^saZ@_UDj7E0%rh?lyj6{Mj_a&UTqc72|&G)lB>4UrtG`wSU^~^f|ko*6Nkw zql3meFWg4HXEy(vZ84W&vmjzL-j0|F+Pss&qDzp9VjC1{)Tt)Jz zKR&s+IhfvkVPO(Ya`7;8gYC z-Ed~rSz1Km;r|{UzIeY^Z*OlAX>?p!BU4l^R?fd}Cj>8=EQu}aKi0*hyeu1*+cU=L z_36rH-C8_Py;Ov%r#!{&NREBB%yIt;33aHZ3Pfea*?&5exqiro`wKPdt4yU~3{j+|3uXBsG_}n?ZFcv}pMuz3f z%`(0$JIAMfd+lp$_t|3r^trJk1BK}kv3L^28K7~`W)h4lS>KYny?e5%4Q^^yH>Oz!Ie2PD+KhM8)XVfW zf&0Q;Ck@G=KMm~^1cY;EbGuniU%9eGmQPBx*=i|o*ovH&&gpzDdY;FI!oE6~OwU*`*cZlYPcUXzt5=pmGe z&dOSiYvHX=Jswb9eL!xeH-;?3Jxua6A(fX6rZhYb30aKBZVr@@{#I(!+4h>}X~*ca z;tGT6Gc1>SsFmN_Ix-F1yXsu{Z_Z5>8cN+pmHj5tEk2j6esLt!LdC z_VS4f!>nLqqB$xkCB+1eg5$S4>M1`8Zm9{aWqe~PHhErl4Z0nsvX9b1oyA4r{kXAxf z4tL*k*82<$h%1FgF~{oF(J3h(ca@*XG)G?^W@3E8nlFFQPpxMM_W)-JnZXdBoXpcZ zxPntND3U%*9IK$SD<;b5CHZ59XZ zzMRT(ew9|+Z4cY0LlEhHt?S~Qld!uuI)C)hpFGVf#|($YU156M%r{sC7pvr_9KUL7 zYb$6@gVwfNZ!VjKi_R}P^7-?`A3GJoHI3YbHI;4k#dR98oh(j1VjHvQ{;3w@AqB2atbP7| z2@MOTDHaI~R|2iNq-MXOKbnADi0o-cB(dx}c3Xcq3tE`fxpOLz>U~Ef`_#pZ;`O{`k#e4%wIy?+;e^WvMT7h5Srj zBIQie%<*pC*aov9uT>RqS(Njhr1SLbO`!f*6QHwudTxzZC<=7lwUd-Be{QAkbt%yn z+6Rv=yreIjZ5_4&xlyTZ|NNDUxkfoX;m*X4>wSbGUuynjlci!zPEOB95@w^%`x^FVy#tgE|H z`_s#Bl8z$HZEF6MHF3=?_1~n(Xyj9^(n-(?8lPJ(r|?56ynMAJIl$83rwQJstA~Tb z`E`Dt>by=ge6Hgx=sI2pCz21q7j=HJQdDv@)$HPn*TeY_ubtAnG?FxR)V;yQsw<}R zkbdo>^BO~S7eoVfV|ahD9Y~K!Vh=y)-!^??&yzI!MrPLUi;Kmf3XB4|ztVVHhy61z zIIh&&mh2VVnacU+VQ}v_f+GD{g5T}ij4tD!)u$Jx3Im7(6%4RRT8Kc*f%FXpRq9J? zm#=HcX+dze{R+Qmpy;N~f1(s~N_qZ(+|$IopH)!p?2NSwwt=n!9@#OgZW%u59*RZT&b9;O7dIhu9 z&vNI~!HrB0ljnz@^75W5O&ZXzh}q*k-IgpiyRU_I|3k*FIp+YAxD8s0%>H{O?j#E) zD@)b|RqFq41e$dd4?MtyEZ;SpcP-U@zQ5w_TP1K2cwI)6=8*HNoIc%08CZBXHyYqx zia$R~PAP0%4Q*|n-VG~vDt$JqaJFK(B{1V*vEucWePLl&OHI@L_hvp@^m)3ZDEhIT z)d4~8BNoZ@_j=YW`FKZ|esf}(goAq7jw8#NjOv^IreS*?#6G9FtebH}67CAy2o?ae z`70XQBaU)yvq80WGhe&hzm}b)02MCA;>wfnNIfj*j4XS)TgtsJUjb((icEyv{Pc+V zfm1ms0Z4Y<(qa^!;D;gZrgPJy3%oa^+<#SK@bp4Y(_tMQMvs&|20q+%F-0#Iw?AC} z(B_BfgZ9nzeHS@*ZD3D0bS>s$Ow{DGNrkq*YR+bx=LOl@CRdp)E_e3O3E6f(+f=Y# zE^{TWL8Zqfx794B z1fJH3u7A!p6Jc|F=MHM0p#8;{vc9ZY-{Q{bp!l4w+;p+(jtsX->J_?)#i{nTBd0#I zG=99tAAk52*Po3P-Ra9dw5R0>>qw9={f5&U4;B5d)^Kf|+7)aDWXiA`%+%)}Y`hJJ0N3Jp`>Rtt-3KU*;JS>W-JSA4yrYs~9n zZl;ZtucPV_-zcV4c!i@SZb-$o@v(@;!fWf9{EdGO*i6~rpDHpr={~c}9MA!RKgIRG zxCg7W7gT=n-7s}i*-ojL)ol3>|M>E(jsP;|0q}Ma!+@d`&+kWVj znx$b!$w4Z9)GvY8_PnG{@T*^$I`N-lCd!X~$}B!3gDt{sW}Vx33}0vY8tc*$CdFG_ zUFM?AKKvoM)CT;$1AMTX^n!SlsGdR(jiC?Pu;G>!j~TqgYd z_OIcB!8zeAHk4E%lmZK9Su_Olz$@=aEF&xk14gH&8L1FFbilMhq+!nMo$5m-^uv~xPbGWPc?3&rN9AUil z7G6~LmmJJnyFLrdcHaAR-AAzY^NO1>v(yiM$o5-`v^=$Z+L7#KV^^Q)Y~kY&UTmCr za*q)0kQRIXn9_^$U+7#W=bzaf{XF@0S!t3<&2Z+QIOKbs6|rC7Y0V9=u$8F^cD-YEasg0lWiya z^r^ytwFrnv&^-OooHzAeR;=l~j@Q&@*0^k^ZTrfG!=Tit!%_ygRY@wm0 zdSt=eZeaaLISNi{z3leoh7F7V`CjPh(mnuz${czVSJB36*RE}L7&5|b0&@MS|3T5( z6g!qq8v*uH$B!_DHG6Mnn$5D+43%c+ezkG8fkL9FgOl#1X~}ZQ$G39Q_=9D$OZpDw zeZ|76D7fV{J7#$>Z6cXkcWvt_>T~n4%*#*SzSg3yI1R+#%j;EhEezKAglvED%$xk1 zCdbpYFnKO3B{NyGo1+pErr0sX6ja8J!o}G_vdUg$W_BXdl^)b!uEqr#ksBC;}!0lXCSb_7bez>DNqd9%#*XVTYG8xs6bN>*?8( z*v%(;OGfo+W#GdHbX9rJsNM+c1aPEmm=Fzp_mZ`Xo<%_6UhmfP_bZ!9K4e!hQ|mCv zx?XwTBem&De``jo;Uy{_S_hN=9>Y{yvabaTYa$(Y{Qlt72&z~9UAxwRqc@p#2Y}3) z-VN24$Fm!<&FoGvD|~TYyRAyX`?F2@PUB*WY**TtXjbNXtFLxg3GF;K*yhABxk_l~ z7OI{8x28w^x@1a02d?!pFJZ|eN>FUy-YgiSZRdd19QMD1U`ETs9@m&&U=>WVaQ}8Bx4|H`*GP0Q=pL4~O${Oi{*-!C^xW8yx4 zxwc`d_3)$X;Uk|+E1vuHeQkCf3d^-wlKBDdBJ_9FlJwD5A;yk#uw!R(> zyr`($5JV3mIseT{1gmnWz=?z1ymJcF!cASy5I(?7!PzV)E~2sf>Q$Nb?D)!}CsO0uG#EA+fwCKP=k|Co_;!|Ls8e$4#$ zRuLF}GxQWLcz$m{Ci9Pr6D5Na-4}jFq}z6Dsi><{djxtwEYH`$bI?7vRcD}O>W9c1 zV=Hl0!w+2OoWz>=Je3Vk@N8`{c+1PNnkN6y+~?E_{qAIGhh_+?`#xK_`msc!x^|*< zz_0M=3k7R}qSX1E%23Gn|NniJtr+Kwda1n#sG0NJ_icr*V>OM>?*^t(x{v$Z?X`<^ zgFGMRxt-HPoLzL*o-hvJvu2NPa$7>--^&^#R3s5Yo``N#!(8@ziSKBDY#@*fB;^N{(h|mPvsjaPb9Nzpz zL8e}`+H=o7bY2ha2C8KKc`4kmbOOdXc>Po(Pc|i4f3bXHYHWuy4l+h?y0;YRMuINaaiH2zf;18?S@}GuFEc0Q@;*$5@6LP z*Kx*rjmviNPTLmN|1&>QP>?$b)n=)|p+jA8?=OuBQ1ByG_~30$zdKyu z2{$eFy1Kfy)zTEN)Xbx9_0syiFRt`XD7hWKn0~qL( zjh^1Q!z?iAl)BZSI9YtY?XX*FmUPX?X8$fJ)@xk(J2^k#H7IgY*29}*vP3#&~`zNN0GXFW79^^%K? zjU|M6U1{){Eez{_e5(FDbt(FAGE2jdm3s62ssCfAmrD02rNqURHw(r^MpA$~wmHkQ z^`mctbOLfq8H|*oA%aD)fiOMJO+H(v;caN`Gfwu9+vRaX@5T_Ui+^lBu2enl_;?|{ zc8zuN1yyw?p5kgY=A;He*;3z=iLK6sO(#?joX{w2V$uxqnk(Dk=-$d}z3*ASN6=P= z=Kc4-robMlhr33aWv9hPNuQ}J78{0>_n#U8l5HY~LpCEa54-&vWp-rgajqJ-Xv| zY)sRC0FG#Z8}co*>EW8{1_or1k;~xO<0asa>mEMrgDPZhBGsM5@v;-Mbf-Si3OKy` zpgiE!P4oWL4;RM$mz#{^n+<3T3;;+6#gv*14cc=wo&V^T+B!R;pV>-PcJ9sVpLM-y zJC=L|Y`Hm+Z?*aDcL$CH4D?U^3mjadXB)cqsqEVRnwpx?CsMBTu!@-*oHxiLBu zmr+%HY=0bCj&KAX?YPDyC?H@KnXPusXrCQxxh49$s*`M1iUv1JO$>(4`}0`sa$`gX z?Y^+E>UD;xM>_}7UbW00J$&Et{n22N(%_ej@fViPe$h$Iq@s@I-f=vL3B;1}Sdy-eBG{@Qp^Gd0lJGttG+Gxe~mt7K$M?X+JynIb7 z@@L`zXw4Q5MW3UqX=OlzaCZd&Po>3=BK>c$nSbav?AH0SG4?Ql5>!&rce$$H{w&gY}g27L=Etd%}TS*N&Tup5=A%{LV{aExb>T_p6m%H|q+P5s1@w z5cxUvxPbC%i%n);Y>fcwYVXkQj*Z(B*3V@ACn0!En$75WkXA@e=k+zD3%2`&X8AzN zF7G4v^l#3v^#lg8tuJk5-1hKe?d#TR28zb*RZROQP|Y^&n$5Rg2s+n!bnBPMqifT4 zv^F|qB~<0!+15(GBUYWy(LlBGRqEt_gQN#a=o6?s$lzswP70rnMN!GPzGLXUTt4Ix z+x4Pf@^Re;-+eck%j*qfUmNNzSJh*VMYyRIZ%N&37!`k}u>QkGZFMWhK<1w=hq?(WJEFxfyj9@i6}q#ys!A+`*jr7O26mFw;cdtu}ocK4m>PN&yT-{t4O zU9vZsKIQvrWTC-Fx-U35|Nppp?|7>J_ka8#JEKI%EJw^7{5_t%KaJn_Pq(_=9OwCXKCbJ!U-to~QM9FguEqkw&B9q& zJq$Cu$=`Pwc@j_WIZ+etbd2(u2pvJstc?EiHef){NM)-@Eg^!89QD{-IJXab-4Ag9 z|7NE-BDv#6YBY4K8$=uOYaiF4j0(OO~>IdYbSn^hi?o1Q34h#E| zHnaY>_%eaik7$nnZV6UW&{FRhdIOi%zfukvQUTdEW*W-ycgcNWBE0FeS;Hrl`1fA<%D)dUuL`ttOlJ=H6dbs%Dz%ZLM}T;EEA?rUznlI; zGWBe%yjJE%u!x&21}H@eVJi;Tx{(AP%X=XW?u<)WHn_0Z9G7d+qv!|XFAkdKCrdQ| z*<r z%3c+_1dqBFAH(Xi#J?i#PMqjRLR+vcsHzW@xE@+geJ&RKY#O*}B{KYCYjh&0^W@ZvD3OQkZO9HZ zkLY-X{XRea$x#1V2vk!4#l)oL*Abkcf}KF6vBOwbb!!i!5CyEKbpvE1{WJywH z{U83VmZSi9mj&(xAEKk*78e)4o+co=`EF<7L&SgV(BbXtl+f}U(?~y*!6Idr%(~z3 zyo}-YQ!BOwyZ^m*QR%k*^y$Qb-F3$p@C?7*70qa52Hb zy(Qt52wnyzfu>9M-(2Hbr(M~MqFvhxi_ANdCbaLyV(3YJ6F)!u!R)(;kX!q5nRak<- z)%lW#q2V`qRV)ii4?h7UNa+J{cK6 zopUwZ{O8n;-XKFYbpy`-j^V|DAyg?L;~0^nS>L1Hi&JGls3+qvKztPhEgr8Q0 z6NXa9JJMXaK!HSyw^s==`Ek{Y$W?{Np?7j{h84}dFwZR{|70K3%<23t>L;1zyx8%a zH$nnyHw_p^YR%Z<5BSb>l77$fEAD`@5UzR+8%*ibFZqL zyyjsaZRgtIAVfBz5`j*Xj1Cf)@V(z(B zqLBAzq<5;?ChJI^yqj{Qc@DjXGsC<|1sh4Gdh_pBx|Y7R1hFT zrWP0P>sTe=RBV6M`td}I1v+NorsNGm4+BSOvIDN=t|Gw`VjM}9y7eyC%;L$2SFW(h zxr}+SsMjzH>wn{iDA6JQw8}42z1B?PfeQ-*?-v^ks@S@U?{DD3k zCAz@QAG^z zM`J>CW>scAy^N#cZ?!%E*egR36s)EHZjaMrjxdG>SV_7=5hoE$uOiohTS5yosX`=n z5V&(Rb8%(}==HB6Q4kLUOz-)tC&>+W`R?N4r?n9j+#h&F=?u66%u|+O!_x2jrAl1k z6>U`hJ@>c&SKUic8`IX$$7xl*xokPx!*8ukV50p;Ti#27e#I|#HO)17?6^$q54vzr z4?f<&`1smp0Ug*FfMa9m&;#g$0$ZaIOmlfvs7A0~E&%osP!u>s@P$AlARIITa<=Ku zCxo2UcGlCEh%6$Qj9kF0ZNMpzD!sOy@bh5DWIBWaeh5T#=CbzMiul_G=yQUW@g~r6V{U(!jQshtZ`H~3 zy)9UKOG>^js}u#fBw#&HWBMIk#|Ji*7ssP@)$nbg|MeRlucMpft$xyB5X6ucdn(2j zb8{#eb44jJJ1D4xtl&~C>wdl>O#72 zp6cB5T$*Zqif4;X8a8)xrRaKok6XN9Didb+(O|EYGvddpZ)m?Z2 z(mghfxLFSkBrSj?vk(A&#!khdf^?*knZ$IluAkON4~(D^kr}X4W^^YUqf&}vsSgi$C$_hQ&#pWN->i`xtSR#H|9?N$|{OBnvFxDfBE)kNC@%6!+mb4?lC5fV*0ze z{v8&CM1Kxiv=Ml@J3o`v<(lUH&yZ<2st4(yMZC2- zdi=Ykkr}-TMxRH$iJM^SiqOW=XEy>ory6#lfx$r#j^Wb5=l;Gx>o|t#%iLY>w{C70 z!sGoc0>|nV0!h}d)0!|IJjD_O-;8g`Rasoui(~V`F(bzc&WaZ!#oTydm#-LeZ_Zas zFI)5(IbQORHJ{d_e0twctE!h9-K>pA441#UUwcTJ#)F$~|l)oS7lX0Gppt zL+BNse$1%BHk_hXdQ6w-UQLHgl?v*E*<4q5yi;80_a9fT>yv~EGMnBnh^$_Nd!g@ z$cJYN-icwn2Q&%7;|b<>`6MHnS<(FsJa5F=9MPGqYu%n@QkXtt{Z}YsBJYXSHTu!b z^w?F3jybML)tf!iVK+vV8wP3?ZmKYS(Q&}kP<3*0 zIttMR3uz!*UaA4&UJ>AvH<`}|H1@M+?!dPy$+n622i4_J>Rc?8W|?8^-Gua3g|0NiQ7}= zE3nzOYTY~jjstn*P^E*AVF}HuFhH|~G>Onizq6W=WDK-oZfjW?+hFAH(8cGJzgl}( zl7F!Ny``lkGbiU#U({r8cX#!RE#JJ_;X1GGlQ{ccsic!4lwk!~(@yG9FW3ksl z6qD{Y_gHk1TB$I|gQoYo%k82?JEG+BuMPog^J&(4WtGDeMCPw}NT ze!Sjmmk%O0u2P0Kt~%g)C=KPJB?fL(V$qR+eOyiN|MPXHj2a+_0Gn=_z$JOzZYWs3 zJ9u~#_+GdzgbF<4qC9q|fz{iTEdX?LUu+BXWYwU($g4;^JK?mj$Fxj>{MCQJz@%ka<0%kI?A{}4`t#DF=C>6@1s9&e9;iY_!R^nrQZ zKX!Po@wFo#Mp8;>pwy4TiRK#bV>*%OLxsG*#h?Tf1H6Z_vc^Clc+}%si{;zEpiXG` zqB!c%4>({x(iyUt2E2itJsCQGOe8qxn$NDRLb;3IY2Oio{$=w@je%` zejcxJJ+8L|NOV<*m`bWTMHywV($d#`eOMzGBP^LeH#1mURg(%MGHJ*V@QN*#ET66g z{G<34Vfss^p=h0wiDy8o@b8;64&J2CAaWRJEKV^1y$*`uJm1d{pA)G2NtEb){tD2I zjDT@atdO%sT~f@)kMBT0I~{Nf5E;qS4+dzqWjO*UU~p(rXBV|W4@fx4<~4N|Il8F3 zdvxzMBfn6Wm+(_!(j*eV9Ku*#wIjHgtFyl-7PSz6x^Kr88@zOnJbO}^T*LT9r#a(@ z(XXMq-fTtg&P|W$r=Zw_!I&lnb^Gr(%BSzuWLB96g(SDpx_Y3N^+L`1W+O!&&|cY5 zo6boH4hWVzC0goM@*L+!xZd#(Piv zh9>p(z`Wo12>xBxORBO|syI~40dK$+&>9-F;`r_5Pm>)~m+;(C4t6LKnJKCr+44kQEwO+z#V#2%77r8N;Q#!f4tse6&H2psN zw54J^MdCP$75!O-XrD)A@P&WsVZxDe2c3@)x_7djTJR*zunHn^!#ah;Y``l&hI)wCwRBd{g&!S|4l@Bl5{ zb2B4Rugu-cwsjnq7rQZa&A)UYU{Rcz zm9;t=54hkHZW{${P^27C3|@xJ+`zb500e{}w{LFT#*H%E6#qe&qkn8g-a!y@vZ%FJ z&P^+xR5;`A!&udgHk&+)fG=59&qJ6savZ{l1{m}>Q^rjze&CASUsCkZ$k;JJh!DKr z5cB;K2@3TwKcSMQ0Jet`*lG9ONymez+WY^sQ_$n)O8q4`GMPkd)j(u7*SZsZ&>#?Y zD8b=?pHTpeF)d5O0HbZzO#FljvQ4Y36r#NRR;MXdw{XA{9660QaS<&2aE07U99)qd`0IPSsq*IItp1jI5^%YO@@ zCh((bk^sZP`JVU%B+r8wc{@GATlK3>1oHCQ(FGt(6OxBz0uK~0Bzk^3-1DVBh1G#o zmEFl^8Hmd|k65@^_CCjjZ4V}$UjqeyuXP!W|3IWpV{L7H1mFPYZ->Hqj|%;)yy2)8 z@|d$6szDon*|a?aggQy5>5Ku2?+*2>{j2KHn(RqmXP$XqzDyo%`@26C3jNpLQj@Xv z4x4m*c49P`8hG#M%#O!o-0`hXMwXEKp9T&ZB1spWgrHzg=!8JVG7u3`T~kvU4!12- zi(mpoj0M0eB($)w*zUNKH2Xo0PSVZo2)0%G39zMrf)54*F@I&fXTb%4_Elp^FoEAqN&P6BYSfrpDH zYI(^8ZUs`y=iP0sA4NQ;`regJSWr41&4zU7?IoKa)+Q&UE_TKnc(>5ANlx}XPK#Z{ z8Qi-%+ENy=6vNh@nouWr3f9jQbb`1UQ;TYg2GizJ+R~QwW)G)|2^>`HTqRWd3g=4x z-;a$sK0dw;i4)qteQN=W%5A8wGe_dXs^t|!Wql`Xs)%fB4k*;&2h3BrRX|4p^O*tG z62M@M0R$g||42(qJL+gDt+6|F*)J^Unz827#YDh~=)foQAA6wh-#eE@7l}oCK(STw zIg$bQ9UPVR#duW{eL(+o(5n>GzNxKEr5|22#okW_CC!t1Af0Ju>^2uWIcyYG#?)yL^2|0VLsy|PC%SZ;VklbO;IQaL zFKOh+!DCSx_xrqsvDM<02i4^Pl05kKsj`bzIxSen_rz#~2kkOI0+}?OqSIeva(Ap{n2Sr)?5RYB5BJ zE+vn`_IS@BL_8O)iN`%Cw?4O8y^oRiXX@2_gO8R39%kG}Ap8-ya}mtJ)N2gFsUk2ZlDhurY^W{cCXy@uH7!uGe zL=pTz$6A+?mq!foUTkU(G|YM9Fec}QqvGNSlCukE=(C4|09PB}EeFDLO8R*kQ71W* z6O0N|b*z&}!l?1bmx5cC%Tp30}-+&%@%cu`T>FwsLwh_xgm zD@(i|o%arqg6f}fC1+*fgM%xE21c9&u%^_w3-?IqDiHGql5j1WLgss<#>)p$c$>~{ zYb?1KNgfW5C#8!i5^)MTMaS`qCpJ9u9w1a*dK;a_gcAh4zFxygpx7${RgsMRz z0xZ4xVY7#zoaCKQb39Fd&Tx-IDv;c^_LLP3T|cFWZm!k!6zCIXiAJgX2aYQvt4J<| z?UQIGmiIkkXj0ni@9`tmz*PUn7*;=tpT)IOdC@72t)fCx-YIJCLHx!M+V>YF`2`)GZz7S6U`m3pYg*UI*T9qC1N>VHxCC(Bvo*hYpSF3!V87sP z;6gop1eo008%4c0!Hs2jJP?Cpfsl^7*VT@i>Z(b{F1Za3W@5AmRhry$yn?;A1W8S5 zMIk9;<+(DG(*NN+mi`p}jAWz{L21WO6cZSb5uK3t5YX)#aA=o8fMU36{j)+uE1+-upsfQkO^KtPBQNEscgaJ-|Dr}qH1WqgFEzG$H7 zFjts(|MoJ@C8`!*%dY)Jypdq}^{iH|>XL)c64h+6}=H@K5r;D5> zV1#7h;AnNN-J=D*o|rxYuU5hLywgU%0APO!U|nQq%K%C7q!ehp^X2G0hqkIg`bLvQ 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≠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

XZd*fo=_dVwv*SN+t#vF5} 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
  • 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

    B3BhkcqTLMl!_< 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 K(~n)a{(k{^-v~PZ literal 0 HcmV?d00001 diff --git a/images/figures/op_benchmark_a100_wq_gemm_e8.png b/images/figures/op_benchmark_a100_wq_gemm_e8.png new file mode 100644 index 0000000000000000000000000000000000000000..fc869dba6857be631a3015e8d89b984569a5f8a8 GIT binary patch literal 118316 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�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

    rZ=Cb)GiJFE9Z!e2-I;wC<# zlK(d5a+pKMkTr*R->o9^I$|@4c-_Cpu!0BhQf8(Yg|+_EGP_J=zi%{B z1#E$}TejRsaK(XsS1n53jFkf5ofg`?)U-5WSBMUAWNcKG+&?Hr=v_Zfk8fN)M2#J6 z1_~!|Mh3qoxMZ*qY=4UH`L325TpZh^4G6lY|oNh3Jr{dlF_oF>f7yRQz z?3>@<)*yEW2>$rlvlTdAd`95HAdMbP<=K7z@vEUGzYG%1eDzPSxYPDOe9D(STt1`^ z_gZHUkCnD#-EX?0{^QcvH=n+8dy;|=xP$9o>^cAAo$ns2==vZ2PLr4+pp6R2g@2SNo{aJi z7&l(5h&T;0#R|{DrTK!OC1iy~<6~Iq&}_%jMY8FpgS)8_(Z>eX*h4gl7eMEwI77Ms zX)-hXOzwJk9LAx96ZQ`BS$<>sVO6WnDgho`U9}CHR7fSbjnV%CV+P*^g%7 z9B@YltEeu`g(~ZS&2VVl$k@;jJnQ^Qgiv|oEl=Ck4#()`uz;UJ_?p+QT{Dc;%A?lN z=i0HO+ECo64juJobWQ<^E4 zf$T{tBvkV4(Vx?9S`{(HoD006;xo_;VFUP0%U_7wF@Xzz7(EEmsR9cYw{K}{Z;d|foa zK=>JE0iojPhx`?9_qIjzl_suYIz_9X^eOTC<&8;#-*1bYN@jbTlv%dwUZt9@f#&;b zUjiSiRpOZ0ETHQRF3@)L%pj;q-n=K7^__}5A@QwC%3W!V_~rWwji`kb7v<2UF+G&Jy`9W{F3&Qf@ldVz=IC4 zI^^~1Gp+ikw;VI}h`- zCwtm#_Y-`-5b)-ZHWTkdpp9-|t)m5Fm~O~QXLsn_(WVFAErl7XLY_=gt6EuDS`vef zbqoxy@P9si!5>YmyP>hXAY*GqxBt20wZbV!EBbHy$GIzu?eL5p+RGW3lLJf)NL8-a z_Tz$AzHKG2FuZ$Pe50fLl-~4qE05dx0fqrNlkn=0zkovc`ZIMsvJenD&jZ(x*IqmK zyce0uM0M$yj-iebJs2^C7a`0A|>+Zh4Sb#q9DUrg&M&gJQd|~sN!G6#Lxl4 z!(0M|ud45t!w-0iRC{bIo+r9IM7edDS4P4b?WNl&j1j$em`lXq_5!wf4MbzT-8o0u zh}HG0o$CaZCxlHJpepF40ER`3;NUPEXfalN7TY^92z54bX2hO0gVlP%p*S$<{-O;i zTxwfxBQZL@Hdw^#@q}vDsuoz7-^~hx8yCti!(b6WeMc*$93AL>6@L7vSDUC0xz38+ ze0*f21k{Rz&;`)nC%ut0lnHwq%Mna@B#Q`yM?k?Otu8`nlxmk_≤_YYIu{9lc%Y>1yNt1fkQg(z+goWFHiis;QXz8d` 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ΪB@Z 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 |Y#( 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 IGuQ6^4^;w6JOBUy literal 0 HcmV?d00001 diff --git a/images/figures/op_benchmark_a100_wq_gemv_e8.png b/images/figures/op_benchmark_a100_wq_gemv_e8.png new file mode 100644 index 0000000000000000000000000000000000000000..21b369bd1cd4d4e6882131c8901fe6a455404e92 GIT binary patch literal 123333 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�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

    FDU_>FF657#JBDnLwIiW@cew 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

    O_L!!o4Tnzqw+s0Zv8(&>)cYj*^6;L>+O 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�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

    {R96tLntPs}md&zex?a7M zUbdy8Hlh$}TrdXx z@jfbs<6QIx`rB7@QmIIyuD2pwH8C0~rQV9k-gy`n&@C@qMZXr82HmmZT%@hx6Hu|x@9uBYND91;sMtl`L7#E{J;bpC<@rYT>G*S@PZ48jko^9g6@*KfzEzdx= z9N-04O)(m{YMOov7HaY0)(gR03=!uKUIJH52|BoH7IuZ3ZPJ2n zc~>#qdQ%*9%WV-6_Op)n1|#Y=B3x8`&q`p7h2g463*w$+xN6cMSIv01Y7Sm?)Qilt z2Hi4OXjx<=Ts7@z5@@0Vk|I-RuE13@O(-gh_#|94HCCbuTFzxkM8}_reuIuK&WtW- ziO!vk&LWOU=Zr~FjY%|)i9^RkXU1S!V!~!)f{9}TIAeWPW6{R3p6FONTxP6GORUpu ztUYm@4QHISYMg~}oEbXqNoJf;OWdQ`xckKMcR1q>RO9uGj!N>TQSv$}c{L+>xjA`ZCV7r1Wtt=9t4hj* zQOYPP<#R^LKyym(OiDLVY6nN^2bI(oqtr%JYJEm(ZF6eXOlmn%+FOpa*D7g+MrnDd zwCs$ujOMh|nY1LL^mvZ+7?t!$qx5i8dPqikU~{_POu9Ewh8IT$&Rr$L)hNRmmEn+) zVcVSXd?v$^DDxRd=2MkSW1~z%ROW+>%)8B*w`MZ+iL!2RWL;Is(lW}@KxL_CWT`Y~ zU6{#IAj+2G$d*>gmN3c|MP&*5#_LRXk&D-yyGunceLtFs{gB#;yh%w*^?P~KlHr#UPt+9VsU@>& zcT&!g-hs_8?nR!7MI)}H7R@GBd9-naJ9y}2*- z=HbmZh7SL*jRn@87k}uM9Y4Qy-hS)y2Zz3I?I}fc%m22G^>^L!c3A>lc@kKAZkDGx zlxIYjXH}HvAl9Dp0=kMKsfyP(E5O=Q8eLHi|14jqxD0}QHn;eImoOhaVF7(Z> zq?_FhnmrwxQ8CS+?C~9L_TOm^q;Cn9ZV5GL0c8&+rX{Mf1(ZE;J1q(Ht)T2lF=$P5 zYz1XcR%L6>a4RT#3h3L4q}xE*^Tx5QG^P!dJ(a_4)jMsV?0F~sp~2t-D0`Y?KD1VT z0A)}6&WBF=kKNKAKN)=NbNmR(o}tQ*!^0m(cRr5Ow@*s9e>G^Ia%`W8X$NJ`{BZl? zPWv)_2Ufac&7fo5v122qW2>?Qls&ke4m^fV0-4T(w>k-(I*DRCNvb-Jj&y>uhm4_% zT&9ciR@W(~F1YW~R&~*jbTRIBfwJd}OgHPTZZ@ZGj#ykbS5-GCd-!&{1sHlj*&}kR zN7SiDJhn%&sz-XHM|QVIp5c>%%qLLxC_8;piT$Kj_36?GD0@C>GW2T8^j^Kyd)=v5 zH?~*5s@Gto_x5h@U4}kT_B_1RXXw-i${v%dzNaI7pzJYc=(m*V2W8I-r+(Yme*3C^ z$B};L-F{H^ypkDkzcm2L9#rgrchvwWd;E6?0vQH_Wd=iU4Td`ng0d&73Y0yAal3;F z3`0pWLn*h0(wv4eVuwK4lQRO!o}mJU&qXqyU*G!t#_4k@qU`xxIr6!B_j4`7FerN( zZVfj&4TG|$wQBgo$Z-4aa3{k^H%?~c)2)#{r;&l!k)f&)nDrXn9T{gBos=2=xbbgpW2eq?lUcXXLy43s@ zlT?o%1@9hioQ!dTTy|pZF)^hkp8q`YGkH>Tb3DIG_ygm|$H5&4OcJsLmGdxQ3V^OZe zU+S9h$MMWMr^8nW56I7wksZc#ks9He!u*LMRtO2nn!|8}3-UA`F4GOp-zfu+YHA&~ zz*}g&J^ieJk6x%tWH;({6G@8HOv1A+c}V(|QQ zMSX9Gpsx!4rw^qg@PGT$=0|DsduhSr^VH<^xWeP1!Q+0J+wBt9D|OC)d#>u7e?2u$ zm;LukumVxNy$YAD3b!T5Q!em6R^+=QFK}I2P(xBkMO;`>?3}!)C@ca>pA(Z2g(ofx zPfS8iTvA?AT0vS?Nml;ic}2Ag7q6(P>s-;)y?X8TO#{P+4^5vud2Ve5>Gl6Jr~Kd3 z!x1+pr4_pSAI&KTME*MifrvS!@zTCI<>r5GPI(39l<}zF=9K&YWKOv^x^GUQ5`Mz= zafp-MIc32pkk_W&7Je;8ok- ziFHiE@5DOG@2|w#`FCPH_x;%)p7|WZ-=6sjli!|s+CMz=cmD9q`~LRKNB`lOfANQB z{_Sti{IkcuJo7!jJoC$Me)VuDetG6CvVZk(bbfp0nyl#xyiB(cu1psek^3W;^!>$4FGBnHsK8A!1s6&*AJbBa8JQxyyZ zKHJqAw(kG9_G=)pecvpn^PtcbIS0(Ic0F)oMNzV zPU%9-DIfODDJ_UO<W>ROP-o1%;SXF72CBTrU>|V}|?Bf;q*lsxTzs;1HXl zYO57uPC1B}Q(B)Q=9EyxoYM9PF{gwMuv@jXd5;uD)c!K3=pp75$38wVr#Lf!Ic0v| zoN@^w{#nIyjKZ(_=w#)bx$IOKGNc6O{i{=)`E?*rK`l8x#uc|n10~gaR zv)a7*kCbIRF%X)vc~F@QN`WK@AgtxHt~%qf1I7ld222u)unGs$#b zR8-S8xcoYW~CiSqxxKIn)K_l-@4HobuxXm{a;%d`ohS&Nl1yL?NE}9PrHRf@eMt zdN_K}!^wukS{Xd^rr?>6Mm+Nw;F;Hi#5xWVYY9lKpFm>W2#K{Rc;=%K&wL7a=2alE z_J_op26{N$;F(tj&%7z(nU6+1^9kUYmxsjK84~MFNUXm@V%-RdwJCV!qY=-140z_n zA+a`t#Ci}C>ugA@mBBM_3ZD6B#50cp&%6L6*0&+CE`!AS2_)8ykXW07XFeM7%!h(! zo&yqV4M?mbA+hEL&-_L3%$tE{J_hm32ZCpw2@-2rNUZH3vHlK;brU4kX5g8RK|J%m z;F+g}#F`HhYduJ;vmvp*SlA?Mb|%m*rh%EF45ch`iO>wO!4hM;K?mI}V(;=~5*UmMe zg2Y+`66<(KtlJ>5HZ;z)GOfI|I^+q7wJIdmV~|)&LSijpKmX`6B-ZOlVy$JQQ}Mj7 z`VAQ*)}D}9r$J)v2Z=Ss)#0f{NUU=kAhC{z#F`#@IFsEKqfJ#})nVC7PGWDzaGrd% z2V_TFDTd1lRa2aM+=Ta}9bpZ=r|d1w9;D=;4e&568j3C+`I#^l;>$hvNY~94hGHT!bD@ zHS};spoilSdVt@S3wk&=podceJscb8;T#tJ$|46noKfiEI7SKQ+lfLC=Na^HzCjPC zA9^@V(8H;L9?ob7B-RO1XB>1JE7sX6WEL-^ZI93ityjn2S#ql>oS?W9R4a!|G0u04 zfgX+&^l+S@hjSQuIP6Fd=jGah)t%YVJ?EZ!e&-BGtaYG=lM6kZ$I!!>mfZQW_hYl? z&is1K%fZ$Bm#?9R^8|W0GcTZr1LhP$6&pybZJ>vfVFNuJC+Oi2*+LJ;4SG06wvbq( zp@-9K3q70w=;3hKK@TS^;uROl4if9=pO9GF35mNU-f$CDu@}duyM_FWFF|oFTEEk;FZ*MdgK~ zyoqEy2TK8P6h`g z)}t^Gn1KugRz2`3&rq%$@X-o^#F`y?IF86bAUpJMxZa~al$ydoV0y7{HxWA|)@GJ| z14e8x5ZJWpGir1ZdN`6jeqV{$rfmInA+gTT`7+=yT<^b}aRmkfov#M0Hw(c)pb8|` zMy$}o5rBa}2_byF!1I=YM4K!~59dPQu@*s6njjIOAj(Y5F54gvq9EE?bx5pFJP2Yk z7KR?qG3en)oPiz=b5StQCNm!-)(kKZD8URp9NKHa;>N1b!@*gG$hHW}(1b>bgeuwb zLt_0M66;x2n!!*@7zo_tQCex zEp#@_EK>~<>)~!ltQjD&#tOkeAg|qE#L!BF3z`9XIDJ|ePgMp;th*tx=Dg~-iTN-I z1A%fudXXts(8J+@#JUO+>oPh>tjh$WQfB3D+C_0Zh{_r~7d0650t1P)L%u|`qi*z@ zO)nS-e8mAh9LI{yXq2w!yE4%ny_hUyAdnV%IB8um?P&RGnphu-m``?S7zm8QVPb~{ z(ZhqW2^+EF65c%$aR(2?PL9xy!|&*a-{T5@uod>G zHSBRzn6XLN6Ui`BlCWn(p%z)8R`#LK)k1A(L+$259LhtSyhC2AqGC2Ia}Y5mLQ{3^=*s=WPb^!@6%{OY%S-?#cUMftXv__j&< zekAej81m`L^69bn=~eUTr}Y_}^Zs1!J>u;>rtdw$<^5#~{jC)}9fh7XL4TJ-FOZ;@ zhEOY6s8xH^4>iCYE1s|z2lU_Edml#mXe5aMe-9cEH)+KPFSS?F9D<)e#9T@F4BB$QHreNu*)*OYDm(NpapCH?Z2?_sY0?^A) z!xP>k4bO*{JnyS|-BtFvdp_{4ROp>^5w``S@AAe!;7Ky%PI=6oYRr@Tm^<+ickF#0 z%q_kUJ^sKO0)AKjPd;BAK5s1^6pZs-;qubp{Kw~cne*?@<1!~anD=u9ZLK=DlN#?! zRc;q$P7g&+*#GmBU=I>u594DG=VZgMvSFCnFlX2zSlB{Y*@9Wwd|24rS=gLe*zC@* zS+cO3o?$mS!~T$k{VoeTh`MjGa_F7qxX#9Ljg3R+EQdBHrxq`lrU3U9Vctt3e5%5H zN`ia}0{rp9l0v+a0=#m(+)5lAs%P2MnOQC~vuK?@qsPE}n~v!L zHRID$^wyMg_7t>E6tpkNX>PjT`dlJjv<3$r=5TZWBug1$!6;PXwhv6s2hF zDVfAmipkV!=`=bybax6*o4#eRuVF&HXAW#(4sK-*ZDS7qz#Q?BIkKH8s^fG_7h7C6 zZzBA`-Y1?mAd@kuko8$DXIL|L_*&kue%|n{{Na1~!w++Z408sJvImT_`=K`UG zZ_uiE*rsIE{>_+k+4!rVpAN~-NiulbNy zSyxqi(b7oS(pc5fc+KKO z-S@GE>5=Bip${YdokP7n{XKoX-2;6+Lw%oy2l~f`K2MH}O^r;+>nvn>SQuV7c9MKq6H zox`q9VX>3gl`-tf2zKQ&c4Y{=GWZuvNcQm*i?sQ_!-R)5|2r_D&^<~)MMRPE)c-$) z3C|eCiF&Y{%pR$*T~+=x_vT*}DctRPU;Tz(nv!#|-Y3+El??dbRisqBT^g%(Yw|2^ z{BXqoN!*)zD8l09>3@u7yu{ob^S-i}H~gtcX^X#7Q@y*raifB>sB5LR{Gxco7${N@ znDDpM_O65ZvX{b%1H9>)_QwtXWdbmztWe8f?~}(FG|%5A05^`?QQ!_VJtP>K`Acfc z`nV}^`8X|!;PbB`e@p;AdM+MS_}=3$m{1`vQR{><$0wG^r+-WUJ~uZy==ShQ`yWzU zN3+*|Ml-a@2_&3N`zABLWkCX!L%Hz=R90{bkh=m@wNE(`Sajgr4dT-cIhrgj_0SzhJ^J6A_MI z6M&t$za{{m{p$pv`R@rp?qAW&O3pt{0EYaEX0X4bnVMhGO!4n%rsr2QBl3F!a4+1t zNAn_Y$rCz;yZaM>KTH`-7XT)V|1|-)uJhlW0Q|Ne&D`0KX5#iI0Jrk?qnX^lO#t%E zeurpAs)b=BZ+kJYyM249)@MJOk^6>3GnIk+(Tva3F^Fc44?03L(^0$z(M%Pp|0O?e z1G^v1cs+K8Xy)a}7DO{I&G(}j1FL{N+>ZK*kz=SFi z2u$dQz=SH|2u$dJz=SGd2u%0{feBSa5t#5M0uyqaLtsL61SV7wL102D1SV7wMqol- z1ST{RLSRCMRe%YN1reC=xG=zkXaNK!+(TeOG(Q3pE+a5uBp(73P9iX287~48enMcv zK^_DqY(!u}8XmoFYcYSjPDXV8ReffC=?@?*U90 z`x;4Z~;t6hroo{ zg#Z(p(B=Y6h$qaY+vI&3fe8Zy0VY%5<~~F-sSwQ^ z>8&FV&-9ex(FR3I5=1ld5Y5;@G&2d&Oe#b(M|wV5hNs5u@~D9#B^aU^CWvMvAey-k z(M&25%^c|(><&+SQ^l(Qij-Fn&EW0wnr}ihGYQd5Dnv6!I=%@-#I`%}NrEE95~7)L zh-S(lnz;|rOe#b(M?S6uM?_A^@C$(=oXy#}Ou?{BaRJFhvP^2h8G~)u%%qB!LUm%)EgJ|Yx)5&6t zAD^=zEhtiiAey-g(M%acGY=q|NrPzS=zC_0NVKx75IHDP&OkIH57CSrL^EF?nn{Cb z=4d^yRiwvloDc~pQph2iVM3xA35aGMKs1vE(ah00iJnN;7uCfCt2vJkKr}`(uqM5t|T?(12O2YOK%~%ss@y^CVG&2v;j1)vO9RL$Dp3YEYfM~`(HCeUP7xJ+b2S~ilr*40{MLAb%=fO*gv5szqOUEgE<9I!M^#T& z|ICQ__=6OwflP@8@tu`}wpI?KqPJ4Y&2^(`8`+53 zyjG5@nkzEmX7JB1*OEN-Rbfql={Cj!U#j#}*7D)YwBX#*yf_+7h`0YZ%| zv6I)HIn*4&jsHxSJFr9$R4Scv&*i202z{OnPK1!r7w_QR?*xJF9exuyyqJlV5HZ4^ zdJ|5|JqC}?16uajgkwK6k6x&?o?<%QEKlbC6E5S{jpk2BFF3J3aPp6E`YCUH;KUKlw+9Kd z4wo!D5}YT&)*juOa#Zm;7|HyKQH-oM-0fhU+s?Qff$L#>CO0ySv!9pKl|&czpOnGo z2h|Th{b=rfrrGg;*5TT94|gwDY{Jot7+X%83!*5eBVv}BRL)-lo$Y6AKQww>sdL{8 zcj$b4%x;4kN5FoZiG%DWh9=p?T5Xx;_JHXt6|#79C$}ck=e5u7aCi}WsXU)?$78ql z)HNfsbtABF{MLt37k}wCKxsSRXv{%e*Lj3<#v+G4!i9K0|-miK&AqEzl@BaHJJGM=f}gKbVrw4;eRzZ3HWv59=EhQgdsd**EhwH8&|W z)B+CM6AsM77Qd+#K+M>!poYd1X`eH2A#A*_$%MT+M%*P>y-Rx%TzDL2Q|PrA?S~-{ z{(%pDeB1SUsAm(7H%(T^PqnZUdMCNeFmvfAtZgBlHa=m6-o-0-MP=-yi39m$B2}{@ zFRTJMvxtq49Y^&&_8EfT!lFj>?M;rcgIlq&3WF5{o;*hn@oq)cJ@!}g4N>Srbs3J} zmGSfDH&d3z3Fr+MK_iJ~_^c|0lWY=13-b>o^u3(%de84@iT=cTG|~;#^=DRG9TM=H6)V6DmsuserqDu!9k|>)+fFE;jNfzTP+N5aKu6PXZH0??xsC zMe1X|vq{obH;Py`$z-$%>4k@9U`q9xJZecohB*+w7${)(bfMaW7e7!JD zv@EPf^)aX5m%0~UR7qX|3*e8hUtZb0(mwstj-UQ+>=m#8_FASJ2x=Ktr4Ri~H->8g z3*f|q42x4OE4z%j$P7CTZD0XhImmFS(nh!mW^TR6^dfof1JB(5ni*jCI_Na>6hA9$ z>~(}j7Lrv~jNlu1RTj!nRs#G@5=k~DZ+6=0n{>PEJ5kx$8gFyQvWX6}3#;B13+7O$ z=9H1VtAOX+E6b^|dslaw!$gq#eeB&2ja&|^+*U!I_NrXoq1I~WC zJ&MX3)6kt5%acCLo2k+T7C?E`{3Vk2U>`-LEPuo9J+J_35ESf=z2Da;cw<#?ET{)8 zfOOUa7x08_V_&s9a^H}a^$3>f zGUoxF@F%>?&_56C+K!)=nXKoT36;-klv_Q`w}~xZt}1uP$p<{)CP{_ctpX3tiaomu zpN|EACp;Oe2mDRw*XJLUI=(XT)-1PEdo3tA>avf ziU3bY4tT;_#egTI)r_lHF9STGDc}j8mII#98t{ZU<$x!21U%ub3cwS(1D^0>1>gyN z5dbLcr~o`+FyIN9D}e`Kb=@gsY_A?sV1xp759bHzJmLz!M&ff1?Pf z2Rz}K(D!>A^?)b526)0}4S**^&ArD_BhDn$m^M(%OC||;LUrXv;aALnC%k#^{ZZTp zp;tc?@c>UKC{^?0!{85j2Oe3nrYtVN6EXpwFg2`6V?$7JqDic=>CFb`YvE==+Gf2t zM!*wB6gPho7J7f)%st<1cFq8JLO-(>n*avD6MFTxAe^2t0G`m9tJPzI9`JkP`5Od!ctk+;tTEBKkH+RTbghP{jxQKJu;(`S5gn6OEcJVKaCWlQhhh4N}oJB^g zUX6Igw*a2dp=KoDq6P4TZe*ijTCIR5^l=!Csci*3VbH{A0(l$Y2_uBZ(j40WPY7oj z$)1!0JmE#$SRodjgUGnq^YOCHyMQM&x<6iHbievy9BX0xyQ47R37_AYsLz`K+-BwG zL>bm(34(R9P;N5MXfiu+G9zy?t!pxQb20&IDwcIBMs6z7XeumlDmZT{plix^bIJ>A z+MRXUMQ+;BXxc7t+B$FAqHEf8bJ`ed<|FHjf!xe{qnUSsGq3YzUUki=Z_cP<%__6b zD$32u8O_QD&PwIYN_5RW+?*A~niFE3;&xH(6MHBZYrPbD`` zZZuC4I8T^2f46HMcXR$W*1|2;1vI&Zn??)Q0~aoH7tT8uPBs<}F&Fn(7Pp@*Zhl%^ z3s_vvU0mo~oZVQQ!dx0>SsHn^^z+kFf51{t?owyxQrpH-Gv;z5%W}iB<=RinRW-OA zNw^J)eiJmx^bARNNkYk-g1Gd!sMVEL7{XUbcCPz5ammo&+@VPep5o-cZf#JAYpl3R zu0umoL~}>!hGX|CHXgP9Bb?8LxK9dK)8skN`Y7d0S4bYN=H+wnbFC;)uQP04*DFLx z)m}e(MArPA!fXfSPBBqy!bW@DM(5NCR zVrx!xYe9QU^BQ5&Ta+h-%S%&RTZpY~ieI~;zkvVmuuH=FMR=^^ZQhpP!$9v48Kw|L1jhs1N_&t;1JUf#1pMni^1wudS;Cz4-cu22hQMy77&T zjlb*h&CSg%EiJ9Bt!-^>?d|Oy9UYyWon2jB-QC?iJw3g>y?uRs{r&v||6dyU=I6K_ z%k#eGmHOXCzEhg~39b?SkKjTt7dO2?a!AYOZ~k9u*`g|G@eRp%{%F~dQ2)J_O@9f3 z3#nlbOy~ZaS~gLk64D0>{9c)~59A;7{%2Y?(QbH9Cwg<1gCzIKzi8R&#n$=Xf4b|Y zi#%)j#2#_~pR{au`%z~k_3!=&vB&?rmTk`WOVc-8txFZln-&aztHWoeiZ2r@HmgK! zGAx8h5PVn&m8Q$mH88!W??V2GrL;LrMfJmCq?%sVV$?`hQ6I?%mLJs7x=|l~k9>z1 zfAWwdewY8($hVDEM#?osm8d^;cn<=>NEb}vt2#VLu<6Yr7@#`*DwJTyr``Inw)%VI zJHgcM=AV)8xexys`CdByGxA-tW&N?B0fiZ8*{&ab{9T9dG`9MaU>E&Kuvt_8O0f0* zB-lfLCD@qxw|+qhc7gTo6sW_WANp(7Ay8Ph8*W5b^`+gU2U<3Cld*+s2UbEVGTNd}Fu6pcr!xXxReNI(e6YmW^|+a}Q|Q z$dh{>5rUELL)<_JF0763zk&SpGxq$FooB0qa_aHQJ{E-%>?J6{9ua{O>>((@9udAuuzx@a z_J|OaV3$G(c7-66V5dO|c7*_xV242ob_G9_V7oyHb_^esV4Fe-whu3qU~51LHva=C z!F~oM*lIjbf-MXs*y`L+g3Sgc*tT3yf=yu#5^P&eD8a@l0SWeKAsR@q)d!#in;lB9 z_pcIcHYmYff)eZ#Rw%(9ff8(DR;Ui&epQEOf$H!zP=c+_3?>ia>(RL^H3e$k3AS9 z*rVJa!LFiB1_^c_lwcdOd;tkIT^N*Li$isI@_vwDuaOji1Uu_0!6t#~@QJ3(ua*Ug zD?uIJVvkAt=#-**H!|Ppg83CPvs&4mvO)t9mUnI0BTa5!i-H!JbZPy6wkbtrN7b^Z zaObF}o0XMFU$7YXGL7|J|5}>9$Y`kSKk&0SDm~v3!TL;xSu?7?tc;Y#|rpeXorBy?V^j0PQJ)36H2~!tr!i~(@ zR$=8eE5ht{ZCO(XZY8x_i*ye2{#_^i(eT4scAmYQ*Lu6<^{waZF20O2*N{sZP?qky z;RSTu=2egpy#RQ2WILX{ubb0Sowi*a?g|%fa+;=Z(lV75VNDXLW zREGJf)^Xh}$$d{}R@ota&K2X!u*8X6)Ty^bjerjXG(ISSc^Nx#W6rba6ZBVhGt_V= z$Yd^yxEJ;~Em0*Q$3LvSLsH@;y03?qXVAk{)tBtZlP1HwDw9~&AEnBg&OJFMXHHU< zfY|@^nALDRtZJ}QCh&X)o4$tdTh0pw`??L)2P0Dd@72)qETzwG@P`4N%Y8R zAkX-+xO(!M6JHHF%P(8Xim5|Yj=H_c8OJ@+?+C<^2Qr(IAxBxqIk+m~UyJpI zQ+!Gnb0m{0I3*~qJ6L}zvXMo1HhQ^vP{#gx(|o#ga?j~Q-Q`7}8~eHFT;1_Ft>~_6 z`uQU2?s0db_FigY$*OXFNN>Fpb_t^3VnMzBjQvdXSd$L1laYJA^!eV=z@^ZB$!py$ zXXksv?3WWw^$5~xF$A;BD0>#E9i`xYwlLK?aB_`Yjhe!~c z-}Sn(E5QmoQH<+(u`5|7JH@f<;T<=c7}+~&Zjq1O7>?PPD%@6et=U@5If&fF_}qCI zEO>3)pG3P0`dA2$xIaB|7hkb>#P9L^rH7=nrF4wP%W{urnU?a$9$JK+N@!LpYMwgQ zo@xeG8Wo-&hCQ`gt=@v>~eH5~EyG~%Ur>}A65X~yrZs^)DK<7pG) z{i?#-;n>sZ*!vxkkDHp82hg$^*!cKVc##(QFb}!~jWCB0`BroJM#L~j+4!PIdciZr zU?aZ8yS_;yigEmY`?P-P6-=2iez-6Ea$7}nj{Q>a_!p}^&sX#3v~a69<}R)9hxhx} z`7kyR1w?TL{1|y&ZWGX!;oly^-#HS%p%c(cq~ymRSa=*Tl*!c}6X;nSIB_gIavT_h z7c__Fyr34e7ag!-BRo|R)Seo&#UQ*%6l}>Ayw6X6XcPP~Eci5r?tCOze>WIOo$k6o z$Sb7~l&t$`u#iFXAk0;l+b1EoXu)@UUGA!f-XaPmBIdYN87k8sN@07Cia6{ESJ*v) zdvvy8a$iE31l(9g!{}@fp&YgXi~`|Pdttn*Y!6`J+{NL-qul%_;VX0Dk68#&4qsliD7YBZ8HGV+Z8>uZ51ETt$tV&!+R zsN9mMPcTm7lc+YgC^L0sQ}yT{kD_g0ly;TT0+!KE=q!%JG5ee`9;3=GwlP)jV*Ey5 z`i{oLss)A+O9l(TlGR{QGJat&m_uVsoVp6v3Cz+1mNM!Ws}47thh@UZvn%1}kKy?r z{46W1ruQt%5yI9*y;AjBQX4_%0CF${*Y8`=AmQhqE8snZ@045?75I z-wz`lRFBtMj2l4+a1U3;SvQ4}S3xUV1FUjrV<1P?xig|@@O;jlY)h~2iBXpA~^w(*~PJ756JmkPI9>sG=s31gRsv6aXSLri*R*zQ@Bg$pS~?3`p9kn{VwS&3b`h?(K{r$B3wg`VxIZ? zC^O}ENq24#<`gpw+#}t&d#%5iYaL(*w3jBRWVj^)q+IszkXZU@NS~vC!EaJ?YLpOa zWKL9SlTw+SQvAkJpBy|^(CzY^(CtWe`y;(TS#K`{;?epSr@DcV9QlsHlKw~0(h z%RzkoPj&blJfLW^HYsrwssQoz-|O(Nfuij#>PHt8MXIu(f2qUALW(wp=Y;=ZH8kZ7 z54hyl+)3J839mT*`PdU){p-bRvj1OtaT;vDFIJru99)eB_L4b9mFa(T(Jz?(aZxXr zpi^NCS7r)PVhVW9?5)V+A_tZm**;5iyqDm7CC;TR!u?E$N0R@61V8U1ekj8M-$(rX zj|2oB3kpgI3rmWMNji%UyOf0hkbSJ$qV4L3G6Ho>wXm^B20hG5DN zEExWMyYTS$dg1ZO2{d4Mc6N4tetvOrfj}Vs!5{L6+$Q5S_+jwx(i^h>NqVCXSD&ZD z{+6M5+4tNX_=j@TO0<8*l>P^bw()YRz6RgZh;EWRo4vJ3A>4-R6@OE-F>7~L?8rZ` zT9JKGffGn7XmRhqR}D>+qnD3mB;S$vGO*qCpYVtNm&Z8=o$&b^e^{(GbZk9AIEb8@q@sBY>k!FzN7<`ghg8$(UiDxDC6zP`Z zZGKln8F8dAPZ(E{JP3fIjrw{O4j41M;t%2RDH_th)0@@w_~-3^(i>Ad*|p#44Hvw9 z?T@1Epi*}Ix1z0X^tYmIqcH45cH=6&$!ca>hsF$r3`+VTMcas~j8WMHG-k+Vd~2&> zA?l;C>s&(47T^!7wW_w7nL&CphVr@g7#cH-o4gt`+{phuW;pzN%n&p8_n2YU?=eHN ztlwjXcE86A&%gX0GZgDms)4Ef7f%({h-Hn<&xE?M?_C3FZa`lRXecs@(9 zLyES7W?Uo{DWGUm8))vk{z@O>55vnWhu=m6MH_NpEz;Ph^1uTr;}%xyev=-fqe+3` zK%i)I$jP;yc0tYGnRX*I=5O?%%s-wxr|UkR55eAez7X-UE`L5sKi~Fi%;&9>g8Om?f88Fg!`+2vcO8M*arXB#2S@@JbB3PQG9HAlvon{}w{=P?b~pU-!c2!hXd zJ5jS7_Ijl#=lA+we!lP?d|hyHcw4XM;%EkM#qoF{nsWMhDWgEtW~Ja4;%w+E_T~9L zD!uc?@v`&y#p%&6=a1)SiAbpYa3nBhh{iIsbq7p;XE(dt4oE_x28y;NNYO@h4k_Bw zgMp%r`WRBQX$J#E8}&Yth7@gdIW9oa#^oQ`{4BlB2PoPM{b1bz z>1jzo(Z=fs6m5FRg+S4E=o>qQNuSUF6m4~oqKzH~DcTY+VOs&qtg}GTwiN~`+LqaO zfTHboI8d~$a0=1%x_$SHN0BqAKmv+34Gf@YGw_BKZSQ=5qK&~FQnXR{q*7pgaDo(V z{oZLn(Pj@R+JYcOTb4DXXp{F#=IvSyHvo#ZN8Uiu#$@6G6m45xK+%?6YXTH)YXLyf z#^e(M6m98VK+%>xlJqx48`Ds6P(-et+`3F(_E1@VM4oZr`qNpa;i~S4e5}rNWCr}<5a17UA^tEG@Q058f9MGK!!^Jkeg*s?GvE)00DqVZ@rU7nKcoTt zp$Om)4FP}n72*$>0e?6I_`^JiKXeED;dQ_tUI6}Z4e*Cw0e{F0_`_kqALc{+p*i3W z=Kz0L3;07rz#o1E{2?>o4~GGNSOD>dI)Fd?4){Yyz#pyw{_rc{519dfI1Kp10*F6U z2K-?P;15LrfA|sbhh>02WC8r)2;dJ3A^z|&;1AsZe|Q1-!*xi}2KYl3z#onP{;&w* z54iz<_zv)gwSYhT2>8P?z#p;z{%{oVhs6+oNDKJGM}R+c1pMJTq-X>DAq(ISM*)9W z4Dp9}fIp;x_(KuEAASVd^lak9@+XRX>dZ1`y28y<) z1w&=pK+!g-_-fD27AV?o0Y#e|P_%sqiZ*?qXgdOmwr=v$RL4d=(o-HrTQ zvB-7=s-YBfuz|QAy!9u(pc;w~s-di)8u}JgLwi6qw4Ad)JYoI|cYKSy^Jy@shEjuS z=o3&44F%Ou_R4i_Yp#(-ip8Sv_;x+9vq(@4Wd+qxEl>^p2CAXKpc=}@J++sxRJ#}7 z<#c%#3#y?4pc-lks-Zie8u|-VLytf;lyap_Iic5~)`4X>??gbOZtrwnc;z$QY2WnD zUV0+Wn)2t>&JxjxFU}VfV9fBKsqU&8dMSN28C`W$C-rsRol<5J&pD()tnM(Nz#)LM z{>1y4=>BKci`8|z<00&Yy%I!y>zX;G?f9kW_wVcoDZBdfHc_!tSm4D$OX&GlV%q6^ zu+Z^;j;jAB4F6l@Fnm{;J2sQG|usE?X&RD}uhL%RY`@jpv439xI^aCZRhJFN!w$%qf(YA~iWns%~ZX3N78g17`;V>F)elyzT zgvVJRWqNl~7W1(*CP1CX^Cae%TTGaMVz3%aO9mFh$P`)$+ew8bpbLR&Xly?$ zjgcIT8HzoCXWKGnjl#c!F+%~BT!Gm1m6);})t;CJ{UMW_m9ye|g z*IMZxT^T3)IIf$Kw3j%(kTZU8l>}5na}lBOV<+P6qw(|m@iUC{69Nh8&l8p^UsS*n z@Z1wNh)F;-G!Zv(ca(8XJ#nHU;kc4xzcLXcEfJ9w+(n%9!zS@YRS=3@(iU1029q=9 zSP~{I35VqVg+MYsMl#`85^;7Csa+DeY!W3&67^alZB^oZzeIYCL`J4W=F1c!BJAA-i}H*?2LM_=jt8kE`OI_{B+S#K|zlJw1(;YmZfc$38cV zRThkWff4(146dFH*R+Fc$--Zgz~8RHbgE$Q{b2eUun$bIkEbz4?J=L>F{Xww=7KSn z7%|pk(YD#q_IA;ZveC{Y(XMMz2=}TeProQ{jVNEHDF4&Q!1l;scx0$yWVm2tBt~TP zSOhFPBGxV9r>X%VhzZy~1+9csf}(ms^Cx42)LL5YoWVG+Ce zJ$Y9YHJV~3b6SC2Y?B5!E~bAm#ai6h11`1X1rksm-&t@TZc7Qk0sB5CEt*_;3HGvC#K@hOeLm_;G3(@lJlM= zN0&A84ck91<2Bp=(M#86{i4N^_KNxUrD`($mzSc!^!H2FU<8+>&X}Oi6syJr6O+^<@Nf$^(=SxNBPDAHR zOJ{$N&gLGSB?Fxq6P+;|{U>&YkF4|t%=CJ!4DVPOUokVOGBPPKGRf03%F;7R-e-J# zk4cP%S%8*`48{kw(_#o}w#_vM2QmZz?r^N{t}$SK*{@ z;)r#Vi3~Ccjq>qLOYd4#;8|7Qv980jsmHTzxNH9n-|0Jnb0fKT3vEyb$Uu4F{nBZ} z>N(>&g;NG4(;rHvjY_9XzD`f6_v*ALgiLY+6 z)xL}0!d6@3HhR8n4CZZ3RsWj%zP;G8z1q36(YLcTw7WgFvo*c51)Om}7`M5*yA5KO zs|x7fTcCgHpgjx$x`T%&*GHox+Lz%#nk% zp@YPMgQS7O{HK9GMYGc{oOLr9aDi%Qx2 zKk%A`u$225-zaTaR8YhJhS#(e^^t3_ETH}yUK48nsnnC;7InqaU$%)#Ehbz z+XM(`GR3cRSwOZ4D4Lkt_>HPXW`EuihLeXFNpV7p7@jKC7IO;~;;dpL72 z^v0Xj%7`)$1T+TGs#YMN**p~gSkHPi@uo!%;59-<)(~EUwGZJn{GC^L4b2r^^YjX@ z5#7GRYih6Xn&m6JM*lZnvvGyj6kOpoMOS!@{}o=Ny$azqLLC$r0Ivzzl?QlD><0&c z*Sucbh47ltE4+sL3a|0M!fP&PuJ9VCE4*gs3xwA!lR5yr#yRl}!fQTX;WfIk5MCp` zx?ceBnk0kUnEDIZwuULHL83gwx`QaLSzr(Le4Ba+=9G zq};_NY+}^lG%=q;;M`)JM?F3FrLuUO1JcD608E)y@Yahg7mqf);@> zP6NxDR0_+e7Lij2%5bMbV$2LOwcBy5%wmsCXMba zvQ5seUpxLhjbR$U{W<)O))(O~OpTH4FRGL@^BlggWZ-wGk16R~uld4;4(rf5y%Sn{ z{)K~>xbrOuURaZGIu|3X^SvNmc$Y&uj{tGk2MxT4pEc>cGO#WqJG{ur^K^c7;%-wo zUeuy+hTsQSw`CPxG`VetaOH~*+c9&w14K=RXykCW<0+o*#d(IfR%DMWiG|Efk<3Sd z5xt&*DpFXEnG(bJy}lZyHu$xfl7#qufp$C+ytgl831b#Gmd9iCknU3PcVhli*7|6vc%b&gF@jtKkp+EP_Y!ycfyQ5DOprTJ?h4$T8;?`kmp*?yvb)j?CJ7 zRYSGA2f0oc>uSi%BLx7j(FAx+0l;hI0bb(>@S5tuHl@SNsM-xh?wrv?fY%5Cyyi2& zYr0EI(;Wd`Q{Dfw_%IFNHJj2p%;UiTuOS6^4LiVVA@lmM?00(i}5fYhE{Z+?& z*8)#>bj1M05aX@CN9z0%-!GKw7~MvTcfJ#hjo2ERgzjWYPdwmw&9B0yy+4$6okG@G zp!Mknvr$hEFq=k172fx8wi%L5gB6O(H3{KC;_1v$GYF#a|F^KAI!ofp{CpT9N~q(IoaS zahgP?sDq4EgqenxYxv7TH@jHIi96C!zFmGh&GfiV`7+w^8V-J?q7x6Q)6mT4?}WDx zIGlP3?Vn^gZ7e$_T)WjtfL7&Vd4m(<^3V$F*dc_^h?&swIK*W0rE?#j<4s4rW4}bb-4|l}{H^OW$2FygXvD2pZ;blN;}(k*rP_S5-#k!53pEkCO9zMiSEwU>#tlUn&LeQ7go z2Ao7H2L&6;6)LRf$EE|~7`r$gIm6aBLeWf!yywLo5lX|D64vH}g+8VR)+aB0`1x*| zw>qA=+_rDQ*iy7dp7qf;u&&K;GPN=97st^x@Z$Hz`mo~5kLpJwjbq90H`aUe`CFSA zE6?;86H|Je!Z+sn(pZk--c}5^Z8E*(TCuk{{6@rWJBBdBY|JBKc+E4OygSBLpufE} zgVkP$3PUolmd5c2K~FTnRwG1OilN}}zWoyi$y5B+452YHuEUHZ(xo_B5fXNv8exjQ z{||bcpU2q#(tsbuo|HD@lCqnexjp!$ z1BKq_^gfo?(7!KR=Z6H0n;^N0oA2US@A_cv8w4L8JNYJI&*ESqk2eTyfA7<(bXKUcho z%bg9pZ%azst?|>{cxX{r{>fAZ$9xsbQk{?hEf_})OK~=)de|P?-)6)i_4P##jT#Aw zzN89HZGlx|->`!S6 zUl|+^+Yp?QgupD5YAKuPlR!n+xD_NUtTaH01zK*=)U=eETwUQ2}+g}RJ*&>jUo8MCBE$M2Sj1^XybR3l=9mR*d&XlD{8#OnY8dIrZ(XOvF{2E# zzSE~&-^omnLA&(!=J&QXXG*~wgD(msy{(G38_QIpHgaLgbd}BIZFAEn%CI#Ibdt@` ztJJi%v)0MZ&cz7-xtd*wku!~S&2!EArLU!{NrFF?uij2njxDnY!BL9vIwe%e1;yh+0dZ zQEA9)DfpyTHm_VJ0);u(v^@VXBU^#cV|g?m%%8LRTKAo1B7Mx8vhs;G%&Olu(vHdJ zhTodCMnbXA-(xCfrZ<|VLR?FF?$INIL!cJl;RV|#`Jz;Wv1Q_ud{R*ESN#4%3X^JK znnnbgW@#viwUbYBf@wlM%=PC?X$Ok^ZfoMVG2cnMuj0%&QROx#qhUYAO_CDPjNh26d4= zM#Xi`^2V1A@w27ZuVEZ)V=eeZn4#fEm8b0q;($p}zo$hw82D6U3GvKH^o+@j8fdq& z3+vh|4M}YSNaNy*a;G?MD#==$9AkSBM<{)(xQNMBeCt|vnsV({yt}5RXLTjzQH&UA zA>7AOR1K}!Bt5M>!yI92-aZyKMP+f>fYDm++_#qa;IvW^x4`vj%rE-7V`5uL^%y0h z{1lCvz3jSlK{puz2bg|vJt=;e|LqwUw@5{wp*L1#{I`3=O|G3g^*qJu6RI^PisOk6 zXdKTN%6@>%{G^REPb)fLP9NJ;s?NjYRvVG~VTg(G$JDW`>>_@nd293HoSLjk7pxeE zg{R=}m}mAe=`Cp^g#mV3hVQ(hlNHQ-{^&NQLH@42#V(P1+pxVyq0ekD7Lt^iD>F_u zl9M%BHk&j~y_Lfyy)V7Fx1cB#tyvMXS(v0Xw=?GzX%{9O*%htH1+xjY^FEBE@4WLdTIcr- zVjuA@-#)dstfDu*K?)MW`BBs9Zh+bJtozkMN8^%$sc=u7a?fGsV^9!1^yoQ%B?N>M z;-x*;H|0S=G~c`zO-|xQZSPVVD2NII;e_;H@7+x~JjcGc@II0*34+PKp&xxzS^}UT zs<_`rw~2UmKfXVpq@P9Z3ByHy^FlwD2tN=`sNEgl-+anfJK!)dAWGizh;*>#%YcOA z8z7v(h#Higd;^3NIERCZB5y%KltA^TYW!PJ5G5=7`Rd{=D2UP!487BO2MVGLRzn80 z?|^WEZD`1tTn7jzczA~`9CbiJR4{7TZc+ybC&UkjT|{(&a6(cQ6hw7FLG)P}D2VEU zf~XP!D2ToX1yMCCP!N3&3ZmLWpdhLT3ZlBapdhLT3ZjNlW7(5>pde~;I94d44}=p| zs^ewx`k)}{P&Qt3p$~);ZUhtGwG2Q()W>R~wbtNq?L^g$!R}hFUIh6hBR3FEZ~@^& z!{Ef&rtIkCBn2R}<(^H5Or_rg!U;|woM=^<+Srs?znH?oo8Ikuwxu;4B{6+$!~uj8 zy%y8pABPL_nMUT|tecxpc6VqRQy z^pWU7l-7b|!l-n@LR{^_GsLJoVj+cmQAvADMSC&RaZ#;qOrvfwe{xZqV*CxoQmM$2 zuG6@l(^6IZlHt_&r>UieizO4$2{X~x0E8fW~{xIPO+Ss zux3%Wmg}^fk65##STCMhCVjq6cVoVyjaO zwRvj8xN)P`i2-y(8%makC`5iHY`PV1PTXby9npf_jX5^nS?w(=v#k|*`n9^PV~MS; z+by6Y`eI;f--+(f>DT+PU#IfQdsDyc_I@Gt@SKZot0`@xe7=vCxUEvWjTx+X{c`)! z{PvyTdv{;&VB+r(^>7o`?>z3`p}>AlLb=O}jM%*gvRdceyPlg&*n*7HyIi}w9Emhs zVte#Td%Uk{_!IYNi}!@Fm1r;bM#%Rc)lZgc?<05ZN>B5P*6-ix-+El7vmmrIaTxC@$U5W zTBn=-xY=HX@4FJ7#Hwy;lo?Idd9GW0dR1k)In@;V@|Sj<IP^!mQYB}&F?92mBysn>gvYaV_Y`|4d) z7O#0^JXP!XtNB9n*krCLkn$HP*@@XwSG<_F6RDxa+Rwb#EeRJXW}B0>&Zv~yyw*F5 zU5QeObsV+_o0Ik4lw!>GCkLC;Es4|j9RdA!iOSL7ag0|ej*KmVBYYiCx9}k<<-XBF zH2So{N4G@6w;y5gEfhYk=i29xz?HhU!;JG(g7XRf%e!k51g||fC5fM!nM#s={=wPe zX*gIUMd>UNDn;deuecS}lZQ*@e)JD)8M;IduJ-M?h+@^+<4cHFc_#$nj18@R#FXPD7M*7cZ1@D~KFLd=wPDyuqVbxP7-&@iF!bUquPR z_oaOScP)98WayuuDao=o?JGXzUMw9D<~!g~c|LH%Qbk!|vRFms<$Ft+7n+_AhA3V~ zepS_copzwAWsSx8Qrr2a)uY$$_sd4Edq3b+fB);TmAZbST!Fel#+Ndo4>?V|u_K z#+~!t@f%OVD3(`VlwL7R-n8izbE$M?{5pa5-)(e)#k{g~LZs+M?}a{<6nGybuUh#& z`u@9<_b~l@p11JN%>wB$=1Y|e@%9LmvH3)Ix~jQke@XakYPeq2%$Ha%_;f~Uy4_S( zPBVNmr)0@)BCi@nbG)FD&VH<@LsE0JWI#`7b)hQ!P+wv zvVnSJdg1fl~>=%J|i52LDRiujpIW`!2gZ9?ID%*@#AZZ72haM6p)>d zr3h}kL%khkB58#qO@I;R?dsC&!LITgTIPwt}O8j9aSJwZnBgxn-t z>-8Z#eT+@4_`{9IgzBE~ySvmL-(BxTGk&~;PIYC2X>Q0 zb^+UZH?+(Bq0^Y(a>agrlOPUG3%m^V&d}0T;Nh z`kbYD93}7B|H~`ZW&8i_>97`od&g4vmihM;ykYwHm;Z+8-|jV2-qq!5Gi7NprN3fI z)?kiRXNh{r3bub;71%9hISeH^-#p?{6XQ`7=6NRcKt_mHT98)?I=&|Ye9}Vv(!v5V zqC!u_MdcnnRFsrZk(E|glza11MNeDPNKeka!=A@e+s#(($#@XDL$eB}WS z>icNZioZXHCNK_*Q`xZS{{1<0>?e2*wP3k-@86z7gX})>ppyM_b`7(37O*w||E)6OCN}TlU(V$Y{H-!l7%}gaAT;7}dQ6!I)&|_8fA8g*C@4U@ zdJ7=efAi|=Wv}pGctFpgIlNY*AHZ|yxRRv=FHji;9!gm)=N%z_Ua5?vu2e?LS1O}~ z-B~}rt>fk^mC-FJ`IE(%qpQ7K#1^D7va7h-%N@Ad%O%XQTQ6+U&XWRrxo7zW(_k+* z@k(VRwg#z;*jKLha^tS{ay741Mj&$qd%218kjm)7_ey0%?xlb@Sz$N0+RL4W_HyfO zul8~$u2e>Z8PHztjPdWi+>fP@%1HVvw3mzX1M3>C^f!##x`0=oLFNR!I!OrN)!$x1 zy!sf#tG_*ic=a%dSATm1@#;#!fLEX0g?RNl!4R)Lw*~R)?GUd%w+8X*eh{zzZVBSm zWrF~({%#K9)vpHuUR`IZ0r2W|fq++^AMFLax?LdP)#nExUY#p2$f{GP58~BNuXyz? zh*z(Ic=d%gh*x*J;?M)2`|Jn+8bu(XxSC2$u>UCrDO+t~&%v;Io_4=PQPlbS2FZ0UL#$q;XfOvH;z^muz z_X1wMIWXNgklAg7X}ALHx6F1$cEV1mh>2alotdrUI4G6QDBk z0lYdE;MMV%CT0mrE1Izw%)-Y3ug;eUR7N5|Wn=?*^-aL54**_03h?S!^fry-fLG^> z1uCNlKxJeAc=ay8tA_(#ouH)d5R1-fZyfOIe9=H<#0peKYJgYI1H8I2;MJo6uYUW! z2kivl)%nAL%IH2&8A$_PJrMBfc#LzngvCGTZr}4$o&dZ$e=txPkpqS*z1J=Dx*zEW#kg% zv=6C_a=>2hG1$vh0DHMYKxGsJ_Ht{%UhY^XP#K+qy%m@b57^5s11h7y zTCKfPpfdXU6sU}rfyzh-sEp)*%80aJv>O3bMw>uobY?wNcL=GB{DI1-45*BPfyzh- zsEmxss|IR;%4j?ZsEk(USbx!1RZk((`09i*emN@aOd-nj>yhOvUGdKSki;s4u=2N? zIcsJ$pYi|bI@$Kc%bz2-O!>jRB^O}s@EP#xL5G?LE@FkwVIgYzm~E zI(5xa0~0aa^#UVi`Fnh0HOqAi0=*}Pd&$UvSEmFjBjcGb+#=uPodw-f*$z+vuYL#c z>db&w*8wV{X^xS`t=Xb*kso?uLcRm}hj@TjX9B#sCg9Z@E4Hi>Ij8oF=WF*wTAVJ0 zf|1#eDFLtk2=MCufLEsly!vad1=?Q=ZOWqUQT4)++yy7hKxL!>R7TZ6W#kT2MwCEh z^m*xLiD*~8vq-EC`x)Or-Jw~X$kux9+2nlXQQb86w)?N;Sv;}cV`0Q#c!5I>P#LKM zl~E;7894)$5up%J8NEK-G^gC0x%f!|uM?OuY6eqAeom~bo<|wIF59_*zB;*`m-4XN%}OttVXwQ= z?x3$uFYSFV#vSz4S!29)x7|Ts{p_~)Gi?vhSLfCCd0puN`szZJJ|>Kwpsy~@=xb%? z3Hs`?pszmc3Hs_vm9#FrS1vR7Rq8o;8JOc0?EI$1{QR}~L0`QDOc^oqgT8tmm@=y5 z1ATQ2m@=}v8oc5s0s87X8X=p~YM`&K;Tf{8d=B*0Ny|b=>~Da+ z`b|0{nLRg{GP(x(>N4D*uRd>uJOvY{vk#RD3uV^f0#im}YoVM>TxVs%CiOzk%P4~> zBQZ_TS3e6)8F7?_iH?YZzB;>AxU`IhI5s@sL%4#Bs4P>&DoMoE9c9p0XBCUMiQ@!) zb^ceuYW7lK%INfZgcgoN8x^@*6!{1tet##DdOGrj4m4%74*Kd$P+xtyFUm|s@i|lU zkt5MISUBjb<6lHO%!z|3qqGgsSHA)? zM#adm#$r*bZ@`q%T@9vK*#T7g2n*<|A2}MEy>mBhBvud?TZj?F$i$Va$CazFfGMMg z=i;hSvb8<OWKIWo|U+#CI0Qwc(h-l#!7&m@*RRVoJyYeRUnEuda_jmN3dBFaoBG zRud+%TA;7)y&e0_K5_pOR0mUR>M=VDyij$ zsU?WiLQHBNE;V~DH4B!O4o^!_NlP?Li$kQvVA3LSX<>6|A+Yp7csfEQ-N!K96OrzQ z0gA|Uhq?5(unZe`hNVh|nPG-8BEtZa@d}smVlLw;Eb|dOQ%5CJ%P>l!7xh>ktL1ElE7t&&SeS1&;oEY9P|%_~yQ%Qwi& z@ykP_^D^4WqZ{eD%f`{=dIJe--%7pC9di)4zPRzQDWJ z{Qveia_4{F8@mGTPlE305f0-U%$qT-`XZ+|V0x6FKQ943__k>+lFIe9cd3{av z@n!M*AgQ@1aYtVAmYn2GLRh0B2gNiuFUs76Vw#J0E-R^ByP~ObUHk5>C-*d7KYnQX zO7D%inX{d(kB6JTpHE0|(Ek-d{*S2y)Mz;5ZN~mfG^2<7?=;o*`x{DHX&{vVaq+)Z z3H;bV?B1hc|D_TL^wIiLC7`fdM0=US@^2~u`ve3x zcPTRdw@P3xONmuv; z{)}dZw*H7_c5VNNX0C7k7D1xfJ0O(+zhFxDT}UPH+W1x3D5MgYtZg%eR02!bW5EHC zO5n$m?R+hy5*RXmSiK3U1oo|b%y! znNdHtD4oH4VYQWWdBn1fJKAI|nky-HtzCc=Wz}(^RiGr51ttqr0^b*=I%KyN)_Yb~ zDS=9W;f`TfATt!ryyYQ8GZMzE&A+CMBuqI7Q%2#xr;L;cQ%2fZU0`LJVbK;uGtTSK z%5()DM~G$^3DFD}A)3iwhN2nicZ6tWf-q%tg%HgM5vGh}^9a#QmxI^td~Ss<6wNHn zLQ_WXk_ao)=7eY_E!P1=GoLe;!IaT{2qBu8qJ~zc_l5~mMw3u9TjW@`YS?H{SDMqzXmncFIW?r>gNbebxWwJPE2U3n?p_YFZ7_P zzG?zB)f=Fux`;8U{=KQ{5G6s?+L2P4(wcQ+@R%)KtGjXsYW$P4#n7Q(g2q z)Kou4XsSPjn(A|>K~uf>G1OG=f|}}U522>|>GL(}u^O*aKvO*$YO056Lrrx@sHuMP zK^bVO>qUa5djE?I&{RJ$)bX6TL=$SNi$p?Abq%PgPJ0?O)veW_rusGdPE&^xE2ybn z5ZPrJYkeDPs@Ft-rn>dbMW-zJgi}5CqngTurn+N9kMpkPb*QQS@Kmom^Qo&)Q(X#b zs(-iyHPz`(^&xa4l%S^iVmQ=PSAd%8BXppteo7u{s((4%9a$A|2M(I*8FT}v(R(gcAxLjw9yA_|9!M=O^)h%_Jf4AvI5Bi{%5cFh8wC% z3w`dxU(gx%H;Zbe2RrB9;NsT_(kL&cuMv2CE_ny$d5W4j zy3WPrWt&cTL6aHyr;)0X^78vUX4b~t<7-;+wFh}pp8StYPgYb8$qQL!V8&)-OR(Md z&)cLKcg|@%h#9KM7cR+p{Mf4EUHQI{-7EOSYE^OdxBKTD28`Q(7C(qsaxUPR=6`yp zzoIs(TG-_r=JSDUaUK3Xx7!huHexz$U4!YcD7ey-@Y@IH6&G3GKy(?;@*W&UK zGijl+)(&LH7cyKCcp(^8`Cdz2#6JT)by}{dSxD<_pq|NlrU7j~$=ae5*139YYn82% z`y$9!ykF0}D{Q;2btWv_r16}Xj@Mn6V$w8$S5z9;L0i?!N-3V2 zB)*cEB-ly>@G2 zEzg{H^xfwlU#05j&ab#@u6{nwq2EAPTkb8!8bIc{Ey*TiS*%_?^(aufCCh#_$UJYF zoiwclf2H;|GW?Ozc|{qf8~JO`GplEAIm&eQwXLC+HNHu5Fn3#bx5TbHMadmvyFG+# zq<5=lbGT*u)$KPjDk|pg`U-zYQ}~S09Iw@?b8soie}lKG`Eht4JA6!FvxuQ`;q{FR zqXV^*WhLVcX0DE2(?V~_2WplWYUL&*a<^*URxZ1cicB6+oNAz(c<-a=xtIHLnq`FVTZHfwHr4SF3v~h?hZ;}f9Cs&F6b%F zj0{Y)m)AK*Sr<48f!~m)_=_ve0{dU0v0N<$vTNZXKWD^Te{{RneoPZSDAcUmeOafl z*@MqNSj?%}n=qH#ZaT5G8t%IEO|fo#pa5T8Qg`6ws1^MZ9$*v$H3!bc_AyMm=m#!|0wY<$g-qf!@wNGuoXw#({O%J$K8U zbKBvpv`6s+kMr7&yfGe?6&?bWjzZfWwG5u3j85X(p6}m!O4~WH7I~_s+bC4>D=~Uu zMZKqgO?fms%U2hO~Emx~G=3;{6!!jAHLc(tJ<0y;Dy5yzslN zs_lcm;$wh@8&&#r+W43;nreeO`hbrOBiz=`Hzds0VVKux*!ROxUpG4$S7|?Q4L`h( z-yM$_zYtHqz+s-?ZND*b-!Miau(;z#hlt_jiLFFf^dk~y&nGkbUwDH^pOs3p^Phd` zpFL|HG3;N`;$Nt2Q7j!my5(Qa=v@{QKvfY?O=elS9Z(eR-$`G{FKA8LY(qOFm@Z^n`s{9Hi1th{K1S?-5y>u!Jc>JW+#bmsh9rk+5se^iHjp$p zQA(N6Ph6q&h#QQk&~uuhtO!o_ozUYa!_FeqS#-kKuY~a;IQXz(tZ%}EnDEjUn8HsD zgo(pBB<;g5iG|C~U62_GUtA4W!m?kMiI`H4xQ@_}M@1a>jJQ1~erqR!csfD@!*)+6 z@`iPY_K2i9HZou!@`<7F1E#0}k*JqUY_IL3dP1X&5Sq_MqLvz?EL0TDWukwajkd+H z*rB4UilUuh_ulM8f1QfBm9VPlH=VuE*=kxZyO5mdySqQ5dxc3IP;qhdc9#*WLxeul+< z89_~BP&4+Z?<%M{Ce)9)m_=;NG9qSGCuSWU^K&P93m3hEirzDfK9Gq%ghdmNMjgqH zI_3~XdNT^f97Qo7NmUhj!atH$HlDS7bo(ICC-pjQq-`Zt3NnS+ey z15K*}&HV!{bpx&W0^jTgyloG#j}34%3UHPUa3v3LAN9w3X8U_P`1{`UM=<*b%p-!T z5F!4EP+degA0l$sFS^|i73&vg@uuYK%Oqe* z+WtbpbI)_!U`kqqbeCLGdFs?bUjgwu3F%a>!(LL>hJ4ZvahuB|ylW@k7Sg_%EIjd0 z{N!a4U zUl6qv5poa|a6QlK!NKFl#S_BA6D`J@tjL>r3!ZZyo~y%G@Px16IlM#aY{)a1!ir6X^8h@ATpCMDTS6!n=_0u5jM2NS>}3o^BLRcPx14|MpPOKktg> zfqp_5Z)XT^X8^pzhY#n;-{KH~2;HW;LRd8|uyl6ylYqBS?L zy9C)^8uYQ;f3yNIf%Tny=QmxA_*NG%+Ymh06guA=xzL7M!X+$qBrSEOE_P)s_GT~j z=PwNwFAbF~jZ`j;RWD35EKj{(nQ316-nKf2Tb=J%TkKw2?ps?OSX&)hTN_?m`?R(; z0ZlbSo6TUn8B92@|KqMRMD(w&{aji5xxDgoad~55X=842-)(S>8(1Yu#{i{j6s|h_TsLrLZwgp7vcaPey_LY-nCF3s(#~x&Vx{>x# z68vv9qUUT-JF`yRp+fs_$~6z>1Ure&HtMjV8w%+ zS=x#6pQ|u~ZX<0)X{{lgSNvI3iqmo7yqejMaK#xN(HHdE<5fyByW*s+=f`j*Sv^Tg zp5$ydOVNF4%KG2XDN{$Gyd|U1{okn@&C~sMH!f5C%e*CvD$7Ql_fd@JG5@1B|Jigj z#Z%`q$0*p?zF)r9rw0CG{pECYz+uH%`*ED)g}+cYDp-1Qy>x#|^%r@|<6aI%Ny-S4 zEAyBBVLF<-{|(8Fc6A9a>vR8@w>%qL={XiL@~66y-teVCo4ch4IYp7h-=?E8-Uyi3 z^j_wDG&d9d%m@B0<|R3*@w&uhp_e4P#DE%S!@(Jp-R==3O~`S_GX!gTcfd>|fE%l9LYqV;SG9Ylh+OG&~&t9j?r&30P`PafCss-$1T8^gbbH@f0}4R7RFrnd~<)6e@kRO=6=s6>d)L-yH{*r3lU@w@E0aDv`ORHGP;22LB-ry^M z%m8&vkQv~_SArP;+X4-5C|-t!H^c~LfTYg^Gk_z(3@|}3185S4Hx55R!yB%q1T(<> z9Cm1UW1L_H;Cu|30r-&a)Pa)(b>lpwZhS^iH)ccX#^(fe;|oF+hM;ad3sqsh5Y&xR zkh<|XLERWeP&d9Hs2ep1RhTKL3Ud;w!c0v-RhV{2-8eN0Rbl)I>c%0c3UiZCh3SW? zFyw?POgB`8>4wyeTpdsqCK#&1a1+#xT2K`xouF={hpI5?1a;#Cq;BLUs2ejObz=rW z-DpNoH$kJS9|x$wL04x{>d1>c+6Zm5TFXf6FCXgjS2{Yx)HeosxZ5LpbCQygsL#*exM3t;70@0jaGg@-H7&t z)Q#r}>PB}+-3b2h1=NjBP!*;aQa8fwAa!GVKs-=40=v#Y>`h;&3S$9PVK#jrb)y+n zh3O`!8;zkVOr{U0!psjp167#KKuF!_2dNvcdxI)WPI4ir!Z?IL>PGkaY^|K)vOEoE z{znOXAF+JE3?RYxWS#Fr&Dvm=%R$avFuV~5%mAXm4DcA30kTVrf+gTDx%m5W8bfJO zHM!Tp@J0YI1Dpi00UIy_@BuS`1h0`MfA3)NP!cc$`=`2g4h3zzkpo%mCx)FH|{2P3)3fepduqXv2pC&MOqrgW(N+U2H*!~ z0Lin#)&lR@)`xu+@I};Mc!LF)0Yrfr;4v@*G6KI5Mj(BR-79R)08x+6{ za1xjS*nk;8ktXkTxiKC!@Tgv*#NNZer9^jJK>x50+szOtme}m@{o==h9+!#a#3On4 zmFQxf!SDttY2Iul7~Ze}!yC(db1FZ|`lFWkff-=7~YtjB86*l##t$+(N7|L#r=sr_vGE!Ql4r0 zo}@Ba+3;lP@Aam5p=a{a^~OkNt*Tu58LImN8y^ShA1IWb33_6(Cw`LCn>T%Y@ul#) zkxd;^Y!}s8qpWvw)XzwT1wv!r>`jdy!E9A5J9EI&n@+u7lBzlkDs(iMo>Wz@d|My1 z{M^=SN={R<1rJMIU9uRvk3Vj2dlngN9{7S&pywJT37*POKyMN?LMm;PPigMdG(#dH z$&YUcG1t~(sv)~}?`&bP*>F5V-#1FdMt3U1XGf+~E#10vT&(ZNXK+mNHY@I)p*H5$ zqdk3O6s zl$*LtOuI1ENzwe+bU9+_y6k3J$v|PUMvbeW9KPUG%wRUF=aBV45L4lB#L|7ZkP@9t zLQ_w@Ku=+Fh9sfhv2F#H&uM#~;j_1+g_QnCrUg!_ zb|vzdGsH#F6zykD4AxU5yD{xgI`8qgjapDnASu(49x;|yhbx|3A04u#oYkM3uvC)s zaT3oXoyL(~@krvudb1MbnIT{2cqGvUKhv5??#&952{p$WZp;Z zd^^;r@QsCDnmkmcJZ@u!lo&TAS|#d!P6{n;2aX5sWY!=mI>8V_8FGP!+Jd^j&|59V zJX706iI@E7s%Ivhye>rHB$kOD1L5)(IL;>aXSGOeb9$S4fKdTw2v!50S3><<9+_l!eMx zIm7fQ(^Y3J*C3vZJD$PE(29m>wi$0QD^H7;82eodVLi4`u zBEvhgp*+*2t=f;fsi|AdpsBnWL*!*bwA;KHhkZ$zh_k+RAaCgtgEWzejMVMDWNM*7Tq-nMq^D1CntZ7@OW+Mrqm5|a47v;_L#2cZ!-7uw zMP8Jlf$fA`LRs8b@mohny=9ENgYhS|cUOiXQI!!SVlkdfF>E}M7<9NB#zf1PD#{+E zBpq_h&^meq&BZE=guB5a zLu6uf{VcF{(Mu^2{xG&cLnJpQ63&EjR*6eT1SgE3S|@FfTDns+CPcv~obcbB`|BxE zl}J3XamNhe6tyX0Rz1%$Mt9-tG@0VICF8I#*A+Obhbd_q9@94BFd;?JO>EnG-Q~xn z_+}Z_R+)&cofx5!#EKo;9#|5pFXkzeW1XAl-MQ!trbujz^L3Tbc|=^{TzoOkuWaj- zEj+1w#J3U~_YNB!ggLQT;q>mAuOE)~$gc3Q-3aR4SaSbVN?pILwv(cA_om(owQb~ zG#nziV+6SY56#y1N}@f{GVEznWLBV^FyWgXI~T)^qFCmn;>9rGt*~kL{LLAp{c6x* z^Fc+S20Iow8pk>7*+ zi89njGi^pJTce#WZc#0i2gGH^n`h@<+{rj@lp(cct*B3KDV@e5lDDUk=Mu}b-0QN~ z;`&H8sawkRYdK{(jit>Q;s`%S2Q)h#?#Pj2zM`9u&4Z^Rp3T1d03$P(6t}Y82DcI=5BM>+QYaj zdmVKY|2?3N!bF)guzo+So_6dq-9r6=aRY1f#ZM-hep}t@7NM2scq^`fCYAMwI zu$@9KAZTHQ3a6jHuG>;+-D2QWV^qyf9PLyim5aZOaC~Llit%is!C=Hhaja0yOzNv!PlGO0}3 z)(Hmf=xSVcb-Q6TcA>!$GfUKxi7tKAk!9V%w1BIsW|zgJaWQl@?#sM?)Yw9Kd?~bZ z0o$oN)|t58DZJk-65lp@rpjK9rh4D3Gq4Mp*7bz7Ye~ec`9hEYKh@kE;-g8ok7suU zzzg>cxS#dxcjC0N$?4>?JqqhG$9j%C_mU;_g57A!@m}hKUZ4dyc@gYJ_krDL#)LlR znm(`_&3@3w$<}{1sCRq+{jPjJsQ^AeiIIG7&*!>wuWlgF0t^5xfTT0njUE8I(emR1 z3I_v9Y#%P)>7Qq1-n%`(;OD&9?nL^i_sYQsHMT*Z1-SQkP|JA`XaRI<2G2b1*LLcc zU?ZLxPEr8X1ffgYDV6@P*FSCmo&GxC>`4i9rRMmW{791{NQ<}I<6Eyw_XaQQB$J!Fc z+S&TZ>xpd-n3`(F`tcWm7GNA`0kRW_m{-OUX~%~T#wXb(rY=r=H60x78c+B#K2tNX zFg~$#FtO6rON}I+?P8i|`@Eg-8E66agU0FIh=0~FZH<3E`egFB%On|ogwcYSIG^cA z;v^0Gmy-%#PIV75tI6d$b&fy&!aDH`QVfwbh z4A25-nGI7=vz9r}Jert!f}b(FIMq-z^X$ntpan3P7+@fp)McMG#DBA3|8Di952i$N zHGf+D%#3yIcf8ZYcNdp><62EK{CA)Q@WFrMa`|pYecHigHW)vPG@E8ZPU|VmhPuqf zB+l`f5pP^%eVIR(%s!u*IQb@jR&}DCL}5M~XaU$ihf}j9P0SZ7{3y*IbEp0h_2dW8 z0#r|o#=B@@Cw??4EWB43p||)_Pd!7@H``2@jy7>#$P}7w$Din=UK~zb998(xFQnK| zOPG$%A7DTd4=l}nR#*aBfQ9@%7?RlJ30u*`5;Pq>(MzvH5+Sra=dz5)FB2s-Et@Sx z^)C~{u=7A}7jS%z_}p5$1fP$gkhBOW7OrK?+IRa~HUBW86Y{%*#`{29Lr zv;b*|MAY>w1umt7E{nVz>!OF>$dN>Rho712iNh7vMjPaqlt`2~HZCh}Tz$H6-E~7b zY2#+y#_i7=cMmtzIDTp<{=E0}C(r_DC;il|`}yee&nJgJpK)vgEx^mCo3C9r4U#sE z>NZV2Z<;M{uqG2T6D>2;uaAGJ+iH>FUi%3p9RBk@ z=lXuHqH?F=f&KCQp`Pc1Ne8aw2V=qp!-ofFza3147<_$-51_}-p4gtR!+Ux+YH(d`yk`8x;clJLY60NFEDtY|BnE}{5h?)AQ|I!R#I`JO$%M5Un62A8R z@67-S3f|23ff?Y?!z1@kGXRU$f_Cw%uDjLb-xhwE0azX^L1qB<+m64?0Qh69+AGh{ z_Atl{u==7Uh)pryh>>6hc-j)LBlZjzM=%5EZW#1u+_05|%m71qkLwZxm?1NO>F1UN zxeSx>8t22~?2qgWCYpjcZX`b1u_|sxDf+TM-nE$*NO;hi_;}BDsjuKIFazw{t)B>&7UOoNbWzn?+4I5wv&`%HLVl;j)a)a&d zsoCr7u17_cX`D|LD|3b1Mk)hBuvld$!bbEaJZp^lCSSpO(Oc8GABt}Y*Et2*!DGZR!|iu?g!M6*QO28kfwJ zfBIVfQ}U6exJG>fWHh=y)MHQuK5}} z+O!h5tKLVYsI!1E$t-3looveFm7WS?C3Midz1`-4g zYz9MaJHPqpZgTKu#5&N~_S37}1KaTjoz8DRt1KM6{US%{VmB=)fVZ3Bxb0&9oz?_z zKX)Y1#o@=#9K6Hg_YN1w<&htF$JGuBSEuy`{zIpqOdD^Vx8B`8blyP)xVr3xOb-y42Da?T+2_}yNQD1c*0Fcy)S^?IIe zpCrAe977Y_>*Wgn0=tinK9%3=T{JgI@yaiWzPr~)A2=)D@J6vN_4+=Z`*OmY5yeQ| z=XalPiZ)U?fm5gtL4RwCE@L~7_imqmqv6!)GDZxaSziF%{1ihoS)4#{Um!o&j2$!x z6VLApVl$j(nehvi?(PdVfK9Xglt#%e^@WhnO>-PmDUqk{M|!}%o;ik6zP1}08uVeB z>x|(ImAe|jk)`P@A}AFJv#{{j8((>v8E>jPghph1n1ZVtUb~;K;h$%dLHC^L*17Jm zsOzOOg5EK=9`7QfYd(AtcE=lDc}}hA(=47z5sJEfS|}WK-sYRwHO4!J4#?QS50er_ zhL=puG(E;QGLJMc-8~i@9)Dc?yUekeyKiX4;MUUNcoB+DB|& z{aEz9jNKs2oxx9`iL(6r zMy79a1}2#wWOPO5UoZLb*gFdUpk_C)z%iDJIYE#f8mhmHRu29XCcu0zx?_v1^?;w zTM7NAug_BGpFT*hh2a0t`ycom|LyNmkA*i$Ph>J~4 zO-)NnOHWVF$jHdd%*@KlLZi_b3?@4}J0~Y6H#avgFE2kozo4L?u&}VGsHnKOxTK_{ zw6wIWtgO7eyrQC_va%A3#a2~Sy?ghry1Kfirlz*Gwyv(OzP`Spp`o#{v8k!){rmUL z&CM+>Ev>DsZEbBh9Im~+y`!U}v$M0StE;=ayQin8x3{;iudlzqe_&wX!-o%pgM&ju zLmxkW93CDX85tQJ9sTs_)Bg{fhbw(4mz)?3Tw14 zc~3%zbCKPD3o0CN`tNRpa{kN1xjtu>4F~*DTUKw{jsN&?exOWyMuF}0HRlh#z5nuX z{(u)8&RzfNaPIQe7do87kbkv#sLpvr@b)8rg$Q!5C3>L z52eAKp*U^z_lI*Ylb3Cr6wmGcIGjiAq@87f_1}no{paDF*6e-jOPgPthjZTnhx)FEyD0PS`vIhw~8;KBA16Ux)KiR7Ro?;cza?gUM{zIv+%khU&f1c$J zrG6aKZ>4^wzX=2?ES7rzc1SEn{&qfyQ15fg557r;WGhLxIq9F6bPV#!!J;wn*b`jBY+Bc0;sU}3skTqfC^az zP~ngOD##-Vpu#i(R5<*PK?O}gXM#gwgQuQ^87TyT3MU{?fyNC26_z1Tp_c$E^gy6O zF9B4@fk1^`0;muGfeJ_hs9+3%3P=K|a03DrkiS3$9tc!WCx8m15U8L|02QVoP(j@k z0u`DdP(hslDx^W6g1R9DDtJPmf;s_Icm;t9maiaC;Ti-gSQ0=5I0Pyb6F>zR1S%90 zK!rsJR9GW`3Vjf$Ao>Ub70Mu`zLhSd)JH*}LNNhUaE3qyQ39y&3IY|@UL5XaT%d(O zg#iMnAO?X7Vgyiu4gwXz382D_zkv!x5U5Z>02LY_P$8TEDkMRmg7q&@!5IP-#0a2* z&VLV7n1(=w5C1W!VE;EzAuSAm3KDAffl|MMVW=qfr_$q#Kkf}=4`qSF`7Llb4*`dB zYH&C|fCHue08r{@0;T?Kpwy2BhjV^#I9COS^I&i|Ki~yQ{XU@7PX$W-t3avm3l8TL z;BbBd9L}l1;rxIHDD``QQa=$=>dOPA{#$T3{{ar?J>YO23=Zc9=Ydkc3n=wtfl^-_ zDE0Nh;k*MJ&O^ZAoEjX?56%Ileg{zMM**e208r{b0EhD&a5z^5hx1@?I6vS9N_`wq z>W2ZPJ~vS6-vEd60B|@z0saDW0vyiqTtKPc3Y7Z6K&j6Pl=@QOaBd6^=RM$X9s&;M z__IK%-wc%c{y?dJ3Mln?z~THBIGl%o!}$qtILDs>O8q9F)b{~OeM+FzX8?zDesDNf z1&8wxa5%?v0;PTfQ0jXCrT$T%)F%apa|&=cXVM-L>ABzenw}FV^(h-fOLlUNUDoka z0{Y}t*zTtpVu>?Z-!JN|bi33VB^^nqy+jx5>84QnknVr#aGri3QK-tl@I0q{xW!Dc zIGpO!D>29NZkKY?G{MC&jd!EfHIn77Ig6$g6`v-Agn&_F%re{&`%R(3dLVCUw)oxn z2WP430{&%tn3uAV-Mmu|zK5LgT4ul#x*lpr;!zeJWeH43?6z4e6FDF>>*vDV6T zE9R~z1XO-k5Ekk644z7%b8fz_SQQYSzriS0GbipM`@vk`C+0`xywjqT`w;13+;{QRd1GmmR_=6UL9Xo_*#2-5$7qqA5K@d&8Mia_Aq~crm1?T zJ4t3E&3t`MQ}O#yokC9uzThCqx^D0Cp~7~65Pp@bX8+q$+1-KVjh`io^GmLZgVVx? zIRkZg-8x15yZplg&zeKLlr0gX+iNMeqcOI}?c7YF-N?6XDTm#xw%lm6-=36qw|n4D zU-_0X#@(gDot4p!b=7@>!Q(8W3%9n%*S8+Lb}oFC9`hePgoa%%FnX>?d5TNBO4@mD zMtjP}xXKTE?r(W2ZM$BU_9D^tx~}b}9OFe+>2Gx^os2z}9T*eBh_-l9^9^#&pnZHJEW4{G(vRlbt5?H|q%P;6kIuN{!5>0fEUS5+C1-XBoQ%U91B z*mgDG{kB+>U0_^TV0+u`mf=8|roi4|ksj$FF|ME?GWc*zP;hb3nDU*$?I3~apeY01 zuiC-Gr-EkLj*PjexU zBkmqUA!$63l<@P^JIIAnM3k!;D=Cl_yuOBFg4LIZhP+Y_F>n; z!uSxXoFieojrgz&IC){2@SkVHC3U!@QQ>06;qovwiJkDJsqo887uU5TQWztYaVj^l z5#KIH+|?1g!4#=+B=X+Q87=!rwy;QDoZ6j{$WM)t&tPX>$VAcnjC^hHYk-P!kd8D_ z5r4H4b*e1NYDBig-1{;kSj&{NMnK8w@Jrd&uM|j%D*u0GKM<4=6V&b-A zkaGxx49boh6{X@IgF=tDa%+iLL&|viJYc zN-=EZ_HoJsu~kfb*paxw)wp^YwnmxwKK1yP9o9BfymWJ1Cj#EF6TdMX-w%iP=_K5} zk}!;yksHM(_**4R!0wGRCHj&ienlxx+b7PE#m!@-=SC8jw-Z<3A$rnD(YVA-72$8F zq`ab}{W-<$oun)9B$83Nqq@nh*2!d}=keI&jJ{-QS!NpMloXMaQ@c#`4k<~g$;`5$ z#G@(3+DV+UB22QWWbaeXw}*1XrhfHG6<|JhZa39nI#tv^Ok6jO-#$%xK8(LA%@&iU za5MZOb9(#9Gzp`0QU7$|>~w+lbohMwdGZV{z6{Qr8Ei%w%>Ee+*%_zWGic{CsL3-a z_%g|EW*#%jB=OHY#ANQ{GI!=OH(^=p@T?V;tVP4Dc|_KCOx9Oi)|a`g2^jhla7YZR zpa%`n{Rngq2HlB6e%$j{97W3oO?Wo@=L)`^GTW3XyA$$u+^{ z8qVduhUMwO^PZ{XJvPkKMdUrebA`uYMMrS7 zDpTjKR*8f>Xl4(9Lny9%dI6)t-f zZY-4^a+O{WE1#TUNT!APaFVIKs0`k#M6zJR0we!NpWuki|GxJ>|GA955&XAr#h+c3(77zBr6h4r@poLKrT~H( zNi_v2HAQJPB^lLAa_UzUG_POMQn{*oNBODdo!7ee&0jvXH8pg#d*kcw5*p|q6&@Og zib+mRPDx4mzj4j>_V&)s&hGB+-rnB+{yvaY6h~JFBTBHm4fH-*69{!I4%c^-ullL5EVYDr(SZB z9#!EURByT*in#Tc%Fjgk6tIA(@q~=m;lC^(9vah{4~;ZrB`X-Y4=-|GNdm>EI&?AALB&b%xG_T%|Ys8mfFA^EK?YRn#Mv zFvenhF}Fe1EU}%&=r8`mf4Q_CJ-MLVqeh@BXR$^!b;{&zwJ$pG$wl zHMGB#pTd7AKR^AU{0#YTC_hExesK;`zm%WWzm=bwzm%Ugzm=b^zm%VEek(tlTKZUj zDL=n&st>=6HnlY(cqL43MM9jzolS^ysQB=UbGS<290mxSgV`FyIaD?iI0rH*h;#Ts z;2gS_AkG0>LEs#E37i9ku>;^7?*5nuoP%6;VUO9~V$4wR-cohWg8FhjsX1n;k->bw zvW}x*f9>tbp8fS+o;jzD4-Z17H-_{JY7oQb%LiMRc~0QBza|Yk@62Yoe%_g{SXQW= zsuMokS8i23JlL*lb;0j%)qTR_DUylwj?@z~uefEwIY}7W>brRh-Dv`omDqV3$j>4n z&VdM0eojH0!pJ5Q^@Zvkf zIcN|#hbf42I0-2~rzRlIp`E}vj6$44cb5xLe$KT4&fzY^IdBa?oC7_i{7mbCIENvK zb4c%il%I(Z=fK?tDLZ%TD4XbAg(zD;+k_HuDJp@hqqt> zu^WnO9yLgm$at8!SRVlkh{wPJA}LrvBn1nI=ExiudgG)cU3Hh}cA>aNiz;t+N2IEc z>$Z4$#_p_2PCq4RR?#qZFU252JDt*-w?{@Bg?rm>(!^{3vkHXfegI8frKDi~YPn_gv|cBOYch6L zL*w$ko>$bnp+WsHv}CMW$kpCKPsn<+zxvy9jZF7U&U(Vfith@o!o8lgpHt|@>#i$0 zxP|B2kbt;`6vQ>BL0lsR;u_xzLnR7d@~p=jpBy^)Gzr;KgSdtR#5LDIToYZnXm&$n zY`S&|J22jCTjv9HUv_APV9deV2<1g93Xa71+&kU$G@?#qZqwL?%`lMmvWXCSU=1#wLr zh-*~kb_aSkf0i6BF1gl?fw-m$#5HyxuGs={%^rwr80e9Y9=z260WL1Bh$#L0rS=2;!Pj5ZBl_ zg1Dv%#5Kc?Ag-wgagDSSh-+FNcwLWiVh#180CCMM6xYy#xJDU@YZyRWgNEW7HW1g4 zd4RZvOWNn9fyZk*A9#$9QJaU!u#fPzj|H!%m9(#fHi&CH?P7f8Dt(=1JwaS^iP6tP z*~<&WH8<@1{Lo%3MSf<(Ag=L6G9qlG5fOI2Ag*zULBtOG#t$Rhwh_tFK>6wKqwSv= z;|JoJz~SS$WS4li{L@Yb6f^RbY6pC@ajLYFs;CS=fw-pfP8DOI<&nVm%J3Guz|Z1= z?Tl8+!+|B?fxWYGAg;*=ag8=Fh--M71INfDKWzv3P6bWHNPN)_{&6p8mRA;|sMm8GAg7zRE%JXPHfBNSoF@_Y;5d+Rct<-wU8;U9>g_sEFi9_4vnkA-pd<_Yj2FJw`T!y zjq1<178QYJRD5w!e5cHP&7F8DM121Uf45FTt|f?TFw7vXLH8w07&1>XC8moceuXoC zvrkM8O`Mm}`Y@7M)R?$}Wm=O-(*K#biRJr=N>T%H4OR=pH3O%TNp6aQxF&fji6lGu z5SP3^m%IZ@*@UO8tE8+LrYs^-<}oSXaVcNtQog`aC*Y}{R8ofxQwI^L{g~7qTx#cB zDh`&`0#9pFNvk(Zt3jkyVbUsaX{B>%MX>aIczTXXI@&Nj1CgGJNl(J1$IqpsU>Q;H zjBu3z3^U&#GOaL~=D19gxlBV?)@yi{o=Vm; z!>q@MEL}|2167 zcEY!wmh4usa0!yfwD;_>Vp`Y#hrPEBiu&LCzf}xCR7yfRq?YbhK_x{66);c)DKY5o z+NHZYcWHL%R6$A_q`SL2*8Baz@AsVVIoG+aIltdM*WA}Vb1|=BhS}L+8UA6PJRZ+y zKAJOzpS-!?v&y8`!8dY}D%SH)aX@_ix;a^S|T9 zEII#MZ`6`=!~!;adP5el0W(?kK$qv z;pXt;khWBp7L0?bo_tuw;xG9#S};@nUP{>dp(A&K#x@hSGP zNb{I10ZRW8k+sD+cjv|36FrWyj7l;V}k&@(?G|7HEe1Dl8O;vc^84y!gG<2*lW{B?# zre;raF^KOG4Z*9qF_*tCvCQ|=5FmB}Y|9k>p?>1rol9f4Z1(R>djFlGL98&mAh510 z2&5AHd)?>7zIvI@mE;;h%EG_vKGS^8*E@H}sGY_#P~B%k8ig!{gUg?>j4>9|Ami}8 zWA=|&=KlVpc>7&I(KugJ9FBMWqkh6b+nxJ2MPnG@r(*QG?$aymHOLD4O&vZtdCJrPYdc)1lM)iBAPvqfp&vdGznP z&$QolpE%D?>ppp-f7gAAQ2ws_^!Z))Dck?M?$hCS-KSZ^Y2ByUXP$OrQ1=<|%&bjv zZyBRYfTG`S2TLsG`V!C*i!^KNcK4&&W%HgV>Q^>h z^XDH2^%E7oCBL|j*9R{=1oabC`cVBu`_O6qL{=qKKQVI$s-M7l<*+yI6%e~S8S%;S zF{qz#JXpwEliphavCQ^H`=?u5J7amj)(_U!YF1B<63*z8gIMN~#RWjo$VLE)=8+jh z(J(<24WS8C_lW~hG=!g^y3a8(K+zC>fa*SL!U09oVFcBECXfM&ro#ZL`?L!O6itWT zY2D`wGCOys&x55EML!<-MebPY`4UslP(cqj?G_Rq$&#CJWMe_=xXd1#GibiY9 z4%B^80E#Ba6QXELA^}Ac;&(hy)Z( zun$Dhe5C*sO|UOS(R4;ab)SAv-RDGqpynW2>jS9!TnYsgjp>6bQ1{tN+M<0UL8+1yhqk*QBLxB0n~k7 zJFWY?bz1ki6apxkZb_)_Q{iWu%Z<=TsO~c;3edQhrAGoDpts$epo#+Vjm@t<&LyyECB$Slm(6Jmef&Cyka{+aU8 zA?yAWhq@0~Vj%`gEHq$=g`+UfQHbpg4y@xVac_dBRJJrpmWCZzV%fCk)E!|TXv)N( z!-ZJ&1Ym8groA!oC)vWXu;=f=5=)mPmr)#Q@FxeRC|3x}Vypve8R+VbD6Y!kHp_bP z0xYqhkGVd-VjrH!M3>eJ-82n>HP7((g|s>3vZTOXDS;)HV6enO1D04g&=sRX%+|HA z#*N^joY^(UKsKG>5yG91n~FtEg;3YJ*n zkmDC%1z)cUGrBWz*5Rr3dy!S=UlqvKrUFYW{9uXY7270HR(>6eFoU-m=eO&aem8E% zf{QwwI+wu`3o%$?p#e)Qu>1yTVfsKf&Myok15Wp)(b(W@-6OuTrcFEk&=J-d_N+Y6 zWkMH@;jHE|qqNt;@*h9v&_jbI7JVtO#PTz9R;Z+?^`j>&c1p5Ota~6AEU{>9W$Rai zB^IX>fy4{2`8(vr9iI0&lS!)j?+FYR_&b{GGI1F;tCn{~R0*aFWi33gD(;TI$c2=Z z8hjiwSePztVWgI0)Qc|vndcys{SLOI*;foEb+~fPs)k-|4VF}6Ek3((8BY>d^fyQe zqr*Ram`V*?k493 zLcMg7tbw;)pnAg3Y`B*8mo*$K%WX;=QaQ~kE!O-r+q8S1fi#l0RFID_dWd?i?1v%a;8}l@GiT;ySj%twI&OX4cOhMiyeRH#>SJhq z0+v|ByH3K@-Z<;r7$-b>M{MG&TbDF1lvnVxmsrsz zS7~iL7hUgY%!6jV00D7{y2*=M>=0KV+pqD50B(ycKvYPpf z$5raWOzQB9*Wo-HVbLSA5BW~ZB82(8&WGfVhI?k`JDqv0-QD=y&Ode=zkRjo3!Vk5 ztE8yNiMiu+qN7rT(|uf*3ytQg4eo6sgpc-}O+`FbSqTw@W;j8(N$O6o`rY`#=mXTR zO6_^=_gV8HUGE@0?{#`&8}vbT<8t4`@lK?dQOLvF{SGo-4v2lv@e)@ehG9x@XGy;AlI< zMIZtiJ>zkGeGGio9{HAv3hzw&+$S<;gZtjLzWV8mPn@XFQU=`hjt7njzTP9!FNs%b z_pbqqRjJGOx!Oa2q|@C_|AtFf7uGFjH3)F#?Mn=N2Swo{^Nx8PSEm!*aJ2E4JKW32 zZD-#&Ek+9MY+HxRyESLH9J87)1`=3CSS~~cpplN>kOYhB9x!=?E`_rU>y_p}0w4XW z6Z5V!C4uIJUMJdEj~WBgR1v?yJvN=8{E4%*N+$SCB%;bHz^QLqlv=r41VnAFdY-ehj?L%Okt{U>hF*I^$>Er z0}RI+)Q-Fa1I|~0N-XCVKCD5Vz2{&}872*bUu3NN8kAES|)!o%Dkcb4ZWQRY)sjH;CtD)D3NDguHk z%7-W_hbnI0EB~^@RwGdfe_UCw^yFJi<$7Ud%X_xQqe@qzsxBp18}>yN!lf9Oy$x0$`gso zUzaP-4p-o0S6r~KxTIWxM_qAwx%^6H`8D5iqL<|)oaNV#%g9^GC}Yd0jLT>w%jgKo z7=}xkvP*B;m$E9CvQwABmP@!QOL%-s_+FL>aFz%i7mKtMi^Ud87#B-P7T+Q$zB61T zn_YCzzDQ2FNP)UYX}R!0W#L2L!pAQQ)i?{E9%Iy7Fq*NL7si-Zl9<;780}%SPB!|T zJz8HGZAgs<@7q397JTw8FnL*E##vx-oNv{VZxfquXPoaKnU8fM$afjebIZ>2u+Q^S z&O=b=`7G!9Rptix<_5jY4dKiUJI;w{$%%^1i80QJlgvpV$VnQ`PRY(rv(L^@&PGvZ zXDw&tRA%M*W)-~5!f<949cPxbWR}HdRv2eiNoLj%WPTk+)n=o<+oKwkQBBmSAIr$r zN@Tk)vhyXfn-lr-IHRv6V<0wT$T(v}GGmM&V`4acDm#6~K7CF(eStcCX*q4BG7VEe zC}CYKwZ*bz!o)AvF2%%hyMVAOsa;C#=A8ng;;7r6w4(S))t3|IUF zSl-&3eIc~s?G%t@xa?x5n@`xA)X9rOf0=w-*eR%ah2+G7wGb2yx|Si zgey{EdYuyuheP8U2yu@3jTe=Tr z4bJSidme?`83L52}_G0HmE zS^skb?u5a=7eW3*11|sfGyI{rry}1SV)s89aPL78WZs)vZyKfI>;a5H_wNWY(3Rt! z13oISx59dBF>b#&Z|olyhh`NFa&ODylb@40--Md_Pa??wWDGhNCM&+JpF;7&oQmUI zTV>hSzi7Y>B*vQD#fomyZ;o|my>73r`pXz}T80tnR!?rk*8T;yap&`72IGH3kmVV4 z)P7R+gtk|n8BBOk{B3b4{th|_j1A3vH>FQU{ylu z$?MK#27W+>{SiUVn0pz7!Wk|<76oM3AB#gN@Xz$2X_2R7m~rs}i={40VMmO4ui;!A zSRBfDa>Q2%MUWixiSCZ2K?xq90XNxKc+tSZtLkFq?CAQxxTlR*P6 zh#+q;p)!kqN086yve3P!5o9yf9}(n5JIcIoPz2c+t!R82L1J9EFGCUJ`<3u6EhvJt z9C}+k3Pq69#JC@!2y(T2AnpftZiOi|8kz(IOoen z*6j6fHHS?_=HygEFl{cH%GLBQ4IKUY64|+7g zR*PVtZ(@ru)PTD-@w)*RbsvuZVY^fQ{hV2svdD_L5v>&0PS2ADGK-%Y`Z+=d>QDsv z=5mh(Aj3|!`}Hz%ggXrKz!)@d$(6lfb01Et5$idw4eW^R-ipXq`(Ir9rnGzYc)f0k&3>biHE(jGS!7Mpv*i}g$@ZoD4^MXb+r{m6 zhppNZcSgN<94m$bK4A|wTmrC%%WLV5N9zrrEDkpNKHV}~0}&)Pey07`uQR^hzs>;> z{c655ZspinlE&NnT!0Ld9K&Ifzq9rr-<6_r^nyU+ow*PBZuFd^mt^H-#{BZ#*|JCQ z)EZ@abMifSIY%z*$ji31=6j094qq{Al&xRM_rl($9=_%#f4AyN0bD+Ih$y7-ZV^`j z;t|0RNs9cvoCgKo8nJ`dF^%`qKNR@9Asr;Im9LNUEATZ)9iZ%PtPjsA@cYa>Ks6=b z;NM!{Z(Z0=v(?z(wNen^EZ9$nqtNJd1sw>l>ti5kYP9A;2L(RqV`5ThGI@Xwj-2kj zDbUnp^Z^}`Xx_^ztI(|DhYm%a?`2nOYJQo64$BYy3DZ&d@vIdcUiyUW#I#B2%L+Q; z%W@x=n}V|96-;EKZVz8bQ_Ii^I;w-Yk3U7>!GK9>bU$gIAf~BR=mREZoS<8zRzYP{ z3KKg|&@0;Aq{5PeiCaJ4B{8MYPSc8s-^aRlN^Lc@Uthr_oZ0EPg`?O(aHTL2_d~}W zlID(>I7|}Z(;gWn#m*z;!eolD_Im=&ox8?`DfB08aR;@r)7pe zBC^ean-@foS|EZf1reknh#sp`Yjo^sTSt%Yi5J9Sd2r?2xknCU#S_WOc z`;OUh%ct>VGa?Xs!b1-tNNEs3T7w930Ys3X*X^nvlRJ}dJ)T;mFIhD&1&AQIK?JD* zB1ja7AY}{cSo9dZ)qLx&Va0WcIZ6 zV>n&x)bbbM?x<|b>MczWK^B1s@&kwQB;`;6hMCXAq=+_{E{0bsS z4-i2Tfe4ZZM39!8NLiYJ$05<^bm^UUAcAZK5o8>QAn$+(G5|!7fXOn88+^4DT~v+T zc@HAU0T4kJfe6wBM38I618uupg()<{hH5dTU<}#>M36Hef@}p5WDPItuH~wd4Y0(67K4^j9zj9dHnB$uk?fRb2$epx-tDu%VFnG_IA2D)0|p@R1XIG zF4w7wN}cCu;d}KiTZPo>jQr7v$iuzrYn1D5pBhFiY{l6TSD|xUkK{dyo1h)>=t*|>wStqONsfSZMwFlj|%-3sb zDmU|-tT$?YEpIxVVN=)@agJbezNony>NJaigw@+?vlKn90 zeYe~~HQ$rLi4jowq?9V%a#i6tP0a$tGC5pg8l7RDN9A|6-yFvr;Q4a_P0!j7*2@PFv z#DX$(0?EoGiKBupVS=a?xF`;S&dmfdB3zj@gJIUeYzwYnafnYNh}#D1%taX@A{ruy za^tlLAv6dP$8(n)2$78pxgF(lODt4DBlLcgyG&FlV`-?ermOrx=u?U?RfGpv9C|Sy zs(}z;C<{B+6{dxtdqWw%3l@hI=)mI84T~_N1$M)MaH-nx&jX&OViBJ;A}qzco<~LK zZiU-N(K;SPj1onBmE6&z~WF3SR7)f0VTK{K~d2Q)L?Ol zKP@tGKrlfpy83Z+dKt_wD!R82k*z6=Jct%AibgB2g2kaCusF1!R#+BeoE%e)M+Fv# zWPZlfAy{f{VzYu`n+=~N55#8f#dc7N)QiQv`WD-(aHAg^6_;EPH@xtq>maU7J#G^3 z=BQ?TtV#TQ8P9ZC{Ay49su=SkWr9Cn!Z!Qub(@4Oiul7Q--Ce!$+rn-ID~(RB?>Sm z;&>;X$xJ+HN<3Uh+`~)SW>4BsNLn>aT0$hvqmpKtk|r0D#_*Dd*^>tpl6wu4yAjD9 zsN~kB=5vf5S8%L>e5G=Fybqx{&6Cmu}CVZljQHX_#(?NdJsV|In0fw2-ck zm!Zp^p{|z858yb|uzX#EM@@iKz(xMUm2s4eWowan9KMPrO;%|MXS;7Z3f@&oXTTLMRvr zU!eTuG=dp4=j=A+Z281lZ_M@WJy(?>cbPtSzAjJvOJ3inz|Z5iR2DE%T$9Ss`$*?+U-UC-PQK^qqpZzOtmz!`mO8$bEkC$l|SrwLVB*be+wNJ?$)f-JJpv z9-#rgQDGtRu`&N!r1W2zdHIhSWgM0h|0#c=5HR|8@|QZpjP^v?09l1e-xfTCY{!;S!A^sspe$Y1$2YjLAA0_{kzx`cE?tN8EkxHv;ys9uMR%5CV1;-}^LwnNR6u#|H~UQ2vsj z;C;G4w2<-I5dU<6h$Aui_W}{V-k(KEZMg3N0tOa{@JE{g0(KE*Y*T#|%3oN1yeMb} z2pFbAtKRrDe<^Z!-~;6^G1q1{A}{a8d!WDPN_LZ z4i=wjiGA0>;`4FBx2tks@p<8n@&;IZCW!lf!wM`umzof4g2m^Ss796yu=wng)UpW{ zpQ$tB`TGC@=27Om)h4NvZPtGKlHWSCKvYAE0(Rhb zihy17X$1(_Q6z+bIgUaIn61Sr0#;W9Az(`^5CWz(2rUpD>76bR1)U;bbb1g1mXI^o zCdYGP{Nv##hs~d_^QzVdKCL;djyUm1FHZz~a$KBA$djH22pDz-AYiwq0Rr}G0w7>D zV*mmBH3A`EBV+&p%QuD)u&Quq@!1GMz@o^Y#b*Nu0ka7Q2w1)zgn(&62w1)@gn&sw z2-x~t2mzyk5U}+(5CV1i_{O(1Z{$ zzc5gww4n|mU?va(#`g?Dz@9<~n8_1p@mcITK)?!AAq0#j3?N_|k01o>@r5d|`25BN zAYe z3oSl(MgjyZ*bhR$CMX~T%pXF)HX;E677_q0KA)w8ij)Gcl%)$Zgf)M#-7^0P5U?FG zfPkqz0RLzbPYVG>N*FO{@!5?8DpJy%!B%ESD?|YVj3f*~z%-*;0Rr~Ek2WkKnNHwgn<1b1_+qB-UWbw-F(s&mRp#{Eyb>^BiFG3dc`7)uPO;N{(k^sGm8x zm@F+RR*hQmwu0cD7(J;aVNj&>9+-LE_OO=;?0se2m|ROK7OgGu7Eq)V0g9BkftmLL zn0XjU&bO~o{oixZ1^!Yub(tiZL6K4jC{khpW}Xr-^Fod}4d~bhJGs$?=~B!_Y7&j0 zNGSj+QlbTBo&+%S%s`RS7;=)9dyO33$<41?m13};lK2LSl-xj((nVnAT?S?z z2{7~M*v8NDuGf+=Gk!w76=^Mv<=eC5)Q!7X)>tLMAN*Br z`ewzGCY5xW&=lor7PWy?pm;5!v)^rNmi?fe;g3{co#n%<{m?5m01HHwWkMKAN3cL7 z3l@l)zyi^>k3jqtut3C<+wNGO5RbF+@HWZw&z{nPzb@t&*s+v%+Sm!Eo^700s8H() z52s2Oc<@EhY%n$kYd$E$Wpv)Qyl0eIDD!Lj;!}b3p4?)+ESlyn8C4B8xpFGX;DcyYgCP^3b*_>TO_hYHo9QBTU! z+6Ui0h75&HNn15{<$NTKt{92e6{)<#vSx!>AK5L|t=ft!aM+^q+{czMop60d5LJ!~ z5{Q1gVzchSlRa^@A?X{_svKPHI zj2ZTYIoVXaDos+lmv|01ZxW+ucTUl1OO0Z{I2>@yj)T&sVkZL|MGY zZ+{zgD{JvtLvjyhRW{pQ(9wX-840p zHAjxX%=@)jwRRSmd3eCgqXTB1I`1UO*!Xt=+Hd|&$L_$)y9|D9l)%gr17@C6=~g^B z-@NSW$<7ek@9DQryn&fV4$M40VCESDGjFVPx44gQ!0h$Q;Vs(6>R%^;Ry@Zu7i;zv zq@_2bl#gfR)DPMs__tGD&&;Zw`gY+Ue{tY>QFAmhBfa0miQPyzIGUyVbkIFEyMv)? zn|E>=oZ@jR24>zTVCKyLGp`Srd0tk)%(DY#-nkMUZV{#^AdoW#|D{sX~4{b+X6E$3z&KHw!q9Q0A`*%WagCsGY@IE z%jbTT)bc*^CMZ(UK)WmV^Q`Wz6!3OWlB(Ck@Oz3U^@U-GwtJmLfp@5)aHg3h&p!-Ywnm?0#6_ zzBkj9H=2STn0avmh*AnsVCEfn`cxz7K#|fupKl!n9We9Of_$6%XPA^mk6R$^ff*5Hutawdv%(Efq?8;K%z<}BT}+)I)?REtsN0W{N{3 zQT+S|A>l-!G76Ny%nLRNmB*t5MM@MNAu2YU4=BU9K#>wVr7{9jHN=vQlMh5 zH^mY!#9qUTBVdoiQ;5507>9$1JA*~VoixTB&d2TH#&5I5Z^*~58pJQbepO}Z6 zl+Biel21xENJ@bxB_fmJ8k3^ulOk}FL)nspI-O0`E+iBbQnCH4ViwkF`aQfoenpHnk|D;K7-64g9M&I zh|IXsn1Mf^aS0cBo(+jTE04tLBagh0`x(fc2IS@(a_tgonH9Alhnm$#O?jclGf*Q9 zsKGf@-=)kR*33@1%r^bZA6}V_8JXW3GQZ7b)@0m3%13_fCBZ0WDY}tQ7BH1&3f?ot z<><;%(qS?61xepB{NlwkKL9W`Jq`ozWrm#Ia)B)dQmd~y zBhLj!&(g|l;9i-?p28O(MH4pNAq*J5X`e{GWW=AL%{aD^E1Q&K(wT=n%sWGse@-I* z{EPgHcKNvP$+kPmL&jh3si(>x1te>Q!*Bo=ENp1fz`nyJ1Mf*^8XZ zL=oB}?MSsOt^WX{w6*dY$Vk1gx=g3?cOMRdQAkLB%0?%uk9T6;kF`}*?5&O0Vtwcy zN*`>OU;gn|7$xDet;^ifsSgK*ArOqhP8utNL-_YFgiZT(@`84tOvZ!1`*6rX3u$e( zNd(((7-c^ZfnWBwnxa9^@lRrZ^Wo01Z^wAt{WA=)zbeH(^E(Vd-$VQfqfDl~i_|@> zDH;^jI}Jl(K4VMt{_x?rMfCsh;ocVO|IsRaQOE#-QRY(&xPONs>_Nd=r*q8sZ_|Ib zO0Qlr`dw2r5ZCrS%j>8H~#M?Zb_JKlS0VvujW1m_J6Jwn}p)wX3{eDe5oQ z`~bp`rJS%KM+ip2Qk=pl+}?AiKAdp>sSn2!T6F5eZHoN%;Y@z}aJA1)eYo{^zkN6= zvQr<<#PHxF2t(+PEFd3_a~%pp_^a6R0E_}w1WLh_#_UUy~?05wHOz6<>8E+l63=UE$h@l@Ac zaWM23MH+don6A6+Y|`V(&2tk4ue;CiGvKSwb6rQTd-Rzy5a{D_QFg6+HlP`q8s5=P<(4UU`q8;E#QM$!yxc6QYb??5yoSxF=tm+6L24?iPC zgEbFN@P@AyKhupqTvj3UhM%D+6ZM=ti&)o&|0^^T?H(>S-{wX@OBWOUr84F_#G8RK z{LGBx15Ee$H-m&snVDG!7!_1EgO@j%SVY7)luS26s5Y6|V&>FW5Yp`047V}8$!(<|{$g`8;$zoMUatijZP4qGvw4$0B1-NZ|5lX4c^bhC zN){c}t>}sZ7U2>UlfLOz%32RCL(fNbXa1Y;^=z-V3deTm=-IluSy!7=lF{G4US#oS7OURPpM@(lB|9y0Has| zA8w9qpsBh59sY_*Pr$Ce)zs2A{$!b47Bp?ynPm;p02oCCz$p4`!xPo{rS-2EOhfFx&G1{fw>hj{N`Z}B0WbdG2DDJZGhv*WR!V;wuF&a2*iMd!F>SADW+Wsf~s+dIcO zzCu*`rB8y_H6vsE!mYfoSG8!}nd~d^)U2(^s@K=}vnNJON^8HGvB94nP7wXbtz+Si zhpR0=CdF7=a66i8KI7E!t}m@muHf^Jk(;6sc+w!_I1{#w(sbp0?4K`ED6nVklfU!sb0wlb)!W#Te`QJQRKg=%wJKXNBTPqjP{ z?LIIDKHTAKw!YD9S^JwKfyAMPxjO=C9iG)Ul1XT4WCWrkeH;tB8Mzh?#mc)XQw7rl z(ia}gt#!qxzsrza!8{HrcS@8Nf<4Gtj4mkuc~)5{Tj5|)vm(2f%~-&IpQb{N1Yr2s}Tfnb!G;L7P%DY53Htj(~8B{SS5+$}osBLGIJ z05FObfKfI!E9YiT#5y`*+evvP^Y^WIxt)?+hn%<vZx%hsQ3e8;F-RQmZDpMuz-06C?@q07mHy$+J%rs5yAxB)y%) zeX{Vd>ae#&d>4aF*jX`4SQ`C>?W^T+EC{JNes}BEVP`IOC$H*c)k@-cif-?qJ7IOV z=GVwpo>SFU%`XQlx-+1!{rr#Q8ZWp zjPet}C`bbUqxkJQF;j@sSi8OiFp8)!Q@?Ato+~e0j8oL@34l@9Zi+^_*>AZ@vI$D; zyLn8z$@B{V7$s81T^=qVSL%MJ%Uy*+g`dL19mnHIBoly9W>Vdsm+}J`MG(L!Y)k+~ z39Iwai@Xb96nZsJ<48sTqp%WtnNl#CYk1KC7^R=Vw$$rD(8Cca>_7o0=7+oYKg2p) z!%0d#y-Pm;7-cjZ9w=`BU=$4H07h9M^G?S76sF<*0E0kAJ~~(G zEq32KmqI3=!e=AdyAaNkVeNBU)Tg|ZySU$n=)2DsICqVx@A6~c`clzvk-n3zzAd7( zZTr3xM1EcSG(8%ABPM?Rr8I-3eodi1qsaH;6#gvTe$(^Rv)2ACLH>*L;y?QRTfh0Q z%k!>@1~fAU?8;N`M+ST=2slPkVfO<{i2~0JJebl5{An48d%%0XEHI(l`zkwpha%{X zU=XPd?21iLPEgQ|vK!O`K?}M;^ms5jvEcZ}!7KwRj8Vb&Fu|M%4z>equLZsCQ7PB7#DBAe783x{%rGoMEG!ByEM_1y z4i%bU6PlzDnnD?xwh)q07J@>AWNC)vu!rOw1Q#>~W1@nK41-I=g3IuND+Yq9P(d{| zL0=VuYAJ)hF9bG}1vVi9e`p4_vIn*w1avk9bVmjJGz{ny3mCxS1q==NkD&a=Z2Tt_ z{HG}WXBPbC%KR1(eoLBuE9`!22fiCkzFSegJBGe{V!j7>zDEN-Cn%p^Ha=$+eQ<90 zTv+tJRPK%E?S1*V_Z1HBYljG;W&}wz;<^!nTpU4(kDwZa(`3TwY~c)waHbpZn~Pqo z~(A!}Z;wi+;I_p|{KX z=Pn;OTs|E-n>0I{MLSys82#IzGGjfO!cZkAwh#9nx%d}4+VsgL}xUb5PqL^vhL6U5nsfE0Bb22kK zlb<>GG3rJZyH4gWUYg?P{{00J^5`tOZtp%K>Mxmm2X_c-?qq*gYtz z^?cGk1*F-Arg=rD2gIdCC8qwjARb?9YrZ#BG_)2scA=a5a+?RUevBYn#?xCSQ(LD~ zT4&;0=HgoB6WSJ2I+s$rR?@pyGk&h2de^i1HgX3x@`pAHN484Gx63BB%O|!gCbui5 zpsSqP0atZ;)zdrQXEr+LmWJl1rxr%%7YCOXdsmmb*B3k1=Udk2n%C!=z-=rvZ!WcL zF1K#3v~R9+B~fd+WK3|k34TM z(|LJ(FiG{-tt@W~?tcsM7%n3wIwuzhAs&y2&&JE&(Nq2ph{s5?#rw0#cQ2V+l$-xW zv4L8Cq$JKPe{l!n(ZRa^M~Fwc`K%ls86)}!FLI$T|6d^cBqxJJl%jK>S8LK&p}UXR2{S?9Wt#rS#8KLs8_9R3p%_*x(Pv zhFHijJr+`ItUvxnJdDErKs=h?{)u>y{fT%?jQoLkL|?gbig+kR=lw=J4!@rw9y$5l zr;1H(^arTrhdXV||2=5=+1315zFfSN8?{so16x@#l%F8QX3cMJ6(}}mboxI*iVd$5 z4joWz2x1~W1I32Z#O&Hbpx96hJu?A{&9aF;l@m~Gm<5U-(Xd4T#DnuS8PxKly!itl z9+>ZfV?eRFI0q>` z?Esqp-2W&jh6O{_FEkSzd-r&wObB5{acO>yTk3( zpyekE>##o^AnkZC|K8E@a9OSzC^j&xIQ*g^CbgPYy<~^V)HctQfvwbfMWAC98zpzqc&yaW%eM&CUgu^Y>ptsre_RNY<@wC z4e2!sKb4>*(Hl*4n=*D~T4*5QBsC$88 zb3f}9P;6fIQvk(A15#|B{Dc&n$B<$(-2*8$ijZPs-UBH%vXEkPz6VllO5zHF0?m6F znG_U6AjL+q`=&sX0w1K<40l0_4LhXRn0G;n4I`x3Om_msM#)hMC^p+uTxLy5cUFO7 zBRI_i6q|cjfnsAmO%~Fm{E8bB)v-Mz02CW-6-;!$;H(g)>A}0VD4^K<cjhyDfOu>J#A5;=9%z7g++)?+Qf#Z*ydLX#0u#Z3X&3{iwv*gX70#Lq83d)xmz*d$(el6{Ndbq6e7ordfXBKI` zU#i(}j{)Mb4G@nBfOud4;&GqO-%PohW{bieLOfhKb(e|C8hZfZk(4ogQ|VKNii$x< zihU)!+JNn&YSY^}+3&_o%6<&~;E&uonBg1CZPD9}$3}KjKNQ3aSbTKE?Dulcnb()K zrBw*Tx5~{)d8xHK?oub>&EnJcoS(VHNtrq$DjMCDqW#v3cVH`vjGSZLn5ul-1t1<$pnTa3 zLOdwIRu;xhtnbd<6yBr26zVhd_%|ab0>Y1UXmE%XZ-(Bv zYA*VgEqLBt^d)vP(&zYTA0D-q(9U&P z+caA72Rg0ZDZWeH$o9VZacGR|Cj&RzMnESq2axHh2 zWSY49^MN?6iQU+1C;AY1?99L~TOW1yBNuHOX?=$Vby8!wYZn@wh9(^y9$Q9RIjM`- zm}WT7esg}KjW<4ijl{sIf!yUN--Wc_9xHeA%szQchjl=Mi)e%OQ9k|>x$E#-m+0}! zxj|;~mt0YoY=gg8V-p>DHC&kXnavx_B=s#L0$mhX2~_82XJtC1e~gq`1xmWpxC^DN5b)o;lBNE{P*F6WQbrg@=BW zQ9@!-p@@(Nrcs=RK(PsVJP;L{9+`+I7$_DkqZ*xV_$W3iy2>p&JBlgyAR0d`3XPBi ziVc@(OlcWod07m5S4_1HBT#Jon4;^-_<>?W6&%~Vz*IjF%TycNVaU)W76%gk-T}U! zK(V=ujvHoY>pzGipNg9_q@UJ|k06Pkr{tR}i^olgUv1)Dp-eacij583u1!KLPQsxk zFHme&HWJR1)1DLmf7pBPps3S6U0+3^NdhX8Bui>?P=X{yNd`bvf`AB$fPx5;bI#CY zXfjC7IW|F1pvgIBBuhqu(46NB&b#}*J6pTw{C=lu|2S1oQKn*;s&U4-Ki7TT2}?=| z*fumUWWtYv1OgG7%ZCZ5uklyl0@u_NcdjIot5Z`}CiZqG(oj;CT>!r4>@bqXiSbW8|ux*H{hhfR85P`b|ux!*|o zNn#p89v&!?;iZ%jZb%-9%-~|mh#6svKFn|?$xMPP+pA|@x5-RLCdO4}b`&S);+f=7 zW+Con7Q?TV+GL5OWLBbWi$=1%gR@ZZ>`M9UGQ;d*pX`Fn>|Atq)^c__UQP-;CrLgh z-Y_S|CnqX1Cmfv7nyhk$2hWXEY@|804pP=&}F6YbQ6+D0!+>N@nCrCJjo)yi0~NN(Nd=dY4MN za7)|SO3`wqO$Mcn-lg>!r8O<3RZFGixMd}5WrcEOc?M*}u z94S{GVNf3GT^^KC9?(+my97|P3U{^&7r6>Yg9_+YPD3pT&h&Xt$NN@^;E7(!Jz7qca>a5m2^v$)KZlsZnYR&wTN7`ph2~O zcQtQDHCIbD`%*P4E{cf_#UO{GEj2*h@J3N&P!{86@0C)+x=<7EA4t&G%=*T-pSyO` zw1x+Z(Vh6(wXZcCSPU1G&hawT!m;SD=rGZ{)T;MUQH#<3>%Q@2OhI^uo_ca=&?HXlc8s#+_#m`@}|D%Wb zXCem(Oa2Euj%myPS#QSbKmB_C<)^@R|Fbs@KFR4jGj#*8_Lw;|VFs))J)fZQ_huuA zg#z`YqBmTrueih2cs!r-e16CalrZn4`E~E}Yu^WzB!QQAPkk_;n{@y7s|SLwWrTF) zMD!kt8YoD9cqVPEu3+|B)k06x=7X-I>3cWp&ps{=0bXvw{yq_*!7<3F|2G`=UlKV& z2(a_+uon3*^`z_5|7}Bcn7AteF9R@COGrEY=Z0!01_~y$Y}elzs$IV0z4>DDI{u#2 z?*E>ldZNvXBvG6o?;`VPSJ(2t)RX=YIVbPZr&m$-SYof9pelD){@GCN`+1r)Nw57P zn0zI3I2D9jYf`FX%yf7^t2kHx%oD4e4R7%QGc-oatd~=#v7Z;ZQvZP5mYO zZ0B7bi2TlW-VLw)*?GV2V|Z$)Udh&}k%tV`nePKi*C0bR_MO*%^e_Q3fAlaGA{S5f zFh+*0XL^`Bs%Q12&a--wZ`N5oDeRFw>$LiRp0K2WuVyJgy)IqJ}^{^9?Ykm+&Nq>`*`Q~ zTGOP+5zxbk9RFIF6viCxDF~ln@U>^pvDRI<65xdWXljBuy$-v_-}$oN)Ce6I4)gH` z!(mecJYYCX-X9Eyz3zdA!|?pUaM zU!mbJJU=iTHd6x)hxPb+Kk?J4f`-F_eZg>;P8l>Drta&jMW9>ph2=Y60KyLphv9aE z;jml;7!I4op9aHW9SATSHcPk(hQrnnU^r}!=sXw>yBq|D!{$gxz;GB>5Eu@dyGjp+ z!=40z;jlSUUN9VH90Z2LevsV-!(jmh^r?@SD(lkGFOs~W;jl<(ILz2P91MqrLc?Lq z-VrqfdS7M1aF`EXjH8V-Bm7db(&5LXU{!)83e zaM*%f7Z?t!^n`}Ptf1jAExedtm^NSt%II`h3kJhsi`?hoT`rfehJoR*92gi5;|c-8 zVT=6qU^wha2pA4qyu}NK!;C|~aM+R{2^bC=@rnb(VQ-<~FmVqs9G0P@4Ti(6dqBfs zs?c!QWw$i(pKOY*$lk;&C8^S4hL1ur`@;E3GT7|l&mO}2GdzkjU;Jc!QH1QyF)c~b zIySuD03YxOF3H9fV^_z|94Nsq&N2SUqA`o?tmr9;vp~HU-Oe1e*ec0eI%3yuWgDvZ zD9ZQv$*glVy8RnpDKfzRg8(D@u-?QJscI={}xSve=Qqis5!KLA;Vn!Uw zStBnBOG`5BFq|JAvW*UV6qc6$ylHF}-7>ya8eDU1bkmi6O!`V$xwj~nDSpP-5A4E< zj-QO5lcSrKo|Xj+pp0)6WsTo9Evqs(;<9RGo!Im!sGk4HVAC7@ZMU$@XU+cOwORH_ z=AN<|xoU0)-}K32?1Ea%PkJY;n1=HJ1HcwHA-I}7b)B!gp3RQO?IG(lu4n$&>uYo# z{4w=}X5}t47?X=q95dL#<&C(aygvBpGo(2A-?-Lj{d8k$DSFEtZr6M|GR>a-wOQT- zd>@EbmN|OQyk_Y&n&6Na6cc}i%@c>Mog|JQo6f~(6%=21N#+ku%aT?tZ1%_o(E;9& z;cPu|GmLs~wq9vrMf*p4{+J)|1>wPx4vX*Xaog2{V%x)c4j40SEKdEeS1P+a#RQT_ zvlbr+mUahtaC~7D8iA}J6iLr#?oOs z=ObpTYVzb*u+cGO_`{Ou;*4zrrs*zK_<@e^x=E7xa+ ztEfd8agm;|?41e0|B{KQffZ(Kk_*92wc>v7b;YLcc|Z-ZK9x=;U3|6MQ?| zTT@t4bR3}XSj95VWf|O!TC?@LGr?)ShqBCGcQ{F&z*?8ByBeqCA#p^9lV>HxT(e1N zD>_HivfuJsX)9cie4f9y8ErNZ5Pfn~dyo52#-?V+_@>zM&y>S{g{_@jLERPIlicB6 zOmKcJip(hQ_j7gBUdXK2MibM~v}e}-_mekkA+Oed@Y7CqIAUs&x$Pa5YY)%YivPmJ z0MMJ9~dezkSHP5T40 z=g3axbYao-qN)?Gr4vln46octaM0;;x*0LKvzVasHQ49tR?bop&XoF}Zwxuh?K#sm ze`XMJQBZMVW;JJxba`Ip!r^89cFTp?&5kb}E}-g~YU(N^3l}MOZQ8LFx02=}cdPGp zz2D3xZRLgxc9Yjew0Z-juG_$Hky6;_Z(;&Cd+IN3L=AmO{!K>||K(K{VuH%<61H?nx@-`Ps|a!pf5>($i+q8Dv-V`<_m+E+D&N0re!0bQh3a zah7}e!CV!#yylDCgJCQnyYi6oh)fp%*%gTy$gbpL$$bd0e7=+`N?G}M>4NM^D0#?7 zVH;#uJlR6Nze9aW7X?cqeV-TlR_`m6@B3QJ`hJBmf$R#4)UO#P2=p-0J$@ZliUH*Q zX;}V!>5Kzb{zAe2BUVofhy0hm`cDZlg6xVN%C3~qkpUX60jv8wlluV^GXYyd3_uS< zWg56&uC!7fsFWOt(WgI0fuQXVyvXL(YlX-n55&Xe#2Q90h9QV?g@}ZME3YCtcmW>Lf-wt`y0)KcA+D8)hG~))yu9`oEsT$k>*;QkAm=@a& zpogggdKhcIC)VL{I^l-EOFJC?H6+}m!VP3sPkE%-x(vJX zs71!I1bGeff2@d1?v4zgpagoDc%X+FrT}`FXrPCQq5yiBh|Q=3HHsu*WC+m1P>6X( zAxmT;v(;FD9>$*}y0C)0SS{Kc=wYnML3Snh16dR0okbBd(-Ym8LH6A`ChbBD+M2m# zIOgJJOqVcon{aH=v)F+prXGxN>?m&R_;Ac*M$EKz%&c6@4~m$DrRb%K=oRnipK8(T zY|)zs$n6&7ZWMCQ0C^yc{Edq|9*#Q6h&pc*g(V+#i82ajITE)r65l71P(6|e9!YW- zaTOgwii{vLjGz#Spu&rw9to$-45zmVXOs_Tq6}wQ4r8kfWA_Q;R1f2Zhw&bU@}om< zAwvZXLxn{`@8E@sjf6;KhTOFYk&+L2Kp7&l94uEE{Lm-(v3jrqJXq;4NEsdU92uly z7^Ef=^b#*fa|H1!6Y<&xp(~GgONn^59B5D(_}(YbNImc)Jn++DfEhZ#92sC~7+@_D zV2c-EKjQD0>F;dgk8zdvcc=9CT=w&>^z-%c^H=u^g!=^@`i7u=!;roahQ3iEzR`HT zu_He5nLdd&KFRVvU|t?9#)A!bFzXJM+QImG!J$_X+N%WVRc7c_A>vhq=Y<;atj+YS zxAAO{_xwib*|hA@Qt8p^YpZR~t4-T1g^aKCOXZ9{jc&9DA-4fnv25++9YP910 zYRz9~!(U^~TW!r*jY3LO6s5~IijWTSh%WM|ZgOM~MRX5kbPqMMn?9cJKCFCzM;RNI_ishYSQ~_zl=1bPJU0GZ2@Mf_{Emk<<^ANj^wq@ zFB_d-HoHTN7Jb z(_7oKTibJ6+w)sn3tM0UYzyprt!-_sZ*6a$aywx3>mLJPfAbA64+eI^R=0N-w|3{Y zcBi*?C$@ISHg`uhc85212Yzn%t!(wJY=V#f;D3Y^6=QE{UwHGc8Oj5>|@59ds${eWGbSH>??4K07T5YQDkdmKM z;2N-0Lb`iFf4lPaA6iWl?Nw##lXb35Gy;o6R6NwN_b&D2`)~Y>V)wMw)W|H{*P?&X z`(G5h``dYOXp*hEDzyaXD2IQ~{{Y3yI-$#VX#;}Bv3tvR|E<-;I^%US7#k*Ib}aS$ zdPmsej4#jkzgkTf!pJUAp1|%=1W01D{l)({+=iLbA1O86<7ED;)ugH?7aQ<7yMUNZ z-QzF*=RT$&h*FzFfDU<4NC?|6jBvNjF6uYe6H|PPVa;DhT zA!CdGqu7Nn>qYDFLW1V zR5Vu;$9CI;uaBS%MI#AnHEnm|ZxQSO{)ajq;(vB}kThtvUPX|hSjs}JCe^&}L9ny& z_0EBAEFw1}!2bmPQUd(X&)aw3Ln~jenxK_0extLMuWd;2Qr>#1c%dVMR=%XNA;k;V z2BdfqMx82N=1*6?bXOq7OYZ9F%2(d0;-$~#B2c{aj@UqomnBH?awqXr@nVh*t$fvT z*aF21ciJYTctLbQD_=`o(8?E%8np7YKD7rj6me&;@`X8+c@J7m8_DZ{{~4TgkomQc zCt(=Q{LdpggUcX85mDqP0E!ou{XiIKHQ^S6RufDTYBe2fgH{tv z0%|oa@Pk$pO#HOfWCmJIi=wBkrXtX4TD)`GYAV?Vt)@j0`YW4WDg2<-)GQ3On!?OL ztEpKCYBjkQfmTzqAk=Cy+Xk(s=G$OQ$L}>iXf=7=f?7>VW}wv+DFC&aB#S_+DUx3d zw3_&~p;i+g)M{ej2d$XiXCb-QAg8)RuhjdXf>soG7F>~uo-|> zQ$!(XH65@TfmV|b)M|?2dkb!!B>bS&6vg=ow3_rySwt6vnXN&qNflEFT1~=CP^(FL z3$&V+#mqsgsil$j9+?fhGiWv4;b#S{Cb%bPHQgv=l@=5c_cq;0_U~bpl~Jb)3f}pG z+G3Sgv0(`*+(}vc#P;YNB@Ix#r0zXsdt!-Xir(5u>)m8i^n~9?yt12);)Oqrpp=Z| z+s(N36#gvjkTT=xZf0fy{6(2MWsd1?R>CG+wMibH7QCB%m!DmI(2%a6Ff0cscGZDm zw-B_Nw1Hx`0w{KMO7a|1;M!RD{Xnss0TjDWfnqlaw3;M=V%Hidc4vTMH-$})AHNqU zc2j_2R~{&KgF&l_4p1t>nIru=#U;5Z7}gKE_}xIUn+O!U_kd#81+<#Z0ZqsOQ0&eC z#cm3VX$XGj559<4px6}wid|FCYMKJArV60g)hVi)NMW{Wz;6eN-6){g^=pG-2|Z670#Htq+3{jIrXL+BS8yL>;?hF zE(1{P-UEtVC!p9p0E*pNpx8}i^id{g0*YOKpxC7Zid{aS*wqG#-3p-C)h%cePh~*3 z5_|)SU2mY+y#f@w3_!6f2^725K(RXu6uYVP;Y9=uK(Xr%R=)5WIP|W7l`lF`&}tG+ zpTDJ>-)@{r7c1<-2x30h6Opw;y8a9QnP-au(? zVz$}wQ;lsAYtU-CY{|JA0$NR9L959Yw3-~B4R>@wtbJnH9Gw@}2d$<`&}#Btbl8&st)|xQstF}O!J2jJb$hAYNlb214Ho8!)72vr zu<~^sCwIe)xq8~cR;aP6dBfXLdFFa86=*em_c1#{Qk|5KV(xKm@!3?*b>0+4ccyNI zrESh}N$9oeu9X1wjXzKA0k=`^cE)D)!lyRju8#-XiQGAh(s{{U=cT5ZiC;Wf>(bP$e=`& zah@=5gx7VXpubu3N zcX@8*UH!e_%KU4JzLC>p{r86NiSXRI|AD^*ac zXyYIA5G`*I*74vBq~X69w5&!rAD^?PXvVKov?y03A`v3cmm$ur!+);`%Qhieb|O$G zBZcofE$0(nl_lndISa@-UnFs|5F}>VcfNQRmbu|HYeM*j*cMrbUu$9~x9=QD>_XCP ze@~?l^qz&-Vc*fAnINOi1#EpOrr{9_U7kgFs_Z#lxC<+4 zBKR2Wu&hYf#NsGs<>Oms&TGuc`?D35MLDIX6aE!doD*$W?m6drI${q5 zPM{3olZDSY36~=lKU>lff8imTulO4Gg^a6qFz%5e zL8OwUmk`X&2~Wq85EbFw?`b2J?iDLb+&JjcH{?XD>T^Qphc)e4q)PaP2Nsopznt%P zY)Q0~Ztlh7*fjN-Tb6iw(HAQbmlzi8nT7#>J^SlwFzW=oY%+q$baQhY>v}~Tk1jlh zMX&auXL#RuBZ-;%g&eySZ7vizHoXhNdW{>g$K0KMdAJ#|tWCg%OX^049~a?uA_>FV z!h5Y|@nXRTCKm*Y^c`rjX_*SW@EY&Skljm#mF z;7{e_s}2WmCs?Hp*)+-c;jmhG2@$&y`y8o+Vi@e!b;6?#h!m}Z5OTy{x_q171uW+i zZ0HlpTL)&#geodoHl4H7vnJ$B^1e77e&KcaunFQg0%7ItlZj?FCE{e8;8X28CLTnV!oo8Tu4xDon$#iU z$SJtwf)t!_vlk+k*<6A>qc;}4>xM%2h_%^bcW?=_79u?m zergmkK`k~RQL)$1u_e>7S=~7H}e4oL>SMJ&F|a9`rcs7eZo3ze>Q88+7|!`lbL z3565#52DYB#8Ak`;4eir$;59RT#H?ZbPysa7Yb=kBXTo{<&`Ifl_yh<#Ky>RxtaL$ z!w9U;!7SC{6w%%+hbfpA?{zscPM_pN@HB-_>0X() zlqtCa_Xw=Qg!eGDZ6b-E6SEbA zU@gLg*@xF6GA?J!5v#~$4P|Ei7A8(VXRUKU^f@Z|tAX#D3bG4nvCBg^EtD9DLvYj; zy_%Was2}fMnYBTQ$*Zvmh3STek&y38Qe@(n&k>5K!sb1{5dF?jHZbp3bh*dsLXMwC`QA~FEjz(EceoDUO$}LXLUj3e z>W7G!Hbj~NI*ZGe(kGL`3*onnC{<9x6N+@^C@0)bC~A_)ztN13serYx1yHgE)Uf4i zwRn;1n?H@lWAJj$*8dV?L+HAYIZRg^j^|rqRmv}$DFRPeYs!8wW5hZ48OIm$0FtST&Ht#TH!Fp)v}FMbKyxBp^W zUW`+);9JGrN^<$C#p-Zorc=t#EDCo7o-q#d?MR&D2%Pgr6psaMevp&G2fTJ@jH!W@ck8@%6KpTh3pdI=1L>G(BJ@!qxB@TaN%{y;R(v|9R&M$>t-CaW>I z&(%%3Uz#uu+1ySyniKn)+^QeA+BI(nH~VPFdyF+JH#Q^MxPnDnGIpB7tM7-!wEQS+ zi5ZiRJZh1eYe`z={Gx#_xQ0%zmP)He5B8vQH6CW(Xyw1yT1>!MYS&sJ&{|o2uVSo~ ztf95;gWgxsHiH*!-`n(>W7o{sNzuw;C_pVQ)-PWRgX!YGlb-VLG`@|!C z9;yyb?2fr?{dv0%|JxnQqPk0C9U;FuHa-}vigpS!cm8TK*pKOqf6;k#r2G4*Gv#{M z1%E?~M%M%BF4#{)JXBYKMb~B28$#;tvfJI)a^4f$cPr_2Qxbl-G2Yz({%c#4+p0a*KtpOX%C;69cut!nbzi$^-+jV% zY5Tt3m_B)<9Gy z`wUS7561_LfA*PB4=RZbetz5!hQ3r{2W@itjm8Fvc3Pc`m|et%&{qdMsKwo5hh~y` z{l*1-kB1KChJyVCgEWVqn+`{gD}x8tkh{42*3ha{6* z{gK#jjiiD2LPXoVg|UEX+ydtH z^98#nT(+2nSdv8-tru2Wi;lAkUK5;dHH)9S7XvPnB50OOk{3gbIYS(lNZ%|WX*i=C zmg1i*CDJScz#7wVuOmD_bZyQhVicjxdo<5kE`kgy<>@aomWa>Qa6xRCW zrP@iHz)9R!lla_|geMb3of9PS6IVY@kV;ID5lv7`j#K50Q#+2+DvZ<9jx(-f#+Yiy zSOUk`UX8JHk8z%ia(9mM#*gxU9K9tmDo8XcJUMbFZ$!*-L_%TYF71fa`tXC=VVS^T zxmUvvxrZO03@LODDa8*de;j%)F{DB?q&7MDGH+1RaqyMG;A`4J-SvUDwFB=02Mk^f zyyqS;I_dw|+5aiN-|S<*xkSGuQNQ(MpKV^ByQ@w6{G9uTfzVZ?p#9 zHUvLZK=Oh3*r0)_mk1jjc&t)%vonujVEy=YGNb4gkwqN|_9Kj{83R=i!wCYL${BmS z6C=+^f9)Qza~+9(KIT`az`66V$1oRX47KRKC*9rKuEgSQgf;pa8At{HwxwXN61@76OB>I3s2(2ST5@n@ifwU$=HU)>35rDIe#b-w#kOL*K++j@fz<9zkqPSF3ZuLZWAFgCUNj($(d z<9O*<^X*Mh2w2?4Bqpb>ewaYnpJ3By?3>Jd^QV=G(>T!NFpp-mQ?bss2-M+V}c&=R&Y-i*JQCM+|#yGDPLbeTcoC1iuM)EO*y!osI{ zRGvTG;B}Q9QsY07@Lk5d1XyaEq%Xt6iMEQO1t8-0rFmRgywv-*Hn_j;Cit}Cwn6lg zRzf|(H_er#?lvYrjQ<<k%Z0kSursp5neYo#wdop!N(iX$? z?`&|>Zr3burlcJRLSa%DU;L%UKVwg&OJFjekCjQ!b*21uHvzrrWWR;5f~Gg&KmXC2 zX3qGc-x9V7c+^XUb7wXD?r*IVjQpj6F5Xun1hU{-efEun1>6mv}Z!XtDE_GNE75<{_}))W)%YtvBS%hcaN#d?%jcnK!c{IWV`!Riy?O%m z@N}Ax+xXXMZyIM+?TkI$J7Z5*bI#b)ra$ay)){*mVM+k0@d?t;*i*fvQ#HQb7pOPA z-Okzrsqy!Y5<0|jICr{s&O_`ei~o`|0uFl9ijMCfHNKJg`y2I%yZsuLKh2G3?Llw) zO~iEzpvKSnCHW4TCe%2cCS>7+rU_Bor_+Rc=+kLJY8+^qQ1AmZO^8{CrU|X9Pp1iI zPp1i0vY=@~tpXV^O;}kN4^0#H1Vht=O-LIsO(?#!3Z@BvC!9_bnx9S+maW==X+qkx z4KPh;7j!yJxIhC<6XH{V-n1q6^e-??SmQVaO%pzN2~893sX)_&f#bgcds=I<15Fbi zWkS=0H=bZXZ~6kV-4Xjy!iCrTK#jlQe4-C*aH^7!4ekiC!Kq3>cav4gmcN3x0yGbQ;6ry4 zw$r=G??P}lkvqMc{Dkf%2B&wEN$76k%?aI2x}m#?x5!0sH*qh5Y;e44;BHa@-A&j| z?X>_88& z!O8uHy9vKCxSJs1j^J)0#K(G%OoY)L+)bEG!QF(C0kXkegYG7W{LbKR!mO$@1H!QG@Ax|@h_1cAFr5g)jl$TKE_yGhX} za5q^#y_;k}cN6*3yGcBBH-S?CHGcL*UUv0vz@7$|e~H>_iEwS z>)1Cv_}iKY&Bz03Fg(;!96CaPJ^cXK({8|?h7^3`!e;c-ZTm*iOYVEShL_YVTbFgK zyy?*qFCvI_j{a&vvotnCa7bGN6F-IL69+!RWRADwPb<(I)qLSf=|4C_@&S8FAKB1W z&l^JFswd8mxdhl#7+_B?+wsScvMvZy<#$*x)5UEQ)QN2iyUHJLKR@PJ{7q8XMNJ@( z6mPTmpdqh2;BsOTqx~~kks@GTVc-D#kdf=b4I>K8uEcWPjG40{1 zK~e6=z~!XkB74OTW>ud7drDHqx#s9mH5PM6urfq;&3saMd@b%q_3U_~Mepy}?Ha+^ zt(%}MMNz51)UW$yf zh?2i!q#Pb0LhL>O_LM>T6- zwa2k$dA4HPHGB3Lv5oUTJEo~n``;Brwn93ARpDf*!?C6>nfo{su&1hkJuQRSQ(M&U z38Fju4GOlL+M^WJak?vr&JNJ&aPu2l@>H^qPRV%=r zdI9#d+zPO#0f0Rvw+8HKC}2;mtO0w91nlXMHDFH@0DCHA1K874z@A3h0QNK+u&4Vr zT>CDCWUhRwwtzh?w{#UMw*~BJ&7i9|xt%1rTVoT+eSIgup5jKj$u~Oz_LOKJu&2&| zJtb9jf8pf}*i))ElVCg|Jpg<90kEh09-udEO70!3>Iv9WD=Y8Fa!+jt%jjYGwiKX%?UV zJo&93kpX6f0juSri~9lcV45(J8L+4C0DG#+40_X3R{}At0>|VCH9o{eYbMZ}ejbd# z8&)_sj1X!-5J%kvz3KD2{?~^ENuz@97lPij7|}rx_iPYD)H8Cm;Ok_;tQ4|dp6C`w7~ zrYYzFdrEB{tg3cPr6P;~OcQ3%0rqt6YStCcFiv2`jifDaqKJ*@%kX$uu#Pb&d?IxL}H5q)boy2d*s zmm;P)DY}v3Ip|G)(}_X1NCNh>?rTh!_pMIhSQJC-K*s4bVLF&5G@zU~h}C=^JEO)v ztrnLErU@xtfN8?KB+#3t*r14i+aI^1rU-h|X?*dAxTHtJ@gG9s&n^3a-gE&h1{=u@ zHVX0a5(r1)i8A9!Y~ruV$CFaVlP$+lRK`*H#8Ioq(Zb{C4`Uh8u}sKV7Q_NML42kWEO4 zd`K8&NW^k*RAq3qPjIYya6CLX@h~VE9h8C$N;3?~5DCh{3(6TmYe-Wnh(0AWA*379LoC7|?(Y_=XH{9ydEqfnSdjIzE zK34ZezxKgJ%Dm0LMn%tzRmIQ#6dPnf9*F#V4a{%5u2G$b5mO0hKE-}gKw@Q5Al`dZ zp#X=9o{7d6{Hcr)ocL}y=QCA>@ZrD2=6p&=Rgc3lTF7KZ{}w@i=`IdG;81__3f-Yo z`~;)ETPX38Pppt+iMLp^wZKUmCT?3ypbO&m8xOM>9Hz+Ct4cIR|9P75H@Q-DA%kt{ zhtX2we?Lu#f8C6PGH`>*x~tgocbOAaxyzk$x0mG}w&h;YR~~j>Q&9SQqg{&;$A9Oc zjXD4ET0e6A$Jb`U{U2ZJNACalD?v>0k5AQN#Q9&nKVM$+2loH;8N-`R;LV>-KZ0-n zyIx|fHKC)GrvQ&L!Ej45-(qk*sh3CIy&r^nH0ifm{{EHA< z96wtGHyeVJ)tj5mnUBp<82(Wht}o2~Qh-y5n?sh3<1U<2f|XO8nL~_)Q6>77v>+7rPiIyEqr;U2g9C`~ot3EDI9JJNEyP;t0Z@_AE<22$M*rF;@YuAV~n zCil8=DXCfIHA~brs~YggZR@BVzOuM|wJjpd677vl{%!CHTJP!@^kTw zW$CO<#Si=H1*e*2m-|>HgATaHzHcsk?k9Com+`rn0Rk}~3e5UF`rW+!`=Er>7 zm&LBE>Hf-@v2PPo-J^5EgUbuOYwI0r+r1k*eOtTzTe}0>zXrBo=DL-wtvO({+u9i4+ML|loZi~{v9-Olwf%Ezd+pzd)(yfa4wbl# ze@$k16aG(#*0;!X7k58uD4F4Rz4TutGg@qnq|4Enr^$@U-z75~3M+9+TcH-RWJRqX=uU4>uzRCST39F!je`^H;qupgU z8a$PwS?Ra9zx3yVWdHK?ze6W#<51vxZ_b5*WahLLoMQ3%!{@Gh@9h3+1%H66eV10% zC{PSC8ZcNmYXy&@3Y17gyIU6ic>1r4&`Ehio_>ThoGsu6ugFqL(IUnMXNi$qec&nbF8ROJ)Mjl9{p8vt&l$ESdR`e3s0RUN}u=a^kz? z1wk@1#S0njR5)Xx(Zbz!o9K2@u$g*=I&WC z(|wxE2%aW0X{X6d+$NOF9DF@ZW{yvjncCB2hGuO6Br}J_U!Y{>TPl>yOfEyoOwICX zGLw3m%y8OXJlbe{H)0EtnUA?pGE*JbB*A^W^H3T}W)}3JWF~M1N@g6o+n{8I%>_zk zX49Z#ruO3jNM=rYPLr7p6qL-&`9ns#3uryi3QoA7OaY_a z-3!LRXg4;ABPDz905aNXoEq&mA){T}1Z1>Zf{b>LCLp8T)KAE0*ES9r?S=?}(N1(6 zGTL=<0;65^7-Y0-dJK$qqGO~*%@1mg3VgM*M;y2`b^CIm*i#sTh-mNpM+ zV6?OA2S&Sg<;TEicdZ{X+C4TZik=GX6Ks&{koJd+c71%nX!kJ|810ICA*0=`cF1UV z)B_pqIDbM$yB=V)>(a<6N`Qrp-vvfHRl?##;*@U4Xt&M@jCMc!?gOJ8zEN>9oqv~% zlzfl2CNSFF>XTJQ_Z&e+yOhp{y7J1~ZNO+p*!dV3?bcR{(fwCGE<|^8LB7#hI$H-Oq~9&#|>ivb3qYUo^-Mbo!NKgJo&8Ui5%-c1g|$ zdv=X(_+UkFNv_2ucCBr6KQP*50i)e>V6;mIM!QF196CXnL*K5H6a-v?zhP|c1xC9x zV6=M-jCPU0XvcBPp|1oV=?*R~PQAotsNC8OjCRS8(e42-+Iaz^9RZ5dm?U#_{7P|I z%_UY7*Vay8w2KEuJ27CivjRrDRbaI1W*c7$E~*^3#9~p@+766%(ZFbT3mEP6fzhrF z80~^GCU&nBq1G-j+s(GN0;637Fxqhfqn#=++GPWyof6yB`H;doY-}c%t8Fd7Xcq#E zc1*x%Cku>re!yr)k}*wqwXlH(`=*yvTN5za1p=cTwQ{zOP+|GE4|cqM-K?_|AqC%W zV>1SrwS5CdJ6~Y5BX#9?!+NEn`H?7Ja8UXj)765OC)f<3$!!g6$`qb2YWN6?vfq-M zR)@kJ`J&hv)kx9MTiW01XV^1LxmNY;&R2P}%8Y1C@c|euBm<*`514Lc zR;4XJZv~@;YX(`mk5Ov9BOduR=8uhXR_4KIp$Hf)e0jL?`fA?L_g{(mA(~I$@Y`B; zIFu4caQ+McqlLv_w9p@n7OFfOozS8#Z^&sh4yj6<6)#%^qlGMBwD8hf!D>O4b?b+l z0zrko>I~XlgQJ!N~ph7F>eh`_)rDzm5{__>r|8J6N_L-o)MI zS~Hn=b-Y$u!p12i_wxmQRIurOBlpEH%7^-{w8|SD3}1Ky>C2gym7Dzg3oZ|(DPOs^ z9f`xE#s4eY^4*H2CE-Xv*RQN9`+U8?n`}Kb7K6o_D;j$??|(hn8$CMivG%;lpx5oo zn?Jth6lnYY`s99P2=ykH=hAcqmSuh5yKN=SiV4ZQ*p3L#orEW%S6Q6#&Dt7h(Xii= z*U#g>aid>ux3cG3;|h~q)FFG}B;ObHDZo0Rfh>Tf`KGbb(Jad=x))8JWDK8tjmT*a zPSnO#Mv+d~LI>mAcU3!Q7NsJOpd;Kr2Wx)~yX8d`%}VUs<+3nE zR4a+?wSlXwN+1HWPFHo!W@QZ0#&1fXNzAu@y#Tva?kg8*(XxSq2lL%FA$ZF`98FAw zktE=A0jRF)YaU{?bb?J20!LyPUymPuIz>R2OKlg9t)zLZq+1KZHGmjzfW`V`!=r}< z6qdoImL@;4uY2m;VC)`bKBE{xlcNS7&;qV8;E_zWR0tZB*OCb$jL=!kK z87LlL3wvrAgts+^8O!-*MEcR;k|sGtD%QK(%h)gvTW-Lx6*oP;Yx_&cMrlQPWms7& zZF*QmIXVjxZ;*RBFNFoBdljb#W*xW}BmBNB1;1k@Mp+RQEk@#~tbpRAa@&zlE@8c{??v>?k5h&(aYu^EyMod(`55$@=v zupVLC9z-lwz59Mb)cjIF%5YfgL2R6y%?w4fDjTt_VBD6s^KM4$E%KOwD7QrlrG_OQ z(=OaHCkJk!IM0@tb+yO{Pa8I2k442qQgu7Dx6N^s`!&PFMMXQ+;dre2a1Ws+{uVOp$m(Xi*3t54iCqB4kupsNxb0Wa&aW$t{d!@5D|I` z{|9Rlp?Xw@a5BjV(iHZEMxH>5l9cMuhGsdjX@h}5#H**y2g!@8fs>#}lA6Al)Q+3X zmlf84o)K|E=a00CKFWxe7)iPAlQJat1w%jV{pB;BM6>M^%Cw7{38rY| z8jMr{P4UGtvT&cs5KbC(NE9dOhS7HWHib}M4kjK-TBAq_!Ao;uOR-c*KJeY%944h6qCGXWzhriN< z|Gk;Q){}@0j!aul%`^XON!Im(X(_<7ZHomqi&pfljte%ij~m)s>5t6e@63 z^wv@Hf92)ZKu2w17(}8P5#^IzFKOO8?5e^_9L3|XmY#o?qF9-{Xj&w922RWX4?B-f zd2=P+8(m~3pH)$kCHkybJ`=w@|MC&SmS-hFNxtY}cSc?sK_$ZW%0n*$&ob+W{&I^% zi=JhUtc9XN-YZQ6GK;zKOBoJT4yZ1i=)?m1EPRbLq5%~|UX(+nw*7ZS*BewtZ|_u= zq7%dxiI$rjs?Q-XBWZ^%W$%BN?Vl^YqMp9%BQLA&p|aue2|tDZVI@|*3%8IXZlTrf z{lK2r=1mA+eD%x`H9R~+_rkrbLvNpa%#^FnVir2WoBIxSUX)kg0p2+F#P!Y_xSX{Ms1j`lNI!w|zGfj`~NcvFRjrSQ>SW7PW+L%`@bP zBY5&YM!0*ch8&K(xFmn4nmr#Qls(lQ#VQ-CZ=(WlQ`{(zxIlty+EP5a8S(s1Qu0)w zqO6KkjH2TbQF9l*svrJ+D}q%x&BDH`>KJ~tNrm31igJu1{!joHxvl&vbx1-P*P>I$ zOZ|6aitfbqc8IzSXBfTTR}1q7%;N|FK(sn3H@R`>c-S>Fg*W^7>G+K`v;S&Ftm*)w zmG?zU_#@rOm=?j(mY8haxT6-a>*yqcH-KoBvOuSQc#~O;mK#9lw!O)}(W-E}wV2~A zAX=Y?w^sVStsZNA`Kz^V^(`P;Ujw4`5k$1U14L`K9w1tc0MSYS5v^u`X#D^Yt=52O zZF@I$qr>rb#~g<~+_ob}pn3TQ@9J1b$D59gYW*eAP8>kA-hhbKP(ZYfX#=7a35eEl z138l(RyqMh*nxav}(QwL~A)9T2ajmVm$#GJ3t;c9Uv=#!QRkIZkt>u7d zMYRH=wFVHa)NQJ<{f*WA8uo2~Xhq)`&>3$7L~EDbfWBBeAX*2;28?6d0ns`pI{5jx z9T2TEF@rXm9d_e`i*{8`YlM60IQ$QQzaRQnO#*pW=50YJ1G9FOF;4*;U|qvmKS=O7?j%~7M( z{)2#MwWS{W`g5>RbIch<(oB6X2sK8z+uiZlGy)KM<6u3;R#@+%%tJ{_T#ok*+Rk`kc+XyOMqSCFzq(fkWgrJnt zqJ(17N-8Oxa{`m@?(PODi%?pml0{TCXBWw z$kwi2keYm;IeB?ajVNjII#{&2UImL*?8-?N3n6BMsR6ku4huzC;}oCm6tC+QuxOPO zoEC0m6>*&&>7Noe5QL9SOM^u#?;TmG8HVj?`9>DSq?tvnnL8+f+vpj#3$vQ4EO!lN zS!`x?NLch5XJ>?d7@$QTGR*Bv%{*6y8@bNm3eB0VF})a@V>>rzr7CJEHGirxZ#Ty1 z02ZxBrSosrG)>X-hg0*O7L48o3xbyx{4MzW8W%RfqSZnR$*`Cwycp5N8{)b+6$%!u z*P_N27v3$VjM1k_Esbg{WhK$)BrVDQTr5~qEkZASFIy^;qOUMm{$Raa<9e;Mad{wZ zxe-m<%&^iRu<~K;ZiDMe*VB~_6z!L>70t+%9u#-C6i9llezVZFNm`}nUHxuxXAHgC zR^|P$#C!oU$)_&%a>}K)qrmOCzSnMXEcH@e6 zqq}w^)^vy>@(t%Ie7?F?x;%J*|SCc!~ZIgdQnG4|bxzuA+O1PrDlEI)XNz z3o&Vzkc*n0KAC3cXugQ$fqg61?Hn<~%^3AbSzluM|76k18Aa~z6WGiz;(|U)b9X^K z?N$)Ot+>03npv1d>%bE#kLN3Rfh@llt>}~)b|&3&7C_2KoEG8Hh2Q&!MQb98 z+#!=m)x+eN;qMl$wahdgIK)r!kL9thLiFIo zX?OKUlON+F^qa$OvPiTwrx7eZpD9&f zbUQ1k$n1BeOp!JCrl8W*d7)H-M3FljOjyhZXV2jNgQKL$l;?lL*KEf7>uWLR`}2GE zg8%>f_vh~d|M2I(?f=*R@d`unfmh^x+!tJaXK`Z=uf8LapTSKcG; z^anigdb}uYJ`Z*N*S7_XZwVU63g43!){wjgrnGmiizrKoD2juhqDt4rlqKP}r6lgi zNUF-psNa&it0b?hdi#;Krm=y(h0$|6D+^agdp|Fa0EAyiFe)-KGAb%6IyyQgCgy+2 z%j@gw8yg#&o10rugy=uo+NvjCfBik;uZ|M)!2ixg$GETkeJdH{C^=X6ZyhD8`@m76 z&hRfCCG1HzUY!za)|7N5-3Vbd|Btq|(UJ?@4C3^px9Go?bpIxJ0}lSX9ycw^hcxU zlWrn{wdY1`!f(&(VzvyOz|J2R9VFF)>>n2$Q@emDfj=%fcK1xPQ!p2uPY0&I93=%^ z4u5!FE57ZSL7rD|(K)m;2cB0haM6+9HUH%($zk~IC`tY8C^0wu?I>w%`|T(>_lKjz z?zf}FT>rPD#OAl7r2bcV`I$bZylhqStGt{~gDEeUW>8u}<>mEZsJ#4QE1ESKY82td zLX9Hs@-$j}amZ1!G6i{Fx4SnsF^-a;#9xk*x6GYjYpc*eqj2pm4{($itBfjuM$yl~ z3~OR&YbzNtWCXUh118Yc_7-MqJI)PlZC`F-E;^#0Fc%#>%tdF}9NOA;tw9%^+G@;2 zrw4PBZRr=B#%QE9kerMYdaPRU39cC7oF2lXlv{C5_8efQh+Wx-&HVM+df0+ zqH~5EI7-mL!1J1N0(oAmf`R8X}~kmq#`1w60JtB~il z2n9T^sSA+j)dB^1UejhE&np`WcwW;cAkXVu5b(URe1|-*SwX<_$}$9bUX6l)=auzq zGsh=EwjkhnW$oz!p4YiR;CX%aWde9!^8$hA^;z2n@VuG@LY~(TSitit7zlY@o5_IZ zbt?dPUY|EG0nck)0OWbC%37h^#xaW$L*d_bvng&#PfEW_L^S28yte zc?QJ!yUnm~WeooLMv*YR{-v*#W!kwGF8Lb3QIZNAB~rjq@)|fwMkcGS)c?QC85Ak!T=m4*MOr$4>(F9IgEssdpd3Ir6!#e+yIUe58x<4gYxpv+>wEi z^2(w}H2aHZ%U#2L_Y$ib3gN&}VhtQ6W5+yJmB3M=2OK4lY&PM`UuFgG$9B0C2>?gQ z6W}Om1dfu|z)><%RzDVb)#3ee$7b05$T`VkPT(lf0FII*;3&BU93^_dQ4)E@b$hw( zWb1w?`lOf{I7)5+M~N$Nl>E$@I5%3_LK4O5&ARdlyb%XoZY-e&juHXjC@}zzl1ktx z(Fcx_C>EsF%7;tkItX6ZQgYxZVFr#8Dc~r14ICw-C9P6X%pqPY@0clcedMLe@PVU* z95_lCfTQFZaFpl+M@bY@RQXCXkFBnU0eTC&9cEPPTl?h<mK)u^7F=l*#DlkloQhDc6%Sc?7T;>t^}T5j z&N|IoR3WVDPvYgykqa8q2zM&YlB#^BRk+kvRyPpga;<=mYgyO4>RZ(scabge$ir=? zibiy$sTa@6*9-MS1(G6VkMdUxKUabBGEYT%(5R`FbM?2zD$DZ1)d`#W(GMpgHNjkK z)?C%!=PY>Z`iXzME_be5bFF?o&9lDJS3mY0l$V=8c{!kZ9L>wujDs5Upm@`8Ub@Da zqG)3ul$Uovd3ha_mzS%jF0b=_5+a!hvVGIca9ZO5%FA14!{5#jNx?f93$`L}*Ua)3 z^M84UnvCs#^IoK>*3Y(Rn{4~-{1r63M~!=Q=sjwtG~A`#NV-0}zi5{Ol$Y;<@^UdKFPqn{*{utXZIjG3 zY`c7+KX4W#o~W`@=6(n_9<1@aa08n100p(>0P+s-|!HdBrWwh zy!bd8l$QlTdD$G4m#5zzejA5_^78ujs;%_G*r`kJC@(96@^U;VFUx`Qab7jwyf8SM5%xmkumxzuV zC@=3Q zcsv;Lq1*R)yzfCP;42{PXtb|FALBdh<@-WRIcm?>Y1-Guga?$DvoHEND2m$G_;vUB zxz;Ew~)d>EeLiq@yW*k%| z98g!Ep_Yc&SB6ld&jU6bZZ3)iGi;-FIoLsY*{Uq~c!3R+m-)1Vv6TeQ=!VSSgv!gf zwIPrDLP%;=38+KyaY8TZUcKxXx-JaL%Zi}9d?q}U>EH?rJWO6Qj7{kZM{L;MPAGRQ z9~USuf1VB#RN@oR4HvNit zo%$LmFEeUJ-Wz5HQ;5f5^C^baD*E<`;&P&d$xvU7+siS^U0jgpg#vVcS76OK}@25OqioWsBUb! zLu`yGGNLy2N_ceAFhdG;+_FGi1}8(7V;p;CY#u^9aX5}TJg%gjz6>5eq7h%^C|nR5 zpW+$+R+qlx4E(t@_%8=(L0`xO69VVkmav*J0s)$HX#pc;ZMb z$G71`>5qvMrX1t&q9=Uo6_(PJ>e6l_(^T}*)L>~EhpAc}soHU=_svpu#Z&bOQXh__JjzRX;*|1CImM7B z#ds;%v@Y2knfy{O*%Fp)eVAn1k@Pw)$=)o)hcV?HF_m#K)n+lZ;xY9EF%2WpO?lBRPSNj`qd(F_w=PAs*F}9sMs?~% zb;F{14z?N6gYh%rAv6)`c%4!&mjf*J0tC zhhf_tVL#)-_RPW##KVpV!cIm)PxC_0IEUig4n0R3in|Nlg+ zu9&T@0W)RF6Ffc7E1vN+$oiVV(HhiIO$cpmSUoho4gH=I=RAIryG&mp$eB^_4z>{nxML3G8p*V^}ffD|!UWH-P0lgr)0qCF*j= z+~+~v<@HkMv%k%6E-&yzR!~<4yvqpRk+}BjQAR;rL_u8i7F<+OLQL^GTnT7pWu#Q( zZm7%OybEq=>MBp}Ya1CnfSzWoE!~_Pyxd&%c)?NSQndXe}f9ILTP|rgSH<$?;-YyIMTO_)pm-P~iN&FWQ z&4R^c{TC#9I?)zu-~?B3QdZ0!ODX9;9NvngNZO5ARcr~vQhXhd{~U>KJZ_SpkEg7l z8-9EA7bJRIhzU-sTN*3l5ZPRvjWpDjJ^7w!H5iPk*xj{M>2U2XYS z9Dk~0#pbA3orv3R3>%97O(n|)kFz1h3u~3N=lGjSHa3x-b`t1i>CFC6$(o$6ZIyrZ z;f&GWkZ60D2$rAW-&C^L=i11ABheyeEDC<&m>iGUV&>?LIt%iy|8K^!K9?~xs5;ag5hnC{E=CC-#zoy$|0EY z%c}2?O7^J*;ToipBcnOtAS9ZT4^qi4LrAm|MkV_LLZVGE zD%oyGC5ynQWLqF4Iv0aPmqSSOA_j^6t4fxW6H>{J^j!feSqu_g2qDqbw_gL5Y~?GU zl8wC$sbm|_6+k6ReFsv>e%yhO=sO+&iS85zNHmQKghUU#0!Vb63WP-er~pVbO&7{) zCp~G4O;JId8B)oT2m&NJjtN4d4%qJ-S#4ir z5kR6J03^B!AkiiOiEal-v?oBKX8{r&Fz`_@Di0vhcL5Te1(0Y(fJ7qz5{+G1o-_-P z=z#v-u&6A6MBf2ObQD0MIUpoj2_Vs)0EwOjNOVB&kFBUQfJEN}NVG3NqVXhoZSeEH z&tg~9cFh7LI-q+|Gdc+%(boYIZ3mF(1%O1i10>oLAknh`i4N%eSr#1!kZ56mL>mDl zx(y)F2!KRmmp7qj0TLbf`3yx&6hNZ60TO)=AkjGhiB04=KvBN*iLL469$mz zD*%a>2S~I(K%((;r!L`?edL`3NOWK;b$<*BAklOHi53A!v+W`{o1(4`DfJ6s= zyebrn1W5EnfJCzaBw7(5(FlM<JiODP;cq{&NyAZEMO*YB$0G%DJYFEjLs2^?A}!cuTQrln{kC1| z6dvKlyTb{P=z9Q(E(b`oEy(elf*cR;T&`BbmwQd(apgrnuK^_50wB@T0EzCeT`_7B z8tE^ZuPkrqws4b3k%aA89@eh;*Gr7yXYVx-7OlIkKmCrAEYnOOW$7#Zh6=ZM9}DDo zEJ2RvbK8EqU&&TfQ}T?EWmTsw!;7TTw}T+ZBl5IyXO&fQDL?CQpmlSnNcz$8v+fE| z{Xvy9x$M6vK1$nc+;jXQx$%tSc=FNu-luiyt?=Y>fJ7U0xw$e0@SV)vYC7btm)a#n zE1j%TsvV6Y~G4K&@Vvmx+NTMpNfNDPXH24 zOyQ0l!w-x3qAkikT z01~YPkm$Bo0Et!uNHoW5fJAEpB-;NqK%(^l620&mAkj}my>BYo0VLWu+FLot4j|Dl zK`$E59w5=St>pLcyZ{m{1dwPGFMveD0TSKj1(0ZIfJAe610?zuK%)J<0TO*1Akhon z0EyNBNVK94K%(#0kh|~u0wmf7%JJy<0VLW1Akj5`0Eu=5NHmo{u{whBm3s^xH$b8r z`v4NHu1$q3t9Hw%5l(SHR)rz+h6J*Pkd1pF$MYs#Ea3ZlWK|6eq@;5}j%P@{azCIS z#bBlm(B%!6}#T=5EKD&JTV&IKuY>OK%zMS5>5Zp zZ_Zy5Akp3ciH;HM+(#`_25&96j_U*$Or!RP*Z~s#$rj{z!~qg*3y^4Pc7Q~i0wmgz z4Wy(Ew?fF^YygSY134bVRgmN9kqf4abzj&Ittt;?;k*iRJW4iU9J)dbwPD9;VZ2J{ zDudzZ&CJT^RB9L^^)94@jIE`#8`4v$!6iIAse1xPeIK%#ZEZyiL;O+{#O zvH&ES38bVKnL&={;iX7}MV^NMiN=X~4i`6aj2aY-G8<+BNHpPAl-01NDLlG|CEBi? z5g^e5+R<-vxj{;L4d z+y~P@kmG5OiS0OWdOw^n91W0Y&SrSx2|%LTC5AvsI$SgHJN1pxgT$bz#3@c%kdiI| zNVKC&cWn|QNJ-by03+(jh(vNJ*!Gl=R5GV|a=^OUn5XYLJq))=nYP z3jrx!C;n>pN``E4;&Rt8p=_9zVN=GrLkLyUaAZ z7?E9&o1NR9owb;qj-QjlnS)ML%84`0iALl^Ia7=P3TESiEIYyzXDTl2g3cRy?;*JPkJf z93?*#OGZpe2K`IE=9Kidm2}n6MdYLjP%v4QkUwE5*Ue-^wx#d?~8OJ`jwL@4OkhsE8;Ld%Q`(mXWJn2Ft) z&z+%?6s)*;TR@(RNu3#wp1E8lUf_Be`O*zC&y)({jq`RTxOem`v25wuOX+mYDQ!2X z{`O2mTWupz{Yt;uE}sJT9kmlyx&0r{G=Cz|j|3>wnDHEBaIKmv{lPPhL~VqAZIp9u zOnhxz0Q6*Ie4FgdnSZja0XDVV$H1xfPrjT-JlPMqvL3*GeVGqnnflO|p$|*f<4n`# zOwxhH>%ijfam8xEV%1==@|7}yeM*y5?#VyM|7sM%07YzP`QFB&#C z8a5{yHhUU2TN*YiS~d$>HZwXlLwYuSdXC$4T#~fB*J%0qXar!i!fdo6taM^bbmDY$ z(loTPG<0(G3^$mWrP!~)VQiwjoFW2T*RJsh!}*1!goJL13f{Rcpf1I)eM3O+rhtJ0 z|1%|iV-^0FS^^Fa_`HpHL#=pHoVjy7VHHS@Iuv_jD0@p7+xu{~kCANPg!VCYoeP&e<=u;|&m?E7vt;Nu#qbv?X&9rbAiM0-#zGr^5xA$5Zh zWvx*~O)>e^aXG~anK>zGDe1|vnTg>!@d1U=ZlzK7m60}e5ic6Ujhn)anj?%_B8=We z8hwm@))xEZbHdZkf-10r7syvomq>W*$Z8Hvt31#-4)~A)nnbYKf2$Jb~g`qe;Dj;`_}X2Yj%BhJ0lxAgX=r}>pR_RJD*o} z+7`DvmUsS+mc|XedYOg$ue5YG)_>>G##mF`<_aFPt--H#|9AZ#E;7X7SKRaea$7Th zj_K9uIgOeU>@X%_vz!0XwuVt^w3X~Cfj9|*CgTZt=fCjSNi!g}vL!hlE!=2q_{*cs zxVYjuR0#2_L2SyN=5ddIc(h4MJa+vtw%szgJQd#3q%VQTZu~yfP+qODzb(xJXlY!^*I-*y zc% zWjd&#JQfOVYZx@Zwgw#vwl%X%Pr$Z@Aq;9Lvsi;|jZ_$DD9>H-0NWaaFtDweV+#e_ z8rL$`uE4AhVqja-2W@NE@}Y)u6cTJ}*mIh}w&p1kY-`vvpluBc5^QVcQ=o0l6lPnK z{Uru$YYqv(wuU1b+SV8#plwYUw5^#!CX)o^7l1KS!{nF-j|OyT9K2AMU- zfNf1)aNfPnJpUB1tzjXHGaz2hC;{6VL9ne+;dJk1!(C8KueneTDlU@(p;SfeS@*P z4aI_hmVO3k>34vZb^)~XGN7fa04>e^`JB*DB#CPY4A9bAfR;`Jw6r9krOg2?T?J@q z?soFg8w6qJLrI!IMT?Nt7-0!cI5BpfSmJxRB3RcO?;@Nb$+f8DSJfBA#*-!FGNNLu zSDA!IOfbTq{ZB zT6v;SJ@hGyw=CS{hoO*ueV419eLBy}4bA$I=?0Oi&ivJv+0~|Oc`Eso3Te;m1pzCGbucf_q3+hyZ#+;*98+177CqwT$Lc&+d#-cC?RiM`_~*zhr~ znIxI#|GGa9l>Jly((U8hj$D1 zw3%9FC7u4BSRb)SFRCoqi||T^ob*U3q2t3JMbRdH@RFXN#eP2&Q5?=9X`w;ncjwOs z`O6Duga!&*C5oCE*N-NnP47gUtc7lh4+XvQtE5anH^_NYs-x?`&SaXX0^f%tW+UQ5 zwWNV%aXw>ODB%}N`K^%g&>2%}`WtUt=vv8qI79@3?Yz^8%B|n5oIW}H=yhqS!J{EG z;?%y?c3J_a7l+Nx+F|Is%zoyhqs2*dgMb4{mJ0uqd-f6D{;MNo85lU zwYy6(9}1A#KF8TnEA?XE>OHci@=`u)jn`{MbamsRFB$RHgku$%E4H;eJ_l(7mOBXH z6j0(g_Tc~QAwfrDzbbX=-8idW>hu}Q<cz1{J*$w*8@J>o+==1Pc6 zur4hRx(02yZi;&B7`yE&P|mkf%lJE+Zd|nQ!I#{>h^^>;TH@Oq;vs?OH#_etF6KMa z=fXDYP(I<1m`$uafw$Y^IK6QWjbn{NHRNd6N=zk4hUg&~-#CMy!Vg?<_MvhXeT*=S zc3%Y;_!GR{6ynqp$HZtNF0xCJgCxyZmx3o8*_p^(OY8#Mi1+PX3UpksL+wY^v5_$z zmHYnKp$<0|5DE59@okPtcu4gdfeH5hr%cF^lJk$)5ftj4Ay$ah3Bn@K6vFdQVE6Yn z@%LAx%&#H7qDcA79x>-mIB?(hlnfERPa4+hza8UHg@rPtBr$U5eWRm^Vke#JAyl%$ zO;ES{)RqQ z|26Lhsbh7RGMOK4yWId~2##*Z>(~&&;Skc?05$UH?^XmHN|a&hc8xMug*ffY`N=lg zLa&NN8Ny$`bPxMrLQ)%Y)@}ojbTN1_`zcD4q$tF{qK(k!fHb0qM2yKUZ>&SjWHJJ$|Q+6iIo>qr~wVoUF4wSU=a} zp$u77bijvdy9%@@nE`tu=WyKF&A8Ix1X~5Ns39bFZ+w#y**m2K4RY5s4utNIXNRLB z!XaktfHV~zr=}a19UGUQi}EwItL66w)fl*<3u58Tt=PoR_=vEf&>a)|;d$qQg9wy; z{QOoh%dErujf;M{sbu28q0GU=G{NLBGC6pH+NMjC1CgZ?nV+Lm8eS0L2ni$2r5gVv z>`i3OLJHZz#i)H^;<&hvWa)Q@Nu-r2+4K^wz~W0d$oP;M*aGRV&LsOd5UL489B`7k zrzDKdr!vuGvcghdJ;58$vHQdyshtp&ExdYUH{1&9XltaCa$k9wXH5_TEO6 zgmrpE?y(LFaL~eW{{qXIc$dv!nER5Tpx1=d$q6?p#A`+;tAQXrNIVQ-OtPh3G#BR{ zW=2|-m)z)-*>RB2c|bhqP`E6f%Bq`Z&_Vhzukia};Ou_pDptZ(|NQsOucw`g=0=Lt zJu;V-3vtNPY8Fe#2=kmesI6q|@|IFY706r<3%)Dmzt3?gRnDGfDWtzzTHBF#VFV8@ zh9+qbA-Kh#JJwMIS0?*nUxKG!)To{xF_M3c_L8+}?U1+@wA7FFbDt7k^6w!jK?EezBzG&3 zB@#HAwWe9`<-S?2-cio2;jlk3F2H_LLwZO}G+Mq=SE25a|Gd72f)+WXT%AB3$u3iO z-6_UmOh`9tuc7=9I%TEX|5TDD5YZHJV2kN#b4R&?)B( z*o${`>tIXHCt_r|?Sy984gH9>B>_2(dxS6AoNSfIdTwVXTGy$C1{Erk<+r7OAgsT% zOigjSo+mFMKCiw@Kb1B#VZNaHkOq()U0DnUh7nz^BU9z}GJ)A6n$zHF7 z8nIlSK;9^)TO!&)Y>5oGO^`jhfxjzL@$#^lhP!2Y^sQQH%OEYy)@?Gp5t8`4mf-9f z>Ct9R+WO~I#P{-j%@y8piPuUlHKfS2a7Czg?XmzOWIY zn*a7y9a39@EU>vS#4n&qk<7b9keq(!v|3{ZFBLl@}8HYhZD;2d^LFzk3#6ZA=@5QV3l=BDG7wx7ka0 zaoyK+nQ(y8evCgErc{jQD#Vp?hq`H~-f9@1K*{ThxaUZ@C>h)d?=t zd{N}+>b{=;cC@xrF<^wrAt(k_bLWGGKtMuvWvhOsRH)t4UF4Y_+xHotR< z3&Kt$K2iLf@$55mRJYnvg^@9#We@4|f^46VtkuUv%2utY+~B0@*KUO94~Z>^>LV|v zPU5_tP7>vJXFYmpa(d}ha^0}{5?cd582631_ZiT3_i~fjHRCt5I*L$L-8ilzDoB5* z6CiMMvG{==`w>W`$$)MWec?;sf{jg@edo4d?-XD*WWD#6aZMdGHVpy{fk$$5OL1lmA zt(;-do3tmmw@PAAIyBbziF96iE_JkZZI38kMi{jwXFS1!Q<2o(&sj&`Crnbg-uCc$ zusZ3Mx3j)c(PSdCG*G`F&(}kl>;bTjZ^0hz4taisXB#pNu$L;Qo?nK55-VYYX&n1$F$*j4#%cV) zX{jzN8HO2B(V3gP*7B}1m!fBsQPy|HW@z_j)Yq&vrDmD$&)!qD(Mg(RubzESWMhDy z<)NH=N@DxmU{1(>&cwpjtZ@!LIA_siYsD}xEjs^-_m!RN{H^GDv=i#po3Z)Zd-LvV zuRNs|^x39-(Gna<3n5+$fl@b7=!L5Cg)k|B2!qAey9+U{Mxl+1g|>@H2Jl3NrQ5B zq&2F>wUx%nS@hZ~ueB{y^QOVN@vHUyMvHQLk7sta2zZfF&TM_aJ56^`x+Sko54 z%`M(06?Vq${Fyc3U`c+r?X0kEaZ5p=@$KU0+cKxuuS@St?`+FkiYX@VT+`aQlgz1l zx-(X`qv>{A_R&x2n?H4m1vQ#}zDxgU@JR3><8Gkf?sGQ|Bez|juw650wa4ST^zV1A zirHuQlVRU8c*)_>KJoOPznhj{)Bfk1`>1g^lJNj% zU_U~QKius=H|!wJO+9M-0R8SDC0Hm~`tX3|Fst}VPV%8**=Z-%#`F(Obt}Hm}SRea>9zWhrI_~M_c`tp!rg`#B zjb$kLME~l^_jU2H)05oo*Jjin|u;W&B?z>18gz~om*K)dpH2<#u1JTk$>37eB+={=q z`nUd1tkL4%^?wouE&i_mscCK)LrWj$ ztSw?_X>`Qy!7o~R#}Y$Jw`>sH#n93lqUTvLwDj={St8My5;@Y-z707HEnOljjG?8i zIWFpZ3&>L&3oqWHvHT#QKu=y~jiIGKGI&9>G&9|n;??Nqf=yTAy#mmZmb$<*E|o=G&^0dovVy*N@H$ ztKV=uv{jcQz4a!YyNO}>E&Ew!IBJ6akF+Cq0V)ow-J z*3vSp)MmT?`r18R7w^~i^euf#?>(@e)xP=A`J9Ljf!n1jooB>Xc6AJ+Kl14sCHvfy zG)~W~(p$@_6w!Z~`rc08vgvA(zE$g0$}jNGw?rSBc57EZv@bT?d+0bnD`McZ{!#RS z^Y(1@BU_g((Z?P>qxO%zNV`fNds7-Y2wKzniapI`h^l!S5Sq6CG)Q!e^BGF|Je)09 zj;(ekTwVlj7%3#{Xc+y-HODZSUUYYjJ3rdl2MgmOo#3XjVAT>11Bqx_W3{T1o8uqCB1F=tX6uiu22Aua`$JYpsKv zE$W{Y9$7SKbUIr$Nv|GRwg?cvv3k$Qb8Pidbk@w*)zAJ4wH*pF+koY+q)5V<-` z!@1E8vs`yv9p~v^pdA-U16`e#&lI4YRuf;mabExN1?{{!Oz8GzyPNCu&CizGZZ3P} z=BF+PnE`IDN0lpR*AuS-H@8!d4_>p^Fo^w{l|0P(9v0U_+!mltfU}Gi+QIYl11A901Z7oluAMUkl!!J*oVlmR27O8;TzFq_5-3TqO#r| z511kxZW?kEPUEOxPhg)tgRKC2tgO2m#&;vbKUJvK0Rw9b52~{^YYge+*>BHmuR{PiENo~;?2ok71u!C`a0>`Fu?87>aAfefydv`q5PNb)8mHR)28t z9Yq-|%&GPtlVcfAgu$2oSSan0V9G=OfBg7T9{%-9egHyQ|0jR?yh-5G<4FXcE_Z?s z7x?1u!~W?PcMlw*|Mtb+gT-irk26}EGvY2RM2jm>gUer?+f$Xt@iw1@0^c(^0bOZ9 zwd=x4;@9NiB64t1SuxQYqN1{JFLA#qbuQeIkG@rLZ3TesAel5EvL36cmI)p@M^hLqbCSXJ0=*KfkcB zu(-Imw6yfUW?$c$|Dl<0ByvzJXK{&uQ$K6?2<{svLz-h>a;-)RsO}V(pEE~3_^m-;3$}gn)t5#O zmHUSV!9sxr+eH2HZ?W~8T~0CuqJuw9wanOcf1YaN64Ue*|2WkqYIH3AI@MY^DP#8a zOL+ou9l!SV%LPAcl`;GJ<)X&nj^$q(gs=nU6^sTU_tUR^y@bi{eZ8jA?|nVb?|r?6 z$M1c8{lnk;`jPX$_w@HkEI z^S~JF>mP?#y&il5?dx%ZIGXEreajQS zuaAmPc1eu7PxdA#7F_mcq8Z2c=dz2X92Sb#(MR7ZNl%Y=aM|5X_UGM3PY(Ci-OP`V zlCf~b;;=4kxZ`nuTf5NKd_M1!JJ29tF#`?49Hc>DI)*d|Sr`q%K6I)zz?^D#pi?aa z=2W{5oodH08iZx&R2%h6gD?-BYVToAwbRh4_A=&FI}V*{yD%DrQRr0b3!Q4GM=yg@ zttSbjLHN-IPPOtR(5bc?I@NYS8ieT%=u{g9oob)ALZ@0y=v4dsJ#?z2fljqEP0*=! z3eq4ve+!*z^B@hvYz?GAuz@rPSLcUv0J%;CPPJFdAPvI#0C1|!EP^x$T}W`MWy^O5 zr&_^)$WM2&8vVhk)(p}hWMx1a1QF;|Ym^F|YIhOPsWu5Z)z(28g!vfgRGUN;3r@8> zli*al76xe$=J__ksg@)hoN5;YBv^Vp-ysvvtC-Yafm5v>0i;3jgER8p;K)iq(NA8hEBD4m{YAiq(M+crh-##xCuDb%3@BnR?w+-4bmXwHCTaD?NT5( z)x!Kkz^OLN7dq7rL8n@ahvg=${ z!Ot6P?7#&zE7)Tku7Q>d-*SNlK@(^Y(t!p+7HAM$fCga+Xb>tnjfA-RJ8iyY0u6#P z&>(~Z4FZcKkC|lN$beZzWl<%XG)sX&7u3p5B`K!bpN!eey;Gzd#TgHXwC z6VBB=D>#@4Gzj8AgJ26Z2vb0V&;T?DX65x`m23|0xjHw)24jH+K@eyVo&gQQJD@>u z0UCrQph2j->blMK`DAM_5@--$K!czKGze)xgCLnZan8J~g{10=H!F8LzSdAE&>*k? z4T2odAb0`|0ub$yF9Qui6)RGUyY*7}P!P}{&;SjB5YQkz1sa3~pg}M%ZI!BG3Gw3o z$V@Se02+h~K!d;vGzhXlgWv)*2+Kf&P{kZo&i$UpcG$-NT}JSp+lV5p_6rN7L6FRu zyJlX}X;HTx z6BeFDV)42@o=oAa!R$p9w~f9eUejzjl}4aJ@J^9>t)No4v|3s>z<%di0oUP@?(O1l zRR*aAwm;M#Y&$tNqJI+F^Q?HDuOE6RAyQ_nxMH}cHQd!jUy<(e-bkxHslTymrL1t3 zUax+1bw;E{i+#=dbYpam*SNOdMgCQJeEpj1p8YhB%33 zdr%}ao|oQtp(wIC0UCr8pg}mpy@?>LnYt{>|4AqbXb=)w7)}9kF9+xeph36TC{WP1r{5O{zF;R(%J zH|_=&zX=p*I`F$AwPVS1vbgND|BZBJyByurwq(obIC?7e?j0Xm!KvxET}t{eHt6JM zYv}P>a>n6wu*819TP)BYtgIBDI&C(cZg06^)hHc^y63UFpKs#@8ieG#?nH{>g!}HZ z7d$SADU;}U$i4EQ%7I_3@%Yi_!4Sg(Gzj?V9#{6|fd(O1$P-4z12hQTTb}$i+(3iS zuIVL0CC(Y+<>}>hor4=_5J=0tWW{a)4T1v&&>*O-R(ro1^j3AS2O0z?QJ=d*_CSN+ z9_^zi<^VJZzI#58V;r7}`3BziHQIMDiSZ4q_I;t_XtD1b(@JjR?*lXl`VM{$3qDRY zeouz{TorxYsr-$_{JnF0Aq~RI7=I+5U*M3xZ4G&dj(?aK!e0jwRpSpd2&fuF0u=&p z1A&|2ou(t9po5f_L*_WBWY-{*DE*4sB=e{On);CyCPL*70d+V5bvlx@LjmK@1De|e zo5TW{fd(N)@MBD%eOcfa9a!6bAS=)y46%LH2{H#7gc{Y}njo+Kps|HF6I7_))_|Ed zi4h0X!!XoR4$t%u>W49EqsDDrEO`2U@UDsLR!nf=d(`pJ6`(=5c_9Rw^U7J>kS?!a zyjnh>L6C$r2&`n(p+bV87l&a4j-h8_LTQxTkA^~{o&gQQT}F5qhfWwo0hf8sK%1}pK^$)vg>MidWp(GZeyy$snI6`1Q zLS4yA6CNq56L~M!ODQ(;Wqn@SnU*W&UVIdg~O-fhN}!0#5om_r-lDQ6(csi2!;*tc+l7z&Qt`Q`OjwHhK5+%TyKsiyGCh^8nf?Qp~ zEo6d%UV;)V;r3y?N=Lj}T)c)^yq0*pHbMOTkvQGFIDMzMhstq}XyTqM#XhTxHAKc5 z>&2SFV$Ba@UUtM-#>H5h#n_6+ye5dTABlF%i*|O3c2SOYqlxxdib8wUMfo73{Pdy_ zu&98;$e@nM;JC<8v&eAq$Vh_7=#hxnyoh+Gh(zUxWSWT7rSSB+@JwWQwqAHHEIj`( ztgs`jI4-QzEUa8StdbzCdL*jt9`k{;(r$J3F1x?ol%_4*5^@0{*LCc4Ms~v&sae;SGKXez(fD%u@^ZWhMx0Pwdh0UT+X5mO`+?$T^1Bn~ZQaXn6Y_twrklM% z>7ZVY+N^v`TlG|;>hCoO@H5m2V9eP_!=pzx|?g`2NrOBJcA;-#y-ldpzOV++laQ!nC+THDUks z3(e(pgJc)4d$cD<*CB$dWXkenb$&r-%yTUUs^y*Qt*z1@GY@x za$+LjEk;IER9Xc3DI+F!0}huJ7souxNXg6GP?Ec;qM)dyqN1m*{a9b$`1x}Sb2B?z z8z%<`S63G=FE4LzZyz5YUteE8KfnKZpcxw*8y_E^n3$NHoSd4Pnx3AXnVFfLot>MT z`(OV+!%sph{Ji4ve|ezc|8G6eNWs%Tkw6bL9|ivH15JAg;!wDY`d@D8vt!|}GGPxC z3B5f zwL~z>V^F8E+K84m;g($Vv&=sL&1i6Y6IsOjKbFUw2|r$vb-`o9xb!T3Zd^7Czg_xg zF)WwEw0{8_)|U|$OTPe3TtdjN00LW3#-9NMmp=mtZ~hD*JpUa)cxCo`6Q1yoO?b`U zoA8{0zc=BPpZwm0H}kdlwFzJGdlP=m_}3Fud8E`4d}FPEOF=29{*vvJS5TJR70W|wBAV5<)4*{BQ6A++5+h71q0|wCa--G}S!_F1}G>sN}5TH?r zfdCDTz}2&q!_v6GrQfy&0R)s36hN4THsMi{&?fvBD1d;HfHvVjKmi1VIJ6003Iz}l zVo(4f844gEL@@ybI21sDi9i7acPM}W6NUl^7Ek~ICIoH5KZXJbFhOV&UKI);zyzR8 zcqu4=0ON-?;kltrct1X96P^JIAo%f0Zf=BLf&vIRJhwLD-b~F z;8N7s4F3Ub!Y^{FfB?b}6hI*0gaQa1Pym6I1KNbI#RL%8^}r^45fngBhSCj22i6hK(rys4y zU=#jOFbV_^M6E#p;gB%{1Q67rP533|91uVl-U0yxv#SN+6uHKd?3(?#+Ucbg1$V&m zm{mmmUYW^k;xezgbqE*}`n5soVpW#}c9CF>&D1+W?n-wvN-{ea_f~RasR-%gwi* z%H3dj3<;LU_<>9R9Jur!!Sa{~aOpQoYreMJuq#vk1eV95!SWb8aOocamp&c1^tXUZ zZ&g~q+H&1_M!5qlkA;KfF(%;B-vKVY7jWs%fScx4NfTZx(>tsb{@F&cEt4I58l(F zE@O*iG@}2Wwm=!Rn}w@2&Jf4T!q)1~Yqk7|>D_=! ze;&B>TwJK;;Bm_cr|LPWD(n7&)dk?v4*-|G2)OjGswQ_=xf-^JCtbFj>d@#a2W+nO zZPL1_pOPXUzU8fZf2x|kP{jR_Ddd~KrgI}$9&_U_+`s}ZJr3m3Uj!~aJ8vwOVY)0xte&6-7rzGV$Nq;8Tw*}0BJjOunPzlp3`uWd|hNzFE#N_Kd1 zA4iZi?z2ftZ5k9F|7fl|_?#rVo%UvHQB!*UYok<88M^2s$-43A_Nmlo-cHYYR_LJnK)$>k|?ccG$T-i|XmWJMO z4ZHGCd9Dk43W&G~!8~_kJjD=h62qRyd!91;Zns6e&gy!}>AEW*yzo(8_fYPt`(78Q zyfvsi9_V_L!@PB29{MP6nqlw9!ydGke7MOSo)4?g!hD8|e9WknB8Pln%|34xIITo{ zGq!!~ScGj6zTKt1&Il#gzOVU=?>iF?FAzW|AO{k=kT1&bLYiL)l~6F1e+{31q#t`U z%)bK1AL%C;JM3Sw>7R^Hju#2=)d|SVhM6J)c)bGh@f`~H10t#dO0&gMbpz9^0#Q_K zHK@R(FM$oZ_e!XOB(Q@%`mwgcf;t3(I!*XHhJ$FDgL?7#dqjeRHG;pQScVb7eb z5qx9&!Jecc-*r_cbwikBLl#iXOQ?{MJAtdZcjl==>H0&q@tJpFp%&qxhwV3yheJ69 zL$O$SPetHAuEX(0cyMFkk4xc1v8wn7@N+Y8Qq~*fdSNT%VN|gSG}U3JR$*57@Gq(>qvMKK1iw5y`93pFAXAK^tU@9BVu zLLdVC{ewmjaV7}3o_wfiY>IAdv|>PbZ0t4bnD~w>i3hPumyoH{SJL&6H@suBO~t^| za7t@rVKsd*b=(MVT)Cb=u0venv$z^X`nr+0FB@@91oR(7<3Fp%x9VwD$Hqs!i|?YA z{&Wx@`aS+jwLqUZEfcck2;QN4joRk@bRp)bUKn0kXcjV~Zv zKtGM$KUG95Mz|)8Hz!TXk%NmZP4+PLZfB}IGF8zmRaq=mg)sI0Xo`Anil$?VmQsoi zO^V)9vO!Jqqkv>X{p6=?$wr4sFFKQ6B9lzbl3s}=y(Ub0Gn#0bn`rHrXseWHPm}1d zl;Bj8;1ZDFrk~)!20E38@!p;BzQ}lgv-m)<_+Y~L(9yWC+_(tGxG1H#7@D})C1hL; zG9dt&q>oHtL#7?ZW^~48A!BpQV)Mje3kYM2MiC{sh%!e+g%YBQ22s5fQ(F^L9}v^1 zAM>6qrui_sr8Bw>8QozP{Yfmkn=ra(G^#H*s^2kcP$_DNCTe6Ua;zqDA|Udce&jS; zSKRc+%_@KX22u-U6x0a}r}z|JbPn0R)h$ETJ~< zEw%n@rxFAZK&mq7={d8vc%;gI*Qvw=5I9Q6RW4Eg%kBXw6*noB2q~2`DU}>4)jbL- zElR3~)HKg%XpL#;OlWCMX=qHTslaCheojH9O-iMP`Iomzsia7$L`kUxNU69;sW?fg zILN8kD5zK|shDY~ZqiZRyh3&J8r99~n2(X_Cio#G)y>OPH%b5B_{gZ4FVnKpFmTXc z<6^kZ%XpKIiG}|la0tnB2rF@js<4Y`vPK(zY9!!>yz=&BVWn6M8cth$G)1`uJ(p)?M=sq8}9FK`nGZf zcL+yz-HPwkNb5Ju8#XH$x2c+PsQLb`@khYNg~*PT*zWcCp3Q{bZSW=aZl?Bt4E<7B z_e_1)*oRMpot@oX?Jd1+O(X4PQ=NsgpYj$y=PmUX{Om7T87y5JDqkC|T%V}fm}=UX zZQYpf++6s)x!AY4Jh-_!ytz8Mxjuy#^|x^n-H)sXRe9*yypcRWq3hmH9JPnQ+N+oY4qg0;g7x z`!iOlZQm+q9ADB)q6ck?Jcqgmvf(9{Xe>DduKpRTWVVwxk8FGXw^-#V$@@#PUN>`p zu^K;LuI+{NNDQlaMwt^5YxkSg7{~o)HMt3YvYO?fKUhtk%b%>~&7ZN#=f7i>%l{Os z)cY;dtOov;X_k?%ZQ0p2K|mze&ZwB_(-l3l>hPa%lwVjl4o6D zQ^Ys^cdXLmSFG~h?^xxXU$M%2zhjl>f5j^4f5$3^es7BWj#UC`)A1`-S>}R+*%U!y zHbq9UQ@TO-zK^o9x(A$??tvSodw^btx(6annC`)*9MnCCz;q8RR-o>| zVat_Zi^IiF??OQLpfMNf9$Z<1x(7}{@(S`tD|LHP3#)+DNF-on8Y2v=QT`><%tA6v zeISO_&|_qpbB`PWtGSrE2eBF_467N(u$pBlSBTXl9s^b*{Td_FAS#Y70hwk%1&a*G zG+$mon=rb#)1WSVG>G#8-m0pl7Z)3jn_ znrlmtOyh%*Y33lAMhYX-e1~KjG$hlcPCznE1Eza00(B2uq3%K2Ak;mOg1QH3eUMCp zhGZJ1&yY;h3duCrJ0Y3I2a;*hTOpZ76_RPvKR_}KA=EvXZGdE&FPKe{T1cirLNd*Z zk3>MGS;ce@7@+RK1x)vV5$YarVY&xQQ1?I;(>=HWbq_4UflM>UoC0K;kZ>T=%(0dL znWnImX_Dw=of?p7_@M5={2B_#G~pNGSA&=T`fF1p7TOf?2}}SoP3}Hx@4IW5 z?g1R?9*kl(MS>uirWBHC77nn0OhZTrWST`!NTy+fx(B8nkW4d)k!hSEnWhrj6j`)~ zx(B0yX;Q?wa2Swj*;{B+WYY)8G)u3cO_5GWrZIa3ZHlD&Kr+pUJCJD_0)b4! z?%D)o8aZzu)8xravFTKSO%XG&Dbfu#MFJ{{Tz7y>lLyH(xj?3Q0A!jhAk!!TnI;&> zG=vqU(K|q<$%AB?Od!+T12RnvkZIU}Orrv1ngAfv>_9S29wgJG0-5FxkZF8@OhX7{ z8e+EbX~J?;>kg1<@*tTe5y&(WK&G(=GR+c@X}W<-698nI9U#->K{5>z$TR{#rg;fu znoc0o1Ou6du&iNs2go#ekW3Q|WEu`2)93)1CKt#wDnOBpP9K&HuuWSS5l)6fB#Mi|I6WGR^stPVHSF)8s=kjSrA%h=5E(31k{JNTyK%GEE?mX?B53lMl%> z@9Y}NaJKU22~sP10#Epp>Dd=<$yfIJWO4wRX5=ovep!gC%}XXu(_XMCk_I+KRPq*8 zvcRT@F=w{y$*6jSer2YV?Q6{fvvIH~QtKj^?*cYO&Q*P_yvbE)?K1voOTW4SZENkx zX}$n9Mf$;}NCDUsd092`d5)_*?PS7K)1dBagPlWJ!Ru|XDY6VUMJB+eNE_G`$>gr- zcll;pX3)6mYVQVQ8m#`>N$dvU2IBlR7iQEqv@uT;HhRi~?BNGIX_z;VX^8mirfFS8 zK1u?a#uvym%)G7quHS>LAGTaMg#|(~4Hb}S_<>CG8pt&BK&F}J?J`2o#P&aI7ix3} z12WBZAk!!VnI-|qH1gF8a#?&|B3yrD@IU&b>gE^&WEwy34`lZ3-7FHk{@xn(OBX)f z6=w^h)hkbmO*Ajm>cURJWBTqIzZ$G{L$TeA?A{$k$DQWSiMfZ`j#jpFOYl!XVuDETdi9I=S%>5tgp& z`Z-?~k%0RtgkF1gt8KokFW>o}b3lAV?kEH}!tCffd`TTbhpEEJa)Qn-h8+zDGx)>N zDR5CT|CVC3GgU_@IV;I!)=+B2(9GdbWN|pQCE*WziZE30aZ~6d$`6|$@(>oRe88x` z5KjBuw`bjvRnh0BURal31Wk1WwnxB(41v^0STGAoe(!}L5`tNi$QuX2Y967_2q<1S zL~~SMQuF6Gjv=Z;5#C)4(J_tCqxLc|4LzO0dL|t8^x&f1@CBFxiK(t%ibA-cDI7Z% z5$NxuxbJ4Y=xr;?@2X1-ze+;d1aC)0ufxK&SOO^gV5BVPz3hE5V!Ya#0>cnQzW8UJ z>_=%ic$gDVj8TS4``eeZl2nddK*h$!De{N;5$F5b4;05}SH}qxAjA}1^4da56iHmO z9UIXy#3lz9$+P3%3%i&j;(B7K^JHKjUtWB(myq8UGGiLwCd!{G>N4C!U@srxa&WOv zF~p$54R7DQZvP@dvX7DoN%|A_W_e$coanFva$>k^f1CX|M|VO()&;7hth2bOQv}H* z$vID5lZQQ%k_p()QmEh)k`Pcla8LD}O35loO-zo(K9j~ddhNb{ih5~Srd67V<8?7H zHi^-+yPIjLr0KWCuHO+8r*us3`9Qe2?xXYUtbq)Na%XxrQ^o@%TwDLH?%@NinvAsm z49%^KCp2Qua%GDeM*r5yjxE5^)3yG_ZnO0+K)V;e^zGtU&0#&MGylq5TrEMKxW&O#H_ z4JSudIg!9Z^XHLgr?JY`&nK*t7rHyWj`g~{;CJ!pBJbD*ICBAZiG!pfVH*o^=$Yc) zAxAZh(iN*xmQT5po%F``ME=7?1mYy*ejfcViDz{Jhy49u%s%A`rBCt@4lsB!!FjJN z*EMS2N(A9FrH|2YA?Xu48HI|U&nk2R^Ym)z4UR5q9N_&BC7I9hNRPoPC-Dh5x>%H4 z^+*wBmE+qo5)G3lnmmY^RD^Z7pF8b+_tO5|95eCmRpNLV+!T0_^E}~Za}6SfU}3VU-4Oa}0V_W7 zTb@EIdAErtWfcZoRe`mBxwWg7sMEKJSCx^^O{;O9y53rLEi^6c#Uea@Tj>g`oEiqv zmzp{I`ulyg&dk1ZRQYFrrcQt2oLSDPW>2Gf6&}18Ku%qKD=?ygx_U^_t@EwD+7gx` zeuMgSUH`d;u;sW{%LqGmMDZ9_)mvBm_@<%Krrc35-rjJkR`;mNF2#WUn2{!9F%HvgfD*=Td?qVeM3>E6+G5pLw1@U9HZD`^r?QP*=0`amyy0CWjMPVsK5a$|n_oOJYv!zr zQ=fj%53@JRb32{)rHBXr?Sm{k$ql*yOAb3XSRz(XTW@L``KPwbrM8hX?U4q4R1zc_ zqCUv!_9Mpx`}shNHtMiN-v$%73~ex7Y|uAx1n1Avcyo@#x~61~yi^Gi1Cp+Gi3S7Z z+||AFmF?L_qZbfQDh`K;Tt&L=YFrYZTufv|#Vh3Y)e)pSCK|P6(-P!8d-=|e#(y}z zYxVf^I$h7EM9=oao?Yi2FcE)P2PWcs(8oPk^u1>#dvPB1;<@zVpY$~U%xmEwX^ZbI zuIZYQsA_A<)(;}KY0uW|CFttvZhRX(*VTBi?lyVcg>dX!d59*2&6hILyDd1|Ax2~2 zSbbn3UdW|iB%vQn#7j){OP%zCiTK-+183`dTRT-Ry7ZF<=Xi;_P;_Twi@AK* zlX?d*5q~lQCgM}UMEs*sFcH6TNYgYkWJ!D`4XZ#KK8#(EGGK<6?J@=?;%mS}{KOcT zh)2C1*bEqGdNkhZGTxpr-dR81H8KAAQOk#d(U0hp@qtGZUtK1K6DCIMC&q)j`c`Q2 zCMLi{{OqI2IhVZ`8bLG%Dj#Ph9wzg>*OK1t0fH3Omt5|cAh=t=ox9O20!>BqAmdH^Qk z+X`?Ld1m9nW|Xe{0MP?55ifOuTRk(KeCCJtC`jVIg`XWGuJu6 z$8)Rob0B(PB{k3gdDddG_q6GUO~X7IL=Rj)f75lHXFHm8d%WP|y5RSC@-^4O+^6sU z=mq$d#qbN`%DuBepNG7p7Lg5$@so=-C)o6^iwq!{{CFwTbxAM*=Qf(wIAjS-#1~&# zUj2z}@C2u+Z>cnKxu#*crf^AlXRZ!J52St~FDzBME;p(E1kr;osre`_I@ILPFH$Q5 zQa|LL%=9My9Bfz_pIqTZV;jJKG=|JOuCC0vt}Y}_-Fvb)qPn_>UIi2JScN#lt8{%_ zYx{|7ho2`D)Yf(jSB|c%gNgVy7o2-K(QT6@X_MtM4%$NcX3-`O!xkSyk6bbCPgQz)=`FFw zEr~a0Wr}f>i#J51HzW(B0ivQWmN*6)@0U)_W1capPzS&65c z-o>TUUH{!Z*q<_N38t6+-95O$R~fIj^}Bm;LS}99B|`=39th6%K@pGRK>%6sC%%7>-zA(Y7TS{s)#Qi+AIx%?tv<=16YZ#cRR=Jo@@pl&$IA8BO8i^i#j}`|c&|6oIF!&zyr<^+EodeFL(jEx9$8}HSsorDam-3Q z`LZl2W+guDl^JFwUM}HYWQiQ@n~#=^G}h2cyw>=JJXndh`fxQ6T8Tdpw^C$I@+z&n znU-Fv#GVkhsl-_|%U8uwi^G49SMkW|9)HiBtrEWe=VdCwJNjEHqVwtK{(O<;kNo!~ zGit2wOP}HlWJzJ)C|8r!q}f)xOZkF4?GCNCfQBNjxuu3OcguFFJpYe!O$p&0fd}e+ zIJOTo?+=zfc%bt_OHs?fTTuIoVN`{-!K3sY?ML>wygHBFaJ6q6dfuqiJ?kqdr1xS) z)=uwb(%m9GldOzranrmOAp?$c1C<7Ej%s%eEZYh=A6oU?6&AGae^E8@`Kzt)V+STr z`^QdeTA>Ecdp}|-9glEDrYg}Cs3)Fn*Y=-yQ&zG)^OMAG!nwJmFX}zxe zRygCcZ_rTkalzW<%tqeu|mhH^;npU0M z(*0Il!sj%tKT9`$vF?@k)v)<;|Na-70Ub&W+pmT_eYV3dW7O?N-x&7UjoUM;+fTZ! z_1aJQR;j_hhr0E`W@F^l9OjZP_Bt$Ny$pY`RP<)t@n==&L#NfoqH(A7ww{O1n>}me z&f7y5AGz#)FRYgzNEM=p#4uX;H!{mPpe$0o?uE&xAAROQ@zPR=CGS zjznxmk@vHT@OPBviMYI|_Y0)!(Q%8N+M!>zfuLqrfDk3|Z z4fhfL7(!%;lC4>Q`$|6#yyzkFu?#=VPo5);I1Kf1k}AyqzBz(4Mda>=LRf&#!(g%! z)ZH|bus}ni0Lu3wa*2LnK`-n4sryiJG1+0kZ|+1=OpC~WM1_UeTSSuT{7iTwwEq<|*|j{?FmjM&&;^8xhKnEW%>y>%Mb)phfRKy|CrqA}~i9 z7Td+d6%i|IGso{nrDD1YM-J9a3zmq=zP8x%p4grvd{6zEEF>bHNnl=78lh@y0Z&+| zn-ZTEz2)$E%VVc}{_I9<5B6$A6884I^eLs9$7*OYZvD4gm&ByKxwc)1Z5Ix&()4Yq zM5fM^E!=I4Q4h8VO{1@$l)oh=85Xkba6@o$Qw{lLrXVt-*?LjgjZ!mqH6&B8enQ1k zOgv$A+g5UCamk%#pr1G@JB@!yT{`ALhDAt@O8vNIikK*hYm^U55K?Y^VaKz#8X0@;SZFp zJeDnNLtZ#I|Dxz0swWJ-5M7~Q9f5!cy#Mj@*W~%{{%LUgYjFF4Po2wGjnn5o2Y5Z; zrNZWUkM&=E@03~p{5+Id!RM~T>ZZi%qR8r~$Ocnjx02&9zsvRfHn)K^&jSfw6)`?} z5rNx6f-*uvQbNKKg2IwQ;1iJopRlO3h?tC+#BB+wJ5n<8w`7&>%HLN~*1WH#`#|fl z!9(Nc&tJcKWou*Y;Nalu>gwj^=I-w9;oU3S$0sHx{y%+% z@U}aa_erV3KVG)6|IcO^Gu5tTLYHmaLW2Kz*=~&YKeXwl`gPgnl>y5}f1P36_{{TW z0d0`>b~=Xd6`%5dvFPulLc^yhlIc!ntJ2K>%J1LIFgnMEbP;Ggrn>2P@DDSLjnd14 zhUSsCpJPwlxa)+z@s}A!@-OG6P$|umc z>U;DnQ1o9?umCfRpy+?8@I07d{Q8R9VRJHX4HW&y3>wgQ9H8hQiuV@GFy_B)I>-HU zy_qC!>@B!#n_HHX8G_3;-7?Y=T(&t%vl&9oH#=Ck^{qNNs(zLt*&8{wx&-*Ct-D3$ z^ZA2?*M4sG$Y>5*_uip=ZR0A-P_X^wo?DDfznVO!?c4kJp-e<`t2)-NOvHTVLqb+B zkclwK60#dH1v89e>b7@;z-2plR~{7o_x@7!pZ~j}|Neg{`u9gemu<>C=(7E|Kprak z7Z!ahJX%fqr=ovdJf`SxfGPU3V~YMsn4nTT|#=pP;gF5B6eSHWf52a}2L{f zd?VPOH)#Sc+uh)@9RV)em%(M5_@?XD7`SW;$DmK%aAI>z>4M940k~{yg3ERcxNKjz z;l(r#F54mzmmA*R;Lo2{0GI7xaM>mUmu*UL*}iZ+Kyw^iwnaj@TrKI1IA%n^W&1U_ zZ1;o9b_}>|UtofJj)Tj#XrP>w6-7k;EDN}7tANXP1h{Ndg3I=WYtd!n;Ib|1`xtFS z+{`gY1uom1&}CZ_T()DtW%~kS{LDDGY>Rr@HCW?<%Qim9M9_M%CwCvt-(oNB^+6{m zldWjo;TLlcaoxtJAzQZogKETRcAAvnp+>V;r_BlEIe&-!3xrD=h6aQ&mLLmw2nLfM7$=lrGGVR0g%QWeLaFKCNKKBH4g(^k|? zG>`1RHtdpQ6}%2Kt{tm95<-QxuULvd7@xDCuj#Mf&xu$j!oi5xU zp0(z3e`69|`LYpPwc3O1H~>o;B~Dzp-pX4yZE#QIWB0+jKUv}T%crRy`BznftexM0 zOav8Ln9J&wPu;AIxM*jO!e*4X<`1s>v|UCGtwRVVXML|;nBMJhFQ_xgWatZ zY>|(Tx&O{6z=s)(uA6B>g`MhevpZn8!VIRE_9QOGvYoH?r+$&YLHxA z&Oe%%sorb&#=q{lHa|@!-McS=9*8J%&f{-9&~ua8uI4&fbgMu7N-4fuhBn+?v1VAA zJVlQ-bGueWG#*<@OCK&4qIbU4pR5jvAJ2T-JLqRv-)%gd+A4Bu2Du3TJvXd&*jW+x zP#t$X76*`th^lfY@^iSb?;c0#LAu~TuIrIv??I*DNQ3go8uGZ3?Fcdv1;X#H<2!*& zL|M!`HWMe1iKyOt$J6cvG7*hBoD! z5TNq4f_Z{Wgc!&~410o1gbeDED~s%HN_8?$fq4`a z+(i~VscYRx6|y1}G7A%%fQ1-?OoYPCpTi-iI3eqPf*=#2rxCg)4#J9}Q50K|+9M3Qu~A1QQ4jqEv<{*!%z#V;!*jjpZIFpz zg)$NAebE+*(od;lu(4xos#!rM0{tw;aZ$iwBqnVeWFl1Fi6VAB#Q5aU`^6%LOAtY( z^dSd`flIOB)epS&Vt?KSnFu;$b?klH*u-j84QixVe{6aOEyzS*;~;YnRMSR~oE^yG z9L^lkxC-^SN>N%=Y@ET3xVl)ehJ(1h0pAaz^6&NHyGrBQt7$r`|O&F!-7#T@O+DMqH)&`jf?|tN)L)4GhMAWs!p9k6t2Zq% zC#9t$<-=l1BSC5%YihM(YNcsvnSW|=PHI6%YVKlc7C~A%Yg&q8TB2!MoPQc3CoQTY zEqpO8lpsBbHQiq^-N!WD(?8ukC*7qZ-ElG9o*=`9HN#Rd!@@MXU6khA7oQp~wvnseSi2R|nVw(<5>!06$+zG3M2dq z;n{`3?S%mgg}(SjUMxi(3Pr9aMNWQ2u3MIl`pgaDDeyxa^7DeK*GSG-mC)7-NNzHnzQv<^TFjWo@AL(Whcpb2 zb_16su2jI9kr>X1y@BU8&BV)I#wA;Zy-EJI_mbv^GQocE;NXf(Tp2MO=Q$itT)CXq zh^{?_PT@Soo2k-}unPU!iicwrkB|PAi2!wo1WP=ISC!^tl@>>pZ~vTO1a$~Tnip5` zl#c`jm8qGvm6g4{y|c5ki;K(uaG8ODfx*GSuV23o4Gj$s508xe z|Hox`RAPA^XWscIE<^W!REMBB!#_t1y*S7?c=w-{7HcCx9fJ5zF7wa%&d=Php?qiY zCxn3Me>LBk&>BR=L_cvy<$sayWB~cjAKc&nsSZ)lZ!=BhFg3wq_}u3o@|{nd4qtmE z%5-sV|25wU)29LXPA&3(%6Hn!Q2tZC)4qw;m_y(%`A+|mKB}i2*RTGW?=%iIHplUy z{7b&``x&`^pYJqd{9|b`AR$%#e>dN`{eM%wbIa*hzVp7)R_a}5z-1&fy+x3%ZKY&9Mpsw79PwE8h<{RPi9zlSV)gaTwch` zDm={1E?PZYPO7|c^s`)+&1nTZq~`olv$tBCQgzC8y#5UD{_#e;ys7hMm+-~e&Cl}O zl0m)q-<<3)XosHcj*Dlz>`nRJpW6E#^G3>fHmL}GIF-?ZK3X@JcRk)7Vi-T(oi93l zy}!10dRnl^0O}A;efY)h`1hWaz_Oa~#MA`OIVa|Fce7qsn_g2L@mHg;(3#)#Zg;rha<+11%PDgd~N5`pD)2&UsNM4(#5@|Hc z+O43XZDs15M(1$3O>|V<*tRb1icWN!nTlyUV%g=-;P!n2z6_AJ7)^qpy)Q$FH;|^%M>~v z)&1JB?Eb`YrpN~QXG>(i$`6Swv9`$1wl!PNJDjs5EU9}OMk8W&&~;f-9e2JI6ZP|#y0>=tN;*(rm%7MWWq}J=Fl6m@y$gdSO6dA8w z@*e8Z3{{U(WZKr}JvK!S)gMx1xt!!Z0e0ehn#}O(lEObeA9buEk|rmY&n} zRK4a4Rgget6nJqUTm?2Yxw2&?C)6WGYru;GJMiLQ6}&k323{PrfENcb;KhL)ccFFt z9+&@Zw+(yg0z)DNmD}GSwVw0xu5UffomO*0p07(L$&j z9IKW(sPVa09>8U$ZOg`*!HWYw@Zx|Jyf|P6FAlW8i-Rig;=qTu30rE$gKWGNyf_E} zFAlDN7YEYd#ep|?aX?x9{jxk?D}Tdmu=RKccySO3y*OY4FAj9Ti-QXA;=sQ82iH0N zE+eVA*#7Y@@ZtaoUK|L47YA>^i-RBF#laAGanQ#9C8A+IgMXq2yf{b(FAi=4F5?Th z3`N0CfpE?8V_%y$%^@o#5iVoK(zR89%e)0#W)^Un9?re$yxLW}H^P%!7uM>xTqa#l zYwH1*aRyxG7;u@>g8i2BbsHhvBC|}P>m8b|)6tD}&4A1J0WL#+DzU)Lb=dc+ZaZ^L zWJ&Yl=3trYY@u6y2jDW1fXi?+O0F6f9!-3z+iNHiUH1&#nkI9bZHS268*rKUNN;19&auR=Qk(%cPV0!u$m7QNEL3d|myN9I5=&u>HIcJZMjtpR$o(01GGJGQEJy zEN}oW(+RkYg0ertU)s|@UW6lY-+z0+H5DbAq8m^LxQyTZbW}i88sIYQfXf^Y1eCYm ziGu}l^9R=KvjHxX9}(DufbyN$fXgVb0WOmYxC}nq=l!5~(%>)nDj#%%y=;Pq5xfJa zV3LgBNk0XU?=j%|7N7x2%DT}RL8X_?Zs<=%ZO=4JtPQtd=Qm}@_eQ!C#)CkP9AMi&2CT~ zedSBEMF-KGcn7#n|eGl!T8g=ohPxtAj`ltwY`9qJCE2&|nLA8KBZ@5CVIY&wJkF2m-Kv_BHQ zP@NQ(orD&RIH6AdM4E(S#*O8eED@Vbco+flowpB?N%SMJ#Zo>zOTK(aLxoH^b3KJ_ zDe}r;iaK@bHKiyD{nRYkRF>Q*wwlyO4yjxZQvC#0VkNqpQ>JA!Ah!)8nZ#G!A1Q=x3xJr0E9u>C|Lo`=>u1MLeO& zgo|cA7mI!5n7Lq*Y39fvk(>F(G1F2h)0!sJb}7TYCc_~h!%08Gg)PJFFx{gw9qoxs z_clxS6-)OgOb;AQ3(idobxaFWN{gULi&{#JsY#6uNR87^O<+q+I!sCFOi4qgWSFI7 ziKXNarsRz#7vv@vIVP7VC7018S1ct})g)C1B-QFC)w3lv9wxr;Ol(FbwwNWhi6wRr zCVm=C=*~^(aZKn_O6aFa7+i`Us)-*7h#%9BpJ0psb{IF^88?HB`(YM0FBZ2*7`Hr% zT**bQIU+ZdkXtm!ou$~ln%IMY*dzVe6SmmXL&TX+2<$in?kmJOaRkA6#QCup;=GuP zPBE91W5{S@D3+rsYonDi+hj-nVpMKQ%i-FOwnEFQ&rK8k&8Fp@JblG`bg z?&)=dFPWQs%*rK~jGvTkYur57L{7_yCn3(QZ3U4YIiB*(XV+Cr807NGSDr!b&lgRX z1kYE@@-d%-Uo$Me^yqDc?lR{kD=e~WB(Iw;8PZlx@l~GdWx$@sqc6E`_KEXX`tz-L z*|R5jPsFR*HR#&Zuh{hAJzA#naYFgU{gLlHLcwXP!{f-{@2Ou*l}CUEN^N!gSasr2 zbuw*Ds(1~kNhELJ8DZhc-LA|*}Z`So+>H!qzmUpd;makR4mo{giUqmz@<|FE4eU%vGB z_y6}{I|^#rEbAc3zYGr=Oy zcH_uTMZP`>`CCn*EyqO7SK-fT7XDljtlRj<3V)VAJ08jrvRt2wHThNkWL0x9uKB~c zp)@0BPITT~oKJGcJB&{xATV1<@q=m-(U$_S(%^Dzi|LU*izXQebZ<(`nmaOse}kPH$!v@T|)Eu zTc0bZyMS|Z?h#VXjGS{DOtVZN<+ub2Aht6>-LI+)IX4%})d%(LS9bd7T|oI$%oi$u z=9xp~&+ZMV{3+awDSx8BVy0P!KB$o5>);?c<%;H zv&6r_0n;qX0S=)2`FI|hW)VYT%AXG~}Gz;;L+A+{3=v7KIfi0!Y)9P?VmtE`fbCd4g4j++6kt201`yjRfY{Ea9>jLSAhyG& z3$Yzri0$w_nGw%mJFnfTRYR&(0N9Q!#C9|^A-2PeVLR#&+o6r_d`e?&@E)+8wMdBV zs6uRKkQ}g`e(-88Q^-LJupLb$i0#Bgbz35>wWa~v@z()thwQ;3U^__O2sElYFVyixQ)K_( zq%HpR`0`am^Up@!2t7ArDSkBiOTO`8Np&~=Pqz3UZ1bW+6`$=|*%P?@`^Rij^9xhl)*Cth2R0jI_e*34%K)%l1dPjCa55(o1AGfiUAOiqyj2~f(i&IQIMQ-j!n)qp~*QbihzJ5 z$tZ#%ARda_`UJ5%PQgF z_DbEmoh|X^gFH*_bk&n2mjs^CHcomAk3Xe!wfAD>v!u|fpQ3BTwu%-k2S2W!K1C|n zwyhvL6&^YMoI}nbK&#N|L|Oeueiw<(yF9D7q3Rj2mxA5ajnhf1<1b}*9Kt;LY|hX& z%wCd}?29f~%M!1dQ}Y!X$dLV*t2NPat?5ZjS)nbTb;IXBwk3yO@O&?cty#EtNqDrs zai*edqRYb7F)@(qhi+rd;;lNVw8g3B2y5!s$C;mgWnO5J#M^5?#Y0>&u_QvJ2 zj?y1$+Sc2(iXr)%{6RRStjoIbUh>Yb&U5@vgzhx1y<(M_e`B}#hVja`LOJ>cL%GtC z{^Vdnlk-=zqMubC8-G+!%PjG8{Ca=AV7)bG`fKElB>Yz_Ub!~TC-QH3X@H0pB>P=y z`|;Kn;)0)VUnhKTp=w!<{KI-uPOh=9$mK~%)7HupxnElse{4L|*#3T%0ea+`^8zk)g4q)o#OmZj_2j6exFj5%*($;?(x;JrV8$V?ADKdT?NQ&~YBAY#uy*V%+N<;~zYP+RlsUc>Y1_iA76@S9_`tc*@#~N}{|< zg}ly_abL9eDv0n>wwI6}_VWATrCx3SP25}ay7x65Tb(#>oht8})wcTU-uiStcTjdl zIzC2^eT?nxOsjoNhkPuC?H-|gABp?gU>`GD`5MOgJ~8%j8um3=_jPOY@xb~$gz~2k z+Sf16&$ikx$j_I4*>9`GE5Z*QrQ`qH$TzN9Cbrt&tIB{Xi^$jZ_m-V9ypu{T?px?IzjqYL2Yg99o0b< zo`K!#&ONB$sY^ivis$<6gE#tuMrYZ^hl3SYf+z7(BiNAT>mf6Wt|4(D^{gQaD7MA* z5Q(FqEB35wI-#Ogq3c-I&FauKuaIpt-xey2Qz+~}yVjt67|t+^0>eu*5=ONiMvZYN zmk1AQ2|IyfLE*yBSA;O>x*XpK_bm%QBf-L^8$n|gf!<)|s)-=!i{Mk*W)`52W$XdJ!L>2Gm#N(M1J|6LrkVnjH!~Q$w*B3TFj#njG07izecPbMphda zd&M)>X^zQdBi8UttcMcDT{o`XGS1I|DWE2=|F68&J3rkFSm`9TCdcO;DgssHP9Btw|^!PH1!p zET>PbAWeKe64>gH*c_MGArW+HB+=k`Vh=8;Pa>&PCuwjasAU_MROpv9juU*lk#xl> zVM>?&gKl!=(d1bNwof(5S9+5dM~*Ggr`)VaS~C$?bx7GzO8H5jvNe~yQ1GmnN7AAAq$8$DRFX+F6iKwBiO2I2>7FFgD4@i!kLNXw=a-BZq=*+D#fj$O#Gl|KlyOoFIGOo4x!Sn10dWd?aTmDaE^Wpt zb;Mqdk5x5|y&@T_K@qDp8gn%-=K7NuUFDb?3^BLnqyMOlz8w&4s26>gEBgLslu1X_ zgZL!(Ix<8$&quh{Mz{w=Y>kvMWy&anTmjmk{kw5Ry7WP1aXL`aqCt<;?4m;*OWB#QTWo zm(Lun6C_J#CVqN=E}?|s#%Z;*GruTGk1CXE_Au|CEIIfuRfSovqgf1DPMe)PWyNsPp8ljW>a-Ufv(IsM|KsSu zW8A^Vd4iAg2A<&YrRVlI$?eF>Z_Oq8Kv43YguH?L1-%Owb(9pZswrz|UslyqRWi78 z;kG(_7mYM7+|xX7taaX0TfywAg2mNykFK4w(UEh|m2uXS^16i${6j44ws5qeAnvX} z;(fj>bKX2Fo}$ORWsZF1&iv&r{AJF9#ZDpx4&qsM(rLExIGYO*R!Y8>>JAU}49!h$ zSy<{ke60P*N!`+2)yiAhIzYiDT-r8H&?X&ilgDaTa?-Ju!LO9@m44 z??ol{p%VL1N&WOm{fx=|r;__wllwW7`?-_*`BVBuQUS&TS6QZ;mQxiX}88Q0H4BKfj1vcp0T#1p@EK};b)`o>PA0Rjm(#gEEEqf5{8%XgUgxy%V~Yfsl6*HeXHpMYuQ6-n{zg|&$K!JfZUmwa>3e|8wOt zk^^0tSy_QD==+tGw<{}S@CkJZk!=(0kTWS3r#7ES9z8Fx2UvDCG<=Ixo(H1HXC%DY zS)V>!F*rM59T503@&K)Nx)|@Mh}a?0Cz02`9#)QuR+$@b*ZPEUr{#XjBpG%^(xF=< z^#G=ih01zm6UQ8&aa7Vlr|kPrA?i%&1Y+waX&pTe2Fr9^_hlJ}^K|&Hq}u8*tgwVy zul!QA9TRxUZYPp4_dJ`AYsgi;xa8T=GWQ=I3E4_9L03mVm=FdjoD&7zvtq?@=c3N@ z9=Y!mOr$V&?onH1Cnc?$wNtG@Pi5uE;9GNbk*`5lrW@sJJej_{tD+}iU#+Y8Izz+Q zd*EkJs1fy!RZ#pj)Tj}4n!q+=J&nto_75bS^Snp%1Z3}8ADO8kL8at}lwgwbzjD2j zXUbG*>2TebH%YJm?R?9{v#+Z2Nc22XJxGq1v}=&-i%rTgpPfE? z-sgkpn_I@YC?##j?@P~6bE;zeU2HDY&}(zA@H1kj&|GbXNytQ zpQku}(MVH=_c|pTxzu`U?{MsPG6N@9Zgz)fo;-PH`5V2hOcv5(JH>t<6&|&=-AUQ$ zEblx>%-+L%arOvB*Q5Pk=03&YP&tqC=$jzRPJtKAF4cQ1Dx|j)b^P#2G*6X)}*W&VH1?LRL`Oip||LA;qq&!F6 z@l;T;m5FD0rKNe(RwWOmgZ(kpLY@hmw+Ce?kIF7ASRZ>~`Yx%qGonqQ=#K)9g3ldC zWGKbX3cq+Jq)GFKOUCPxoecXC6uZFbYlX%^Ki;StzA-h8*-;UiKOn;=8u2X{8aE;)(S#x>pV)UaY=X?n z^G!`2v!lTU6(`@u_~49F1s*`ca>ryx49TcI*v3|m@CVR|IVdWee8oUU`O)&w88J35jKbSr2ds$G zz8M}l(Cf*FN@u^%v*fZ;{NkLpaU)99Pvd4l+FHlDkahX|8OLFbPsKun(}h7Amf=Cs zY^28>njbyVDS1!Z&vDNF>HKNO*^I~8meDTwX6DNxQ(TIc(OqGdK3iitk@5J8`wOY> z`aT%Ao1I3%g)$fQ2)WD*l|{{-Z{B zO*k(8RNWu*=zx}}bsDP6*f1t7>Yj$j8LAIQ0*lWa+Go0!NnVll1~Xc#>wSxh zn}1(CpElKy{AG_?gZ|`A8*%dD`_kk`sdsJazh8DNFK|CN&ugNgww5?tcCH zbx%)EZ*TAamzNz9YV=<(JLxY1Of!xD)0dsz3_${qfa30Dhwt}ghd%t@UUt6!^Rjcx z|KD78Y$@TgBY)02_@Kal?y~bmZ{;F)L{i5sRASZgzq{;|9GcW|nw)+y(y|@+FPEKc za^vzon{~IvrPaS(c0xE)j!lx6tGgc-`^#nLwlU+`ENU0Jzu44@Q+As5->8f@Drctx ze_wWV;xFzTzW>inw-2^xhVu7eiX6Fnn{J^DCv86b!=}D#&%nDh9AofjC){Y2*M276 zta5H9;gL^uc)aD{-lp4qTkFzl*cz?)Tp7gzL?uh3sB-t}(D?#_V2p>}pSE zC;M>C<1=HPFyXUzZR*N+`n>JJRxYrqO(`Di+0=HwFFOU1zb`uv?)<*&ko!%Z_wHWjKTU51zH2^Hr7MhZN}$ zoBFYxO`qx|-fsiMmIp-P)h=)OCB4UAY`bo{!exhT_p) zWSrD~eyM(CjBL8`O(C7|UtYVNaN^y|&ZivYvg7)8w-au=+X?U7z3hCNK`uKxqr01K z!6ijsw|`cqQSJO%6GkpO)2^=DznYp{cZfvZ?d(@<{(1yn?UujY2c7U4-ePxZk+;NP zQ@>R$_CRG$929PQI%r<($;>uEs-XC+E4bJTojFdf)%NTKq1apC*!Uqs#g>MyVjpbO z*b(ctmhvyfzT5K0#;80MpBEe{@ly;MrHO2Np3Yn1ul`|#Hbe13aYa#p4$t_pvbGCR z<|Tm!Yr}LcimidcB|*ks!}R@atzLwZ;713B8K)IrI(3zV*hdYWTy1-4`=un*jcMpK zv67<2k5pkVw*oE7bbj?d6Q*XZER8UgZ3@(kr zFAQL`+B@8Cl|&aO4sjVOy}Hm<8dJ?Qz-!(9O6E&xZ1ch!ZcinZ3zTJXZ8jeSBimJ! z_{wlSug~6|?dT=C1Bb3d)-ELFJif=WZpf4$Y4R%MLqSb`;>UV+WU=F7zGR z8*teXOAm22Q()yD@q)|FLAdM?!)51tSy^%yr?J8fxa^1}XUmvNY2}aFz-8wna@lEt z%Z?pfcDgt$tZ%?&M=ZW^%Usx#d)x>vJ1^j};|Z6Y@1-@}UF(fJ|kH21snaM|&O%MLMIcD|Q1ZFjM{5#NN% z4mN~D_7Nj(!K4UWcJ9Jurv)xMkKwY@ea1)lCR}!~0jIVf(JJsvvB72M0$g@H;j;6i z_yu1#OOWABxa?qk#2PIRSr<$ngUb#(Ty_-Tvhx@&JKf9?kvHM8BjKUuVnv+6^YH*& zb`HX2hZrt9KZ;)Icb|@Hxe1pY2bX)YW!pOzdH0gDYr5tgg%c09%}DfXciT~(PF^)@ zmR!YUIc}GI-_L7&aI>a|ja?)?BWL!4)KX8#jBy5QaJ`b2o<~@t$OT@)+@xh~|A|f! zJpJaJ#&qF8_FyVrOI2OFY}2;TrGoT2?*o_C+ChAsXyFCL&$s%uh8nk-iapJr>C+}8 zwa8X}j3AgDXQ&(bU?f(4n)8cE-O|Y5%)N>-^J;VJ8$QF^VxkSai;dxR<6?)!YjF;X zwqt~e#lf`NX;l^b{yOvTja5{i2oLpV>fRas6mRx!`|94WIZ5)B;Tf&Pa}VLf=tHjS z184Xw*(K|zGBdHQvDwSPQp;1PJ{i5-R%jFri>zKt|#FT&;$dYfX}VWrg2p z;IhL3mmMv*?37h6+;bHi?dO}WC~Ii7aFq&~=KFE7zhP0fQR=N{!H)*ony)T$LX*Tr zAD+@Sw!>v7ineGSBiy)r%|-e{8P7($b@yEp-nWad+U+;w*)>~aAS0eepeH3n* z?{<|P%;4W5XfH_3i)*)H7r64~(ct(??)OVRh`$fhqda&qJSMcXxHO=^hZU1ofqjTF|Z4Z~7kjHLhC~#;0Y8SZdELM5&pj`RZJ=W+vh3sA7va|Wv6FclG zS?x(Q>?w`&zX-Ty{=Xd*4KP zU{}14iCEo1bHQaN*~-Vb4Fi{*%5zUF+QiLKzOlrD?|j3qL9mu`u^a_IH7mg5NS>Ld&N2%7ebF* zc7#5!hr~{Wth5O(>xA;bWv7~Ftvb}SKXe-{xQPmDA`UySAwcX9b~+-AVndK*B+Ozh zj9ORVutfMV&F~W#g1T=i4B5jNHlXeEBOnh17le?EzAOD_7z z#l8rUk<)P5IeIWsvfUCcJ2MfH@*AhlNko0oh`LyFN)Z<|2bUcQ8Aw-7Ohsubozm8g zp0bSA!DwpKL=UD%>-)>xqL1m_A7dnO5-vMJ!ZD^2ShJCs_6WG_Fj+~&zJkjRj>#Su zo3j$*M9<^65nD$S=Yf%R(T%G+7w1PW=UWq3ogNn=!5Bu5D-py+ImiY(;DRG@@iqK# z*?IdsGL>F1Mk4;)H(a(Z7hHB^;j&}m1D72WR6=RHPq}WwLv(z#l0bewN)n6wI|v{I9_BLB34+_c>GwCuUG4D$3;OnQ=1db~+`tbck` zZhCloddOUQAbEx#Cc|4P!^0%Q)jz{2H^ZSl!)`9anmqFnCevIg)6^vMzJI1sZszUw zO#Qjc8{}C!n5?TxS(+wUSNyY7ahPcoHHglr~Px7a&ze0b56|V(30b+!KOZyzbe&S7iBZ==>Lo z`Ol2=oBZ3`H4UgWG>b4= zY+uhD+~fkai;DCa%T9nGI{nNRL-D~eK{S?#!M*s9qabMn^ZwfhsTfO+N}Yc8^d#z# zAUdMx+3gbSx#E+b`5OgKvvE^XCZKr6E|>ECEEQlZ6Ot+uxv_iM38XzHMNb;>`?7OR zs{H(o@{4fUsXI>XNKaBibS440>}X0=Xy2%~=2)SVP=QW6rt%c^dwFg5l=F|bvU`2H zKYtX1P+icq|Ib2o|28)FzxC$+(U^mOfyNv-&Q3~Pj!Ill6uBLN6rJaCJB#s_M*EAQ z!+1F(IXPpQIdCUA;+Z(&8Ge5_CXTq%oRMcZgU}dHG?ycW+lrUhOpxC|ROq_6kh+-A zB_Sa>eqjk-5fO}t5T~#JyAVIC03VwmADa*_yAU_KIEGyc%^}Old6olxo`YMFT|kXh zSdT;c4(6OOzp}abbqC2?u5!2CFW>jjHuw6&+Vj4h_ag^yCr3|DN7q2dCy|b}(T+B; zj@EIGRtb)elAIo+An`S!Q&2~1#JKxE3H7szuUFdF5;&HRw6J88ltMk)p4%BD~ zQ*Vt_ZHrZYm7v&}pxBkD)SaZ65Lzz{TuQls`BGY^5D3G&(A0178K(NX;ZxMe}@@f4-DFfVzyk zGX}-+BT{*zGWlcY3MUkc->H^OUagukZ1`yVVlJ>}F=1#qYkZ~P-CF77YQ_7Ns>$W* z$)%dfueFnlb?+7%-hF9)x6tzL^UI0ZSL2_$Cq4~K&b|HgWquL1+5URC`8~e2yt1~m zyt=fsyafMz{krsZap~*A(&DG(FVo8l<0}hqR_3~vKE7C*f+e_T|2XAfsgK|UR04?p z)q~#0^I!3x@9MXe7zNRLsAp^o_aDf3ldn@|`XWy-_g~-2Ruaal9-ZZ5VLfij$a!OR ze&W^RGj4}0|K6u7nNGT#JSda#=(d)K>AdNGu20uJs!A`2#pz$`0SFGp-o5L;7?9?dH`VkUpJgNFYK~J}-LAHv&;v8~l8${`(Blr4^9GbVqjkbdR?Oc9+-A?k=yr z-tE)Lt{}^6_Ahpq*A84lme$18%G6L;UhCZL(-H6X>G(b)%WFUJ^y^L_^P2W@}p(`D}U>C}Lz7)>HXWxoXwl@IR_qOySy6{B|u zQCUWa%D`KMsLUZmMf)v6R3>+c%D@CdRE80va()6KDm@5Mc|HzA<;6?Yk^r6aBDp8{dQOQDx3fm|`RFV*)k~soIr7Z>_Dk395RN6ui zqEbE#M5WyqAu2|3#6VOEZUIpl7y_cw;eZeoqalQ-SP@F2i`NFZfv7w{h>F)BLR5?p zqH=7I-&3jc))62onQwrobYABLqH_KXLR8dMfv7wm0HV^RWDZ1Se30WGMCGGIf4iD) z;lC#;i$GLFXXJpW+@%DfVmpHn6%#%nDit#dtjZeZYCu%J%>Yr+u(Zp}VBQ)K2ckj| zj1ZL`gs2=O08yEEjS!Weoj_EAU#nVo^e-bsrD5nI5S7nIfT&FLUWx1&m_>*R@1O<{ z6mHpIg|^VA zn}$AJCG_c3p-*>X5c+fl(5Jf&eYyhZ(_Mu=T?X{&#Gp^73Vpg81JI|#L!a&n^yw0z zPbUg}Iz#BwRYIRm73tI6=z~68CiLkpL7y%N`gF&kPsa*1sI}IMRGJHOH^GCJ2!cKx9eB_@;6Yyn4>|)pXmRkM)xd+k z2_CeBAN1*{z=LK24_XxQpbf!;t^yBQ4Ls%$O zHLMS9;nETCpihAZtpFZ$BrLDV!SY%mEU(qW@)|Y>Jm?jA@Sw%OgSG|_dKH$}c3^pp z?*p#C9+uZ6BCHEn*};QW0}na_JZLTOpqpTMt?*-(a04u_Nyb5+P7plkd*DI$L!Yj! z=Ci)5@Nf&?r;^BqZs^k`g9j}G9<&R1(8OE4HJ+=l?XEDrUDdA!5Bd>!&~zX9><^MO zET7bLUz;_=T3M#7KAp^QaO{+9Q&ryZNYgN`V2N)l|^z&gsV z9W?os^zkW`i(CI%`1UpD#5oqGMY1NjS|WzK)e5Jtt#_R=*ylDeoJQy0BRi6HI$!c8 z>#rH~ORjTJf)jYWM#|l`M7bzWk+9D# zkcf4Euj`REhT|v%r@X&U73Jo3V%Bwknmf}v!yvUw60`fnCE=M^D)nOei{$L3wg>2d1{Gj&(bu~ksb=o{f}waxn%J4SK2&3{ctZ? z_Shm~xKZtFC+aC2>1})4MY7GC3(aVtA#=GgB9&deD+B9EalH1RHki*9I)`a=d=qu@?M;(XqIxz zz(0W|K!YY=a5m`YebPY#ceY_Fbw9UJ1FFDBuB?7kN?2;+b*dLV!K~F3vw}7q#+Wa& z6e>$p4oe=3>J`Cd#xuSwc$;4Wwqx)|mwOCEIs<+DBPO$@*F zT#`6@O3pYNQY8#aHN{CyQvPZx@mW7}^zlK(U>1iESl<*xQ$K&?g4v)tUQP8ZE@Xx* zz*09jlL2^?-Nb|jAUtAR(RLrgj*He-V-N0-ii@{rqld^{xWbdx+Ca98gq z1aAu^X{LoVkRR_NPdxB6$;`xk?NRcq5>=63V!UAF0l~=kbH26AVefN1K46mH%q5TL z`kt^(`KlZLPKkOsH@Ij6m!O-x7?wQeKo!dznWYp-#gI~M?7mKY$WwqscQ)m~sE;l_ zMKdQUs5C*tJ)vGV)nFsxjY;Z=j(e*v!>LWGCI9s6BP{e>iDv8WCrv|2t8JM(&_m?M z?NZ(Hs?+pm6YeNwPMc(q;oXuk4EzikcQ)J{m8eCZq^|pC?u5l}G>b`hq@3_POigy& zq&@Wdlk`iQp&u}DhlZmwmNRJr()ksWb|w$^Sh1PB~|i|-JvFRO(jl#pZ&@NpSD5eiHqBD^T!OkF$BP$A$!q);>&H)dZKXc zxvUczq!jipXHhPGN?9BX$Ir(5ZNvr}o8}OixUUxbUGxvysYz^7rY;Kz_(|t+5$m;R zK>5`mr8*$1+mzHr*XwMY?_v8q+gO=!tj8*Kpm+!UK8(lK(!uW9c=Zy}8G%seHu?yP zL zkwl8@C3W$Z6G^~490BkNL8v|ue>K^Yn)Jdt*X*2!4?vAH|eUZe%jjH zsJipG%KnDkle#M7p(>X;J4n=7h*x_tJ_Z%q<|R$Q=Zc`Q>f4|~U#^Uhs<{s-f&9w2 zgc@^Dp$}Do3T+K4^n;73^S4Y&BUq7&YqoK>OVfawPXkA19=Z5h^ zjVQLVDJdzA8;utf8fWv>{p%WE3^gtWI(=endL`bp_SxyXV^eQz)8=L8rLm^&j7B0R zuKm)@XI?asm?^@B8b+)6u$jir&t}>3=A-r4V>h3&OgEznG-&Fdp0jy+>Q@Of)3Y;D z&)9C3o^*P4(dZdheJRiQGrphC1enT%q+3K1>cr}$84_FEOIxIWal-hT{n6*=%s9{A zd~Rd)T#<)Ux&FCH-*Yu54t1s%cZFVPOLJUvdT}G-gXW|munM>Of7p_M9YR{$ZNDmUsyxGw<)sE*8 z$*J#XN$)5eXD()Xwba*9{)@ZJ>D9d9tJ(tYn(@4x< z?36y;{i{>5qO-4_tM_KtqGi|cg4RHNS5A7@+ry_OnYz#2ZTrCEG~?7QFWfy}fPtwn zw$<*X!%wl&uQNGcf4_-YNPIm|^7_w)#|< z`h~Wh!}yw}Q$P0B3m9M18Sj^Ecmd;U`qBgEPqxxK4;=FBQ$ER{GBIFrcR-!cswwlv z{N|f$M_%eAy|J!;bJP5#{?;3Z#DP0q{8w%bs#^{ktNI!>493$AS|sto_?mF~poRI+ zgWw@!!qDBWp*vrO{x~vxlXqBGb@-b3uvYM}I$>C~YgqZq@TDUo=XpoYs*cE-k4OcN zU{28I^WhVysbL?uAJvxiORb|vv>JH@9+ihvO3?T zFT6`RJekNdiBp-3F`JAGnhYzL4DOr^SeW!Z{N9V_y}QbL7qj<{LGSGg-rIJ*w_14r z@bHuw&y!vaN z?A)b9SmqDB{cKk(S|&+@WE<_jX#|W#&Xbs|4TiyYe#^`AF{ee6&y#Xmw}O>qwhc51$F8ne~vJ_1arr zOP&pAoDF(AD?vk_be4o}YBoxLF2-dpF8TNJTJrXBYZ``o0wkBih;6p#@X7Oejq?R> ze=o10A;WNc=D@#gY{uLagD?7qXq2vS_;rE*@C&=f|KH^cy~>At+Pop!yun&LL7Ln_ z8eDUk&4@hJoD_cNK0I749d>JT{8F<`?j?SGw z3{39bdt`2IZ)fM^3FjXFONW7$Tfb9>lU~9mi|ZzuqbuQ6`2TH(p|0xdyJpXqE-f>MBSUP` z8%^*t!AqZd{w-U+p2tD+=oc@i`)&sU|$1c?K z+~`(!?x(#DgOk;B>Qt{2yB!9KjMPJz`Psb=!=#|{!QUMQJIVO0->>!NIsbgEx5@hF zYrR1|=7P%I?UV1DOofdk+zZ9ePkg2?ZbjH~XKTRk?URt-+b4v$-`girhQGH@`2O5J ziM9|yBikom8+r(V$o9$ShsK-R+|Xh8%DA_EQoXl*!oA0qmkajTvh{DaoVLf7V|Dko zPr~=uavf@S`()K~k1Y=k?XqQ&$9rsfCuVp1q~Zb7K7(%qI`;|R%ukztfyQRapzW|x ztht@GVG7~#mobxw`^g@$TJn6i%1n02PlhI9 z$?LT+3&nL~>EoqK-c8mlhwmFp(f2L+5Xx969~(=aTv_tnPFiK5_EnT%IlAl@EPUo@ ztRj|OXxZP<`pmH$MRAPga=?SKGbgGP#dxij18=OJLA^wa3PvmkT^43#7*Z4wErqu~ z)~rmQ6on=FmP2^USWo>h7Lr+64n4Wb%1mk^c=qT@7?m*F89IM~3qmX5J63FLoc{bu znkx}YrEDDHI6hUYmB^_THuR+$UX6&Ar~x5%uInQ_S4&r-Tdml6?$h(=_N~O!ma_9b z_7~h*UWxTtWf$3_A()cSO z)N85TrJU#J0x%{*YiX=j=<}TOEdH8n>GY-Oi{hiq!B%S-WGiUJOL?cmBi1s{X`z*` zcko7+u4P>l!l>M5;CJs^%YJ5!QG0AEleDsyBNKs9_ub@9Irk>A;rdfh{`#Tb?Q}jmg5?6FvmnCox&c zTRh4N+Ju;o->%M!qr4S_9Zvw5)|hV7HM@Dq&!XM_uG zp98k+25fl)Jw-EJ@|+`^H9+eyY@fsh^SKBz81fhj0b4czwp;^j*$~)r_L(rx!?1mV z^S>x7bTqQS=nSxBd0@*9z?P?rJFaE3#FQO|?Gv20{apPjX=Ugg(KaCuzez`7 zeR2}EPaKmzyNJ)g_Q@I8KADE?lhd$$!U@|aZ|^k`hg1Vw_9v2C7lG}QCfGjFfbEl5 z*ghE}Or0o#?Gss*AnRY|(AYcy+b1ixVEg1AY@gJ@_Q`8aV9N}hhNocr#3>rKPX=N8 zLCarD!zFTLwuE(m8x1Oc#9CFUlBf zkyR{?+`4;D&hgYsV9VJJU(k+H<3HQJ*SywPw4uYH;SOv$yir(#^Q8}+IoM}i!V((nO}-r zn?E(};J(B5iODZf47N|qnC(3X_hI|Q3>us5G0@m_w%Y6cpqHAWg%rxWTijb4S2F8SJ%nW$I$24r}-7^B@#eqKU;UhACOKK6dj5q<&H zoY2^`Mz&8lp|SZ88k@r$uzkYS@0)0E35`vL9N%=Td!|mn3434sun%mXJQ@xt#QH*G z)2^DPd_4fRPfFtgYjpw-_XPed^KT|&hwT$JWc!2-8k-8x*ld$dTMyEO?UPwn*gg@3 z?Gr3tZ*{PGM(|sdOb#lff;i+uoHlHqTrv!qM`_Frhp3B(ELBS`U_(#C_Q@~{G&UKb zu^FfFbv;yKI&^=H%!*Ff7rQVroWy~eu=%55l>T=;Jkh(kCDG&Yr(p|N>a zG@MyN=(I${cZ~=RrPI*ZTq%j*AwP|5pDfZu3bmgS(T$w4jKu0{l~qTsp(A9K1Y!F` zkr=j5>`ypEWei6u=UQAGiF&aXrLHTWAQAmWBl?=eNoZ{L!uE--w$euQUD!S$XM*jM zM%X@SXN2t&RrY8L6Ml30*bUkk8;RgY4zXW_VxLGbI*r7ZEW`E*18koVG~#@4R~>M1 zGahk4{tVFAyj2kwLCzPhi%Ws+6M8kf8r)fHT=E8eDt&yCV0>l`J#3%gps}e$S1=N< zz8qgXaxGpW;oHlo%66+HT!Ij5Ld{%4C3#{QCb3v4kzkUT=bxC9o0!?2m^KHMuA~G^ zQk+s!v`JEge^TgnZc^fWXri^3-Xi)m=t5B zl)EM=cl=ZS$W6J~o}xRKa*aGy3zMp@l&Wfys_dV7DL3_ed+OP_R9W&gDNGtxDNWQQ zO~^luKR1o1JqGwv3J0jPGQbtLV%n#mq0pne%>`pYWL<+A`nIX1*oM8bfCdD`veh&g%2adX3NO zY|Cn&&1xmfZb4@^D`qzsXV>~=SK+hE+p`^3geX#hfhToOHjO6nsu%TMlkE zCx#3kiN%hQ<6QzOg2jLuh7%)elqf6gyo4xcaGmM<}zFGf}%j4lvR zEZ{XR;PNZr#22u&6|l?}oFXGIq6sKP!f|85Q9l9|o^ZI0Kt4+#AuA+C7ZNEJZoQ;Y zEv9jJmSCWTG%wAX3-4QV90ulMNwQ)prt=JGUaEu@-SuQsVA8)HZ^R_$&#dAPMEqVr5pA!}2V|ETl}gOHhoW46lfG1gUL$Xh;}KFI&T=i3yXs zWhv9s1NWOr=<-X26qs6}dkJ>%7;3M>@XyzJ&|yfR4K1O!l`p>h_t$!`eewqjU5W;& zi8{$#M}^Ui%6pEL0G3VbknIy504_9tW*JET*1b&B7lkk3mI&^KaICJtfB41d@c;Mv zqObEI-!;CdYrK(Hc_OsABeb}~HM#!n7pBSe&rgFZOoJ;_gDXUXD@YyVe}xM+YdutX zoGzLfiXLdx1Og%aV`(_ub37s)s{S@9~y>f|T0WBV)hx|FwJh;9Yk^-DB*7fNeQ% zv+U9zf9+nrO1aXsZGttzN)iII>bL&vUheT0X2*5&0UhnbxT?wD-OD}RLdL+v)c)s}H9e%q0Z2EV(P`o0!*ONbp=+OXHXfL+r@MUAuN9+t67;Vt&!2yd}Kc#FLl!dvta-eNC`@D??Mx7dpyyhRq_E%w3)Z{bIHi=Pm} zTTUaq#ZM67Ei?#k$rV6&%RYp+gIU<3#bXx*%nPcE( z-lEKi@Rp)w;4OI!X~0{u1cA3~ibex(k+25d(!r7iyhR=1EnL(DtK<3lTU?&U$~UUq;Tc^tZz+(`E_4(v!Cup>3Vj*I|1@*s3CUx6KY0=kzxNcYkY z?8w7lN78^Dc@(;r2cdiU3hc-e(7ohEx|jA~M=l_CWG~o}5nx9igzn`lup>`E_mUUs zUK)cP*$H-JIM|U#p?i4{x|grOj--R`B_Gng)B!uP0PIK&up=YDjywq6%U57W(n0r< zAL(8yf*lzIb|ekhkw>9>c@VmnonS|zpnEBRbT6@BN1A~h*$Z}LB-oK8(7o&gI}!!m zO97;Ni3U4T1?*i`vu)g8WrKh-pv__rlM}U z!qmjo&a2X^BTmr0B>BNJTLRt7d(ge?&zrqaR?!>c!kx*=JEWvlTNu+QqAyICYk=;h z3v@4up?gUS-Ah@XJT1cT)w0@>LKjgZL*CEr(7lX-?xiqvFRh__xy@7T$vb+RwywNY zR?IY#uc}+LFismLidstx|dqey=)Tbwk~`Rc4Q0K zk$zxD(tsVw0d}Mo*pX#mN4g3QWbjRc9oY(YWC+-iC&7-C1v}Cc>_}SZUdjoL_7{Et zJF*?@$SANQF_}^{BX_JW?RV{zr#)rrBj<$LS7a|j)wsM4cH|Gf5ZY+R!TJCYOZ$QxiszQ!&XzFr>b-=3~)YG?yHG6L*K zG}w{X!H%q}UvCYSSc$x{`cZgirrWi#8|=trup{Ncj`T(BNJg+DuSl-9yk1+5+?kt^ zYZ?GMG7s!X9k3&-z>ahTJCX|Q$SdEsR(BS_jx+^3a@Y>+$VXsDVjqJYX$N*>++(mK zoxqM#_pJpx(vKVL$O;i( zH?){5)~`epx|ea6J>vXsdin+7xkA?c8lv1IW~IV){4=cl<4{~+N2WmcQb#2a6`)ES zkm-j3JF;CQAW!Ea*pUxc1By{1x!Axiw!q3ZVd!24LiZA-TD=}926iMC4R++4V?k}G zOJGNGTL*RHIiY)L4|b$6C)kmh(7nV8jSL5yL-%r6a~vCTk~L&TN9|)=h;w`3{QFzR+8up>9l zgrAU*IgSfo^9W}mXFatMUQil-#>5l4mlBHpXq*^JO@u}k(!CVprH?!%6e*&6mD3?| z`c9-IjzxMTl5QnZUY7;zNLtOPizDh1xTs-|C=~~0wT&p6iYU!oZ?Ge8kwxn020-`H za5x%@t$Oq^h1eJ)`arNF%gJI)H+-ObS=$!#Xifm^$P#U^Be^wju_wJ_o#_1@Zo~?} zNw6bx`{JVfPsTXl2BCYYD-t<^OMiw-r9TPX%hww5 z*&|GNT>PsN=w522Y{cWH;!Ek}N^}$QQE}B0p;a{r4E;#=vX(yautLJ~5iPJIeeWc8 zn8>w*9r-M=XO027mjxP0gSy(U!H%pbOB%-nL-+CxDtXF380^R~Y~rjx7P^=3hm#kT zLgwjHRy>l{Ht4@Qq$Gu>Y}U~K8c9jqpF*@LwJMP+hfXDl=Ov3z)m%wA9DnuDX6lux z)T7GO$Mn)}9Zy3^ve5;kozzP^&6UQonabLc${wG}X_|_WOy#CXRSrJL2!g$KN-NH<65gKoM^~ihG!cvwVWHR>s*f;2zJ% zIn>5E2E;k*{V(?JGAinS-5WoON(c;yN`r_JLxXhMh@yl6C>R)kBBj#ZJwr{<-Q7cn zbc1v^NFz!P_vbtM+k2nA_c>>s^W?wod;Qn?JepZ+9?hfcdS9W#`Iw(&$sDLr3XeqD+7g*{YSgsvd2@kB^L)JDUzhaRMhR7yqWD7a6 zZ3xkkis-UN^e7{~F(Uex0tRsb!`=a-+5zM6fXO}o>1O{~tpB{B|Dv@2cXI!gA-}a$ zzYS}@EoHxLM!#Q6zPmWzeQ)1GZC|#W%S=lmZ(@laWYZj%$%cz^y>rYaKP~zO^v=ed zg6)euj)f*O_Yv9WctvjJ(i}&!(GTbFh;m3>BVn%2xfCXRlGpPhM=s6l=v-bIVaiw{ zn7X(SZ=UF|keJP-`!pmh!VEHZ^F(uL>Nn0Rw$R*#;ArC?W9-t2QeE|2p$K!d2$NdJkt30=>7^gEor{iT#XLe3k zR!$ElPEQ6-FT(R+;B+Oxoi+@dUl=(}8M)rGbHBa}*XHKc;NrW_#ix9k?-nQjH7-E~ z9w9lnunb&81}-Yidqsj*`U+e@7=8=R`+!^EF{hC3Wzn~nq)aZ#*juPk5#^Q^>5&rQofzR87a1HAiHVGg2#<`yM8u%NqeH@@ zgTkVbVKD(=alT;*Uf3j0Y?22i$qk+4ib`@0O>zoJvIt7~h)jPIkfrULtLB}5*R$}p zN6}4>;_DtI3ht#+Zsn5h71EwnH~nf<0>3^8u2&Cf&_Fdk#^#Nd>-HZD53X$ z!ncQseXr66-)4?{$el1LnEFyOYg0DoRJGtyyX4=n9NMxR(X}4mvzFAmmilciy?;G( zXd`R%N6y%fys@o<@y+6iP2BiK<>W^7#KzZ&wfeD@rs2irf!XH1>6UL3t-a&zy<=T{ zekHqkC}}hbDP@>o7>+vw^z3yD05>A_?Vl2`It+a zoAVHkxi+@B)U!F;xH(a^IfmODFW;Q{httYV6$b9R&i{H^Df_<}$Gj0&oN}dLhE6N* zPXD*3l_J6%=Te!tf1g&q>M#C#4G9!~DbBgiX}pAg8fOv{DExjv>3?=wd4Io6hlQEx zhCeQmonh+V$6wfv0`4`;5)VH768mpXEAyB*nRsqf>ndjVkN-pb1=NtRTNo4V5YZAR zRIA$1{uO`uT|@G@q?$(O=;6sabMAjQt)!2$qQg(SzmY!0^S9GV9!4`*m0JBZJ?`J} zm)Q`_w^l5mz5D6}qxN4|73OB@jw9_|zB+cS$)D58cVCP@xZZeU@wXYywp zleYZ!tH5{Yv~u4tuN$f%8GtJrK{X^RMK3>|UWHC81^lKW30PIw3mgHf`tgOt7^)#z zt0*3A0pl2OTA9prQ+geoR@!D)l1qTo$_WvQjk>c>!qe-{zf0e!&wbUp(Qv_|HKpMq z>ceJ}bD-~LGhflO#Abm8zOB~VHTSmKB@QUI)qP9>`I7F01i#7?M~ zT?y+^hsH4(rYEZUG(inXe}UbJpCJCCgB^IA1mZ8mF;M))f)IZx{{h8cEbtwK_zOQF z{^CH0zuP(ZwGG8zTt=Yy%N`;AQcH-x7-y}4_)DeT_YUKu z!%D(wr3WPxe|hog2jR5x3L*Z&9RkH)PDAk*ZbfJuvk#49xD}vr%px?7;g*NSF@w-J zhExt3$239X7*bhi98(01V@PEPh07%~xP9K!&OW5|S|aSWL`7{@RO zLF1S`XdELY2#sTwp>d3s02F^2gT^sd{80R*6B@@@jxOe z3@Sn67~~Z&j?uaUjbkvMz&K{`4m6I5f#NS(g!oGe6n_~c#9wlt_={GHfA&_yVBlrh zc`r_A9Mgc;fW|Sx&^RV77mB}Jg2pj7pm7YA0~*IHY;xV;g3ChV7*8`Wj@e^}#xXQd z{H6H#z=;Q{d%ULP=y(N+iJm{fTb7{@3Ff^p0e3p9?w4e5H%6u_k z9CJ|}jAN_`@t0g^9D@~00`V8pZV-P_X3PQcmnbOy0%s`5-Oe~+%KK~*-d~bikon~% zukMy|U-{;_bo)czC&av(>1PVFAIkB)ib);#DpHW+e-r+i<8E)0`uXJ0a=r(mX`#liRTo_cXjaG8)hd&(rGXl^a*txKNQ?={i{(IYtJh1oRHU&-bcfBj@D z>^sRl&5)NaHuZ~B9 z!Siv22rMuC4YOHE%asEW^h@qJ;k@kDx3}2wSm4QunR$~flbqBXsnGynNQ;?xV#$s+0I6WTK;x%kKLOul{NySDZgAh%Gadv zG7~m@JJrM`>+WnKQ?$l2Uq$7c{2gS2I0SdOG%7aLD`Y{F)oz!O7_23VOPaQ5b*zf(a@A0^|>0w8lLlW_V>|GV(P=np)V~(pHjO2}u zs$CBADEsff7|#tjo^Wznd*s;g$?-&t9iHeEm8L^r7x{!LY3fU7?j0v$OD3XXr_5t6 zbdoM-xSZ>5I1@X$q-{9zAf^7>?*(rIF?NBU6dmd2Rs~#gsucBNPg6*o3UgKt{ zrKTd?fjQArX%La5A{@4&VZq$zJkXv#1D@)nFfL1yHfk?Z%~NXZBuQwmT_Q4rP6i`S z4?hIS9VKd9GG*CAB-%$gN*64Q}!!BILn3 zr==q04tKyowx4G2$rwkjCwfa{UIUCe@u z%{oal5p0i|)M1@ONd5Gh5X_hQ@)v5ACyug7TGsu~@|-*Gh1^I+-B%>3 zK-kmqoHJfTeKJ7hkOu4tks5T8^b^5YrKl~0C}(ba} z!X7up9&7Y(5`rBl5*=M2A(09U;X$FuIHr>@;ft7P1BXwY6uFWfCKKdC2yD~|hdXh0 zi;W1IDyl6!0&9t&+ebAIYnxrFMtOW3OFT%h(Zo5?l-48^yRgO! zsAodd$FVM(WI?B_!*(pfvTj7&(u;`Urv7>%igh7|14F^CO*dl@xhEBPoyUh*`!qAw zC1@}f9K1$oA~&1Ryzo#wX`nQ@`-w@HJf4VeC^Y$=->*TpqxE=InuK3c2|Ls=N9!>n z3jy*w(cLL8W{PiKZw^|sihm`AvAkpNvd(!(?>_4l_Z$~b%pNzj>#{rndr3sn>J@s; z&<*dc6)#~OZLuvQ4=_;F(OQi$*q|)o8Q_k#QDe{@+HsPMp2R7zN&Q5% zrUw~thnnV$`RpW%YzhS}m`^9`%ur~VbrKO{`Z{CQOKLY;@{|+Es8+_rm&wV*SHYZBPZ>yOKIP6n>U5vS#?Tg~KIu)h$j%C9$CIQv zdNZN3C{M>7O6REMjG{MxSvZomH zangApcg3}fQf;Ck2}z&y%7}QGu3?k>uqBHa7ZQSFxLukpBSU@ad*0LJ>^6Ae5!xXL z&cKg_>0&c3DHnykETkkah=CVS@D{1RjQAY(lKbw>CU4X*594tu%rqVL9M*o%Fo~Z$ zn!~#I)nM@nwWzyHDRM2j3NqBF(rl3ye|t<(_|?;E+z}XFY7+!5aHH5bFfoCth{VRB zFR6q%v{)lJebp-B9xthE6U6}{O5fM@vD+^CZO!f4tVz`4F zA?%}0r^mcca$!2xWfPV36dj03Gsz~Wzj!Xs3nri$wxI8#l2)FVBEf(Gxioe|IiD1gz-wQiC;=#(7WJ?~f zOHDQ54I4vatxj@ zMP@YRQyusXaU*zf*v;MG<1wd|yz(hA6q}?0JDsE_4`4-({`e0EBn%}9ADAjU_X<_7 zHV}K|&+}5}W!Fm^E9N63Ix~{*10zmOPY*BkXEhoo!qGv(~U#X?MaZ1PHWJG6OVJC&%2hzjN z_r2|B4*AdObd8#I(X%|DD(|X{>ta2WVqxjV5qDo=;peo&cXtGK!^`>jM!Q$y3xrrK zY2p7e+tSxH9pV2XNV+pOddd!p!iukl;o(CJOE=vDHwRxa;N>+ik4Vy(*ZEl1+p zLlv9HcHfFn-?TGqo{fGh|Ml$!rR^)ZzS<{!Z;fpABl?<(`aZPTemv~!;Oa3ezb>fL zpKR7|X#}?}?~m#3x0jRQU>R^B9&nWtaj_eqr|b95FaVd1t9kE>{i&Vv%Uk;fb(^@k!~BSzF*Mq2qf+Yd*C@dYE@b`rfhqYo`c2kbs)l#jAy zjE;?do?sb!(LXv9VKiqqRzN$tq@y}LI%a?xTOXBPmK(pRKK@hg(oV$q)!gxeQPs7> zalYyC;~zOr=uXgF9w)tTOkOb&ZazU(A$p8;lAU<+tnS70_LCfelZ>nvna3ts#3nDW z-lLSC^4pr^6kz9$oTAR1;$yvX5kKWaJ1sIMB%llW45lSnA781MKHW1dFCZk%Isy4$L5LS=Nwt@f019f%eCO% z-sKj#&{w|T8#(HaUl_3)3dBn~=q{FgrxkmSKmhN)#wdF=u#^#D; zgU`$DV-Jd1SI$wb^vd)1*{>W6Ss99iw~eh()~!sm_fN^MI_Rv<2@Lc^uAbdmS;oUw z+gCRtSGPW{Zp*L!qFUV@TiMTCIkaCny1#OaZH0Jk`DEoXNx(AM^X1cm%aljoVIALT zqQ27_e?O=2oeuV$VSI@xYl+2SiS5A>JKGY+8h-I|vX# zQR4+Mg#`)Ng4FoDOxC=d!@R?$$A5=I(f~Vl11K?UTx}z_c?yuI<(sKEq@j{`x6Z6GfIJ%RU&U-)Mu4L`E@E> z88kSri@;cgX!Psnh$Ter@Fy4_E~v)d^kcn=eYmKes1hOX#<(3F7V-9!NKVs?-@{Cu za{H4^kAa5%rY-Vj*yD^^2~FcOwmlc#cNBbH8T%UcWKFli?ht>{w%2d?)YHjTTSdB06KZ@ag>GTspN{0M(|FJ0c%g@Ox#@KGR!-4MEZlJ0f(RT4H= zp=)GZ@#{sW5GKwPl4r;f%BO`uW8iZ%XZxAB1H)SMm$x7XplTlKTQ@*Nj@A@^>+czKHQw9;*SK6BT zuU?qEH?%Z2bF{N@b9VCb^z`@l4+scAAP`6-GB7YOC@3g6I5;FEBs4S>g+igxXbc8} z#bU$4!otJDBO)RqBO{}tqN1atV`5@rV`Jmu;^O1u6A}^<6BCn?l9H2?Q&Lh=Q&ZE@ z($dq@GcqzVGc&WYva++Yb8>QWb93|Z^78ZZ3knJf3k!>iii(SiOG-*`I9zFIX<1oW zd3kw7MMY(0WmQ#Gb#--3O-*fWZCzd6*RNme>+2gD8XEtvDi4uFbVNuQciaARJoea? z|II$;T_I9q9tNEwFFO6V=g8wDUVFg-%>U^*@;hevPe&VS#hofF@@S6t|D$~js*MB| zAjVUH<7D+1BJrzrsVimkpl(aE{z3scJ=8#;)~-Zs_ml$Of0*HHxh_u$=y8`uB6> z+0UOoJZxY-y>0o|IdZ502P;$4#x2xaLU{SUp=DO4GbL3Qg zUl)P=Kj+B7?)?jNA-~H*mUs+M_Jr~f!==rGC#W z`?)MeUAp`LCFpf25c1^mYR0d={M znD(M%2~d}%>)JS)m<{M0dFNKcN9Y`Rtul7ycP%`~-9okSQ@_hY%F=(Ahvfe$4@vo5 z9^(GH7XCxx?^^iVxrAEygV^7-@KjTTT6mSHj%##AKe|R~{C;%blb{Umz7Lg$WPw%8 zw};>yxv$u+4xA%<_+k5Bp^SbGsv-S;4t;RQ_%dwLF#2QItl#KY$EWd(U-&V>`L084WT?_7@{t55Ow)_7@{t7 zA?k8w2r3UrfvC&ZLlAWt3sILdgAjFzg{aFBO zZFA>6mAn{0=RnjYOa)MvZJiKxdCCZshsbq;@{sNWs62#a=$b}z_eY4jEbqPps7otK zKwYwo-38R;_Z2{0Zg<@S)a8rA{A8uiU8;b(9EGUMf;Ol;WB@7;dDHeNulZZg2S8m? z4ye^CKR&Pp)TLi5pe`Rf1M1Sqj`vv)*vEu|eGDbo#|(Wd-xN!;KYag)n0Fu<>|<2G zJ|+n4W6pzp3?nPf_=|=&ICeKJj)ysX93rZWY1pAm3u#f2h``#T_Aw((Cq*TLsO(KHbMQ?nfqjf0*vHUzOrmd`pDx=&$;l;aD#n}3fRX4fqe`e*vC+TeauKL zkA{@T;|ep%y!2Umu#e#f`xp(dk3oTb3>CDG8L1Y_lXCfJZ+>!`Z=MwFV<^Esh7Rmw z*uXx973^bJpnZ&kyL|r1hE)AnPF&Xyn=A2RjSF|S9(IR*WJ?rXsa7_}CWhg!>|WzH zq_M{J@?927ElOH?6t>=*$!Uu$uElT@hK8jkjR zo*D-q&sP?o{e&aOmU{3JLUQfWncAi65g@XdCg`mUd z`bxaO7X>_z-O(Y5?h!u8fQa5PqR-((vL&&lV_c{sxxV440mq;QN9snyGm=hOKON6E zTAf2X6%;x#d%maNaY~qXy14NElBRR@d1vkgYp!DFhCXM3>uYCaSyMQi3a?U9*B*?s0#-zvDVv@1nkA`%u%Z+rmv#(@wkC zZJ^&xx7h9lz5AF1fGzFcTDs4m+zl=5KMc4p{c<-Mus4(RShrC9(rEh`?SVY+W?L+I zcgMryjHk0Ew=1ZHcQo_#T;TF9_H>@|@ZT{((0iRJ@(3<=47K#4^7OzqD*6q08E<+; z4{*jxdcRTkPFzsOpuNAjc&C$cX6|^4h#yMzz;t`hrplJeF|`l)mH_33jAp#5gl{YE@LweI*0&iPF(e45ep zSEKV^Xp|l<_UG^RU*%Strw`Ch^8X1!678tNMzXNT_}5lM{gL=i^tKfi;V78Xl*gH_o9l$Ao^Mm8X+a_ zD}@=qhzY%;7=pnJIb*_k9tZ4VUKC+s@9;-zVIxhk$xRHYC0J}1HuDZ$Hba=Ia9IB0 z<9Mqu5Iw^g@D&b*Ri=bhTZPr$3H!beP3Gp>M8ra zVf1~sVWI!n-JYxiNZq zEO~n2Jbk=9{j@y;;GW1mkDz9c5UdBv&;ujw5k~G2G2|YV>KRCU8=2JYL#8SGP*P@IXB^)TfCjy zw4FQP&Ru&>JC6OV-_CFZ7^uWXq~d zeHTtjaE^SHWYbz)s~ZZv8X>aY23@*e&2~VZ{nCX)dJ|^R$#$wm>`ONh*Cxy~o5nah zld|**O*av(IyJLe4jr!;!!VKDaZ;AaOKdGyBy(w+kDa>|rkDB2k>tEhuBZlc!%Nmr z)g-jT^#523|K}VzjP`gegN0)D?Z0Z_|5hHN%T5=)LGt+m$sOl{7fgk~x%}HXGVgzW zh+J+cOn5?N27;yf0{`v9z2pCX{*}DtD}DnWZ_(@j>J{qo{^KjqJ@eQEB9r^?#hTO%ZT5R7FUvi4wvu9N-E1q z-<6lScUAuW^{Z;PZ#=%M^i=KsE3HTR&vlIT-&mTPIN4gcIXQTFxcmG0{{NGf#l^*? zrKRuRzb`K@udJ-BuCA_u77@@VvazuVg0EX!KYsk!-roNC^XIQ$zjk(Zc6WF8_V)Jo z_YV#Z4i69Uc>Lc>MN~T@Wy}W<|1xR$U%_v0bdh?uVeC-ymG~jae^)BfJqVJo7i9j^ z0pN=1-e|57S4a#*CsLVT>I)A8(oOun|6-so3&ggnOL{imi?f7(y7#*&rz z)4jJ^{(s;%gBhffcPKNl>vE1N>zzOF8%Vys@@TkaJ(5H1q4l@qtK!cbB#XJN7pQ6d zoqQdPxWLq;hKaEKlYC89JSK8w;ZO1v+lY+u`(4v&nDQk+;M3xtrwfJ0=-I8AeKh`hYzB69@QwD!<_0*A;M zKfc@+1c%6~`+c8!A3ibq4D`3??QhROO{)=`9XLdOjXM8jP#+{;72jp8{2YE(MEPsv z6EDBTsO5ay7Jk(F*NQ}o?GgXZ1S`q?ok>rb50+ED68N<#|JwpqWrznKcW0*``|r+$ zKS{HikM^)%o{vR+w9br=%G_JZNNnHxo^7*ay`10Ay0~08pDEMKy0W^z<~v1ouwECy zW4qDFB{;j$EU{*bXjKqA{2_en!Qu9Ri@x2@5sS5npJN_^74{PW#`xX!kO2JNa{sW+ z{(6IP)ZS*l@saV5@vI~Ki^`6pBckB@cu>=N-21KLse94K6P&9~N~=0i+D4xsrmrT` zR&_X67JX_ORZVG4ZO3vDOii;B7DM$M zRm-y1`3Wy~5JN3PSI5rSWp-0G_6!rM?y@w}M8!7t?Ed+$Jle>QkIG`t_lJJvw?=-@ zIf$h%Jzp=3MH;@5jblWG){Ehg`bM^K%r@s6q=vfQelCk+eHz*zx7YRB?jY`h!uiIl zjA!)RWaBTgg*M)lKJ(JgHvZDF^G$cOMV^P0#dFSvG^tpd=|mjFb2pu9R>S5#O^{81 zXM{9A!fk40*e3At&sAy-ok0|oB?ypVT6Ff#Aj=ODgculFUoz4Lew9rW;lZ@Nk){o5 zvrW7r#n5J;O&k2JEK&Rprp?HjHe~c5QBsSc-4sh3IxCwbZ7_)ZjH7*;W1A$~b+*H5 zsK;^=Uo*mjI-*BPp^3n#$$MWP` z3c+1|)(@|-940FXBKFQ| zh#jV=8uj+XFp5dvluK3jIM;B6tA5jRN@12EcC?k?nS?GN4rCGl1Xb0sPhg;5T~!zl{R; z%?7}47T7ttHBnG1@&>?f4FG=g0Pq_gz;B}fezO7an?)%8aE%v~iaY}FTM~fZZUgwu z0l;r#0DiLt@SA1e`HFQ8P%3g0z;7M^ej@>;B1Zsz8w2p0Er8!F{RQkdm_VtB7=Yj2 z0r;%}z;6x!ej5Yun=OFfth{f@Z_cjf zTH}(|`-gpnk*t~KZ8h3k+Oehhf=y@s5A=Ju0rJb@xgJT&Z+g}T+Ry9f#buNlXfSzn zRusx-WULIBmJZ9diWkrBu9&7}j?A5kE$+#<|0z%A6DSp->E|~#tuGxzmr7J1mDcRu zYmDRlnX8D~>+ETtVTlzar_N-Wa5I)oHoumvJL25%(%6_hPxtn#sDF{4IkOM_QLzAC zPGGYLSvK>GLaOvBJt!4nc$aCeHdi+Pcwefst8pvlz52o} z2gdH8_WD>+oxr;e(%rEFpCzTsm%QVp`y3LtGkP|bbm?CA*ZSw>1hE9XP$*?>%lwJX zDPOU@Co?j;^Rpx^ef3Mj8<{PClaejD2KytK0Aj%%Hrk5yYx1&FKIuDOIZ8JCpNq_J ztj#oO$Tx#hkr2_WU0(BwEp5E)LMh)~mrKcyL^jbS4dc0QdGc+U4sv07g8LFZ6+g`? ze5@gFW;-`njQH`&g^8!xVy zEA$K;*?X1?;vWF`EtX1Q?}06TI}Ufa`n+Iodi>Q+k3!$iN`;L1tRn^hzu^G>^S<;Ii1Jz%JH9P0zTNr~0DjZ3@Eg$o z98>H!mgqOu_<4ff|9QXPOtEyArT?`+|0U8(%LD!tV*cxrqHB@?VgP<4RhvTxY!wC^ z6ie;w1W0oP9JjJKp@p!1=SIrlh%ZJQw?I&li5z1$yQ62Naw8uxZXmZw5qHL(ErP4Q%~ zKEtP%C84usp&t!cOc+qT!l+L?ibhtbu~z_oV+QbBHGto|6s)As{TI>hO-!B`G%g42 z+a&0=i|(942M#J2YGLHBW6)lYkR_O=SOC8<0{HFOXH2};7XZJBh+L4ttQ8(^8s6CS7!)(S8whVtaj#>DV2BIv zC416o6_Jd86*0668%c>6w~Cm&6EV#YF}oN(UlP9P75-f-e1#``Z8vPADQpW9wrvph zODb%aENp)edzgYfvceuy#u77PPcC6da2PUg%xP^5B^(3WL(?>)X|d>YhG;rzGy^%B zX$ZxViej@yu`8oE7*Us(Lb-6EJl>(a+M)dLP{F+r;pPxgY>1d)h=g>A6nTiuP_SHT zu!42)RpsF8jKMdTf^Or2?sx~?)ecgD2R+yeRBH~@zy>}t416LTs6`(5bO@=FihOR3 ze5s7oV?@4LLcGHv47?HVwGl>egz;X0X>))%HsG^ifQ58`6?uTokiT83zk{{Eld?bF zh0)(_$s4UrRV3|ILhe;MDJ=-6}bYIg6zx_>it@0WHTBzGSkavM!`8@G0wRCb$YbemmroyWN@db@tt zc3pwHuI;%r(}a(f_)uh@Wje;W%_wGB1Lbk-va_DVaZ+@iWpW}p{$A{94blA^8dF5} zqr6KGj$NQ2x=g))MW&krgsYijvgl;495xg2)?5VR8rJtf{eP}$4G_); zf$y_v|2%0i+=m2y*JzS27f2LJ3qL(A`eIXL`PU&b517Mjoc;Xg1o^~&5aDW#g=Q|x9SN@LopI+Hp-rukEEpO>tIPML+&yz=3?*lXD<+Tvm=LNd2R6&0@B61k$vCH#m@ zP?JSKn~6`C5&nvv(~yqC?A%40bC;aXbGgz9deX}v>6IhspCr(|$)YnZq_--gx2s@u zu44DCyNs-dhcpUd8YROTuSPcBiEell-=G^`|2Cn{B(d5qvD7;;H#9LdDj_B*5t|#2 zC`s}uPxh)x@v2MnY|QX%&GzWZ^X$!Y>(6r@EN~hvav3jinZmiumbuQByUka6E>!z2 z)giur4O(spS!qPCG-Fp=!q-|O*V<#(IuqBrQ&zjvR(mp5dox$RWv}$*toG-v4iu~o z6|N2!uZ@+iO_Z-sR&7kzY|J%oE_Q4#^=>W?ZZ3~*EKfk~t1Gh`D+}u@i|Z@j*H>58 zS6A0p*Pyoss#-TUHo#dixGnzYM%TZ6vbMFoytzHUu|2iEJ+ijlyRzN9v|Tg5T|T>A zGX0})Vk>uKGjnhwwQnP-cO#*DExu>-Z-W>mYHBtitz_yI?%#5Dw5xbDq-CpW$+h+8A|SyOI83ra|@Is8suVq2J``O-*JUQ$Ptq6;~Ta(;4G zoJjS;uBayv;f_u$mi!Un-ro4PBHVC*#qq0l(qaS=?$*DGaP27`og)q|XW%EMZzEzF z(ElTW{|(6!v3uNwWEcA5M&hj==rC}ORLNJhflKEnUO8OPI6ED zW8~#k()e*}ic5{x=Ed|U-Too+(k|9`%j{62-;Dk5B3wN>*7EcSd*^Er(C+Fl`&;1O z)iOOzaoqD7a6e}P|A=r>I&6%G)gIT*DW}YaKKlX*{7dwnx2zpws2yJ>rp#dp0)M}O zE8?0--(Mo!aie_dD97I-++Ix7C&tu2BHTB2<&%HfUEks`@z~!d$a|bgvA+i~dlysw z8pOca{u;zIGyOG)*{AE)BexDKCtqUSABVS5i6^^;{f)iwN z(vMK&WfeCN(E=hb^}K>ctL;$aWiCytd=HAeEN>DbFV8Z5M_wv^M_z1Ge@9*den(z> zlYU2Dp8bxzjKuwpym%P?;A*|n{~^ztZ#*4{a78Hd4n-3FPw@cxf<(BC(GG$Lmuht4 zj|i7*MG)cm|BVR8PY~fGev5D%zeTtw1QAY`Aj0jG6GXU0f(U0!5aGrMBHV5kL4?a8 zh;Y2akO-Ga5aIS>2_l>gL4+$Jh;X_D5$*s>5aDD9BAf$3gv%m`aCZMH!c`JPIQ!os zTsc96>mZ15QA3A&;7|JQ021LyLm&~37!u)<2_oDUB*G;VM7T-l1UZ=?!gUb@eu4;B z4V@r+5=6Kx=mgo5Ai_lv1peP5TmW=}tWOZ(?4T25eS!#QL=gB1BAgC%f~-#v;Z&d# zWJ!VuCkve*YZ62_euBVH5aCz|0zW~7gAoLNf(Umc0tx&C5pKf_oFJzVM7U|_1i6VI z!jagpa^Kz+c>qq38=(_q27(BOgHDjO2qIi2B*IAvtAP{b6Oag(LJ;9XAQ5hmAi}vp zA{-e(gk$@=2-gdVaAX7#?kOa~?OuXJIAutLTO^2ZQUnohks!kHKqA}_L4>1+PLOc~ z5$+Tu!ZH3^5pIYe!mU6eTq;3?>wrW!a%M<`D}_WjLxKpGvjI+!n+YOZ(%(fmNl1iS zB8YG&gTV>%(1kR!&p?D*0wP>r3J~EQ01*xaL^xI;!m$7mZV!lXpMePX9f)xK7$Cw4 z0uk;B5aA+$2*(0MxP2hPeE}leG7#Ygy?_V@10oz95aC#X2*(0MxP2hPeE}le3J~Fj ztbho&28nR}K!l3~A{+}4;r4+D_XUV>D?o%BF#sZ52N2;zXL?L03gEA0TGTBh;S@GggXEt zoFx$9)`18&Aq7M@V<5uy0}(C?h;XbxggXEtoFx$9)`18&#REjR2S9{F0TGT3h;Xbx zggXEtoFx$9Hh>5>%>YC=K_J3C0U}%!5aC#X2zLNPI4dB+Z2}Q)mJEn+Fd)Lw0TGTZ zyG8eY^yAv}CqhAk4sYen@x%@3Z;KL3+O};(!#Nt~qz)3$4C6R-%I|1MyCN#CsPbnR%$eePF1KDuHr-oPgJtz5 z-j7MvpwxJnhqcJG|9tuh|NG#2Twh+PSf-xRcO939{S}W{vR!m)b!nO6YUO_}1ZFHV zGnNigzY)(D<61HJwLaK)OTQqGrNqcw#&ZBKt_addUy-FFHz_1=8&<2INis)Q@5kb% zDIZw&Fd6@>u%MmKF#a@GI&QizQ5Dy?=H#L=aq2cx4Xy51XHn*`(+-vc7X>!>q|2r{ z<0b2J5;y!THl|o_ziq%@$LAx1WPL9vNC~NAn#Jdo&Az!O)oQxCi6PFI6MqobYEE@G zeCyz?{E-!tg}|qWr^*)+E=hNPOZ$;fRJ3^CL$Ehaemq5EwBm84wS8XZXS`YY_oGAU zfs;Ulqbpv1ds}Fzr(&WYZ?yWOgN^I7fCYI^`6?X{;lzLlXHmRnPa-@)tT0tgJ5~oo zIB(i4%k!cY8-hTDd&9Te)L*nY3*_KY8uY z| z^>#l~ADGTqinmE<978*Oe`&{^>^SUrs%nz-myq+>WSa9z)FGWP>SW5MDv}fIWQU5d ziQAOfsuxdGlOASM*ds{es_cheP;jf0Deh3VbUG1VB|D^stq@VQAV?luCGSR%C^y>I zn6N4$ zqO`1HzzcD^=xI39CXgOpaHiot?MCf^khFVn%w;&5e3!_p_5x`GG`BMj zae17MD302x>;g3++sl>ITaWbIF;cG;AqrC^$|NBeVu50dgiKQ3r(Mwwlw+o5!w{a7 zZ?hS^B%OS?ZC4AuSE5flti$B#?M!xHp46l<7aT1Swm}PLy>_UEC&-;l{8p-b>N`oi z*THX|KCwYYji#_$hgp+46;b;it=sjkQ^}xhk2*=ilqfxRU?EjL2lHpW*GWe8DaT0> zN7T;8(d5pK{vU*>y|ZD%>*U`&N#lr|$fW#Ns82ggAlEyoDyw{j7kppUdcq3q&m`jm z{0FFd6n(jr+)f}p`xHs6NL^Rf$tM@=RwgJepCMDUq&OGrx)SY6ya7Hrt#zE7e!wYg zovK^W_r7V+eH!OBMc-Q~o=1vgnmobHCahkblx9NI*9^QcUA~t{{T2$ndlcP-7>I~t zLd+*aPi)wMv+K0R(D3Zw7A5NEi@xJeg22)53YY({PG@r`6knrbTq6q8<@X^4MNET^ zMWc9kL-7rEUXH#E(E-Pio;*C%2rI9M5>yd7WTh%Jpb^k>b~kvagYQrW3Bmjq&yHIl z^Cd%`mN=FHpI?nM{spZVB0bnT(=8LX+pm!3HXL@3jbggc7Fra zJ0B5DN(DH$2_mP8-Lw6>PU(XvaHOuu?cBT@-dciD6^_uI4m|A^HMAJnj|uuQ7?n8~ zF)T$rVGwqb(Rt1wau^YrS%O)<6R~>7d&Pt@yNblw5!JIBm5PbjB|}a1kqTR4Ptah$ zHN_+_L{Aw+WHCfuzvD_w6DF_}X{v7@nG;zv7)k6zc0r4skujQ^Jet+ew9CMDoGa}3 zM##Eml%y1OPf6^t#?aAXjQ5>b-X&5+G$Pz7P8=T7>lJ)rBW{o({yt+gn|6FH9eU*j z>I8epy{7npjrfy{3B4picdb#>jfuy#V*@NhB;bw@>0?NjBJtx5fkzW$Z6z^nUJM6K zVtXa33_OmqJk${;fo0JFSK&!lnqxm;NCS!~(^cKdG(&Zl&IVWcG%5OeQIpF`(g|Vw zkW%5UL$SxN#%xI?`YYf{!=(|F<3(I$cV z^!A#TDdsU~dL>x%1v+P3QXiSq0CoDZ1?8Gan!9)GDSe-={se#W*o8!oi#wD#jvjo5 zQE#vjs@U}7Ii%I}PW6rN0AU zCpoO5kIS=-&y#=8ugH`?Ig@$gz5I2X{EonUWgDqm!}$}n`Kn>c4`d34ISL*><!QSkztk@#$SdrlKVAqE9yVS1gO(zAv&q z{T`rjdAAB3zgs%X6eFJ$yWh3)3@b(z75k=H`R^A;(3J$9whn$;5@%6@es7H}ElKGw ziEOcsX2NAj;Np305^Zn=C|s(KP5Lmd^cODsyG^c4Y4wxR!n?NR*ixYrMP*^a4*R8} z=gVqNe=L4lwmV(gn8w{)TGn-=tUc^w15^2W4`_E~;_tL6choB%dMYzGTy9faJ`twU zBU9n>vwTiQVk)e{B)4MuJLl?t#fLMMo5Si0Pb&?sSMEH$|Esi8w3rC*qqxUZRjE;N zLbkBfrs`0%ik$f}#YojkZzXlB=^5E-ws%$MKghzut2Z82GcR9ZI;d7WQ*-gz1J-9X z0v0vg%;xlEHBMnw0=5(Ce zW_aC&+`4pZxv#o>B09|V^Nn_3r>)0ojWO5q^S-&vvNDntegcW z$Zu%7=p*2Cw>M=GsPSX#AK zTAr4-==ilf*J*jl-=cTe{HCq>T|~2iQS*DbW+TdG9uW;*Mh!l44Stjj0i*TEjQSwE`Vf_R6iYp3Z zKCGB+tC)|dSTw5mE?2QaS+O=+zL8PBWmmqfQvQpje0Qa6|NpS}) zRM@3UQW3=fqyz&DYy?Cl6lsv$rJJQ2c3}xY=?0OKRHP*oX$esfS-!8&;;HMt?zryn z_n!I9{O&XFarD59_{TYO&Xd>U@u(=@@GsxIR=!=VoRU=bTU*(#_%iB;Wwgp=^bBQ; z!==nQrF)!9_i2|N;3{REFJZ4N;S4C@HY#C1evmz`iZ*dCTTT9 zNRzp6ejw8P@PGP=Hb4BodH=ItUdtoVzdW&)M`EoO|M0|H zEq*=tXwxIH#)o3B%*AT%i&dJ6mE041aaSzwwixl2SjKhnxT_KY7bIPDBrP?hZl096 zdgAaUmBaeSWX~zf>Kv8TJ|e4iL>A8bG>^!gJu0uIte|yFN&EOwUDacHr%zl|KXqAK z~@7%C?VCG_LgK=~9!*~S;_(z0={Vyu{-#Or8Vop?kx^tVs-*#i){i9)h z|N3sMcDJph?sFg?a=<5@`kx-~O;8`)C&Z_`b->3L%VSAN%cWVIH(H0;Qdf@0IWWE3 z@KzhGRdQick8dq0_}reT>dU27`eLdZub*Y~ru5~^`@GvN@mghta|6ZJGsADT%B{5A z+Oe|9$DL;_VpY|IlD%Ag&L(JAl&;M57LZFK-@lC1k$kyzDt}fT#NH%AKI&`T-q=npLcS6*>FFwZGIzT#EnjNa>O0fm7`D+nY`x8J|`K(OSjKt z)SJf(HMXU$M5VLrFvhwR4E$(K%Zg8|UJQiwV4SlE`dc&6);szz3*gENcs*t`rs}wrL~kO5-w<E3f@hS4KZPi0;-sBYN0YO$XGK24xM*99Qol<<^0Qb4+)<0hKg~ zk+tbFErJ6+$|v=*NV#?83|U?ImaMK+A*(A}w#uzbZ` z(n7MjvX!i^q|8Fft;5gHAm!HV+z(K0jhsNrt-{lYx-#K2x!f8}R#zI3)s@_6L|y4J zPF7c9$?D2IUP!rhbF17cGY9I*O*gW-vX88;WXwR+m5Eg&h`Q23aZ?G(t$0}qP**ag zYEb|xNkh8rw!d|RLK0uYKojK7MK?-PLDlYV4)hSvy!k^HU%THY&{NFs=C>QDI<^ym zUb3w>mn`sgToi%cBxSm>IagFYUu^*9wC31U5WZf(J^-ujH})wJ^-4%Fz~^G?tB16B7Zxq2d=D;CJU054uT1(Jv&T^<#|$p-G# zV?A12o1bwt4*kZ=$0xd{)i@)M@aEw~pO|5~dnwiEHmm(Uu@jnti5-MCn_+C+ykAD_ z2)fTqMjChpXl3}DLa@JgpmVDO(Lun2YfxG^U0 ze}hU#Wp)PWVN$s0r`%P9x+H|TdaGP~o= zs56x5r=PeAy-n8e#-G+Qdv2TgHhqbTpzSa8Fj44TW}8>$#W$HfxXgDs0aRH=^!H7x zg?jScyoknHGj}>NdkS}ZWIuc&e04mtr=;s0(WWBH07@dcup3{7-8dU|V~v-2UQdK> z?a6xkN~#AR;6&7gl1KvV#)_~TKY-o18Fu3*XcN_}uFjC2)byj-YETjhgx#18)RpF< zLIZsoFA58vpdMOhbqp=_Bvx)@t3XM_1$N^fup7_8ZrlvJ@e{$vDOqh(dhcU#!S_!fyNkcH?H)jh`HHr6e|Q z-_skmQ#lU>B@rFijiX^V7DbOzpUtn`Z*$N~n%GDWXXIR@JRT^C9E0819(Ln7*o|9Y zH@4yTyG?9h?e6uHt$fY`B@uDhjW5G)oDIA2+2@U?ZTLb$iS>u1`!L$h`Akp};fCE< z5q9GTup76)ZfwJgt0UG*hW2?FD;JQcx{1b&`6X}I9HnDLQJ)p`^V)2@c;c5^tB)=l zK654&Y^M~RWVCwOaT9jqb=ZvqVK;7r-S|P3y8aK?jUS&E&7S%OyRk6r#-Xqqhr({` z47)Ms`SS&(4mr*%beBYDVqrIa3%l_n*o|MqZfwMr=UxH3u~J%{vg{)4#@w(Q^TKZY z6n10A#lD_4*o{TY9$2r#ZftY1LUjHe?8awdH{N4E|HKz|V`tcnIdyHj*8`R-pIR+v zKbnA&NIR57(x4=A2}&Zb#cKCd4tYusmNB^4+VYE8E($_yRnD6*kc+fi5!5E$YCgn zJcW|TE+~m8kHKzS54*7s?8f_{Bq9zak-M-PzlYuUwIuAuMy1iNuF?8XtW8;ikid>wYH6rn&T7Lh)}_$R#xZH` z?h+U0_7riaL@0@B!`O24KJ)z! zB@tUFi3DGA6Hv25;oKsN+(htpVykX(2i&Eo?4cx*@)SxU_KL;sg!k^sjrJ-m9=UQJ zCs7WkZ9QH_dT3xAI66Jfy>Qf3Q-pGBI+R3g&tAZJCb@fFMTr`%dX~NLyoGtBY2elI z-NU3;^=7eG6_i98l^?Kp*GqXnMu|X4BuCZD9xrd#>s_|w?TQn2lgG5wdy~B6iCO%Lh1|513e$9>WFP%@3GuJOm|?W1ay^7-=Yp zY@Q5Ul~;q3h@^EOsqx@8)*uZii5N<6*ao3)2hkWFr0WY(g_1~#F1121FMsfUEI&(B zFymc+4gzN1T5#Ro5I$2$cEb=Q)ew||q+m&iKo?RH;getu<%5z4HJ_|q=>CvU#kF%n zeW5X5Lsb+cjwpm3=MOu*rmhwh_ERrRlUn@jT3E`*U_EMCZNqSqWw=2T_vMoCAD!Vw zSneCF5#J;u?x=G^Nn|NF!i<{Rye~p-U$}*x*dv9=v2&3&CHm*1BGug^9s4+)*CMr` zBw`l;C6Q@VBu3rSy9DQwiVGlk`m;vK?SYbrN|0St=dGw{b&lA+sM^J-L~0HwiBv*K zq=_9$BBf9gQMeGb7X5@JCLinl!Z5}`KC0L*7)m0~dSfcpG1aWG-uRe$g^&ijSOJCD zW>(>xzF6X7YzF};iQu6m(x=h{B@ue}xIqOrD2XI7$B!9Gv>L|0e;hwaE%dP@{(f5g zJl1D`H95)v1i66dE9XQ-1V z(Mg}wlg3PwK46mu2}ylTNj+0Z-PFk)=;Sx*$<3z8ud&JXgyfp0X|gAnY*x=I|!NEn=(n0nd?+ptEj9MwX7wRtS^|XS$x)1W7foE);JY$ z1VtQDBlepR-(!ex@x;zXV%sFKg(|xdmHkRByVfMT3X@%q&n{`qE}YCRpvuWZ`fA ziM*3_e0Kq-l%%35lX;-G6L3mrrso>thwg%C>*g+&7#Z!Qy%hP+xzEZdQyko6qT&e7 zJ9IWen(oR@u_Zhw@M;bN=3g8_~5FK zmkqwn^Jwga9eXj1#vWISy&Q^RH1>(veYSJ2&bb5Ix05|qJO6gn*JU9Luk)Y1tq;ME z-IgN%^G~$f^8eNQAN*?HT8aLfC-&Cr&-cz+Z0mJfiFH|uby|wPc_h~SP^`gRtk&$; zP*ZqUEcdn;;f8nutTY!Topq!hs7c>GC1a#2V|e`Vg=4>l8r`GFRs%zg_E9+KGVTZ?uyj^r{l~#@4J>x>Ea?FLXsxEpEoE_)7h&bfrTu zuZpdFm%_m(=TwgeWB>U$6YrQvrYm~|?bp8l!#J}!eag}Nq_@N7$ZskRq(k_>jWb=l zMov4^g;A;QxH$Q@aVDUU>dfN}{e9cqQc>f78D}WtE;Vq48usu8{yENQT18xC4W!H0 z<A7{G%7-y1xA7^rYjWcIWe~mMlzmGFYzs8w| z9>2z!vqrzhnQy<3Gbvl+3|-#VIP-a{D?*pO)fFk(>WXk=ZgoX`wz?v%zs4D@t#RgR z%2roo@76dI_iLQ_u+%xVpJoLM7xMRLjG%rLnt@}qz}&eV{{nRaql#CduK#+miBzjQ?| zk-H+|IbV>jNL-!xm!He((N>VQZXuw2F)~oeM};-s3tL^0-YBFi!n7BIc&sS3!DF>!1o2p{BOa^AWRKM{;<5Tl_E=3L z9;?S>kJT9BvHD2%SoM=VR(FON!DH2lc&t8>JyuPK$Ljnb;<2hhJXUYX9;;%+V|9K2 zJXWVm-sSq4$PBS`H=ZUS9;>VU;ITTBjCibO5s%fGXvAY>-Ul8lwNS)k^%L<}sre!v zD@Vj*rS5@vtmt|XkChYRv5F;otZWdEmB@R0cyL-F*qo>plJXV~IhTT3rFZ08R51oV!#)U5B09|PSbR_}k$`e3W-UYhS_ifGY2)x%( z5#2pm2Jt{w$^%_#3Up;H(3N+AuJrACV-=AazagTgDttKr=t>r#E73q#o&dV?E<#uO zcJy^cBoqNE2@=16^qgbmbIkjJXczN@Jia{TlWa;QYj# zC0TBZ+!h16(g5g60??JJKvx6PBN@JiaiPZ|-eXcf@1>2U1_vjzKY`^(QI`O;U zyzGH-etaJ2%CA6I3IJUh3Us9}(3KZ~uH-zg8>;A#uKberO!jmv z(3KrPSKbA>@-@(v+CW!6sJpzZm{vwQya041C(xC=KvzBjx^f-p$~K@Y>4C1ig6XKV zISF)SH_(-*fv(*1W6sh6=*o*gS90n;E?BpkcP`rVUi6D2(3Jr|SEd17`5Nd-F`z3S zzH;7kB#!b}@duzQMS-py1-fzu=t>8mE8BstY%BD)zUs%aX)A-!mH9wd8qZQSUuRzm zk1YBmc1FDQcI9wX_h5x=m7Sw?j`feF^3UHl6gpOfzb1VznmoNrqAOH+Bu#p#THD3m zEk*3fPW_5$#!AJWL&TNrOT{xruO)ixDo3A(4%HbSbHH@x*z7K-m=knX8oVI#y`-pk z-o{&Ucv*S8VtJ^+dD9_)Qrwmc=*nY2S9$_nc>w6jGeB2X0bM!V6j9|ECY@_11a##k zpetVjUHKH~%3VNL9s{~^xHZScDf+g!gDlXMkASZH1a#$lpetVkU0DTm<%f2mW0hS% zSEfr>t?9Zbf6Wlvn7UH&qo-Z*TLGzkWzKqYW_Yu*w@#dt4|Ju;v132p=a5#)DmLZ= zm41%vd|&I{oc~r;HN2d=S-D)b=?Z6i^0pN6u3kV_;t;yh59rEOgsu#M`#l3Ypeu1e zR~935WjxT8EcQTGrUG4Qi_n#sKv(u6bY&jUmGTZiR~7&d+ebfp{6m4^(xj4^H| zI4|L1FY`$^perR=ysgySfv%LZ^|r;k+ZTHu?e%u1@^EFrsLEqJph*IBrFt>5Pp_9> zFUDdO6C@7-5Uh;>HUj63!(knZv9YV(@vB%j7N2AT4A7M@&ftqNck_H0A6w<1gn+J0 z1iI2htKq4y4bYVsba}6Df0%DIm0Xp)U#Om6!=zR%&X4D*M=MIHan-M4+^?%wvD3ic z!wTq1y_RDC>nZ-jtAapR+DZj{G!dMz4R{Q6B}x$J%KJ+J3n-l-`9NL%z;7l3tGK{# z=L3J@W!6^%FYgYbAn1?`f@~fKQBlk6Cggw_2?eEVCS%4HnjBq zzTi_!!8}d;d(QGQ0_oiN(%#BS$fi6s>D~)FqCH;{@{E-SMEL)s=Ow9 zlr@ZBD(vLc1v$Gg-_S4(1n(X~KVQgh@3U3o61u!+4mDn{cK(3K)(YcWO4v9(j@D-C1oPQ*5%*_%sZ^?nO$ zLrcA3jmwsddt1WRV;6UiWF6bzCpp*`R}>OAqAv77AwHikege%l85N)SJbo5^@zYv- z+unqwD4}`7gb>Sw)jrv;B?` zD<(CsChjj4|3OG(w@>8MNaSWqN9IGxAd-g|+R&$I_bj&%k7=6W<3p6p8 z`lAgqqp#RUU(<-b&K7-hI_h?5)LoybdzYh3g`)2Nz&&WjJ&MLzn&GS!aZhM)Px~Y7 zG9w-ABb_uNUDzU@O-GR2OCvmeBD^n0V1*)le}wxthX+Q72b+b5Du##Cgh%#=MP-J? z*oVbwge9l!m7Hgl1e0B?yIP{Rqi!4#|xUd2SX`pcwL!CZwo8xFj>U%s#k6 zBe;q!xMn)2t~BVCPtfbjK}|wIEk6R^GzYdv2X>kTb}I(HqX~T9AJCT>Fkl}rq!I9e zEnsxof4tQHlaK%B%l=bB{xd)P=9>M!MEfn8`7JB@t9UB+83*hB;s=YJP*Y$P+cxjvW{OIyQo#(sQ zk00W5kVYmNl_)BX&OEe(l!M+*Q9T~^nq3m?1-#b0cY}C;JHAUUra-Yw@`w_Tt|b-c zvwT%yDP;gJEnle6=DXgYI#Kq5iVR-ruo`+Z?Dr4*%-@e^2A+uiORxX2$p3#{pS8$eU$3=DueETGweZ`= z!d;Jr+Mfuu*q|G2(664N>Yt)&ZBaG0f>m~c6?VX53Y6Fh6x#|EKNTo?B2Z{8@X|uy zItJ5&hTypXrbI%$z=_$bQ6I{dLsxQktQpi4-y zr$5mLTNLO~5$0YS>DCbA-Wc!JlIY%^?)8p{9e5EiS|0wnE_S9lb-taj(3Q3DuHZ|5 z`P@+b%!j7w(YC3vuBq|vsgG}`KlRK^^v+HW%uf%^Pmjz`f1ID5n4g*aGCT8SZtlzc z!oruOg@xtC#ji_C|1LWT;ns!amAPf4<2nTp<6u&U zo?YpfS!tPCX_#249$zW_uu?GaHLq_eyJv~;b}_YUF}{5<`psfw>r!~jVrbJs(CdYO zhA-Z=v(Dv{w#5_HFUPH3jQ;^$%IogtKX$*t_8;w6tStX6&v@oy0ctnm89zGqpL)hu zWPE;{58?iIJ>!Dh>W?>1=@sj0@u>yg8NXb{n5?K2f@XXwt0!tu;Kt${O_ zk?w1%B|T!lIvPaozP>X->{qAA_Nxyfi2drp(w6K@ zUv-e}SF~jNmG%tTepSE~huE(|5c`!9*?u+u8L?lj#}t17`xPn!v0oMSIe`6Ya~!c> zl^53{_A6y6#C|1CwqFH)Alt7T$o8vYvi(Xw!x`*Xn*-}$zjAp%wqNO=LF`w9T4eiG z*ImSZwVfGXy^|F9jKME)g9lYZQy2)xGl^>wa6DrZ2*)$LE6DMTEOI=0OWWk`6F^XBY+&wB#$7+GZX%BJi|AL9M7ct!|@DXFLFF% zj2zGKzeSE`1d!ty{to1LX2K7SXKuHS!0}9`9~{rzZbXh}%*e+x^~mvz6mmTCu^Ks^ zS@K1WXDX26nNnZmc%}q7o^kVq>5Z;%Jfjx?$1|T_=E3ny z02YpCG9r=V8Ex|MOek_ZLxYWnm2MeNwCi-!#?u__L=?{xz6F}8tbAC zMYaO$GnTN=48uP2684$Pu+M}GScT5Cev-Nr)#j8V3H!`V*k>wXpLqiN4EV5z!w=ck z%``8DTne8!nu~^g<{a!Z@vzSvhJEHT>@(p9otI}CHl^s*ugqhGeMS=Y86((dUcx?e1@@T;J|F$r`h5ikSTX14%&^b! z!ak!6`^*#AX9n_KD@X7KxzE<}?lJT{t(;E{`wTPeGhDFG9EN@73hXlxJP`%6)uPsh z&%k~~(IjMC;#JbR9oc8N)g}(dTzK=ahdXxsNR4cFUzT;H_0J{ZXWIUf_KUF3bizLK z2=fd`V)c!f_Gq?4# zryKK2--S6HCW;Hs7~U`JDV!I{v8M08wru~RlJwHlU3B*C?y_FuQQ7?KS+jRr3j5k} zL|>%%518sZ6!laVJ}Stb8?h=IsNaw+4iuiZ6fPQ^cqmrdO+WOcz@ZfOnJ43-UuL_? zh6gL;Dyy=-IQbUAJ|kXD88G~8k7LEoW5o`8au!yl%16IC$=81oUc}B6jqU#;-XP5| z;&1I(&9zzljHD{Iv?H|qBb~BBGdFQ5{A}?jv0RDP+X16d-Hvs#RVCimIm=AT<)06d z6gqT7z9wZAPo91x*%it#o+j@(+KpUH)N=6=b%%@?WRWrhj3S;<-@xE5@nQ-_yE-qtOE3cG_Bt3tJ}{SxiWg3CD!Z`3wV%SrmVNZMverqpWZ&F{3HDoof_ z+9efN(o;HT6(-kJ#`q3wUk6?4D)x1li@H1)c9Pb|f+j1GCPSVHi=lH^*o$rS*v#{L zGwI{g>v3+;aqbeW-vVQLhs)trM%*^fSKC~cF40nUQp?!V-C6atQ1feMVVL_)OXQ)B z7-3u}rsZ5^bj7(*S zx$)p=qb%KDs4=B<&@0GOujvNAlxIrW7O00}!s6(QTzTa%bao3Q@6#xzP!-SlN%xM( zz$hz>g&vq!^F+A^FjK_BU}33a78fM!bH7Ffi?q+u7P zwZ`bA&ZMS(KzAzi>J&9-TXdr6O}F88OomZN()=dxFH9YU>u@RM2_5>3vs7TZOu$7; zMY;$^gtGYi6o(nF1!b@Xe<;SqtOaD2_)eU0PVL1#n+l>ah}v5cB|aHipzciFh)!O6 z>V)=ZruJ`8_lH9zX>3e7I;N_GF32_}FDmBVRCKfgQzdCF=ChoC61CrsDJ~~NY_LJ} zM>}jWXF`l73;pHRVkrE+&c{^E}LV}J{>qTMFy&=Xd>7tFXttzxpHPpJj!4x$~ zm)Iik7E}W2u6!t_NFK(6)G-wn!J9x)j&QrK29tPglf!~&WQ8I})RTLX($23jrfu`? zW1z$PI!(;n zJ-V7iAMxnK-!QcOpELWmWlg!dGXIF~MJ$sE^RG3{{N#vZ_VwH+Cotl_@kUQ#BtbObjiwI4ki;sp!~w5MU`-#T3ot7de)x+pZS{ zj~BU}6@&YkguTTWhm$^K#opG%0a>C!>?Jha#bN7mp$;Y8Atll5qOk)d?Mo$zWf~Dm zrBC=v(|twoF{Kg?`NRR0to2gunbLe(+qKJOSI?9c#~7!Tl^O3TtBet@W-os!RbH`TF;rG3K%t3kJN@Xo; zw$*mc!#i3sv=)PmRR;H-dvW36~vjZmy4 zda(9$eXWG1r1+7#8+vuJ<=RrQbqwxxN3I@H{#p0sMcs+3@+Ys>@7zHa+Y2hi-_NiZ4l3IFh6p^ z@MlBBc!SjuzQ&nqcoA%lxw%EzB(L=h?XO_oru#s-5 zF^I?$a-?a`-NuL`+PK)Jn6jqW*^>C5O-by{$(p6utIgK>O?XG{%<^XTQ_VSprLF8O zmb5J|j+7NRwmfxcF1;$7J=pT`c1tx;xavqN|Do1~tL5+yW@A}vYk4{QVr!^=Yu8WC zw^!c`S-$Bl*DEi7b1vo0u%k>HM_a#A+sDC*A;-4a`)$+anAyR$shG9}O_`A+?H%XZ zza8ONjcu=a-v0B*u`fT{SB2XtHcoH9)w7yDKtyH0WFE&c7cx)m2RkG?z4_wJ$=lR@0O z>nm@sR;XRrc&EwHb8Dmi&b1yr#~zbwuZ${s*7M(8rGIZI`u?KUd;JIRb^YIKWxv;W z^Zv}-`;+v&$3=UUwR)8v^ve799?tHSdebXD*DFHbhZgM<(CXuV(8uH7$C=&7_NMQ^ zT;E>$erC~r2CaVD2mMt3{l8`RQ@rWlobCTfH?Sr$@J(}I*?eHZZ(xo%Fx@)vd3N9< z-QcLm;IQW4fcapr-{3pqU{~v4`|MyV-B1%rWT-)NsLp(-+Ha_WI8@p?R5UyEf^PV^ z$Z(G4aF+Qn-fuXKIGo%%oG?2aOZOp4tkGvuuximkrn}1~S z`?#-_*({Hld8S8LRd6TB0F#__ou!R$Au>QOi%;_Ihjzjy-H9_&mR1|vyE_Dbw@pee z1jtP)j?umME2V;O@KM(6Vo%zoqx{)}We+dAWu#&)vpvseM+T|&PHvq=D$b+{&v;3> zd}c1;eVoBNy+)`Uh9|deRTy}wZHHMBxu%nqr&Eol)19aB@za@=)5LhB!r;%to2@+a z!f2+@d8RmirnGXVe0T<_FfdbJ?)q41G~3`j+ZaC!(bv}D*|s+1PB8cv!uj_r!EM{N zZQs6~f`WpQl5)q69l!nd+s>UkckS9mMMXtTO-(~XLrY6bM@L6bPtU->z{tqR#KgqR z%)EQ|?mc_Uy@9^CPBO@4!3p{CZhHCMOz+fB3dO?Z5crh^^Q=$0K#_ z7c0GtN-=jzuqH*m<}dv%3Id-z4|d22dzKZ6!AA$B#o_+9cKM$-7&_|dxsC_XUH%7z zQ;@m;zk_fx?C#>lAB4?F$tJ{4Q~B~=$Hfxle| zehuHo!>depkWzK-+~2PRBN`}>E5Ua>9ch2N5~PSbL&da-yTSU`D?zuNC#*d3Eb2}u z%KVOSUbVpvF|dECt~(KBw}o)R3eBZnclzj#=ejXl2L_HMrxNAh3~)UL28$SiarmJ+U0z)k@Hz{?ed}jL=IBBY{hclGa}E68FkDTU$KZ^v25UYIxCsY?jo|(c+i^7stJ`rlu8oJ zon2~?Na?de)PK?;(q#3YeklrnbeHJY4w(r}ME$3g&`DPR#gph(puxb&)qN4ET@o#2 zn%-aah6ck6r;~tiW@ttCnUN9B=SYLWo7`a7_)1=(pLUQ}XbJKP?MrSjh%F*3v_cJe zh5klfp;O2!bj}>ILMs-K8w{1?2E+B4bI@RL&YD3Q4C&+*+WQ-_LXU4X7?x*|6*}%U zvO=FGHy8?99HGH*J#_^d49*_p6?%ibLbsDwXvSe=g|2!+UZJZ#AuBY|e-mjiUv4 zkFa(vc-157zhWiMr3G)&3q<`_tjN225tEFl|B4k3NiAYS5cMBU9<8_NfS1uEl^8i24sNeROFtP!du95u}dqUJBxu z2K8T)c0}|0(i&N_|ZdAgllQuzFvU_vE8a%T4q6TYXKTUP7sz$>a_W`I@>SiPpG8 z!yTUgHEj%0|7D6l0rlUL5K#YVaK{>Uv3BWUjV58HbDJX`mUsFB@@(t=Ry6K z0SM<=KsW;d;bZ`Wa|6_WW!kG`IZdo zzmuT;^9F>I7C|@}0pVl-gmVMbe`W1MOW)!_{dWY^e@_A7oB@Qh9T3g{KsYx*{a5y8 zO7D9#sQ+X@{dW%#&K5v80|DV=0EBY`)PH3yEBW6eK>a5I>c2~XaApC*sRIaS03e(j zp#Cdw+P-Hs1k`^A_Yg`774$RUc6Q?FIFpARwG)0pSb;gp&~vP7>2ZsG(@^vgG1cco+Z0m6B2;f+nt{kUZgKsZa> zZAk@JAQQU5T-w1)CzIS{KY8kPZfAg4QZoOW3u^joP7#%lX#}%PGmT5TN7rTWR~o0z zNnd!I-oTZq&snEe5RK1rURk~+I>T04+H)lBa87W>%(c%8J(cOEx$YZfH}{lzS1Ze& z_0KjRkSyyvt||LM{l~0nRZf48Sn`X4H|NZ)2ObZTY<3rkKJ@V_8;nzuD~(Z`e~Svflm?P&n^sV0tT`Z@Y-e(;%+kw0U2#xo9cWyNlGdM)&0uS@ z=6W5y9E(%hwCi>g`>Ob(e6k$Wf7tY|X`dG-wKMK^r*NIc|9@2dC-QSNvShX4jPz1y z)x;<14{tc_D&MDwZ{z{Oc?S^Ab_C(f0)+FC(rO*!_r*|``H5pyL*2QgazHp80pZ*P zgp;OoZuJ-X0LnbU-+9 z_JD8_0pVP=2ZS>p5KaRJKsbv5;VgClgtHP5P8LT%IO_r7v~>i8vl$T1UPnMUJ6hUVXLqlFfv)7|)$wRkSSWn*b)knvRR7U{eEX?=3iqlkG_53;Rd23bZj)7OU zm6u7ekXf-;r-$c579~J9Qvu;L(6X@g?%(fa->7WU>m7q2oM=EeBlR#OuU;)X9465n zbcThgyGJn8?!O>5+fD7(`aPkAfskl3E38y<_5U8yh zxQajep*V21Cy->T@Pj1?4G1Ue#qYL3s(^5+^8v!i2M8xM-)@Cq)9|4EeP;mSl+_RB zP*-MO3w{O&=b99kVF`d6=d;m-bqiXeGhZ?)jG8^dF6!KGQPB!wQGHRn>H*;tOHhc$1Hx&_1_-C&;RvFk zbkJcJGcU#tH$#S@Jff5~~OZXLE8)z2N~sIL`&gHmftW_Qg^F!iffn z6?myYH5FG+B7hMJ98Ym&)bYjW_?PPO`KIx?*mxo#p3oGZJ{6xrosfu5h*M99Hcg1c zCWH|Zf}0WorV@Oq6EWySPxVAM(?l0+q9Y;Et|`%GD$$xc$pW49Kt0LKH0d5T=?)?3 zW>b>URMHjdWCL{a1@&Y-(_|fNvL+!}y(#(hRI(~{iV8aAsCtT`X^I>+MTU?f*_0wS zl_E@?ibAIzQcvYGP36X>au8Bkn^N~rrS5@mr=Zj5)zfH9({^Fgb`a9GH>Hs#)7Gid zS5fIJYUxWR>0dDEv-tF>#`KBF^l_?;5md&IT1LM~#(PZ0TYN@mV@BI#Mhg|b5rrqc zQp4Ap;HxnBay-7I5nnioFQ6jip$OS(giI4c28NJ|CnPlz;wK3)RGBzbX1H2rh)HH3 zCesg}iEYgEn#^>k%5p_zIjLpYn`Ax3WIe`bSvF=poXomUMKnPX@2U}RnGmmIh*$AM z!$#u8NuoYgwk|4LOD$W&B>M~|`y@X5cw@HmWVRAjjyx*ouv(6kNsc%sM+BdPZp;zD z1E)#RF(vDBf(q^c4@u-c=oa)q%9oTsGG!l~paN7=i7C&NQov(muQOjRm6EJZKC_M` z?}eqjTjTsHON_GB%sMxpUn$^Y@8sJYp=95_V{Q8R#oN5>!Mv2ueJI>@^ErLpuo);FsHyE7Pi(CQWB%cLJ zvhVwaZT{sfu;I512KxO>jI7Me9J_aO?cT$)XD{F0ef<0O@gF#Fkd@^S8>;{ts~{Vj zAUpC<@Hp6!#|e)E#l?x{<`&}N73DuDen>!45G931OA8B2i;2oeiOI-F9F~`oJ#tu9 zMNUptLH@LoyxI}@vq$8$j>_vQ%jv7gT{j4`IroOfo-mAL0SM~J`uU^4>{rYudV`EcGOKW?3dv|wt zPft&8Z{NVcz|hdphYus8qod>F;~zhMnwXgQ{CRS6@^67lXk5-ii{Z=M;^N%W((Ll` z%-65e-@Z<)e*5%e_4Cj5*^Qs`q>XtJX@NvqBEkPwZhRw=)<~pv66q(2gw!toi+}xj z7PtVCs?&JKe>@AU`ERut2nW|j-F6^nfoVK$&okd;859_u`sXc%ppzF*I`!Yg^px2y zPsgnm=6B`QR;>RG+tkr=!<-h<>09}YIb!bK$g{r=GE^USk)CzpRL~MH;ywO6 z3p^NMl5BF&{2<&0I&}_W{}RQVKrz|fU|MY76*7hT_=i*L&OJ7kT|22oMb6iS{OQzs zHm&?9C8*|IBgbB!dD_^fjwrze+)9he+)7re+)9ScYh5s zO8;h%x$|p~5&M0RiTQnydHDMv^WxVavp`_GU=M?gTzOtK!x@NTemtQGgUr1_;w!eN z5XCICf^SV7jHJtK6v%)mre|_13^K3%(p#k7Lljf3%MV%%-|14?l#xM(fkF!zWRCtC zWO^m(kwGRq<}G=UA=uS}Q_Gt(=KZZmaB3yOxktZwk!Vo=!`Gs6?=9LNd>_)@YB8*n zTMP`#AKVT+ly4-r7Sjd zau(=Dc53w?XMraWr`GK*oCQW8XMqz<7H}5$Fa*v5Cj_6vSztg2au$fLfwRDzkk|>$&%&K>7T6X7 zPOZ5tw+dN;FuRU zwWiIHv%pfssb%)w70v?l1Hq}4wTheta#3X&YY7`8POTH3*$@3^j*SStFNCu|Q#cE3 zfwMp_z&7Uq+l+xIW+6l|&Cf#=Gab$X)!{7A7tR8AzRZu918g$}qL_sc#WdH1C}sql z1)>4lJPX*S7hs!n2(}pmQOrV!Vm>$tQA{s53#5i9CM`rUcfKfYm;-Dx2BMfn5XF3W z1frNWa27ZPXMrtn7U%`o<{V&~F%ZQpf+*%A8Hi#U!&zVxoCW&AS>Vos%5QUkZN@+p zvk0P?k3=Afc@fS632+v87O+ikz&7Ur+l+-MW-&xDEe=8y^E8|VV&N>17NVHD^6LfW z0o#m)C}uH4F)cYDiYW_cfu?X4*aByP-hge+1GX6pQOpvEVp{EmD5e0M1**eYpf8*S z?t0#QaUQVEScqblKorx84x*U*0oz0)XMtw{+w=x(a~`nGScqblKorw@2ShQcLteJ) z!C4?PL@}?!S>Q#$Ha7sKLOk125j>QV4GEdZE^v&DXOm<+7D686(ouo z4%p@gz&0-dw&@GlW+7mk8%Pv0rHu4s*-dno6|l|SfNlB%w)p|D&5M9-4gt35;0;ks zmF(;X{eW#A18j2zqL@X1ZE^v&DXR0hAO@nC-;pTh6TmiO0NacNY||I8&2+#vNk|kk zhVs}dL@^i8fNgdGw)vajBKA69o0kCFtb{10BND}w0BqB$1hCEP5XF1~QOsP3Vsb+i zQ|v6R`>MHY)fy7TyZ}+mD-gwe4^d2Ch+<|y6qAHRF++z`JP)0c+K*Wf3vYc-^e$#%CTN5cTN3r<+9$#Ba@5*KRT~3EvH|)HKos( z_pX2x&E&Mp9e!K4)(AJDRdaz}w{s0{5(W zi=KdOVlaSh`U18&iMg?Wg+V5{7Yo>CBF2Zo!z)uBMeOx?w&atC7X+u4EjYC%j~vGN zJ^-hdykO<3ui0+DT6yU*13zO`zeWQAaB5uzrxyND$JQWYa;V4F|2#Og@CU)ErC{wh zVsiL{e84HafC>47lehpyaB5+M$5sRE_5?2BW#$b6XHNvK+RA({4(v?{B&|NV&k~f= z9k|1gZ>L=le@GAwD>BFoQ3f&DNi!-0bLa){U%NmV6`bH6%wZ_AdoB3sfe=2zQ*dfU zj0d9>#1EE)97+ihGbQnWQ|ku|GIq*>cA>QILlm2A75YNGZvPr&4!|HojSMpLFv!^H zpIQrJ7!T81<2-K|uCy=QK;0gkS{dI%jZCdzkja*dxI^vWXB+X`E=VL;8TUo3T7_FE za9Sxuc7jvO?);;u$VC`r*4SZ?Ir}owtwijZA?}hY4ueGonW9cyfFXMjYm|N(E{s(y z)GjJ7I4auiLPTHGOnpS6LLfM`zO6>38;Zt8MdQJ#Wy+Sb7M;o*laFSDLB`ZQy0}RM z2AR0dn934X7-XU(W9z9!OYLIoZ^bsRsWkP)R@KIKs5606>(O#-&zepeIJNjo;s#Aa zOxNOc^y7NeZD+FQh<7ruW1qno8(DIa%)O*nM!h`PPRiQ+o&g7 zn5PE|*zo>os)HBD8) zrXD4vDmJCcO{L0Er%9sI#MIM-P18`=v_ph6zNR$psWcAibXIiwe)aS{rs+)Bbb3NM zO;h@=sq`Jx8QakrB(;onlZ;hN#tJ@TsWIcrWX3ENehLPe2{rt<34R2FAHw7N8}aWa z@o%XJohU+^8llC6(1;8%xd)bmGwv`=zK(SLZiCNAf@ACMe8y#Rd-?2KKcfR`|+vwhX ze3bjo9zHS#bxaEO(Y>5AGU#Mx;Uz}ZMCOwVq})R>GJBJm4@fbcug*WXp0C=?y}5lK zx|&%^_qlwF^!PchbHNmcm7dEbQgCm3alA#U_Be-jZSI8R0pT*1iw-aU9AvhfTE2Uv z9ax2Rd2jz^klDgEuQ4BpJ5C|CK0VuvfrM;M*$|JtT(;xC!hps~8-p zfSbS(_R2A(%8yqnCmbp#V=AZ1DrW~OA;bVTflEqNU$0bsbEsO4srpe?1vi1D_5VZK zTSi6oKYH7Mlt`(RN=bv1v`DvfcXxM541%8s%+yw_M!*Sd#l308Cv5|U7yu`b z$ghngwe5Lh8|hpd`Ar+(1X2mK)9AMYP9Q^SJ5ysj^ISXYO*=bj2ZulhmwpG2Uk6`m z2Y+LSz+4C51d5P?fguLK36$~!%cOzZ)2~xIwG$X((4Xrx zyy-M1?E;)YbNw!0h`~A)7-HzMpX+kG>2fCRb`|IboIp>%Ztv7?pT=&#xo*%+Hv(`1 zg9LhjA%;-Dp77KjV2A;50%LA^;z)Y|Coo>W7Z_pyoWPXEUSNm;Z~`+)A;1tru0AB+ z4^o&40i3{+IS4SsP)^!cA^A58m_-lMaju3;<5xq~E|)>cC9nz}(ybFvPGxI=Cb-xS~I}<~O*JI=Iz12snXz zH-o?s!;!$yiT==;-w@ygUNsH@Lkx(UAtbV46v1IsgJE?4Va&8)zzM{j9|ndP@X1D= z2#x?l3`G9G5W~pxrV-Nl5%Sv+O0rSF38XO?rSl(UNJES=HH|XQkFws5vXhN*2#x_x zAdmkTU)mUd)0n{gn9%JQ-~@^Zj!PJfOZkt>q>alqjmyuEE8dPPlTD}sPN2brrvC)s z1nM?T=+93W-cA^kO_~Z$0#2Z%|D<)=q;1or{rsfk?W8jq)Kw7bZUFW4hkB<$eVU+t z^T4ll&<|u&L4s4k22-K_Q{ib-kxf%k^HVXmQ*mU|Uj(P)4W<+Qr@y65r!-Bc&QGV` zPG^$MWDCyZ8qDPT&lIN36gAD1%+HkF&XkkQRtU~k8O+xB&(@{QHZ;vP&d)aA&bE@x zwF}OH4d%N1=X%oSAWd`q^K*l@bHilwqX@zIafA6u|M{u3`I)Bqx%qk6?fe26Y)KHd zVgOt7hi#<6wwho&^RT^J*Z~>*NDzKv06+7GU!=jWn&3C{aKtSfiF^S?XaUu50Ufk} znZAJ4ynqc`z(p+JlP^9IS|l)BBmymxq%S^iUL=Jrk|P!=$(N{vmS_x@=s-&h=}Sz_ zOU$q(R>TrJ`7(#lGMC{p4``V$eVM;`Spc>ygjg0KUl9{pkuY5Gm%%M~5vE^{BYQ2XbdEp6+c>N>l5zQX9V8Y^sUc(s|7pjWvm-N$v2WgkaWZC z^mIsW`gTs)W)W<=n02!#YBLA486dQs;<(*22x(~EDZSYq#N8=n-tH9I1>yGf#B4-1 z@8q%e4aKbQxICa7F1Kdhi9zf#wqi4hJh1iK-W@?6Sil=KMs6%Yf-m6h8zVJFA?+^U zA(W9C^^tC1`*-9Ah~_?|p?$QUeHifl2O>x)_(*k)2WUuGy9*CdM39~y9NZxxRWKi3 z!*EgKun=(%iTBTtP>~LQG9RK2;UYfZpvFC&;hbtp3E#S?IAaN=k2<_v+ zjggUKkpzv7Z-kI}*iJArAV~N~3~cz1j2gYam&PsF$v-d2TXE7U4wBiC zN|}-9%J=hPQ8?g`2dyZ16gXK!5VrlxGQ7S|KT+nLFWiLtP+E~8t!MCIlxleRe`0?; zBzYuaGywZgn^XOLEU2dcoEb~184D`l<6nQAwWgl4q4}QNnHTbg-$TG)Rc2U^(uq5J z_H?t33^Ps)Q_d_F2`hDxEA>HZ^?sXmF1xi>`<2=UKNXM4MUIMj4)eM9Q+f81xOTt1 z-u}eC6~eyxk!{_NW!(qh^Y^&^|3LTuGW`E?@$X+-_F(+?tavj1=UH}V{Oc^aG5mf0 zyaHS=IMFXS(=WRGeSqtK5Afo@*Y_7rbnriC&XIo7o_^4hp!GbK<8Y1W$1j5^Q`joX50yPnjMQ@jM}s zeL|x2gyh{565yKo2?_lZ61xBG5WHX{CTAw61=eSHUvY}E@k((C$ngp*@`)(@=iw1m z;SyEl5L4%t*5;8jc&+ZjV*Q!bzmzMX{cYx;eBro3*_2oPd_vE9#l&{o+|KaQ&i3Z? z(bn+E-o(lA0nj2iK0ZA;KKvK^%Qzb|sY)#s{x|GT!fE?|Gr|=7f8DR;?l@|>bou&<)&GM15m9j_sZGVt^Pm4OQyO>5+^Kf8uMU=b zzP>X0j|pZUqa0hsM`*=eb*KMKX*6CQZ;TapM;kb{jX#3^=afbUTSw+p=_LF=CYT>! zK@CK`UjLcW_-lgM#8?V!H7r(O|Nl;D@V#JsgiMS7$#x^}-zg32MX|lxv8?C(=znSe zz?4RVBtx8m49`C`02G$odEq;ieclDUjwiX`au5o1hadD5Yy)Ulm?^qXTze+{8V5{!!Q|iUjs;#wJyy6Qv>jf z_@@TI)%^FAMqtg})}JX2!@nn(>E7jk@4cU39`=;7zn@^)uzp#IF)*tM@1F!Ig0N9`J!I~?8{dW%Uv42&E2%f{q2oiDh$*6os zvHSg$#@>Cck-J*m2=FjFEe8PXpCsp&X_DmNS#6k6dNz}qKX5kd{C3L|n9^X`xUV(V zB2xd<8ZFLnE*6627`+$6=|P6PQ$38^Z3f zKY#Am7S`*X@ITl;?9T*q8TmGV{RQ&>OfU~2#{$^DR{tLRJAFR_uzyq9&^`A5t^#2H z5nnvSMb9Uo*4Xwv7I9TqJcPLZ`5VCgg?&nQw;8iQtub*M@GxVKDUdK^_>h4KW?xQV zf?0+a4X8ER-A^!+@Z5Wty7v>zB;5BNrp&#ENy2sSVe;L3n3$aR9wy_xhl$B??_oZ> z_b?e=|M4&%-Fuh}?Drn#H3#5f%COygn7gikhbhB)?_thY+)psG+$U|D!{{hCROqJ)7MPwBx3P*5Z?P*qrljGt%)|fkbUu&cvr~qn>qd={(k8&5N zHCBxPwZ?t|oXT%KG$XHpT4S(HMe;E7I7iOA0kr#CBiHbKtr1}l)EXOyfLf#CWfV|r zEScgQ>m6jduQgT;-q#v8`tNIv=7T`3acFr5s5Pz*2tSY=jw`Lq#1tG6c?wa6G6S_n zoB?raS(QO~pw`&bFUbi}>9q%HjUMUrc0{9JOgD0X8i2_?_P5;51g126v;pjo9s<+= zHor;9@}yl62=m?A$bV!SPkd5c$SBC9Dpxd~7gY5_ag{+mCvxP6YC^VV6O%+`kw&O% zbus2GllDWV$zLc{C6=r7x?_<;K&>$ys5J@zH2_Zl`)@S9GVJ{UZ3?RV30kECYK;Rx ztuY0tHF5zp080S-_xLfJM=(zJqEuESuF?Xv#y+6dm45ff~R&pau|B zQC&8Vps_de?VTR={8H1jOATOuNdWtY0W|;&pay{WRo697?fTWXdzHg0X3&4{1%Umz z0qk!DVE^vI`CZVj->`Wq?+)M2!!KTuYl8bv0qjo;V1H=<`-d^WFA?RvT zCzuXK5vk_aLRjeyVg(&un=&t-j?{In|9&0QU9e0R@UvS8MjrRkuL;2ZJ^=Q=FfLlj z0J)7K&?>|!2YEG_BRv+uzyF<8u!=g0Y{-%K&^2S z!2YG4&7ArG_OCyxAM(8A%sgh=5IwFQ4n+Vp0G269&W7?B5HJzPve^mL0Ahd|0Cn-E zf*Mc*Xa;HkrPC^38!GdKxUGR2zz9$S$OmcwYCsL35~u-ySjya3W(|%TYMK$;jzA4y z9;g8{12uq;Kn>t&?ew4!YgJC^oQ>M=`pIS52*2((D_cq)YwYA{c@qWH z0GQM~f{{qwiXpgJ5e#vu8Isn+eyJXui;2BVB ztoZe{DOyYTx)i828dNszHUTw&K$i1*yx)7Cygabu^qr>Tv}pkQR|2(08=%%W0n{3Q zm0ol@{XUF2=UJhq*y~kGpG$1HsRwF}9zYFX7pOHZvRsV}{XWTuJ{P>o3TdkAz(T^9ZMlZ^k)O6Er5rSkV!xjge>juse-u)E^XL|I z#ao1k$wkE8O1}O`e$I!+nF^2fHx?DytCPMwew-atZbp8-AbmMxgufebN3J>CcbmZ; zcb$=axmAmIiR2GFw!0dJcOLiQyfvWwqu=~Gd%rQ>^#ST>rY})AS}{8wQK9dZ2-Ynx z-cfDf?QkHfivK`nAk78d;~t+|dSGrN=z5s?t`+wz)At%bh{)S_)Wsi9o8nau-ZeW~ zaVu_dE#6ibT45&c^C>(%cKiVmylZDPk=LMxBsAKdAe6^=tI{8sv_JA+d|WHQ>Msx0 zUI;Eu!Xv-H+h-3_YQArqMTc>F8qsx@R6|AW#n7D^j7VUI8H>+mmn{O3KO2fzF_ zYw-{YBKWT^Lb$cVEbDwXYC}-70xh)3To}T(e}$hy@e=s(Kazxt{tCTP#tP{P;_C77 znF`XL3Mpp5KVT2ar^K%>!289AZ}$x^6O$|{JYq8|LTf6b3^PJ33wKWhkDKIUULhL1 z)|VqYGHNRF?jW*?;S;q?sVWD5Myt|k8hycVYFS$&p6Lw#->7Y>iBte5-i%osK15k z{)oTr`MM2C%VQN!O7;TN%6BymJ_cq$?vzt<-+ z>%_}mehIzAJ7fqVwN5&#N-3G9t%nB3wPEiXqbamveHZteV{u+r=GN!7hUvq%1r(1x#V;e)AS*i&>!{b5f8&o zZ8DUOe11%m?okF@8KYrhfmV~k5bqL@Y~=pA<4E(-)#$R zwtj3u6Nw{IAfkTU?~4jkid1~^1U*RijqxgdzLoiqj#@`o$ufP{&3heLJo@@mbvP;e zo04qRk}gPY&vPIQmA!_Z{VJIcndJ&sh==ukp58as8$dp^kh6x^=!H zqQMOXXlECZ*X6!LIzLRO0|@!jDhff?4=a=SE17I6nR+VhdvMA4D`@m8=pH>|=u5D# zFA;kjE4>*^GEM!n?ic+JUsLwa9`EpL84?}@Ru62HW4td_yk<~-kzd>JxgLv@@kLb2 za{|6sA6t9lbYzke~INRm9Zl|k%uhU|vz$wn~w5x6o z{~~&rF6I)N$(I7su8y2#i27dO@+lpnQk%U^ShO9nl8q3QGYX4JMM&Eg=!sfZQ$ou{HQJyz& zfJ?Dcs6278+cX>VNE`EB z%N0Fj2+$eE`Yzj(Y|}#)-ec+4{Xby;sHV10d2Vgp);rx2wuz+HSYNS&UU-AtY}*5( zI<2t!US4-r%Kxf~>aFmD{CDg>m;Xbc)~^lX+@GqsfU1sNIw>E=*pK_Odw}-$!1PW3 zf5HCtkoSHSSaXB_4f_}BgWG>YZb<(N_NTobRDCgo^`F@PwgdZ?1XX;1_&>1!QR+y{ zuMwL6#Qs7hIE(lLL2V=K|6+gtky#{ME;16H`LTbof9K7Zs6SZtU+mx1F?WEYa7!$1 z@DKJc9iLyo(b*-|Bl`#Y~HMveLESsJDmC#_8*v79EO4n#`6Bc{=1`E3Ie`2Gk;-!%v&61 zgXyuTzp?*XBMv9aEYK5c{|oyM^rkz^#l9LJ_#6A*cFY>%77omQ@c$e8oz3|*b@B)MX9-T11j28~?yGaB=?kc_f{=IYX;3YFnnBXp%=k>}IJ4zAbL^7~A2whI>(!#{aAVw5*k(Fn^M9xTz_!W| zTjk{275_&Kpc%2E zYzR4WqoZ}PBL)gurk0}`_ajy|S$2x!1cD;i zXO?DXwk`fP@H69%Gv}c<#=_@SROg;f3LY8fzk<&FVkv>L)X4c+5F2-((FI=Rd3Xj> zSj)xr$VE&BMI6QDQtm}O8`IZ-%ahNSDNc%s@Jol|%gmpQslr#Bv{(5pyM-B7u;!~0 zioLSCs}=I=ih#W;qw6iji#j&Wyq0VD$aS-DLO0os{ev6u&yvD890YlJ|NL~O*;t+ycRM-Y2X%0m=) z@44Kn@0lF{UnDe9Z5 z`3h-5AP(H)}v?D7tST?82; zw^tYiPl8<(jaa@%1f3$7UF;#;%~|Xb8<<^ujcL4G98VZkg&S9#=9k1%C4GAd0xk1j zlEhHeL&;}Wxxc!8)XDWrk$J8Bl1?=}c`frYjOK`)l;su2JK7}k3MQK0b{w*d1?G=s zn0|sejD2B%)WidQSu8|UKjVcvs3ff2&8T!1c(IlE`E;R+-Q%p5QVKnaXj{=0%>S~;{ zr|KG73S1hRMj;+bT4s6GliXI-+*$^|!5&&h0TvZn#$mKI(k7oId31GEyV>&^zCWz=H1yqHEj9Ez zUnS=8zeeLT9z_t=8Gn3DePJ9ztf*oTN)gIe6HJ|7XIf8J!)F%V+wN@^D?C|b7AH-Y z%=lSO>WxK~qGr8C(j)f^i)1VGPZlXoU2kZ9p1zlZiq^CVYR$2#KP)Wr-V;3jWj>1%WXkw1Kk{V9PFcM!?th_H(wMEkmZn z4#s0#&*6_0s3w?_d}2=$hlA-QOt3WS#E5E!L)d~%ur2t+pHB{l@`6opJ?g~C&xXT< zQBCnf_#~)^M#7~fOrIpkv?Dak1LT5D3G(8M@AG zPziI`+aGk-N%7Q-L^}nWk*@Md^G}Y%c!ABx3{(pS$v3j9iKFoa5*ADv^|G2ZqX|EQ zEtoCd$mvdwCf0&2SUu|H49`ZBT2L+7LlAG|O^L?7bxT-sB-G1W@{A=91zU3Ey-~2$ z97}8F#4GB53@|K}6%37?Rdvgbm7}JmXn-A=VPK{3?-}7OJDlwkpITUC% zGLpb(LgIKXy`+t-MuTc%&3GPLh>g4jzgo)Vcs_5ZjiN_`TKd^|fiRk_atObAHqk_( zw4|+SLW6of&%_U<5L@*;evKl{i6X5|Tg~bQjWW-PVk0y=?M{Bpio}T$D@i-ui3ZJ@ znu$`U5Ig-+U-P>yLcvl#fI3M z)4tV#Xiionb=q5U|JE7woUF`1bFh|tt2>%FSydqEV5{+4cd}-(`e%rPy~SI-naRnT z+D->YkKcN*v&q^PG)L!2ec zPv~zrnv-|uTf?J7Xydx1lh4F&!?PM_(|(AP-|AbVt4V0{d8ZTT^tTb>4BB#s=KKLo zz!-&isue@ZIf$^)7@c>j4KLI=m{!09C@i!ScR7c0H=5vjO?6P9yM#*$m_A9G0@F*m zL~1me64g$1vW2=tSqPXRo&U`|Cm-6JjK`X!;!oQ`+8 zS1HsrK2N}cNoyLS)#aL4-Dtt;HQi@~?)I%yz>*_ry5CC5EoGw7lBafhz$w%%bydKM zA38ng)#a9c+Gr(oK0OqG?w*MzXe~xOGaM%6o=wr- z9LhVlh!^G!rWJCD)S6o&?)L8DZgz?Bnp>v8c;6!_pfquDL}d~RJB!)G`|$UU2QenVQ?XEdSNJ)d`eQz^`6JWt4@NNave ztJ`O?y4j=5Yku1Z!*{Av$g?78e#c7McV?p5v!-@_*D1_*ZdJ&u0Xo0u)$I#AZT4zD zpWhF_@LNC=_HHMJ9fV2yEfKbOck#jwW5fJbXocTHv|vX`-F|D_E$;`tV80=&+wH&S(c%j`hn=@zfDS^0{g#N~7v0jJ zql6Z}HD37TP#EYWPuPD;3w{Od2Ax&6`0shauYo}7MW-<6C<%VEE*)?+(E>WFh2QRn z1>CF(2V6nni1Y3M#A!f^CDlY{6aj<6RCbU5-0l(yda?1l_VE z(k_0%ZW7(@>fIjZ(w;ZL(%#+Pe!(Q)x_xrHeN($h>ZJWwxAcSAAj0h?kq`gMG!>HXX&{#K&* z%}qywd9N_Gga8*OVqw{dnp?lIon(*CyBl)bvajT=^AF~ zTJvs25$XEeKIynVuSPlVak=*^a^5?^UQvNc;em>n{p|$uZR675o9<5Y{w{NQf^g)X z`2L<;`JNI~YK9y)CQ)t~(I?={0B2F`_DmvhW(e27m|qWqLVX}Sw`bB_Au6hUDj2AD zw=;v=W5#9JOT^+<2ELpOz=J#D<$Dup2A5DJL{oc{CBR~hy=(4@l2PD|5((K> zQlnzFglw)kBu`&f%UrU6VCXOy@`Fpss7lfVRmudr%aEY&JXpz`x$jcH@2X14!LRQ| zK-$&58*wrOXqRre(ydk9D4pH@63X4`%3bQgZejy3?0d%Jm7%%HSZNB=B?@!n!!hFn z94EuEsDt<{ycK*Zl@lCBSJX?*I=o!#r4SZjf|hL}h1?98IZ! zd8mkBw75!E9}F>Rlr2+NH9LV^xT}_@Dpi6JU3QH_Os8Ep?s5oJ>3V_gh7;A_<9&@g za?Lk#-Z#NYl>M9vY8~cko%+MPA!`1q{clR;3F746c8&>5s1dLu3+$@BkrE{# z5wEya1(w&>*m2j`9UmkUgpi*O9#(1SVyhmnNS>}}l$wvyqfMIoNts2dR#c6eNy;&^ zbl;h4TH*{haSdAw4)f(rcCSeDcTNg+j>%%un;{JZON>9%7?+~eq6=1+8Bmth(2Bho z_9PTn2!Zmgs4q5(D_2982{hK2C;SnTsL%2wo})oD2_eey6G5vZx}_R=0~3V=ss^;9 zCF-Mqz8Zm}X-uZc*r{zkq3x)yS;y7wv7*YptIFOfXHBMN&C>r~K%PgT-_}DXAXxrQ zX@7E)nnU&UcQke3)v>hQv2+Dgl><#DS!!{O9tm#UNoJ^2b&p%qaDHd|tUh$!9U2!5 zEh_DJ&!Uph2=yJ%N?C#aOc+#8Qxq>8)Z*6D=AKehm(}&})bp4v7@shbA2Qm}Fe#b( zO*?7EtZ4^49D&wtyE7H*FxhrGWF@FmI(P(RVGvL{BG)()NH$f)t*x%ESA#R8(?1bP zHd-P-N}Zq`(K-9OX{sr@t66fgWk3}uQ?8+nH84+qr5*ET9^(`oqvMKbqvi(#j#z>eJB8 zCp3N+GBdE+j=QU0bUP~fjBH}uV??bK{4RAcqkph6Z$2A5uLVRZJ16v_ zX7we8P9+v;$zaATla&I7E7hZ|6RIqw>$g6Ce+nF?6I zsTJWgLQ8ACaJy`TK9ZDJzr~C@_d=n9@sNS>V+Z3>S_4cv#fOe6SeD=kgZTjec}}8E z?cD{k+l4tC6G~bWSQ;b@4F-?aCNx~6cUUCOS0!myTGg1mwU=JM9o^ub7Dw;r=!7MB zjFFd3QlyVjvYMvi7@bHO(R7*9YA#)^t|+dppgWk_WzUTVo4O9nA%k>hOO}4@&M_kt z-sfp4othFPEUXeNV=02m$@CQF7Pd(t+|35T4tkG0XXgc#8uDh(1iI)3mdlx8Q6473 zLYmK{q@R~9KIhRV<5BkS??&}l0h#N|c+S0}vq~LUaXT}=^bZcew6NtscWRQMmjJ%m zxmQx+%m`15uh{e2lQTLzgSuxkdXv4A7V{stH>S|mf~pNn6t(ARO+r~r!njr8IIy>f z2}{tB70k>Av0SsGy-qeQMmPPLd~B=KklVmKk)_`$bj;atPKMR$kQ<&{W3JF;ex3k7 zRaj43+q~Khe0;H)iN2M!hfH9+?wOeHg}~@bSW?rpV9H--Ghg*>UiX_^X8{=pIQAyV zE2r~&{~E>Zx|?8p5EnL9`g zJ6hVH5w52YE`8(Kp{W^jtJzGq+;JDOwO8GeiQdAgUgs*YE%xkSNwg@{R9V@X`KdXN z2t?QBBAVh-+}M?{Gtsm=idwE=HQ}#Wjy#jKOtiDgwPV^f`>iM^GPrGVsw9RxwvY%D zhnYwjZZ6~6caz#v3hktNIHo8r32E5NJML_)*<^J&X72^=uI=ru?R9&adK`G@ zwmc*kestL{jN1<)tcLb%_0V_M$1Q$2YE;0CE6WT*(HE;N?ZSCXeymK?dJfH`Z%0q= z#^CCUu5F_aEp~)B`>w35)J(QH?me=CgKIWVqK$BC_wd$NcF>(v&NNRFw_X`K!R?*S z5vCXE#^Z!$97GPl<6?3W8)LA2JVOVa_+=Q2DqK=^y36cA*yya{0aM=EEh=Jhllczzh;4lnwn9yJj3@1uoqx(x zd%CZ=1%%lj2p!6;9t&A@5aOLAke-Oejy&UCevSc=>^@YrcSjH{k_YTY&~;5|n#?qx zG!E#Y!riOoUE|XFoQXFVL9UEi(>s!TYEJ#DmLAD4S2iyX?WA*Ugwu{r?YUm}x!<}Y z<QX9z#9r zfRo2DC*kDIb*#?zLuZ1CqmC`3ig@PAPMRvj$}Ne`YPGJOLr0!rbJ%ca_k1t>TCZJP zTYuuKy?i&XGtH25w~+zcu>GAOR`+K~BO~aL7u_S4>xu|RYjP(Cn*z^pG}zm-3Hxq$ z)FFq2At@MQ!x?XLozRi~Ty6_ZK0e0>$IKKo(kl(QD$?N;7HrGc{;I~o^-1F z^K=*Zzeaq;3wP|o^ZpQa(|ztmnRx@Lz3J<|$X zd!IYw(cf$fxpj0qb{2qmVsExv{05Y^a)wMz_LoL5mOt>Eaj;rTP-s_G`>46!l7;z0 z*XH?&j>>EOEhH`(2mE8^{hJU<3q0no6sIZ};YzPjpO9L!qqhfR5p&pYl)sE5c}y=` z626oT{`8#Jb*FFy+#N?LolT;0l-nE6AQxl3c|_a)jl-&8N5w68AeGPSY-977emGMs z3>R&*gJCpBHjrHqa>6)Xs9GRb+$`)GTuzkid zSLeDuT55OB3aiz+d;COVgKeQT2;(U$=@gzZIPxKj=Fa--m7Xv3YGv}zK2!9kaJosY zTykyMJYV;MtpN@PaGm_V6CS+n+vWbG+d@TIqUC zXtgKs_*f<)S1ltZ!iQ#Oy4G!f@AmD*ZUR{Pxl^;imFyO@(rF(dcyqB$p^@#>B7~5> zIzQguzZ3p&<6mKf9ZTSy8TgRuTU;O}_XU3NW2s<#NkZL~$Dz+`zh%jiWlKB_e;HY) zCdZ#V^;A*fM;+BCx%zJe8n01I2sPhNdsD|C-fY!T#|mCuP{)a4MNAq-zxK?vc*j(~ zV)p&bw2qC6Yy>8ChQ@o^gm8v0tBD4-KUN*04tVI2EfSxRrgYGDle!GmKO{?aGUcFm zcbj=*MFZVTrq6&{tXp{pVqw9&r_;QweU2C#7;-M(_!!Y&OY(10$Ln78d`LEJu*pwz zzltcx_+YCnnny>Y9Q>mwWjL6qUUxC{MWFjg2}7KFacTY1Ox8ojQ^;s|TPS9`0__p_ zX(S8NYzLkY_pDmw2*)*5HHWTmX*E7l7EA4{&m-iz*`T+q(c&q-tPPt*zgd6pHe5Su z`aYv0F%5XONzyF8RlNW8R`HUpHSH3$}$lK_#HX8Wea!;9j66BedFs){rkv*H$ zu|)ojqnnU!vPnCS-hrOq@qT?*&#B`QhqTkVCgSzt;E0V?n)hBkUk24%A?vKocg?U~ zMm=&kB$i)SQaCMa#3=VF#E^0Gfm9LWR;o~tr0})->r7Gflt|m5YT@ys5V38=D(UK_ zE8jAipH*CkT-^Qw(-*aW_#wFq}>7`j%7T8tIve~sm_)UgA4|pYckWO z%RK9S38lOX#Bp(chA}dd<2#s^EWfmSFJ(?X5jRS(`T8}}`0w;n@I=#*%CAVxMk=C8 znIx*$4>=V~zgr57)m*+~bku2AP1u^GeZ7eD!BJogj*t>r)s|Nb>6l8}87~mzz*T-6 zY`j9}&4Bmhi4aZ6(9@emLgq|_iF*>i!6rF!dw?IVM|%4>Ed~{ns!IhW*5@FsyR2A6 znp~`B{bD#TQMj}p4|q|H5Hbf^J&B82(5k*!WC_$3FvS_Mkrbf%l+ImhDfsi7oIMps zR$;%B!_VYFKg%-`c2*ljl~0q6bUc+m1}a=e{0&g4NjhbuIEpNd(JQ|L>S;OeR;ZIp z@D%d0PWM~K{y?$^@f3F(bs~yot_iPJvQt{|%FCUD*_MZBgrQ>JCgeTPOw+dU-9t)N zmPNSaSBso$A&+*;bI2bXhUua(8!$zO)1l>$rzC;%C@b@HKP{bRGOF!rxP9koVpMc1 zQv2=v7^IA~%qM3i#aVQSNOj+)cnjZ9M3&w8;OS?Zidz7*5e}8Eq9}#YE|oqQvbu%Y zPX`=iCHOf9KGIfR5pED+9Q(oQ@sJyz(E{45X5#+R^j2EZ>AdpA-e3-?3vH?CX2)Vg zd@h*t2b)TYDh<)sJXQrd`Q+ZxWL3@lQPdw+ z&&)5!pt1otVzjr#gNcwACDlwIEv2=s=|>=Thtj*H>ID)@JV_Gh^AP!Da+bM7DLxS0;{2)&j5r$vrmiWZM#G`b$1$AVAST|U31 z81O(5j-i>S=0)or58P7A?3X2y;AT=g%yGNSoG0Yxl@0zdOkr$1uRV|%M{@okfe#TT zTqOcwVkZ7+ohkF_`g3gff*FP0=A2M_=1VP=3jZnWfwRgW<2O=*_tL;Y$b5~eu(ITGyRTvLv*>eB~*wj`{{g6 z6Ou<%NkYb(N0WI|gJ%JEZ`sw53pVFC_yUy;j34~aHTi5&ozXeq{IbPIc>^L}|BCcM zf8uvMMFsWvhlms!-P&wCE}Gm)k{wy%qsNe6U!J_I;HlBNdAS-LSvyVtCI#=&>}p4l zPLru&qAywT8n@M}3P><#9h;ohV2p1iHXm=p*uc8jtA=?%G;JJex6Z=ii$)bwqRps z%5c-S-l3Y_M^AqN~sCR%B(CqEpcl_*@@wu>R>&S7`h(Gf4`e_5XL^8 z|MbU>K4RuSyv;m)E7x^a)7&K)_wl^F?=vkfWn^UX^$bt}t7zK&y% z;8P8k?Brl$>Rbvne~62|{`e>t9HiN({5d5yJ=@=-23Pdzr9Kv!#3oMVh{m{K?khnb zhjiw>EJGa^Il-+hgnxse?_N=W{|?ZXIC5!7Vx7;Az5@Bq-8SWa5GHJY&&3yV+I)U+ zGCv-0Zrq`ByNIuq3U+A9jePg!ts>RRa#4_2zZS`5FpvhKj+GH(;dsZcpF0Ve?4j`x zEz8A^T#YRG3`WL{P5foJJpfL6s8UU2Y0Ba{&;es8c4sRgI78SS`Br5-CYm%_0ZJdD zN+c0{7a}T|NZL(z(y!G1nK?C{7rNl@lY+OIn%!E>deSX)2GWC?) zD(!ncGR1`C5~iYQ=B*A?$Mlhv{^ z!WNZOc3P%C3t2T@w&yv;*`jn;9ZaC^ScCm_@YJ?Gdsf`9^}u2922Vg<(P#!)Maxim0TfqIVXZcLrcC$6)Ts zmxj|c&v+vgXML8mC1V+coE?Lvrj*O*JN$HTI|-*XS^eMX-Jblv`(Kq_in$S)c z6Hmb&Fqnd*t6RWR*f zunxUvL!PIhx!0g6i&$!IKLgD~Vdti4*8t&e9sK%IiEYoys`xW|)C~)?yDTK# z-RCj_uy?2n@8r`NvP9*ovgEYaED_>F<~Bn5bXHglJ7}hX{Ey7Y7=p;NgVxADI^yjM zZtyE^Oe8PZI~q7NEQG=~g^uX35&6zXbS~)hnT{Va(F-z(in2Tz!s&{#monXs(C1jp z-M?5nwM9sHVoR14dbv~RHy3(U^m{?9y=&s~gK3Ck%wt)Dr8Iijx5R~jsLSq*q&;bI z850uji{dr$&ko3bu=RHv>jBv$NzLG{)sIBR$UgpbfiXW2eC<8SVx2ai*%Y2a{_I(5 zF$)^p4E3%bRwHIoVn@UeXR592#Nzs(c|$&u;H-_b@}+L$BE1F%FIOgzH`7DG zIhIfoy~T|JW7YhNyqF634@-hLTZuSD9hs9<<9XS4piZF=Z7gkznwZ}i>LsG|WRcE{5 zbhhJ+Zkzd>KI?f=CY4CmbB7Vf4j{k$Br?qG_mWXc4-$ZK#@!*-WM3h4aQD&>iX2;heWg+}& zO_FUnZ5uh`&7Zb5n^fJJpHI_Rbo6vAAlP$kLVRHNe{0ZCZ2g2n~ zgJ8*&$x1_cG%{e-7BD;dfI$jx9?^Sx-lyzq|T5OjP7T z&O%FHicHK-$Hsy}vWsl*ib5?yAI8BDdxRWc!IoWN_!@xFO)8X_LTaaAw^E)m24Dm z$Et)(tFPEIZVzrI*=pBH(ufW>$Pe#WU-K7KZc&wIGC8BPR5H>ZAh#YdLn{S;ej4vV*vvw)cEQ~q&0W2LGa zx!N8#uNsfqD||b<0f;3ZobAoJjZ;}wMmp=0;$x(4ce)`idR_;HfC`i(4u%X4rJRaa zcU-S9s+ow91mTq`6xDGuhk2&ud%CZE?P&_7i<+wI~q;{g9 zeIhB%Y2!GXEM#{Ls>1zkgJ-mTAFgpmsgp%l}WtTUEB*v#>>OV3t8U_$(q-MqQ)zrR)6JK$i|s~mB;M5LS5+; z6jh|rjc@tgxs3?`kocS*x#gogA4hCz7dUbIo&j6skp}n>tErItJu%84-L=6 z3Yea=IkkIw9-QR*ccX%elR!pX0bVEM5BSp1>iCH+^!m>1U)2q=dJCr5H63^SqpA zFjB1{`G44Z>!7Ope%&7dl@38EK|)~B-EANsl8S&Wh?JxX(#@h{5o^)SqGQpGbfYtH>8RqfsCTXX*Os%$mm=T%%Bv&Aq5vTtQld6l3tG1%f**5#g8Y%xRwvxnt zzT7RpERJF?@9e}2`&78XBCugf`?DZndP&ixNHM;xfeuHAUS-HVtChEQW)Znh&v?>H z&oP`UJpJqWG0!p6~SojImFIe3ut>i zS@aZzb8Lrui+43hct1Q+8@8_w`q49g)6~8Uy>HR|F;X)Y1!P`x6U% zhiK3JwUbsn-#f+gUbU(ONb8V5W#OSMA&;F&<%X_=-K!vnkd9)viL=0l^ELy~JX|NpfSv6k9^~P=SFhlj^Cm}2^D#DC3(^V7YALH%C z$14Tp8Z@1P*I(qmtM|Gs5wVf}#Gp^wH!)&Ux71j#EI=aC>`kT3PXA+4J@a=p&g$4p zG*F8V4c?@z+>&m*dMzM22|7NQ)u)a~zR%4Qdf1;Oq<$Oz!fJ;KmiPbVe0*|+JtoT>_fxOS36JpQ4 z=uCi0QzyJ}vjXVzE#5T%{5_on&QFjt{$gWUdkBmdnNa zf=GeTARgkbQ4Y&h9|xeqL>`{PV0mm@`aN@ ztQViub(|C`QSQ)lS1snb(-?&r5imtRAX>xH9av< zcP%3$m->m`bG`>{_XA9a*IA~oo96#OY}|T^C|9QWf~fWA#BP~lvGyoE%8?Kt0j<9@ zcf~?|5Ujn1tVg=xN&_8z($X)pO|JGMI}08r-I&WLmX}0*9Wq2cl~2TM1oiiam`3%V ziZl)GtL*Fv)}Hf@Bphgb7*_o?`ZAT)bzHs4aY*~eG!T(~Aw&($+6XDUd~1L4>m{MP zS)5^#AM>5n)r>r+Q?=(mhSoOAkyB^Ldg5Bvw8!cT9EdW;Ta(tyx<~6r@i82xpyeFr zDf_0dS7wzb@yh1TQVk;4LRnNinO@J4Kxvu}RxJrVVj6LTXjfmG>QPs|ZXs_f?@=`V zN?R4yu2mX;TITP;MHB4wKH@=i4(|g}#;F`TFNQ^(#velDr2GEgIoCHW?3hTd4>VFd zVjv0uKNd`S4juA!euU|?Irj8?NksTeXVuggf%=HregeBV=rOz8o5QHruEV;;>G~<9 z3zKG;=4LM6M{;YuW?oylu5W>Xv!nE>o%3>#aH4PY`+B&F%#~w={oij|-FEx zYYgr5GNjO8r4aX?wDH>4v^~9bc~SO}+o9?1G2x7kH>-5ST0vbEr)~{y0yLVH&?F(lVo!+3*JG(AP zZml%I7qM$4qg}GOO2JYuer4S{8E8*Jz?(SY9)(q?P`hbqCwUqh?L<%0>SA1%ucPCs z!+Uj&7+QBd_l|ZzJ-$}L&pN{I7Dt05vp6!)pZyQ6b70(^!83<8&>mVmBZ+zc)*sr) zEWG2R9`o^b9<+(;`;Om-yLwbT&}N~ModC-iJz6BRMe1-T$n~y112L@i@scH2CPtr` z2Uf@MeHW5=_Y<2cto=pFZg@e=CoXeX$D705$ojhmd_l0zPr`e!z8C|cJXqHYgWc%a zyUW=nu>GI_-iOyL*5Qpucz=n=z6T-W1gtKfbaXs475gyJg2?k zCHtv-u}05S2|J<>_tWKQjn#vq24P!YGt^^^U*tvo%K3h9q;g@b(-SpRTyl_O8355< zjvB5$JjipU-MER=9cdCiEC`7;{iJ77-1znokx2W+NHuy)SZ=pu;`Ns==F#JmhliQ5 z{$JRgqbC-HkIMV1XXVnPCpUrLYG$7`ert)IIw(1+-jPb?S&p8*I6SJomJ4yb88dTT z2~)la3E`*3@rwmV`=Ax-6&g!Yr3#mZgx!vKSZ)C)n5iVza2gOm8sZ0wkTlM?lZ{ z@0c6@bFahy^s~SJ>;K<fXkw}`45*xTU&d3dk0{&=gw+9 z2Fw<{y}f;Xef|CYfZ}3saPZf!Ux4UhczAdOkX?+9j*X20#*2vwU}bP}YHDg45MRuo z)faPfb656@g~i3+0*rq$U~B>cj4dP*xxKx;v$M0iySulyx4*xCaBy&Vc=%uHMHRN+ zxj0MhgI@o=Ui9CawVK-Cqpz!Xlf}P*k$`~r{i|6kDLfo%LD`|a_x~_!)fWGnlzRhL zBzF>Rv-r1Xty-?#;M^dM{4m)A*UWnRPqS9tUA%@5q%gkY-&3h7+xg3^)opw=g{Xv= zGkpk?>F(;vqd#V?q))y|eWQqY_ZORm^oIjXpQO^B+FC&Fcmp&8%vvb~KX`SK+>3ET zcxA?&ME+{lY9!Lojxwd!=+5^)^`e>IV^wJ);B&s5B`b4&yh_ld2Yf?@^8unu@cFMHks6pVT+|{dD ztIsZ9x{a1&ZGl-Ut8ZJY%khBC0%YJw1n5P9^wdzzlY4C?Iaof^AURYEZL^?LG`gC# zN@p^|L(f_n8#^cc){92H$wcKgqiq&uqiQ*2OPTArvGwg&vsN2#YKTlW3R?ShO$$4P z*G{JJWc4wy z;e^(U=GmN~IJWDsX(%k}aagmrO>XjRY&Vd+8nS34e`#v@f$UxOPV-&saLX2Y@7Fsm zjFF~R_4nfeo5fKYde$m_9jzCQ+3XZv&bBTTMQ-f%R2~xS_dY6R{|eYFE>_Wc(XT1W zGF%6P?()wLerZn|eH(gh6T39@)|=~l!s+S-G8wvOj91_)0U!c<3W7one3CKjV?w#2@~ICGz_ zWO}NcuENRKf2?JfZpEzTws1={XZ4t!Z5G!Do^4fOrP?FwkSP1@#tvzRoz`?Ghuu!U z8erDyGs_wchzl zzB_&6@Xdz`KWzi@JwVTgaWz|iTIA$=@(vE+>nSuCb>(}B>JJfGw>Es(%=bpgF8m^P zS7_8FEC4Hf{Y46CZPer{@KMA5MV744r2MSFS37L*HlnrZ@s|R>_eDe44GQwkjs^aP zodZ+@t@2_y1pyYX2WaLMo(Oam1lpeW)9$rCu?#2(aw(d#P-k)V4Yg1t0 zE({44oMU2ARAg2u426E3V-{!w$b~{kLeU)SLq#R7Kw#Ete-1rs#dnw%p5Hh~r>FQ7 z6FqBn-h-aCI^6(ftvq_rvsMQLz^oNP4=`(`yv2!t^?Gy*Br86X&MAxO6FqCyjGnc6+=-sGswXH)z&YrU zBWv%iLeE+qj0gd^sLn@vH)hSCMDT55E+B1S_r^q!SXzLtTRJH2&PqS z%!kPQ^&XhDsy=7ewq_eD7%I#*2w>J77;7&s6bd(UG+~=(A65fqtzv;$D*<5EN~ zDd7Hltnt?RTf!lL&4K~2S;zvjR*t}|)gEZHZK$9yB7n(2V7$4@N;m+pSx^DA0WUCX z^#+)=LcqsjhnrIlYf6+my>FkZJ4D&h**EUp2wRv5sn)rCEe!yfDO z$xvR+VZc47J)mj7E8+;)EKV>vXSPYp>Lw+4-4N+B*I(w<69v+FFilk9YKr~wTseFNoz^s)7vRRtN zFvxwPoPkWoPF9*d68dPcG0_iwi?^s&HDvEZ(9Dk4iWVth~xQ z?InO&tEMMQLe`pHW)UND1yfw-agw1-_vY7lC}H0k0?`5a>nz-A!^*etFC zHVbQwp%O2uTJ1}b%3Cvmv0kc*%B@;_GxGDyu#=arOi?*C>jOV$`hk#kDJYd%96EJHvTr!Pn z=BmT08FwX{D7_(LYeAN4F~?su+u|tN7|yZdBT_nd$D6xZKzcI3dZL2v()K$rYh|?+ zTD34OCDz`QwHqE;y2$;6r&F(H3N|oNEnNG&Mley+YQa?HR2laA?ECZoR?+mZ(DeQS*zIs$Yg_oj6E2bwYv4Wa?`X( zcp`xLs2o3Q>-)_+Q+r#jrF*pg_Lug#m^`+Mr`6lq_a)~(r5-oE+T9NH1_XJvnQfYH zA;Gnhx480tXjs}V#H9%X^3G-XYEPW)r1y{RU#w=S9}ShhIzXVz(>JZB14b^L zV(odHaO`T&&BSF+S#P5b&S2+Td1B}DL3<|y&dZ0jwLN=zmkEH);?a>ahV55OQ5U6` zE;mNL;y_*0N?iyg{YN>f*})N zv*7FZP&sA{us26Ram#H=b zV6%v5@U$}Iv()z9f8cFP$!AmMP1q0EEa(B71r|TpLxB}#XA8#F1N*Mr^B)0wL%_kJ zyg{Nqr;I)khVp>T;#>n*gHr!^>|;6alhi62t?j$_z!$!vkzVGzo#dMfqRXfBo8j{- zq7+NC_463=tuW*+8Sxw2@vEbx{VD3-qwe24a<>)g&)($L3AHaj_SZ!C_uJkb)DCE} z3>Xo;J60A@*%vU?N>fD{*pC^wFv2u%8`$+Ra7~nEV&u`+TbpBO zkX>oe`G`&TanKj0AWR=>Y@OgZ%U~QfRa9AUdw(!dn=J`dNDxIZIh8QpkC0meA=DY{ zRHGq~oe+8|Dn_x;AoWm|Rn@z&(8SLnoJK|*C#cYLiU9s{K9CN?+Y%zGC?Qx58CeRI zW;2$e3L{B|Ji?`v{}G0F8=`aqQXCDl-w9J&RZ|uV_hAgzGNRCih2Ihid(FoC>LeWS zoP87{(btK<(+D@Dax^ZF7#xl;`{DSOD)P`O;*(M2N1w=d8IiBsB6U_HwQ!-DY)~~t z=rbdzk`MGr2J}%IRBjb2jSG`tgNZ7_gp6SPJ}{mP7-t)dZ576X8^y#HMXwk|YZOK8 z6Gf2`Mcx)gx*A1<8;#EvjiVTS-6$HlmT$1KBR z7FuIwS7N4cV#h(TBMPy<3}gGju{|hwY-ek1+e&ORPFw>hu1+DY+AyvH99IgDD{74^ zSc%KUiO&MX!xiFF4dau*@$vBZnAUjMN_+%P0tA#0tdJ03nBWUe@P;RNv?jQ&Bsk$D z+Jh2p6%xN0CR%|L&Ebirt%*h}i3T`HdZ48D3Q2DalXSsJFX2hgTa(mRl2mY#pMsJV z6p|ksCO-ft%fOQ*Ta(3Bl7(?n1VAag3MpKMDeT}BR(Q(&))a=76gr$#8c-^wLh5b9 z)LYJ6MUEKnMTLfXaWv{Uc2qx7`>mb9Jaw5^-z>#XT3Ptq4Zr_Xt( zPp79(w4{$Nrw`qP53s^Jd!N9&KEvC+;VtR##uj+}GQ8$yMkQ-T*^`Xo&l!c@8F}d$ z*)16v%Nc1R)PfHpi<-%jl`{Dd^uw;1f(QoIpP4*+nfRDlobC*mmUKlG{5T&Y(xb8% zAP&PJ^fhCA%a+u&4A~8Ke9P*zdbnY26=3cY8oOSyo;BV?K583FTC;+jiLsoi)0`RV z+&S^w1>M{w_B(ff-d?uM-5AT=I?dgt&f68w+t$#r=(o#5o#tWCvAtfcfb?X)x85ub_`R&`c@7%dVK|w)D zNl8UTMNLgjLql`-?p<11S~@zqd-v|q)6+9BFfcMQGBGjTzki>ZnVE%!g_V^R1Ol-(G+uyR%za<_cp z>apM)vI2CQ95Xf?vo;)ae{bCUQ@!~=`vail{5xUiKlnTU{Of=6W&hEq{*Zm5t)Kq~ z->e;Phnq@jsK@`yH2$|Tjr<#dv^scff1hdi+VTHeQ{5A7i1eO#S$8~Ir6PDARL6EE zUoJmmz*U_4YO4E1<`abRZW^EQM5YnFEWi+(=&;D9j~YfU`urWkZB}8jaR9z_(nq$&o6KKzcP)Q-&5W1WOSd% zPh-#Dnd`2pxi~xCTc7@&Y4|S3(d}PLS9AHRp%aw&nOZJ2*n-ReKI`?Tp;KmLb#_Q5 zAmGnTqZu^+scLmcl@L!#cs@|_aAh8yY3N&t=<8z<-6YERTc%M1?UPfKH(CtWHb75x zOGlCt`+s9wg6dyQb>r<%JuoWyooS?dP#1{(&NSj2_+Newcf7%VHPsE$cfMn_l5}P0 ze9eM)HPyYE%An-?d#XEq)#!Jov6fNn<9lW3T+2d%4fI*jhR*ezh)m!0+^WMhj+hD* z`$m4_ol5=uW|pjt!cIG|DWX@NW3%W)>ggsr)A;gr=ql6jTGuU|i!cGEx;5m@DmH+r z?$Y%d4q&RAn#R2PcquC{>u75onCgBvW?qL)VQP_pbuSy3>W+t5G>|;uEPxQJn(j1F zHfUQm-?iDW^rCU*1Pq-=6jp7Z^lbhgta%$irXezn&NNK-Oa-R10Yj(Xka~|SFx71= zgP!VE_^kD{Us+_cDC({hkZC;NL1!8brszzAYZskqlr&yt8rYHOOk*JHJCJF7*+OR; zA|+q1GL81DOk-~iooP(1p)-x+^s7t*B1{Bi8bEXbWExJ(=uD%$K^>iGSX!Yo4FMxN zAk*lcUjs6YGv9o4ra?1=&NKwzK&ElCXBzpF!o13^@m}8f?hJF!`CjkCWgyddX+E(( z^f^zeJJB3@al~%}Om#01dpn-2q&trSTd+u!=0+_~?b%L`x%0`vbYAVz2@>giZ~+)P zVH9=OsPk>FOD16ch^)IVZt@)viS*mN!RUsNUC5sPTzva|g7<~)g#>P|CXRKfdClF8H;;mtx71#iDN zB;TF9-6A%&^ZHv=GF^Rmi_|IKE64L>`qbO4a@1Bjo{}kyKH;s8#S32sIHcVFa=T4Y zH}u_HWeN+0R@*Z>tLL%jDIl@i?dnm58mW@0?6l$SFDm-gavV}QNh8{H#zKRNt5UhI z0k@pf(BSIxR9;f5&JWa(kS57Aeg@#IBMu4ea!3>8gT)%@lD#abN)vVu>-u81_pR?d zP4xPmZp$b#jY-LL@yB7^-zpFfHyzR?S;>2Tj19;gpsLcP$-;UZPX}Z!&eLVHUUa)s ze^tIF1%J>7>Gc%djVJQA?pu`8Wd)h%23jS z^oLi332`}QD65hUz{UnYU$4$k*?|qjo`%IsU1X?TqaIA84o~Um3dLNiV81wfKO`kzIK5n~O|sIqIQ;sPL3eQdzp{z!9k;JoSrX*6R<{!{uY) zY2T`|-daWtR-gWI_;Hc-KK#x|J+;;wPpRyWWSRp_Dn$i>jv#%e%HB4O!-R_X#MwEgA(CyZuNzU6=E!QSS=s%o@GvIV5w$6*$1!f+Us5t&#buV4F+Qn+D6Mg1 zv2d^KoV|4fZI;^Ng=9^<<1a0*bm0DK&NjK)U05;X$ow5q*}iFY6gG9S1!~}!QVlJw zik9TDMIA?h@%6`78;`Pdd&l0K@G|)LQf*)2jl0uHbEYdq9n%Q&r3d@=#9Qgdr zLGx5S`OU&k41vJnH0|E8hcs#j$DMP5_*Qu8i9Rg3s*X+b#6_!S z7Xy*KcxhSQadyTJMY1mO_2hLLINd`<4NTMsA;cWboCHv}IF@_+%ezym1>#h*mZh>v zdYsI-60iuz<;d(xyrhf1kmamQ@K^LzISQsYbF3=jm-a_+bEgReOgyu;E004JSwG}j zTM4Zg9F!8u%*$GPVN&`lcZ)k)k8nz7z^#)pp5k>*^U zLP)^$CjtA~Zl@CGWUfsN&B`(C8sQS+?9DG6W#dz3yk!l9vz8G1pG(rEo&z~s1c=JX zyFi0Nh7VYF-&7+KP(j+zokJzQB^l->w;o0;C3#L)Z^ac9jIE;uMz9+ z$=-|2Dqog17wB~-T23T$>~@r@$cE(Z>k3q_mN|(J+Hf6YoK>u85ep9?R5o&~FGk*8 zRulpi3Ij;>Mz6HQSbEN3@vF*BvmW7z`R>i~fs66)wUuRixkpxe)yNf;#LO_)aeZaw zwpWnI9GNPzNdPq!=v-C9#B<`L3H;brWb+AyGXLGJyXadIcDWS?YycvU+R%O9q2hZKwR!^IoGbt^IY~1)S}?E zGN_k%mlu^amnaH*3`&Od4tJ`yJPaa!OZIHWgq30>t=eIaK z@)TZAu)Or)Tn4sYwgO(p;76t-UQ!S*3moNX5$|9o@9!g=wovcJ=iUwq56q9f1rgqE z+MFKRU{r$@7<|m(TL$i2@D4l{383^DAqR(n`60GG#i2e?I2H;hQpB+@<-Bj<3R{u3UkbTjnSyXdnIDO@Uk#L_n$kZ;(7(}^x6amo zMc=<2D%?5Zj{))TZ3Xp<26$@(3~7T#paJfM0TT*OgO3Ab_x2SGdsX|*YL+_7zC)tKd>W8u$@o(4urqZVJh$=h} zGyM4pgVvAmZNYHeAHJ_g!!wV=-;er!6pP5W4KwhO{{)LDDT^?L`5B%>T!w~QwP{-F zM4mo~v@NH%E02`@7U^UZ=t2cuU5W5G0XhDFJ`#fZvITjKLj6La!5Q~L#bC$kun41j zP#A2Z02bpT8FT`hfrciD`6cQ^+0Vh?I&_)kQO}#8xws)IRMEAzQAKR5IX|McuSZuX zdLu@oTMeV@R)cgX;utwg~i+~kLk<^?mmejY>VzU0{7{}>V!s*pjKIj%VViV zW2f3eW~k!sDaJ0aiO&CsV>XIg`@u0b8fVxPx2?#56pJrYk3VeF+J(h?L*mXynT}85 z3rQ0&@o2Dh6XxgQaj2PYRwQKgB@jhXlTatx7RQsfi{jZO7C`_Z4I|lDqQgNny&cy* z@uYb5B$hEMP*hTMK@z8u_MOwDkcLG5Oa^Y<KWa)NoLFyD@%#=rK z4mNk7IC?K2Y{?Gl}p5?!eiQSNIAo)rn+z6n0M z34ZJe0jKdn?eQT|@et$qaPjy^ym;7HTy$n!tX*8ZQd}Z+T=H6MYDH|iZ)}EcY!-WL z&S^|udrU!848l03SUjc_FQ$Afx-v7m+Ag|QDY~9Ix?wGyoHs)IeM>lD`0 z4(p484H(0IiNl8RV54Ku@l5EX9dud=I!g_mUyEF_kQE z8Alw5M;zfroQ#E^Wrknag$L%Z99yPN&HYh63bE!*>T$f?S$@zSl4qRpX#&B5Hw{;bWu zjJ5Wp<(9bFpD~kl(c`tii}}->CYt{o^vs{=y6)d2CU=eu{~dGM-^Ve@{MWhq8#Bo3 z)735mj6Djj%xP~Q|8pFJHm3y#K6>n^s{|QBBPOxOCI4VfTY?$o%4*&JfW6CN-$1!C~zV~t}4zJ8<9W;M4r`b~# zv|pLiD%$@rr}?N{nbX$4K*yXowgALLLa%Ho4UL#Eg0B!0WYu`}Qvfkp%HsKQcooOo z;t@^iLjHih}dP7A&Hm}TpI05M5mLL(-e zkua+c-WJZi5S|{iIjvUP8f{Lqc9*#11Q3%R3N&JpBl!IZ&*uJs+WOGf!RIf(d^4td z1DMlZw?up!e(%jCZ1@h1m>A+e|2}3~>Uc0_*1~1eZ_)GRXi{uA06LFzgj zFGLb29xbKkIaSZ+AyH@hiGVq6AISnBCdk+=YyybM`3M>@@h1cj6NeErV&cICAST!&0AkYS z@C-mq!iE9Fr0v@m05Q2g3?L@$W@vL-(GY-`w13V4%xOiGmmd{7LaPD9WCQSCwLN`> zHm5oK0uU4B=V)^p_AfMI64C{j(~1_*h{-b*z?`OVQ3Mc^o)e`a<}5#?~Ckj_k4k=k?>5X3y$Yl9NKBO zO7az?I6wMijx=Ew7X&V{=`;Bav}r`7MO1St3uNg;0C5cHg40lueXP%|s3>g_WUT4e z_p2}>35a939_ews@&e)*oN6vJ+|2Pw%%akoMOF)Uzn(&2*WZCSW(A02 z+JHF54N)<)$nqWG*R^RC88vmmE!e>E)&PiOT7fvm2Z&=Z5!G9Z%ntK@9Vh*f5r@@0 zoO@aCw17AU4#Y8vY%|x~3xWFOeK#`yw(A1WP$DPZ`%Ii4Lo5~VHSh9ZunggC4>&t=JUoq;&!`puk`IF^dOJ$u0vq1F|} z;phDkTKCcfHtUtFD^jCTUymPf8I#&o3^FqdWfrHey@=i(%-u4~(xa``8PN62ule@) zOODCHPQ@^Hr%*o4>H3G8c_YmciTRK>YWe~+Hb5Lh7|FHiBwsm}S1DZbO=0uPu;%!b zJZ)LSW`h}|GIn122v~hGV~DDpT+|n-;$lVqpxK!`+%l-%yC`$qd*ySCvJtxAvS=W! zno%JT{TcmZ+w&-AmMAjmC(~PHu;zpr5XanR&E0uxP&NPM42WZjTX#Z+H5OPzXxcTm znnDp(;T+CChCgy!^Ho$WrKX5==cMh$M(-?1BlUaSQALSlZvtdx?3e>`zozh2ubL@~ z57M0MXIy5lX+>J2^#iLnEP!{TA}O|zF&6Z2awB?Hv~ z*0uJnySX-UW7Wt{3lcLzEXVaUyGSqO$5}F&f+m5tAz){R+q67Cywq!U1N|kJqHRyQ z@U!>gB2$(gzI)UQae4>DF@hACc9(%Q2O3UN8(ExZqk83sCDZ&{*2u-lJ?YMxODPx- z#|Qv%jIp%z?s)e3Vng{!cf7!Uvib6=rc6(EZH;FR5XZ;>ag1BH^s(6a#ST-&`O>?h z;{l$J`v{r-EoYh3VIF7lmReL)jSNcS84$;4U!p{efjA~@$QfHf56jjiJHiF;*!aeX zi+HmOiM9z4$CMqq+`-Ym4Rx(4alK1vN_p%mzvRkjYYN0M?RVTjt@^BGZoNZp+@fFD zDcuW1+yxcvfjFi#(p?;G55zImNA9vX4nQ2!@X|xx&;f{J+Dbi?TOEKnria2)1LO$A zF~4j)ogU!N)DgwW(qyU;&gA11TN2E;5Mw3c^=k;4&Gx=bc9KnnlQ9y#XQj_=T2k#3K zJk?ome-KR|2#k;e8X`jm!z`T+97 zob_>m`nlVBrGmj&uK4|GxS7}R$4H3dWocXC{#fORI{g|oPY78d>Zd2X*!G*5@z1s(7{ef12@X)R#H-;YoKPd$a`A@k;C0mz&Lj|B%-|g= zkWglX++7X9{@_im7;-v;VpOfiYvv7EA%UcT1Dio4wROR2*FqV6h*0zpOxKVR`q2Ar zKKb;71F|9bY=jVAidqa}*n7N+-mpbA;%Iu38|5KL7hJX3P&q1yYC)L#2_DWWk$OLb z@Pzp3XxPejnEGl&zZ&s1qln8Hyq5eBS|e}+Z^(U^H(OgICtI*)vu7C;x;zrp;6mt& zOLUUJkeN?VrcK27!)pxZcG@<6Bn-O78}dFCM!abY`0%wfYgT=7}L(7_t|#Ay@0`rafxVFi4*hj8t6mU>j?KPaN!n7!A4YR^hx(miCKJ; zuhiz%ka`=;c)r<+rZ+O@!CS%a>>CtRQL&CU1P?8P-IOQbzbB&i6{ zkq<%<;S!xD1mxlph4PY=Z-cAENDy^|NRnW#)uc{ElDrvc(g?g#kt9Ss1G66Q>oIX- zTP(wAGFJw{GBjval%(VYZ&;1UH4|@8jVPF&q}?Y-O)dttLTO-2L=uIUiAQvvPuDm~ z6c5T&RnLqELy;uRPcyTslrrWNZ2 zkvt?ccdxY|+t@!J5Al>birgfVgTr4$B2NtecGe7ji%T&3dc@fKJf`tnoLAtCV1j0! z*hTixE#8Dm-NHzQiKqe%eG8~73s|2b*q)Y%vw>ysZyUf7 zE4uMVa`0bkemApXCwfbr#!G+N7VOvM!$JNIXQfUwWp_@adKF79?P8yG6kWFu^frWn zIYK=R!+T(1*dZk~z6GzwvlQ0-{LY|HqD$XNl;7v5fJ=~ovIx^(A>3@sB5BGhK!}W| zaC?c6$nnw@i!3Yr3QUu-s`1KN4wAAN=mR6%%}ebDpXxn_gPhaWyRoWT8(Xu`FL@YeR&HF;=9Q`+pNl*wVEhPzsNBJ z0>9FX=5~I&7rR^0lMYW&nsRZfb9SYHwZR5(R*d#0l}xdV(EKj96t$Wp{xAK?BJW05QF4x zfbQgQcO*pFMeCb3-!mnq=EuJu6U5z~oKcZ^lcs5|EJUh`s!<1w;_IwXIImBtY;44B zi4$*O*l55aZC&pu$fK!z+1Y$;tr>JTD6l;5xDtZ(nwZ}xJa{}5HNklgIVn0d!Zia0)U*-Dz#-=|!K{+48XJvc3BI`m z9ToH)X5;nzzIE5CT0`#EK{^wLF^J+MNfIREtDp&Y*$DUPDWWIh7Gc5oVj-u&-rIhD zc&iEVMwP3Q-TiglDtvX8Y=lG=M7|DSrt)A2D7qTAc)d45wljP^BUo9dElo0H5rY_I zK@eyZ>si@@omJO15!K;eKVH>yk=@$wUl0iHW2|bu;g9Mvp^Q4{>^(Mx9+=$ApGhby zO9#ca5UeHn>JTTNlIJB1l-Uv|CM1iW4Ft6f%tu3Sx8d#hcGcqcM5^IaawN{s6SF53 zXKoK}cZS-XK=)<6SN;7iDvLa_I}4#zN|VIOjulKfS(hY3#G`kgclL!=^-B{DmVpO( zC!5Se@p9i2M97xK)#KI75J&PBsDHrAvG4{&hf?gk$OjczJcB*$ktR!K3jX#^4v!5rm_WcL!eG70q}#9%(gR_J*yZdK}U} zUPH@PM?2xqKhc;2YId9ehfcIhfjTEAKo7@zQJca&Qj<;^lS5ssBe9cNjFS_N!s8c{ zZS#|JlU5FIrijW&R~%($tEWEqPi<}TFVIfwVomRJu^c*1>xNFB1~8vbPHXK>W2i6# z@-z*NnHzEUapGnK1*Qpd1@Tcck8aK0;=WJ*c2>-4mQtF7sAl#-@+_SS6FuD=KmXi) zX(?K#xgU@@b|(Rrsk!^RbG+P){L=IE8uP+|Qk-$~rZ!WOZ_T7p^9k15uamcV4oR&l&$Z$ zYm+M(dMm-XnkLe#GhHhYX3xUoR+lbTVrtBwsMQU|)g(IFl(%aSZm+@3xYKLaYWvo5 z&7Nn{tw##17j1FnJFS<8tXI_dl}xRV{9Lc=4v3T9&_}H|bE`(jZG3g#=*(5=Ky9c~ zZ1$sOyWeiMF>Z|1P>a! zW7Uy|HB`rONLT^#yoPfZg)E#yV&=(Sd$)}e+`_4~xmmlNHLy*@qlR~H#~o{j{2e>C z>JHVt9U9~|Eih{nw9W8tn~4Xt&3uVu?Lo4|BRR~GTrx-=VkF=6mO$Q?kn@&^>Xz8O zEeYhNRPClr(5BqG&4)ajk1sc#^lT``Z#*^McqX%UjdB86W4 z24kw+l{t;ji18D>Izjs*`X~G2`G7g?5#M7kB|eKFWs+M&Kk;6q6v)$JJ}mT>nI3Aq=zVj5)()pZPto6#g2{5PGEEW$7#B1^> zd0=AxixTtyS>X3B4GkSF9m73(W+o;O3kwH`jf$QKlFe!Y(#4Ma|#&c6kMnU?pl7D4sBaE9e`7(z8sl+^9 zY9V(DXSkgSrhSDjG246`E_1=cr&BJ=pKSn>alGv;D^Q_hTSJ*7S}>5@<+^V&)me^M z?n!v)_g`L^>fG_;3Edj~@5+f{hB6dCZlG!SR~II~d#ZHUfq|WgT3grLs?LtK=R4w6 zYySrP#uww=qq%l#RMs}6@1gTwE==eW^L_|M0=*;wIo88X^*>9@5r%UCfnVWuPQ$jV60=sNNzo8cVlJ6@>-(j2#tXPGnK(TKfM4Lk6u6YTz6F$+@jq1V z4xvlTflsbV%*fiRO?;rlOkuj6LG!{60DeU_@?|lvE==*iFH8l9-xsFoKQ2u0-xnsD zsH+PTBI@^ri9_e=!i4bu^cO1U#Va;@Ow1!8~9aUMwgiJH_^Z^_Z}Mf6>Yl$e#u49 zz%K>o74VBh1HV5iu1d_~UTEM~!~_leqSmi~-|Q>kH{}ZWwO>~UfZw29H1O+?Qh^43 zjabmYuiokv@VkHpejNiw(7-R#cQo)zGpP;$zvfBDXyDfY0DdpeXPQ(mFOFY*21?9F zm*XfDegcLG76ANiyJWG^V^Xx%^@4y4lYhcZLDHrRsFATG5G=3E zxEc&^WceQGqvFrFm;h>G=MMDM>SUbFhc|I=1^B%sNS>$zHS^~N_!}rQjrPKuh0Ov2 z%>0uFXFx6D+yQ~#JLh}1;Vsg;{y|Oz3!NBjtq%(QgT0jX+ek86w%Ipi&04LKCuDZ*z_lIKQC$l_TO;pJ2 zkC^gKRNjQ9N}}{hQ+@n1DK3oQVmA<=8SJtu zNe4>I=*jdbpv254#bx{|bL>}IQE@I8ip^Ayrhl}*BpE0%%L655U!cTH3S22@*e7OL ziprX~Kvoc%-bMb>c%Z~A4V0MefD-c#P+}g>nA}W5R8DcR+BVR1?}U~{10`l*pu}tp zl$iS*cpReHrcYQ9HHTa*PJ1++7rUjAK#7?fi*rWzR#{zvB(K}6jG61{h4n<-%pOd4 z+i^9^AV7(kMId`t$*Qa&?HSF)$VdXry9p28#%Kyr1DQ}_hE_ecVdA`A(VbM~8tsf#5AF3) za`dCxLt*7UM_&aU&?c(U=dCr#R!!Wvr1I|l_8NjK@5}MAvR68n#H3UU&$4Pz7Fsxp14pHkp=lV65EqBp!ETy+0Pp<$y^5~)V55A^6C%yFQ zWo38uVak?oMVs-?0uK+GusF}qymX7)Ec z|N5G!hJlMe9_4Qi7rWK(A5HSV1J?kEdE$D&L)~W=umPkpfSA1iV%}m4bRc@YFbyOt z`@2{_v?c~_^agrbKX+z_Q)ULfw)P}@yTIdx0)nt205Ln0;1Q-GC>6w0BSf^R6atGt z`ypcC!tq;(hb%$K{U=jRgKjzmWnxce5rb}Y1?Bah0EqdbT<{wggBX`!Z>!)67tQki zU?F9Aovv1uO2`r^xY1PkJvQXV$&e33&9ueDe zxR+a|5wor7<=H#|b_nWH94U zW}J~`xD zl!KLsi}|fErixm&WIJY_E%t4T=R335RgsuxgnZ3*%*U3PPq>&)o0x9Zm>%kwz5)CI znSdX1#gFLW$2jm4^SH@!+%y6=YlfQ_!!2%Oms_x_IPAI&c0(2Wl^Xkf0JBZN{BXtW z>S6XcFb5Z+4^>1T4vMBUkERxnrrn96Z;fKaM={$*9aW2BrHNu2jO56Q4FWR=$7R7|+~9Hg@B~hH(n4TLMPOP`V1{`hK|C;f zCm^>qARix4Xd6(h7EnSHP&Vjap5$LUjR`ctj@#`D(9mw(>a`PS0_Z{Q(omlXhtnir*@|iXFnHTq2-0@y+^=>U> z<|&GOju!PTIL38~Vv|PMLy+oHA+vlz{__oC-;QHk$U_uuN_PaQt`st#lF6sOsC2c6 z`KrBu2}|LFNpM+!QL&C$+`G`KSdgnzaIfwV*TkV6nxdOl0$j*ofkQ|NZ@VJC?4s)% zd@!g z(_Zr9bE(#6QjJff-r7pl*hrN>k}7>5m2V|QxFel#OD62Ptmjp^r@Hc1=M*f@D43m6 zG|^Tx)>bmqQZmp~x~i#kSwrcHrt(!Sm8;sSS9H`3PHP#R(=pLKV|M9+rQzlKX4jtH zvwZRRk%yC`zt^jfh4;M}St@BGb>E!+7 zL^B`lOXBqJ1UtPvMSx4-SUTRWQEWCABr+NPTqoaj{L%TG9cI@q4Vb>#G%fw*P~yZ-^bkbNnd+z zIWNC_%I6{Z4J0zhod&EyBBS#tfBD^=1*ijI~zf)mO+5+S0q5v%FV# zzxLB|fLS?b>4|TnfzmZz&^=Po;OJTls3;a-aAsHMA*}_Hvo-{n0@>9BSk~cKc|jHo zyXr}~bp+f|@L0x{vY63&kV~=P@vkUEnrY%KT)OyHuc_GfeEd|A*_0S8B zLfo@+@~U0yVamlqyx*zhHA(B?VjDvIl+<#kSV$2Z@+Sn@#AMIOk&v{GCr*fn$>jMUAs2oP02+fTHjSqdXP2}$(H_i@-v5!n#cz2GJiirP%wk`>dxp~e?g zw3#+-FLvn>4KJ>1GkvH~?25B3PaJ78qjO!%AW%&L$?`R`SWessqc4;s_mxm=FMcg! zfsDB92UQKw5|KS-0_Ss4~fe{Ff*)CX^}*=#6!cZfsd#+ z#qo#5tk1M{cA}1_q-#o^GtM@L7nPRKfzIy}X7Ql`mN%uPhee+`wtX5Q9Z#s)mDKcu z-Ev_mBQ9x3Idl?+r%}b_?T1BPq_lmUH)4zFt(HkTAB3Dyk(PKIwhvL(9RV?C2v}GAEDb+|iXI z)`z^3dCe>~L4CC7?eQZg0^~n5(L1t-^O9wF&Pd!-K@s0Q(U1-5%>2TNE_^R_L@31S z!+VZy_F$zNSysm!D^U`$>C#Wx2&Cwgz|q3y^G5_x=noAiQnmEUW0ODpx_flQ4h$23?)z zhN_?b?uN;(#M}?&iVhw+h2#XcxpNKqonZ_~$wD62bd7gjMc2Hb7RjAYcv#Ur`a>bp zxOv`i?Aqt_8s049k+(+0J89XTB^&o77uhQ+dPUL{^MW%LE&A4aYsl95e#@12kE#dO zX?;5vn!7Y8TREV4N$CyW&XP@W-e507@|$80gC~xaFGk5u%w>`*UICTEvFgedXx){U zW5y#Z@!VCDBk!ELf5dInC{L1dS49Ua$7ZLL>nKImd~U3d9oc(We>AVmUtS}a%4w0K*?j$c`N+bD<=cNert0%(Rt{fNgNVn6grtPg%KTN0Qxe|_!--1|m1PIJY zIp*Se+{Fiv@!{-u zI{T>*-PMSGHGO_s?5}j#U%zW&K5OlL-sLql_O*Vq_oe>Vj9ae_M171@{8>%?ufu&z zvHn~{|66lDmRtS;?4Zf(d*3ub#3jHw)7O?5AlV=AjLOfBJy2dH@P)OXlS`l~Hqfov z?^S=G_Ew;`=xbjU_&FjoIRF~~$HJcw;UQZAVOwwqb_B{aFwzv^;)1{u1Mx(JXFnpI z9iGS@^jak-)dl{*E{Jy1A&W{pr$4Ck#H#{R<$RUk7^C1))5}HJU=HQiRo3dntzZ;O z$lHF=ccvl14k69`murY2eWk(eaEA`|P*`8cXKS@qmr#KRp@S;VhWkU~(4phaB41R( zvgJZ&*cGR-VU9&%OGJ&ituXz`FcMaH(=_~%L->}d@D4G2oF$wrs<6u*VI~*xo9oFV zt`R1v2%3Sb2L>Wk8X}l*Cs@8%mTz zSG*i`@(fC9fP77o1MRPXR+yKSaYd_Iq1AA@8UtuHG+IYb@U&{Api$&`YC&CGByUmV zC7hx5b|l?oq!EX}HM1z5mnc&+#T(^ObX`%F1pYf5(NjmG?o-QHxkmp$M%&`}o(x2P zUyrsk<8x5ONIr;m!pXScFdIggSKGXv+n6b4tgjgFYcs532?ky+6BNTNjDt9E z(-gQ!Rc*8@?#n$K-i#-90N1^aOXRqQQ^gMn;?oh@X*m4)8+?wQWac)$hB>CFh3k!3 zOoe?6aX{O=JVtRKrUrq|5V{$6Zri%!cxY~9<~4us+-)wpWGxLyKh zKN%O7Sr|8L!#TPgXJHce#SAuK7N2AvKgV%>syseFIew*uV~r!>K~MaqnZY;LgbcZa z9ctE}0|`&i2?rK}DAW=QsbY`drT0`5X=xJa2NM{x5}4f*j_N0{awf1X#B)@{a|Olo zn8)*p#|!Ml3AM(Z#K(!)#)+xL!D!+n2VMMmsM=xmHBE2Ss_9M|p`y`RqiJ{aPda z@sWYHkqEWOV4BF#L3DT)8tH~c>!YJM(U=7kt^ySkgo-mqC5WSvc91Ep$TU1M!xl+U zLuS(;a|a{xvmy%JB8v4RN;o6R7Q)Lb!YhNqtIfk}#l!1&!Wvq`-s8iXY{OdA!rExU zJ`RR{$_njt3+>hq?cogVTL>Ab2pI|r88HtT6Azi#37%{Xp2i2y+6K?71uxPBFAoN- zW(BRg1#RdDedP@LzJS=SK>P?o?3yE5?*>uhFFXJ-jezi>N_m*k5fIY^L=>EE5Pkq+ znuAnKTnZLOM?g&DVppiued1~%C6~ZS-eB;%GNC;kDsG>Gla**W+M7otjrh6hDJ6!A zPC5!ah!8k@ice$$W#4GD6?)&H(sF-8XT{x|#CY?8VJ8C)(qV%$(tCCtW+< zIR7Z~<|6v46JOsX2DlU9F)SB5k6krnJ9u!vD|7fy<9JPvVgLF)fi?g6fjbc`c2cd5 zGObRstuAt{Zt|_K6k0tLTRjz9y_8zL!BcMaRcrQDZ}wAf_Ev83QEYLLZh0p8&#(2F z@+8IxD5}%yK z+UlWfE(Sligt)2WW2EMGQPKXKoWp4u2W@G4HL2$c(odwNA4y6-7MHXWk$75JgvMt?B_t*! z$7ZJCiV4wGxlt{}=&n-aKzYP)C336=_2n&Y;$7VM`{a?vtp3Kro+e^XYh8ESyN@3} zHht`B_}Kflec&htbATx>RnzMSXmxkSsq43d_6Nh1WX5wsh;<<`Yd@K}@h`eE?b25lj~EdnXk)bfX?jNfldcTkmDsO|T2!jO zb3%#+4a)f7{c*fMYi!V!iGLLXk{O2NpAQWFDVeE#taJOxZ>R55Ong1};;+d}t8?G^ z+jO5P&#ajIIhlz+0wptkeOzLHXl&4x(V2~lNaBwYAWr^0nVCW*xE3<=KbLrS1pWKq zKN!aw$SpMFdMvR?iTO2-mrj^LdOS%DV56ljpMjE@{c*ezelGh{xLCKpb!8GMnTltP35Ro^Q3^JvW@C558yLsiW)9s1<9NGq zT~{uEalE&upmDrMJX{x;UgUlS8asFB!aWSo*jY$u9Is3=YF}dy>}zb}UmBY&7t+|4 z8<57{YT4J=Y$A}x7FmKccFiiJv0W?oHTKxP#=Zc9G`7~#zQ)eo*Vu%8js0j}W7ia2 z02=#eS|uaU*i-u&d(sTj*x^%<#@-Fx*Vw}Q8k;c}(%4?fkj5r^%t0D^I}Fm;B9f5C z-m`=>w)XR%kj55`+1J=-LxIMwJL2}xhan{Kx5E@*98bmv8pk_~1><-!UeGw+#Qr#* z2Q-dXj{)O&Yi`guUJ@G^$6IrO#_>Eb&^Vsc{y3fm8yLqcd;yK)X=1=QUZDdtj>o|U z#_(US_FX-N)9?lu$3xme<9IR0!8l&0H8hUr6%EGmIv+yg zc(;#(aXgj>&^X?iXfTe)Vg-%k2^|OHct&@ls#1k1qro^H>NYfvw+M~nby+~;c%Ptg zJeFI~I9@Spo7te8l?@ojW5$4Sye_K}FplTP3dZre&8xvU9@}*=j#q2~jpJQp{RqbK zuJwR%JlQBPjt3U;z&IWoD>RO0*aF7!%1yvH9{LJ2j@Jo|2*&Zs&|n@bfMg~HBr|d#nXv%LOcqFH6hSfr>*_@Hf@CK5JV<7O zK{CSvB{MuAnGpxcj3P*8U>zf*UXaY>YJp_N9V9a(kj#vLWF`wFGm0RYfwj*Y^?_t2 zPYEP5k3lli1(KOKkj#jKWJVDrGq4X|i~2w^lP?95nVTS)DFVri1xRMHKr*8Uk{OBC zgGc*8GE*Q7l9`JjnL&YMh6f}wFp$hBfn-LanclG*#nPI#(veFKc8T$85-R=n>nVBNxJ{Jec%mzqi7(p^) z1(KQDkLr&y5dGz2p=3q{Br}yDnYja!nKF>fRDxti1WIPKE=Qn$f@DUOQ$3l~A67Lz z>!JFg2P89PAejjS$&40AW`=9D_FO$dGDBvmp4-z@>pBdQ88(p2TmZ>T%{ak$r2cxX z+iQ@_(12uy4J0#)AenIn$qXe(X0$*uGxF}4mwOOMW{!hoMj9kD4?r^02a=g4kj&Ih z)*l^h3ebKP0g@R(kjz{F$xIYTW|ToP69|$SZIH~2w#M(hiU!Gy6i8-ngJkACNMwH~n`nNb7Dj5A1PzDoR@_+Gx%NU6~F|G8vF`Sn?sS0I^bZDRgE zNM`h}QIC!@@X9bD3}~zPsc64YmD?S8oygfe&d@Z@0lYOl+M$Oc;GPOo(Ky2jKOHS8 z;HyjkVLiaUpTk=ePWF8m_}MoQu1ouBF0i7L2K@h{Zau(N1#UOT5eeHDbm%c#ysxQ18WyY< z9o$(IT+2*7q!Tj59Fm_D@(dQ;LPgzvfPP^da9z6gL^>y(fH#R@Upp9UyaNuMqG?~F-HV{< z^A0z@M^%s*w&KlLUvMPmZp2R&rm_yYhii`)4^GJSb*5d==hYp5M znufjB3I7Hshwr!`DUeiqE};WhN`v~)`ZdP2OhyYG+IBlS7bez{ak@Gki*6N(00Y{- z=D=5(jNjq#*hGf!9fx7A;VT6USIy|Go2e=iqYMz?$8b@vnxkHs(z&QaZ)Kv81rd{5 zkxd7JDb}g&TxiS(7@ayIUzsvqb!8L~V|5~64y^~&-$59dG5VOXJvXI;4`70~8T|+- zEkcy_JcBJqz!N>}UIcZ2UGz#F<9!__lL5x;I{H^c#@ij#ixG^bdQ7N-5KRt?i((Q* zcA;(FNA?a-6BDDZ*+k`Y#H@JJso|)KWf<~psJaapn{*J3uHh%dnBMBe?%j!P#!&%Z zJw_g9sE;@@iU^2U!|fIz_q=H)>*5Z{Vuw2ztHhNEg=$=whchunwWpV!HQ4NG6 zjW!Hhrja4kQO$J;#p4OP2NF>O(Ou;spKanSyyFI2;zn^ttl6mt#u>KPXnpTcWhK&Y zVFf4*qkcxv@2t^|&QngPq6`f2nYuB}8EWW)kll`C3VRyzcFYYiCj1=+RdY7v8iJjW zxL1&($;sL*%H-b9$S=;6T)+@(gV~x3a}!OC_er2w5AfDwDjo;J11W|+X~^<43w-=( z{nUJ$)Vsu>n{JF;I!rik{QHi8J%gxQYIrcO7rD(?GS1M*pV4j-Q*#gFL&ZvNHjUE6 zQ;#KLlkZ}z25|^Z+;8@&Vrns|M0!o}%m{p{Wh=+^9maMQrU19}+v35AG_m(vaqz56 zBm2~j{tSb{G1p>xf!LJw7pZAm{6y9BciMeth-|aX9$h zLMsB7#+j|ZolMvWXc?z`jZaTAPetkEyqZH9)W?ujqscS{EBpnut@&vcQMa}Wtj%(- zsWHv81hSY#zw9JT?BpFZhwr+j$L-`B5DNC}Qn|SZbnZpJ)#EoS$Z78rEh<}K6Xr#9 zu)JnR=b@1@r12JI_nNf@!(>+c?R{$f_J(ZOtght{Dn1cVMK$1b-jr1ExD-+ zxydwnHy#)Bs~4WlE;h0)nxx4UQ!hP)OcuZ;XA^J9R>Ge5Grlayugxqrg3NddU-YmI#k%^n8036letSotPk%>z^uh+cHnKt+yS7`r2o_}y^ z!#t(B8?nMRKXVeksbA_?Ssok1Xt~DdqL0sPs{r3SF6dK_c*n=86&lr3)wm@3+LZ7P zmGM+2qk=1)IV=6z5O1=RLmpS%y2%F5!nvV+esV7Nb?fv2g=5@QNrq9qTcFml%$b7qIH;hGZj5BcP_*yS)F z3VR15Tf7S^+A=2Gvm!alCu0)U+>5SP)U$+yXKvNoiN5Uv6O5+lGMTX8ZQ`MN{LeM| zrJJ{&R>E9b0=Hd~b|M%uVp78HAbv*BRUIgZfah){hO@OYrn|j=g?)eXC;U)hnw%=b z7=Y7u;a?NOJ9OULn`4ehO!Mp9j679s} zme?OnNtG>M8ox+#NFwwZKqM|N|j|L}qyYQ1;a@FDr7TqOB zyHzf$Dpz-(OzGCzRng@6-2dC>v$-l~JU-)5pY=apK0or=x8bvag_x0M&-mu&>-6^h zu|35BJ-43PTkiI7l=a;Es9|E!8{p7u9cpy9x>xW*?=wveTb@2QxxN?68c#j?U`-uv zyV_18eQS|@-n)ukn*Fv${Q;M+`o{I&@aqq;5Dwez-+I%J;!#9e4463#U_V}stRA?S zG7x|HWFpVtfu4cXW#x2_!Bg^sSso{HMh4H31`9M#6lo4Eq6SOjn`8O@bXdK42micz7$9{H>k#qSD@QzDN zkN(!Kcf@miPi~y%3Lo9*IB9*HiGhzrYeFGv{J5tyYy3p4?*#W1X)f}_)yWA#vXp@3 zmtp%aqIo>xHDCHWzeq7$JHb1dqcEwUB_-oI*@c``yTYw8I%#4xsndStwAR!hY4SXS z%(?if9^a`;?bj}nr-%w8Mqz{3ET^-1rcK)=uGCDIbWU4paoypax%P7Ue%_F|=gd2~ z8QW3LC!;gj>oa!ooDN#E8HTe?mYgo}v*eV**;l-rp5)p4Q8T{JU_O>}vG#NDu8}K4WE$P&1buHkWHT zmoGI}NS-ZjpDl@>EqgXwt~Fc9Fk3x3Q=2za?>W%fUob-YOhUg@8j^^r?-2bOZVFE^*Da&d704T{Jh6i zyT_fe$7AfXSN>-oug{=To}kKyj6sKaOwbcDE3JD<$_S{!DE}SP}Eclbz-D9b-oUtNZ*RAV+*XW%_gS(inMVkG#gWN7CNgyuJ5rkJV9t)4St{ZQbDy-~^-n>2V$3 z|5RhsQTqntmAuI#?-26*{{rsT+DQIC@ak-(e!cp~(tm$%pUC{5e}DhCz@Pm6zxF@+ zE3dJZsD1?dx3B6U>>pp{Ls-QFSos53*?sX6EAjlhu&mn>DYqnJ%%#Fiq_q^kygRMyi_(brVHsHJ{MNAt>Q9fNacuIZgOyK?ci ziP0m=o6jEJcd~ot>FONl=M#(wj0g{lii(Pkj>cdxSS;AL#^Le!n3$N@*#CWf_&>Wo ztYT-7pz(4z@~?3Bamat?W5lDbmWC!KXd3o#h2QVfuszr}+5Zae@-J^8c3v3p=0cZx z)RC~^+CRfxQ<3;nFZSq-hz0HOry_*@Gq{V04y=X1fQwSPSg8@$&f;%d?A zEEoQd*N6Av?qlBjfhjv)&QZvC&)<&!X&QEDy^NXn5cS&*FQz|T>VX^3zwNxWXJ8WG zcw+zh@UM>%{r6mj`UT7$DE)q^2das3a5@OFcQu`MXP=)!8=U_&4Liciwa&~RaQ*k| z!!uYVav@lSwbui1_t&K!vp9rM2lxa5T_27I)36yj+_IaqiLZ}C*N21H=T0M(_OB0% z+c*VB%l-~`W1X(s{QfbbaoYw=!$Kb;+Ffj+Y1ncIXqED7@q?o$4m zhAmF!qE-Xbu(L~F+SI;->%(j7(Dh-q(72BC5ZtX2*oV8-oEH?YNkShZfYdd2UjEvb zYEKW-(I}`UYMcSpME8cEnyA;){hFxp1*j%Ee0jen z+V#L2)I<+5XVx7dheIDDcKHF^Ee!{7H*s4Az+I++By@?n)Sdy8_D) z+|3Jv;O-m*cc1-&yHgO{6^7t$@;C%{XF?&kI}E|y^iT-y_Cs*@Aq01YK0|O)a$fgT5Nmj(gB-ACbT z0PeQJ6UcPd!4TZ_g#)-d7XZOsH3;rn`$BM+1)dDxu7?bOyN!VW?uxlXaMw35Rrs=4 zRUM%#x`-NryDuQPO9R1Oo97VR{SpA+?!prY?p6dqaMv~hz}0TGe_@ewkZ<8U0wip6#?8ee^V44CHhc)vE!q|^`!XSoKt6D<~{)K zlEL-iuY|##!Qzs>RZ8&NZw`C{GKmWBZC#sj#k2;i=H zQO&og6P_E3&AX%wfV)ElO(Ttt#Y=UPj%GfVWD-S-_``B=efS^*clmT@ z6k|+2KI`R+oz$pT>K@2;ta1EF%9*7dEdO+UT0XH;WbV}SwNC-hV97`6`_9R`<%M~^ zu@I7+uQICWdR48EzLzzBnYOe$UP>bKOlZF$+N}^=AGR{iU1%<<=!x`D%#nsInmsP< zEnShwbEF>xaQ96Oxx~g#a_KWmWq*#QQqk?~r3Y=L1MPW|Z&E^sY>eH@dTUCb7w0aI zgX_cZ!1dv9aD5n7Hazo8s-l~I8&}tX#hViHYHT#FY4@qssFly( z_5vrNDfTqxXr*>Kg{n5wZ>uaAudekJYkkS{(tK|v{Uf-$<{M|N=8AgWj}gDB?=^g? zYktp3U~6`|QCq7Go&OUfU%M^mrM3B3YIlCJYNvNh6~Nuqjb%sexzRnX&IW063cB{E zzP9#GOdk2`nd;q@1ht=&&%bVWYcGDQ)$RjuHy>Odz6Y)kn>qowYYnas6P>{I;b-9b zFuOCjKKue)A9isDaMul7AMSSs*N45En0fm>!1dvAaD7Q=;E@>ASDY zmZzMGAL)jllBpMfyIW;`8bmK}eVEMl`ZT*YxIX-w%WGX1Zvb~``d?q^_XgL8nN<9* zsrX!X@js6BH^=$_xXZoee`m{wOEy4O!S&(RWgcw6fM38975(V%0dA844%U(Y?q(bd zbkS7?*M~oW>%&BSH+J~5L-5yd337l7JYNAGWUYkghch*R>%&Um`fwG1yO}U>eYord zA~sVoW(!da;4blEylD`^IViK)>yB6{RE)U=?_hd+ysC=hsXt+aYf4?ZWKHPmabd)GJ!XD-? z7dGW`dE6!Jq*d5LzX*W4L-&K%T+V{)!@L_|-$X^g^89oNX1$Vh!NsWStS z3RaN@9Ew*}qxg)Xt`7(RxJ&y!@)ki7Tpwm)iN3dOU}+ZZ=7kNvlPiWz5#xq{zXBf}`lG#Vl)Y53NKtHn>IHus7DL2_5D)w1Q(MW+penpks}UC5%+mOq1!dCh>VUK#EJF} z#A&~e8@CZ1Q;pveil0G*<>TUm{Nk79!&bKA*F^(JHn>HzgbkzktpU!R@`PQ-1hQD< zI!9uaeBy7m8b{m`A9p3tm~+w%CZ?<>GI4UUs3j#BCLLc8qsAw(P$zO{1#E67vG^qk zy6JG4Cv(jwiK<-@sYo_Boh;?1B*~c~qMD+Rg;H_@qpQhk<`~t%6#14E9lV5$e#$w{ zlnV>VdKJkRgOV?sCtnp$Hrz=vZcQ@5C*813GE+;sNt0wTn0PxY@vd87>x7Eit}-cBm3#c`E$kvF2o`# zVuOQXL(OBu#bc2>G3eHqD0~dYHU_5_6GIadH;7Nj!Y8@mQ}pp^ocN3d9H9c29fZp@ z$K{LT3U{!@t=JMgw#*h=u7<6o!B!7qYO^r)ZkPsr%zI8u(?WDhMRZ$G^hfjPPvX&? zJ5k-OQ9bymKHI1PwWuMQsFA_Qv8>1mx5!ET$Z5{V*#-1`1$r?Ey=;zN6-Te{pf*}j zU-78#wy142)DIfe?jUk63wh8TdFUeYFc*??F@m}>f;KpU{$>OtEP~tTgsogE>lqP{ z?s(lPg(!*9 zrGVMVpimhm!y-p<%!rA5z4%m&%o%kGb_Xh+dP=>=GAc#Ptp{1Js294gQR;A&EE#b( z-Q|5DOQku)4%I~e0(WDMhSzg=ju+Xxm%04;QjetoTjE_RbKeubF~p!sV#p9N><2M| zs~lAcwMLP@Yu-N}R3_TUfmdcNTlz?*{>!^9o^2_fX(66+6BcJCfxRIac1_C9K-&4D%;WR2cTdZi>402D;gY)I zuTbWKn$iU|<#Vday6P&r8mf9)>KApiE}uDNaQ^HyeO+^d%Xe>>JhZ$8MKku#z1&>< zygUQ_Uxx$-A(2QF3WY|aBO@dKcTBUmxVW^mw7k6hf90UE3X?&+ntl5}#WV*M{yQG(R2mWbaZA_kDmCLLUr{faUY5CWEwUOPjPVPfr z>pQ%UIsK_KYIN`|v&G&ulk+b`|DiL=F62hvd}`o<+CNQxUUGT9!Qr>j_#k+$K|Iob7;z|bsA2|Ph!DlX!;&3xl5?nY7>Wtb7UIw=FsEG)Nu|AJ4}W6zS6{R=*@CwA2g zkC&jBM&i+XsYNKJ`C(h!bsdUn#Py$+4nr}`y=S!01)s-KpD!NKw7)X7EmfHW_a8l-tKkmj9Jfi!O*q|(!Bjjkmh{= zXBWVUS@24W5c@Yv8K=al^nwPMzd5a;WLYh|~ z8))8qNb_cKLYg-XXx=^=&XS_9xoCUXtyz7h@~)^npm}eB&S)v5_q>;j&H|eE8t9CsgU+Zf=!_yjXOyC(IDQ&*MuWRMQPJr@^Iig-(P+>a6@@yZ zdZ07v3p%6IpfeiWIYNp~2AcOQ=!^z{&M1|plmm6v@HEAn^7d)a84dn4Z-j{lnpXpK zMx8)sbPjYzTR>;j7j#CaL1#4h4LQI-|{?Gl~G6QHtVP@-*m-hO`|# zij4-ER|0fKuY=BLCg_anfzGHO=#0*Q&S*#ry(1O{H17$}89fg=qj1m}r6zn~Jyi5w zY6f&hLz+0cv0*^-a)ZvO66lOtgU)CR=#2V-&gcy2jE1~FDUS;Rn)ev!j0%I!s4nP? zB0y*KP+^k>s*vQMo^iz+&>6Lr&z#OmUD)5sWxqGy-qESo937xyNELS-& z>Y?b>DZ2|9I0wVs2{C_82T)&b#~ z_2=#yQ*F&#ErA83=-PxS`RAn{9eJO`?^X4kmflgiSF^b+q`8otzSGmRzL}?ed(rCC zn}P0{u!35Ttta_ElGkg#yMEAIvl9I|aeMW9<0=OUolp!k@56R4PyS%(-I;T>J5rTe z-)PBtyUT1>e~fB#Y&9e_ub}swC$+VkyYk8B@wL0BUTOb)+(h2KnM3~O75j5zPYwKW z7ieDkquvx)8K8M_XPv3w4nXt5faaZZ0Gd}8XkJ}Mpm~*n=FM~jnpYEOUaA*B^PT~k z*ZKv}ym~L8YjmtbW<_{-B!gK?UruQdEM68-hxS;zVpPp(wbj-=JhG zxO+1AExS0-yv(d2&DI`8#E|ZckaoC66MHD@;n2@28r?3Tk*Lr?tYL3|Xk`P?yrMw! z@_Y@PfolTI`xT8@GvVAg@3}2xX)#hz?BoeEl%4}h)J&eY9Q899 zC8b9`A;W<_Er(XXU6XW0h?+0?o_s5M??qU|t?&!5U>bFKGcZ@1f}Xs%j5iqxsuNe=}yxlnS&Qdj0v z7pc?c#L}kq(!SWFjUm#8326f@X}$Al-PGwFV(B0C(pzoPn-J;m25QJ9*f@=%GX`bLnonuyVy<$Tsn>TFZ7Y!kg~Bb)52 zi0n&*Y`vE3^YhtfsB?70ay0dF)NFE;5jhHk9NCr}sreijb*`vb?n%8|L7QAYL@qZW zm!l>3_O3Z~JbJx68k;;yMBZi{6W&kc&?8uCtDJ;+bbbW);CPUDNvULqy8eW5(9oNLzsi7r7d0ZO&X zVooaodT)Wl2iY~{-kiNCdmhGbAV9?sLITm&e7WOMF?9$+;SlNZy{`$`dvvP@X3(82! zX-g}ekySn`t8!jW^@6;*o}%VOW$nuG4v;Y`}-Q&m(OXO zGgMPIS5>xDQ+%W*>v&4W>zs6eo>a(1iHJ+ENCOzwSUk=|JkeA<#auk~rg+*vzFXqy z`!B-+mSHK8d0Ucj2aKBi`fg<$1+9FWZu}xlsL$gzLYI< zkt4b*5ML>jc`BEAsh4_dmH3=0_BmVRd!fKrKhN)Sj-LU+?^>FlX`-J+oUbL`=ML8U zZnXD3w3k(c=lu|mhwxX{zHX0QT^$@8D(?&wAwQdFL4UWSRLBZu)253Cw%|Pqz)qcovf37?$aR%=ADL zydnucQ3T&;!fOm607HOd2?!h^6rU9ln}v?cii*#QO-xHkPRvS;EliIt&qUT`1-In- zcNKW{6ujyybQ>sg8!C1mDS0(k>M>sCIZ^KYrNVcz(r>cLf2ulgx*9%RgP5)fnyw9= zsSBN{51(y7&Ap47e;+;Hh+SyLFSW!hwZ<*C#jkuwSpAr|)}FN1p1l4kh18Ks>PY+J zb*7U#Gf178tDV^^-T6zOixxkZ%=eT}_tcDje&65yp}o7OxofDdbE2Ya=1tc^LDzCl z_gZE*DWiKM{nz`vnf`e*d`bNABVpFi& z`YZG;zVzRjV0$#^T`zbT>edjjKL4&;W0MKriKL+WFS|95=;&VT85$4^&ePKTFZSL# zDC)j%`=>irF=$X!SUQw0u>h4;2}Nu`MG#a#>0D};-lY+wOS)T1x;sR=d#UC5d_m9q zJg@V*e%J51=b2}oXXc*y48!byJHtP`j@R)%=uTbz4^Oa#I#Qe#m27rVjs|0W|KbFj zT!hPNVZe)9?0=hGeslW~$&EU~p$VtI&o1|jToCAczoE#WV-%OThCZ+ususG>Ok zC%49MTz>NQWv8csmp_an<^O;-k>|y(QSk6~68QagYbFAF3o?#T3h-XV4>I^YyNu#~ zMMOwV`ONZ<+2w*Egl4Zi2KoLMv@wig{;%2P2JLBu-?Ph!mdG8`-zV6Df{egXd7S}F8BYQUH1DuyNvlYyZrL^2{zH+C)mb+ zonU+O=GO@}Y2Bj}Y`CKnZ1>ZSPOvo}onZU)>jYcm(Fr!MUnkgJ9GzhE`gMX$@aO~^ zRrJvbw#}mxYzyIS%3|OITZIty2AEx@X1byC^fh!8KYZYZz8g5fmgsOB%r3{X1oj!{ zExhl2RmQh9s9Jk_YsixH^#?G!yv4FMY)i_It+S^!!H&_L_QC$}I-O!Uj=EvHH12oL z#HujhVcPcO!1LzqsVK2ItLfNa+}w0re42GiLi*y)Tx>4Q?tFF!_WZldp0wRX&X3i* zOXaE|AD637)21!eaHdO#R|zcbtz8wR-Cyr);j-E2eIf8;qyNLweoLL501nIXRu#8B z-SNV9XFl)Y8|-4OfL+^i%bSD!`BWr0!L}3!v{EXAS2)gc0><7&*&mYb%dqA_xub|mwB`0Whc@LUh zR{8|ZE_*?<%gXPd*=6P)FuSa50?jU`bn`q>`tA|_H7NhwAT+z|-2`Tr=MQI>jTSP| zb<(|pV0KxHFALL3)dkHitK0^&%dwr%?DF;3V0Kx$6U;6*%Xx#@<)_0!V0PI!JS%+p zT!$2xUFL0qW|za-!R&Gi#{!sLKG_atms`zKv!cjecgcg<;%P= z)9U^WT2Aj{6V)!YtAW|&?prxY+Sf)kvKsEtJ^-`J8;$qC>~bMAyUbFj)8WyblNp#| zV#A{i+?q7t)@TE_CK0$b3g9UIGj0Py&(4bDK?$xhylTL$i2!bmIB;u>fLl`u+?r?b z=OUi%O>cu@BldX}fm`DP+!}gt6dw+b;wylo_|I@$ubz0e_O%B^<(BZt1GmN&xHVYd z*31C6rV_X{&p6-udp1u92ZuG=@QVYt#ss)Ey}+$W1a6H2IEw%5f@PIwXnNJ0%tCwd+X~SGw}v0MHQKt>)`B{{cSM?b>jQe$2VHj|0SbJTT=<#8h7BQ$pmiAbKurA1Ggp$xHUI`TN4W0 z8Wp}Y^CsZd?BoEq<`r;j`hi=M58Rp$z^&N@ZVe58cFgTTBhB4>;MTkaZp|ccYg&O@ z6A#=PJ>b?f1GlCLxHY>)z^$u)(*xX^BH-5e0JlbE#DQ+F6u33Ez^%an zw+7Evyqc7E1;Ld6nt$6|5ngQU}v;eoJ8Mrn3wZN@G0k`HXaBCESTN4c28Y$q`Ac0$> zGV#@azX7;4LBOry2X2i4aBFITTN4W08dZ_uwPxVf>^IpS6onBAU?u5Fmn~(be{7{- zzwK@(`lw!r2~ZHgZe_D{Nq@=dP1YFQ2(nzRloGf#GYnPw;MN4uInZ+n0Jmnj-GQ}^ zAGkGf77pj?#5pV-X`eW9TZ)6D_&-)11*iFdTa#ApC^{{63GLLA=_Ji{QylB0d%{^k zQ4Ac#Z+Yvi$R&9--`OO_S;d_fxHUDxE?Qi?z^y3B5890jX{vI5~e|g&N?eu%#)|h<&Zp{ble76rhZng;@?CITY#N3_9EFrhXDcJp( zE1p$3Ud3TM3OQQG!Vf~xZf(x+t0qqMkXVoa~|x-;JFDD9Tones0P(sKmC_K4^@ zVB}o>Oz)`}6mAk__>N+&jM|)t+!rPXs-rwfks2E z46Iiiop~5V;kGs!7FW+t*GH(n?%y5a0_-pW2LCi6vdfqN+3j;qqcpf>D%HpSC64|V`jCRPhzN9`E+#Mv zOM7jb(JdqJ@eJb9GOae8T78?=ewo}10DMP(2{=>7MY0|>>i0U-3kDt^bf`NG2(Oa+ z8x#b03({I!1-A$Wkm8Yds*w<__+^X+We^0LNysZ~1*$*7WL`$#meG-8Xw(e1p9JQf zCdS?hgEOGYj>d$|Fhp!)5{`#_-ez2K#;A^AT%%}q>}j_^J=y^;7!{0Vr+$rx2#*da znW63yq&Tq0^R*9l=?f;jOxCMLi;D`aQi541QBdLR@rLEmTdh<^Ga>H?Lch*1X6b~e zt@srz`{~uAdv!dz5@{oPDXI$?YRFI4Bw`+udpO}m>LpSTRUq2&$mcTx+h7qt7&rmy zNi~bOj)~BzrxdWq^FalZO2T3d5hvf`d9@-IjUof{Lx>)QkuHPNJx`R^BCWGOi18Dj|%etqh(gzB+wt%wH_aWV~G zaB4y9%5hkR&-6+0VGejx_VLfj`>a>Q*=+cyr|$B6DVl?(uXyz9(N-8xUp;?54p3hS~pT~1Ke?7tWUv3RkQ4U{UjvLrw zru3&%$|Z%7M_AInmq6o8DPHqrv61Hm%ofbSNN)ERbQw_Zn9>p#<~^Z|f8<$!`dE}7 zT2xq61g4ftcZe-4Wq(8=)S`3{v`vC}e&l&ZxSNIW?-3Do z6cnSWx^QYCSWxCbUIR~2)yLB5(9+qW()oeX#of|n%Cc`f!L{E@&kB-98jy0^XK&r~ zC+#caWhx_(E+@KQPV%XoEUcX3e)-x>%o53EgD^7i?pbx8HWX`6R4xufs zU}vs8D_wc+e&vNvm0Yi~S$IP?LM!?ADg~LVgr%!4-mgLwRZjL*iWXN%4_3+URmn3~ zb9z-#CsiqYs#XlERxYl-HCXL@v-<9{Y8B~kTKB)*{q#+Hu=;og{yaA$EbN;BbIoJv zny2?`j`89%wtkCV`SyIU#$>O?l)3gTb3Ppk-sNXxA0HO*F`+4^OCL)xL+Uish<2kejZ0`)9g3&9@w;O_$=L!pNt4H^8-Cf!&U z*4R+oc&`{g-m4)csi9H2sq=nQH**yo9y@A~A?H)m@Ltm>b2HKX#+tAOOWx+`u;$s~ z<}#k|>f_(%nOjz+Th@7Ve0Z6&@3-s}x9knJT;{=NUv3POW*nMtA+c#CYiil@YFQ3z zrP*(V*)-9OHdgtz9J6Vo4{vMugim0DoV;Jh$kKjRrako*et%FYc}+NV=XIM-MV6`y-cr=zohtjCY9-|- z>^p8f=v24q(hl!hk?NAzZ@!z_Wx&$?xT)y=YZhUdZo}|yW1IYw_V^FH+u2y^U&{1Y zJm}HXtG$w{dHZ$Gr=cF(@Pre19erlqb`N@8ZF+g&btWY&&fdMC<@=5g|Ac&-Xig8x zrVkz7=|@fQ^M2pM@IKJ;m6yRknSmcZ#Ny4@pH$M%!G|APg74`K4{GYqelW1Yi=QTg z?~{VhRNnTcsn^97pIvYew0yzla$Wc!X!(N8<>vjtR+gc5oXk+?gCWrJ1)IzLB}1U) zJG?(M$};>zX87lW;Ypj}>G0v%lHvKG;l=&oWtNe)5`0D!{^_XtvXYC;n6ISyBYUa# z#yca~9DW4+cW@6zw-rXoWY1BQj%K|brI8h&W*rj~9y_7WamseAn{bSg-;sHE>^%J_ z`>;Km><=C;5FJV|MEp3P`GZ$q_B`&#Mf!1JTPH64ah0p%;=@jorQ`CJ?Y2o16O9+FQ|Sa#7HP8Pwo{3Zr*PJ+Y@ddwmR6?h7d5P8r@v}W zyV7twMoee!|MVKZ#cCm+ZagzVSV8r4xr^R^_ z)kWOm-OR;Re(n|hr5%eUEbIC8(xva8mvD=!cx=np+Lwq%v(eAL(WA1_ zX|mDgv(cQk@x6JYZgJxq&1NP4W|_)nvB_qE&t`7gW>)iN#^Pow%~lfsR=mnqtjSii z&sId*R%r7UdT}d|2J6R@-^kgA!j_q!@yi@7AYvp;3^IvJRy%?*=QTklF&3Q0CZhb~#KnyBIS0ZLnH(Aw z$D+!1PdjmH8te#V920@3}!kJXp$v3Klgnzom<9OISWXYuFw!gexI zZkIobprK`d`!RE!8LNc@e(ebTUy8nV2iVAiok%)l8v{3L7fqaFzU^$A2h_{SG{A55M6zx?$0Bf!(;3kOe!H%yxcywH2x|MZ32<^J=-+~r2! z0S_L02Oglsjnd@tQs;43<8@Twv$`o@azo(B6(JotVO8miN|KkZONd^P5K|BryDTQA zAR(?GA#p`g;);~iRT-JeR-rlzEHS5@`Fy?ame^Egd?1Kar*^FI^Cd`tevHt@Xx^(vv&@*=&c;1T=3wt+wH zzOKH0nd-~ds0;m{+Q5n-EX)!&x=uAC5`K8_{*hQ5pxo>kHSSy=_mTdi4IF*O&7Rea zcb&xdmgw&`aCgDiW6UPJPtOG2|J4S*fHZ&A>B^|At;0a&GfJh91{LnPx1GRZ@7BHuhXQa*2*BUfZD)9Aq}&?+Q1tH%5z6; z;L^T^xuZ6)-?s9hW;&l(bEKI{8UE5tHI#m7rhLCNQxk_@nrYF4Uz%w@$uG?`>_{`6 zPdiF1dX5qcs+6O|BJn7(U`{+5jj=vTEatx)jmF3wB^F`R*Bu(bXpDH)^jk0*GcWS# zXvX)+X$vqKlX~&Z4FPC0CcWkup4JU8D~qCG%4-8I&_*eZ5%pHnsa!XwD#~c z=@d6~nzVElI!(G0e|VY{b$FUoRmy6yc*`VV0h}f+MwdgUN!3pw_f{JT6QR?jwBv`T zN!<=llhPcXCZ(IU0jEjXMzG*CsjTJUY0~Z-=rk!QCv=+BZeSmrCbfHcc$!o^uY@Fdg*X5WL_z;TCdU@X)I)<0|muS0EM*25X!C8!NNeAot_ zgWAABM{VFKs11AOis15wI7-|D2 zL2clPe5eil7HR{ZpXyBj1x_l^20ot&wSh^X8Q(8yP#d_}1I+kdNQP#7g*^jnZpD?l zgEp}7;f!xA)CLxX+Q84FGoTq?1ZV?uMnE&Zg-{!K3JtY^Bd9Q7#+MJ8@m)Nc@fBDB zZD1OI&<36sk~-V!Sm_Z?a@#N;543@GDWEp68`K7V47Gu|oS-%^D>UP4WDB){+o3k_ z%ttja1FLvMi#8?t8-g~l0yN{xZ3?x47oj$AQi&;O1J8OvGrsO9&<2ik z1v9=$y-}bIY!Z;HPd#^|0FVkO`go+4cOqy5YkNauG#Ag+Q4T)VsQl|7LFjX*awNl97rs3L1MvM zdorun8?=ELL1G~S5{t(mu_ytF#Y>P_QB%!kzOuUT7_;x;Hh@Xb4t6!lh0iDte~ zoPV~Z+1K36k{x4H^<1+kqN6l-J~MTJMYm{R;iqW6Cg-Br!ScW)|BHeSo9h-?p&+r? z`Y_J-W(6b`6Ckl@1BpdCNG#ri#DWzh7GWTD7H9*rg2W;WBo^BU^EC65AhF;BiNzz3ShRq| zA`c`M5g@S$2Z_ZFGKT-%8IV|91Brz%NGt?EV(|ea7OWt#2nUJ9ZeT~+dp?j@JOGJB z1xPHAAh8ewiA4lREW$xzu^UP#U?~9-i+3QgSOJN}Qo)MPmdH;Iw&{A!h}KUfpLlyx zw3ETo7KR9Y-ObY?gp6g zt(TSC!Fca))cWo%M#k=pBc-q%b{NnCo}W)YuwE%USX;Hj%U9YKvrpo%C#mBHZQw{P zdn!dqO050FafjpL$~4*zS1cUp6C_ULI}Cxu0?h{!3-TC;bJ**k4U80Vi~&`2uLgn2|-)|&G?Qy^(?OwE)(}U z1KPl7VKC$SA=9f-o4XF{#R1yDy%##Qy-n=zs^8M* zfuGN80^fMA&(I5><$Sv(apd?tMTeo?m%te zpFjMBCDcJ1ctpWpJn;-@1D}59FAH}BGrs5D{jM50gBf2X@c`u+$6I{?Lf8N`B_|Du zKr!vWyNOOpn84Q^{`V35+S`F^*@2IZL_r%EYZhc^#AaL&^zvGe$;_qK48c=$K^9g# z=2pRrzQNYuKtW%yIWd^=y$IUC^G||Zw^bc6=$F}OFP)1n+vp`nw4a0;QXBI?34?}n z`xanUVlWZpQlJeS+K!2Zvw$|R+@+8tD|ljGNaadMhJ;p%L}=VJI(J(*6BBw%Gqkv# zt7tp40JMP%2kvuyQd<_u-ArV5x5h9Wimnb5{`okrX!lkUkWt79^7{f2mhFvKPyXFygLpMx` zJM898=&^r{N_xeM0l0x*XLmnuHJY)=cG>dsshNt( zLBDQ5zX?H`8Kcc5(eEhGANqr>l7c^42iqtI+c5?^%m#rO-yj!{AUEA01b2|NsTKVH{Ak=s9c$1kfsy zWETapr{AY9$!EaYXGqy+gwbbg)_c6rd&0weO4oaa+k0-uYoWnwDa32V*lSJFYlFgT ztKV}w$#d7*b6?r>fYB3w&V#VXgV@u9*@1-V>v_5cVRHa;gh;8GM4ma~0hnVV_*L-9 zc`^WVE)z5E3Sa+mV$T8Z=J8DU6AtlJTC?(yV^p4*tRkFbsI#v!ju|g!3VI41bHt+) zhFO*$6AR5^$;u)dWh3+@WiiWCxG5xhSOQl3eoSkW#N0mXCZ*svGv)7p*`Tg$l`Q733)#3$U1*yr6)cEJm zN1gl6&s&|_TMh1|2KP|qc2(hayv<{Gi`Pn-&q9&k_?qCu%R+Z#gl|iUT$i|XMO+lH z7fxa-;(rJ)F{0CQx6ys z&d8MNTl420FvU#Gb;E!^_kdlPF01$b^HtxFzpnc7Tl`i^t%GJx{(aTg9W@Lb#5sH1ajp-1Q1 z)_et8AV3qNZGH%7oR0ua&k>+me}4pMcDsMC`r=3ZTJ>d?fGLnYgaFMKmj!!5L(l^r zAbOWAI%v_euyN!4RO%M4!*Xe1Yea5~8awJ-%WFC2&dItu<{`F-t@e`R-~LH(LuGpc z-SN_DGVFuN;$(yyzhrI{(qw0*A;@QEHf1--dM=}uW^OLC$K+!|_6Sf)116h+Qpz?9 zDWzpeHz1`n>QE`Yd#IG2hC@o}!|_9<)O`?AN{_ojO6l&QQmQ(#11Y7Jhe~Nr7o?Pu z#zRW!=<7qJ6!x-C3Mi#qIfqJVEHyq*N+}?v^y#5eN?-z%(w~P)={BU4J{^IS(iKQ4 z?L1UUXCS3iYZy{WM-P?K&O@cN7g9>E4naz3E2NZGA1bA_kWzYe5K>CZAf+_>P$|vx z{_17OJHXIUSCb4WrOuF2S{n-~r6>AX*6M1*Af+?_QcCLrA*J*j@OCIGH&9ByKUn}uDN(n8 zlTzb->MV3!K$nnzedAq7DZO~8l&V5XX*Q&kHYq|%X=C?=DkYUWK0qn8n2-QUsZJVD zO0y>*rSw5Fq?E2t0Hsv*(IQYvFHHiaRP7l}b`;sW$;)&NYDWA(Db1OLl+xEKKq=jr zye871ZuUMlhJB$^?257mg*Q-2ZCaHy8#IVhfl@kjsFdzDX2*$pw?Ini$~;g?Q+uuh zrF4!uCqc2RP1V1lbDB3NQH`ZrJx00fxC~HASw^+88oDSTrSx4BP)fTyA*J+ulTJrN zcS}l6s%dzm-nep4{_C7HOTL!-Ym7Z5t2wE*`!96~d3rOC=Vm;T;eA|`)cfsu&R3sQ z?x!3~UG*Bdi9sc=G(?j7KEKV)y1dV8_>sH6Z8AGME){O9$<)!6nfoQp2KQR|3D1CE zdv5NT5@NM`lcHu)alUaq`shsb# zm|7Oz=7kUMn@Cpi48QfuD;|>;ur5j*-gur>vY2||(>PPpc6%OXv*eBNTJp%_)x5Hb zJpucV@KOA!%yN>n^Nw`P--$)?18HncxjA^pG&J%nql*Pyr4q-eUu0IXrk!)Y!d!pM zKi~I)tl3%3lphM2`QIEq33=^ujWbMrtr1P*@G)nuWm(Jjmc^MdI`RG#K3-7wNLtvh zDBt1e{~ zxR}_QQ;hRY9d9paK2t0bA(b#C^CF|gHh1&^;e)=*bc|W9vg^<3QVm;#3)`Y?F2*YH z%qT_Xwg=tiixU~@zirN#8-ZJYb%oD(z^|~gK;}}CRr2hegWRsPQ~W7U9t`SqFc##N zZoD;5eL1yS*weOuDI<|*{?Ws{-kNUyO#h*wXCh3+&9ZCXN|!m8!X)Fq(2c&$MXHU+)j{xnuUN! z$;=~L$>0TwD}KvN6D2?Xr^1QV@fyFKg!H+*X;Cps&3}qV_Y;xW)H1J z7?vKCu)Y-dG*4WHm64KN-B;Y3xT3nqgdy@3dXn!k~biS6dm*&r1&X=)=LjT*?9Nh0@Mxd*zGvM23=h zmiDCn_7vI@B)#?#RrWBfz;SVhT@8m*XaRb(!&asPv$y~&)*)`){w$Zo8Ewb;w~kzf zD&~2P5@QfPI6*S7r87%EuF3fJ4w1*NcTG3+;WniwonjvR=?+bUGbeF+WB6d z^R0w;Dp=%oz0R+C zUDdFzrs6Jd#og{|yS+!dSfbtT=evEvy4Ygf9@D!!YP&jv9MzQ+;vG&;UGNAOk7F&6k< zZ}(+YI>*l7ry%TiE>Y{Wl^;9Wk6Xg=M4w;46P%x5fef#N|J+%BQ8 zYTN(rgueou|FTZN*|!0T@ zE7;kJ$H@w9{S57aK(zOw^{atEiU0y>G!`9%5kp`w3LAc5@Ed{Km?U@1=WWqYosd4W zkOYiebU{d#Vn~{iXc9wchfrwtj8>{u=&1=zA%l29UuY#Zv|Pt4Ln7?XlhB$z`C?3% zm{V9|0aNpKSi!OI_QX5ib;1R&g!kg$mn#dxxjMp!w>kS6A~J*`e!}mLT19+#95GwK zINulXJTPJzj$D<9+|Z8PL?E%4$ld(Ny%{8KI})EEia;4fq#H$Q6-AbW>M4jq#YE9a zo?l{!4ikz#!F>;A9nFl1X58^*?vFmZ9nG%mcUJNq5k}C&snZ$2HEx)sx59z~ifw;>(TV zOAzseiSc>$@nAmjD|td1=m94yB_tRnd_g39PE3fbPY9byz>p^f!4v(J5>ZBp-iSnx z#6-9HMCX}A2l6Cac+y9uBuk^DcZj67iAitjlU~gv8IdPHhbKQ#N;WV`et<~UO-#O5 zpR6^LtWKVy0#CWAl%i;qat)E9keDJ@pCUbzB0-)i3QrYLN)nNl4$SOJAQ(Um?p_ zxYagB!pI}?@-ZH` z)n*LK6skH;0xt2dd?n(d6uGr}0zWfTpy;p)Y)Z=P`}NYU5cA8!DzG|<^gtGa`56+_ z8A2h_GlJRIUS`udWfKydeAjwRogjz4ii63QRcj!dFPX$-Ia_;IpvHl@p(00Ji1fuW z{Xeey0zi{Y=iA2cK`_heuRUP*(0ot@j($Y?(w;52K> zm+*Zc3B89hN56niz~}zDq5(P=eYG$8+!6Zg6ZE+w=&kkt>v?GkAk=u>Rk__%;78B( zHvH&0--bKg;&!;nZKup_qr`1@18#qf%UPb&O@`A$oYU(fCsN=7iuVGF`vMYv!5hwr z;N*0@!0E`zX%FZ6zymksg+CSK(G}*?6yZ}A=DQ-mFT=|x$;~GU7Z5owAjlyka8{U? z{UV(05+|G3c~*&YtWq2-GOR3Dm|1TzuxQb<>e915WMF&Dc-D~VycyGl_so3Ote2cP zWIfqr&}>&@*i@3)v@_TqWU)QTXMI`B`nHVqV->4YEsJ|Si`RE%WD}ErGh=WoeQ5jX zu#QvV9Va3>>7u$$M0K5v>N*wGMIYJ46xnqqvJ)QJB^=o$8QFC?vh!MGr*cGxYDBww zM4M)K>z(kHdtptwp^Xnh8VoSCPlBso1eO~HmKg<Za4JdpUm}eD~ZG+CS3(9at zr+H!$d_!V_F`=Po|L6eMc$8JL_nUOjCs`g3@;tN)JvEBF)JuG{D*Sb8F#7dj_rFKz zHAdfWiPdjQc+#F^)ShC}k@l`D)3!Iyy{8b_SsdJ17SUDtrK>8r<6A~YZBBb#L3>?E zYkg%)LoHb8ZEWgjXzH$O>aA+-FKZsmYZ^&w9FJ+33ag(%*Utqt%ww9CBHC6ycdaJ$ zt!50Z<&LfA|JW$}xl#Ocqx9!S`NT%m#Cpxd`uEB8)~WT*>9zjp)sdOipR+4dvn$hc zD>HK|v-2x+i>nLEYYVIE^Q#+kYa6p`8w+b2%YQ2D{;9kRio8clzRS><@9O;O>g?*u z;h698*y_^I%6#9-Lg&hK^U6fs%2@g8VE$@f=4yBPYFFxNN8)N{(&0;9?M#6_>B;!7 zDzG2|#m09F^^a9xa_RpLw|U`ec+8m$5^IiG{o5+A9vNci1o@pqv4+Q2p6G94P4lVi z(>RgOre{3auZJl9XWT|M6ybM9UfzQFc$Z>T!N1@(auG_XiFZ6@@(QITyIafS-y>Da z4$th*jg0gwQu_E(Tl7$dth^X?AiIz->PRIzJ?aFzP9J&vK&G`){;FVggfsJ>xy@&z z>!w6Q4_d>ge|QT1alh>#?8TUzlD6xgtH9Ah(Sw9n$-b(=6n~xBp9s``ObVQxy$m&b zo!?bp%w?Ld>XdxETI_$^Z<~6r{OW|lpYFFE2v!`s;(TQ+fe{mb+FK&Z6;x<#8`AZ~ND z8{#&+5VyJ73~`$m&8HBzp@O*0tp^ad2|MIAMopQZ z3fwCkqtv7Zaht}&DzGxdZJr)hfiFW<;PnoO+eoGYZgcgp3LGr+|G{mZ-#FgTs@Iei z4ZGHJnM1ivMFw!2lWl<8w9!CSU>m3ktU(NMn~B3J@GevZ4urT($0o#Wh#_tR0t&!w zz#28+HZxR!+fX+{Rp4QW+br~`0&Wv^8*m%GHce0k?s^5d&Fz6ZpbG5k1Gvql8NhAs z2BraS^KJ%k8*u3!aGRW&2Wt)Y!WVPW?Kfr=2ygc8e9Fmq0Ju#S;5K&wxA6wtW}vfP zLlojR>VVrs0d6A$xQ#jBHr;^Rcmr-T(B73PddO{*0JlK_Zo>k&jR@d2cLBHY2Ha+# zb?mqp#BDAEZetI)&Hg8Ti#5P)x&gQG2Ha+#dEu=X#BC%1w=o6WW(aVbEWmB<0&e3C zxXnQ0cDoqFZG-@~F#z1A1aKR3z-@W}xA6hoX0U-+L>%HaaKLTU0JjMT+(ra&n|pxU z_yBG*Sa-}{9O5=-0Jo6`+{OlQn>D~~dH}ca0o-P=hGk70;x-I`+Xw<~^8j$0EWmB< z0dC_1xXoZSTvGz#Hpc+BVF%ns25=j5z-@W}xAB3v&0yuFED4C)kOOW51KfrMa2pZ8 zZSDbX6Tu!uxLOMVq!wTXXd#JH^3e0!=1 zM@Z4o{8O>wA?%_RGH-ZORG@S%eAs3!v;=UQkAT~3A1@x=kP)w3NnUnY${VBE5~${2 z9Ytt{l>=_$0Jse?;5O6{w>bm2jVj18(CFxD6a|n>&Ep zd7fbF0GX;y~at6j`3nES_+n3^F)5oMNWMaiD>b$ z+XGc#tIL|Dt1hL|lgCoGn*^*gB5J=BUrDcR_LsGfkt=D@NVk>?DcuOMm6?~K-sy|+ z+sHi~J8#Y=H@H^%3~-w>9|S(#r7Odxr^&1eG3-t7tYVvKAFjn5e4Wu8@og*Lz-`Ec&g473?{wrhl;Ea!>J@gnXvhb+O}n3yBpDyzHVK4I@@R26ap!ss=j(<- z3TS8DZ0B28F-5F1?y8+e{s+KqYyr2Sw*=hA8E_j*OTcYB0JrJ2d~WHA3U)OXw*uS- zoY^-;TLEqpcF*lS){5EJ?IGYcT&{rIJOkXu{gB(dv~+i$cJ;`2H|urxQFH^a?a+{PVn8$T=}N*nQ6+yjlpi<_2LM|%{HJEs_4OvZW)|MbYzwzkyv90%OS zP&zx`Qzpi<#$mMLrfhqLNNfUlmNhDRQZcM>+k zxP?ZJI1u}=lgrvOa=;nZ#AzZ8aJ~y%TyBDtLCdTq27an-ektmHG<_@#^}f7H$nX{7 z0u+VXTg2EjgT%H!VTFJ4nEyx{aWi{BJbqw)en7YoQUwmv#xQEkusqG6zH7wz5bo($ zLzdkdcmN|Qgi(*%)2zXeY7WFj@|0onFwIuVm)j?te44RZ>0#$rs zw^k}wCF*3;GipM_9`cl}f;3C=;20|<#c1FK36k$9>S^$0$WIeub3woKYD zNV91aIb}ehhEKfL8-9TD9cQPN%m}Lxq}kCSF3F(YvWi^BBlwQ-H&deCOr$xved2sU z)OZvPW)zc%7rkXgW2FRpXn-;^LT^t;p6W-X6;N&!> z8uDZmJN~$5QPflN6a*OJlJc0{0%A85)i{bm?+RY)ir@HhyoLc;uo7)GBA!GdSX7d1 zAS&LXE#wY6)to)WX<_1Z37TkF%(y&dzX5HaJo#xqlKv=~aCVelD@u<8m2XXxC4rWJ z(+ac0T&xoig$Xih#6+fXi)!Tlj3>4668GdoF|$-xcW8q=5H=!7Wr zV|glu!qlgVaViuf&GJYkIP9?`>~RJ)qa>^(iY8Bx=CdHo!UIJRP22#79fwB|n8kU` zGNf(?F!YlX;iuL%#E)lW5VVnwo6_{RR1kz3rj z3`>f{N0PAk*(7qkuQC)T#|s&@LeedSkcEt2$46=Cc4;N%Fw1Hg#08ng(`h@5*)$Cq zSZunJ1l3A8*?>LmkX4*E4}%dbn~pMmMKC+8EhAzkmOv;-IyC;HGE7S+h&lOlXmo~{ z6!Ot-?l>L=kvdBHBdOWWiBAJa1D;&nLf@atryq_|otW`^CJ8evO1<_y)l&*~d?s_j z+P5Fy7asa`gPY-aL5`aqEipU;!;_<`PK>}K&&^09z)wdjk#iO?Jf$pnzDw&Z72iLa zdti!`4*e`iep0WMtSHL&K4U?FCo)|U#!#OXz8gCrNXt`SxHMWQeltH*C~FEAMZs3& zU#(X}u#&GfLz48-^_E_7$sEH2o{Z6(6njcZ#76N%zQjJJ7|Oz;XRvfP222KJUWR1R zU{P$d5;Y!k`PlcO2L;5%c)^sC#aWcZ;R9zaC}`=VkP?jLcwym`dS#mhG+3Ur&LRdq zL8>hPNE`eIZ-NqVQDafj6XSwDeBZA{4E06PrKt25Nk|Ki3<7+z-~yU-HS)`9l}-$0 zSSyP3o8@NHT@GGxi@AKW zH8EbInsYbbuPt;-iMH=%rBY)BMOfwhtjoBbU)Fa9%uR|d_lzg?i8x&;m_97M$~xDq z7>zWJjD1<%|GmtOsx)6JcPBI@Zn;o9tX5VxavBvr9!0Tc9kh$7!}XVN4lA4m)?8!3%fJ&4)E8k$qe?r)#4 zv~Si4^RK;mdds*a@^Y&nMX3T0qgH*^ByX+DcYpmT-)@AgYsSD*PU0C z8GE#!q$mdr8V~SNO(=++OflQmF`Mj|gXJbYrjy5YTDfk)&fkjn?N6Mu%JTZuBFY2P zXie(41v}1=Wl>Si&_Iq$B=%Q}ErE3k>qY5(Y_sHHc)Cn8@aZclLxo~v!|@WDKwcOd zbGB-6)z<=%{HK5p-J%W)lAvibE#e6O79tZ;p+spn8^T`P7v|lg zE8VxE))yS!%6=<6SB*BD8+LcuZ>g06Wly=uP-AA(T!jm*h+ z%?vMrzg30-D{11g@>r}+8`o9p^+S8~J7}ZG)L9!hiG%TXii>Fol6NMdK zELtaI8UB4totVw&TZRz$Nq%kbghmE2N|2l=qo8zv%ug*NW~IniJ~568iA($;=QFN1 z6rd-V7%)o4s8nzuIDW}?oL*&IR6m`chMbq5L6+uc@=7be{?GRbf!iy!JVqk~L#$E7 z*<3iDn;!LscmvD6lYOrd79BZ@<>QYGP`V4OxVO#C7P4X#GQMB&$ekl7H>^@u+NP}c zr_8hB&f$ia$k|HesnODIkDJ+)N-r@L`BZ04hAj#P<7QgNXFf*=M(fWiT$@dZu>&YdQk%htEgwVfkF&lQ&1XARGNHlHnLJy$6^FQ+kIW6Mz&F`r#I*Er1o z9XBt0e4*XsPMQ9K#?Sd)6aLQ91xfRT;bHM1)?L z`NijDmtY!8n~Ut&h$X7brM4Wj2;uBkNTw>uTv*@^TwdXE*LH zF=0~ z-m-pk*=l6VxpK=M$>=DDjZ??Ew#eH>V(lEUUTlm$pl^F@+fP-{^WpY8g>5w3pR<46K-jvrAyJ=U}6+Wn&<6W9ZGsh}^~) z?Z)`X`b7Hrl->G_>iQhp`ohxMQrX%Ha&7J5+J?Z|*1_s_%j$0A>i(NmycPM;a=ZU@ z^A}WsCvSyZ;-fids5zw)A!CChV*G0rnC-`jX{}kUq&unl-$L%p-A#K?VoMx)Y}P5` zSyRNd(7Ow|xvz&xUFIxa-7kE%F#Ij_-jaT)&Av+5?!9G$N*8Lj>tWho$I3lfk+}Yzmiivt=^2nC(h^SR1kb`R&3`i5)4MzUYUQiKfUKk)?uG z8w*2aZftTqAGbFaMrtER&fDzo?;nr~mOEqVGUN$qufn7W=$>X=CS_ZHeVL3iHba3@ z#(!CXTI^@Wl``RV!K=q^oLk|6-MlJv?c}`^vsX_&bQZeKaPzI%b*4AfLbWc&onLRT z*3z5#k4a;ExnaVurPkoem^L}Q2@6TQrz9m#kM14!R z<*G>2w??h3+hQZtp0~xPVsTl`nLo2dRAsgTUP{Uy5M5NuSU!=hc7^s1xP5o}S+@Gu zJ&TJPN}RWq)RhIkolw6iGLfw*Bero-OTCNeotCERM5dP3y=Q?+cl2B?-DP_im~&U} zQS8Ru2Omxf-P5-t4pMmNbUs&`(Cw0_&a+Tw3!N8{e8+SQ?|L4($-M7-5nu9t;7zT}hoKKsB_D?M$aK%1bu_$eFoL`xYc&!4qSR_C(oNQS zCO*E@y5ckr9c_>IPm1wAI%42?Ym0i_yNJ*d`nS(rQ}F-xry=03A>gJC9>1#^pNlH5 ziwdvvZ61&nI^Kl;!*jR^|F5SEw?BM#%5d;(l;GBi+?I+wZ?E&dzQ*_B3jafS!MoBz zDw4vA;v!eXF3F3E0>xVTl9-Grc;d3)iAl(bOUg@1D@e;;m6gA7`HJ$j8>-4THC5HL zweINa-GBb{>Fbv--&vSjSy|cI+S=LK+1uMYI5;>uf^N|Nc-MXX{rv+21A~L$#LCeB zN$*+_M$I62CxPpJT}E`38;nCaO!4dIZyxxJhJ$rqV``D?S3H=NGGpugxipjR*JpnD z9xV8zAxtSNt|?U9e0H!tE50RC-id-mIXj^(Mo5$E*b~>Nj(CC|=K{r?q^@M`)aO?l za{k#&HqzjS{JX;Ex4MhKOm-kW`?rCAoXLKH7BfFcRZ3X)#9TuEr!(0l7pNJ|F=>`N z6uORKE>*?+i~S|4+6f{~9xB4{zwIyCZ7>Qle!=ULf3IHgxBaEH{djeH!b|aLAOB&0 zDK_=1@BM>Y*S<0Qd4DMZ-1EJJ=lV3zEPou#WE=hTRlJb+(=Yr?Pq~~SSLX?Tt-D4b zzk8lI5!B-w?aT1=Row*oX^_z*#xTz6DI+5S-xY0K1D^`B=r)=PA584EKOR7in2NL~ z;ReNc3dT_dm*4rFH`AG&-}#;E=|qL!`5m`WsD{x0V(-nPq3-`aex@>NL;Sh)Wbt!VOFlRf`ilU)_RdK&RBF=xG``jK)D8a|GwW99S%Rv zNWI@B|GwYJoZn0JFU3qD{w1po|59Ny)xRW1z27BJ?{^v0`(5!Xs(Zphpih*%>b;z`s=boa$e~QTE|G`}!rE=F92zMPy<*pME?wXH!zl%n=>t|H%nuu`M zN2%O(5W-#OQMqehgu6aLz2CVb_q#SKckPI9*SDzLwH?A;f1`5OcMwTv}YTsk_0e5``;jSC>ko(=&UNM;Rb-oJsI~VHxF4XE@a@V5B{VuOv z4!CPkWXiXkI^}zq1-R?i ze<>0COH7D=DFysX`ru!R2mg{9_?H~Pzci4S8=VOLB__nblnDMMZSXIJfPd*A;$M;n z|I$tHFC~J1i3#y9#esk6IQW;If`5qy{7cIzpN0l>kX1Bbo&MC1%9Gga!W+ z3j9lw;9t59{-t8@FPVaWDGB^b%!q%)^NFiHv+Whu7MY$?WjA(R_N`KRq=ikN9FQpOQaK}&r?@g{@iU{leNTK| z?p3{e_N9+LuNANricI_XlzvK6lr0Iqo7nF$)#4BlGDtg59Nk z-@nRM@$=7mT%POOW^?D|t`9}tQda`#pE$_x6P_aAHK$s7j5GV7=h_S0`E3uWPo>&u^AM8B=?EFawr z{v{^xFYy+Q>0T3WOPKzWVxasA{7c^8Ut$9P5(@lFir`=JESfYsAkp1wJ&>QP{096> z0fVB89IfTkk`;=d@1`x54;Ib1^+|l8of&+&OQps~RSCZ1%}Wa;1U+RDd-;_n&Pq$W*ghPzr-J`_|cN7-lo zR9vW7bXrrM{VDvbpLQksZMecb;oA2hsRI)qo~*Seh`DAORIc2pRQXZ6ma#e&Q~vYw zB}Mp{|6`7DV0u_}{ZnhETWN0Ps^b&YU(2HF%j@N9KRA@u7OpL=E*zKx|55;l`{q#x z@Gs#XyVGkrf`2I-{7cD>;9rUY{}R0u_?HsEzhv$N{-qS~FV#4Ke<>6EO9IZ|U&;sn zlAkm9mrB9EH0ligrI+Ae(sTj;(z`-76*+hCFKv_aIze&={}MCFOMA&3{7XBRyv`YV zfPab8(EDPM2l$uvgMW$hDfpN8z`x}16#PqQ@Go^f1^<#b_?P57!M`K}{w0zp_?MKx zzqI6uYW9_2f8g$*_(s<6d%NeFkATWkl3!kqU!Z^x_?NPF`iIn@Lk$5f^(XnE!N1gg z-Y?q0){hg@((3cra3W4|m(Hp$@> zF5!kd?b}H>-x}Y^PNjh*+^wBK^P^`+4TJR5gO*5#!N0WmA^4Y0(QpN8wFYf5lA?7C zb_xwQg9LZrdJB+rX3 z4v}aH5nWzW=Hnt%c;SyO2g*1ST1IgS3<~01g#FS4H3msl`Oy9Pp&Ekv$H}2VxuItS zwRD$5**!z`E%fz_!iW#T47xMf9Z2xxQmvU&2soG_?J=;|5CI)$uC74{7a+9Nw_fsEEjqFe0Zp% zRInrY6P`@*S0!|jr*DyC$0Q@czx17)Q!WuJa>zHRJLAJyQ5kO_?L`| zqdwJ!H7-XLK8+ekLBS}m#jfa4E}@a)=)~seX?euIWR@8HjqDHprASiD%Ci6Gu9%;a zF*GGyn-ya5da>KaFRqhg-D_i*Q}w{V6#g`JCz=)fOC0Dpu9aBsy4Zb`*aMcahZJIY z8DkH3$MC1d2s*_GX~&45V#LOyB}$^DFwxS+(X!}h`IRWex+rBzl&WRaF@-2~#;B9s zk*884wVWbPYe(v!BF~OT=#@kmU?MIUBMWXuE0oK1l&ciVHA~731&S#n<#spuPAb{L ziF{X^Y=t7*jFaw{knAy}hsLDGXp-YfxN}{&D<%AiWw?hz_?jnUxOX?vHEG34-w*y5n(V7=z*=v+8N20z&>zM44NbOUF@GHUnK-V0>0Amhl!b@6B;$AC zsJFhvfB3xg#Q*ocb7EfS#K2AMc~%rw1wC|x-OmU;IgNJH7W|hFqL@FQiMCj{kEv^&)X>#Ft*?9bqQUvA#+Ps1G`(wKX>Vuu`0-;G7Z+Do*Z&J@ z+S=Mae*DcQvst-L{<&ay{v!Wd4bv@tH~w5O zGz&7jx5bBp3H#@Qp+*tg&d@gy)Hn>Mz=9#;Yc_RPYEZMsGTHA*k|QF@MivZB!Ufpz zRM6TiRqzhMnkvdhqa&mK0IdW60b0BM0b1X+`9qYQcI!82eb@50bBXZ}=hB7W&ZYE# z-_E7W*NcXe5K*?JuXX7xBFfJH?Od8M+i)%w_SjTy;kcKTPkSJ3_7(Fw#kQLDl(0nV zj)9F(Qhmm2K~8U`0xZG%C`FJf}z~Tg5h)Of?+gu z!Eosnb;0l_b-|E{x?q?=T`-j2STKA`T`(M^E*NG|7Ys`_77T-^3x=nu3x+0tT`<(A zE*R2L7Yq+j7YvpC{+$KGwa3&2!;jPjLt5&Bp$&DxP<3O$P+()hkZ)tbFzJ6_!H~DT z3Kk4iu*ia8OA{;@t^~q@;a~%@U|4}H81hmV4Be0gL%z4jf}sYoVEF76D=ZjpLlz95 zRUiw7ACLt@zEWhtkccc8CKe(Kh9=Yn!@P4Tbr+8Wz=C077P4SCjX@R+(~$+k3hIL4 zn>_;WZ|-C!y*)FW6buW7#?%GF1Z2SwMO`qAMHUR729iEAj}#Qaf?*D_V0eeRU})zb zH63^-^b0H)?(vWQvG$(7z6ur$>ll#*!*5H1O;4j4V`0J2j};aS?fhWDaMTl7FhnB@ zhNH#wuwb~85f%)`T#yCB5@f;9!U0(@l*A^8Vg=`r1;a=Fi82ji_O`HKxaI>3hN;%b zf?<0=l7@~Y)(;j8H?txOh5;n>$5adpEEtZf!(WjZy3_^3lgNUhbsn#oj*wS!>c#Aw z{B#pnp)2|5j$-5dj7MQ;lZElN^7#uXZmTc!XoU>ppdhaTp!Gult-JHGabbeDcqdwF z^)Dt8%hR-^UKrs4wB8S(wKRa%#sFG}30N9TG=0pu7zYLU^kb$%mpuTqUMmx^{+`m) z+nrlj5yo%pIq{)?=cTB(${F&67gz2BXbqp#ALIjQZ497w*pWxM6Yr<&E|EX4W=K>E zncM)-x&lD!hX7i4=af%}9d;R;uXGe3_xo)0Ik0#_p|h5!?-4|pZermHi9Ach)On>LE23T0If{`w9W_6 z`Z9plL>`>|&YtVT(XC?o7Cn(;X9iFwBE%h6g`$YqTH9?=+-V2OWWH4 z1^Fx}$X|zod^Hs0{h=Vw1qFFkD996qlccV8K|wwj3i4)9kZ**7d>jE7oZ?N<|`<#(Ao_^>vaIF zH$g$30SfX5pdf!q{59`q0Im1F0?^tEKx-xdt+^1;S{^{_CjeS=KtbMQ01EPN0JO#c zXw3njwFH3H764lJ0chO;p!H_}t@qUcXdMioH7|hHS^!#;0kl>H&^jDIYm*@;$kzjC zO$5+d3_$A}09w}qXdMHf^(CoKgP#Gk-uD4O>qr2t6#=w%)DZeYa2$D=00ntjD9EqB zfr9*#fG1@gJYvfdP>|;?QyT6)wcMbdz7YKwHL9MO*GzE3QdE_f&ty8qWmkN+IioyT zytvXellG$^CSlUvM)}i%idn__>b}Qfzjp7eTzbz01^Gw6hAOj`KOBgjPf*PnGguF5 zs&t!4gMvH`3i6)sRhDc7*5(?ge-4KOXuSgp@-a66wC1T7TW@<)xwf@bb?t!G`f8Bw z`r3#X4W~Py?a7uRd0Gee#SnK!2d!?P9-xb!o`!<_=mRLo>p?+Y^C5uNm!Ke@{18Cvt5A@qe*^`2Qz*!r zKZ1h11r+3K9zj9g1`6^52x$EfKx@Cp09rc(Xg&HEKx>b8Y_~=|0kl2_1$j-RAb$!9 z^2uHRTI)bTo*pU48vtl+juhmL0JN_0Mhf!R0JIiBKDBB7H>7`nqAY01u}OPG(jm>f=Yo?$?YT|iOMnT(5*i?&Jt);#7iye1JZ--9e|3gze|Ye)3c7T*8(NVh0@D zdJJ*C4{)QM;{8Q9rxx6_A5xHi1O<6b^teONa(K{6&6BU4LF?~=XawD%Ais4fXq&(L zR`TzHJpFPo8x-WVJfI-Y(dox2sQ9A@Kl1>;pDenME5rZ_^73a7I))713_*|a33r7o zhC)HUOGHeba9p1tQ+$@4OmOxjD0T6IcIotC!tq-96Govg9)xO+2_GvC6^DX6gQzxF zSk30J^IAL?9m6DZ3C1Z723=tRS&k8C(})tS zePvw{Epri74EtWmM}E+Ye9N`Bh8(H-kn(<65eo92Igu^J+-*it#rL5g@5tR<9Ca!z z;K|V1%=9lAz@5?bX zgE5;KQBaVNz8_0pCpcdmdp$mOJB5oC754xN@{GIpIK^$j$DzjgS-Rs6LqQ%BvPmJH zOAvF!SQ0ApLaA{gPH|$|aT2IFsqt9pl2}VF~3ihT>>UaYj>ISIAH5$Q~5(nx`e%TY>D$NcQh01*DR& zPNX1hn7t$s#>2x(!oxA)WaID%ba>PXF{X|fMLt-o#)#9rS(b_}h8b8!*{ zw=Nf${jp%UQILln!-%(;^j}hYc z7324k;dfUPa6KX5dP=}m^Y?Sn6xevqngULm0uazV)DW~kA!x0Rwmc?$M^*T?l8~vi zz%@~RV*vsELjpSc1-191HTDZ1+b5#5S5zJ)Ce0}>$tfYuDJ6tb;Nw1aXrC50@5Md* zH`zsPc1k_oCHI6~#b?h6EQdA$b&j&nDDJ?G4GkJh9ckq4W>KW+m6yWWK@p1R}ed_1y?d#|3fP|{ z+vLK_5f$enU+G4_gJ%#^b3MNHZd{E+>>H1$DqnI@U|24Jm>o&VOpMA%kIyJgepZtm z-&P#=?BJW(q57HO zhMD2!>7kaHk+zx9_Sx~y*~#v?=}&Vrz4No5=jXo6&kfAa56#by%+F8E&qICvpPbYi z75BM?@4w&tx7j&(3)4`HpIMlkM&88q!ua&U==8$y^upJfh5o69-id{t@rBN@1*q0H zk1l)|U8oybcsIK6W@O>@F!HLu&Q}l4R`<_TeV(f59xv}4D{UJtZ5b?T8Z2n~n%^{( z*);m1X(Fj^D!-G`Gwf=eNPr7?b19%b~}peRxu^Nh)>6P!L0QLyuF{ z*v@g$Aeu-k7*DlcOQ}Flq~*0+P9&hdJ5FSj{TLT|p1p>i%zC}Y`A*i`BQGX%-XHhB zm)oQvG?jN)<@8j3r`Zb;_jc=vslqQlcdx=fNA6A+kABdwE}1Ntm@Xx!GtHEJYrhM> z)9{O#iiUyunMxYED=#)g6VV%@iNNFy(S-GeXhJD*Lo^|~A(|+Q+Yn7`*$_>nMb}Fr zF-=P|HKqxS*obMKTjft*YiQzGBnV&qw*KN{Xi|E{+8YB`7|_^0$b zZ-qB3becU+m#H_;gdM~Eg)EDo9w-Vw2A+mxcCFWGaZ0v~%F_&N(_QNKGq~$85GZRs zIe-fK0Us+`s1^&SjCUMSev!wuSQ58z9Y%)=j^-6?w|7= zHc!mI^<}QF?S0w^KY@F7);4RZt+Hgf(+Bo#+Et_WO(e^MmAMbp*vBSyfTwZ!jP&8Z zB5Leky+|Lv2jOX4dXYYSE7FIb{Dk!3>ybYEy-!FV{uPy{ne0LO@Fhqe{z?zhhtEO! z@NL~lA3g=)Y1kvyb86naz6yQ#*Il5-eoI37@aMab9YZ|A)3kLWJBI!UPjjmi*)e>I z@HAgLkR3xOgr|AXf$SLCBRtKP4rIsh9>UXvwj+J`+Xzp?*N*HMno!l)oqIry?HL6; z&H0ar8e0$HX|}YZVaM=MFZAK}_KHFuUTZt_;q$)2j^P;{QQ&F5eMQvRdb+^V937Gd zp5_8EGvdqMb}`s76hiv&fh|ZMo)_uEGq=EwVPmir!qePqQv#mmTrco6Cwmb!w$c=+ zvGbc?$FPYWQDaLt!H!`w4Z_nzH6lBPi}!%1(P@M}e9Jc$;Az4}kR3y3x7G>3qvQ3RgG40xJ!0dsZk=H`%sxFlt(;|4Ffp8`*_ z3E^pe3ifmj=N1&C^IO|DR>HfvICx`UrE%i6nGjl;Azs2JV@Yf7}GB# zx0hQ>=Dz5?2|Ue9;AxzJry0&E8%{s$)XH7|J*O~i+SLXX8}m;q0d z&gV|Mw|3L6BK$TLTb^BMUycJ$;{iO)Pl0}hk?dD{GI)KY_P%4WFT(C$vqh;34@d$} za|3vqQs8Os08f*_6KJ~k4OeTCzf8sbo%U&iJiyZ&1D?hic$$%{8jXxYA%wlvhoy?W zb=~Y36NHC$0#9=Ycp63EY3=||lW~w#z4xUAq1eMr#eQvbYufN;;Au7iPqWTHB0rP) z;Zenb=!Gklz|(kKTa`Ku`PL7%lBVsz(`W%t6O`GEBgV$_Ht1;@P@I9M*~*`8fdQVT z6?htH;Ay1Jw8t*C< z8AWXRy^p}thyqVjyF6*(3p@=mE-$x1=bk;cJ@7Ovg(B9Lz|-J?r+ElGjg&#}w8mcG zX{sN!Mvwp>=>wkT5b!i*z|+hfnf2fXp62=Om%G*qfT!`Ne(`W%t z^8|RB@Oa>9K4=9KA}xWZ*?lU*P8)cd)4;As+or@1CIECv72 zvRC;4JWUkvG>X8}H~~-d6L=chlHrUF`AO5hg|629qXm_#P4=123GfG^wXQr%7X8() zTE6tZg{SE_bi~gMc$x{|X-3_ErgE~BtHS3X0^jpg&yH)Xo06OM|c_r z;Av_Qo@NK|Gy(`uvm1CCKZK{@2A*cr19+N4z|&|VJPm&huX&Ld@HD!>({OqNPjeo4 z8V7ISX^erV>GXE#^u501>n`W>RL;)~Vj3Tk&yHX}=OVwrQD5L`JUIPBH2r|5@pbSg zCHqB~`$w6pN-p|`?!?3k2tG5!th6~LbIO2d0@H%YSP}=(1ka_XdC67<4gnD$nxGdb z>kM$452!Lfmn#=|21FC){57P&bc4Y6nn&xG0(TDv5~S#2-05|5P_75J*R#@$^zUd? zV4M7UbXf9F}l_3J80Bc?Y=Nrjj>0# zhaH^XVW+j-(umRGT=0)`jO(o6vSh9frd@X@te>M>RSSPqyER&i)#e<-x2o{>O-%IS ztar#n(^_y@uxF+abC!ws<-;F3hC3FAyDo>f9S%(mVQ9=Ed@*NSU1F}QW%g#+{W>MG z$v^mnAmcD=RAVp`t01e*S`$NiY@|yHnUQ9Cs#zXL}aViWrMTO)yW3aZGse@#!4FC7 z7CpMjre|kg(haH+)|(jWukUEIWmL6bDUS`aslvT&qD=e8q@h_GyO4o$tA5aZ8r?y4W{kp&z=^!YEAPE98mT6y5HWT>q4~m7vP}xTNDL*Xv?z zEK=1O)1}BkgS9d87^d4_*rTqe>*~=>XQjSG?x!B0&lTJ%&FW1}#wFx$ zuFFRYRiyO{A|Alx1_impi9agxyqK;Lo&0zAPejdtEW{hwb)J`Sf$mK_^#s zM5abIDYEu-Mb%Xim&Q_9C)p?cn4i<&AF@6-wcL@#75nLDLSq)uLW`LcnSEE4ey0P4U6>VkIaWar&4q^i1hoj<#5PC02WJhJ-JhXnHwWRv8$ta?x8gVcA+7mbvIx zn_mj9HMN*aHI%gsKWh=S(h%R*D%RR^ROGOXYwHKeR)r`@`QFx3^Q~%E`Hm~Msq43C zr0W|-w9yr|onevHTy2xv`BC5Xu+r6!TsUZMPaQS6$m# zq}nZYc<%MK^USx~x=LCocVwLJcqAfj7uCU$)8TUUklSj4!at zDev6*uoI^vhTYdiE7=ulr3ZFwOlTLSL6q3r)o0os>nane+`XvZope<$IjZ|DUw7J7 zshHL7DYl-R^8H}PHW}(JYLIzR-qT^%Q*m{F)xJ-kBtE@P-v@T=PW-1jWl_*zzkl_q zY3=HfM&;gGp5FGW0w1G#+n@D(iu%~I+FSXwcc6SP*s*Kxe;!RY=r8{q+WL8VN~esw zPdVZ9w<&{J*S^e~eJfVnzk2(QhxO4!%Wqcs@_fE;+jegH=r0-BUzk6jwy%9jW$WLG zL$RCm>t6W62~=i9e}rBCeo@rH{R6QQ1ANn5N8AP?@dM}#F5%Auq`3icYc5HZL9E`O z%=X=K(Sy3#gGwKy_pJ^34-6jH{itSZxFhj=hwhzO!)5A2|M^;5fR&+)dtwz3KN9NK; z)}|XqCZaMkVMn{tN81}lTc<{wSjHMe#_Dv&-dT;k#*V#AAFF5> zE1eoEVj0gD8PCxf&$Jp(!;Ytvd!l*IQRMqd_7`%KrU-;?^#K+fvpD*B+no8 zJghxW!)7%vM3}FN^B2z4z!e?5&blB}%_BO$W5H^{ZHw>KST^~_g@d^VStMD7X}%p- z{q|#y-MorTI_4W^H4kdjeqE1kry6;Mc6?`AnBQ@5Z`j-dhV92q)gMrXH+%BKJmv?K z;qUeRkkk7{%syzXy7=JQ;-e>v4l#>Pm5VNYi&xmbk>|FWxYJ&mS@e0b3>1W|H4tsMR?Kymt>GfWlsYPe)Jq{!LInvW1mn{P^Z=WSQtQ#s8I{zB_g^_6(nF)QfX+GlTyss5j-v zYA#aq-c+`B_rTe|1@*p1g7LMpUj0K8eT{z!>Ph=u4aA2Hj}LHBhim@~>MfI+)$|WF zUH3WokD#7d)5~tVN;nrF_?Mtwpxegam-;7Pg>8age-~d>3geG4ANj)weST;001dsP z;Slk+5n9VcgHeDFDZWyJdU+#PvywlGuY8v5{9uHp2KAOv(F_chqZ>he6dQ&nAy@+m z>T|}-6G>)BP~Yxg@jTWC3F_w;EjEnMX*`cDe;c9m%zjvI7@^}nZxmne#Z+v+ix{C# z-~P>0Ce_@_YrA-NDu45Dp3>^kA3Wvd-#n$Y50$61DVh0jccy&l_+^`lUq2>nGJdWJ z%~ov*K-og^H7zTiPHb|v8b03GzGlC4Z;rU@TH4&(y>#UJ?+*G3&-)z+x;I}dz+q@t zCtNsb=PXnyyzu_00f&8q+(??ewd@QG*QzBXHKR_@S$%8Pe3yi0I>V0`p?wP;wCY^~ zBlKCT6VmNh9#1_uW#TLHqw#tW2#3VNu|K-+`KCSUv3<91uE(y!YO(4;9|(s&FAO&< z_PK{oJpSUv;WqWfhd;w1$4_i}X|Pmg`|{V&LbT%$>CR`NQO%HdhEqz@$;uFvN6z$*B1ULSoVRFT|5wBajYf>nH@+Z7=y9y?nhNvHPlypZ9t%e3o1KUe z+63#b8#vI47@<*!5qjVQVuWr91S7O*J;GB`0)eMAeTVRr##ElN8sRBu;MF>x67XUovt$c*1R6uyjuh|Gsxf$Up4_8g{*Xe)2f)P6Ll^XDr z@fhGKhlXW%>Wx>JfTuj1i13t>2v2D?b`FftZcM;a9*IVHO6@?>hrr>(allhrhky}! zm_HkMN?ZsLc*;x?@RSNvo)V83p~wAzr+ogr2zbhyj0jJ8$A1=h%BOz7Q<{6zpqri^ z_XD0%zyska*L;DeOm;(f$`W7TDb1Y_BQ(xG8hFYagr`*TPXHsdJ;GC>5hL`NHNsPN z`y_!8xZ`eT01#}sSV7y5(fO9?Ic8OO_oOk7ht%E$9E-SP#&2;B-s=tM9=Yl9J* z07hsYFhVPX5!wHavLix{E#!3f<5M(8Lo zLMwm~+8&J11HVLU%fSe3i5Q`efDyU@jL>8-LQ8@X+7yh?ufPcH3P$Mh956y31|xJm z7@@*%>zbgbudCd1tauo@|Ud>*hodgh0F%)w+A8z&s55{8o52HSlIM3b%Zor+&K1ADwd;W{j^lH^{DTQYN zZV!Hd5t;#v&|F}Ijsqj~H84Ws%%7{fmVpu46O7Qubl&T7eOo zjV@!>@JLy|sk7Yc@S0iw=lTPCMo@31)?Q=ml|s4K9op88i_Qx=m3<}i$=BhN=EJVd zeH9J5Rd1>*Luz%YlBq2Au+Lc70!C(+S7Rr!Od*w3ieiXSSK%F~`1KYMqTFIK23%z9>i>)%y5_EuG; zjga{(MXGZ7;uDo`xuUCM_T?+>>k2<|*TjBI*;h_}URUX^7F)|FRQ|G7Rb3g(So_{u zzB*m0_-in8ak;f}=0~OKmxavrmtcnWS$sl6a@Z{A9(c)p+mZtqp+gGYnGGGcFS(OA zJa!g2vKx9tKlb3{bV3z*JnQh-@8ASR=v3LKe4S2Ugw85Fgzi+A>UjDJF+%GI%6WQS z^n|e(Ns?ztj;E5J5E!BJc6uEb5CS7~mYtVo4O+X%E49T-cS$>g!#kMP`#imZfrEE| zskbpb8jR49^WN8!1;Gft80u|CZzD(YNiOiY$EkFC$p^pF*KX;wxuNf4bzcXP02raG zzxueDE4p&}c}V(sE%75p=+}0>m?9bfPQTP@zhHBjAUXdB`u;=#elS8?0fb(3Bzno; z0)l#nBM{Wzu)`!T9ZoI6T!oh(ebN*wfaI|EKt2UPj-y^;&m z&<}j8$p=CGaWFzJ>B7e_1u#N8@PZL~VT)g9vX5{Pw$UE@nUfcc(AB%JUq>Ye9dN3N z*l}~&u}&P%JZ@I*{G?ovEpN~dheJ!Gpi>uueihk*5jxZyx4BpYjL_V);+oyn!?xC2vR9h2KuVA9TD3Mra1!kRx0N1jr#X*&)IVQis6^ zy?HQ1GG+f!Bf{u?f}F*EFhZMt#HtiqNpOWOwh&JE?*k*Wr(~$Mye1f-r$R!{3GM?U zbpJx=MJ+Kya@f<{uq(xyCd*;(*oim0L@pQ+Ywr`y9ruC}S_+KN79wDTE|Lg;;Amj$ z7`_q`?j*0Xw=0~XHr%~d?x{Sf<6F3ok;Ef1DI=Q{Sc}3flTz8pAq=X1Mr0;+GRX)< zDJCa0lcNQty}2lAa+GKCUSNdQAW>4uUTIyFGfR}LWv?9h2z>`~0a+}T91)%!QD($d zu^eHeAMt9;`?XQz4Ts1YEuXsL$UA-!A8JKkaz(ATMz#qGwmL?2t!YK|a7FcwMfMd( z_WMT;8buBXMvg2;jMYX=kRzrnB4*?x<`^Otx+vdMD2tAiWi852F3Rc{dA*pt2}7ne zCT~TP=~hS#btEPViN%t%LxIG`NZQpMzB@IX!zr9gJDeL8zHgj(poDk`L*z9k9!3-S zSHcAA!h|ScB9>ud3SknAVN%_p(y5`cPNDMJp^B(b<#B>)3E>!qpl(b!i6)#{3DK$x zIZX-Cu?#t@5TeHzV$hAhkcz+Lgg4U0Uq<1tjt5^W3BG{|HZ=~ujSjxE5@b;qbe9rj zWf^3n5Okk0$i5r*FctUM3FoMdb4KA@$FWaJupSufnx`?=8;$i{3G}ZE44?#JEdzrT z0`ZK2gzkW_)PQiO0J3&K1S%kE91~N5iNjzLj4_F5%<~ohlsf+x6#sNf|4aq{Y)1dw zZom9gzd|R!Vr{=tlwbL{Z)J(^ON?)|vF{tS@4FSB+B%3PosiQGoueon14+5 z?r`$%()R8_dH0Tc^_6(_W4s29y{hnR9b8AhzvLZbJbFu#hHDew)VSoO9KMBAsUO-$ z7AaDbD?8|UGJjf13T@_9N+&EuJE z&~$L~!R%W%Sy9ds6`S_Xr)FXBIq1?H;U3K#(Vscu+_{p9xkoSO%5KUI^*AU~nhTO4 zm7lq4+i?DkA#RNc86yf2xV#3vcT4Is=X( z2$Z1Ligwl(dZ;OEqak`nUCacg#FUXKF)jI{FeP?uqpB*642r3Mvso5q%;nYO6^*j@bW}dTKBWO7eQ1 z=D(?@?)`6hfR1pPYHUa9sZbsIkLsz_vHmNeEL^|qscN+Urk<)RVT;sLSp&IbNQeJR z^;D+t1`QoD-@d^Uw_90RBKrSjJvHEf%@N0|bvL7f{!KkK(`=UyQcu;wNB_N^Iy+a0 z=iDmsY`+)hU+bwn7WZtAcBr1$x)1)5Z9)(1)pK%EHm{fYbcpTv#XN^nP z;^x|sI7Q=~H4>-HRK`y+L7c+zKC@~YKh#qPc-}*ta;hw?dMCswZ}Rj5Ax?SxDdp{c zh*N5Oo}Pg?<@uGQT67`QQ%~hEL!8p_EB?LANZP`O9Ru$nPNBOR(|DW%;*?%C?6;OP zvMiA;x(N4}d7r)N<9Xm7+l%hERdrl}IHfb$kwvD<{CWDL^JcPHKYDC~R`tN&Eb{#m z_?rvYnyCKfqf~!0f$DFzo|?_>8(EHiU4Gd{lpPFO_=?rTUvcBHSZ8bw}(y z!aask{mrit?r{s%-&}@xfV}?U0s7jFaE~bn_jrrCBNmTvk6*hG?va9Uj}NFjVg!VH z{MLzZj{ykx=tbQT^Fp}CEz}(`7leBZM0UiqA5ytTWJgTf8rcy`Lw3YY-$A%XC8`JL z2C^ge=_BHA4wTO#)tv7X2Y<5x;%{cB?uh9iJ7SSkfAdMi10>uf0oU$0v*^9yWM2iifPZ!2}`qf6*7c4B?ICVLx@vS zAWk`+pXqiReVsO-?d48lvX8RxIfzrDAx@ElIK=|ulvfa^+!i#G3TSDtBR-2>71o3} z1qX2oC&Vd&sofus=jCVIUK6-y8qn0$LX0ga7g2*a#SP+=C5ThTAWnG&amsCeJ3_#R zA<6K_53Zte5T{r}oYDz#N(#g&$8$?R-#+3{9q@iGB%Cy?EG7mmp%V!czSP1>(pzz+|t+yH`$>95gWmh($A~UWGlFz&$wQm`@EKMr;=8;$Ya-) z02);XMV5@&a*48jlQVL!>z8N!Thj;ja3s8z`m7UZf5mG5dJ)%}tmwR@PubU-it=?I zHRr=*4TeM;QSVKs-x6EPNK%!>t#%pq^4(=4zNzT$h_T5*q)atbu~!y ziIY&2==Vsy@^QC7h4#~q-_xtpCQLYK&WfLQ*ZwG$ z)t`RU$N70-x~62IJlJ`?^z~*j2d$OzSyw)#0gj}lH<#yUahaxryl1m&4NM5Zl`h;O znaghXD;A>PD~;AKEjRbP_?EyAIU8Rb2}qWV-M}oTBHZ@-0Ppb?jR4N_&SS#3_A4Q}zeme_mfBRg1Yv zL7ZZtqPo(Rw)VZUcy&5l>et}4k>%C{jo(XEeWo&>s6w3LL3~0pdShMI-S?vVwq*0o zBzHa^cV>DEh*Jm!?mLrjvKe}iA9--rSg;p)h$ngM7qEmlC9&Ou&)k&P;pq$FQ}n3i zk&Pvhu85U7l>0nJoeJ$bcHyjt;0*# z!Sx)ccekwf`A*l14&GnFy^ZDEAWj)x^uA7VgE(dKl8@Pvn>op6zR>5M;S=j6pQU$f zc1vCl41M(-d>stEAx<&u^mQxpcIWgnk@NH7^g-g3TO>b>gHK?mpXHKYaHmg*oWHH1 zKT*z?8}HAx#U(OXS7pf`Gw2`B$q#YLG&?5Q&=%qpdJf+V0hQ;R0rPE`ykyy2hk)x4 zrgWHKq*6u-)Q32Q{_uyTz_s&%Ey+sFhS(E!*iHey?jmd! zPvGYw>0VBpj3n->xpJEWuFMoSUL)|O6Q@^=n;qqumkScs5Bed%198gE@3>!@4c+c)&`eiA);$TjQQ&RM{aN)no;MvFISsn2c@xdrAxxHQZYm4}Uf{*sd zhb$ZkIpY5a;*`6WLWIZUxFAkhW+O;C9)LLIn`fY$zk+NrVZNE5!f-&1D^xT;DTq_{L!2@Xaf*fPS^2QfdSMr9_d%S}ogH??e;>pt?QF!GV+I;V#I5Q?^Axc= z#Y7T+n6;oR#3|9T;Sac+AWj)D4|j5Oa_I_B4G(uWvWGZjZYkWSOVpA~()K0=`illE zlL{bC89R?NBD2_&NrEok#blQRa`du%EElEgIQdx@3gVQVM=7cDA}L*z+trjTi_;LN zyq~8OFrf3v5hZyLrwA7SQ4m8EGA4?kiDD~Z5_MrxlrU+_Fj<8#dB!ls?oj2_P*tbU zW7?tWsL+$+gi|F1EezqbF+m4SIJ**}R~KSH3Atbya!Db?h%p50IagEh*PQS-wDG1W z{O$4JJ0-yunBcp{!B*&Co0XvZbwT!&pof-0j}?L(8H1d=ajvPjCr&sIZQPnC3g->i zq!O$@1{+|E#iFr6D}ngBKmsK&%rY=sA&|@%7||UNl^PJ^6cDE!kbnwE9LGE_!K7d? zFN`tiXiVmce|DXJF2z6J(!Wr_znIa#wA-&d)vwaY@1?e1HOlYJxbM3X-&%}sy|Hft z+P87Vr@79jmE!Z!(x*egr;E|2r`x+X)w|EhyITO#qkv6hJdZ$|FvWy8x@07ki%fORYVSWej zDU0arI(YRBoE1IzqG9wq5^Cv*0cN70n{^mHhl{ z$MvYwP&@UvS{U#BYwh$#w8ht|Rk~CCucU0g2>;h;mMN5Ogz(-$CGXaAlK+}!x%*_- zrxa7^xA|)Uf2Ucr61tKdVy}o<4*ZQ~`RsDxnI5Zp|KDhqM+HE$I5z(i%@SX8b+--M z$eYW5rCH=qwim<;SPlL{vlw^yXxLhE;zgR!| z9lu<@{5yWJert`?PHjpTK11#Fmwto|)J}zMGuNpa<_KfkSIn}LSqV(4!gH_L`?&7E z;k=VJ7tUcbIrr`$UDy2@zVLhVe!MYh^L4@;B)fX?cfwN68yaSVOZKo1Hfe9IxGwyy z=|sY?9cl(G<^yO7%Hx&hQqD_56iW}f_9{TV~kz)`gcmF2t@;+K?g&@g8?vbe-<@#lES zU~Kz%cUkNd;+VH`RC9HU+enwi zZSN;m?^_YKT2uZN$NF;5>qDqH%acm+JL8D24=YGm=(xnQd+&K8Xe@E(LRtKt+r&2_ zPWNwL{T0utwdbt_<-X}{r3929@vU@8_6;kSguN_#-pO}oUwc@VuzxD-o$|`uRo7n$ z2b*`-979Q7@m6}qlOI-dQo+s`>++0`yt`J*IL9!o?Aa05uv#6b`HNA%o(bI8U8hHp zypX7rh}H_LyHJv2knWNwEV8@asC(zlSEY%fGZ*TwuIQgD|CK2Io&Eg{l!5LWr6kFo z(D%0$2xl5xl8(v~>n)61jhf4nWC)=RR!$3#KK@FQW7zZIKBe_yuhMe`)6fqOOLET+ zxja|$+}-Hd-D)tkR`y)waA>3JN~_xHujgvC>`fl1^B2A=B_GF!HF+x>J-gL4`NWHk zCV%5l^6v6vjW}{M)+v;-cNwA-_GUcgf&5|R6m6IR4lDU4BjTEJ=Ju{ua(AAzbUE-U z?afgup(o^5Q_iXGYKucXbW>JN)#p9mmZ-2>RL3>-Jl+4p-gyQ^ov!=VG!hgQb(E}t zl5@_es00NB41gn!VgM9SP@+f<-NdGW4&+ReGfh-PiIPzPvnWwezyK(4pZAY5duE5b z@80L0b3>h~xBOsRUHH-E^IL1{BN}Y-Pu>(cS(4qC=kO@YVln$zgUHFm$g*4&n4Q|f z?6kEs&+ex1FGJZql|7HroN9A)K;s?`vr`V3or=TkR1apSH-*k`%jtR`^EfHYBX=KY z+&y7-x=&K*a>mTvNUt<7y*y{$iFy+$D$ zXxt@Xc4`i@(>$1+9)a1Z6JLOA?tK=={ve*E!Y!b2-vzT%6_}mc!tAuI@PULAZ-`~? zJ@(#yKZUv?M$ou#hS@0x%udB&c6tP6r%t;giMe<8$_{uL+%8@P8uw+R%GQNynHU&k ziF=-Cvk2P-8uz;rMAvLf(6}%33kGhlXFYYZB9=a@RV^`LPl!0fafW~a(9JGF<|>22<86Bf|8 zyQP4}eGF!&TVZy(0W|KaFgs0!*(r}zfv;`lxoxp9JN=>o8uvz+ol3#%bOdIn+hBH@ z0khLu1JJnJzgSY(1RD42Fgv{gvr|`?o!Z0f)PfUA%Aj#~r-H_P0A{CrFgtC7*=YsL zPWfSWy6aN?HiI&M**KV;&PjmAJ^xV6n}@YZjfpwap+_o)cnTz%m$bs36NtB}VRq_l zl0WmYxaQqk59NoQqO+8oieUwN$qvU&FXLx#)oCnOdcf@TJ80a$tE==Z=X^@v0JBp` z(71~uTKP9dIe^uAEX9*H-X088QB~s3LQsgtm-r>;#YxAUZ!a#VeQ8)8ohF{`>C;?huP?Z*L%p+D zXQ}zUXntva#9-;m*&R!>1@whkO{Z^PJ@0SzTEi#?8uz%jo{U*440NyXRIg2@DlBZ? zqw7H9uCmR=yC~9|V@?D#?opQByIqubDfwg>`v_!7@sWK9zCL1XA}~9pl=#T7*^Zs^ zy#=$=IcJ!i`oQee)CFdzL5h9{=`Juk4I}yKvAM$RH0rD0F&9^uol;NvpX_&q*=bUR z|1U~zFgwlI8E~HL#%UaI1T^lWXm)A@vr`>3J3R%n(=0SQJp;2-#sHX|TEgtqDu6>e zh+#Wu+=Eo)$UzL+0U<7zVRky;8x%Pz0JGDppmEnR4yNM_QgI1N0!eK6b29ieMq?ir zeA5$LwvJpzKfbsDUpOaQpcHIu99-V4UrY`*Ee)=5k)_WC9|DcL(jL&b^9=y5S<@H7~RVQGrFrtAe8_w}YECyJLn zg|wrBbc^Yb%RGr58RIk0;b%rx`k5T0D;iiy&h93M!SNP5<$NkRirt6kN>N%%p(=C4 z4N#J&DM`A=W0a|%q9_?HA)s+j;-lu`kj7nPh+6E*UTPK_eLa@0ESOUnOG=5Y!)eyC z$3?A)yRW;Y(KT)jA+EJ0u4ydpK2v1TC#CVvf)_rQKl4K;grL=DO%Pk`*11h zv=o(=6veR=Ii^%;;ZzCTR8i|xAzbQSS}I>l>aMX=E~Yeg;j|sPY1^#Rw&2oOXlcwX zX$)g&>zLA43#TvXq<^zYp9@O=oRvP)oc>`n{XJvGm{7*BPR5W`#;c%==UEwp%^6Qd zGx``ayM;14bTZqlGMj@kA7o|TYtFngnpwk`RVkFURIZa%VwF`Gl$Dp2mED|`IhvKm zNJ|!?CFsy%t!SXvkIte+Hq*jKX(5c+IHBwSoorvLY_FhfkF0FB=4|KD>>G?Z*M)NI zbaJj(Bg*yZgj31XQ?I@7c6LRy2k6 z-s|n#H{{#?n!j^Gx~`s|qngb@sxa`!HOt{YU9%_=*kZg3{?0W^cL8~N{gr*ihyRFQ z;F=|NtKPXHL)I-=6L0;WU`m{YJiOR5a+K4uBr~ah`eIBa|KEDirzFrjDG_y2oOnVk z^0;WEi73HX14{&4pSN84JF4{@C#`^?-fGjd%$GkLUIJOKd^ReK?!I;H zQ|4Vuf^^yo-#^{5ys@&wZduN~e)gwZ7NKLV%n`glUsU+=ms^&3aA68dX>)GKJNK7c zmh_u8S4$6bY&hfcJ4_j~#4*S1KTNvx`z_1U`l9Y_#BQWo$8K4cEJqG+{OPx85TCeE3 z-k0P_Y=B#qlUKx3dMx0U<(bpBi{&o@M5pL)?=jlJEeojD*C({WElZ=Qr1KOu4H~|3 zx^@BGvaAZ!v&vY#^XkX?^|QgCT339Zx8m?>T5))7%vo`GQCA#Z-!oSnUY08kFSWE4 zhnH9n=J2XXT5)*Itk#EVkYId#x1J(QgKDH%J_Agt<kva6&=oz0&g?z_}6Ka#{b;X0Z|3Y!?s$jn#C$tsvyn20am^zD7AmWcZ# zedKnrcGcIZZz&ba65l_bTW|P%x>?Km*33i24?{B@+LE=wU556HpSezkFMfF@n&t8J zRbcqbuWv~9b?$Ey3zil>&2%h%``Amm{r%IEmruWc87WwPGWFrZ@^V-Gu2l>=`??sx z;dS)a6BA{?ec$+Ku0#1jtFpyUr| z8uS=VgOVrEG$AJH_31D_14^#C*tQV9apy0s6Q z25k)j)jBO-2&O?6OfU@+UND7e5C;=XgRGsAYTW{#0n?xm7nlZV1i~~ZyU+`!L2itI zT5N2SU>bBU08N7)kzpFNgE7Z~CCBP6sMehVazV9zp)31w`Bp!GDWU*V9s^9t1(;$A zFr@%siaEfPJOopqiFXs4csYFlQ?dZ290Qn=2rxwj9A38I@M;Bz*G*{R<@5kdNduUo z1282VUlub^}b&1eoFmFl7?K6mWPsK@%^x5nxIP zz!WxsDUtwF%mJq4A(#S9JSS-4<=zLF5(F@13&50J;P6rbhnH>EJMlJfcsW56FZZ4_ zalr4AM#&N*H1Rfr!;1qPUgFTiI|5BSCurj3-c_Gv_rAR(yLzqoD3b#y-S*0*e9as^ zboOIcSci2gzy2Lv6F1+8x*JEu^Ts}3uj<|PP%g`4VazDFpf7_bIm?9G_;`t%d;aau zOsB*rLK>?c_f*U0pVFB)qka5IodHjw@8Ug+ZK}x)8s#4&^WL*_R1d7as8H%CIBEUz z~nj00XdR?b(`sP2M;z_9*;x=&U{pRqc?knp^ z-iNEh)h{EyDc&VDfAH2ed9_}X>)y7d`#!R2lntKrmwXb_!YVay>eG}OKV(dYo}GTf z(|NIJNo%ScU`p_AO;<7f{F#!Xns;Z9DnB%tpP{(t4J+(Qedx%e7dKmDqp>{C?kw@? z==$1G167rtCpw?fwT;ING&%ZGml`un)Cnecsyd7FKP#KpPI$jn>9-g7QuK0q;!>yO zK<}m!fGOctp6=k@`x@0bpEqzHW`#vja z`F&RN2{iF)%01W2IRi}bfhL}*3pDY9povF!fhJxUH1XJ6p@|m-O*|J@fGJdH;`O^i z6E6vxcuH>I@X7#(7ugM9N-j9O=G?&HRSYo2)E!_79bgLG9bifwz!bJy08{P*OmVpd zFr^h>O8>1TY5zUo@N)41m?8oWuYT0TlLCjAk}o*C6ac1>eF3JZ0Zf@gO}qmDQ%wB; zrsx1nq5A<$F#wpt<_`|9<8;=gfVqGma*zW!yiAe9%LN=>^gw_qx544X76eT^zkXbT zOAzxGJj)H|G#%8$i-abgmFnt#ye+_#ETLkh;QkqW`KSY(94sy9U!$Z}HWyqy6nt;= zD!`PgZ6VEc!B%?6jh>JWAwhsC*JMKbMg<B$e25ao1Wi14DS#55SbyMkJ?sZfN4E zUW~bACgDC$8iXd^yveU-ctFy-{4*jAb}H1V>gltJRAm*aDl=7mkfNDQ+3!Zt(xV*WplFYib*son@ML{+vY`ms zXn|zXN;*L$ow6aBsgO=HlgMhdgarbzl@LuO zkZcGP6+$dC9Q;HiW=ABuMWpIQq;o`Mj)&8#!gKK9dFJ5-BH={~VI{3$Wz?_=o3Kii zuxjS8+QHB}*`f7rp$&SW4>&@b#zR`FLfY^l?dBn!A|c%i!M&})kEp>1<-*Mna#&Kg+xCuON(j50e1UJ19G}{{VnHu!fCTLzIXxD0nMT(qn z$|}P`)}@64ZCN2WaIrXFxZhXcC|tVSEj&ov%iOh{^Yyx)M2pmY_i(=6zV*!>j;FFp zDg4X(plnyjD=KT1vP#e=n2&S+diL02>218=+`ckfEF@YY+_38$8v}RIdg+{!Jz6}& ztAEyLV>L)xZ?})@z*A|ks_UYY7xqhCY%mQnjV&|(<1NbsTikwztup0SvE??^4|WFspjR4VOR5{Xe!QPI)SF)=YD5{XPEQz#TFl^Pox8y6QBA0MBPkdT;|n3R;1 zoSdAJl9HO5nwFN9o}QkOk&&61nU$4AqtUXnvvYECa&vR@^78WY^9u?J3JVL1ii(Ph zi%UvMN=r-2%F4>i%PT4>=yZBzWo1=WRdscBO-)U0ZEam$-JLsk?%usyUtfRk-o1u~ zhWq#LKX~wUEST?|F_9nlsT#i+{vHaYKeoQ}3)tT>K zTNfpI1a9II<&Hm4+k33z9}$`5or16~vX%MUb&-8tLjXUli(LP9T?FwvBhJ6GE;{3k z5gFG%6PaSu7i+HQocvS#E+F998uy1q$GH9wzcXiOI()sRsLTJv?^bp7o+1M0m8-hH zpSQ5TK5TtV;J5hQ7vU}18|Q^bll;)Sh<8oZmLKuE!_@c`3mu!W6tmV3! z-uQ~FMTXjn&RZJ6s{XlBZ(>E(Qa7+7Yk6NtnAbzHmYnyrMhPG?U58bzN_vp2rT?U^ zEf5*7s!P~y03s7}#m@Up0*c?2SD&exLh-v#gX`^U=a5xB?m1>vf1kf%Re!Q#Ro|Gq zLS$$wM23sDLS)>25SjE9BC~IW$i$5v_HG5Mx>Cic13GV!y|r@QV!87M7QeG!Id3Uw zWc?Ap>-}PcWG(X6r#)d^bYb&$Cm=GmpAnH!=*EbQ0!Cy=D@4X)8WEYfdW^`-??6PR z03$LlCJ~XDFTsdRJw{|Y#}Sd~$koP(Oe!KWp%{_*DvXHC((oiAGA&t%$k@&p0Fn7- zg^0{9yN^I*Ji^-$k=ck5nUPFHWR_oGM8+8-GJWZtKxCGO5s^8I5t%!EU5Ln3uMn9k zL}bKXA*=c_va07|R`oB)sxI~tS=Fb|x+v}ivZ@cGbrIJKWL1BT)S{H46 zj;!kK*t#g>8M3P1N9&@E&yZEU2Ca*3Jw;aaQnW7mKKOG<^Pya{F1j@cR`tVa$g2Jw zS=A56p>>hp0J5q_p>@$ZY+V$B)h@?| zbRV;-TcLH)@yD<(YCVV6MQ<^y`f0Q-@_Qui*wTjoTtK=j*N?2~1}tDzujvD;`a^BB zE>i15R`va8U9@pPvZSTG1+9xpAImrBc1R&*)i)h~8}Ro(a_S{HddQG|7oLOiUC zqC1X&RsA)xs!t-Tx(Q}gk4IMZ<4@4KNFQ4l73P)Fjy)PMfpyUqaab3Hwt`jtk)}SZ zi`rkny6Ev*+p=6EIB$uC^A-WHs*5A5dLLNTGr_8E09JJ>5E*G8GN*yaWWafgII^nu zfK@#etm=oss*VRD!wN)(6Nroe5E*e~Rqq0;dLmfWHNdLw21I5Wowq!N^Og)aZxKgU z^$xJA$AVQ|0j%maKxDds$ixDX5db11j;!hr!KzLItGWbO)y;v(6akSr4MZjb&RfKh zRlOCg>O`=r3xHK!4~Pr_hzutX837fDr3|94Uu&VQbRb2&$%yl3#PvN{J6V6*C zkX5}Atm?sFRo?+tbrB#kMnGg@fyf8~k&!@F_4{B|4+N|FCa|h=0FjXfB6AvuOeUPS zNFb~FJ+P|#f>nJzSk;+<$gl#D;RGTh2t?-OE7Jz9Q&L2BFGOV4HsuZ%XH>S&yUWJy zZ5~#3KGES609N&@^(wQK+3riT^J~PdSQaX~uBywWyv!aw)K=CVmM@ydANmA{OaWNc z&&uYF-F2wy^;?w7+AKP5BwF5=VJ8OXEdwV?+=}yWmtC|JpLp0)^*F9pK3_9u;!JS) zlR63ULf_EAbKBg@8a2wV5cA&m%Ty1PdMK3Ii%wckln*|h5-%@dc?Lv=4p#N+4dPR8 zBdec1R9CD@%$d4*q~iHhzC_JX=yTUz_v$Zo70$DHA3n}hzkIu>c(+sZqjyfltM&Gh z_qJ_%=`VY$Zj&e7gI{9$yK&8%?{MC-4CgHy=tDe`Qs}(p6%d(vIB)TV^A^UEns?i8 zD?gMJo26W#4=a2CtNNxlaNcqs&RcMB-m)F6>SAD3KMPj%HaKr70IPb~5S+I(!FfwK zoVVGOcjl5)J1qVsPH_3!Jyyf%BH&O8(p00?BJV z%fPB`1LrMl-}2`c_ts78xvRZxZ=P%EW&arSQW31`AHb^q3ask&aNgnz=Pk^d>f@aG z3y-vFKIbPYy|=WV9_ZB=D!-%N0C zh)k@>oduOU8eiO(@)sx9)_!}jOJ%OX{u25mxHtiku>m5}?*v5V8W0&JXCN|8KxD|yKxA$Kk(qPm>h^vH zL}tzdh|C)xGN#C?J_Sk=kM zs=g7d>T_Oj-m(>lj486JvjLHzBdaDh5O*J1WqtU%^u;sL2?t>Z5u-gYy<4Q8;g@>cgc4xd4#~&J4&F(xUa_319JrI~i!S($Jgowpclr4aC?1TH2iwt0fV)<{0HJwRl%fXG-I z@>E97r9?{5mek<9Wp)iw&WvBdl_(2DX3S7_fcX9%ao@b!v{F>!9PuzsSBDbymM`k4 zvh1PxsAEGwWO#wda5+Sq(vHD-%K)6WF!929%ce)s7t8|Tyv2nr+D2H;av)}FG!Pjv zdpK_~COKIfIZ#M}bkZ$a(A9a;%^{Kx6VBU=>~N4AWR1gDk}3Ug-hvBcr#P*nM8W>X zm6EOmL`KGCfHDc^EtNb#WZoE2Gpvo_-#3{Jlw6!NoVPp!B17Yb^OnOURQkMdMP=-x z?$|nI?z`-9-O_RQ=edB$D5S@>S_=b_nQ4gYViN9Djz7vD|Cn91ABaqlas0C}lc)3X z{%_*nxN5#OOBflYj#89HDibFA6Q-EL&#@&&(-J-jOTKkY%p)W&v}gj6+0T@?s!DZ@ zO40+9r1ez--ziDyMM)b~I5sULC9@`PU0~mCo*eI!#Ku8bu1vO8O61{?-pP@&J}r4q zHi6qM<;{f@k%c|{gDIC9QlxAmWmHmy%~BOwBZaA{H*l$HB1F}N)aIEKS-mtVn>2BJ znn-q07hYH@Bv598YIr&R8#!u~si*l}*MXE@Od~ z@wFx6(^$qdQ|6R#=7etMsCDK$T;>~E=F67MXJeTIOj(bGvzB^wv%0La+HqN}w5+C< ztovhG^-Q!nVOq5=jc!dV!_kUqw1O5|?ih{6l${}*ovNFiWSt$4%cjz@NiEq?W7!0z zoG{^>VBMS`>l}Yvjt?!zvnA)&SdJ@Gu9I-Cqi*gs>s(u0t_>~sa!c-ovD|Y^c^1NX zr*-p8t@BRc@{DPDhAnwV$MSTU@(&B=Yw70iv(8t?<*U&06< ztPA$y3ixORyIKmk#tPV(3U>$>ZqqH?VqM6BD`ch>GPD$~8!KGh!fIW}`U_tgy9wWh z!tI><8FoxaUn*V&u;yA<5x3*s4FGG-{j?`XTKi4b_A6d{Mct(pBl(x57`Tjzq^qUa zssYvTan`R_iY@txpLfGP-n9g{mMJ|DEOoGY)w1*!_b%3>#ieT;`8kuh3|Y&#&i!<4 zAH)75Ws}C(8i~MQ+r{?RL#x>tyFw59MvvgE zj8v_RI$as#UMU7^B-Y>7NDP0%HH8;tR$jiPRNi^XfBJIIN&J8J#B+WX%RVbgvw$b^ zKY3YaME>|P&xmCFf?n!rkwi1mSX0sHlVah=#r=;-x*nCX*O9(>Q2G~aqI6VMPESQ% z8*Xcq6%HyX98y+1q@r|KRask2MMpzjcc11_tpkRK4;??EXJ&NloVn@cbHCc#SUWph z_q^ri=j{~~82I0~W@u>W?c2BS-n|n(WGS8$U%q_#`t|GF+}!;9{KCS*w{PFRfB(L?xVW^m^m_zP z=~_6qvR%jD;u^Vs3)d9mv_>#oGv@tIan197+`D*pcv$WH5#Z*IfI1GME>${|MKB42G5K@8BA1_Z3`Y)bytV8l_{d zEOcJ8zmdVne+=Z_(ETSFjN{dVfm|Ct|KWg!pNI3o>pvdQJd5sM#Tn)LyA0;b|3n6} z^FK!hWBH#ggSqnQ}dX8S9M;MIRexF!nW zn)*)&*Q~>2Fz*qr@k6-g-Vnky>o6J2Q-o`7AY9YXi{YA22-nQ>6u~nw*L-@5B6vo2fNSL5DS`~Soxn+5_9-_bWiae=| zDa&_a5w(~dd{jFlpL2Wh%89k2{aIVf3-#5-&J(lyAM7YA3S$wu!2h(j#aJOTruM47 zY|a4Lp}a&KT5cvHgWWNur5P;3HYQKI9~CR4=6fvJ9&QdFGw=MhW^BtuX zbu2>He4lo{-l~|`sBWiD%z5S_Q&Bm2OX5ba@bj^llB&lnf=(q*+b10qV_z)V$v23; zu!^jxX;+hUBhp@c-ceFJ#UgNP=xN)0k0R+yt-bhc&P&soiaUAVCB009U#%t;-(A0H zug|t;EkDUB5jWkwwwGV*wT?0UUTBR}z&09OuoXA(Y}yl~^{k1Ns1z=sah=;F_l;69 z{ekT*>5yKbA$C$xqrxWsFvn*PxM!7uHI}ab>?`(GXlrG&zM4!VG3)K#okcAMoA{zq zpEU@ZCL1*~%{^=r*~&HW4OZ#m+Ucynjs%AJhO}V2aV>Ui^dRRm7VyEv^Y4Wx+q5Cvd1Vi&brApV1*&S8s6Q2J> zTbnn2l9bw4(xH>~UChZK_pAAhlmG{PnIo_#m zp2>IKKUn+W>RZ)UiUM=>oHHK+1T9~0lPr25Ye5L|RNKidIqz>&Hxm}3HcWGwZ{L+yxDdnaGx6+re5WqHWT{|L&GF8+TT2>q%VJB@8>+q! zOUf--3wWUzaDnaiC6|D=qyQV2+gJMo#=iz! z>%Z-w6!_8km{aquo8&;k4*y$pr6Y5Jfm?%oOojX)g6HKB6f`P`rw85Y2@2B@j9|k# z$l#(F1!G)rc9A$LUFLQ_j_oThiGJN(3BTPGpW))|LdM(C@wse)`E&RiY{A7Yft*Ic zg)YH#rQj-haC!f#x@OHdwh$wkko$9c8eKvTM~1ZO?0MK9($0_X%98I?3e_|YeQd?w zPY!*{7y67%{^?w3k1zg>mFjELFuix7qd{^b^suezVN+~3-?D}0_J)0$~j-#P>!-1!W#33Q^%uu$oyo z|2*;M65;`h+e>fq(v{gMz7Y3Uds{v(|8m^RTL9GYJ+(ci%8Vw z1tM!JaT}HRvkh^l3Xz?e$T=9vogKN$Es|F+lAj}T?>IrQiXe<9h?*0`MF^4$5z?&@ zveXE9n+Qdf2xaC7)xmJ}>~KxD@cnw>S{&hr#>2F$!gTRrN6f?YMZydhLXBEOO{k$K zY(h_|gqksjo*oQ2lO1x_E##bDh$TnJ#qr?FRl(Ny;49|Awj#my3;64;ctm$Abc^f^hhtVDq3*k)ZH}KtgLEks26n6G&1Cq%a4@ z4hF<$2PC=$BX%!0S$}pfGA0(Wfca$_nO}CdVdj_VOWOrv z^BuhycElFTuBcz?8LoA){gqqyuzRV_1lt}?cBg%Xx_@@-!T}9}Ez=A)wlL_XlM zF1i0Wph4=Fe*jx5E{XrAKKf+|c$HR?E3e90>aSk4jr8BXDr@P#`eVO;!^#&{T$1?5 z?|*M(d``6JoM^$XqB&B7ykLIH=KNWQD^~7KH~hRjaQ?nw!FXaM;lFQV{zI@OV#{s~m*KR(UMrpR z`gdT<#T}I;Bb~fH$5NL#(-=}8<(QV(Jjj-&Jt_FL0ndG;Ja?ePsyF*gTY28oifj9a zSMT{*Bw775QolH#fAZJn-68{Z!-=iN^p9b?4)~4Rym*MdJ4q{;N586ctT)Rf$D+Ne zY~o3wWm|%Nb@}8|y5q!)_G)acv|(2VH6lsFNoj}fp6Fu@n)g$WBpTFKeV*tqx$?53 zw)*RbR}D!0vXqz@_K?ZIB1_P5{_Dq~wnW1_b&KETW|8_u^YQ`LtH%#sSo1piu=~>9 zm9^3<-z|qx$jFJ|)nT`d#~HPzPK>?|{6ok{uaWi4^6}{PH~y%8VHv=7;7wKBtY=FTFSt4 zKL59nk&8LKn>*?q7BUin+Zg6OyS4lUeyCq?T)YdTKh!TaJI4-CF!f7-NcQE}4Cx=Y zF)lH`-^M6a{dOC(@cV7d-QR9wieuT^&~1#Ucy5OQx{bM1ZB;giZew0Ww%DTEn5jy+ zuwZl>Gcn~eUWaaD9#5R9`GRg^zP|~;)Gr_JrrGTgMj<1qd&?3iWEA)m3mFv^uY`;` zsaVL!A#){UwAmaB8OcyrLPmn@DkieO6!23tZ_ z7sk-HzlGbFBU)2n-aY;n!4~aJa2pf#7QvPy5&&EJ-lE$WLj!;<+utGBVuE1HaSXPc zLa-$YgDt0>(&9h%Jr*0%?UcuEV-CJhnQbu)$8KXDsl#o|UUVBH--FD%T-a^Q6HPGh zzDBS`zfViH)o2TXE%6v^VF(4-qTdDP-5!fG09)Sm=vnIZey#=BawQPvABt4{l@3;WnliZez~DZA>-X#$1B6QXZ_8I3K}n3=M8$jNvvW1#V;Z!)=T^ z+{O&UZA>1ll{kChHYOczWAxxQCK7IAc+px(71m0ZV6Bt~YbDNZxQ$7M+n57z8{-4F zF{{-j9KOMA%rM->PN zBLlZF=ixS{9&TgY;WlO%Ze#Lbt;E#^w=vOh8zTa@F~)EklMJ^ps<2kN3~Qx)SSxY0 zz-W`aXoX$d5eo+AR3)8}T>se60JO=ekyWv$wcPF@w*<2xR=LYJRTu{IGgZiZe z)Gs{THAA+beu<5nt*aOY^~+vRzdQr=i=f~~Z&gsgWPoJV|L>(&{)8K~%GY+nAl&`3~k8HScWPl^;H6o}rW&4=Zfu>~OSe zq|U}gsV*x6Ah;pFP%|30N2Mn<<5PO|^r%7Rh2GTsQkuz`uw!>r`1A5VCta_daC)fH z&ouwJXd?Ihr6;NVy&c-6B_5aHHfGlo31^i?P`^~GzPLHxQ7alZb^9f#Up|2PMWZ=D zQ;h)X7k*H`=z;nr7Su0VpngdN^@}~IUo_g_HiiVZF_Lf_b6!Jzye)U(QEKJq{Ijy} zEk6vyZA=H;#>B&Ij4Is5xGkxF{3iDO_1fRoN~3Ta)9vB8$%pye$3Fpn3iytd-z4hSpTDv^^8nO1Cw?pKf28zheq(CHbXU`-z3wJB^@zsoCMR zX70+;ss96OCAf|0YGOU9bI^_CpRMKf%c%0{Ie+@rfb%+{uvRK|2(Z!-x1a|^r3Tp1 zMPRK&gWDJv5m+mwLFxvd%PSw!EoH9T^Q3xME73IF&By}>$U!Zfa2rzv>X$J|xQ*#q zLy4N#yy{BXXGx*bP7ntuZTDcU!~wT47SWUpno|~qDrW*~C64@gY9`#q;1m+gV(-FQ ziLwuFW6sd2b(ImEtZ@gK;_fTURJq2*f%;|aWbHtl^;}$6OF*M?JZD4PW8qUha2u12 z)=HaSw8X!r#1C1=zf+DMVTvCch?}6rO}fT?(2bjBkDDEf{ahLQ6&E{i7W+*&c5$A% z+(KPVrLMK1{-i=>V5Tw+QZ{5$SllR^^(d?ylx^eWpR33_@nm*$GN%Zcdx5m8mBdRW z@!OF0s*nVkNy39MqS-OxZZVR2G143{vg6V6Rndz0Xl3(gRgq}*g(%I|sQuI^Et{xA zDpA_ZQM!Y~BiTfKH=>~)(TIa+G9G!ND)JOQ(#$;av`FNc1;W`@!Z|9z(uQzRg>adf zU_BUdB|E~_Ey7+e;yOo!<9PVZs&Hp~xT|@%yGXdlLYQZ3m^T&7yO4HN2@7Nn!wrT8 zXNQKmg@)^e5;#JM;~~*iAtZbV#XKZdBqV+zII%T2nHrpG6P&IRoXH$a8^q^i6E zxR(RLyW!SFTHvdVykDW9dm*b&SAkitz;3v8>1J3LEN`)9jX@EsQ(@t$p*@DIyLU_N z-O4Gi_J)6X6(d)D0s9rXr&Xgel0qK znRkDOEwENPE4?%MI-_SHgY)iEJNF8g*b2AbZ)0M&9_ikGcEiuBS7Yv&KcBwTTZ!KN z2M<1~w-$qU&qn;e>Pg(Q`Cobe6+chI6^WI1|Ek3OtCB14fvw~pp40=|9}hllxGGtH zMY7IXqRI+Lkz~mQiTv{t*}qC;oRvsEBS|)s3O+9Ft}kt;BlD}4ocVtF6Pofy8VZK$ z3i@gaN7WRLs43{GD(I;x>Z&OnQCB{qp>lMey1@ZWqeJ_T>l`xG*R?P)ymJt-?GxJ z^S@=KJ6vpj%Su1~`Xeh{v*2_Eaz&yb;ywK33bs@#&f@t&W0HT+m@5~5(3raBA2jBt z-)M}}4;pjj^bZ>2@Po!wuZVapPh%q9YlSN!-W(20#9NfMBI5n9BI1=HuZVaVD42-1 zB!!bn1(r%9@87hke1)v^$LWnA;@ue<-*s3JXiN=nJ7lG`K^t@RxH!<5%lc2X&7Fb9 zq+Mr$r4mU!0u%8*!bH4>FcI%dOvGzDgNb+*8!-_tBZI-*>!1lt#M?22M7)(1n25Iv z6Y*}yaUDqtG?*AkA=$Z=@WkgYjORsmEKC%tjw2E8)CeZxjaw1%W^MuzZ}k8Y@h%S` z5pNCso~GpDCk+|H#n1h+R!GE~_!5bDm)tQC?+Z-CYm#~U+sCHmr%1%>X$vCW^G+gnOg`q08Aa|GJIo!E@)o&c1dux>g~ze0v|cV`M^5R{Ab-$IM_^>00ED zslu|-mB=0AgWNF}%aJ=q54mIB6(e`dR?Hn!@T+i}`5QdAV=m@i19y!1Lr-wW)VqK? z#tDzI(itc#eE<*c7=e@|aK~)ILsmMY*$dn;#$m`EQ&tG>m`IeB9wDKuv;hufrHRNL z!;HhS(&5M*(~4!KgONMN2W6#41CTpLB?z+8RzAobvo#2^(petJ9n%;H?igWri)?wG0oaL3r#M1VUcAT%Aa(jCYh z6A(l@*=}>Z5Zp0q@Y&#w`GVXrJV7~^q9H3i-d9$90%fI*po5eQ9V89tAl-xx(ja7| zqaiCj(Nn+mB+5$bLI;Te9V8y;Ajv}q$s9UJ(U6s%=xTR3iL%oBp@ZZN9VEEWxA_cN z=|RX!N29FtM8`nSNtBgVcFZ|_9Xd!apo3Hf9VBz;AVot~dg9?bnNuh$Ee#!{bI?Jm zgAUS7=pey~#*1jkN>8*-N1j4iY2n@+3nS;G3*C@akb9VAxhAn`y4Ngg^#r=f!s16k?! zcf}peAS*qyrbXmZWkBV_)u@BCOJ`U<_C&kgW5`OY)hqN4KZ@v$1?s-9c5av96nWBMD)dlMwYva~|`AuC;! zp;2aOk~iL5T=gi*Lq1nhbi(XP`Q!2_v3y6C!85aNrFBbX*1qEJ`?gm1=c+3dpUruH zv8{ZdBVW8UHT0>qiF*ZfknBtHCSN&JKfS-GKo1w4x-MGrY}ihss+Z+CWTmU7ZdcqK z694eNr~1XSTE)6MIUhWND_$;1NZwr=_QHGHt=jdPboXufALnFhUVrjXy8l6R8aGk# zX2%D~M%hiTLLG12g$|PUl9t5GI%3V+jT*|WyK-lukI>&q6i7X^40}!Kz109&=|IRz zZ-K1z9>_`?LRLBlveNd_J;Y5zkddkb0V z7U&=mAuBBeS?S}Dl`ep+^cBcTe}Js?reVlRKjfZwm)RihlFM56(O6aOP1ESt2eXFL zVP`qs@_RNmn$&f8-%+~*S!qwmO0QW~8{HtW(9K`-DdVitxXFi)k4iM&5`r6OD-lq8uveIpkl_o(4Nd~ggS0F1rRI~8-r80DoKFm%! zYK}ryx*M|6sn9{vgRFEcWTmwrE1jtFeaQave6QvNWTl@#R=NN>NarCdZR!MBX)DM| z)14qIZ3kItHfQJ{-GHpLi!)@U-5@L7?+jUKuO?QWeh=s%y@IT?(rw5}50iXE$hXD% zecpfdk(#>=9i*94z6z$EN@U-;3STw4CuF6Upo7Hb1s$YyE`B;LUeG~e?)Nk3_ks@6 z7A61VO5V^x+Cla=CwoH&iEGaP*Ew%a=>Tat*GqHy+~j}(-+-%1dNE%E+=c=iti+*% zl({|7MMu$@9@yCf9V9(BwjjH;L4HAEsDo4>7lgM$S?Mj1l~zJo=^A5POqM8Qr7QN} z;q(vr3vva5{95ltgO!gOg{1 z@46fvTbuAT#%I(l7$XZICPNug`k7fdoc6`T?RTx{?I{k z(SPLPGEwpwAo(BN`H_ea8&9*2Wd5ArRVqXDMubQjug<{10AHVp9o?U zNm1w^wLw-|S5n%HsNg_U(&dM&^zuQX#(;!6dsG*H_(3N8KG&$&s3<)%39W%BIm@VH z?DB@n(YuVJPY&=x2Wi8Ds9$K}r{|-$Y>hcTf6T%x#>pkdiV|pC8Kb2YW2bCn!%lj* zhIGSvx05Srr##6G7X%%o;QkmdYei3GGC_zOpsejrA(QCj5E>4$((ys$NLOuw870+) zLbk?7RZ{j4NeKfy&_SAzrltw=KnF=Mosx}Hi65Y{6RCwQ+|WT9G>R>EmCL2XCiy@I zi5s%gz0g5o=Y|ea=k>T|SCi_>I8sVnhq7indpu!HJamvCD_y)qj31;3JsybHd=UT2 zTIi*6!W@6XFfOcsl7RP3cs~|4HJ>mo6fk2=nJ`P7HBOit;8>_kTy#ua5{{Z?PpXkk zT4$rS-Yw~BPa?B9$Hu{=)aj%x92{F!k`s-RcZ>@&QIoeaC2?g3e40<*>YL2xwvW?1 zg>x)fNX0;~D&^RL6bUy4agJ0$cAAEhL+?CZC`tpR!3dQ%OF}oP1_5>1=k=IkzNBy`+mANteeHt*a8R z;1g}l6YWJ3uP-DxwkF)9COF$9xT++$GbeZq#(QSRd%MMhJ0{+rBR+6E4p$WyjE@U7 zj|&%xBP_%cTVtcCu_T*Vib`xOb8P$|H8Go->_$!1qo#9EGsh{kDoPHXl4njS5TO(; zkV{(0WmIy74Y^W-qz?x z)aWNR(E}>cPnn~i4@SMrj(Y7DHKZ5yjw5PhoH$lRoWK(&&50jGh|>#^v#pVzsgYl8 zBIi{izcEKH4ic8L39H=+YmX3q0=zO2!BicwAvl8Nbi`)S2rg*`&hEWh+0p_tKY>=J z^?DJHqrh1>o=IllnUFS}`3a6^9F7%p`evbUl2BVQ8+JY8ahG+6Xvs!m(OECPA_g3!{2^_vC{6?z4}+Alnwq28GwU=nJm1wvsao0wo+DfAQ zl0-4aaI$`tO#DSE{G^oEF=+=qne&I_&K!_8-6wxsQ(*<*7^oqJb3_$>RXnP$q_3fD zps8xGU;UVtrpe(0Cv^{R1F=;;3z%lykr zB`Krbnl6lte~oK~$o~$mxwxsam!XRf9nYwi{?p@`an?OQ+oWjxIG%~)y}ot>&ry2e z>xQ6hp!%g34aMKu`e>1)^ZJ0A*H+zxf9ZI}AkK;JfalaTt^+zYDFNR2zkfVa_g!-z zckH&@nroexX8-DV=8k6vZnUU-%ZEi@(yFP&OicCr+wsiF(KBA0)6!kM8-KR?)A39O z+X+6d?$3rN)*Q@y6C(H6YA94`IBO_OHsx{vPt=*lKOWDd3SVyI^A=mj_=n?}fyE-$ z-M7Ww{^58g-0y1NpN?lN;CLqH563fde>t8J!vEoT#_kWtGvk+InWg^rct+*-9|=4tt}En0rCRI-Xya2l`%)$h}_HxDX6wwmROHe{=vm-?`5^?oc{-HBzZHD*w@ z+T{V3tzM^%vei$qY<1Wa%2rpEW7+D5Shjj?j@v|Glf(qdR)5RFvehwIwpwu99kSIg zv$avSI;jC=t4*X%ry+T~*>WUKohp=|Yr zOq8wOZHHy6k6me2g>1D>**Y1>R_C&;hNTiSI-a?JWvkcN!ST#n?09A#9nW0Avenb* zc%~0Ko*6^OGsm%P^(*XnrVl%w=|{&i2eE8*7doD~j~&l6q2rl@Sho5OI-V)Tvegyn zct-9i%2wy1J=%2u~JpyQcO=y;~>3MQ68+3L0nC|kY#G0Ik-L1LLSv{ZU{ z3N4imqHMMPF(j6`k7cWMkyz&0V}XCRRC)(u8N+jEsU$y)mP!{l!ST$^VI-EZmH@F# z*)Uov*&4v{%;#ZPDj8jON=x0n*r%wa*TamCXZ*3_nV-;7=^d7>{)WUd(Va*vGlPz2 zYM&g2rP2foh-Kb&8$z~v3@w$!9~;5(%r=y*=6-b?j%PNUf#VsEb`Z;)e1wi?#M{wQ zsS6#?#6LVeq<6~aVOjo7z%@gFYsw*8tuOlP+S8Bgw<_cYs9!y`EvG*haLoz8HK~AW z6v~QY^hGYop6+XRP{>MHylSW=Iv5AIMjo=&mXNJ3hitX}lJHf_(>(({|AW1^jHmd8qEk z8GhloE+IHno`JCt1tz*>NPW* z7xlX-X-*cJHO&QcjRwp$i7?j)=eONcVT>r$Yvi^N_0q?gpKjoqrG{*^5Hi;oK(@LR zvehaK(NlW$qP?PS)-@LR>sjAOAX|NLgd>iLbMCr&$w!YGu7va1gR%k@g#pfjMljcW zg1III<{I_PdF4WwYn-{$WVna#gjSTKND7(4Tr&!DO%2R7t}xe}FYPOl zQC@=+vV^&29_E@pm}?4QuCXW`?85OBC324$t5;U_)m*WMx#kzlHOny9Ou<~!3v*2k zZ$)qRxK&|g?Xt7*8<=bU=&c;Xs}Zg_pS9v7P&STpzFc>VXX5Sos(L&r5f7MaP6|{_ z&^n7W%5bfEhn7uVl;Ud^$eHxFsA{4;5b;Ci8VZg97cYx#RZb7qnSs@qju#85ET@WEX36y};tx7$%u3rXo&1>g_O0pRq+Y@*-KkQ+y zX_DV+BEG#E;7K*j^a|!0eYc3(tGG+K+l7#=ezbdauJ+Q-r%Jx{6q^V0>aU8w6zT`0 zxk&8j@$RO4s@bsilUQ!D*&U_I-mK|QTz2JcfNZrxom5SCNUmcHU+uPtgXGT>#(VSP zsylry6foDkYFV%tw;eu^Y^&#WmbI_lt7DSdkx9Y*5?|X}CS!!TrgEeA;4#cK)3doQ z12eS;XVxKGeHrE&B6Y}CD_BLoVTZY<#T@1uUYKjxEMTq?g1N@a0_Ga={AzMvr;ghrF0CP>foKMk!M7FJO7R)ti$Xs*E z(6>%rqE^H&LCvq3?M^+MqYC?W$UDJY)9UKiV{`}Rnnsv4wb)^7kX}Dn=q<>8j$&(ymNx^Ml z7l{jwv}aeh9*k_Sk9>osgKYJcUy&YmTrk)C%!j!~-3#U#a&!nB{=i(r7J^a`4k$-Y zeL`a?khw;hG$_eVFwqX9Vu8+};7lLH46b7G?2x(U3(Pg5G-c?hru?WXQEHfL)C@88 z6i!*%(I0H1Thje7<JJ?x5 zsyQ^4;CRduA^+kwHuG%k8k+K_c5JFy>{j}{$@18@2{6}C9-)jg{Stc|!+OjQ^v_G#L8C0%K5}9=)@{<#47J#Rok$4 zFj#dHtcDm?lL)Il6r-CFbKgGZfnv-f${2%%Xv2!=XFk!!I?>NLqF?Sry=sdx!$et_ zL|KVN*$_q94PhKIFi!Ru7e&llN(|0*0qtIa_Vht}>!5u((EdB9z&2Dc1{G?83Kv5~ z5~0vTkx?0uG4_$Mijnb@k%Q30mX``o0sm(iXUi30yY`{3RB+Nffv}6tJ5Sux}r5 zpcwE6Rlu=D{}Yw|_`d#xy8gtR{wH_++V6OCatIuoWH#W>=V@SkimWuWD6NuAy{g zcpArW;tz5u{-PU7d^eToZ=WrA&{IS`#YDqN>K0c-wTtgoS9F*7@`qsR_KAGXqeX#c z|D^gAFBLsYfn^}Ltn_#A%x~52E~y0rrSA~}r`Py8y8kGaVS`(z)eBaCih%!$*L*SO z{4YGNFXsQ#kNb=H|FiFZ>KpE};QlW@_=!H7bN8BYe}t{)6?dB{ck>Gb45~7Mb1a^G z1D=dWyjZ=dOdeUB9AnO-TK4yMb! zT>rS&jK=+M?KOR$jv1X{M)n$+&;RLOv&Ig`PKi?g?y*ysl-~l*AnA2H?R7tXrT^Zs zlVsGV_-l3|eWJ|acN(q-d;i;e4Yn!{j-Ax>=UDCk>DcMO3XE#W6=FSkDX>Q;4r40)H<=Dx-l#$Z@?#-vzH+aag z(?z1RHzX8)>s$+)hq3*6?DUian?!89@TUkk*{tHoZxL|TIg@|EYiPIshS%`e{td5D z+58i)>F}_AfgC%1FDjQ*LXMp>UncjNBF9c1nNLe6kz=R1WqH%XW2efqImF1Z({opFa1?Hi>v6KJrV<+`LkDZ)~!Ps*s1sM*va(p*r}}P@Yspq@Yreb@Yt#A@Yt!m^zhi}vk=K=t)nH)p#nl=QlnHoaynyyagr?;l&TL7<7IZQM4B6!V3f52-JyAiym z?=a2Oj^H&|1g~LkLGT)VKS(n%HzIh=B|k_rCDkE#%`$@5uv8;>O$mb6B$p$2jWdGR zu#_Np&0`XONHa|!c#XARL=DNMyf=W?-1CiWzLiq%1$a%tAzqV?;5E(&UNf7V2Y8L7 z58ySa33Y(i5cvRJ^K3l`@EUz$z-yji5WL3v5U*j4K=2xV?^qm3TJ`|@$9FXWNSZ10 z2;enc2wuasc?R$r6C%KCjNB2tMjA;orRTB%UUP~F!E2mvLz=0}6Yv^iI|Q$Jhu}5y z)(Bps;|X{ThZ%y`;1Ikf!xX`5`aB@bl+h;-cugAtq?t^PrUPE%ahPU$hTt`Q?vQ3$ zyas8eqJrXVLomxUfLX>G%rc!E`s+G~StbL_GU{NKNdmKsESP0n!7Q^;lpoN^{)9;v zG0UWYSw;!WGGSnrVF9y@447rC!7S6sW}>c(m}L?Wvy2RwW!%6la{|mV$G|MJQCM2j z$@mg>D5HQOyfm!ATm}T6- zEOQLZGMo7gv|UVIGJ1$vCIHMbRA8171hb4Gm}MHkEMo&^nJ&fv3q8av;{#@y^I(=? z2D6MTm}OkSEVG%{s?x;}mZ*oAWjw$vLkwn_3t*OE0kez@m}P9hEYn2~W*I%iEb|V` zGRMFya{|mV_+Xa72eZtppiJkB&ts2u)?PoqWNjr^uc)FqxKmtMB=qsV%$0owHhERyAeN0cM%x?bYC@Y%t3h$f=#u z4K5t1;&HLFH{h|@=&71rsTS>;$y|@=Fa0L@f%l_p&3OFz(b}6*_HROSERPCQ&*M9b zeJ17ll`dSiaL@B{U!mkgw#8_@{(-$m1CRBo(CQ^RN%0}stc~KxvhSvHd?QmeljXgm zP1dyze(O0llE8=?VQ zl7Tltn{UpD*nwFlLi6oKlpQ(hZFK2d>Mc9kt+xqe?-;f0!7P(z^Ny{|o}=ttPX9X| za)-<0u0_JGg0>D|mZ^wz6&rB4I^bHj>3U7X5zI2pnr=5yj?}?!#AR-`=H7r=<}A6p zn*3WZ%aGZ+Yo)yfvkc9EyFS4?Fv~EBcswzB2WA;|l!r;nJ21=eZh5?Ba|N@Ekd~*l zm#ZzxQ@qU6an99w%kw(9*E@MP#4ICc>*bZ^MwRbnI^Y#R?g?fYOA+rdTTd{{*rU8L z1D??X-fyfiD9H=BY~T zqN;+UD$4I>4@R}sN7dO;)r&@}{)%c=;A%og7vx8Gh-#>BM+0xz$Wowr`aiI?XYpd*agvhp9it|_1GWf6lx$+K%nL5O-9O|F}+E++^(0jJSi=xV`zfZNm5s_V{&$_#ejc-@W4((&N9i#!t`3 zPY@=Iu_p{GBn%iQeDO}`Nl)l*P3V|UXeCT+W>0KTNUSqXtoBZ1lNKcAwO^TjRLK7xOuqTHqBnKHM`+Fz*q$hi}CcDiiza>m@W>0ZY zNU=3evGPtaPfvN(n(|^k#h5VlDSN7cLh3`~)cfA4I_asJt*LkCQ|}O_selMrNg++% zI8D|&O*%bIsx|HEe3~d>`W5zc0fqF-#_8PN=^W|ltgY$H^XUwP8MN#fR0 zYrG|EWG-uvAiIw(yH`H@qfvIJS9V)k_J@}2#<}eG1UWTqIhFD`Wkxy0UO5G6Ik_!4 zS#vq*1i2|}xry?*aYnf@Ub&dG+{l*Pu({meH0n&RI4LH2`@FL*(s@#atf2axkI%a~ zb;$_MpUx7TaS(j)4iC|W>JTxV8&k56@-g_c-Q@+kAcZ361xJeJ*HeusB>+-mf2 zEX6fkz;3}{6vS}i4!(eH;T3Uy5pnw44EapEg}hTtr#MMH>k6r<2t2Wzi{CKDJkj2ixbSy(t& z*|^y`csaTFxp{yaMdT}>V7Vm$(}S?uHDUE@ z!gsF=-@7iXB`vHcbLGiRq2~&M7D@uns{DcX_+ZFLe~26vRXpQfUKqg7?hx zNvW4nvCs2Dzt{NzR=GhAS)p&!BfL`3fr-(m{~KufFByOH8vSXm1%&;hgofqp(ErBS zlc5e_{V{xEWS8-sIQE}OXmDu^qzeSJzjv90B=LXdXe87=@Apej)YFUV*rNV>9L>m; zlQh>wbkGdNvNF_7|DJ^AK>+MB0eMSIH~wjtsr^PO_2P;9lVcMa9;c(W|AC_!xc|oO z=jGcZB<0Wk%F&1n5*>0hhS&be(O~6TP9KE5ruh3^CLn^Efoml1_Nl+yWge$C+!R^L zyG{JByNrBK-r3XFxWee8Ec=WP15KrkGeKX;iV=RRYKboI{xP2~^%7E@%GS*afD^aTmc z#^Ni}9ULd@GGs3nZiZ22K{A_@`gOw@Ij+^R)2c64o5%%p&6=rgmdvuLT)5U+m|ZB% zTiH^x%;Q;em)6=Zrw*ET2=>1y3=tU5TJO4=iL&UvhR<#3CUyEHB(wW9EqiW3GTT~7 ziW`#I2N$j2>?ynWIkm#%ufB(#+$ArmM;~nr7^P;H7#qe`Z@?}iaeLUN<>lt+V;8qg zNM@^M+l;@#m;5>Yj?C1y(~T}?Ym$YvYila#!IJHCn5OBE>4;}JqBW>j%iG@;tWSa4 z$AZ&-J}q^5X+EQLxgsyCmIspA%__U!%OXu2ma8@c=9g>mdG`|PPQTh)&9!&iTkANl ze6Oe@=YG5)n8vJ~YpKK2d5N4o9e-|6N2v4T9cfh@9u4aK zN&6pfX!ha=_Q~qcV)C3>uErCMM%I&7tjHBb!Y*$Y+0pF&4A(Coan#YybN zpRprrWS}&&mc5#AP9w6BMa;}n*)idQ5Lpwu4xhP3Rl-Hm$R=)kzSsBn63ACCHuGW5 zni^hBr2G`oEL36k{H0?eb^65*qC@${R#l0#{t+J}cJiM&?IqH`yx4M`a?Q~FY7*m} zh!$C~H3NUgBxb>qMB)kHf2yF45qp zn9TK_v|W3MU$?j_nI}2C{r--*cJ*HJWpC1sN0fz{O;=O+Uxs%WiV587bW9P{Ani2P zQNR18D&>k$c;`#|LbcJo6p_j=t!9|e@R_TrVvo>WRu!QU-yKu0no)Gy4TVPj!d0b8 zzD0LC?S!KC_foF~Q+#|&8HPR~ktQ9F{^%|ihB@h!b|atSlebP-6lrzZ&G+a}{`O(f zG}~$NGNfI>m?CKwiF8GVu%7S=%j?`u>9;n|_o9bBOA1w|t4xLV#_U*LmDo?ez5eA> zJSC}vtVD*I-G$G|VnSldP8oLt!#}6%{JL?cI^!O()|YJiFVfok8Cnm{_vK?WgbXDz zb(BK;iYrJ3Upi&#v7YZQ9}1_ps$RSg5}I<5(7XZ(O+QFzupptK;e3347bG;+nE_5q z8X%!b2MLWTNN6HKLPJ|zh^65$lGz0bjdf~@#CK(o(4av=!;460G(kdx1qlreyQ#%4 zNNB7RYxcj(f`rB!Bs8Z%LPM4@GDBNb-bKS^nYarQ8k^X@>SYO#(Aa^5W(6cP{UD*i zf`o>K)xLKZBs4Zr%T6moAfYh^2~9UhXd*#ELt9vjqq+3v*d9n|Y$Nd`e{h3@MjIqF zxgep@1PM(nNN8wTJOuVYLSq|Bi~GR>5*h`N&;){nhAe%Ol&+wOhnCsTU=JiTwt-h_ zR%t*&BMK6lS0JJ32MJ9qNN8x8LPGaILSyHv;=D!*5*l`p(5QlhCK4nxbomfnXGAsZ zfrQ4+^Qq)I?j%TPC_qBP3lbVlkkG_}goc&@yS@h!8ar1=X5&?I%(a4qCISLY0-1BN z7A2noa9l}D+(QcL6-5y>f+i4X`T~Kb90)WSK%l7?0!=mC8S2@?8if_5InF|_A<#4d zfu?2%G=)N-Nuad9#+fJ2m3#Ej`O1oB$t%_nX!;I;rZEUKH9(*#v~;LXlDDKVd+en} zW%U^DiX#M?wjt280fDA<2sEujpb5uYHO2kauD7yoqel201e#8)SB{^;3D+@k{dlWh z_7$)8a{c+733q|2hEw1ifk4w)^{UBBH6qRGS*!kq5NLAYgFq9{RB&ij^CcaWL6->f)~ed{W9b^KheEk9+=>hUL6r)Ms0w3gp(dSxCOb9_$TB z^X}vY*Zh1va&=+CX6K7R_OG1O#07&~$$?&+F-T}=pXEBN&D3nl?@IjGZrPpa&D(13 z$NmUCT{I&Q`>e~QrYnKhNt&^C=VPMeh5;^R|2xy#&X}D3Wt6y5)f!2u!KO93^UTveFu`+^6n65(u8DonmZMrmpSY*9$KCt zp|OQzb{Ue)c7|j&xfe)i+~f&RY|=z!-VGq3A?JcX({XqABrOM=jgN|ePX>xJYruy- z)F+SJ5hOH?&wNU@BtSxw1A(R%B+zum-M8LI0s>7*5NMLW1A(SNP2VmfCkQmPBNCcB zy|(_%2L3~~>>~sI)ZrkZ5g!)`2viH0B~W{Z3K(_`Sh8gU2@TgV|Ft=1NM^6H25fDK zt(FD8fj|@LDoAM3A<$&U3KANtkRYN~B+z8C27#ta=R|{_f`n#}g&ZBMTM$ewDzUj0 zOi~uWh!&^S4$*)>Q!6thvqjE_@NDCFAcAARvs3s)PL=AzayY84qQKuZc=vGv8TdQC6V06JVkkB}Fh{iC$!s*`hFxqb5@@|>P`V^t|*?<`=|E3g_qSWO+QHV0OBC+2=z%mYl!Ba;{du^2<5m}f)L z#u?Gi?W12RM!%wrHd~0YsED%iiL%j&vg3$y*uglpVO%hnwB5MEdjUhETIsuNz$5nj0yR^1j>iwS#g64oFV)vd!T+R^|7j}!HZyN-MS-Jh z%%sFlZotu8KStpoU@A=j9F5qI{447$ZeK4rJuVPh&tg`6%W${80G1cvXoTv{a?%%a zHZW36Fdlq7Ms=r9%$J`$0Rl}&@0}?U6)$2uMt@YA{utjenzMzs+W904&d&cqDiBoU zlyHnzxA>d|wW>5hJ0Au6k)puhzb3N}cNqkwxpR#C@n4hKu*)2xG+b|vT|IML&*3kD zCR9}UUnd*9zeJiQY&ic9cw7@U|7X2P+kf}_`G*g|Z~whF0iWdXeYN3&Hx8?f71y98 zSHA^Uj~Q3jD=vU*8lNM>Q^hm5isFsdz3g+B&rX@&L|(uE?xAD^wXO@@Lr$U)vPSLj z-I4k|X^Ch^i{85-u60vVM^Wa!iu_}BWh0%tFCXe!7#Y}`y>xSO@b_|$3=4_Ip#N`E z`#+B~ef-2A?Yx}#kCV;J!;$~eWD{x_A?ZqTmRj-d*Mw^lp&p;piqd;iZzn3oC>CcN zdV@#Xia9l}dHI~9nf}GzTkx;m;HkD4CE;v(`Ns#MYGrw<3~~W$M1MVf`VhpVguPW> zFw>3__%|X=eI#0U;w4E6G}b07`S^ z&{UJ2z({;@QZ7Ud@doQ5P3=b60sIFK{{^LCEeJj#^P>4TN|Wk(di1xc=38w24B?+m zZLf2ejQ*T#tjmr5L}{!=j8mcyy}|aS#%W0rCUE)`a>WEDn}r21)m$t#fyu^XF*~Ts z2bpXZIHM|X9AK)sNcH5;$>yoopD4|W#Gfcl+^Ls`C`}Zm_%}*(>gFLzlT)&I=nXza zb=cJA&D>mGT&X>xIrIvdZ1Q4{(IJyfEc$S=;S2pe*%WI1o@`uyPd2?|zb6~(-;>Qj z-|xxB==WqJ*BnHBZIcU3H5L&T(A4f+|D-7Vy{P>bGTG3|DTAp-=7kkBwNL)&(}&5X z>R}+9K21g-ktX#_1f_Yobm$Gv`Hj--S+_%^Nh#_u(ln2FgKgsvQ5u`WNK-015^1WL zIrIjH9HKP*hbWD&5rWbLOdu#t<=aD)=F+Y|M4B43kVuouC=zM9YIf)iu3$k>n#{vU z6E7BtG*$nOG&Mg$P@3~B5NQf@fzzkwwP31|JAkG(rxZ*!_%7fLo~nVJM~^y$R_($scEPM`Mrk*2mIa{A=hk2JL{ zk<%xVex#{wYnAK&+HwM#+Hw?KaQaj<0jE!LG|Nb&X#$$s@(ibt)2B%|eUfM4fzv0; zNyHn>t^%h|MUzORiQ5!TpMFll>60Q~0GvJvP9c#dp&U4UvNVu+tk7KKb<^-e8~V0`$ihU-;qli55A1a{PpNgGrIor@fCzr0FEm)IL5a z0Ffq{7>G16e}qU=_ihIgX$tE`n%b*NaQa00MGQ`#9wDbsLWieMhRErY)hrjBK0TCx z)2HIY)2ElF;0^vYi!`;(0^syX=o@&0)vQ$D^y$|pDTp++A*WAH9mwfZ6LR{*-JuGn zPx(kwo2KPXsL$tQ{_r#vCyv{R92!`);tY{$j(f%#U$X0qGW8AFwHkbS@SaSF$0^_D?Vd=#jcQ)<^~?u6fYN9IN|Vm^^$(f+ zI=rWh@6P)*o)AEJopQc>hKcJDEub_afYKPJO`L4VYoL9~;3eZ%e>N25c1eB18I zYS`7$j`wQ#w+gZhSIo-Wmvz}uO&kzuD(-lClM_&ysy?B@!E8Wj^rpC;RRBt3Q!Rk~ zmGMntv$)$Ck1Ot&#K86QLwO#OmXFV88#VJ+d3Z5vU$iwiqhJ z;w+71xJ`OODn6%52xVwwE@+gN03O8+D9x~T?@&oejg_fI_Vcl|ivHStp*(larAK6? z1I;&i3PP(#3Us%cd{M@wKVfOokVZGyzKE2Ph3?Z`G`D zjcAuu)_Tll**8gi{*SJb(}2>n07?@AD9t56X;cBFNd}ZgvwY#+2mZdoni)W8+5x3O zJ>b~TcP?L&g-DZU%0}^K)_2oQroky%rLx}9r`ENV^xtwe@6J}Q@a~F#J=wbX-c#*| zhaAP^`P`Oz0m)Ebm%R^+ymoS8HEY31S7-TBwmX&9*08EizRA$#14 z@v<`*BQHQ{yaA#0i_9tNRyX0M4FB-2)&W2LHNTH(w>w1qDFyxdY#jilsd(l$GAGuv<$wEJ zz~mhBv{t}5h&0(ED2+6rGz83m((o7i|1?tkVjE~A5V)fywlNSmUmtj6{?4{Y&?BZG zymY<;RFH9D5D6ggn!B-2tqD>Dd&2E0^RWu!-G#iZ}(#E`i($t;{lNY5^EDu}#6sDrh zEk_Yb8l)u zX(r&GRDr{$JhA~$8VYJaY4{TXrE!Ny(_<9MN81BX8l$p^AZ@>V5wx}dDx#bcP@1VV zRP-QQ)HXT=B2DZPA=;QBTTI%Ze|R}YQ3jKBoWiR?TAH32Ny6uptl*UXNP#QaOKxw3{V#e70S}3q*2(i<~ zmqzWdHx021+br{gSeaGqkMz4sqOnoxu^VWXHRIS_(b#>$*n>gr9~szV_Sh4OSbRz> z;X({?Ma)T`nA18jXE|cd??jWfMU!EoDNLfN#G+}4qUnaB7&4-m?4wu|qgW}U*cULI z6&P+G46hD`j{_sHgBEH-3uDltCTMXnv;+}aY6x{b10`dRl2t^>QKA$UB9$s4m3<;r zbt3O@M5^yZXtYIWVj{FnB6P(f?h{2k7z%%s5pG}~Zm1akj56GKA?$fY*h` zouKfxph!#*+9W7SEGUL3D0V0?J|i&EJ}_A^FqJYeeIX#TA|Tr*AXg_KpCh1f$G^DE zzZBzNZsK1l=3hw<54g>R>iZ?}%`Cl24<9iK04KK&S< zK@*>0F`rQ)pYb8@i45;4d++?WEZgb)XV=cpVRG1*E-l3qEMxfZ*5h3dW?J{*mwn7| z@R3Y0B$q~pDb|*Dk0_5$hVjzcX)k(uJgPhrK86E&0^&ai4uDF(0kMC!CH=l?rz#*XXX`$C5w zf{*^=`|tiae1`vT|H^;x4NSw2Z^t!txXZw<^m}{(FlWG$tIvX~^(9x;Gp_81oN?M5 z0e9G46xj?VFDYGSmSkt-XQX4Np<$w=W}~6yWuzBnW4^}2rhJ84Q<7g#TIjKYxRKh; z*N=7Wtt@>!J;FjmqoShze`J~I>+9?9?;ji-93CDX85tcL8yg@0Ix#UhIr*3V_3Z52 zw{P?C=H?dQ&Cf6XehUjr@D>-pFD)&9|Gu)k{9|PWa@gx@YjCmj8;e0I*ndl4BMt1o z|Mjmu?91mErQiPiryjQPe|c)bUUNI8%qV{-1rFu7-}X;ai;rbU9QL7%3CTYsnvki* zCMQl&4@oqY=8o6CIY!(^<$e2pp~30jmYIKHO|m z7t03yC$r;k{%&enCRK1gdIb_q_R1gyzVLTbOW9ou;t7^XZ|d1i>c34baJBUI?KgLN z!C9>b%qjDKPAx$<3WTG{WJuGet-QFNw1nKg$vzW?B%0JcxQZsj^@i{sn%wtbpG85U z>8VQ?*NqnR3uo&mQLlebErgVT`o|xC!|H}Ne~Uf5T6)P-L>KSH(RBOIsl~j^D9K+% z@lPpmzjoVvEY=yuD41F@9>!ydo@HeGo?0^6OtKz#{Z2GJk11IeGtB)>#~dYmkuO8* zi_kHPS?}5;l?;k{?j0tY}hXc{!)za|b>&9v2TR_J=+gp^Tq%%59G_Cp41zx@1 zdMPz)t?i?E$C@KsE!TR7U?G`BXT_)=&@r1?(Or_=c$P?_N$|N0oqtg~Of5fqMFmb; zSt%SQnpicg`dnXjLZV6dyVZb`zcN^6x?fli>1KBV9rJ9-dPJjBd2`hE;JFQMO!Yg` z!%kha`KqI&3{qgvtG1IjxDh&LaY1A{RL*pJCiPyI$jN8}pkvleuw`>`k)~n^Np#qq zdAM5ow(z!Ld1t98kbQT&v_EHe`OYl1bfpTPw<@r1{QlmL7S{3XiMIYugpTR{wrZx% z3sT_4UB``E+6W!f@J(WP%JUU&do(<-WM{5)rN(k8l;&XfXMgSR-ovR^V3}!1k?KEK z1UhC8edKZHo8!0Qj<%On?=ZZEtEI0Rv?4-8ia*|wFX zgWMEl;t4h7uaQ!Ax^wx(??03mq-^`)F;^JhZRyoOYaZx{yLv3)v?qZC!(@lojavyn zg5(7*ajbe5StN8M5j1gN0(`g{5=cvJMY%INeDz4C=B{i>UiMk_dm}K_^4Y8TN{_$4 z4^tx5HzQe*cO3zi9aH^3()c77Rs%`H40iVjTBK8M2Z`QDVj$bTF0J1Y?B_Rqmeg2M zUU4miw~)C}(7RP7CpctcDv4EYQ113S)v%;nhK;wqFW<{p3&*!ee*c89U1!5L;%GxM zw+)4uy0dCz6-i3P8#|>3MC+&urc1S9-W^Z%ebF25QUp>5xr}?-F`qkT^YRFJO-|5O5uyK zy>)JnJFYy3J%i!);P@GDWUo^=Y!gLoEJ^?TOSU=bNj7t_Au0Oj6`G z7Gn45iNM@S?s%83^h}I9;^L z^!&0eN0-S)VZ!QC+705N9&?YP@Glw0nw+BTH$N3;`QyGzKUx&~+_q7om;bWf$ai=Q zt5AwLn)Aw&ige;}TUn#>vRaT5`z*(1xvUvaQWEj#f?EHb{_Gs{!gjW06PvOzS(;b1 zN@Miyk+;8bzk1Qj$+nTvU$lJUuH*Rb;I_)Es-K;_tv?)OaSNNZj0Gz%G>E?*4OOT+ zx1Rf!ESll?y5f71fXlAbdtwAiTlKVsmuK1h9u=5tsn9LI)|9E@IO)69_>;jb{+8e5 z#oX|^ef4}_UyiBq0^4ShoB@CK(kbd)EpeeM>On3eJq&bZA8x3uwFX_iNzS?5dh#j% zq#uc)uUh#%wVZ;8#M$Zn`*!Vw`{r_mB(wa){vG);g*bHoEgqq%uFe+$0!ED;EMo0; zG1et&*cFm43H8=)$F56p$%1p�x*(mM)49OrHy@xBC<{rj+O_I4|E{(9>#Plq~E| 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 P&Y7pUMhXr+9 zTkri6m=-%q(%47*v#-xvxtr@9HPobvF00nkxi+bWx@u#f#yRcI+bZt-Zv407v5#s! zx~Cu?CK}L=9X&N;RHI|B&&J9PYb@Mw$1bM1{A=plp^FTD_*mAPST`QwcTp$?U|VEt zkX{cJZK!Xz4FLP&u=yEfI@q(}DwBo}--P^94e)03`w`VvYDbvr<6rZ-BGeaIDmqI^ zI*S_=nZ;@gJK6!50S^8P$A{JA_mKV>&d2Aw4|!~eOwSSOSkY`df}zsf|kpI zcEW;g?E-MfLl3>6PrnEp^7y2;IGaD+*#7G0w?%vE{_O0T4+^$f?a(#Z8(CxV9=uC- z2okiE3zh>7K^8J=9gMelQFJsr8|phxIa}z1#?8`(3HQvY^#sy#`;jFq)0ttj(1MP> zVGsJ}GU<_&8qP2kkcbsHi%8E?VpW(rmPMG^$16l`N!dcc{z$N`uNiif88&O}@{@_- z;7!7i9!LrIQmEaUPr~nL?x0WjYf$KFm&#8*k6Kh0aUv*vbjqK>}j7?FIqg}&P9zA zPeD^3p?}$lfJ(VMD{A|$ZxO#aUEGt(-kv4i7DbefH6LL`EWS%eu_a7x+lEr1vDC*% zG-Ow@=;xUA=3bs`+z;NFL;kLm-WV{miTt@sUc1Xrzfnuyx5bFBV+rdXUpaC2z>AO?=siX=GM=w#S=BBTHfp(ECQY0 z)VycQrL1w!@IZ-4ht(u?=@z*fcn1>qthwormLx%ie*V&DyItBVnu)7<=GdgcJ@<6m zl1U(tgl)3TQ-2aH=vkJw`k|!xsrFK++)Vy+1?y`Cd$)r(bI`7**`V3>MC*?CbJAPE zCA~$@^|AG~PE~@fo0TGGdTl;2gjih8hTlUstDnt03z#n?S=id}mAM3(pF>RZa|tv* zgSp38_}f?6&qGQg`lrzvbC11=>FDEZ3gfP0WqZOxXL)@K15{}U@NM`E8nsS;xfOwx zwb_CRvG+e_lm3=tCcxJ>VOf~#@y2@j@i+C$EHB)y%@Fb*$}4OiCN^s(`AflaNhFyA zcULVkvSTC*e{|<;ueHM|g>8PrWIwYpN%Y1T`}Jii`WU}1=eo*%oG;M-l>KP$d~C&J zKh@+Y*^UUV_pNcT9}GS5LI!AVD%jVj)H0SxB&>R9Y7IYo`ISpL?FXk1^TLW5R$~9vNb;Djq1X zqnIz#ie`jhS&+Ix!N4SOiS~ou?~Hp}2}n35`{7fdv;AGvHo`x}+wLlUPKx}xtklM* zwd~e*>s}{~EVZ+C+HSlil@tFnAp0qP##4t&&d=aA1Z_W+B@*cN2z{QzAvEJDpoYnQ zN_zGbk!~vd-Dx0IiA!8TjYl^z*-sT`!wo5~-+N**AWZhdl3x1!8PCR=Ck-WWasL8+ z3y}RNFqHw>Prk-=8qw*#7Ynj-LRvas(}C>Ad?EKbwKmsY?St>vg|$EUFqMxzHUPVg zp1)Nk(K1N%64o`!Oc$1-eXCI}{YA#IT-Utry2#t_ZCtsYk|pWpZ@Md)5btbfyhQYL zUu)ld*yIF+ZL`#HXnD-eQY3s-hym`eb?DXPE6`#n(h5wAY8%vF3+k z{fWWy;zsFwT-bg-J|jd+9aegk#<_*9F$z>4!7t-R$szzOg&6_|9lHYyQWUswxxOq9D-@=kvy^AnO zI{Qw7Z$9#)SLP<&3YF)`d2v-Tp_KLT>)vCp`e!qeyTLk{H8zt+*2&(PAA+YV#?5a^ z+s&m~H+WCm7p_~m?b6rUFC|9pU!M-~nX*kyZj*N0U<`Egp3k0vSehYN>YVoGhQh73 z9oy7*_hx)#(0AX+KG-`5yW{%qw`V1oOs;HO6ezgMIVzz!g<)C4aA>j8$j-G=Q@E8M4v^Uc!cW% zc@XxZuHii#HHfziZpx*ihC6vy(se#~1My;OBORrMduK8>S(>OEyH>yd>*kM?Wk@+- zS1;f_t^rjG@V|JG{gAIu4QPgu^1|i)f##kDcNatz#7FvrY?}?}50DDdhyB5>xDTn! z^*w0%WKmP$6ZvG-%R-tNUGZ;HFv>?X8L4#;`q^ldMp z>JPqOqMPpB;Cm!>_aj*pRU)G>ko}nI))oNSPpd`12T229(_Xt(2*`fqoDArI?1yD> zCm6_nD0xDG?1x{=BM!)Z>|?iJg z7Y1ZM@*%Kpb8ms~(|5m$kHTz?$}JP-AYY}9PP&{9Et49E3?JP&?eG+~N{NRU%88t| zLu{IaF64TEoi-O+VamtZWvxDTW1@eim^=cG=jJ+7o^=dRvww3n-%&gIfGx)lVZ8bKbx&5d_;eNSo?Sj9#^O0lz z`Jrt+ion9{PIWG>h+Sj8zlE2`c{Y))U2}x^SHIVi)f5Q3Rs+KCfwt!vcaQAaKM?!~ ziIPlzC}Q6s=l>%DQJurE8;le=Vw!fxQH^f zb)5Q+Z(A`so%adh`15s;ZOzfeg42=X>{qi-4R>lYtVEoCITPBoh@h7swobo&NbFIs z(aYfor^Tos`)*tGO5BmtawdsGe-s+MnkM4BiU@KTMxfU`ZJpN-{Ora@T~hN9&YPn_ zj?+izjp`%k?IjYYxjUDea1oc?*ZximB8f4jwl4cVPn}j?-wW?Uxa<}sUi>moJZm^Y zA35H0*;z_BUnsmd>A&ZAP*``cVe7g&ckgnbHxZqTxV(@^biMeRaCuQ!eTh@wPF{~~ zT76BhzWGT#E@$=iPxbYd^*7h6@WSh>Q|k%xstB9wk%RTbrd1^S^`$rsq?}c^9yY)Q z8pzixDPA_@88lGlRo?Mz$O>zqHm#&7ZAfcsxXW2d_q!o!ui@T$1p`H69Ao2yyb8vr zjnOX}nM^B~ts28U8d*6j*wWCA(2_=ubtLCdBV@jjI}gc&+vH2$#Ak}+7i{u;(j>@< z6#CQzwrmnvM~H?uIi)s<=OHATo9qUgq)ZXg`%P9j&9a<`M-Q7V1e%|$mp^^kY--Rf zpI5Hn*=!irtYliQT-yApsab`yT=jRe{$8{CdYJ}A%Ui~l=Xqr>p0;SeXnAE?re)Rg z(gX0c%XHFOG)h|Dte3tWYEhYQ(aS4+kK3w9-ul6`^rK+w(f&YL&HY{kmRa z7~U$G3Q*f6Ce5v)gRS43O3e0Kg>c#|&IMK(753(dMD3C-JsYeZ;`C@=v+-v5_vkQC^%2Nd}O^3b!EkI!fhx0-NsMlyC&X_Tbf`?gv)Q(PT;BNN0jIr zr+CA&-7SsCVIAVsrFb!~U{_5PtfIi|+Xm&VW75Co_7K%I)=mQ=RsJJ0i z{BKmkJ}MEnBZ;CT`C&(jU`OiHj7P0>tU5A1JF>z%vePWD{590|dV`4;LX9u8z zZ4@{xNqH$L z1sNH|M~{>qKT&=vr=p;!uKetUn)>UPuk>`^d^Y%GYHVy}`NPi6&e_@7#l^+d)fEf| zyScf!ySsaMczAkxdU<(ydwcu%`1tw)ca8o0{rv+10w54bU|?WSP*8Ai@c*PKjEjql zkB?7CNJvafOiD^hPEJlqNl8sjO-oBlPfyRt$jHph%*x8j&d$!s$;r*l&CAQn&(AL? zC@3r}gu~%QMMcHM#U&*rrKP21Wo6~%7PG;&dkir&d$!w&HeiI zYkq$I_wU~e3k!>ji%UyO%gf6vD=Vw3t7~g(>+9Dk%Y`T6<9#RVFT{>M6x1~H6BC+*+Yd9Y~yH%%db znD71e(iK^u5C7ddPimBqT5M3opQaEy$?)ISdC1p@_LvLmJqc=}zpGUIzpV2}2va}2 zJKp?xtO~g^-~M0Md9KIc|D^a4y*}H74!EaY`;T=V$FBFn!t|oAJAhxYy|tNttn&=C zjMh6}W)+dT{W-Mv*E&z~XWE7X^_S1z{*&VSz;{w;)=M@de)*pi-!Jt-(4@y<)BiZM zS8V|h$dsDWAM5j1|-dPn8?Ra1yLw5Ob@Ne1=$ds9eI+VB3Y^-ojC;${BD zeksA}swotX`s(9GX?)cbvU<}rR4k`LF^aDqiSkN%^p~8K3?|)_SLL4d*#*a ztc;x1oC;XSYAzby%D$EtUZK2(Ikd--QN9T@h4nWizW$~73M-jnn!@#x``m<>rqCqc zWk3(p6xwinNp)}ln!?|a0dL9|Gjca8*FSoj0Zk#t7ILcx(-bnlxoQdv^Zqo2<}_DL zp+)karm%4QPg5BFrzw1m&z(%?!@1i|FEY!DVg(dmFY3Z|K=Dl-{m~^jYHDdEFp~!; zzKGNBy|OpCtiID?>+km|vgDVV&?e9B4`?WGm3>u}kvbUG{whVPpk=agFskT?dpP!K zi_-=;v{$n`Zj9JCY&EUpI+`MEQ$3otJ2J5a6yKxi&7UqexseDk$n1Eok22`^7lbg^ zZXT+jwl*L7+Dt4b{C&a6V$7GGlcgk{Rr}?%sLiG2jLZUuxU9m>(>48alC$+vgDK4o z3lTn zQ#W<=E6Tjq>~~@z`V^kti$2?qU359$AMG7KKU^wweS5sMb&0+J6yKFQ_1H8P&ewrM zdo5A**TpRyiJg*g)9(O^FRwjD@%4%V6klFjjN-6Dqxjy&D8AqIF^ca=1fckS*TX2j)gR8zM&Y!myH@we96Ox0mWAg1}MJd;nRTPt3=)NJ%;>B@zud7 zzT{VmuMu^x{RDZ`0Y>q)hXIN&dGy_rOxYc3jN+S!QGBs0L%hT(G*C`iPtV8!#g{?` zqxe1>?hSN!sZ0$hzAfZ{;=3=7QGDwn`XVZafP_C=B@CnZmWp5$-`?T=_|yF-Vu0fN zo_r{o=9Lge@qHEsD89D^Rh@HQijWUy>qcmD0gCVSmw@7HZ6XCIz9n}6#rL-4JE`1P zgE?B+#bx<7xrH>`0+aG=S2Zm6NjEoD5APRlE>jy_RoWu;+oCdOiuG_sFQ)$VTUz^OnbTSm39$z zLFYW++ibJgw8ix|C?C3$ueV(n&<-YXfzvT^eh_<(Y&5Ip^&ZZeBaSUpV4WQL8ZJgCNWGCb~UsA8B+Eu?OcTYO;!UZb|;o zS6RQAV&Nz?%KPD|>kVu#bUd_bi?5gDea8P$(MfX7AAOs3k&hPM^@WlF9W%IICsd;2 zYUWaM@r(28waBs_=Nf?o?A#?OPuRSog z%r}|atsHH+5Q2wrtbgD^jJ4Wu7l+YJe-?~T4?PUZTx@w{qcx<unx>K%?P`z^%J!$Y3hJ-S)vz1Vs*`p6B3+u}NT z^(?WpXyg67Z7+4?90`KAnK5C`??qe_W!WXv4p6j?_uxi`8PUIJP;Z}=4?M#rXWIZF#iQ9|X-5Yh1i{u3- z-2&Bn39h2cPk46v!)kwJ$Vj!mC_D`;sXd@~m0EwoeKsCeeON9dwrN?oJH1!CP(lOJy3!!yhyjKJ5#%qK2GIE@4Tov zU#t^99V|RJD5+c9bd?#K=eaBztV4gPlR*y_TwavaT%wO`u&BU4Mm2El&z3SZx2F(0IF_JD6tyP7|hABCu2 zxSiV%JHNN#eldmu&@sQnUB4tl-Z)WzUPk|nc8>IDf0GjbylDQcV}IPw;9^7RBJF_S z9|1^TjZ$R5Y-&KQ9cw)mgec-+^O#hV9mF*h(lN%;H3o6qh4lHV6o>{|ybK&U<{gL* z{81b@HOBn&IFQUE@Ru*|oOY1mkDz5k=2c`+(UYLfW1bDF;3}NpeNp#FyI@^`;8R7W z^RZxt&%szI_Y+a56)W@xn+F~YDx?i1Qj#M)fl5$?kga%-=!87p3#MXwNK+9aI}k#@ z!pJ}!D$F1HP=~+9E;QL7l%1N9b3Bx17ahuL|A1dCEdFtbFw9F77WOteRMOAy&PiB4 zRrq84012J&&&y$oC{dw`aLR#jH9r;w>Ik!}@Ruj(4Jf)juQj&*+=Q)e{}Mlo%PC1z?S9-?0E!V+J&C!Vv>pidGt$`Y@gKE&2divOO3r~C@HGD$8aiDZ?V zm?rtISTeI6lR(*)|eE*iWE+Vu=SIa+-u4F zryxQ0RFTsZv5pjpm=r1F6dCc9M+7NPCX(fHk`)}1m6Vg8(Il&`CaG5@Y5FI<&`o;9 zp7i=OQKuvEO-$lDy;Dh;}Gko92-Cr8@L)1Tp1JM9}}h<6Tu!6bqa%Z zz+z)y@y4)3aab||EOjC}JtsQTAv#+*I+rFoe>JMGGOEZwszf)cj6Di*8d=d1Srrpm zV;os09@#(;*)$Q+k`vM95P?#T=%k70UJdW94Da_3AJh#WW)B}d4IA$Wn~VvYHV&H+ z51S(ho1X|>$O&C?2whPQU84!zSPj{#4B7Dy+0zXklw4l12c&vQx1G}TVef@vKZqoK70dW0o^K^lWG{tuds-9lq9t0dGx1|zy2((E)o8x$RI$@cIrvwl z$9$FN-`{M7$8@>-DBP_-2i%eB+LYj06XS}EbS@2bga_N@`Ta=uFa!SbgxP-f`|;7q z_^r9V)_YAAEd@EvM~_q_r4&WPp70CHa0^Ou@QX0>iLmesvkHi?3k$GI@Nvp=@hY(k zXg(BsM=xeVBWOt@;r@3henx<-wW^CBOZdQnSAS60-HG@ zjUxUvkA0A8-X*%e@Q;w9FVK>2;iZ<*<+gE1$K-0~j3$?yPS=6~m!eT{=_D92<5v00 zt!B}$VJW0-1=hWu(7%~6vXwuzQ#`we_`P4Tcu>7`P``4}xO&jM1{_%0N3HL7tnGEI z?shM4_5EHQnE5q4IW;;uJT}}vG1NUZ*!FXdx-k_Rjj&_U6Xc_QuZM2H-wjWmbPMsK3u*L`etJZu7bP>nuhtz&P%IGmGIX**3&x zBg0%&dgbsP=mv7NOZ2*ZOaH6yls}2M_gT^Zl!Bb_&qbvWj;Vk4ojCNmM3)FFukrDP zhg=I|dItTU`%YUk^&V|Kf=Y7GK%K?M5!DuCU*`Uc@3e)P#oW2)m%8gt_)hZPzxYmP zz$`{Rp3S?JQ+@it!{O}q-+d?Hhzo_(7Ek%vh5?1~t?<4-#MWyudM>(W_rB&V?unZYr zYrJRNnm~t;5%VvF)n3)W-%Oj<~1aM@6^tmYx<>y8<@rP$)6dQ3;-jJ zvN3k$Z@?^OZ3FSaj1V)6F)@SuO2Euw$^-N(H-TA9^}fwbbIe7ht=jVG&Miz@wVg#H zC%z5%PEPPT0ujJ>n&l_jX{LA`m)A`BHE*Z2_+!^j8-q_*cH4s}(_NH%CcJY{Pnkk;oNU& zts~mDz$~WZe$;iae$=@@8o;s zJC#gm0>0C|tZl$|a*F7}_)bsdF}_phAK&R0#&<${%wl|}>ya4WsWa0B@SQ+E&oI7| z^_A~bcjY_f{qdc?Y}jFZr%Z2P7PIYEObz%>ijOe96JaUfJ1NRye5W&v@5CyD@txK% zz7wl7#&;UW_)e@+7~ctn@tyD_uY9KpjPHaef$^O(F}@R?IL3F1!uU?hq8Q)F2je>} zi(q^wYmDzSCXDf&J_|6?j2a?t0KQZD3&3|m3SxYxrzL>zG$w%Yodov)-)Wp5<2x}6 z0KU@+pB&&jQCdEH$Z~S!JK>c8z7syLD&RYvV07~iSP3gbIH!}v}$=u*IUqE^B9PA&U@?-Zlr2KY|hf`IQtbLBe?V|=F= zRX@OYnl1%=C!kET*iTK^WmZ(6xsUOki1-2D$$-)RfuJF(Mae5bFd(gZP*#$_#BTV6aHu~tGBZPpOYKFjZVZrC@j3%(l@9ylcuHw`ITM?i zCE>vIZe(ih1(&=B$6J3Ots<4;{z08HweX;{qKApqDwVKr<#|-%NDa4iN$xubAg$U4 z(yDPFtx74WUSwi%7$odDD2|HVbmkGB=Xh@nq*Z-DS_K2rss|-?XyE1}4pA32d34kb zXo@kkXBU!X_X_8 zR^cFqGU&N;UVNK+RU%$d;38ycz_qpnq*VhzT9pf=RR)OB+MhsLwK4sHT%x*F8o*-m z*Y|+5Y86PUCV{l72}r9Fc*;w@&3vgn66RjL7LtJ>Kg1 zjamCaiN?cP5wE@cEyBI385*=my#$a}c>rnEJ-$YAvtM2Uk}V{zq5+KDJ9mJziXTX; zOn|g%9!RTZFlp81d`OsNJF|>f$cutqMj)+H2GXinAgy{*u_&C#-(zXE5WgqcDSasx z<-xtrLteA|QCfVUGjBgVwPHo>y}(fF=3@2>sUEF5@%WO00}0ETH3zi#*csdLmV(paH`NCPy`t*| zy*uNB==t)xns&>=v(UZTBi2i)?bqDrb5+&Ht-)fuVd{Ge0+)+DuC+a>JQoQs>P}_r zr14&%i-PTuZVXvePYFpW&^zWgC=jyEu`W%{TOizvRdt?ZgAw!=;ltZ!+X`Ze`V8l5 ziI*|=iO{nk3kJFa5z=dl;9Z0b+!B1P!5IxExeupF0~2~;fd{eO$V5qR+qtPfBEn(4 zd1K7^@Cd}P40>QkTLLDO+}7G#;wL!<#Xu=;WI4^Hw5A%5lDUyn2dEjaiG;ZId zV!g}9>iN`{mLb~RWSZC`Bm}~JBWg&XML^}5st%egd6(J z=;K>z`&@JL^>6nLItGu_6VvgMW+89H$`Zyc`(67^&EncjbBRSzr9td4MiOWjcr7^y z;Xsmq5DV(EncX#^YgWPqw8;Ww-cT$fgGZPzw(l1Y!l)5f^LeDJj5cx5e>m% zg=#c-@5$n|%7&n~iGh{u>tf*3W0x8WD1}%kPLU^>PRJz|l(Hi9t`R!KV3~vx8p;|C zCif%Zl_k7i;mgEInlVd+V+Xo9ezPk&2)HqHEbETL7be6;`g{y}6Lm8hn}7)wa)J!L zR)o)C4{}HPT96VDp+W@l!yk+J%2m)C;E`yqfL7ty=XgH3d%@ofL#{Ot22kNe-zRvh zNOHb}|JIj8q8Pu3f%w5Oejo#Q1&$ZkhZjV88w&>7BgNy8C1BAeM)wg1ZsX&wfNXe4 zV@Zi%<9L^S_+?O68zXnLKJi&SF$8suODF1@TeLqaI*5%_%_z*h{bmpYK?Bq^&z{78 z7C&PtN{@%5H6pptDBw>rvBt-kA$`|mv6yt7 zI2#nfiO5YyYNDlW?D#&sl6t6BUvwat8dVY34Rh`Di#<6e+R(=ftj7z@aK8663OgH0 zgz}s`iQ|GL^(%S9u%TOhH*jtde9ca{h8>O8C!ta#NK+yuJBbt?525}Q%0Q5e8xngB z+kKDp<`yCZyMmq!MM49QNXZVvb&DdUzD+nDB6m!nf=Zmo_P#cktbQxS;sj*p=dB(R zMwB~k`Fk`E3U>U`c? zvsl6?65_rzBX&|U`waG+7*mH7m7Ek*MdIyKBJ{)wh2ANNt{5p_R!Vw3^!hTj1$(Bl zak@1Dj6^((NSX9wcKoZ;tYG=1yUpp;l_3VF8Ley{DKOYF-feqbZ>W7HheHmVe~S7J zehHMYMBClOKjWr2X})oeS7oltYR*(<{IX8gHMbC%iU?;NPoR?-KM7C5N_E1Dg?-3H zI>cZ0rEbaMng2?|{hp_;lZ?^`bgX=#>(8G;6YJp%+B_|A7|Toohpp-RHqj)*J2Epm z(o(>XyE=iV#+fz#nWgM$^Xz%Gy6~3M@K>h=B)R!9F@?P}X_xTKRIF5VeW1)hVWeUR z79pX57-%UgJE|kmaT&gulfNXMMB9LtUn79(`4w-*#Mp_3tR>yRU(2{90WX@!9P{%o z;`N_GUgPtH|L!QM6VGj6&lP)?cUGTG%vN%|P11@i$vy#7I2QDb6`dj&i&#tjWJ@Vx zgQ`f0$xm+fVi%0r7xO zMG@pW00z`#h8kg6dk!_$N{N3=SwGF~VVJ8v4bq7h`9U$dlNW3S&0~5~6cJ0!K^yfw z;L+MC=o(%|!mWtl7-Y3WnYW|2tZ&pRG$8B^(!~*}_y(RnFsiV!T^i#jGaE3?*62Zep)HoM14Y! zdc36&G&KQT|D6kJCg%aR_+(P40jr_`PmM&4BK$xLLQmd)oSgwysaGrh&PoD9Pu~g3 zI}bex8&bXy0Ej2&-<=w&lIl{!qA!NE=oFvF57&AOzoioZh$pYo;g8=WKD--YwHz^w zSNv2nA~!T*)-7%f@bm(sR^5C6@kA3g>OiMtF+G~nGzymDbC(*6*dO)o7W0Z9BPbbz z#4Gt;j783mg>vzRzZ;LI7>|A@7gIA1u^dmx=SiZQIOd;7Q{~BUo=6`W&*2iyo}Sp) zoq)en!;_jkVw^1h#*K`hTzNTJO(#=zF*!pv)i|wI`)-P@d7^zoxVdI(bYQCI|B!Z; zQB`*h-bN4(eU2#7VIbYzSb&O@K_eKHg@S-|cXxwycQ?`@-Q69B?!&wP=yTuqJTtRq z&AhI?SjXkk5Bfpf`*&TJ25T3JYP_3kyiY@}$!dJ!&G<+r3z+>J1&&X7iB5`6)G1CZ zjLXeLP4Fg+t$pNOI-4jbn%s_J-qn~a{yKT6A-`HV*$_X8B49?Np2F#$yo?gYu%1fw zpTeDx$C{YBJ2!!->LU`HmerWPPTdcWp8i}pP02P$ikjxHo4V=Ecw2KO`0EUVEF)9Z z4B7lN8?_KC^{gk?EYF0(8_U_fH?u;r3?dV=j8|tQG`YmZ=4=$_Bq!*lqvskiW@S2t zWl?i6taFN0gMhBGrkYol6?jrLuh%oL`RNXztKM=gyk)ziW4)l_zhGcZ_hDk8%V^$^ za9CAr(RgRUgqqGQdJ!d^w`i%!{S~!%KC@^qcH2>N>F(Dh*XZYVRZEHEOWxiizSPU< z8jFD&yzbV^OI*w09c*C}%WT`rv6?sI#8zH3EGKEQB}T8%=B;FG+{i+$P!g@?O}t3a zTy2b+EvXVJs9GiLS*?mzET&%Ddb?aNJKbo#MiRZ&nl)WEu@;4~))g&QC$^sQY<<9* zb0~Vf>E`;FHO&NSeecS~47F0b=EfVVjioBCxvCAp!u1WYNkCWai*D{lPXfB?^la@| zOkjOtb0=UEO`H{79GSkoiPcGk9fN%O42i!vb&5i2&moCunDAb0^?%tS6{jMv-sjq_%kshWaia=UbEo5O~JOMFKqXqzu)SRiKSRB=ayhC=Lo zC;Q6oy-D&1uXbStJJRgSkE?fssJCR#d8BCek~sIC%aOmd+0*aeRn2BoncR!n+S8gO zdo8{np|G#h$#N}b|C{~(2O8o}=lgP34!(*bj9(o%XV0EUk|>qAAOZO`uzFmgU^wE_K{BK(VNX9E%>np`?0FrvC`+` z=RU^@*~hY-$4@qorQs(J*-!4torr%v5%D<@%s%1kJmKCv;eemAvY#@^ozj0kz3p>) zBm0!P^OOR$c}faDBW6D%k~@QcKEwAp!^u9w>O8~PJVS${&e%}LvZ#Yks9kT=Ru*cb z1GTz=S|U83XFH#fJ)it^KIVNsoOM3Xao)Re{=Y6NNz=1xWI2*OTaXFo{rI1XN?*z> z^`9>*COwV%XHhALPLW=<(i)TESvzGSyS7{0CYUKWFhTw2D%N z>sNgMgjT8S=yXKYzC`U)s_yS|zFb?H-oh?JsVM+9B_*%RN=|e;Z4p>V9`vC%a*wUFNmkvXed0x44lHO?3Qi zA8+tttAv=b0<_BK_Vp2m+m{C2XrG7HkC-0JD>ca6QMjul9sg8sq=@hWt;$J8MMWx?pRq5LRIZ#vzQqloMC4g4xgmLc&-*{vhC8!&9fmYe@V+rZ~ zaJf^a7k`0Ph3Kea*;Bb+_P=hH5~2^#Dxvq8#S3Ncv#YU$A+)M|T3YViL98v>#eNy~ zANI?k8od8JA?myrhbKgxCs+*}?jTj}Ko!maWe&d=Y(CFeycL;O{ zCd=q5%johHdcpdAz-QOT4DM14p7$6$B^W&KGI&Wccu6sMJz?;YWdJ|-|MPe&F!?@b z@mFI1za9>Mr9a2}1-tumcGqX@cJl1+rMX_+=TZ{qlIQ1q!p|+q$MZmd_Z~mrU4A}M zUVcGt0e((F9u7fnb|FqSa6~xR#khDLatq4viYoHmQ{jE|j#K6@K!|ykSi?u`uwngx^Me?+Sa5e|BHwCaY2eGw=vj2+a0H-sSr|XA6PrO)P(!+sN znW1#Wku2r09Lni z?;>%#8=R!S&Q@0&t<7bl^2C%JDst$#afU@LDBSv8B!*Mh3w9h@_%TecwEQi8T#KhQKa7~ zmioW*Ahnl|M_ui`6c4?b88oDErv9fU3V1U!y!-m-Chy z*e{=ku~J2l6s*;n9UUNN+hXLZtInV|Gq7J4U*%N(@WAOU#6&+WdBWzaYu`ZoAtzpQebl;TE#?_Y0b^kx(q+QU)5_sc*>=!4G1 z^RFgKT(jQ~FKE9U_|jn6#HZ@}pC(GINiZYfkKl_pGlRvHw2LN6PGk73^gO7EQnFA+ zlUW8eQEIU8DF5u2@063}wnF>muCmq-(0+Nn&`s6@+ApuJhmKfZ?3dNvl>FW=bGiQB zFIP-fJ^}mXg>?2$`x~p!o7tL5H9E-$WbFZwClb;TX8t6UV%e&1x+k;MK&p$M-au}; zw$&8!6@R<=b_jk-^Bu5XZqAjXEeVNw5o7rqjL6QRWW>)v*cFpfMvqDx~$14|aW{Ip)n8bQuzdU;RTLB-WBixe$ zI>G}~?}d&~>;Tdc*0Df3Lc(oGM_5vSp(8|>f^>wv?;#!Gr;P=mBNQr%g>;0i7dpa| zG)PBSl`9452s5%LvraaGE_8&qRxWgei;#{`B>X~0sC=O#q+o<}gr8^kARVFG7^EY- z>I~@!>GdET;VYhXpd&oDzt9m5_d_~Dyktm6NLxJxbcE!FLg&J<=p>wfK0rsPeGKUc-F<+LPsPN=?I0qfsXL?G^8Uu_VNHa!tolQBP{X)I>K8+ zkd9E(3+M=MO;Q3Kp$;LWBkY27gfozi@NGM!BTVxII>NbTNJnVk>F4b^S5FIcgj}9L zNBFiD(h(j*I>L89ml#?V2?>CXFtJP?=m@<%fR2!^7}62G^Z+`-#C$`bBYf!@ScQM5 z(G2JaS0EjsP9~%ye2f>`;ki&93Uq|_?m$PlkOb)nW!-^}a51h1=m-hjAst~1q$3<~ z13E(bNJvLmgdYy+2y>T!j!@GL=m=B%(U^da&<)ZNdP6$GXuKFgFTGS!pd+-0$6f!G zlE?sbgo>{5)C9{8kdBba73c_;vp9f`klF|62vZ~FfsQcPC5i7>YM)SCZ*<4CBr$@t zAVZ)dyomrh!j-#zKu5?H2y}!i_rC)jp(-5G5k5=>I>HIp6itHn1~p6rdH&8BI!{-1 zyV3@VWSuiVdA%RYVHzwOfn}L|W7gbB8>rmw&j9;nWw2k)2K!}IuwTvu`{l=lx!&KH z-rh>@Yf&6X0sCcnuwRY=`(+`pU;YU8%dKF){EgAzS$a=@-arDhUzP^@WgoC#Ca+}u z#F{ob{KlWhLweUV(O@jtFH3;^vJKcTAA|k!I@m9_g8lM0dXxP0j`gpDkzl_p z0QSqD!G3uJ?3Xjae)(~J<;J%=mb2;YM?Hg~V86@(_RFupez^?nmp_92avRt$o6y-` z&1l8s9ts5eWd^WcmIM3caIjxyO`Rrql2=DsyNPaZRSP$%%d%%7<8SIx| zfc4FIrffww6w$8#2Det944mp8$Fc^>SS2f=>15$u;MC#`ly zt5GOZTd-e72m56h*e?@<{W3q;FS~&KvKZJekNvz}ZRQO2%YJR+B@E1Qf(2v zlVvIf_RBV4zl;g?%Oqt;XDObUtJO;l+!NjERuxrXzibWm%V=P~3sJW{1%2u#n4hH*W4zOR=1^eYu zuwU*3`{mA^r%U?Z_RC`W1p3@{K;Tyi`V#B?pB!2R+ z)6cK-2KD|>)2ZC7b;p?a`N<%eYb-Ve;?aVxf{QJ_-;~wVAQ?`HZS0m+yq2x^!JD&1 za(#J%eGa=yB^%QNt5PJnVJrcKwB7K5{(D>O8Cv)XJ)Q~&nX4gwt^|T}$jYUQU^^DR zh-MeCWtD@3o7g%4BO&?~2W|m`z9IHxjs225KG`-_yCFU@*1E|MzahuwbFBS-tb-5o z+GPb;Gl#>M9Q8MmFo#kvF@ znnN~8k7u>yazx^a!tis^mv=pmB{V952O@2pv2D?{VH+H7E3iwK?OUd5%q_8R4WMp^uiA1_x|e z30M9Kc7w9JzNvj!uuIeppUGnQ16S-oWs*HJpQA(gcRlQNWs>tIJ9Iy+uPJc69Jj** zT#Q<`BU2aj8!qJ%9{NZt{8D$Mo<30vX3Slmq9Nau6!+sp@NVUnYUYW->Ap(udno05 zjz&@h#taYO&5p&%_-U}Ug;YzaIBE#z`- z;5YpU+^`TS6bPWxUzm|DH-us0S5;`KkpXzT3-8o4!p8dmx$8H zLX>M*+i(O%Hx{{`XFZPNVY0WpozF3cP3j{=Yl-#OP+SdIMBIRj>2lyuOVsz$DEZnj zqf+lnM>a_k2yOk~%Qs*(DtH^Y(HK{PPinA7d;>1$Vht(Z_equgvSg2OH;Pj~OfoF$ zsO86DY9L98YrXFc^h?qEwz20Nv1Jk-=d^+Qw0M-IabHW|ILkq*IK)iDZUxd&JY@HY z!)3qQ+8i6=yT{^(m=Ox4hJA61pfQi2W{N9PhQ;c^UpC`U`Pw{o^LdUEX46Ejl+&q4+wc z)Fa8n6+=SbsnqV_v~u!?^+K6k&oT!L1X{y08yr9rg$p!M7_Vl{sB(cOibp}_Qkn2# zSr&C~*2b~)3VC)RM)s~bCupJs@MIs42px@N6YgZASv)!w%6alU2TNE8Jt7AyKL=k; z5Ne{#<`4-#y`q*IdOw#mogFk$4nY$oU66z#&j%y#HU;|~i@bIJJf?CK8)%{|Z|8BS zv4JK^HcuX(umEpFJ{&YrP9BP#^zMcYEJXU#%!t#WI z=N5d=EDBrv3sp~^^o$f9)D>zmvw$W_jbf3`s?f`bqR$0IAJlmDPKrv1iod>RHdZSx znJqF)=P@lW&h9C;9%TX(=2Wf{M++v|QSAIa(qbP~yAF2%0F7ilxC6Ts{${ zd=90NPZ&WH#h<7wZj=EuQDzHDQ`)$a%gcVomt_fOfhNj=Pwh`rfj#6ME1@ zvDz-LIZ-SXu2?fDZxohkj;OeHtD^nnS;I+1-fTrr`kg+|L}|~j7PL#z`@-C75!FZb)u&HxgC@#7q8jwm z=i_QM{`YIJPhXsr*C69+2xV>|C~LX6YOh6d6Ij-AM%0qa|r<;tO0C`FTt6 z=N-zM43R%+@_w?Y-(WlaIloiOWy#8^UMGIPPT;gasG?4Bv`$RD@Fr!w?&bOi6@`+P z^_ox8A6w?!AFF>KST9e>!Y|UmyjTCyllMhr!(ncNx}}ohX+!Bu!)p8(TiqwruKj1pk0~{C%tm<#f_y>sewi((KXJG`Txk9$JqTTXqd&ihW zIpwcQqwRe%^j(&}e)#Mx*LF5bnC1S$$yH#qhohm!JlJybI&B3-PhWM5No{ zcK7vPH8@e-F%I37thLl<-NckVH@#{pGxnmp}9_ zc=pa_^iH++j<5BO;P(x(^!3T~b${sV@a${L=xc88Ygp_1iQiw%(qAFdU;3fH$g@8` zqd%v;KXa`=4Syh+WgtOj;Kzr7XwQL&jDgVhfuOYkfBZoomO)RMLAMWs&Ypt~8H2X% zgH~&U=J-RVEJMaJLtj1&eexW7p8@i%L+{pxUgHnHVi{JK8CLl){L*vyS;nw@`|#7X z;m7zRQY<46WJd0O7!mUv5zZJ9XdmHS8{xtqWoH>>kr`$DFnY&x^j5|wZTl$I+9)~x z7zxYRHJPz1AI1nh$M7=7u-nHl*T&HC$Iqvj$4{S(AC*&5T*_q7;L@d~RfJT zxkhmbYr2x_Ll4^1+$)LZ6Lhn51XI^2v@u84C&+tmQ*2!$;iB6YxSq{s` zEGAMchLY^M_t{iM*`#@xMOf)M@7!j(apM*h4LJz~@ilV96*58uDL$M8kMLgy4!#Qx z83BTV@Cq&AReJa}cEokTDkUYLZB6o%4`4tj%BGT7Hq#&}ROGIiwMEaD7M4X6( zkBEeeh=hfRysJ2d@Mt z-(4>L`&@z#xrL;-g{65!9`lLG@QeS~VI9G{^1qM3U3qZ8XQBJgge6}JNUC!`e8>9G zkm2F?n-A@1rQE4y{3#S7NR{HrHB%|H(&%*3*bPzyKPTTeN|O7YsBD}3+BNN?U$${* zo<(e-Ra}WpLb-iPl~ejpm+VIOycVB=mf)h6u;QlZ;>N_1`i#<_d8O6)#pU@$CBRrw zRFGSmpIKdy+*BCbUKH6~5;9QYJ6z^JUg1Ao?KfK+IA0gM)DXJT9J${9W3wX>*_pK2 zm9o*5vEGxr-dnKNSF$=#xjOiBd8lb|xNUy;*W7UD>~PP-$l%b(NcYf0`|xzr$imOj zm8#M8l2K&A=yvwVZrbo(+Rz^OnmMvpFuqqdx!X9q+d028w6rs|wzIIlv$DCpvAG4s zWgs^NWTybPxxi4dv%3e*?%w|1{=wnVF)&jAEyX{-{e8vD(Md?jrJC{YSG;hB|I-!k zbz6n|F0{}U@2ob)|8&LM(RG8EDVpN<74Pf8l7D2cFRplH$!%6-UzEr@6H<%ce*eF^ z;*H7FmGUN`#9Q-iji28BZ?FiO?D*LoJ2QsSCC;kKlYhJ74e#{y!hFDo&}1I+C9}c4 z^B=Bwx0bhJ(0TCt#_p{t{M!|8BTUNp>{&nVV&XrpcxS!m89D02zdtYfyErrFpME3R zmR6Xh?`FW?SG*JRIevr!EcF;6f3A2_7lMR8Ja@pyqbga5{GGjCV2q}wsFetd{!^SW zNYO##GX7JX@ttV)i}M3lypW=T(JX+i;E$pr!GB;GHxW`)WE80`rJ}MRMMc4Y`R$CN zg)}I8okp8gg~bdNXDFz08t+^bXYk1X6lYd&{}g9}HUAW6!v7R!%HRAc&fIIhD9&tF z&iwKK#hLw8_Rq%`*=rIO)fz1N4CGJrTkRlwEftwnN2K&&tD#5HbE}ckv?9Hc8d6lm z+skYNMMZl`3sW&rR2b#q?*K)GOkz9VB2ZND&b03UMTO{(&U+*uce@X+c!A;!|9Di7 ztQ5#z*W7&yDJss$rC`RHd!RVuH3}7H_J>pay!HVW!5TF3sfpEe*s$~C!T7U5uLGc{ zAjveHw1sKzOxlxtI&5*I$vT`Nq3<}H^`&1kn+sH`+MEm4&H7#*`g!AMangkFcqu`O z*?c)AS!``Nt$4#cGozaAWG%H(_GG<8*T7<<;-D%|stU$_nph71e7ZG6e2P29mka<;YAQuZe5OjSr%b4hpqQVYRRA7ceiV7P@Q89g? zsIY<*6}1eeL5hkmpCCoWFr=vP`*a{2Pp+T@6cv63kfI_2QdD&7L5d2SV4$ez)`1iiudV|{ z1<^Z5QE@*QC@P5FK#Gc6*MXu!Q5#ZJz=DCI!v7Vds91#*6+Ie|qN4LcQK1egD)J#k z1=kyWps2VK0u&WJZwgNnIUI=FfucgS5-2K2UIIl${tHM^@q`#sR6K_i6`VnkqCyc; zRFDt@MTL?4yhyT8R7g8eRH!XmCX4i51B!|OnF~clZXi%p1Ux!BO_uoF-(g37%>+_Z zXb^Wf2^mWgSfxBD59xAKHGXylC@L5OyS>bJ?@|Fph0Tj@zwki$8$eO99?%n1#v{fG z6ctU7qM}b2QdHyz^hO;A3W)+mg$typ=;wzN6-JPvB8U%CR20ALNmYFzsQ?re#L7TX z!TUf3C@O@n0!2k3+dI*8Rha)kVHzmT@G`5i2_&z z6Tl*PnOK%5|r02Yx3iZi@) zwiqm}m#z*4V2S120a(NnfJOKNEP@JP5zGLK;JfY2&C*O@G~`2#%Ap2WgfPG&z5*;_ z9295LL2-ufmggImMzY=^55B70>i~;j23Uk5z#^gm7Qqa#2)>*C0W9@&+`}%i)_H^g zi=Y5l1Q);}GyoQn4vI5;H$v-JesTs3JLrhzqp$!Lfd{Y%B7j9u0W5+WU=fnE(K|9V z5Eh|vwxfK;vV^)))uAGgeOI% zd07GeqAzKJI_()jonpRua=LZl?rYZfK)(Y*b5iT`i z`_f*SYh#?{!xA!l1^mZr`fXVw19##I@xPqa`B=UufYT2Eiy#+{+aB_+m|wIKZ0~2@2`esM;B#T` zFcO;t#hEHloUwLbGe!|rE}e@C^eR1s%LAjPBb}- zTl!wjHoFP12q}O?1hE{o@Rx1}yKpUVi_iZunrMwaw+z0|Zq5dkrDdnbMsRa-?GWm^aVEW#8eiriy4ojxc%Y=rT&1$6ELEMgg85q$uQNCQ}e za<$lgF)Hh9-J?RN^Jb~+Ev zcFs3Z2R8O3w&==cmz8Z@O>MDD%y3I=y$5XxNxvgV?E?Aju9IZ-%*csb+DTPF;Y}-&0)V z6P-~GLp)B{u1^_U-BN^{^j!116=&q(tw@Ua96W(oiXS<+Fr;fGk()mQMSlWLdJbMn zsC$~LJ3lQV$jmLX8z)`BBPA5$9Er0c5AWchE40I0l!x~rFk(xXCFyd7qiFJY%N!L_a%5kLId9wC%D@P@na&LuE2(R}v0fG`6Q zKSj{m98j(mSe!yo-Gvc`z*A|#9~VGm`4ZG1h=0%$s^Ab{9{Gn71#k_M^9Xt=D!4VE z;dL;;Z=n%KAw4>q3ELR()m2EO8Hrs|{VmA6exQYRFyLSI^X#_8y*KRHrR9O45TI)4 zYY`S~_?_{qU`U2S$bnu!yBR)@FJ`i@M;8ZOB+{cB>85IkyGjcut|4oYq^uwU))I-H8@7ia$P_?i%EQ|cw_L;g9tk2!kKkv5hy;#17~MGc zmcvGr;awat=g4qoeIE>k$UR?t&KcM=WArRzc>3LN;_p!%DiH)n;g-uG%Tv+eTQR4p zG4vy`{&tx2U9p|Z0hd$)=!T%i9(xZNk1wv)vIeMay}(+0g*uG9#`g; zfJ#kJ_<@;_gInb5ac~%yq!NDp5oS;`zLS2ur+vIpN<3~&JY{(Fo5zX8C7$cPNd_Z? zo!Ie5sd0=e{&&cI6Q&64hdrOI{CM#=DMuh#-GD*!*hPye2_?P~FRz`{uMB@*mhve) z!H@}YrXSa<0&jA|5S91WF-QqtNw#5Puq$(QFpqwdmWpAQa-WIZnmkqJ7{31KlBH^z z`EgoAxL;FOs^fO*lAh;h0l)Z_SU}8HDX&%Ce6lpTIMW(FdVdq(FuaBXalen1 zgk%!q`RzT<4i0tM!G#^F!W&{Sv_mmd3^6#vvc5N?^7hGNn3%Jw1@J|490StuwMp}y zC}(d8WfhS*x2jyC5H0}CYe|a&>4<{I(55v%qE<-T|#iHt8f6VNSHBDpxjaDB=1XkJ`II)l!W)Q<)VH4yk{4R z3VY!aN3{}gzv~)N;*MAN;)%Obd4bCN;&05w)Zs2k@?mWZ@VBLTtE#SSYT!@Xvknaw zQ0AGd;`L3qSj3`Of}$*}ywroDJWsg1K&>1!uS+7z%Y@6l(!G5=%0p~%r=CZ)Q>z?6SybALmJ@~L4vkh$oK%AQ-5KGkIkl>V^qdi9 z{{qYcM|4#JhngOzm~cTGGf`@`_q{VVDylZLO{LrpV9R>Ob#T{$!wZGnT-nJtbR@ z_{l+8$0bt7qh2?z29xV{T3!9gH&!QhS|>qSf6ueP6b+kojf`ES{&7XU%vinbY5n(5 zn3Z9DlwZBPWrK2LgK9+sVLQx1q9IbdL0zN~-0$jGHVz77e@APKxB)JD8^QhVSCJ;! zCor1!#_;JzZI3N64YD4{qChT*el9bVRCXO&(<8uwmgxx&i75Vcbf|$ z+sZ21Dm+WfyP99@G*^nWgZte^{9I!sb_ivAm}Ps%X?qvtuhZkUpLT6MmcND~e~sY7 zzG=1ev$T&=cFc%$B;jMHTeeNfbgWc>``uM)<2#;vjT{jpBe zY3EZ)?8Vbxr}$l1R$bUpKP@>Lnr?RDoOL0nx-VzIkYin#tlgwh-Q*h8-)XViK6J;a zH&BT7+}7xsjet2IQQfrTtv5dOu$}dAWR{yxb@yxk;MSAo<4KO!uIhU224cc_;B>uFkm9$L`M=dMgS9$5;c-mIg&9xl65wc zLp7QwI$EGHT4Xf}n255<(TefWsGRSl9{9jZA1K2bgH^{0!vH;GkVH7ZwlXA@%(H`d3K73n&Fz} zwE5R*Qg3?ls%ev+X=+(|TI!kiTr;<2<*r!IJb5$2^yv=E#LQvf495mPxaGaOGs726 z2X1+l@@7Re>BLa8XfI~(MRVWPoa?^qg423|R85qV*SB#!*}j?w|>cUOvuUj`XI9 zMlG}KEyY<2CTOl45Ur%J(WF(aAiGzxsK=A3SCQze1=d5()~kDbOJ!NSMH8z6ysI_d zY}I0GqY7({9nXG7ug%zlcv4>*YVF6>^`0u$4$XD(r|Uz6awApieP7onWV=eKH=H_p z=By1XtT*mqY^-F}Elg}!)oma(U1r5LzuW@R8PDbDP05M%Q(2Zn)aJ|bO>}YYORtcl zYMa~hyeI6lCy>3z+quWJxyKIQXJOxGl-s}adHm7$H8;6U8 zM{{gP)3QespN>YokA||2`a6z#HjX+8kK5Uf!6K~j({Y{maZT27Wyf*Z#&I#>NdenQ zuIx$Hr;~K=la#EJ#Ez4=jguI{(@3_{Fxk`KPp1Lir@mRIULB|IsEtz>!ZSyrZDE-e+c6XWu%`zHXd-CPaN;L+Q(+bUvZpc%!tUDGA_vW(jCda<7=Xo{w?R8wi@;?4*P}Cc$6D88Jsvg_#HL#H^b2p$fB--c+L2m&p|8r2XlhMn4Es zoPQk5s!?@;MYsuGW9YiEw15{bYK6K?{(MP3?x7d;!|;D$5v|CEr+3eF#`>>e_;`VKcdrd^{$;hv;C;v z5+!Pb!lJssA}DrJ)u()Fsq8Q#oT=3IKa4=d87t)aFDh(Py@{|lF4JQTUNlk{SOnwV zS~KUKj@<;#Il?4L<2M!oqtX10Mf_cyp?UQii)e~@^&5+TaY$Ucz#>}WwRxS5Q`RK@ zQJi7Fz#`^y?!(0|U#Ta{vzJCt8Q5MbK`6bwz#=#$$#gHU2vD5a!nOV392t(m1+a+Q zdD6EaEP^iNErdllay@2*un6Yt`oD`a+%lX^w;?Rz0ryj02#etVt2iSo3}F$X2Xhb> z@mFyM{*XuEA%sOp(fnPUY2bPGlz+b9nVdL;Mf@(#Jmh`x0>UDcUOD|$oN3@y(lDJb zRC;Cer#Peh#^)iQ%Da$vMJl>~iZey3@3R~D)IJu^7peUz&d?RB8+AV9*Z4O0?oV;% z`(k3Trp0Ch|0}EC#TiTiEj!qq5-o?{#hL##7NMI|suS_K@h>a__3v0jnSOGNvyee* za?(X{=HIc15BZ&v!XFCE)3wr<+XG$cn_`2-i zj#`)L1n%NO#hH37EZ&m4geF}MG?%rpA40{ME=T$Y+PE)D?p-hHa$pi|M z58mD+F8%L{GbTL&G5-svOyP^-jLX9huc6`$-$1Sp zRGbl3X?+P5XFllgmR}TSVlY4ILB*Nifr4bHI8&}VPy`icK7M#7d{LY!Zus~KD$eW= z6jwvV8DaIA>lekDuR-M(#hFg0PsUJj=H(#p(t_elxyFVGD9&JhHfsRInc%^SMNpjS zFW1}$#hFc~&z7J#b38BziZh?B_sT(WX0ZAk)6f=EL<^k+6lWw2?TJBghJUCQ4vI5$ zBHFm1I78BC=nRT8gr-BFIP=Bzp$I6>4As+1g5pfY>+8j!IOF`q^Bq*2860Zl2gR9h z6>osKs7V~_t1l?d+$0$W#hI`EK^34lGu$HQ42m-%@0gT8ai;NWa3Ltpm=3qS0>zmI z5gjg2oY9pu3J1j*zT#m}oH2@=7XihY;SSSAqv*W~U9p4VP8%#^F!a;AM>5joB552) zT&X9?Kho{vY@9$Rs{dGNq$i}&IElAXU)FS_HwNol%0p2D#gLJ{WXW%7FDeaQ7LW92 zJAcb~C;DD>aAcsk@mton%J-TFBZJjgCOJ-`A6}D;4mC-dFDSrmT5_Y=%=qCqhpJbre*z=pG;82qvM;-rWNy|pUnqHCk`4- ztM)2CTOW*0o@1HSV2T;qlZ;Klq|AO2R~b6ziS?-1!CZcJzp zeV~3z6T7U-RCXtx-fAg^t*kSuYBz{qbV;-M(f~8k2mgc6%1aV+CZwM`<&rI-AZe{Q zkKuCM&MA##40ca8p|PdeT@sW)1Ho5A6TIhT>oztP59Zj6lPBwF)($T*ooc&N9G-3Z zxCr0J5ZsD9Y9>21{TDrzS;+x)JKgv+C$8!)x=rm27`%LQ?(ZW$VE6rLw5m%;yE^5j>G#QiH$Za_-PH1V=a-oE8QW6iE{1yeM}N#o|{v()VsAbm+#%w0?)FS zW6ST_q&U*K7TnhQ334;^jz68X&=m!KzSq;Rf8_9!rTw0Z7CM@G?d=2})@yaQ&9Fg7 z<%u2)iwBdc{wJsBJy$Jz(Jrh#3z(u-9iMUCok&+Y+Mnvp&L%ZjY79=oC3TP6?sH{e zi+!+v_!gaRj)#A)ko9@`f2IZ-F_RNC*?ynIS8V^~$$A6rM*59dpt;Duh9bY`BG6a! z|KiM>GtXNv&sj3fSTjx9F^)Ph4!Sb*xifTn(*N?LZ}X&Y_MmTcr*CkhuXCZVb)v6! zps%#0FSn*Iv!pNi&QSD?CI2f&?kAqC_X3&v!l?##ll1N;=-rFgy&taworJe{lir9Y zz7|W=7D?0=NYLUYfASJnQgtf{Z0uKPme?emvf3JR)EpD0R;J(T1Wkh;VEh>Agmg8m5^ zy(B5UCLDyqa$&%D|xd!ZKEf1y*GQkFK@NKaCx9~ zVW4WdzhR`ey}!G&r>m!{tFN~iHz#litgO{(Y+nt zx0~3%lRU7KHn@{Bx>G#4Q#QR*HM{$BZl`Hsw{2;+b9J|Ob$4)WcVZn(O175PHdjFS zWMdJzIfdLD+uj=9MuG!AOm1(_Zf`GbZ?A7}17r|PP5$BtA)4^-NeP0Gl3g+S-%Xpm zp8qG)rVG#V%sc^P+N=%x`ahXA69v2;bI6kXx28>c5&`4$25p8!4=NGA|D9>GjqlK@ zrSXPQjI1WMO3BXRe`(sZm=0B++NOWD;rQy`O`F-yw;s;=E})M)QR^K4n`yJEDMnKL zT7j?m6`lWJ+Dxd;?N)y-dWqJJA?wKe<)sqX;rlfw{6^+}wm+jsaEiXh|m^P=PhU@PcFQopdo`fB_(8oId zuAbn|N;)vD{HdOdbEYAFS5G2Mgu)Z$%s}-dA=n@-CN}zFQnF&;i%PA!n3Nc-+T~7M zOiET(jY?5W(4^%3nrDc@)eji*YX0GtAS~g zr<&9Vm^L%G9r-tbX;Wfw&P=jnph#C~A zyr2dbBq3_>%>^}>wRS-bW?xW)Sr^ox#|1UWw!8|cLE#pvaX=0F_H>+V)|f^>)S!6s zCZGmSeJ`j%t_y0=g#n@lJ9m(P8mx33gs8zCCx{wsYqJ8>Ap7nyL=BoRbbdZRE4`ow ztCJvVP)i?mK@D-tTboCaCE|~yi+9WXo zrp;7l$g~Nhn;b5WI9>tMX3~XelMym)hC!xHvJ2Cu8)Vvi!~mH#Ew}FoG<_G*2Byt! zB4FASyaSmwHNOJWCLai@SxoB5nfiXo4AeSm3`MG-P>NLUMswYaIdXfyPCt{#_q5-NW=6#jh-%_m4R^>35hoS&A$PcJNT|f<1f$E6{sGeB# zv?!V+1Xr#}ai70-~p(fEQ0Du z6{wzQfa-}w$25^?WTWT?e?a=!M?eh@0%|ZBP=jKC8q@&Q6N~osuco0BXB+Hw%o7@b z8Y~9Xpe~>Wt3dTc15{5eT90~61NSR8>37m6p8{$y1W<$YfEpAB)SxD)o>(?xa+~=Q zS|e$0u}q5sYS0u=gNvYgQVpsnnxJ}O*?1+u%=3;Iuta9eumWmO2~dN{fEpAB)SxD) zo>Wt3mZd6I4$ue=OleH1rEXyLQyR?J2fGN7vd{J~XyVJTOHX7sU3yG^`R?cF^ zFj%Hu(w(yIISZbI`^`&_uD<9A-k?t6*7*6@C_Fg=#j|&hb>*6QSsxD_Z(2w)pazkB zSvvaZZ=P1D^a?rWRPjFgn7KN>RW``m&YL56ysF)nHPqPgBPZag!dq^OZ-5$vhp>Kh zmMkBME9Wb6kY4|I_4(*T2W3f}M*XLNh?rTi;<=v8joabnjY4PbA|yiVC=2W#3leWSOKU(b3hI5_f#xwRtk2^r|(1!7B7l5v3EICO#*7L z8c>6_fEq*x)F2E{gT#OuB2FPFE$OR!JmK{bOzKQA)p3n05$j!P=g^Q>z|}J z$7ZW$05#YEs6kIa4Uz+DkRMQk-&hW74@!{EFs_-a;&Xr+Z1%RX^uNXa{SKf8<*Gy$ z5;Kl|DV6R-H*qc9ub%G?m}pB9w+elhZO#R#L0xOnwSJb9;o{Q$A{XurBk{%Yor#XB zbF1hlY^QO68k7dqU(H2_slvOx7j3sg^4>T9DCueoswa3QjxtNOpn7tJ)Jaj=?m0H+ z=oGwuirkr&5M_&p>+htNLS~P^O|-p{sNk&I?08d&;&ro=Cbl!qwsW{20m>FmZ%A(9 z>hgiq(mxL;!52gRu1iL@)2n7Glmh}cNdlI1*VRwk1to!Qz6AFha=ACeV#45ZdD=Bi z+ci9t%Egdy%NEls#VMj2yDt{kQ;!^Qc)?~)=mBmHdhVIiZezLF%N*{B0?se=C_a{u zs~oza`#II2xww>2`Q{LoDU;U^d8p62@G4>tA_y2H5Z1J~-8Hy!-8jR_FmwgyK$v7Ex$5x}2t^*&pIZ)o}KFX5#h!oB4QRyn+@YA_Z< zy;q04&ym=@v;?MyDE$2tFJn%BIyZQmFNPkeC+o1!IjQeuPMm`jObkvxnHpG(A)%?B zFE$SGy(9bwj0njic;r+7nu>jXBkZ-Svqx;;HX`V}1~xVYFGRv^XmRNtxfw9RMTmlZ zUEymIZu|0Ha@wv2j3FGcJ{4$g1}!d^yRqjb+zx5I-wp?2{O~=Oz#fzcHBH68aRgV9 zMz<`*(>}tnCkrtx#ZNE6(RT~mL!x8U!alo&8R_GgrUq9WUi0e;b1cQ1zz##@gd{JA zplgS>VMk;lLX%bSoCOg@kKB)&aV;4`zaQEa72%+eK^O`+Gs~$I_90APM$saJ7(dB!hQmjvHzU|HKymjTY8WD$a=(JRK3OxrD1ji?wp;$6*cL z6-I0m2Dln6V!{nR6&5-i8)m146*UFl(!y9_#8UWzy`+zSMa6H~H{|#*S{o6A;)p41 ziK|(TzGUF-jUb$LjaS%;!0>bWf)jInINnFlu4o^7MGGz+4yarLlwmA-ZDea$D8^$1 z4S5i=P;{hS=o2CDbO}UsO`H-fBJO+44IxD26uc3Uh;EnUsO60@4SVB;e=;!A|)SC2ZB|;)RY1`I+S3jn@ zE8;vh;dm$&qdRE}nMA4g-nlu^9znQm8(eRDgE>6iPdg&VJ(6~WOfStR^$4DxntGmt z-Sa5wvYkhWdFYoEvOuOZ@K=Q7 zhga4l%hkFOt!DjroWW+1uoIq-IJw5}ksYGUkdzvk#E7Tb64SjLiARRJV-`Y^jVc%ebquf2*xS zK6!CU1pW;{-)OZI_9rCdsllyXw}m|N5+jQ5;$}yvWw}NaIgM82qQbLzZ|3B6Ikkp) zdY8skb0BcreqdawG%Uke63oe9F4KQprn;K{|Jb|Bptc&e(f2JS{Or7Oq)C&KuNenNBR2l&#C@uksJBffm+% z2x?}p$mkTxZlcL7#rX|io?$?PvBitw#S|xi)6j8UITT!^I*^+3{g;zVF2bi)FIUhY z6UyZ^8V}&a9uy}kcPI_CeJjLvL}?G)Z#qQ9I>l)pm2DzHrglg3!2X_q+wli*^j7PKTk?+Mu{O#2?( z_pK{#z6;hpfGh+2g%P#al&-2Qj~0&)9pfInIFGjXrGu6SEdMMw`D49nU`)Svttoe0 zuFN~9_dPG^I#3sD%I8vIwelaIb=slirVxes(d8Hf6xeWw6?pskD4~40eVHiNky1q9 zC>QO3`SSQ9yt!uX>9aylx-NOVG~a<*I_-X6v_7HzZY;hkKe#~RqB5A!?={})OQL8M zRPgWuvdk`cC;}zx*~puNo;A(zZK3$VkeIdiBjZHqZ)=I;I@80c+xZ@kjbW4OQtOeorW;3nRI zKeVvAN!s`kBJ>;DAvxV16ug?5q`roZVi-otm`q@|bgm+ASkV{cHSZ#{{$Kt5V-6=s zomz1;K!rZ^Qe`22^F4MVQP`PQWJrHSAW;yab!ew+Jef?#+{dY-GL%uiX=iG%ly#AE za#EQL1_w%Y(OB7_Txoq;vIRHTVXhEecbEqe#fSJjNnEF@Z%*401#=1b?m#)Dp3T ze7<;I@nWw(<+7P*AF|vow)jk+|B-*?Ir+*98w=!=l@XN{v=SN+Y^C34`4#93s{U&C z>(%#Ao;N^JlDSF%WyU91`wG8CMj%h>x%SF=m4?6yNJ^@W)|m9=sRhsS44RUj$RSA;pVY_nxB1la`nhVY?jbyBYdY zKvMGd^F|K0qzy<)j&Ombq^bOrt`rwYO2o-e zS(a&mq@?=m8CR+*TkBbE#+d*Z7f4Fvvk%2m_xQceD_G8DN^#_t&+|^sm27c72wr3< zU#K(UXr^AIm0#!{Ve3C$=*6BJD$;y1xaPASQB0)z+E{QsM~v8 zVa8s46XbPYzG^!@ zXnTpc+WIU^WJgpr)txr8|v^{MW zJZ%M^wlAM_mY#Hbo%AZ6^b?*89vu(ET8~G=kH-y;CmE0bJRZ%A9?hj5E!ZAG1do=% zN2|-w^-}1j7j#<@x=RRXSBHnKhezRuCkBUSjE5JG2Unv9H>n4Awg(S_2hTo|vgy+`6$dp-SBB=b)$0F#QKvL4ma?T`%DM@xhiy4&` zfe(Sr!O#AOF0B@C+=d4UY>SU^&eN;Vz9(1fuQY?7P(wvQ3vbPfIcuRI_r zF*6oPX>`9SvRIC9YXyiWYCuwO~n#`ud1gJVF#EfwM)JbsEjECC#7~ySlN%BmOhdFl{5nR+s3S5qddm;QM zDfv%Q@}H#S|EEdGIw6v4pSXZsRQ%!wrKIbCT8mv=?cye*zw3~RfPKQu;udGG>xg5E zeahA1wjk2CF<$|PjCYV7Ny%>$u`LccoRD2b|8G;-0*(b5kUfpwZ`0K+jwQ~JeFG%7 z*=_-+ig?I@nWWqNpBAT@TF9ZTzuV%bfOEqP1nS)D2E4HD+;Rmu@$d0atznZt5meg{joV(x2}RhqAv?51M7N>13!zlCA>-Af zS+zy2w;`Ulfv4bO)`em#+u{=2KGqBUR%!b^3Gb!Z9`7dn9#8mJqA*UCu-BL{o2MGCC1*-3~Gb5duDLLI)9&H?O#9R7Kp&M36&7h^_qT zLo)tr2O^9p_v{@a(1EPlQ311NPqpqq{r7A*QExa>um5X+^T2Hfstp&aouAa(0kpd@ zw0lX6doi@zezeSIT8u3gEbENBLimE4CEC z03QP8@7sSJDgQpXV*B^SRKPz0ZZF&Xb)^l(k`+0`k{mcbjrIRJ|2hd=_Fw0pmqDz^ z7tBc)Ka)W$$RL(~AOC$1|2}C!23+&+dAb<*q-67Er1PdE^Cl#7e~&To+`s1^C!ekX z2DsqqLnI4kq>I33e42mVA@Bf5frkOij44^K300X9!+)PrLk3{}ecqU%+>E~BGhL-6 zZS@ywV5)4XtE{OjEU3#&X^KD56d62C;oqZAldn&kt4EiuMVF~cmmx=+EukC`-X8Mad{i&BRZ~%tb@bPC?5=PEAWpNk%}9 zhfVhGEeYmp0uTl^8tC2sWH5=rB*vK3ewYkluejr1DQ3U^T=mAW;jL{2?#B$04-xc= zKe$xBNom_^=$jZC8-6u2@wYLHaj{PKb}A0`s*LlmPYv(R3jdQEF`E~=S{1k7{Tn)* zegy1eovb*RYSz3{3R*&(!xpiUv1|CJq`Gjs`bRmk-W%kIzp|E>F)c&(1E+ zPLIz{_s-AP&rX-mPFMfcfk-J46{+P2I1Y4`rFZ&ckjf-Um1lGZzh@L-=_=3c4JQ%} z!jrDZ>W`*UDbVe&$R3PmG8#yduFM%u-)K6)~2oK}@?;Xg#8T!6TZy(}n>`SWZ1GAOy|CJVbZ{UUZ z9qtb;dNJkyvT-#|6Ne6;no~*bcb@rLFw?*F=s2@JN(AQke#+6+|Ds2eS@dDUt9RS3r;cy8}^j zWK$9i;P|@(p$-i~>DtKxXptv98bv?*QFm|msRIEvt_Hm*$jkqS9?i2;fY$%_#?`{e zD$|N5JsO}zUS7)lwQ=>JViJ4sY2zyGVO4=$m3i@$X(6CTgZ8azSNs4yI>}QOTECN1 z2u<25*@reB_sAMIo=#f=dbEU;?Gr6>)OvV`dfbKp=+U-tga9pq#;L3Qw;qiy`j;MU zRrst*_zv z9#<>=ts7Ts@wNhC8>zq>M=5efVRy%j){V<2z{b@8=yK^J?CP(Lt7x8bc8F zq(@UFKXo7&8=>$|dh~!Pphu^@Q2q(fBF8^dc7YB=N~8t7%!f)Y{j(ULN2^BwdNeWo zCqR#W8v*FitFR|My5}!FI^*_9kM;`(^k|aHCp}ss9MGdlPM`E>*pnVj0)5h>8^WIS z=-nqh`db*FM;mQE>Cr478@vHMIw%;>qql1Q(xZca1A25t8lXp~gv0}SbZ;J@N3T8U(Ue6`dUVE< z9=)CSq(@r>0ebZIP#K^{L!-Q%V411>SGx=@KnLP_`m}MC{~OSORCjJ4VhoHyu&dHB zeB*>jWyWdbt1{lpPl&S)jJxtzWfDDXNs7u$d=0D0qT=6{RvDOZEUC(7^4OL&l9_a+ zQB7qZ&d=f~m`tGw$Q3}}^YjMv=y`uYkG61+0QBez|0g}#IStUGE&KsJ+QP96(4$5C z3-!@yJ4^vRdI=fOqYJH{^yr=^J(|{X1<<2Y{7RgLEvs#U6q|3c#9STo zJz5peqjP}{LS`Fwxa)1s*oO&JGtpa#M09ly5RX_fjW)z@DlLC6QIM9Lk0UZcp{s#FSphr)W z#$;OcQmbf%0eUnpphvR<9f&E=fph~Mh+FxP=`;z@fmn63S84?Tdh}~Rk0uB7XbC`% z_679lJ3x<~CQgI5?gaE`KR}O0eO+vh#nLcN<<6ERO|>iivuq;nk|>9@xE;`=f26?J z5CJ_J8PKCy$!H7s0X^Cu(4#2;J=$YlYf`%!(4#E@J$e?@ZvcAqAfQJl1A4S1phxF0)OC75zDDab0(!JFphq7Adh|M=M-Kyf zbS|Jrn*w_D!;;6DP79z%djNX${i~*xJAST?hr(lDBtVa*1oUXnl|U8XEzhkkKLI@& z8PKC&Kk3o*fF5lI=+WCu11hl9*h<|lpaTg6I*>Pj9!(4A(RzR$-3xqE%Vi$>>A9Z% zTCW%AK*E6zgb3(BM1c+@6zD)G0X^Cb(4%1+#rApwKnD^FbRcv<2ciRXAk9Dr;t%N2 zlz<-Xxm7=@Hw<(ji9iR!1#}?xKnHRNbRgUH$9~(aYp)--yIJ+efDR-b=s?7P4kQ@p zK=6xih9w)$QgYdLM7?&$qxC0&4kQ=oK$L(EBopXB-2a0&pjk zz&B~2B5$2AO_pIIP_QOOJXK(9A9l1kPC8dmRC!Q{6h`(A&I%DIRw(E)0=$15RB;hV zb_VP~2WNf^4lob$t;5dO#A!heNsJ6>M-Fy>A6W7{;FS_aEe06+EVPl!zaJj`A}wTu zD+KyAB#JmJvpsZ4^WD~L2s~zR(O1+7bG;@m7B`nLxc0CE;jj3_E z4YUOOeYigY^fL057KZFx1UNA2u`T>;DbE8eEfhZ+NI%TUrewQ0#e=g3q z#|&2Pr0yGVXTSe?847Iy80|M`@nfX_T;}6(2J~erTZ83XetghexEgjGA`M2QbP{}I z;O%ijgf#dL8|yc6*hv}q*gJDS0Gz%XHoY67EtB{lgo5}r#0n+Mlsd+=A3gkc&L@<_ z^Y>V8H@T_OX)uG^oX56o{h;iRI1#P=5ihtg_)zk>UWRJTXS>a#dDns1g7OeBe|w;0 zD+j1}zR6P^2(!`-f#idVl`tUrSy4ebrrh9%74*vpklTE64NfN7Zh@6dUUEK|UIwH0 zSN8TZEEgQCwwt`H2JFGx&{>xPhK9hxf)qb(jDBs5NQ)$d-GYtT-j-D}nbSLSp($6kXGuP!g|pb5&^)y6gN?c`$nCqvnY~ z$6tc^zm>qavY+Lb`1X~oH^d(W6@>*AFWeR^@+6c==e;USxKS!kqX9MsOQPvy-z5Zf z=7TTCU=<8*!IhuW((B{5R>D5*1wYLH_6n+qbg6hoTRA~pgoldtx**B3z6?Z*O=%fU zBO5_?S3%EP6{;Qa-ZF1arcAUk-lw4gz($yHt&~wjWD`q7bOLl2sxOs_lret?P=Nzx z3)J#+V)82=wSxrQLY!%<;W5z%`a!E@=oUpe>i|0!rK_$SYAn8FEC$U`nHBJtNyub$T4gZlO+Hwn-2* zxXvZ}ja93)Z#}+!W*|@GMq-@zEO=HEU0Um1|1~JLG5$~qoDkG-^995p$Fjt`70}1s1iYq7?;S9V>%I=W z2a*d+_|RT*(+2W!PxG_rIrQ#Pw1`r;>-&t?j!TDOMHd$=mwNg#!N=-lXJUIqVzquq ze^GwFZHOg6t|a7#Snwr|d`TI52|WMHI78ZZUSib}rFn7}f{PMr`})fl2bap?CGNrQ zjY)aWYO`J@SL?(Ua&c#pWb>raGXImxxNy?ZBNlu^F2%JJg+D9M4 z#o3_)y`;gdjX+;JuFd$0zP5rc%7-z-6#Q)u`{ZDxa4ZOjJ=njEA{^Eu-HjxjjIOSb zl#P#|@b}ES_*=4#zrp7=b{{V@8pnB%z=MnjMUNACFp%(1tbdrGz=ttVB~QFm8= zdVD5&Gm4@!E)O){nrG zkO-{NH~-nPS~F5zqbZ@sURvw!0B8}Vul(y_^y?f9$^b1gbh^ezz|IR>?_XON@l*w9 zkr~x>DbPFsNN0L%D1hk12sV$IH&vko>Ykg5h@0A=8BNHhJwS_ivdar>kv(-F_y8@k zP`+iAf)8{cGnm_UEo!>@+cauhE+xJ&=a%h&;%!d>hzG$=ipaJP10K+Uv_P6rz;3n!Si+vt zKTQ03IIEyJ-g2m!ak!L11tEYg9v*Cr(64wxsag*9!WIBpWGV`}$8fZ*aI|4_v>JA_ zRC2U1ax@D)`U5(iU^pICI3BV&?hiZeDLL*OIc|dF==9xRTT8k<$q1X(;F{h~dm%;mpV8?0eXmXUUn{$e9cD z%n@{M$8c_|aBgLD{yFU2wB+1qg~ zFkA{MT=Lmma)(`Vlw7ioTrxo~=|NXC3|ABiSEM$;KIJR?k}I5%t9Q_=H=t`whHH?* zHLA@ua@aLu$u-=__2c37J^IZJ{mrHP&6)Mhap=uq@y*`w&GzBV20D#A3B@r3tJ?%6 z+;bHD54W716n+?0CCjlzqbz!c$TW7hl?JStiWsm@$RDEa7&A#*c5fBn?rAG2Yrt3q zt)yAD_k=J};!;AazQ>otNB7w958Z@VT}OA*N6b7Gw~plxDc&dw;}4iBc)gzp5}%_E z9=(S?!j1_aPX!;(4IVGO9-97sxwemlrMNHcj3t*70-zsJbngv3x z3E2OQ7Qs>5o61QM%KuTV^1ss}|LQ>gy>a#L4g`jXr}?iA7uCGs-?T^r{5vkk0_EmCP}M(Zk;CU2lMR2WdK{6= zi@$@8fqi-}YF_w2EI<8|7O}R1H&2@zb#kgow|-_}=KU{P1os)j49uynnIHP)XWL)2 z2==odj)*MT=vxGyV&MncJCvbRb4%-)ARb zj(BZphqlgci>qPqe{~?Oyl7Ts-p{C39pP50a%K5}4kYD|zs5zOb+Kj7_WVhx|NS~Y zldGQM54f=rru!py7XoXdhA*1Zp={D_v^KIKy8<| z*pXU?JOn&X@9=gw32)J@(mXFqA9s&ZZzoCxyl!V6_jG$(XWBiTumYMNAN{|>WO<+a ze6M0{gA;3m?|S}Lsu9sa=&g$oQdc8DivSS_Y87u9yw7yGHz=zLG*so)S0z6PY^&ny z6m4&p$*!N+{;^Wn;B_${Gu!W|E;A+f0tH zDk65WwG<8_^FKT0Gix31n%xIswJW48bWKGmBf?jt9M%M)ww(Q<<1$VZv zAG83LNIYumF>Nb%R%a?IPe!L`=A>w@C{OlJp6j22`O$)R`#kxBt)hI5Vya!@WR3OF zjgs!X4fecfSz;(wY=5MMRqoi-&b-w+t5GAG`d*9oX7UXd@(qfL53V<=h>xGO z6J&9iv36*0)R60nym-$^9U?N{*bIS}SbE()h2&=l|9h!gfaoW0d*hlm0cS$dt zHGit=@Omv^gfOtm%f;m05`Zeof+xzFB*E6yV>u;Y?IXiQ$88hS`K3xGg|>ljNHlwW zzyYDl;Z2v5gQSalZ?REVrPyGN5wDbwn6y}5t&c1!-uDTu7np2KAy(}wI!(=Z-7PUq zAF}w=-wdhq^+(I~YbJ60QkApn6rW+`gs%L|eDl{mmvRbS{M&r2rBC)S&7FIcK7S#H%^K{n_@*63O!`Hf7- zeNocGs?F1Z7g=t^J7jRnVWd$-s^Mp!f7Zw@-j99VzJ0tO1jx^X@?^&`y@TnRRQB1L z;q8%8?iKKZFb=ZFCRO^`tHi4fEA`;>s{u zwfN$8BGPxh2yK}VlebbGewkfAeIRiXJUlxzfW9dsc&@Z~KOl@JcDF7Me05&)%T^o9 zN+$8vx{ti`RmQ7(KAtbDbUuj7-i;^UjgLR1=B{|fHx!!$EJqvdnd-JZQ|vF28$^?M z_DAkH{@92vtj9#IZWDFbjBc2YeHd9@9z{<+CQ~Nqt_RIm-hr>z{(hirYM8ydVQGVB z#Ye@hsQ0;;(AtpXhVgU0hh9Wup)DVwhP%o4SgJckjXOmnqP|iGQzPOgQv|akl8#eS zkP(6aRhjB3*=E)EN45Ro-LAsF!uaHjp2TXfo{OxXe>xYhJLutVq+rW?86_l$%Hcr7W7{9KLh7y zV*&`uc`7O#jw%&m(~fqb2^%^${n1dPR} zO%5kahkMMr$CzWMx%mX`ljK>4)iF2K%juMtHv}IOCx2B>t}RL;>5hCyn-Y?rNoJpN zyqNP>Rh4K~kS5ob>YmCJpU-NZlBm=e&R14n==%_>9Z@8FsjBAvr=7@A?RI1ShdjRz zeQg;;Q8%<%H?~#}qDC1y8^AvXZ^9KqubwqEYs^19d9KN6EI(5;5Q!*hLEn%`+F*%3 z9#hhjRKuBEJNxkY`@9*2Vp-L$rv80p z*l4GA^rE)*`MfrQPM`ab?;q*K#16maA%F6o>f~8t;~wf}O}b&E{^U zmf}u3vAKn&VIf^D$PkaHgGyQOq+5&%5Btbk*QDn`FMqezR?MQqp_WtiNScXMdhASw zn!$+4@+H4EL7D1x>@vYG1A?~i->l~cwfq_!+Eor^3-#3S_#k7lkS>S*Kh5G_3f0Q- z7o2HzX8Cm%d^Npvbd2bf5Ihz>g)SI*jD;32tR8BvS#w7~bT-&qdCwQx4n?i-7jqZX zJM|>HAg$f}%3tYca6!v>HEk!^i_YD;7s*pHj?2Un+V`7D4-ZI$4>QkSG{X_VG!dXR zKlMJ&&@Uiy=*-3H&Bv}hD_$`Ys|z}Wj32Bl^NWUw*JHe0jU`>3VOu?+ojcEzXCv2r z@40jn{pt0C{4cB#p6s~;YoX05Ex|vleVd<75$DguH_p|JWzh{uoHnjP4Q^vMZnF&t z$~I(sj0u?5+%^rgGKJNeg(*g~(fgi#ckCzPTT%5hr0(hNwOXO{`Dh@wK;P5Bu+&i_ zu7s$jRBtk77$3X(1dc=N}_(M4^Mjb%aHIuOSs- z0x4_HaS`aMn7r}1-o`opcC6#Gn%2H`t}QJX4p*6=zMamaP}h&s`K~Vd(P?0n-TX*&$A_Wy&9vy1{nlGQ zbB^qtilk2#rea^KS1nV-tloYW+1iTgSsZ{Ud|6tIeQS1|Jr!SKkodw%ZtL^V$*wW& zN_xs4>J;fL{aNyCy_}xyTu|L21j6LW1*);wBi$*IST9zuXTRJ7h}iXL6a7UW)4&$N z&zI_a1dV&mOTR9R4j+sn!YqZ!KZ|ngO8ikE8nJBF|J>@g+x8Z^T4S74V@y+LyrFJG zAOvlnUUq;f7qgoX8%uYYZX$YaQW#rRHuLw@K(ynm((gHSDF*5wEA{N_x#tI?66WUU z*2$u#WzaD!iv4!qrJyj$cr{CjD$}?8GqokwDan>j7p5-kUu4kDmYob*QZ`;ZTCVvW z%Q@K$3LAD&>`n82pi$VHt=@(NTOGsH2DbEqAI!{#tS01+E(ks`IS!k9*rr;Vb35tt zNLcgs9C1O6_VGtTM^xaaCc{nJj?j01pndUavL0YJh*5y;HYt2TG&6XCWOEbx1)0-^ zAkQw@6iR0RrO*AraCORvbjApVXG}dF$Ujc=Q&X$4={D^+$l0E~u&G8r(h1u;P1!pm zSf_&=Agi5VA!)ty`uaw}6qJ3$Jt7~cW?i*pD{gFAzJJt9Z`aRnw^y||)NPsRc-rjr z1u1-&`s!Rx0=hnZs;ptdB59}qL(*!tAyu12Pwk-dJjhA0|GvJxb!KM9HW0#pvL|~Y zV0I)ZxFnQ2?MJb1U3@Z?Vk+MCRbYB&R$WNQ&*{h1oK&i=&5~)u^vD6;JVgJLV)Xnn z)b4lOuHx0X66J+G_{>4WnUU~}f$+>Z_Xjhh{QxZg%U%vt({Xz`x&NTVP$RW@3I01c z)p3pV2m!rQkHZ$};v*~cpm;=Q40N6hzi$GSX=itc4gGYluqdvmEa|-e*4NTPa)zMf z9In+;0_G$ieyTuurMPV8aAdcof5nt~)h}$QJ|q6k=>QaNuN^k4ePqVOa56}7s~0ce zH?t?;bzKtXlB}}CYSPNae{N)}($)NYX8Nn?_E*pIuS7>G#Nk4biha*}ovbzNBq5g< zSZguci*e9>d9UNIwl_&RZgjo7@x6DyQg4`SuUxL&T#)WtuiO}se|AvbcY@)&1l<`w z-uGPnNQh5D;neIFu&B6j&K}|aKC}J(NCXBSYoVLFw=-xTdgy3i_7$~wz|iJaxKus3 z)V6G6ns@73+-m=Y?)c-|JK^MWNA~0BUI$yVJ6T^~qc61H+0|j@v{}P*^T^HR3a-`v zzE60K)9V5hf8kExGC=Wl@X{o6yKaK>0fk*($iTyoz&eldG9c$$XzO>oKL4wD@8F(q zvrD&CM*i+A{`M=AiRf-5qYp9&0mNJgukg&vh&qT7uvk=QjruwRFeoqckjqJWLU1_k z4t_-N(WtNrv_p}h;WM5{`W%filEmYDI)vRr8JjBd^A-M{Z(cl; zbUe*P#T4~a-iK_MPR#+~bdh$g-63r6f_Apdus4d{@{(@8%3`L%djFDsvCeLLqS*4P zM5pjk=>5*%Rq69KFJTM@t81p89f2SV^^K(Q5I;F#J><2R?h(kHncO1~gDtP3T!$!{IXC3~p8Ex*l>^3;y=xj&s>qB>j zGF3`#9(XPf{z%TQK%055k4Sr>3B8QEZg4kdFZOGpi$BkIwwLq5TLfUYo2Q>*y$O5J zpP{@b`p)#;h3Lmi5-E_^<9Q~L560TFP9LlfF6q8p=2Gc?_}{LH1BipTNCL^Ds3QER z2&xRhFRHIe#JHq3FhkkrH8G`NTv1h-()F%DstgpkYOna z?7qQL)AM~7r)5!39rQHPz69RJ;bn&Mpx|eXeCDLij+N-ubKsm!qs~pt*v@y~or@>T z&rbMe;qfd-`=j^r&LkEO_pdj`DtzMymic z!$0Bvn^pc{fq%5`(u3wo0>)}k(5Eo!K+0@3Vw?$X4B@+R4zHwz8ya89QFdFtmXnxo z%u zzZw(&IBF`} zNvvlswR3U~Qo+=@S}2U>Jf~oQW(JPpnnQj6m#6|yDa;;JT<`ZtdsF{|-l?SjLmyqG zb8vviBGjO;cpI~A`e)|Rgz6OUUyE9kFnCb&3!hE z!$~+PGp#3mGx}qPbp^AWtAkbBJ}9^AP|57G0v*_O1im_7InpBI2Z49VWw?V?G2YG& z&fFV^7A6TQ(f2%=*qc3|y8hBo8wAXUn(EqjC-fvN6#Ml@K*-P`}yt{i%~5ux^H3PG}ut*+l_ zbyw#J>yLj)+Vc~W!8X<#VAq+h?OADjdGXKD1KJRH%D#ipf3=ZODgU6a$WZ$HzLU)b z3H`Di755OHK!|1{BFZ6)g8nn1Si*z=TT~Q-2eq6Ljmm`9D--sn&t?jp3BL|Mvls7v zva;YDSUg~W1q6wZe+cvw+bOHakGCM1Y+A26RV^gfX98VtOH~hgezPfj50i(*<|n%Zk4s zr_M7sOI+!MY&E(k`7^8@QhY$#q&4oZ-8oI%wC4T$NH>x1xm(1ydHXVN+IOEuO=i7o zXv<*%I#wcxyP9ciRc)B=6JqG5b3uj?(R7Pt7kX#E8>xQh(N2$fm%om31&w&Bf`)f2?u6e#uZ!HK4}iRNeQ2 z#GgCWBn+YYoy~ieeP1AGy)g78eEr2zeJ#+WD8PPjZFv7}C9Y`;?4tD2GE!)VYW8l6 z^UEE2nim#s^fN|>HZ;VbXqsHJ0S1@I-;QObjI(pXuN%f(R=xzhF5VGmO~}!ROja`B zRh_$pnz6i?A2WB?!F>mIZGLc2OGPqXMR6|7p}??HXb-adUV=k1jQF^*4svU?*zpjpHZahC?X&%6_PjKOSI~ta|vmP0ppqg8f z5~)%`R3+ah^f?LFcPMh7;b;9!D+Ogaud$rPO~PPD&v#}os8tGYm(_&Yj3{0(-o zt0umLwYto6E9S7>RjYe*d<`5r_)+R8q}pTh+Rgq@Sq`=`!4dzkZ~J6{3hJIR#Tl96^?L*29rH;mk;=Rw0<)DAbY&=_&Fd?rr*^~i<4 z|AB7#gYH-$_BcL%EdRn%mKOd^=yF?%=dixlg~lP~*rA6Glsm3PPMrjH^81(^?IfFM zu9yh*mG-Y&6IcF0&1vMFjlaHzs!^);)dczt!ZCvqMHhHMmntlSD$Wpls+~HAgr=vRdOi)*LPFQG_VOeR zvYMQ&g@ZwZw46?eNg{tIt#*$|fEB3S&rW=?L5Q7>K6p4VXc7Q>^hghg=;ZQ{+WVus z&E2<6{4r=uZ8juj6k7~FM{BQ|V6p2Hx8cg8Ilx$hka@z^ebV4C*OZZgW$#3!h6*S) zN~qBF6LN$3?=fg4kk;`P%C{So4HDAQK#evv0-s0lD3`^)`#hnB|d`pBno5vYnh~`V{?ueryiTW ze{j!C49{Xs+JsYub2eLj*RS5Mg2p8DoxCKk5-`Fm0pg{|*Zc#nEHGSl+%roL|HKefwa<1c>l9CvD) ztXJm2^Zrt)tR`MYCKv1bgrBmmXe!PVA*!4ae2|~1^5Ugx2kG>tn3}@dSmVtZ>udoi zsU1jLW8|X{%eGJfxr2n6{w2Aidah%OujoV^h6IYCp+D{6+q?_)SB8Hi?2KPKp-Yt{ zys4Rg)1h6Sl=XH(+f>A8;t$wkPUYFRZUHGFvG>vHMettd@Di%guKlLqXC~svc<1L-an@SXaMfQBe$|ih=NOWJi5vQ;8In&doa$vXTW4rVm}ysJ z>$L1p`x)v^n_!o%=`B%(ZRLe6?KtS?hQp{LzKJ`5C^D_goIeEFcqE1Ory9X&Fu$5{ z{a`vkZ^YWM=&ny4*oUW4)ESHA!~N@BwJv%UpIB+0DEH@XYeR$|1)s`@O%mpb!QQWx zPiJfz#QuCwv!#)q28vpz9aV3Lx>H0Nx!D|cYI=&QeGgGELjh&VTI+D0?g*9MhzV_j zUW7hPj_IB{8ucfX)kumh+7tCt_ksIAA6#F}6o`HPkwy6?EUS>2w4yDy_|s?8Y08ff z%DPz%G1X_>dGI_DKNX#PxbuE;BNT?77jO#+!FWdWRZx^lQ+^^Kk0rnOfPAW7FC5`_ z`dyTvx?~J)XyJ1I1qM$)$FRZ4paW4;V)&zLPKHQ?9d5MN8C3GY&s#@kD_^e|&-((PTR5)Whq_>0Onz&vl!- zQF!7hC;2rbasn@K(o^W9+llN;tb`H@2S21{mJ|+kY-Y`qXP@R}uN96!i$wOsTh;wB z{c>$XxAP^o+ChB`kZ0@pxl%1O4*c|Q-^#Ldo4pe_z$H$0Umbl|R4j=Kp5aOEW-zHS zIpDcWuSF#3Z6R&ZrK(4iL%7ke2|Gxwfa#EVs!GWl)_wRDn6Xorki9IiJXm9*6O|E? zur^e&Hr!IU#$bazWVtR-vOe&AgQH|);5)7=bknqC(+0XZO*`tzu!EB{nz5X7VHrhZ zI*G8}#i^=2C)Y-Ntr9gkeLyWZSRgI?UGphR!A#D*hvZDZyf# z<&z|VR7c6)>yqt~vfRmz0te;dLw$PL%hF;Ngc%N>5)S;M%M!uRL(i9`GDEVqZ;x!D z1b!(CY7`lZrf+IrE!%A!YCx_1V3C$*54hUuwr%N!t8W<^KUl2Ul%hR}@IX$v}IBE0%)zAHXPknRE^b**76XtBL#ur6FGEv(<3qKPh6qkpp;`i2q#=5Sbr zK8^)!n}cgtaqw7+g=<- zV`UJ3(7}5zbL`Bo>7KM1QK}gNW(z6jX+P@dTfqGrs4 zepO$lsP$M2$De%7p{o)tYuIztR_nCF9C3Zvq(|BH;se3(vk+7i_Fb`G~iR!RBNI0mgRN>j%;=ew_ zx398nH(905Rg`$M=WyPb2)<28wrkB|5$mS+SN{?qV@T$tN|!iAcV@l3 z#Dcud^74q~@|J~men*|PgsHLy^=GwYZ;f}NBb(%zHlYiL5vwlawN9n54zCLbu%5EE z-G|o&N6AGOcJ$TOmdiglP`Z@ij)a*6$;pQ*lb7}2H7}>3>=nZN*$j;B?LGySCEdGa zS(EKx(UZ?Jf#o%ERzO|+A`@TKza}G!LkvmxlH$g5@`UN}N~4v-3h7$YwuF7z$-0vL zr{W^^zm?;F$jgaUpe8;6hK%+`ah;)@m0Xsy}VSj1h7?pV(b#`T8bZ!Z*%jRVLj_bm1+rUm) z7w2{RLzK%;lFQGaF2A-tKlhs-@XfZip)he;%>juxwX#37jwibA2ihg?Ov$H4?nepd zkHe8Lego%ZTh5dt3X^vip$1OxuRbH9HkeW7`aFHPwx#uf*Y#IaekH32ub!%_z zZJh9`Cl9?TUcWtf1-w^`ILSUZq1h#QKR{qV-56X-#BkR_#3+1Lm&$P@EXkWLeiTs( zW3I{F#I@wL$o*1#=WOZkmaSO7mBDLM=$1RvwEWl{XW)X{CN#m=ylPtq?2LLg%PUt{ zFFk!er6c>tS+)&$^O{cib6h?lM-LgYM&DN?YKDb7iuaYcY%g#NM9kbZB^)ybofl@D z`%-JvTc;OO6Ua>yc_xgU@ zPh1S7dWq^Ie5uylo4U3jL@SD`B=WTow9BBT-x?qu9muvR0~O5ZBY{Fr&wr8p+ZuA>ThgWqwxl zdPLgo%kzRao_nM+&y2?l<&YUqYa&cuRv0CwEe{xc)vNwtvy>hi`Rz@E)1`y><{wyn zs4T^w0W^^PLByk56iZ!^yr0@?qs^nbUN<{mXNf7L8_Lwmd{!4D_C+>x+uDZZ zk0q7RSmY!*H z3M8t36pdRR$b8s8wJCzpiRAYk5DBJ??C!d+Vpw#$c2; z(8greqxB$4T9+h+@JN_ z?fS!=+>y}}l0mQn!6les(q)i#P%;S%Y!qc6gn!2~P8q#iIQ}V~((Dd6ld|ZFqV1H{ zq)8QKbn;sh$b?d#eb?s?ny8>aSdfC7PfcUS1y@W2#T-CjkY+?I*tVie!F)T*+Yjr3;a zm+_h{ZU5-nXg$REiq6~cZ=)~2ERQrKo?R7GB&L3kG<+9msd<|`I$u!NFgZfJH9I?h zVjY4zd=O#WiJ90aXrg+#S=1Te{e>y!(My%IgjccC74s2;s@CYOoo@b?1sX)jZ%hqb zfWmtR2(jR^DGRt^K^1y8YE z3MBG3tN+3oH(g`bTR-tC+-+mUh{hmVPsw&OebYzRn^t++zo)z#w<=GS-gW*Yn`b_K zWt=E+r?F4IA}79Ib1jh&QD{hJ{`O9gRbF~;p^?}x$WTHAiMV~1?(^MwunYY!YTO)a zuKtbvps2gI_=COGzH0?Wu#+pI*z_h!@C#uJPbJ{XCieC+vvmEOmHS13eonlora3ps zV}zOT?~SWVH|P|lGFHqj-#=NAj%*Kb*pi4YR$C)@p`_$PW|=3FmaTXwy%%Kqsl*~J z|9kjtJb`aW^YQepP%haI)PbS0vI!6euPe6*-hFxSeSudiTJ>qZxveJieQ21z>t(+r z6OHIecnz?P=3T(2S4v0kk}WTaPWNjy_G?;-6ciWti$1KG{dBn6Fc`%pY7zH}Md*2~ z9Dh(Ohs%v4^jZKu#L@9WRLy{>i*MK~~4+jsw0e!yUy}Lp&TK-?dQdwBMd0!&v! zI)8Y!8hrh3q>Fa8dU(#$)9X))VxA(thUe<-uRm{Md{z_?4!ldg@nRt6Sy_HK!o+gp zMHIS=ZN8SlyBQh%$sF=F3~Am*agA8juMoGIhLH@>~vaoVQlo zyL#KFt#B)x@7o^D+P0`Rv2vV$6Uj5??WlI(Ig4NOu>t!JI2!@`5%DDwf-?fxU7&jD z+U07(%&uUOt`M=V5OLsRhrei(n`pBmf1{m1-FJcN&-^up@c-#me}ez-d{rM|l^{;uH1m{{N6)>D|-(ueGe@*;4OT|i_ix;jG$>RpfTEl5$a+gs?q^>lsptvT_hjc zi$Agwd1N7?YAW);MC`Vagxm)yu{SaTuVe+E%L-}B32Dd(sYwVt6ctbv7El%xxGyMp zM?gpkE-cF@D#;@%$|WwqA;rfo%f+h1dE-7C^FwB)$8?M@uQ7hQ%J7wj{s#@c6AisP z4ZRBugB=Z%70r$BSJ_Oj-ZG^XvZRx?W>9owy6<{J&5unx=;n(kE`uaN;|%E^1q$}X zDjqdj{*6yVf9XWEzl`sGlhSXHF=&`Q{1q{3UVySLns6?k@~8%WtC{kzoeHZTkEtI{ zs_)ON?<}ZqsjjQ|Rg>FSlQ38lHChusUK=`H7dqbR4Uso?qyjnjajRMfJ=~x6Ulq z&#aYCZ52;q^T&5`#`ZEt_cBKJ(?|C+NB6Tw_Yh-y#pAn`Q@eH3JIyn=wpncV9JYU9 zdw6kcY!NfLxG}f9wz#sqva-0gI=8ttv$Z~n-I%~_j^i*Bxbyw3*`3{mo!#Y~-PN5P zG!D0c#bL0xZ7dFp#o@MhcCovAxQih!?7vQM1%cy)^b0j#bo__vrR&s>P#ypE>ZK0> zhd0~&Z=6>ze2>P1&O)YzY2q z)l01EHT`iyuO$PbIK(tsBz~nnOjNI{-rqo#e3|X5t2x-7Yr*@nYTy%N1A0I^*~}Rl zM+ex&?nI4-`qMv$yBo9p4Njlr^o>PtzbBf%caJ{iD0A*7h4|W>E95@UyxX;B9eS*n z)Y;k;Ed`en+}S*M7Q8qk3>Un4GO|+M+nU}TQ+TR%Y1&70)Ns*XawTgqKz7i2hFJfk z#q)#Qb)%(VWv=X{kVoRYy5?8cF16nlkv3Wm*ZG*e9P!G^Xquj>N~rC&jkVEAv|&c} zN{lg=RQvsR&PAF(O-7AYN~GqTG`O6 zJ3g;oB3Nwuc2T|5l=byJFHpU-DcC}!0K@&d7RhARO8+UZsD$p@Ca#@rcEYTKGt$^R ziz6{_rwhg!W8N*;4l9Wf=r`W&l@xek(I(2l!(@FH)`xT&kD%J*8;ihOjKr)Wz$?$wzT`Re;k z(zPhxFY_<*Gi07*80xr>Kot3#`b{t`DnCf?Eefz^o?zMSc#wc83UrPeXC+cmj-V_K z@`8=CU+q*5gck<~<)Jt@R8&0GibJAAQMW`oJDp65Lz8}uaokXHkm(Az2txds+Y7cBY^59%F+7dOB`gmaD%%@uWp{^s+-)p5d+D z7eig6{dr{w)9{{`i>l9m_LSvY*73bw%o(dIFDr0Vsj&v|L_98}yi`mM{@EaBVx+vZEME=JYi#gx zaC}fat-Q|Ufkp15-%fc2?J3-p13EP?URv3v#$z7(61glak<{n#RUwsc+FrY&dcT(6 zYB75nQ(jUtqsDFB^0E&XA`!PD_f29bcgDE5qHe@qz&@3C_DH;>{jgGikqm^Z@F>2>Hj%KU|utnLy$~Mbdp@7A#MV5-9c6oJ{q4y?#r9g zh2|~6gsVEA+6#xJ@+|X86m>mQzZn743c)R;yk6tY!7Z>A=8&o$FFPnnbkU51OthLWb}*sMDDw`yK`V5^ElFPNks4xsuc&$i`baEK>v;WzZ^3A}RdSvM zrS_{`X}fxS8O0B{u^&kd3MnIAY@)pR;m(usKJ^==sfd=3kC~E(>cz3e2oqM_nn{9X z@yc)9TV~|A$(6QGRYR0DmL-#3YmO4K)9~$~ftndrKZ*JQn{5ZX{8_wJN<9&ky7Sc& za}tHhYgh73jk#*)1MDP!Av&<$cOEZX7hrA^$#3U=EU711CYE>dvB zXHmbaiBXvp`dJaI z>-OsWRRv_5f_!pl!O0zwh9e(G`8_6ha0eH?u#B+v`U|3ZvMDGe1nh*~{IAv+4*Zf+&MC3FpRV&Lon?gi+2O z70wh<)>MbiesnH0ht}70Tta@h(CgSRR=Pxux!kCVyXIkV>sI@H& z^)u(-ry$B!SkkrdxvRLOon(}2d4;QNl%4#cYb~AI?L)h}I&RHB+>~|fRV&>(#@y5^ z?KSD$`y||-&^tV{b{}r1*7dsUIOd-3>bxHTD$=|q%jL0c1;Qi2_4*!^9qvR?pf5ZW zUlpBSplqBWWPQ#Aww@mPhu<6zJqdq!hG&5K*vRo`rl6rD@Iew4F&iW(i0l{%US}hB zgwVQTK?{vu;mT}8mq3|P0spEP%lf>03Bcu4k%fHZ-P>eLk6)99&r$*0yD+&f1x%mb7$fd&PAsv3O= zl}NKqy|m{2MP43tprlYk~MRDyEwdXH7C<8}QMg*I5v07b$@zdvHq-36TrsDH{Qe zcVM|`@H7%kU=(tkMM*IZ#vw0XvcZRR8wQ=}(2q(I0E zvIE1QEeHt$MR`mbawtiTrT3Z_3p|(uHwcpaoCDQXQZ3C<5h`AZ!cxjhkr0`YP9cE` zD8Fb$s#AjSGXl~~Q*eme^1H(iEPff`ikHD$Ufz1SA zc2coKZ(~(dAa+I+hIlqeNF#~nTe2h@62gH{FJ4-DU@NLA*!2jk?oFOx7{XH(#&1Iq z4+>f44Li^eUK|IXRnnrOnC zq^05&A|8mv1`)D*-W~UGKLURokIOR}HYpsReJi4)NNiI= zcoTVfAgNlMG zgiSSZMO#Y3MlxB~!R)%(YrLM_*5DNB zoKWkGU{kW%j-dEzka1^5t}?{@bJRVukRLgzlw^q^6PZ3;X%HK-J?pFlXf~lzE+jgM z{BsIcDyK`@yDTPiq9i>iE!(jxTYo*f6qM7IlNZ1Pi5K)K&?GR&rW0TCCzc{7rpZN1 zWo@biT7S;&>&k?$CzmsTizG?Y6cLuVd`+dispB*%p#38T(Pc~CbetDetv3kGe_Nd$ z52Y=xidph1(7Z$%!xjPTa*0dlZhp?SwapEMrh(95mpd~cjI>^+A!O2!pz0zzDSUE~ zVQeiy9QQ`iicvNhspp@FLYglKvx&g3FX-g5<6l>oXeuS0&SklICot3`oRH;ieJ(jm z%1)XCS2mIjALhiqP26BeK1HR@8Id~^gxn$zc>-lPwk=^AFbRTOF(oTt>nP~V+qtYr< zZx7RmwnqO*{i2_f`R?Rp4l$(j$ijFnQi^pdsC0a}b8@f^xS%nSKBx8+-&jj*28#Jo z86R6d)&@F|%uJIh&9n=#u#FsCqv#j(?%zlEB7Qxs8|Zf1 zpvq0kSL;qCmaYGG6dk7HKg>hk#t?Rz71gKN@SUDk&O0!GDHfbZg?(93`MHqM=VLHi z=zL4WM^tH?{8#(#Z1SPPMe+gn@X9oX4kyyonatov5s6jE<*6+@Y_@E$Ao+5#XrW32*N79^1 zv75oo$6!la*MtpYSA8-(BuV03hL%!AwW4dVpE0RzkR)M9?n8*PU|9$G9i-}m#KKsq z5Kt&RxDe8fNb+;&Y=eb$8Crq{ks$|-%|fV71?x7e+BSaDo}XE+ZT3BKQ9WH0Zaq^y zcMf}y#%_bMy(&7rqdjh@xL%FQ-YJ;-%t`N4`o0A}_oY{TFW2hU9^J02?c;H6-7+@! zWbU6H>f6iX{cYbL71Dn!%X>1_AH35~0BnuQBE_B~N&GE#o4_edPHt#L_ePIh1{s~kG_wmGVkI?ueXjEPfLC|9TlY+Ge_L~t~bVGK4xul z6R2L|92|3mYky!tF%hBMOxQgfP+VdtAH<`t(Kej?Fg=^2HgY3wx9j@)dG*6i8~aO){v zZ!X(njKCoj7v<}rayORF1ecV)E&;8?GWkoA zeM@3nOTtvk0{qJ`^=00#%Ul7=9Qn&^eakFc%ZyYjbo?vV)K{p#u22Q6kms+E_N`pr zS|OxbJ%g{FsI4BEtp4_2-9@b8vAwGp%<4Mj+A4f)No{T3WNpTOZ4$AD>RlVbtPN74 z`{C#wHFT#5y3HTmf2Lb;I$--uJ& zh&I`X@ZShUYy|ag_+vJFC^tRfn{H~GE+(6f{+o7)P3zuGOU$M@CFUC(W2}ZTGQoWG z#~2_m`n?!E3`Uo7>p6VuiQ1Ny$(FkR)McbQ5<> zv2y_1*~=ScUVpTt$HDfdkec=9&dWvatBu!~f^YB_hFx!x&=DhTgt3tf2w-ZK!qqLcVr(15uknOT&T)=qOjVBo;N6$a3v*L-;|pjpqL$=ZDJYS5^A&;SV@4*?!0ULHGM9vdDW zOKu)>PM&YKcuaVCKg0M81^C_z!QKkN^aNoqgkevG;p##H_u)cHe8O_PB2qkJ61)Q)qx^bck-p`p*&7Iaj%sk1T(=D9WFIxCivSe7gWK_2NrEJ-_e8r?<^;^ZNY2}(( z)tY(L+V|=;s~WU*E!wVr-MMkYwRyv{b$?eK%Z1pUzZf3i22GcUV(Kdx{pIq&lSnfm3AxEc%hDOJR1}27jriMCa z2bvc8t5$mQ);d!*x>GiLQZfA*+am?o=_=gfFWgEu4n2(9oWyO-mHreXvObm7_Cavo>)1@n_vD*iwcP>%3wwzmi@caLxp|VRpful`ezTgj~*+A^}fIH zKP)QD_IOe}=pdSQcenjRYxo})6~5AWIo*sC3c5jop!<)D3d(e>%)R^Ir#h0K{&i77 zAcC8a;p{|5>N) z6^5VL8J3P-EGm5THu-B&LFn&Ag?yL47Zqys{$5m=xc~Q}Lfl`A3NT=*fg4yg#-FCwhw$tJG^U+QxPbMs*6I!vk(|xy?Vz)3?EQ1r_q||! zb<8>IR~KEde&q%0mt3&^7W$m^?b0q--{pe!yU}(4>o*iX09fBXu0>$`WcT(3>qq+9 z1FX+_dd~WF`z#Is>)%v8XZ`LA)(6j=vwnjm_MG*bM$TD(_JZ~Gzu?bV-&B-X7Fbk> zf^7)_iwcj_2!TZf!gJPNngv+D>Bt0N{rBgr-;6tF{oxsa^_$V>tpDVk^;_o7S$}vM zVEq=<1?%5EXZ>HubJqVg1+f0F_H)+1d(Qf;4d<+1Itj3TYsES1i=MN7TmCugr%eE? z-cLbcXeklrI{SMD_))zfz{Z6NI*8eqj&idBp ztpDVK_07&%e`)lb^*^7p{`U*kH#lc~;!(IoXSW^(VEwcafc1O)qzeE0tiLR?sG{+v zuLNNIYb)ohZ{SgoNPrm;BvM6kP?jc<0>94!tUrb+NrtpepR@j57J&8Pvv&d3m)8SW z-yI3C{@~?v*8ebeA6Qfnj0adhz5jes;h+a#ecFCCi>{$81i<>O1L^?luTzv|DLeFO z0jxiJ&iW(0j{(-7cm%M%`#I~6jGVK+SnqRy^^tx6>rNe@{%0C`Je2m<&~1EJ_PsoRHlBkc18SX-B;<7+-Y<3ikkToe(M_E8QjN` z+7$$s?GRJ%esM+gmcuvUMZVd0gBA5nwE~WI*|VoB#SM7GEoUO;?n_rI!%5^#p;zX{=r%8n^-_)+^ zQmPe>u*+J8uNHQ{&S#HmVQvu$t#bb;Z-FNp%3Gl+uIgpC7m1VMS(W-!*k_f`maxm* zB)5Cy;)vfRB!aII(NrU^+w-M}I6_3)g>h{>lV)fM@UVx|W0jrqaq(Y89V{LtJDJ&}sBdPn|3SNQbXt2Nba z^5RyZh)s-e&G?LicxekC#wfI6VpLwByaX|0Vo_5!gBQ1Nfo~m!)J*-Blc?U!-Ll-R znBKw*)Gos3Y=&wYf7eU=+(m3(-mRIX!b>!Az_2clE9XcW1e>qs&%2A%woo}qdU5dM zs2|rZaMeq;JBDSsvv=E}dvd$n%unY{F1N#0(%MHO28On5kze6nuIeKCu= zjjwoV)FSM6(NNXq#|Dv!q5RddlDht{PBKZri*8Cobz2_wGBa1}kaZ%vNXLGrIifce zO;_c=dMMP=?dMyc+^WZYwv%0I?Ktf0*4T+)Wm*yW*4Ab5+AZNs_E=otI48J%@3D;B zdSb@$NR7~5{=w@F1E5CbVBVh@FvDTXw~md_S*t|_g|@*0$9pjir-cRzCmdX7 zM>0F7zv*t`cfVC1?<%~-A2?mU>P#ppNUY=BH~fRN zm5hQ*SGulzca`tBBS-HxDC~AOOI^|0P4vB+Y9;Iu%55vmO|#>+hNSz|5~pXR5>HXz zJd;2%L061Q-1n?V`wGDyy}<91nEV?l|1?s0xVm>fAdSYl$GjzdoyGi}-7_ZXW}FN8 zM`iF58~96-hw+*R6Nd->eH-b3zQ;!%@b#T*Va}9(K+ARziAJ(ls18^V$)%Z0Is(+x z6L{p$lcqw*td;4$pgg|uxW7;NB;`fVb)Hgx=VNqv8>`Azcp2P^rXR8r&DSh~GDh>JYfKz?{du&X4b+b|?ph;*ig|!QmtWqeN4#;y}+wjP~0InjE%C;8oZA6&C#TqgZP%{Q1u>OV+48M z=Ji7(!-#?@B#yw@ntm1QdpH<@d!r~qJG^M5AR4?7R{{zLDep}-AHpIpK~0ZP zFF%cBvNkX92{!6aQpo5}uh*mGe>B13f{>iKkd0vf$wOa{=qRgfA59@r3sT=rQ%_@t zAe=tCt1}tiIhqhhb`k{ML zH!J>=BB^v07zepRG!U_gymE#O;77-;F~oedvGXLLZ112l$NJPOLssd1TfGCP=^2`{ zgT5;T(jI|bkrb1tM8aV5q%3AzbR_UtW2g|UW)x-4KDE5!MyM>BPEzBwbOq9kw=pcMq;V02UeZvX0@4)1`S6dG@y^n5uf|h}bkqJI zqw^=Co1;8fk8|>UvRv2GMk>9W$Y?8a(rb>hUO-dK8FGSkBVaMvjY=^XBv&>zwzDIK zW<2VIEu9mcWVN2!#2ZyQ5xuWTqT3Zc*#*WbCY&L2-H+3%8ENZc@}I|~Q|iVkG6cy? z2yUZo6TA?NIsQ(^!L3k;R7}){PCy)clJ#-4G9&HIQEu?t{Og~yb~>{(-X>9Y<~L3h z^z%f0qz99J&WrNN8(|MQg+g4b{YXHx*JRSKOfV4p1}QP(8EW;@uH@!>+2)TN7Vjyh z;E%m6ZHhUg(^r+jDT2Oe0y3i~R{CS!9zXt-5K2&QHW98kl!@Pj?*q=rV@;4O z-86%6veY;Vj20xzz-COMOYLo}ygjVm)^{O8VFGWnP57LxU7vxa~9A&EY}5e%9b%6-YZe+O6uw-deR6LsF3p zB-^>}QzezTBINyAouFoEj&nV&bo_!!J{nDtkX^6QR2$J9brV`YYMafBE}CHXOoNcc zYL*he^-RwK4Q((+n>NNarV=ZW#vmJq?10CbWbsLj#BV_*(1`K1QSk_?fRX2+cw|5Ss*m2fZ>`p4skW~-vwMr#X`Q)$qq%3#_$I*m5=8yS z_R>dF{p{zg&rT?ZWYI>F)UlJsBX5fJQ}mWoog(+T`e_h%sr3flsJ7DkJJQt+ynHlp z19O*!Wl$N_$BA%a16bd?1PQHUg-s70;RXdAScT<=_O*t@D2dHa!w{Fru#}{z`82 z{^gO6lyG2CAya$Qn3Cn|>1Ye}n0dUy7rik<`!Vafws&=7ns>$=dzqYBP}=EZZfflS z>;H%YSijwG8s%_;3Zm=)78P8l#v)imUE{}#ipJwk8G%Iwq9@}iryaneLWtjZmYzs* z-9#3^`tWC&ER)&7lcjK3fb~rYC#y}K0gDQsnt={F24GR)bNWOZT)82Bs?d0_N3X5> zbgCThH#Ml|2rMdi(odsKy8+g3o|>M~>j7B5Lw07Vu4lzzrq6zQ-N6Z1R3LvmwFIA? zSDT$NnVs~XMImNKdS?eQv;CBFJ@C0swYfHvxfcJqM#NlQ?_4!zu7YyD6h2?1HlJ@Y zpX)!Lg_uw8oln8cCsHoN!55;{79va*Lj4zl5DWgj3qF_yPs&9%_@ay2qNB;8o&TaW zV$rg9(Hyh*jdIBtzGS4f^wDI=z<)^}v830#q>EX4PPzO9zO1FTtZuUW(0^GOv3#$0 z`8H-*fpSF_z9OZzB5txG;=dw@Sb_JhKrt)al&hTZRd%)28z!qv{;Tu=>(lnG(qLA> zlxr05HIUjGiOCv~{~7^e?X+j@cysN50=)-A;~t^6jL{o@=(Rlbau0f86Fp0@J_TDJ zf3!YoyguZ&j?7!{?OE^ITyLk?_yyZ&dbCk*yiwz~QJJ?<*0WK(xlur|nFrg0lvSb^AE-`HsF|NaW~FzY^*ys6?Qn^$nFGC2IM(H?oL+i_R^Y*&$W@3z9;-8Xypo%Ueodd_g^(tm>ILuT;* z)dw3ggAJO&225c{Q&|7E^XoQ-wHoj>yo6S2LJ@a)(`9%PMY&@HxFcZPfxO%vP%c|I zw;4aT5g+$EKJGW%TspV79&>PMuyd)hbKPg-zQf9`$jT$n$|HA!N9G2v6dRw!O}IFx zfEbsMD36E;pO`4WB)|9rZt3SYW!~OY`owzAf?39%#M7@_t`6!zCNhHrusK`j5;tRaa1lID6ufr7DYX(J{ zLI?hFgQk4{?E`)$7Y83U|LgdN&Hv>r_=o>Kfnf`QAq&Al3!#DUBK_aR+AU=pf843G zd6;MaBFX7fx z&-oh9g&NPr+Vfkg_gQN2TW$_s`4zt08oAgOv(Oel^DAz=Ij*Zdxu!ZRwX`I-u+9b1 z_AR^rb>^@}`lwFk_}lEsk9pIE1+&J*^QPrX<`v7|t5&S4SFCGRZE99+YgX)QSDb2> zf7UH~)GztgF9tO%gf`AcHO<8}&!x1^rM1mxb}Zy{F64DB6n4*-cF$Gx%v5$yS9ed= z_DnVPPqq$Db`4J;$Hqq|QB!lM`Gv8irLonO(RJVv9eQYceGs>f#BB`WHb-z<6Fb{8 zJJ|Uh+|mvXknc4d4v4(3Z(}#Mwl^@_o15F1_3f=yEN&UMv$(Uju(N-Dxc$YQ{T1B) z+RpFIoqZq&zXROf-}isxxn>7BABTL_zvDR=H~!zr#9OVI-|K>$XX0a%FaOUn@n2oo zX+J|?|BspYKG^Mbd~UMo+sNx;wwpmcRVAzaNq2m2s8yGuhq4~$zV59q+ZZb}=uS|p zDaTA!T5Qbp)&Q?7G`fhW>7@poW-4wj@+24a-obEr(#Mj#&@v_8TrO4OlGf}-xzyyw4W;;myK%me!xPd`^CE%^OQ zCZ5Xe2J6cc4z~}3`-cC_#G^S4yKq9p6y#;trGI4N(dkxCjXB+E$w#oue`n&$v(qS; z^n{vk->CjaCf?qv{U)p4lV|S}-L7BYxzCz21@B*T#OO3h^I@L9Gx1i^3F+iEe`Vs= zvolN?NFBk#*FmJB}o zf+<7cRZW0Q{062X<|{dniI4d5HFhB(cdL4{eA1wLtBr5Fc2Ax38<2?y-lSZa?gldP zS76w0cq(IT6DjvA-6k@LO>D~*5egs^|9mt5*Y!_%xVEu(JwPVjlOnJEW~A{>XJ&{W zkcqFL$nN5Ahwb)QH9rC}@vHXfz0yD?zF%So7(cvAXOfJ(&yCm{{KMW0Wa1yNBn)Xk zH`yO)(el5TBW8Nw>4rJSbHwCdc%E~C=k4(DN%Jw29~0ka0X(01zS;}S5p!dH%(>Ae z?9O>`=O1=?32YrMGD%P!Erm(IY?h-w;kTD#er(y)#yRmHuPu70AEUFLf3aQ9t8m<0 z&u{0q%P;Kz`UjIY8t`YU)*{DlyYb4|+IBPDH`&BrtOX}KU%2{Dc9CDu_Itz66PNZz zKNUD2ZV1lY+*STw8qPwBty*Tez7wOS>2OOq0x%` zbxRs&p=O_QO^B|QR~KjYv^M2BWn?Sd7WYl>B!wPxy-g?vXYxTdm9aOXO{}`;i-~^cv}ghKT-MJ-~t$HhL zFueM^4y{A>qoLu!=!qu^Vs+W-8=*t-$JgZLPO~*zuMQ_OmdV_c%h4_h9Zr|FlvZ=d zdE$C?BwIIJ;%QyZGj94Jgzdhe-f4~wN7zVFOqt1Bxm?}T$D?J{VxlGvxv!+Ij#W+2 zLM`iZU+?BTuL1Df9KiEw0MBy(JQw48ca?9nRd_Tvz#;D$2j7ca0ME4nJdX$P99mYA zAO;0m;)Vx8Ml&xJpj*h06Z7t{c6ECIK4BPT7QbT@5=Ye7r=8G z0MA)+rk0_lRefSS-&6UJXzj7Y(Yk#3l3YDI0MB;-Jf8;eJO{vYF>c!-zP|n9vDht# z0`Wz@H(vle9|Z6`9>8;GNdsPt%b5t)bLlE7l0?3c|7xE8O90P{0X)|O@H`j5bMadq zBCsw>3smS0d?D8z*t>@So`(Q<&XT=A%U9gWFV5*_0PA2FLIsM~7u~SPGmruB+#JC3 zX#mf20X!Gy2nmI?-4Yr1Rd+1Do(lWG2jICjfamc5p7RxTzZSn4)dKq^6guwtQN9FE zHI(;}3BYq<0MGRRJkJI2T%0{&7uGDdJMQX;FCig<8=M!8VP`vHC*ncsl1QRLkHu>f z0MD5u1Z=N`)bDMR%dOV|cy58%&u?ekG|*@t8mhN1X>b@eFR+uHs6Uupl*5K|oy_mz z4%+%(<3bfmmql2EI-KOGQUy*|0X+8v@Z1KUb&6ryKAuSg@VvjfDby(h!1HbZ&-DR3 z_kFK$@({rDtGlPaS>K=T_7|P*vPK^sIN2>Z5$Xs5c;0i(nN;!tfag?0&Qzr5c>V>z zb9$laA1zs>W%wPybCn7J&%g5@{?woY@Z3^V$MxwC zS4l5R0MB2Jxyr9uD$={Xm2kVOY<1t-?Ng+iYL*p%=OzbknxsFpCEYEayFWAh0n8EG zRJgzD`0@JCU37?8li;#6M4o}i!*G!Nlz{44Gn1+!<*A_OTqEJbn?FBCF#%d0e~DO~ z;PSc_-F;1uj|&X<3MudwQIunvWQOz}HrD)hhaTEW#6_lH3lw-^j#R6Oc;D0;SX+IH zWKdNEpCUoUTA+L^=}M?aAnI1I4xM77$0?F>RNs3o$(!&Jab*zrG>B@P0BpfS^{kPh z1PNX;B`j|8NG|jVK=~}~_-G4}A30O`vqA0>P(x90J$G7O@?If``3iWDY>o|7HE1vbD2 zu&1LADBhav1L@^O(#O5lL0Kupj|pg-1Y^A!!d)bNP76til*lbQK*UPKRaMc6Xb?BP z(>Ixy)_L4RU@maEGB}=|?4EXDhIQn!O#&_|!CEC~T{7+$h_BV!&l?nUGddFOMcfAo zZ#n|At3WCXBaaNDEKu=U^Krwx35QkwU7+ynxg=gtG9fMj-J!i9nRx9Tah4&a9Xk4q zK8Q9akyh0Qtpd4p9PLvTq&4nM8k5+g;qhVQBwAILKB*@~e*rL(p) zvwo3CPlu+5P7V2`9(Fe)(m~=-hO7w& zL!acGqpUb{a&WbOI9W<$br!ZNgf1pCfsC;;n#^@DX61ksWsT$1H#n5MyqCJrFK0LX9owZn% z>cJ6Mk&QgwFnie+VbEKDE@R@Rx1&tT$DlCa1D9h-jb? zToX(q1DTr03pmbiTZltDQ{Em2Pbwm)VhRwt#6;u1D1FM>C_H5y8Lf+y?>!YyX_ai_ z>_}zXkczHE3*|78hg6(}!KdS3dGb)jnu5D8!_=X1eO*PZgBcc4RB_Icho2Ff)nT=$ zl0eglS1)3I1(jJuk%7@kwl>~Ukr0CH)G|O|J0xCRqt#_<6brxn>QThavj$+7!Eez|J)*AZqyTQ zB(A+hV&C{8q>-#g6PV0MXlaB@ani^({iv+J9w$f}*Q8wB#B9uYB~0 zD(=_j&tH!y((JLn?w0=2Hs)7<)oRn-qGNCKq_%a=y!CYtn?7^f#!&0~9=L&h+i7sy z=PA*TQ*EQoZKi�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 z /dev/null EXITCODE=0 -for SRC_FILE in $(find . -path './3rdparty' -prune -false -o -path './build' -prune -false -o -type f -not -name '*apply_mit_liscense.sh' \ - -not -name '*check_mit_liscense.sh' -and \( -name 'CMakeLists.txt' -or -name '*.cpp' -or -name '*.cu' -or -name '*.h' -or -name '*.hpp' \ - -or -name '*.in' -or -name '*.py' -or -name '*.sh' -or -name '*.dockerfile' -or -name '*.yaml' \) ); do +for SRC_FILE in $(find . -path './3rdparty' -prune -false -o -path './build' -prune -false -o -type f -not -name '*apply_mit_license.sh' \ + -not -name '*check_mit_license.sh' -and \( -name 'CMakeLists.txt' -or -name '*.cpp' -or -name '*.cu' -or -name '*.h' -or -name '*.hpp' \ + -or -name '*.py' -or -name '*.sh' -or -name '*.dockerfile' -or -name '*.yaml' \) ); do + + # Skip files that already contain the Apache License + if grep -q "Apache License" "${SRC_FILE}"; then + continue + fi + if !(grep -q "Copyright (c) Microsoft Corporation." "${SRC_FILE}") || !(grep -q "Licensed under the MIT License." "${SRC_FILE}") \ - || (grep -q -i -P "Microsoft( |)\(c\)" "${SRC_FILE}") || (grep -q "Apache License" "${SRC_FILE}"); then - echo "[ERROR] Require: MIT Liscense biolerplate" "${SRC_FILE}" + || (grep -q -i -P "Microsoft( |)\(c\)" "${SRC_FILE}"); then + echo "[ERROR] Require: MIT License boilerplate" "${SRC_FILE}" EXITCODE=1 fi done diff --git a/maint/scripts/installation.sh b/maint/scripts/installation.sh index 6d426a2f1..8e083326a 100755 --- a/maint/scripts/installation.sh +++ b/maint/scripts/installation.sh @@ -21,6 +21,6 @@ echo "set(USE_LLVM llvm-config-10)" >> config.cmake && echo "set(USE_CUDA ON)" > cmake .. && make -j && cd ../../.. echo "export TVM_HOME=$(pwd)/3rdparty/tvm" >> ~/.bashrc -echo "export PYTHONPATH=\$TVM_HOME/python:$(pwd)/python:$PYTHONPATH" >> ~/.bashrc +echo "export PYTHONPATH=\$TVM_HOME/python:$(pwd)/python:\$PYTHONPATH" >> ~/.bashrc source ~/.bashrc diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 000000000..85fd7db04 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,39 @@ +[tool.yapf] +based_on_style = "yapf" +column_limit = 100 +indent_width = 4 + +[tool.codespell] +ignore-words-list = "nd, te" + +[tool.ruff.lint] +select = [ + # pycodestyle + "E", + # Pyflakes + "F", + # pyupgrade + # "UP", + # flake8-bugbear + "B", + # flake8-simplify + "SIM", + # isort + # "I", +] +ignore = [ + # Module level import not at top of file + "E402", + # star imports + "F405", "F403", + # ambigous name + "E741", + # line too long + "E501", + # key in dict.keys() + "SIM118", + # memory leaks + "B019", + # No such file or directory + "E902", +] diff --git a/python/bitblas/__init__.py b/python/bitblas/__init__.py index 56191b4e9..41606e006 100644 --- a/python/bitblas/__init__.py +++ b/python/bitblas/__init__.py @@ -1,41 +1,53 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. - -"""DLight package provides efficient schedules out-of-box for deep learning workloads.""" -from . import gpu -from .base import ( - fast_tune, - ApplyDefaultSchedule, - ApplyFastTuning, - BlockInfo, - IterInfo, - ScheduleRule, - normalize_prim_func, - try_inline, - try_inline_contiguous_spatial, -) import sys import os -# tvm path is under the root of the project -tvm_path = os.path.join( - os.path.dirname(os.path.abspath(__file__)), "..", "..", "3rdparty", "tvm", "python" +# installing tvm +install_tvm_path = os.path.join( + os.path.dirname(os.path.abspath(__file__)), "3rdparty", "tvm", "python") +if os.path.exists(install_tvm_path) and install_tvm_path not in sys.path: + os.environ["PYTHONPATH"] = install_tvm_path + ":" + os.environ.get("PYTHONPATH", "") + sys.path.insert(0, install_tvm_path) + +develop_tvm_path = os.path.join( + os.path.dirname(os.path.abspath(__file__)), "..", "..", "3rdparty", "tvm", "python") +if os.path.exists(develop_tvm_path) and develop_tvm_path not in sys.path: + os.environ["PYTHONPATH"] = develop_tvm_path + ":" + os.environ.get("PYTHONPATH", "") + sys.path.insert(0, develop_tvm_path) + +from . import gpu # noqa: F401 +from .base import ( + TileDevice, # noqa: F401 + fast_tune, # noqa: F401 + ApplyDefaultSchedule, # noqa: F401 + ApplyFastTuning, # noqa: F401 + BlockInfo, # noqa: F401 + IterInfo, # noqa: F401 + ScheduleRule, # noqa: F401 + normalize_prim_func, # noqa: F401 + try_inline, # noqa: F401 + try_inline_contiguous_spatial, # noqa: F401 ) -if tvm_path not in sys.path: - sys.path.append(tvm_path) -from . import testing +from . import testing # noqa: F401 +from .utils import auto_detect_nvidia_target # noqa: F401 +from .ops.general_matmul import MatmulConfig, Matmul # noqa: F401 +from .ops.matmul_dequantize import MatmulWeightOnlyDequantizeConfig, MatmulWeightOnlyDequantize # noqa: F401 +from .module import Linear # noqa: F401 import logging from tqdm import tqdm - -# target logger into tqdm.write class TqdmLoggingHandler(logging.Handler): + """ Custom logging handler that directs log output to tqdm progress bar to avoid interference. """ + def __init__(self, level=logging.NOTSET): + """ Initialize the handler with an optional log level. """ super().__init__(level) def emit(self, record): + """ Emit a log record. Messages are written to tqdm to ensure output in progress bars isn't corrupted. """ try: msg = self.format(record) tqdm.write(msg) @@ -44,20 +56,29 @@ def emit(self, record): def set_log_level(level): + """ Set the logging level for the module's logger. + + Args: + level (str or int): Can be the string name of the level (e.g., 'INFO') or the actual level (e.g., logging.INFO). + """ + if isinstance(level, str): + level = getattr(logging, level.upper(), logging.INFO) logger = logging.getLogger(__name__) logger.setLevel(level) def _init_logger(): + """ Initialize the logger specific for this module with custom settings and a Tqdm-based handler. """ logger = logging.getLogger(__name__) handler = TqdmLoggingHandler() formatter = logging.Formatter( - fmt="%(asctime)s [BitBLAS:%(levelname)s]: %(message)s", datefmt="%F %T" - ) + fmt="%(asctime)s [BitBLAS:%(levelname)s]: %(message)s", datefmt="%Y-%m-%d %H:%M:%S") handler.setFormatter(formatter) logger.addHandler(handler) logger.propagate = False - set_log_level(logging.INFO) + set_log_level('WARNING') _init_logger() + +__version__ = "0.0.1" diff --git a/python/bitblas/base/analysis.py b/python/bitblas/base/analysis.py index 56cbfff4e..eb9c19415 100644 --- a/python/bitblas/base/analysis.py +++ b/python/bitblas/base/analysis.py @@ -1,46 +1,16 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. - """Analysis on TIR blocks, loops and functions.""" -from typing import List, Optional, Set, Union, Tuple, Dict +from typing import List, Optional, Set, Union from typing_extensions import Literal -from dataclasses import dataclass -from enum import Enum from tvm import ir, tir, DataType -from tvm.ir import Range -from tvm.tir.analysis import undefined_vars from tvm._ffi import get_global_func from tvm.target.target import Target -from tvm.tir import Schedule, IterVar, Var, PrimExpr +from tvm.tir import Schedule, IterVar from tvm.tir.schedule import BlockRV -def get_reduction_blocks(sch, blocks) -> bool: - # Get the main computation block - def is_reduction(block: BlockRV) -> bool: - block_stmt = sch.get(block) - iter_types = {iter_var.iter_type for iter_var in block_stmt.iter_vars} - return iter_types == {IterVar.CommReduce, IterVar.DataPar} - - def is_spatial(block: BlockRV) -> bool: - block_stmt = sch.get(block) - iter_types = {iter_var.iter_type for iter_var in block_stmt.iter_vars} - return iter_types == {IterVar.DataPar} - - # NOTE: We assume there is only one reduction block in the function - # all blocks are required to be spatial or reduction - if not all([is_reduction(block) or is_spatial(block) for block in blocks]): - return None - - # There is only one reduction block - reduction_blocks = [block for block in blocks if is_reduction(block)] - if len(reduction_blocks) != 1: - return None - - return reduction_blocks - - class IterInfo: """Information about a loop/iter var.""" @@ -123,9 +93,7 @@ def _check_unit_var_range(dom: ir.Range, var: tir.Var) -> bool: if len(r_region) != len(w_region): return False for var, r_dom, w_dom in zip(block.iter_vars, r_region, w_region): - if not _check_unit_var_range(var, r_dom) or not _check_unit_var_range( - var, w_dom - ): + if not _check_unit_var_range(var, r_dom) or not _check_unit_var_range(var, w_dom): return False return True @@ -178,13 +146,11 @@ def _iter_kind(i: tir.IterVar) -> str: var=iter.var, dom=iter.dom, loop_rv=loop, - ) - for loop, iter in zip(loops, iters) + ) for loop, iter in zip(loops, iters) ], block_rv=block, reduction_block=is_reduction, - ) - ) + )) return blocks @@ -225,25 +191,21 @@ def get_max_shared_memory_per_block(target: Target) -> int: max_shared_memory_per_block = target.attrs.get("max_shared_memory_per_block", None) if max_shared_memory_per_block is None: raise ValueError( - f"Cannot find `max_shared_memory_per_block` in {target}, please specify it manually" - ) + f"Cannot find `max_shared_memory_per_block` in {target}, please specify it manually") return int(max_shared_memory_per_block) def get_root_block(sch: Schedule, func_name: str = "main") -> BlockRV: try: block = sch.mod[func_name].body.block - except: - raise ValueError( - f"The function body is expected to be the root block, but got:\n" - f"{sch.mod[func_name].body}" - ) + except Exception: + raise ValueError(f"The function body is expected to be the root block, but got:\n" + f"{sch.mod[func_name].body}") from None return sch.get_block(block.name_hint) -def collect_block_iter_vars_used_in_access_region( - block: tir.Block, region: List[ir.Range] -) -> Set[tir.Var]: +def collect_block_iter_vars_used_in_access_region(block: tir.Block, + region: List[ir.Range]) -> Set[tir.Var]: """Collect the block iter variables used in the access region of a buffer region.""" tir_vars = set() for expr in region: @@ -271,9 +233,7 @@ def detect_dominant_read(block: tir.Block) -> tir.PrimExpr: dominant_read = None num_read_iters = -1 for buffer_region in block.reads: - tir_vars = collect_block_iter_vars_used_in_access_region( - block, buffer_region.region - ) + tir_vars = collect_block_iter_vars_used_in_access_region(block, buffer_region.region) if num_read_iters < len(tir_vars): num_read_iters = len(tir_vars) dominant_read = buffer_region @@ -294,16 +254,14 @@ def is_broadcast_epilogue( if buffer_region.buffer not in write_buffers: continue tir_vars = collect_block_iter_vars_used_in_access_region( - sch.get(epilogue), buffer_region.region - ) + sch.get(epilogue), buffer_region.region) if len(tir_vars) < len(epilogue_iters): return True return False -def get_reduction_blocks( - sch: tir.Schedule, blocks: List[tir.schedule.BlockRV] -) -> List[tir.schedule.BlockRV]: +def get_reduction_blocks(sch: tir.Schedule, + blocks: List[tir.schedule.BlockRV]) -> List[tir.schedule.BlockRV]: # Get the main computation block def is_reduction(block: BlockRV) -> bool: block_stmt = sch.get(block) @@ -330,7 +288,6 @@ def is_spatial(block: BlockRV) -> bool: def get_coalesced_veclen(block_stmt: tir.Block, target_bits: int = 128) -> int: # gpu memory prefer 128 bits coalesced access (e.g. four banks) # 128 bits - block_stmt buffers: List[tir.Buffer] = [] for read in block_stmt.reads: buffers.append(read.buffer) diff --git a/python/bitblas/base/common_schedules.py b/python/bitblas/base/common_schedules.py index e1852e81c..7d528c70a 100644 --- a/python/bitblas/base/common_schedules.py +++ b/python/bitblas/base/common_schedules.py @@ -15,7 +15,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -# +# # Modifications Copyright (c) Microsoft. # The code below is mostly copied from apache/tvm common_schedules.py in dlight. """Common schedule strategies for TIR.""" @@ -110,7 +110,7 @@ def _trial(func: Callable): for i, block in enumerate(blocks): try: func(block.block_rv) - except: # pylint: disable=bare-except + except Exception: # pylint: disable=bare-except continue return i return None diff --git a/python/bitblas/base/roller/__init__.py b/python/bitblas/base/roller/__init__.py index 39180bf1a..7ca6f15c2 100644 --- a/python/bitblas/base/roller/__init__.py +++ b/python/bitblas/base/roller/__init__.py @@ -1,6 +1,6 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. -from .node import PrimFuncNode -from .config import Config -from .policy import DefaultPolicy, TensorCorePolicy -from .arch import Arch, CUDA +from .node import PrimFuncNode # noqa: F401 +from .hint import Hint # noqa: F401 +from .policy import DefaultPolicy, TensorCorePolicy # noqa: F401 +from .arch import TileDevice, CUDA # noqa: F401 diff --git a/python/bitblas/base/roller/arch/__init__.py b/python/bitblas/base/roller/arch/__init__.py index 80293a133..9cb036792 100644 --- a/python/bitblas/base/roller/arch/__init__.py +++ b/python/bitblas/base/roller/arch/__init__.py @@ -1,11 +1,11 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. -from .arch_base import Arch +from .arch_base import TileDevice from .cuda import * from .cpu import * -def get_arch(target: tvm.target.Target) -> Arch: +def get_arch(target: tvm.target.Target) -> TileDevice: if target.kind.name == "cuda": return CUDA(target) elif target.kind.name == "llvm": diff --git a/python/bitblas/base/roller/arch/arch_base.py b/python/bitblas/base/roller/arch/arch_base.py index 8628badce..6e98838c7 100644 --- a/python/bitblas/base/roller/arch/arch_base.py +++ b/python/bitblas/base/roller/arch/arch_base.py @@ -4,7 +4,7 @@ from typing import List -class Arch: +class TileDevice: """ Represents the architecture of a computing device, capturing various hardware specifications. """ @@ -38,4 +38,3 @@ def __init__(self) -> None: def get_avaliable_tensorintrin_shapes(self): raise NotImplementedError() - \ No newline at end of file diff --git a/python/bitblas/base/roller/arch/cpu.py b/python/bitblas/base/roller/arch/cpu.py index a90015717..98fb14af5 100644 --- a/python/bitblas/base/roller/arch/cpu.py +++ b/python/bitblas/base/roller/arch/cpu.py @@ -3,13 +3,13 @@ import tvm from tvm.target import Target -from .arch_base import Arch -from typing import List, Dict +from .arch_base import TileDevice # For LLVM Backend, we do not provide the detailed information of the CPU # As the LLVM backend do not required tuning, just maintain the consistency -class CPU(Arch): +class CPU(TileDevice): + def __init__(self, target: Target): self.target = target device = tvm.runtime.cpu(0) diff --git a/python/bitblas/base/roller/arch/cuda.py b/python/bitblas/base/roller/arch/cuda.py index ebe1a2ee8..63775ecbe 100644 --- a/python/bitblas/base/roller/arch/cuda.py +++ b/python/bitblas/base/roller/arch/cuda.py @@ -3,14 +3,17 @@ import tvm from tvm.target import Target -from .arch_base import Arch +from .arch_base import TileDevice from typing import List, Dict + def check_sm_version(arch: str) -> int: sm_version = arch.replace("sm_", "") return int(sm_version) if sm_version.isdigit() else -1 + class TensorInstruction(object): + def __init__( self, name: str, @@ -19,10 +22,12 @@ def __init__( ): self.name: str = name self.intrin_group: Dict = intrin_group - # only mantain the shape of M and N + # only maintain the shape of M and N self.shape: List[int] = shape -class CUDA(Arch): + +class CUDA(TileDevice): + def __init__(self, target: Target): self.target = target self.sm_version = check_sm_version(self.target.arch) @@ -57,4 +62,4 @@ def get_avaliable_tensorintrin_shapes(self): TensorInstruction("mma", get_mma_intrin_group, [16, 16]), TensorInstruction("wmma", get_wmma_intrin_group, [16, 16]), ) - return [t.shape for t in self.available_tensor_instructions] \ No newline at end of file + return [t.shape for t in self.available_tensor_instructions] diff --git a/python/bitblas/base/roller/config.py b/python/bitblas/base/roller/hint.py similarity index 81% rename from python/bitblas/base/roller/config.py rename to python/bitblas/base/roller/hint.py index f3ce60847..c5fcda366 100644 --- a/python/bitblas/base/roller/config.py +++ b/python/bitblas/base/roller/hint.py @@ -1,11 +1,10 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. - -"""Config definition for schedule""" -from typing import Dict, List, Optional, Tuple -from ..roller import PrimFuncNode +"""Hint definition for schedule""" +from typing import Dict, List, Tuple +from . import PrimFuncNode import numpy as np - +from .rasterization import * class TensorCoreExtraConfig: """ @@ -62,7 +61,7 @@ def compute_elements_from_shape(self, shape: List[int]) -> int: strided_elem = original_shape else: assert self.ax < len(shape) - strided_elem = np.prod(shape[0 : self.ax + 1]) * self.stride + strided_elem = np.prod(shape[0:self.ax + 1]) * self.stride assert strided_elem >= original_shape return int(strided_elem) @@ -107,7 +106,7 @@ def __hash__(self) -> int: class IntrinInfo: """ - The information of tensorcore intrinsic related infomation + The information of tensorcore intrinsic related information """ def __init__( @@ -115,21 +114,37 @@ def __init__( in_dtype: str, out_dtype: str, trans_b: bool, - smooth_a: bool = False, - smooth_b: bool = False, + input_transform_kind: int = 0, + weight_transform_kind: int = 0, ) -> None: self.in_dtype = in_dtype self.out_dtype = out_dtype self.trans_a = False self.trans_b = trans_b - self.smooth_a = smooth_a - self.smooth_b = smooth_b + self.input_transform_kind = input_transform_kind + self.weight_transform_kind = weight_transform_kind def __repr__(self) -> str: return f"" + @property + def smooth_a(self) -> bool: + return self.input_transform_kind >= 2 + + @property + def smooth_b(self) -> bool: + return self.weight_transform_kind >= 2 + + @property + def inter_transform_a(self) -> bool: + return self.input_transform_kind >= 1 -class Config(object): + @property + def inter_transform_b(self) -> bool: + return self.weight_transform_kind >= 1 + + +class Hint(object): """ Central configuration class for managing various parameters of computational tasks. """ @@ -138,7 +153,7 @@ def __init__(self) -> None: self.arch = None self.use_tc = None # todo(lei): this should be renamed. - # spacial axes tiling info + # special axes tiling info self.block = [] self.thread = [] # special axes for tensorCore @@ -146,7 +161,7 @@ def __init__(self) -> None: # reduce axes tiling info self.rstep = [] self.reduce_thread = [] - self.rasterization_plan = None + self.rasterization_plan = NoRasterization() self.cached_tensors = [] self.output_strides = {} self.schedule_stages = None @@ -189,28 +204,10 @@ def to_dict(self) -> Dict: dic["vectorize"] = self.vectorize return dic - def from_dict(self, dic: Dict) -> "Config": + def from_dict(self, dic: Dict) -> "Hint": self.__init__() - if "use_tc" in dic: - self.use_tc = dic["use_tc"] - self.block = dic["block"] - if self.use_tc: - self.warp = dic["warp"] - else: - self.thread = dic["thread"] - self.rstep = dic["rstep"] - if "reduce_thread" in dic: - self.reduce_thread = dic["reduce_thread"] - else: - self.reduce_thread = [1 for _ in self.rstep] - if "strides" in dic: - self.output_strides = dic["strides"] - if "step" in dic: - self._step = dic["step"] - if "raxis_order" in dic: - self._raxis_order = dic["raxis_order"] - if "vectorize" in dic: - self.vectorize = dic["vectorize"] + for k, v in dic.items(): + setattr(self, k, v) return self @property @@ -228,7 +225,7 @@ def step(self) -> List[int]: def __repr__(self) -> str: return str(self.to_dict()) - def complete_config(self, node:PrimFuncNode): + def complete_config(self, node: PrimFuncNode): # analysis pass context, for int8 mma, we should merge static shared memory merge_static_smem = False if self.use_tc and self.intrin_info.in_dtype == "int8": diff --git a/python/bitblas/base/roller/node.py b/python/bitblas/base/roller/node.py index 97f7be917..8e20440bb 100644 --- a/python/bitblas/base/roller/node.py +++ b/python/bitblas/base/roller/node.py @@ -1,15 +1,14 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. - -"""PrimFunc Warpper and Block Infomation Analaysis""" +"""PrimFunc Wrapper and Block information Analaysis""" import tvm from tvm import tir -from tvm.tir import IterVar, Var, PrimFunc -from typing import Any, Iterable, Dict, List, Tuple -import functools -import numpy as np +from tvm.tir import IterVar, PrimFunc +from typing import Any, Dict, List, Tuple, Optional from tvm.tir.schedule.schedule import BlockRV +import numpy as np +import functools from ..analysis import BlockInfo, get_reduction_blocks from .. import analysis from .. import normalize_prim_func @@ -32,6 +31,7 @@ def _traverse(block): class BlockAnalyzer(object): + def __init__(self, sch) -> None: self.sch: tir.Schedule = sch self.block_infos: List[BlockInfo] = normalize_prim_func(self.sch) @@ -84,7 +84,10 @@ def get_consumer_blocks(self, block: BlockRV) -> List[BlockRV]: class Node(object): - def __init__(self, tags: Dict = {}) -> None: + + def __init__(self, tags: Optional[Dict] = None) -> None: + if tags is None: + tags = {} self._dtypes = [] self._tag: Dict = {} for tag in tags: @@ -103,7 +106,8 @@ def get_tag(self, k: str) -> Any: class PrimFuncNode(Node): - def __init__(self, prim_func: PrimFunc, tags: Dict = {}) -> None: + + def __init__(self, prim_func: PrimFunc, tags: Optional[Dict] = None) -> None: super().__init__(tags) self.prim_func = self._specialize_func(prim_func) self.sch: tir.Schedule = tir.Schedule(self.prim_func) @@ -181,7 +185,7 @@ def get_opt_shape(self, name) -> int: return None return opt_shapes[name] - def extent_warpper(self, value) -> int: + def extent_wrapper(self, value) -> int: if isinstance(value, tvm.tir.Var): return self.get_opt_shape(value.name) elif isinstance(value, tvm.tir.IntImm): @@ -224,19 +228,21 @@ def get_dtype(self, id=0) -> tvm.DataType: def get_buffer_dtype(self, buffer: tir.Buffer) -> tvm.DataType: return tvm.DataType(buffer.dtype) - def propogate(self, tile, rstep={}, targets=None): + def propagate(self, tile, rstep: Optional[Dict] = None, targets=None): + if rstep is None: + rstep = {} shape = { - self.block_analyzer.get_output_buffers(block)[0].name: [ - tvm.arith.ConstIntBound(0, val - 1) for val in tile - ] - for block in self.schedule_stages + self.block_analyzer.get_output_buffers(block)[0].name: + [tvm.arith.ConstIntBound(0, val - 1) for val in tile] for block in self.schedule_stages } return self.ana.infer(shape, rstep, targets) - def propogate_inputs(self, tile, rstep={}) -> List[List[int]]: + def propagate_inputs(self, tile, rstep: Optional[Dict] = None) -> List[List[int]]: + if rstep is None: + rstep = {} read_idx_offset = len(self.input_buffers) targets = [t.name for t in self.args[:read_idx_offset]] - shapes, intermediate_bind = self.propogate(tile, rstep, targets) + shapes, intermediate_bind = self.propagate(tile, rstep, targets) results = [] for i, arg in enumerate(self.args[:read_idx_offset]): if arg.name in intermediate_bind: @@ -244,16 +250,42 @@ def propogate_inputs(self, tile, rstep={}) -> List[List[int]]: continue # should not exceed original shape trimmed_shape = [ - self.extent_warpper(i) + self.extent_wrapper(i) for i in list(map(min, zip(shapes[arg.name], self.input_buffers[i].shape))) ] results.append(trimmed_shape) return results - def propogate_outputs(self, tile, rstep={}) -> List[List[int]]: + # Propagate inputs only on reduction block + def propagate_inputs_on_reduction(self, tile, rstep: Optional[Dict] = None) -> List[List[int]]: + if rstep is None: + rstep = {} + reduction_block = self.reduction_block + args = self.block_analyzer.get_input_buffers(reduction_block) + targets = [t.name for t in args] + shapes, intermediate_bind = self.propagate(tile, rstep, targets) + results = [] + for i, arg in enumerate(args): + if arg.name in intermediate_bind: + results.append(shapes[arg.name]) + continue + # should not exceed original shape + propagate_shape = shapes[arg.name] + buffer_shape = args[i].shape + if len(buffer_shape) > len(propagate_shape): + buffer_shape = buffer_shape[-len(propagate_shape):] + trimmed_shape = [ + self.extent_wrapper(j) for j in list(map(min, zip(propagate_shape, buffer_shape))) + ] + results.append(trimmed_shape) + return results + + def propagate_outputs(self, tile, rstep: Optional[Dict] = None) -> List[List[int]]: + if rstep is None: + rstep = {} read_idx_offset = len(self.input_buffers) targets = [t.name for t in self.args[read_idx_offset:]] - shapes, _ = self.propogate(tile, rstep, targets) + shapes, _ = self.propagate(tile, rstep, targets) results = [] for i, arg in enumerate(self.args[read_idx_offset:]): # should not exceed original shape @@ -261,11 +293,15 @@ def propogate_outputs(self, tile, rstep={}) -> List[List[int]]: results.append(trimmed_shape) return results - def propogate_reduction_inputs(self, shape, rstep={}) -> Dict[str, List[int]]: + def propagate_reduction_inputs(self, + shape, + rstep: Optional[Dict] = None) -> Dict[str, List[int]]: + if rstep is None: + rstep = {} if self.reduction_block is None: return {} targets = [b.name for b in self.block_analyzer.get_input_buffers(self.reduction_block)] - results, _ = self.propogate(shape, rstep, targets) + results, _ = self.propagate(shape, rstep, targets) return results def get_reduce_inputs_dtype(self): @@ -284,52 +320,51 @@ def infer_tensorcore_axis(self) -> Tuple[int]: C_ax_m, C_ax_n = self.get_tag("tensorcore_config") wmma_m, wmma_n, wmma_k = [16, 16, 16] # just for testing, any number is ok - def get_cl_shapes(c_ax_m, c_ax_n): - output_buffer_shape = ( - self.block_analyzer.sch.get(self.reduction_block).writes[0].buffer.shape - ) - valid_region = [] - for region in output_buffer_shape: - if region.value == 1: - continue - valid_region.append(region) + output_buffer_shape = ( + self.block_analyzer.sch.get(self.reduction_block).writes[0].buffer.shape) + valid_region = [] + for region in output_buffer_shape: + if region.value == 1: + continue + valid_region.append(region) - num_nvalid_regions = len(output_buffer_shape) - len(valid_region) + num_nvalid_regions = len(output_buffer_shape) - len(valid_region) + self.set_tag("num_nvalid_regions", num_nvalid_regions) + def get_cl_shapes(c_ax_m, c_ax_n, num_nvalid_regions): spatial_dim = self.get_space_dim() assert len(valid_region) == len( - spatial_dim - ), f" {valid_region} mismatch with {spatial_dim}" + spatial_dim), f" {valid_region} mismatch with {spatial_dim}" cl_shapes = [1] * len(spatial_dim) cl_shapes[c_ax_m - num_nvalid_regions] = wmma_m cl_shapes[c_ax_n - num_nvalid_regions] = wmma_n - self.set_tag("tensorcore_config", [s - num_nvalid_regions for s in [c_ax_m, c_ax_n]]) return cl_shapes - CL_shape = get_cl_shapes(C_ax_m, C_ax_n) - shapes = self.propogate_reduction_inputs(CL_shape, {x.var.name: 1 for x in self.raxis}) + CL_shape = get_cl_shapes(C_ax_m, C_ax_n, num_nvalid_regions) + self.set_tag("tensorcore_config", [s - num_nvalid_regions for s in [C_ax_m, C_ax_n]]) + shapes = self.propagate_reduction_inputs(CL_shape, {x.var.name: 1 for x in self.raxis}) A_deps, B_deps = shapes.values() A_ax_m = A_deps.index(wmma_m) B_ax_n = B_deps.index(wmma_n) CL_shape = [1] * len(self.get_space_dim()) - shapes = self.propogate_reduction_inputs(CL_shape, {x.var.name: wmma_k for x in self.raxis}) + shapes = self.propagate_reduction_inputs(CL_shape, {x.var.name: wmma_k for x in self.raxis}) A_deps, B_deps = shapes.values() A_ax_k = len(A_deps) - 1 - A_deps[::-1].index(wmma_k) B_ax_k = len(B_deps) - 1 - B_deps[::-1].index(wmma_k) tc_axis = (A_ax_m, A_ax_k, B_ax_k, B_ax_n, C_ax_m, C_ax_n) return tc_axis - def footprint(self, shape, rstep, stride_map={}) -> int: + def footprint(self, shape, rstep, stride_map: Optional[Dict] = None) -> int: + if stride_map is None: + stride_map = {} result = 0 - shapes, _ = self.propogate(shape, rstep) + shapes, _ = self.propagate(shape, rstep) def is_broadcast_pattern(buffer, output_buffer): - return ( - buffer in self.args - and len(shapes[output_buffer.name]) > len(shapes[buffer.name]) - and np.prod(shapes[output_buffer.name]) > np.prod(shapes[buffer.name]) - ) + return (buffer in self.args and + len(shapes[output_buffer.name]) > len(shapes[buffer.name]) and + np.prod(shapes[output_buffer.name]) > np.prod(shapes[buffer.name])) def is_after_reduce_stage(block): if not self.reduction_block: @@ -351,9 +386,8 @@ def is_after_reduce_stage(block): output_buffer = self.block_analyzer.get_output_buffers(block)[0] for buffer in self.block_analyzer.get_input_buffers(block): cache = buffer.name not in cached_tensor and ( - is_broadcast_pattern(buffer, output_buffer) - or self.block_analyzer.get_block_info(block).is_reduction - ) + is_broadcast_pattern(buffer, output_buffer) or + self.block_analyzer.get_block_info(block).is_reduction) if not cache: continue cached_tensor.append(buffer.name) @@ -362,11 +396,13 @@ def is_after_reduce_stage(block): if buffer.name in stride_map: num_elem = stride_map[buffer.name].compute_elements_from_shape( - shapes[buffer.name] - ) + shapes[buffer.name]) else: num_elem = np.prod(shapes[buffer.name]) buffer_len = num_elem * int((tvm.DataType(buffer.dtype).bits + 7) // 8) buffer_len = (buffer_len + 31) // 32 * 32 result += buffer_len return result, cached_tensor + + def get_input_buffers(self) -> List[tir.Buffer]: + return self.block_analyzer.input_buffers diff --git a/python/bitblas/base/roller/policy/default.py b/python/bitblas/base/roller/policy/default.py index ac85921ce..5526e1316 100644 --- a/python/bitblas/base/roller/policy/default.py +++ b/python/bitblas/base/roller/policy/default.py @@ -1,22 +1,20 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. - """Policy for cuda core schedule""" import functools import math from queue import PriorityQueue -from typing import Iterable, Dict, List +from typing import Iterable, Dict, List, Optional import numpy as np import tvm - -from ..arch import Arch +from ..arch import TileDevice from ..bestfit import BestFit -from ..config import Config, Stride, TileDict +from ..hint import Hint, Stride, TileDict from .common import coalesced_factor, coalesced_tensor_shape, factorize, get_all_factors from ..node import PrimFuncNode -from ..rasterization import * +from ..rasterization import NoRasterization class DefaultPolicy: @@ -25,13 +23,18 @@ class DefaultPolicy: minimize memory traffic and maximize parallelism.for Dlight Schedule. """ - def __init__(self, func: tvm.tir.PrimFunc, arch: Arch, tags: Dict = {}) -> None: + def __init__(self, + func: tvm.tir.PrimFunc, + arch: TileDevice, + tags: Optional[Dict] = None) -> None: + if tags is None: + tags = {} self.arch = arch self.prim_func_node = PrimFuncNode(func, tags) self.ordered_nodes = [self.prim_func_node] self.output_nodes = [self.prim_func_node] - def emit_config(self, topk: int) -> List[Config]: + def emit_config(self, topk: int) -> List[Hint]: base_tile = self.get_base_tile() if base_tile is None: return [] @@ -54,14 +57,13 @@ def emit_config(self, topk: int) -> List[Config]: def dfs_smem_tile(self, init_tile, rstep_map) -> Iterable[TileDict]: _steps = [get_all_factors(n) for n in self.prim_func_node.get_space_dim()] - steps = [step[step.index(t) :] for step, t in zip(_steps, init_tile)] + steps = [step[step.index(t):] for step, t in zip(_steps, init_tile)] for i in range(len(steps)): added = list( filter( lambda s: s < steps[i][-1] and s > steps[i][0] and s not in steps[i], [2, 4, 8, 16, 32], - ) - ) + )) steps[i].extend(added) steps[i] = sorted(steps[i]) visited_tiles = {} @@ -125,10 +127,8 @@ def _get_output_tile_map(self, tile): """ tile_map = {} tile_map[self.prim_func_node] = [ - tile[i] - * self.prim_func_node.get_space_dim()[i] - // self.output_nodes[0].get_space_dim()[i] - for i in range(len(tile)) + tile[i] * self.prim_func_node.get_space_dim()[i] // + self.output_nodes[0].get_space_dim()[i] for i in range(len(tile)) ] return tile_map @@ -226,11 +226,10 @@ def sim(a: int, b: int): def _score(rstep_id): rstep = {k: all_steps[k][rstep_id[k]] for k in rstep_id} score = 0 - shape = node.propogate_inputs(tile, rstep=rstep) + shape = node.propagate_inputs(tile, rstep=rstep) for i, input_buffer in enumerate(node.input_buffers): read_transaction_elements = self.arch.transaction_size[1] // ( - (node.get_buffer_dtype(input_buffer).bits + 7) // 8 - ) + (node.get_buffer_dtype(input_buffer).bits + 7) // 8) score += sim( int(coalesced_factor(shape[i], input_buffer.shape)), read_transaction_elements, @@ -290,7 +289,7 @@ def _score(rstep_id): k.var.name: all_steps[k.var.name][rstep_id[k.var.name]] for k in node.raxis } score = 0 - shape = node.propogate_inputs(td.get_tile(node), rstep=rstep) + shape = node.propagate_inputs(td.get_tile(node), rstep=rstep) for i, input_buffer in enumerate(node.input_buffers): score += coalesced_factor(shape[i], input_buffer.shape) return score @@ -356,24 +355,20 @@ def _compute_memory_traffic(self, output_tile): traffic = 0 for node in reversed(self.ordered_nodes): tile = op_tile_map[node] - input_shapes = node.propogate_inputs(tile) - output_shapes = node.propogate_outputs(tile) + input_shapes = node.propagate_inputs(tile) + output_shapes = node.propagate_outputs(tile) for i, buffer in enumerate(node.input_buffers): nbytes = (node.get_buffer_dtype(buffer).bits + 7) // 8 read_transaction_elements = self.arch.transaction_size[1] // nbytes traffic += ( coalesced_tensor_shape(input_shapes[i], buffer.shape, read_transaction_elements) - * nbytes - ) + * nbytes) for i, buffer in enumerate(node.output_buffers): nbytes = (node.get_buffer_dtype(buffer).bits + 7) // 8 write_transaction_elements = self.arch.transaction_size[0] // nbytes traffic += ( - coalesced_tensor_shape( - output_shapes[i], buffer.shape, write_transaction_elements - ) - * nbytes - ) + coalesced_tensor_shape(output_shapes[i], buffer.shape, + write_transaction_elements) * nbytes) return traffic, op_tile_map def infer_node_smem_usage(self, td: TileDict, node: PrimFuncNode): @@ -416,8 +411,7 @@ def _compute_shared_memory_usage(self, td: TileDict): cached_tensors_map = {} node_internal_bytes, cached_tensors_map[self.prim_func_node] = self.infer_node_smem_usage( - td, self.prim_func_node - ) + td, self.prim_func_node) block = allocator.malloc(node_internal_bytes) allocator.free(block) assert len(block_map) == 0 @@ -463,8 +457,7 @@ def _compute_stride_map(self, td: TileDict): tensor_strides_map = {} for node in self.ordered_nodes: output_strides_map[node], tensor_strides_map[node] = self.compute_node_stride_map( - node, td - ) + node, td) td.output_strides_map, td.tensor_strides_map = output_strides_map, tensor_strides_map def compute_tile_dict(self, output_tile: List[int], rstep_map) -> TileDict: @@ -494,15 +487,9 @@ def compute_tile_dict(self, output_tile: List[int], rstep_map) -> TileDict: output_shape = self.output_nodes[0].get_space_dim() td.grid_size = int(np.prod([(y + x - 1) // x for x, y in zip(output_tile, output_shape)])) # estimated reg usage - reg_usage = int( - 2 - * max( - [ - np.prod(td.get_tile(node)) * node.get_dtype().bits / 32 - for node in self.ordered_nodes - ] - ) - ) + reg_usage = int(2 * max([ + np.prod(td.get_tile(node)) * node.get_dtype().bits / 32 for node in self.ordered_nodes + ])) if reg_usage > self.arch.reg_cap: td.valid = False return td @@ -527,16 +514,13 @@ def check_tile_shape_isvalid(self, td: TileDict) -> bool: for node in self.ordered_nodes: if np.prod(td.get_tile(node)) == 0: return False - node_grid_size = np.prod( - [(y + x - 1) // x for x, y in zip(td.get_tile(node), node.get_space_dim())] - ) + node_grid_size = np.prod([ + (y + x - 1) // x for x, y in zip(td.get_tile(node), node.get_space_dim()) + ]) if node_grid_size != td.grid_size: return False - if ( - hasattr(node, "reduce_op") - and node.reduce_op is not None - and len(node.reduce_op.axis) == len(td.output_tile) - ): + if (hasattr(node, "reduce_op") and node.reduce_op is not None and + len(node.reduce_op.axis) == len(td.output_tile)): for i, tile_extent in enumerate(td.output_tile): if node.reduce_op.axis[i].dom.extent % tile_extent: return False @@ -561,8 +545,7 @@ def recommend_block_size(self, td: TileDict) -> List[int]: max_block_size = functools.reduce(math.gcd, node_space_sizes) if max_block_size < self.arch.warp_size * self.arch.sm_partition and max_block_size == min( - node_space_sizes - ): + node_space_sizes): node_reduce_sizes = [ int(np.prod(list(td.get_rstep(node).values()))) for node in self.ordered_nodes ] @@ -572,14 +555,12 @@ def recommend_block_size(self, td: TileDict) -> List[int]: filter( lambda x: x % max_block_size == 0 and x <= 1024, get_all_factors(max_possible_size), - ) - ) + )) possible_block_sizes = list( filter( # either be a factor of space or cover fully cover the space lambda x: all([x % s == 0 or s % x == 0 for s in node_space_sizes]), possible_block_sizes, - ) - ) + )) factor_ordered = sorted(possible_block_sizes, key=self.score_block_size) return factor_ordered else: @@ -635,8 +616,8 @@ def _assign_block_size(self, node: PrimFuncNode, td: TileDict, block_size: int): Returns ------- - Config - A Config object containing the assigned block size and other related settings. + Hint + A Hint object containing the assigned block size and other related settings. """ tile, rsteps = td.get_tile(node), td.get_rstep(node) factors = factorize(block_size) @@ -647,8 +628,8 @@ def _assign_block_size(self, node: PrimFuncNode, td: TileDict, block_size: int): def _score(node, thread): # small is better score = 0 block_tile = [int(np.ceil(tile[i] / thread[i])) for i in range(ndim)] - shape = node.propogate_inputs(block_tile) - for i, buffer in enumerate(node.input_buffers): + shape = node.propagate_inputs(block_tile) + for i, _ in enumerate(node.input_buffers): score += np.prod(shape[i]) / self.arch.bandwidth[1] for buffer in node.output_buffers: score += coalesced_tensor_shape(thread, buffer.shape, 8) / self.arch.bandwidth[0] @@ -678,7 +659,7 @@ def _score(node, thread): # small is better assert target_ax reduce_thread[target_ax] *= factor - codegen_dict = Config() + codegen_dict = Hint() codegen_dict.block = tile codegen_dict.thread = cur_threads codegen_dict.rstep = [rsteps[ax.var.name] for ax in node.raxis] @@ -740,15 +721,12 @@ def is_type_allowed(dtype, vec): vectorize_sizes = [16, 8, 4, 2] dtypes = node.get_reduce_inputs_dtype() - shapes = node.propogate_reduction_inputs(td.get_tile(node), td.get_rstep(node)) + shapes = node.propagate_reduction_inputs(td.get_tile(node), td.get_rstep(node)) vectorize_result = {} for tensor, shape in shapes.items(): for v in vectorize_sizes: - if ( - is_shape_aligned(shape, block_size * v) - and is_cont(shape, v) - and is_type_allowed(dtypes[tensor], v) - ): + if (is_shape_aligned(shape, block_size * v) and is_cont(shape, v) and + is_type_allowed(dtypes[tensor], v)): vectorize_result[tensor] = v break return vectorize_result diff --git a/python/bitblas/base/roller/policy/tensorcore.py b/python/bitblas/base/roller/policy/tensorcore.py index 7f4620fa4..eb8aa0600 100644 --- a/python/bitblas/base/roller/policy/tensorcore.py +++ b/python/bitblas/base/roller/policy/tensorcore.py @@ -1,21 +1,24 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. - """Policy for tensorcore schedule""" import tvm -from typing import Dict, List, Tuple +from typing import Dict, List, Tuple, Optional import numpy as np -from ..arch import Arch -from ..config import Config, Stride, TileDict, IntrinInfo +from ..arch import TileDevice +from ..hint import Hint, Stride, TileDict, IntrinInfo from ..node import PrimFuncNode from .common import coalesced_factor, factorize, get_all_factors from .default import DefaultPolicy -from ..rasterization import * +from ..rasterization import NoRasterization, Rasterization2DColumn class TensorCorePolicy(DefaultPolicy): - def __init__(self, func: tvm.tir.PrimFunc, arch: Arch, tags: Dict = {}) -> None: + + def __init__(self, + func: tvm.tir.PrimFunc, + arch: TileDevice, + tags: Optional[Dict] = None) -> None: super().__init__(func, arch, tags) # this is the trick for wmma. # However, for int8 mma, the wmma_k should be 32. @@ -43,11 +46,16 @@ def _legalize_info(self): self.use_async_copy = False def _compute_tc_strides( - self, node: PrimFuncNode, tile: List[int], rstep: Dict[str, int] = {} + self, + node: PrimFuncNode, + tile: List[int], + rstep: Optional[Dict[str, int]] = None, ) -> Tuple[Stride, Stride, Stride]: + if rstep is None: + rstep = {} # strides was used for shared memory padding. which is necessary for avoiding # shared memory load bank conflict when we do not applying tensorcore layout. - shapes = node.propogate_reduction_inputs(tile, rstep) + shapes = node.propagate_reduction_inputs(tile, rstep) AS_shape, BS_shape = shapes.values() CS_shape = tile A_ax_m, A_ax_k, B_ax_k, B_ax_n, C_ax_m, C_ax_n = node.infer_tensorcore_axis() @@ -58,15 +66,9 @@ def _compute_tc_strides( A_high_ax = min(A_ax_m, A_ax_k) B_high_ax = min(B_ax_n, B_ax_k) C_high_ax = min(C_ax_m, C_ax_n) - A_stride = Stride( - stride=np.prod(AS_shape[A_high_ax + 1 :]) + offset, ax=A_high_ax - ) - B_stride = Stride( - stride=np.prod(BS_shape[B_high_ax + 1 :]) + offset, ax=B_high_ax - ) - C_stride = Stride( - stride=np.prod(CS_shape[C_high_ax + 1 :]) + offset, ax=C_high_ax - ) + A_stride = Stride(stride=np.prod(AS_shape[A_high_ax + 1:]) + offset, ax=A_high_ax) + B_stride = Stride(stride=np.prod(BS_shape[B_high_ax + 1:]) + offset, ax=B_high_ax) + C_stride = Stride(stride=np.prod(CS_shape[C_high_ax + 1:]) + offset, ax=C_high_ax) return A_stride, B_stride, C_stride def infer_node_smem_usage(self, td: TileDict, node: PrimFuncNode): @@ -81,8 +83,7 @@ def _assign_reduce_step(self, node): target_transaction = self.arch.transaction_size[0] * 2 # 512 bytes // type bits reduce_input_dtype = node.get_buffer_dtype( - node.block_analyzer.get_input_buffers(node.reduction_block)[0] - ) + node.block_analyzer.get_input_buffers(node.reduction_block)[0]) basic = (target_transaction * 8) // reduce_input_dtype.bits result = {} @@ -90,9 +91,7 @@ def _assign_reduce_step(self, node): iter_name = iter_info.var.name iter_dom = iter_info.dom.extent if iter_dom % 16 > 0: - result[iter_name] = ( - 16 if iter_dom < basic else basic - ) # for the case of padding + result[iter_name] = (16 if iter_dom < basic else basic) # for the case of padding elif iter_dom % basic == 0: result[iter_name] = basic else: @@ -113,32 +112,28 @@ def _check_small_tile(td: TileDict): if not _check_small_tile(td): return None - smem_limit = min( - self.arch.max_smem_usage // td.block_per_SM, self.arch.smem_cap - ) + smem_limit = min(self.arch.max_smem_usage // td.block_per_SM, self.arch.smem_cap) rstep_map = td.rstep_map.copy() def _optimize(node, rstep): all_steps = self.get_node_reduce_step_candidates(node) - # todo(lei): optimzie the all_steps enlarge policy to be a multiple of the original all_steps[k] + # todo(lei): optimize the all_steps enlarge policy to be a multiple of the original all_steps[k] for k in all_steps: all_steps[k] = list(filter(lambda x: x % rstep[k] == 0, all_steps[k])) if any([v == [] for v in all_steps.values()]): return rstep def _shared_memory_usage(td: TileDict): - return node.footprint( - td.output_tile, new_rstep_map, td.tensor_strides_map[node] - ) + return node.footprint(td.output_tile, new_rstep_map, td.tensor_strides_map[node]) def _score(rstep_id): rstep = { - k.var.name: all_steps[k.var.name][rstep_id[k.var.name]] - for k in node.raxis + k.var.name: all_steps[k.var.name][rstep_id[k.var.name]] for k in node.raxis } score = 0 - shape = node.propogate_inputs(td.get_tile(node), rstep=rstep) - for i, input_buffer in enumerate(node.input_buffers): + shape = node.propagate_inputs_on_reduction(td.get_tile(node), rstep=rstep) + input_buffers = node.block_analyzer.get_input_buffers(node.reduction_block) + for i, input_buffer in enumerate(input_buffers): score += coalesced_factor(shape[i], input_buffer.shape) return score @@ -155,8 +150,7 @@ def _enlarge(rstep_id): return max(candidates, key=lambda x: x[1])[0] cur_rstep_id = { - k.var.name: all_steps[k.var.name].index(rstep[k.var.name]) - for k in node.raxis + k.var.name: all_steps[k.var.name].index(rstep[k.var.name]) for k in node.raxis } new_rstep_map = rstep_map.copy() while True: @@ -164,8 +158,7 @@ def _enlarge(rstep_id): if new_rstep_id is None: break new_rstep_map = { - k.var.name: all_steps[k.var.name][new_rstep_id[k.var.name]] - for k in node.raxis + k.var.name: all_steps[k.var.name][new_rstep_id[k.var.name]] for k in node.raxis } old_rstep_map = td.rstep_map td.rstep_map = new_rstep_map @@ -176,8 +169,7 @@ def _enlarge(rstep_id): else: cur_rstep_id = new_rstep_id rstep = { - k.var.name: all_steps[k.var.name][cur_rstep_id[k.var.name]] - for k in node.raxis + k.var.name: all_steps[k.var.name][cur_rstep_id[k.var.name]] for k in node.raxis } return rstep @@ -195,10 +187,8 @@ def get_node_reduce_step_candidates(self, node): else: # must be a a multiple of wmma_k return { - k.var.name: [ - x * self.wmma_k - for x in get_all_factors(int(k.dom.extent) // self.wmma_k) - ] + k.var.name: + [x * self.wmma_k for x in get_all_factors(int(k.dom.extent) // self.wmma_k)] for k in node.raxis } @@ -206,7 +196,10 @@ def check_tile_shape_isvalid(self, td: TileDict): for node in self.ordered_nodes: if node.get_tag("tensorcore_config"): ax_m, ax_n = node.get_tag("tensorcore_config") - block_m, block_n = td.tile_map[node][ax_m], td.tile_map[node][ax_n] + block_m, block_n = ( + td.tile_map[node][ax_m], + td.tile_map[node][ax_n], + ) # check the tile size is valid wmma_invalid = [ block_m < wmma_m or block_n < wmma_n @@ -214,9 +207,7 @@ def check_tile_shape_isvalid(self, td: TileDict): ] if all(wmma_invalid): return False - if any( - [y % x for x, y in zip(td.tile_map[node], node.get_space_dim())] - ): + if any([y % x for x, y in zip(td.tile_map[node], node.get_space_dim())]): return False return super().check_tile_shape_isvalid(td) @@ -231,20 +222,16 @@ def compute_node_stride_map(self, node: PrimFuncNode, td: TileDict): return super().compute_node_stride_map(node, td) use_layout = self._can_implement_layout(node, td) - AS_stride, BS_stride, C_stride = self._compute_tc_strides( - node, td.get_tile(node), td.get_rstep(node) - ) + AS_stride, BS_stride, C_stride = self._compute_tc_strides(node, td.get_tile(node), + td.get_rstep(node)) A_stride, B_stride, _ = self._compute_tc_strides(node, td.get_tile(node)) tensor_strides = {} output_strides = { - int(i + len(node.input_buffers)): Stride() - for i, _ in enumerate(node.output_buffers) + int(i + len(node.input_buffers)): Stride() for i, _ in enumerate(node.output_buffers) } tensor_strides = {} # when connected to shared input, should use full stride without rstep - for i, (stride, stride_full) in enumerate( - zip([AS_stride, BS_stride], [A_stride, B_stride]) - ): + for i, (_, _) in enumerate(zip([AS_stride, BS_stride], [A_stride, B_stride])): if use_layout: continue _ = node.block_analyzer.get_input_buffers(node.reduction_block)[i].name @@ -278,8 +265,9 @@ def _assign_block_size(self, node: PrimFuncNode, td: TileDict, block_size: int): def _score(node, thread): # small is better score = 0 block_tile = [int(np.ceil(tile[i] / thread[i])) for i in range(ndim)] - shape = node.propogate_inputs(block_tile) - for i, _ in enumerate(node.input_buffers): + shape = node.propagate_inputs_on_reduction(block_tile) + input_buffers = node.block_analyzer.get_input_buffers(node.reduction_block) + for i, _ in enumerate(input_buffers): score += np.prod(shape[i]) / self.arch.bandwidth[1] return score @@ -297,7 +285,7 @@ def _score(node, thread): # small is better dim_order = sorted(score_map.keys(), key=lambda x: score_map[x]) warp_tile[dim_order[0]] *= factor - codegen_dict = Config() + codegen_dict = Hint() codegen_dict.block = tile codegen_dict.warp = warp_tile codegen_dict.use_tc = True @@ -315,9 +303,7 @@ def _score(node, thread): # small is better codegen_dict.shared_scope = "shared.dyn" codegen_dict.complete_config(node) - codegen_dict.vectorize = self._plan_vectorize( - self.prim_func_node, td, block_size - ) + codegen_dict.vectorize = self._plan_vectorize(self.prim_func_node, td, block_size) codegen_dict.arch = self.arch codegen_dict.opt_shapes = self.prim_func_node.get_tag("opt_shapes") return codegen_dict @@ -326,19 +312,16 @@ def plan_rasterization(self, td: TileDict): conditions = [] # only support single node for now conditions.append(len(self.ordered_nodes) > 1) - # small op don't need imporve l2 cache - conditions.append(td.num_wave < 4) # only on Ampere+ arch conditions.append(self.arch.compute_capability < "80") def _check_memory_size(): overall_gmem_size_in_bytes: int = 0 for node in self.ordered_nodes: - for arg in node.args: + for buffer in node.input_buffers: overall_gmem_size_in_bytes += ( - int(np.prod(arg.shape)) * tvm.DataType(arg.dtype).bits // 8 - ) - return overall_gmem_size_in_bytes < (self.arch.l2_cache_size_bytes * 4) + int(np.prod(buffer.shape)) * tvm.DataType(buffer.dtype).bits // 8) + return overall_gmem_size_in_bytes < self.arch.l2_cache_size_bytes conditions.append(_check_memory_size()) if any(conditions): diff --git a/python/bitblas/base/roller/rasterization.py b/python/bitblas/base/roller/rasterization.py index a15b0d8dc..4fb779069 100644 --- a/python/bitblas/base/roller/rasterization.py +++ b/python/bitblas/base/roller/rasterization.py @@ -1,12 +1,12 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. - """Rasteration Plan For L2 Cache Locality""" from typing import List class Rasterization: + def __init__(self) -> None: pass @@ -15,6 +15,7 @@ def get_code(self) -> List[str]: class NoRasterization(Rasterization): + def __init__(self) -> None: super().__init__() @@ -63,7 +64,7 @@ def __repr__(self) -> str: def get_device_function(self) -> str: return """ -__device__ dim3 rasterization2DColumn(const int panel_width) { +__device__ __inline__ dim3 rasterization2DColumn(const int panel_width) { const auto baseBlockIdx = blockIdx.x + gridDim.x *blockIdx.y; const auto totalPanel = (gridDim.x * gridDim.y +panel_width * gridDim.x - 1) / (panel_width * gridDim.x); const auto totalBlock = gridDim.x * gridDim.y; @@ -78,8 +79,10 @@ def get_device_function(self) -> str: } """ - def get_code(self) -> List[str]: + def get_code(self, panel_width: int = None) -> List[str]: + if panel_width is None: + panel_width = self.panel_width_ return [ self.get_device_function(), - "const dim3 blockIdx(rasterization2DColumn({});".format(self.panel_width_), + "const dim3 blockIdx = rasterization2DColumn({});\n".format(panel_width), ] diff --git a/python/bitblas/base/transform.py b/python/bitblas/base/transform.py index 6f4f6adce..647efa772 100644 --- a/python/bitblas/base/transform.py +++ b/python/bitblas/base/transform.py @@ -1,6 +1,5 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. - """ Apply ScheduleRules onto an IRModule to generate default schedules without tuning, or a space for MetaSchedule tuning @@ -16,12 +15,12 @@ from tvm.ir import IRModule from tvm.ir.transform import PassContext, module_pass from tvm.target import Target -from .roller.policy import DefaultPolicy, TensorCorePolicy -from .roller.arch import CUDA from .schedule_rule import ScheduleRule -from ..gpu.matmul_analysis import get_tensorized_func_and_tags from ..base.analysis import check_func_with_dynamic -from .utils import apply_and_build, fast_tune, fast_tune_with_dynamic_range +from .utils import fast_tune, fast_tune_with_dynamic_range +import logging + +logger = logging.getLogger(__name__) def _is_scheduled(func: tir.PrimFunc) -> bool: @@ -61,9 +60,7 @@ def transform_module( # pylint: disable=missing-function-docstring sch = _apply_rules(func, target, self.rules, tunable=False) if sch is not None: assert len(sch) == 1 - updated_functions[g_var] = ( - sch[0].mod["main"].with_attr("tir.is_scheduled", 1) - ) + updated_functions[g_var] = (sch[0].mod["main"].with_attr("tir.is_scheduled", 1)) for g_var, func in updated_functions.items(): mod[g_var] = func return mod @@ -79,8 +76,8 @@ def __init__( target: Optional[Target] = None, parallel_build: bool = True, meta_database_dir: str = None, - whitelist: List[str] = [], - dynamic_range: Dict[str, List[int]] = {}, + whitelist: Optional[List[str]] = None, + dynamic_range: Optional[Dict[str, List[int]]] = None, ): """Construct a new ApplyFastTuning pass. @@ -91,6 +88,10 @@ def __init__( dynamic_range : Dict[str, List[int]] Use for generate kernel based on dynamic range. """ + if whitelist is None: + whitelist = [] + if dynamic_range is None: + dynamic_range = {} self.topk = topk self.target = Target.current() if target is None else target self.parallel_build = parallel_build @@ -98,20 +99,15 @@ def __init__( self.whitelist = whitelist self.dynamic_range = dynamic_range self.temp_dir = tempfile.TemporaryDirectory() - print(f"[BitBLAS] Using meta database dir {self.temp_dir}") path_workload = osp.join(self.temp_dir.name, "database_workload.json") path_tuning_record = osp.join(self.temp_dir.name, "database_tuning_record.json") self.cache_meta_database = ms.database.JSONDatabase( - path_workload, path_tuning_record, module_equality="structural" - ) + path_workload, path_tuning_record, module_equality="structural") def _in_white_list(self, func_name: str) -> bool: if len(self.whitelist) == 0: return True - for name in self.whitelist: - if name in func_name: - return True - return False + return any([name in func_name for name in self.whitelist]) def transform_module( # pylint: disable=missing-function-docstring self, @@ -125,10 +121,7 @@ def transform_module( # pylint: disable=missing-function-docstring if isinstance(func, tir.PrimFunc) and not _is_scheduled(func): if not self._in_white_list(g_var.name_hint): continue - print(f"[BitBLAS] Start to apply fast tuning for {g_var}") - normalize_mod_func_ = tvm._ffi.get_global_func( - "tvm.meta_schedule.normalize_mod" - ) + normalize_mod_func_ = tvm._ffi.get_global_func("tvm.meta_schedule.normalize_mod") _normalized_func_mod = normalize_mod_func_(func) if self.cache_meta_database.has_workload(_normalized_func_mod): @@ -141,10 +134,7 @@ def transform_module( # pylint: disable=missing-function-docstring trace = tuning_record.trace sch = tvm.tir.Schedule(func) trace.apply_to_schedule(sch, remove_postproc=False) - print(f"[BitBLAS] Find Cache for {g_var}") - updated_functions[g_var] = sch.mod["main"].with_attr( - "tir.is_scheduled", 1 - ) + updated_functions[g_var] = sch.mod["main"].with_attr("tir.is_scheduled", 1) continue if check_func_with_dynamic(func): @@ -163,16 +153,11 @@ def transform_module( # pylint: disable=missing-function-docstring if g.name_hint == g_var.name_hint: # avoid duplicated global symbol updated_functions[g_var] = f.without_attr( - "global_symbol" - ).with_attr("tir.is_scheduled", 1) + "global_symbol").with_attr("tir.is_scheduled", 1) else: - updated_functions[g] = f.with_attr( - "tir.is_scheduled", 1 - ) - # cannot reuse meta database as it canot be recorvered from the trace - workload = self.cache_meta_database.commit_workload( - _normalized_func_mod - ) + updated_functions[g] = f.with_attr("tir.is_scheduled", 1) + # cannot reuse meta database as it cannot be recorvered from the trace + workload = self.cache_meta_database.commit_workload(_normalized_func_mod) else: # otherwise is static shape analysis _, best = fast_tune( @@ -184,11 +169,8 @@ def transform_module( # pylint: disable=missing-function-docstring if best is not None: updated_functions[g_var] = best.sch.mod["main"].with_attr( - "tir.is_scheduled", 1 - ) - workload = self.cache_meta_database.commit_workload( - _normalized_func_mod - ) + "tir.is_scheduled", 1) + workload = self.cache_meta_database.commit_workload(_normalized_func_mod) # only record the best schedule self.cache_meta_database.commit_tuning_record( ms.database.TuningRecord( @@ -196,11 +178,8 @@ def transform_module( # pylint: disable=missing-function-docstring workload, [best.latency], target, - ms.arg_info.ArgInfo.from_prim_func( - func=best.sch.mod["main"] - ), - ) - ) + ms.arg_info.ArgInfo.from_prim_func(func=best.sch.mod["main"]), + )) for g_var, func in updated_functions.items(): mod[g_var] = func @@ -210,9 +189,7 @@ def transform_module( # pylint: disable=missing-function-docstring if not osp.exists(self.meta_database_dir): os.makedirs(self.meta_database_dir) # TODO(lei): maybe another way to copy the database - shutil.copytree( - self.temp_dir.name, self.meta_database_dir, dirs_exist_ok=True - ) + shutil.copytree(self.temp_dir.name, self.meta_database_dir, dirs_exist_ok=True) return mod @@ -231,7 +208,7 @@ def _apply_rules( try: space = rule.apply(func, target, tunable) except Exception: - print(f"[BitBLAS][Error] applying rule {rule} failed") + logger.debug(f"[BitBLAS][Error] applying rule {rule} failed") space = None if space is None: continue diff --git a/python/bitblas/base/utils.py b/python/bitblas/base/utils.py index 278b36e53..ac5763487 100644 --- a/python/bitblas/base/utils.py +++ b/python/bitblas/base/utils.py @@ -3,7 +3,7 @@ import tvm import os -from tvm.contrib.popen_pool import PopenPoolExecutor, StatusKind, MapResult +from tvm.contrib.popen_pool import PopenPoolExecutor, StatusKind from concurrent.futures import ThreadPoolExecutor, as_completed import numpy as np from typing import List, Tuple, Optional, Dict, Union, Literal @@ -16,15 +16,15 @@ from bitblas.base.roller.arch import CUDA from bitblas.base.roller.policy import TensorCorePolicy, DefaultPolicy from bitblas.gpu.matmul_analysis import get_tensorized_func_and_tags -from bitblas.base.roller.rasterization import NoRasterization import tempfile import itertools from tvm.ir.supply import GlobalVarSupply -from bitblas.utils import match_global_kernel, tensor_replace_dp4a +from bitblas.utils import tensor_replace_dp4a import logging logger = logging.getLogger(__name__) + def get_rasterization_code(pannel_width: int = 8) -> str: return f""" const int MAX_BLOCK_N = {pannel_width}; @@ -56,12 +56,12 @@ def __init__(self, config, sch, mod: Module): def profile(self): profile_tensors = self.profile_tensors - return self.time_evaluator(*profile_tensors).mean + return self.time_evaluator(*profile_tensors).mean * 1e3 def _apply_config( - func: tir.PrimFunc, - config=None, # todo(lei): update typing + func: tir.PrimFunc, + config=None, # todo(lei): update typing ) -> Optional[tir.Schedule]: """ find rules: @@ -112,6 +112,7 @@ def get_dummy_input_arrays( device: tvm.runtime.Device, distribution: Literal["uniform", "onefill"] = "uniform", ): + def var_wrapper(v): if isinstance(v, tvm.tir.Var): assert "opt_shapes" in func.attrs @@ -137,48 +138,44 @@ def var_wrapper(v): if distribution == "uniform": profile_tensors.append( tvm.nd.array( - np.random.rand(*[var_wrapper(i) for i in arg.shape]).astype( - arg.dtype - ), + np.random.rand(*[var_wrapper(i) for i in arg.shape]).astype(arg.dtype), device=device, - ) - ) + )) elif distribution == "onefill": profile_tensors.append( tvm.nd.array( np.ones([var_wrapper(i) for i in arg.shape]).astype(arg.dtype), device=device, - ) - ) + )) else: raise ValueError("Not supported distribution: ", distribution) return profile_tensors -def apply_and_build_parallel( - func, configs, arch, num_repeats=3, max_workers=10, data_distribution="uniform" -) -> CompileResult: +def apply_and_build_parallel(func, + configs, + arch, + num_repeats=3, + max_workers=10, + data_distribution="uniform") -> CompileResult: cpresults = [] - profile_tensors = get_dummy_input_arrays( - func, arch.device, distribution=data_distribution - ) + profile_tensors = get_dummy_input_arrays(func, arch.device, distribution=data_distribution) max_workers = min(len(configs), os.cpu_count(), max_workers) # apply config in thread parallel _sched: List[Schedule] = [] + def _apply_schedule(f, c): try: sch = _apply_config(f, c) except Exception as apply_schedule_error: - logger.debug("Apply schedule failed: ", apply_schedule_error) + logger.debug("Apply schedule failed: {}".format(apply_schedule_error)) sch = None return sch - with ThreadPoolExecutor(max_workers=4) as schduler: - futures = { - schduler.submit(_apply_schedule, func, config) - for config in configs - } + + with ThreadPoolExecutor(max_workers=4) as scheduler: + futures = {scheduler.submit(_apply_schedule, func, config) for config in configs} for future in as_completed(futures): _sched.append(future.result()) @@ -195,24 +192,15 @@ def _build(context) -> str: @tvm.register_func(func_name="tvm_callback_cuda_postproc", override=True) def tvm_callback_cuda_postproc(code, _): - index = code.index("{", match_global_kernel(code)) - if not isinstance(config.rasterization_plan, NoRasterization): - factor = config.rasterization_plan.panel_width_ - rasterization_code = get_rasterization_code(factor) - code = code[: index + 2] + rasterization_code + code[index + 2 :] code = tensor_replace_dp4a(code) return code - with tvm.transform.PassContext( - config={"tir.use_async_copy": True, **config.pass_context} - ): + with tvm.transform.PassContext(config={"tir.use_async_copy": True, **config.pass_context}): rt_mod = tvm.build(mod, target=arch.target) from tvm.contrib.tar import tar # pylint: disable=import-outside-toplevel - artifact_path = os.path.join( - tempfile.mkdtemp(), "tvm_tmp_mod." + tar.output_format - ) + artifact_path = os.path.join(tempfile.mkdtemp(), "tvm_tmp_mod." + tar.output_format) code = rt_mod.imported_modules[0].get_source() rt_mod.export_library(artifact_path, fcompile=tar) return idx, code, artifact_path @@ -220,14 +208,14 @@ def tvm_callback_cuda_postproc(code, _): _mods = [sch.mod if sch is not None else None for sch in _sched] for map_result in builder.map_with_error_catching( - _build, + _build, [(i, mod, arch) for i, mod in enumerate(_mods)], ): if map_result.status == StatusKind.TIMEOUT: logger.debug("LocalBuilder: Timeout") elif map_result.status == StatusKind.EXCEPTION: # TODO(lei): redirect the exception to file if needed - logger.debug("LocalBuilder: An exception occurred ", map_result.value) + logger.debug("LocalBuilder: An exception occurred {}".format(map_result.value)) continue elif map_result.status == StatusKind.COMPLETE: idx, code, artifact_path = map_result.value @@ -239,8 +227,7 @@ def tvm_callback_cuda_postproc(code, _): rt_mod = tvm.runtime.load_module(artifact_path) cpresult = CompileResult(config, sch, rt_mod) timer_cuda_mod = rt_mod.time_evaluator( - rt_mod.entry_name, arch.device, number=num_repeats - ) + rt_mod.entry_name, arch.device, number=num_repeats) cpresult.profile_tensors = profile_tensors cpresult.time_evaluator = timer_cuda_mod cpresult.code = code @@ -260,7 +247,7 @@ def tvm_callback_cuda_postproc(code, _): logger.debug("Evaluation with config failed: ", e_mesg) continue logger.info("Evaluation with config {}".format(config)) - logger.info("Time cost of this config: {:.3f} ms".format(latency * 1e3)) + logger.info("Time cost of this config: {:.3f} ms".format(latency)) cpresult.latency = latency if latency < best_latency: @@ -278,7 +265,8 @@ def apply_and_build( data_distribution="uniform", ) -> Tuple[List[CompileResult], CompileResult]: max_workers = 10 if parallel_build else 1 - return apply_and_build_parallel(func, configs, arch, max_workers=max_workers, data_distribution=data_distribution) + return apply_and_build_parallel( + func, configs, arch, max_workers=max_workers, data_distribution=data_distribution) def fast_tune( @@ -288,6 +276,10 @@ def fast_tune( parallel_build: bool = True, data_distribution: Literal["uniform", "onefill"] = "uniform", ): + # check the function is a primfunc + if not isinstance(func, tir.PrimFunc): + raise ValueError("Only support func is PrimFunc") # pragma: no cover + if target.kind.name != "cuda": logger.error("Only support CUDA target") return None, None @@ -299,32 +291,28 @@ def fast_tune( if not all([isinstance(v.value, int) for v in opt_shapes.values()]): logger.error("The opt_shapes should be int value") return None, None - # currently only support one dynmaic range + # currently only support one dynamic range if len(opt_shapes) > 1: logger.error("Currently only support one dynamic range") return None, None for buffer in func.buffer_map.values(): for axis in buffer.shape: - if isinstance(axis, tvm.tir.Var): - if axis.name not in opt_shapes: - raise NotImplementedError( - "Currently do not support fast tune with none-dynamic range set" - ) + if isinstance(axis, tvm.tir.Var) and axis.name not in opt_shapes: + raise NotImplementedError( + "Currently do not support fast tune with none-dynamic range set") if opt_shapes: for name, shape in opt_shapes.items(): var = find_var_from_func(func, name) - specilized_func = func.specialize( - {var: shape.astype(var.dtype)} - ).with_attr("is_specialized") + specilized_func = func.specialize({ + var: shape.astype(var.dtype) + }).with_attr("is_specialized") arch = CUDA(target) policy = DefaultPolicy(func=func, arch=arch) try: - specilized_func, tags = get_tensorized_func_and_tags( - specilized_func, arch.target - ) + specilized_func, tags = get_tensorized_func_and_tags(specilized_func, arch.target) except Exception as e_msg: logger.debug("Get tensorized func and tags failed: ", e_msg) tags = None @@ -380,10 +368,9 @@ def serialize_name(opt_shapes: Dict): for buf in buffers_to_declare: body = tvm.tir.DeclBuffer(buf, body=body) - # devide func must be private - device_func = tvm.tir.PrimFunc(params, body, ret_type, attrs=attrs).without_attr( - "global_symbol" - ) + # device func must be private + device_func = tvm.tir.PrimFunc( + params, body, ret_type, attrs=attrs).without_attr("global_symbol") return global_symbol, device_func @@ -415,7 +402,7 @@ def create_dispatch_func(g_var: str, func: tir.PrimFunc, refactored_funcs: List[ global_symbols.append(g_var) # TODO(lei): general the dispatch function to support multiple dynamic symbolics - assert len(dyn_symbolic) == 1, "Only support one dyanmic symbolics currently" + assert len(dyn_symbolic) == 1, "Only support one dynamic symbolics currently" ib = tvm.tir.ir_builder.create() syb = list(dyn_symbolic)[-1] @@ -431,29 +418,26 @@ def create_dispatch_func(g_var: str, func: tir.PrimFunc, refactored_funcs: List[ with ib.if_scope(syb > last_range): ib.emit(tvm.tir.Call(None, g_var, _invoke_params)) stmt = ib.get() - dispatch_func = tvm.tir.PrimFunc( - params, stmt, ret_type, buffer_map, attrs - ).with_attrs({"tir.is_global_func": True, "global_symbol": global_symbol}) + dispatch_func = tvm.tir.PrimFunc(params, stmt, ret_type, buffer_map, attrs).with_attrs({ + "tir.is_global_func": True, + "global_symbol": global_symbol + }) return dispatch_func -def create_dispatch_mod( - g_var: str, original_func: tir.PrimFunc, specialized_funcs: List[tir.PrimFunc] -) -> IRModule: +def create_dispatch_mod(g_var: str, original_func: tir.PrimFunc, + specialized_funcs: List[tir.PrimFunc]) -> IRModule: dispatch_mod: IRModule = tvm.IRModule() g_var_supply = GlobalVarSupply(dispatch_mod) refactored_funcs = [] for func in specialized_funcs: params, buffers_to_declare = collect_buffers_to_declare(func) - global_symbol, device_func = refactor_specialized_func( - g_var, func, params, buffers_to_declare - ) + global_symbol, device_func = refactor_specialized_func(g_var, func, params, + buffers_to_declare) global_symbol = g_var_supply.fresh_global(global_symbol, add_prefix=False) dispatch_mod[global_symbol] = device_func refactored_funcs.append((global_symbol, device_func)) - dispatch_func = create_dispatch_func( - g_var, original_func, refactored_funcs=refactored_funcs - ) + dispatch_func = create_dispatch_func(g_var, original_func, refactored_funcs=refactored_funcs) dispatch_mod.update(tvm.IRModule.from_expr(dispatch_func)) return dispatch_mod @@ -464,15 +448,17 @@ def fast_tune_with_dynamic_range( topk: int = 10, parallel_build: bool = True, global_symbol: Optional[str] = None, - dynamic_range: Dict[str, List[int]] = {}, + dynamic_range: Optional[Dict[str, List[int]]] = None, ) -> IRModule: + if dynamic_range is None: + dynamic_range = {} if target.kind.name != "cuda": logger.error("Only support CUDA target") return None if not global_symbol: global_symbol = func.attrs["global_symbol"] - # set opt_shapes for the primfunc with dynamc symbolic + # set opt_shapes for the primfunc with dynamic symbolic opt_shapes: Dict[str, List[int]] = {} for buffer in func.buffer_map.values(): for axis in buffer.shape: @@ -480,21 +466,16 @@ def fast_tune_with_dynamic_range( if axis.name in dynamic_range: opt_shapes[axis.name] = dynamic_range[axis.name] else: - raise ValueError( - f"[BitBLAS] The axis {axis.name} is not in dynamic_range" - ) + raise ValueError(f"[BitBLAS] The axis {axis.name} is not in dynamic_range") func = func.with_attr("opt_shapes", opt_shapes) if "opt_shapes" not in func.attrs: - print( - "[BitBLAS] The primfunc has no opt_shapes, please set opt_shapes for the primfunc" - ) + logger.error( + "[BitBLAS] The primfunc has no opt_shapes, please set opt_shapes for the primfunc") return None else: # should be list value - if not all( - [isinstance(v, tvm.ir.Array) for v in func.attrs["opt_shapes"].values()] - ): + if not all([isinstance(v, tvm.ir.Array) for v in func.attrs["opt_shapes"].values()]): logger.error("The opt_shapes should be list value") return None @@ -505,9 +486,7 @@ def fast_tune_with_dynamic_range( product_list = list(itertools.product(*(opt_shapes[key] for key in opt_shapes))) # Convert the Cartesian product to a list of dictionaries - specialize_items: List[Dict] = [ - dict(zip(opt_shapes.keys(), values)) for values in product_list - ] + specialize_items: List[Dict] = [dict(zip(opt_shapes.keys(), values)) for values in product_list] specilized_tuned_funcs: List[tir.PrimFunc] = [] for item in specialize_items: diff --git a/python/bitblas/cache/__init__.py b/python/bitblas/cache/__init__.py index ff40f4c2a..0c8fd3b9c 100644 --- a/python/bitblas/cache/__init__.py +++ b/python/bitblas/cache/__init__.py @@ -1,4 +1,9 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. -from .operator import global_operator_cache +from .operator import ( + global_operator_cache, # noqa: F401 + load_global_ops_cache, # noqa: F401 + get_database_path, # noqa: F401 + set_database_path, # noqa: F401 +) diff --git a/python/bitblas/cache/operator.py b/python/bitblas/cache/operator.py index da7566843..08c3ac185 100644 --- a/python/bitblas/cache/operator.py +++ b/python/bitblas/cache/operator.py @@ -1,54 +1,174 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. - +import bitblas from bitblas.ops.operator import OperatorConfig, Operator +from dataclasses import asdict +import os +import json +import tempfile +from hashlib import sha256 +import shutil +import tvm +from tvm.contrib.tar import tar +import logging + +logger = logging.getLogger(__name__) +BITBLAS_DATABASE_PATH = os.path.expanduser("~/.cache/bitblas") -class OperatorCache(object): + +class OperatorCache: """ - A cache manager for operator instances, such as Matmul, Convolution, etc., - keyed by their configuration objects. Supports adding, retrieving, and - checking the existence of operator instances based on their unique configurations. + Manages a cache for operator instances (e.g., Matmul, Convolution) based on their configurations. """ def __init__(self): - """ - Initializes the cache. - """ self.cache = {} def add(self, config: OperatorConfig, op_inst: Operator): - """ - Adds an operator instance to the cache with the given configuration. - - Parameters: - - config: A hashable configuration object that uniquely identifies the operator instance. - - op_inst: The instance of the operator to cache. - """ self.cache[config] = op_inst def get(self, config: OperatorConfig): - """ - Retrieves an operator instance from the cache based on the given configuration. + return self.cache.get(config) - Parameters: - - config: The configuration object that uniquely identifies the operator instance. + def exists(self, config): + return config in self.cache - Returns: - The cached operator instance if present; otherwise, None. - """ - return self.cache.get(config, None) + def clear(self): + self.cache.clear() - def exists(self, config): - """ - Checks if an operator instance with the given configuration exists in the cache. + def size(self): + return len(self.cache) - Parameters: - - config: The configuration object that uniquely identifies the operator instance. + def save_into_database(self, database_path=None, target=None): + database_path = self._ensure_database_path(database_path) + for config, op_inst in self.cache.items(): + arch_str = self._determine_arch_str(op_inst, target) + arch_path = os.path.join(database_path, arch_str) + self._ensure_directory(arch_path) + hash_str = sha256(repr(config).encode()).hexdigest() + config_path = os.path.join(arch_path, hash_str) + # if the config already exists, skip saving + if os.path.exists(config_path): + continue + self._ensure_directory(config_path) + self._save_operator_config_and_artifact(config, op_inst, config_path) + + def load_from_database(self, database_path, target=None): + if not os.path.exists(database_path): + logger.info( + f"Database path {database_path} does not exist, skipping loading operators from the database" + ) + return + arch_str = self._determine_target_arch_str(target) + arch_path = os.path.join(database_path, arch_str) + if not os.path.exists(arch_path): + logger.info( + f"Target {arch_str} does not exist in the database, skipping loading operators from the database" + ) + return + self._load_operators_from_arch_path(arch_path, target) + + def _ensure_database_path(self, database_path): + if database_path is None: + return tempfile.mkdtemp() + os.makedirs(database_path, exist_ok=True) + return database_path + + def _determine_arch_str(self, op_inst, target): + return (target if target else "-".join(list(op_inst.target.keys) + [op_inst.target.arch])) + + def _ensure_directory(self, path): + os.makedirs(path, exist_ok=True) + + def _save_operator_config_and_artifact(self, config, op_inst, config_path): + config_type, operator_type = type(config).__name__, type(op_inst).__name__ + with open(os.path.join(config_path, f"{config_type}.json"), "w") as json_file: + json.dump(asdict(config), json_file) + artifact_path = os.path.join(config_path, "tvm_rt_mod." + tar.output_format) + try: + op_inst.rt_mod.export_library(artifact_path, fcompile=tar) + except Exception as e: + # library does not support export_library + export_error = e # noqa: F841 + pass + json_data = {"config_type": config_type, "operator_type": operator_type} + json_file_path = os.path.join(config_path, "mapping.json") + with open(json_file_path, "w") as json_file: + json.dump(json_data, json_file) + + # For writing source.cu file + source_file_path = os.path.join(config_path, "source.cu") + with open(source_file_path, "w") as source_file: + source_file.write(op_inst.get_source()) + + # For writing optimized.py file + optimized_file_path = os.path.join(config_path, "optimized.py") + with open(optimized_file_path, "w") as optimized_file: + optimized_file.write(op_inst.optimized_func.script(show_meta=False)) + if op_inst.wrapper.lib_name is not None: + # copy lib name to the same directory as the artifact + src_name = op_inst.wrapper.src_name + shutil.copy( + src_name, + os.path.join(config_path, os.path.basename("wrapper_source.cu")), + ) + lib_name = op_inst.wrapper.lib_name + shutil.copy( + lib_name, + os.path.join(config_path, os.path.basename("wrapper_compiled.so")), + ) + + def _determine_target_arch_str(self, target): + return (target if isinstance(target, str) else "-".join(list(target.keys) + [target.arch])) + + def _load_operators_from_arch_path(self, arch_path, target): + for root, dirs, _ in os.walk(arch_path): + for directory in dirs: + config_path = os.path.join(root, directory) + self._load_operator(config_path, target) + + def _load_operator(self, config_path, target): + mapping, config, rt_mod, lib_name = None, None, None, None + for file in os.listdir(config_path): + full_path = os.path.join(config_path, file) + if file == "mapping.json": + with open(full_path) as f: + mapping = json.load(f) + elif file.endswith(".json"): + with open(full_path) as f: + config = json.load(f) + elif file.endswith(".tar"): + rt_mod = tvm.runtime.load_module(full_path) + elif file == "wrapper_compiled.so": + lib_name = full_path + + if mapping and config and rt_mod: + self._instantiate_and_add_operator(mapping, config, rt_mod, lib_name, target) + + def _instantiate_and_add_operator(self, mapping, config, rt_mod, lib_name, target): + config_cls = getattr(bitblas, mapping["config_type"]) + operator_cls = getattr(bitblas, mapping["operator_type"]) + op_inst = operator_cls(config=config_cls(**config), target=target, enable_tuning=False) + op_inst.update_runtime_module(rt_mod, lib_name=lib_name) + self.add(config_cls(**config), op_inst) - Returns: - True if the instance exists in the cache; otherwise, False. - """ - return config in self.cache global_operator_cache = OperatorCache() + + +def load_global_ops_cache(database_path=BITBLAS_DATABASE_PATH, target=None): + if target is None: + target = bitblas.auto_detect_nvidia_target() + global_operator_cache.load_from_database(database_path, target) + return global_operator_cache + + +def get_database_path(): + return BITBLAS_DATABASE_PATH + + +def set_database_path(path): + global BITBLAS_DATABASE_PATH + BITBLAS_DATABASE_PATH = path + return BITBLAS_DATABASE_PATH diff --git a/python/bitblas/generator.py b/python/bitblas/generator.py index 4cbe697e2..4ac6f2be2 100644 --- a/python/bitblas/generator.py +++ b/python/bitblas/generator.py @@ -1,17 +1,15 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. + class BitBLASGenerator: - def __init__(self, input_size, data_type='float', optimization_level=1): - self.input_size = input_size - self.data_type = data_type - self.optimization_level = optimization_level - # 其他初始化代码 + + def __init__(self): + # Initialize the generator with configuration + pass def generate_cuda_code(self): - # 生成CUDA代码的逻辑 pass def generate_header(self): - # 生成Header文件的逻辑 pass diff --git a/python/bitblas/gpu/__init__.py b/python/bitblas/gpu/__init__.py index 9fbe8ba93..df0635b3c 100644 --- a/python/bitblas/gpu/__init__.py +++ b/python/bitblas/gpu/__init__.py @@ -1,21 +1,23 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. - """ GPU-generic schedule rules. For CUDA/ROCm/Vulkan/Metal-specific rules, use `tvm.dlight.cuda/rocm/vulkan/metal` instead """ -from .fallback import Fallback -from .element_wise import ElementWise -from .gemv import GEMV -from .general_reduction import GeneralReduction +from .fallback import Fallback # noqa: F401 +from .element_wise import ElementWise # noqa: F401 +from .gemv import GEMV # noqa: F401 +from .gemv_dequantize import GEMVWithDequantizeInfo # noqa: F401 +from .general_reduction import GeneralReduction # noqa: F401 from .matmul import ( - Matmul, - MatmulTensorizationMMA, - MatmulTensorizationWMMA, - MatmulTensorizationLegacy, + Matmul, # noqa: F401 + MatmulTensorizationMMA, # noqa: F401 + MatmulTensorizationWMMA, # noqa: F401 +) +from .matmul_mma_dequantize import ( + MatmulTensorizationMMAWithDequantizeInfo, # noqa: F401 ) -from .matmul_mma_dequantize import MatmulTensorizationMMAWithDequantizeInfo +from .matmul_wmma import MatmulTensorizationLegacy # noqa: F401 -from .reduction import Reduction -from .transpose import Transpose +from .reduction import Reduction # noqa: F401 +from .transpose import Transpose # noqa: F401 diff --git a/python/bitblas/gpu/gemv.py b/python/bitblas/gpu/gemv.py index 81a3d48af..33388bffe 100644 --- a/python/bitblas/gpu/gemv.py +++ b/python/bitblas/gpu/gemv.py @@ -17,7 +17,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -# +# # Modifications Copyright (c) Microsoft. # The code below is mostly copied from apache/tvm gemv.py in dlight. """A rule for GEMV and DecodeGEMV.""" @@ -25,7 +25,6 @@ from functools import reduce from typing import List, Optional, Union, Dict -from tvm.tir.function import PrimFunc from tvm import DataType, arith, ir, tir from tvm.target import Target @@ -41,9 +40,7 @@ ) from .base import GPUScheduleRule from .gemv_dequantize import GEMVWithDequantizeInfo -from ..base.analysis import ( - get_coalesced_veclen -) + def _get_reduction_expr(block: tir.Block) -> Optional[tir.PrimExpr]: # Detect and return `Y` in `X[...] = X[...] + Y` @@ -53,9 +50,9 @@ def _get_reduction_expr(block: tir.Block) -> Optional[tir.PrimExpr]: if not isinstance(buffer_store.value, tir.Add): return None if not ir.structural_equal( - buffer_store.value.a, - tir.BufferLoad(buffer_store.buffer, block.body.indices), - map_free_vars=True, + buffer_store.value.a, + tir.BufferLoad(buffer_store.buffer, block.body.indices), + map_free_vars=True, ): return None return buffer_store.value.b @@ -99,13 +96,8 @@ def is_gemv(sch: tir.Schedule, block_info: BlockInfo) -> Optional[List[tir.Buffe conditions.append(len(block_stmt.writes) == 1) conditions.append(_get_reduction_expr(block_stmt) is not None) conditions.append( - len( - collect_block_iter_vars_used_in_access_region( - block_stmt, block_stmt.writes[0].region - ) - ) - > 0 - ) + len(collect_block_iter_vars_used_in_access_region(block_stmt, block_stmt.writes[0].region)) + > 0) if not all(conditions): return None @@ -113,10 +105,8 @@ def is_gemv(sch: tir.Schedule, block_info: BlockInfo) -> Optional[List[tir.Buffe ret = [ read.buffer for read in block_stmt.reads - if len(collect_block_iter_vars_used_in_access_region(block_stmt, read.region)) - < iter_num - and len(collect_block_iter_vars_used_in_access_region(block_stmt, read.region)) - > 0 + if len(collect_block_iter_vars_used_in_access_region(block_stmt, read.region)) < iter_num + and len(collect_block_iter_vars_used_in_access_region(block_stmt, read.region)) > 0 ] if len(ret) == len(block_stmt.reads): func = sch.mod["main"] @@ -145,15 +135,12 @@ def normalize( collect_block_iter_vars_used_in_access_region(block_stmt, buf.region) for buf in block_stmt.writes ] - buffers_use_vars.extend( - [ - collect_block_iter_vars_used_in_access_region(block_stmt, buf.region) - for buf in block_stmt.reads - ] - ) + buffers_use_vars.extend([ + collect_block_iter_vars_used_in_access_region(block_stmt, buf.region) + for buf in block_stmt.reads + ]) if collect_vars_used_in_prim_expr(access.base) & set( - iter_var.var for iter_var in block_stmt.iter_vars - ): + iter_var.var for iter_var in block_stmt.iter_vars): return None iter_to_info = {i.var: i for i in block_info.iters} batch_loops, s_loops, r_loops, c_loops = [], [], [], [] @@ -204,6 +191,9 @@ def apply( # pylint: disable=too-many-locals,too-many-branches,too-many-return- ) -> Union[None, tir.Schedule, List[tir.Schedule]]: if not isinstance(func, tir.PrimFunc) or not self.is_target_available(target): return None + if "dequantize_info" in func.attrs: + dequantize_rule = GEMVWithDequantizeInfo() + return dequantize_rule.apply(func, target, False) sch = tir.Schedule(func) block_infos = normalize_prim_func(sch) block_infos = try_inline_contiguous_spatial(sch, block_infos) @@ -236,9 +226,7 @@ def apply( # pylint: disable=too-many-locals,too-many-branches,too-many-return- self.sch_inner_reduction(sch, target, block, vector_input_buffers, epilogue) return sch else: - return self.sch_outer_reduction( - sch, target, block, vector_input_buffers, epilogue - ) + return self.sch_outer_reduction(sch, target, block, vector_input_buffers, epilogue) def sch_inner_reduction( # pylint: disable=too-many-arguments, invalid-name, unused-argument self, @@ -276,28 +264,21 @@ def apply( _, s, r, c = sch.get_loops(block=gemv) s = sch.fuse(_, s) r = sch.fuse(r, c) - bx, ts, tile_s = sch.split( - s, factors=[None, TS, TILE_S], preserve_unit_iters=True - ) + bx, ts, tile_s = sch.split(s, factors=[None, TS, TILE_S], preserve_unit_iters=True) r, tr, tile_r_vec_n, vec_c = sch.split( - r, factors=[None, TR, TILE_R // VEC_C, VEC_C], preserve_unit_iters=True - ) + r, factors=[None, TR, TILE_R // VEC_C, VEC_C], preserve_unit_iters=True) sch.reorder(r, tile_r_vec_n, tr, vec_c) tr_vec_c = sch.fuse(tr, vec_c) rf = sch.rfactor(tr_vec_c, 0) # rfactor: reduce to tx bx, ts, tile_s, tr_vec_c = sch.get_loops(block=gemv) - tr, vec_c = sch.split( - tr_vec_c, factors=[TR, None], preserve_unit_iters=True - ) + tr, vec_c = sch.split(tr_vec_c, factors=[TR, None], preserve_unit_iters=True) rf2 = sch.rfactor(tr, 0) # bind, vectorize compute bx, ts, tile_s, r, tile_r_vec_n, tr_vec_c = sch.get_loops(block=rf) - tr, vec_c = sch.split( - tr_vec_c, factors=[TR, None], preserve_unit_iters=True - ) + tr, vec_c = sch.split(tr_vec_c, factors=[TR, None], preserve_unit_iters=True) sch.reorder(bx, ts, tr, r, tile_s, tile_r_vec_n, vec_c) sch.bind(bx, "blockIdx.x") sch.bind(ts, TAG_S) @@ -306,19 +287,16 @@ def apply( shared_mem_usage = 0 for buf in vector_input_buffers: - buf_size = reduce( - lambda x, y: x * y, buf.shape, tir.IntImm(buf.shape[0].dtype, 1) - ) * get_bytes(buf.dtype) + buf_size = reduce(lambda x, y: x * y, buf.shape, tir.IntImm( + buf.shape[0].dtype, 1)) * get_bytes(buf.dtype) shared_mem_usage += buf_size try: max_shared_memory_per_block = target.max_shared_memory_per_block - except: + except Exception: max_shared_memory_per_block = 49152 LOAD_V_SHARED = ( - LOAD_V_SHARED - and isinstance(shared_mem_usage, tir.IntImm) - and shared_mem_usage.value <= max_shared_memory_per_block - ) + LOAD_V_SHARED and isinstance(shared_mem_usage, tir.IntImm) and + shared_mem_usage.value <= max_shared_memory_per_block) # vectorize load A # (TODO) this is now actually problematic since the number of loops is dependent on the @@ -327,20 +305,15 @@ def apply( sch.compute_at(Aq_local, r, preserve_unit_loops=True) s_local, r_local = sch.get_loops(block=Aq_local)[-2:] s_local, vec_load = sch.split( - s_local, factors=[None, VEC_LOAD], preserve_unit_iters=True - ) - sch.reorder( - s_local, r_local, vec_load - ) # either s_local or r_local should be 1 + s_local, factors=[None, VEC_LOAD], preserve_unit_iters=True) + sch.reorder(s_local, r_local, vec_load) # either s_local or r_local should be 1 sch.vectorize(vec_load) # load vector into shared memory, shape should be the whole vector if LOAD_V_SHARED: - V_shared = sch.cache_read( - rf, read_buffer_index=0, storage_scope="shared" - ) + V_shared = sch.cache_read(rf, read_buffer_index=0, storage_scope="shared") sch.compute_at(V_shared, tr, preserve_unit_loops=True) - l = sch.get_loops(block=V_shared)[-1] + l = sch.get_loops(block=V_shared)[-1] # noqa: E741 loop: tir.For = sch.get(l) if isinstance(loop.extent, tir.IntImm): # avoid introducing predicates when vector length is too large @@ -349,9 +322,7 @@ def apply( get_max_factor( (int)(loop.extent), [TS * TR * 1, TS * TR * 2, TS * TR * 4, TS * TR * 8], - ) - // TS - // TR, + ) // TS // TR, LOAD_V_VEC, ), 1, @@ -360,12 +331,10 @@ def apply( vec_length = LOAD_V_VEC if TAG_R == "threadIdx.x": _, ty, tx, vec = sch.split( - l, factors=[None, TS, TR, vec_length], preserve_unit_iters=True - ) + l, factors=[None, TS, TR, vec_length], preserve_unit_iters=True) else: _, ty, tx, vec = sch.split( - l, factors=[None, TR, TS, vec_length], preserve_unit_iters=True - ) + l, factors=[None, TR, TS, vec_length], preserve_unit_iters=True) sch.bind(ty, "threadIdx.y") sch.bind(tx, "threadIdx.x") sch.vectorize(vec) @@ -374,9 +343,7 @@ def apply( sch.reverse_compute_at(rf2, loop=bx, preserve_unit_loops=True) tr, vec_c, *ts_tile_s = sch.get_loops(block=rf2)[1:] ts_tile_s = sch.fuse(*ts_tile_s) - ts, tile_s = sch.split( - ts_tile_s, factors=[TS, None], preserve_unit_iters=True - ) + ts, tile_s = sch.split(ts_tile_s, factors=[TS, None], preserve_unit_iters=True) tile_s, vec_s = sch.split( tile_s, factors=[None, get_max_factor(TILE_S, [1, 2, 4, 8])], @@ -391,9 +358,7 @@ def apply( sch.reverse_compute_at(gemv, loop=bx, preserve_unit_loops=True) tr, *ts_tile_s = sch.get_loops(block=gemv)[1:] ts_tile_s = sch.fuse(*ts_tile_s) - ts, tile_s = sch.split( - ts_tile_s, factors=[TS, None], preserve_unit_iters=True - ) + ts, tile_s = sch.split(ts_tile_s, factors=[TS, None], preserve_unit_iters=True) sch.reorder(tile_s, ts, tr) sch.bind(ts, TAG_S) sch.bind(tr, TAG_R) @@ -447,15 +412,13 @@ def apply( sch.reverse_compute_at(epilogue, bx) sch.set_scope(block, 0, "shared") _, _, *s = sch.get_loops(epilogue) # pylint: disable=invalid-name - _, tx = sch.split(sch.fuse(*s), factors=[None, TX]) + _, tx = sch.split(sch.fuse(*s), factors=[None, TS]) sch.bind(tx, "threadIdx.x") else: sch.reverse_compute_at(epilogue, bx, preserve_unit_loops=True) ts_tile_s = sch.fuse(*sch.get_loops(epilogue)[1:]) ts_tile_s = sch.get_loops(epilogue)[-1] - ts, tile_s = sch.split( - ts_tile_s, factors=[TS, None], preserve_unit_iters=True - ) + ts, tile_s = sch.split(ts_tile_s, factors=[TS, None], preserve_unit_iters=True) sch.bind(ts, TAG_S) sch.set_scope(block, 0, "local") # pylint: enable=invalid-name @@ -546,13 +509,8 @@ def apply( TILE_S, TILE_R = ( 1, - ( - len_c - if len_c > 1 - else max( - get_max_factor(len_r, [TR * 1, TR * 2, TR * 4, TR * 8]) // TR, 1 - ) - ), + (len_c if len_c > 1 else max( + get_max_factor(len_r, [TR * 1, TR * 2, TR * 4, TR * 8]) // TR, 1)), ) VEC_C = min(get_max_factor(TILE_R, [1, 2, 4, 8]), VEC_C) VEC_LOAD = 1 @@ -639,15 +597,9 @@ def sch_inner_reduction_with_config( # pylint: disable=too-many-locals,too-many dom_kind = block.dom_kind() block = block.block_rv - if ( - any( - [ - sch.get(loop_rv).thread_binding is not None - for loop_rv in sch.get_loops(block) - ] - ) - or len(sch.get_loops(block)) == 0 - ): + if (any([ + sch.get(loop_rv).thread_binding is not None for loop_rv in sch.get_loops(block) + ]) or len(sch.get_loops(block)) == 0): continue for loop, iter_type in zip(sch.get_loops(block), dom_kind): @@ -665,7 +617,7 @@ def prod(iterable): vec = 1 if len(config.vectorize): - vec = list(config.vectorize.values())[-1] + vec = list(config.vectorize.values())[-1] num_warps = int(prod(config.thread)) warp_size = int(prod(config.reduce_thread)) @@ -679,13 +631,13 @@ def prod(iterable): sch.compute_inline(block) try: i, j, k = sch.get_loops(block_b) - except: + except Exception: j, k = sch.get_loops(block_b) block_local_A = sch.cache_read(block_b, 0, "local") block_local_B = sch.cache_read(block_b, 1, "local") block_local_C = sch.cache_write(block_b, 0, "local") # reverse inline - if reduction_block != None and reduction_block != output_blocks[0]: + if reduction_block is not None and reduction_block != output_blocks[0]: sch.reverse_compute_inline(output_blocks[0]) bx, j = sch.split(j, factors=[None, num_warps]) @@ -729,15 +681,9 @@ def sch_outer_reduction_with_config( # pylint: disable=too-many-locals,too-many dom_kind = block.dom_kind() block = block.block_rv - if ( - any( - [ - sch.get(loop_rv).thread_binding is not None - for loop_rv in sch.get_loops(block) - ] - ) - or len(sch.get_loops(block)) == 0 - ): + if (any([ + sch.get(loop_rv).thread_binding is not None for loop_rv in sch.get_loops(block) + ]) or len(sch.get_loops(block)) == 0): continue for loop, iter_type in zip(sch.get_loops(block), dom_kind): @@ -758,17 +704,11 @@ def sch_outer_reduction_with_config( # pylint: disable=too-many-locals,too-many thrd_axis = [] tile_axis = [] # for gemv, we should skip dynamic symbolic in s_loops - s_loops = [ - loop for loop in s_loops if isinstance(sch.get(loop).extent, tir.IntImm) - ] - assert len(s_loops) == len( - config.block - ), f"{len(s_loops)} != {len(config.block)}" + s_loops = [loop for loop in s_loops if isinstance(sch.get(loop).extent, tir.IntImm)] + assert len(s_loops) == len(config.block), f"{len(s_loops)} != {len(config.block)}" for i, loop in enumerate(s_loops): if sch.get(loop).extent % config.block[i]: - raise NotImplementedError( - "Undivisible block in TIR schedule is still buggy." - ) + raise NotImplementedError("Undivisible block in TIR schedule is still buggy.") bx, _t = sch.split(loop, factors=[None, config.block[i]]) blck_axis.append(bx) if config.step[i] > 1: @@ -791,13 +731,7 @@ def sch_outer_reduction_with_config( # pylint: disable=too-many-locals,too-many vthd_axis = list(reversed(vthd_axis)) # inner virtual thread first axis_order = ( - blck_axis - + vthd_axis - + thrd_axis - + reduce_outer_axis - + reduce_inner_axis - + tile_axis - ) + blck_axis + vthd_axis + thrd_axis + reduce_outer_axis + reduce_inner_axis + tile_axis) sch.reorder(*axis_order) blck_fused = sch.fuse(*blck_axis) @@ -813,7 +747,7 @@ def sch_outer_reduction_with_config( # pylint: disable=too-many-locals,too-many sch.reverse_compute_at(CL, thrd_fused) if len(tile_axis) > 0: - for ax in sch.get_loops(CL)[-len(tile_axis) :]: + for ax in sch.get_loops(CL)[-len(tile_axis):]: sch.unroll(ax) sch.decompose_reduction(C, reduce_outer_axis[0]) diff --git a/python/bitblas/gpu/gemv_dequantize.py b/python/bitblas/gpu/gemv_dequantize.py index ddbdaf3b8..fbdee9c9c 100644 --- a/python/bitblas/gpu/gemv_dequantize.py +++ b/python/bitblas/gpu/gemv_dequantize.py @@ -1,13 +1,11 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. """A rule for GEMV and DecodeGEMV.""" -import re from functools import reduce -from typing import List, Optional, Union, Dict - -from tvm.tir.function import PrimFunc -from tvm import DataType, arith, ir, tir +from typing import List, Dict from tvm.target import Target +from tvm.tir.function import PrimFunc +from tvm import DataType, tir import logging from ..base import ( normalize_prim_func, @@ -15,6 +13,7 @@ get_block, ) from .base import GPUScheduleRule +from .matmul_analysis import auto_inline_producers, auto_inline_consumers logger = logging.getLogger(__name__) @@ -22,13 +21,175 @@ class GEMVWithDequantizeInfo(GPUScheduleRule): """A rule for Dequantized GEMV.""" + def apply( # pylint: disable=too-many-locals,too-many-branches,too-many-return-statements + self, + func: tir.PrimFunc, + target: Target, + _: bool, + ): + sch = tir.Schedule(func) + from .intrin import get_lop3_intrin_group + + dequantize_info = func.attrs["dequantize_info"] + + def check_dequantize_info(dequantize_info): + conditions = [] + # currently only support weight only dequantization + conditions.append(len(dequantize_info) == 1) + # TODO(@lei) check if the dequantize value name is weight + return all(conditions) + + if not check_dequantize_info(dequantize_info): + logger.debug("Dequantize info is not valid") + return None + + (weight_decode_info,) = list(dequantize_info.values()) + + def check_weight_decode_info(weight_decode_info): + conditions = [] + # check source format in ["int", "fp", "nf"] + conditions.append("source_format" in weight_decode_info) + conditions.append( + weight_decode_info["source_format"]["format"] in ["uint", "int", "fp", "nf"]) + # check source bits in [1, 2, 4, 8] + conditions.append(weight_decode_info["source_format"]["bits"] in [1, 2, 4, 8]) + # check target format in ["float16", "int8"] + conditions.append("target_format" in weight_decode_info) + conditions.append(weight_decode_info["target_format"] in ["float16", "int8"]) + return all(conditions) + + if not check_weight_decode_info(weight_decode_info): + logger.debug("Weight Dequantize info is not valid") + return None + + block_infos = normalize_prim_func(sch) + + if block_infos is None: + return None + + reduction_block: tir.schedule.BlockRV = None + for block in block_infos: + s_loops: List[tir.schedule.LoopRV] = [] + r_loops: List[tir.schedule.LoopRV] = [] + o_loops: List[tir.schedule.LoopRV] = [] + dom_kind = block.dom_kind() + block = block.block_rv + + if (any([ + sch.get(loop_rv).thread_binding is not None for loop_rv in sch.get_loops(block) + ]) or len(sch.get_loops(block)) == 0): + continue + + for loop, iter_type in zip(sch.get_loops(block), dom_kind): + {"S": s_loops, "R": r_loops, "O": o_loops}[iter_type].append(loop) + + if not s_loops: + s_loops.append(sch.add_unit_loop(block)) + if len(r_loops) > 0: + reduction_block = block + + def prod(iterable): + return reduce(lambda x, y: x * y, iterable, 1) + + def get_vectorize_factor(target_format): + # coalesced access requires the vectorize factor to be the same as the transaction size + return 128 // DataType(target_format).bits + + vec = get_vectorize_factor(weight_decode_info["target_format"]) + num_warps = 1 + warp_size = 32 + + block_b = reduction_block + output_blocks = get_output_blocks(sch, block_infos) # noqa: F841 + B_decode_block = get_block(sch, block_infos, weight_decode_info["decode_block"]) + + block_decode_B = sch.cache_read(block_b, 1, "local") + sch.compute_inline(B_decode_block) + + j, k = sch.get_loops(block_b)[-2:] + + # get target dequantize buffer's idx + def get_idx(weight_decode_info: Dict): + # for LUT dequantize, the expr is LUT(w), the idx is 1 + # maybe we can use a more general and structural based way + # to analysis the idx + if weight_decode_info["source_format"]["format"] == "nf": + return 1 + return 0 + + block_shared_local_A = sch.cache_read(block_b, 0, "local") + block_shared_local_B = sch.cache_read(block_decode_B, get_idx(weight_decode_info), "local") + block_local_C = sch.cache_write(block_b, 0, "local") + + auto_inline_producers(sch, block_shared_local_B) + auto_inline_consumers(sch, block_local_C) + + bx, j = sch.split(j, factors=[None, num_warps]) + k, tx, vk = sch.split(k, factors=[None, warp_size, vec]) + # for dp4a/hfma2 + inst_factor = 2 if weight_decode_info["target_format"] == "float16" else 4 + _, vk = sch.split(vk, factors=[None, inst_factor]) + sch.reorder(bx, j, k, tx) + + sch.bind(bx, "blockIdx.x") + sch.bind(tx, "threadIdx.x") + sch.bind(j, "threadIdx.y") + + self.block_size = [sch.get(tx).extent, sch.get(j).extent, 1] + self.grid_size = [sch.get(bx).extent, 1, 1] + + sch.compute_at(block_decode_B, tx, preserve_unit_loops=True) + sch.compute_at(block_shared_local_A, tx, preserve_unit_loops=True) + sch.compute_at(block_shared_local_B, tx, preserve_unit_loops=True) + sch.reverse_compute_at(block_local_C, j, preserve_unit_loops=True) + + block_local_a_v = sch.get_loops(block_shared_local_A)[-1] + sch.vectorize(block_local_a_v) + block_local_b_v = sch.get_loops(block_shared_local_B)[-1] + sch.vectorize(block_local_b_v) + + skip_blocks = [block_shared_local_B] + + if "zeros_mode" in weight_decode_info and weight_decode_info["zeros_mode"] == "quantized": + if "with_scaling" in weight_decode_info and weight_decode_info["with_scaling"]: + block_local_scales = sch.cache_read(block_decode_B, + get_idx(weight_decode_info) + 1, "local") + sch.compute_at(block_local_scales, tx, preserve_unit_loops=True) + auto_inline_producers(sch, block_local_scales) + skip_blocks.append(block_local_scales) + + if "with_zeros" in weight_decode_info and weight_decode_info["with_zeros"]: + block_local_zeros = sch.cache_read(block_decode_B, + get_idx(weight_decode_info) + 2, "local") + sch.compute_at(block_local_zeros, tx, preserve_unit_loops=True) + auto_inline_producers(sch, block_local_zeros) + skip_blocks.append(block_local_zeros) + + auto_inline_producers(sch, block_decode_B, skip_blocks) + + if ("fast_decoding" in weight_decode_info and weight_decode_info["fast_decoding"]): + source_bit = weight_decode_info["source_format"]["bits"] + out_dtype = weight_decode_info["target_format"] + intrin_info = get_lop3_intrin_group( + out_dtype=out_dtype, + storage_dtype=weight_decode_info["storage_dtype"], + source_format=weight_decode_info["source_format"]["format"], + source_bit=source_bit, + with_scaling=weight_decode_info["with_scaling"], + with_zeros=weight_decode_info["with_zeros"], + zeros_mode=weight_decode_info["zeros_mode"], + ) + sch.tensorize(sch.get_loops(block_decode_B)[-1], intrin_info["compute"]) + sch.annotate(block_b, ann_key="pragma_import_c", ann_val=intrin_info["c_source"]) + return sch + def sch_inner_reduction_with_config( # pylint: disable=too-many-locals,too-many-branches,too-many-return-statements self, func: tir.PrimFunc, config, ): sch = tir.Schedule(func) - from .intrin.lop3 import get_lop3_intrin_group + from .intrin import get_lop3_intrin_group dequantize_info = func.attrs["dequantize_info"] @@ -47,21 +208,15 @@ def check_dequantize_info(dequantize_info): def check_weight_decode_info(weight_decode_info): conditions = [] - # check source format in ["int", "fp", "af"] + # check source format in ["int", "fp", "nf"] conditions.append("source_format" in weight_decode_info) conditions.append( - weight_decode_info["source_format"]["format"] - in ["uint", "int", "fp", "af"] - ) + weight_decode_info["source_format"]["format"] in ["uint", "int", "fp", "nf"]) # check source bits in [1, 2, 4, 8] - conditions.append( - weight_decode_info["source_format"]["bits"] in [1, 2, 4, 8] - ) + conditions.append(weight_decode_info["source_format"]["bits"] in [1, 2, 4, 8]) # check target format in ["float16", "int8"] conditions.append("target_format" in weight_decode_info) - conditions.append( - weight_decode_info["target_format"] in ["float16", "int8"] - ) + conditions.append(weight_decode_info["target_format"] in ["float16", "int8"]) return all(conditions) if not check_weight_decode_info(weight_decode_info): @@ -81,15 +236,9 @@ def check_weight_decode_info(weight_decode_info): dom_kind = block.dom_kind() block = block.block_rv - if ( - any( - [ - sch.get(loop_rv).thread_binding is not None - for loop_rv in sch.get_loops(block) - ] - ) - or len(sch.get_loops(block)) == 0 - ): + if (any([ + sch.get(loop_rv).thread_binding is not None for loop_rv in sch.get_loops(block) + ]) or len(sch.get_loops(block)) == 0): continue for loop, iter_type in zip(sch.get_loops(block), dom_kind): @@ -104,7 +253,7 @@ def prod(iterable): return reduce(lambda x, y: x * y, iterable, 1) def get_vectorize_factor(target_format): - # coalseced access requires the vectorize factor to be the same as the transaction size + # coalesced access requires the vectorize factor to be the same as the transaction size return config.arch.transaction_size[-1] // DataType(target_format).bits vec = get_vectorize_factor(weight_decode_info["target_format"]) @@ -112,15 +261,9 @@ def get_vectorize_factor(target_format): warp_size = int(prod(config.reduce_thread)) block_b = reduction_block - output_blocks = get_output_blocks(sch, block_infos) + output_blocks = get_output_blocks(sch, block_infos) # noqa: F841 B_decode_block = get_block(sch, block_infos, weight_decode_info["decode_block"]) - # compute inline - for block_info in reversed(block_infos): - block = block_info.block_rv - if block not in (reduction_block, *output_blocks, B_decode_block): - sch.compute_inline(block) - block_decode_B = sch.cache_read(block_b, 1, "local") sch.compute_inline(B_decode_block) @@ -129,20 +272,18 @@ def get_vectorize_factor(target_format): # get target dequantize buffer's idx def get_idx(weight_decode_info: Dict): # for LUT dequantize, the expr is LUT(w), the idx is 1 - # maybe we can use a more general and structual based way + # maybe we can use a more general and structural based way # to analysis the idx - if weight_decode_info["source_format"]["format"] == "af": + if weight_decode_info["source_format"]["format"] == "nf": return 1 return 0 block_shared_local_A = sch.cache_read(block_b, 0, "local") - block_shared_local_B = sch.cache_read( - block_decode_B, get_idx(weight_decode_info), "local" - ) + block_shared_local_B = sch.cache_read(block_decode_B, get_idx(weight_decode_info), "local") block_local_C = sch.cache_write(block_b, 0, "local") - # reverse inline - if reduction_block != None and reduction_block != output_blocks[0]: - sch.reverse_compute_inline(output_blocks[0]) + + auto_inline_producers(sch, block_shared_local_B) + auto_inline_consumers(sch, block_local_C) bx, j = sch.split(j, factors=[None, num_warps]) k, tx, vk = sch.split(k, factors=[None, warp_size, vec]) @@ -167,10 +308,27 @@ def get_idx(weight_decode_info: Dict): sch.vectorize(block_local_a_v) block_local_b_v = sch.get_loops(block_shared_local_B)[-1] sch.vectorize(block_local_b_v) - if ( - "fast_decoding" in weight_decode_info - and weight_decode_info["fast_decoding"] - ): + + skip_blocks = [block_shared_local_B] + + if "zeros_mode" in weight_decode_info and weight_decode_info["zeros_mode"] == "quantized": + if "with_scaling" in weight_decode_info and weight_decode_info["with_scaling"]: + block_local_scales = sch.cache_read(block_decode_B, + get_idx(weight_decode_info) + 1, "local") + sch.compute_at(block_local_scales, tx, preserve_unit_loops=True) + auto_inline_producers(sch, block_local_scales) + skip_blocks.append(block_local_scales) + + if "with_zeros" in weight_decode_info and weight_decode_info["with_zeros"]: + block_local_zeros = sch.cache_read(block_decode_B, + get_idx(weight_decode_info) + 2, "local") + sch.compute_at(block_local_zeros, tx, preserve_unit_loops=True) + auto_inline_producers(sch, block_local_zeros) + skip_blocks.append(block_local_zeros) + + auto_inline_producers(sch, block_decode_B, skip_blocks) + + if ("fast_decoding" in weight_decode_info and weight_decode_info["fast_decoding"]): source_bit = weight_decode_info["source_format"]["bits"] out_dtype = weight_decode_info["target_format"] intrin_info = get_lop3_intrin_group( @@ -180,12 +338,10 @@ def get_idx(weight_decode_info: Dict): source_bit=source_bit, with_scaling=weight_decode_info["with_scaling"], with_zeros=weight_decode_info["with_zeros"], - zeros_type=weight_decode_info["zeros_type"], + zeros_mode=weight_decode_info["zeros_mode"], ) sch.tensorize(sch.get_loops(block_decode_B)[-1], intrin_info["compute"]) - sch.annotate( - block_b, ann_key="pragma_import_c", ann_val=intrin_info["c_source"] - ) + sch.annotate(block_b, ann_key="pragma_import_c", ann_val=intrin_info["c_source"]) return sch def apply_config(self, func: PrimFunc, config): diff --git a/python/bitblas/gpu/intrin/__init__.py b/python/bitblas/gpu/intrin/__init__.py new file mode 100644 index 000000000..d9d9ba942 --- /dev/null +++ b/python/bitblas/gpu/intrin/__init__.py @@ -0,0 +1,3 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +from .lop3 import get_lop3_intrin_group # noqa: F401 diff --git a/python/bitblas/gpu/intrin/lop3.py b/python/bitblas/gpu/intrin/lop3.py index 4ee35daaa..c9d7e5fd1 100644 --- a/python/bitblas/gpu/intrin/lop3.py +++ b/python/bitblas/gpu/intrin/lop3.py @@ -7,9 +7,9 @@ from bitblas.quantization import ( _tir_packed_to_signed_convert, _tir_packed_to_unsigned_convert, + _tir_packed_to_unsigned_convert_with_zeros, ) - decode_i4_to_f16 = """ template __device__ void decode_i4b_to_f16(T1 *_i4s, T2 *B_local_decode, const int N = 8) @@ -46,17 +46,22 @@ """ decode_i4_to_f16_scale = """ -template -__device__ void decode_i4b_to_f16_scale(T1 *_i4s, T2 *B_local_decode, T3 *scale, const int N = 8) +template +__device__ void decode_i4b_to_f16_scale(T1 *_i4s, T2 *B_local_decode, const int N = 8, const T3 *scale = nullptr) { uint *h = reinterpret_cast(B_local_decode); static constexpr uint immLut = (0xf0 & 0xcc) | 0xaa; static constexpr uint BOTTOM_MASK = 0x000f000f; static constexpr uint FP16_TOP_MAGIC_NUM = 0x64006400; + // Minus 7 to scale the value to signed static constexpr uint MEDIAN_NUM = isSigned ? 0x64076407 : 0x64006400; uint const i4s = *reinterpret_cast(_i4s); + T3 const scale_r = *scale; + uint const packed_scales = __pack_half2(scale_r, scale_r); + #pragma unroll + // decode 2 elems at one time. for (int i = 0; i < (N / 2); i++) { @@ -64,30 +69,27 @@ : "=r"(h[i]) : "r"(i4s >> (4 * i)), "n"(BOTTOM_MASK), "n"(FP16_TOP_MAGIC_NUM), "n"(immLut)); asm volatile("sub.f16x2 %0, %1, %2;\\n" : "=r"(h[i]) : "r"(h[i]), "r"(MEDIAN_NUM)); - unsigned v0 = *((unsigned short *)scale); - unsigned v1 = *((unsigned short *)scale); - unsigned __packed_scale = (v1 << 16) | v0; - asm volatile("fma.rn.f16x2 %0, %1, %2, %3;\\n" : "=r"(h[i]) : "r"(h[i]), "r"(__packed_scale), "r"(0)); + asm volatile("fma.rn.f16x2 %0, %1, %2, %3;\\n" : "=r"(h[i]) : "r"(h[i]), "r"(packed_scales), "r"(0)); } - } template -__device__ void decode_i4s_to_f16_scale(T1 *_i4s, T2 *B_local_decode, T3 *scale, const int N = 8) +__device__ void decode_i4s_to_f16_scale(T1 *_i4s, T2 *B_local_decode, T3 *scale = nullptr, const int N = 8) { - decode_i4b_to_f16_scale(_i4s, B_local_decode, scale, N); + decode_i4b_to_f16_scale(_i4s, B_local_decode, N, scale); } template -__device__ void decode_i4u_to_f16_scale(T1 *_i4u, T2 *B_local_decode, T3 *scale, const int N = 8) +__device__ void decode_i4u_to_f16_scale(T1 *_i4u, T2 *B_local_decode, T3 *scale = nullptr, const int N = 8) { - decode_i4b_to_f16_scale(_i4u, B_local_decode, scale, N); + decode_i4b_to_f16_scale(_i4u, B_local_decode, N, scale); } + """ decode_i4_to_f16_scale_zeros_original = """ -template -__device__ void decode_i4b_to_f16_scale_zeros_original(T1 *_i4s, T2 *B_local_decode, T3 *scale = nullptr, T3 *zeros = nullptr, const int N = 8) +template +__device__ void decode_i4b_to_f16_zeros_original(T1 *_i4s, T2 *B_local_decode, const int N = 8, const T3 *scale = nullptr, const T4 *zeros = nullptr) { uint *h = reinterpret_cast(B_local_decode); @@ -97,6 +99,13 @@ // Minus 7 to scale the value to signed static constexpr uint MEDIAN_NUM = isSigned ? 0x64076407 : 0x64006400; uint const i4s = *reinterpret_cast(_i4s); + T3 const scale_r = *scale; + uint const packed_scales = __pack_half2(scale_r, scale_r); + // input zeros maybe int32(qzeros) or half format + T4 const zero_r = *zeros; + uint const packed_zeros = __pack_half2(zero_r, zero_r); + + #pragma unroll // decode 2 elems at one time. for (int i = 0; i < (N / 2); i++) @@ -105,22 +114,24 @@ asm volatile("lop3.b32 %0, %1, %2, %3, %4;\\n" : "=r"(h[i]) : "r"(i4s >> (4 * i)), "n"(BOTTOM_MASK), "n"(FP16_TOP_MAGIC_NUM), "n"(immLut)); + asm volatile("sub.f16x2 %0, %1, %2;\\n" : "=r"(h[i]) : "r"(h[i]), "r"(MEDIAN_NUM)); - asm volatile("sub.f16x2 %0, %1, %2;\\n" : "=r"(h[i]) : "r"(h[i]), "r"(__pack_half2(*zeros, *zeros))); - asm volatile("fma.rn.f16x2 %0, %1, %2, %3;\\n" : "=r"(h[i]) : "r"(h[i]), "r"(__pack_half2(*scale, *scale)), "r"(0)); + + asm volatile("sub.f16x2 %0, %1, %2;\\n" : "=r"(h[i]) : "r"(h[i]), "r"(packed_zeros)); + asm volatile("fma.rn.f16x2 %0, %1, %2, %3;\\n" : "=r"(h[i]) : "r"(h[i]), "r"(packed_scales), "r"(0)); } } -template -__device__ void decode_i4u_to_f16_scale_zeros_original(T1 *_i4u, T2 *B_local_decode, T3 *scale = nullptr, T3 *zeros = nullptr, const int N = 8) + +template +__device__ void decode_i4u_to_f16_scale_zeros_original(T1 *_i4u, T2 *B_local_decode, T3 *scale = nullptr, T4 *zeros = nullptr, const int N = 8) { - decode_i4b_to_f16_scale_zeros_original(_i4u, B_local_decode, scale, zeros, N); + decode_i4b_to_f16_zeros_original(_i4u, B_local_decode, N, scale, zeros); } - """ decode_i4_to_f16_scale_zeros_rescale = """ -template -__device__ void decode_i4b_to_f16_scale_zeros_rescale(T1 *_i4s, T2 *B_local_decode, T3 *scale = nullptr, T3 *zeros = nullptr, const int N = 8) +template +__device__ void decode_i4b_to_f16_scale_zeros_rescale(T1 *_i4s, T2 *B_local_decode, const int N = 8, const T3 *scale = nullptr, const T4 *zeros = nullptr) { uint *h = reinterpret_cast(B_local_decode); @@ -130,6 +141,11 @@ // Minus 7 to scale the value to signed static constexpr uint MEDIAN_NUM = isSigned ? 0x64076407 : 0x64006400; uint const i4s = *reinterpret_cast(_i4s); + T3 const scale_r = *scale; + uint const packed_scales = __pack_half2(scale_r, scale_r); + T4 const zero_r = *zeros; + uint const packed_zeros = 0x80008000 | __pack_half2(zero_r, zero_r); + #pragma unroll // decode 2 elems at one time. for (int i = 0; i < (N / 2); i++) @@ -138,19 +154,60 @@ asm volatile("lop3.b32 %0, %1, %2, %3, %4;\\n" : "=r"(h[i]) : "r"(i4s >> (4 * i)), "n"(BOTTOM_MASK), "n"(FP16_TOP_MAGIC_NUM), "n"(immLut)); + asm volatile("sub.f16x2 %0, %1, %2;\\n" : "=r"(h[i]) : "r"(h[i]), "r"(MEDIAN_NUM)); - asm volatile("fma.rn.f16x2 %0, %1, %2, %3;\\n" : "=r"(h[i]) : "r"(h[i]), "r"(__pack_half2(*scale, *scale)), "r"(0)); - asm volatile("sub.f16x2 %0, %1, %2;\\n" : "=r"(h[i]) : "r"(h[i]), "r"(__pack_half2(*zeros, *zeros))); + + asm volatile("fma.rn.f16x2 %0, %1, %2, %3;\\n" : "=r"(h[i]) : "r"(h[i]), "r"(packed_scales), "r"(packed_zeros)); } } -template -__device__ void decode_i4u_to_f16_scale_zeros_rescale(T1 *_i4u, T2 *B_local_decode, T3 *scale = nullptr, T3 *zeros = nullptr, const int N = 8) + +template +__device__ void decode_i4u_to_f16_scale_zeros_rescale(T1 *_i4u, T2 *B_local_decode, T3 *scale = nullptr, T4 *zeros = nullptr, const int N = 8) { - decode_i4b_to_f16_scale_zeros_rescale(_i4u, B_local_decode, scale, zeros, N); + decode_i4b_to_f16_scale_zeros_rescale(_i4u, B_local_decode, N, scale, zeros); } """ +decode_i4_to_f16_scale_zeros_quantized = """ +template +__device__ void decode_i4b_to_f16_scale_zeros_quantized(T1 *_i4s, T2 *B_local_decode, const int N = 8, const T3 *scale = nullptr, const T4 *zeros = nullptr) +{ + uint *h = reinterpret_cast(B_local_decode); + + static constexpr uint immLut = (0xf0 & 0xcc) | 0xaa; + static constexpr uint BOTTOM_MASK = 0x000f000f; + static constexpr uint FP16_TOP_MAGIC_NUM = 0x64006400; + // Minus 7 to scale the value to signed + uint const i4s = *reinterpret_cast(_i4s); + T3 const scale_r = *scale; + uint const packed_scales = __pack_half2(scale_r, scale_r); + // input zeros maybe int32(qzeros) or half format + T4 const zero_r = *zeros; + uint median_num = ((0xe400 | zero_r) << 16) | (0xe400 | zero_r); + +#pragma unroll + // decode 2 elems at one time. + for (int i = 0; i < (N / 2); i++) + { + + asm volatile("lop3.b32 %0, %1, %2, %3, %4;\\n" + : "=r"(h[i]) + : "r"(i4s >> (4 * i)), "n"(BOTTOM_MASK), "n"(FP16_TOP_MAGIC_NUM), "n"(immLut)); + + asm volatile("add.f16x2 %0, %1, %2;\\n" : "=r"(h[i]) : "r"(h[i]), "r"(median_num)); + + asm volatile("fma.rn.f16x2 %0, %1, %2, %3;\\n" : "=r"(h[i]) : "r"(h[i]), "r"(packed_scales), "r"(0)); + } +} + +template +__device__ void decode_i4u_to_f16_scale_zeros_quantized(storage_dtype *_i4u, target_dtype *B_local_decode, scale_dtype *scale = nullptr, zero_dtype *zeros = nullptr, const int N = 8) +{ + decode_i4b_to_f16_scale_zeros_quantized(_i4u, B_local_decode, N, scale, zeros); +} +""" + decode_i2_to_f16 = """ template __device__ void decode_i2b_to_f16(T1 *_i2s, T2 *B_local_decode, const int N = 8) @@ -271,7 +328,6 @@ } """ - decode_i2_to_f16_scale_zeros_rescale = """ template __device__ void decode_i2b_to_f16_scale_zeros_rescale(T1 *_i2s, T2 *B_local_decode, T3 *scale = nullptr, T3 *zeros = nullptr, const int N = 8) @@ -309,7 +365,164 @@ } """ -decode_i1s_to_i8s_l16 = """template +decode_i1_to_f16 = """ +template +__device__ void decode_i1b_to_f16(T1 *_i1s, T2 *B_local_decode, const int N = 8) +{ + uint *h = reinterpret_cast(B_local_decode); + + static constexpr uint immLut = (0xf0 & 0xcc) | 0xaa; + static constexpr uint BOTTOM_MASK = 0x00010001; + static constexpr uint FP16_TOP_MAGIC_NUM = 0x64006400; + static constexpr uint MEDIAN_NUM = isSigned ? 0x64006400 : 0x64006400; + int8_t const i1s_i16 = *reinterpret_cast(_i1s); + int i1s = (i1s_i16 & 0x0f); + i1s |= ((i1s_i16 & 0xf0) << 12); +#pragma unroll + // decode 2 elems at one time. + for (int i = 0; i < (N / 2); i++) + { + asm volatile("lop3.b32 %0, %1, %2, %3, %4;\\n" + : "=r"(h[i]) + : "r"(i1s >> (1 * i)), "n"(BOTTOM_MASK), "n"(FP16_TOP_MAGIC_NUM), "n"(immLut)); + asm volatile("sub.f16x2 %0, %1, %2;\\n" : "=r"(h[i]) : "r"(h[i]), "r"(MEDIAN_NUM)); + } +} + +template +__device__ void decode_i1s_to_f16(T1 *_i1s, T2 *B_local_decode, const int N = 8) +{ + decode_i1b_to_f16(_i1s, B_local_decode, N); +} + +template +__device__ void decode_i1u_to_f16(T1 *_i1u, T2 *B_local_decode, const int N = 8) +{ + decode_i1b_to_f16(_i1u, B_local_decode, N); +} +""" + +decode_i1_to_f16_scale = """ +template +__device__ void decode_i1b_to_f16_scale(T1 *_i1s, T2 *B_local_decode, const int N = 8, T3 *scale = nullptr) +{ + uint *h = reinterpret_cast(B_local_decode); + + static constexpr uint immLut = (0xf0 & 0xcc) | 0xaa; + static constexpr uint BOTTOM_MASK = 0x00010001; + static constexpr uint FP16_TOP_MAGIC_NUM = 0x64006400; + static constexpr uint MEDIAN_NUM = isSigned ? 0x64006400 : 0x64006400; + // interleave {e31,e29,e27,e25,e23,e21,e19,e17,e15,e13,e11,e9,e7,e5,e3,e1,e30,e28,e26,e24,e22,e20,e18,e16,e14,e12,e10,e8,e6,e4,e2,e0} + // only decode e7,e5,e3,e1,e8,e6,e4,e2,e0 + int8_t const i1s_i16 = *reinterpret_cast(_i1s); + int i1s = (i1s_i16 & 0x0f); + i1s |= ((i1s_i16 & 0xf0) << 12); + T3 const scale_r = *scale; + uint const packed_scales = __pack_half2(scale_r, scale_r); +#pragma unroll + // decode 2 elems at one time. + for (int i = 0; i < (N / 2); i++) + { + + asm volatile("lop3.b32 %0, %1, %2, %3, %4;\\n" + : "=r"(h[i]) + : "r"(i1s >> (1 * i)), "n"(BOTTOM_MASK), "n"(FP16_TOP_MAGIC_NUM), "n"(immLut)); + asm volatile("sub.f16x2 %0, %1, %2;\\n" : "=r"(h[i]) : "r"(h[i]), "r"(MEDIAN_NUM)); + asm volatile("fma.rn.f16x2 %0, %1, %2, %3;\\n" : "=r"(h[i]) : "r"(h[i]), "r"(packed_scales), "r"(0)); + } +} +template +__device__ void decode_i1s_to_f16_scale(T1 *_i1s, T2 *B_local_decode, T3 *scale = nullptr, const int N = 8) +{ + decode_i1b_to_f16_scale(_i1s, B_local_decode, N, scale); +} +template +__device__ void decode_i1u_to_f16_scale(T1 *_i1u, T2 *B_local_decode, T3 *scale = nullptr, const int N = 8) +{ + decode_i1b_to_f16_scale(_i1u, B_local_decode, N, scale); +} +""" +decode_i1_to_f16_scale_zeros_original = """ +template +__device__ void decode_i1b_to_f16_zeros_original(T1 *_i1s, T2 *B_local_decode, const int N = 8, T3 *scale = nullptr, T4 *zeros = nullptr) +{ + uint *h = reinterpret_cast(B_local_decode); + + static constexpr uint immLut = (0xf0 & 0xcc) | 0xaa; + static constexpr uint BOTTOM_MASK = 0x00010001; + static constexpr uint FP16_TOP_MAGIC_NUM = 0x64006400; + static constexpr uint MEDIAN_NUM = isSigned ? 0x64006400 : 0x64006400; + // interleave {e31,e29,e27,e25,e23,e21,e19,e17,e15,e13,e11,e9,e7,e5,e3,e1,e30,e28,e26,e24,e22,e20,e18,e16,e14,e12,e10,e8,e6,e4,e2,e0} + // only decode e7,e5,e3,e1,e8,e6,e4,e2,e0 + int8_t const i1s_i16 = *reinterpret_cast(_i1s); + int i1s = (i1s_i16 & 0x0f); + i1s |= ((i1s_i16 & 0xf0) << 12); + T3 const scale_r = *scale; + uint const packed_scales = __pack_half2(scale_r, scale_r); + // input zeros maybe int32(qzeros) or half format + T4 const zero_r = *zeros; + uint const packed_zeros = __pack_half2(zero_r, zero_r); + +#pragma unroll + // decode 2 elems at one time. + for (int i = 0; i < (N / 2); i++) + { + + asm volatile("lop3.b32 %0, %1, %2, %3, %4;\\n" + : "=r"(h[i]) + : "r"(i1s >> (1 * i)), "n"(BOTTOM_MASK), "n"(FP16_TOP_MAGIC_NUM), "n"(immLut)); + asm volatile("sub.f16x2 %0, %1, %2;\\n" : "=r"(h[i]) : "r"(h[i]), "r"(MEDIAN_NUM)); + asm volatile("sub.f16x2 %0, %1, %2;\\n" : "=r"(h[i]) : "r"(h[i]), "r"(packed_zeros)); + asm volatile("fma.rn.f16x2 %0, %1, %2, %3;\\n" : "=r"(h[i]) : "r"(h[i]), "r"(packed_scales), "r"(0)); + } +} +template +__device__ void decode_i1u_to_f16_scale_zeros_original(T1 *_i1u, T2 *B_local_decode, T3 *scale = nullptr, T4 *zeros = nullptr, const int N = 8) +{ + decode_i1b_to_f16_zeros_original(_i1u, B_local_decode, N, scale, zeros); +} +""" +decode_i1_to_f16_scale_zeros_rescale = """ +template +__device__ void decode_i1b_to_f16_scale_zeros_rescale(T1 *_i1s, T2 *B_local_decode, const int N = 8, T3 *scale = nullptr, T4 *zeros = nullptr) +{ + uint *h = reinterpret_cast(B_local_decode); + + static constexpr uint immLut = (0xf0 & 0xcc) | 0xaa; + static constexpr uint BOTTOM_MASK = 0x00010001; + static constexpr uint FP16_TOP_MAGIC_NUM = 0x64006400; + static constexpr uint MEDIAN_NUM = isSigned ? 0x64006400 : 0x64006400; + // interleave {e31,e29,e27,e25,e23,e21,e19,e17,e15,e13,e11,e9,e7,e5,e3,e1,e30,e28,e26,e24,e22,e20,e18,e16,e14,e12,e10,e8,e6,e4,e2,e0} + // only decode e7,e5,e3,e1,e8,e6,e4,e2,e0 + int8_t const i1s_i16 = *reinterpret_cast(_i1s); + int i1s = (i1s_i16 & 0x0f); + i1s |= ((i1s_i16 & 0xf0) << 12); + T3 const scale_r = *scale; + uint const packed_scales = __pack_half2(scale_r, scale_r); + T4 const zero_r = *zeros; + uint const packed_zeros = 0x80008000 | __pack_half2(zero_r, zero_r); + +#pragma unroll + // decode 2 elems at one time. + for (int i = 0; i < (N / 2); i++) + { + + asm volatile("lop3.b32 %0, %1, %2, %3, %4;\\n" + : "=r"(h[i]) + : "r"(i1s >> (1 * i)), "n"(BOTTOM_MASK), "n"(FP16_TOP_MAGIC_NUM), "n"(immLut)); + asm volatile("sub.f16x2 %0, %1, %2;\\n" : "=r"(h[i]) : "r"(h[i]), "r"(MEDIAN_NUM)); + asm volatile("fma.rn.f16x2 %0, %1, %2, %3;\\n" : "=r"(h[i]) : "r"(h[i]), "r"(packed_scales), "r"(packed_zeros)); + } +} + +template +__device__ void decode_i1u_to_f16_scale_zeros_rescale(T1 *_i4u, T2 *B_local_decode, T3 *scale = nullptr, T4 *zeros = nullptr, const int N = 8) +{ + decode_i1b_to_f16_scale_zeros_rescale(_i4u, B_local_decode, N, scale, zeros); +} +""" + +decode_i1s_to_i8s = """template __device__ void decode_i1s_to_i8s(T1 *_i1b, T2 *_i8s, const int N = 16) { int *i8s = reinterpret_cast(_i8s); @@ -469,7 +682,7 @@ def get_fast_decode_intrin( loops_extent=8, with_scale=False, with_zeros=False, - zeros_type="original", + zeros_mode="original", ): """ loops extent is the number of elements to be decoded in one stage @@ -487,14 +700,15 @@ def get_fast_decode_intrin( if with_scale: func_name += "_scale" if with_zeros: - func_name += f"_zeros_{zeros_type}" + func_name += f"_zeros_{zeros_mode}" assert storage_dtype in ["int8", "int32", "uint32"] storage_nbit = int("".join(c for c in storage_dtype if c.isdigit())) storage_type = str("".join(c for c in storage_dtype if not c.isdigit())) elem_per_unit = storage_nbit // source_bit n_storage_elems = loops_extent // elem_per_unit - - if source_format == "int": + if with_zeros and zeros_mode == "quantized": + decode_func = _tir_packed_to_unsigned_convert_with_zeros(storage_type, storage_nbit) + elif source_format == "int": decode_func = _tir_packed_to_signed_convert(storage_type, storage_nbit) elif source_format == "uint": decode_func = _tir_packed_to_unsigned_convert(storage_type, storage_nbit) @@ -568,9 +782,7 @@ def fast_decode_impl(compressed: T.handle, decompressed: T.handle) -> None: elif with_zeros is False: @T.prim_func - def fast_decode_desc( - compressed: T.handle, decompressed: T.handle, scale: T.handle - ) -> None: + def fast_decode_desc(compressed: T.handle, decompressed: T.handle, scale: T.handle) -> None: Compressed = T.match_buffer( compressed, [ @@ -593,6 +805,7 @@ def fast_decode_desc( 1, ], dtype=target_dtype, + scope="global", ) with T.block("root"): T.reads(Compressed[0:n_storage_elems], Scale[0:1]) @@ -606,16 +819,145 @@ def fast_decode_desc( Compressed[vi // elem_per_unit], vi % elem_per_unit, dtype=target_dtype, - ) - * Scale[0] + ) * Scale[0]) + + @T.prim_func + def fast_decode_impl(compressed: T.handle, decompressed: T.handle, scale: T.handle) -> None: + s0 = T.int32() + + Compressed = T.match_buffer( + compressed, + [ + n_storage_elems, + ], + dtype=storage_dtype, + scope="local", + ) + Decompressed = T.match_buffer( + decompressed, + [ + loops_extent, + ], + dtype=target_dtype, + scope="local", + ) + Scale = T.match_buffer( + scale, + [ + 1, + ], + dtype=target_dtype, + offset_factor=1, + strides=[s0], + scope="global", + ) + with T.block("root"): + T.reads(Compressed[0:n_storage_elems], Scale[0:1]) + T.writes(Decompressed[0:loops_extent]) + T.call_extern( + "handle", + func_name, + Compressed.data, + Decompressed.data, + Scale.access_ptr("r"), + loops_extent, + ) + + elif zeros_mode == "quantized": + + def get_dequantize_buffers_list(weight, scale, zeros, zeros_mode="original"): + if zeros_mode == "original": + return [weight, zeros, scale] + elif zeros_mode == "rescale": + return [weight, scale, zeros] + elif zeros_mode == "quantized": + return [weight, zeros, scale] + else: + raise ValueError(f"Unsupported zeros_mode: {zeros_mode}") + + def get_dequantize_func(weight, scale, zeros, zeros_mode="original"): + if zeros_mode == "original": + return (weight - zeros) * scale + elif zeros_mode == "rescale": + return weight * scale - zeros + elif zeros_mode == "quantized": + return weight * scale + else: + raise ValueError(f"Unsupported zeros_mode: {zeros_mode}") + + # Scale with Zeros + @T.prim_func + def fast_decode_desc( + compressed: T.handle, + decompressed: T.handle, + scale: T.handle, + zeros: T.handle, + ) -> None: + Compressed = T.match_buffer( + compressed, + [ + n_storage_elems, + ], + dtype=storage_dtype, + scope="local", + ) + Decompressed = T.match_buffer( + decompressed, + [ + loops_extent, + ], + dtype=target_dtype, + scope="local", + ) + Scale = T.match_buffer( + scale, + [ + 1, + ], + dtype=target_dtype, + scope="local", + ) + Zeros = T.match_buffer( + zeros, + [ + 1, + ], + dtype=storage_dtype, + scope="local", + ) + with T.block("root"): + T.reads(*get_dequantize_buffers_list( + Compressed[0:n_storage_elems], + Scale[0:1], + Zeros[0:1], + zeros_mode=zeros_mode, + )) + T.writes(Decompressed[0:loops_extent]) + for i in T.grid(loops_extent): + with T.block("decode"): + vi = T.axis.remap("S", [i]) + Decompressed[vi] = get_dequantize_func( + decode_func( + source_bit, + Compressed[vi // elem_per_unit], + vi % elem_per_unit, + Zeros[0], + dtype=target_dtype, + ), + Scale[0], + Zeros[0], + zeros_mode, ) @T.prim_func def fast_decode_impl( - compressed: T.handle, decompressed: T.handle, scale: T.handle + compressed: T.handle, + decompressed: T.handle, + scale: T.handle, + zeros: T.handle, ) -> None: s0 = T.int32() - + s1 = T.int32() Compressed = T.match_buffer( compressed, [ @@ -640,9 +982,20 @@ def fast_decode_impl( dtype=target_dtype, offset_factor=1, strides=[s0], + scope="local", + ) + Zeros = T.match_buffer( + zeros, + [ + 1, + ], + dtype=storage_dtype, + offset_factor=1, + strides=[s1], + scope="local", ) with T.block("root"): - T.reads(Compressed[0:n_storage_elems], Scale[0:1]) + T.reads(Compressed[0:n_storage_elems], Scale[0:1], Zeros[0:1]) T.writes(Decompressed[0:loops_extent]) T.call_extern( "handle", @@ -650,26 +1003,27 @@ def fast_decode_impl( Compressed.data, Decompressed.data, Scale.access_ptr("r"), + Zeros.access_ptr("r"), loops_extent, ) else: - def get_dequantize_buffers_list(weight, scale, zeros, zeros_type="original"): - if zeros_type == "original": + def get_dequantize_buffers_list(weight, scale, zeros, zeros_mode="original"): + if zeros_mode == "original": return [weight, zeros, scale] - elif zeros_type == "rescale": + elif zeros_mode == "rescale": return [weight, scale, zeros] else: - raise ValueError(f"Unsupported zeros_type: {zeros_type}") + raise ValueError(f"Unsupported zeros_mode: {zeros_mode}") - def get_dequantize_func(weight, scale, zeros, zeros_type="original"): - if zeros_type == "original": + def get_dequantize_func(weight, scale, zeros, zeros_mode="original"): + if zeros_mode == "original": return (weight - zeros) * scale - elif zeros_type == "rescale": + elif zeros_mode == "rescale": return weight * scale - zeros else: - raise ValueError(f"Unsupported zeros_type: {zeros_type}") + raise ValueError(f"Unsupported zeros_mode: {zeros_mode}") # Scale with Zeros @T.prim_func @@ -701,6 +1055,7 @@ def fast_decode_desc( 1, ], dtype=target_dtype, + scope="global", ) Zeros = T.match_buffer( zeros, @@ -708,16 +1063,15 @@ def fast_decode_desc( 1, ], dtype=target_dtype, + scope="global", ) with T.block("root"): - T.reads( - *get_dequantize_buffers_list( - Compressed[0:n_storage_elems], - Scale[0:1], - Zeros[0:1], - zeros_type=zeros_type, - ) - ) + T.reads(*get_dequantize_buffers_list( + Compressed[0:n_storage_elems], + Scale[0:1], + Zeros[0:1], + zeros_mode=zeros_mode, + )) T.writes(Decompressed[0:loops_extent]) for i in T.grid(loops_extent): with T.block("decode"): @@ -731,7 +1085,7 @@ def fast_decode_desc( ), Scale[0], Zeros[0], - zeros_type, + zeros_mode, ) @T.prim_func @@ -767,6 +1121,7 @@ def fast_decode_impl( dtype=target_dtype, offset_factor=1, strides=[s0], + scope="global", ) Zeros = T.match_buffer( zeros, @@ -776,6 +1131,7 @@ def fast_decode_impl( dtype=target_dtype, offset_factor=1, strides=[s1], + scope="global", ) with T.block("root"): T.reads(Compressed[0:n_storage_elems], Scale[0:1], Zeros[0:1]) @@ -793,41 +1149,36 @@ def fast_decode_impl( return fast_decode_desc, fast_decode_impl -LOP3_FAST_DECODE_UINT4_TO_INT8_TO_FP16_L8_INTRIN = ( - "lop3_fast_decode_u4_to_int8_to_f16_l8_" -) +LOP3_FAST_DECODE_UINT4_TO_INT8_TO_FP16_L8_INTRIN = ("lop3_fast_decode_u4_to_int8_to_f16_l8_") TensorIntrin.register( LOP3_FAST_DECODE_UINT4_TO_INT8_TO_FP16_L8_INTRIN, *get_fast_decode_intrin( - source_bit=4, storage_dtype="int8", target_dtype="float16", loops_extent=8 - ), + source_bit=4, storage_dtype="int8", target_dtype="float16", loops_extent=8), ) - -LOP3_FAST_DECODE_UINT2_TO_INT8_TO_FP16_L8_INTRIN = ( - "lop3_fast_decode_u2_to_int8_to_f16_l8_" -) +LOP3_FAST_DECODE_UINT2_TO_INT8_TO_FP16_L8_INTRIN = ("lop3_fast_decode_u2_to_int8_to_f16_l8_") TensorIntrin.register( LOP3_FAST_DECODE_UINT2_TO_INT8_TO_FP16_L8_INTRIN, *get_fast_decode_intrin( - source_bit=2, storage_dtype="int8", target_dtype="float16", loops_extent=8 - ), + source_bit=2, storage_dtype="int8", target_dtype="float16", loops_extent=8), ) -LOP3_FAST_DECODE_UINT4_TO_INT32_TO_FP16_L8_INTRIN = ( - "lop3_fast_decode_u4_to_int32_to_f16_l8_" +LOP3_FAST_DECODE_UINT1_TO_INT8_TO_FP16_L8_INTRIN = ("lop3_fast_decode_u1_to_int8_to_f16_l8_") +TensorIntrin.register( + LOP3_FAST_DECODE_UINT1_TO_INT8_TO_FP16_L8_INTRIN, + *get_fast_decode_intrin( + source_bit=1, storage_dtype="int8", target_dtype="float16", loops_extent=8), ) + +LOP3_FAST_DECODE_UINT4_TO_INT32_TO_FP16_L8_INTRIN = ("lop3_fast_decode_u4_to_int32_to_f16_l8_") TensorIntrin.register( LOP3_FAST_DECODE_UINT4_TO_INT32_TO_FP16_L8_INTRIN, *get_fast_decode_intrin( - source_bit=4, storage_dtype="int32", target_dtype="float16", loops_extent=8 - ), + source_bit=4, storage_dtype="int32", target_dtype="float16", loops_extent=8), ) - LOP3_FAST_DECODE_UINT4_TO_INT32_TO_FP16_L8_SCALE_INTRIN = ( - "lop3_fast_decode_u4_to_int32_to_f16_l8_scale_" -) + "lop3_fast_decode_u4_to_int32_to_f16_l8_scale_") TensorIntrin.register( LOP3_FAST_DECODE_UINT4_TO_INT32_TO_FP16_L8_SCALE_INTRIN, *get_fast_decode_intrin( @@ -839,20 +1190,15 @@ def fast_decode_impl( ), ) -LOP3_FAST_DECODE_UINT4_TO_UINT32_TO_FP16_L8_INTRIN = ( - "lop3_fast_decode_u4_to_uint32_to_f16_l8_" -) +LOP3_FAST_DECODE_UINT4_TO_UINT32_TO_FP16_L8_INTRIN = ("lop3_fast_decode_u4_to_uint32_to_f16_l8_") TensorIntrin.register( LOP3_FAST_DECODE_UINT4_TO_UINT32_TO_FP16_L8_INTRIN, *get_fast_decode_intrin( - source_bit=4, storage_dtype="uint32", target_dtype="float16", loops_extent=8 - ), + source_bit=4, storage_dtype="uint32", target_dtype="float16", loops_extent=8), ) - LOP3_FAST_DECODE_UINT4_TO_UINT32_TO_FP16_L8_SCALE_INTRIN = ( - "lop3_fast_decode_u4_to_uint32_to_f16_l8_scale_" -) + "lop3_fast_decode_u4_to_uint32_to_f16_l8_scale_") TensorIntrin.register( LOP3_FAST_DECODE_UINT4_TO_UINT32_TO_FP16_L8_SCALE_INTRIN, *get_fast_decode_intrin( @@ -864,10 +1210,8 @@ def fast_decode_impl( ), ) - LOP3_FAST_DECODE_UINT4_TO_INT8_TO_FP16_L8_SCALE_INTRIN = ( - "lop3_fast_decode_u4_to_int8_to_f16_l8_scale_" -) + "lop3_fast_decode_u4_to_int8_to_f16_l8_scale_") TensorIntrin.register( LOP3_FAST_DECODE_UINT4_TO_INT8_TO_FP16_L8_SCALE_INTRIN, *get_fast_decode_intrin( @@ -880,8 +1224,7 @@ def fast_decode_impl( ) LOP3_FAST_DECODE_UINT4_TO_INT8_TO_FP16_L8_SCALE_ZEROS_ORIGINAL_INTRIN = ( - "lop3_fast_decode_u4_to_int8_to_f16_l8_scale_zeros_original_" -) + "lop3_fast_decode_u4_to_int8_to_f16_l8_scale_zeros_original_") TensorIntrin.register( LOP3_FAST_DECODE_UINT4_TO_INT8_TO_FP16_L8_SCALE_ZEROS_ORIGINAL_INTRIN, *get_fast_decode_intrin( @@ -891,13 +1234,12 @@ def fast_decode_impl( loops_extent=8, with_scale=True, with_zeros=True, - zeros_type="original", + zeros_mode="original", ), ) LOP3_FAST_DECODE_UINT4_TO_INT8_TO_FP16_L8_SCALE_ZEROS_RESCALE_INTRIN = ( - "lop3_fast_decode_u4_to_int8_to_f16_l8_scale_zeros_rescale_" -) + "lop3_fast_decode_u4_to_int8_to_f16_l8_scale_zeros_rescale_") TensorIntrin.register( LOP3_FAST_DECODE_UINT4_TO_INT8_TO_FP16_L8_SCALE_ZEROS_RESCALE_INTRIN, *get_fast_decode_intrin( @@ -907,13 +1249,27 @@ def fast_decode_impl( loops_extent=8, with_scale=True, with_zeros=True, - zeros_type="rescale", + zeros_mode="rescale", ), ) -LOP3_FAST_DECODE_UINT2_TO_INT8_TO_FP16_L8_SCALE_INTRIN = ( - "lop3_fast_decode_u2_to_int8_to_f16_l8_scale_" +LOP3_FAST_DECODE_UINT4_TO_INT8_TO_FP16_L8_SCALE_ZEROS_QUANTIZED_INTRIN = ( + "lop3_fast_decode_u4_to_int8_to_f16_l8_scale_zeros_quantized_") +TensorIntrin.register( + LOP3_FAST_DECODE_UINT4_TO_INT8_TO_FP16_L8_SCALE_ZEROS_QUANTIZED_INTRIN, + *get_fast_decode_intrin( + source_bit=4, + storage_dtype="int8", + target_dtype="float16", + loops_extent=8, + with_scale=True, + with_zeros=True, + zeros_mode="quantized", + ), ) + +LOP3_FAST_DECODE_UINT2_TO_INT8_TO_FP16_L8_SCALE_INTRIN = ( + "lop3_fast_decode_u2_to_int8_to_f16_l8_scale_") TensorIntrin.register( LOP3_FAST_DECODE_UINT2_TO_INT8_TO_FP16_L8_SCALE_INTRIN, *get_fast_decode_intrin( @@ -926,8 +1282,7 @@ def fast_decode_impl( ) LOP3_FAST_DECODE_UINT2_TO_INT8_TO_FP16_L8_SCALE_ZEROS_ORIGINAL_INTRIN = ( - "lop3_fast_decode_u2_to_int8_to_f16_l8_scale_zeros_original_" -) + "lop3_fast_decode_u2_to_int8_to_f16_l8_scale_zeros_original_") TensorIntrin.register( LOP3_FAST_DECODE_UINT2_TO_INT8_TO_FP16_L8_SCALE_ZEROS_ORIGINAL_INTRIN, *get_fast_decode_intrin( @@ -937,13 +1292,12 @@ def fast_decode_impl( loops_extent=8, with_scale=True, with_zeros=True, - zeros_type="original", + zeros_mode="original", ), ) LOP3_FAST_DECODE_UINT2_TO_INT8_TO_FP16_L8_SCALE_ZEROS_RESCALE_INTRIN = ( - "lop3_fast_decode_u2_to_int8_to_f16_l8_scale_zeros_rescale_" -) + "lop3_fast_decode_u2_to_int8_to_f16_l8_scale_zeros_rescale_") TensorIntrin.register( LOP3_FAST_DECODE_UINT2_TO_INT8_TO_FP16_L8_SCALE_ZEROS_RESCALE_INTRIN, *get_fast_decode_intrin( @@ -953,64 +1307,89 @@ def fast_decode_impl( loops_extent=8, with_scale=True, with_zeros=True, - zeros_type="rescale", + zeros_mode="rescale", ), ) +LOP3_FAST_DECODE_UINT1_TO_INT8_TO_FP16_L8_SCALE_INTRIN = ( + "lop3_fast_decode_u1_to_int8_to_f16_l8_scale_") +TensorIntrin.register( + LOP3_FAST_DECODE_UINT1_TO_INT8_TO_FP16_L8_SCALE_INTRIN, + *get_fast_decode_intrin( + source_bit=1, + storage_dtype="int8", + target_dtype="float16", + loops_extent=8, + with_scale=True, + ), +) -LOP3_FAST_DECODE_UINT4_TO_INT8_TO_INT8_L8_INTRIN = ( - "lop3_fast_decode_u4_to_int8_to_i8_l8_" +LOP3_FAST_DECODE_UINT1_TO_INT8_TO_FP16_L8_SCALE_ZEROS_ORIGINAL_INTRIN = ( + "lop3_fast_decode_u1_to_int8_to_f16_l8_scale_zeros_original_") +TensorIntrin.register( + LOP3_FAST_DECODE_UINT1_TO_INT8_TO_FP16_L8_SCALE_ZEROS_ORIGINAL_INTRIN, + *get_fast_decode_intrin( + source_bit=1, + storage_dtype="int8", + target_dtype="float16", + loops_extent=8, + with_scale=True, + with_zeros=True, + zeros_mode="original", + ), ) + +LOP3_FAST_DECODE_UINT1_TO_INT8_TO_FP16_L8_SCALE_ZEROS_RESCALE_INTRIN = ( + "lop3_fast_decode_u1_to_int8_to_f16_l8_scale_zeros_rescale_") TensorIntrin.register( - LOP3_FAST_DECODE_UINT4_TO_INT8_TO_INT8_L8_INTRIN, + LOP3_FAST_DECODE_UINT1_TO_INT8_TO_FP16_L8_SCALE_ZEROS_RESCALE_INTRIN, *get_fast_decode_intrin( - source_bit=4, storage_dtype="int8", target_dtype="int8", loops_extent=8 + source_bit=1, + storage_dtype="int8", + target_dtype="float16", + loops_extent=8, + with_scale=True, + with_zeros=True, + zeros_mode="rescale", ), ) -LOP3_FAST_DECODE_UINT4_TO_INT8_TO_INT8_L16_INTRIN = ( - "lop3_fast_decode_u4_to_int8_to_i8_l16_" +LOP3_FAST_DECODE_UINT4_TO_INT8_TO_INT8_L8_INTRIN = ("lop3_fast_decode_u4_to_int8_to_i8_l8_") +TensorIntrin.register( + LOP3_FAST_DECODE_UINT4_TO_INT8_TO_INT8_L8_INTRIN, + *get_fast_decode_intrin( + source_bit=4, storage_dtype="int8", target_dtype="int8", loops_extent=8), ) + +LOP3_FAST_DECODE_UINT4_TO_INT8_TO_INT8_L16_INTRIN = ("lop3_fast_decode_u4_to_int8_to_i8_l16_") TensorIntrin.register( LOP3_FAST_DECODE_UINT4_TO_INT8_TO_INT8_L16_INTRIN, *get_fast_decode_intrin( - source_bit=4, storage_dtype="int8", target_dtype="int8", loops_extent=16 - ), + source_bit=4, storage_dtype="int8", target_dtype="int8", loops_extent=16), ) -LOP3_FAST_DECODE_UINT2_TO_INT8_TO_INT8_L16_INTRIN = ( - "lop3_fast_decode_u2_to_int8_to_i8_l16_" -) +LOP3_FAST_DECODE_UINT2_TO_INT8_TO_INT8_L16_INTRIN = ("lop3_fast_decode_u2_to_int8_to_i8_l16_") TensorIntrin.register( LOP3_FAST_DECODE_UINT2_TO_INT8_TO_INT8_L16_INTRIN, *get_fast_decode_intrin( - source_bit=2, storage_dtype="int8", target_dtype="int8", loops_extent=16 - ), + source_bit=2, storage_dtype="int8", target_dtype="int8", loops_extent=16), ) -LOP3_FAST_DECODE_INT2_TO_INT8_TO_INT8_L16_INTRIN = ( - "lop3_fast_decode_i2_to_int8_to_i8_l16_" -) +LOP3_FAST_DECODE_INT2_TO_INT8_TO_INT8_L16_INTRIN = ("lop3_fast_decode_i2_to_int8_to_i8_l16_") TensorIntrin.register( LOP3_FAST_DECODE_INT2_TO_INT8_TO_INT8_L16_INTRIN, *get_fast_decode_intrin( - source_bit=2, storage_dtype="int8", target_dtype="int8", loops_extent=16 - ), + source_bit=2, storage_dtype="int8", target_dtype="int8", loops_extent=16), ) -LOP3_FAST_DECODE_UINT1_TO_INT8_TO_INT8_L16_INTRIN = ( - "lop3_fast_decode_u1_to_int8_to_i8_l16_" -) +LOP3_FAST_DECODE_UINT1_TO_INT8_TO_INT8_L16_INTRIN = ("lop3_fast_decode_u1_to_int8_to_i8_l16_") TensorIntrin.register( LOP3_FAST_DECODE_UINT1_TO_INT8_TO_INT8_L16_INTRIN, *get_fast_decode_intrin( - source_bit=1, storage_dtype="int8", target_dtype="int8", loops_extent=16 - ), + source_bit=1, storage_dtype="int8", target_dtype="int8", loops_extent=16), ) -LOP3_FAST_DECODE_INT4_TO_INT8_TO_FP16_L8_INTRIN = ( - "lop3_fast_decode_i4_to_int8_to_f16_l8_" -) +LOP3_FAST_DECODE_INT4_TO_INT8_TO_FP16_L8_INTRIN = ("lop3_fast_decode_i4_to_int8_to_f16_l8_") TensorIntrin.register( LOP3_FAST_DECODE_INT4_TO_INT8_TO_FP16_L8_INTRIN, *get_fast_decode_intrin( @@ -1023,8 +1402,7 @@ def fast_decode_impl( ) LOP3_FAST_DECODE_INT4_TO_INT8_TO_FP16_L8_SCALE_INTRIN = ( - "lop3_fast_decode_i4_to_int8_to_f16_l8_scale_" -) + "lop3_fast_decode_i4_to_int8_to_f16_l8_scale_") TensorIntrin.register( LOP3_FAST_DECODE_INT4_TO_INT8_TO_FP16_L8_SCALE_INTRIN, *get_fast_decode_intrin( @@ -1037,9 +1415,7 @@ def fast_decode_impl( ), ) -LOP3_FAST_DECODE_INT2_TO_INT8_TO_FP16_L8_INTRIN = ( - "lop3_fast_decode_i2_to_int8_to_f16_l8_" -) +LOP3_FAST_DECODE_INT2_TO_INT8_TO_FP16_L8_INTRIN = ("lop3_fast_decode_i2_to_int8_to_f16_l8_") TensorIntrin.register( LOP3_FAST_DECODE_INT2_TO_INT8_TO_FP16_L8_INTRIN, *get_fast_decode_intrin( @@ -1052,8 +1428,7 @@ def fast_decode_impl( ) LOP3_FAST_DECODE_INT2_TO_INT8_TO_FP16_L8_SCALE_INTRIN = ( - "lop3_fast_decode_i2_to_int8_to_f16_l8_scale_" -) + "lop3_fast_decode_i2_to_int8_to_f16_l8_scale_") TensorIntrin.register( LOP3_FAST_DECODE_INT2_TO_INT8_TO_FP16_L8_SCALE_INTRIN, *get_fast_decode_intrin( @@ -1074,7 +1449,7 @@ def get_lop3_intrin_group( storage_dtype: Literal["int32", "int8"] = "int8", with_scaling: bool = False, with_zeros: bool = False, - zeros_type: Literal["original", "rescale", "quantized"] = "original", + zeros_mode: Literal["original", "rescale", "quantized"] = "original", ) -> Dict[str, str]: """ This function is used to get the intrinsic group of the LOP3 operation to avoid the overhead of fast decoding. @@ -1114,18 +1489,23 @@ def get_lop3_intrin_group( if with_scaling: _intrin += "scale_" if with_zeros: - _intrin += f"zeros_{zeros_type}_" + _intrin += f"zeros_{zeros_mode}_" import_c_map = { "i4_to_f16": decode_i4_to_f16, "i2_to_f16": decode_i2_to_f16, + "i1_to_f16": decode_i1_to_f16, "i4_to_f16_scale": decode_i4_to_f16_scale, "i2_to_f16_scale": decode_i2_to_f16_scale, + "i1_to_f16_scale": decode_i1_to_f16_scale, "i4_to_f16_scale_zeros_original": decode_i4_to_f16_scale_zeros_original, "i2_to_f16_scale_zeros_original": decode_i2_to_f16_scale_zeros_original, + "i1_to_f16_scale_zeros_original": decode_i1_to_f16_scale_zeros_original, "i4_to_f16_scale_zeros_rescale": decode_i4_to_f16_scale_zeros_rescale, "i2_to_f16_scale_zeros_rescale": decode_i2_to_f16_scale_zeros_rescale, - "i1_to_i8": decode_i1s_to_i8s_l16, + "i1_to_f16_scale_zeros_rescale": decode_i1_to_f16_scale_zeros_rescale, + "i4_to_f16_scale_zeros_quantized": decode_i4_to_f16_scale_zeros_quantized, + "i1_to_i8": decode_i1s_to_i8s, "i2_to_i8": decode_i2s_to_i8s, "i4_to_i8": decode_i4s_to_i8s, } @@ -1133,7 +1513,7 @@ def get_lop3_intrin_group( if with_scaling: key += "_scale" if with_zeros: - key += f"_zeros_{zeros_type}" + key += f"_zeros_{zeros_mode}" return { "c_source": import_c_map[key], diff --git a/python/bitblas/gpu/matmul.py b/python/bitblas/gpu/matmul.py index 4147e44d0..ad450eff2 100644 --- a/python/bitblas/gpu/matmul.py +++ b/python/bitblas/gpu/matmul.py @@ -22,8 +22,15 @@ get_reduction_blocks, ) from .matmul_mma import MatmulTensorizationMMA -from .matmul_wmma import MatmulInt8Tensorization, MatmulTensorizationWMMA, MatmulTensorizationLegacy +from .matmul_wmma import ( + MatmulInt8Tensorization, + MatmulTensorizationWMMA, +) from functools import reduce +import logging + +logger = logging.getLogger(__name__) + class Matmul(GPUScheduleRule): """The schedule rule for matmul-like computation""" @@ -115,9 +122,9 @@ def apply( # pylint: disable=too-many-locals,missing-docstring apply_tensorization = False for item_var in block_stmt.iter_vars[1:]: extent = item_var.dom.extent - if isinstance(extent, tir.expr.IntImm): - if extent.value <= minimal_tensorize_threshold: - apply_tensorization = False + if isinstance(extent, + tir.expr.IntImm) and extent.value <= minimal_tensorize_threshold: + apply_tensorization = False if apply_tensorization: if in_dtype == "int8" and out_dtype == "int32": tensorize_sch = MatmulInt8Tensorization().apply(func, target, _) @@ -149,11 +156,9 @@ def apply( # pylint: disable=too-many-locals,missing-docstring ) batch, x, y, k = sch.get_loops(main_block) by, vy, ty, yi = sch.split( - y, [None, config.vthread_y, config.block_size_y, config.micro_size_y] - ) + y, [None, config.vthread_y, config.block_size_y, config.micro_size_y]) bx, vx, tx, xi = sch.split( - x, [None, config.vthread_x, config.block_size_x, config.micro_size_x] - ) + x, [None, config.vthread_x, config.block_size_x, config.micro_size_x]) ko, ki = sch.split(k, factors=[None, config.micro_size_k]) sch.reorder(by, bx, vy, vx, ty, tx, ko, ki, yi, xi) by = sch.fuse(batch, by) @@ -214,7 +219,7 @@ def is_scheduled(block: tir.schedule.BlockRV) -> bool: return loop_kinds != {ForKind.SERIAL} blocks = sch.get_child_blocks(root_block) - max_threads_per_block = utils.max_threads_per_block(target) + max_threads_per_block = utils.max_threads_per_block(target) # noqa: F841 for block in blocks: if is_scheduled(block): continue @@ -248,7 +253,7 @@ def apply_config( # pylint: disable=too-many-locals,missing-docstring # in some case conv template will use this rule, but the tile config is not # analyzed by matmul expr. if len(config.block) != 2: - print(f"Warning: block config {config.block} is not valid for matmul, skip.") + logger.debug(f"Warning: block config {config.block} is not valid for matmul, skip.") return None main_block = reduction_blocks[0] @@ -275,8 +280,8 @@ def apply_config( # pylint: disable=too-many-locals,missing-docstring block_col_warps = config.block[1] // (config.thread[1] * config.step[1]) thread_row_tiles = config.thread[1] // (config.step[0] * 2) thread_col_tiles = config.thread[1] // (config.step[1] * 2) - vthread_row_tiles = config.step[0] * 2 # expand vtrhead to avoid load band conflict - vthread_col_tiles = config.step[1] * 2 # expand vtrhead to avoid load band conflict + vthread_row_tiles = (config.step[0] * 2) # expand vtrhead to avoid load band conflict + vthread_col_tiles = (config.step[1] * 2) # expand vtrhead to avoid load band conflict chunk = config.rstep[0] # Step 3. Schedule matmul @@ -328,8 +333,7 @@ def is_trivial_load(block): if len(reads) != 1 or len(writes) != 1: return False return all( - read.region[-1] == write.region[-1] for read, write in zip(reads, writes) - ) + read.region[-1] == write.region[-1] for read, write in zip(reads, writes)) if is_trivial_load(block): sch.vectorize(vec) @@ -348,24 +352,20 @@ def is_trivial_load(block): for i, input_region in enumerate(sch.get(main_block).reads): _buffer_name = input_region.buffer.name.replace("_reindex", "").replace("_pad", "") if _buffer_name not in config.cached_tensors: - print( + logger.warning( f"Warning: {_buffer_name} is not in cached_tensors {config.cached_tensors}, skip." ) continue # otherwise cooperative fetch in shared memory. - if _buffer_name in config.vectorize: - vectorize = config.vectorize[_buffer_name] - else: - vectorize = 1 + vectorize = config.vectorize.get(_buffer_name, 1) _cooperative_fetch(i, vec_len=vectorize) auto_inline_consumer_chain(sch, l2g) _, vec = sch.split( - sch.fuse(*sch.get_loops(l2g)[-2:]), [None, vectorize // prod(config.step)] - ) + sch.fuse(*sch.get_loops(l2g)[-2:]), [None, vectorize // prod(config.step)]) sch.vectorize(vec) sch.decompose_reduction(main_block, ko) diff --git a/python/bitblas/gpu/matmul_analysis.py b/python/bitblas/gpu/matmul_analysis.py index a6f452170..df50d283c 100644 --- a/python/bitblas/gpu/matmul_analysis.py +++ b/python/bitblas/gpu/matmul_analysis.py @@ -6,7 +6,7 @@ from dataclasses import dataclass from enum import Enum from typing import List, Optional, Set, Union, Tuple, Dict -from tvm import tir, DataType +from tvm import tir from tvm.ir import Range from tvm.tir import IterVar, PrimExpr, Var, BufferRegion from tvm.tir.analysis import undefined_vars @@ -22,6 +22,7 @@ logger = logging.getLogger(__name__) + def _is_one(x: PrimExpr) -> bool: return isinstance(x, tir.IntImm) and x.value == 1 @@ -52,14 +53,12 @@ def auto_inline_producers( inlined_cnt = 0 producers = _collect_producers(sch, block) for producer in producers: - if any( - sch.get(producer) == sch.get(skip_block) for skip_block in skip_blocks - ): + if any(sch.get(producer) == sch.get(skip_block) for skip_block in skip_blocks): continue try: sch.compute_inline(producer) inlined_cnt += 1 - except: # pylint: disable=bare-except + except Exception: # pylint: disable=bare-except continue if inlined_cnt == 0: return @@ -76,13 +75,13 @@ def auto_inline_consumers( try: sch.compute_inline(consumer) inlined_cnt += 1 - except: # pylint: disable=bare-except + except Exception: # pylint: disable=bare-except continue for consumer in consumers: try: sch.reverse_compute_inline(consumer) inlined_cnt += 1 - except: # pylint: disable=bare-except + except Exception: # pylint: disable=bare-except continue if inlined_cnt == 0: return @@ -106,24 +105,25 @@ def auto_inline_consumer_chain( # Try inlining into the cache-write stage again, this time it should succeed. auto_inline_consumers(sch, block) + # used to match the similar region with dequantize op. -def find_first_similar_region(regions:List[BufferRegion], buffer: tir.Buffer): +def find_first_similar_region(regions: List[BufferRegion], buffer: tir.Buffer): for region in regions: if len(region.buffer.shape) == len(buffer.shape): return region return None + # used to match the similar buffer with dequantize op. -def find_first_similar_buffer(regions:List[BufferRegion], buffer: tir.Buffer): +def find_first_similar_buffer(regions: List[BufferRegion], buffer: tir.Buffer): for region in regions: if len(region.buffer.shape) == len(buffer.shape): return region.buffer return None + # find the block that required to be reindex and scope. -def find_last_producer_from_buffer( - sch, main_block, buffer: tir.Buffer -) -> Optional[BlockRV]: +def find_last_producer_from_buffer(sch, main_block, buffer: tir.Buffer) -> Optional[BlockRV]: # block that most near to the arguments block = main_block buffer = buffer @@ -146,9 +146,8 @@ def find_last_producer_from_buffer( return block -def find_arg_idx_from_buffer_chain( - sch: tir.Schedule, main_block: tir.schedule.BlockRV, buffer: tir.Buffer -) -> int: +def find_arg_idx_from_buffer_chain(sch: tir.Schedule, main_block: tir.schedule.BlockRV, + buffer: tir.Buffer) -> int: """traverse to find the arg index from the buffer""" producers = sch.get_producers(main_block) @@ -217,8 +216,7 @@ def make_iter_fusion_index_map( fused_iters[trait.kind] = v_i final_indices: List[tir.PrimExpr] = [ - fused_iters.get(kind, tir.IntImm(traits[0].extent.dtype, 0)) - for kind in kind_order + fused_iters.get(kind, tir.IntImm(traits[0].extent.dtype, 0)) for kind in kind_order ] return tir.IndexMap(input_iters, final_indices, None) @@ -291,22 +289,15 @@ def get_access_axes(region: List[Range]) -> Set[Var]: if {x.kind for x in traits.values()}.intersection(gemm_traits) != gemm_traits: return None - A_traits = [ - traits[iter_var.var] for iter_var in block.iter_vars if iter_var.var in A_axes - ] - B_traits = [ - traits[iter_var.var] for iter_var in block.iter_vars if iter_var.var in B_axes - ] - C_traits = [ - traits[iter_var.var] for iter_var in block.iter_vars if iter_var.var in C_axes - ] + A_traits = [traits[iter_var.var] for iter_var in block.iter_vars if iter_var.var in A_axes] + B_traits = [traits[iter_var.var] for iter_var in block.iter_vars if iter_var.var in B_axes] + C_traits = [traits[iter_var.var] for iter_var in block.iter_vars if iter_var.var in C_axes] block_traits = [traits[i.var] for i in block.iter_vars] return A_traits, B_traits, C_traits, block_traits -def get_index_map( - block: tir.Block, layout: List[str] = ["n", "t", "n"] -) -> Optional[Tuple[tir.IndexMap, ...]]: +def get_index_map(block: tir.Block, + layout: Optional[List[str]] = None) -> Optional[Tuple[tir.IndexMap, ...]]: """Get index maps for the block Parameters @@ -325,6 +316,8 @@ def get_index_map( index_maps : Optional[Tuple[tir.IndexMap]] The index maps for the block, or None if the block is not a gemm-liked kernel """ + if layout is None: + layout = ["n", "t", "n"] traits = detect_iter_traits(block) if traits is None: return None @@ -376,23 +369,17 @@ def infer_layout(layout: str, region: List[Range], kind: str = "A"): if kind == "C": return [IterKind.kIter_S, primary_iter, secondary_iter] else: - return ( - [IterKind.kIter_S, spatial_iter, reduction_iter] - if check_last_trait(region) - else [IterKind.kIter_S, reduction_iter, spatial_iter] - ) + return ([IterKind.kIter_S, spatial_iter, reduction_iter] if check_last_trait(region) + else [IterKind.kIter_S, reduction_iter, spatial_iter]) else: raise ValueError(f"Unknown layout {layout}") A_index_map = make_iter_fusion_index_map( - A_traits, infer_layout(layout[0], block.reads[0].region, kind="A") - ) + A_traits, infer_layout(layout[0], block.reads[0].region, kind="A")) B_index_map = make_iter_fusion_index_map( - B_traits, infer_layout(layout[1], block.reads[1].region, kind="B") - ) + B_traits, infer_layout(layout[1], block.reads[1].region, kind="B")) C_index_map = make_iter_fusion_index_map( - C_traits, infer_layout(layout[2], block.writes[0].region, kind="C") - ) + C_traits, infer_layout(layout[2], block.writes[0].region, kind="C")) matmul_index_map = make_iter_fusion_index_map( block_traits, @@ -424,14 +411,10 @@ def is_dequantize(block: BlockRV) -> bool: block_stmt = sch.get(block) if len(block_stmt.reads) < 2: return False - has_uint_input = any( - "uint" in str(region.buffer.dtype) for region in block_stmt.reads - ) + has_uint_input = any("uint" in str(region.buffer.dtype) for region in block_stmt.reads) if not has_uint_input: return False - if len(block_stmt.writes) != 1 or "float" not in str( - block_stmt.writes[0].buffer.dtype - ): + if len(block_stmt.writes) != 1 or "float" not in str(block_stmt.writes[0].buffer.dtype): return False return True @@ -456,10 +439,7 @@ def get_access_vars(region: List[Range]) -> List[Var]: axes.extend(undefined_vars(r.min)) # remove trivial axis trivial_vars = set( - iter_var.var - for iter_var in block_stmt.iter_vars - if _is_one(iter_var.dom.extent) - ) + iter_var.var for iter_var in block_stmt.iter_vars if _is_one(iter_var.dom.extent)) axes = [axis for axis in axes if axis not in trivial_vars] # remove duplicate axis axes = [var for i, var in enumerate(axes) if i == 0 or var != axes[i - 1]] @@ -468,9 +448,8 @@ def get_access_vars(region: List[Range]) -> List[Var]: lhs_access_vars = get_access_vars(block_stmt.reads[0].region)[-2:] rhs_access_vars = get_access_vars(block_stmt.writes[0].region)[-2:] is_identity = list(lhs_access_vars) == list(rhs_access_vars) - is_transpose = list(lhs_access_vars) != list(rhs_access_vars) and set( - lhs_access_vars - ) == set(rhs_access_vars) + is_transpose = list(lhs_access_vars) != list(rhs_access_vars) and set(lhs_access_vars) == set( + rhs_access_vars) return is_identity, is_transpose @@ -490,23 +469,25 @@ def inline_transpose_block(sch: tir.Schedule, blocks: List[tir.schedule.BlockRV] continue try: sch.compute_inline(block) - except: + except Exception: try: sch.reverse_compute_inline(block) - except: + except Exception: result_blocks.append(block) return result_blocks -def normalize_to_matmul( - sch: tir.Schedule, main_block: BlockRV, layout: List[str] = ["n", "t", "n"] -) -> Optional[tir.Schedule]: +def normalize_to_matmul(sch: tir.Schedule, + main_block: BlockRV, + layout: Optional[List[str]] = None) -> Optional[tir.Schedule]: + if layout is None: + layout = ["n", "t", "n"] block_stmt = sch.get(main_block) # let layout be 'a' to auto inference the layout index_maps = get_index_map(block_stmt, layout=layout) if index_maps is None: - print("[WARNING] Cannot find the appropriate index map for tensorcore") + logger.debug("Cannot find the appropriate index map for tensorcore") return None matmul_index_map, a_index_map, b_index_map, c_index_map = index_maps @@ -526,17 +507,17 @@ def normalize_to_matmul( def get_tensorized_func_and_tags( func: tir.PrimFunc, target: Target, - layout: List[str] = ["a", "a", "a"], + layout: Optional[List[str]] = None, skip_normalize: bool = False, allow_gemv: bool = False, ) -> Tuple[tir.PrimFunc, Dict[str, Union[List[int], int]]]: from tvm.tir.tensor_intrin.cuda import ( # pylint: disable=import-outside-toplevel - get_wmma_intrin_group, - ) - + get_wmma_intrin_group,) """ transform function to matmul if necessary (e.g. transform conv2d with im2col) """ + if layout is None: + layout = ["a", "a", "a"] # step1. detect whether the function can utilize tensorcore sch = tir.Schedule(func) root_block = get_root_block(sch) @@ -552,12 +533,8 @@ def _can_be_tensorized(sch: tir.Schedule, block: BlockRV) -> bool: conditions.append(len(block_stmt.writes) == 1) conditions.append( len( - collect_block_iter_vars_used_in_access_region( - block_stmt, block_stmt.writes[0].region - ) - ) - > 0 - ) + collect_block_iter_vars_used_in_access_region(block_stmt, + block_stmt.writes[0].region)) > 0) if not all(conditions): return False return True @@ -567,9 +544,7 @@ def check_sm_version(arch: str) -> int: sm_version = arch.replace("sm_", "") return int(sm_version) if sm_version.isdigit() else -1 - def analysis_tensorcore_tags( - sch: tir.Schedule, block: BlockRV, target: Target - ) -> bool: + def analysis_tensorcore_tags(sch: tir.Schedule, block: BlockRV, target: Target) -> bool: tags: Dict[str, Union[List[int], int]] = {} block_stmt = sch.get(block) @@ -583,7 +558,7 @@ def analysis_tensorcore_tags( # todo(lei): maybe we can integrate this into policy in the future tags["pipeline_stage"] = 1 if target.kind.name == "cuda" and check_sm_version(target.arch) == 80: - # enable pipleline stage only for sm_80 devices + # enable pipeline stage only for sm_80 devices tags["pipeline_stage"] = 2 # analysis async copy @@ -593,7 +568,7 @@ def analysis_tensorcore_tags( # async copy only works in software pipeline. tags["use_async_copy"] = True - # analysis intrin infomation + # analysis intrin information def get_ordered_axes(region: List[Range]) -> Set[Var]: axes: List[Var] = [] for r in region: @@ -618,10 +593,10 @@ def check_last_trait(region: List[Range]): intrin_info["out_dtype"] = out_dtype # if the last dimension is reduce axis, the B is transposed intrin_info["trans_b"] = check_last_trait(block_stmt.reads[1].region) - if func.attrs is not None and "smooth_a" in func.attrs: - intrin_info["smooth_a"] = func.attrs["smooth_a"] - if func.attrs is not None and "smooth_b" in func.attrs: - intrin_info["smooth_b"] = func.attrs["smooth_b"] + if func.attrs is not None and "input_transform_kind" in func.attrs: + intrin_info["input_transform_kind"] = func.attrs["input_transform_kind"] + if func.attrs is not None and "weight_transform_kind" in func.attrs: + intrin_info["weight_transform_kind"] = func.attrs["weight_transform_kind"] tags["intrin_info"] = intrin_info return tags @@ -638,7 +613,7 @@ def check_last_trait(region: List[Range]): in_dtype=in_dtype, out_dtype=out_dtype, ) - except: + except Exception: logger.debug("Cannot find the corresponding wmma intrin group") return func, None @@ -656,28 +631,24 @@ def check_last_trait(region: List[Range]): minimal_tensorize_threshold = 16 # the batch dimension is not taken into consideration. extent = block_stmt.iter_vars[1].dom.extent - if isinstance(extent, tir.expr.IntImm): - if extent.value < (1 if allow_gemv else minimal_tensorize_threshold): - return func, None + if isinstance(extent, + tir.expr.IntImm) and (extent.value < + (1 if allow_gemv else minimal_tensorize_threshold)): + return func, None for item_var in block_stmt.iter_vars[2:]: extent = item_var.dom.extent - if isinstance(extent, tir.expr.IntImm): - if extent.value < minimal_tensorize_threshold: - return func, None + if (isinstance(extent, tir.expr.IntImm) and extent.value < minimal_tensorize_threshold): + return func, None tags = analysis_tensorcore_tags(sch, main_block, target) return sch.mod["main"], tags return func, None -def get_propagate_map( - trans: bool = True, dtype="float16", matrix_name="A", index_dtype="int32" -): +def get_propagate_map(trans: bool = True, dtype="float16", matrix_name="A", index_dtype="int32"): from tvm.tir.tensor_intrin.cuda import ( # pylint: disable=import-outside-toplevel - ldmatrix_32x8_to_shared_16x16_layout, - ldmatrix_trans_32x8_to_shared_16x16_layout, - ldmatrix_32x16_to_shared_16x32_layout_a, - ldmatrix_32x16_to_shared_16x32_layout_b, + ldmatrix_32x8_to_shared_16x16_layout, ldmatrix_trans_32x8_to_shared_16x16_layout, + ldmatrix_32x16_to_shared_16x32_layout_a, ldmatrix_32x16_to_shared_16x32_layout_b, ) assert dtype in ["float16", "int8"], "Only support float16 for now" @@ -686,9 +657,9 @@ def get_propagate_map( ldmatrix_layout_trans = ldmatrix_trans_32x8_to_shared_16x16_layout elif dtype == "int8": # int8 mma only support 32x16 to 16x32 layout - if matrix_name == "A" and trans == False: + if matrix_name == "A" and trans is False: ldmatrix_layout = ldmatrix_32x16_to_shared_16x32_layout_a - elif matrix_name == "B" and trans == True: + elif matrix_name == "B" and trans is True: ldmatrix_layout = ldmatrix_32x16_to_shared_16x32_layout_b else: raise ValueError("Unknown matrix name ", matrix_name) @@ -712,9 +683,7 @@ def ldmatrix_permutation_16x32_32x16_32x16(kernel_i, kernel_j): if dtype == "float16": ldmatrix_index_map = ( ldmatrix_trans_permutation_16x16_32x8_16x16 - if trans - else ldmatrix_permutation_16x16_32x8_16x16 - ) + if trans else ldmatrix_permutation_16x16_32x8_16x16) else: ldmatrix_index_map = ldmatrix_permutation_16x32_32x16_32x16 @@ -757,9 +726,7 @@ def layout_propagate_chain( read_indices = [r.min for r in read.region] # reverse index map from [vi // x] -> [vi * x] to match the inconsistent layout tmp_index_map = IndexMap(write_indices, read_indices, None) - tmp_index_map = tmp_index_map.non_surjective_inverse( - write.buffer.shape - )[0] + tmp_index_map = tmp_index_map.non_surjective_inverse(write.buffer.shape)[0] # if dequantize like ops are used, the scaling factor should be considered # to be applied to the final indices @@ -767,8 +734,7 @@ def layout_propagate_chain( for i, j in zip(write.buffer.shape, read.buffer.shape): scaling_factor *= i // j final_indices = list( - index_map.map_indices(tmp_index_map.map_indices(write_indices)) - ) + index_map.map_indices(tmp_index_map.map_indices(write_indices))) final_indices[-1] = final_indices[-1] // scaling_factor index_map = IndexMap( write_indices, diff --git a/python/bitblas/gpu/matmul_mma.py b/python/bitblas/gpu/matmul_mma.py index 9e26712fa..143ca9b45 100644 --- a/python/bitblas/gpu/matmul_mma.py +++ b/python/bitblas/gpu/matmul_mma.py @@ -28,7 +28,8 @@ ) -def get_index_map_3d(index_map, l=16, r=16): +def get_index_map_3d(index_map, l=16, r=16): # noqa: E741 + def index_map_3d(b, i, j): return ( b, @@ -56,7 +57,7 @@ def index_map_5d(b, i, j, ii, jj): return index_map_5d -def get_warp_index_map(index_map, l=16, r=16, is_5d=False): +def get_warp_index_map(index_map, l=16, r=16, is_5d=False): # noqa: E741 if is_5d: return get_index_map_5d(index_map) return get_index_map_3d(index_map, l, r) @@ -74,6 +75,9 @@ def apply( # pylint: disable=too-many-locals,missing-docstring target: Target, _: bool, ) -> Optional[tir.Schedule]: + if "dequantize_info" in func.attrs: + dequantize_rule = MatmulTensorizationMMAWithDequantizeInfo() + return dequantize_rule.apply(func, target, False) sch = tir.Schedule(func) root_block = analysis.get_root_block(sch) blocks = sch.get_child_blocks(root_block) @@ -114,8 +118,7 @@ def apply( # pylint: disable=too-many-locals,missing-docstring # Tensorization by hardware intrinsics from tvm.tir.tensor_intrin.cuda import ( # pylint: disable=import-outside-toplevel - get_mma_intrin_group, - shared_16x16_to_mma_32x8_layout, + get_mma_intrin_group, shared_16x16_to_mma_32x8_layout, ) # tile size @@ -129,7 +132,7 @@ def apply( # pylint: disable=too-many-locals,missing-docstring thread_z, thread_y, thread_x = 2, 2, 32 vector_size = 8 - unroll_depth = 4 + unroll_depth = 4 # noqa: F841 # Step 1. Normalize generic matmul to C[S, I, J] += A[S, I, K] * B[S, J, K] block = sch.reindex(main_block, ("read", 0)) @@ -193,33 +196,24 @@ def apply( # pylint: disable=too-many-locals,missing-docstring sch.bind(j2, "threadIdx.y") # Step 4. Read/write to shared mem and register - def fetch_input( - block_outer, read_buffer_idx, tensor_name: Literal["A", "B"], is_transpose - ): + def fetch_input(block_outer, read_buffer_idx, tensor_name: Literal["A", "B"], is_transpose): # 1) Read to shared memory block_read_smem = sch.cache_read(block_outer, read_buffer_idx, "shared.dyn") sch.compute_at(block_read_smem, k0) - auto_inline_producers( - sch, block_read_smem, [dequantize_block] if dequantize_block else [] - ) + auto_inline_producers(sch, block_read_smem, + [dequantize_block] if dequantize_block else []) # For transposed read, we directly load transposed tensor from global # Then use ldmatrix.trans to handle transpose later - if (tensor_name == "A" and is_transpose) or ( - tensor_name == "B" and not is_transpose - ): + if (tensor_name == "A" and is_transpose) or (tensor_name == "B" and not is_transpose): # specifical handle transpose read (for NN matmul or TT matmul) v0, v1 = sch.get_loops(block_read_smem)[-2:] sch.reorder(v1, v0) - sch.transform_layout( - block_read_smem, ("write", 0), lambda b, i, j: (b, j, i) - ) + sch.transform_layout(block_read_smem, ("write", 0), lambda b, i, j: (b, j, i)) # bind loops fused = sch.fuse(*sch.get_loops(block_read_smem)[-2:]) - f0, f1, f2, f3, f4 = sch.split( - fused, [None, thread_z, thread_y, thread_x, vector_size] - ) + f0, f1, f2, f3, f4 = sch.split(fused, [None, thread_z, thread_y, thread_x, vector_size]) sch.bind(f1, "threadIdx.z") sch.bind(f2, "threadIdx.y") sch.bind(f3, "threadIdx.x") @@ -234,17 +228,11 @@ def fetch_input( # bind_loops micro_size_spatial = micro_size_m if tensor_name == "A" else micro_size_n - micro_size_1, micro_size_2 = ( - (micro_size_spatial, micro_size_k) - if not is_transpose - else (micro_size_k, micro_size_spatial) - ) - v00, v01 = sch.split( - sch.get_loops(block_read_reg)[-2], [None, micro_size_1] - ) - v10, v11 = sch.split( - sch.get_loops(block_read_reg)[-1], [None, micro_size_2] - ) + micro_size_1, micro_size_2 = ((micro_size_spatial, + micro_size_k) if not is_transpose else + (micro_size_k, micro_size_spatial)) + v00, v01 = sch.split(sch.get_loops(block_read_reg)[-2], [None, micro_size_1]) + v10, v11 = sch.split(sch.get_loops(block_read_reg)[-1], [None, micro_size_2]) sch.reorder(v00, v10, v01, v11) # reorder read axis to match the layout of ldmatrix @@ -255,9 +243,7 @@ def fetch_input( v0, v1 // micro_size_1, v2 // micro_size_2, - *shared_16x16_to_mma_32x8_layout( - v1 % micro_size_1, v2 % micro_size_2 - ), + *shared_16x16_to_mma_32x8_layout(v1 % micro_size_1, v2 % micro_size_2), ), ) @@ -267,19 +253,13 @@ def fetch_input( return block_read_smem, block_read_reg - block_read_a, block_read_reg_a = fetch_input( - block_outer, 0, "A", is_transpose_a - ) - block_read_b, block_read_reg_b = fetch_input( - block_outer, 1, "B", is_transpose_b - ) + block_read_a, block_read_reg_a = fetch_input(block_outer, 0, "A", is_transpose_a) + block_read_b, block_read_reg_b = fetch_input(block_outer, 1, "B", is_transpose_b) # Write to register, and then smem def store_output(block_outer, write_buffer_idx): # 1) Write to shared memory - block_write_smem = sch.cache_write( - block_outer, write_buffer_idx, "shared.dyn" - ) + block_write_smem = sch.cache_write(block_outer, write_buffer_idx, "shared.dyn") sch.reverse_compute_at(block_write_smem, block_axis) auto_inline_consumer_chain(sch, block_write_smem) @@ -308,9 +288,7 @@ def store_output(block_outer, write_buffer_idx): v0, v1 // micro_size_m, v2 // micro_size_n, - *shared_16x16_to_mma_32x8_layout( - v1 % micro_size_m, v2 % micro_size_n - ), + *shared_16x16_to_mma_32x8_layout(v1 % micro_size_m, v2 % micro_size_n), ), ) @@ -366,8 +344,9 @@ def apply_config( # pylint: disable=too-many-locals,missing-docstring return dequantize_rule.apply_config(func, config) from tvm.tir.tensor_intrin.cuda import ( # pylint: disable=import-outside-toplevel - get_mma_intrin_group, - ) + get_mma_intrin_group,) + + import_source: List[str] = [] sch = tir.Schedule(func) root_block = analysis.get_root_block(sch) @@ -381,10 +360,6 @@ def apply_config( # pylint: disable=too-many-locals,missing-docstring return None main_block = reduction_blocks[0] - - # Step 1. Normalize generic matmul to C[S, I, J] += A[S, I, K] * B[S, J, K]/B[S, K, J] - if not (func.attrs is not None and "dlight.tensorcore_prenormlized" in func.attrs.keys()): - sch = normalize_to_matmul(sch, main_block, ["a", "a", "a"]) output_blocks = [sch.get(block) for block in sch.get_output_blocks(root_block)] @@ -415,20 +390,6 @@ def check_has_dynamic(func: tir.PrimFunc): if not (func.attrs is not None and "dlight.tensorcore_prenormlized" in func.attrs.keys()): sch = normalize_to_matmul(sch, main_block, ["a", "a", "a"]) - # Step 1. Normalize generic matmul to C[S, I, J] += A[S, I, K] * B[S, J, K]/B[S, K, J] - if not ( - func.attrs is not None - and "dlight.tensorcore_prenormlized" in func.attrs.keys() - ): - sch = normalize_to_matmul(sch, main_block, ["a", "a", "a"]) - - # Step 1. Normalize generic matmul to C[S, I, J] += A[S, I, K] * B[S, J, K]/B[S, K, J] - if not ( - func.attrs is not None - and "dlight.tensorcore_prenormlized" in func.attrs.keys() - ): - sch = normalize_to_matmul(sch, main_block, ["a", "a", "a"]) - shared_scope = config.shared_scope intrin_info = config.intrin_info @@ -460,8 +421,8 @@ def check_has_dynamic(func: tir.PrimFunc): micro_size_x, micro_size_y, micro_size_k = intrin_group["micro_kernel"] # get the axis for layout transform - def get_axis(l, r, trans): - return (r, l) if trans else (l, r) + def get_axis(l, r, trans): # noqa: E741 + return (r, l) if trans else (l, r) # noqa: E741 a_lr = get_axis(micro_size_x, micro_size_k, intrin_info.trans_a) b_lr = get_axis(micro_size_k, micro_size_y, intrin_info.trans_b) @@ -473,8 +434,8 @@ def can_enable_swizzle(dtype: str, smooth: bool): return not smooth return False - can_swizzle_a = can_enable_swizzle(intrin_info.in_dtype, intrin_info.smooth_a) - can_swizzle_b = can_enable_swizzle(intrin_info.in_dtype, intrin_info.smooth_b) + can_swizzle_a = can_enable_swizzle(intrin_info.in_dtype, intrin_info.inter_transform_a) + can_swizzle_b = can_enable_swizzle(intrin_info.in_dtype, intrin_info.inter_transform_b) warp_size = 32 @@ -527,32 +488,14 @@ def can_enable_swizzle(dtype: str, smooth: bool): thread_idy = i2 thread_idz = j2 - # plan rasteration - if ( - not isinstance(config.rasterization_plan, NoRasterization) - and sch.get(batch).extent.value == 1 - ): - device_func, invoke_func = config.rasterization_plan.get_code() - factor = config.rasterization_plan.panel_width_ - - # TODO(lei): this is a trick for rasterization implementation - # is not optimal. (5% performance loss) - # require a solution for general block rasterization - factor = 8 # should be divisible by block_idx - if sch.get(block_idx).extent.value % factor == 0: - block_k, block_idx = sch.split(block_idx, factors=[None, factor]) - sch.reorder(block_k, block_idy, block_idx) - sch.bind(block_k, "blockIdx.z") - else: - sch.bind(batch, "blockIdx.z") - + sch.bind(batch, "blockIdx.z") sch.bind(block_idx, "blockIdx.x") sch.bind(block_idy, "blockIdx.y") sch.bind(thread_idy, "threadIdx.y") sch.bind(thread_idz, "threadIdx.z") # rewrite smooth layout of shared memory - def smooth_smem_layout_rewrite(block, scope, l=16, r=16, enable=True): + def smooth_smem_layout_rewrite(block, scope, l=16, r=16, enable=True): # noqa: E741 if not enable: return sch.transform_layout( @@ -568,24 +511,19 @@ def smooth_smem_layout_rewrite(block, scope, l=16, r=16, enable=True): ) smooth_smem_layout_rewrite( - block_outer, ("read", 0), *a_lr, enable=intrin_info.smooth_a - ) + block_outer, ("read", 0), *a_lr, enable=intrin_info.inter_transform_a) smooth_smem_layout_rewrite( - block_outer, ("read", 1), *b_lr, enable=intrin_info.smooth_b - ) + block_outer, ("read", 1), *b_lr, enable=intrin_info.inter_transform_b) smooth_smem_layout_rewrite(block_outer, ("write", 0), enable=True) - def fetch_to_shared( - block, idx, vec_len, can_swizzle=False, is_smooth=False, trans=False - ): + def fetch_to_shared(block, idx, vec_len, can_swizzle=False, is_smooth=False, trans=False): block_read = sch.cache_read(block, idx, shared_scope) sch.compute_at(block_read, k0, preserve_unit_loops=True) ndim = len(sch.get(block_read).iter_vars) fused = sch.fuse(*sch.get_loops(block_read)[-ndim:]) f_0, f_1, f_2, f_3, f_4 = sch.split( - fused, factors=[num_ty, num_tz, None, warp_size, vec_len] - ) + fused, factors=[num_ty, num_tz, None, warp_size, vec_len]) sch.bind(f_3, "threadIdx.x") sch.bind(f_1, "threadIdx.z") @@ -622,9 +560,7 @@ def fetch_to_shared( ) # rewrite global smooth layout - def smooth_gmem_layout_rewrite( - sch, block, enable=True, trans=False, matrix_name="A" - ): + def smooth_gmem_layout_rewrite(sch, block, enable=True, trans=False, matrix_name="A"): if not enable: return # step1: find the first producer block @@ -633,10 +569,11 @@ def smooth_gmem_layout_rewrite( # read and write buffer producers = _collect_producers(sch, block) g2s_block = a_g2s if matrix_name == "A" else b_g2s - propagate_block: tir.Block = producers[-1] if len(producers) > 0 else g2s_block + propagate_block: tir.Block = (producers[-1] if len(producers) > 0 else g2s_block) # step2: transform the layout with inverse permutation - _, inverse_indexmap = get_propagate_map(trans=trans, dtype=intrin_info.in_dtype, matrix_name=matrix_name) + intra_indexmap, _ = get_propagate_map( + trans=trans, dtype=intrin_info.in_dtype, matrix_name=matrix_name) def inverse_permutation(i, j, ii, jj): return (i, j, *intra_indexmap.map_indices([ii, jj])) @@ -644,11 +581,9 @@ def inverse_permutation(i, j, ii, jj): sch.transform_layout(propagate_block, ("read", 0), inverse_permutation) smooth_gmem_layout_rewrite( - sch, a_g2s, intrin_info.smooth_a, intrin_info.trans_a, matrix_name="A" - ) + sch, a_g2s, intrin_info.smooth_a, intrin_info.trans_a, matrix_name="A") smooth_gmem_layout_rewrite( - sch, b_g2s, intrin_info.smooth_b, intrin_info.trans_b, matrix_name="B" - ) + sch, b_g2s, intrin_info.smooth_b, intrin_info.trans_b, matrix_name="B") auto_inline_producers(sch, a_g2s) auto_inline_producers(sch, b_g2s) @@ -697,12 +632,12 @@ def inverse_permutation(i, j, ii, jj): sch.transform_layout( A_mat, ("write", 0), - get_warp_index_map(index_map_a, *a_lr, intrin_info.smooth_a), + get_warp_index_map(index_map_a, *a_lr, intrin_info.inter_transform_a), ) sch.transform_layout( B_mat, ("write", 0), - get_warp_index_map(index_map_b, *b_lr, intrin_info.smooth_b), + get_warp_index_map(index_map_b, *b_lr, intrin_info.inter_transform_b), ) sch.transform_layout( store, @@ -734,11 +669,24 @@ def tensorize_init_store_compute(): tensorize_init_store_compute() if stage > 1: - sch.annotate( - k0, ann_key="software_pipeline_stage", ann_val=[0, 0, stage - 1] - ) + sch.annotate(k0, ann_key="software_pipeline_stage", ann_val=[0, 0, stage - 1]) sch.annotate(k0, ann_key="software_pipeline_order", ann_val=[0, 1, 2]) if use_async: sch.annotate(k0, "software_pipeline_async_stages", [0]) + # plan rasteration + if not isinstance(config.rasterization_plan, NoRasterization): + device_func, invoke_func = config.rasterization_plan.get_code() + import_source.append(device_func) + sch.annotate( + sch.get_loops(block_init_c)[-2], + ann_key="inject_customized_code_prepend", + ann_val=invoke_func) + # plan import source + if len(import_source) > 0: + sch.annotate( + thread_idz, + ann_key="pragma_import_c", + ann_val=("\n").join(import_source), + ) return sch diff --git a/python/bitblas/gpu/matmul_mma_dequantize.py b/python/bitblas/gpu/matmul_mma_dequantize.py index 4bec0a972..eca5fd2e2 100644 --- a/python/bitblas/gpu/matmul_mma_dequantize.py +++ b/python/bitblas/gpu/matmul_mma_dequantize.py @@ -3,11 +3,13 @@ # pylint: disable=missing-docstring, invalid-name """A GEMM schedule rule for GPU operators.""" -from typing import Literal, Optional +from typing import Optional, List +from contextlib import suppress from tvm import tir -from tvm.target import Target +from ..base.roller.hint import Hint, IntrinInfo +from tvm.target import Target from ..base.roller.rasterization import NoRasterization from ..base import analysis from .base import GPUScheduleRule @@ -20,10 +22,13 @@ get_propagate_map, layout_propagate_chain, find_last_producer_from_buffer, + _collect_producers, + get_in_out_dtypes, ) -def get_index_map_3d(index_map, l=16, r=16): +def get_index_map_3d(index_map, l=16, r=16): # noqa: E741 + def index_map_3d(b, i, j): return ( b, @@ -51,7 +56,7 @@ def index_map_5d(b, i, j, ii, jj): return index_map_5d -def get_index_map(index_map, l=16, r=16, is_5d=False): +def get_index_map(index_map, l=16, r=16, is_5d=False): # noqa: E741 if is_5d: return get_index_map_5d(index_map) return get_index_map_3d(index_map, l, r) @@ -63,6 +68,510 @@ class MatmulTensorizationMMAWithDequantizeInfo(GPUScheduleRule): func with attr 'dlight.do_not_tensorize' will not be tensorized. """ + def apply( + self, + func: tir.PrimFunc, + target: Target, + _: bool, + ): + """ + For devices without async copy, we can use a simple dequantize schedule without shared memory prefetch. + quantized weight + | + V + dequantized in register + | + V + save into shared memory + | + V + compute + """ + from tvm.tir.tensor_intrin.cuda import ( # pylint: disable=import-outside-toplevel + get_mma_intrin_group,) + from .intrin import get_lop3_intrin_group + + import_source: List[str] = [] + + sch = tir.Schedule(func) + root_block = analysis.get_root_block(sch) + blocks = sch.get_child_blocks(root_block) + + if func.attrs is not None and "dlight.do_not_tensorize" in func.attrs.keys(): + return None + + reduction_blocks = get_reduction_blocks(sch, blocks) + if reduction_blocks is None: + return None + + main_block = reduction_blocks[0] + # always enable shared memory rewrite + cache_write_required = True + + # Check Dequantize Info + dequantize_info = func.attrs["dequantize_info"] + + def check_dequantize_info(dequantize_info): + conditions = [] + # currently only support weight only dequantization + conditions.append(len(dequantize_info) == 1) + # TODO(@lei) check if the dequantize value name is weight + return all(conditions) + + assert check_dequantize_info(dequantize_info) + + (weight_decode_info,) = list(dequantize_info.values()) + + def check_weight_decode_info(weight_decode_info): + conditions = [] + # check source format in ["int", "fp", "nf"] + conditions.append("source_format" in weight_decode_info) + conditions.append( + weight_decode_info["source_format"]["format"] in ["uint", "int", "fp", "nf"]) + # check source bits in [1, 2, 4, 8] + conditions.append(weight_decode_info["source_format"]["bits"] in [1, 2, 4, 8]) + # check target format in ["float16", "int8"] + conditions.append("target_format" in weight_decode_info) + conditions.append(weight_decode_info["target_format"] in ["float16", "int8"]) + return all(conditions) + + assert check_weight_decode_info(weight_decode_info), "Invalid Weight Decode Info" + + # Start Schedule + # Step 1. Get default schedule config. + + # tensor core intrinsic size + in_dtype, out_dtype = get_in_out_dtypes(sch.get(main_block)) + intrin_info = IntrinInfo( + in_dtype=in_dtype, + out_dtype=out_dtype, + trans_b=True, + ) + if "weight_transform_kind" in func.attrs: + intrin_info.weight_transform_kind = int(func.attrs["weight_transform_kind"]) + + if "input_transform_kind" in func.attrs: + intrin_info.input_transform_kind = int(func.attrs["input_transform_kind"]) + # default Hint + config = Hint().from_dict({ + "block": [128, 128], + "warp": [64, 64], + "rstep": [32], + "pipeline_stage": 1, + "use_async": False, + "intrin_info": intrin_info, + "shared_scope": "shared.dyn", + }) + shared_scope = config.shared_scope + + intrin_group = get_mma_intrin_group( + load_scope=shared_scope, + store_scope=shared_scope if cache_write_required else "global", + in_dtype=intrin_info.in_dtype, + out_dtype=intrin_info.out_dtype, + trans_a=intrin_info.trans_a, + trans_b=intrin_info.trans_b, + smooth_a=intrin_info.smooth_a, + smooth_b=intrin_info.smooth_b, + not_use_mma_store_intrinic=False, + ) + + warp_row_tiles = config.warp[0] + warp_col_tiles = config.warp[1] + block_row_warps = config.block[0] // warp_row_tiles + block_col_warps = config.block[1] // warp_col_tiles + stage = config.pipeline_stage + use_async = config.use_async + chunk = config.rstep[0] + + micro_size_x, micro_size_y, micro_size_k = intrin_group["micro_kernel"] + + # get the axis for layout transform + def get_axis(l, r, trans): # noqa: E741 + return (r, l) if trans else (l, r) # noqa: E741 + + a_lr = get_axis(micro_size_x, micro_size_k, intrin_info.trans_a) + b_lr = get_axis(micro_size_k, micro_size_y, intrin_info.trans_b) + + def can_enable_swizzle(dtype: str, smooth: bool): + # inject_permuted_layout only support float16 currently + if dtype == "float16" or dtype == "int8": + # if we use smooth layout, we don't need to do swizzling + return not smooth + return False + + can_swizzle_a = can_enable_swizzle(intrin_info.in_dtype, intrin_info.inter_transform_a) + can_swizzle_b = can_enable_swizzle(intrin_info.in_dtype, intrin_info.inter_transform_b) + + # rewrite global smooth layout, for dequantize, currently only support weight only recover. + def smooth_gmem_layout_rewrite(sch, main_block, enable=True, trans=False, matrix_name="A"): + if not enable: + return + + # normalized block may have three read buffers, while the first one is the write buffer. + buffer_offset = (1 if sch.get(main_block).reads[0].buffer + == sch.get(main_block).writes[0].buffer else 0) + buffer_idx = 0 if matrix_name == "A" else 1 + source_buffer = sch.get(main_block).reads[buffer_offset + buffer_idx].buffer + + # step1: find the first producer block + # Notes: we assume the layout propagate happens in the first producer block + # otherwise, the layout transform will have no effect as it will transform both + # read and write buffer + propagate_block: tir.Block = find_last_producer_from_buffer( + sch, main_block, source_buffer) + # some trick impl may not have reindex block + (weight_dequantize_info,) = dequantize_info.values() + if (sch.get(propagate_block).name_hint == weight_dequantize_info["decode_block"]): + return + + # step2: transform the layout with inverse permutation + intra_indexmap, _ = get_propagate_map( + trans=trans, dtype=intrin_info.in_dtype, matrix_name=matrix_name) + + # step3: propagate the matmul layout to the first reindex block + + intra_indexmap = layout_propagate_chain( + sch, + start_block=main_block, + start_buffer=source_buffer, + end_block=propagate_block, + index_map=intra_indexmap, + ) + + def inverse_permutation(i, j, ii, jj): + return (i, j, *intra_indexmap.map_indices([ii, jj])) + + sch.transform_layout(propagate_block, ("read", 0), inverse_permutation) + + smooth_gmem_layout_rewrite( + sch, main_block, intrin_info.smooth_a, intrin_info.trans_a, matrix_name="A") + + smooth_gmem_layout_rewrite( + sch, main_block, intrin_info.smooth_b, intrin_info.trans_b, matrix_name="B") + + warp_size = 32 + + i_factors, j_factors, k_factors = ( + [None, 1, block_row_warps, warp_row_tiles // micro_size_x], + [1, None, block_col_warps, warp_col_tiles // micro_size_y], + [None, chunk // micro_size_k], + ) + + num_ty = i_factors[2] + num_tz = j_factors[2] + x_pad_factor = i_factors[2] * i_factors[3] + y_pad_factor = j_factors[2] * j_factors[3] + k_pad_factor = k_factors[1] + + # Step 1. Normalize generic matmul to C[S, I, J] += A[S, I, K] * B[S, J, K]/B[S, K, J] + if not (func.attrs is not None and "dlight.tensorcore_prenormlized" in func.attrs.keys()): + sch = normalize_to_matmul(sch, main_block, ["n", "t", "n"]) + + # Step 2. Padding for dynamic shape kernels + sch.pad_einsum( + main_block, + [ + 1, + micro_size_x * x_pad_factor, + micro_size_y * y_pad_factor, + micro_size_k * k_pad_factor, + ], + ) + + # Step 3. Schedule matmul to use tensor core + block = main_block + + batch, i, j, k = sch.get_loops(block) + + # inner loops for tensor core computation + i, i_inner = sch.split(i, factors=[None, micro_size_x]) + j, j_inner = sch.split(j, factors=[None, micro_size_y]) + k, k_inner = sch.split(k, factors=[None, micro_size_k]) + + sch.reorder(i, j, k, i_inner, j_inner, k_inner) + + block_inner = block + block_outer = sch.blockize(i_inner) + + i0, i1, i2, i3 = sch.split(i, factors=i_factors) + j0, j1, j2, j3 = sch.split(j, factors=j_factors) + k0, k1 = sch.split(k, k_factors) + + sch.reorder(i0, j0, i1, j1, i2, j2, k0, k1, i3, j3) + + block_idy = sch.fuse(i0, j0) + block_idx = sch.fuse(i1, j1) + thread_idy = i2 + thread_idz = j2 + + sch.bind(batch, "blockIdx.z") + sch.bind(block_idx, "blockIdx.x") + sch.bind(block_idy, "blockIdx.y") + sch.bind(thread_idy, "threadIdx.y") + sch.bind(thread_idz, "threadIdx.z") + + def smooth_layout_recover(block, scope, l=16, r=16, enable=True): # noqa: E741 + if not enable: + return + sch.transform_layout( + block, + scope, + lambda b, i, j: ( + b, + i // l, + j // r, + i % l, + j % r, + ), + ) + + smooth_layout_recover(block_outer, ("read", 0), *a_lr, enable=intrin_info.inter_transform_a) + smooth_layout_recover( + block_outer, + ("read", 1), + *b_lr, + enable=intrin_info.inter_transform_b, + ) + smooth_layout_recover(block_outer, ("write", 0), enable=True) + + def fetch_to_shared(block, idx, vec_len, can_swizzle=False, is_smooth=False): + block_read = sch.cache_read(block, idx, shared_scope) + sch.compute_at(block_read, k0, preserve_unit_loops=True) + ndim = len(sch.get(block_read).iter_vars) + fused = sch.fuse(*sch.get_loops(block_read)[-ndim:]) + + f_0, f_1, f_2, f_3, f_4 = sch.split( + fused, factors=[None, num_ty, num_tz, warp_size, vec_len]) + + sch.bind(f_3, "threadIdx.x") + sch.bind(f_2, "threadIdx.z") + sch.bind(f_1, "threadIdx.y") + sch.vectorize(f_4) + sch.unroll(f_0) + # Apply Swizzling + sch.annotate(block_read, ann_key="permuted_layout", ann_val=can_swizzle) + # if not, apply padding to alleviate bank conflict + if not (can_swizzle or is_smooth): + pad_offset = 8 if intrin_info.in_dtype == "float16" else 16 + sch.storage_align(block_read, 0, axis=-2, factor=16, offset=pad_offset) + sch.annotate(f_2, "pragma_unroll_explicit", False) + return block_read + + a_g2s = fetch_to_shared( + block_outer, + 0, + vec_len=4, + can_swizzle=can_swizzle_a, + is_smooth=intrin_info.smooth_a, + ) + + auto_inline_producers(sch, a_g2s) + + def decode_fetch_to_shared(block, idx): + # step1. create memory hierarchy + # global -> local -> shared + block_shared = sch.cache_read(block, idx, shared_scope) + sch.compute_at(block_shared, k0, preserve_unit_loops=True) + + decode_factor = get_coalesced_veclen(sch.get(block_shared)) + _, B_shared_vi, _ = sch.split( + sch.get_loops(block_shared)[-1], factors=[None, 1, decode_factor]) + block_shared_local = sch.cache_read(block_shared, 0, "local") + # global -> dequantzed_local -> shared + # step2. inline to local block + weight_dequantize_block = sch.get_block(weight_decode_info["decode_block"]) + weight_producers = _collect_producers(sch, weight_dequantize_block) + auto_inline_producers(sch, block_shared_local, weight_producers) + + # get target dequantize buffer's idx + def get_idx(): + # for LUT dequantize, the expr is LUT(w), the idx is 1 + # maybe we can use a more general and structural based way + # to analysis the idx + if weight_decode_info["source_format"]["format"] == "nf": + return 1 + return 0 + + b_idx = get_idx() + # global -> prefetch_local -> dequantzed_local -> shared + block_shared_local_local = sch.cache_read(block_shared_local, b_idx, "local") + + sch.compute_at(block_shared_local, B_shared_vi, preserve_unit_loops=True) + sch.compute_at(block_shared_local_local, B_shared_vi, preserve_unit_loops=True) + + dequantize_block_local = block_shared_local + if ("zeros_mode" in weight_decode_info and + weight_decode_info["zeros_mode"] == "quantized"): + if ("with_scaling" in weight_decode_info and weight_decode_info["with_scaling"]): + block_local_scales = sch.cache_read(dequantize_block_local, b_idx + 1, "local") + sch.compute_at(block_local_scales, B_shared_vi, preserve_unit_loops=True) + # pop the scale block + auto_inline_producers(sch, block_local_scales) + + if ("with_zeros" in weight_decode_info and weight_decode_info["with_zeros"]): + block_local_zeros = sch.cache_read(dequantize_block_local, b_idx + 2, "local") + sch.compute_at(block_local_zeros, B_shared_vi, preserve_unit_loops=True) + auto_inline_producers(sch, block_local_zeros) + + for producer in weight_producers: + with suppress(Exception): + auto_inline_producers(sch, producer) + sch.compute_inline(producer) + + # fast type conversion + if ("fast_decoding" in weight_decode_info and weight_decode_info["fast_decoding"]): + source_bit = weight_decode_info["source_format"]["bits"] + out_dtype = weight_decode_info["target_format"] + lop3_intrin_info = get_lop3_intrin_group( + out_dtype=out_dtype, + storage_dtype=weight_decode_info["storage_dtype"], + source_format=weight_decode_info["source_format"]["format"], + source_bit=source_bit, + with_scaling=weight_decode_info["with_scaling"], + with_zeros=weight_decode_info["with_zeros"], + zeros_mode=weight_decode_info["zeros_mode"], + ) + sch.tensorize( + sch.get_loops(dequantize_block_local)[-1], + lop3_intrin_info["compute"], + ) + import_source.append(lop3_intrin_info["c_source"]) + + sch.annotate(block_shared, ann_key="permuted_layout", ann_val=can_swizzle_b) + union_len = (2 + 4) if intrin_info.smooth_b else (2 + 2) + B_shared_fused = sch.fuse(*sch.get_loops(block_shared)[-union_len:-2]) + _, B_shared_ty, B_shared_tz, B_shared_tx = sch.split( + B_shared_fused, factors=[None, num_ty, num_tz, warp_size]) + if not (can_swizzle_b or intrin_info.smooth_b): + pad_offset = 8 if intrin_info.in_dtype == "float16" else 16 + sch.storage_align(block_shared, 0, axis=-2, factor=16, offset=pad_offset) + sch.bind(B_shared_tx, "threadIdx.x") + sch.bind(B_shared_ty, "threadIdx.y") + sch.bind(B_shared_tz, "threadIdx.z") + sch.vectorize(sch.get_loops(block_shared)[-1]) + sch.vectorize(sch.get_loops(block_shared_local_local)[-1]) + + # cache small tensors, e.g. LUT + if b_idx: + block_shared_lut = sch.cache_read(dequantize_block_local, 0, shared_scope) + sch.reverse_compute_at(block_shared_lut, j2) + _, B_shared_tx = sch.split( + sch.get_loops(block_shared_lut)[-1], factors=[None, warp_size]) + sch.bind(B_shared_tx, "threadIdx.x") + return block_shared_local + + _ = decode_fetch_to_shared(block_outer, 1) + + # create read cache to load matrix from shared memory to wmma fragments + A_mat = sch.cache_read(block_outer, 0, "warp") + B_mat = sch.cache_read(block_outer, 1, "warp") + sch.compute_at(A_mat, k1, preserve_unit_loops=True) + sch.compute_at(B_mat, k1, preserve_unit_loops=True) + + # create write cache to store matrix from wmma fragments to shared memory and global memory + if cache_write_required: + accumulator_shared_to_global = sch.cache_write(block_outer, 0, shared_scope) + + store = sch.cache_write(block_outer, 0, "warp") + sch.reverse_compute_at(store, j2) + + # split the store loop to match hardware intrinsic pattern + i, j = sch.get_loops(store)[-2:] + i0, i1 = sch.split(i, factors=[None, micro_size_x]) + j0, j1 = sch.split(j, factors=[None, micro_size_y]) + sch.reorder(i0, j0, i1, j1) + + if cache_write_required: + auto_inline_consumer_chain(sch, accumulator_shared_to_global) + sch.reverse_compute_at( + accumulator_shared_to_global, + sch.get_loops(store)[-5], + preserve_unit_loops=True, + ) + vec_len = get_coalesced_veclen(sch.get(accumulator_shared_to_global)) + fused = sch.fuse(*sch.get_loops(accumulator_shared_to_global)[-5:]) + f0, f1, f2 = sch.split(fused, factors=[None, warp_size, vec_len]) + sch.bind(f1, "threadIdx.x") + sch.vectorize(f2) + sch.unroll(f0) + sch.annotate(f0, "pragma_unroll_explicit", False) + else: + auto_inline_consumer_chain(sch, store) + + block_init_c = sch.decompose_reduction(block_outer, k0) + block_init_c_inner = sch.get_child_blocks(block_init_c)[0] + + # Tensorization by hardware intrinsics + + index_map_a, index_map_b, index_map_c = intrin_group["index_map"] + + sch.transform_layout( + A_mat, + ("write", 0), + get_index_map(index_map_a, *a_lr, intrin_info.inter_transform_a), + ) + sch.transform_layout( + B_mat, + ("write", 0), + get_index_map(index_map_b, *b_lr, intrin_info.inter_transform_b), + ) + sch.transform_layout( + store, + ("read", 0), + get_index_map(index_map_c, is_5d=True), + ) + + i, j = sch.get_loops(A_mat)[-2:] + i0, i1 = sch.split(i, factors=[None, a_lr[0]]) + j0, j1 = sch.split(j, factors=[None, a_lr[1]]) + sch.reorder(i0, j0, i1, j1) + ba = sch.blockize(i1) + sch.annotate(ba, ann_key="permuted_layout", ann_val=can_swizzle_a) + sch.tensorize(ba, intrin_group["load_a"]) + + i, j = sch.get_loops(B_mat)[-2:] + i0, i1 = sch.split(i, factors=[None, b_lr[0]]) + j0, j1 = sch.split(j, factors=[None, b_lr[1]]) + sch.reorder(i0, j0, i1, j1) + bb = sch.blockize(i1) + sch.annotate(bb, ann_key="permuted_layout", ann_val=can_swizzle_b) + sch.tensorize(bb, intrin_group["load_b"]) + + def tensorize_init_store_compute(): + sch.tensorize(sch.get_loops(block_init_c_inner)[-2], intrin_group["init"]) + sch.tensorize(sch.get_loops(store)[-2], intrin_group["store"]) + sch.tensorize(sch.get_loops(block_inner)[-3], intrin_group["compute"]) + + tensorize_init_store_compute() + + if stage > 1: + sch.annotate( + k0, + ann_key="software_pipeline_stage", + ann_val=[0, 0, stage - 1], + ) + sch.annotate(k0, ann_key="software_pipeline_order", ann_val=[0, 1, 2]) + if use_async: + sch.annotate(k0, "software_pipeline_async_stages", [0]) + # plan rasteration + if not isinstance(config.rasterization_plan, NoRasterization): + device_func, invoke_func = config.rasterization_plan.get_code() + import_source.append(device_func) + sch.annotate( + sch.get_loops(block_init_c)[-2], + ann_key="inject_customized_code_prepend", + ann_val=invoke_func, + ) + # plan import source + if len(import_source) > 0: + sch.annotate( + thread_idz, + ann_key="pragma_import_c", + ann_val=("\n").join(import_source), + ) + return sch + def sch_dequantize_in_register_with_config( self, func: tir.PrimFunc, @@ -82,9 +591,10 @@ def sch_dequantize_in_register_with_config( compute """ from tvm.tir.tensor_intrin.cuda import ( # pylint: disable=import-outside-toplevel - get_mma_intrin_group, - ) - from .intrin.lop3 import get_lop3_intrin_group + get_mma_intrin_group,) + from .intrin import get_lop3_intrin_group + + import_source: List[str] = [] sch = tir.Schedule(func) root_block = analysis.get_root_block(sch) @@ -117,26 +627,18 @@ def check_dequantize_info(dequantize_info): def check_weight_decode_info(weight_decode_info): conditions = [] - # check source format in ["int", "fp", "af"] + # check source format in ["int", "fp", "nf"] conditions.append("source_format" in weight_decode_info) conditions.append( - weight_decode_info["source_format"]["format"] - in ["uint", "int", "fp", "af"] - ) + weight_decode_info["source_format"]["format"] in ["uint", "int", "fp", "nf"]) # check source bits in [1, 2, 4, 8] - conditions.append( - weight_decode_info["source_format"]["bits"] in [1, 2, 4, 8] - ) + conditions.append(weight_decode_info["source_format"]["bits"] in [1, 2, 4, 8]) # check target format in ["float16", "int8"] conditions.append("target_format" in weight_decode_info) - conditions.append( - weight_decode_info["target_format"] in ["float16", "int8"] - ) + conditions.append(weight_decode_info["target_format"] in ["float16", "int8"]) return all(conditions) - assert check_weight_decode_info( - weight_decode_info - ), "Invalid Weight Decode Info" + assert check_weight_decode_info(weight_decode_info), "Invalid Weight Decode Info" # Start Schedule # Step 0. Get schedule config. @@ -146,7 +648,6 @@ def check_weight_decode_info(weight_decode_info): intrin_info = config.intrin_info shared_scope = config.shared_scope - intrin_info = config.intrin_info intrin_group = get_mma_intrin_group( load_scope=shared_scope, store_scope=shared_scope if cache_write_required else "global", @@ -170,8 +671,8 @@ def check_weight_decode_info(weight_decode_info): micro_size_x, micro_size_y, micro_size_k = intrin_group["micro_kernel"] # get the axis for layout transform - def get_axis(l, r, trans): - return (r, l) if trans else (l, r) + def get_axis(l, r, trans): # noqa: E741 + return (r, l) if trans else (l, r) # noqa: E741 a_lr = get_axis(micro_size_x, micro_size_k, intrin_info.trans_a) b_lr = get_axis(micro_size_k, micro_size_y, intrin_info.trans_b) @@ -183,23 +684,17 @@ def can_enable_swizzle(dtype: str, smooth: bool): return not smooth return False - can_swizzle_a = can_enable_swizzle(intrin_info.in_dtype, intrin_info.smooth_a) - can_swizzle_b = can_enable_swizzle(intrin_info.in_dtype, intrin_info.smooth_b) + can_swizzle_a = can_enable_swizzle(intrin_info.in_dtype, intrin_info.inter_transform_a) + can_swizzle_b = can_enable_swizzle(intrin_info.in_dtype, intrin_info.inter_transform_b) # rewrite global smooth layout, for dequantize, currently only support weight only recover. - def smooth_gmem_layout_rewrite( - sch, main_block, enable=True, trans=False, matrix_name="A" - ): + def smooth_gmem_layout_rewrite(sch, main_block, enable=True, trans=False, matrix_name="A"): if not enable: return # normalized block may have three read buffers, while the first one is the write buffer. - buffer_offset = ( - 1 - if sch.get(main_block).reads[0].buffer - == sch.get(main_block).writes[0].buffer - else 0 - ) + buffer_offset = (1 if sch.get(main_block).reads[0].buffer + == sch.get(main_block).writes[0].buffer else 0) buffer_idx = 0 if matrix_name == "A" else 1 source_buffer = sch.get(main_block).reads[buffer_offset + buffer_idx].buffer @@ -208,43 +703,36 @@ def smooth_gmem_layout_rewrite( # otherwise, the layout transform will have no effect as it will transform both # read and write buffer propagate_block: tir.Block = find_last_producer_from_buffer( - sch, main_block, source_buffer - ) + sch, main_block, source_buffer) # some trick impl may not have reindex block (weight_dequantize_info,) = dequantize_info.values() - if ( - sch.get(propagate_block).name_hint - == weight_dequantize_info["decode_block"] - ): + if (sch.get(propagate_block).name_hint == weight_dequantize_info["decode_block"]): return # step2: transform the layout with inverse permutation - _, inverse_indexmap = get_propagate_map( - trans=trans, dtype=intrin_info.in_dtype, matrix_name=matrix_name - ) + intra_indexmap, _ = get_propagate_map( + trans=trans, dtype=intrin_info.in_dtype, matrix_name=matrix_name) # step3: propagate the matmul layout to the first reindex block - inverse_indexmap = layout_propagate_chain( + intra_indexmap = layout_propagate_chain( sch, start_block=main_block, start_buffer=source_buffer, end_block=propagate_block, - index_map=inverse_indexmap, + index_map=intra_indexmap, ) def inverse_permutation(i, j, ii, jj): - return (i, j, *inverse_indexmap.map_indices([ii, jj])) + return (i, j, *intra_indexmap.map_indices([ii, jj])) sch.transform_layout(propagate_block, ("read", 0), inverse_permutation) smooth_gmem_layout_rewrite( - sch, main_block, intrin_info.smooth_a, intrin_info.trans_a, matrix_name="A" - ) + sch, main_block, intrin_info.smooth_a, intrin_info.trans_a, matrix_name="A") smooth_gmem_layout_rewrite( - sch, main_block, intrin_info.smooth_b, intrin_info.trans_b, matrix_name="B" - ) + sch, main_block, intrin_info.smooth_b, intrin_info.trans_b, matrix_name="B") warp_size = 32 @@ -261,10 +749,7 @@ def inverse_permutation(i, j, ii, jj): k_pad_factor = k_factors[1] # Step 1. Normalize generic matmul to C[S, I, J] += A[S, I, K] * B[S, J, K]/B[S, K, J] - if not ( - func.attrs is not None - and "dlight.tensorcore_prenormlized" in func.attrs.keys() - ): + if not (func.attrs is not None and "dlight.tensorcore_prenormlized" in func.attrs.keys()): sch = normalize_to_matmul(sch, main_block, ["a", "a", "a"]) # Step 2. Padding for dynamic shape kernels @@ -304,30 +789,13 @@ def inverse_permutation(i, j, ii, jj): thread_idy = i2 thread_idz = j2 - # plan rasteration - if ( - not isinstance(config.rasterization_plan, NoRasterization) - and sch.get(batch).extent.value == 1 - ): - device_func, invoke_func = config.rasterization_plan.get_code() - factor = config.rasterization_plan.panel_width_ - - # TODO(lei): this is a trick for rasterization implementation - # is not optimal. - # require a solution for general block rasterization - # factor = 8 # should be divisible by block_idy - # if sch.get(block_idx).extent.value % factor == 0: - # block_k, block_idx = sch.split(block_idx, factors=[None, factor]) - # sch.bind(block_k, "blockIdx.z") - else: - sch.bind(batch, "blockIdx.z") - + sch.bind(batch, "blockIdx.z") sch.bind(block_idx, "blockIdx.x") sch.bind(block_idy, "blockIdx.y") sch.bind(thread_idy, "threadIdx.y") sch.bind(thread_idz, "threadIdx.z") - def smooth_layout_recover(block, scope, l=16, r=16, enable=True): + def smooth_layout_recover(block, scope, l=16, r=16, enable=True): # noqa: E741 if not enable: return sch.transform_layout( @@ -342,14 +810,12 @@ def smooth_layout_recover(block, scope, l=16, r=16, enable=True): ), ) - smooth_layout_recover( - block_outer, ("read", 0), *a_lr, enable=intrin_info.smooth_a - ) + smooth_layout_recover(block_outer, ("read", 0), *a_lr, enable=intrin_info.inter_transform_a) smooth_layout_recover( block_outer, ("read", 1), *b_lr, - enable=intrin_info.smooth_b, + enable=intrin_info.inter_transform_b, ) smooth_layout_recover(block_outer, ("write", 0), enable=True) @@ -360,8 +826,7 @@ def fetch_to_shared(block, idx, vec_len, can_swizzle=False, is_smooth=False): fused = sch.fuse(*sch.get_loops(block_read)[-ndim:]) f_0, f_1, f_2, f_3, f_4 = sch.split( - fused, factors=[None, num_ty, num_tz, warp_size, vec_len] - ) + fused, factors=[None, num_ty, num_tz, warp_size, vec_len]) sch.bind(f_3, "threadIdx.x") sch.bind(f_2, "threadIdx.z") @@ -395,39 +860,51 @@ def decode_fetch_to_shared(block, idx): decode_factor = get_coalesced_veclen(sch.get(block_shared)) _, B_shared_vi, _ = sch.split( - sch.get_loops(block_shared)[-1], factors=[None, 1, decode_factor] - ) + sch.get_loops(block_shared)[-1], factors=[None, 1, decode_factor]) block_shared_local = sch.cache_read(block_shared, 0, "local") # global -> dequantzed_local -> shared # step2. inline to local block - auto_inline_producers(sch, block_shared_local) + weight_dequantize_block = sch.get_block(weight_decode_info["decode_block"]) + weight_producers = _collect_producers(sch, weight_dequantize_block) + auto_inline_producers(sch, block_shared_local, weight_producers) # get target dequantize buffer's idx def get_idx(): # for LUT dequantize, the expr is LUT(w), the idx is 1 - # maybe we can use a more general and structual based way + # maybe we can use a more general and structural based way # to analysis the idx - if weight_decode_info["source_format"]["format"] == "af": + if weight_decode_info["source_format"]["format"] == "nf": return 1 return 0 b_idx = get_idx() # global -> prefetch_local -> dequantzed_local -> shared - block_shared_local_local = sch.cache_read( - block_shared_local, b_idx, "local" - ) + block_shared_local_local = sch.cache_read(block_shared_local, b_idx, "local") sch.compute_at(block_shared_local, B_shared_vi, preserve_unit_loops=True) - sch.compute_at( - block_shared_local_local, B_shared_vi, preserve_unit_loops=True - ) + sch.compute_at(block_shared_local_local, B_shared_vi, preserve_unit_loops=True) dequantize_block_local = block_shared_local + if ("zeros_mode" in weight_decode_info and + weight_decode_info["zeros_mode"] == "quantized"): + if ("with_scaling" in weight_decode_info and weight_decode_info["with_scaling"]): + block_local_scales = sch.cache_read(dequantize_block_local, b_idx + 1, "local") + sch.compute_at(block_local_scales, B_shared_vi, preserve_unit_loops=True) + # pop the scale block + auto_inline_producers(sch, block_local_scales) + + if ("with_zeros" in weight_decode_info and weight_decode_info["with_zeros"]): + block_local_zeros = sch.cache_read(dequantize_block_local, b_idx + 2, "local") + sch.compute_at(block_local_zeros, B_shared_vi, preserve_unit_loops=True) + auto_inline_producers(sch, block_local_zeros) + + for producer in weight_producers: + with suppress(Exception): + auto_inline_producers(sch, producer) + sch.compute_inline(producer) + # fast type conversion - if ( - "fast_decoding" in weight_decode_info - and weight_decode_info["fast_decoding"] - ): + if ("fast_decoding" in weight_decode_info and weight_decode_info["fast_decoding"]): source_bit = weight_decode_info["source_format"]["bits"] out_dtype = weight_decode_info["target_format"] lop3_intrin_info = get_lop3_intrin_group( @@ -437,28 +914,22 @@ def get_idx(): source_bit=source_bit, with_scaling=weight_decode_info["with_scaling"], with_zeros=weight_decode_info["with_zeros"], + zeros_mode=weight_decode_info["zeros_mode"], ) sch.tensorize( sch.get_loops(dequantize_block_local)[-1], lop3_intrin_info["compute"], ) - sch.annotate( - thread_idz, - ann_key="pragma_import_c", - ann_val=lop3_intrin_info["c_source"], - ) + import_source.append(lop3_intrin_info["c_source"]) sch.annotate(block_shared, ann_key="permuted_layout", ann_val=can_swizzle_b) union_len = (2 + 4) if intrin_info.smooth_b else (2 + 2) B_shared_fused = sch.fuse(*sch.get_loops(block_shared)[-union_len:-2]) _, B_shared_ty, B_shared_tz, B_shared_tx = sch.split( - B_shared_fused, factors=[None, num_ty, num_tz, warp_size] - ) + B_shared_fused, factors=[None, num_ty, num_tz, warp_size]) if not (can_swizzle_b or intrin_info.smooth_b): pad_offset = 8 if intrin_info.in_dtype == "float16" else 16 - sch.storage_align( - block_shared, 0, axis=-2, factor=16, offset=pad_offset - ) + sch.storage_align(block_shared, 0, axis=-2, factor=16, offset=pad_offset) sch.bind(B_shared_tx, "threadIdx.x") sch.bind(B_shared_ty, "threadIdx.y") sch.bind(B_shared_tz, "threadIdx.z") @@ -467,13 +938,10 @@ def get_idx(): # cache small tensors, e.g. LUT if b_idx: - block_shared_lut = sch.cache_read( - dequantize_block_local, 0, shared_scope - ) + block_shared_lut = sch.cache_read(dequantize_block_local, 0, shared_scope) sch.reverse_compute_at(block_shared_lut, j2) _, B_shared_tx = sch.split( - sch.get_loops(block_shared_lut)[-1], factors=[None, warp_size] - ) + sch.get_loops(block_shared_lut)[-1], factors=[None, warp_size]) sch.bind(B_shared_tx, "threadIdx.x") return block_shared_local @@ -523,10 +991,14 @@ def get_idx(): index_map_a, index_map_b, index_map_c = intrin_group["index_map"] sch.transform_layout( - A_mat, ("write", 0), get_index_map(index_map_a, *a_lr, intrin_info.smooth_a) + A_mat, + ("write", 0), + get_index_map(index_map_a, *a_lr, intrin_info.inter_transform_a), ) sch.transform_layout( - B_mat, ("write", 0), get_index_map(index_map_b, *b_lr, intrin_info.smooth_b) + B_mat, + ("write", 0), + get_index_map(index_map_b, *b_lr, intrin_info.inter_transform_b), ) sch.transform_layout( store, @@ -566,7 +1038,22 @@ def tensorize_init_store_compute(): sch.annotate(k0, ann_key="software_pipeline_order", ann_val=[0, 1, 2]) if use_async: sch.annotate(k0, "software_pipeline_async_stages", [0]) - + # plan rasteration + if not isinstance(config.rasterization_plan, NoRasterization): + device_func, invoke_func = config.rasterization_plan.get_code() + import_source.append(device_func) + sch.annotate( + sch.get_loops(block_init_c)[-2], + ann_key="inject_customized_code_prepend", + ann_val=invoke_func, + ) + # plan import source + if len(import_source) > 0: + sch.annotate( + thread_idz, + ann_key="pragma_import_c", + ann_val=("\n").join(import_source), + ) return sch def sch_shared_memory_prefetch_with_config( @@ -589,9 +1076,10 @@ def sch_shared_memory_prefetch_with_config( compute """ from tvm.tir.tensor_intrin.cuda import ( # pylint: disable=import-outside-toplevel - get_mma_intrin_group, - ) - from .intrin.lop3 import get_lop3_intrin_group + get_mma_intrin_group,) + from .intrin import get_lop3_intrin_group + + import_source: List[str] = [] sch = tir.Schedule(func) root_block = analysis.get_root_block(sch) @@ -609,7 +1097,7 @@ def sch_shared_memory_prefetch_with_config( cache_write_required = True # Check Dequantize Info - # TODO(leiwang): this is a hack to get the configuaration, can be improved by writing a pass to analysis the dequantize block. + # TODO(leiwang): this is a hack to get the configuration, can be improved by writing a pass to analysis the dequantize block. dequantize_info = func.attrs["dequantize_info"] def check_dequantize_info(dequantize_info): @@ -625,21 +1113,15 @@ def check_dequantize_info(dequantize_info): def check_weight_decode_info(weight_decode_info): conditions = [] - # check source format in ["int", "fp", "af"] + # check source format in ["int", "fp", "nf"] conditions.append("source_format" in weight_decode_info) conditions.append( - weight_decode_info["source_format"]["format"] - in ["uint", "int", "fp", "af"] - ) + weight_decode_info["source_format"]["format"] in ["uint", "int", "fp", "nf"]) # check source bits in [1, 2, 4, 8] - conditions.append( - weight_decode_info["source_format"]["bits"] in [1, 2, 4, 8] - ) + conditions.append(weight_decode_info["source_format"]["bits"] in [1, 2, 4, 8]) # check target format in ["float16", "int8"] conditions.append("target_format" in weight_decode_info) - conditions.append( - weight_decode_info["target_format"] in ["float16", "int8"] - ) + conditions.append(weight_decode_info["target_format"] in ["float16", "int8"]) return all(conditions) assert check_weight_decode_info(weight_decode_info), "Invalid B_decode_info" @@ -649,7 +1131,6 @@ def check_weight_decode_info(weight_decode_info): # NOTE: we can analyze the config by the hardware spec in the future # tensor core intrinsic size - intrin_info = config.intrin_info shared_scope = config.shared_scope intrin_info = config.intrin_info @@ -676,8 +1157,8 @@ def check_weight_decode_info(weight_decode_info): micro_size_x, micro_size_y, micro_size_k = intrin_group["micro_kernel"] # get the axis for layout transform - def get_axis(l, r, trans): - return (r, l) if trans else (l, r) + def get_axis(l, r, trans): # noqa: E741 + return (r, l) if trans else (l, r) # noqa: E741 a_lr = get_axis(micro_size_x, micro_size_k, intrin_info.trans_a) b_lr = get_axis(micro_size_k, micro_size_y, intrin_info.trans_b) @@ -689,23 +1170,24 @@ def can_enable_swizzle(dtype: str, smooth: bool): return not smooth return False - can_swizzle_a = can_enable_swizzle(intrin_info.in_dtype, intrin_info.smooth_a) - can_swizzle_b = can_enable_swizzle(intrin_info.in_dtype, intrin_info.smooth_b) + can_swizzle_a = can_enable_swizzle(intrin_info.in_dtype, intrin_info.inter_transform_a) + can_swizzle_b = can_enable_swizzle(intrin_info.in_dtype, intrin_info.inter_transform_b) # rewrite global smooth layout, for dequantize, currently only support weight only recover. def smooth_gmem_layout_rewrite( - sch, main_block, enable=True, trans=False, matrix_name="A" + sch, + main_block, + enable=True, + trans=False, + matrix_name="A", + intrin_group=intrin_group, ): if not enable: return # normalized block may have three read buffers, while the first one is the write buffer. - buffer_offset = ( - 1 - if sch.get(main_block).reads[0].buffer - == sch.get(main_block).writes[0].buffer - else 0 - ) + buffer_offset = (1 if sch.get(main_block).reads[0].buffer + == sch.get(main_block).writes[0].buffer else 0) buffer_idx = 0 if matrix_name == "A" else 1 source_buffer = sch.get(main_block).reads[buffer_offset + buffer_idx].buffer @@ -714,19 +1196,14 @@ def smooth_gmem_layout_rewrite( # otherwise, the layout transform will have no effect as it will transform both # read and write buffer propagate_block: tir.Block = find_last_producer_from_buffer( - sch, main_block, source_buffer - ) + sch, main_block, source_buffer) # some trick impl may not have reindex block (weight_dequantize_info,) = dequantize_info.values() - if ( - sch.get(propagate_block).name_hint - == weight_dequantize_info["decode_block"] - ): + if (sch.get(propagate_block).name_hint == weight_dequantize_info["decode_block"]): return # step2: transform the layout with inverse permutation intra_indexmap, _ = get_propagate_map( - trans=trans, dtype=intrin_info.in_dtype, matrix_name=matrix_name - ) + trans=trans, dtype=intrin_info.in_dtype, matrix_name=matrix_name) # step3: propagate the matmul layout to the first reindex block @@ -743,13 +1220,61 @@ def inverse_permutation(i, j, ii, jj): sch.transform_layout(propagate_block, ("read", 0), inverse_permutation) + intra_index_map, _ = get_propagate_map( + trans=trans, dtype=intrin_info.in_dtype, matrix_name=matrix_name) + + # get target dequantize buffer's offset + def get_offset(): + # for LUT dequantize, the expr is LUT(w), the idx is 1 + # maybe we can use a more general and structural based way + # to analysis the idx + if weight_dequantize_info["source_format"]["format"] == "nf": + return 1 + return 0 + + offset = get_offset() + dequantize_block = sch.get_block(weight_dequantize_info["decode_block"]) + group_size = weight_dequantize_info["group_size"] + + _, mn, mk = intrin_group["micro_kernel"] + + def get_param_indices( + indexmap, + l=mn, + r=mk, + group_size=group_size # noqa: E741 + ): # noqa: E741 + # assume the param layout is n, k + rl, rr = [x.var for x in sch.get(dequantize_block).iter_vars] + warp_i, warp_j = rl % l, rr % r + spatial_i, spatial_j = rl // l, rr // r + warp_i, warp_j = indexmap.map_indices([warp_i, warp_j]) + new_indices = ( + spatial_i * l + warp_i, + (spatial_j * r + warp_j) // group_size, + ) + return new_indices + + with_scaling = bool(weight_dequantize_info["with_scaling"]) + if with_scaling: + sch.unsafe_rewrite_buffer_region( + dequantize_block, + ("read", offset + 1), + get_param_indices(intra_index_map), + ) + with_zeros = bool(weight_dequantize_info["with_zeros"]) + if with_zeros: + sch.unsafe_rewrite_buffer_region( + dequantize_block, + ("read", offset + 2), + get_param_indices(intra_index_map), + ) + smooth_gmem_layout_rewrite( - sch, main_block, intrin_info.smooth_a, intrin_info.trans_a, matrix_name="A" - ) + sch, main_block, intrin_info.smooth_a, intrin_info.trans_a, matrix_name="A") smooth_gmem_layout_rewrite( - sch, main_block, intrin_info.smooth_b, intrin_info.trans_b, matrix_name="B" - ) + sch, main_block, intrin_info.smooth_b, intrin_info.trans_b, matrix_name="B") warp_size = 32 @@ -766,10 +1291,7 @@ def inverse_permutation(i, j, ii, jj): k_pad_factor = k_factors[1] # Step 1. Normalize generic matmul to C[S, I, J] += A[S, I, K] * B[S, J, K]/B[S, K, J] - if not ( - func.attrs is not None - and "dlight.tensorcore_prenormlized" in func.attrs.keys() - ): + if not (func.attrs is not None and "dlight.tensorcore_prenormlized" in func.attrs.keys()): sch = normalize_to_matmul(sch, main_block, ["a", "a", "a"]) # Step 2. Padding for dynamic shape kernels @@ -809,30 +1331,13 @@ def inverse_permutation(i, j, ii, jj): thread_idy = i2 thread_idz = j2 - # plan rasteration - if ( - not isinstance(config.rasterization_plan, NoRasterization) - and sch.get(batch).extent.value == 1 - ): - device_func, invoke_func = config.rasterization_plan.get_code() - factor = config.rasterization_plan.panel_width_ - - # TODO(lei): this is a trick for rasterization implementation - # is not optimal. - # require a solution for general block rasterization - # factor = 8 # should be divisible by block_idy - # if sch.get(block_idx).extent.value % factor == 0: - # block_k, block_idx = sch.split(block_idx, factors=[None, factor]) - # sch.bind(block_k, "blockIdx.z") - else: - sch.bind(batch, "blockIdx.z") - + sch.bind(batch, "blockIdx.z") sch.bind(block_idx, "blockIdx.x") sch.bind(block_idy, "blockIdx.y") sch.bind(thread_idy, "threadIdx.y") sch.bind(thread_idz, "threadIdx.z") - def smooth_layout_recover(block, scope, l=16, r=16, enable=True): + def smooth_layout_recover(block, scope, l=16, r=16, enable=True): # noqa: E741 if not enable: return sch.transform_layout( @@ -847,14 +1352,12 @@ def smooth_layout_recover(block, scope, l=16, r=16, enable=True): ), ) - smooth_layout_recover( - block_outer, ("read", 0), *a_lr, enable=intrin_info.smooth_a - ) + smooth_layout_recover(block_outer, ("read", 0), *a_lr, enable=intrin_info.inter_transform_a) smooth_layout_recover( block_outer, ("read", 1), *b_lr, - enable=intrin_info.smooth_b, + enable=intrin_info.inter_transform_b, ) smooth_layout_recover(block_outer, ("write", 0), enable=True) @@ -865,8 +1368,7 @@ def fetch_to_shared(block, idx, vec_len, can_swizzle=False, is_smooth=False): fused = sch.fuse(*sch.get_loops(block_read)[-ndim:]) f_0, f_1, f_2, f_3, f_4 = sch.split( - fused, factors=[None, num_ty, num_tz, warp_size, vec_len] - ) + fused, factors=[None, num_ty, num_tz, warp_size, vec_len]) sch.bind(f_3, "threadIdx.x") sch.bind(f_2, "threadIdx.z") @@ -898,45 +1400,57 @@ def decode_fetch_to_shared(block, idx): block_shared = sch.cache_read(block, idx, shared_scope) sch.compute_at(block_shared, k0, preserve_unit_loops=True) - # TODO(lei): the factor shoule be analyzed more deeper. + # TODO(lei): the factor should be analyzed more deeper. decode_factor = get_coalesced_veclen(sch.get(block_shared)) _, B_shared_vi, _ = sch.split( - sch.get_loops(block_shared)[-1], factors=[None, 1, decode_factor] - ) + sch.get_loops(block_shared)[-1], factors=[None, 1, decode_factor]) block_shared_local = sch.cache_read(block_shared, 0, "local") # global -> dequantzed_local -> shared - # step2. inline to local block - auto_inline_producers(sch, block_shared_local) + # step2. inline to local block, should skip qzeros + is_qzeros = ("with_zeros" in weight_decode_info and weight_decode_info["with_zeros"] and + weight_decode_info["zeros_mode"] == "quantized") + weight_dequantize_block = sch.get_block(weight_decode_info["decode_block"]) + weight_producers = ( + _collect_producers(sch, weight_dequantize_block) if is_qzeros else []) + auto_inline_producers(sch, block_shared_local, weight_producers) # get target dequantize buffer's idx def get_idx(): # for LUT dequantize, the expr is LUT(w), the idx is 1 - # maybe we can use a more general and structual based way + # maybe we can use a more general and structural based way # to analysis the idx - if weight_decode_info["source_format"]["format"] == "af": + if weight_decode_info["source_format"]["format"] == "nf": return 1 return 0 b_idx = get_idx() # global -> prefetch_local -> dequantzed_local -> shared - block_shared_local_local = sch.cache_read( - block_shared_local, b_idx, "local" - ) + block_shared_local_local = sch.cache_read(block_shared_local, b_idx, "local") # global -> prefetch_shared -> vector load -> dequantzed_local -> shared - block_shared_local_local_shared = sch.cache_read( - block_shared_local_local, 0, shared_scope - ) + block_shared_local_local_shared = sch.cache_read(block_shared_local_local, 0, + shared_scope) sch.compute_at(block_shared_local, B_shared_vi, preserve_unit_loops=True) - sch.compute_at( - block_shared_local_local, B_shared_vi, preserve_unit_loops=True - ) + sch.compute_at(block_shared_local_local, B_shared_vi, preserve_unit_loops=True) dequantize_block_local = block_shared_local + if is_qzeros: + if ("with_scaling" in weight_decode_info and weight_decode_info["with_scaling"]): + block_local_scales = sch.cache_read(dequantize_block_local, b_idx + 1, "local") + sch.compute_at(block_local_scales, B_shared_vi, preserve_unit_loops=True) + auto_inline_producers(sch, block_local_scales) + + if ("with_zeros" in weight_decode_info and weight_decode_info["with_zeros"]): + block_local_zeros = sch.cache_read(dequantize_block_local, b_idx + 2, "local") + sch.compute_at(block_local_zeros, B_shared_vi, preserve_unit_loops=True) + auto_inline_producers(sch, block_local_zeros) + + for producer in weight_producers: + with suppress(Exception): + auto_inline_producers(sch, producer) + sch.compute_inline(producer) + # fast type conversion - if ( - "fast_decoding" in weight_decode_info - and weight_decode_info["fast_decoding"] - ): + if ("fast_decoding" in weight_decode_info and weight_decode_info["fast_decoding"]): source_bit = weight_decode_info["source_format"]["bits"] out_dtype = weight_decode_info["target_format"] lop3_intrin_info = get_lop3_intrin_group( @@ -945,38 +1459,30 @@ def get_idx(): source_format=weight_decode_info["source_format"]["format"], source_bit=source_bit, with_scaling=weight_decode_info["with_scaling"], - with_zeros=weight_decode_info["with_zeros"] + with_zeros=weight_decode_info["with_zeros"], + zeros_mode=weight_decode_info["zeros_mode"], ) sch.tensorize( sch.get_loops(dequantize_block_local)[-1], lop3_intrin_info["compute"], ) - sch.annotate( - thread_idz, - ann_key="pragma_import_c", - ann_val=lop3_intrin_info["c_source"], - ) + import_source.append(lop3_intrin_info["c_source"]) sch.annotate(block_shared, ann_key="permuted_layout", ann_val=can_swizzle_b) union_len = (2 + 4) if intrin_info.smooth_b else (2 + 2) B_shared_fused = sch.fuse(*sch.get_loops(block_shared)[-union_len:-2]) _, B_shared_ty, B_shared_tz, B_shared_tx = sch.split( - B_shared_fused, factors=[None, num_ty, num_tz, warp_size] - ) + B_shared_fused, factors=[None, num_ty, num_tz, warp_size]) if not (can_swizzle_b or intrin_info.smooth_b): pad_offset = 8 if intrin_info.in_dtype == "float16" else 16 - sch.storage_align( - block_shared, 0, axis=-2, factor=16, offset=pad_offset - ) + sch.storage_align(block_shared, 0, axis=-2, factor=16, offset=pad_offset) sch.bind(B_shared_tx, "threadIdx.x") sch.bind(B_shared_ty, "threadIdx.y") sch.bind(B_shared_tz, "threadIdx.z") sch.vectorize(sch.get_loops(block_shared)[-1]) sch.vectorize(sch.get_loops(block_shared_local_local)[-1]) - sch.compute_at( - block_shared_local_local_shared, k0, preserve_unit_loops=True - ) + sch.compute_at(block_shared_local_local_shared, k0, preserve_unit_loops=True) ndim = len(sch.get(block_shared_local_local_shared).iter_vars) fused = sch.fuse(*sch.get_loops(block_shared_local_local_shared)[-ndim:]) @@ -1000,13 +1506,10 @@ def get_idx(): # cache small tensors, e.g. LUT if b_idx: - block_shared_lut = sch.cache_read( - dequantize_block_local, 0, shared_scope - ) + block_shared_lut = sch.cache_read(dequantize_block_local, 0, shared_scope) sch.reverse_compute_at(block_shared_lut, j2) _, B_shared_tx = sch.split( - sch.get_loops(block_shared_lut)[-1], factors=[None, warp_size] - ) + sch.get_loops(block_shared_lut)[-1], factors=[None, warp_size]) sch.bind(B_shared_tx, "threadIdx.x") return block_shared_local @@ -1056,10 +1559,14 @@ def get_idx(): index_map_a, index_map_b, index_map_c = intrin_group["index_map"] sch.transform_layout( - A_mat, ("write", 0), get_index_map(index_map_a, *a_lr, intrin_info.smooth_a) + A_mat, + ("write", 0), + get_index_map(index_map_a, *a_lr, intrin_info.inter_transform_a), ) sch.transform_layout( - B_mat, ("write", 0), get_index_map(index_map_b, *b_lr, intrin_info.smooth_b) + B_mat, + ("write", 0), + get_index_map(index_map_b, *b_lr, intrin_info.inter_transform_b), ) sch.transform_layout( store, @@ -1099,6 +1606,22 @@ def tensorize_init_store_compute(): sch.annotate(k0, ann_key="software_pipeline_order", ann_val=[0, 1, 2, 3]) if use_async: sch.annotate(k0, "software_pipeline_async_stages", [0]) + # plan rasteration + if not isinstance(config.rasterization_plan, NoRasterization): + device_func, invoke_func = config.rasterization_plan.get_code() + import_source.append(device_func) + sch.annotate( + sch.get_loops(block_init_c)[-2], + ann_key="inject_customized_code_prepend", + ann_val=invoke_func, + ) + # plan import source + if len(import_source) > 0: + sch.annotate( + thread_idz, + ann_key="pragma_import_c", + ann_val=("\n").join(import_source), + ) return sch def apply_config( # pylint: disable=too-many-locals,missing-docstring @@ -1106,6 +1629,7 @@ def apply_config( # pylint: disable=too-many-locals,missing-docstring func: tir.PrimFunc, config, ) -> Optional[tir.Schedule]: + def check_sm_version(arch: str) -> int: sm_version = arch.replace("sm_", "") return int(sm_version) if sm_version.isdigit() else -1 @@ -1114,10 +1638,8 @@ def check_sm_version(arch: str) -> int: """MMA Template only support sm_80 and above""" return None - if ( - config.arch.target.kind.name == "cuda" - and check_sm_version(config.arch.target.arch) == 80 - ): + if (config.arch.target.kind.name == "cuda" and + check_sm_version(config.arch.target.arch) == 80): return self.sch_shared_memory_prefetch_with_config(func, config) else: return self.sch_dequantize_in_register_with_config(func, config) diff --git a/python/bitblas/gpu/matmul_wmma.py b/python/bitblas/gpu/matmul_wmma.py index 765860f88..60817258f 100644 --- a/python/bitblas/gpu/matmul_wmma.py +++ b/python/bitblas/gpu/matmul_wmma.py @@ -3,19 +3,16 @@ # pylint: disable=missing-docstring, invalid-name """A GEMM schedule rule for GPU operators.""" -import math from typing import Literal, Optional from tvm import DataType, tir from tvm.target import Target -from tvm.tir.stmt import ForKind from ..base.roller.rasterization import NoRasterization from ..base import analysis from .base import GPUScheduleRule from .matmul_analysis import ( auto_inline_consumer_chain, - auto_inline_consumers, auto_inline_producers, get_index_map, get_reduction_blocks, @@ -69,10 +66,8 @@ def apply( # pylint: disable=too-many-locals,missing-docstring thread_z = 2 thread_y = 2 warp_size = 32 - thread_cnt = thread_y * thread_z * warp_size vector_size = 8 - unroll_depth = 256 # Step 1. Normalize generic matmul to C[S, I, J] += A[S, I, K] * B[S, J, K] block = sch.reindex(main_block, ("read", 0)) @@ -168,9 +163,8 @@ def fetch_input(block_outer, read_buffer_idx, tensor_name: Literal["A", "B"], wm sch.compute_at(block_read, k0) fused = sch.fuse(*sch.get_loops(block_read)[-2:]) - f0, f1, f2, f3, f4 = sch.split( - fused, [None, thread_z, thread_y, warp_size, vector_size] - ) + f0, f1, f2, f3, f4 = sch.split(fused, + [None, thread_z, thread_y, warp_size, vector_size]) sch.bind(f1, "threadIdx.z") sch.bind(f2, "threadIdx.y") @@ -189,12 +183,10 @@ def fetch_input(block_outer, read_buffer_idx, tensor_name: Literal["A", "B"], wm return wmma_read - wmma_read_a = fetch_input( - block_outer, 0, [block_m, block_k, micro_size_m, micro_size_k], "wmma.matrix_a" - ) - wmma_read_b = fetch_input( - block_outer, 1, [block_n, block_k, micro_size_n, micro_size_k], "wmma.matrix_b" - ) + wmma_read_a = fetch_input(block_outer, 0, [block_m, block_k, micro_size_m, micro_size_k], + "wmma.matrix_a") + wmma_read_b = fetch_input(block_outer, 1, [block_n, block_k, micro_size_n, micro_size_k], + "wmma.matrix_b") def store_output(block_outer, write_buffer_idx, wmma_name): block_write = sch.cache_write(block_outer, write_buffer_idx, "shared.dyn") @@ -202,9 +194,8 @@ def store_output(block_outer, write_buffer_idx, wmma_name): fused = sch.fuse(*sch.get_loops(block_write)[-2:]) - f0, f1, f2, f3, f4 = sch.split( - fused, [None, thread_z, thread_y, warp_size, vector_size] - ) + f0, f1, f2, f3, f4 = sch.split(fused, + [None, thread_z, thread_y, warp_size, vector_size]) sch.bind(f1, "threadIdx.z") sch.bind(f2, "threadIdx.y") @@ -233,8 +224,7 @@ def store_output(block_outer, write_buffer_idx, wmma_name): # Step 5. Schedule tensor core computation from tvm.tir.tensor_intrin.cuda import ( # pylint: disable=import-outside-toplevel - get_wmma_intrin_group, - ) + get_wmma_intrin_group,) intrin_group = get_wmma_intrin_group( load_scope="shared.dyn", @@ -266,8 +256,7 @@ def apply( # pylint: disable=too-many-locals,missing-docstring _: bool, ) -> Optional[tir.Schedule]: from tvm.tir.tensor_intrin.cuda import ( # pylint: disable=import-outside-toplevel - get_wmma_intrin_group, - ) + get_wmma_intrin_group,) sch = tir.Schedule(func) root_block = analysis.get_root_block(sch) @@ -433,7 +422,7 @@ def fetch_to_shared(block, idx, ndim): sch.unroll(i0) sch.unroll(j0) sch.tensorize(i1, intrin_group["load_b"]) - except: # pylint: disable=bare-except + except Exception: # pylint: disable=bare-except return None def tensorize_init_store_compute(): @@ -443,7 +432,7 @@ def tensorize_init_store_compute(): try: tensorize_init_store_compute() - except: # pylint: disable=bare-except + except Exception: # pylint: disable=bare-except return None auto_inline_consumer_chain(sch, accumulator_shared_to_global) @@ -469,8 +458,7 @@ def apply( # pylint: disable=too-many-locals,missing-docstring _: bool, ) -> Optional[tir.Schedule]: from tvm.tir.tensor_intrin.cuda import ( # pylint: disable=import-outside-toplevel - get_wmma_intrin_group, - ) + get_wmma_intrin_group,) sch = tir.Schedule(func) root_block = analysis.get_root_block(sch) @@ -636,7 +624,7 @@ def fetch_to_shared(block, idx, ndim): sch.unroll(i0) sch.unroll(j0) sch.tensorize(i1, intrin_group["load_b"]) - except: # pylint: disable=bare-except + except Exception: # pylint: disable=bare-except return None # Try to tensorize the init, store and compute block with f16 or f32 intrinsics @@ -650,7 +638,7 @@ def tensorize_init_store_compute(): try: tensorize_init_store_compute() tensorize_success = True - except: # pylint: disable=bare-except + except Exception: # pylint: disable=bare-except intrin_group = get_wmma_intrin_group( load_scope="shared.dyn", store_scope="shared.dyn", @@ -663,7 +651,7 @@ def tensorize_init_store_compute(): try: tensorize_init_store_compute() tensorize_success = True - except: # pylint: disable=bare-except + except Exception: # pylint: disable=bare-except return None auto_inline_consumer_chain(sch, accumulator_shared_to_global) @@ -680,8 +668,7 @@ def apply_config( # pylint: disable=too-many-locals,missing-docstring config, ) -> Optional[tir.Schedule]: from tvm.tir.tensor_intrin.cuda import ( # pylint: disable=import-outside-toplevel - get_wmma_intrin_group, - ) + get_wmma_intrin_group,) sch = tir.Schedule(func) root_block = analysis.get_root_block(sch) @@ -767,10 +754,8 @@ def apply_config( # pylint: disable=too-many-locals,missing-docstring block_idy = sch.fuse(i1, j1) thread_idy = sch.fuse(j2, i2) # plan rasteration - if ( - not isinstance(config.rasterization_plan, NoRasterization) - and sch.get(batch).extent.value == 1 - ): + if (not isinstance(config.rasterization_plan, NoRasterization) and + sch.get(batch).extent.value == 1): device_func, invoke_func = config.rasterization_plan.get_code() factor = config.rasterization_plan.panel_width_ @@ -873,7 +858,7 @@ def fetch_to_shared(block, idx, ndim, vec_len, dtype="float16"): sch.unroll(i0) sch.unroll(j0) sch.tensorize(i1, intrin_group["load_b"]) - except: # pylint: disable=bare-except + except Exception: # pylint: disable=bare-except return None # Try to tensorize the init, store and compute block with f16 or f32 intrinsics @@ -887,15 +872,14 @@ def tensorize_init_store_compute(): try: tensorize_init_store_compute() tensorize_success = True - except: # pylint: disable=bare-except + except Exception: # pylint: disable=bare-except return None auto_inline_consumer_chain(sch, accumulator_shared_to_global) fused = sch.fuse(*sch.get_loops(accumulator_shared_to_global)[-2:]) _, f1, f2 = sch.split( - fused, factors=[None, warp_size, max(list(config.vectorize.values()))] - ) + fused, factors=[None, warp_size, max(list(config.vectorize.values()))]) sch.bind(f1, "threadIdx.x") sch.vectorize(f2) @@ -906,4 +890,3 @@ def tensorize_init_store_compute(): sch.annotate(k0, "software_pipeline_async_stages", [0]) return sch if tensorize_success else None - diff --git a/python/bitblas/module/__init__.py b/python/bitblas/module/__init__.py new file mode 100644 index 000000000..e6e393e6c --- /dev/null +++ b/python/bitblas/module/__init__.py @@ -0,0 +1,300 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +import ctypes +import operator +from functools import reduce +from logging import getLogger + +import torch +import torch.nn as nn + +logger = getLogger(__name__) + +from typing import List, Union + +from bitblas.cache import global_operator_cache, get_database_path +from bitblas import Matmul, MatmulConfig +from bitblas.quantization.utils import general_compress +from bitblas import auto_detect_nvidia_target + +BITBLAS_TARGET = auto_detect_nvidia_target() +BITBLAS_DATABASE_PATH = get_database_path() + + +def unpack_qzeros(qzeros, bits): + qzeros = qzeros.view(torch.int32) + elems_per_int32 = 32 // bits + unpacked_zeros = torch.zeros( + (qzeros.shape[0], qzeros.shape[1] * elems_per_int32), + dtype=torch.int8, + device=qzeros.device, + requires_grad=False, + ) + + for col in range(unpacked_zeros.shape[1]): + i = col % elems_per_int32 + unpacked_zeros[:, col] = (qzeros[:, col // elems_per_int32] >> (bits * i)) & 0xF + + return unpacked_zeros + 1 + + +class Linear(nn.Module): + opt_M = [1, 16, 32, 64, 128, 256, 512] + STORAGE_DTYPE = "int8" # assume int8 storage + TORCH_STORAGE_DTYPE = getattr(torch, STORAGE_DTYPE) + BITBLAS_DTYPES = { + torch.float32: "float32", + torch.float16: "float16", + torch.half: "float16", + torch.int8: "int8", + } + + def __init__( + self, + in_features: int, + out_features: int, + bias: bool = False, + A_dtype: str = "float16", + W_dtype: str = "float16", + accum_dtype: str = "float16", + out_dtype: str = "float16", + # configs for weight only quantization + group_size: int = -1, + with_scaling: bool = None, + with_zeros: bool = False, + zeros_mode: str = None, + opt_M: Union[int, List[int]] = opt_M, + # performance related configs + enable_tuning: bool = True, + fast_decoding: bool = True, + propagate_b: bool = False, + ): + """ + @opt_M: optimize range of the input shape for dynamic symbolic + if the input shape is a range, we will optimize the matmul with dynamic symbolic. + if the input shape is int, we will optimize the matmul with static symbolic. + """ + super().__init__() + + self.in_features = in_features + self.out_features = out_features + self.opt_M = opt_M + self.group_size = self._set_group_size(group_size, in_features) + self.torch_dtype = getattr(torch, A_dtype) + self.is_consitent = A_dtype == W_dtype + self.zeros_mode = zeros_mode + self._validate_parameters(self.group_size, in_features, out_features) + self._configure_bitblas_matmul( + A_dtype, + W_dtype, + accum_dtype, + out_dtype, + with_scaling, + with_zeros, + zeros_mode, + enable_tuning, + fast_decoding, + bias, + propagate_b, + ) + self._initialize_buffers(in_features, out_features, bias) + + def init_params(self): + # eliminate runtime overhead like exllama state + if self.is_consitent: + param_list = [self.weight] + if self.bitblas_matmul.config.with_bias: + param_list.append(self.bias) + self.q_params = [ctypes.c_void_p(arr.data_ptr()) for arr in param_list] + else: + param_list = [self.qweight] + if self.bitblas_matmul.config.with_scaling: + param_list.append(self.scales) + if self.bitblas_matmul.config.with_zeros: + param_list.append(self.zeros) + if self.bitblas_matmul.config.with_bias: + param_list.append(self.bias) + self.q_params = [ctypes.c_void_p(arr.data_ptr()) for arr in param_list] + + def _validate_parameters(self, group_size, in_features, out_features): + if in_features % 16 != 0 or out_features % 16 != 0: + raise ValueError("`in_features` and `out_features` must be divisible by 16.") + if in_features % group_size != 0: + raise ValueError("`in_features` must be divisible by `group_size`.") + + def _set_group_size(self, group_size, in_features): + return in_features if (group_size == -1 or group_size is None) else group_size + + def _initialize_buffers(self, in_features, out_features, bias): + if self.consistent: + self.register_buffer( + "weight", + torch.zeros((out_features, in_features // self.group_size), dtype=self.torch_dtype), + ) + else: + self.register_buffer( + "qweight", + torch.zeros( + self.bitblas_matmul.retrieve_weight_shape(), + dtype=self.TORCH_STORAGE_DTYPE, + ), + ) + self.register_buffer( + "scales", + torch.zeros((out_features, in_features // self.group_size), dtype=self.torch_dtype), + ) + if self.zeros_mode == "quantized": + storage_nbit = int("".join(c for c in self.STORAGE_DTYPE if c.isdigit())) + self.register_buffer( + "zeros", + torch.zeros( + ( + in_features // self.group_size, + out_features // storage_nbit * self.bits, + ), + dtype=self.TORCH_STORAGE_DTYPE, + ), + ) + else: + self.register_buffer( + "zeros", + torch.zeros( + (out_features, in_features // self.group_size), + dtype=self.torch_dtype, + ), + ) + if bias: + self.register_buffer("bias", torch.zeros((out_features), dtype=self.torch_dtype)) + else: + self.bias = None + + def _configure_bitblas_matmul( + self, + A_dtype, + W_dtype, + accum_dtype, + out_dtype, + with_scaling, + with_zeros, + zeros_mode, + enable_tuning, + fast_decoding, + bias, + propagate_b, + ): + matmul_config = MatmulConfig( + M=self.opt_M, + N=self.out_features, + K=self.in_features, + A_dtype=A_dtype, + W_dtype=W_dtype, + accum_dtype=accum_dtype, + out_dtype=out_dtype, + storage_dtype=self.STORAGE_DTYPE, + with_scaling=with_scaling, + with_zeros=with_zeros, + group_size=self.group_size, + fast_decoding=fast_decoding, + with_bias=bias, + propagate_b=propagate_b, + zeros_mode=zeros_mode, + ) + self.bitblas_matmul = self._get_or_create_bitblas_operator(matmul_config, enable_tuning) + self.bits = self.bitblas_matmul.bit + self.source_format = self.bitblas_matmul.source_format + + def _get_or_create_bitblas_operator(self, config, enable_tuning): + if global_operator_cache.size() == 0: + global_operator_cache.load_from_database(BITBLAS_DATABASE_PATH, BITBLAS_TARGET) + logger.info(f"Loaded {global_operator_cache.size()} operators from database.") + + bitblas_matmul = global_operator_cache.get(config) + if bitblas_matmul is None: + # should disable tuning for the first time because we may require loading bitblas operator from database. + bitblas_matmul = Matmul(config, target=BITBLAS_TARGET, enable_tuning=False) + if enable_tuning: + bitblas_matmul.hardware_aware_finetune(topk=20) + global_operator_cache.add(config, bitblas_matmul) + global_operator_cache.save_into_database(BITBLAS_DATABASE_PATH, BITBLAS_TARGET) + print("BitBLAS Tuning done, appended operator to global_operator_cache.") + else: + print("BitBLAS Operator created.") + else: + print("BitBLAS Operator found in global_operator_cache.") + return bitblas_matmul + + def warmup(self, topk=20): + self.bitblas_matmul.hardware_aware_finetune(topk=topk) + + def forward(self, A, output=None): + if A.dtype != torch.float16: + A = A.half() + # can be lifted to post init. + self.init_params() + + if output is None: + output = torch.empty( + A.shape[:-1] + (self.out_features,), dtype=A.dtype, device=A.device) + m = ctypes.c_int32(reduce(operator.mul, A.shape[:-1], 1)) + A = self.bitblas_matmul.transform_input(A) + A_void = ctypes.c_void_p(A.data_ptr()) + # m is the product of the last n - 1 dimensions of A + self.bitblas_matmul.lib.call(A_void, *self.q_params, ctypes.c_void_p(output.data_ptr()), m) + + return output + + def load_and_transform_weight( + self, + weight: torch.Tensor, + scales: torch.Tensor = None, + zeros: torch.Tensor = None, + bias: torch.Tensor = None, + ): + if self.consistent: + assert scales is None, "scales should be None for consistent mode." + assert zeros is None, "zeros should be None for consistent mode." + weight = self.bitblas_matmul.transform_weight(weight) + self.weight = nn.Parameter(weight) + if bias is not None: + self.bias = bias + else: + weight = self.bitblas_matmul.transform_weight(weight) + self.qweight = weight + if scales is not None: + self.scales = scales + if zeros is not None: + self.zeros = zeros + if bias is not None: + self.bias = bias + + def repack_from_gptq(self, gptq_module): + # qweight in gptq old quant linear stored with (out_features, in_features), should be transposed. + qweight = gptq_module.qweight.T.contiguous().view(self.TORCH_STORAGE_DTYPE) + if self.bitblas_matmul.weight_transform is not None: + qweight = self.bitblas_matmul.weight_transform(qweight.cpu()).cuda() + self.qweight = qweight + # scales in gptq old quant linear stored with (in_features // group_size, out_features), should be transposed. + scales = gptq_module.scales.T.contiguous().view(self.torch_dtype) + self.scales = scales + # qzeros should be dequantized to int zeros. + intzeros = unpack_qzeros(gptq_module.qzeros, self.bits).T.contiguous() + if self.bitblas_matmul.config.zeros_mode == "original": + self.zeros = intzeros.to(torch.float16).contiguous() + elif self.bitblas_matmul.config.zeros_mode == "rescale": + self.zeros[:, :] = intzeros.to(torch.float16)[:, :] * self.scales[:, :] + elif self.bitblas_matmul.config.zeros_mode == "quantized": + self.zeros = ( + torch.Tensor(general_compress(intzeros.T.contiguous().cpu().numpy(), self.bits)).to( + self.qweight.device).to(self.zeros.dtype).contiguous()) + else: + raise ValueError(f"Unsupported zeros type: {self.bitblas_matmul.config.zeros_mode}") + if self.bias is not None: + self.bias = gptq_module.bias.data.to(torch.float16).contiguous() + + @property + def consistent(self): + return self.is_consitent + + +__all__ = ["Linear"] diff --git a/python/bitblas/ops/__init__.py b/python/bitblas/ops/__init__.py index 08fd3d5d8..cdacc5bad 100644 --- a/python/bitblas/ops/__init__.py +++ b/python/bitblas/ops/__init__.py @@ -1,6 +1,7 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. -from .operator import Operator -from .matmul import Matmul, MatmulConfig -from .ladder_permutate import LadderPermutate, LadderPermutateConfig -from .lop3_permutate import LOP3Permutate, LOP3PermutateConfig +from .operator import Operator # noqa: F401 +from .matmul import Matmul, MatmulConfig # noqa: F401 +from .matmul_dequantize import MatmulWeightOnlyDequantize, MatmulWeightOnlyDequantizeConfig # noqa: F401 +from .ladder_permutate import LadderPermutate, LadderPermutateConfig # noqa: F401 +from .lop3_permutate import LOP3Permutate, LOP3PermutateConfig # noqa: F401 diff --git a/python/bitblas/ops/general_matmul.py b/python/bitblas/ops/general_matmul.py new file mode 100644 index 000000000..fbdf8058e --- /dev/null +++ b/python/bitblas/ops/general_matmul.py @@ -0,0 +1,517 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +import tvm +from tvm.target import Target +import operator +from functools import reduce +from bitblas.base.roller.arch.cuda import CUDA +from typing import Any, List, Literal, Optional, Tuple, Union +from .operator import Operator, TransformKind +from .impl.matmul_dequantize_impl import ( + select_implementation as weight_dequantize_implementation,) +from .impl.matmul_impl import select_implementation as consistent_implementation +from ..base.utils import tensor_replace_dp4a +from bitblas.utils.target_detector import auto_detect_nvidia_target +from bitblas.utils.tensor_adapter import tvm_tensor_to_torch +from dataclasses import dataclass +from .ladder_permutate import LadderPermutate, LadderPermutateConfig +from .lop3_permutate import LOP3Permutate, LOP3PermutateConfig +import logging +import torch + +logger = logging.getLogger(__name__) + +WORKSPACE_SIZE = 1024 * 1024 * 256 + + +class OPExecutorCPU: + + def __init__(self, operators: Optional[List[Operator]] = None): + if operators is None: + operators = [] + self.operators = operators + + def append(self, op): + self.operators.append(op) + + def is_none(self): + return len(self.operators) == 0 + + def forward(self, weight): + inputs = [weight] + for op in self.operators: + inputs.append(tvm_tensor_to_torch(op.get_profile_tensors()[-1]).cpu()) + inputs = [op.forward(*inputs)] + return inputs[-1] + + def __call__(self, *args: Any, **kwds: Any) -> Any: + return self.forward(*args, **kwds) + + @property + def size(self): + return len(self.operators) + + +@dataclass(frozen=True) +class MatmulConfig: + M: Union[int, Tuple[int]] + N: int + K: int + A_dtype: str = "float16" + # is a wrapper for source_format and bit + W_dtype: str = A_dtype # W_dtype is the same as A_dtype by default + out_dtype: str = "float16" + accum_dtype: str = "float16" + layout: Literal["nn", "nt", "tn", "tt"] = "nt" + with_bias: bool = False + group_size: int = -1 + with_scaling: bool = False + with_zeros: bool = False + # documents for zeros_mode: + # original: target = (dequantize_weight - zero_point) * scale + # rescale: target = dequantize_weight * scale - zero_point + # quantized: target = (dequantize_weight - dequantize_zeros) * scale + # The auto-gptq framework prefer "quantized" and "original" for alignment with cuda. + zeros_mode: Literal["original", "rescale", "quantized"] = "original" + storage_dtype: str = "int8" + + # weight transform related flags + fast_decoding: bool = True # enable fast decoding by default + propagate_a: TransformKind = TransformKind.NonTransform + propagate_b: TransformKind = TransformKind.NonTransform + + def __post_init__(self): + # set M to default dynamic range if it is None + if self.M is None: + object.__setattr__(self, "M", [1, 16, 32, 64, 128, 256, 512, 1024]) + # set M to tuple if it is list + # otherwise, M is not hashable + object.__setattr__(self, "M", tuple(self.M) if isinstance(self.M, list) else self.M) + if isinstance(self.propagate_a, bool): + object.__setattr__( + self, + "propagate_a", + (TransformKind.IntraWarpTransform + if self.propagate_a else TransformKind.NonTransform), + ) + elif isinstance(self.propagate_a, int): + object.__setattr__(self, "propagate_a", TransformKind(self.propagate_a)) + + if isinstance(self.propagate_b, bool): + object.__setattr__( + self, + "propagate_b", + (TransformKind.IntraWarpTransform + if self.propagate_b else TransformKind.NonTransform), + ) + elif isinstance(self.propagate_b, int): + object.__setattr__(self, "propagate_b", TransformKind(self.propagate_b)) + + # This is hack to legalize propagate_a and b + # TODO(lei): should be removed in the future when tc+br template is ready. + MICRO_KERNEL_SIZE = 16 + if isinstance( + self.M, + int) and (self.M % MICRO_KERNEL_SIZE) == 0 and (self.K % MICRO_KERNEL_SIZE) == 0: + object.__setattr__(self, "propagate_a", TransformKind.IntraWarpTransform) + else: + object.__setattr__(self, "propagate_a", TransformKind.NonTransform) + + if self.M == 1 or (self.N % MICRO_KERNEL_SIZE) != 0 or ( + self.K % MICRO_KERNEL_SIZE) != 0 or isinstance(self.M, Tuple) or (self.with_zeros and self.zeros_mode == "quantized"): + object.__setattr__(self, "propagate_a", TransformKind.NonTransform) + object.__setattr__(self, "propagate_b", TransformKind.NonTransform) + else: + object.__setattr__(self, "propagate_b", TransformKind.IntraWarpTransform) + + if self.zeros_mode is None: + object.__setattr__(self, "zeros_mode", "original") + + if "int" not in self.W_dtype: + object.__setattr__(self, "fast_decoding", False) + else: + object.__setattr__(self, "fast_decoding", self.fast_decoding) + + if self.with_bias is None: + object.__setattr__(self, "with_bias", False) + + if self.group_size is None: + object.__setattr__(self, "group_size", -1) + + if self.with_scaling is None: + object.__setattr__(self, "with_scaling", False) + + if self.with_zeros is None: + object.__setattr__(self, "with_zeros", False) + + if self.A_dtype == self.W_dtype and self.W_dtype in ["float16", "int8"]: + object.__setattr__(self, "storage_dtype", self.W_dtype) + + +class Matmul(Operator): + + # TODO(lei): This should be improved into a general datatype. + BITBLAS_TRICK_DTYPE_MAP = { + "float64": ("fp", 64), + "float32": ("fp", 32), + "float16": ("fp", 16), + "int32": ("int", 32), + "uint32": ("uint", 32), + "int16": ("int", 16), + "uint16": ("uint", 16), + "int8": ("int", 8), + "uint8": ("uint", 8), + "int4": ("int", 4), + "uint4": ("uint", 4), + "int2": ("int", 2), + "uint2": ("uint", 2), + "int1": ("int", 1), + "uint1": ("uint", 1), + "nf4": ("nf", 4), + "fp8_e5m2": ("fp", 8), + "fp4_e2m1": ("fp", 4), + } + + def __init__( + self, + config: MatmulConfig, + name: str = "matmul", + target: Optional[Union[str, Target]] = None, + enable_tuning: bool = True, + ): + if target is None: + target = auto_detect_nvidia_target() + assert (config.A_dtype + in self.BITBLAS_TRICK_DTYPE_MAP), f"Unsupported input dtype {config.A_dtype}" + source_format, bit = self.BITBLAS_TRICK_DTYPE_MAP[config.W_dtype] + + self.source_format = source_format + self.bit = bit + super().__init__(name, config, target) + + if source_format == "int" and self.with_zeros: + logger.warning( + "[BitBLAS][Warning] with_zeros is not supported for int source format as int has a constant zeropoints already." + ) + + target = self.target + if target.kind.name != "cuda": + raise ValueError("Currently only support cuda target") + + self.arch = CUDA(target) + + try: + self.optimized_func = self.apply_default_schedule(self.prim_func_mod, target) + except Exception: + self.optimized_func = None + logger.warnning( + "[BitBLAS][Warning] Apply default schedule failed, should do hardware-aware optimization manually." + ) + + if isinstance(self.M, Tuple): + self.dynamic_range = {"m": self.M} + self.prim_func_mod["main"] = self.prim_func_mod["main"].with_attrs( + {"opt_shapes": self.dynamic_range}) + else: + self.dynamic_range = None + + self._build_runtime_module(target) + + self.workspace = None + if self.propagate_a: + # for general purpose, we use propagate_a to control the ladder permutation. + ladder_permutate_config = LadderPermutateConfig( + M=self.M, + N=self.K, + datatype=self.A_dtype, + storage_dtype=self.A_dtype, + propagate_kind="A", + transpose_matrix=False, + transform_kind=self.propagate_a, + ) + self.ladder_permutate_a = LadderPermutate( + config=ladder_permutate_config, + target=target, + enable_tuning=enable_tuning, + ) + self.workspace = torch.empty(WORKSPACE_SIZE, dtype=torch.float16).cuda() + else: + self.ladder_permutate_a = None + + if self.propagate_b: + ladder_permutate_config = LadderPermutateConfig( + M=self.N, + N=self.K, + datatype=self.A_dtype, + dequantize_bits=self.bit, + storage_dtype=self.storage_dtype, + propagate_kind="B", + transpose_matrix=self.layout == "nt", + transform_kind=self.propagate_b, + ) + self.ladder_permutate_b = LadderPermutate( + config=ladder_permutate_config, + target=tvm.target.Target("llvm"), + ) + else: + self.ladder_permutate_b = None + + if self.fast_decoding: + lop3_permutate_config = LOP3PermutateConfig( + M=self.N, + N=self.K, + datatype=self.A_dtype, + dequantize_bits=self.bit, + storage_dtype=self.storage_dtype, + ) + self.lop3_permutate = LOP3Permutate( + config=lop3_permutate_config, + target=tvm.target.Target("llvm"), + ) + else: + self.lop3_permutate = None + + input_executors = OPExecutorCPU() + if self.ladder_permutate_a is not None: + input_executors.append(self.ladder_permutate_a) + self.input_executors = input_executors + + weight_executors = OPExecutorCPU() + if self.lop3_permutate is not None: + weight_executors.append(self.lop3_permutate) + + if self.ladder_permutate_b is not None: + weight_executors.append(self.ladder_permutate_b) + + self.weight_executors = weight_executors + + if enable_tuning: + self.hardware_aware_finetune() + + if source_format == "nf": + self.lut = torch.Tensor(([ + -1.0, -0.6961928009986877, -0.5250730514526367, -0.39491748809814453, + -0.28444138169288635, -0.18477343022823334, -0.09105003625154495, 0.0, + 0.07958029955625534, 0.16093020141124725, 0.24611230194568634, 0.33791524171829224, + 0.44070982933044434, 0.5626170039176941, 0.7229568362236023, 1.0 + ]), + dtype=getattr(torch, self.A_dtype)).cuda() + else: + self.lut = None + + def _select_implementation(self): + if self.A_dtype == self.W_dtype: + return consistent_implementation( + M=self.M, + N=self.N, + K=self.K, + in_dtype=self.A_dtype, + out_dtype=self.out_dtype, + accum_dtype=self.accum_dtype, + with_bias=self.with_bias, + layout=self.layout, + propagate_a=self.propagate_a, + propagate_b=self.propagate_b, + ) + else: + return weight_dequantize_implementation( + M=self.M, + N=self.N, + K=self.K, + in_dtype=self.A_dtype, + out_dtype=self.out_dtype, + accum_dtype=self.accum_dtype, + bit=self.bit, + storage_dtype=self.storage_dtype, + source_format=self.source_format, + with_scaling=self.with_scaling, + with_zeros=self.with_zeros, + group_size=self.group_size, + fast_decoding=self.fast_decoding, + with_bias=self.with_bias, + layout=self.layout, + zeros_mode=self.zeros_mode, + propagate_a=self.propagate_a, + propagate_b=self.propagate_b, + ) + + def post_process(self, code: str) -> str: + code = tensor_replace_dp4a(code) + return code + + def retrieve_weight_shape(self): + return [int(i) for i in self.prim_func.buffer_map[self.prim_func.params[1]].shape] + + def transform_weight(self, weight, scale=None, zeros=None, bias=None): + """ + Transforms the given weight tensor based on the specified quantization parameters and + returns the transformed weight along with optional scale, zeros, and bias. + + Parameters: + - weight: The input weight tensor to be transformed. + - scale: Optional scaling factor for the weight tensor. + - zeros: Optional zero-point adjustment for the weight tensor. + - bias: Optional bias to be added to the weight tensor. + + Returns: + A list containing the transformed weight tensor and optionally the scale, zeros, and bias. + """ + if self.W_dtype == self.A_dtype: + if self.weight_transform is not None: + return self.weight_transform(weight.cpu()).cuda().contiguous() + return weight + + from bitblas.quantization import general_compress + import torch + import numpy as np + + source_format, bit = self.source_format, self.bit + + # Process integer source format + if source_format == "int": + assert not self.with_scaling, "scale should be False for int source format" + assert not self.with_zeros, "zeros should be False for int source format" + maxq = 2**(bit - 1) - 1 + # Clamp weight values to be within the quantizable range and adjust + weight = torch.clamp(weight, -maxq, maxq).int() + maxq + else: + # For non-integer formats, simply convert weights to integers + weight = weight.int() + + np_storage_dtype = getattr(np, self.storage_dtype) + + weight = general_compress( + weight.cpu().numpy(), source_bits=bit, storage_dtype=np_storage_dtype) + + weight = torch.from_numpy(weight).cuda().contiguous() + + # Apply an optional weight transformation if specified + if self.weight_transform is not None: + weight = self.weight_transform(weight.cpu()).cuda().contiguous() + + # Prepare the return list with the transformed weight and optionally include scale, zeros, and bias + result = [weight] + if scale is not None: + result.append(scale) + if zeros is not None: + result.append(zeros) + if bias is not None: + result.append(bias) + + return next(iter(result), result) + + def transform_input(self, input_tensor): + if self.propagate_a is not TransformKind.NonTransform: + # check workspace size + if input_tensor.numel() > WORKSPACE_SIZE: + raise ValueError( + f"Input size {input_tensor.numel()} is larger than the workspace size {WORKSPACE_SIZE}, please increase the workspace size." + ) + self.ladder_permutate_a._forward_from_prebuild_lib(input_tensor, self.workspace) + return self.workspace + return input_tensor + + def forward(self, A, W, scale=None, zeros=None, bias=None, output=None) -> Any: + args = [] + args.append(self.transform_input(A)) + if self.lut is not None: + args.append(self.lut) + args.append(W) + + if output is None: + output = torch.empty(A.shape[:-1] + (self.N,), dtype=A.dtype, device=A.device) + if scale is not None: + args.append(scale) + if zeros is not None: + args.append(zeros) + if bias is not None: + args.append(bias) + args.append(output) + + m = reduce(operator.mul, A.shape[:-1], 1) + args.append(m) + + if self.lib is None: + self._forward_from_torch_func(*args) + self._forward_from_prebuild_lib(*args) + + return output + + def __call__(self, *args: Any, **kwds: Any) -> Any: + return self.forward(*args, **kwds) + + @property + def M(self): + return self.config.M + + @property + def N(self): + return self.config.N + + @property + def K(self): + return self.config.K + + @property + def A_dtype(self): + return self.config.A_dtype + + @property + def W_dtype(self): + return self.config.W_dtype + + @property + def out_dtype(self): + return self.config.out_dtype + + @property + def accum_dtype(self): + return self.config.accum_dtype + + @property + def storage_dtype(self): + return self.config.storage_dtype + + @property + def with_scaling(self): + return self.config.with_scaling + + @property + def with_zeros(self): + return self.config.with_zeros + + @property + def group_size(self): + return self.config.group_size + + @property + def fast_decoding(self): + return self.config.fast_decoding + + @property + def with_bias(self): + return self.config.with_bias + + @property + def propagate_a(self): + return self.config.propagate_a + + @property + def propagate_b(self): + return self.config.propagate_b + + @property + def layout(self): + return self.config.layout + + @property + def zeros_mode(self): + return self.config.zeros_mode + + @property + def input_transform(self): + return self.input_executors if self.input_executors.size else None + + @property + def weight_transform(self): + return self.weight_executors if self.weight_executors.size else None diff --git a/python/bitblas/ops/impl/convolution2d_impl.py b/python/bitblas/ops/impl/convolution2d_impl.py new file mode 100644 index 000000000..d77d8f573 --- /dev/null +++ b/python/bitblas/ops/impl/convolution2d_impl.py @@ -0,0 +1,190 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# pre-transformed tir expression of matmul +import tvm +from tvm import te, tir + + +def conv2d_nhwc_ohwi( + n, + f, + h, + w, + c, + kh, + kw, + s, + d, + p, + in_dtype="float16", + accum_dtype="float16", + out_dtype="float16", +): + + A = te.placeholder((n, h, w, c), name="input", dtype=in_dtype) + B = te.placeholder((f, kh, kw, c), name="weight", dtype=in_dtype) + + pad_shape = (n, h + 2 * p, w + 2 * p, c) + pad_value = tir.const(0.0, A.dtype) + pad = te.compute( + pad_shape, + lambda n, h, w, c: te.if_then_else( + tir.all( + h >= p, + w >= p, + h < pad_shape[1] - p, + w < pad_shape[2] - p, + ), + A[n, h - p, w - p, c], + pad_value, + ), + name="pad", + ) + kernel_h, kernel_w = kh, kw + stride_h, stride_w = s, s + dilation_h, dilation_w = d, d + out_h = (h + 2 * p - (dilation_h * (kernel_h - 1) + 1)) // stride_h + 1 + out_w = (w + 2 * p - (dilation_w * (kernel_w - 1) + 1)) // stride_w + 1 + out_shape = (n, out_h, out_w, f) + kh = te.reduce_axis((0, kernel_h), name="kh") + kw = te.reduce_axis((0, kernel_w), name="kw") + c = te.reduce_axis((0, c), name="c") + C = te.compute( + out_shape, + lambda n, h, w, f: te.sum( + pad[n, h * stride_h + kh * tir.any(dilation_h), w * stride_w + kw * tir.any(dilation_w), + c,].astype(accum_dtype) * B[f, kh - 1 - tir.any(dilation_h), kw - 1 - tir.any( + dilation_w), c].astype(accum_dtype), + axis=[kh, kw, c], + ), + name="C", + ) + args = [A, B] + last_output = C + if accum_dtype != out_dtype: + D = te.compute(out_shape, lambda n, h, w, c: C[n, h, w, c].astype(out_dtype), name="D") + last_output = D + args.append(last_output) + func = te.create_prim_func(args) + + return tvm.IRModule.from_expr(func) + + +def conv2d_nhwc_hwio( + n, + f, + h, + w, + c, + kh, + kw, + s, + d, + p, + in_dtype="float16", + accum_dtype="float16", + out_dtype="float16", +): + + A = te.placeholder((n, h, w, c), name="input", dtype=in_dtype) + B = te.placeholder((kh, kw, c, f), name="weight", dtype=in_dtype) + + pad_shape = (n, h + 2 * p, w + 2 * p, c) + pad_value = tir.const(0.0, A.dtype) + pad = te.compute( + pad_shape, + lambda n, h, w, c: te.if_then_else( + tir.all( + h >= p, + w >= p, + h < pad_shape[1] - p, + w < pad_shape[2] - p, + ), + A[n, h - p, w - p, c], + pad_value, + ), + name="pad", + ) + kernel_h, kernel_w = kh, kw + stride_h, stride_w = s, s + dilation_h, dilation_w = d, d + out_h = (h + 2 * p - (dilation_h * (kernel_h - 1) + 1)) // stride_h + 1 + out_w = (w + 2 * p - (dilation_w * (kernel_w - 1) + 1)) // stride_w + 1 + out_shape = (n, out_h, out_w, f) + kh = te.reduce_axis((0, kernel_h), name="kh") + kw = te.reduce_axis((0, kernel_w), name="kw") + c = te.reduce_axis((0, c), name="c") + C = te.compute( + out_shape, + lambda n, h, w, f: te.sum( + pad[n, h * stride_h + kh * tir.any(dilation_h), w * stride_w + kw * tir.any(dilation_w), + c,].astype(accum_dtype) * B[kh - 1 - tir.any(dilation_h), kw - 1 - tir.any( + dilation_w), c, f].astype(accum_dtype), + axis=[kh, kw, c], + ), + name="C", + ) + args = [A, B] + last_output = C + if accum_dtype != out_dtype: + D = te.compute(out_shape, lambda n, h, w, c: C[n, h, w, c].astype(out_dtype), name="D") + last_output = D + args.append(last_output) + func = te.create_prim_func(args) + + return tvm.IRModule.from_expr(func) + + +def select_implementation( + n, + f, + h, + w, + c, + kh, + kw, + s, + d, + p, + in_dtype="float16", + accum_dtype="float16", + out_dtype="float16", + input_layout="nhwc", + weight_layout="ohwi", +): + assert input_layout in ["nhwc", "nchw"] + if input_layout == "nhwc" and weight_layout == "ohwi": + return conv2d_nhwc_ohwi( + n, + f, + h, + w, + c, + kh, + kw, + s, + d, + p, + in_dtype, + accum_dtype, + out_dtype, + ) + elif input_layout == "nhwc" and weight_layout == "hwio": + return conv2d_nhwc_hwio( + n, + f, + h, + w, + c, + kh, + kw, + s, + d, + p, + in_dtype, + accum_dtype, + out_dtype, + ) + else: + raise ValueError("Unsupported input_layout: {} and weight_layout: {}".format( + input_layout, weight_layout)) diff --git a/python/bitblas/ops/impl/ladder_permutate_impl.py b/python/bitblas/ops/impl/ladder_permutate_impl.py index ce7543243..5ac4a5334 100644 --- a/python/bitblas/ops/impl/ladder_permutate_impl.py +++ b/python/bitblas/ops/impl/ladder_permutate_impl.py @@ -22,27 +22,21 @@ def select_implementation( # This is trick to get the basic tile size for the current datatype # as for nvidia tensorcore instruction, the basic tile size is 16x16/16x32 for float16/int8 - l = r = 16 + l = r = 16 # noqa: E741 if datatype == "int8": - l, r = 16, 32 - + l, r = 16, 32 # noqa: E741 intra_index_map, _ = get_propagate_map( - transpose_matrix, dtype=datatype, matrix_name=propagate_kind - ) + transpose_matrix, dtype=datatype, matrix_name=propagate_kind) target_dtype = DataType(datatype) scaling_factor = 1 if dequantize_bits > 0 and dequantize_bits < target_dtype.bits: - scaling_factor = ( - (target_dtype.bits // dequantize_bits) - * DataType(storage_dtype).bits - // target_dtype.bits - ) + scaling_factor = ((target_dtype.bits // dequantize_bits) * DataType(storage_dtype).bits // + target_dtype.bits) r = r // scaling_factor initial_indices = intra_index_map.initial_indices - scaling_final_indices = intra_index_map.map_indices( - initial_indices[:-1] + [initial_indices[-1] * scaling_factor] - ) + scaling_final_indices = intra_index_map.map_indices(initial_indices[:-1] + + [initial_indices[-1] * scaling_factor]) scaling_final_indices = scaling_final_indices[:-1] + [ scaling_final_indices[-1] // scaling_factor ] diff --git a/python/bitblas/ops/impl/lop3_permutate_impl.py b/python/bitblas/ops/impl/lop3_permutate_impl.py index bf7b83709..893458409 100644 --- a/python/bitblas/ops/impl/lop3_permutate_impl.py +++ b/python/bitblas/ops/impl/lop3_permutate_impl.py @@ -5,6 +5,7 @@ from tvm.ir import GlobalVar from tvm.script import tir as T + # fmt: off # TIR interleave weight impl-> 2D implementation def tir_interleave_weight( @@ -23,24 +24,17 @@ def tir_interleave_weight( elems_per_group = bits_stride // bits @T.prim_func - def interleave_weight( - A: T.Buffer((N, QK), storage_dtype), B: T.Buffer((N, QK), storage_dtype) - ): + def interleave_weight(A: T.Buffer((N, QK), storage_dtype), B: T.Buffer((N, QK), storage_dtype)): for ax0, ax1, ax2, ax3 in T.grid(N, QK, num_groups, elems_per_group): with T.block("B"): v0, v1, v2, v3 = T.axis.remap("SSSS", [ax0, ax1, ax2, ax3]) offset = v2 * elems_per_group + v3 - shift = (offset % num_groups) * bits_stride + ( - offset // num_groups - ) * bits - B[v0, v1] = B[v0, v1] | ( - ((A[v0, v1] >> (bits * offset)) & mask) << shift - ) + shift = (offset % num_groups) * bits_stride + (offset // num_groups) * bits + B[v0, v1] = B[v0, v1] | (((A[v0, v1] >> (bits * offset)) & mask) << shift) @T.prim_func - def interleave_weight_f16_2b( - A: T.Buffer((N, QK), storage_dtype), B: T.Buffer((N, QK), storage_dtype) - ): + def interleave_weight_f16_2b(A: T.Buffer((N, QK), storage_dtype), B: T.Buffer((N, QK), + storage_dtype)): B_tmp_1 = T.alloc_buffer((N, QK), storage_dtype, scope="local") B_tmp_2 = T.alloc_buffer((N, QK), storage_dtype, scope="local") B_tmp_3 = T.alloc_buffer((N, QK), storage_dtype, scope="local") @@ -48,12 +42,8 @@ def interleave_weight_f16_2b( with T.block("B_tmp"): v0, v1, v2, v3 = T.axis.remap("SSSS", [ax0, ax1, ax2, ax3]) offset = v2 * elems_per_group + v3 - shift = (offset % num_groups) * bits_stride + ( - offset // num_groups - ) * bits - B[v0, v1] = B[v0, v1] | ( - ((A[v0, v1] >> (bits * offset)) & mask) << shift - ) + shift = (offset % num_groups) * bits_stride + (offset // num_groups) * bits + B[v0, v1] = B[v0, v1] | (((A[v0, v1] >> (bits * offset)) & mask) << shift) for ax0, ax1 in T.grid(N, QK): with T.block("B"): @@ -64,9 +54,8 @@ def interleave_weight_f16_2b( B[v0, v1] = B_tmp_1[v0, v1] | B_tmp_2[v0, v1] | B_tmp_3[v0, v1] @T.prim_func - def interleave_weight_f16_1b( - A: T.Buffer((N, QK), storage_dtype), B: T.Buffer((N, QK), storage_dtype) - ): + def interleave_weight_f16_1b(A: T.Buffer((N, QK), storage_dtype), B: T.Buffer((N, QK), + storage_dtype)): B_tmp_1 = T.alloc_buffer((N, QK), storage_dtype, scope="local") B_tmp_2 = T.alloc_buffer((N, QK), storage_dtype, scope="local") B_tmp_3 = T.alloc_buffer((N, QK), storage_dtype, scope="local") @@ -78,12 +67,8 @@ def interleave_weight_f16_1b( with T.block("B_tmp"): v0, v1, v2, v3 = T.axis.remap("SSSS", [ax0, ax1, ax2, ax3]) offset = v2 * elems_per_group + v3 - shift = (offset % num_groups) * bits_stride + ( - offset // num_groups - ) * bits - B[v0, v1] = B[v0, v1] | ( - ((A[v0, v1] >> (bits * offset)) & mask) << shift - ) + shift = (offset % num_groups) * bits_stride + (offset // num_groups) * bits + B[v0, v1] = B[v0, v1] | (((A[v0, v1] >> (bits * offset)) & mask) << shift) for ax0, ax1 in T.grid(N, QK): with T.block("B"): @@ -102,13 +87,11 @@ def interleave_weight_f16_1b( | B_tmp_4[v0, v1] | B_tmp_5[v0, v1] | B_tmp_6[v0, v1] - | B_tmp_7[v0, v1] - ) + | B_tmp_7[v0, v1]) @T.prim_func - def interleave_weight_int8_1b( - A: T.Buffer((N, QK), storage_dtype), B: T.Buffer((N, QK), storage_dtype) - ): + def interleave_weight_int8_1b(A: T.Buffer((N, QK), storage_dtype), B: T.Buffer((N, QK), + storage_dtype)): B_tmp_1 = T.alloc_buffer((N, QK), storage_dtype, scope="local") B_tmp_2 = T.alloc_buffer((N, QK), storage_dtype, scope="local") B_tmp_3 = T.alloc_buffer((N, QK), storage_dtype, scope="local") @@ -118,12 +101,8 @@ def interleave_weight_int8_1b( with T.block("B_tmp"): v0, v1, v2, v3 = T.axis.remap("SSSS", [ax0, ax1, ax2, ax3]) offset = v2 * elems_per_group + v3 - shift = (offset % num_groups) * bits_stride + ( - offset // num_groups - ) * bits - B[v0, v1] = B[v0, v1] | ( - ((A[v0, v1] >> (bits * offset)) & mask) << shift - ) + shift = (offset % num_groups) * bits_stride + (offset // num_groups) * bits + B[v0, v1] = B[v0, v1] | (((A[v0, v1] >> (bits * offset)) & mask) << shift) for ax0, ax1 in T.grid(N, QK): with T.block("B"): @@ -138,8 +117,7 @@ def interleave_weight_int8_1b( | B_tmp_2[v0, v1] | B_tmp_3[v0, v1] | B_tmp_4[v0, v1] - | B_tmp_5[v0, v1] - ) + | B_tmp_5[v0, v1]) if target_dtype == "float16" and bits == 2: return interleave_weight_f16_2b @@ -149,6 +127,8 @@ def interleave_weight_int8_1b( return interleave_weight_int8_1b return interleave_weight + + # fmt: on diff --git a/python/bitblas/ops/impl/matmul_dequantize_impl.py b/python/bitblas/ops/impl/matmul_dequantize_impl.py index 14da708e9..f0f59e035 100644 --- a/python/bitblas/ops/impl/matmul_dequantize_impl.py +++ b/python/bitblas/ops/impl/matmul_dequantize_impl.py @@ -2,13 +2,15 @@ # Licensed under the MIT License. # pre-transformed tir expression of matmul import tvm -from tvm.script import tir as T from tvm import te, DataType from tvm.tir import IndexMap +from bitblas.ops.operator import TransformKind from bitblas.gpu.matmul_analysis import get_propagate_map from bitblas.quantization import ( _tir_packed_to_signed_convert, _tir_packed_to_unsigned_convert, + _tir_u32_to_f4_to_f16, + _tir_packed_to_unsigned_convert_with_zeros, ) @@ -27,7 +29,7 @@ def matmul_nt_dequantize_b( group_size=-1, fast_decoding=False, with_bias=False, - zeros_type="original", + zeros_mode="original", ): if not isinstance(M, int): M = tvm.te.var("m") @@ -42,26 +44,50 @@ def matmul_nt_dequantize_b( LUT = te.placeholder((1 << bit,), name="LUT", dtype=in_dtype) Scale = te.placeholder((N, K // group_size), name="Scale", dtype=in_dtype) Zeros = te.placeholder((N, K // group_size), name="Zeros", dtype=in_dtype) + QZeros = te.placeholder(((K // group_size), N // storage_nbit * bit), + name="QZeros", + dtype=storage_dtype) Bias = te.placeholder((N,), name="Bias", dtype=in_dtype) + def qzeros_dequantize(k, n): + return _tir_packed_to_unsigned_convert(storage_type, storage_nbit)( + bit, + QZeros[k, n // n_float_per_elem], + n % n_float_per_elem, + dtype=storage_dtype, + ) + + Dequantize_qzeros = te.compute( + (K // group_size, N), + qzeros_dequantize, + name="Dequantize_zeros", + ) + def decode_func(n, k): - if source_format == "uint": - w = _tir_packed_to_unsigned_convert(storage_type, storage_nbit)( - bit, B[n, k // n_float_per_elem], k % n_float_per_elem, dtype=in_dtype + if with_zeros and zeros_mode == "quantized": + w = _tir_packed_to_unsigned_convert_with_zeros(storage_type, storage_nbit)( + bit, + B[n, k // n_float_per_elem], + k % n_float_per_elem, + Dequantize_qzeros[k // group_size, n], + dtype=in_dtype, ) + elif source_format == "uint": + w = _tir_packed_to_unsigned_convert(storage_type, storage_nbit)( + bit, B[n, k // n_float_per_elem], k % n_float_per_elem, dtype=in_dtype) elif source_format == "int": w = _tir_packed_to_signed_convert(storage_type, storage_nbit)( - bit, B[n, k // n_float_per_elem], k % n_float_per_elem, dtype=in_dtype - ) - elif source_format == "af": - w = LUT[ - _tir_packed_to_unsigned_convert(storage_type, storage_nbit)( - bit, - B[n, k // n_float_per_elem], - k % n_float_per_elem, - dtype="int32", # assume the index data type is int32 - ) - ] + bit, B[n, k // n_float_per_elem], k % n_float_per_elem, dtype=in_dtype) + elif source_format == "fp": + w = _tir_u32_to_f4_to_f16( + bit, B[n, k // n_float_per_elem], k % n_float_per_elem, dtype=in_dtype) + elif source_format == "nf": + w = LUT[_tir_packed_to_unsigned_convert(storage_type, storage_nbit)( + bit, + B[n, k // n_float_per_elem], + k % n_float_per_elem, + dtype="int32", # assume the index data type is int32 + )] else: raise ValueError("Unsupported source_format: {}".format(source_format)) @@ -71,12 +97,14 @@ def decode_func(n, k): if not with_zeros: return w * Scale[n, k // group_size] - if zeros_type == "original": + if zeros_mode == "original": w = (w - Zeros[n, k // group_size]) * Scale[n, k // group_size] - elif zeros_type == "rescale": + elif zeros_mode == "rescale": w = w * Scale[n, k // group_size] - Zeros[n, k // group_size] + elif zeros_mode == "quantized": + w = w * Scale[n, k // group_size] else: - raise ValueError("Unsupported zeros_type: {}".format(zeros_type)) + raise ValueError("Unsupported zeros_mode: {}".format(zeros_mode)) return w @@ -86,19 +114,21 @@ def decode_func(n, k): C = te.compute( (M, N), lambda i, j: te.sum( - A[i, k].astype(accum_dtype) * B_decode[j, k].astype(accum_dtype), axis=k - ), + A[i, k].astype(accum_dtype) * B_decode[j, k].astype(accum_dtype), axis=k), name="C", ) D = te.compute((M, N), lambda i, j: C[i, j].astype(out_dtype), name="D") args = [A, B] last_output = D - if source_format == "af": + if source_format == "nf": args.append(LUT) if with_scaling: args.append(Scale) if with_zeros: - args.append(Zeros) + if zeros_mode == "quantized": + args.append(QZeros) + else: + args.append(Zeros) if with_bias: E = te.compute((M, N), lambda i, j: D[i, j] + Bias[j], name="E") last_output = E @@ -119,7 +149,7 @@ def decode_func(n, k): "target_format": in_dtype, "with_scaling": with_scaling, "with_zeros": with_zeros, - "zeros_type": zeros_type, + "zeros_mode": zeros_mode, "group_size": group_size, } }, @@ -142,28 +172,25 @@ def matmul_nt_dequantize_b_propagate_b( group_size=-1, fast_decoding=False, with_bias=False, - zeros_type="original", + zeros_mode="original", + transform_kind: TransformKind = TransformKind.IntraWarpTransform, ): if not isinstance(M, int): M = tvm.te.var("m") - l = r = 16 + l = r = 16 # noqa: E741 if in_dtype == "int8": - l, r = 16, 32 + l, r = 16, 32 # noqa: E741 _, inverse_indexmap = get_propagate_map(trans=True, dtype=in_dtype, matrix_name="B") target_dtype = DataType(in_dtype) scaling_factor = 1 if bit > 0 and bit < target_dtype.bits: - scaling_factor = ( - (target_dtype.bits // bit) - * DataType(storage_dtype).bits - // target_dtype.bits - ) + scaling_factor = ((target_dtype.bits // bit) * DataType(storage_dtype).bits // + target_dtype.bits) initial_indices = inverse_indexmap.initial_indices - scaling_final_indices = inverse_indexmap.map_indices( - initial_indices[:-1] + [initial_indices[-1] * scaling_factor] - ) + scaling_final_indices = inverse_indexmap.map_indices(initial_indices[:-1] + + [initial_indices[-1] * scaling_factor]) scaling_final_indices = scaling_final_indices[:-1] + [ scaling_final_indices[-1] // scaling_factor ] @@ -180,9 +207,7 @@ def matmul_nt_dequantize_b_propagate_b( group_size = K qr = r * bit // storage_nbit A = te.placeholder((M, K), name="A", dtype=in_dtype) - B = te.placeholder( - (N // l, (K // scaling_factor) // qr, l, qr), name="B", dtype=storage_dtype - ) + B = te.placeholder((N // l, (K // scaling_factor) // qr, l, qr), name="B", dtype=storage_dtype) LUT = te.placeholder((1 << bit,), name="LUT", dtype=in_dtype) Scale = te.placeholder((N, K // group_size), name="Scale", dtype=in_dtype) Zeros = te.placeholder((N, K // group_size), name="Zeros", dtype=in_dtype) @@ -191,8 +216,9 @@ def matmul_nt_dequantize_b_propagate_b( def fcompute(i, j): warp_i, warp_j = i % l, j % qr spatial_args = i // l, j // qr - permutate_i, permutate_j = inverse_indexmap.map_indices([warp_i, warp_j]) - new_index = (*spatial_args, permutate_i, permutate_j) + if transform_kind >= TransformKind.IntraWarpTransform: + warp_i, warp_j = inverse_indexmap.map_indices([warp_i, warp_j]) + new_index = (*spatial_args, warp_i, warp_j) return B[new_index] B_reindex = te.compute( @@ -216,15 +242,20 @@ def decode_func(n, k): k % n_float_per_elem, dtype=in_dtype, ) - elif source_format == "af": - w = LUT[ - _tir_packed_to_unsigned_convert(storage_type, storage_nbit)( - bit, - B_reindex[n, k // n_float_per_elem], - k % n_float_per_elem, - dtype="int32", # assume the index data type is int32 - ) - ] + elif source_format == "fp": + w = _tir_u32_to_f4_to_f16( + bit, + B_reindex[n, k // n_float_per_elem], + k % n_float_per_elem, + dtype=in_dtype, + ) + elif source_format == "nf": + w = LUT[_tir_packed_to_unsigned_convert(storage_type, storage_nbit)( + bit, + B_reindex[n, k // n_float_per_elem], + k % n_float_per_elem, + dtype="int32", # assume the index data type is int32 + )] else: raise ValueError("Unsupported source_format: {}".format(source_format)) @@ -234,12 +265,12 @@ def decode_func(n, k): if not with_zeros: return w * Scale[n, k // group_size] - if zeros_type == "original": + if zeros_mode == "original": w = (w - Zeros[n, k // group_size]) * Scale[n, k // group_size] - elif zeros_type == "rescale": + elif zeros_mode == "rescale": w = w * Scale[n, k // group_size] - Zeros[n, k // group_size] else: - raise ValueError("Unsupported zeros_type: {}".format(zeros_type)) + raise ValueError("Unsupported zeros_mode: {}".format(zeros_mode)) return w @@ -250,17 +281,18 @@ def decode_func(n, k): C = te.compute( (M, N), lambda i, j: te.sum( - A[i, k].astype(accum_dtype) * B_decode[j, k].astype(accum_dtype), axis=k - ), + A[i, k].astype(accum_dtype) * B_decode[j, k].astype(accum_dtype), axis=k), name="C", ) D = te.compute((M, N), lambda i, j: C[i, j].astype(out_dtype), name="D") args = [A, B] last_output = D - if source_format == "af": + if source_format == "nf": args.append(LUT) if with_scaling: args.append(Scale) + if with_zeros: + args.append(Zeros) if with_bias: E = te.compute((M, N), lambda i, j: D[i, j] + Bias[j], name="E") last_output = E @@ -280,13 +312,13 @@ def decode_func(n, k): "storage_dtype": storage_dtype, "target_format": in_dtype, "with_zeros": with_zeros, - "zeros_type": zeros_type, + "zeros_mode": zeros_mode, "with_scaling": with_scaling, "group_size": group_size, } }, ) - func = func.with_attr("smooth_b", True) + func = func.with_attr("weight_transform_kind", transform_kind.value) return tvm.IRModule.from_expr(func) @@ -305,22 +337,25 @@ def matmul_nt_dequantize_b_propagate_a_propagate_b( group_size=-1, fast_decoding=False, with_bias=False, - zeros_type="original", + zeros_mode="original", + transform_kind_input: TransformKind = TransformKind.IntraWarpTransform, + transform_kind_weight: TransformKind = TransformKind.IntraWarpTransform, ): if not isinstance(M, int): M = tvm.te.var("m") - l = r = 16 + l = r = 16 # noqa: E741 if in_dtype == "int8": - l, r = 16, 32 + l, r = 16, 32 # noqa: E741 _, inversed_index_map = get_propagate_map(trans=False, dtype=in_dtype, matrix_name="A") A = te.placeholder((M // l, K // r, l, r), name="A", dtype=in_dtype) def fcompute(i, j): warp_i, warp_j = i % l, j % r spatial_args = i // l, j // r - permutate_i, permutate_j = inversed_index_map.map_indices([warp_i, warp_j]) - new_index = (*spatial_args, permutate_i, permutate_j) + if transform_kind_input >= TransformKind.IntraWarpTransform: + warp_i, warp_j = inversed_index_map.map_indices([warp_i, warp_j]) + new_index = (*spatial_args, warp_i, warp_j) return A[new_index] A_reindex = te.compute( @@ -333,15 +368,11 @@ def fcompute(i, j): target_dtype = DataType(in_dtype) scaling_factor = 1 if bit > 0 and bit < target_dtype.bits: - scaling_factor = ( - (target_dtype.bits // bit) - * DataType(storage_dtype).bits - // target_dtype.bits - ) + scaling_factor = ((target_dtype.bits // bit) * DataType(storage_dtype).bits // + target_dtype.bits) initial_indices = inversed_index_map.initial_indices scaling_final_indices = inversed_index_map.map_indices( - initial_indices[:-1] + [initial_indices[-1] * scaling_factor] - ) + initial_indices[:-1] + [initial_indices[-1] * scaling_factor]) scaling_final_indices = scaling_final_indices[:-1] + [ scaling_final_indices[-1] // scaling_factor ] @@ -357,18 +388,18 @@ def fcompute(i, j): if group_size == -1: group_size = K qr = r * bit // storage_nbit - B = te.placeholder( - (N // l, (K // scaling_factor) // qr, l, qr), name="B", dtype=storage_dtype - ) + B = te.placeholder((N // l, (K // scaling_factor) // qr, l, qr), name="B", dtype=storage_dtype) LUT = te.placeholder((1 << bit,), name="LUT", dtype=in_dtype) Scale = te.placeholder((N, K // group_size), name="Scale", dtype=in_dtype) + Zeros = te.placeholder((N, K // group_size), name="Zeros", dtype=in_dtype) Bias = te.placeholder((N,), name="Bias", dtype=in_dtype) def fcompute(i, j): warp_i, warp_j = i % l, j % qr spatial_args = i // l, j // qr - permutate_i, permutate_j = inversed_index_map.map_indices([warp_i, warp_j]) - new_index = (*spatial_args, permutate_i, permutate_j) + if transform_kind_weight >= TransformKind.IntraWarpTransform: + warp_i, warp_j = inversed_index_map.map_indices([warp_i, warp_j]) + new_index = (*spatial_args, warp_i, warp_j) return B[new_index] B_reindex = te.compute( @@ -392,20 +423,36 @@ def decode_func(n, k): k % n_float_per_elem, dtype=in_dtype, ) - elif source_format == "af": - w = LUT[ - _tir_packed_to_unsigned_convert(storage_type, storage_nbit)( - bit, - B_reindex[n, k // n_float_per_elem], - k % n_float_per_elem, - dtype="int32", # assume the index data type is int32 - ) - ] + elif source_format == "fp": + w = _tir_u32_to_f4_to_f16( + bit, + B_reindex[n, k // n_float_per_elem], + k % n_float_per_elem, + dtype=in_dtype, + ) + elif source_format == "nf": + w = LUT[_tir_packed_to_unsigned_convert(storage_type, storage_nbit)( + bit, + B_reindex[n, k // n_float_per_elem], + k % n_float_per_elem, + dtype="int32", # assume the index data type is int32 + )] else: raise ValueError("Unsupported source_format: {}".format(source_format)) - if with_scaling: - w = w * Scale[n, k // group_size] + if not with_scaling: + return w + + if not with_zeros: + return w * Scale[n, k // group_size] + + if zeros_mode == "original": + w = (w - Zeros[n, k // group_size]) * Scale[n, k // group_size] + elif zeros_mode == "rescale": + w = w * Scale[n, k // group_size] - Zeros[n, k // group_size] + else: + raise ValueError("Unsupported zeros_mode: {}".format(zeros_mode)) + return w B_decode = te.compute((N, K), decode_func, name="B_decode") @@ -423,10 +470,12 @@ def decode_func(n, k): D = te.compute((M, N), lambda i, j: C[i, j].astype(out_dtype), name="D") args = [A, B] last_output = D - if source_format == "af": + if source_format == "nf": args.append(LUT) if with_scaling: args.append(Scale) + if with_zeros: + args.append(Zeros) if with_bias: E = te.compute((M, N), lambda i, j: D[i, j] + Bias[j], name="E") last_output = E @@ -446,14 +495,14 @@ def decode_func(n, k): "storage_dtype": storage_dtype, "target_format": in_dtype, "with_zeros": with_zeros, - "zeros_type": zeros_type, + "zeros_mode": zeros_mode, "with_scaling": with_scaling, "group_size": group_size, } }, ) - func = func.with_attr("smooth_a", True) - func = func.with_attr("smooth_b", True) + func = func.with_attr("input_transform_kind", transform_kind_input.value) + func = func.with_attr("weight_transform_kind", transform_kind_weight.value) return tvm.IRModule.from_expr(func) @@ -473,7 +522,7 @@ def select_implementation( fast_decoding=False, with_bias=False, layout="nt", - zeros_type="original", + zeros_mode="original", propagate_a=False, propagate_b=False, ): @@ -498,7 +547,9 @@ def select_implementation( group_size, fast_decoding, with_bias, - zeros_type, + zeros_mode, + transform_kind_input=propagate_a, + transform_kind_weight=propagate_b, ) elif propagate_a: raise NotImplementedError @@ -518,7 +569,8 @@ def select_implementation( group_size, fast_decoding, with_bias, - zeros_type, + zeros_mode, + transform_kind=propagate_b, ) else: return matmul_nt_dequantize_b( @@ -536,7 +588,7 @@ def select_implementation( group_size, fast_decoding, with_bias, - zeros_type, + zeros_mode, ) else: raise ValueError(f"Unsupported layout: {layout}") diff --git a/python/bitblas/ops/impl/matmul_impl.py b/python/bitblas/ops/impl/matmul_impl.py index c716227a0..26b748a88 100644 --- a/python/bitblas/ops/impl/matmul_impl.py +++ b/python/bitblas/ops/impl/matmul_impl.py @@ -2,9 +2,9 @@ # Licensed under the MIT License. # pre-transformed tir expression of matmul import tvm -from tvm.script import tir as T -from tvm import te, tir +from tvm import te from bitblas.gpu.matmul_analysis import get_propagate_map +from bitblas.ops.operator import TransformKind def matmul_nn( @@ -26,9 +26,7 @@ def matmul_nn( k = te.reduce_axis((0, K), name="k") C = te.compute( (M, N), - lambda i, j: te.sum( - A[i, k].astype(accum_dtype) * B[k, j].astype(accum_dtype), axis=k - ), + lambda i, j: te.sum(A[i, k].astype(accum_dtype) * B[k, j].astype(accum_dtype), axis=k), name="C", ) last_output = C @@ -40,10 +38,7 @@ def matmul_nn( E = te.compute((M, N), lambda i, j: last_output[i, j] + Bias[j], name="E") last_output = E - if with_bias: - args = [A, B, Bias, last_output] - else: - args = [A, B, last_output] + args = [A, B, Bias, last_output] if with_bias else [A, B, last_output] func = te.create_prim_func(args) @@ -69,9 +64,7 @@ def matmul_nt( k = te.reduce_axis((0, K), name="k") C = te.compute( (M, N), - lambda i, j: te.sum( - A[i, k].astype(accum_dtype) * B[j, k].astype(accum_dtype), axis=k - ), + lambda i, j: te.sum(A[i, k].astype(accum_dtype) * B[j, k].astype(accum_dtype), axis=k), name="C", ) last_output = C @@ -83,10 +76,7 @@ def matmul_nt( E = te.compute((M, N), lambda i, j: last_output[i, j] + Bias[j], name="E") last_output = E - if with_bias: - args = [A, B, Bias, last_output] - else: - args = [A, B, last_output] + args = [A, B, Bias, last_output] if with_bias else [A, B, last_output] func = te.create_prim_func(args) @@ -108,41 +98,6 @@ def matmul( return matmul_nt(M, N, K, in_dtype, out_dtype, accum_dtype, with_bias) -# always assume propagate both intra and inter layout in BitBLAS -# as we do not have to do runtime layout transform -def matmul_nt_propagate_a_dyn_m( - M, - N, - K, - in_dtype="float16", - out_dtype="float16", - accum_dtype="float16", - with_bias=False, -): ... - - -def matmul_nt_propagate_b_dyn_m( - M, - N, - K, - in_dtype="float16", - out_dtype="float16", - accum_dtype="float16", - with_bias=False, -): ... - - -def matmul_nt_propagate_a_propagate_b_dyn_m( - M, - N, - K, - in_dtype="float16", - out_dtype="float16", - accum_dtype="float16", - with_bias=False, -): ... - - def matmul_nt_propagate_a( M, N, @@ -151,16 +106,15 @@ def matmul_nt_propagate_a( out_dtype="float16", accum_dtype="float16", with_bias=False, + transform_kind: TransformKind = TransformKind.IntraWarpTransform, ): if not isinstance(M, int): M = tvm.te.var("m") - l = r = 16 + l = r = 16 # noqa: E741 if in_dtype == "int8": - l, r = 16, 32 + l, r = 16, 32 # noqa: E741 - _, inversed_index_map = get_propagate_map( - trans=False, dtype=in_dtype, matrix_name="A" - ) + _, inversed_index_map = get_propagate_map(trans=False, dtype=in_dtype, matrix_name="A") A = te.placeholder((M // l, K // r, l, r), name="A", dtype=in_dtype) B = te.placeholder((N, K), name="B", dtype=in_dtype) @@ -169,8 +123,9 @@ def matmul_nt_propagate_a( def fcompute(i, j): warp_i, warp_j = i % l, j % r spatial_args = i // l, j // r - permutate_i, permutate_j = inversed_index_map.map_indices([warp_i, warp_j]) - new_index = (*spatial_args, permutate_i, permutate_j) + if transform_kind >= TransformKind.IntraWarpTransform: + warp_i, warp_j = inversed_index_map.map_indices([warp_i, warp_j]) + new_index = (*spatial_args, warp_i, warp_j) return A[new_index] A_reindex = te.compute( @@ -183,8 +138,7 @@ def fcompute(i, j): C = te.compute( (M, N), lambda i, j: te.sum( - A_reindex[i, k].astype(accum_dtype) * B[j, k].astype(accum_dtype), axis=k - ), + A_reindex[i, k].astype(accum_dtype) * B[j, k].astype(accum_dtype), axis=k), name="C", ) last_output = C @@ -196,13 +150,10 @@ def fcompute(i, j): E = te.compute((M, N), lambda i, j: last_output[i, j] + Bias[j], name="E") last_output = E - if with_bias: - args = [A, B, Bias, last_output] - else: - args = [A, B, last_output] + args = [A, B, Bias, last_output] if with_bias else [A, B, last_output] func = te.create_prim_func(args) - func = func.with_attr("smooth_a", True) + func = func.with_attr("input_transform_kind", transform_kind.value) return tvm.IRModule.from_expr(func) @@ -215,16 +166,15 @@ def matmul_nt_propagate_b( out_dtype="float16", accum_dtype="float16", with_bias=False, + transform_kind: TransformKind = TransformKind.IntraWarpTransform, ): if not isinstance(M, int): M = tvm.te.var("m") - l = r = 16 + l = r = 16 # noqa: E741 if in_dtype == "int8": - l, r = 16, 32 + l, r = 16, 32 # noqa: E741 - _, inversed_index_map = get_propagate_map( - trans=True, dtype=in_dtype, matrix_name="B" - ) + _, inversed_index_map = get_propagate_map(trans=True, dtype=in_dtype, matrix_name="B") A = te.placeholder((M, K), name="A", dtype=in_dtype) B = te.placeholder((N // l, K // r, l, r), name="B", dtype=in_dtype) @@ -233,8 +183,9 @@ def matmul_nt_propagate_b( def fcompute(i, j): warp_i, warp_j = i % l, j % r spatial_args = i // l, j // r - permutate_i, permutate_j = inversed_index_map.map_indices([warp_i, warp_j]) - new_index = (*spatial_args, permutate_i, permutate_j) + if transform_kind >= TransformKind.IntraWarpTransform: + warp_i, warp_j = inversed_index_map.map_indices([warp_i, warp_j]) + new_index = (*spatial_args, warp_i, warp_j) return B[new_index] B_reindex = te.compute( @@ -247,8 +198,7 @@ def fcompute(i, j): C = te.compute( (M, N), lambda i, j: te.sum( - A[i, k].astype(accum_dtype) * B_reindex[j, k].astype(accum_dtype), axis=k - ), + A[i, k].astype(accum_dtype) * B_reindex[j, k].astype(accum_dtype), axis=k), name="C", ) last_output = C @@ -260,13 +210,10 @@ def fcompute(i, j): E = te.compute((M, N), lambda i, j: last_output[i, j] + Bias[j], name="E") last_output = E - if with_bias: - args = [A, B, Bias, last_output] - else: - args = [A, B, last_output] + args = [A, B, Bias, last_output] if with_bias else [A, B, last_output] func = te.create_prim_func(args) - func = func.with_attr("smooth_b", True) + func = func.with_attr("weight_transform_kind", transform_kind.value) return tvm.IRModule.from_expr(func) @@ -279,26 +226,27 @@ def matmul_nt_propagate_a_propagate_b( out_dtype="float16", accum_dtype="float16", with_bias=False, + transform_kind_input: TransformKind = TransformKind.IntraWarpTransform, + transform_kind_weight: TransformKind = TransformKind.IntraWarpTransform, ): if not isinstance(M, int): M = tvm.te.var("m") - l = r = 16 + l = r = 16 # noqa: E741 if in_dtype == "int8": - l, r = 16, 32 + l, r = 16, 32 # noqa: E741 A = te.placeholder((M // l, K // r, l, r), name="A", dtype=in_dtype) B = te.placeholder((N // l, K // r, l, r), name="B", dtype=in_dtype) Bias = te.placeholder((N,), name="Bias", dtype=in_dtype) - _, inversed_index_map = get_propagate_map( - trans=False, dtype=in_dtype, matrix_name="A" - ) + _, inversed_index_map = get_propagate_map(trans=False, dtype=in_dtype, matrix_name="A") def fcompute(i, j): warp_i, warp_j = i % l, j % r spatial_args = i // l, j // r - permutate_i, permutate_j = inversed_index_map.map_indices([warp_i, warp_j]) - new_index = (*spatial_args, permutate_i, permutate_j) + if transform_kind_input >= TransformKind.IntraWarpTransform: + warp_i, warp_j = inversed_index_map.map_indices([warp_i, warp_j]) + new_index = (*spatial_args, warp_i, warp_j) return A[new_index] A_reindex = te.compute( @@ -307,15 +255,14 @@ def fcompute(i, j): name="A_reindex", ) - _, inversed_index_map = get_propagate_map( - trans=True, dtype=in_dtype, matrix_name="B" - ) + _, inversed_index_map = get_propagate_map(trans=True, dtype=in_dtype, matrix_name="B") def fcompute(i, j): warp_i, warp_j = i % l, j % r spatial_args = i // l, j // r - permutate_i, permutate_j = inversed_index_map.map_indices([warp_i, warp_j]) - new_index = (*spatial_args, permutate_i, permutate_j) + if transform_kind_weight >= TransformKind.IntraWarpTransform: + warp_i, warp_j = inversed_index_map.map_indices([warp_i, warp_j]) + new_index = (*spatial_args, warp_i, warp_j) return B[new_index] B_reindex = te.compute( @@ -342,14 +289,11 @@ def fcompute(i, j): E = te.compute((M, N), lambda i, j: last_output[i, j] + Bias[j], name="E") last_output = E - if with_bias: - args = [A, B, Bias, last_output] - else: - args = [A, B, last_output] + args = [A, B, Bias, last_output] if with_bias else [A, B, last_output] func = te.create_prim_func(args) - func = func.with_attr("smooth_a", True) - func = func.with_attr("smooth_b", True) + func = func.with_attr("input_transform_kind", transform_kind_input.value) + func = func.with_attr("weight_transform_kind", transform_kind_weight.value) return tvm.IRModule.from_expr(func) @@ -363,27 +307,48 @@ def select_implementation( accum_dtype="float16", with_bias=False, layout="nt", - propagate_a=False, - propagate_b=False, + propagate_a: TransformKind = TransformKind.NonTransform, + propagate_b: TransformKind = TransformKind.NonTransform, ): if layout == "nn": if propagate_a or propagate_b: raise ValueError( - "Currently only support propagate_a=False and propagate_b=False for layout=nn" - ) + "Currently only support propagate_a=False and propagate_b=False for layout=nn") return matmul(M, N, K, in_dtype, out_dtype, accum_dtype, with_bias, layout) elif layout == "nt": if propagate_a and propagate_b: return matmul_nt_propagate_a_propagate_b( - M, N, K, in_dtype, out_dtype, accum_dtype, with_bias + M, + N, + K, + in_dtype, + out_dtype, + accum_dtype, + with_bias, + transform_kind_input=propagate_a, + transform_kind_weight=propagate_b, ) elif propagate_a: return matmul_nt_propagate_a( - M, N, K, in_dtype, out_dtype, accum_dtype, with_bias + M, + N, + K, + in_dtype, + out_dtype, + accum_dtype, + with_bias, + transform_kind=propagate_a, ) elif propagate_b: return matmul_nt_propagate_b( - M, N, K, in_dtype, out_dtype, accum_dtype, with_bias + M, + N, + K, + in_dtype, + out_dtype, + accum_dtype, + with_bias, + transform_kind=propagate_b, ) else: return matmul(M, N, K, in_dtype, out_dtype, accum_dtype, with_bias, layout) diff --git a/python/bitblas/ops/impl/param_permutate_impl.py b/python/bitblas/ops/impl/param_permutate_impl.py new file mode 100644 index 000000000..620212eb6 --- /dev/null +++ b/python/bitblas/ops/impl/param_permutate_impl.py @@ -0,0 +1,56 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +from bitblas.gpu.matmul_analysis import get_propagate_map +from ..operator import TransformKind +from typing import Literal +from tvm import te, IRModule + + +def select_implementation( + M: int, + N: int, + datatype: Literal["float16"] = "float16", + transpose_matrix: bool = True, + group_size: int = -1, + propagate_kind: TransformKind = TransformKind.NonTransform, + target_instruction: Literal["nvidia-mma"] = "nvidia-mma", +): + if target_instruction != "nvidia-mma": + raise ValueError("Currently only support nvidia-mma instruction") + if propagate_kind < TransformKind.IntraWarpTransform: + raise ValueError("Currently only support propagate_kind >= IntraWarpTransform") + if transpose_matrix is not True: + raise ValueError("Currently only support transpose_matrix == True") + # This is trick to get the basic tile size for the current datatype + # as for nvidia tensorcore instruction, the basic tile size is 16x16/16x32 for float16/int8 + l = r = 16 # noqa: E741 + if datatype == "int8": + l, r = 16, 32 # noqa: E741 + if group_size == -1: + group_size = N + + intra_index_map, inverse_indexmap = get_propagate_map( + transpose_matrix, dtype=datatype, matrix_name=propagate_kind) + + inp = te.placeholder((M, N // group_size), name="inp", dtype=datatype) + + def fcompute(n, k): + rl, rr = n, k + warp_i, warp_j = rl % l, rr % r + spatial_i, spatial_j = rl // l, rr // r + if propagate_kind >= TransformKind.IntraWarpTransform: + warp_i, warp_j = intra_index_map.map_indices([warp_i, warp_j]) + new_index = (spatial_i * l + warp_i, (spatial_j * r + warp_j) // group_size) + return inp[new_index] + + inp_prmt = te.compute( + (M, N // group_size), + fcompute, + name="intra_warp_permutate", + ) + + args = [inp, inp_prmt] + + func = te.create_prim_func(args) + + return IRModule.from_expr(func) diff --git a/python/bitblas/ops/ladder_permutate.py b/python/bitblas/ops/ladder_permutate.py index 298e95dda..f8a2be28b 100644 --- a/python/bitblas/ops/ladder_permutate.py +++ b/python/bitblas/ops/ladder_permutate.py @@ -1,8 +1,7 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. -import tvm from tvm.target import Target -from typing import List, Union, Literal +from typing import Literal, Union from .operator import Operator from .impl.ladder_permutate_impl import select_implementation from dataclasses import dataclass @@ -24,22 +23,22 @@ class LadderPermutateConfig: class LadderPermutate(Operator): + def __init__( self, config: LadderPermutateConfig, name: str = "permutate", - target: Target = tvm.target.Target("llvm"), # assume to do permutation on gpu. + target: Union[str, Target] = "llvm", # assume to do permutation on cpu. + enable_tuning: bool = False, ): # consider to warp the arguments to MatmulConfig - super().__init__(name, target) - self.config = config - - if target.kind.name != "llvm": - raise ValueError("Currently only support llvm target for Permutation") + super().__init__(name, config, target) - prim_func_mod = self._select_implementation() - self.prim_func_mod = prim_func_mod - self.target = target + target = self.target + if target.kind.name == "cuda": + self.optimized_func = self.apply_default_schedule(self.prim_func_mod, target) + if enable_tuning: + self.hardware_aware_finetune() self._build_runtime_module(target) # select implementation based on the Operator config diff --git a/python/bitblas/ops/lop3_permutate.py b/python/bitblas/ops/lop3_permutate.py index 956c1f9b4..867432a5e 100644 --- a/python/bitblas/ops/lop3_permutate.py +++ b/python/bitblas/ops/lop3_permutate.py @@ -1,12 +1,10 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. -import tvm from tvm.target import Target -from typing import Literal +from typing import Literal, Union from .operator import Operator from .impl.lop3_permutate_impl import select_implementation from dataclasses import dataclass -from bitblas.utils.tensor_adapter import tvm_tensor_to_torch import torch @@ -20,21 +18,19 @@ class LOP3PermutateConfig: class LOP3Permutate(Operator): + def __init__( - self, - config: LOP3PermutateConfig, - name: str = "permutate", - target: Target = tvm.target.Target("llvm"), # assume to do permutation on gpu. + self, + config: LOP3PermutateConfig, + name: str = "permutate", + target: Union[str, Target] = "llvm", # assume to do permutation on cpu. ): # consider to warp the arguments to MatmulConfig - super().__init__(name, target) - self.config = config + super().__init__(name, config, target) if target.kind.name != "llvm": raise ValueError("Currently only support llvm target for Permutation") - prim_func_mod = self._select_implementation() - self.prim_func_mod = prim_func_mod self.target = target self._build_runtime_module(target) @@ -46,11 +42,11 @@ def _select_implementation(self): dequantize_bits=self.dequantize_bits, ) - def forward_from_torch(self, weight, res): - # reintepret the input tensor to int32 format - _tvm_args = [self._tensor_adapter(arg.view(torch.int32), self.arch.device) for arg in [weight, res]] - self.rt_mod(*_tvm_args) - return tvm_tensor_to_torch(_tvm_args[-1]).view(weight.dtype) + def forward(self, weight, res): + # reinterpret the input tensor to int32 format + args = [arg.view(torch.int32) for arg in [weight, res]] + self.torch_func(*args) + return args[-1].view(weight.dtype) @property def M(self): diff --git a/python/bitblas/ops/matmul.py b/python/bitblas/ops/matmul.py index 4844bc739..4f3da8005 100644 --- a/python/bitblas/ops/matmul.py +++ b/python/bitblas/ops/matmul.py @@ -5,15 +5,15 @@ from tvm.target import Target from bitblas.utils.tensor_adapter import tvm_tensor_to_torch from typing import List, Union, Optional, Any, Tuple -from .operator import Operator +from .operator import Operator, TransformKind from .impl.matmul_impl import select_implementation -from ..base.utils import get_rasterization_code -from bitblas.utils import match_global_kernel, tensor_replace_dp4a +from bitblas.utils import tensor_replace_dp4a from dataclasses import dataclass from .ladder_permutate import LadderPermutate, LadderPermutateConfig class TransformExecutorCPU: + def __init__(self, operators: Optional[List[Operator]] = None): if operators is None: operators = [] @@ -49,46 +49,67 @@ class MatmulConfig: out_dtype: str = "float16" accum_dtype: str = "float16" with_bias: bool = False + # layout of matrix A and B + # "nn": C[i, j] = A[i, k] * B[k, j] + # "nt": C[i, j] = A[i, k] * B[j, k] layout: str = "nt" - propagate_a: bool = False - propagate_b: bool = False + # weight transformation kind of matrix A + propagate_a: TransformKind = TransformKind.NonTransform + # weight transformation kind of matrix B + propagate_b: TransformKind = TransformKind.NonTransform def __post_init__(self): # set M to tuple if it is list # otherwise, M is not hashable - object.__setattr__( - self, "M", tuple(self.M) if isinstance(self.M, list) else self.M - ) + object.__setattr__(self, "M", tuple(self.M) if isinstance(self.M, list) else self.M) + if isinstance(self.propagate_a, bool): + object.__setattr__( + self, + "propagate_a", + (TransformKind.IntraWarpTransform + if self.propagate_a else TransformKind.NonTransform), + ) + elif isinstance(self.propagate_a, int): + object.__setattr__(self, "propagate_a", TransformKind(self.propagate_a)) + + if isinstance(self.propagate_b, bool): + object.__setattr__( + self, + "propagate_b", + (TransformKind.IntraWarpTransform + if self.propagate_b else TransformKind.NonTransform), + ) + elif isinstance(self.propagate_b, int): + object.__setattr__(self, "propagate_b", TransformKind(self.propagate_b)) class Matmul(Operator): + def __init__( self, config: MatmulConfig, name: str = "matmul", - target: Target = tvm.target.Target("cuda"), + target: Union[str, Target] = "cuda", + enable_tuning: bool = False, ): - super().__init__(name, target) - self.config = config + super().__init__(name, config, target) target = self.target if target.kind.name != "cuda": raise ValueError("Currently only support cuda target") - prim_func_mod = self._select_implementation() - self.prim_func_mod = prim_func_mod - self.optimized_func = self.apply_default_schedule(prim_func_mod, target) + self.optimized_func = self.apply_default_schedule(self.prim_func_mod, target) if isinstance(self.M, Tuple): self.dynamic_range = {"m": self.M} - self.update_func( - self.prim_func.with_attrs({"opt_shapes": self.dynamic_range}) - ) + self.update_func(self.prim_func.with_attrs({"opt_shapes": self.dynamic_range})) else: self.dynamic_range = None self._build_runtime_module(target) if self.propagate_a: + assert (self.propagate_a is + TransformKind.NonTransform), "Currently only support NonTransform for input" ladder_permutate_config = LadderPermutateConfig( M=self.M, N=self.K, @@ -96,7 +117,7 @@ def __init__( storage_dtype=self.in_dtype, propagate_kind="A", transpose_matrix=False, - transform_kind=2, + transform_kind=self.propagate_a, ) self.ladder_permutate_a = LadderPermutate( config=ladder_permutate_config, @@ -112,8 +133,8 @@ def __init__( datatype=self.in_dtype, storage_dtype=self.in_dtype, propagate_kind="B", - transpose_matrix=True if self.layout == "nt" else False, - transform_kind=2, + transpose_matrix=(self.layout == "nt"), + transform_kind=self.propagate_b, ) self.ladder_permutate_b = LadderPermutate( config=ladder_permutate_config, @@ -134,6 +155,9 @@ def __init__( self.weight_executors = weight_executors + if enable_tuning: + self.hardware_aware_finetune() + def _select_implementation(self): return select_implementation( M=self.M, @@ -149,11 +173,6 @@ def _select_implementation(self): ) def post_process(self, code: str) -> str: - index = code.index("{", match_global_kernel(code)) - # some tricky judge to decide whether to insert rasterization code - if self.N * self.K > 10**6: - rasterization_code = get_rasterization_code(10) - code = code[: index + 2] + rasterization_code + code[index + 2 :] code = tensor_replace_dp4a(code) return code @@ -181,18 +200,26 @@ def var_warpper(v, m): arg = func.buffer_map[param] profile_tensors.append( tvm.nd.array( - np.random.uniform( - 0, 1, [var_warpper(i, m) for i in arg.shape] - ).astype(arg.dtype), + np.random.uniform(0, 1, + [var_warpper(i, m) for i in arg.shape]).astype(arg.dtype), device=device, - ) - ) + )) self.profile_tensors = profile_tensors latency = self.time_evaluator(*profile_tensors).mean * 1e3 benchmark_latencies.append({"m": m, "latency": latency}) # ms return benchmark_latencies + def forward(self, *args) -> Any: + if self.lib is None: + self._forward_from_torch_func(*args) + dynamic_symbolic = [] + if self.dynamic_range is not None: + # assume we only have one dynamic range + m = args[0].shape[0] + dynamic_symbolic.append(m) + self._forward_from_prebuild_lib(*args, *dynamic_symbolic) + @property def M(self): return self.config.M diff --git a/python/bitblas/ops/matmul_dequantize.py b/python/bitblas/ops/matmul_dequantize.py index 2ff586679..ee4a46a3a 100644 --- a/python/bitblas/ops/matmul_dequantize.py +++ b/python/bitblas/ops/matmul_dequantize.py @@ -4,17 +4,20 @@ from tvm.target import Target from bitblas.base.roller.arch.cuda import CUDA from typing import Any, List, Literal, Optional, Tuple, Union -from .operator import Operator +from .operator import Operator, TransformKind from .impl.matmul_dequantize_impl import select_implementation -from ..base.utils import get_rasterization_code, tensor_replace_dp4a +from ..base.utils import tensor_replace_dp4a from bitblas.utils.tensor_adapter import tvm_tensor_to_torch from dataclasses import dataclass -from bitblas.utils import match_global_kernel from .ladder_permutate import LadderPermutate, LadderPermutateConfig from .lop3_permutate import LOP3Permutate, LOP3PermutateConfig +import logging +logger = logging.getLogger(__name__) + + +class OPExecutorCPU: -class WeightExecutorCPU: def __init__(self, operators: Optional[List[Operator]] = None): if operators is None: operators = [] @@ -51,29 +54,53 @@ class MatmulWeightOnlyDequantizeConfig: accum_dtype: str = "float16" bit: int = 4 storage_dtype: str = "int8" - source_format: str = "int" + # documents for source_format: + # the format of the source data, which can be "int", "uint", "fp", "nf" + # "int": dequantize_weight = (target)((int)(quantize_weight - fixed_zero_point)) * scale + # where the fixed_zero_point is 2^(bit - 1) - 1 + # "uint": dequantize_weight = (target)((uint)(quantize_weight - zero_point)) * scale + # where the zero_point is manually set by zeros tensor + # "fp": dequantize_weight = (quantize_weight - zero_point) * scale + # "nf": dequantize_weight = (lut[quantize_weight] - zero_point) * scale + source_format: Literal["int", "uint", "fp", "nf"] = "int" with_scaling: bool = False with_zeros: bool = False group_size: int = -1 fast_decoding: bool = False with_bias: bool = False - propagate_a: bool = False - propagate_b: bool = False + propagate_a: TransformKind = TransformKind.NonTransform + propagate_b: TransformKind = TransformKind.NonTransform layout: str = "nt" - # documents for zeros_type: + # documents for zeros_mode: # original: target = (dequantize_weight - zero_point) * scale # rescale: target = dequantize_weight * scale - zero_point - # quantzied: target = (dequantize_weight - dequantize_zeros) * scale - # Notice: only support "original" and "rescale" now - # The auto-gptq framework prefer "original" for alignment with cuda. - zeros_type: Literal["original", "rescale", "quantzied"] = "original" + # quantized: target = (dequantize_weight - dequantize_zeros) * scale + # The auto-gptq framework prefer "quantized" and "original" for alignment with cuda. + zeros_mode: Literal["original", "rescale", "quantized"] = "original" def __post_init__(self): # set M to tuple if it is list # otherwise, M is not hashable - object.__setattr__( - self, "M", tuple(self.M) if isinstance(self.M, list) else self.M - ) + object.__setattr__(self, "M", tuple(self.M) if isinstance(self.M, list) else self.M) + if isinstance(self.propagate_a, bool): + object.__setattr__( + self, + "propagate_a", + (TransformKind.IntraWarpTransform + if self.propagate_a else TransformKind.NonTransform), + ) + elif isinstance(self.propagate_a, int): + object.__setattr__(self, "propagate_a", TransformKind(self.propagate_a)) + + if isinstance(self.propagate_b, bool): + object.__setattr__( + self, + "propagate_b", + (TransformKind.IntraWarpTransform + if self.propagate_b else TransformKind.NonTransform), + ) + elif isinstance(self.propagate_b, int): + object.__setattr__(self, "propagate_b", TransformKind(self.propagate_b)) class MatmulWeightOnlyDequantize(Operator): @@ -82,10 +109,10 @@ def __init__( self, config: MatmulWeightOnlyDequantizeConfig, name: str = "matmul_weight_only_dequantize", - target: Target = tvm.target.Target("cuda"), + target: Target = "cuda", + enable_tuning: bool = False, ): - super().__init__(name, target) - self.config = config + super().__init__(name, config, target) target = self.target if target.kind.name != "cuda": @@ -93,22 +120,18 @@ def __init__( self.arch = CUDA(target) - self.prim_func_mod = self._select_implementation() try: - self.optimized_func = self.apply_default_schedule( - self.prim_func_mod, target - ) + self.optimized_func = self.apply_default_schedule(self.prim_func_mod, target) except Exception: self.optimized_func = None - print( - f"[BitBLAS][Warning] Apply default schedule failed, should do hardware-aware optimization manually." + logger.warnning( + "[BitBLAS][Warning] Apply default schedule failed, should do hardware-aware optimization manually." ) if isinstance(self.M, Tuple): self.dynamic_range = {"m": self.M} self.prim_func_mod["main"] = self.prim_func_mod["main"].with_attrs( - {"opt_shapes": self.dynamic_range} - ) + {"opt_shapes": self.dynamic_range}) else: self.dynamic_range = None @@ -122,7 +145,7 @@ def __init__( storage_dtype=self.in_dtype, propagate_kind="A", transpose_matrix=False, - transform_kind=2, + transform_kind=self.propagate_a, ) self.ladder_permutate_a = LadderPermutate( config=ladder_permutate_config, @@ -139,8 +162,8 @@ def __init__( dequantize_bits=self.bit, storage_dtype=self.storage_dtype, propagate_kind="B", - transpose_matrix=True if self.layout == "nt" else False, - transform_kind=2, + transpose_matrix=self.layout == "nt", + transform_kind=self.propagate_b, ) self.ladder_permutate_b = LadderPermutate( config=ladder_permutate_config, @@ -164,7 +187,12 @@ def __init__( else: self.lop3_permutate = None - weight_executors = WeightExecutorCPU() + input_executors = OPExecutorCPU() + if self.ladder_permutate_a is not None: + input_executors.append(self.ladder_permutate_a) + self.input_executors = input_executors + + weight_executors = OPExecutorCPU() if self.lop3_permutate is not None: weight_executors.append(self.lop3_permutate) @@ -173,6 +201,9 @@ def __init__( self.weight_executors = weight_executors + if enable_tuning: + self.hardware_aware_finetune() + def _select_implementation(self): return select_implementation( M=self.M, @@ -190,22 +221,28 @@ def _select_implementation(self): fast_decoding=self.fast_decoding, with_bias=self.with_bias, layout=self.layout, - zeros_type=self.zeros_type, + zeros_mode=self.zeros_mode, propagate_a=self.propagate_a, propagate_b=self.propagate_b, ) def post_process(self, code: str) -> str: - index = code.index("{", match_global_kernel(code)) code = tensor_replace_dp4a(code) - # some tricky judge to decide whether to insert rasterization code - if self.M == 1: - return code - if self.N * self.K > 10**6: - rasterization_code = get_rasterization_code(10) - code = code[: index + 2] + rasterization_code + code[index + 2 :] return code + def retrieve_weight_shape(self): + return [int(i) for i in self.prim_func.buffer_map[self.prim_func.params[1]].shape] + + def forward(self, *args) -> Any: + if self.lib is None: + self._forward_from_torch_func(*args) + dynamic_symbolic = [] + if self.dynamic_range is not None: + # assume we only have one dynamic range + m = args[0].shape[0] + dynamic_symbolic.append(m) + self._forward_from_prebuild_lib(*args, *dynamic_symbolic) + @property def M(self): return self.config.M @@ -275,14 +312,12 @@ def layout(self): return self.config.layout @property - def zeros_type(self): - return self.config.zeros_type + def zeros_mode(self): + return self.config.zeros_mode @property def input_transform(self): - if self.ladder_permutate_a is not None: - return self.ladder_permutate_a - return None + return self.input_executors if self.input_executors.size else None @property def weight_transform(self): diff --git a/python/bitblas/ops/operator.py b/python/bitblas/ops/operator.py index 9cb42c6fa..9585fe499 100644 --- a/python/bitblas/ops/operator.py +++ b/python/bitblas/ops/operator.py @@ -6,27 +6,45 @@ from tvm.target import Target from tvm.tir import PrimFunc from tvm.contrib.dlpack import to_pytorch_func +from tvm._ffi.base import _LIB, raise_last_ffi_error +from tvm._ffi._ctypes.types import TVMValue, ArgTypeCode import bitblas -from typing import List, Dict, Any +import ctypes +from typing import List, Dict, Any, Optional import numpy as np from ..base import fast_tune, fast_tune_with_dynamic_range from copy import deepcopy from bitblas.base.roller.arch import get_arch -from bitblas.utils.tensor_adapter import tvm_tensor_to_torch -import torch +from bitblas.wrapper import CUDASourceWrapper, CUDASourceWrapperWithDynamic +from dataclasses import dataclass +from enum import IntEnum +import logging +logger = logging.getLogger(__name__) + + +class TransformKind(IntEnum): + NonTransform = 0 + InterWarpTransform = 1 + IntraWarpTransform = 2 + + +@dataclass class OperatorConfig: """Base class for operator configurations. Used for typing.""" + pass class Operator(ABC): - def __init__(self, name, target: Target = None): + + def __init__(self, name, config: OperatorConfig, target: Target = None): if isinstance(target, str): target = Target(target) self.name = name + self.config = config self.target = target - self.prim_func_mod = None + self.prim_func_mod = self._select_implementation() self.optimized_func = None self.rt_mod = None self.time_evaluator = None @@ -34,8 +52,16 @@ def __init__(self, name, target: Target = None): self.arch = get_arch(target) if target else None self.dynamic_range = None self.pass_context: Dict = {} + self.num_args = len(self.prim_func.params) + self.function_handle = None + self.num_output_args: int = ( + 1 # todo(lei): should be analyzed from the prim_func. + ) + self.wrapper = None + self.lib_name = None + self.lib = None - def codegen(self, target: Target = None) -> str: + def get_source(self, target: Target = None) -> str: if target is None: target = self.target if self.rt_mod is None: @@ -73,13 +99,16 @@ def tvm_callback_cuda_postproc(code, _): try: # Use a specific TVM pass context for CUDA platforms - with tvm.transform.PassContext(config={"tir.use_async_copy": True, **self.pass_context}): - rt_mod = tvm.build( - self.optimized_func, target=target, name=self.name - ) - except Exception: - # Log the exception for debugging purposes. Replace 'print' with logging if necessary. - print(f"Failed to build optimized function for CUDA target") + with tvm.transform.PassContext(config={ + "tir.use_async_copy": True, + **self.pass_context + }): + rt_mod = tvm.build(self.optimized_func, target=target, name=self.name) + except Exception as e: + rt_build_error = e # noqa + logger.debug( + "Failed to build optimized function for CUDA target with default schedule, Please consider enable hardware aware tuning!" + ) else: # For non-CUDA platforms or when no optimized function is available, build with the primary function rt_mod = tvm.build(self.prim_func, target=target, name=self.name) @@ -89,9 +118,26 @@ def tvm_callback_cuda_postproc(code, _): self.rt_mod = rt_mod # Initialize a time evaluator with the built module, specifying the device and the number of runs self.time_evaluator = rt_mod.time_evaluator( - rt_mod.entry_name, self.arch.device, number=10 - ) + rt_mod.entry_name, self.arch.device, number=10) + self.function_handle = rt_mod.get_function(rt_mod.entry_name).handle self.torch_func = to_pytorch_func(rt_mod) + if self.arch.platform == "CUDA": + try: + if (self.dynamic_range is not None and len(self.optimized_func.functions) > 1): + wrapper = CUDASourceWrapperWithDynamic(self.optimized_func, + self.get_source(target), self.arch) + else: + wrapper = CUDASourceWrapper(self.optimized_func, self.get_source(target), + self.arch) + wrapper.compile_lib() + self.wrapper = wrapper + self.lib_name = self.wrapper.lib_name + self.lib = self.wrapper.load_lib() + self.lib.init() + except Exception as e: + build_runtime_library_error = e + logger.debug( + "Failed to build runtime library {}".format(build_runtime_library_error)) return rt_mod @@ -105,8 +151,7 @@ def apply_default_schedule(self, func_mod: IRModule, target: Target) -> IRModule bitblas.gpu.Reduction(), bitblas.gpu.GeneralReduction(), bitblas.gpu.Fallback(), - )(mod_for_opt) - ) + )(mod_for_opt)) if optimized_mod is not None: return optimized_mod @@ -115,9 +160,11 @@ def apply_default_schedule(self, func_mod: IRModule, target: Target) -> IRModule def post_process(self, code: str) -> str: return code - def apply_fast_tuning( - self, func: PrimFunc, target: Target, topk: int = 20, parallel_build=True - ) -> IRModule: + def apply_fast_tuning(self, + func: PrimFunc, + target: Target, + topk: int = 20, + parallel_build=True) -> IRModule: _, best = fast_tune(func, target, topk=topk, parallel_build=parallel_build) if best is not None: return best.sch.mod @@ -132,35 +179,37 @@ def apply_fast_tuning_with_dynamic_range( dynamic_range: Dict[str, List[int]] = None, ): optimized_mod = fast_tune_with_dynamic_range( - func, target, topk=topk, parallel_build=True, dynamic_range=dynamic_range - ) + func, target, topk=topk, parallel_build=True, dynamic_range=dynamic_range) if optimized_mod is not None: return optimized_mod return None - def hardware_aware_finetune( - self, topk: int = 20, target: tvm.target.Target = None, parallel_build=True - ): + def hardware_aware_finetune(self, + topk: int = 20, + target: tvm.target.Target = None, + parallel_build=True): if target is None: target = self.target dynamic_range = self.dynamic_range func = self.prim_func if dynamic_range is not None: self.optimized_func = self.apply_fast_tuning_with_dynamic_range( - func, target, topk, dynamic_range - ) + func, target, topk, dynamic_range) else: self.optimized_func = self.apply_fast_tuning( - func, target, topk, parallel_build=parallel_build - ) + func, target, topk, parallel_build=parallel_build) self._build_runtime_module(self.target) - def get_profile_tensors(self): + def get_profile_tensors(self, dynamic_symbolic_constrains: Optional[Dict] = None): + if dynamic_symbolic_constrains is None: + dynamic_symbolic_constrains = {} func = self.prim_func device = self.arch.device def var_warpper(v): if isinstance(v, tvm.tir.Var): + if v.name in dynamic_symbolic_constrains: + return dynamic_symbolic_constrains[v.name] assert "opt_shapes" in func.attrs assert v.name in func.attrs["opt_shapes"] return func.attrs["opt_shapes"][v.name].value @@ -177,26 +226,19 @@ def var_warpper(v): arg = func.buffer_map[param] profile_tensors.append( tvm.nd.array( - np.random.uniform(0, 1, [var_warpper(i) for i in arg.shape]).astype( - arg.dtype - ), + np.random.uniform(0, 1, [var_warpper(i) for i in arg.shape]).astype(arg.dtype), device=device, - ) - ) + )) self.profile_tensors = profile_tensors return profile_tensors - def profile_latency(self) -> str: - if self.dynamic_range is not None: - return self._profile_latency_with_dynamic_range() - - profile_tensors = self.get_profile_tensors() + def profile_latency(self, dynamic_symbolic_constrains: Optional[Dict] = None) -> str: + if dynamic_symbolic_constrains is None: + dynamic_symbolic_constrains = {} + profile_tensors = self.get_profile_tensors(dynamic_symbolic_constrains) latency = self.time_evaluator(*profile_tensors).mean * 1e3 return latency - def _profile_latency_with_dynamic_range(self) -> List: - raise NotImplementedError - def _tensor_adapter(self, tensor, device): import torch from torch.utils.dlpack import to_dlpack @@ -210,22 +252,55 @@ def _tensor_adapter(self, tensor, device): else: raise RuntimeError("Not supported type: ", type(tensor)) - def forward_from_torch(self, *args): - # convert tensor from torch to tvm + def _forward_from_tvm_args(self, *args): _tvm_args = [self._tensor_adapter(arg, self.arch.device) for arg in args] self.rt_mod(*_tvm_args) - return tvm_tensor_to_torch(_tvm_args[-1]) - def forward(self, *args): - # "Currently only support forward from torch tensor" - return self.torch_func(*args) + def _forward_from_torch_func(self, *args): + self.torch_func(*args) + return args[-1] - def __call__(self, *args: Any, **kwds: Any) -> Any: - return self.forward(*args, **kwds) + def forward(self, *args): + return self._forward_from_torch_func(*args) + + def _forward_from_prebuild_lib(self, *args): + ctypes_args = [ + ctypes.c_void_p(arr.data_ptr()) if not isinstance(arr, int) else arr for arr in args + ] + self.lib.call(*ctypes_args) + + def _forward_from_tvm_lib_func(self, values): + tcodes = (ctypes.c_int * self.num_args)() + ret_val = TVMValue() + ret_tcode = ctypes.c_int() + for i in range(self.num_args): + tcodes[i] = ArgTypeCode.NDARRAY_HANDLE + if (_LIB.TVMFuncCall( + self.function_handle, + values, + tcodes, + ctypes.c_int(self.num_args), + ctypes.byref(ret_val), + ctypes.byref(ret_tcode), + ) != 0): + raise_last_ffi_error() + + def __call__(self, *args: Any) -> Any: + return self.forward(*args) def update_func(self, func: PrimFunc): self.prim_func_mod["main"] = func + def update_runtime_module(self, rt_mod, lib_name=None): + self.rt_mod = rt_mod + self.time_evaluator = rt_mod.time_evaluator(rt_mod.entry_name, self.arch.device, number=10) + self.function_handle = rt_mod.get_function(rt_mod.entry_name).handle + self.torch_func = to_pytorch_func(rt_mod) + if lib_name is not None: + self.lib_name = lib_name + self.lib = ctypes.CDLL(lib_name) + self.lib.init() + @abstractmethod def _select_implementation(self) -> IRModule: pass diff --git a/python/bitblas/ops/param_permutate.py b/python/bitblas/ops/param_permutate.py new file mode 100644 index 000000000..ca28c86eb --- /dev/null +++ b/python/bitblas/ops/param_permutate.py @@ -0,0 +1,91 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +from tvm.target import Target +from typing import Literal, Union +from .operator import Operator, TransformKind +from .impl.param_permutate_impl import select_implementation +from dataclasses import dataclass + + +@dataclass(frozen=True) +class ParamPermutateConfig: + M: int + N: int + datatype: Literal["float16"] = "float16" + transpose_matrix: bool = True + group_size: int = -1 + propagate_kind: TransformKind = TransformKind.NonTransform + target_instruction: Literal["nvidia-mma"] = ( + "nvidia-mma" # maybe extend to "cdna-mfma" in future. + ) + + def __post_init__(self): + if isinstance(self.propagate_kind, bool): + object.__setattr__( + self, + "propagate_kind", + (TransformKind.IntraWarpTransform + if self.propagate_kind else TransformKind.NonTransform), + ) + elif isinstance(self.propagate_kind, int): + object.__setattr__(self, "propagate_kind", TransformKind(self.propagate_kind)) + + +class ParamPermutate(Operator): + + def __init__( + self, + config: ParamPermutateConfig, + name: str = "permutate", + target: Union[str, Target] = "llvm", # assume to do permutation on cpu. + ): + super().__init__(name, config, target) + + if target.kind.name != "llvm": + raise ValueError("Currently only support llvm target for Permutation") + + self.target = target + self._build_runtime_module(target) + + # select implementation based on the Operator config + def _select_implementation(self): + return select_implementation( + M=self.M, + N=self.N, + datatype=self.datatype, + transpose_matrix=self.transpose_matrix, + group_size=self.group_size, + propagate_kind=self.propagate_kind, + target_instruction=self.target_instruction, + ) + + @property + def M(self): + return self.config.M + + @property + def N(self): + return self.config.N + + @property + def datatype(self): + return self.config.datatype + + @property + def propagate_kind(self): + return self.config.propagate_kind + + @property + def transpose_matrix(self): + return self.config.transpose_matrix + + @property + def group_size(self): + return self.config.group_size + + @property + def target_instruction(self): + return self.config.target_instruction + + +__all__ = ["ParamPermutate", "ParamPermutateConfig"] diff --git a/python/bitblas/quantization/__init__.py b/python/bitblas/quantization/__init__.py index e32f99e33..227cf61a4 100644 --- a/python/bitblas/quantization/__init__.py +++ b/python/bitblas/quantization/__init__.py @@ -1,8 +1,12 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. from .quantization import ( - _tir_packed_int_to_int_to_float, - _tir_packed_uint_to_uint_to_float, - _tir_packed_to_signed_convert, - _tir_packed_to_unsigned_convert, + _tir_packed_int_to_int_to_float, # noqa: F401 + _tir_packed_uint_to_uint_to_float, # noqa: F401 + _tir_packed_to_signed_convert, # noqa: F401 + _tir_packed_to_unsigned_convert, # noqa: F401 + _tir_u32_to_f4_to_f16, # noqa: F401 + _tir_packed_to_unsigned_convert_with_zeros, # noqa: F401 ) + +from .utils import gen_quant4, general_compress # noqa: F401 diff --git a/python/bitblas/quantization/quantization.py b/python/bitblas/quantization/quantization.py index f6efff036..aeecfb874 100644 --- a/python/bitblas/quantization/quantization.py +++ b/python/bitblas/quantization/quantization.py @@ -15,23 +15,25 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -# +# # Modifications Copyright (c) Microsoft. -# The code below is mostly copied from mlc.ai quantization.py in mlc-llm. +# The code below is mostly copied from mlc.ai quantization.py in mlc-llm. # pylint: disable=invalid-name,missing-function-docstring,unused-variable """TIR computation utilities for quantization.""" import tvm from tvm import tir + # fmt: off -def _tir_f32x2_to_bf16x2_to_u32(v0: tir.PrimExpr, v1: tir.PrimExpr, round_to_even: bool=True): +def _tir_f32x2_to_bf16x2_to_u32(v0: tir.PrimExpr, v1: tir.PrimExpr, round_to_even: bool = True): mask = tir.const((1 << 16) - 1, "uint32") res = [] for data in [v0, v1]: u32_val = tir.reinterpret("uint32", data) if round_to_even: - rounding_bias = ((u32_val >> tir.const(16, "uint32")) & tir.const(1, "uint32")) + tir.const(0x7FFF, "uint32") + rounding_bias = ((u32_val >> tir.const(16, "uint32")) + & tir.const(1, "uint32")) + tir.const(0x7FFF, "uint32") u32_val += rounding_bias res.append((u32_val >> tir.const(16, "uint32")) & mask) return res[0] | (res[1] << tir.const(16, "uint32")) @@ -56,7 +58,8 @@ def _tir_packed_uint_to_uint_to_float(storage_nbit: int): def f_convert(nbit: int, val: tir.PrimExpr, pos: tir.PrimExpr, dtype: str): assert val.dtype == storage_dtype, f"{val.dtype} != {storage_dtype}" max_int_value = (1 << (nbit - 1)) - 1 - return ((val >> (pos.astype("uint32") * tir.const(nbit, "uint32"))) & tir.const((1 << nbit) - 1, "uint32")).astype(dtype) - tir.const(max_int_value, dtype) + return ((val >> (pos.astype("uint32") * tir.const(nbit, "uint32"))) & tir.const( + (1 << nbit) - 1, "uint32")).astype(dtype) - tir.const(max_int_value, dtype) return f_convert @@ -68,7 +71,8 @@ def f_convert(nbit: int, val: tir.PrimExpr, pos: tir.PrimExpr, dtype: str): assert val.dtype == storage_dtype, f"{val.dtype} != {storage_dtype}" mask = tir.const((1 << nbit) - 1, "int32") unextended = (val >> (pos.astype("int32") * tir.const(nbit, "int32"))) & mask - return tir.Cast(dtype, (unextended << tir.const(32 - nbit, "int32")) >> tir.const(32 - nbit, "int32")) + return tir.Cast( + dtype, (unextended << tir.const(32 - nbit, "int32")) >> tir.const(32 - nbit, "int32")) return f_convert @@ -82,7 +86,11 @@ def _tir_f32_to_uint_to_f4(val: tir.PrimExpr): m_h = (val_u32 >> tir.const(22, "uint32")) & tir.const(1, "uint32") e_f32 = (val_u32 >> tir.const(23, "uint32")) & tir.const(255, "uint32") s = (val_u32 >> tir.const(31, "uint32")) - e_f4 = tir.Select(e_f32 > tir.const(120, "uint32"), tir.Min(e_f32 - tir.const(120, "uint32") + m_h, tir.const(7, "uint32")), tir.Select(e_f32 == tir.const(120, "uint32"), tir.const(1, "uint32"), tir.const(0, "uint32"))) + e_f4 = tir.Select( + e_f32 > tir.const(120, "uint32"), + tir.Min(e_f32 - tir.const(120, "uint32") + m_h, tir.const(7, "uint32")), + tir.Select(e_f32 == tir.const(120, "uint32"), tir.const(1, "uint32"), + tir.const(0, "uint32"))) return (s << tir.const(3, "uint32")) | e_f4 @@ -92,7 +100,10 @@ def _tir_f16_to_uint_to_f4(val: tir.PrimExpr): m_h = (val_u32 >> tir.const(9, "uint32")) & tir.const(1, "uint32") e_f16 = (val_u32 >> tir.const(10, "uint32")) & tir.const(31, "uint32") s = (val_u32 >> tir.const(15, "uint32")) - e_f4 = tir.Select(e_f16 > tir.const(8, "uint32"), tir.Min(e_f16 - tir.const(8, "uint32") + m_h, tir.const(7, "uint32")), tir.Select(e_f16 == tir.const(8, "uint32"), tir.const(1, "uint32"), tir.const(0, "uint32"))) + e_f4 = tir.Select( + e_f16 > tir.const(8, "uint32"), + tir.Min(e_f16 - tir.const(8, "uint32") + m_h, tir.const(7, "uint32")), + tir.Select(e_f16 == tir.const(8, "uint32"), tir.const(1, "uint32"), tir.const(0, "uint32"))) return (s << tir.const(3, "uint32")) | e_f4 @@ -107,7 +118,8 @@ def _tir_u32_to_f4_to_f32(nbit: int, val: tir.PrimExpr, pos: tir.PrimExpr, dtype s = f4 >> tir.const(3, "uint32") e_f4 = f4 & tir.const(7, "uint32") e_f32 = e_f4 | tir.const(120, "uint32") - val_f32 = tir.reinterpret("float32", (e_f32 | (s << tir.const(8, "uint32"))) << tir.const(23, "uint32")) + val_f32 = tir.reinterpret("float32", + (e_f32 | (s << tir.const(8, "uint32"))) << tir.const(23, "uint32")) return tir.Select(e_f4 == tir.const(0, "uint32"), tir.const(0, "float32"), val_f32) @@ -122,27 +134,44 @@ def _tir_u32_to_f4_to_f16(nbit: int, val: tir.PrimExpr, pos: tir.PrimExpr, dtype s = f4 >> tir.const(3, "uint32") e_f4 = f4 & tir.const(7, "uint32") e_f16 = e_f4 | tir.const(8, "uint32") - val_f16 = tir.reinterpret("float16", (e_f16 | (s << tir.const(5, "uint32"))) << tir.const(10, "uint32")) + val_f16 = tir.reinterpret("float16", + (e_f16 | (s << tir.const(5, "uint32"))) << tir.const(10, "uint32")) return tir.Select(e_f4 == tir.const(0, "uint32"), tir.const(0, "float16"), val_f16) + def _tir_packed_to_signed_convert(storage_type="uint", storage_nbit=8): storage_dtype = storage_type + str(storage_nbit) def f_convert(nbit: int, val: tir.PrimExpr, pos: tir.PrimExpr, dtype: str): assert val.dtype == storage_dtype, f"{val.dtype} != {storage_dtype}" max_int_value = (1 << (nbit - 1)) - 1 - return ((val >> (pos.astype("uint32") * tir.const(nbit, "uint32"))) & tir.const((1 << nbit) - 1, "uint32")).astype(dtype) - tir.const(max_int_value, dtype) + return ((val >> (pos.astype("uint32") * tir.const(nbit, "uint32"))) & tir.const( + (1 << nbit) - 1, "uint32")).astype(dtype) - tir.const(max_int_value, dtype) return f_convert + def _tir_packed_to_unsigned_convert(storage_type="uint", storage_nbit=8): storage_dtype = storage_type + str(storage_nbit) - def f_convert( - nbit: int, val: tvm.tir.PrimExpr, pos: tvm.tir.PrimExpr, dtype: str - ): + def f_convert(nbit: int, val: tvm.tir.PrimExpr, pos: tvm.tir.PrimExpr, dtype: str): assert val.dtype == storage_dtype, f"{val.dtype} != {storage_dtype}" mask = tvm.tir.const((1 << nbit) - 1, storage_dtype) return ((val >> (pos * nbit).astype(storage_dtype)) & mask).astype(dtype) + return f_convert + + +def _tir_packed_to_unsigned_convert_with_zeros(storage_type="uint", storage_nbit=8): + storage_dtype = storage_type + str(storage_nbit) + + def f_convert(nbit: int, val: tvm.tir.PrimExpr, pos: tvm.tir.PrimExpr, zero: tvm.tir.PrimExpr, + dtype: str): + assert val.dtype == storage_dtype, f"{val.dtype} != {storage_dtype}" + mask = tvm.tir.const((1 << nbit) - 1, storage_dtype) + return (((val >> (pos * nbit).astype(storage_dtype)) & mask) - zero).astype(dtype) + + return f_convert + + # fmt: on diff --git a/python/bitblas/quantization/utils.py b/python/bitblas/quantization/utils.py index 4ac3a60a1..3d369afe4 100644 --- a/python/bitblas/quantization/utils.py +++ b/python/bitblas/quantization/utils.py @@ -1,6 +1,54 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. import numpy as np +import torch +import torch.nn as nn + + +def gen_quant4(k, n, groupsize=-1): + maxq = 2**4 - 1 + w = torch.randn((k, n), dtype=torch.half, device="cpu") + + original_w = w.clone() + + if groupsize == -1: + groupsize = k + + if groupsize != -1: + w = w.reshape((-1, groupsize, n)) + w = w.permute(1, 0, 2) + w = w.reshape((groupsize, -1)) + + s = torch.max(torch.abs(w), 0, keepdim=True)[0] + s *= 2 / maxq + + # Quantize. + w = torch.round(w / s).int() + + # Unsigned storage. + w += (maxq) // 2 + + w = torch.clamp(w, 0, maxq) + + # Dequantize. + ref = (w - (maxq) // 2).half() * s + + if groupsize != -1: + + def reshape(w): + w = w.reshape((groupsize, -1, n)) + w = w.permute(1, 0, 2) + w = w.reshape((k, n)).contiguous() + return w + + ref = reshape(ref) + w = reshape(w) + + s = s.reshape((-1, n)).contiguous() + linear = nn.Linear(k, n, bias=False) + linear.weight.data = ref.t() + + return original_w, linear, s, (w - (maxq) // 2) def general_compress(lowprecision_weight, source_bits=4, storage_dtype=np.int8): @@ -16,9 +64,7 @@ def general_compress(lowprecision_weight, source_bits=4, storage_dtype=np.int8): ) for j in range(lowprecision_weight.shape[-1] // elems_per_byte): for k in range(elems_per_byte): - int8_weight[:, j] |= lowprecision_weight[:, j * elems_per_byte + k] << ( - source_bits * k - ) + int8_weight[:, j] |= lowprecision_weight[:, j * elems_per_byte + k] << (source_bits * k) return int8_weight.view(storage_dtype) diff --git a/python/bitblas/relax/transform/annotate_decode_block.py b/python/bitblas/relax/transform/annotate_decode_block.py index c08f55db6..601647839 100644 --- a/python/bitblas/relax/transform/annotate_decode_block.py +++ b/python/bitblas/relax/transform/annotate_decode_block.py @@ -22,6 +22,7 @@ # Define a module pass to annotate dequantization information @module_pass(opt_level=0, name="AnnotateDecodeInformation") class AnnotateDecodeInformation: + def __init__(self, spec: str = "q4f16_0"): # Validate and store the specified quantization scheme if spec not in quantization_schemes: @@ -80,24 +81,18 @@ def transform_module(self, mod: IRModule, _: PassContext) -> IRModule: mod[g_var] = func.with_attr("dequantize_info", dequantize_info) return mod - def prepare_dequantize_info( - self, sch: tir.Schedule, dequantize_block: BlockRV - ) -> Dict: + def prepare_dequantize_info(self, sch: tir.Schedule, dequantize_block: BlockRV) -> Dict: """Generate dequantize information for a given block.""" block_stmt = sch.get(dequantize_block) block_name = block_stmt.name_hint - dequantize_info = { - block_name: {"decode_block": block_name, "fast_decoding": False} - } + dequantize_info = {block_name: {"decode_block": block_name, "fast_decoding": False}} quantize_spec = self.quantize_scheme.linear_weight if isinstance(quantize_spec, GroupQuantizationSpec): - dequantize_info[block_name].update( - { - "with_scaling": True, - "group_size": quantize_spec.group_size, - } - ) + dequantize_info[block_name].update({ + "with_scaling": True, + "group_size": quantize_spec.group_size, + }) # Determine source format based on quantization mode quantize_mod = quantize_spec.mode @@ -124,8 +119,5 @@ def parse_quantize_mode(self, quantize_mod: str) -> Tuple[int, str]: def get_storage_dtype(self, block_stmt: BlockRV, source_format: str) -> str: """Determine storage data type based on source format.""" - return ( - block_stmt.reads[0].buffer.dtype - if "af" not in source_format - else block_stmt.reads[1].buffer.dtype - ) + return (block_stmt.reads[0].buffer.dtype + if "nf" not in source_format else block_stmt.reads[1].buffer.dtype) diff --git a/python/bitblas/relax/transform/weight_only_propagate.py b/python/bitblas/relax/transform/weight_only_propagate.py index 309068f40..8240a0fd8 100644 --- a/python/bitblas/relax/transform/weight_only_propagate.py +++ b/python/bitblas/relax/transform/weight_only_propagate.py @@ -21,8 +21,7 @@ layout_propagate_chain, ) from tvm.dlight.base import ( - analysis, -) + analysis,) from dataclasses import dataclass @@ -86,6 +85,7 @@ class LayoutTransformHint: @module_pass(opt_level=0, name="InsertLayoutTransform") class WeightOnlyLayoutPropagation: + def __init__( self, transform_level: Union[int, TransformKind] = TransformKind.InterWarpTransform, @@ -109,17 +109,14 @@ def __init__( self.layout_transform_hints: Dict[str, List[LayoutTransformHint]] = {} def detect_propagate_matmul(self, func: tir.PrimFunc, target: Target): - _, tags = get_tensorized_func_and_tags( - func, target, skip_normalize=True, allow_gemv=True - ) + _, tags = get_tensorized_func_and_tags(func, target, skip_normalize=True, allow_gemv=True) if tags is None: return False, None return True, tags["intrin_info"] def transform_matmul(self, g_var: GlobalVar, func: tir.PrimFunc, intrin_info): from tvm.tir.tensor_intrin.cuda import ( # pylint: disable=import-outside-toplevel - get_mma_intrin_group, - ) + get_mma_intrin_group,) sch = tir.Schedule(func) root_block = analysis.get_root_block(sch) @@ -147,20 +144,13 @@ def transform_matmul(self, g_var: GlobalVar, func: tir.PrimFunc, intrin_info): # checkout whether the weight buffer has dynamic symbol def check_dynamic_symbol(buffer): - for axis in buffer.shape: - if isinstance(axis, tir.Var): - return True - return False + return any([isinstance(axis, tir.Var) for axis in buffer.shape]) if check_dynamic_symbol(weight_buffer): - print( - "[BitBLAS] Weight buffer has dynamic symbol, skip weight propagation." - ) + print("[BitBLAS] Weight buffer has dynamic symbol, skip weight propagation.") return False - transformed_block = find_last_producer_from_buffer( - sch, main_block, weight_buffer - ) + transformed_block = find_last_producer_from_buffer(sch, main_block, weight_buffer) if transformed_block is None: return False if transformed_block != main_block: @@ -170,8 +160,7 @@ def check_dynamic_symbol(buffer): # create inter-warp memory layout index map inter_warp_layout = IndexMap.from_func( - lambda i, j: (i // inter_j, j // inter_k, i % inter_j, j % inter_k) - ) + lambda i, j: (i // inter_j, j // inter_k, i % inter_j, j % inter_k)) inter_warp_layout = layout_propagate_chain( sch, @@ -186,9 +175,8 @@ def check_dynamic_symbol(buffer): ("read", 0), lambda i, j: inter_warp_layout.map_indices([i, j]), ) - arg_idx = find_arg_idx_from_buffer_chain( - sch, reindex_block, sch.get(reindex_block).reads[0].buffer - ) + arg_idx = find_arg_idx_from_buffer_chain(sch, reindex_block, + sch.get(reindex_block).reads[0].buffer) intra_warp_layout = None if self.transform_level.value >= TransformKind.IntraWarpTransform.value: @@ -230,8 +218,8 @@ def transform_module( # pylint: disable=missing-function-docstring # currently weight propagation only support nvidia gpus return mod - propogate_candidates = {} - propogated_funcs = {} # some funcs may not be able to transform + propagate_candidates = {} + propagated_funcs = {} # some funcs may not be able to transform candidates_intrin_info = {} decoded_funcs = {} for g_var, func in mod.functions_items(): @@ -243,10 +231,7 @@ def transform_module( # pylint: disable=missing-function-docstring # detect the pattern is_matmul, intrin_info = self.detect_propagate_matmul(func, self.target) - if ( - func.attrs is not None - and "dlight.do_not_tensorize" in func.attrs.keys() - ): + if (func.attrs is not None and "dlight.do_not_tensorize" in func.attrs.keys()): # currently we only support tensorize propagation continue @@ -255,21 +240,17 @@ def transform_module( # pylint: disable=missing-function-docstring decoded_funcs[g_var] = func if self.transform_level != TransformKind.NonTransform: # lift tags to the function as it has intrinsic information that can be reused. - propogate_candidates[g_var] = func + propagate_candidates[g_var] = func candidates_intrin_info[g_var] = intrin_info - for g_var, func in propogate_candidates.items(): - updated_func = self.transform_matmul( - g_var, func, candidates_intrin_info[g_var] - ) + for g_var, func in propagate_candidates.items(): + updated_func = self.transform_matmul(g_var, func, candidates_intrin_info[g_var]) if updated_func: - updated_func = updated_func.with_attrs( - { - "transform_kind": self.transform_level.value, - "smooth_b": True, - } - ) - propogated_funcs[g_var] = updated_func + updated_func = updated_func.with_attrs({ + "transform_kind": self.transform_level.value, + "weight_transform_kind": True, + }) + propagated_funcs[g_var] = updated_func mod[g_var] = updated_func @relax.expr_functor.mutator @@ -279,8 +260,10 @@ class TensorCoreLayoutMutator(PyExprMutator): def __init__( self, transform_level: TransformKind = TransformKind.NonTransform, - layout_transform_hints: Dict[str, List[LayoutTransformHint]] = {}, + layout_transform_hints: Optional[Dict[str, List[LayoutTransformHint]]] = None, ): + if layout_transform_hints is None: + layout_transform_hints = {} super().__init__() self.transform_level = transform_level self.layout_transform_hints = layout_transform_hints @@ -289,7 +272,7 @@ def tc_layout_transform(self, call_node: Call) -> Call: if self.transform_level == TransformKind.NonTransform: return super().visit_call_(call_node) g_var = call_node.args[0] - if g_var not in propogated_funcs.keys(): + if g_var not in propagated_funcs: return super().visit_call_(call_node) args = list(call_node.args[1]) # assume we only have weight propagation currently @@ -299,10 +282,8 @@ def tc_layout_transform(self, call_node: Call) -> Call: relax.op.layout_transform( weight, index_map=lambda i, j: weight_layout_hint.inter_warp_layout.map_indices( - [i, j] - ), - ) - ) + [i, j]), + )) if self.transform_level.value >= TransformKind.IntraWarpTransform.value: weight = self.builder_.emit( relax.op.layout_transform( @@ -310,22 +291,17 @@ def tc_layout_transform(self, call_node: Call) -> Call: index_map=lambda i, j, ii, jj: ( i, j, - *weight_layout_hint.intra_warp_layout.map_indices( - [ii, jj] - ), + *weight_layout_hint.intra_warp_layout.map_indices([ii, jj]), ), - ) - ) + )) call_node = self.builder_.emit( relax.call_tir( g_var, - args[: weight_layout_hint.apply_arg_idx] - + [weight] - + args[weight_layout_hint.apply_arg_idx + 1 :], + args[:weight_layout_hint.apply_arg_idx] + [weight] + + args[weight_layout_hint.apply_arg_idx + 1:], out_sinfo=call_node.struct_info, - ) - ) + )) return call_node def visit_call_(self, call_node: Call): @@ -365,7 +341,7 @@ def lop3_layout_transform(self, call_node: Call) -> Call: from bitblas.ops.impl import tir_interleave_weight g_var = call_node.args[0] - if g_var not in decoded_funcs.keys(): + if g_var not in decoded_funcs: return super().visit_call_(call_node) args = list(call_node.args[1]) @@ -379,34 +355,30 @@ def lop3_layout_transform(self, call_node: Call) -> Call: sch = tir.Schedule(func) dequantize_block = sch.get_block(weight_dequantize_info["decode_block"]) - # weight is the first read buffer if format in ["int", "uint"], otherwise the second read buffer, af .etc + # weight is the first read buffer if format in ["int", "uint"], otherwise the second read buffer, nf .etc source_format = weight_dequantize_info["source_format"]["format"] source_bits = weight_dequantize_info["source_format"]["bits"] target_dtype = weight_dequantize_info["target_format"] if source_format in ["int", "uint"]: weight_buffer = sch.get(dequantize_block).reads[0].buffer - elif source_format in ["af"]: + elif source_format in ["nf"]: weight_buffer = sch.get(dequantize_block).reads[1].buffer else: raise ValueError(f"Unsupported source format {source_format}") # update func with dequantize_info dequantize_info["fast_decoding"] = True - self.builder_.update_func( - g_var, func.with_attrs({"dequantize_info": dequantize_info}) - ) + self.builder_.update_func(g_var, + func.with_attrs({"dequantize_info": dequantize_info})) - weight_idx = find_arg_idx_from_buffer_chain( - sch, dequantize_block, weight_buffer - ) + weight_idx = find_arg_idx_from_buffer_chain(sch, dequantize_block, weight_buffer) weight = args[weight_idx] weight_shape = weight_buffer.shape # reshape the weight shape to 2d reshape_weight = self.builder_.emit( - relax.op.reshape(weight, (-1, weight_shape[-1])) - ) + relax.op.reshape(weight, (-1, weight_shape[-1]))) # register g_var to the func lop3_interleave_func = tir_interleave_weight( N=reshape_weight.struct_info.shape[0], @@ -424,18 +396,15 @@ def lop3_layout_transform(self, call_node: Call) -> Call: interleave_gvar, [reshape_weight], out_sinfo=reshape_weight.struct_info, - ), - ) + ),) reshape_weight = self.builder_.emit( - relax.op.reshape(lop3_interleave_weight, weight_shape) - ) + relax.op.reshape(lop3_interleave_weight, weight_shape)) call_node = self.builder_.emit( relax.call_tir( g_var, - args[:weight_idx] + [reshape_weight] + args[weight_idx + 1 :], + args[:weight_idx] + [reshape_weight] + args[weight_idx + 1:], out_sinfo=call_node.struct_info, - ), - ) + ),) return call_node @@ -457,7 +426,6 @@ def transform( return mod mod = FastTypeConversionLayoutMutator( - faster_conversion=self.faster_conversion - ).transform(mod) + faster_conversion=self.faster_conversion).transform(mod) mod = relax.transform.LegalizeOps()(mod) return mod diff --git a/python/bitblas/testing/__init__.py b/python/bitblas/testing/__init__.py index 3f1236901..24f896bd8 100644 --- a/python/bitblas/testing/__init__.py +++ b/python/bitblas/testing/__init__.py @@ -5,18 +5,21 @@ import pytest from bitblas.base import DefaultPolicy, TensorCorePolicy from bitblas.gpu.matmul_analysis import get_tensorized_func_and_tags + + # pytest.main() wrapper to allow running single test file def main(): test_file = inspect.getsourcefile(sys._getframe(1)) sys.exit(pytest.main([test_file] + sys.argv[1:])) + def debug_with_schedule(func, arch, sch_rule): policy = DefaultPolicy(func=func, arch=arch) try: tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) - except: + except Exception: tags = None if tags: policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) configs = policy.emit_config(1) - return sch_rule.apply_config(configs[0]) + return sch_rule.apply_config(func, configs[0]) diff --git a/python/bitblas/utils/__init__.py b/python/bitblas/utils/__init__.py index 59c7388cc..1c3748dfb 100644 --- a/python/bitblas/utils/__init__.py +++ b/python/bitblas/utils/__init__.py @@ -1,8 +1,5 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. -from .post_process import match_global_kernel, tensor_replace_dp4a -from .tensor_adapter import tvm_tensor_to_torch -import os - -def get_target_from_env() -> str: - return os.environ.get("TVM_TARGET") or "cuda" +from .post_process import match_global_kernel, tensor_replace_dp4a # noqa: F401 +from .tensor_adapter import tvm_tensor_to_torch # noqa: F401 +from .target_detector import auto_detect_nvidia_target # noqa: F401 diff --git a/python/bitblas/utils/post_process.py b/python/bitblas/utils/post_process.py index 328d5401b..12f785ee0 100644 --- a/python/bitblas/utils/post_process.py +++ b/python/bitblas/utils/post_process.py @@ -11,10 +11,8 @@ def match_global_kernel(source: str) -> int: def tensor_replace_dp4a(source: str) -> str: - # as under block reduction in tir dsl, the dp4a tensorize will fail, so we should do dp4a in post processer. + # as under block reduction in tir dsl, the dp4a tensorize will fail, so we should do dp4a in post processor. pattern = r"""for\s*\(int\s*(?P\w+)\s*=\s*0;\s*\1\s*<\s*4;\s*\+\+\1\)\s*\{\s*(?P\w+)\[0\]\s*=\s*\(\2\[0\]\s*\+\s*\(\(\(int\)(?P\w+)\[\(\((?P\w+)\s*\*\s*4\)\s*\+\s*\1\)\]\)\s*\*\s*\(\(int\)(?P\w+)\[\(\((?P\w+)\s*\*\s*4\)\s*\+\s*\1\)\]\)\)\);\s*\}""" - replacement = ( - r"""\2[0] = __dp4a(*(int *)&\3[((\4 * 4))],*(int *)&\5[((\6 * 4))], \2[0]);""" - ) + replacement = (r"""\2[0] = __dp4a(*(int *)&\3[((\4 * 4))],*(int *)&\5[((\6 * 4))], \2[0]);""") source = re.sub(pattern, replacement, source) return source diff --git a/python/bitblas/utils/target_detector.py b/python/bitblas/utils/target_detector.py new file mode 100644 index 000000000..04cd4dc21 --- /dev/null +++ b/python/bitblas/utils/target_detector.py @@ -0,0 +1,68 @@ +# Import necessary libraries +import os +import subprocess +import logging +from fuzzywuzzy import process +from tvm.target import Target +from tvm.target.tag import list_tags + +logger = logging.getLogger(__name__) + + +def get_gpu_model_from_nvidia_smi(): + """ + Executes the 'nvidia-smi' command to fetch the name of the first available NVIDIA GPU. + + Returns: + str: The name of the GPU, or None if 'nvidia-smi' command fails. + """ + try: + # Execute nvidia-smi command to get the GPU name + output = subprocess.check_output( + ["nvidia-smi", "--query-gpu=gpu_name", "--format=csv,noheader"], + encoding="utf-8", + ).strip() + except subprocess.CalledProcessError as e: + logger.info("nvidia-smi failed with error: %s", e) + return None + + # Return the name of the first GPU if multiple are present + return output.split("\n")[0] + + +def find_best_match(tags, query): + """ + Finds the best match for a query within a list of tags using fuzzy string matching. + """ + MATCH_THRESHOLD = 25 + best_match, score = process.extractOne(query, tags) + + def check_target(best, default): + return best if Target(best).arch == Target(default).arch else default + + if check_target(best_match, "cuda"): + return best_match if score >= MATCH_THRESHOLD else "cuda" + else: + return "cuda" + + +def auto_detect_nvidia_target() -> str: + """ + Automatically detects the NVIDIA GPU architecture to set the appropriate TVM target. + + Returns: + str: The detected TVM target architecture. + """ + # Return a predefined target if specified in the environment variable + # if "TVM_TARGET" in os.environ: + # return os.environ["TVM_TARGET"] + + # Fetch all available tags and filter for NVIDIA tags + all_tags = list_tags() + nvidia_tags = [tag for tag in all_tags if "nvidia" in tag] + + # Get the current GPU model and find the best matching target + gpu_model = get_gpu_model_from_nvidia_smi() + target = find_best_match(nvidia_tags, gpu_model) if gpu_model else "cuda" + + return target diff --git a/python/bitblas/utils/tensor_adapter.py b/python/bitblas/utils/tensor_adapter.py index 7708cc40c..0f7eeefa9 100644 --- a/python/bitblas/utils/tensor_adapter.py +++ b/python/bitblas/utils/tensor_adapter.py @@ -2,12 +2,86 @@ # Licensed under the MIT License. import tvm from typing import Union +from enum import IntEnum +import torch +from torch.utils.dlpack import from_dlpack, to_dlpack +from tvm.relay import TensorType +from tvm._ffi.base import _LIB, c_str +from tvm._ffi._ctypes.types import TVMValue, check_call +from tvm._ffi.runtime_ctypes import ( + TVMArrayHandle,) +import ctypes + +TVMPyCapsuleDestructor = ctypes.CFUNCTYPE(None, ctypes.c_void_p) +_c_str_dltensor = c_str("dltensor") +_c_str_used_dltensor = c_str("used_dltensor") + + +def get_values_from_torch_tensors(tensors, num_args): + values = (TVMValue * num_args)() + dlpack_tensors = [to_dlpack(torch_tensor) for torch_tensor in tensors] + for i, dltensor in enumerate(dlpack_tensors): + dltensor = ctypes.py_object(dltensor) + if ctypes.pythonapi.PyCapsule_IsValid(dltensor, _c_str_dltensor): + ptr = ctypes.pythonapi.PyCapsule_GetPointer(dltensor, _c_str_dltensor) + # enforce type to make sure it works for all ctypes + ptr = ctypes.cast(ptr, ctypes.c_void_p) + handle = TVMArrayHandle() + check_call(_LIB.TVMArrayFromDLPack(ptr, ctypes.byref(handle))) + # ndarray = tvm.runtime.ndarray._make_array(handle, False, False) + ctypes.pythonapi.PyCapsule_SetName(dltensor, _c_str_used_dltensor) + ctypes.pythonapi.PyCapsule_SetDestructor(dltensor, TVMPyCapsuleDestructor(0)) + values[i].v_handle = ctypes.cast(handle, ctypes.c_void_p) + else: + raise ValueError("Invalid DLTensor") + return values + + +class TensorSupplyType(IntEnum): + Integer = 1 + Uniform = 2 + Normal = 3 + Randn = 4 + Zero = 5 + One = 6 -def tvm_tensor_to_torch(tensor: Union[tvm.te.Tensor, tvm.nd.NDArray]): - import torch - from torch.utils.dlpack import from_dlpack +def get_tensor_supply(supply_type: TensorSupplyType, opt_shapes: dict = None): + + def var_wrapper(v, opt_shapes): + if isinstance(v, tvm.tir.Var): + assert opt_shapes + assert v.name in opt_shapes + return opt_shapes[v.name] + elif isinstance(v, tvm.tir.IntImm): + return v.value + else: + raise RuntimeError("Not supported type: ", type(v)) + + def get_tensor(tensor: TensorType) -> torch.Tensor: + dtype = torch.__getattribute__(str(tensor.dtype)) + device = torch.cuda.current_device() + shape = [var_wrapper(i, opt_shapes) for i in tensor.shape] + if supply_type == TensorSupplyType.Integer: + return torch.randint(low=-2, high=3, size=shape, device=device, dtype=dtype) + elif supply_type == TensorSupplyType.Uniform: + return torch.empty(*shape, device=device, dtype=dtype).uniform_(-1.0, 1.0) + elif supply_type == TensorSupplyType.Normal: + return torch.empty(*shape, device=device, dtype=dtype).normal_(-1.0, 1.0) + elif supply_type == TensorSupplyType.Randn: + return torch.randn(*shape, device=device).to(dtype) + elif supply_type == TensorSupplyType.Zero: + return torch.zeros(*shape, device=device, dtype=dtype) + elif supply_type == TensorSupplyType.One: + return torch.ones(*shape, device=device, dtype=dtype) + else: + raise NotImplementedError(supply_type) + + return get_tensor + + +def tvm_tensor_to_torch(tensor: Union[tvm.te.Tensor, tvm.nd.NDArray]): if isinstance(tensor, tvm.te.Tensor): return torch.from_numpy(tensor.numpy()) elif isinstance(tensor, tvm.nd.NDArray): diff --git a/python/bitblas/wrapper/__init__.py b/python/bitblas/wrapper/__init__.py new file mode 100644 index 000000000..1d87f8020 --- /dev/null +++ b/python/bitblas/wrapper/__init__.py @@ -0,0 +1,4 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +from .general import CUDASourceWrapper, CUDASourceWrapperWithDynamic # noqa: F401 diff --git a/python/bitblas/wrapper/general.py b/python/bitblas/wrapper/general.py new file mode 100644 index 000000000..cca40cfb9 --- /dev/null +++ b/python/bitblas/wrapper/general.py @@ -0,0 +1,507 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +import tvm +from typing import Optional, List, Dict, Union +from tvm import IRModule +from bitblas import TileDevice +from tvm.runtime import ndarray +from bitblas.utils import match_global_kernel +import re +import ctypes +import os +import tempfile +import subprocess +import logging +from tvm.driver import lower +from tvm.target import Target + +logger = logging.getLogger(__name__) + +_TYPE_MAP = { + "float32": "float", + "float16": "half", + "bfloat16": "__nv_bfloat162", + "float64": "double", + "int64": "int64_t", + "int32": "int", + "uint32": "unsigned int", + "bool": "int8_t", + "int8": "int8_t", + "uint8": "uint8_t", + "int16": "int16_t", + "uchar": "uint8_t", +} + + +def get_annotated_device_mod(mod: IRModule, target: Target): + """ + Lower the given IRModule and create a device module for the specified target. + + Parameters: + - mod: The input IRModule. + - target: The compilation target. + + Returns: + - A device module ready for execution. + """ + input_mod = lower(mod) + target_input_mod = {target: input_mod} + annotated_mods = {} + runtime = None + target_host = None + for tgt, mod in target_input_mod.items(): + if not isinstance(tgt, (str, Target)): + raise ValueError("The key of inputs must be str or " + "Target when inputs is dict.") + if not isinstance(mod, tvm.IRModule): + raise ValueError("inputs must be Schedule, IRModule, " + "or dict of str to IRModule.") + annotated_mods[tgt] = mod.with_attr("runtime", runtime) + annotated_mods, target_host = Target.canon_target_map_and_host(annotated_mods, target_host) + if not target_host: + for tar, _ in annotated_mods.items(): + device_type = ndarray.device(tar.kind.name, 0).device_type + if device_type == ndarray.cpu(0).device_type: + target_host = tar + break + if not target_host: + target_host = "llvm" if tvm.runtime.enabled("llvm") else "stackvm" + annotated_mods, target_host = Target.canon_target_map_and_host(annotated_mods, target_host) + for target, mod in annotated_mods.items(): + mixed_mod_passes = tvm.get_global_func("driver.mixed_mod_passes") + device_mod_passes = tvm.get_global_func("driver.device_mod_passes") + mod = mixed_mod_passes(mod, target)(mod) + device_mod = device_mod_passes(mod, target)(mod) + return device_mod + + +def get_thread_block_information(mod: IRModule): + """ + Extracts the thread block and grid dimensions for the reduction block within a given IRModule. + + Parameters: + - mod: The input IRModule from which to extract thread block and grid information. + + Returns: + A tuple containing two lists: + - The first list contains the dimensions of the thread block (threadIdx.x, threadIdx.y, threadIdx.z). + - The second list contains the dimensions of the grid (blockIdx.x, blockIdx.y, blockIdx.z). + """ + + # Initialize the schedule from the IRModule + sch = tvm.tir.Schedule(mod) + + # Get the root block and its child blocks + root_block = sch.get_block("root") + child_blocks = sch.get_child_blocks(root_block) + + # Initialize default block and grid dimensions (1, 1, 1) + block_dims, grid_dims = [1, 1, 1], [1, 1, 1] + + for block in child_blocks: + # Get the loops surrounding the main block + loops = sch.get_loops(block) + + # Iterate over each loop to extract thread and block bindings + for loop in loops: + stmt = sch.get(loop) + thread_binding = stmt.thread_binding + extent = int(stmt.extent) + + # Skip loops without thread binding + if thread_binding: + if "threadIdx" in thread_binding.thread_tag: + block_dims["xyz".index(thread_binding.thread_tag[-1])] = extent + elif "blockIdx" in thread_binding.thread_tag: + grid_dims["xyz".index(thread_binding.thread_tag[-1])] = extent + + return block_dims, grid_dims + + +class CUDASourceWrapper(object): + + def __init__(self, optimized_mod: IRModule, source: str, arch: TileDevice): + self.mod = optimized_mod + self.arch = arch + self.source = source + self.function_name: Optional[str] = None + self.dynamic_smem_buf: Optional[int] = None + self.block_info: Union[List[int], Dict] = [1, 1, 1] + self.grid_info: Union[List[int], Dict] = [1, 1, 1] + self.parse_source_information() + self.src_name: Optional[str] = None + self.lib_name: Optional[str] = None + self.lib_code: Optional[str] = self.update_lib_code(source) + + def load_lib(self): + return ctypes.CDLL(self.lib_name) + + def remove_lib(self): + if self.lib_name: + os.remove(self.lib_name) + self.lib_name = None + + def compile_lib(self, timeout: float = None): + arch = self.arch + src = tempfile.NamedTemporaryFile(mode="w", suffix=".cu", delete=False) + compute_version = arch.compute_capability + lib_name = src.name.replace(".cu", ".so") + + command = [ + "nvcc", + "-std=c++17", + "-Xcudafe", + "--diag_suppress=177", + "--compiler-options", + "'-fPIC'", + "-lineinfo", + "--shared", + src.name, + "-lcuda", + f"-gencode=arch=compute_{compute_version},code=compute_{compute_version}", + "-o", + lib_name, + ] + src.write(self.lib_code) + src.flush() + try: + ret = subprocess.run(command, timeout=timeout) + except subprocess.TimeoutExpired: + logger.warning(f"Compilation Timeout! {command}") + return None + if ret.returncode != 0: + logger.warning(f"Compilation Failed! {command}") + return None + self.src_name = src.name + self.lib_name = lib_name + + def parse_source_information(self): + device_mod = get_annotated_device_mod(self.mod, self.arch.target) + assert (len(device_mod.functions) == 1 + ), "Only support one function in the module for static shape kernel." + for g_var, func in device_mod.functions.items(): + self.function_name = g_var.name_hint + attrs = func.attrs + if "dyn_shared_memory_buf" in attrs: + self.dynamic_smem_buf = int(attrs["dyn_shared_memory_buf"]) + if "thread_extent" in attrs: + thread_extent = attrs["thread_extent"] + for tag, extent in thread_extent.items(): + if "threadIdx" in tag: + self.block_info["xyz".index(tag[-1])] = extent + elif "blockIdx" in tag: + self.grid_info["xyz".index(tag[-1])] = extent + + def get_dynamic_symbolic_set(self, prim_func): + # Determine the set of dynamic symbols used in the function + dynamic_symbolic_set = set() + for param in prim_func.params: + buffer = prim_func.buffer_map[param] + for dim in buffer.shape: + if isinstance(dim, tvm.tir.Var): + dynamic_symbolic_set.add(dim.name) + return dynamic_symbolic_set + + def get_cuda_init_func(self): + # Initialize an empty string for the CUDA function call + call_str = """""" + # If dynamic shared memory buffer is specified, prepare the cudaFuncSetAttribute call + if self.dynamic_smem_buf is not None: + call_str = """ + cudaFuncSetAttribute({}, + cudaFuncAttributeMaxDynamicSharedMemorySize, {}); + """.format(self.function_name, self.dynamic_smem_buf) + # Format the initialization function using the call_str + init_funcs = """ + extern "C" void init() {{ + {} + }} + """.format(call_str) + return init_funcs + + def update_lib_code(self, code: str): + # Update the library code with the given code string + self.lib_code = code + # Find the index of the global kernel function in the code + index = match_global_kernel(code) + # Extract the declaration of the function starting from the found index + declaration = code[index:].split(";")[0] + + function_name = self.function_name + # Get the CUDA initialization function + init_func = self.get_cuda_init_func() + + # Locate the opening brace of the function to insert arguments + index = code.index("{", index) + function_args = [] + # Populate the function arguments from the primary function's parameters and buffers + for param in self.prim_func.params: + buffer = self.prim_func.buffer_map[param] + function_args.append({ + "name": buffer.name, + "type": _TYPE_MAP[buffer.dtype] + "* __restrict__", + }) + + dynamic_symbolic_set = self.get_dynamic_symbolic_set(self.prim_func) + # Add dynamic symbolic parameters as integers to the function arguments + for dyn_sym in dynamic_symbolic_set: + function_args.append({"name": dyn_sym, "type": "int"}) + + # Format the function arguments for declaration + def_args = ", ".join([f"{arg['type']} {arg['name']}" for arg in function_args]) + + def func_call_args(s, function_args): + # Extract the function call arguments matching the function definition + pattern = r"[,\s]*(?:\w+\s*\*+\s*__restrict__\s+)?(\w+)" + matches = re.findall(pattern, s) + call_args = [] + for match in matches: + for arg in function_args: + if arg["name"] == match: + call_args.append(match) + return call_args + + call_args = ", ".join(func_call_args(declaration, function_args)) + block_info, grid_info = self.block_info, self.grid_info + + def legalize_c(p): + # Convert TIR expressions to legal C expressions + # Directly convert to string since the special case handling + # does not alter the string representation for `tvm.tir.Var` and `IntImm`. + # Replace Python's floor division operator with C's division operator + if isinstance(p, tvm.tir.IntImm): + p = int(p) + return str(p).replace("//", "/") + + # Prepare the block and grid dimensions for the CUDA kernel launch + block_str = "dim3({}, {}, {})".format( + legalize_c(block_info[0]), + legalize_c(block_info[1]), + legalize_c(block_info[2]), + ) + grid_str = "dim3({}, {}, {})".format( + legalize_c(grid_info[0]), legalize_c(grid_info[1]), legalize_c(grid_info[2])) + # Determine the shared memory size, defaulting to 0 if not specified + smem_str = 0 if self.dynamic_smem_buf is None else self.dynamic_smem_buf + # Format the CUDA kernel launch string + call_str = "{}<<<{}, {}, {}>>>({});".format(function_name, grid_str, block_str, smem_str, + call_args) + # Create the host function wrapper for the CUDA kernel + host_func = """ + extern "C" void call({}) {{ + {} + }} + """.format(def_args, call_str) + # Combine the source, initialization function, and host function to form the complete library code + lib_code = self.source + init_func + host_func + return lib_code + + @property + def prim_func(self): + return self.mod["main"] + + +class CUDASourceWrapperWithDynamic(CUDASourceWrapper): + + def __init__(self, optimized_mod: IRModule, source: str, arch: TileDevice): + super().__init__(optimized_mod, source, arch) + + def get_cuda_init_func(self): + # Initialize an empty string to accumulate CUDA function calls for setting dynamic shared memory + call_str = """""" + # Iterate over functions and their dynamic shared memory requirements + for function_name, dynamic_smem_buf in self.dynamic_smem_buf.items(): + if dynamic_smem_buf is not None: + # Format the cudaFuncSetAttribute call for dynamic shared memory + call_str += """ + cudaFuncSetAttribute({}, + cudaFuncAttributeMaxDynamicSharedMemorySize, {}); + """.format(function_name, dynamic_smem_buf) + # Define the init function that will set the attributes for each kernel + init_funcs = """ +extern "C" void init() {{ + {} +}} + """.format(call_str) + return init_funcs + + def create_dispatch_func(self, code, function_informations): + # Extract the set of dynamic symbolic names used in the primary function + dynamic_symbolic_set = self.get_dynamic_symbolic_set(self.prim_func) + + # Find the location of the global kernel function in the code + index = match_global_kernel(code) + + # Analyze the function declaration to prepare for argument extraction + dummy_declaration = code[index:].split(";")[0] + + function_name = self.function_name + + # Identify the start of the function body to insert arguments + index = code.index("{", index) + function_args = [] + # Collect function arguments based on primary function's parameters and buffer mappings + for param in self.prim_func.params: + buffer = self.prim_func.buffer_map[param] + function_args.append({ + "name": buffer.name, + "type": _TYPE_MAP[buffer.dtype] + "* __restrict__", + }) + # Add dynamic symbols as integer arguments + for dyn_sym in dynamic_symbolic_set: + function_args.append({"name": dyn_sym, "type": "int"}) + + # Format the argument definitions for function declaration + def_args = ", ".join([f"{arg['type']} {arg['name']}" for arg in function_args]) + + def func_call_args(s: str, function_args): + # Extract and clean the function call arguments to match the declaration + pattern = r"[,\s]*(?:\w+\s*\*+\s*__restrict__\s+)?(\w+)" + matches = re.findall(pattern, s) + call_args = [] + for match in matches: + match = re.sub(r"\d+", "", match) # Remove numbers + match = re.sub(r"_", "", match) # Remove underscores + for arg in function_args: + if arg["name"] == match: + call_args.append(match) + return call_args + + call_args = ", ".join(func_call_args(dummy_declaration, function_args)) + + def legalize_c(p): + # Convert TIR expressions to legal C expressions + # Directly convert to string since the special case handling + # does not alter the string representation for `tvm.tir.Var` and `IntImm`. + # Replace Python's floor division operator with C's division operator + if isinstance(p, tvm.tir.IntImm): + p = int(p) + return str(p).replace("//", "/") + + last_range = 0 + num_items = len(function_informations) + _call_str = """""" + for function_name, info in function_informations.items(): + # Prepare block and grid configurations for kernel launches + block_info, grid_info = info["block_info"], info["grid_info"] + block_str = "dim3({}, {}, {})".format( + legalize_c(block_info[0]), + legalize_c(block_info[1]), + legalize_c(block_info[2]), + ) + grid_str = "dim3({}, {}, {})".format( + legalize_c(grid_info[0]), + legalize_c(grid_info[1]), + legalize_c(grid_info[2]), + ) + # Handle dynamic shared memory specification + smem_str = (0 if info["dynamic_smem_buf"] is None else info["dynamic_smem_buf"]) + opt_shapes = info["opt_shapes"] + # Generate conditional kernel launch code based on dynamic symbolic ranges + (symbolic,) = list(dynamic_symbolic_set) + range_str = opt_shapes[symbolic] + if last_range == 0: + call_str = "if ({} <= {}) {{\n\t\t\t {}<<<{}, {}, {}>>>({}); \n\t\t}}\n".format( + symbolic, + range_str, + function_name, + grid_str, + block_str, + smem_str, + call_args, + ) + else: + call_str = "\t\telse if ({} <= {}) {{\n\t\t\t {}<<<{}, {}, {}>>>({}); \n\t\t}}\n".format( + symbolic, + range_str, + function_name, + grid_str, + block_str, + smem_str, + call_args, + ) + if last_range == num_items - 1: + call_str += ("\t\telse {{\n\t\t\t {}<<<{}, {}, {}>>>({}); \n\t\t}}\n".format( + function_name, grid_str, block_str, smem_str, call_args)) + last_range += 1 + _call_str += call_str + + # Wrap the kernel dispatch logic in an external C function + host_func = """ +extern "C" void call({}) {{ + {} +}} + """.format(def_args, _call_str) + return host_func + + def parse_source_information(self): + # Parse device module to extract execution configurations for each function + device_mod = get_annotated_device_mod(self.mod, self.arch.target) + block_info_map = {} + grid_info_map = {} + dynamic_smem_buf_map = {} + for g_var, func in device_mod.functions.items(): + # Default block and grid configurations + block_info = [1, 1, 1] + grid_info = [1, 1, 1] + function_name = g_var.name_hint + attrs = func.attrs + dynamic_smem_buf = None + if "dyn_shared_memory_buf" in attrs: + dynamic_smem_buf = int(attrs["dyn_shared_memory_buf"]) + if "thread_extent" in attrs: + # Extract block and grid sizes from thread extents + thread_extent = attrs["thread_extent"] + for tag, extent in thread_extent.items(): + if "threadIdx" in tag: + block_info["xyz".index(tag[-1])] = extent + elif "blockIdx" in tag: + grid_info["xyz".index(tag[-1])] = extent + # Map the extracted configurations to each function + block_info_map[function_name] = block_info + grid_info_map[function_name] = grid_info + dynamic_smem_buf_map[function_name] = dynamic_smem_buf + # Store the mappings for use in code generation + self.block_info = block_info_map + self.grid_info = grid_info_map + self.dynamic_smem_buf = dynamic_smem_buf_map + + def update_lib_code(self, code: str): + # Organize function information for code generation + function_informations = {} + for g_var, func in self.mod.functions.items(): + if g_var.name_hint == "main": + continue + function_name = g_var.name_hint + attrs = func.attrs + assert "opt_shapes" in attrs + opt_shapes = attrs["opt_shapes"] + function_informations[function_name] = { + "function_name": function_name, + "opt_shapes": opt_shapes, + "block_info": self.block_info[function_name], + "grid_info": self.grid_info[function_name], + "dynamic_smem_buf": self.dynamic_smem_buf[function_name], + } + + def compare_map_objects(map_obj): + comparable_representation = list(map_obj.values()) + return comparable_representation + + function_informations = dict( + sorted( + function_informations.items(), + key=lambda item: compare_map_objects(item[1]["opt_shapes"]))) + + self.lib_code = code + + # Generate the initialization and dispatch functions + init_func = self.get_cuda_init_func() + host_func = self.create_dispatch_func(code, function_informations) + # Concatenate source code with generated code segments + lib_code = self.source + init_func + host_func + return lib_code + + @property + def prim_func(self): + return self.mod["main"] diff --git a/requirements-dev.txt b/requirements-dev.txt new file mode 100644 index 000000000..20d8be152 --- /dev/null +++ b/requirements-dev.txt @@ -0,0 +1,30 @@ +# formatting +yapf==0.32.0 +toml==0.10.2 +tomli==2.0.1 +ruff==0.1.5 +codespell==2.2.6 + +cffi +cpplint +Cython +decorator +docutils +dtlib +numpy>=1.23.5 +pylint +pytest>=6.2.4 +pytest_xdist>=2.2.1 +packaging>=21.0 +PyYAML +tqdm>=4.62.3 +typing_extensions>=4.10.0 +requests +fuzzywuzzy +python-Levenshtein +attrs +cloudpickle +ml_dtypes +psutil +scipy +tornado diff --git a/requirements.txt b/requirements.txt index fadce86e2..3747eecff 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,24 +1,23 @@ -cffi==1.16.0     -cpplint==1.6.1     -Cython==0.29.32     -decorator==5.1.1     -docutils==0.19     -dtlib==0.0.0.dev2     -flatbuffers==22.12.6     -matplotlib==3.6.3     -numpy>=1.23.5     -Pillow==10.2.0     -protobuf==3.20.3     -psutil==5.9.4     -pylint==3.1.0     -pyserial==3.5     -pytest==7.2.0     -pytest_xdist==3.5.0     -PyYAML==6.0.1     -tornado==6.3.3     -tqdm==4.64.1     -transformers==4.36.0     -treelib==1.7.0     -typeguard==2.13.3              -typing_extensions==4.10.0     -xgboost==1.7.1     +cffi +cpplint +Cython +decorator +docutils +dtlib +numpy>=1.23.5 +pylint +pytest>=6.2.4 +pytest_xdist>=2.2.1 +packaging>=21.0 +PyYAML +tqdm>=4.62.3 +typing_extensions>=4.10.0 +requests +fuzzywuzzy +python-Levenshtein +attrs +cloudpickle +ml_dtypes +psutil +scipy +tornado diff --git a/setup.py b/setup.py index 3afdea26c..3b0c88305 100644 --- a/setup.py +++ b/setup.py @@ -1,31 +1,292 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. -import os +import io +import subprocess +import shutil from setuptools import setup, find_packages from setuptools.command.install import install +from setuptools.command.build_py import build_py +from setuptools.command.sdist import sdist +import distutils.dir_util +from typing import List +import re +import tarfile +from io import BytesIO +import os +import sys +import urllib.request +from distutils.version import LooseVersion +import platform + +PACKAGE_NAME = "bitblas" +ROOT_DIR = os.path.dirname(__file__) +MAIN_CUDA_VERSION = "12.1" + +# BitBLAS only supports Linux platform +assert sys.platform.startswith("linux"), "BitBLAS only supports Linux platform (including WSL)." + + +def get_path(*filepath) -> str: + return os.path.join(ROOT_DIR, *filepath) + + +def get_requirements() -> List[str]: + """Get Python package dependencies from requirements.txt.""" + with open(get_path("requirements.txt")) as f: + requirements = f.read().strip().split("\n") + return requirements + + +def find_version(filepath: str) -> str: + """Extract version information from the given filepath. + + Adapted from https://github.com/ray-project/ray/blob/0b190ee1160eeca9796bc091e07eaebf4c85b511/python/setup.py + """ + with open(filepath) as fp: + version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]", fp.read(), re.M) + if version_match: + return version_match.group(1) + raise RuntimeError("Unable to find version string.") + + +def get_nvcc_cuda_version(): + """Get the CUDA version from nvcc. + + Adapted from https://github.com/NVIDIA/apex/blob/8b7a1ff183741dd8f9b87e7bafd04cfde99cea28/setup.py + """ + nvcc_output = subprocess.check_output(["nvcc", "-V"], universal_newlines=True) + output = nvcc_output.split() + release_idx = output.index("release") + 1 + nvcc_cuda_version = LooseVersion(output[release_idx].split(",")[0]) + return nvcc_cuda_version + + +def get_bitblas_version(with_cuda=True, with_system_info=True) -> str: + version = find_version(get_path("python/bitblas", "__init__.py")) + if with_system_info: + version += f"+{get_system_info()}" + if with_cuda: + cuda_version = str(get_nvcc_cuda_version()) + cuda_version_str = cuda_version.replace(".", "")[:3] + version += f".cu{cuda_version_str}" + return version + + +def get_system_info(): + system = platform.system().lower() + if system == "linux": + try: + with open("/etc/os-release") as f: + os_release = f.read() + version_id_match = re.search(r'VERSION_ID="(\d+\.\d+)"', os_release) + if version_id_match: + version_id = version_id_match.group(1) + distro = "ubuntu" + return f"{distro}-{version_id}" + except FileNotFoundError: + pass + return system + + +def read_readme() -> str: + """Read the README file if present.""" + p = get_path("README.md") + if os.path.isfile(p): + return io.open(get_path("README.md"), "r", encoding="utf-8").read() + else: + return "" + + +def download_and_extract_llvm(version, is_aarch64=False, extract_path="3rdparty"): + """ + Downloads and extracts the specified version of LLVM for the given platform. + Args: + version (str): The version of LLVM to download. + is_aarch64 (bool): True if the target platform is aarch64, False otherwise. + extract_path (str): The directory path where the archive will be extracted. + + Returns: + str: The path where the LLVM archive was extracted. + """ + ubuntu_version = "16.04" + if version >= "16.0.0": + ubuntu_version = "20.04" + elif version >= "13.0.0": + ubuntu_version = "18.04" + base_url = (f"https://github.com/llvm/llvm-project/releases/download/llvmorg-{version}") + file_name = f"clang+llvm-{version}-{'aarch64-linux-gnu' if is_aarch64 else f'x86_64-linux-gnu-ubuntu-{ubuntu_version}'}.tar.xz" -class ApacheTVMInstallCommand(install): - """Customized setuptools install command - builds the submodule first.""" + download_url = f"{base_url}/{file_name}" + + # Download the file + print(f"Downloading {file_name} from {download_url}") + with urllib.request.urlopen(download_url) as response: + if response.status != 200: + raise Exception(f"Download failed with status code {response.status}") + file_content = response.read() + # Ensure the extract path exists + os.makedirs(extract_path, exist_ok=True) + + # if the file already exists, remove it + if os.path.exists(os.path.join(extract_path, file_name)): + os.remove(os.path.join(extract_path, file_name)) + + # Extract the file + print(f"Extracting {file_name} to {extract_path}") + with tarfile.open(fileobj=BytesIO(file_content), mode="r:xz") as tar: + tar.extractall(path=extract_path) + + print("Download and extraction completed successfully.") + return os.path.abspath(os.path.join(extract_path, file_name.replace(".tar.xz", ""))) + + +package_data = { + "bitblas": ["py.typed"], +} + +LLVM_VERSION = "10.0.1" +IS_AARCH64 = False # Set to True if on an aarch64 platform +EXTRACT_PATH = "3rdparty" # Default extraction path + + +def update_submodules(): + """Updates git submodules.""" + try: + subprocess.check_call(["git", "submodule", "update", "--init", "--recursive"]) + except subprocess.CalledProcessError as error: + raise RuntimeError("Failed to update submodules") from error + + +def build_tvm(llvm_config_path): + """Configures and builds TVM.""" + os.chdir("3rdparty/tvm") + if not os.path.exists("build"): + os.makedirs("build") + os.chdir("build") + # Copy the config.cmake as a baseline + if not os.path.exists("config.cmake"): + shutil.copy("../cmake/config.cmake", "config.cmake") + # Set LLVM path and enable CUDA in config.cmake + with open("config.cmake", "a") as config_file: + config_file.write(f"set(USE_LLVM {llvm_config_path})\n") + config_file.write("set(USE_CUDA ON)\n") + # Run CMake and make + try: + subprocess.check_call(["cmake", ".."]) + subprocess.check_call(["make", "-j"]) + except subprocess.CalledProcessError as error: + raise RuntimeError("Failed to build TVM") from error + finally: + # Go back to the original directory + os.chdir("../../..") + + +def setup_llvm_for_tvm(): + """Downloads and extracts LLVM, then configures TVM to use it.""" + # Assume the download_and_extract_llvm function and its dependencies are defined elsewhere in this script + extract_path = download_and_extract_llvm(LLVM_VERSION, IS_AARCH64, EXTRACT_PATH) + llvm_config_path = os.path.join(extract_path, "bin", "llvm-config") + return extract_path, llvm_config_path + + +class BitBLASInstallCommand(install): + """Customized setuptools install command - builds TVM after setting up LLVM.""" def run(self): - os.system("./maint/scripts/installation.sh") + # Recursively update submodules + # update_submodules() + # Set up LLVM for TVM + _, llvm_path = setup_llvm_for_tvm() + # Build TVM + build_tvm(llvm_path) + # Continue with the standard installation process install.run(self) +class BitBLASBuilPydCommand(build_py): + """Customized setuptools install command - builds TVM after setting up LLVM.""" + + def run(self): + build_py.run(self) + # custom build tvm + update_submodules() + # Set up LLVM for TVM + _, llvm_path = setup_llvm_for_tvm() + # Build TVM + build_tvm(llvm_path) + # Copy the built TVM to the package directory + TVM_PREBUILD_ITEMS = [ + "3rdparty/tvm/build/libtvm_runtime.so", + "3rdparty/tvm/build/libtvm.so", + "3rdparty/tvm/build/config.cmake", + "3rdparty/tvm/python", + "3rdparty/tvm/licenses", + "3rdparty/tvm/conftest.py", + "3rdparty/tvm/CONTRIBUTORS.md", + "3rdparty/tvm/KEYS", + "3rdparty/tvm/LICENSE", + "3rdparty/tvm/README.md", + "3rdparty/tvm/mypy.ini", + "3rdparty/tvm/pyproject.toml", + "3rdparty/tvm/version.py", + ] + for item in TVM_PREBUILD_ITEMS: + source_dir = os.path.join(ROOT_DIR, item) + target_dir = os.path.join(self.build_lib, PACKAGE_NAME, item) + if os.path.isdir(source_dir): + self.mkpath(target_dir) + distutils.dir_util.copy_tree(source_dir, target_dir) + else: + target_dir = os.path.dirname(target_dir) + if not os.path.exists(target_dir): + os.makedirs(target_dir) + shutil.copy2(source_dir, target_dir) + + +class BitBLASSdistCommand(sdist): + """Customized setuptools sdist command - includes the pyproject.toml file.""" + + def make_distribution(self): + self.distribution.metadata.name = PACKAGE_NAME + self.distribution.metadata.version = get_bitblas_version( + with_cuda=False, with_system_info=False) + super().make_distribution() + + setup( - name="bitblas", - version="0.1", - packages=find_packages(), - install_requires=[], + name=PACKAGE_NAME, + version=get_bitblas_version(), + packages=find_packages(where="python"), + package_dir={"": "python"}, author="Microsoft Research", - author_email="leiwang1999@outlook.com", description="A light weight framework to generate high performance CUDA/HIP code for BLAS operators.", + long_description=read_readme(), license="MIT", keywords="BLAS, CUDA, HIP, Code Generation, TVM", url="https://github.com/microsoft/BitBLAS", + classifiers=[ + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", + "Intended Audience :: Developers", + "Intended Audience :: Science/Research", + "Topic :: Scientific/Engineering :: Mathematics, Scientific/Engineering :: Artificial Intelligence", + ], + python_requires=">=3.8", + install_requires=get_requirements(), + tests_require=[ + "yapf>=0.32.0", "toml>=0.10.2", "tomli>=2.0.1", "ruff>=0.1.5", "codespell>=2.2.6" + ], + package_data=package_data, + include_package_data=True, + data_files=[ + "requirements.txt", + ], cmdclass={ - "install": ApacheTVMInstallCommand, + "install": BitBLASInstallCommand, + "build_py": BitBLASBuilPydCommand, + "sdist": BitBLASSdistCommand, }, ) diff --git a/testing/cpp/lop3_type_conversion/fast_decoding.hpp b/testing/cpp/lop3_type_conversion/fast_decoding.hpp index 824de1bdf..f86ca2cf0 100644 --- a/testing/cpp/lop3_type_conversion/fast_decoding.hpp +++ b/testing/cpp/lop3_type_conversion/fast_decoding.hpp @@ -97,16 +97,16 @@ void general_interleave_fp16(int8_t *origin_arr, int8_t *interleaved, const int /* Kind 0: original Kind 1: rescale -Kind 2: quantzied -# documents for zeros_type: +Kind 2: quantized +# documents for zeros_mode: # original: target = (dequantize_weight - zero_point) * scale # rescale: target = dequantize_weight * scale - zero_point -# quantzied: target = (dequantize_weight - dequantize_zeros) * scale +# quantized: target = (dequantize_weight - dequantize_zeros) * scale # Notice: only support "original" and "rescale" now -zeros_type: Literal["original", "rescale", "quantzied"] = "original" +zeros_mode: Literal["original", "rescale", "quantized"] = "original" */ -template -__device__ void decode_i4b_to_f16(T1 *_i4s, T2 *B_local_decode, const int N = 8, const half *scale = nullptr, const half *zeros = nullptr) +template +__device__ void decode_i4b_to_f16(T1 *_i4s, T2 *B_local_decode, const int N = 8, const T3 *scale = nullptr, const T4 *zeros = nullptr) { uint *h = reinterpret_cast(B_local_decode); @@ -116,6 +116,7 @@ __device__ void decode_i4b_to_f16(T1 *_i4s, T2 *B_local_decode, const int N = 8, // Minus 7 to scale the value to signed static constexpr uint MEDIAN_NUM = isSigned ? 0x64076407 : 0x64006400; uint const i4s = *reinterpret_cast(_i4s); + #pragma unroll // decode 2 elems at one time. for (int i = 0; i < (N / 2); i++) @@ -124,18 +125,8 @@ __device__ void decode_i4b_to_f16(T1 *_i4s, T2 *B_local_decode, const int N = 8, asm volatile("lop3.b32 %0, %1, %2, %3, %4;\n" : "=r"(h[i]) : "r"(i4s >> (4 * i)), "n"(BOTTOM_MASK), "n"(FP16_TOP_MAGIC_NUM), "n"(immLut)); + asm volatile("sub.f16x2 %0, %1, %2;\n" : "=r"(h[i]) : "r"(h[i]), "r"(MEDIAN_NUM)); - if constexpr (withZeros && ZerosKind == 0) - { - asm volatile("sub.f16x2 %0, %1, %2;\n" : "=r"(h[i]) : "r"(h[i]), "r"(__pack_half2(*zeros, *zeros))); - } - if constexpr (withScaling) - { - asm volatile("fma.rn.f16x2 %0, %1, %2, %3;\n" : "=r"(h[i]) : "r"(h[i]), "r"(__pack_half2(*scale, *scale)), "r"(0)); - } - if constexpr (withZeros && ZerosKind == 1){ - asm volatile("sub.f16x2 %0, %1, %2;\n" : "=r"(h[i]) : "r"(h[i]), "r"(__pack_half2(*zeros, *zeros))); - } } } @@ -151,40 +142,169 @@ __device__ void decode_i4u_to_f16(T1 *_i4u, T2 *B_local_decode, const int N = 8) decode_i4b_to_f16(_i4u, B_local_decode, N); } -template -__device__ void decode_i4s_to_f16_scale(T1 *_i4s, T2 *B_local_decode, half *scale = nullptr, const int N = 8) +template +__device__ void decode_i4b_to_f16_scale(T1 *_i4s, T2 *B_local_decode, const int N = 8, const T3 *scale = nullptr) { - decode_i4b_to_f16(_i4s, B_local_decode, N, scale); + uint *h = reinterpret_cast(B_local_decode); + + static constexpr uint immLut = (0xf0 & 0xcc) | 0xaa; + static constexpr uint BOTTOM_MASK = 0x000f000f; + static constexpr uint FP16_TOP_MAGIC_NUM = 0x64006400; + // Minus 7 to scale the value to signed + static constexpr uint MEDIAN_NUM = isSigned ? 0x64076407 : 0x64006400; + uint const i4s = *reinterpret_cast(_i4s); + T3 const scale_r = *scale; + uint const packed_scales = __pack_half2(scale_r, scale_r); + +#pragma unroll + // decode 2 elems at one time. + for (int i = 0; i < (N / 2); i++) + { + + asm volatile("lop3.b32 %0, %1, %2, %3, %4;\n" + : "=r"(h[i]) + : "r"(i4s >> (4 * i)), "n"(BOTTOM_MASK), "n"(FP16_TOP_MAGIC_NUM), "n"(immLut)); + asm volatile("sub.f16x2 %0, %1, %2;\n" : "=r"(h[i]) : "r"(h[i]), "r"(MEDIAN_NUM)); + asm volatile("fma.rn.f16x2 %0, %1, %2, %3;\n" : "=r"(h[i]) : "r"(h[i]), "r"(packed_scales), "r"(0)); + } } -template -__device__ void decode_i4u_to_f16_scale(T1 *_i4u, T2 *B_local_decode, half *scale = nullptr, const int N = 8) +template +__device__ void decode_i4s_to_f16_scale(T1 *_i4s, T2 *B_local_decode, T3 *scale = nullptr, const int N = 8) { - decode_i4b_to_f16(_i4u, B_local_decode, N, scale); + decode_i4b_to_f16_scale(_i4s, B_local_decode, N, scale); } -template -__device__ void decode_i4u_to_f16_scale_zeros_original(T1 *_i4u, T2 *B_local_decode, half *scale = nullptr, half *zeros = nullptr, const int N = 8) +template +__device__ void decode_i4u_to_f16_scale(T1 *_i4u, T2 *B_local_decode, T3 *scale = nullptr, const int N = 8) { - decode_i4b_to_f16(_i4u, B_local_decode, N, scale, zeros); + decode_i4b_to_f16_scale(_i4u, B_local_decode, N, scale); } -template -__device__ void decode_i4u_to_f16_scale_zeros_rescale(T1 *_i4u, T2 *B_local_decode, half *scale = nullptr, half *zeros = nullptr, const int N = 8) +template +__device__ void decode_i4b_to_f16_zeros_original(T1 *_i4s, T2 *B_local_decode, const int N = 8, const T3 *scale = nullptr, const T4 *zeros = nullptr) +{ + uint *h = reinterpret_cast(B_local_decode); + + static constexpr uint immLut = (0xf0 & 0xcc) | 0xaa; + static constexpr uint BOTTOM_MASK = 0x000f000f; + static constexpr uint FP16_TOP_MAGIC_NUM = 0x64006400; + // Minus 7 to scale the value to signed + static constexpr uint MEDIAN_NUM = isSigned ? 0x64076407 : 0x64006400; + uint const i4s = *reinterpret_cast(_i4s); + T3 const scale_r = *scale; + uint const packed_scales = __pack_half2(scale_r, scale_r); + // input zeros maybe int32(qzeros) or half format + T4 const zero_r = *zeros; + uint const packed_zeros = __pack_half2(zero_r, zero_r); + + +#pragma unroll + // decode 2 elems at one time. + for (int i = 0; i < (N / 2); i++) + { + + asm volatile("lop3.b32 %0, %1, %2, %3, %4;\n" + : "=r"(h[i]) + : "r"(i4s >> (4 * i)), "n"(BOTTOM_MASK), "n"(FP16_TOP_MAGIC_NUM), "n"(immLut)); + + asm volatile("sub.f16x2 %0, %1, %2;\n" : "=r"(h[i]) : "r"(h[i]), "r"(MEDIAN_NUM)); + + asm volatile("sub.f16x2 %0, %1, %2;\n" : "=r"(h[i]) : "r"(h[i]), "r"(packed_zeros)); + asm volatile("fma.rn.f16x2 %0, %1, %2, %3;\n" : "=r"(h[i]) : "r"(h[i]), "r"(packed_scales), "r"(0)); + } +} + +template +__device__ void decode_i4u_to_f16_scale_zeros_original(T1 *_i4u, T2 *B_local_decode, T3 *scale = nullptr, T4 *zeros = nullptr, const int N = 8) +{ + decode_i4b_to_f16_zeros_original(_i4u, B_local_decode, N, scale, zeros); +} + +template +__device__ void decode_i4b_to_f16_scale_zeros_rescale(T1 *_i4s, T2 *B_local_decode, const int N = 8, const T3 *scale = nullptr, const T4 *zeros = nullptr) +{ + uint *h = reinterpret_cast(B_local_decode); + + static constexpr uint immLut = (0xf0 & 0xcc) | 0xaa; + static constexpr uint BOTTOM_MASK = 0x000f000f; + static constexpr uint FP16_TOP_MAGIC_NUM = 0x64006400; + // Minus 7 to scale the value to signed + static constexpr uint MEDIAN_NUM = isSigned ? 0x64076407 : 0x64006400; + uint const i4s = *reinterpret_cast(_i4s); + T3 const scale_r = *scale; + uint const packed_scales = __pack_half2(scale_r, scale_r); + T4 const zero_r = *zeros; + uint const packed_zeros = 0x80008000 | __pack_half2(zero_r, zero_r); + +#pragma unroll + // decode 2 elems at one time. + for (int i = 0; i < (N / 2); i++) + { + + asm volatile("lop3.b32 %0, %1, %2, %3, %4;\n" + : "=r"(h[i]) + : "r"(i4s >> (4 * i)), "n"(BOTTOM_MASK), "n"(FP16_TOP_MAGIC_NUM), "n"(immLut)); + + asm volatile("sub.f16x2 %0, %1, %2;\n" : "=r"(h[i]) : "r"(h[i]), "r"(MEDIAN_NUM)); + + asm volatile("fma.rn.f16x2 %0, %1, %2, %3;\n" : "=r"(h[i]) : "r"(h[i]), "r"(packed_scales), "r"(packed_zeros)); + } +} + +template +__device__ void decode_i4u_to_f16_scale_zeros_rescale(T1 *_i4u, T2 *B_local_decode, T3 *scale = nullptr, T4 *zeros = nullptr, const int N = 8) +{ + decode_i4b_to_f16_scale_zeros_rescale(_i4u, B_local_decode, N, scale, zeros); +} + +template +__device__ void decode_i4b_to_f16_scale_zeros_quantized(T1 *_i4s, T2 *B_local_decode, const int N = 8, const T3 *scale = nullptr, const T4 *zeros = nullptr) +{ + uint *h = reinterpret_cast(B_local_decode); + + static constexpr uint immLut = (0xf0 & 0xcc) | 0xaa; + static constexpr uint BOTTOM_MASK = 0x000f000f; + static constexpr uint FP16_TOP_MAGIC_NUM = 0x64006400; + // Minus 7 to scale the value to signed + uint const i4s = *reinterpret_cast(_i4s); + T3 const scale_r = *scale; + uint const packed_scales = __pack_half2(scale_r, scale_r); + // input zeros maybe int32(qzeros) or half format + T4 const zero_r = *zeros; + uint median_num = ((0xe400 | zero_r) << 16) | (0xe400 | zero_r); + +#pragma unroll + // decode 2 elems at one time. + for (int i = 0; i < (N / 2); i++) + { + + asm volatile("lop3.b32 %0, %1, %2, %3, %4;\n" + : "=r"(h[i]) + : "r"(i4s >> (4 * i)), "n"(BOTTOM_MASK), "n"(FP16_TOP_MAGIC_NUM), "n"(immLut)); + + asm volatile("add.f16x2 %0, %1, %2;\n" : "=r"(h[i]) : "r"(h[i]), "r"(median_num)); + + asm volatile("fma.rn.f16x2 %0, %1, %2, %3;\n" : "=r"(h[i]) : "r"(h[i]), "r"(packed_scales), "r"(0)); + } +} + +template +__device__ void decode_i4u_to_f16_scale_zeros_quantized(storage_dtype *_i4u, target_dtype *B_local_decode, scale_dtype *scale = nullptr, zero_dtype *zeros = nullptr, const int N = 8) { - decode_i4b_to_f16(_i4u, B_local_decode, N, scale, zeros); + decode_i4b_to_f16_scale_zeros_quantized(_i4u, B_local_decode, N, scale, zeros); } /* Kind 0: original Kind 1: rescale -Kind 2: quantzied -# documents for zeros_type: +Kind 2: quantized +# documents for zeros_mode: # original: target = (dequantize_weight - zero_point) * scale # rescale: target = dequantize_weight * scale - zero_point -# quantzied: target = (dequantize_weight - dequantize_zeros) * scale +# quantized: target = (dequantize_weight - dequantize_zeros) * scale # Notice: only support "original" and "rescale" now -zeros_type: Literal["original", "rescale", "quantzied"] = "original" +zeros_mode: Literal["original", "rescale", "quantized"] = "original" */ template __device__ void decode_i2b_to_f16(T1 *_i2s, T2 *B_local_decode, const int N = 8, half *scale = nullptr, half *zeros = nullptr) @@ -261,17 +381,16 @@ __device__ void decode_i2u_to_f16_scale_zeros_rescale(T1 *_i2u, T2 *B_local_deco decode_i2b_to_f16(_i2u, B_local_decode, N, scale, zeros); } - /* Kind 0: original Kind 1: rescale -Kind 2: quantzied -# documents for zeros_type: +Kind 2: quantized +# documents for zeros_mode: # original: target = (dequantize_weight - zero_point) * scale # rescale: target = dequantize_weight * scale - zero_point -# quantzied: target = (dequantize_weight - dequantize_zeros) * scale +# quantized: target = (dequantize_weight - dequantize_zeros) * scale # Notice: only support "original" and "rescale" now -zeros_type: Literal["original", "rescale", "quantzied"] = "original" +zeros_mode: Literal["original", "rescale", "quantized"] = "original" */ template __device__ void decode_i1b_to_f16(T1 *_i1s, T2 *B_local_decode, const int N = 8, half *scale = nullptr, half *zeros = nullptr) @@ -323,30 +442,122 @@ __device__ void decode_i1u_to_f16(T1 *_i1u, T2 *B_local_decode, const int N = 8) decode_i1b_to_f16(_i1u, B_local_decode, N); } -template -__device__ void decode_i1s_to_f16_scale(T1 *_i1s, T2 *B_local_decode, half *scale = nullptr, const int N = 8) +template +__device__ void decode_i1b_to_f16_scale(T1 *_i1s, T2 *B_local_decode, const int N = 8, T3 *scale = nullptr) { - decode_i1b_to_f16(_i1s, B_local_decode, N, scale); + uint *h = reinterpret_cast(B_local_decode); + + static constexpr uint immLut = (0xf0 & 0xcc) | 0xaa; + static constexpr uint BOTTOM_MASK = 0x00010001; + static constexpr uint FP16_TOP_MAGIC_NUM = 0x64006400; + static constexpr uint MEDIAN_NUM = isSigned ? 0x64006400 : 0x64006400; + // interleave {e31,e29,e27,e25,e23,e21,e19,e17,e15,e13,e11,e9,e7,e5,e3,e1,e30,e28,e26,e24,e22,e20,e18,e16,e14,e12,e10,e8,e6,e4,e2,e0} + // only decode e7,e5,e3,e1,e8,e6,e4,e2,e0 + int8_t const i1s_i16 = *reinterpret_cast(_i1s); + int i1s = (i1s_i16 & 0x0f); + i1s |= ((i1s_i16 & 0xf0) << 12); + T3 const scale_r = *scale; + uint const packed_scales = __pack_half2(scale_r, scale_r); +#pragma unroll + // decode 2 elems at one time. + for (int i = 0; i < (N / 2); i++) + { + + asm volatile("lop3.b32 %0, %1, %2, %3, %4;\n" + : "=r"(h[i]) + : "r"(i1s >> (1 * i)), "n"(BOTTOM_MASK), "n"(FP16_TOP_MAGIC_NUM), "n"(immLut)); + asm volatile("sub.f16x2 %0, %1, %2;\n" : "=r"(h[i]) : "r"(h[i]), "r"(MEDIAN_NUM)); + asm volatile("fma.rn.f16x2 %0, %1, %2, %3;\n" : "=r"(h[i]) : "r"(h[i]), "r"(packed_scales), "r"(0)); + } +} +template +__device__ void decode_i1s_to_f16_scale(T1 *_i1s, T2 *B_local_decode, T3 *scale = nullptr, const int N = 8) +{ + decode_i1b_to_f16_scale(_i1s, B_local_decode, N, scale); } -template -__device__ void decode_i1u_to_f16_scale(T1 *_i1u, T2 *B_local_decode, half *scale = nullptr, const int N = 8) +template +__device__ void decode_i1u_to_f16_scale(T1 *_i1u, T2 *B_local_decode, T3 *scale = nullptr, const int N = 8) { - decode_i1b_to_f16(_i1u, B_local_decode, N, scale); + decode_i1b_to_f16_scale(_i1u, B_local_decode, N, scale); } -template -__device__ void decode_i1u_to_f16_scale_zeros_original(T1 *_i1u, T2 *B_local_decode, half *scale = nullptr, half *zeros = nullptr, const int N = 8) +template +__device__ void decode_i1b_to_f16_zeros_original(T1 *_i1s, T2 *B_local_decode, const int N = 8, T3 *scale = nullptr, T4 *zeros = nullptr) +{ + uint *h = reinterpret_cast(B_local_decode); + + static constexpr uint immLut = (0xf0 & 0xcc) | 0xaa; + static constexpr uint BOTTOM_MASK = 0x00010001; + static constexpr uint FP16_TOP_MAGIC_NUM = 0x64006400; + static constexpr uint MEDIAN_NUM = isSigned ? 0x64006400 : 0x64006400; + // interleave {e31,e29,e27,e25,e23,e21,e19,e17,e15,e13,e11,e9,e7,e5,e3,e1,e30,e28,e26,e24,e22,e20,e18,e16,e14,e12,e10,e8,e6,e4,e2,e0} + // only decode e7,e5,e3,e1,e8,e6,e4,e2,e0 + int8_t const i1s_i16 = *reinterpret_cast(_i1s); + int i1s = (i1s_i16 & 0x0f); + i1s |= ((i1s_i16 & 0xf0) << 12); + T3 const scale_r = *scale; + uint const packed_scales = __pack_half2(scale_r, scale_r); + // input zeros maybe int32(qzeros) or half format + T4 const zero_r = *zeros; + uint const packed_zeros = __pack_half2(zero_r, zero_r); + +#pragma unroll + // decode 2 elems at one time. + for (int i = 0; i < (N / 2); i++) + { + + asm volatile("lop3.b32 %0, %1, %2, %3, %4;\n" + : "=r"(h[i]) + : "r"(i1s >> (1 * i)), "n"(BOTTOM_MASK), "n"(FP16_TOP_MAGIC_NUM), "n"(immLut)); + asm volatile("sub.f16x2 %0, %1, %2;\n" : "=r"(h[i]) : "r"(h[i]), "r"(MEDIAN_NUM)); + asm volatile("sub.f16x2 %0, %1, %2;\n" : "=r"(h[i]) : "r"(h[i]), "r"(packed_zeros)); + asm volatile("fma.rn.f16x2 %0, %1, %2, %3;\n" : "=r"(h[i]) : "r"(h[i]), "r"(packed_scales), "r"(0)); + } +} +template +__device__ void decode_i1u_to_f16_scale_zeros_original(T1 *_i1u, T2 *B_local_decode, T3 *scale = nullptr, T4 *zeros = nullptr, const int N = 8) { - decode_i1b_to_f16(_i1u, B_local_decode, N, scale, zeros); + decode_i1b_to_f16_zeros_original(_i1u, B_local_decode, N, scale, zeros); } -template -__device__ void decode_i1u_to_f16_scale_zeros_rescale(T1 *_i1u, T2 *B_local_decode, half *scale = nullptr, half *zeros = nullptr, const int N = 8) +template +__device__ void decode_i1b_to_f16_scale_zeros_rescale(T1 *_i1s, T2 *B_local_decode, const int N = 8, T3 *scale = nullptr, T4 *zeros = nullptr) { - decode_i1b_to_f16(_i1u, B_local_decode, N, scale, zeros); + uint *h = reinterpret_cast(B_local_decode); + + static constexpr uint immLut = (0xf0 & 0xcc) | 0xaa; + static constexpr uint BOTTOM_MASK = 0x00010001; + static constexpr uint FP16_TOP_MAGIC_NUM = 0x64006400; + static constexpr uint MEDIAN_NUM = isSigned ? 0x64006400 : 0x64006400; + // interleave {e31,e29,e27,e25,e23,e21,e19,e17,e15,e13,e11,e9,e7,e5,e3,e1,e30,e28,e26,e24,e22,e20,e18,e16,e14,e12,e10,e8,e6,e4,e2,e0} + // only decode e7,e5,e3,e1,e8,e6,e4,e2,e0 + int8_t const i1s_i16 = *reinterpret_cast(_i1s); + int i1s = (i1s_i16 & 0x0f); + i1s |= ((i1s_i16 & 0xf0) << 12); + T3 const scale_r = *scale; + uint const packed_scales = __pack_half2(scale_r, scale_r); + T4 const zero_r = *zeros; + uint const packed_zeros = 0x80008000 | __pack_half2(zero_r, zero_r); + +#pragma unroll + // decode 2 elems at one time. + for (int i = 0; i < (N / 2); i++) + { + + asm volatile("lop3.b32 %0, %1, %2, %3, %4;\n" + : "=r"(h[i]) + : "r"(i1s >> (1 * i)), "n"(BOTTOM_MASK), "n"(FP16_TOP_MAGIC_NUM), "n"(immLut)); + asm volatile("sub.f16x2 %0, %1, %2;\n" : "=r"(h[i]) : "r"(h[i]), "r"(MEDIAN_NUM)); + asm volatile("fma.rn.f16x2 %0, %1, %2, %3;\n" : "=r"(h[i]) : "r"(h[i]), "r"(packed_scales), "r"(packed_zeros)); + } } +template +__device__ void decode_i1u_to_f16_scale_zeros_rescale(T1 *_i4u, T2 *B_local_decode, T3 *scale = nullptr, T4 *zeros = nullptr, const int N = 8) +{ + decode_i1b_to_f16_scale_zeros_rescale(_i4u, B_local_decode, N, scale, zeros); +} void general_interleave_int8(int8_t *origin_arr, int8_t *interleaved, const int nbit, size_t size_in_bytes, bool verbose = false) { diff --git a/testing/cpp/lop3_type_conversion/lowprecision_to_float16.cu b/testing/cpp/lop3_type_conversion/lowprecision_to_float16.cu index 0d9cca26f..eda2be206 100644 --- a/testing/cpp/lop3_type_conversion/lowprecision_to_float16.cu +++ b/testing/cpp/lop3_type_conversion/lowprecision_to_float16.cu @@ -45,6 +45,7 @@ REGISTER_GLOBAL_DEVICE_INVOKER(kernelWrapper_i1u_to_f16_scale_zeros_original, de REGISTER_GLOBAL_DEVICE_INVOKER(kernelWrapper_i4u_to_f16_scale_zeros_rescale, decode_i4u_to_f16_scale_zeros_rescale) REGISTER_GLOBAL_DEVICE_INVOKER(kernelWrapper_i2u_to_f16_scale_zeros_rescale, decode_i2u_to_f16_scale_zeros_rescale) REGISTER_GLOBAL_DEVICE_INVOKER(kernelWrapper_i1u_to_f16_scale_zeros_rescale, decode_i1u_to_f16_scale_zeros_rescale) +REGISTER_GLOBAL_DEVICE_INVOKER(kernelWrapper_i4u_to_f16_scale_zeros_quantized, decode_i4u_to_f16_scale_zeros_quantized) TEST(DecodeTest, DecodeInt4ToFloat16) { @@ -1022,3 +1023,57 @@ TEST(DecodeTest, DecodeUInt1ToFloat16WithScalingWithZerosRescale) free(interleaved); free(decoded); } + +TEST(DecodeTest, DecodeUInt4ToFloat16WithScalingWithZerosQuantized) +{ + constexpr int nbits = 4; + constexpr int N = 32 / nbits; + constexpr int QN = N / 8 * nbits; + constexpr bool isSigned = false; + + // create four int8_t values + int8_t in_data[N] = { + 0}; + half scale[1] = {__float2half(1.2)}; + uint qzeros[1] = {(1 << (nbits - 1)) - 1}; + // breed seed + srand(0); + + // random initializations with nbits range + for (int i = 0; i < N; i++) + { + in_data[i] = (rand() % (1 << nbits)); + } + + int8_t *ins = new int8_t[QN]; + general_compress(in_data, ins, nbits, N, isSigned); + + int8_t *interleaved = new int8_t[QN]; + general_interleave_fp16(ins, interleaved, nbits, QN * sizeof(int8_t), false); + half *decoded = new half[N]; + int8_t *ins_gpu; + half *decoded_gpu, *scale_gpu; + uint *qzeros_gpu; + + cudaCheckLastError(cudaMalloc((void **)&ins_gpu, QN * sizeof(int8_t))); + cudaCheckLastError(cudaMalloc((void **)&decoded_gpu, N * sizeof(half))); + cudaCheckLastError(cudaMalloc((void **)&scale_gpu, 1 * sizeof(half))); + cudaCheckLastError(cudaMalloc((void **)&qzeros_gpu, 1 * sizeof(uint))); + cudaCheckLastError(cudaMemcpy(ins_gpu, interleaved, QN * sizeof(int8_t), cudaMemcpyHostToDevice)); + cudaCheckLastError(cudaMemcpy(decoded_gpu, decoded, N * sizeof(half), cudaMemcpyHostToDevice)); + cudaCheckLastError(cudaMemcpy(scale_gpu, scale, 1 * sizeof(half), cudaMemcpyHostToDevice)); + cudaCheckLastError(cudaMemcpy(qzeros_gpu, qzeros, 1 * sizeof(uint), cudaMemcpyHostToDevice)); + cudaCheckLastError(cudaDeviceSynchronize()); + kernelWrapper_i4u_to_f16_scale_zeros_quantized<<>>(ins_gpu, decoded_gpu, scale_gpu, qzeros_gpu); + cudaCheckLastError(cudaDeviceSynchronize()); + cudaCheckLastError(cudaMemcpy(decoded, decoded_gpu, N * sizeof(half), cudaMemcpyDeviceToHost)); + cudaCheckLastError(cudaFree(ins_gpu)); + cudaCheckLastError(cudaFree(decoded_gpu)); + for (int i = 0; i < N; i++) + { + EXPECT_NEAR(((int)in_data[i] - (int)qzeros[0]) * float(scale[0]), float(decoded[i]), 1e-2); + } + free(ins); + free(interleaved); + free(decoded); +} \ No newline at end of file diff --git a/testing/python/cache/test_operator_cache.py b/testing/python/cache/test_operator_cache.py index c2964849f..fcb863f9a 100644 --- a/testing/python/cache/test_operator_cache.py +++ b/testing/python/cache/test_operator_cache.py @@ -1,17 +1,21 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. import pytest -import tvm +import os import torch import bitblas from bitblas.ops.matmul import Matmul, MatmulConfig +from bitblas.ops.matmul_dequantize import ( + MatmulWeightOnlyDequantize, + MatmulWeightOnlyDequantizeConfig, +) from bitblas.cache import global_operator_cache -target = tvm.target.Target("nvidia/nvidia-a100") +target = bitblas.utils.auto_detect_nvidia_target() def get_codegen_result(ops, target): - code = ops.codegen(target=target) + code = ops.get_source(target=target) return code @@ -67,6 +71,7 @@ def test_config_hashable( print(hash_error) assert success + @pytest.mark.parametrize( "M,N,K,in_dtype,out_dtype,accum_dtype,with_bias,propagate_a,propagate_b,layout,enable_tuning", [ @@ -115,10 +120,11 @@ def test_global_cache_inquery( except Exception as hash_error: print(hash_error) assert success - + matmul = global_operator_cache.get(matmul.config) assert matmul is not None + @pytest.mark.parametrize( "M,N,K,in_dtype,out_dtype,accum_dtype,with_bias,propagate_a,propagate_b,layout,enable_tuning", [ @@ -167,7 +173,7 @@ def test_global_cache_inquery_torch_forward( except Exception as hash_error: print(hash_error) assert success - + matmul = global_operator_cache.get(matmul.config) assert matmul is not None if not isinstance(M, int): @@ -184,37 +190,300 @@ def test_global_cache_inquery_torch_forward( permuted_inputs = [] if matmul.input_transform is not None: - permuted_inputs.append( - matmul.input_transform(inputs[0].cpu()) - ).cuda() + permuted_inputs.append(matmul.input_transform(inputs[0].cpu())).cuda() else: permuted_inputs.append(inputs[0]) if matmul.weight_transform is not None: - permuted_inputs.append( - matmul.weight_transform(inputs[1].cpu()).cuda() - ) + permuted_inputs.append(matmul.weight_transform(inputs[1].cpu()).cuda()) else: permuted_inputs.append(inputs[1]) permuted_inputs.append(inputs[2]) matmul(*permuted_inputs) torch.testing.assert_close(permuted_inputs[-1], ref_result, rtol=1e-2, atol=1e-2) + +@pytest.mark.parametrize( + "M,N,K,in_dtype,out_dtype,accum_dtype,with_bias,propagate_a,propagate_b,layout,enable_tuning", + [ + (1, 16384, 16384, "float16", "float16", "float16", False, False, False, "nt", False), + ([1, 32], 16384, 16384, "float16", "float16", "float16", False, False, False, "nt", False), + ], +) +def test_global_cache_save_to_database( + M, + N, + K, + in_dtype, + out_dtype, + accum_dtype, + with_bias, + propagate_a, + propagate_b, + layout, + enable_tuning, +): + + matmul_config = MatmulConfig( + M=M, + N=N, + K=K, + in_dtype=in_dtype, + out_dtype=out_dtype, + accum_dtype=accum_dtype, + with_bias=with_bias, + propagate_a=propagate_a, + propagate_b=propagate_b, + layout=layout, + ) + matmul = Matmul( + config=matmul_config, + target=target, + ) + if enable_tuning: + matmul.hardware_aware_finetune(topk=20) + success = False + try: + global_operator_cache.add(matmul.config, matmul) + success = True + except Exception as hash_error: + print(hash_error) + assert success + + database_path = "debug/test_database" + global_operator_cache.save_into_database(database_path, target=target) + assert os.path.exists(database_path) + global_operator_cache.clear() + assert global_operator_cache.size() == 0 + global_operator_cache.load_from_database(database_path, target=target) + assert global_operator_cache.size() > 0 + + matmul = global_operator_cache.get(matmul.config) + assert matmul is not None + if not isinstance(M, int): + M = 32 + # convert tensors to torch + input_shape = (M, K) + weight_shape = (N, K) if layout == "nt" else (K, N) + output_shape = (M, N) + inputs = [] + inputs.append(torch.rand(input_shape, dtype=torch.float16).cuda()) + inputs.append(torch.rand(weight_shape, dtype=torch.float16).cuda()) + inputs.append(torch.rand(output_shape, dtype=torch.float16).cuda()) + ref_result = torch.matmul(inputs[0], inputs[1].t() if layout == "nt" else inputs[1]) + + permuted_inputs = [] + if matmul.input_transform is not None: + permuted_inputs.append(matmul.input_transform(inputs[0].cpu())).cuda() + else: + permuted_inputs.append(inputs[0]) + if matmul.weight_transform is not None: + permuted_inputs.append(matmul.weight_transform(inputs[1].cpu()).cuda()) + else: + permuted_inputs.append(inputs[1]) + permuted_inputs.append(inputs[2]) + matmul(*permuted_inputs) + torch.testing.assert_close(permuted_inputs[-1], ref_result, rtol=1e-2, atol=1e-2) + + +@pytest.mark.parametrize( + "M,N,K,in_dtype,out_dtype,accum_dtype,bit,storage_dtype,source_format,with_scaling,with_zeros,group_size,fast_decoding,with_bias,propagate_a,propagate_b,layout", + [ + ( + 1, + 1024, + 1024, + "float16", + "float16", + "float16", + 4, + "int8", + "uint", + False, + False, + -1, + False, + False, + False, + False, + "nt", + ), + ( + 1, + 1024, + 1024, + "float16", + "float16", + "float16", + 4, + "int8", + "nf", + False, + False, + -1, + False, + False, + False, + False, + "nt", + ), + ( + 1024, + 1024, + 1024, + "float16", + "float16", + "float16", + 4, + "int8", + "nf", + False, + False, + -1, + False, + False, + False, + False, + "nt", + ), + ( + 1024, + 1024, + 1024, + "float16", + "float16", + "float16", + 4, + "int8", + "nf", + False, + False, + -1, + False, + False, + False, + True, + "nt", + ), + ( + 1024, + 1024, + 1024, + "float16", + "float16", + "float16", + 4, + "int8", + "nf", + False, + False, + -1, + False, + False, + True, + True, + "nt", + ), + ( + 1024, + 1024, + 1024, + "float16", + "float16", + "float16", + 4, + "int8", + "nf", + True, + False, + -1, + False, + False, + True, + True, + "nt", + ), + ( + 1024, + 1024, + 1024, + "float16", + "float16", + "float16", + 4, + "int8", + "nf", + True, + False, + 128, + False, + False, + True, + True, + "nt", + ), + ], +) +def test_matmul_dequantize_save_into_database( + M, + N, + K, + in_dtype, + out_dtype, + accum_dtype, + bit, + storage_dtype, + source_format, + with_scaling, + with_zeros, + group_size, + fast_decoding, + with_bias, + propagate_a, + propagate_b, + layout, +): + + matmul_config = MatmulWeightOnlyDequantizeConfig( + M=M, + N=N, + K=K, + in_dtype=in_dtype, + out_dtype=out_dtype, + accum_dtype=accum_dtype, + bit=bit, + storage_dtype=storage_dtype, + source_format=source_format, + with_scaling=with_scaling, + with_zeros=with_zeros, + group_size=group_size, + fast_decoding=fast_decoding, + with_bias=with_bias, + propagate_a=propagate_a, + propagate_b=propagate_b, + layout=layout, + ) + matmul = MatmulWeightOnlyDequantize( + config=matmul_config, + target=target, + ) + matmul.hardware_aware_finetune(topk=20) + database_path = "debug/test_database" + success = False + + try: + global_operator_cache.add(matmul.config, matmul) + success = True + except Exception as hash_error: + print(hash_error) + assert success + global_operator_cache.save_into_database(database_path, target=target) + assert os.path.exists(database_path) + global_operator_cache.clear() + assert global_operator_cache.size() == 0 + global_operator_cache.load_from_database(database_path, target=target) + assert global_operator_cache.size() > 0 + + # fmt: on if __name__ == "__main__": - # bitblas.testing.main() - - # test_config_hashable([1, 1024], 1024, 1024, "float16", "float16", "float16", False, False, False, "nt", True) - - test_global_cache_inquery_torch_forward( - [1, 1024], - 1024, - 1024, - "float16", - "float16", - "float16", - False, - False, - False, - "nt", - True, - ) + bitblas.testing.main() diff --git a/testing/python/dsl/test_auto_normalized_tensorcore.py b/testing/python/dsl/test_auto_normalized_tensorcore.py index 171fef0fa..c7c9a7235 100644 --- a/testing/python/dsl/test_auto_normalized_tensorcore.py +++ b/testing/python/dsl/test_auto_normalized_tensorcore.py @@ -2,68 +2,23 @@ # Licensed under the MIT License. import numpy as np import tvm -from tvm.script import tir as T from bitblas.base.roller.policy import TensorCorePolicy, DefaultPolicy from bitblas.base.roller.arch import CUDA from bitblas.gpu.matmul_analysis import get_tensorized_func_and_tags from bitblas.gpu import Matmul +from bitblas.ops.impl.convolution2d_impl import conv2d_nhwc_hwio, conv2d_nhwc_ohwi from bitblas.base.utils import apply_and_build import time -from tvm import te, tir - - -def conv2d_nhwc_hwio(n, f, h, w, c, kh, kw, s, d, p, in_dtype="float16", out_dtype="float16"): - A = te.placeholder((n, h, w, c), name="input", dtype=in_dtype) - B = te.placeholder((kh, kw, c, f), name="weight", dtype=in_dtype) - - pad_shape = (n, h + 2 * p, w + 2 * p, c) - pad_value = tir.const(0.0, A.dtype) - pad = te.compute( - pad_shape, - lambda n, h, w, c: te.if_then_else( - tir.all( - h >= p, - w >= p, - h < pad_shape[1] - p, - w < pad_shape[2] - p, - ), - A[n, h - p, w - p, c], - pad_value, - ), - name="pad", - ) - kernel_h, kernel_w = kh, kw - stride_h, stride_w = s, s - dilation_h, dilation_w = d, d - out_h = (h + 2 * p - (dilation_h * (kernel_h - 1) + 1)) // stride_h + 1 - out_w = (w + 2 * p - (dilation_w * (kernel_w - 1) + 1)) // stride_w + 1 - out_shape = (n, out_h, out_w, f) - kh = te.reduce_axis((0, kernel_h), name="kh") - kw = te.reduce_axis((0, kernel_w), name="kw") - c = te.reduce_axis((0, c), name="c") - C = te.compute( - out_shape, - lambda n, h, w, f: te.sum( - pad[ - n, - h * stride_h + kh * dilation_h, - w * stride_w + kw * dilation_w, - c, - ] - * B[kh, kw, c, f], - axis=[kh, kw, c], - ), - name="C", - ) - return tvm.ir.IRModule({"main": te.create_prim_func([A, B, C])}) - benchmark_sets = [ # (prim_func, input_args, default_dlight_schedule), - # (conv2d_nhwc_hwio, (128, 64, 224, 224, 3, 7, 7, 2, 1, 3, "float16", "float16"), Matmul), - # (conv2d_nhwc_hwio, (128, 64, 224, 224, 64, 1, 1, 2, 1, 3, "float16", "float16"), Matmul), - # (conv2d_nhwc_hwio, (128, 64, 224, 224, 3, 7, 7, 2, 1, 3, "float32", "float32"), Matmul), (conv2d_nhwc_hwio, (128, 64, 224, 224, 3, 7, 7, 2, 1, 3, "float16", "float16"), Matmul), + (conv2d_nhwc_ohwi, (128, 64, 56, 56, 64, 3, 3, 1, 1, 1, "float16", "float16"), Matmul), + (conv2d_nhwc_hwio, (128, 64, 56, 56, 64, 1, 1, 1, 1, 1, "float16", "float16"), Matmul), + (conv2d_nhwc_ohwi, (128, 64, 56, 56, 64, 1, 1, 1, 1, 1, "float16", "float16"), Matmul), + (conv2d_nhwc_ohwi, (128, 128, 28, 28, 128, 3, 3, 1, 1, 1, "float16", "float16"), Matmul), + (conv2d_nhwc_hwio, (128, 256, 14, 14, 128, 3, 3, 2, 1, 1, "float16", "float16"), Matmul), + (conv2d_nhwc_ohwi, (128, 256, 14, 14, 128, 1, 1, 2, 1, 1, "float16", "float16"), Matmul), ] benchmark_results = {} for get_prim_func, input_args, d_schedule in benchmark_sets: @@ -72,12 +27,14 @@ def conv2d_nhwc_hwio(n, f, h, w, c, kh, kw, s, d, p, in_dtype="float16", out_dty target = tvm.target.Target("nvidia/nvidia-a100") arch = CUDA(target) policy = DefaultPolicy(func=func, arch=arch) + tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) try: - func, tags = get_tensorized_func_and_tags(func, arch.target) - except: + tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) + except Exception as e: + print(f"Failed to get tensorized function and tags: {e}") tags = None if tags: - policy = TensorCorePolicy(func=func, arch=arch, tags=tags) + policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) configs = policy.emit_config(20) @@ -104,8 +61,7 @@ def conv2d_nhwc_hwio(n, f, h, w, c, kh, kw, s, d, p, in_dtype="float16", out_dty tvm.nd.array( np.random.uniform(0, 1, [int(i) for i in arg.shape]).astype(arg.dtype), device=arch.device, - ) - ) + )) timer_cuda_mod = mod_default.time_evaluator(mod_default.entry_name, arch.device, number=5) t = timer_cuda_mod(*profile_tensors).mean @@ -133,9 +89,8 @@ def conv2d_nhwc_hwio(n, f, h, w, c, kh, kw, s, d, p, in_dtype="float16", out_dty "DefaultDLight Latency", ] -col_width = ( - max(len(word) for row in [headers] + list(profile_config.values()) for word in row) + 2 -) # padding +col_width = (max(len(word) for row in [headers] + list(profile_config.values()) for word in row) + 2 + ) # padding print("".join(word.ljust(col_width) for word in headers)) diff --git a/testing/python/module/test_bitblas_linear.py b/testing/python/module/test_bitblas_linear.py new file mode 100644 index 000000000..7d1694f03 --- /dev/null +++ b/testing/python/module/test_bitblas_linear.py @@ -0,0 +1,195 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +import bitblas +from bitblas import Linear as BitBLASLinear +import torch +import time +import numpy as np +import torch.nn as nn +import pytest + +torch.manual_seed(0) + + +@pytest.mark.parametrize( + "m, in_features, out_features, bias", + [ + (1, 1024, 1024, False), + (1, 1024, 1024, True), + (1024, 1024, 1024, True), + ([1, 1024], 1024, 1024, True), + ], +) +def test_correctness_consistent(m, in_features, out_features, bias): + linear_torch = (nn.Linear(in_features, out_features, bias=bias).to(torch.float16).cuda()) + linear_bitblas = BitBLASLinear( + in_features, + out_features, + bias=bias, + A_dtype="float16", + W_dtype="float16", + accum_dtype="float16", + out_dtype="float16", + opt_M=m, + ).cuda() + + with torch.no_grad(): + linear_bitblas.load_and_transform_weight(linear_torch.weight.clone()) + if bias: + linear_bitblas.bias = nn.Parameter(linear_torch.bias.clone()) + + with torch.no_grad(): + if not isinstance(m, int): + # average m + m = sum(m) // len(m) + input_data = torch.randn(m, in_features, dtype=torch.float16).cuda() + output_torch = linear_torch(input_data) + output_bitblas = linear_bitblas(input_data) + torch.testing.assert_close(output_torch, output_bitblas, rtol=1e-1, atol=1e-2) + + +@pytest.mark.parametrize( + "m, in_features, out_features, bias, W_dtype, group_size, with_scaling, with_zeros, zeros_mode", + [ + (1, 1024, 1024, False, "uint4", -1, False, False, None), + (1, 1024, 1024, False, "uint4", -1, False, False, None), + (1024, 1024, 1024, True, "uint4", -1, False, False, None), + (1, 1024, 1024, True, "uint2", -1, True, False, None), + (1, 1024, 1024, True, "uint2", 128, True, True, "original"), + (1024, 1024, 1024, True, "uint2", 128, True, True, "original"), + (1, 1024, 1024, True, "uint2", 128, True, True, "rescale"), + ], +) +def test_correctness_weight_only_dequantize( + m, + in_features, + out_features, + bias, + W_dtype, + group_size, + with_scaling, + with_zeros, + zeros_mode, +): + import numpy as np + from bitblas.quantization.utils import general_compress + + linear_bitblas = BitBLASLinear( + in_features, + out_features, + bias=bias, + A_dtype="float16", + W_dtype=W_dtype, + accum_dtype="float16", + out_dtype="float16", + group_size=group_size, + with_scaling=with_scaling, + with_zeros=with_zeros, + opt_M=m, + ).cuda() + if not isinstance(m, int): + # average m + m = sum(m) // len(m) + input_shape = (m, in_features) + weight_shape = (out_features, in_features) + output_shape = (m, out_features) + inputs = [] + inputs.append(torch.rand(input_shape, dtype=torch.float16).cuda() - 0.5) + source_format, bit = ( + linear_bitblas.bitblas_matmul.source_format, + linear_bitblas.bitblas_matmul.bit, + ) + + maxq = 2**(bit - 1) - 1 + zeros = maxq + if source_format == "uint": + inputs.append(torch.randint(0, maxq, weight_shape, dtype=torch.int8).cuda()) + elif source_format == "int": + inputs.append(torch.randint(-maxq, maxq, weight_shape, dtype=torch.int8).cuda()) + else: + raise NotImplementedError + + inputs.append(torch.rand(output_shape, dtype=torch.float16).cuda()) + + intweight = inputs[1] + intweight = intweight.cpu().numpy().astype(np.int8) + if source_format == "int": + intweight = intweight + maxq + if with_zeros: + inputs[1] = inputs[1] - zeros + bias_tensor = torch.rand((output_shape[-1],), dtype=torch.float16).cuda() + ref_result = torch.matmul(inputs[0], (inputs[1].t()).to(torch.float16)) + if bias: + ref_result = ref_result + bias_tensor + + with torch.no_grad(): + qw_np = general_compress(intweight, source_bits=bit, storage_dtype=np.int8) + qw_torch = torch.from_numpy(qw_np).cuda() + permuted_inputs = [] + permuted_inputs.append(inputs[0]) + if linear_bitblas.bitblas_matmul.weight_transform is not None: + permuted_inputs.append( + linear_bitblas.bitblas_matmul.weight_transform(qw_torch.cpu()).cuda()) + else: + permuted_inputs.append(qw_torch) + linear_bitblas.qweight.data = permuted_inputs[-1].clone() + if with_scaling: + if group_size == -1: + group_size = in_features + permuted_inputs.append( + torch.ones([out_features, in_features // group_size], dtype=torch.float16).cuda()) + linear_bitblas.scales.data = permuted_inputs[-1].clone() + if with_zeros: + if zeros_mode == "original": + permuted_inputs.append( + torch.ones([out_features, in_features // group_size], + dtype=torch.float16).cuda() * zeros) + elif zeros_mode == "rescale": + original_zeros = ( + torch.ones([out_features, in_features // group_size], + dtype=torch.float16).cuda() * zeros) + scaled_zeros = original_zeros * permuted_inputs[-1] + permuted_inputs.append(scaled_zeros) + elif zeros_mode == "quantized": + original_zeros = ( + torch.ones([in_features // group_size, out_features], dtype=torch.int8).cuda() * + zeros) + qzeros = general_compress( + original_zeros.cpu().numpy(), source_bits=bit, storage_dtype=np.int8) + permuted_inputs.append(torch.from_numpy(qzeros).cuda()) + else: + raise NotImplementedError + linear_bitblas.zeros.data = permuted_inputs[-1].clone() + if bias: + permuted_inputs.append(bias_tensor) + linear_bitblas.bias.data = bias_tensor.clone() + + with torch.no_grad(): + output_bitblas = linear_bitblas(inputs[0]) + torch.testing.assert_close(output_bitblas, ref_result, rtol=1e0, atol=1e0) + + +def profile(model, input_data): + model = model.cuda() + model.eval() + + def get_runtime(num_repeats=1): + tic = time.time() + for _ in range(num_repeats): + _ = model(input_data) + torch.cuda.synchronize() + return (time.time() - tic) * 1000 / num_repeats + + with torch.no_grad(): + # print("Warming up ...") + st = time.time() + while time.time() - st < 1.0: + get_runtime() # warmup + warmup_runtime = get_runtime() + num_repeats = max(1, int(1000 / warmup_runtime)) + times = get_runtime(num_repeats) + return np.mean(times) + + +if __name__ == "__main__": + bitblas.testing.main() diff --git a/testing/python/operators/test_general_matmul_ops.py b/testing/python/operators/test_general_matmul_ops.py new file mode 100644 index 000000000..6eb588d9e --- /dev/null +++ b/testing/python/operators/test_general_matmul_ops.py @@ -0,0 +1,286 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +import pytest +import bitblas +from bitblas import MatmulConfig, Matmul +import logging +from bitblas import set_log_level + +set_log_level(logging.DEBUG) + + +def get_codegen_result(ops): + code = ops.get_source() + return code + + +# fmt: off +@pytest.mark.parametrize( + "M,N,K,A_dtype,W_dtype,accum_dtype,out_dtype,layout,with_bias,group_size,with_scaling,with_zeros,zeros_mode", + [ + (1, 768, 768, "float16", "float16", "float16", "float16", "nt", False, -1, False, False, + None), + (768, 768, 768, "float16", "float16", "float16", "float16", "nt", False, -1, False, False, + None), + (1, 768, 768, "int8", "int8", "int32", "int8", "nt", False, -1, False, False, None), + (768, 768, 768, "int8", "int8", "int32", "int8", "nt", False, -1, False, False, None), + (1, 768, 768, "float16", "uint4", "float16", "float16", "nt", False, -1, False, False, + None), + (1, 768, 768, "float16", "uint4", "float16", "float16", "nt", True, -1, False, False, None), + (1, 768, 768, "float16", "uint4", "float16", "float16", "nt", False, -1, True, False, None), + (1, 768, 768, "float16", "uint4", "float16", "float16", "nt", False, -1, True, True, + "original"), + (768, 768, 768, "float16", "uint4", "float16", "float16", "nt", False, -1, False, False, + None), + (768, 768, 768, "float16", "uint4", "float16", "float16", "nt", True, -1, False, False, + None), + (768, 768, 768, "float16", "uint4", "float16", "float16", "nt", False, -1, True, False, + None), + (768, 768, 768, "float16", "uint4", "float16", "float16", "nt", False, -1, True, True, + "original"), + ], +) +def test_matmul_codegen_default(M, N, K, A_dtype, W_dtype, accum_dtype, out_dtype, layout, + with_bias, group_size, with_scaling, with_zeros, zeros_mode): + + matmul_config = MatmulConfig( + M=M, + N=N, + K=K, + A_dtype=A_dtype, + W_dtype=W_dtype, + accum_dtype=accum_dtype, + out_dtype=out_dtype, + layout=layout, + with_bias=with_bias, + group_size=group_size, + with_scaling=with_scaling, + with_zeros=with_zeros, + zeros_mode=zeros_mode, + ) + matmul = Matmul(config=matmul_config, enable_tuning=False) + assert get_codegen_result(matmul) + + +@pytest.mark.parametrize( + "M,N,K,A_dtype,W_dtype,accum_dtype,out_dtype,layout,with_bias,group_size,with_scaling,with_zeros,zeros_mode", + [ + (1, 768, 768, "float16", "float16", "float16", "float16", "nt", False, -1, False, False, + None), + (768, 768, 768, "float16", "float16", "float16", "float16", "nt", False, -1, False, False, + None), + (1, 768, 768, "int8", "int8", "int32", "int8", "nt", False, -1, False, False, None), + (768, 768, 768, "int8", "int8", "int32", "int8", "nt", False, -1, False, False, None), + (1, 768, 768, "float16", "uint4", "float16", "float16", "nt", False, -1, False, False, + None), + (1, 768, 768, "float16", "uint4", "float16", "float16", "nt", True, -1, False, False, None), + (1, 768, 768, "float16", "uint4", "float16", "float16", "nt", False, -1, True, False, None), + (1, 768, 768, "float16", "uint4", "float16", "float16", "nt", False, -1, True, True, + "original"), + (768, 768, 768, "float16", "uint4", "float16", "float16", "nt", False, -1, False, False, + None), + (768, 768, 768, "float16", "uint4", "float16", "float16", "nt", True, -1, False, False, + None), + (768, 768, 768, "float16", "uint4", "float16", "float16", "nt", False, -1, True, False, + None), + (768, 768, 768, "float16", "uint4", "float16", "float16", "nt", False, -1, True, True, + "original"), + ], +) +def test_matmul_finetune(M, N, K, A_dtype, W_dtype, accum_dtype, out_dtype, layout, with_bias, + group_size, with_scaling, with_zeros, zeros_mode): + + matmul_config = MatmulConfig( + M=M, + N=N, + K=K, + A_dtype=A_dtype, + W_dtype=W_dtype, + accum_dtype=accum_dtype, + out_dtype=out_dtype, + layout=layout, + with_bias=with_bias, + group_size=group_size, + with_scaling=with_scaling, + with_zeros=with_zeros, + zeros_mode=zeros_mode, + ) + matmul = Matmul(config=matmul_config, enable_tuning=False) + matmul.hardware_aware_finetune(topk=10) + assert get_codegen_result(matmul) + + +@pytest.mark.parametrize( + "M,N,K,A_dtype,W_dtype,accum_dtype,out_dtype,layout,with_bias,group_size,with_scaling,with_zeros,zeros_mode", + [ + (1, 1024, 1024, "float16", "int4", "float16", "float16", "nt", None, None, None, None, + None), + (1, 768, 768, "float16", "uint4", "float16", "float16", "nt", False, -1, False, False, + None), + (1, 768, 768, "float16", "uint4", "float16", "float16", "nt", True, -1, False, False, None), + (1, 768, 768, "float16", "uint4", "float16", "float16", "nt", False, -1, True, False, None), + (1, 768, 768, "float16", "uint4", "float16", "float16", "nt", False, -1, True, True, + "original"), + (768, 768, 768, "float16", "uint4", "float16", "float16", "nt", False, -1, False, False, + None), + (768, 768, 768, "float16", "uint4", "float16", "float16", "nt", True, -1, False, False, + None), + (768, 768, 768, "float16", "uint4", "float16", "float16", "nt", False, -1, True, False, + None), + (768, 768, 768, "float16", "uint4", "float16", "float16", "nt", False, -1, True, True, + "original"), + ], +) +def test_matmul_torch_forward(M, N, K, A_dtype, W_dtype, accum_dtype, out_dtype, layout, with_bias, + group_size, with_scaling, with_zeros, zeros_mode): + import torch + torch.random.manual_seed(0) + import numpy as np + from bitblas.quantization import general_compress + + matmul_config = MatmulConfig( + M=M, + N=N, + K=K, + A_dtype=A_dtype, + W_dtype=W_dtype, + accum_dtype=accum_dtype, + out_dtype=out_dtype, + layout=layout, + with_bias=with_bias, + group_size=group_size, + with_scaling=with_scaling, + with_zeros=with_zeros, + zeros_mode=zeros_mode, + ) + matmul = Matmul(config=matmul_config, enable_tuning=False) + + input_shape = (M, K) + weight_shape = (N, K) if layout == "nt" else (K, N) + output_shape = (M, N) + inputs = [] + inputs.append(torch.rand(input_shape, dtype=torch.float16).cuda() - 0.5) + source_format, bit = matmul.BITBLAS_TRICK_DTYPE_MAP[W_dtype] + maxq = 2**(bit - 1) - 1 + zeros = maxq + if source_format == "uint": + inputs.append(torch.randint(0, maxq, weight_shape, dtype=torch.int8).cuda()) + elif source_format == "int": + inputs.append(torch.randint(-maxq, maxq, weight_shape, dtype=torch.int8).cuda()) + else: + raise NotImplementedError + + inputs.append(torch.rand(output_shape, dtype=torch.float16).cuda()) + + intweight = inputs[1] + intweight = intweight.cpu().numpy().astype(np.int8) + if source_format == "int": + intweight = intweight + maxq + if with_zeros: + inputs[1] = inputs[1] - zeros + bias = torch.rand((output_shape[-1],), dtype=torch.float16).cuda() + ref_result = torch.matmul(inputs[0], + (inputs[1].t() if layout == "nt" else inputs[1]).to(torch.float16)) + if with_bias: + ref_result = ref_result + bias + qw_np = general_compress(intweight, source_bits=bit, storage_dtype=np.int8) + qw_torch = torch.from_numpy(qw_np).cuda() + permuted_inputs = [] + permuted_inputs.append(inputs[0]) + if matmul.weight_transform is not None: + permuted_inputs.append(matmul.weight_transform(qw_torch.cpu()).cuda()) + else: + permuted_inputs.append(qw_torch) + if with_scaling: + if group_size == -1: + group_size = K + permuted_inputs.append(torch.ones([N, K // group_size], dtype=torch.float16).cuda()) + if with_zeros: + if zeros_mode == "original": + permuted_inputs.append( + torch.ones([N, K // group_size], dtype=torch.float16).cuda() * zeros) + elif zeros_mode == "rescale": + original_zeros = torch.ones([N, K // group_size], dtype=torch.float16).cuda() * zeros + scaled_zeros = original_zeros * permuted_inputs[-1] + permuted_inputs.append(scaled_zeros) + elif zeros_mode == "quantized": + original_zeros = torch.ones([K // group_size, N], dtype=torch.int8).cuda() * zeros + qzeros = general_compress( + original_zeros.cpu().numpy(), source_bits=bit, storage_dtype=np.int8) + permuted_inputs.append(torch.from_numpy(qzeros).cuda()) + else: + raise NotImplementedError + if with_bias: + permuted_inputs.append(bias) + permuted_inputs.append(inputs[2]) + matmul(*permuted_inputs) + print(permuted_inputs[-1]) + print(ref_result) + if zeros_mode == "rescale": + torch.testing.assert_close(permuted_inputs[-1], ref_result, rtol=1e2, atol=1e-0) + else: + torch.testing.assert_close(permuted_inputs[-1], ref_result, rtol=1e2, atol=1e-1) + + +@pytest.mark.parametrize( + "M,N,K,A_dtype,W_dtype,accum_dtype,out_dtype,with_bias", + [ + (1, 768, 768, "float16", "uint4", "float16", "float16", False), + (1, 768, 768, "float16", "int4", "float16", "float16", False), + (768, 768, 768, "float16", "uint4", "float16", "float16", False), + (768, 768, 768, "float16", "int4", "float16", "float16", False), + ], +) +def test_matmul_transform_weight( + M, + N, + K, + A_dtype, + W_dtype, + accum_dtype, + out_dtype, + with_bias, +): + import torch + torch.random.manual_seed(0) + + matmul_config = MatmulConfig( + M=M, + N=N, + K=K, + A_dtype=A_dtype, + W_dtype=W_dtype, + accum_dtype=accum_dtype, + out_dtype=out_dtype, + with_bias=with_bias, + ) + matmul = Matmul(config=matmul_config, enable_tuning=False) + + input_shape = (M, K) + weight_shape = (N, K) + output_shape = (M, N) + + _, bit = matmul.BITBLAS_TRICK_DTYPE_MAP[W_dtype] + maxq = 2**(bit - 1) - 1 + + input_tensor = torch.rand(input_shape, dtype=torch.float16).cuda() + intweight_tensor = torch.randint(0, maxq, weight_shape, dtype=torch.int8).cuda() + output_tensor = torch.rand(output_shape, dtype=torch.float16).cuda() + + bias = torch.rand((output_shape[-1],), dtype=torch.float16).cuda() + ref_result = torch.matmul(input_tensor, intweight_tensor.t().to(torch.float16)) + if with_bias: + ref_result = ref_result + bias + + bitblas_inputs = [input_tensor] + intweight_tensor = matmul.transform_weight(intweight_tensor) + bitblas_inputs.append(intweight_tensor) + if with_bias: + bitblas_inputs.append(bias) + output_tensor = matmul(*bitblas_inputs) + torch.testing.assert_close(output_tensor, ref_result, rtol=1e-2, atol=1e-0) + + +# fmt: on +if __name__ == "__main__": + bitblas.testing.main() diff --git a/testing/python/operators/test_ladder_permutate_ops.py b/testing/python/operators/test_ladder_permutate_ops.py index a50fb11c7..e14b5c509 100644 --- a/testing/python/operators/test_ladder_permutate_ops.py +++ b/testing/python/operators/test_ladder_permutate_ops.py @@ -7,14 +7,17 @@ target = tvm.target.Target("llvm") + # fmt: off -@pytest.mark.parametrize("M,N,datatype,dequantize_bits,storage_dtype,propagate_kind,transpose_matrix,transform_kind,target_instruction", [ - (1024, 1024, "float16", -1, "float16", "B", True, 0, "nvidia-mma"), - (1024, 1024, "float16", -1, "float16", "B", True, 1, "nvidia-mma"), - (1024, 1024, "float16", -1, "float16", "B", True, 2, "nvidia-mma"), - # dequantize propagation - (1024, 1024, "float16", 4, "uint32", "B", True, 2, "nvidia-mma"), -]) +@pytest.mark.parametrize( + "M,N,datatype,dequantize_bits,storage_dtype,propagate_kind,transpose_matrix,transform_kind,target_instruction", + [ + (1024, 1024, "float16", -1, "float16", "B", True, 0, "nvidia-mma"), + (1024, 1024, "float16", -1, "float16", "B", True, 1, "nvidia-mma"), + (1024, 1024, "float16", -1, "float16", "B", True, 2, "nvidia-mma"), + # dequantize propagation + (1024, 1024, "float16", 4, "uint32", "B", True, 2, "nvidia-mma"), + ]) def test_ladder_permutate_profile_latency( M, N, @@ -45,6 +48,49 @@ def test_ladder_permutate_profile_latency( latency = ladder_permutate.profile_latency() assert latency + +@pytest.mark.parametrize( + "M,N,datatype,dequantize_bits,storage_dtype,propagate_kind,transpose_matrix,transform_kind,target_instruction", + [ + (1024, 1024, "float16", -1, "float16", "A", True, 0, "nvidia-mma"), + (1024, 1024, "float16", -1, "float16", "A", True, 1, "nvidia-mma"), + (1024, 1024, "float16", -1, "float16", "A", True, 2, "nvidia-mma"), + # dequantize propagation + (1024, 1024, "float16", 4, "uint32", "A", True, 2, "nvidia-mma"), + ]) +def test_ladder_permutate_profile_latency_cuda( + M, + N, + datatype, + dequantize_bits, + storage_dtype, + propagate_kind, + transpose_matrix, + transform_kind, + target_instruction, +): + + ladder_permutate_config = LadderPermutateConfig( + M=M, + N=N, + datatype=datatype, + dequantize_bits=dequantize_bits, + storage_dtype=storage_dtype, + propagate_kind=propagate_kind, + transpose_matrix=transpose_matrix, + transform_kind=transform_kind, + target_instruction=target_instruction, + ) + ladder_permutate = LadderPermutate( + config=ladder_permutate_config, + target="cuda", + ) + # ladder_permutate.hardware_aware_finetune() + latency = ladder_permutate.profile_latency() + print(latency) + assert latency + + # fmt: on if __name__ == "__main__": diff --git a/testing/python/operators/test_matmul_dequantize_ops.py b/testing/python/operators/test_matmul_dequantize_ops.py index 40a6012c1..018ad8256 100644 --- a/testing/python/operators/test_matmul_dequantize_ops.py +++ b/testing/python/operators/test_matmul_dequantize_ops.py @@ -3,28 +3,75 @@ import pytest import tvm import bitblas -from bitblas.utils import get_target_from_env +from bitblas.utils import auto_detect_nvidia_target from bitblas.ops.matmul_dequantize import ( MatmulWeightOnlyDequantize, MatmulWeightOnlyDequantizeConfig, ) +import logging +from bitblas import set_log_level -target = tvm.target.Target(get_target_from_env()) +set_log_level(logging.DEBUG) +target = tvm.target.Target(auto_detect_nvidia_target()) def get_codegen_result(ops, target): - code = ops.codegen(target=target) + code = ops.get_source(target=target) return code # fmt: off +@pytest.mark.parametrize( + "M,N,K,in_dtype,out_dtype,accum_dtype,bit,storage_dtype,source_format,with_scaling,with_zeros,group_size,fast_decoding,with_bias,layout,propagate_a,propagate_b,zeros_mode", + [ + (16, 768, 768, "float16", "float16", "float16", 4, "int8", "uint", False, False, -1, True, + False, "nt", False, False, "original"), + (1, 768, 768, "float16", "float16", "float16", 4, "int8", "uint", False, False, -1, True, + False, "nt", False, False, "original"), + (1, 768, 768, "float16", "float16", "float16", 4, "int8", "uint", True, True, -1, True, + True, "nt", True, True, "original"), + ], +) +def test_matmul_dequantize_codegen_default(M, N, K, in_dtype, out_dtype, accum_dtype, bit, + storage_dtype, source_format, with_scaling, with_zeros, + group_size, fast_decoding, with_bias, layout, + propagate_a, propagate_b, zeros_mode): + + matmul_config = MatmulWeightOnlyDequantizeConfig( + M=M, + N=N, + K=K, + in_dtype=in_dtype, + out_dtype=out_dtype, + accum_dtype=accum_dtype, + bit=bit, + storage_dtype=storage_dtype, + source_format=source_format, + with_scaling=with_scaling, + with_zeros=with_zeros, + group_size=group_size, + fast_decoding=fast_decoding, + with_bias=with_bias, + propagate_a=propagate_a, + propagate_b=propagate_b, + layout=layout, + zeros_mode=zeros_mode, + ) + matmul = MatmulWeightOnlyDequantize( + config=matmul_config, + target=target, + ) + assert get_codegen_result(matmul, target) + + @pytest.mark.parametrize( "M,N,K,in_dtype,out_dtype,accum_dtype,bit,storage_dtype,source_format,with_scaling,with_zeros,group_size,fast_decoding,with_bias,propagate_a,propagate_b,layout", [ - (1, 1024, 1024, "float16", "float16", "float16", 4, "int8", "uint", False, False, -1, False, False, False, False, "nt"), + (1, 1024, 1024, "float16", "float16", "float16", 4, "int8", "uint", False, False, -1, False, + False, False, False, "nt"), ], ) -def test_matmul_dequantize_codegen_default( +def test_matmul_dequantize_retrieve_weight_shape( M, N, K, @@ -67,13 +114,50 @@ def test_matmul_dequantize_codegen_default( config=matmul_config, target=target, ) - assert get_codegen_result(matmul, target) + assert matmul.retrieve_weight_shape() @pytest.mark.parametrize( "M,N,K,in_dtype,out_dtype,accum_dtype,bit,storage_dtype,source_format,with_scaling,with_zeros,group_size,fast_decoding,with_bias,propagate_a,propagate_b,layout", [ - (1, 1024, 1024, "float16", "float16", "float16", 4, "int8", "uint", False, False, -1, False, False, False, False, "nt",), + ( + 1, + 1024, + 1024, + "float16", + "float16", + "float16", + 4, + "int8", + "uint", + False, + False, + -1, + False, + False, + False, + False, + "nt", + ), + ( + 1, + 1024, + 1024, + "float16", + "float16", + "float16", + 4, + "int8", + "uint", + False, + False, + -1, + False, + False, + False, + True, + "nt", + ), ], ) def test_matmul_dequantize_codegen_finetune( @@ -126,13 +210,139 @@ def test_matmul_dequantize_codegen_finetune( @pytest.mark.parametrize( "M,N,K,in_dtype,out_dtype,accum_dtype,bit,storage_dtype,source_format,with_scaling,with_zeros,group_size,fast_decoding,with_bias,propagate_a,propagate_b,layout", [ - (1, 1024, 1024, "float16", "float16", "float16", 4, "int8", "uint", False, False, -1, False, False, False, False, "nt",), - (1, 1024, 1024, "float16", "float16", "float16", 4, "int8", "af", False, False, -1, False, False, False, False, "nt",), - (1024, 1024, 1024, "float16", "float16", "float16", 4, "int8", "af", False, False, -1, False, False, False, False, "nt",), - (1024, 1024, 1024, "float16", "float16", "float16", 4, "int8", "af", False, False, -1, False, False, False, True, "nt",), - (1024, 1024, 1024, "float16", "float16", "float16", 4, "int8", "af", False, False, -1, False, False, True, True, "nt",), - (1024, 1024, 1024, "float16", "float16", "float16", 4, "int8", "af", True, False, -1, False, False, True, True, "nt",), - (1024, 1024, 1024, "float16", "float16", "float16", 4, "int8", "af", True, False, 128, False, False, True, True, "nt",), + ( + 1, + 1024, + 1024, + "float16", + "float16", + "float16", + 4, + "int8", + "uint", + False, + False, + -1, + False, + False, + False, + False, + "nt", + ), + ( + 1, + 1024, + 1024, + "float16", + "float16", + "float16", + 4, + "int8", + "nf", + False, + False, + -1, + False, + False, + False, + False, + "nt", + ), + ( + 1024, + 1024, + 1024, + "float16", + "float16", + "float16", + 4, + "int8", + "nf", + False, + False, + -1, + False, + False, + False, + False, + "nt", + ), + ( + 1024, + 1024, + 1024, + "float16", + "float16", + "float16", + 4, + "int8", + "nf", + False, + False, + -1, + False, + False, + False, + True, + "nt", + ), + ( + 1024, + 1024, + 1024, + "float16", + "float16", + "float16", + 4, + "int8", + "nf", + False, + False, + -1, + False, + False, + True, + True, + "nt", + ), + ( + 1024, + 1024, + 1024, + "float16", + "float16", + "float16", + 4, + "int8", + "nf", + True, + False, + -1, + False, + False, + True, + True, + "nt", + ), + ( + 1024, + 1024, + 1024, + "float16", + "float16", + "float16", + 4, + "int8", + "nf", + True, + False, + 128, + False, + False, + True, + True, + "nt", + ), ], ) def test_matmul_dequantize_profile_latency( @@ -182,46 +392,46 @@ def test_matmul_dequantize_profile_latency( latency = matmul.profile_latency() assert latency + @pytest.mark.parametrize( - "M,N,K,in_dtype,out_dtype,accum_dtype,bit,storage_dtype,source_format,with_scaling,with_zeros,group_size,fast_decoding,with_bias,propagate_a,propagate_b,layout,zeros_type", + "M,N,K,in_dtype,out_dtype,accum_dtype,bit,storage_dtype,source_format,with_scaling,with_zeros,group_size,fast_decoding,with_bias,propagate_a,propagate_b,layout,zeros_mode", [ - (1, 1024, 1024, "float16", "float16", "float16", 4, "int8", "uint", False, False, -1, False, False, False, False, "nt", "rescale"), - (1, 1024, 1024, "float16", "float16", "float16", 4, "int8", "uint", False, False, -1, True, False, False, False, "nt", "rescale"), - (1, 1024, 1024, "float16", "float16", "float16", 4, "int8", "int", False, False, -1, False, False, False, False, "nt", "rescale"), - (1, 1024, 1024, "float16", "float16", "float16", 4, "int8", "int", False, False, -1, True, False, False, False, "nt", "rescale"), - (1, 1024, 1024, "float16", "float16", "float16", 2, "int8", "int", False, False, -1, True, False, False, False, "nt", "rescale"), - (1, 1024, 1024, "float16", "float16", "float16", 2, "int8", "int", True, False, -1, True, False, False, False, "nt", "rescale"), - (1, 1024, 1024, "float16", "float16", "float16", 2, "int8", "int", True, False, 128, True, False, False, False, "nt", "rescale"), - (1, 1024, 1024, "float16", "float16", "float16", 2, "int8", "uint", True, True, 128, False, False, False, False, "nt", "rescale"), - (1, 1024, 4096, "float16", "float16", "float16", 2, "int8", "uint", True, True, 128, True, False, False, False, "nt", "rescale"), - (1024, 1024, 1024, "float16", "float16", "float16", 2, "int8", "int", True, False, 128, False, False, False, False, "nt", "rescale"), - (1024, 1024, 1024, "float16", "float16", "float16", 2, "int8", "int", True, False, 128, False, False, False, True, "nt", "rescale"), - (1024, 1024, 1024, "float16", "float16", "float16", 2, "int8", "int", True, False, 128, False, False, True, True, "nt", "rescale"), - (1024, 1024, 1024, "float16", "float16", "float16", 2, "int8", "int", True, False, 128, False, False, True, True, "nt", "original"), - ([1, 1024], 1024, 1024, "float16", "float16", "float16", 4, "int8", "uint", False, False, -1, False, False, False, False, "nt", "original"), + (1, 1024, 1024, "float16", "float16", "float16", 4, "int8", "uint", False, False, -1, False, + False, False, False, "nt", "rescale"), + (1, 1024, 1024, "float16", "float16", "float16", 4, "int8", "uint", False, False, -1, True, + False, False, False, "nt", "rescale"), + (1, 1024, 1024, "float16", "float16", "float16", 4, "int8", "int", False, False, -1, False, + False, False, False, "nt", "rescale"), + (1, 1024, 1024, "float16", "float16", "float16", 4, "int8", "int", False, False, -1, True, + False, False, False, "nt", "rescale"), + (1, 1024, 1024, "float16", "float16", "float16", 2, "int8", "int", False, False, -1, True, + False, False, False, "nt", "rescale"), + (1, 1024, 1024, "float16", "float16", "float16", 2, "int8", "int", True, False, -1, True, + False, False, False, "nt", "rescale"), + (1, 1024, 1024, "float16", "float16", "float16", 2, "int8", "int", True, False, 128, True, + False, False, False, "nt", "rescale"), + (1, 1024, 1024, "float16", "float16", "float16", 2, "int8", "uint", True, True, 128, False, + False, False, False, "nt", "rescale"), + (1, 1024, 4096, "float16", "float16", "float16", 2, "int8", "uint", True, True, 128, True, + False, False, False, "nt", "rescale"), + (1024, 1024, 1024, "float16", "float16", "float16", 2, "int8", "int", True, False, 128, + False, False, False, False, "nt", "rescale"), + (1024, 1024, 1024, "float16", "float16", "float16", 2, "int8", "int", True, False, 128, + False, False, False, True, "nt", "rescale"), + (1024, 1024, 1024, "float16", "float16", "float16", 2, "int8", "int", True, False, 128, + False, False, True, True, "nt", "rescale"), + (1024, 1024, 1024, "float16", "float16", "float16", 2, "int8", "int", True, False, 128, + False, False, True, True, "nt", "original"), + ([1, 1024], 1024, 1024, "float16", "float16", "float16", 4, "int8", "uint", False, False, + -1, False, False, False, False, "nt", "original"), ], ) -def test_matmul_dequantize_torch_forward( - M, - N, - K, - in_dtype, - out_dtype, - accum_dtype, - bit, - storage_dtype, - source_format, - with_scaling, - with_zeros, - group_size, - fast_decoding, - with_bias, - propagate_a, - propagate_b, - layout, - zeros_type -): +def test_matmul_dequantize_torch_forward(M, N, K, in_dtype, out_dtype, accum_dtype, bit, + storage_dtype, source_format, with_scaling, with_zeros, + group_size, fast_decoding, with_bias, propagate_a, + propagate_b, layout, zeros_mode): import torch + torch.random.manual_seed(0) import numpy as np from bitblas.quantization.utils import general_compress @@ -243,8 +453,7 @@ def test_matmul_dequantize_torch_forward( propagate_a=propagate_a, propagate_b=propagate_b, layout=layout, - zeros_type=zeros_type - ) + zeros_mode=zeros_mode) matmul = MatmulWeightOnlyDequantize( config=matmul_config, target=target, @@ -256,8 +465,8 @@ def test_matmul_dequantize_torch_forward( weight_shape = (N, K) if layout == "nt" else (K, N) output_shape = (M, N) inputs = [] - inputs.append(torch.rand(input_shape, dtype=torch.float16).cuda()) - maxq = 2 ** (bit - 1) - 1 + inputs.append(torch.rand(input_shape, dtype=torch.float16).cuda() - 0.5) + maxq = 2**(bit - 1) - 1 zeros = maxq if source_format == "uint": inputs.append(torch.randint(0, maxq, weight_shape, dtype=torch.int8).cuda()) @@ -267,27 +476,27 @@ def test_matmul_dequantize_torch_forward( raise NotImplementedError inputs.append(torch.rand(output_shape, dtype=torch.float16).cuda()) - + intweight = inputs[1] intweight = intweight.cpu().numpy().astype(np.int8) if source_format == "int": intweight = intweight + maxq if with_zeros: inputs[1] = inputs[1] - zeros - - ref_result = torch.matmul(inputs[0], (inputs[1].t() if layout == "nt" else inputs[1]).to(torch.float16)) - - qw_np = general_compress( - intweight, source_bits=bit, storage_dtype=np.int8 - ) + bias = torch.rand((output_shape[-1],), dtype=torch.float16).cuda() + ref_result = torch.matmul(inputs[0], + (inputs[1].t() if layout == "nt" else inputs[1]).to(torch.float16)) + if with_bias: + ref_result = ref_result + bias + qw_np = general_compress(intweight, source_bits=bit, storage_dtype=np.int8) qw_torch = torch.from_numpy(qw_np).cuda() permuted_inputs = [] - permuted_inputs.append(inputs[0]) - + if matmul.input_transform is not None: + permuted_inputs.append(matmul.input_transform(inputs[0].cpu()).cuda()) + else: + permuted_inputs.append(inputs[0]) if matmul.weight_transform is not None: - permuted_inputs.append( - matmul.weight_transform(qw_torch.cpu()).cuda() - ) + permuted_inputs.append(matmul.weight_transform(qw_torch.cpu()).cuda()) else: permuted_inputs.append(qw_torch) if with_scaling: @@ -296,9 +505,296 @@ def test_matmul_dequantize_torch_forward( permuted_inputs.append(torch.ones([N, K // group_size], dtype=torch.float16).cuda()) if with_zeros: permuted_inputs.append(torch.ones([N, K // group_size], dtype=torch.float16).cuda() * zeros) + if with_bias: + permuted_inputs.append(bias) permuted_inputs.append(inputs[2]) matmul(*permuted_inputs) - torch.testing.assert_close(permuted_inputs[-1], ref_result, rtol=1e-2, atol=1e-2) + if zeros_mode == "rescale": + torch.testing.assert_close(permuted_inputs[-1], ref_result, rtol=1e-0, atol=1e-0) + else: + torch.testing.assert_close(permuted_inputs[-1], ref_result, rtol=1e-0, atol=1e-1) + + +@pytest.mark.parametrize( + "M,N,K,in_dtype,out_dtype,accum_dtype,bit,storage_dtype,source_format,with_scaling,with_zeros,group_size,fast_decoding,with_bias,layout,zeros_mode", + [ + (16, 768, 768, "float16", "float16", "float16", 4, "int8", "uint", False, False, -1, True, + False, "nt", "original"), + (16, 768, 768, "float16", "float16", "float16", 4, "int8", "uint", False, True, -1, True, + True, "nt", "original"), + (16, 3072, 768, "float16", "float16", "float16", 4, "int8", "uint", False, False, -1, True, + False, "nt", "original"), + (16, 768, 3072, "float16", "float16", "float16", 4, "int8", "uint", False, False, -1, True, + False, "nt", "original"), + ], +) +def test_matmul_dequantize_propgate_comparison(M, N, K, in_dtype, out_dtype, accum_dtype, bit, + storage_dtype, source_format, with_scaling, + with_zeros, group_size, fast_decoding, with_bias, + layout, zeros_mode): + import torch + torch.random.manual_seed(0) + original_matmul_config = MatmulWeightOnlyDequantizeConfig( + M=M, + N=N, + K=K, + in_dtype=in_dtype, + out_dtype=out_dtype, + accum_dtype=accum_dtype, + bit=bit, + storage_dtype=storage_dtype, + source_format=source_format, + with_scaling=with_scaling, + with_zeros=with_zeros, + group_size=group_size, + fast_decoding=False, + with_bias=with_bias, + propagate_a=False, + propagate_b=False, + layout=layout, + zeros_mode=zeros_mode) + original_matmul = MatmulWeightOnlyDequantize( + config=original_matmul_config, + target=target, + ) + if not isinstance(M, int): + M = 32 + + if group_size == -1: + group_size = K + input_shape = (M, K) + weight_shape = (N, K // 2) if layout == "nt" else (K, N) + output_shape = (M, N) + scales_shape = (N, K // group_size) + zeros_shape = (N, K // group_size) + bias_shape = (N,) + + inputs = [] + input_tensor = torch.rand(input_shape, dtype=torch.float16).cuda() + weight_tensor = torch.randint(0, 2**(bit - 1) - 1, weight_shape, dtype=torch.int8).cuda() + scales_tensor = torch.rand(scales_shape, dtype=torch.float16).cuda() + zeros_tensor = torch.rand(zeros_shape, dtype=torch.float16).cuda() + bias_tensor = torch.rand(bias_shape, dtype=torch.float16).cuda() + output_tensor = torch.zeros(output_shape, dtype=torch.float16).cuda() + inputs.append(input_tensor) + inputs.append(weight_tensor) + if with_scaling: + inputs.append(scales_tensor) + if with_zeros: + inputs.append(zeros_tensor) + if with_bias: + inputs.append(bias_tensor) + inputs.append(output_tensor) + ref_result = original_matmul(*inputs) + + propagated_matmul_config = MatmulWeightOnlyDequantizeConfig( + M=M, + N=N, + K=K, + in_dtype=in_dtype, + out_dtype=out_dtype, + accum_dtype=accum_dtype, + bit=bit, + storage_dtype=storage_dtype, + source_format=source_format, + with_scaling=with_scaling, + with_zeros=with_zeros, + group_size=group_size, + fast_decoding=fast_decoding, + with_bias=with_bias, + propagate_a=False, + propagate_b=True, + layout=layout, + zeros_mode=zeros_mode) + propagated_matmul = MatmulWeightOnlyDequantize( + config=propagated_matmul_config, + target=target, + ) + + propagated_matmul.hardware_aware_finetune(topk=20) + propagated_inputs = [] + propagated_inputs.append(input_tensor) + if propagated_matmul.weight_transform is not None: + propagated_inputs.append(propagated_matmul.weight_transform(weight_tensor.cpu()).cuda()) + else: + propagated_inputs.append(weight_tensor) + if with_scaling: + propagated_inputs.append(scales_tensor) + if with_zeros: + propagated_inputs.append(zeros_tensor) + if with_bias: + propagated_inputs.append(bias_tensor) + propagated_inputs.append(torch.zeros(output_shape, dtype=torch.float16).cuda()) + + propagated_result = propagated_matmul(*propagated_inputs) + torch.testing.assert_close(ref_result, propagated_result, rtol=1e-2, atol=1e-2) + + +@pytest.mark.parametrize( + "M,N,K,in_dtype,out_dtype,accum_dtype,bit,storage_dtype,source_format,with_scaling,with_zeros,group_size,fast_decoding,with_bias,propagate_a,propagate_b,layout,source_zeros_mode,target_zeros_mode", + [ + (1, 1024, 1024, "float16", "float16", "float16", 4, "int8", "uint", False, False, -1, False, + False, False, False, "nt", "rescale", "quantized"), + (1, 1024, 1024, "float16", "float16", "float16", 4, "int8", "uint", False, False, -1, False, + False, False, False, "nt", "rescale", "original"), + (1024, 1024, 1024, "float16", "float16", "float16", 4, "int8", "uint", False, False, -1, + False, False, False, False, "nt", "rescale", "quantized"), + (1024, 1024, 1024, "float16", "float16", "float16", 4, "int8", "uint", False, False, -1, + False, False, False, False, "nt", "rescale", "original"), + ], +) +def test_matmul_dequantize_diff_zero_types(M, N, K, in_dtype, out_dtype, accum_dtype, bit, + storage_dtype, source_format, with_scaling, with_zeros, + group_size, fast_decoding, with_bias, propagate_a, + propagate_b, layout, source_zeros_mode, + target_zeros_mode): + import torch + torch.random.manual_seed(0) + import numpy as np + from bitblas.quantization.utils import general_compress + + source_quantized_matmul_config = MatmulWeightOnlyDequantizeConfig( + M=M, + N=N, + K=K, + in_dtype=in_dtype, + out_dtype=out_dtype, + accum_dtype=accum_dtype, + bit=bit, + storage_dtype=storage_dtype, + source_format=source_format, + with_scaling=with_scaling, + with_zeros=with_zeros, + group_size=group_size, + fast_decoding=fast_decoding, + with_bias=with_bias, + propagate_a=propagate_a, + propagate_b=propagate_b, + layout=layout, + zeros_mode=source_zeros_mode) + source_quantized_matmul = MatmulWeightOnlyDequantize( + config=source_quantized_matmul_config, + target=target, + ) + if not isinstance(M, int): + M = 32 + source_quantized_matmul.hardware_aware_finetune(topk=20) + input_shape = (M, K) + weight_shape = (N, K) if layout == "nt" else (K, N) + output_shape = (M, N) + inputs = [] + inputs.append(torch.rand(input_shape, dtype=torch.float16).cuda() - 0.5) + maxq = 2**(bit - 1) - 1 + zeros = maxq + if source_format == "uint": + inputs.append(torch.randint(0, maxq, weight_shape, dtype=torch.int8).cuda()) + elif source_format == "int": + inputs.append(torch.randint(-maxq, maxq, weight_shape, dtype=torch.int8).cuda()) + else: + raise NotImplementedError + + inputs.append(torch.rand(output_shape, dtype=torch.float16).cuda()) + + intweight = inputs[1] + intweight = intweight.cpu().numpy().astype(np.int8) + if source_format == "int": + intweight = intweight + maxq + if with_zeros: + inputs[1] = inputs[1] - zeros + bias = torch.rand((output_shape[-1],), dtype=torch.float16).cuda() + qw_np = general_compress(intweight, source_bits=bit, storage_dtype=np.int8) + qw_torch = torch.from_numpy(qw_np).cuda() + permuted_inputs = [] + if source_quantized_matmul.input_transform is not None: + permuted_inputs.append(source_quantized_matmul.input_transform(qw_torch.cpu()).cuda()) + else: + permuted_inputs.append(inputs[0]) + if source_quantized_matmul.weight_transform is not None: + permuted_inputs.append(source_quantized_matmul.weight_transform(qw_torch.cpu()).cuda()) + else: + permuted_inputs.append(qw_torch) + if with_scaling: + if group_size == -1: + group_size = K + permuted_inputs.append(torch.rand([N, K // group_size], dtype=torch.float16).cuda()) + if with_zeros: + if source_zeros_mode == "original": + permuted_inputs.append( + torch.ones([N, K // group_size], dtype=torch.float16).cuda() * zeros) + elif source_zeros_mode == "rescale": + original_zeros = torch.ones([N, K // group_size], dtype=torch.float16).cuda() * zeros + scaled_zeros = original_zeros * permuted_inputs[-1] + permuted_inputs.append(scaled_zeros) + elif source_zeros_mode == "quantized": + original_zeros = torch.ones([K // group_size, N], dtype=torch.int8).cuda() * zeros + qzeros = general_compress( + original_zeros.cpu().numpy(), source_bits=bit, storage_dtype=np.int8) + permuted_inputs.append(torch.from_numpy(qzeros).cuda()) + else: + raise NotImplementedError + + if with_bias: + permuted_inputs.append(bias) + permuted_inputs.append(inputs[2]) + source_quantized_matmul(*permuted_inputs) + ref_result = permuted_inputs[-1] + target_quantized_matmul_config = MatmulWeightOnlyDequantizeConfig( + M=M, + N=N, + K=K, + in_dtype=in_dtype, + out_dtype=out_dtype, + accum_dtype=accum_dtype, + bit=bit, + storage_dtype=storage_dtype, + source_format=source_format, + with_scaling=with_scaling, + with_zeros=with_zeros, + group_size=group_size, + fast_decoding=fast_decoding, + with_bias=with_bias, + propagate_a=propagate_a, + propagate_b=propagate_b, + layout=layout, + zeros_mode=target_zeros_mode) + target_quantized_matmul = MatmulWeightOnlyDequantize( + config=target_quantized_matmul_config, + target=target, + ) + if not isinstance(M, int): + M = 32 + target_quantized_matmul.hardware_aware_finetune(topk=20) + input_shape = (M, K) + weight_shape = (N, K) if layout == "nt" else (K, N) + output_shape = (M, N) + + target_inputs = [] + target_inputs.append(permuted_inputs[0]) + target_inputs.append(permuted_inputs[1]) + + if with_scaling: + target_inputs.append(permuted_inputs[2]) + if with_zeros: + if target_zeros_mode == "original": + target_inputs.append( + torch.ones([N, K // group_size], dtype=torch.float16).cuda() * zeros) + elif target_zeros_mode == "rescale": + original_zeros = torch.ones([N, K // group_size], dtype=torch.float16).cuda() * zeros + scaled_zeros = original_zeros * target_inputs[-1] + target_inputs.append(scaled_zeros) + elif target_zeros_mode == "quantized": + original_zeros = torch.ones([K // group_size, N], dtype=torch.int8).cuda() * zeros + qzeros = general_compress( + original_zeros.cpu().numpy(), source_bits=bit, storage_dtype=np.int8) + target_inputs.append(torch.from_numpy(qzeros).cuda()) + else: + raise NotImplementedError + if with_bias: + target_inputs.append(bias) + target_inputs.append(torch.zeros_like(inputs[2])) + target_quantized_matmul(*target_inputs) + torch.testing.assert_close(target_inputs[-1], ref_result, rtol=1e-2, atol=1e-2) + # fmt: on diff --git a/testing/python/operators/test_matmul_ops.py b/testing/python/operators/test_matmul_ops.py index 7418a3781..2baac71d2 100644 --- a/testing/python/operators/test_matmul_ops.py +++ b/testing/python/operators/test_matmul_ops.py @@ -1,16 +1,15 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. import pytest -import tvm import bitblas from bitblas.ops.matmul import Matmul, MatmulConfig -from bitblas.utils import tvm_tensor_to_torch +from bitblas.utils import auto_detect_nvidia_target -target = tvm.target.Target("nvidia/nvidia-a100") +target = auto_detect_nvidia_target() def get_codegen_result(ops, target): - code = ops.codegen(target=target) + code = ops.get_source(target=target) return code @@ -143,6 +142,9 @@ def test_matmul_profile_latency( [ (256, 256, 256, "float16", "float16", "float16", False, False, False, "nt"), (256, 256, 256, "float16", "float16", "float16", False, False, True, "nt"), + (256, 256, 256, "float16", "float16", "float16", False, False, 0, "nt"), + (256, 256, 256, "float16", "float16", "float16", False, False, 1, "nt"), + (256, 256, 256, "float16", "float16", "float16", False, False, 2, "nt"), ], ) def test_matmul_torch_forward( @@ -188,21 +190,18 @@ def test_matmul_torch_forward( permuted_inputs = [] if matmul.input_transform is not None: - permuted_inputs.append( - matmul.input_transform(inputs[0].cpu()) - ).cuda() + permuted_inputs.append(matmul.input_transform(inputs[0].cpu())).cuda() else: permuted_inputs.append(inputs[0]) if matmul.weight_transform is not None: - permuted_inputs.append( - matmul.weight_transform(inputs[1].cpu()).cuda() - ) + permuted_inputs.append(matmul.weight_transform(inputs[1].cpu()).cuda()) else: permuted_inputs.append(inputs[1]) permuted_inputs.append(inputs[2]) matmul(*permuted_inputs) torch.testing.assert_close(permuted_inputs[-1], ref_result, rtol=1e-2, atol=1e-2) + # fmt: on if __name__ == "__main__": diff --git a/testing/python/operators/test_param_permutate_ops.py b/testing/python/operators/test_param_permutate_ops.py new file mode 100644 index 000000000..4f8d32c80 --- /dev/null +++ b/testing/python/operators/test_param_permutate_ops.py @@ -0,0 +1,45 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +import pytest +import tvm +import bitblas +from bitblas.ops.param_permutate import ParamPermutate, ParamPermutateConfig + +target = tvm.target.Target("llvm") + + +# fmt: off +@pytest.mark.parametrize( + "M,N,datatype,transpose_matrix,group_size,propagate_kind,target_instruction", [ + (1024, 1024, "float16", True, 1, True, "nvidia-mma"), + ]) +def test_param_permutate_profile_latency( + M, + N, + datatype, + transpose_matrix, + group_size, + propagate_kind, + target_instruction, +): + param_permutate_config = ParamPermutateConfig( + M=M, + N=N, + datatype=datatype, + propagate_kind=propagate_kind, + group_size=group_size, + transpose_matrix=transpose_matrix, + target_instruction=target_instruction, + ) + param_permutate = ParamPermutate( + config=param_permutate_config, + target=target, + ) + latency = param_permutate.profile_latency() + assert latency + + +# fmt: on + +if __name__ == "__main__": + bitblas.testing.main() diff --git a/testing/python/tir_expr/float16xfloat16_gemm.py b/testing/python/tir_expr/float16xfloat16_gemm.py deleted file mode 100644 index 75fc24ef0..000000000 --- a/testing/python/tir_expr/float16xfloat16_gemm.py +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -import tvm -from tvm.script import tir as T -from bitblas.base.roller.policy import TensorCorePolicy, DefaultPolicy -from bitblas.base.roller.arch import CUDA -from bitblas.gpu.matmul_analysis import get_tensorized_func_and_tags -from bitblas.base.utils import apply_and_build -from bitblas.ops.matmul_impl import matmul_nt, matmul_nt_propagate_b_s8_s8_s32_mma -import numpy as np - - -def test_f16_f16_gemm(): - ir_module = matmul_nt(1024, 1024, 1024, "float16", "float16") - func = ir_module["main"] - target = tvm.target.Target("nvidia/nvidia-a100") - arch = CUDA(target) - policy = DefaultPolicy(func=func, arch=arch) - try: - tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) - except: - tags = None - if tags: - policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) - - configs = policy.emit_config(1) - - cpresults, best = apply_and_build(func, configs, arch, parallel_build=True) - print( - "[BitBLAS] The best latency of top 1 is {:.3f} ms".format( - cpresults[0].latency * 1e3 - ) - ) - print( - "[BitBLAS] The best latency of top 1 is {:.3f} ms".format(best.latency * 1e3) - ) - - numpy_a = np.random.randint(-4, 3, (1024, 1024)).astype("float16") - numpy_b = np.random.randint(-4, 3, (1024, 1024)).astype("float16") - numpy_c = np.matmul(numpy_a.astype("float16"), numpy_b.T.astype("float16")) - ctx = tvm.cuda() - tvm_a = tvm.nd.array(numpy_a, device=ctx) - tvm_b = tvm.nd.array(numpy_b, device=ctx) - tvm_c = tvm.nd.array(np.zeros((1024, 1024), dtype="float16"), device=ctx) - print(best.code) - best.mod(tvm_a, tvm_b, tvm_c) - print(best.config) - print("numpy_c ", numpy_c) - print("tvm_c.asnumpy() ", tvm_c.asnumpy()) - - -def test_i8_i8_gemm_propagate_b(): - ir_module = matmul_nt_propagate_b_s8_s8_s32_mma( - 16384, 16384, 16384, "int8", "int32" - ) - func = ir_module["main"] - target = tvm.target.Target("nvidia/nvidia-a100") - arch = CUDA(target) - policy = DefaultPolicy(func=func, arch=arch) - try: - tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) - except: - tags = None - if tags: - policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) - - configs = policy.emit_config(1) - - cpresults, best = apply_and_build(func, configs, arch, parallel_build=True) - print( - "[BitBLAS] The best latency of top 1 is {:.3f} ms".format( - cpresults[0].latency * 1e3 - ) - ) - print( - "[BitBLAS] The best latency of top 1 is {:.3f} ms".format(best.latency * 1e3) - ) - print(best.sch.mod) - - -test_f16_f16_gemm() -# test_i8_i8_gemm_propagate_b() diff --git a/testing/python/tir_expr/int8xint8_gemm.py b/testing/python/tir_expr/int8xint8_gemm.py deleted file mode 100644 index 1515c307c..000000000 --- a/testing/python/tir_expr/int8xint8_gemm.py +++ /dev/null @@ -1,368 +0,0 @@ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -import tvm -import bitblas -import numpy as np -from bitblas.base.roller.policy import TensorCorePolicy, DefaultPolicy -from bitblas.base.roller.arch import CUDA -from bitblas.gpu.matmul_analysis import get_tensorized_func_and_tags -from bitblas.base.utils import apply_and_build -from bitblas.ops.matmul_impl import ( - matmul_nt, - matmul_nt_dequantize_b, - matmul_nt_dequantize_b_propagate_b, - matmul_nt_dequantize_b_propagate_a_b, - matmul_nt_propagate_b_s8_s8_s32_mma, - matmul_nt_propagate_b_s8_s8_s32_cast_s8_mma, - matmul_nt_propagate_a_propagate_b_s8_s8_s32_mma, - matmul_nt_propagate_a_propagate_b_s8_s8_s32_mma_cast_s8, -) - - -def test_i8_i8_gemm(): - ir_module = matmul_nt(16384, 16384, 16384, "int8", "int32") - func = ir_module["main"] - target = tvm.target.Target("nvidia/nvidia-a100") - arch = CUDA(target) - policy = DefaultPolicy(func=func, arch=arch) - try: - tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) - except: - tags = None - if tags: - policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) - - configs = policy.emit_config(20) - - cpresults, best = apply_and_build(func, configs, arch, parallel_build=True) - print( - "[BitBLAS] The best latency of top 1 is {:.3f} ms".format( - cpresults[0].latency * 1e3 - ) - ) - print("[BitBLAS] The best latency of top 1 is {:.3f} ms".format(best.latency * 1e3)) - with open("debug/after_memory_rewrite.cu", "+w") as f: - f.write(best.code) - - -def test_i8_i8_gemm_correctness(): - ir_module = matmul_nt(1024, 1024, 1024, "int8", "int32") - func = ir_module["main"] - target = tvm.target.Target("nvidia/nvidia-a100") - arch = CUDA(target) - policy = DefaultPolicy(func=func, arch=arch) - try: - tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) - except: - tags = None - if tags: - policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) - - configs = policy.emit_config(20) - - cpresults, best = apply_and_build(func, configs, arch, parallel_build=True) - print( - "[BitBLAS] The best latency of top 1 is {:.3f} ms".format( - cpresults[0].latency * 1e3 - ) - ) - print("[BitBLAS] The best latency of top 1 is {:.3f} ms".format(best.latency * 1e3)) - - numpy_a = np.random.randint(-4, 3, (1024, 1024)).astype("int8") - numpy_b = np.random.randint(-4, 3, (1024, 1024)).astype("int8") - numpy_c = np.matmul(numpy_a.astype("int32"), numpy_b.T.astype("int32")) - ctx = tvm.cuda() - tvm_a = tvm.nd.array(numpy_a, device=ctx) - tvm_b = tvm.nd.array(numpy_b, device=ctx) - tvm_c = tvm.nd.array(np.zeros((1024, 1024), dtype="int32"), device=ctx) - # print(best.sch.mod) - # print(best.code) - best.mod(tvm_a, tvm_b, tvm_c) - print(best.config) - print("numpy_c ", numpy_c) - print("tvm_c.asnumpy() ", tvm_c.asnumpy()) - - np.testing.assert_allclose(tvm_c.asnumpy(), numpy_c, atol=1e-5) - # print(best.code) - - -def test_i8_i8_i32_gemm_propagate_b(): - ir_module = matmul_nt_propagate_b_s8_s8_s32_mma( - 16384, 16384, 16384, "int8", "int32" - ) - func = ir_module["main"] - target = tvm.target.Target("nvidia/nvidia-a100") - arch = CUDA(target) - policy = DefaultPolicy(func=func, arch=arch) - try: - tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) - except: - tags = None - if tags: - policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) - - configs = policy.emit_config(20) - - cpresults, best = apply_and_build(func, configs, arch, parallel_build=True) - print( - "[BitBLAS] The best latency of top 1 is {:.3f} ms".format( - cpresults[0].latency * 1e3 - ) - ) - print("[BitBLAS] The best latency of top 1 is {:.3f} ms".format(best.latency * 1e3)) - - -def test_i8_i8_i32_cast_i8_gemm_propagate_b(): - ir_module = matmul_nt_propagate_b_s8_s8_s32_cast_s8_mma( - 16384, 16384, 16384, "int8", "int32" - ) - func = ir_module["main"] - target = tvm.target.Target("nvidia/nvidia-a100") - arch = CUDA(target) - policy = DefaultPolicy(func=func, arch=arch) - try: - tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) - except: - tags = None - if tags: - policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) - - configs = policy.emit_config(20) - - cpresults, best = apply_and_build(func, configs, arch, parallel_build=True) - print( - "[BitBLAS] The best latency of top 1 is {:.3f} ms".format( - cpresults[0].latency * 1e3 - ) - ) - print("[BitBLAS] The best latency of top 1 is {:.3f} ms".format(best.latency * 1e3)) - - -def test_i8_i8_i32_gemm_propagate_a_propagate_b(): - ir_module = matmul_nt_propagate_a_propagate_b_s8_s8_s32_mma( - 16384, 16384, 16384, "int8", "int32" - ) - func = ir_module["main"] - target = tvm.target.Target("nvidia/nvidia-a100") - arch = CUDA(target) - policy = DefaultPolicy(func=func, arch=arch) - try: - tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) - except: - tags = None - if tags: - policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) - - configs = policy.emit_config(20) - - cpresults, best = apply_and_build(func, configs, arch, parallel_build=True) - print( - "[BitBLAS] The best latency of top 1 is {:.3f} ms".format( - cpresults[0].latency * 1e3 - ) - ) - print("[BitBLAS] The best latency of top 1 is {:.3f} ms".format(best.latency * 1e3)) - - -def test_i8_i8_i32_gemm_propagate_a_propagate_b_cast_s8(): - ir_module = matmul_nt_propagate_a_propagate_b_s8_s8_s32_mma_cast_s8( - 16384, 16384, 16384, "int8", "int32" - ) - func = ir_module["main"] - target = tvm.target.Target("nvidia/nvidia-a100") - arch = CUDA(target) - policy = DefaultPolicy(func=func, arch=arch) - try: - tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) - except: - tags = None - if tags: - policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) - - configs = policy.emit_config(20) - - cpresults, best = apply_and_build(func, configs, arch, parallel_build=True) - print( - "[BitBLAS] The best latency of top 1 is {:.3f} ms".format( - cpresults[0].latency * 1e3 - ) - ) - print("[BitBLAS] The best latency of top 1 is {:.3f} ms".format(best.latency * 1e3)) - - -def test_i8_i4_gemm(): - ir_module = matmul_nt_dequantize_b(16384, 16384, 16384, "int8", "int32") - func = ir_module["main"] - target = tvm.target.Target("nvidia/nvidia-a100") - arch = CUDA(target) - policy = DefaultPolicy(func=func, arch=arch) - try: - tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) - except: - tags = None - if tags: - policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) - - configs = policy.emit_config(20) - - cpresults, best = apply_and_build(func, configs, arch, parallel_build=True) - print( - "[BitBLAS] The best latency of top 1 is {:.3f} ms".format( - cpresults[0].latency * 1e3 - ) - ) - print("[BitBLAS] The best latency of top 1 is {:.3f} ms".format(best.latency * 1e3)) - - -def test_i8_i4_propagate_b_gemm(): - ir_module = matmul_nt_dequantize_b_propagate_b(16384, 16384, 16384, "int8", "int32") - func = ir_module["main"] - target = tvm.target.Target("nvidia/nvidia-a100") - arch = CUDA(target) - policy = DefaultPolicy(func=func, arch=arch) - try: - tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) - except: - tags = None - if tags: - policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) - - configs = policy.emit_config(20) - - cpresults, best = apply_and_build(func, configs, arch, parallel_build=True) - print( - "[BitBLAS] The best latency of top 1 is {:.3f} ms".format( - cpresults[0].latency * 1e3 - ) - ) - print("[BitBLAS] The best latency of top 1 is {:.3f} ms".format(best.latency * 1e3)) - # print(best.sch.mod) - print(best.code) - - -def test_i8_i4_propagate_a_propagate_b_gemm(): - ir_module = matmul_nt_dequantize_b_propagate_a_b( - 16384, 16384, 16384, "int8", "int32" - ) - func = ir_module["main"] - target = tvm.target.Target("nvidia/nvidia-a100") - arch = CUDA(target) - policy = DefaultPolicy(func=func, arch=arch) - try: - tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) - except: - tags = None - if tags: - policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) - - configs = policy.emit_config(20) - - cpresults, best = apply_and_build(func, configs, arch, parallel_build=True) - print( - "[BitBLAS] The best latency of top 1 is {:.3f} ms".format( - cpresults[0].latency * 1e3 - ) - ) - print("[BitBLAS] The best latency of top 1 is {:.3f} ms".format(best.latency * 1e3)) - print(best.config) - - -def test_i8_i2_gemm(): - ir_module = matmul_nt_dequantize_b(1, 16384, 16384, "int8", "int32", bit=2) - func = ir_module["main"] - target = tvm.target.Target("nvidia/nvidia-a100") - arch = CUDA(target) - policy = DefaultPolicy(func=func, arch=arch) - try: - tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) - except: - tags = None - if tags: - policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) - - configs = policy.emit_config(20) - print(configs) - cpresults, best = apply_and_build(func, configs, arch, parallel_build=True) - print( - "[BitBLAS] The best latency of top 1 is {:.3f} ms".format( - cpresults[0].latency * 1e3 - ) - ) - print("[BitBLAS] The best latency of top 1 is {:.3f} ms".format(best.latency * 1e3)) - print(best.code) - - -def test_i8_i2_propagate_b_gemm(): - ir_module = matmul_nt_dequantize_b_propagate_b( - 16384, - 16384, - 16384, - "int8", - "int8", - accum_dtype="int32", - bit=2, - fast_decoding=True, - ) - func = ir_module["main"] - target = tvm.target.Target("nvidia/nvidia-a100") - arch = CUDA(target) - policy = DefaultPolicy(func=func, arch=arch) - try: - tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) - except: - tags = None - if tags: - policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) - - configs = policy.emit_config(20) - cpresults, best = apply_and_build(func, configs, arch, parallel_build=True) - print( - "[BitBLAS] The best latency of top 1 is {:.3f} ms".format( - cpresults[0].latency * 1e3 - ) - ) - print("[BitBLAS] The best latency of top 1 is {:.3f} ms".format(best.latency * 1e3)) - with open("debug/after_memory_rewrite.cu", "+w") as f: - f.write(best.code) - - -def test_i8_i2_propagate_a_propagate_b_gemm(): - ir_module = matmul_nt_dequantize_b_propagate_a_b( - 16384, 16384, 16384, "int8", "int32", "int8", bit=2, fast_decoding=False - ) - func = ir_module["main"] - target = tvm.target.Target("nvidia/nvidia-a100") - arch = CUDA(target) - policy = DefaultPolicy(func=func, arch=arch) - try: - tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) - except: - tags = None - if tags: - policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) - - configs = policy.emit_config(20) - cpresults, best = apply_and_build(func, configs, arch, parallel_build=True) - print( - "[BitBLAS] The best latency of top 1 is {:.3f} ms".format( - cpresults[0].latency * 1e3 - ) - ) - print("[BitBLAS] The best latency of top 1 is {:.3f} ms".format(best.latency * 1e3)) - with open("debug/after_memory_rewrite.cu", "+w") as f: - f.write(best.code) - - -# test_i8_i8_gemm() -# test_i8_i8_gemm_correctness() -# test_i8_i8_i32_gemm_propagate_b() -# test_i8_i8_i32_cast_i8_gemm_propagate_b() -# test_i8_i8_i32_gemm_propagate_a_propagate_b() -# test_i8_i8_i32_gemm_propagate_a_propagate_b_cast_s8() -# test_i8_i4_gemm() -# test_i8_i4_propagate_b_gemm() -# test_i8_i4_propagate_a_propagate_b_gemm() - -test_i8_i2_gemm() -# test_i8_i2_propagate_b_gemm() -# test_i8_i2_propagate_a_propagate_b_gemm() diff --git a/testing/python/tir_expr/test_fused_decode_matmul.py b/testing/python/tir_expr/test_fused_decode_matmul.py deleted file mode 100644 index fb90ede36..000000000 --- a/testing/python/tir_expr/test_fused_decode_matmul.py +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -from tvm.script import ir as I -from tvm.script import tir as T -from tvm.script import relax as R - - -@T.prim_func -def fused_fused_decode3_fused_NT_matmul8_add1( - lv47: T.Buffer((T.int64(4096), T.int64(512)), "uint32"), - lv48: T.Buffer((T.int64(4096), T.int64(128)), "float16"), - p_lv41: T.handle, - p_lv2: T.handle, - p_output0: T.handle, -): - T.func_attr( - { - "tir.noalias": T.bool(True), - "dequantize_info": { - "B": { - "decode_block": "decode", - "fast_decoding": True, - "source_format": { - "bits": 4, - "format": "int", - }, - "with_scaling": True, - "storage_dtype": "uint32", - "group_size": 32, - "target_format": "float16", - } - }, - } - ) - n = T.int64() - lv41 = T.match_buffer(p_lv41, (T.int64(1), n, T.int64(4096)), "float16") - lv2 = T.match_buffer(p_lv2, (T.int64(1), n, T.int64(4096)), "float16") - T_add_intermediate_intermediate = T.match_buffer( - p_output0, (T.int64(1), n, T.int64(4096)), "float16" - ) - # with T.block("root"): - decode_intermediate_intermediate = T.alloc_buffer((T.int64(4096), T.int64(4096)), "float16") - NT_matmul_intermediate = T.alloc_buffer((T.int64(1), n, T.int64(4096)), "float16") - for i, j in T.grid(T.int64(4096), T.int64(4096)): - with T.block("decode"): - v_i, v_j = T.axis.remap("SS", [i, j]) - T.reads(lv47[v_i, v_j // T.int64(8)], lv48[v_i, v_j // T.int64(32)]) - T.writes(decode_intermediate_intermediate[v_i, v_j]) - decode_intermediate_intermediate[v_i, v_j] = ( - T.Cast( - "float16", - T.bitwise_and( - T.shift_right( - lv47[v_i, v_j // T.int64(8)], - T.Cast("uint32", v_j % T.int64(8)) * T.uint32(4), - ), - T.uint32(15), - ), - ) - - T.float16(7) - ) * lv48[v_i, v_j // T.int64(32)] - for i0, i1, i2, k in T.grid(T.int64(1), n, T.int64(4096), T.int64(4096)): - with T.block("NT_matmul"): - v_i0, v_i1, v_i2, v_k = T.axis.remap("SSSR", [i0, i1, i2, k]) - T.reads(lv41[v_i0, v_i1, v_k], decode_intermediate_intermediate[v_i2, v_k]) - T.writes(NT_matmul_intermediate[v_i0, v_i1, v_i2]) - with T.init(): - NT_matmul_intermediate[v_i0, v_i1, v_i2] = T.float16(0) - NT_matmul_intermediate[v_i0, v_i1, v_i2] = ( - NT_matmul_intermediate[v_i0, v_i1, v_i2] - + lv41[v_i0, v_i1, v_k] * decode_intermediate_intermediate[v_i2, v_k] - ) - for ax0, ax1, ax2 in T.grid(T.int64(1), n, T.int64(4096)): - with T.block("T_add"): - v_ax0, v_ax1, v_ax2 = T.axis.remap("SSS", [ax0, ax1, ax2]) - T.reads(lv2[v_ax0, v_ax1, v_ax2], NT_matmul_intermediate[v_ax0, v_ax1, v_ax2]) - T.writes(T_add_intermediate_intermediate[v_ax0, v_ax1, v_ax2]) - T_add_intermediate_intermediate[v_ax0, v_ax1, v_ax2] = ( - lv2[v_ax0, v_ax1, v_ax2] + NT_matmul_intermediate[v_ax0, v_ax1, v_ax2] - ) - - -import tvm -from tvm import dlight as dl -import bitblas -from tvm import relax -import bitblas -from bitblas.base.roller.policy import TensorCorePolicy, DefaultPolicy -from bitblas.base.roller.arch import CUDA -from bitblas.gpu.matmul_analysis import get_tensorized_func_and_tags - -dispatch_target = tvm.target.Target("cuda") -mod_deploy = tvm.IRModule.from_expr(fused_fused_decode3_fused_NT_matmul8_add1.specialize({"n": T.int64(1)})) -target = tvm.target.Target("nvidia/nvidia-a100") -arch = CUDA(target) -func = fused_fused_decode3_fused_NT_matmul8_add1.specialize({"n": T.int64(1)}) -policy = DefaultPolicy(func=func, arch=arch) -try: - tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) -except: - tags = None -if tags: - policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) - -configs = policy.emit_config(20) -print(configs[0]) -sch = bitblas.gpu.gemv.GEMVWithDequantizeInfo().apply_config(func, configs[0]) - -# print(sch.mod) -# with dispatch_target: -# mod_deploy = dl.ApplyDefaultSchedule( # pylint: disable=not-callable -# dl.gpu.Matmul(), -# dl.gpu.GEMV(), -# dl.gpu.Reduction(), -# dl.gpu.GeneralReduction(), -# dl.gpu.Fallback(), -# )(mod_deploy) -# dynamic_range = { -# "n": [64], -# } -# mod_deploy = bitblas.ApplyFastTuning( -# topk=20, -# target=dispatch_target, -# meta_database_dir="vicuna_tune", -# whitelist=["matmul"], -# )(mod_deploy) - -# with tvm.transform.PassContext(config={"tir.use_async_copy": False}): -# mod = tvm.build(mod_deploy, target=dispatch_target) - -# with open("debug/test_dl_fused_decode_matmul.cu", "+w") as f: -# f.write(mod.imported_modules[0].get_source()) diff --git a/testing/python/tir_expr/test_matmul_codegen.py b/testing/python/tir_expr/test_matmul_codegen.py deleted file mode 100644 index 7fe7a4831..000000000 --- a/testing/python/tir_expr/test_matmul_codegen.py +++ /dev/null @@ -1,221 +0,0 @@ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -import tvm -from tvm.script import ir as I -from tvm.script import tir as T -import bitblas -from bitblas.base.roller.policy import TensorCorePolicy, DefaultPolicy -from bitblas.base.roller.arch import CUDA -from bitblas.gpu.matmul_analysis import get_tensorized_func_and_tags -from bitblas.base.utils import apply_and_build -from bitblas.ops.matmul_impl import matmul_nt, matmul_nt_dequantize_b -import numpy as np - - -@I.ir_module -class Module: - @T.prim_func - def dequantize_gemv( - lv47: T.Buffer((T.int64(256), T.int64(256), T.int64(16), T.int64(2)), "uint32"), - lv48: T.Buffer((T.int64(4096), T.int64(128)), "float16"), - lv41: T.Buffer((T.int64(1), 1, T.int64(4096)), "float16"), - NT_matmul_intermediate: T.Buffer((T.int64(1), 1, T.int64(4096)), "float16"), - ): - T.func_attr( - { - "dequantize_info": { - "decode": { - "decode_block": "decode", - "fast_decoding": T.bool(True), - "group_size": 32, - "source_format": {"bits": 4, "format": "int"}, - "storage_dtype": "uint32", - "target_format": "float16", - "with_scaling": T.bool(True), - } - }, - "smooth_b": T.bool(True), - "tir.noalias": T.bool(True), - "transform_kind": 2, - } - ) - # with T.block("root"): - decode_intermediate_intermediate = T.alloc_buffer( - (T.int64(4096), T.int64(4096)), "float16" - ) - lv47_global = T.alloc_buffer((T.int64(4096), T.int64(512)), "uint32") - for ax0, ax1 in T.grid(T.int64(4096), T.int64(512)): - with T.block("lv47_global"): - v0, v1 = T.axis.remap("SS", [ax0, ax1]) - T.reads( - lv47[ - v0 // T.int64(16), - v1 // T.int64(2), - v0 % T.int64(16) // T.int64(8) * T.int64(8) - + v0 % T.int64(4) * T.int64(2) - + v1 % T.int64(2), - v0 % T.int64(8) // T.int64(4), - ] - ) - T.writes(lv47_global[v0, v1]) - lv47_global[v0, v1] = lv47[ - v0 // T.int64(16), - v1 // T.int64(2), - v0 % T.int64(16) // T.int64(8) * T.int64(8) - + v0 % T.int64(4) * T.int64(2) - + v1 % T.int64(2), - v0 % T.int64(8) // T.int64(4), - ] - for i, j in T.grid(T.int64(4096), T.int64(4096)): - with T.block("decode"): - v_i, v_j = T.axis.remap("SS", [i, j]) - T.reads( - lv47_global[v_i, v_j // T.int64(8)], lv48[v_i, v_j // T.int64(32)] - ) - T.writes(decode_intermediate_intermediate[v_i, v_j]) - decode_intermediate_intermediate[v_i, v_j] = ( - T.Cast( - "float16", - T.bitwise_and( - T.shift_right( - lv47_global[v_i, v_j // T.int64(8)], - T.Cast("uint32", v_j % T.int64(8)) * T.uint32(4), - ), - T.uint32(15), - ), - ) - - T.float16(7) - ) * lv48[v_i, v_j // T.int64(32)] - for i0, i1, i2, k in T.grid(T.int64(1), 1, T.int64(4096), T.int64(4096)): - with T.block("NT_matmul"): - v_i0, v_i1, v_i2, v_k = T.axis.remap("SSSR", [i0, i1, i2, k]) - T.reads( - lv41[v_i0, v_i1, v_k], decode_intermediate_intermediate[v_i2, v_k] - ) - T.writes(NT_matmul_intermediate[v_i0, v_i1, v_i2]) - with T.init(): - NT_matmul_intermediate[v_i0, v_i1, v_i2] = T.float16(0) - NT_matmul_intermediate[v_i0, v_i1, v_i2] = ( - NT_matmul_intermediate[v_i0, v_i1, v_i2] - + lv41[v_i0, v_i1, v_k] - * decode_intermediate_intermediate[v_i2, v_k] - ) - - @T.prim_func - def dequantize_gemm( - lv47: T.Buffer((T.int64(256), T.int64(256), T.int64(16), T.int64(2)), "uint32"), - lv48: T.Buffer((T.int64(4096), T.int64(128)), "float16"), - lv41: T.Buffer((T.int64(1), T.int64(4096), T.int64(4096)), "float16"), - NT_matmul_intermediate: T.Buffer((T.int64(1), 4096, T.int64(4096)), "float16"), - ): - T.func_attr( - { - "dequantize_info": { - "decode": { - "decode_block": "decode", - "fast_decoding": T.bool(True), - "group_size": 32, - "source_format": {"bits": 4, "format": "int"}, - "storage_dtype": "uint32", - "target_format": "float16", - "with_scaling": T.bool(True), - } - }, - "smooth_b": T.bool(True), - "tir.noalias": T.bool(True), - "transform_kind": 2, - } - ) - # with T.block("root"): - decode_intermediate_intermediate = T.alloc_buffer( - (T.int64(4096), T.int64(4096)), "float16" - ) - lv47_global = T.alloc_buffer((T.int64(4096), T.int64(512)), "uint32") - for ax0, ax1 in T.grid(T.int64(4096), T.int64(512)): - with T.block("lv47_global"): - v0, v1 = T.axis.remap("SS", [ax0, ax1]) - T.reads( - lv47[ - v0 // T.int64(16), - v1 // T.int64(2), - v0 % T.int64(16) // T.int64(8) * T.int64(8) - + v0 % T.int64(4) * T.int64(2) - + v1 % T.int64(2), - v0 % T.int64(8) // T.int64(4), - ] - ) - T.writes(lv47_global[v0, v1]) - lv47_global[v0, v1] = lv47[ - v0 // T.int64(16), - v1 // T.int64(2), - v0 % T.int64(16) // T.int64(8) * T.int64(8) - + v0 % T.int64(4) * T.int64(2) - + v1 % T.int64(2), - v0 % T.int64(8) // T.int64(4), - ] - for i, j in T.grid(T.int64(4096), T.int64(4096)): - with T.block("decode"): - v_i, v_j = T.axis.remap("SS", [i, j]) - T.reads( - lv47_global[v_i, v_j // T.int64(8)], lv48[v_i, v_j // T.int64(32)] - ) - T.writes(decode_intermediate_intermediate[v_i, v_j]) - decode_intermediate_intermediate[v_i, v_j] = ( - T.Cast( - "float16", - T.bitwise_and( - T.shift_right( - lv47_global[v_i, v_j // T.int64(8)], - T.Cast("uint32", v_j % T.int64(8)) * T.uint32(4), - ), - T.uint32(15), - ), - ) - - T.float16(7) - ) * lv48[v_i, v_j // T.int64(32)] - for i0, i1, i2, k in T.grid( - T.int64(1), T.int64(4096), T.int64(4096), T.int64(4096) - ): - with T.block("NT_matmul"): - v_i0, v_i1, v_i2, v_k = T.axis.remap("SSSR", [i0, i1, i2, k]) - T.reads( - lv41[v_i0, v_i1, v_k], decode_intermediate_intermediate[v_i2, v_k] - ) - T.writes(NT_matmul_intermediate[v_i0, v_i1, v_i2]) - with T.init(): - NT_matmul_intermediate[v_i0, v_i1, v_i2] = T.float16(0) - NT_matmul_intermediate[v_i0, v_i1, v_i2] = ( - NT_matmul_intermediate[v_i0, v_i1, v_i2] - + lv41[v_i0, v_i1, v_k] - * decode_intermediate_intermediate[v_i2, v_k] - ) - - -ir_module = Module -func = ir_module["dequantize_gemm"] -target = tvm.target.Target("nvidia/nvidia-a100") -arch = CUDA(target) -policy = DefaultPolicy(func=func, arch=arch) - -tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) -if tags: - policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) - -configs = policy.emit_config(20) -print(configs) -sch = bitblas.gpu.MatmulTensorizationMMAWithDequantizeInfo().apply_config( - func, configs[0] -) -# cpresults, best = apply_and_build(func, configs, arch, parallel_build=True) -# print( -# "[BitBLAS] The best latency of top 1 is {:.3f} ms".format( -# cpresults[0].latency * 1e3 -# ) -# ) -# print( -# "[BitBLAS] The best latency of top 20 is {:.3f} ms".format( -# best.latency * 1e3 -# ) -# ) -# with open("debug/tmp.cu", "w") as f: -# f.write(str(best.code)) diff --git a/testing/python/tir_expr/test_tir.py b/testing/python/tir_expr/test_tir.py deleted file mode 100644 index 819444d0f..000000000 --- a/testing/python/tir_expr/test_tir.py +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# Metadata omitted. Use show_meta=True in script() method to show it. -from tvm.script import ir as I -from tvm.script import tir as T - -@I.ir_module -class Module: - @T.prim_func - def main(A: T.Buffer((1, 16384), "float16"), B: T.Buffer((16384, 8192), "int8"), Scale: T.Buffer((16384, 512), "float16"), D: T.Buffer((1, 16384), "float16")): - T.func_attr({"dequantize_info": {"B": {"decode_block": "B_decode", "fast_decoding": T.bool(True), "group_size": 32, "source_format": {"bits": 4, "format": "uint"}, "target_format": "float16", "with_scaling": T.bool(True)}}, "tir.noalias": T.bool(True)}) - # with T.block("root"): - B_decode_local = T.alloc_buffer((16384, 16384), "float16", scope="local") - A_local = T.alloc_buffer((1, 16384), "float16", scope="local") - B_local = T.alloc_buffer((16384, 8192), "int8", scope="local") - C_local = T.alloc_buffer((1, 16384), "float16", scope="local") - for ax0_0 in T.thread_binding(8192, thread="blockIdx.x"): - for ax0_1 in T.thread_binding(2, thread="threadIdx.y"): - for ax1_0 in range(32): - for ax1_1 in T.thread_binding(64, thread="threadIdx.x"): - for ax0 in range(1): - for ax1 in T.vectorized(4): - with T.block("B_local"): - v0 = T.axis.spatial(16384, ax0_0 * 2 + ax0_1 + ax0) - v1 = T.axis.spatial(8192, ax1_0 * 256 + ax1_1 * 4 + ax1) - T.reads(B[v0, v1]) - T.writes(B_local[v0, v1]) - B_local[v0, v1] = B[v0, v1] - for ax0 in range(1): - with T.block("B_decode_local_o"): - v0_o = T.axis.spatial(16384, ax0_0 * 2 + ax0_1 + ax0) - v1_o = T.axis.spatial(2048, ax1_0 * 64 + ax1_1) - T.reads(B_local[v0_o, v1_o * 4:v1_o * 4 + 4], Scale[v0_o, v1_o // 4]) - T.writes(B_decode_local[v0_o, v1_o * 8:v1_o * 8 + 8]) - Compressed = T.match_buffer(B_local[v0_o, v1_o * 4:v1_o * 4 + 4], (4,), "int8", scope="local") - Decompressed = T.match_buffer(B_decode_local[v0_o, v1_o * 8:v1_o * 8 + 8], (8,), "float16", scope="local") - # Scale_1 = T.match_buffer(Scale[v0_o, v1_o // 4: v1_o // 4 + 1], (1,), "float16") - Scale_1 = T.match_buffer(Scale[v0_o, v1_o // 4], (1,), "float16", elem_offset=Scale.elem_offset) - T.call_extern("handle", "decode_i4s_to_f16_scale", Compressed.data, Decompressed.data, Scale_1.access_ptr("r"), 8) - for ax0 in range(1): - for ax1 in T.vectorized(8): - with T.block("A_local"): - v0 = T.axis.spatial(1, ax0) - v1 = T.axis.spatial(16384, ax1_0 * 512 + ax1_1 * 8 + ax1) - T.reads(A[v0, v1]) - T.writes(A_local[v0, v1]) - A_local[v0, v1] = A[v0, v1] - for ax1_2 in range(8): - with T.block("C"): - v0 = T.axis.spatial(16384, ax0_0 * 2 + ax0_1) - v1 = T.axis.reduce(16384, ax1_0 * 512 + ax1_1 * 8 + ax1_2) - T.reads(A_local[0, v1], B_decode_local[v0, v1]) - T.writes(C_local[0, v0]) - with T.init(): - C_local[0, v0] = T.float16(0) - C_local[0, v0] = C_local[0, v0] + A_local[0, v1] * B_decode_local[v0, v1] - for ax0, ax1 in T.grid(1, 1): - with T.block("C_local"): - v0 = T.axis.spatial(1, ax0) - v1 = T.axis.spatial(16384, ax0_0 * 2 + ax0_1 + ax1) - T.reads(C_local[v0, v1]) - T.writes(D[0, v1]) - D[0, v1] = C_local[v0, v1] - - -import tvm -mod = Module -sch = tvm.tir.Schedule(mod, debug_mask="all") -with tvm.transform.PassContext( - config={"tir.use_async_copy": True} - ): - dense_relu_0_rt_mod = tvm.build(sch.mod, target="cuda") -with open("debug/after_memory_rewrite.cu", "+w") as f: - f.write(dense_relu_0_rt_mod.imported_modules[0].get_source()) diff --git a/testing/python/tir_expr/test_tir_0.py b/testing/python/tir_expr/test_tir_0.py deleted file mode 100644 index bd33ce8d9..000000000 --- a/testing/python/tir_expr/test_tir_0.py +++ /dev/null @@ -1,189 +0,0 @@ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -import tvm -from tvm.script import ir as I -from tvm.script import tir as T -from tvm.tir.tensor_intrin.cuda import get_mma_intrin_group - -@I.ir_module -class Module: - @T.prim_func - def main(A: T.Buffer((1024, 512, 16, 32), "int8"), B: T.Buffer((1024, 512, 16, 8), "int8"), C: T.Buffer((16384, 16384), "int32")): - T.func_attr({"dequantize_info": {"B": {"decode_block": "B_decode", "fast_decoding": T.bool(False), "source_format": {"bits": 2, "format": "int"}, "target_format": "int8"}}, "dlight.tensorcore_prenormlized": T.bool(True), "smooth_a": T.bool(True), "smooth_b": T.bool(True), "tir.noalias": T.bool(True)}) - # with T.block("root"): - A_reindex_reindex_shared = T.alloc_buffer((1, 1024, 512, 16, 32), "int8", scope="shared") - B_reindex_reindex_shared = T.alloc_buffer((1, 1024, 512, 16, 32), "int8", scope="shared") - B_reindex_reindex_local = T.alloc_buffer((1, 1024, 512, 16, 32), "int8", scope="local") - B_local = T.alloc_buffer((1024, 512, 16, 8), "int8", scope="local") - B_shared = T.alloc_buffer((1024, 512, 16, 8), "int8", scope="shared") - A_reindex_reindex_shared_warp = T.alloc_buffer((1, 1024, 512, 32, 16), "int8", scope="warp") - B_reindex_reindex_shared_warp = T.alloc_buffer((1, 1024, 512, 32, 16), "int8", scope="warp") - C_reindex_shared = T.alloc_buffer((1, 1024, 1024, 16, 16), "int32", scope="shared") - C_reindex_shared_warp = T.alloc_buffer((1, 1024, 1024, 32, 8), "int32", scope="warp") - for ax0 in range(1): - for ax1_0_0_ax2_0_0_fused in T.thread_binding(64, thread="blockIdx.y"): - for ax1_0_1_ax2_0_1_fused in T.thread_binding(256, thread="blockIdx.x"): - for ax1_0_2 in T.thread_binding(2, thread="threadIdx.y"): - for ax2_0_2 in T.thread_binding(2, thread="threadIdx.z"): - for ax1_0_3_init, ax2_0_3_init in T.grid(8, 2): - with T.block("C_o_init"): - v0_o = T.axis.spatial(1, ax0) - v1_o = T.axis.spatial(1024, ax1_0_0_ax2_0_0_fused * 16 + ax1_0_2 * 8 + ax1_0_3_init) - v2_o = T.axis.spatial(1024, ax1_0_1_ax2_0_1_fused * 4 + ax2_0_2 * 2 + ax2_0_3_init) - T.reads() - T.writes(C_reindex_shared_warp[0, v1_o, v2_o, 0:32, 0:8]) - with T.block("C_init_o"): - v1_i_init_o = T.axis.spatial(1, 0) - v2_i_init_o = T.axis.spatial(1, 0) - T.reads() - T.writes(C_reindex_shared_warp[0, v1_o, v2_o, 0:32, 0:8]) - C_warp = T.match_buffer(C_reindex_shared_warp[0, v1_o, v2_o, 0:32, 0:8], (32, 8), "int32", scope="warp", offset_factor=1) - for tx in T.thread_binding(32, thread="threadIdx.x"): - T.mma_fill("int32", 8, C_warp.data, C_warp.elem_offset) - for ax3_0_0 in T.serial(256, annotations={"software_pipeline_async_stages": [0], "software_pipeline_order": [0, 1, 2, 3], "software_pipeline_stage": [0, 0, 1, 1]}): - for ax0_ax1_ax2_ax3_ax4_fused_0 in T.thread_binding(2, thread="threadIdx.y"): - for ax0_ax1_ax2_ax3_ax4_fused_1 in T.thread_binding(2, thread="threadIdx.z"): - for ax0_ax1_ax2_ax3_ax4_fused_2 in T.unroll(8, annotations={"pragma_unroll_explicit": 0}): - for ax0_ax1_ax2_ax3_ax4_fused_3 in T.thread_binding(32, thread="threadIdx.x"): - for ax0_ax1_ax2_ax3_ax4_fused_4 in T.vectorized(16): - with T.block("A_reindex_reindex_shared"): - v0 = T.axis.spatial(1, 0) - v1 = T.axis.spatial(1024, ax1_0_0_ax2_0_0_fused * 16 + (ax0_ax1_ax2_ax3_ax4_fused_0 * 8192 + ax0_ax1_ax2_ax3_ax4_fused_1 * 4096 + ax0_ax1_ax2_ax3_ax4_fused_2 * 512 + ax0_ax1_ax2_ax3_ax4_fused_3 * 16 + ax0_ax1_ax2_ax3_ax4_fused_4) // 1024) - v2 = T.axis.spatial(512, ax3_0_0 * 2 + (ax0_ax1_ax2_ax3_ax4_fused_0 * 8192 + ax0_ax1_ax2_ax3_ax4_fused_1 * 4096 + ax0_ax1_ax2_ax3_ax4_fused_2 * 512 + ax0_ax1_ax2_ax3_ax4_fused_3 * 16 + ax0_ax1_ax2_ax3_ax4_fused_4) % 1024 // 512) - v3 = T.axis.spatial(16, (ax0_ax1_ax2_ax3_ax4_fused_0 * 8192 + ax0_ax1_ax2_ax3_ax4_fused_1 * 4096 + ax0_ax1_ax2_ax3_ax4_fused_2 * 512 + ax0_ax1_ax2_ax3_ax4_fused_3 * 16 + ax0_ax1_ax2_ax3_ax4_fused_4) % 512 // 32) - v4 = T.axis.spatial(32, (ax0_ax1_ax2_ax3_ax4_fused_0 * 8192 + ax0_ax1_ax2_ax3_ax4_fused_1 * 4096 + ax0_ax1_ax2_ax3_ax4_fused_2 * 512 + ax0_ax1_ax2_ax3_ax4_fused_3 * 16 + ax0_ax1_ax2_ax3_ax4_fused_4) % 32) - T.reads(A[v1, v2, v3, v4]) - T.writes(A_reindex_reindex_shared[v0, v1, v2, v3, v4]) - T.block_attr({"permuted_layout": 0}) - A_reindex_reindex_shared[v0, v1, v2, v3, v4] = A[v1, v2, v3, v4] - for ax0_ax1_ax2_ax3_fused_0 in T.unroll(1, annotations={"pragma_unroll_explicit": 0}): - for ax0_ax1_ax2_ax3_fused_1 in T.thread_binding(2, thread="threadIdx.z"): - for ax0_ax1_ax2_ax3_fused_2 in T.thread_binding(2, thread="threadIdx.y"): - for ax0_ax1_ax2_ax3_fused_3 in T.thread_binding(32, thread="threadIdx.x"): - for ax0_ax1_ax2_ax3_fused_4 in T.vectorized(16): - with T.block("B_shared"): - v0 = T.axis.spatial(1024, ax1_0_1_ax2_0_1_fused * 4 + (ax0_ax1_ax2_ax3_fused_0 * 2048 + ax0_ax1_ax2_ax3_fused_1 * 1024 + ax0_ax1_ax2_ax3_fused_2 * 512 + ax0_ax1_ax2_ax3_fused_3 * 16 + ax0_ax1_ax2_ax3_fused_4) // 256) - v1 = T.axis.spatial(512, ax3_0_0 * 2 + (ax0_ax1_ax2_ax3_fused_0 * 2048 + ax0_ax1_ax2_ax3_fused_1 * 1024 + ax0_ax1_ax2_ax3_fused_2 * 512 + ax0_ax1_ax2_ax3_fused_3 * 16 + ax0_ax1_ax2_ax3_fused_4) % 256 // 128) - v2 = T.axis.spatial(16, (ax0_ax1_ax2_ax3_fused_0 * 2048 + ax0_ax1_ax2_ax3_fused_1 * 1024 + ax0_ax1_ax2_ax3_fused_2 * 512 + ax0_ax1_ax2_ax3_fused_3 * 16 + ax0_ax1_ax2_ax3_fused_4) % 128 // 8) - v3 = T.axis.spatial(8, (ax0_ax1_ax2_ax3_fused_0 * 2048 + ax0_ax1_ax2_ax3_fused_1 * 1024 + ax0_ax1_ax2_ax3_fused_2 * 512 + ax0_ax1_ax2_ax3_fused_3 * 16 + ax0_ax1_ax2_ax3_fused_4) % 8) - T.where((((ax0_ax1_ax2_ax3_fused_0 * 2 + ax0_ax1_ax2_ax3_fused_1) * 2 + ax0_ax1_ax2_ax3_fused_2) * 32 + ax0_ax1_ax2_ax3_fused_3) * 16 + ax0_ax1_ax2_ax3_fused_4 < 1024) - T.reads(B[v0, v1, v2, v3]) - T.writes(B_shared[v0, v1, v2, v3]) - B_shared[v0, v1, v2, v3] = B[v0, v1, v2, v3] - for ax0_1, ax1_ax2_ax3_ax4_0_fused_0 in T.grid(1, 2): - for ax1_ax2_ax3_ax4_0_fused_1 in T.thread_binding(2, thread="threadIdx.y"): - for ax1_ax2_ax3_ax4_0_fused_2 in T.thread_binding(2, thread="threadIdx.z"): - for ax1_ax2_ax3_ax4_0_fused_3 in T.thread_binding(32, thread="threadIdx.x"): - for ax4_1 in range(1): - for ax0_2, ax1, ax2 in T.grid(1, 1, 1): - for ax3 in T.vectorized(4): - with T.block("B_local"): - v0 = T.axis.spatial(1024, ax1_0_1_ax2_0_1_fused * 4 + (ax1_ax2_ax3_ax4_0_fused_0 * 128 + ax1_ax2_ax3_ax4_0_fused_1 * 64 + ax1_ax2_ax3_ax4_0_fused_2 * 32 + ax1_ax2_ax3_ax4_0_fused_3) // 64 + ax0_2) - v1 = T.axis.spatial(512, ax3_0_0 * 2 + (ax1_ax2_ax3_ax4_0_fused_0 * 128 + ax1_ax2_ax3_ax4_0_fused_1 * 64 + ax1_ax2_ax3_ax4_0_fused_2 * 32 + ax1_ax2_ax3_ax4_0_fused_3) % 64 // 32 + ax1) - v2 = T.axis.spatial(16, (ax1_ax2_ax3_ax4_0_fused_0 * 128 + ax1_ax2_ax3_ax4_0_fused_1 * 64 + ax1_ax2_ax3_ax4_0_fused_2 * 32 + ax1_ax2_ax3_ax4_0_fused_3) % 32 // 2 + ax2) - v3 = T.axis.spatial(8, (ax1_ax2_ax3_ax4_0_fused_0 * 128 + ax1_ax2_ax3_ax4_0_fused_1 * 64 + ax1_ax2_ax3_ax4_0_fused_2 * 32 + ax1_ax2_ax3_ax4_0_fused_3) % 2 * 4 + ax3) - T.reads(B_shared[v0, v1, v2, v3]) - T.writes(B_local[v0, v1, v2, v3]) - B_local[v0, v1, v2, v3] = B_shared[v0, v1, v2, v3] - for ax0_2, ax1, ax2, ax3, ax4 in T.grid(1, 1, 1, 1, 16): - with T.block("B_reindex_reindex_local"): - v0 = T.axis.spatial(1, ax0_2) - v1 = T.axis.spatial(1024, ax1_0_1_ax2_0_1_fused * 4 + (ax1_ax2_ax3_ax4_0_fused_0 * 128 + ax1_ax2_ax3_ax4_0_fused_1 * 64 + ax1_ax2_ax3_ax4_0_fused_2 * 32 + ax1_ax2_ax3_ax4_0_fused_3) // 64 + ax1) - v2 = T.axis.spatial(512, ax3_0_0 * 2 + (ax1_ax2_ax3_ax4_0_fused_0 * 128 + ax1_ax2_ax3_ax4_0_fused_1 * 64 + ax1_ax2_ax3_ax4_0_fused_2 * 32 + ax1_ax2_ax3_ax4_0_fused_3) % 64 // 32 + ax2) - v3 = T.axis.spatial(16, (ax1_ax2_ax3_ax4_0_fused_0 * 128 + ax1_ax2_ax3_ax4_0_fused_1 * 64 + ax1_ax2_ax3_ax4_0_fused_2 * 32 + ax1_ax2_ax3_ax4_0_fused_3) % 32 // 2 + ax3) - v4 = T.axis.spatial(32, (ax1_ax2_ax3_ax4_0_fused_0 * 128 + ax1_ax2_ax3_ax4_0_fused_1 * 64 + ax1_ax2_ax3_ax4_0_fused_2 * 32 + ax1_ax2_ax3_ax4_0_fused_3) % 2 * 16 + ax4) - T.reads(B_local[v1, v2, v3, v4 // 4]) - T.writes(B_reindex_reindex_local[v0, v1, v2, v3, v4]) - B_reindex_reindex_local[v0, v1, v2, v3, v4] = T.bitwise_and(T.shift_right(B_local[v1, v2, v3, v4 // 4], T.Cast("int8", v4 % 4 * 2)), T.int8(3)) - for ax4_2 in T.vectorized(16): - with T.block("B_reindex_reindex_shared"): - v0 = T.axis.spatial(1, ax0_1) - v1 = T.axis.spatial(1024, ax1_0_1_ax2_0_1_fused * 4 + (ax1_ax2_ax3_ax4_0_fused_0 * 128 + ax1_ax2_ax3_ax4_0_fused_1 * 64 + ax1_ax2_ax3_ax4_0_fused_2 * 32 + ax1_ax2_ax3_ax4_0_fused_3) // 64) - v2 = T.axis.spatial(512, ax3_0_0 * 2 + (ax1_ax2_ax3_ax4_0_fused_0 * 128 + ax1_ax2_ax3_ax4_0_fused_1 * 64 + ax1_ax2_ax3_ax4_0_fused_2 * 32 + ax1_ax2_ax3_ax4_0_fused_3) % 64 // 32) - v3 = T.axis.spatial(16, (ax1_ax2_ax3_ax4_0_fused_0 * 128 + ax1_ax2_ax3_ax4_0_fused_1 * 64 + ax1_ax2_ax3_ax4_0_fused_2 * 32 + ax1_ax2_ax3_ax4_0_fused_3) % 32 // 2) - v4 = T.axis.spatial(32, (ax1_ax2_ax3_ax4_0_fused_0 * 128 + ax1_ax2_ax3_ax4_0_fused_1 * 64 + ax1_ax2_ax3_ax4_0_fused_2 * 32 + ax1_ax2_ax3_ax4_0_fused_3) % 2 * 16 + ax4_1 * 16 + ax4_2) - T.reads(B_reindex_reindex_local[v0, v1, v2, v3, v4]) - T.writes(B_reindex_reindex_shared[v0, v1, v2, v3, v4]) - T.block_attr({"permuted_layout": 0}) - B_reindex_reindex_shared[v0, v1, v2, v3, v4] = B_reindex_reindex_local[v0, v1, v2, v3, v4] - for ax3_0_1 in range(2): - for ax0_1, ax1, ax2, ax3_0, ax4_0 in T.grid(1, 8, 1, 1, 1): - with T.block("A_reindex_reindex_shared_warp_o"): - v0_o = T.axis.spatial(1, ax0_1) - v1_o = T.axis.spatial(1024, ax1_0_0_ax2_0_0_fused * 16 + ax1_0_2 * 8 + ax1) - v2_o = T.axis.spatial(512, ax3_0_0 * 2 + ax3_0_1 + ax2) - v3_o, v4_o = T.axis.remap("SS", [ax3_0, ax4_0]) - T.reads(A_reindex_reindex_shared[v0_o, v1_o, v2_o, 0:16, 0:32]) - T.writes(A_reindex_reindex_shared_warp[v0_o, v1_o, v2_o, 0:32, 0:16]) - T.block_attr({"permuted_layout": 0}) - warp = T.match_buffer(A_reindex_reindex_shared_warp[v0_o, v1_o, v2_o, 0:32, 0:16], (32, 16), "int8", scope="warp", offset_factor=32) - shared = T.match_buffer(A_reindex_reindex_shared[v0_o, v1_o, v2_o, 0:16, 0:32], (16, 32), "int8", strides=("shared_s0", "shared_s1"), scope="shared", offset_factor=32) - for tx in T.thread_binding(32, thread="threadIdx.x"): - T.ptx_ldmatrix("int8", T.bool(False), 4, ".b16", warp.data, warp.elem_offset + 16 * tx, T.tvm_access_ptr(T.type_annotation("int8"), shared.data, shared.elem_offset, shared.strides[0] * 16, 1), tx * 16) - for ax0_1, ax1, ax2, ax3_0, ax4_0 in T.grid(1, 2, 1, 1, 1): - with T.block("B_reindex_reindex_shared_warp_o"): - v0_o = T.axis.spatial(1, ax0_1) - v1_o = T.axis.spatial(1024, ax1_0_1_ax2_0_1_fused * 4 + ax2_0_2 * 2 + ax1) - v2_o = T.axis.spatial(512, ax3_0_0 * 2 + ax3_0_1 + ax2) - v3_o, v4_o = T.axis.remap("SS", [ax3_0, ax4_0]) - T.reads(B_reindex_reindex_shared[v0_o, v1_o, v2_o, 0:16, 0:32]) - T.writes(B_reindex_reindex_shared_warp[v0_o, v1_o, v2_o, 0:32, 0:16]) - T.block_attr({"permuted_layout": 0}) - warp = T.match_buffer(B_reindex_reindex_shared_warp[v0_o, v1_o, v2_o, 0:32, 0:16], (32, 16), "int8", scope="warp", offset_factor=32) - shared = T.match_buffer(B_reindex_reindex_shared[v0_o, v1_o, v2_o, 0:16, 0:32], (16, 32), "int8", strides=("shared_s0", "shared_s1"), scope="shared", offset_factor=32) - for tx in T.thread_binding(32, thread="threadIdx.x"): - T.ptx_ldmatrix("int8", T.bool(False), 4, ".b16", warp.data, warp.elem_offset + 16 * tx, T.tvm_access_ptr(T.type_annotation("int8"), shared.data, shared.elem_offset, shared.strides[0] * 16, 1), tx * 16) - for ax1_0_3, ax2_0_3 in T.grid(8, 2): - with T.block("C_o_update"): - v0_o = T.axis.spatial(1, ax0) - v1_o = T.axis.spatial(1024, ax1_0_0_ax2_0_0_fused * 16 + ax1_0_2 * 8 + ax1_0_3) - v2_o = T.axis.spatial(1024, ax1_0_1_ax2_0_1_fused * 4 + ax2_0_2 * 2 + ax2_0_3) - v3_o = T.axis.reduce(512, ax3_0_0 * 2 + ax3_0_1) - T.reads(C_reindex_shared_warp[0, v1_o, v2_o, 0:32, 0:8], A_reindex_reindex_shared_warp[0, v1_o, v3_o, 0:32, 0:16], B_reindex_reindex_shared_warp[0, v2_o, v3_o, 0:32, 0:16]) - T.writes(C_reindex_shared_warp[0, v1_o, v2_o, 0:32, 0:8]) - with T.block("C_o"): - v1_i_o = T.axis.spatial(1, 0) - v2_i_o = T.axis.spatial(1, 0) - v3_i_o = T.axis.reduce(1, 0) - T.reads(C_reindex_shared_warp[0, v1_o, v2_o, 0:32, 0:8], A_reindex_reindex_shared_warp[0, v1_o, v3_o, 0:32, 0:16], B_reindex_reindex_shared_warp[0, v2_o, v3_o, 0:32, 0:16]) - T.writes(C_reindex_shared_warp[0, v1_o, v2_o, 0:32, 0:8]) - A_1 = T.match_buffer(A_reindex_reindex_shared_warp[0, v1_o, v3_o, 0:32, 0:16], (32, 16), "int8", scope="warp", offset_factor=32) - B_1 = T.match_buffer(B_reindex_reindex_shared_warp[0, v2_o, v3_o, 0:32, 0:16], (32, 16), "int8", scope="warp", offset_factor=32) - C_1 = T.match_buffer(C_reindex_shared_warp[0, v1_o, v2_o, 0:32, 0:8], (32, 8), "int32", scope="warp", offset_factor=16) - for tx in T.thread_binding(32, thread="threadIdx.x"): - T.ptx_mma("int32", "m16n8k32", "row", "col", "int8", "int8", "int32", A_1.data, A_1.elem_offset + tx * 16, B_1.data, B_1.elem_offset + tx * 16, C_1.data, C_1.elem_offset + tx * 8, T.bool(False)) - T.ptx_mma("int32", "m16n8k32", "row", "col", "int8", "int8", "int32", A_1.data, A_1.elem_offset + tx * 16, B_1.data, B_1.elem_offset + tx * 16 + 8, C_1.data, C_1.elem_offset + tx * 8 + 4, T.bool(False)) - for ax0_1, ax1 in T.grid(8, 2): - for ax2_0, ax3_0 in T.grid(1, 1): - with T.block("C_reindex_shared_warp_o"): - v0_o = T.axis.spatial(1, 0) - v1_o = T.axis.spatial(1024, ax1_0_0_ax2_0_0_fused * 16 + ax1_0_2 * 8 + ax0_1) - v2_o = T.axis.spatial(1024, ax1_0_1_ax2_0_1_fused * 4 + ax2_0_2 * 2 + ax1) - v3_o, v4_o = T.axis.remap("SS", [ax2_0, ax3_0]) - T.reads(C_reindex_shared_warp[v0_o, v1_o, v2_o, 0:32, 0:8]) - T.writes(C_reindex_shared[v0_o, v1_o, v2_o, 0:16, 0:16]) - C_warp = T.match_buffer(C_reindex_shared_warp[v0_o, v1_o, v2_o, 0:32, 0:8], (32, 8), "int32", scope="warp", offset_factor=1) - C_1 = T.match_buffer(C_reindex_shared[v0_o, v1_o, v2_o, 0:16, 0:16], (16, 16), "int32", strides=("C_s0", "C_s1"), scope="shared", offset_factor=1) - for tx in T.thread_binding(32, thread="threadIdx.x"): - T.mma_store("int32", 16, 16, T.tvm_access_ptr(T.type_annotation("int32"), C_1.data, C_1.elem_offset, C_1.strides[0] * 16, 2), C_warp.data, C_warp.elem_offset, C_1.strides[0]) - for ax0_ax1_ax2_ax3_ax4_fused_0 in T.unroll(2, annotations={"pragma_unroll_explicit": 0}): - for ax0_ax1_ax2_ax3_ax4_fused_1 in T.thread_binding(32, thread="threadIdx.x"): - for ax0_ax1_ax2_ax3_ax4_fused_2 in T.vectorized(4): - with T.block("C_reindex_shared"): - v0 = T.axis.spatial(1, 0) - v1 = T.axis.spatial(1024, ax1_0_0_ax2_0_0_fused * 16 + ax1_0_2 * 8 + ax0_1) - v2 = T.axis.spatial(1024, ax1_0_1_ax2_0_1_fused * 4 + ax2_0_2 * 2 + ax1) - v3 = T.axis.spatial(16, (ax0_ax1_ax2_ax3_ax4_fused_0 * 128 + ax0_ax1_ax2_ax3_ax4_fused_1 * 4 + ax0_ax1_ax2_ax3_ax4_fused_2) // 16) - v4 = T.axis.spatial(16, (ax0_ax1_ax2_ax3_ax4_fused_0 * 128 + ax0_ax1_ax2_ax3_ax4_fused_1 * 4 + ax0_ax1_ax2_ax3_ax4_fused_2) % 16) - T.reads(C_reindex_shared[v0, v1, v2, v3, v4]) - T.writes(C[v3 + v1 * 16, v4 + v2 * 16]) - C[v3 + v1 * 16, v4 + v2 * 16] = C_reindex_shared[v0, v1, v2, v3, v4] - -mod = Module -sch = tvm.tir.Schedule(mod, debug_mask="all") -with tvm.transform.PassContext( - config={"tir.use_async_copy": True} - ): - dense_relu_0_rt_mod = tvm.build(sch.mod, target="cuda") -with open("after_memory_rewrite.cu", "+w") as f: - f.write(dense_relu_0_rt_mod.imported_modules[0].get_source()) diff --git a/testing/python/tir_expr/test_tir_1.py b/testing/python/tir_expr/test_tir_1.py deleted file mode 100644 index 49d1f71ec..000000000 --- a/testing/python/tir_expr/test_tir_1.py +++ /dev/null @@ -1,179 +0,0 @@ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -import tvm -from tvm.script import ir as I -from tvm.script import tir as T -from tvm.tir.tensor_intrin.cuda import * - -# from tvm.script import tir as T -@T.prim_func -def main(input0: T.Buffer[(1024, 512, 16, 32), "int8"], input1: T.Buffer[(1024, 512, 16, 8), "int8"], output0: T.Buffer[(16384, 16384), "int8"]): - # function attr dict - T.func_attr({"global_symbol": "main", "tir.noalias": True}) - # var definition - tx = T.env_thread("threadIdx.x") - C_s0 = T.var("int32") - C_s1 = T.var("int32") - shared_s0 = T.var("int32") - shared_s0_1 = T.var("int32") - shared_s1 = T.var("int32") - shared_s1_1 = T.var("int32") - # body - # with T.block("root") - input0_shared = T.alloc_buffer([1024, 512, 16, 32], dtype="int8", scope="shared") - mediate0_shared = T.alloc_buffer([1024, 512, 16, 32], dtype="int8", scope="shared") - mediate1_shared = T.alloc_buffer([1024, 1024, 16, 16], dtype="int32", scope="shared") - mediate1_shared_warp = T.alloc_buffer([1024, 1024, 32, 8], dtype="int32", scope="warp") - mediate0_local = T.alloc_buffer([1024, 512, 16, 32], dtype="int8", scope="local") - input1_shared = T.alloc_buffer([1024, 512, 16, 8], dtype="int8", scope="shared") - input1_shared_local = T.alloc_buffer([1024, 512, 16, 8], dtype="int8", scope="local") - input0_shared_warp = T.alloc_buffer([1024, 512, 32, 16], dtype="int8", scope="warp") - mediate0_shared_warp = T.alloc_buffer([1024, 512, 32, 16], dtype="int8", scope="warp") - for i_0 in T.thread_binding(256, thread="blockIdx.y"): - for j_0 in T.thread_binding(64, thread="blockIdx.x"): - for i_1 in T.thread_binding(2, thread="threadIdx.y"): - for j_1 in T.thread_binding(2, thread="threadIdx.z"): - for i_2_init in T.serial(2, annotations={"pragma_unroll_explicit":0, "thread_rasterization":10}): - for j_2_init in T.serial(8, annotations={"pragma_unroll_explicit":0}): - with T.block("mediate1_init_o"): - v_i = T.axis.spatial(1024, i_0 * 4 + i_1 * 2 + i_2_init) - v_j = T.axis.spatial(1024, j_0 * 16 + j_1 * 8 + j_2_init) - v_ii_o = T.axis.spatial(1, 0) - v_jj_o = T.axis.spatial(1, 0) - T.reads() - T.writes(mediate1_shared_warp[v_i, v_j, 0 : 32, 0 : 8]) - C_warp = T.match_buffer(mediate1_shared_warp[v_i, v_j, 0 : 32, 0 : 8], [32, 8], dtype="int32", scope="warp", offset_factor=1) - T.launch_thread(tx, 32) - T.mma_fill(8, C_warp.data, C_warp.elem_offset, dtype="int32") - for k_0 in T.serial(256, annotations={"software_pipeline_async_stages":[0], "software_pipeline_order":[0, 1, 2, 3], "software_pipeline_stage":[0, 0, 1, 1]}): - for ax0_ax1_ax2_ax3_0_fused_0 in T.unroll(2, annotations={"pragma_unroll_explicit":0}): - for ax0_ax1_ax2_ax3_0_fused_1 in T.thread_binding(2, thread="threadIdx.y"): - for ax0_ax1_ax2_ax3_0_fused_2 in T.thread_binding(2, thread="threadIdx.z"): - for ax0_ax1_ax2_ax3_0_fused_3 in T.thread_binding(32, thread="threadIdx.x"): - for ax3_1 in T.vectorized(16): - with T.block("input0_shared"): - v0 = T.axis.spatial(1024, i_0 * 4 + (ax0_ax1_ax2_ax3_0_fused_0 * 128 + ax0_ax1_ax2_ax3_0_fused_1 * 64 + ax0_ax1_ax2_ax3_0_fused_2 * 32 + ax0_ax1_ax2_ax3_0_fused_3) // 64) - v1 = T.axis.spatial(512, k_0 * 2 + (ax0_ax1_ax2_ax3_0_fused_0 * 128 + ax0_ax1_ax2_ax3_0_fused_1 * 64 + ax0_ax1_ax2_ax3_0_fused_2 * 32 + ax0_ax1_ax2_ax3_0_fused_3) % 64 // 32) - v2 = T.axis.spatial(16, (ax0_ax1_ax2_ax3_0_fused_0 * 128 + ax0_ax1_ax2_ax3_0_fused_1 * 64 + ax0_ax1_ax2_ax3_0_fused_2 * 32 + ax0_ax1_ax2_ax3_0_fused_3) % 32 // 2) - v3 = T.axis.spatial(32, (ax0_ax1_ax2_ax3_0_fused_0 * 128 + ax0_ax1_ax2_ax3_0_fused_1 * 64 + ax0_ax1_ax2_ax3_0_fused_2 * 32 + ax0_ax1_ax2_ax3_0_fused_3) % 2 * 16 + ax3_1) - T.reads(input0[v0, v1, v2, v3]) - T.writes(input0_shared[v0, v1, v2, v3]) - input0_shared[v0, v1, v2, v3] = input0[v0, v1, v2, v3] - for ax0_ax1_ax2_ax3_fused_0_0_0_0 in T.serial(2): - for ax0_ax1_ax2_ax3_fused_0_0_0_1 in T.thread_binding(2, thread="threadIdx.z"): - for ax0_ax1_ax2_ax3_fused_0_0_1 in T.thread_binding(2, thread="threadIdx.y"): - for ax0_ax1_ax2_ax3_fused_0_1 in T.thread_binding(32, thread="threadIdx.x"): - for ax0_ax1_ax2_ax3_fused_1 in T.vectorized(16): - with T.block("input1_shared"): - v0 = T.axis.spatial(1024, j_0 * 16 + (ax0_ax1_ax2_ax3_fused_0_0_0_0 * 2048 + ax0_ax1_ax2_ax3_fused_0_0_0_1 * 1024 + ax0_ax1_ax2_ax3_fused_0_0_1 * 512 + ax0_ax1_ax2_ax3_fused_0_1 * 16 + ax0_ax1_ax2_ax3_fused_1) // 256) - v1 = T.axis.spatial(512, k_0 * 2 + (ax0_ax1_ax2_ax3_fused_0_0_0_0 * 2048 + ax0_ax1_ax2_ax3_fused_0_0_0_1 * 1024 + ax0_ax1_ax2_ax3_fused_0_0_1 * 512 + ax0_ax1_ax2_ax3_fused_0_1 * 16 + ax0_ax1_ax2_ax3_fused_1) % 256 // 128) - v2 = T.axis.spatial(16, (ax0_ax1_ax2_ax3_fused_0_0_0_0 * 2048 + ax0_ax1_ax2_ax3_fused_0_0_0_1 * 1024 + ax0_ax1_ax2_ax3_fused_0_0_1 * 512 + ax0_ax1_ax2_ax3_fused_0_1 * 16 + ax0_ax1_ax2_ax3_fused_1) % 128 // 8) - v3 = T.axis.spatial(8, (ax0_ax1_ax2_ax3_fused_0_0_0_0 * 2048 + ax0_ax1_ax2_ax3_fused_0_0_0_1 * 1024 + ax0_ax1_ax2_ax3_fused_0_0_1 * 512 + ax0_ax1_ax2_ax3_fused_0_1 * 16 + ax0_ax1_ax2_ax3_fused_1) % 8) - T.reads(input1[v0, v1, v2, v3]) - T.writes(input1_shared[v0, v1, v2, v3]) - input1_shared[v0, v1, v2, v3] = input1[v0, v1, v2, v3] - for ax0_ax1_ax2_ax3_0_fused_0 in T.serial(8): - for ax0_ax1_ax2_ax3_0_fused_1 in T.thread_binding(2, thread="threadIdx.y"): - for ax0_ax1_ax2_ax3_0_fused_2 in T.thread_binding(2, thread="threadIdx.z"): - for ax0_ax1_ax2_ax3_0_fused_3 in T.thread_binding(32, thread="threadIdx.x"): - for ax3_1 in T.serial(1): - for ax0 in T.vectorized(4): - with T.block("input1_shared_local"): - v0 = T.axis.spatial(1024, j_0 * 16 + (ax0_ax1_ax2_ax3_0_fused_0 * 128 + ax0_ax1_ax2_ax3_0_fused_1 * 64 + ax0_ax1_ax2_ax3_0_fused_2 * 32 + ax0_ax1_ax2_ax3_0_fused_3) // 64) - v1 = T.axis.spatial(512, k_0 * 2 + (ax0_ax1_ax2_ax3_0_fused_0 * 128 + ax0_ax1_ax2_ax3_0_fused_1 * 64 + ax0_ax1_ax2_ax3_0_fused_2 * 32 + ax0_ax1_ax2_ax3_0_fused_3) % 64 // 32) - v2 = T.axis.spatial(16, (ax0_ax1_ax2_ax3_0_fused_0 * 128 + ax0_ax1_ax2_ax3_0_fused_1 * 64 + ax0_ax1_ax2_ax3_0_fused_2 * 32 + ax0_ax1_ax2_ax3_0_fused_3) % 32 // 2) - v3 = T.axis.spatial(8, (ax0_ax1_ax2_ax3_0_fused_0 * 128 + ax0_ax1_ax2_ax3_0_fused_1 * 64 + ax0_ax1_ax2_ax3_0_fused_2 * 32 + ax0_ax1_ax2_ax3_0_fused_3) % 2 * 4 + ax0) - T.reads(input1_shared[v0, v1, v2, v3]) - T.writes(input1_shared_local[v0, v1, v2, v3]) - input1_shared_local[v0, v1, v2, v3] = input1_shared[v0, v1, v2, v3] - for ax0 in T.serial(16): - with T.block("mediate0_local"): - v0 = T.axis.spatial(1024, j_0 * 16 + (ax0_ax1_ax2_ax3_0_fused_0 * 128 + ax0_ax1_ax2_ax3_0_fused_1 * 64 + ax0_ax1_ax2_ax3_0_fused_2 * 32 + ax0_ax1_ax2_ax3_0_fused_3) // 64) - v1 = T.axis.spatial(512, k_0 * 2 + (ax0_ax1_ax2_ax3_0_fused_0 * 128 + ax0_ax1_ax2_ax3_0_fused_1 * 64 + ax0_ax1_ax2_ax3_0_fused_2 * 32 + ax0_ax1_ax2_ax3_0_fused_3) % 64 // 32) - v2 = T.axis.spatial(16, (ax0_ax1_ax2_ax3_0_fused_0 * 128 + ax0_ax1_ax2_ax3_0_fused_1 * 64 + ax0_ax1_ax2_ax3_0_fused_2 * 32 + ax0_ax1_ax2_ax3_0_fused_3) % 32 // 2) - v3 = T.axis.spatial(32, (ax0_ax1_ax2_ax3_0_fused_0 * 128 + ax0_ax1_ax2_ax3_0_fused_1 * 64 + ax0_ax1_ax2_ax3_0_fused_2 * 32 + ax0_ax1_ax2_ax3_0_fused_3) % 2 * 16 + ax0) - T.reads(input1_shared_local[v0, v1, v2, v3 // 4]) - T.writes(mediate0_local[v0, v1, v2, v3]) - mediate0_local[v0, v1, v2, v3] = T.bitwise_and(T.shift_right(input1_shared_local[v0, v1, v2, v3 // 4], T.Cast("int8", v3 % 4), dtype="int8"), T.int8(1), dtype="int8") - for ax3_2 in T.vectorized(16): - with T.block("mediate0_shared"): - v0 = T.axis.spatial(1024, j_0 * 16 + (ax0_ax1_ax2_ax3_0_fused_0 * 128 + ax0_ax1_ax2_ax3_0_fused_1 * 64 + ax0_ax1_ax2_ax3_0_fused_2 * 32 + ax0_ax1_ax2_ax3_0_fused_3) // 64) - v1 = T.axis.spatial(512, k_0 * 2 + (ax0_ax1_ax2_ax3_0_fused_0 * 128 + ax0_ax1_ax2_ax3_0_fused_1 * 64 + ax0_ax1_ax2_ax3_0_fused_2 * 32 + ax0_ax1_ax2_ax3_0_fused_3) % 64 // 32) - v2 = T.axis.spatial(16, (ax0_ax1_ax2_ax3_0_fused_0 * 128 + ax0_ax1_ax2_ax3_0_fused_1 * 64 + ax0_ax1_ax2_ax3_0_fused_2 * 32 + ax0_ax1_ax2_ax3_0_fused_3) % 32 // 2) - v3 = T.axis.spatial(32, (ax0_ax1_ax2_ax3_0_fused_0 * 128 + ax0_ax1_ax2_ax3_0_fused_1 * 64 + ax0_ax1_ax2_ax3_0_fused_2 * 32 + ax0_ax1_ax2_ax3_0_fused_3) % 2 * 16 + ax3_1 * 16 + ax3_2) - T.reads(mediate0_local[v0, v1, v2, v3]) - T.writes(mediate0_shared[v0, v1, v2, v3]) - mediate0_shared[v0, v1, v2, v3] = mediate0_local[v0, v1, v2, v3] - for k_1 in T.serial(2): - for ax0, ax1 in T.grid(2, 1): - with T.block("input0_shared_warp_o"): - v0 = T.axis.spatial(1024, i_0 * 4 + i_1 * 2 + ax0) - v1 = T.axis.spatial(512, ax1 * 512 + k_0 * 2 + k_1) - v2_o = T.axis.spatial(1, 0) - v3_o = T.axis.spatial(1, 0) - T.reads(input0_shared[v0, v1, 0 : 16, 0 : 32]) - T.writes(input0_shared_warp[v0, v1, 0 : 32, 0 : 16]) - warp = T.match_buffer(input0_shared_warp[v0, v1, 0 : 32, 0 : 16], [32, 16], dtype="int8", scope="warp", offset_factor=16) - shared = T.match_buffer(input0_shared[v0, v1, 0 : 16, 0 : 32], [16, 32], dtype="int8", strides=[shared_s0, shared_s1], scope="shared", offset_factor=16) - T.launch_thread(tx, 32) - T.ptx_ldmatrix(False, 4, ".b16", warp.data, warp.elem_offset + 16 * tx, T.tvm_access_ptr(T.type_annotation(dtype="int8"), shared.data, shared.elem_offset, shared_s0 * 16, 1, dtype="handle"), 16 * tx, dtype="int8") - for ax0, ax1 in T.grid(8, 1): - with T.block("mediate0_shared_warp_o"): - v0 = T.axis.spatial(1024, j_0 * 16 + j_1 * 8 + ax0) - v1 = T.axis.spatial(512, ax1 * 512 + k_0 * 2 + k_1) - v2_o = T.axis.spatial(1, 0) - v3_o = T.axis.spatial(1, 0) - T.reads(mediate0_shared[v0, v1, 0 : 16, 0 : 32]) - T.writes(mediate0_shared_warp[v0, v1, 0 : 32, 0 : 16]) - warp_1 = T.match_buffer(mediate0_shared_warp[v0, v1, 0 : 32, 0 : 16], [32, 16], dtype="int8", scope="warp", offset_factor=16) - shared_1 = T.match_buffer(mediate0_shared[v0, v1, 0 : 16, 0 : 32], [16, 32], dtype="int8", strides=[shared_s0_1, shared_s1_1], scope="shared", offset_factor=16) - T.launch_thread(tx, 32) - T.ptx_ldmatrix(False, 4, ".b16", warp_1.data, warp_1.elem_offset + 16 * tx, T.tvm_access_ptr(T.type_annotation(dtype="int8"), shared_1.data, shared_1.elem_offset, shared_s0_1 * 16, 1, dtype="handle"), 16 * tx, dtype="int8") - for i_2, j_2 in T.grid(2, 8): - with T.block("mediate1_update_o"): - v_i = T.axis.spatial(1024, i_0 * 4 + i_1 * 2 + i_2) - v_j = T.axis.spatial(1024, j_0 * 16 + j_1 * 8 + j_2) - v_ii_o = T.axis.spatial(1, 0) - v_jj_o = T.axis.spatial(1, 0) - v_k = T.axis.reduce(512, k_0 * 2 + k_1) - v_kk_o = T.axis.reduce(1, 0) - T.reads(mediate1_shared_warp[v_i, v_j, 0 : 32, 0 : 8], input0_shared_warp[v_i, v_k, 0 : 32, 0 : 16], mediate0_shared_warp[v_j, v_k, 0 : 32, 0 : 16]) - T.writes(mediate1_shared_warp[v_i, v_j, 0 : 32, 0 : 8]) - A = T.match_buffer(input0_shared_warp[v_i, v_k, 0 : 32, 0 : 16], [32, 16], dtype="int8", scope="warp", offset_factor=16) - B = T.match_buffer(mediate0_shared_warp[v_j, v_k, 0 : 32, 0 : 16], [32, 16], dtype="int8", scope="warp", offset_factor=16) - C = T.match_buffer(mediate1_shared_warp[v_i, v_j, 0 : 32, 0 : 8], [32, 8], dtype="int32", scope="warp", offset_factor=16) - T.launch_thread(tx, 32) - T.ptx_mma("m16n8k32", "row", "col", "int8", "int8", "int32", A.data, A.elem_offset + tx * 16, B.data, B.elem_offset + tx * 16, C.data, C.elem_offset + tx * 8, False, dtype="int32") - T.ptx_mma("m16n8k32", "row", "col", "int8", "int8", "int32", A.data, A.elem_offset + tx * 16, B.data, B.elem_offset + tx * 16 + T.FloorDiv(16, 2), C.data, C.elem_offset + tx * 8 + T.FloorDiv(8, 2), False, dtype="int32") - for ax0, ax1 in T.grid(2, 8): - with T.block("mediate1_shared_warp_o"): - v0 = T.axis.spatial(1024, i_0 * 4 + i_1 * 2 + ax0) - v1 = T.axis.spatial(1024, j_0 * 16 + j_1 * 8 + ax1) - v2_o = T.axis.spatial(1, 0) - v3_o = T.axis.spatial(1, 0) - T.reads(mediate1_shared_warp[v0, v1, 0 : 32, 0 : 8]) - T.writes(mediate1_shared[v0, v1, 0 : 16, 0 : 16]) - C_warp_1 = T.match_buffer(mediate1_shared_warp[v0, v1, 0 : 32, 0 : 8], [32, 8], dtype="int32", scope="warp", offset_factor=1) - C_1 = T.match_buffer(mediate1_shared[v0, v1, 0 : 16, 0 : 16], [16, 16], dtype="int32", strides=[C_s0, C_s1], scope="shared", offset_factor=1) - T.launch_thread(tx, 32) - T.mma_store(16, 16, T.tvm_access_ptr(T.type_annotation(dtype="int32"), C_1.data, C_1.elem_offset, C_s0 * 16, 2, dtype="handle"), C_warp_1.data, C_warp_1.elem_offset, C_s0, dtype="int32") - for ax0_ax1_ax2_ax3_fused_0 in T.unroll(2, annotations={"pragma_unroll_explicit":0}): - for ax0_ax1_ax2_ax3_fused_1 in T.thread_binding(32, thread="threadIdx.x"): - for ax0_ax1_ax2_ax3_fused_2 in T.vectorized(4): - with T.block("mediate1_shared"): - v0 = T.axis.spatial(1024, i_0 * 4 + i_1 * 2 + ax0) - v1 = T.axis.spatial(1024, j_0 * 16 + j_1 * 8 + ax1) - v2 = T.axis.spatial(16, (ax0_ax1_ax2_ax3_fused_0 * 128 + ax0_ax1_ax2_ax3_fused_1 * 4 + ax0_ax1_ax2_ax3_fused_2) // 16) - v3 = T.axis.spatial(16, (ax0_ax1_ax2_ax3_fused_0 * 128 + ax0_ax1_ax2_ax3_fused_1 * 4 + ax0_ax1_ax2_ax3_fused_2) % 16) - T.reads(mediate1_shared[v0, v1, v2, v3]) - T.writes(output0[v0 * 16 + v2, v1 * 16 + v3]) - output0[v2 + v0 * 16, v3 + v1 * 16] = T.Cast("int8", mediate1_shared[v0, v1, v2, v3]) - -mod = main -sch = tvm.tir.Schedule(mod, debug_mask="all") -with tvm.transform.PassContext( - config={"tir.use_async_copy": True} - ): - dense_relu_0_rt_mod = tvm.build(sch.mod, target="cuda") -with open("after_memory_rewrite.cu", "+w") as f: - f.write(dense_relu_0_rt_mod.imported_modules[0].get_source()) diff --git a/testing/python/tir_expr/test_tir_2.py b/testing/python/tir_expr/test_tir_2.py deleted file mode 100644 index d2a93aead..000000000 --- a/testing/python/tir_expr/test_tir_2.py +++ /dev/null @@ -1,95 +0,0 @@ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -from tvm.script import ir as I -from tvm.script import tir as T -from tvm.script import relax as R -import bitblas - - -@T.prim_func -def fused_fused_decode3_fused_NT_matmul8_add1( - lv47: T.Buffer((T.int64(256), T.int64(256), T.int64(16), T.int64(2)), "uint32"), - lv48: T.Buffer((T.int64(4096), T.int64(128)), "float16"), - lv41: T.Buffer((T.int64(1), T.int64(1), T.int64(4096)), "float16"), - NT_matmul_intermediate: T.Buffer( - (T.int64(1), T.int64(1), T.int64(4096)), "float16" - ), -): - T.func_attr( - { - "dequantize_info": { - "decode": { - "decode_block": "decode", - "fast_decoding": T.bool(False), - "group_size": 32, - "source_format": {"bits": 4, "format": "int"}, - "storage_dtype": "uint32", - "target_format": "float16", - "with_scaling": T.bool(True), - } - }, - "smooth_b": T.bool(True), - "tir.noalias": T.bool(True), - "transform_kind": 1, - } - ) - # with T.block("root"): - decode_intermediate_intermediate = T.alloc_buffer( - (T.int64(4096), T.int64(4096)), "float16" - ) - lv47_global = T.alloc_buffer((T.int64(4096), T.int64(512)), "uint32") - for ax0, ax1 in T.grid(T.int64(4096), T.int64(512)): - with T.block("lv47_global"): - v0, v1 = T.axis.remap("SS", [ax0, ax1]) - T.reads( - lv47[ - v0 // T.int64(16), - v1 // T.int64(2), - v0 % T.int64(16), - v1 % T.int64(2), - ] - ) - T.writes(lv47_global[v0, v1]) - lv47_global[v0, v1] = lv47[ - v0 // T.int64(16), - v1 // T.int64(2), - v0 % T.int64(16), - v1 % T.int64(2), - ] - for i, j in T.grid(T.int64(4096), T.int64(4096)): - with T.block("decode"): - v_i, v_j = T.axis.remap("SS", [i, j]) - T.reads(lv47_global[v_i, v_j // T.int64(8)], lv48[v_i, v_j // T.int64(32)]) - T.writes(decode_intermediate_intermediate[v_i, v_j]) - decode_intermediate_intermediate[v_i, v_j] = ( - T.Cast( - "float16", - T.bitwise_and( - T.shift_right( - lv47_global[v_i, v_j // T.int64(8)], - T.Cast("uint32", v_j % T.int64(8)) * T.uint32(4), - ), - T.uint32(15), - ), - ) - - T.float16(7) - ) * lv48[v_i, v_j // T.int64(32)] - for i0, i1, i2, k in T.grid(T.int64(1), 1, T.int64(4096), T.int64(4096)): - with T.block("NT_matmul"): - v_i0, v_i1, v_i2, v_k = T.axis.remap("SSSR", [i0, i1, i2, k]) - T.reads(lv41[v_i0, v_i1, v_k], decode_intermediate_intermediate[v_i2, v_k]) - T.writes(NT_matmul_intermediate[v_i0, v_i1, v_i2]) - with T.init(): - NT_matmul_intermediate[v_i0, v_i1, v_i2] = T.float16(0) - NT_matmul_intermediate[v_i0, v_i1, v_i2] = ( - NT_matmul_intermediate[v_i0, v_i1, v_i2] - + lv41[v_i0, v_i1, v_k] * decode_intermediate_intermediate[v_i2, v_k] - ) - - -import tvm - -sch = bitblas.gpu.GEMV().apply( - fused_fused_decode3_fused_NT_matmul8_add1, tvm.target.Target("cuda"), False -) -print(sch) diff --git a/testing/python/tir_expr/test_tir_3.py b/testing/python/tir_expr/test_tir_3.py deleted file mode 100644 index 1a879859c..000000000 --- a/testing/python/tir_expr/test_tir_3.py +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -from tvm.script import ir as I -from tvm.script import tir as T -from tvm.script import relax as R -import bitblas - - -@T.prim_func -def fused_fused_decode3_fused_NT_matmul8_add1( - lv47: T.Buffer((T.int64(4096), T.int64(512)), "uint32"), - lv48: T.Buffer((T.int64(4096), T.int64(128)), "float16"), - p_lv41: T.handle, - p_output0: T.handle, -): - T.func_attr( - { - "dequantize_info": { - "decode": { - "decode_block": "decode", - "fast_decoding": T.bool(False), - "group_size": 32, - "source_format": {"bits": 4, "format": "int"}, - "storage_dtype": "uint32", - "target_format": "float16", - "with_scaling": T.bool(True), - } - }, - "tir.is_scheduled": 1, - "tir.noalias": T.bool(True), - } - ) - n = T.int64() - lv41 = T.match_buffer(p_lv41, (T.int64(1), T.int64(1), T.int64(4096)), "float16") - NT_matmul_intermediate = T.match_buffer( - p_output0, (T.int64(1), T.int64(1), T.int64(4096)), "float16" - ) - # with T.block("root"): - decode_intermediate_intermediate = T.alloc_buffer( - (T.int64(4096), T.int64(4096)), "float16" - ) - for i, j in T.grid(T.int64(4096), T.int64(4096)): - with T.block("decode"): - v_i, v_j = T.axis.remap("SS", [i, j]) - T.reads(lv47[v_i, v_j // T.int64(8)], lv48[v_i, v_j // T.int64(32)]) - T.writes(decode_intermediate_intermediate[v_i, v_j]) - decode_intermediate_intermediate[v_i, v_j] = ( - T.Cast( - "float16", - T.bitwise_and( - T.shift_right( - lv47[v_i, v_j // T.int64(8)], - T.Cast("uint32", v_j % T.int64(8)) * T.uint32(4), - ), - T.uint32(15), - ), - ) - - T.float16(7) - ) * lv48[v_i, v_j // T.int64(32)] - for i0, i1, i2, k in T.grid(T.int64(1), 1, T.int64(4096), T.int64(4096)): - with T.block("NT_matmul"): - v_i0, v_i1, v_i2, v_k = T.axis.remap("SSSR", [i0, i1, i2, k]) - T.reads( - lv41[v_i0, v_i1, v_k], - decode_intermediate_intermediate[v_i2, v_k], - ) - T.writes(NT_matmul_intermediate[v_i0, v_i1, v_i2]) - with T.init(): - NT_matmul_intermediate[v_i0, v_i1, v_i2] = T.float16(0) - NT_matmul_intermediate[v_i0, v_i1, v_i2] = ( - NT_matmul_intermediate[v_i0, v_i1, v_i2] - + lv41[v_i0, v_i1, v_k] * decode_intermediate_intermediate[v_i2, v_k] - ) - - -import tvm -from bitblas.base.roller.policy import DefaultPolicy -from bitblas.base.roller.arch import CUDA - -func = fused_fused_decode3_fused_NT_matmul8_add1 -target = tvm.target.Target("nvidia/nvidia-a100") -arch = CUDA(target) -policy = DefaultPolicy(func=func, arch=arch) -configs = policy.emit_config(20) -print(configs) -sch = bitblas.gpu.gemv.GEMVWithDequantizeInfo().apply_config(func, configs[0]) -print(sch.mod) diff --git a/testing/python/type_conversion/test_lop3_type_conversion.py b/testing/python/type_conversion/test_lop3_type_conversion.py index 5964323b0..e434c8a95 100644 --- a/testing/python/type_conversion/test_lop3_type_conversion.py +++ b/testing/python/type_conversion/test_lop3_type_conversion.py @@ -7,7 +7,7 @@ from bitblas.base.roller.arch import CUDA from bitblas.gpu.matmul_analysis import get_tensorized_func_and_tags from bitblas.base.utils import apply_and_build -from bitblas.ops.matmul_impl import matmul_nt, matmul_nt_dequantize_b +from bitblas.ops.impl.matmul_impl import matmul_nt, matmul_nt_dequantize_b import numpy as np @@ -19,7 +19,7 @@ def test_f16_f16_gemm(): policy = DefaultPolicy(func=func, arch=arch) try: tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) - except: + except Exception: tags = None if tags: policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags) @@ -55,7 +55,7 @@ def test_f16_i4_gemm(M=1, N=16384, K=16384, bit=4, fast_decoding=True): policy = DefaultPolicy(func=func, arch=arch) try: tensorized_func, tags = get_tensorized_func_and_tags(func, arch.target) - except: + except Exception: tags = None if tags: policy = TensorCorePolicy(func=tensorized_func, arch=arch, tags=tags)

    n2>y@sI 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≀kZS-Hoy5|h zN7bSJUxy8cq{L?69Ds@}X$81(^t%dkaK{;-8Ue44Ip@2x@hw`jCK-5 z|5CC)SMe`DzO(!%Wc=mFYL|X))n9%bv+qaE{^h4WHS2#^WxxD5-})Ec`t#@SAOD2W zKYvO&8vgR3e*Roa=>OH*E`|Q6uivcj^9g?Z$wx?P_mAcLZ=d+JnuU)MD= zRbBG~rn^T4v#j3)#H=@){cgu0rTh_b{_CYJBtApT3eLP3fAcQX99ApUo) z1R0G56^j8Aj~We!3JseQ8I1rD1sf6h{}&b-GByngHW@Y%83iLL^-mIN_Wz;z56Az9 zlY~}?oQ|K8k&l)|kbzzFC$BV@kRrFR5|4;7uc!*YxT=7JnxKTbkfer?l%}whrihHz zf5hZ;{zqO{Lg7Dpl8X9LO8U~uhO#O~a%#qM8fMB`W@cKt7BbxSOq4FTgun49(m5!L zHOSg+@fLu@D`upt=A^3@WNX0xV@bYl^*G~9Z@`00pih~Moz9?#_nkv9*ycAAT@W8svAh&rGeW#hh8<7 zLL!ii#{-Yv69dN*3E+r`;*E?Jfku*r$54nbU5RhqitE*dAJm5%Jxus_f-rTFA^hT} z=QG>?hr{buC~QkSZb3F_PAOwfBX`cSdc&<{->>U5xaT~k_cW#dG=1zkYwjs$@hyM( zvtaqXbpEz(`2w_k)46xkzjrpYemFkAK0UiMzqGl!bF{vHx^Zy2b9i`ouzGT^d~~>b zczkwza&d8fb#;05|Hk$I;_CM1?EdET?(X#N{_OtY_Wt4V|2#cBJU>0YJU%?%UBBMm zJzv~E9o{|d-o30`zf4}ej9kBs-@VN|y)VCi?tOw!KEUUn;G0kI!zcLZ6a4xK{{N2; z@aHr5^A`MZ_W5z}@wWN$xcquQ|N1cXaW(LI+WEZSez((ovC)4x)q6PGb~M#^I$d== zTXr{Bcs`MH*!Oq8>-SM-=w`kDR)+stvDH$E@pQf!C_A7yEhQthxFElwtg4}|wx+(m zzNxVu4h(?=M<89B*Bb(dPNzRoo8KP+AeYUOt}7Uf!C|x67^(X=98V$^O(0WWIQo}H ztz3V!zGys^#cV7~rlEK;liTHNW3-`UI#)R42cc|Z>Fhu0zjOv;jb-yC%Kv1u-x4K} z2-F*FHpiMOmTQdrqY33e4DuKp4rvDCpsMv|r~R>Px#ntvKR&Y12uHStA?<S;Z5&xV12E-s2D{ED?M6j!)UfB17wgYWN>(G>-kWu*Md#Hl0NUmLO{$$hC@d=yy>4jiJh8`1 zm>6VCHy8uHKa@#34kN5kJybJ~AOO`&{@;Evh#8U`->cbBNW$AgGqEr@15aYcvckD| z0+xD;eLs$^G&7N$7OLqWaV+bDKhnrpg=S)c2iukiiVGPDh>WLcd_q_c2bNbXg^{+s z#%1}0j#;YR|L@t{Vc{HUx?i_(DQWsV6~n3Q6XZScq9AuRj4+{wBtr-ll2;*o4%b-IUA z+b#-hYU-%qC`AIIZ^9>r222OG>Bf8Yie51GWu;~Y^~O)mn-UNwLAI5M&>eP0JmIppmM0i?!jvevYPF=J+)LH1 zEW-@<6QNb_&Z1kNK@j^tZxmR~+ny^v84McbT?peTKQagc%^^5!A#Okxr1_l4*glGL^p>LhbV+L zWa~UOy82VSuVZ24!;oW*)id;IP&C7Nr9eWmz1z+Xi!xV|gZm#Bq0 z?}tq4pQq1gwaa5bKpvgY<3~B%B&;??Kl$LdPBlL zj0bnFF#eF|B-mAWlf&(EOGVLC_z5ExlEBK0B+pEfiYAS;6ZH!ox;g!Z?_J)(ngba( zilNJjkB}C_Ak^UYXvH*WNl=wGkX0k2$C*fZK?p}FmtQA9jgDJ(mA2z6(v#vlPx2nH z00h{naPHuA*66qa5c+*C@V?Ts`kEs^-urYXIdic{=|AG!R0QwR_pY}65u1dZWivP-mALe3&gpkjm z^#!xT3D@u_M?lT628I@kQ_HGE^(B(dg+^`#?}j_g)d#>TNK-yS_f&jSOY~VS7U8rW z4Ng}qLgPU}5E7G@aoe+lfiEc`8lCWgQRk- zNH4osuA9t>YXGN4sXFS+kD={Bhc6FXFI`6q#fhg;^@r!Bk>(}=odt|rF z3oL7rC_8&iZ3YY|!V1S$luY-+z6TYUski^(pPeV+P)5JY(H$bh63-EClKw$z6Vb0a z-UB6aqYm2_fqp3FrkUQ)y2;-Eax>RXf?OA=rM3#zeM-_%kmG2rI`5<(s@8xzjQ z`GHgI3m^vs=jkaEfuXHMl_PE3=X=|Gw`^ued*zX~5T92PNn#kxqJab|bmQZp!1B|` z=7~clV(5;HqL@!`5KO7LU)2F}h#=5Qvp}lE!7lLb zDohjx=O&#T(p*)paC+a3#&MnF6chH%L6QhA!2sW4J@~I2Pkp^`Eg}`8)Z5C4B1onu zmeWY8F!5=PrUs!S)$^i(2<0e-$0hsh6M1@pA!R3D>U5uouehd1!AYRxs3yja-7QS= zz9n zw#iVP6+7MZwYqg}dFtuUhu)U9qx2kYi#T<}JIRIKZMl*=CH&vD`AxmsIqIKtA;$^D zb-+kctcZ=rpib|E{+fi;%B_-`g^Ta$S>yS1cHh|}v8r|QL(sOL<}w8bCc5~?2t|)I zy?Ak;rrp!BJ|q|+*(^UA_-Ce!P%~vnM$W0adK#8BAKOiL%lFA2|O>*59vd0oH)c7#9(7F1t_H!DhW7J6TW+D6mf*pK&5g^2|^HI8HrSG9fF}HAUoB; zblH#SB}gmTTQ1BCdDr?U5W@V)+6kNLd{`-nL^yxe8!lgs;n+*a%>#g{P0EGZ7eV+& z!stutxlFA|D(fFs2X7^4K>!v$-4hOIyQ$>aF*JmPX#K{ze? zbZN-aKwBstDe$<-@T-Q$d9QVvq1*O#@*g72!{`d3xA^ zXvnzS!Qc{f#FIQhdpKRa$gl*Qs1S-^i)L@cZvo}~x<0I)_1Mh23xYJzj>cO4?@$(F ziN263nyb{P0xQHlCRBbc!Q|-30B%&qG+j$jsDE-~V;ZH}i(4E`R3CTjTX9%Bjt9c8 zm|zKjD^&#Hvi_KA$cPxPbtC`;>jU*Cw9pdZ{)|WP=NHm9^Eeagt<*>>)1QC2qWe=g zk9QPT(1XbL5l(kx7_nmsUVI1A;@@z%l4!yxMgX?bfU(Hm*=gT1JcE-L@Y_b5j*I!1 zX~L26)%JQK4>$#IBzU@Z7?LDe542ISUG*{R6HK^%5=KSxXvI6so4&UsGFWR2dB*Ff zfq$!gmj-eASvIqc+zVaz87-zUEG;^iW4hg^#ws4h`btJ1lE%g5BR_D5mxKi2vpSm` z;WXW_w2%lGLAgX1{GpLC9$pDz#7!}cqWElyOTpome){Fm5`1f_PiJNGM3(5gtTtJi z_y`pWh(fJu`QuZEa32`A_m6saCJDtviI<$!88{tpwVw0QaqGg8?#V!Wyq$Q1`q3G<1_^5|ACJIb1 zW)J~Q&!qj@9!#9~c;>Oh&|6SA3M8v{1KL1d@i^%-xY^onrqmvZk>&;j%__FwM=5es z;gASb)1Ss>|6-|W06Rm!;Pah*c4ON|Gw)`(u!mEZ#nWI|LT`IfT6p9lMl!BmGji2s zm===5-SwMaLp5C^f!5iR*70+zdC0tce|2&fWcYJ`q0GDGbFdf}wx)}4dh`a`?=DbO zxdWDQP;ht+h|?31>V$JmEceXp5X$rLM8CWCps1+-vV@J)PJ$Jd7LM0?9DHe)qN zlL34FSHy+0?4?<}<|)1v2F(_BmjWhfV5xNtwloupfCl~h)(o)!6~`WX#zoY4ZW%HH z%P%TIWA@Wlx`5qpE`cmQA$duoEL9J<{7(f=qL!GcY3O6JG5apRPqVxbh5q;(p<4m6!B%~X|M5+$z$GK|EExog!rT%i2UU!h7FhzLRMu*g2pj92 z=;-qbs4sLyf(CAmID6Yb6qOTk%vF&$Vq2+`mzh?@+=qpXt@Vc)eC@zz?jV8?O%>)yeCx9CWa}8i-*AFBdTT8!&2D zLrvJNYX>Mu-Y}!*e8=U^%=<0}h%2j;^l40)t>%i5phcj<_x|g&mr_Ae4k@S9@m9wO zOp8bde2iv-U+W3i0q$BkJY(kai#Z*yCS}p(_0-C6-?UKK>n!9N8+1#geVRQpF$mtv zcEc)tS(8Zh{1f&Nu%r`=t=wWVA}wVBG~XLNfRClAPh{xXm>W#7U{#MBK7*k z(;tzw_mN$oF0Yr#dzPi> zGzZB!=Aw7yCQ*Cw09--!M{;TyJZ@*_fbTHU6EIpz6@c)WDpCG{ZEvbg-s-&beoWEs z0=_=Qj{&*5He(q9#X)oOWcfNi!19QStL-01R^x+p;MI7~#90L9w_ct_n!)v;FHKD$ zyI$e)Y-lroJNCNme;qk%13c}~${WM}^48#Fo;IorHOXjpuC#WOWx?-W5=?edkI)XC z8eIu&e;iW#{cljXHe8Wjll$>aItFW`tj&#qQgk$py5U0sS!3nC=&Bo|@K&mkz5wAN zpbkT$pk=#7Q;SrFuATUhyy=i7Vn<}D7VIso*PX=QA)IQ|ey54z@2B+>FD!u%WRkm_rpElL7jD>)ILS)G?>^efjjROqC&w#iPcQqi-^3vl-DjtZ8t)1;dY7FsxN^ zL4Elho$fxnU4ZF zAK?CK^AB!imvtqxV|-=(Hy9Q|RbeqvVD&I960`i`wYh;j`TmZwYO)Wk08|0`@5JI~N6=w6s zr*nTV!x)4dYtlxCE@wh-AVQ6?m~Ym`TlR*+x!qZIVuGEsss2bV<1#bZT2@szO=(61 zLN}+i%l^3Lf4xOyMAeZW$xXj28=*MK#nz?#c=f$zy(bopMM3X=drfcK1?wBYrha$$ z(JIj?nA&*`ryVHNE?T%G{q4hhzi_B9OhX`q8sNGCZLMKA!bDEDt%ZRMpHhkoUUd{F&3)%&w~9zi)N9PmWC2T}7=T zdR&0MmnF~Ia>I+_yK-$$m5t2THns~4?g`8}gE2T1qdy@(>~4FU?zvyBJvI9tex}^) zWueGgp4~t$rWAlC5x1LqlJ>9QDv;?nDyWkSMUVklaH{7()pYaY;ukfh9fWu7LVEex z2GL2r1J$M2Nl&9ncm;rWQ6MG&!f$pn;-EMRKZ#2y~L^}WZ+sNNM>~0{hKd{TZHag0wZjknI-gG zWSU?c*bs2;d)+c&?j2qC9mDn=)7Kpf@%>Msdv>FH&VYOF+#jgit;zw1XM|Gn|&45Sk+(+H+NB!+b!>>nU;wMv~Cv&4G zV8D}A?vqXTlil`{!`G7&@w2ngv#Zgwd%&}2?z4CIv+wq^|JQRM@k_AKOQ_LHc)&|! z?n`v{OYHVb+}BG2@oS>cYm(7xO2BJc?rTQ(Yu5H_&ev-m@mqn=TcOcgall(??pt~H zTjlm!_19Z1@q4|{d!x}iDB!&%_r0zAy<_{m>+8LT_@htgW5DQRDBxox_hYR4V`BSb z3jFmkL;N`>^toX4xfJlZlKZ*V{kgIIx%KtALk!*%0v{NGj{?9ax!|*I@WnRx>I-~B z{B8|6OYDZG#p4% z*_VtX6!3?_RXvbSq*TZePggyZO<^?X3dL1BlF#6<-x^3)J66mQ@B>5Psh=npNc<*} z$WT93Emp`D48zknQ!m%3G91j%IM=K;==6ui*SyfKx0uY4$ke>l1=(+Qh2d*m>9@IE zZVhH?T^n}!eS#Tjg~eb|h=mCxv$Stbhkg?Zg%jx9nU5ti8VzOX+ykew1p>e@gt`w_ zb43cdlG(bCHcM3o-Qk3KPj+if_S;W0A|Vi|!SMK9g!(T|dxO7;rE>INosTB7g(8Ry z-dxZAx?Eqq<@LkBLqZ`!5F37Y-W^WnO63}UdOux?=m!!TfqmZ|FSmztjlTTBpPyf_ zEW+PlDQbnkqlmMJKx3QNiog zU}~AyNnmf@vq<7v7S>7PI}Wf)5qccdNf8G?{gft+$U+fEm6?!**d+3-lcCNHz3X_6 zEUcHMuNn9$$Jl&OFUQ;s#Wn%Uh4ZJmCnff$0>`qsqb%!oD4QbBaUr-tk?(qdO-W$% zqDQ{GF(gny1eOv5>c@jPyNU$1MWc!oaTvQQ5f4QEz#j-ob~S}uc6C)HA!rVD6)DOl zbv4Jr1=X@fGiNm|Be&}rHOrzVO+Cj!4lRT3jh^osLZ+CSCJ~G^^9Jz}oH`b%7NAw2 z&*vg7r5+_{&E&Tmr=ETDAxO`$o6`9^;N!wd*LFG#Q_pGHqS?S>JB(}VWq`7|3>i{_ z%SZvKO4u;q3!2+F2v$>FJmG4QYggozvc)8VIGo!w%8dP`43=G)d!GY0r^PH@2!_Y} z&!3AE)89(riDrMafUOp(Mh+?FKHXxiKx~b09?NWxqt;^qKJZPcQf7o9s%37xB(HT* z>e3&1Yc3MrGfvu*RO^bGAzs@m)Qi95-||v;?P$xk+Uy#pCEw4g)8~XC>$a(;Pa2Pl z+a218kA%O+t%bKc-W+uCIrYL)Z>)A$KD9gcAXs+%8YX^TIQ<=}_;EQ%I?V4f$px!+ zSHz#!dRNPQ+~GQ}B=tFj$iD;UIy*=u;I?X6()k3f<#-mdY(l;6z8wH7=m{3yk$&DR ziZk#$Otmz0*-MAq^*r!#?D9UZvHbA*U67h{a!>~=!SaPa4=b>pj(8V)11AHJQ^uDVUu<&jKMaeA^2@RnA zF0TX!{?+qz8ba)1^@m8A6hUXel+YPs8uI+P@coe408nU*Xu&P!t}{c1BOVXKGa`r* zoFG9)kq@uJ4S~ry6IQcEjFj9WPBk?aF4?>5^|0HI2sV@W)*?=C{wG>JuK=@V=NsyA zvnVEX9y%hF5`qCmq)Nv>D;7Ibf&TPNX8J9F>9qRAz+!QefB_rAz zNQpI}77V=WHHksIh=!kBL6nxF?YY3qF)wU z_PJe&upalc_m&#}D+8_2C%ke{b;KXIFl%`WJd!ZTu>9TLA{fzHwVXQ)vo$*uGTm<| zu%7c6*Ei(w=eu%h2??PmaO6~3vV9+$*Tf2xyYzb`M2fr|ST8hm)Wvi$T!^m4mJ+tQ z)?Q&AhHIz{25Cgo6^=%k& zHeq(=i@NiL|*qF7P@nyZm>52k8%LgZLXE33(xu$kt8+g`_zGKG`LtcfEvk z2KHeBYD26&Ac*ooE)d>0VGKJg5O@bEMN|sYa+K}*N1}=KNOcUr`G2dAPD>4vNS9V} zK5GlrpeE$dD!YB1_4Okx!gfMoM-@2zU9{zvZxT%2N$dJ=OCC|vmol!*Jb{5v9^Je7 z)!v1?`v0CV`7>zl@X~plPC}8 zJ-|)>sN&La^l>ziJjKgkN#$K^Kijn509F$U6P2SLDhlxzTiB*RQG3C^o*s`;(PY zZP3q*bEjyu>b)2vWFX%6&Li>Tmd+xWx_=s-XWJrgB#AjpMU!Ty&=G4j>Bv3Be4nR6 z==YH#Pb{?&7pCgy>5IdX?q~Xbe@|3V1zdI_qOYWm-@(rYxN^fAgS3)!wBl+9xRW#@v0pcYLD3q zNzcC7qpJ*U(CBWcXA*4Qx5)c_;x7Y~kZC=8ANsUjVIqj;&P&@{bx|xi%Fyu9mk7mD zo|R~(`aTOmmr7P&669m4fqr{nveZ46km9Pusu$^bhqMcnXZR zWHYoj&*U3k zgczI1vXZy609gKsdWXO&4}n34CUfDzF0%Se!b{oirr~%zqUQe1rLrs^uFE(Nlk3jw zA!OeZ3F7+RVX*o6(JaY_{sU}X0XebD3T(;sH!ps*hYF4vDYaL758sJinElNi-dpTl z#BNC979)vbdtzAL0S`M?V!wwX;@aNaF8(q{v~!DH@0IbKCr!}jtqZa4!rj($Pj1M~ zv52o44)N<4wFE=jweNkQ&)f5`P=hQA`uX4E5G9+c{-0e1WJLn!wIqG83OiiJ2_n^3@ocSbvxgMQ=6 zM_hJcKw$z^(i~o@V<0R_T#;f>bpcflaWHgLT+Mt?vk;)953ejg_#0P3t8q}T5}=+X z;i@B{|1fBzPk*vH7>WvkQYv9AK4gvoFd&dLr5!R;AF@i4{0NjtP8bBbCL-)W=%f!h zJPd)2CGA2n?GJ_=*@s=S;%(%kY%!#;cLR}Vq+FAR9TA7!HZspXl6*IYgFgnnp+-bdrGJn}hqy{>T@3$y84lG)L0%aO_Z|7~Q$}dv2uGcC_`*nn z-C!hpRMf@DeINu%8iWC12V|rj2$Y>bciJtcHgwnX38;I@$2zY6^CcB9V{pPb6`SmpUm`3^V0r^P^1x+9M1QrZ%Pg3Bb z`Q(!8#thsh(m zhWU@kAam)>!l|>ysq=xUi-oDngQ=?r#cPbo8`r5@dCnb-$!qcH2leSk^XW@OrCEyU z7k!SC2RJ}!;Pb%r$HMgI!8G_``U`3X;#27;X&SPq=B!=mo5l>Z#SDzw446Xsd-BXk z!E~I{U--e9xymlYL*=Wp<&v2ng)s-Kxy6#j&m~~k(tF>WRgosz{-VvGCa$Vx7+}fnap~4;$q`fQ zW>u31f7vBD&q-q04Kv4CBGSQP*|UkzEqU2Hnb5AFEE#%}PqL&L7m(^d_AsFP*;j)ojMqx~wA zRRZgvuys|P^_C(%-PX0X!FB%h^^QY5<<|8sXnpS0^&U!n$=CHhi4BRul>v(lah{E# zunkh&jgcaKRgEpR7EJ5ro`m5W&enm2AtcY%k;2wt*w!iZ z@OIJGc_+&0;MS#v;rZd#_2Skww9z%D(FM}>9f#4K#P+Gc_M?T-qnpu@{q{?;(M!?x zUiS9;pwauH(az*H_|XUqy|eMT{f)}_8>jIa;|`RjF%)oT$zTUI+!!{+c;WZX50LSX zp`Dq|9i$^;q$lI4%N+og34m&MjBpoS(ga=8WJF;X%iRPke0RWa7q{317i7{`wM(#M zLU6R(wYf_SV@ix=+JUr3#%W3>xz{4FM+pR*Qo5Uh?DuF=OlgYu>a+LghfL|0Olv3i zn4V0TVD>9N_gJaSSUJtg8TZ*W&Deqa#RmIa;bvSZW`)1^c|m5pLuPrM`vOO10#Ezd zm;1t4=E775>4XPjlICKX<|zsXlJ4e`;pT~c2QtOxGN6O_sss5YbNM6ln9Tzv7z-t= z!$_ng?90wU-qHikcHmTq4(sW;gf|S4AA}a(1Z$T z!g=Jvcx0{#GzT6z8XQ@M11(d4cE68oKtP+JBdg9M`y-(J6A*ZL7sdTsBrA=Zs{I=tm}8|Rcz@623cxX9s4d>`W_vtZ5{`}SOs8NDI=W(b6N#UTFDEX zgaNI>+)rfePa;#SB8#mgvQJ`$tYVg|L?=(;o~+_vP6a+s{!m%};k4#sJWbNHP6AqU z8JwnuTc@U+vi&~I09j`YoicZxW*=E+KUp(gp5|fM~2#W zen#qdR#t3N2C^ZpI;&i=sXRKv+dQj*v8};6$3{A@=d`Vtv_%&|Q_4d#UVtIWKM*E(SF127q?k`WM6DcEc%lDA}81 zamN^g7iPaNCZ{HjA1}b^;W;x;8Z%UvSwxrfQyTM{m${0UOK}=Y;g<#em#dl@tDwuG z>dOsejg6zr(yhzwBlT^ps|w_+y<+t}$*XF?t3wC%L-(sXhpQ7N^^@YO#+<8j81?g| ztLCYzt1h)GnCmw1)oq;GE$4M7)AfU-+5_;q$ME`@NbNc0xKejQ6@uDnoapAekm`4>o1u#f7)RBya3}wc3;1SLm}aLo-y1|JNyKBP+Kn5O zX9*PS+X}>6v}Or3soQ-1TTDv{OpjmqRW~@6SGYyLDC}?XnbqKzZ+~aq5=E%sz&aCt z-jW)rkaFDxPk?VJq{JyKokie_&(|wxhOZg>Bc|kZ_Dc+yOAwl7{UHB!giS`w^7&Br z*~5~{1DxtH68-GWtmHcUj4}P>7vbUe{EU759N6p;NbO1N_!Pn=<*nrz+V&hCz!o0y z672mFCG|6^+0&BnCDy|;O}zdjsEjB|G&{G*BfreYhfyFp{4f^-M5l!&z#h^kC?ae z63@ipx7qf$s%6je=eLvdx7v8h5^A4Y-1i0#rYbF;3b}WXBSk}m&$-uoYbtqbv(Hi4 zdxs@i$ML(n{cE?B4+#6ikom1|TDDKhS4rSwkXnAw!53Pb7sp_u&d+Nt z?Q85W;2QYum|#=ttCHvI5mx)oHWC367LCE` zhNLg_2lh|9lN-{3NHl6>D3cwsp;$aF=ZlkDa_IyTn*ZkXcNAkubXxUxr+1VSX+JIJ zDy{FSrm}cF?k-O6sb}&;BhVOiXG}*5v8C|r&mL$ON>xi#t85kG7(P zvcrjtnMt%OjW)~m_UBKG8!gVqb5*un71|91vs;(v&&)eL!LaB|b}uZZd0vk{9eg=i z4@MHH)vE1Ye;!SwVe@hJXtABl6iEGLvVUVg8_(iv0DkgtT&&bv&R5&Nb2@}o;CD}5 zzH{B|{P&58S+3jfG@ ztLG;_@z55h+sIn{%dvl>EzNgcwJstyprb1h|uN}C1WoTN|<QLD8&li(L(Z3Vs6sG{b(j!Vj`@3`(aIQ-#RPc{Qy8xt4%2OO(sna_z&v`X_XxbFMZ=4&r)3pH$tU_XVBQPud?LQf zru~IC|KICfeAkGRTYNXYupMq!efR+#a^2+J{P&os@nF;YS-I_myLr8CzN;Cd?#{+yh>H~y)B?z7wd?(WUU<|V-|$QAZa_}W0T z`&?VZQsH4#ry%4cJjncq9{9VeAdC)@8L|@`2-DgS!iGFpv6r7ncaou04|s4&rJ`|v zl;!DtN#|AJ`f-^m!H7 z^-`Uz)5_K*_X8F|L2-ECyoGWDYqk zGWgMuhV)h>Ibk(n!4#P`;d@lcIVxkN$|gNkNyQmPIr(MLkjdFr%+-IIV^5`=b)=5U zJzX|+LgJ!(?pw070z2)+8I^@rNG%xuI^=uDmhr@3BJ>?E&-F)Rp4U6IFjBelE5J1$ zc~PE^wO}GbRh=EFibj$geb&jM@!vvgsgxL9+HY^!LMnS?X{B=2wglG#dcQIw)gSZe z)kQ_@owWAm(ev3hgT?%x*4C~+7V_(n!TC%SbgJ_d(}h2ie+t^usq-{Xm#Sj2C{@vE zR`D)YI&(NnLYr#!kIhv@H&t4ytr-3PHEh z+r6>aEz(K}VR5b;)Py=$X=`@Q-y*950u9pJIj-w2ooP0eU0y1BA#BWo-CNi(tAFw6 zZ5(uAv`%zhIOqDP9?N3a&sI4|m&I%j7<#nhE>?R$uW#O{VsspAo_kKWE8mwdSD)HD zimW0SHFtS*eJ0iT(PyrI5T$^?O^3`D=LkDqdmcRon6*L6Iy+E*-MbMr&x45xG@#_T zvrwy9)M#UO?F>Ep#TRQM%2sy)Ul;=vz@tc|ST*#DmNZ(2TX`MCeZwx#A^POH-@kPB z2{JK;`NI$60xndD5pX^Ll|M~aom>IG{I6sF8$iEa172& zsQXDC%5PIK`n9|$hsGFOq|-n_?>Y9A#-e+jQ~7h8`7Em1fYz5&QXlVyAINUF3JPak z<+?MaLuM7@dS}|luZz*(!pFaszt4r%y%XCd8><5hP7G63S2U18b=V4aT2y>pBM$C` zseW=++s~^DU5$-FUiJ!lKI_?2?ms&x?KNZCCwGuNT16DDT&G_*uFRjymXWS?+uIB8 z9hy6?C(pgx)wlf%8@h>GP6LNgcc8R(dQiF~L+JGb;T>CWaFK661$_4ml3E6jwQggz zQ1=NuwugkS#N%T+d`X#GQDx%puCsj)MbulzYnJcQjsZvPsaq3{f?}EHSzbKXuRpwy zAND_ePpB~3W<#_d3Vi^l^2eKVx&9(0a-HrfHEliZzaJS4{m$W*+m_2#9&7msF3gSg zR;CqyHB@v)T04TjJy-vC6(+P{P$2Cx7`X#zwVghLGk|X@Bg5T-Ff<5`)xsw@Ue1u`^*T1 zuY4TrP*>vz){lR0UtZs8CvLq8*nZx6)_Xbl*Ll0>{(j(t{5m0IeC_w;+Xfr(wi)Ap zTO}lLY)foAel2*=f&wn{3;2ja?|wCl{Ct=Pd|n9YzHT#fKaUGp-PU|2&qW2!jcCaCl3uYUNR;+8Q?Sst>WBJ$JD)Cvi} zUj+_%_eS9_Dp7vBg%Mf~F$(AI2PP?oLp(q+zvCkhvp^mbxZ7q-ifyxl?r*Z;nU51} z+?Bk0gi4I(V1!ehePC z2QGXmVB_4Qmoys^Cg;GDV>8?*rv1kW-o|w&-_j=MzLMpPGs}zo$FnEPQ@lUvM9!Bo z$=kJ`o%fF)G|RO_&fi8ZSTMtWMUJXkAk?QM1Vhm^LoR~6FF;iIeELrmc}AGiyaR_q zTv3)^@qmT3P-1CE3`o%?O(9hxhVdoPz5BTLUqUmPpPJ9rYLAZ#apBzBG_Xilaa03D8CgrI&ortxWx;<7&NQgD zP(QL@R;4t;IxqxNitZH|XPD?>Q4Nexni5$UGf_#r6`4hwYDogSX{apbqzw$Ig0zc) zKnpYX;!$BLt7ti3+);p2v2~)fb#bv@9+hqQh)vg#Z%eV=+nnVRRn82RgQ>LL)lqU} zv7^nbJs<5S5i8JWYt8nWrF)S$Rq5m8HL?RXGVwIB+=F;l$diGy*Iu6%kHj9Y_-; zI2@T%y2o7_4JjK9vI3^j#G(zyOqCwimj0eH3q2~09HEH^Oa2CzO74~>oXy2yof;%k zCq5m9F`eeWl>X(k`YTx$gGQU2D3f4#Dy>tN5;yk8oi;?6HqHMeHO_j`sVu$tAgS2; zR{?Eimw9?unGkAmR`^lIlC`TUO%7;3`-(QDtt=PDA{VAS^^7)uNhXEJ<^-a=U`x7y z^Gt`8uFw>irD)?FSym*wm)tEkIS1Xokh|GuMZI8&<=JdY-+ zXk@Z!)I5(=rUyx$H96So^Hwzf7^w-TSF)mSbslWVu~kf~XsefN233UB(s$@ev`tl* z2UT=V9n~M%+KkY5-z}Db=}XJYdw}O%Sawl+^nKxzy-XL;XqEkIN9~dqS#-36injfR zl{Pe$Lt_dy;&Swm>ki(NiRU$K$b5u&xoK*%aj0@G`bBdSH(p8HE;){xmOTa1_ zJH`d~s^##d`M68H$f{LYs1;7ewc^W(l&bZmq}d_xrHBHf#j7;cV~X4B6p)>EayH;bQFK;>rH9>*Dgv{;K}sYRmq*_~Lrb{wCw% zX2||F?&7x1{x109uGs$G{o+2u{=w$rA)X326T;dGV}k|H6Cm;#{?3 zc%`1@xKdp623a}SbzQ1h{c%-(xa8Qt$pr3$d9SZ}zj9Q0aNGkkLl8^tV%3@?UHAQ{ zJwjuFq#ybwbYo1z()Y9Wn70<{ITSjE2?lI=V=7S#`vnb+eF2l{02^_08OZWudk_x6 z4!+_FzQ#$RqxO8L7I7L1X}lU~+e!YQ_VS7ar8^YmoCyH?3%FT>y3F`Vb!&%Mca6o0 zUJ{Cqz>FdF%d)H%Q|}zjvJP#S8GBt4;p-d&-w`w5Ry?-uE~O4v3JQ;}2CwE;tg-H) zi;c{~{VHcA?WLIetP|8+ICgMfQr3n+Y$ZFn$hVVBQsgz)T96BaPCe@6;m~AtOuOq}mUyhW{vo-vi+qC@RIFm*4`6D4ehFrfJ)x>(r#B z^(aZxBNp=jqu!wHA^~Fu?vYYzgiQLOYsLXv>897tp>Ov1eWFRnBNP%Y5XLnSHZahH znA4ORWXjBG#sxAH;xv~6nJaNxXn`z@IDwWRpd+WH2govj(<%aF70+p%3bM}Sv?&4E z)NtB1gKWDw?S?^i)13CpAp4L&Sl2)pxIiOxIb#%elWmX_3fC{}=3m5I&eYA$%v>&9 z%`QS*u2RjeN?dM29uC*;j$chuG!Pyh%^m?RP!*IWV5%>iFrfv_!sDBMBVEkVTG!PG6m%-kUnT(|7pp;9fO zO59;uEn!C7;b6;_a7XS4kCuo4?#PIi$aqh8+vccT?&y-1=o;>r=9ZXl?%3g$*lF(H z%PqgRx#Nyo;;y;lpIhR;xD#Mo6Hs{mV7LAu=1HV(O=RZz%hmcV3Mxu5?zpa;634?3Y2x}hIBq9?kdFFK<)x}!fjq({1>PdcSnx}{$_ zrf0gQZ#t)Ux~G3SsE4|!k2evdy08B_um`*Tun#-27rU_^JF+LcvM)QcH@mYxJG4i;v`;&=SG%=eJGN)Lwr@MP zce}TLJGh6txQ{!zm%F*2JG!U4y01ICx4XN)JG{rcyw5wm*So#nJHF?;zVAD~_q)IU zJHQ9Lzz;mZ7renAJi;fu!Y@3-H@w3?Jj6%5#7{iMSG>hvJjQ3d#&0~wcf7}cJjjQ< z$d5e9m%PcJJj$oM%C9`jx4g^0Jj}$kq^zdr28e&IvD^Ebcq zKR@(Gzw}Q(^;duM%fRwuzxL07_RB!`dq4PxzxapFjGizxv0346wiZw?F*H zfc(!t{nx+!-#`B2KMc(O{`Y?j_&-3vhyjCOL4yYoCRAwfMZty-VL*KNf?`FB7cpkk zSpLxk#}^$zeiZ3~WJ!}JQKoEBa%D>wE?2T>A(Q4zn=EkV)VY&qPoFwfun0O-Xi=gn zkS0~Slxa{G16yb?FqLXmt5>mRz51X-2M!xDTo5~!Y+18s(WX_qmTgvZ_mC;UhX)VyW%-yb&ex=gbLLO??|&XOYP4zn`YfKpi0YVs{(t}f z0h~&Jt~MylzylFXP{9QmY|z06A&gMM2?^VvD**z`&;S8Ykc@^8K@3qu5h?o+vlA^d zO~n;iY*EG4U~J8`)O4%S#v5^*jW^eT>(MvmfDBSdseQQatj=qsayJZh}wDF@wTMzM+s3YAF|BKmkJy0UWS{0x7K1&O7nUQ_ns5 z?9y)_Qh746yBS|G_ zpd?XMs7dQ0qNvp^2;x0;&r`W#|+k|Gv}+1O*aevO;%X|9{_;^ zK%tFR+G(k+*4k^aeTxGS7F(7v2p*kO+;LZ|v^5%4(^TDcbM(<&QQ;L*AmK=T?$lKA zb%@nfpN!RC?*J|d%UiYN(mY<%yGdbT8SaVLqtdib;)x|*K?RF3zF6ZIXn??5#+rRL z+mT5w+2oT^PWj|*yZsm|aLJ8XW=hYsl--+g-qcf1g#$I-pO34z$b5-rXy1MRP1>Sa zy(75bTn}~$%&8l$+RU6DrjO#Sx3(CmjKNlcV~<@f+uH{`pi||w*>2nIx8aT(t_?hB z*=z$KaFkKYQk>cEzd17(#u;-iJZDbb2YSn7orwz}%9(d1fnrd*hT?7Iy>TWz^%uif_BanBt>y6rYQZxi`$6!76^Molxp zWi(v*n-lMm@#l*Z`bf!%<`+B6lVEQh^VY0pX^;oj$> zb};afPCevfnE8@&KJ<<7YZ?n1##WF*6{@fWG}xcZ-WR|7&5(vQwBZe-mA@B$tbYLX zp=gX(v*e+RfJMYn^L~`TpE+)U4RoNA^aVi)MoDuNwEo})RRT4Gg|CAiEFad2RV)&Y z@q{Kc;|f>U!X37cjaTss4&fL_InI%eg-HzTP_Vbl{E&|=5+D(c7|7fp@m)%cR}%~3 z#3x1vf|r{j6*qT9EMhQp8N^S*x+p#`iV1{c^kfNF&?eZuv5uuQ|jZj+nclwSvWw=50BAeQ3#qb<>?GeY)EmxtsfHLJGn%TKW*NbTMujevp=f-8{#44w6>mre5a}62}LGV&Q?eM>$ex@A zbf8+}Da8(Y#xn*LJ!V5{Q}LQtz3$a67J{l&`&iYhrcyZ zR)LWfnHv0FuhP2K__Q^3B7AGbR#-+1qLb#Qm9?iwowBj3-5y=9AP+e0HWUFfO%zh&g7-Hmg{XVViy=+MmCndvhoP6 zWQttxrRSzy^zVP28C}l?m??3s?r061U=Fyf!4mfIkAa*!3cKvW7|!r4H_YKc7S?&} z{V;Ogt4I+Kx1}YHtbJ>xVl94eSIQJ$e_wpHozfVtq5Wx&R|tb0FSvbo4f31e9A}gH z^QA#^1TJ&4oKc->RriU`-m>%X1iR-V_F1=nrk8J}ENDW{)6gcy zCuR4kXy*P3%$gM_fF->Y8=D!^m_~34Hy!Oxi<;UfAT^uY=Yg=Sn%mv>_JcCu0hhtR z$j3vnZ2>9k!ZG=PwhkJgdkJ4b3zwzzEU|GbIM!nZJHL!xrlYSWW*H~DDU@#Z!K1AL z7`RN^-*))JAr6>ukK4$2Mz6YOom&LDn@G4$q^{-5>t0{^*Y{2CaxvTJ@i`jV1g|l( zEq(9;KfBWk$2R*w5dLwU@0{my0fEcL6>E$ukKOF8wXLHJ@+gY@vG>Muiuc`bne6x9 z00(fSlWlOBUs~E-ulCo$J_DEKyys;%``It>^N&r+;x*Ir(3eMRjyvbpfd)Cf3vFe5 zqd3u9J}XWE4n~1L%;id1HbS>P^G+|`>tJ_$9&ZjivZI~ymG`#Vz4gi;RyEylFW_tX zJa@YL7Ntrjv13P0rKg*m-@2mumjfST!WaJK)J;5^yUutN&|vJA_x+CFdeOsMXr>Q2zf!-n)!(=E8cccBSuT66VO`RPKXc4)e_$2nKGZAVedNtHdEl>~ z{oxh9vce^F{^T=Hk zATR={?F4qO_uB6QF)+2>FIh5!^X3m{iY}|>&ZJ63-llBnB%;bjZtpmU`uc5jhAs9C z@O-$B%(QL+t;+#HO#*q42hR`vEHDFwa0ruX0}F-tXvW+w?gK%v{_c~1%dyv|Ga9Pxk2;J}vQ^^S71PMz+{+N*d zMoRQZko1&pxPr;hBrD6VaEmSrtyC`XuI>xL(9*z94ADpj(GU&OumXWF2;uM&F;R}> zP(x_`U~p{f4%tQdIBpM{uMbhM-g=D%w+Gn#&iZ07_6l&!Xphp)%n=m|5~FPrby3tP z@Y5*p7b($O+AtG|u^8)T6Ema}-R=`X@lryt$@CBk8OZteuj%M35C>7}Y$~$`(7(L! z0B_J1844G7u^f331%QzP*RT?mWf+a|9pRC7kTF2$(A<>p+?p{Io$v|qPYO@5Nm5T0 zD~R=4(aT)S>a?%36w&)es}aSK)1a*k%g-DgZyl4x9pf=0H8N%95kTsZw$82d^08e& zuicz%1U;_wO!2F%k+`r?-}+8h3~?q)2Nn%b5fhNv9xj4~}f^D{v+G(~eXNwYLf^E6R2HB~b;*YYd; z;w}9nF69z7n`5%Z?W)BFIy6_ zR8bIl^98r?AhU1qwy!W15HW4BCz&%1d+|Bb@dT(dL#|UUvePTJ^FL*DMrpK0ZS+QQ zG)HxGM|reIebh$-v?vMGEnP+#6*N!*C}_^h+BPMNw2Tp;J0#H9E%>K+M!FB2`Vp(@}Y~SAF$Yfi+l# zby$hDSdH~qkyThBHBI%xK>0&9@31zPG$l=O*Pw4N`_BqlQA%AA@NCjU32GK|67jaQ zOUaK_A@D@Q6f$SEU8j>w+c7WlX9K)5S?%>+@ikxdbzk|lU;Xu8iPbyjl~O+jT8~s` zcw`?@@gGw)z^gD#`d?x>N(sE{xIukhpokR~$;A;Faf3lo%% zQ$!t+3>$ATL)P&|HdZUsWZ{)DP*yGIMpxgI0>CzG#dd7TwrtJzY|%Dt)pl*!wr$<^ zZQ(X<<#ulAwr=hAZt*s6^>%Ohwr~CRZvi)O+4fDlQv=e5NDDTkobc%U>^6Tk@AlIF z@(BQab5zx;LkIIznU-9)6ly_sYSYzKQ`B8aw{)Y^1XR=#>7r}9^J@k7bzwJlWp{RI zw{~s!c5yd%b$54lmvAM(aN9C2oYgT5)`%DsQ|nS1@5N!`31Y9OLc!`n`!ZBDbX1!Q zX^As+I94Z9^&wXkbiYnrMHg00w|q$#bx{{9>CE_kQs= zfAx2N`8Rjl^mpO+E{3-;ir4d`wP*Q|d3`B2pLF`Pj9bxaLoe4RWf4TV*JC4cIl-4| zMVDR8w_VkjKic;!-Zy^Pw0}`Jg;jWkS-6E=_=Q{ee@j?^E43MUwsDmgp77FIQ4tXN z5>zMGk_u6RDL8v;kjAvmX~j@6H@MoWb~3H@gWq+1HDrX%VooIBgkgA#xwwnH_=~|f zjAM8LB)~#wIB^N+fN_{%?{ePqGGbG)3Xf}BHPj%l7jrkZ`^Gi2JQf$dw22?n7dx0_ zrMQqM6LlpMeNRA~*fFfQEU;LM#s0XGE%}l$Ig>Sclfjlv%Q&0tVt^T=faxz` z^KfAk_-A=If;?4nSuvR|_Gr5hOK~zB``BEi7LWybWDU8ODU*>GIhfOzimTWz5<`B; zwgQxSnVGqno%xxeIhv(;nyI;(t@)aXGu3CC6lm$I6NX_J#z79G&y_Q@Xm^F5VIdAyu2d6JX*HL7 zl^6#-Hy3vhkj0mmeVKG0xiKPnERLCy#g?5xI;2HGrvw{{J~!=NO2i&h>o71q>RY?^vNB&4M`>gTGgo2ib$8 z_@Zf*m|4^=JU|0HngW!0Bfa{o+d`SgmQ4*elxx^F?D@m&vIOt$jsH;ZiJcmk zClaayIjRYns>>IVg*mhv8GT2)v`zc8M?0gn7OS;-0>-wh!8*2Odo09SY{}XK%o>g7 za&e!~aq}5+<5-|kg0Afvul2el_}Z`KfLlk$aueD;3j44VdnXqA9~v7c9y_x0*ar9b z#ya<7&sDQS?TJ0xkb(LByiq&7(_6KPd804DLOi+xW_!Nr`vNM!wkP1!g!imJ&y)>| zAK93#cbKO=RrM|*8u~iHuK^tJ0lEA7uc?>0hj?l#0kXe=2Y4d6&B3uD`x@FISSDc= zT!9@HnlKxhTpxM?nOL(c`c*r-yw6v(MZ1v~*^yOuZaN^o>wCw+`o6;!rh~UFW*RGM z+8Il-kZ@Y9sa1g&sZ%5O1rA)n`lFAI`NrzX2EJj45X!?C-=KYUC=e8e+1 zOKrJapIVp68^%i)w9k9S8=1YS*u6P`16(_7<(tR(d?S6llkdDPhWsjM;CPd~y%1@7 z+L|RB_}7FQB|84W8l*hIyWt*Q!pZ^rvaI*HtA@)ld?z$~DE2@UhT)(UvOcog96rmk zZ&`zL8GPG(s@+^x0D>mA>( zLf^Go&;I{?=QA-96@I{*dLJ=5O8R;nlryTjzOx?&0vyF95fJKJ!o# zpLhCNb<=@g**x+98u~gM;$R!~AQcjOCNNzv&&1Q2BGf-A6TTb)!QQ)(GomHZ<#&0I z(f-ZXp0w?K^i8`2M%(mJ-vm-0^-I9*s{-yXK&_Jz>y@m{8jbXxg7zMPkpu~l0i z-DyN;@C!cho=_EfL^b6G3*S_sl#mU3r{Yqy zYuo0L^4U(s3bj<3`LwqpuH3nF>)O357sU#_eE0fA0XVSW!GsGNHhcm_;>C&^pLh&8 zvgFB>D_1rF8MEdSn>CyG3_7&v(WFJwFn~I>>eZ}UgSY@Yw(QxoK~T6&p#tsx-MoAI z{tZ01@ZrRZ8$XUbx$@=An>&9FJ-YPi)T>*+j(v9p+!S6T2hlpbc-1sy$cS-1J^J7}Vgf6^r zVTKrPs3Acfet1wq-P{A>KrPs`kV67NEYH-c#TP>U45PT7hroG z#%7y`F$Sk&j#)-$opy4DXJ>hq#%G_Uoi<*ef(}Y(p$2$&oNc%1mR@fb zX{DB4ifN{qZg(4^#(`&OpfuD+YN_t=w_mFL707C<1Rm($g0ePPVXd}Sc%g$Ga>!wc zzW!>EKn)c{?64T=;Y>p2fb`;yH6^r=NGM4}tvevGkOwo=O0-QpI)!9YJfuiO4oE=> z)uT*Qsu1K*RVDS_JaxD zN_N?~^4g(582-xkhr_;2EDOXUt1Po3Wh4@ca!4zRzSmeAQnr3~D-yd2iA%1zTcyjx zy6p<}ZoE?+Y%jik->a6t`UX63Tm@5}@WLxOOmM_9;e}@E8n3>woF9t}`<*4{$yv&_ zm$vd}F7FO=%{1S9bIwo?PduSK6X!FdN-xiR^UgmHee}{Z&-C%bJzaciqpC-B_ugNP zDt}#%?{(N=myN#JXrtYB`w+)Vtgyuvq&G&-CIrhrr*yPUJt6I(t!wPU6--IUH{y`D zgv`Py!*GYQ7#EapwQETKl2;y{k&tlwBNfTGi48_E{)~D(Wf)P}$-lM{3s*#pEb$P^ z3VO7Qu{>oV7bFW@m1&0+i%aU(gfZ3$@lCFCUF?oHnb|4vc1#RS?p`Lm>>bK! zxKZBpu874fYH^EP>|)ZY=QJsjXFcv|&-cz~AFPEhYvgNVfMx|p2aPR#bd1oh?x?o* zvF&}=u!o7}=aBlj;C|Q0-~PzrKNbKmApQ zA{51lOk`S5ILY&(GoJ~~Xi9UM)CA*ql4$_`sa*|xYGk7uzxg#dp0AGN+>ox;mo`1N zEm(joRtp@`ta#ebS(WU_z3AzZ`teAH_xRQ&R8lUTR017ILDyKWF^{R(#3>b7*Hn7s zH)@%~OOfm2T6)A1x$uK@E6CSG=MoA7;^RxDU|1YHC!=%7p)a3M7GLwtMg%mj0oCo5*kcn4IO)$C?AD*^C~id5i{V5v-PDpRAFy=4ZcnbfSRRj-QGtZEfI z)=U&OwTYi@if>ilbfY+BRnD}Y^Nzhzr#j&VH;lm3e$5IA-tgI@d*U;a3fbE}_vKH3 znrom1Rly_`EpUmyOEBqjU+Wk4CxzJ(P4MCw*Z` zNvD^V-sGh*wZ}|n%1b!mbhb*|lTU5;M4-ZKX1+_RZ;#4UqdIlCP{pQkjYq}XY<0QJ zZLV{ldsW;>6*$8|7z=Q#La93yP zvlDfbmbQLG&(XRgC<|?&P;{~`h(`7%?y4ZVI+C!dti^>MWy=a`c#U^F46!IpNV(|p zzSF&MEE(+~E`bQd*RHOnv3-nUW}8!C3iC6yyX{YR8`Rzo)wjhZ-gJNCGwAAg$2{(_ zkAo)NFedZ5*cGc9wZ>g=e*TwM3JR}y(b-n>p0`BoOt0Lo{37>C%&z#HZ+-uF-nnTvEHE3KQ)C_O9!ynGvQG2!2Mn*MvRo!G()6vx#g7rFO z9k+|rTAsNs`L4xG&u1^>*8vnZvGZZ9by#j6<1u5Uw zVYsg`Zn>13mU+IHy4me+c*~nGBsR3Y?+r3VFHzt79! z(0KlZQ9}nLbm71Q83Tc~CxKa4fxCBsqLG2V7k0u2TuU`@W=C)%z*K~2h$L``hByL? zxQNB4Gb1<~$)|#oNQsqbf-HDFF8G46f*=?-gS8@fc+`D1C_m{HSMs!jKB$T*_Ywy+ zglJZTiiLAjk$y?|BuwZOPH2B>p*K?KC2^q^j8hj_xNSg3QeGHgox@ptQHBk8hO3o^ zYe*Pv7zb|{hipQ7y+ns~co}yH8hDt87|4ek_&eq3hk+=FWtWJE$c~EWjw9fRA$VMn zC>xS!iT8+)`3P#5$V@IMR(iLItP+D_^NFCyedZ-)qzHcMC4RTYgSfVeV4`P_H~x#j zc4o1-75~IgHXsxYCX3LfdBQk_Sg00SXi;>b2b_RPH)MJ%AUX*{7o&9!dx37MqgwSa z2`Uk94mcQd$c=VFf%z7WUMG$k*oWrmfn=ACg-CqZM31pykNPN;Q%RLu#g9|vkJ=TG z0@;b!SCAAEirhzvhSyGVlXwmZk*ml85_t^)g-`IuazYqE>!Oj2#gQuDk#HH3^XH4t z_E8UJj9jRa39*3x_m?h-Fr_6IGD(wbm?o)}5ICumJQ)~1d1yb`jY4UGdH8iLBUJyE zl)tr<#3hfVi5gD{8;W8@RmqyI>6*^ODX4h?)s;OoU~vQal@k({dZjC4VaK^K@l6j}k~4tueT zdm#ykB^VF}4}hVD`(haHV-5)6bdAw5R=16q85u#jVw-t^of&CId5%gsnoUKBOSO*f zh=`1+pbH9*PMKV*`I-?bp%c11u_8q;TDq%9HL+snrC%DXVmhXS zOSpy0h{K9p-_fxl%eal}xUn&^bvI<5c(M{=t=RfUrkI1{_mD8FmNbi;HY>U~D-k-& zvl8L6Kr6H=K(vH;wE2*yQAZZ&V74pO zo@u+bZ5tSHdk=C;E$>jb4Qs0pyNCS-ngRN&e>+@(+m40{zTtbg8XJNf`!kMmys=RS z8znU9>s%Oc39Aqb>u>|Xu?PE*4><6+`>SJ-8-1mwWRzREAS#O3s<~&$r=AbZmOC3=stuh9!CuK?^GJm$+*e+j)hVs%>m}d0_})gy~wpi;NO+ z4mQxdsXC3|3Z+(OV$++S-pFDPYfKRMTn82i_Jo@5%#hU z4#O6GvxQWV64b)A9CZnzM-h||F(I6tb-@=^nr|c$$`x(6A}|6NjnPT0c4+D-uAIuh z95f&e%d$+%whSD&tjmtl%OY(Z!92{xEYq@a%>9_mm8+X&jJXF~Yn+QWCOXYBTg`8r z%|)#O+e|Io(9Kc^&V59MRe_A2x`>}_(S424i>T2JD#~a_%E93Wr7+8h zt=Pd34m$uGBz*y@%*vF)2Xk=6u>slEfdO-114Uy9%FqjNZ~-Df8=KwPvZ2zuyc~x7|#d~ zvQ^Nt8rOK+b$T1bc3rWYjIoK>*M-Z`fl}DOaoDY`*p2ua*|3q>)lu6- z^Vzvg+Osj?v60%%!P*9%*smSivke;={v5ZR+q*5(y-i)3_$t^p+{;{pJB`MAs>X}Q zgUkJvGkZx!4c*e657a$#){WiTEeHO`7Tx{b;jQF)0iLNt-cO6LgMr@aJs9l$d^$w38^6Gs&EX!01I-S3hIE; zz5&^iT`8>n%9yR-*g*)+AmT&A+AF;qg?{L;vEj^-2zZ_f$`A~@AnEu38ctWS4u~JS|r~-KRLdSIuqIvmR}IY3oXk>r5Vdk4c$rqOe$Z zo)ZxVK*__Fe7(BLtNJa`6OHDAtLEYR*BLGCfh_{np3&8g?b)8~Y`!yZ{u_P}=W|}? zcP{68p5TG*=ad5Ivk~Fc;ps$^=%X$h@2=swEbqt>>3B}*mX7C`egT@!>99fX&jIS9 zPU^*M{_2{B>SEz7F9nA?0>#S&;4NTOuUewiT>s0uQxE|iRE@%zd>xdzx+IV}x zo-lM$-&h)s_+8f!Et<=2pw0fteEsa=OYPG>?bfdCJud>>-sT;xxaV6Og?{40(dRBL zDVZ?nf*$BEjSP(*G^{Q4s2%mQ@#xT@%2mG`xXkqj5BA29@Cvu^)Johsosc&8%nj-4 zFFWzXspA)q@w2}1zUc9HFKE0z@+1#|ISd&zfC6;u}#G=K9I z9ql;}^seFU!(sHIO&m$j;7i~15Z?LK;q^sB^}P}LRa1q| zpPLQe%y-J_BB$JM5BIWu&2ulhbw7n2fA_VN_dyh5dmp9s+4qqF_<|2_3Y{61Y~TBa z-{c7Mekjot{rG;Z^BW!XmNwwTarwMK1Ds78njakH|KRH18|8o6y`joae*q-T{=2c+ zmJJ-0JqK97`m~|{zX1>!=GeGU(BMIY2`|tXsBlrRb_xq3LKg8L#dA0=@R>75;=+a> z4{Cxa(jY~P2nB}x$nb{AgA6^wq*>GEO`JJ(?&R6i=TD$Pg$^xPfdT~(JV6*>+SKV& zs8MOWpjy@H)fXDRGQ$c}x&_HEp`b?@FC>e}yX;pCh!al80&;>nMjVBXyMbLi2dmoP!ydUfpA zOKj)9okWT6;lYn5Q67AG^y$^BAA!F8dlK(Q$e&-|{(b!U_171{e?)%({}Tbg0Sh$n zKm3c6(IkO5+-XCHN|FdAgfP-*#}s`uiKLW7A~KSsGMiM(B>PjrL z)N)HMyY%u)iHt%@DF@4x3M(|XqRJ~a!TQQ9IN@AtPPW#X>rT4*(sNHe2lKNq!vbq; zP(mA{Y%)YE>uga*8y)S@(pr;rQc7oo%~INIn~gV4JJroM;Dj?yIZ~H1RXS8tg-*Nd zvg?k!@4O>#*6`M|_15y>(>1>M_Ve{uVE+>~Kw=X#*4PEjRCZZrn}rHOog}1y!kjF` zFrhq_31(YZ;&Ac95Q7;}Ax$vMc3WTOxnK`cwhiVTjSRxT5@p;)M-GQ*ImTTfU!>Pv zc;YRH4^H+C#us>KM2HVj_+94)LY6Uj+i-R$Xpe^7eRw1c{wJxo;)d%%=#XSGQs~@m zcTu;Xh$p_*pqBZq_yUaP$T*mAygdlzV7i5gNrhg#AZB-G)G!3RvNv(|cRuDka70x_Y@X(?wNoGMMU(@v93uDFWx?Ksf_i%zuQvOCW_?W&7U zzWM(1??M9?+_6LpSF};Y9R&^2(?YBCamX>1JX23?+k+Y4yt$|HPK&b*Inb3;b@b7x zV~$npwyW+{S!EUP_48`Ql|5c}wLMtefhBg>VFwg2*|HfF8z*V0#mU+X5#m|tf`l$e z#1+le_F#3{br;@)=B;8nE)wfv6|g1XUg**^F9K!gb0mj2fV=1lBTofHBEfvqZu-$ zR*VF^um!mWjkOu=K&+0^zzw6RTwZh~74%R;xfwB;>v!JAzA_QO6EMu>t5 z)ZmP0D8m`fGLuPM6Bos}(l|~uk)xt&XfwG@)y7ko%iQKT*SS)aigaTvU8_*Xx>vzY zjpUgfu54GkUgb`X`RUJmc6Y}D0gr`y!m4tQIDAU!j-VFm?5-9N=_sr80Vl7Nz#!FPObw7 zm4FEUFcA!SD8v%TAm%CdHLhgRA{K-kn){SV3ubn37s>F2DpWzv4;m7Yiew}^BiW>- zfh(Qx+<_tL#Y=wF>w})?g(_%i%V6MgA|4c&D2a&*WHb$h8|7$6J^E3Fs4zl(dgtxhYoQxAIxM40O3FLwFc5RZ6M!WrgJJ9T1DH3LPUR#B*?c@0sqNVzX2wQ`;d zqp9>T3Rk$|A95gLRZ(X~)paLUwEp618@&q0H`XVPb0n)Bd56birB$tKMUWmz`bV1t zvRZ>gh&~g!$VP(edE#1;Bq?djOm4E1pFD^tNoh)rB1Dz@YUL|qIm=pJGNQTMWiNjj z%nJ+?p~gg}JD1taXRaff)2yZ>v6%{Oaub*b`DQp1GR|_Ivw-_j<~k2D(0Ed0p7p%v zGzDf?eiE>+0F5Pxa9hxW_EMn&W2i$TdrPTRbYHy0XktNnUF>F8yIK-yv`Fd{lfDV1 zHpF2|>*mtC>@BA2t*M`I`d-5AG*LdK?@y!1xS{6Ps8>X)QvK_x&;|IZQJrd4NoP7U zCK!!fW$;(q7}naARl@eU{^MEMdSMJ7$gSVy@E+k>6S*Fbt_E=?0S&p@3pf&z2_Z?k zggJ_BvEwBeAj#AyV%#J&K!LTB> z8qMS2^+1?DW1VpR?kZd?0%aIklm0MGLVOeC9YoHBtVq06%-2Yc*$*(z@{DU7uN$MX zAUTG|j`bQ)9~T73LMAebb%|spCxglIp2L&xEah@n`CZ`(_?El;Wq)2k%qzP<9?E>? zH3tcx6bXi#!>o)rFT=#$76}A9^zMjXfX{vg^qD;rZ;=x^x`$@C9u)m(n8#e^9*s2d zCS7T)$nerM%yit&vT3-S_tSX`HB8$JC{v$$aPp;$tDO$iNYPrT{Kd5vb$xYSgYMT` zKb?YIHS7knQFdQ#Pp-fU)@IMKj%Q`NwAH%dNymLz)rQHnZIW$+d~;kcPVBe$ju4Vu zxge78Esp-ip#zb72$Wm?Af7+Y@Czv77$z%3Gprl=WBh%hhnM(4NVY(OknCk7*|(it zt8isBz98RhJnQ{UT!VzXgQd?bj9aAlgN*y~EWUF<^DKMb@7+U?m%NQBn)rdwT=~mq z{s?Oh$eZ_^EGore&^?V_^%lKvM>ln;l`c4@&-ZXnPaM=|Ek&tUit6jXdi%33I<5oT z>#3vvcwEZ^tqBCa*y}xt zp#Hsa(<=q!J9QhbpaHqw3%-CNzR5$k#M(ehz}|RWtbU4V1~=nJr{I5 zP@E`}kvxDhDB|)1KJTKF$2P_DZnVKAfycY|G#goNkm>E5Ty@HTEL-W1b zgG4ZcK-hC68{7yw*auS(G9C*?L)%1rdqQfgMr*u@CL2#BJ)GPG<+OeV?Q=*L#28@Q}MMpEF(GuyVk+KvCF^x`@^#O zzi2B&wmQV%p*xeXyPCkeVf3d+OrA-Mq)ME?3&2E8mY?4;wpI2;=SX9CNS+`)Y#oEI~{o%!A?8PEEK4E-BiY!JuJ4PY&MLt-@W=x4^ z1j=Y+hH1P;shrBG%tmXwxiz`8odZWX`8hhV8!RNc>@&w8^1^jAqIPVxcZA0?e3W@q z!}ZG|eDp7-(no&m$5fd^1Fok@(L|jb%GjT|ffJmB< zNR{LlcacN~1UDkQ!4I+!O>_pzESgUg#!&1alX-~G+!ok#rj(fn8VR|X^pJ6x$$LvO zp-jnA05iPnNnixZ4V=u+B+76x%HQj~d1(c7*%zjKH_}8xli|#dq)OmRVBcshxC`MGo%@Na09OTUu0~g<HByYfICRNA$F!OHohu zY)`v{L-<^k`CA><*{b>+$otGsU6~L5+fV#B%mNV*0KHRb6VL%+NXA@D$NUJ$gbB$6 zv|369Lp@ZTxya1?MUCW4i?I-2I8;eh2gHjY<$TeRG_;4{BuO>Y5tKJOXvR}w)Fu(p z*u>0(;HGwqLCi`~f6C1vv{5!|JfTs^LhaNPdtRrP@}Sm+0W@VKTlzUGur3nfxy zP1cSw(#Nz;aHKw<%b}sm!X_=tbSyRSlv2eQ&ns=Bc>e5CdR)USlFKmVoG~ra13OcI zyu;YZL$4Cdf|OHV3B!uK6REqm54w!i9zj|PBqj-z06O2BviFTfpOFyjnsgp z)F2#5Or2E?{hxqMg@VO^P^B1kb4^r@rBnS>RYg4wbXA0aRbTW;iFG_%t=L>O#)p+v zf&0~9bw=fc#^Y01WzAWgJt1ZVRA=SNB$d{%WYTKg3v~QWZ5@>H9K&wijBhK9Qi#fzeNaj~ z2!w?hV;vgH3(}9^v4~x{yTu7TXqVEwvu^^Z{vEUjx=n~pWU@)n$&_pt#nrY<+}K#< z)szj&xJ@#g@VHP6xx+23aE_h#a`_V;snuC z?=9l*Wm_a>3h_+{^8E;jG+1{)UxKY$&1B!1QNq)M2@etA3+>TDK+v1uNQ()%bfetS z>)3F)2d3d$gGDi$oEjFLI2Uyul89mj-c^+CVqvY>(lwc3YPSmxWI+as3})gleh&G>D(0n6=VjB`DMKn(Q z9m_|)U8KuaN#@q^tK=-bU#6>pfdne&r-a z;w4t+Sr#$jGAJ`Uh!UWY^tH3~#amvSgi%UC7kHp0{97NLH)=Wv8Bhp4_y=uE2F|01 z63j_^YZw%BP?}7KW^m(^EVIQ^&Bg0Uo32zJ6-|vkvkU0xC0XEiJL-U1JU#d&2=3!} zsf2zipL{rHum0+yIEsosh;{xh7>J8`w%tgUWK}ESD%EG-HA7kRXG{5Kdlcvx?qo3{ zQyN}gz6{8)#X}vA-u^ypXzHcYh)!$->0ZV*;t=58$Bt~tp6tgK0T_toXu0SE&FF{Y zXpf#^jI`TE&D#qg>0K~sloq@$HZ+!2n3qn7n4amHMuwZ-!JIBKgDqH+@oAu@++!j! zZ7J%@B|)U_QKjx|gK+AOgX%n!>R6&`t6puaE(onAAU^17u+Hv5PG_>7w6mV)5NT*EZ#0Ri0B;R_w%XZ2xv_$_{YJ9)ZiA z=(QbdgJ@!jc;XANs6^rijAFPTQ^g#E1(pn#kY*Xurm=&0aC2g6yJe(al4+GT?mzpV zUgC#Upgmy<{<2+|s(sKFbkY`e;D>)eJk>-fZLuz%9;W|Q2vOQ6P9P^Y?#YM=h8n+d z)RdgFm&st%V&N5U0F+Sy4K|O&g(Iq;p7cvVH;(@F6FUhXtB!g`#@~8?w{hv7niJ1* z6=(6xa&Z`!@d83}8^>{N(eY8$<=o4dTug`{PoyEoZDcN48sGILSLr5y@+dFLxosz1 zzi}-7@1;fB^3l!QU<7kiA9D&eb8$a&v0fn#TXXB{v^EFtCynzFCSiP5OY>G?^#Gng zVZWAIFlF!dCTRGUZ*@iJHGSTN=0i7CbpJ3b|8#W4j&$#xbOS$dx25HT6Q7>JAc`9o z)r7qVBz2q>xl14?dl7Xba~IB&-|~?k^hpSU@%V$`Ad5N}&ea12<(`k^=?mZ{XhsO} zK^Xq&NlizWBn!qamUsvHr)lqbm-mApTg^PkkyrO}dFgm}0ibc8dSylPf+%Z};(!?F zPNYRTIgfYq#teGb^Qf)I_3rcCkl}sry7{a>H8u3XMs$ML?}JD9h*o&W&U*ph`^i=T z4ybhg;<@yQ%=8NodWt6}i;r&g6>VO2K@5QUkCzA^4~CKF;}2RNcRBfmId*hm`SW@C zn6J2*Z|0i+^^eGT4oY@}XnA}C`Vu$%r^aKWM>3?3`gvITZC|-1e|(jfdaD0@A+`Do z!1_MY`f5d5Id5x9mUp8x*$AJvzIP8cKB1n-YF@6krfn>syE-z@D^KvH5nl}D# z;>@XYC(oWfe*!&OfdT~(I6)Xls&pySrcNKgXu(1%RTfsSV$G^`D_5*4u6_;6BCHCs zWzV8bt9C8hvn$-Hcq=#V3b}Rf;?1jfFJHVUR{RYNcrc2>fD0o|tavfw#)(fLhAbI{ z;?KX-=uHqrD+IMtL=Tm;&_O}P)KW(*)%1}}9VIAHN(2@-Q~pI4nG~T- z6V^nMNv&3 zS)`G1Avu?leKFajlY~Jjm}65?S!H39VM!Tfo^jcwm!w%XnwX`zR;HP+r8b+Iw#Am4 zo4&#M+i$_mX`G$R1-G1@&0W{0pVx60sCV9}SE!+fA{t(N@G&Z%qxRJpsic!q>J)!A z`9}eOFLK(crx;=2Nig?(TB@n1qME9ztFpRkjF;AgRHZbw@PbxB;(Da6yC&J|l1~B~ ztdvn6W~H&mW|{1l%QCCkn9rUWZM3kNreL4?8nD13g*xiM2P2%Y!V5Fp@ID9fwbzsOJJY`olWnRb z$ee>i*=w`iw%c#R4RL>8H>Cj#KH`0`-awX>@y36D9C*ki6P_2!QL>zPV=iN9*_JXx z?ySu=<6JqK*7BUKZrXA#T(?5wDX!>9lRjN`&ZWCF)T^`p-d@#J&j+8@_O_q_-Asl3 z(%5kG4%FFc_a40P!xLZpPI6;<`%-r2&Er>AVa)g6fWs9y$b}bvxb}*3580J3gAa4$ zk%JcI`dZ4ZI5B0nM&+cBeQyu|tmphm2&Ugys zNFh+6ievNw4hx(h1uJMlhaoRk1xyMG?iRi2QO{$(@)h>7cNgsuhI=af9^)Q2z89L0 zW};Ew`qH$s_Pr^7K%1X&kdvp;-4B1HJDt+D!?gY(5mEnpT>zWt#CWaX1RFHK0Z)>^ z3ofvM4~!rdyXeI)f-yxI^w$(SxVMb?4TQVu*a-gZ;>Hq=423D1;|h@#neaW%g)oen z49PS@8sdz7nZwO)HU~c*eye_Z3Zf8?rawX@F_P$!8WUmn#7oW&1W}wKCudbflUy;3 z!COQyg0TyHh%%L`TqP?NGDfjYQ2;csRr8{EF*SnFdcT6B3FTPF?%}aw z-b`nLbf4yaro%ePFOl>c9iJNM$RZX|lG;qq5*;NwOw!8)G!VcPKPi$>wvuh6G$kt2 z>CSh;lX$PxT`XsrH(Qz|jkq+DF0UstUII&w#VXb>TNcb<4wIP1{39|eCrE7dEQg2G z79zo=Na$FzbdNORHakk5ZdwwY;T&ftOa3Y;b9Mxs@oX3$KD5%8!ZfA_n6(e~CEN^@3+u!z1u%PTD1ZWTgvly12)kEw*6U!u^ zZjX+PHE0VX+bpF{*0R&GA?BEw{zF4f)w4eYEh9zSC(?qaw5HW2CB?eh_o9FXwJqmS z{sY|m;y1tgohearI}uq;vAD9Q;{{-xqMly%BD-D>gLh9NzJZyo%+ybI&+6X z1Km|Yt5x$R4RzS$=z2ZsUaP(Ll4wnVd~fSw{PqNNcEU5rc@PeEc z>A<^G@PdPyLg_kqF^)B=9wqD<>_Us76~1g{BN|mXfmg#-ul#c*ICCY<*|=}tX!TF`MD=FGLnQ}>h zzk0^2Nfn@h7Qi3|F3_hMciP6m1-dWL4Qhi8&6p)COMHp`427l4Xh$y-!-brxq&@55 ztXlfKBUbOGCD~pwll9Y0Y%NfG%YE*2Yhc}~ z9yt|R4X}BmJmo6yV!i)+TLnCT10#UJ3}|5Uo8vs^I^Q|Zd+zg}13lm=WMy9e@au>(Hvf=3nE=lo&?AU^SmUp(U*@A$_E zJmo8I`O9NI^P1m0=R5ED&x1bnq8~l!OK*C~zqs!L`TO8o@A}sVsPOJS{ON0N``hC_ z_qyLb?|bk2-vi(Ddmp~)FTi@(BR~1dcZux%KK$oHKl;+2KJ}|_{p({t`(7*l@t5!Y z?=QdktJgmH%WwYkqd)!XUqAcL&wcxXKmPKUzxa*c{`=!U|N7rQ|NHNLug_lq3Lxy& zAAtGa0sbOj0xIAFGGGIe-21iK07~ElhFt+V;00n}25R62a$wg$;K@;72#O%ASzrg6 z;0dB&3aa1=O3Vk2;0wZ_os}R9(qIkR;0@y7*SKH|@?a0**9_)h5DMWC5@8YA)(-k$ z5-MR|0ih8(;S)k(6s8{%E@2f~p*uC96l&oXa$y%{AQfI=7>eN+WuX_E;TfV~8sZiJ zj$s?RAqAD88p`1u(qSEz6d1l?9_nG-^jE~#;U5BGAhIAH?qMMsBE!U?AS&V_GNKw1 z;vqs}B(h2(Hew}O;w6&bBTC{Xa$=`YA|`@jD2ieSYGNmv;whfUCywGOvSKUhARD4$ z{w&HOP^h9S+TtzZV)m8dEb?M63Pm5zO)d)KFcM?Q^#}aW7|8SbJrdgCc#<2H)pI6h-He&abxVmOlHIGVc%LsBFRI%Gs* zWJcEDL{?-+Qs6~uWJro+s&S-8nq&Ziv?5ZqNP7-Wm&Q%j-6#%!ev~-*jTn@U9Q|)%4J?^<67EfU)~p9 z>SbVtC13hwVe%GW3T9&FB4HY4W9k)RDrRK*Bx5>eWv&!tN@iw;B4t`;XQmToYG!C= zC0%-EY5pZsYLIBECOdMbX}TsEq9z%w=4|R^Yrf`fS`cW`=5ETNZQ|x{Dv)mS=5Vqm zX#(eQ!jo_k=W=SHZzAV&@}Z0bBXd&cWEv-QVy7r6XLWMt5ISdef@i~QXLpjPEq-Ts zq9?+PXL+*c3Z7?r!e^_jXM57;CBA2T;wRz7CM?~S0BAr5ctEKM=z#tbXn`8&fg)&v zD(HeTXoEWFgF0O2Slp!+-au<>RW0mr;;i|erl-t-~OnkYMh>>0Du6hzUo45 z00`76-MDJ4mT9ccDzB<4t^(ww0&B7AsdP4F0R^eCE@YC@SCfJuvq~%TUFu+M(6UZz zK00el5^J_*t5^Q0x9X#o8Y;Ak>$!3SxOM=#!Xvp#s=2ajyb6R@b^xu)D>a^Jxnc@3 z-s`#2tG)JXGUn^M?yHjqthZXFm>#S((rE$h>cT>2!mcaCE@Q(Y;KNevaayGYG-}5B zA_v$G0b#7i;^xM7EXmFy$P#R<@GHvJs#Vsj%ktvDifXsYEUZ@Ra1l_<-fS$=Y^&OA z&-QB0?ic}iK$QxuDQ18NIBd`+t(98k(LSxxGVR4W{_WHjsZ|yq)>feb>gv^UEs1Jv z*m9!R^54jkZC{RU+D4+;N+Z0oEuOAz+!~_W>L1$DZCTE3-s+*=< zu1Ah;>cXJuo)qM=ZfUM=?24f4P9f~lu4T?{?oI@fqG*i*?}m1$kOqbA)(GnIu0ZZ? z@)Csa259g??}ZL8!0v?c{vX^jZ+0#(^K!uOYQP0ZK=_L9_>yn=n(z6dZ~Ch5`m%5P zy07_O0LKF8$yRUEVsG|FEYa?n$l|X^bZ?OUe((DV@BkBV0UPl9#&42(0R8HO^-3h} z_OD%TZ|?r5hnnvMU~mR&@CI{m2Yc`bgK!9o@CcJ|37>BTe=kosaDE_f1b^cM(=G~M za0%0J4cqVy<1h)IFp#Ej{aWq)y6|tpFzepx28eGCBXJTd@eGBj@oROF$n}uWX7j1Pk(35;Em# z00^XU20QX6gK{W~G9G7eBy(~DM=}1(8tf$xvi{N<|5EWLcQOW#axL5PEjMy0%Q7ne zuoSa$$-1(=!EzASs|3(8E+ca?E3+O?fCQW=FV}1!|FZ4|v&#*$3m5Y-FY`8Yvn^w= zGf%7^0@J>zpe>+?SIb3gm@KLd0? z3$#ANaRy`SbON$3m$PY}^Gl`kI;V;|!}B4^vo^Q!Kx1@9YxG8Q^gtIh1|M{?jyh0o-3?ZoW4x|bu$ih58q6cVzMQh3w=T|+uF$VW>POR`;l52zqBk-H|9C}!6?WAIuUPCn->vfIswO@;K|BdlrccNE=wJb=GLR`XHqcuv-Kwk038>K3-)9X3sTbu7q2JSfC@J9igN_lw9hZVQBN z7ovyyc4xa~RsSb({=cnYhqu~}_w1GTOt80l69jv=wtFu%e6zK6+jV{4G-t;fRZqZv zd-vIb_kUBQX`{m^P&Q+?LMpUEf)9j7xKvK`L50ACir)l7d`OC)I6=HOL8SPDa0Em| z_XWWCM8vm)3j{>O_!VBYgv%RMU%*vgcz>%herq^Ya=3@r_5~P1h>v(i3(%9uE0$yPA+PM7U!J?fp7;5m=XRizIH3bOqANOBGx`PifulqEf=fE3TRNs|I;XR=r#JXO zg!-rpM5+I}ET}rG8~Uq%`GPM5s;_me69lgBfUX;QuMqrPH?JwYTq*_(ajr}x@xz1zn+ z#mhbK*L~AJc;4@Q->)^i>-*dfe&HYf$SXeMJ3i#6{oPZ(?4QWxhyLha03USz=l;(> zS(pClr~c}*jq3x%1%U$z7BmRLKthEJ88&qI5Mo4$5!k#GojC!@B(<>eV5y_gTNY=Z7 ze)!25Xvoy7I07+Xk_GQV(O6qA5X!nkpjlbztX`NTOO{rFSY^Q(*h!Wff`?kE!y%Bb ztaUd8T7rwNEuvOREt)+l&<`i41Nj(TdI4`Nd|Wj}9cXyn-wRmLiN>6_px4QTW%yQVvIS+)j5GT#08KQ~Ok*%LxISbJLi1#t zQ6<_oat=4$lA8)R;RKqbxZ@Vw5rgHLqwyl>C~$A2_1Jq7$|x0LQY7q(WVuJ6Oq7D^NP{q7QJ~7kGOV`%A1f=X42xQmAiUTVu|dH4 z5{)l(IJ}?`Qvif)l)4%daI`}SGHg)1>LDnR)nR86rQb{vGa*|A;q^ph9WR+c(*=C)6wo5U6Dz+hEK|)i_ zLEYp5&W`3pt&qCFdQ%?l~Rb9+R zZP(QPQe70=H;tWm!$HRwGJJ6fPl zUnF?xe?whx;G&HtXlRth4#~#u90qBTVA_E!*F|v^2jTuLHCj^Rj$OtG*|GKBoA18; z{@Wv!uj|;@lwdYRW}0m_k)WJ+?%A!M8Pk))u>UO8tD~`2I$u7WCOB#ir!L59LX(CN z;6S^EI&-io1)T4)8gE$wX_XWyp0=xkI?03H% z=8rY}bKvU$2)VF*@L2`a&H+7=zzbktfemC71SOay3QlWyVSG{v1(HE1o)L{{RHN8J z*re#GgnIO`9$K`ghe)L(A2v7*)%ZY)8oKU$ue%&UbjUtLxzADXJ0c)CzCWljDIB zm$}sCE|Jv6D%FxGC%k|hA5+IW=5ddW^JDpLD9H2?a(!O2q$NG4NYGKPV2_j}Bq?b~ zqQN7Rn*<{3ocKCkc1e`7q2fhMiAq(n{_+N{ge90}IXE%i6DVZ7fEmx(Pk;UspfK?z z*?@Tx>iK~buP_CwZiWF+JuI1A@yb7dhE4Oi?U@59q%?cTv_y_`QhU0DEFfwSZ&K)c zR9oZ_%c-h>UMZciS*JxNag1>wEDy^FhA&v*3oUx7p3ozlKKc1lqaGEhMjhy|3Tl#r zCUl_!Y3M_Ncr^Y{baEH9=q1&sIgYl^habI55G^{=lGf_0rZG(YVxiJbGBT+&iYaVn zYLJ@Vlps0XX-|JD%jkd+pMfpYv2GMs!yXo~XSnnLO|MezEnxNNs8(uGzPJ?rt);RgzUCoAWJSusCR*pN{WT{sccnw=$FijrkSc5q(-9& zT7N|dk)*xmW=|V8kajmkt!V9QV_QC!(iXMP)edfRqFc)F*0;bFE^$|NTsI09!3-hl za`oF_2S1oq(d|fMq4e15;;S@L)o!Hfl?U&=h+Y?{OsK+((H!>7E1?lc9(X3&psAOv zn>FQEOoIU!j8(Pyf=a*);+2x>kh2huO;Ke^O5dC^g1XzqR*IAiBV+8Zv>Ym7UnOKK zUm45ekuXN4JCX~xBE$aKZBB?+{9&TmWyFIj@l-PUwSuYm0xUi+HGhcXkaB3o@Tl>P z@rPar?bsteo-JInoD(9`^~sPyvT1O&TEwW^vfntAsBdtX@k;Uu;>ZrNxi&5RD#qhK^P9 z;}j4&X;Wg6>wP>MAH&IRELKfPAb+ycFgbK?6Ya`ioI~2y4F=T=u}UFDE6Vn?8@U_}M$4LsX6w1&TG#2|b%0>}>#_uU*u_3} zvPHA(5jh*$(*A}DwfAA|mbw?-HDYj)C4I$Mftw)9A-B1|B=3Sy*wXZ7?8rl2bDMA4 zR6 z13`v-75dAyYkTvR(VW|o_BO=`;)!_@Bv$fhdAfzVZd+#B?0MHagmXR+n6t;iqxQLp zfG%{R8@-|?SGv%gd19yAZyr%UWLO(s^%21j>uim7pDo$-BFd#h^~*5X^Sk#dp}oIP zUVDZF;`UfpFBo$7Qs2uMb4z2o%BI)-?&C`PeePT)G@x&H`0(0r#{>g4n8WdlKL)g0x1MSWLb58_o&<0^A1}&)5 zJn&-hB?ND92F-?)PA~<KUs%L0KA3ZqbOa&TiF>#%sRAofQJ35x=p zgAhgml9VABU;&b9#=3R`7F1ytaw9kN0-?qbALd{mbm|C=O9Br}2CoD4wvZ3|a8;=O zkXo$Ju(0q_7{?FEW^TL?3{yc2$uJen@Dk8a4cU+u+>jLDP!8#^i?GDNeyItaaQzNZ z6h{%=mQdYvkkkGI9-fa6ECEAE5fL@Q3!NbtYS9+I?JpMS7H_dZ_<$33qZZ+bp6<{S z^H4qZ5EheB8My-xTc*=gkriDrtCrDtWKlK(rqw*pVPS-~z1COPVkLhVcUMvC^tA6z!293o<6$k%Y2M z9*c+`4N@TRQ6Ia69|=%yx)30l@EpS^9UYP*JF+AY(y`o45A@;Lkf|d(Km-0FlDRZO z13I9B1oG}^&?9G(CJ6#0D@-Iwavw~RBT-T%ZHpycG9WXO1B0+8j}j>_;3mf?Dcy|& zIN&D}OCz50B?ECFn-VJvaw!2XD?9BeqY|;Ek^`!eC{fWUyAmzeaVym?EemY}Ish4! zN+UX81IY3nud*%kQWV!RDBw{q0qQN|@};1IF72``oiQf=QZWyaFY{?Jt;_>bQYL$k z0yN+vF%l-v@-a8_1{ywk9#lQ!iNJ5Mt?jZwL(Q#{)f%fQniqSHM$NCQA%1IlwSHvj}Q zAUop^cm#7k1C+VovswhysOs}R2UI`#6Ft*2Gxd-?4OBvHi$E1@LIY|8JRm_yGehgL zKZ_DV@$*7QR4z@i?#z-zd8tE1)SoJ#Lr2g-QS=xiG(~Il{mPN4K-5NaNk2J&MR}G)ArRNShQ(qZCIO%RjTUd0MhCljJp)d1v^TX{2Bfpb{H)m)p!Tfy~QL33QO z^;@}fUE}o+j}_FCRbC~uUBgpb@0DMHg;FfDiUy5BQ)DFkouk?`YxmYsYpVsunh`Hfy)GYsq%|p7t=KmTjfhY;l4Q48alZ z7H{v?5cnW&O)qRmwr`tuZf~M)^EPkyHgNUMZOamF6IW;lmnQnaZVi`m4WSPl*XI6q zUokgnA$KMumvSrjayb{?7MCa+mvm>=b7Nu;Lf3U2VGmN*-8A=RWmj%tR_6kiCR+D( zDK~a)x6@2FBT*N4Np^K#f_Hn@cZ+w^Xm|cbp_F+o_IO<)d6hSBe>ZxuOnA?cc(Zq6 zrKE*OI|*bX8gfhkuK`~ieRScFHI zgiF|jPZ)($ScO-Zg_#q!efKhdK=4dp6 z@fUafPG%|Cf;Cu!IkG+xea0`F-U%pAQefxuTa?Abk3#UpJ_Y+N!S_tFzjV zky@#7IzGj=sl&CWr`mcsL95Rit<$=wZ=oN$IwAi#tci83$+~yVTCMLIuk%`=+1jnW zT4Z%Pu2FTa>DqPeTCWcqu@k$S`P!tp60QS#R0o@|Dc7(S+p;ekvr(C`pV_bfnyDdM zte@JNJ3^`_8*i&Rvr}8OSKE-ey0L5dvq5`Xd)k*x`)*O2wR2myce{>Vo3lIHW}jEK z*L9^c+P3rdrFmQaxtBY&ZThvh^Rb6}PmBAwk(;@%8@mzPxqlnDAy~T8RG@3yv<*7D z%iFxM+M%D@NCEr1^)$Sz`)|(4x)~h7O~RAKd#Xj5!bhCMxfzxz`BNWM zxHVj^Ib6k0;=^rQ#7msUYuuGj+?>xDxIKHtS)5e+TOcafiJv%|r}&GH9LbYh$(NkT zo7~C0IE?xEz+YT|Gug+p6v!_?$cG$*L7ab${K>;y%*UL}%iPS*T!y23jCUMj+55_q zG|NK*fkFOxf#3XtEIJm`*UnQk&Ou_%-?+~AoP!*g0`*(aC$!H&!hPR2eh+=np_&98 zeMb}hBNlyp8(q=|h|q1%&@+8LDZSF87}GtSdGLH#2AI?Z6x2P!(tCH*Q$2Y$J?1(c z*1L1nSv`SYz1CsJ)QecpcilU0y(3yZbafrr{YKVrFT;;r)m_|5V*_-R*K(P?)FBjqsbfRkE0=HO zo!7(ttD{@rc~jd#0&TUHYrXd0_x;_g@z)Q2GXwr323~Cqp5c+5-`jlLCw|_|y%^CQ z?-W(fT=94PfFKyXxelba& z=bPu_CoJTD9xHvG=#?kuD{$wJzAcTO=@H)Mef{ZK)9I(4;!oaBQ{L*2vg)^fZ-O3g zV&3byp5@;o$41&h|tUMtH!RN3C2z#iTg9`4(o=5sXa>t2o09u&1+@9mzbp!)BD z9_HzO@YS*F4_{&U9vzon@eMNZA3ur;U-FCI?ftp(*NE}&Y3(zAFE9V3Js*waUg1Tb z?C+jS6W;WZXY<9V^H+ZhBOms`g!CO%>}P)zWgqv^3G1`o&3FIvQNK;|9{2&L{`N6w z=!-uJbzk|hr1dq@@teO7nP2+lit?*pEkWP0u^;JsKe!W|`>B!o!=F5k-|v#2{4a3) z(?2|(KQ*JD{cCXjJI}O0=laqezn~UCOknQuXyJtzvXDOZpt{x>9a ziy7(UlTbeNqi-=rY2}q+A-U6%8#RgLmtgWZrFB(?Y37+lX_@}ybX-=5=9_RDIHp2s z=EP;3c;;zPoqomUrJjHW%H5pnl_}_8GGdHmQJyhH5I7n=+c7qo=m&Dqy23THmFw*6LuYJh5u)uDo&;D}|-@Dy)dOs_LPx z!zQb&j~BHW?6S}rSgZkUdK&Gu*q-z&LDSNj?YF~CYpjsSf@|)%lr;+)o9MPnUbp4C zE3diR4g~MK_%?ex=7M=kZ#B3o>1wF?ie^`k}4y7kwNCH!5`V3+-7*X)|D_FolS z&FR=#uPry2XiMkq+;|)Ivvp+W?RSrLCwKSXguB$X+qwFiW8sX`82D&|H!gWeVz1Tr z6UWQ{{VIuKMfdolYI>w4($%;#em0gn{q~;!f}ak zhB!1z3^9|#zpao?1ni*@jbp;^sBefutKro~hr}ilQ7Y*}p%csY!}SDlidclm4lkBP zuqjbhH|(MqC$hypjd5sIq|_D9$i{(`(Nb+pV)K#|#yHxsB1IHl+V0q}Gzw^qeC*;I z-xkP#eUVXhETkO=c_Kv`%#V8lq$8Wi$iz)DUx!>&A}=|{O4^5$m^`8yTL{Wd=21aX zEG4=!={zQ?5{sS`-7DJ#NeW4FmM)C`<^OOQDOS?amAo9HE`w>VT5{`_#MIz0lbJ1F znrM^E#Njfdd6W%spaUMDnl^dnfevtB11&M8y^u*w1x~Y^M6o6|x5-YNb@Q9yoZ~Zr ziB1xpvz|2Jz&kZ?0SWl?p8yT0KnF_Df*SOo2u-L$7dp@jXyBS2;J`}6$s|(ZGlloO zXiW6!O@1=;qaY2bNJq+0heA}M{E=sgpsCReX0)X&(Le_}pn-u-;HEgusZMvw)1LbD zr$7y=P=`uXg36SpHxcC@EecbYo{~dKZK_0$T2p}%^{QCSs#dpJ)PYhpsVa@CEtx9S z2fnndCfNW8HtT^&8=>COIp)P0JW-JmtqA+PuZ?7w#H3}20&0#obvX$(2cHiM~l%&98p< zTiOXoU;`as?{~B3TKYn7z6QR4eI9vpDr;h23kp0%y2*8;);>8;n^O`}oH|4ziG44C9;1 zShyCR9fogw-0lL2wZ^3^kJ|#@@_;zAH%0A??N(eSv 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�}OC5NS_@ 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%0D*#@nn>#iGcd*x;=e*+sV(|X@Q5U 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 literal 0 HcmV?d00001 diff --git a/images/figures/op_benchmark_consistent_gemm_fp16.png b/images/figures/op_benchmark_consistent_gemm_fp16.png new file mode 100644 index 0000000000000000000000000000000000000000..a833b9b84d906a9654037aabf63d7fcacacfe84c GIT binary patch literal 287089 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 z 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